Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Velpro187
uni-app
提交
9dfb037c
U
uni-app
项目概览
Velpro187
/
uni-app
与 Fork 源项目一致
Fork自
DCloud / uni-app
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-app
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
9dfb037c
编写于
5月 20, 2021
作者:
fxy060608
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix: initHidpiOnce
上级
554a2665
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
67 addition
and
35 deletion
+67
-35
packages/uni-components/src/components/canvas/index.vue
packages/uni-components/src/components/canvas/index.vue
+19
-17
packages/uni-h5/dist/uni-h5.cjs.js
packages/uni-h5/dist/uni-h5.cjs.js
+28
-0
packages/uni-h5/dist/uni-h5.es.js
packages/uni-h5/dist/uni-h5.es.js
+20
-18
未找到文件。
packages/uni-components/src/components/canvas/index.vue
浏览文件 @
9dfb037c
...
...
@@ -29,7 +29,7 @@ import {
useSubscribe
,
withWebEvent
,
}
from
"
@dcloudio/uni-components
"
;
import
{
getCurrentPage
Vm
,
getCurrentPage
Id
,
onEventPrevent
}
from
"
@dcloudio/uni-core
"
;
import
{
getCurrentPageId
,
onEventPrevent
}
from
"
@dcloudio/uni-core
"
;
import
{
saveImage
,
getSameOriginUrl
,
getRealPath
}
from
"
@dcloudio/uni-platform
"
;
import
ResizeSensor
from
"
../resize-sensor
"
;
import
{
useNativeEvent
}
from
"
../../helpers/useEvent
"
;
...
...
@@ -38,8 +38,6 @@ import { once } from "@dcloudio/uni-shared";
const
initHidpiOnce
=
/*#__PURE__*/
once
(
initHidpi
)
!
__NODE_JS__
&&
initHidpiOnce
();
function
$getRealPath
(
src
)
{
return
src
?
getRealPath
(
src
)
:
src
;
}
...
...
@@ -159,6 +157,10 @@ export default {
const
id
=
useContextInfo
();
useSubscribe
(
this
.
_handleSubscribe
,
id
,
true
);
},
beforeMount
()
{
// 将来放在onBeforeMount时,编译至cjs时,会自动摇树掉
initHidpiOnce
();
},
mounted
()
{
this
.
$trigger
=
useNativeEvent
(
this
.
$emit
);
...
...
@@ -220,7 +222,7 @@ export default {
color
=
resolveColor
(
data
[
1
]);
}
else
if
(
data
[
0
]
===
"
linear
"
)
{
const
LinearGradient
=
c2d
.
createLinearGradient
(...
data
[
1
]);
data
[
2
].
forEach
(
function
(
data2
)
{
data
[
2
].
forEach
(
function
(
data2
)
{
const
offset
=
data2
[
0
];
const
color
=
resolveColor
(
data2
[
1
]);
LinearGradient
.
addColorStop
(
offset
,
color
);
...
...
@@ -231,7 +233,7 @@ export default {
const
y
=
data
[
1
][
1
];
const
r
=
data
[
1
][
2
];
const
LinearGradient
=
c2d
.
createRadialGradient
(
x
,
y
,
0
,
x
,
y
,
r
);
data
[
2
].
forEach
(
function
(
data2
)
{
data
[
2
].
forEach
(
function
(
data2
)
{
const
offset
=
data2
[
0
];
const
color
=
resolveColor
(
data2
[
1
]);
LinearGradient
.
addColorStop
(
offset
,
color
);
...
...
@@ -242,7 +244,7 @@ export default {
data
[
1
],
actions
.
slice
(
index
+
1
),
callbackId
,
function
(
image
)
{
function
(
image
)
{
if
(
image
)
{
c2d
[
method1
]
=
c2d
.
createPattern
(
image
,
data
[
2
]);
}
...
...
@@ -258,7 +260,7 @@ export default {
c2d
[
method1
]
=
data
[
0
]
/
255
;
}
else
if
(
method1
===
"
shadow
"
)
{
var
_
=
[
"
shadowOffsetX
"
,
"
shadowOffsetY
"
,
"
shadowBlur
"
,
"
shadowColor
"
];
data
.
forEach
(
function
(
color_
,
method_
)
{
data
.
forEach
(
function
(
color_
,
method_
)
{
c2d
[
_
[
method_
]]
=
_
[
method_
]
===
"
shadowColor
"
?
resolveColor
(
color_
)
:
color_
;
});
...
...
@@ -281,14 +283,14 @@ export default {
}
else
if
(
method
===
"
fillPath
"
||
method
===
"
strokePath
"
)
{
method
=
method
.
replace
(
/Path/
,
""
);
c2d
.
beginPath
();
data
.
forEach
(
function
(
data_
)
{
data
.
forEach
(
function
(
data_
)
{
c2d
[
data_
.
method
].
apply
(
c2d
,
data_
.
data
);
});
c2d
[
method
]();
}
else
if
(
method
===
"
fillText
"
)
{
c2d
.
fillText
.
apply
(
c2d
,
data
);
}
else
if
(
method
===
"
drawImage
"
)
{
var
A
=
(
function
()
{
var
A
=
(
function
()
{
var
dataArray
=
[...
data
];
var
url
=
dataArray
[
0
];
var
otherData
=
dataArray
.
slice
(
1
);
...
...
@@ -298,7 +300,7 @@ export default {
url
,
actions
.
slice
(
index
+
1
),
callbackId
,
function
(
image
)
{
function
(
image
)
{
if
(
image
)
{
c2d
.
drawImage
.
apply
(
c2d
,
...
...
@@ -318,7 +320,7 @@ export default {
}
}
else
{
if
(
method
===
"
clip
"
)
{
data
.
forEach
(
function
(
data_
)
{
data
.
forEach
(
function
(
data_
)
{
c2d
[
data_
.
method
].
apply
(
c2d
,
data_
.
data
);
});
c2d
.
clip
();
...
...
@@ -340,9 +342,9 @@ export default {
);
}
},
preloadImage
:
function
(
actions
)
{
preloadImage
:
function
(
actions
)
{
var
self
=
this
;
actions
.
forEach
(
function
(
action
)
{
actions
.
forEach
(
function
(
action
)
{
var
method
=
action
.
method
;
var
data
=
action
.
data
;
var
src
=
""
;
...
...
@@ -363,7 +365,7 @@ export default {
*/
function
loadImage
()
{
const
image
=
(
self
.
_images
[
src
]
=
new
Image
());
image
.
onload
=
function
()
{
image
.
onload
=
function
()
{
image
.
ready
=
true
;
};
...
...
@@ -385,7 +387,7 @@ export default {
}
});
},
checkImageLoaded
:
function
(
src
,
actions
,
callbackId
,
fn
)
{
checkImageLoaded
:
function
(
src
,
actions
,
callbackId
,
fn
)
{
var
self
=
this
;
var
image
=
this
.
_images
[
src
];
if
(
image
.
ready
)
{
...
...
@@ -394,13 +396,13 @@ export default {
}
else
{
this
.
_actionsDefer
.
unshift
([
actions
,
true
]);
this
.
actionsWaiting
=
true
;
image
.
onload
=
function
()
{
image
.
onload
=
function
()
{
image
.
ready
=
true
;
fn
(
image
);
self
.
actionsWaiting
=
false
;
var
actions
=
self
.
_actionsDefer
.
slice
(
0
);
self
.
_actionsDefer
=
[];
for
(
var
action
=
actions
.
shift
();
action
;
)
{
for
(
var
action
=
actions
.
shift
();
action
;)
{
self
.
actionsChanged
({
actions
:
action
[
0
],
reserve
:
action
[
1
],
...
...
packages/uni-h5/dist/uni-h5.cjs.js
浏览文件 @
9dfb037c
...
...
@@ -1323,6 +1323,31 @@ function wrapper(canvas) {
canvas
.
height
=
canvas
.
offsetHeight
*
pixelRatio
;
canvas
.
getContext
(
"
2d
"
).
__hidpi__
=
true
;
}
let
isHidpi
=
false
;
function
initHidpi
()
{
if
(
isHidpi
)
{
return
;
}
isHidpi
=
true
;
const
proto
=
CanvasRenderingContext2D
.
prototype
;
proto
.
drawImageByCanvas
=
function
(
_super
)
{
return
function
(
canvas
,
srcx
,
srcy
,
srcw
,
srch
,
desx
,
desy
,
desw
,
desh
,
isScale
)
{
if
(
!
this
.
__hidpi__
)
{
return
_super
.
apply
(
this
,
arguments
);
}
srcx
*=
pixelRatio
;
srcy
*=
pixelRatio
;
srcw
*=
pixelRatio
;
srch
*=
pixelRatio
;
desx
*=
pixelRatio
;
desy
*=
pixelRatio
;
desw
=
isScale
?
desw
*
pixelRatio
:
desw
;
desh
=
isScale
?
desh
*
pixelRatio
:
desh
;
_super
.
call
(
this
,
canvas
,
srcx
,
srcy
,
srcw
,
srch
,
desx
,
desy
,
desw
,
desh
);
};
}(
proto
.
drawImage
);
}
const
initHidpiOnce
=
/* @__PURE__ */
uniShared
.
once
(
initHidpi
);
function
$getRealPath
(
src
)
{
return
src
?
getRealPath
(
src
)
:
src
;
}
...
...
@@ -1422,6 +1447,9 @@ var _sfc_main$7 = {
const
id
=
useContextInfo
();
useSubscribe
(
this
.
_handleSubscribe
,
id
,
true
);
},
beforeMount
()
{
initHidpiOnce
();
},
mounted
()
{
this
.
$trigger
=
useNativeEvent
(
this
.
$emit
);
this
.
_resize
();
...
...
packages/uni-h5/dist/uni-h5.es.js
浏览文件 @
9dfb037c
...
...
@@ -594,7 +594,7 @@ var safeAreaInsets = {
onChange,
offChange
};
var
D__DCloud_local_git_uniAppNext_node_modules_safeAreaInsets_
out = safeAreaInsets;
var out = safeAreaInsets;
const onEventPrevent = /* @__PURE__ */ withModifiers(() => {
}, ["prevent"]);
const onEventStop = /* @__PURE__ */ withModifiers(() => {
...
...
@@ -606,10 +606,10 @@ function getWindowOffset() {
const left = parseInt(style.getPropertyValue("--window-left"));
const right = parseInt(style.getPropertyValue("--window-right"));
return {
top: top ? top +
D__DCloud_local_git_uniAppNext_node_modules_safeAreaInsets_
out.top : 0,
bottom: bottom ? bottom +
D__DCloud_local_git_uniAppNext_node_modules_safeAreaInsets_
out.bottom : 0,
left: left ? left +
D__DCloud_local_git_uniAppNext_node_modules_safeAreaInsets_
out.left : 0,
right: right ? right +
D__DCloud_local_git_uniAppNext_node_modules_safeAreaInsets_
out.right : 0
top: top ? top + out.top : 0,
bottom: bottom ? bottom + out.bottom : 0,
left: left ? left + out.left : 0,
right: right ? right + out.right : 0
};
}
function updateCssVar(cssVars) {
...
...
@@ -1291,7 +1291,7 @@ function normalizePageMeta(pageMeta) {
let offset = rpx2px(refreshOptions.offset);
const {type} = navigationBar;
if (type !== "transparent" && type !== "none") {
offset += NAVBAR_HEIGHT +
D__DCloud_local_git_uniAppNext_node_modules_safeAreaInsets_
out.top;
offset += NAVBAR_HEIGHT + out.top;
}
refreshOptions.offset = offset;
refreshOptions.height = rpx2px(refreshOptions.height);
...
...
@@ -2520,7 +2520,6 @@ function initHidpi() {
}
}
const initHidpiOnce = /* @__PURE__ */ once(initHidpi);
initHidpiOnce();
function $getRealPath(src) {
return src ? getRealPath(src) : src;
}
...
...
@@ -2620,6 +2619,9 @@ var _sfc_main$7 = {
const id2 = useContextInfo();
useSubscribe(this._handleSubscribe, id2, true);
},
beforeMount() {
initHidpiOnce();
},
mounted() {
this.$trigger = useNativeEvent(this.$emit);
this._resize();
...
...
@@ -14882,7 +14884,7 @@ const getSystemInfoSync = /* @__PURE__ */ defineSyncApi("getSystemInfoSync", ()
const windowWidth = getWindowWidth(screenWidth);
let windowHeight = window.innerHeight;
const language = navigator.language;
const statusBarHeight =
D__DCloud_local_git_uniAppNext_node_modules_safeAreaInsets_
out.top;
const statusBarHeight = out.top;
let osname;
let osversion;
let model;
...
...
@@ -14995,12 +14997,12 @@ const getSystemInfoSync = /* @__PURE__ */ defineSyncApi("getSystemInfoSync", ()
const system = `${osname} ${osversion}`;
const platform = osname.toLocaleLowerCase();
const safeArea = {
left:
D__DCloud_local_git_uniAppNext_node_modules_safeAreaInsets_
out.left,
right: windowWidth -
D__DCloud_local_git_uniAppNext_node_modules_safeAreaInsets_
out.right,
top:
D__DCloud_local_git_uniAppNext_node_modules_safeAreaInsets_
out.top,
bottom: windowHeight -
D__DCloud_local_git_uniAppNext_node_modules_safeAreaInsets_
out.bottom,
width: windowWidth -
D__DCloud_local_git_uniAppNext_node_modules_safeAreaInsets_out.left - D__DCloud_local_git_uniAppNext_node_modules_safeAreaInsets_
out.right,
height: windowHeight -
D__DCloud_local_git_uniAppNext_node_modules_safeAreaInsets_out.top - D__DCloud_local_git_uniAppNext_node_modules_safeAreaInsets_
out.bottom
left: out.left,
right: windowWidth - out.right,
top: out.top,
bottom: windowHeight - out.bottom,
width: windowWidth -
out.left -
out.right,
height: windowHeight -
out.top -
out.bottom
};
const {top: windowTop, bottom: windowBottom} = getWindowOffset();
windowHeight -= windowTop;
...
...
@@ -15020,10 +15022,10 @@ const getSystemInfoSync = /* @__PURE__ */ defineSyncApi("getSystemInfoSync", ()
model,
safeArea,
safeAreaInsets: {
top:
D__DCloud_local_git_uniAppNext_node_modules_safeAreaInsets_
out.top,
right:
D__DCloud_local_git_uniAppNext_node_modules_safeAreaInsets_
out.right,
bottom:
D__DCloud_local_git_uniAppNext_node_modules_safeAreaInsets_
out.bottom,
left:
D__DCloud_local_git_uniAppNext_node_modules_safeAreaInsets_
out.left
top: out.top,
right: out.right,
bottom: out.bottom,
left: out.left
}
};
});
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录