Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Velpro187
uni-app
提交
65d6b880
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,发现更多精彩内容 >>
提交
65d6b880
编写于
11月 27, 2020
作者:
Q
qiang
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'dev' into alpha
上级
41adf1fc
add3483f
变更
15
隐藏空白更改
内联
并排
Showing
15 changed file
with
201 addition
and
161 deletion
+201
-161
src/core/helpers/windows.js
src/core/helpers/windows.js
+13
-0
src/core/service/api/ui/create-intersection-observer.js
src/core/service/api/ui/create-intersection-observer.js
+12
-10
src/core/service/api/ui/create-media-query-observer.js
src/core/service/api/ui/create-media-query-observer.js
+46
-47
src/core/view/bridge/subscribe/api/request-component-info.js
src/core/view/bridge/subscribe/api/request-component-info.js
+11
-10
src/core/view/bridge/subscribe/api/request-component-observer.js
...e/view/bridge/subscribe/api/request-component-observer.js
+24
-16
src/core/view/bridge/subscribe/api/request-media-query-observer.js
...view/bridge/subscribe/api/request-media-query-observer.js
+1
-10
src/core/view/components/canvas/index.vue
src/core/view/components/canvas/index.vue
+19
-59
src/platforms/app-plus/helpers/file.js
src/platforms/app-plus/helpers/file.js
+52
-0
src/platforms/app-plus/service/api/network/download-file.js
src/platforms/app-plus/service/api/network/download-file.js
+2
-1
src/platforms/app-plus/service/api/network/request.js
src/platforms/app-plus/service/api/network/request.js
+1
-1
src/platforms/app-plus/service/api/plugin/oauth.js
src/platforms/app-plus/service/api/plugin/oauth.js
+3
-3
src/platforms/h5/components/system-routes/preview-image/index.vue
...forms/h5/components/system-routes/preview-image/index.vue
+3
-2
src/platforms/h5/helpers/file.js
src/platforms/h5/helpers/file.js
+9
-0
src/platforms/h5/service/api/network/download-file.js
src/platforms/h5/service/api/network/download-file.js
+1
-1
src/platforms/h5/service/api/ui/request-component-info.js
src/platforms/h5/service/api/ui/request-component-info.js
+4
-1
未找到文件。
src/core/helpers/windows.js
0 → 100644
浏览文件 @
65d6b880
const
WINDOW_NAMES
=
[
'
VUniLeftWindow
'
,
'
VUniTopWindow
'
,
'
VUniRightWindow
'
]
export
function
checkInWindows
(
vm
)
{
if
(
__PLATFORM__
!==
'
h5
'
)
{
return
false
}
while
(
vm
)
{
if
(
WINDOW_NAMES
.
indexOf
(
vm
.
$options
.
name
)
!==
-
1
)
{
return
true
}
vm
=
vm
.
$parent
}
}
src/core/service/api/ui/create-intersection-observer.js
浏览文件 @
65d6b880
import
createCallbacks
from
'
uni-helpers/callbacks
'
import
{
checkInWindows
}
from
'
uni-helpers/windows
'
import
{
getCurrentPageVm
}
from
'
../../platform
'
...
...
@@ -14,27 +16,27 @@ const defaultOptions = {
class
ServiceIntersectionObserver
{
constructor
(
component
,
options
)
{
this
.
pageId
=
component
.
$page
.
id
this
.
pageId
=
component
.
$page
&&
component
.
$page
.
id
this
.
component
=
component
.
_$id
||
component
// app-plus 平台传输_$id
this
.
options
=
Object
.
assign
({},
defaultOptions
,
options
)
}
}
_makeRootMargin
(
margins
=
{})
{
this
.
options
.
rootMargin
=
[
'
top
'
,
'
right
'
,
'
bottom
'
,
'
left
'
].
map
(
name
=>
`
${
Number
(
margins
[
name
])
||
0
}
px`
).
join
(
'
'
)
}
}
relativeTo
(
selector
,
margins
)
{
this
.
options
.
relativeToSelector
=
selector
this
.
_makeRootMargin
(
margins
)
return
this
}
}
relativeToViewport
(
margins
)
{
this
.
options
.
relativeToSelector
=
null
this
.
_makeRootMargin
(
margins
)
return
this
}
}
observe
(
selector
,
callback
)
{
if
(
typeof
callback
!==
'
function
'
)
{
...
...
@@ -48,13 +50,13 @@ class ServiceIntersectionObserver {
reqId
:
this
.
reqId
,
component
:
this
.
component
,
options
:
this
.
options
},
this
.
pageId
)
}
},
checkInWindows
(
this
.
component
)
?
this
.
component
:
this
.
pageId
)
}
disconnect
()
{
UniServiceJSBridge
.
publishHandler
(
'
destroyComponentObserver
'
,
{
reqId
:
this
.
reqId
},
this
.
pageId
)
},
checkInWindows
(
this
.
component
)
?
this
.
component
:
this
.
pageId
)
}
}
...
...
@@ -67,4 +69,4 @@ export function createIntersectionObserver (context, options) {
return
new
ServiceIntersectionObserver
(
context
,
options
)
}
return
new
ServiceIntersectionObserver
(
getCurrentPageVm
(
'
createIntersectionObserver
'
),
options
)
}
}
src/core/service/api/ui/create-media-query-observer.js
浏览文件 @
65d6b880
import
createCallbacks
from
'
uni-helpers/callbacks
'
import
{
getCurrentPageVm
}
from
'
../../platform
'
const
createMediaQueryObserverCallbacks
=
createCallbacks
(
'
requestMediaQueryObserver
'
)
class
ServiceMediaQueryObserver
{
constructor
(
component
,
options
)
{
this
.
pageId
=
component
.
$page
.
id
this
.
component
=
component
.
_$id
||
component
// app-plus 平台传输_$id
this
.
options
=
options
}
observe
(
options
,
callback
)
{
if
(
typeof
callback
!==
'
function
'
)
{
return
}
this
.
options
=
options
this
.
reqId
=
createMediaQueryObserverCallbacks
.
push
(
callback
)
UniServiceJSBridge
.
publishHandler
(
'
requestMediaQueryObserver
'
,
{
reqId
:
this
.
reqId
,
component
:
this
.
component
,
options
:
this
.
options
},
this
.
pageId
)
}
disconnect
()
{
UniServiceJSBridge
.
publishHandler
(
'
destroyMediaQueryObserver
'
,
{
reqId
:
this
.
reqId
},
this
.
pageId
)
}
}
export
function
createMediaQueryObserver
(
context
,
options
)
{
if
(
!
context
.
_isVue
)
{
options
=
context
context
=
null
}
if
(
context
)
{
return
new
ServiceMediaQueryObserver
(
context
,
options
)
}
return
new
ServiceMediaQueryObserver
(
getCurrentPageVm
(
'
createMediaQueryObserver
'
),
options
)
}
import
createCallbacks
from
'
uni-helpers/callbacks
'
import
{
getCurrentPageVm
}
from
'
../../platform
'
const
createMediaQueryObserverCallbacks
=
createCallbacks
(
'
requestMediaQueryObserver
'
)
class
ServiceMediaQueryObserver
{
constructor
(
component
,
options
)
{
this
.
pageId
=
component
.
$page
&&
component
.
$page
.
id
this
.
component
=
component
.
_$id
||
component
// app-plus 平台传输_$id
this
.
options
=
options
}
observe
(
options
,
callback
)
{
if
(
typeof
callback
!==
'
function
'
)
{
return
}
this
.
options
=
options
this
.
reqId
=
createMediaQueryObserverCallbacks
.
push
(
callback
)
UniServiceJSBridge
.
publishHandler
(
'
requestMediaQueryObserver
'
,
{
reqId
:
this
.
reqId
,
component
:
this
.
component
,
options
:
this
.
options
})
}
disconnect
()
{
UniServiceJSBridge
.
publishHandler
(
'
destroyMediaQueryObserver
'
,
{
reqId
:
this
.
reqId
})
}
}
export
function
createMediaQueryObserver
(
context
,
options
)
{
if
(
!
context
.
_isVue
)
{
options
=
context
context
=
null
}
if
(
context
)
{
return
new
ServiceMediaQueryObserver
(
context
,
options
)
}
return
new
ServiceMediaQueryObserver
(
getCurrentPageVm
(
'
createMediaQueryObserver
'
),
options
)
}
src/core/view/bridge/subscribe/api/request-component-info.js
浏览文件 @
65d6b880
...
...
@@ -124,16 +124,17 @@ export function requestComponentInfo ({
reqId
,
reqs
},
pageId
)
{
const
pages
=
getCurrentPages
()
// 跨平台时,View 层也应该实现该方法,举例 App 上,View 层的 getCurrentPages 返回长度为1的当前页面数组
const
page
=
pages
.
find
(
page
=>
page
.
$page
.
id
===
pageId
)
if
(
!
page
)
{
throw
new
Error
(
`Not Found:Page[
${
pageId
}
]`
)
let
pageVm
if
(
pageId
.
_isVue
)
{
pageVm
=
pageId
}
else
{
const
pages
=
getCurrentPages
()
// 跨平台时,View 层也应该实现该方法,举例 App 上,View 层的 getCurrentPages 返回长度为1的当前页面数组
const
page
=
pages
.
find
(
page
=>
page
.
$page
.
id
===
pageId
)
if
(
!
page
)
{
throw
new
Error
(
`Not Found:Page[
${
pageId
}
]`
)
}
pageVm
=
page
.
$vm
}
const
pageVm
=
page
.
$vm
const
result
=
[]
reqs
.
forEach
(
function
({
component
,
...
...
@@ -151,5 +152,5 @@ export function requestComponentInfo ({
UniViewJSBridge
.
publishHandler
(
'
onRequestComponentInfo
'
,
{
reqId
,
res
:
result
}
,
pageId
)
})
}
src/core/view/bridge/subscribe/api/request-component-observer.js
浏览文件 @
65d6b880
...
...
@@ -26,20 +26,19 @@ export function requestComponentObserver ({
component
,
options
},
pageId
)
{
const
pages
=
getCurrentPages
()
const
page
=
pages
.
find
(
page
=>
page
.
$page
.
id
===
pageId
)
if
(
!
page
)
{
throw
new
Error
(
`Not Found:Page[
${
pageId
}
]`
)
}
const
pageVm
=
page
.
$vm
let
pageVm
if
(
pageId
.
_isVue
)
{
pageVm
=
pageId
}
else
{
const
pages
=
getCurrentPages
()
// 跨平台时,View 层也应该实现该方法,举例 App 上,View 层的 getCurrentPages 返回长度为1的当前页面数组
const
page
=
pages
.
find
(
page
=>
page
.
$page
.
id
===
pageId
)
if
(
!
page
)
{
throw
new
Error
(
`Not Found:Page[
${
pageId
}
]`
)
}
pageVm
=
page
.
$vm
}
const
$el
=
findElm
(
component
,
pageVm
)
const
root
=
options
.
relativeToSelector
?
$el
.
querySelector
(
options
.
relativeToSelector
)
:
null
const
intersectionObserver
=
intersectionObservers
[
reqId
]
=
new
IntersectionObserver
((
entries
,
observer
)
=>
{
entries
.
forEach
(
entrie
=>
{
UniViewJSBridge
.
publishHandler
(
'
onRequestComponentObserver
'
,
{
...
...
@@ -53,7 +52,7 @@ export function requestComponentObserver ({
dataset
:
normalizeDataset
(
entrie
.
target
.
dataset
||
{}),
id
:
entrie
.
target
.
id
}
}
,
pageVm
.
$page
.
id
)
})
})
},
{
root
,
...
...
@@ -63,11 +62,20 @@ export function requestComponentObserver ({
if
(
options
.
observeAll
)
{
intersectionObserver
.
USE_MUTATION_OBSERVER
=
true
Array
.
prototype
.
map
.
call
(
$el
.
querySelectorAll
(
options
.
selector
),
el
=>
{
if
(
!
el
)
{
console
.
warn
(
`Node
${
options
.
selector
}
is not found. Intersection observer will not trigger.`
)
return
}
intersectionObserver
.
observe
(
el
)
})
}
else
{
intersectionObserver
.
USE_MUTATION_OBSERVER
=
false
intersectionObserver
.
observe
(
$el
.
querySelector
(
options
.
selector
))
const
el
=
$el
.
querySelector
(
options
.
selector
)
if
(
!
el
)
{
console
.
warn
(
`Node
${
options
.
selector
}
is not found. Intersection observer will not trigger.`
)
return
}
intersectionObserver
.
observe
(
el
)
}
}
...
...
@@ -76,11 +84,11 @@ export function destroyComponentObserver ({
})
{
const
intersectionObserver
=
intersectionObservers
[
reqId
]
if
(
intersectionObserver
)
{
intersectionObserver
.
disconnect
()
intersectionObserver
.
disconnect
()
delete
intersectionObservers
[
reqId
]
UniViewJSBridge
.
publishHandler
(
'
onRequestComponentObserver
'
,
{
reqId
,
reqEnd
:
true
})
}
}
}
src/core/view/bridge/subscribe/api/request-media-query-observer.js
浏览文件 @
65d6b880
...
...
@@ -34,15 +34,6 @@ export function requestMediaQueryObserver ({
reqId
,
options
},
pageId
)
{
const
pages
=
getCurrentPages
()
const
page
=
pages
.
find
(
page
=>
page
.
$page
.
id
===
pageId
)
if
(
!
page
)
{
throw
new
Error
(
`Not Found:Page[
${
pageId
}
]`
)
}
// const pageVm = page.$vm
// 创建一个媒体查询对象
const
mediaQueryObserver
=
mediaQueryObservers
[
reqId
]
=
window
.
matchMedia
(
handleMediaQueryStr
(
options
))
...
...
@@ -51,7 +42,7 @@ export function requestMediaQueryObserver ({
UniViewJSBridge
.
publishHandler
(
'
onRequestMediaQueryObserver
'
,
{
reqId
,
res
:
e
.
matches
}
,
pages
[
pages
.
length
-
1
].
$page
.
id
)
})
}
listener
(
mediaQueryObserver
)
// 监听前执行一次媒体查询
...
...
src/core/view/components/canvas/index.vue
浏览文件 @
65d6b880
...
...
@@ -9,7 +9,16 @@
width=
"300"
height=
"150"
/>
<div
style=
"position: absolute; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden;"
>
<div
style=
"
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
overflow: hidden;
"
>
<slot
/>
</div>
<v-uni-resize-sensor
...
...
@@ -29,6 +38,7 @@ import {
}
from
'
uni-helpers/hidpi
'
import
saveImage
from
'
uni-platform/helpers/save-image
'
import
{
getSameOriginUrl
}
from
'
uni-platform/helpers/file
'
function
resolveColor
(
color
)
{
color
=
color
.
slice
(
0
)
...
...
@@ -300,66 +310,16 @@ export default {
image
.
onload
=
function
()
{
image
.
ready
=
true
}
/**
* 从本地文件加载
* @param {string} path 文件路径
*/
function
loadFile
(
path
)
{
function
onError
()
{
const
bitmap
=
new
plus
.
nativeObj
.
Bitmap
(
`bitmap_
${
Date
.
now
()}
_
${
Math
.
random
()}
}`
)
bitmap
.
load
(
path
,
function
()
{
image
.
src
=
bitmap
.
toBase64Data
()
bitmap
.
clear
()
},
function
()
{
bitmap
.
clear
()
image
.
src
=
src
})
}
plus
.
io
.
resolveLocalFileSystemURL
(
path
,
function
(
entry
)
{
entry
.
file
(
function
(
file
)
{
var
fileReader
=
new
plus
.
io
.
FileReader
()
fileReader
.
onload
=
function
(
data
)
{
image
.
src
=
data
.
target
.
result
}
fileReader
.
onerror
=
onError
fileReader
.
readAsDataURL
(
file
)
},
onError
)
},
onError
)
}
/**
* 从网络加载
* @param {string} url 文件地址
*/
function
loadUrl
(
url
)
{
plus
.
downloader
.
createDownload
(
url
,
{
filename
:
'
_doc/uniapp_temp/download/
'
},
function
(
d
,
status
)
{
if
(
status
===
200
)
{
loadFile
(
d
.
filename
)
}
else
{
image
.
src
=
src
}
}).
start
()
}
if
(
__PLATFORM__
===
'
app-plus
'
)
{
// WKWebView
if
(
window
.
webkit
&&
window
.
webkit
.
messageHandlers
)
{
if
(
src
.
indexOf
(
'
file://
'
)
===
0
)
{
loadFile
(
src
)
return
}
else
if
(
src
.
indexOf
(
'
http://
'
)
===
0
||
src
.
indexOf
(
'
https://
'
)
===
0
)
{
loadUrl
(
src
)
return
}
}
// 安卓 WebView 本地路径
if
(
src
.
indexOf
(
'
file://
'
)
===
0
&&
navigator
.
vendor
===
'
Google Inc.
'
)
{
image
.
crossOrigin
=
'
anonymous
'
}
// 安卓 WebView 本地路径
if
(
__PLATFORM__
===
'
app-plus
'
&&
navigator
.
vendor
===
'
Google Inc.
'
&&
src
.
indexOf
(
'
file://
'
)
===
0
)
{
image
.
crossOrigin
=
'
anonymous
'
}
image
.
src
=
src
getSameOriginUrl
(
src
).
then
(
src
=>
{
image
.
src
=
src
}).
catch
(()
=>
{
image
.
src
=
src
})
}
})
},
...
...
src/platforms/app-plus/helpers/file.js
0 → 100644
浏览文件 @
65d6b880
function
getBase64
(
path
)
{
return
new
Promise
(
function
(
resolve
,
reject
)
{
// H5+ 沙箱外路径在iOS无法使用 plus.io 读取
function
onError
()
{
const
bitmap
=
new
plus
.
nativeObj
.
Bitmap
(
`bitmap_
${
Date
.
now
()}
_
${
Math
.
random
()}
}`
)
bitmap
.
load
(
path
,
function
()
{
resolve
(
bitmap
.
toBase64Data
())
bitmap
.
clear
()
},
function
(
err
)
{
bitmap
.
clear
()
reject
(
err
)
})
}
plus
.
io
.
resolveLocalFileSystemURL
(
path
,
function
(
entry
)
{
entry
.
file
(
function
(
file
)
{
var
fileReader
=
new
plus
.
io
.
FileReader
()
fileReader
.
onload
=
function
(
data
)
{
resolve
(
data
.
target
.
result
)
}
fileReader
.
onerror
=
onError
fileReader
.
readAsDataURL
(
file
)
},
onError
)
},
onError
)
})
}
function
download
(
url
)
{
return
new
Promise
(
function
(
resolve
,
reject
)
{
if
(
url
.
indexOf
(
'
http://
'
)
!==
0
&&
url
.
indexOf
(
'
https://
'
)
!==
0
)
{
resolve
(
url
)
}
plus
.
downloader
.
createDownload
(
url
,
{
filename
:
'
_doc/uniapp_temp/download/
'
},
function
(
d
,
status
)
{
if
(
status
===
200
)
{
resolve
(
d
.
filename
)
}
else
{
reject
(
new
Error
(
'
network fail
'
))
}
}).
start
()
})
}
export
function
getSameOriginUrl
(
url
)
{
return
download
(
url
).
then
(
function
(
url
)
{
// WKWebView
if
(
window
.
webkit
&&
window
.
webkit
.
messageHandlers
)
{
return
getBase64
(
url
)
}
return
url
})
}
src/platforms/app-plus/service/api/network/download-file.js
浏览文件 @
65d6b880
...
...
@@ -20,8 +20,9 @@ const publishStateChange = (res) => {
const
createDownloadTaskById
=
function
(
downloadTaskId
,
{
url
,
header
,
timeout
=
__uniConfig
.
networkTimeout
.
downloadFile
?
__uniConfig
.
networkTimeout
.
downloadFile
/
1000
:
120
timeout
}
=
{})
{
timeout
=
(
timeout
||
(
__uniConfig
.
networkTimeout
&&
__uniConfig
.
networkTimeout
.
request
)
||
60
*
1000
)
/
1000
const
downloader
=
plus
.
downloader
.
createDownload
(
url
,
{
timeout
,
filename
:
TEMP_PATH
+
'
/download/
'
,
...
...
src/platforms/app-plus/service/api/network/request.js
浏览文件 @
65d6b880
...
...
@@ -46,7 +46,7 @@ export function createRequestTaskById (requestTaskId, {
responseType
,
sslVerify
=
true
,
firstIpv4
=
false
,
timeout
=
__uniConfig
.
networkTimeout
.
request
timeout
=
(
__uniConfig
.
networkTimeout
&&
__uniConfig
.
networkTimeout
.
request
)
||
60
*
1000
}
=
{})
{
const
stream
=
requireNativePlugin
(
'
stream
'
)
const
headers
=
{}
...
...
src/platforms/app-plus/service/api/plugin/oauth.js
浏览文件 @
65d6b880
...
...
@@ -37,8 +37,8 @@ export function login (params, callbackId) {
},
provider
===
'
apple
'
?
{
scope
:
'
email
'
}
:
params
.
univerifyStyle
||
{})
}
// 先注销再登录
// apple登录logout之后无法重新触发获取email,fullname
if
(
provider
===
'
apple
'
)
{
// apple登录logout之后无法重新触发获取email,fullname
;一键登录无logout
if
(
provider
===
'
apple
'
||
provider
===
'
univerify
'
)
{
login
()
}
else
{
service
.
logout
(
login
,
login
)
...
...
@@ -137,4 +137,4 @@ export function onAuthViewOtherLoginButtonClick (callbackId) {
export
function
closeAuthView
()
{
getService
(
'
univerify
'
).
then
(
service
=>
service
.
closeAuthView
())
}
}
src/platforms/h5/components/system-routes/preview-image/index.vue
浏览文件 @
65d6b880
...
...
@@ -73,8 +73,9 @@ export default {
left
:
0
;
top
:
0
;
width
:
100%
;
height
:
100%
;
background
:
black
;
height
:
100%
;
z-index
:
999
;
background
:
rgba
(
0
,
0
,
0
,
0.8
);
}
.uni-system-preview-image-swiper
{
position
:
absolute
;
...
...
src/platforms/h5/helpers/file.js
浏览文件 @
65d6b880
...
...
@@ -93,6 +93,15 @@ export function fileToUrl (file) {
return
url
}
export
function
getSameOriginUrl
(
url
)
{
const
a
=
document
.
createElement
(
'
a
'
)
a
.
href
=
url
if
(
a
.
origin
===
location
.
origin
)
{
return
Promise
.
resolve
(
url
)
}
return
urlToFile
(
url
).
then
(
fileToUrl
)
}
export
function
revokeObjectURL
(
url
)
{
(
window
.
URL
||
window
.
webkitURL
).
revokeObjectURL
(
url
)
delete
files
[
url
]
...
...
src/platforms/h5/service/api/network/download-file.js
浏览文件 @
65d6b880
...
...
@@ -46,7 +46,7 @@ class DownloadTask {
export
function
downloadFile
({
url
,
header
,
timeout
=
(
__uniConfig
.
networkTimeout
&&
__uniConfig
.
networkTimeout
.
downloadFile
)
||
60
*
1000
timeout
=
(
__uniConfig
.
networkTimeout
&&
__uniConfig
.
networkTimeout
.
request
)
||
60
*
1000
},
callbackId
)
{
const
{
invokeCallbackHandler
:
invoke
...
...
src/platforms/h5/service/api/ui/request-component-info.js
浏览文件 @
65d6b880
import
createCallbacks
from
'
uni-helpers/callbacks
'
import
{
checkInWindows
}
from
'
uni-helpers/windows
'
const
requestComponentInfoCallbacks
=
createCallbacks
(
'
requestComponentInfo
'
)
...
...
@@ -6,5 +9,5 @@ export function requestComponentInfo (pageVm, queue, callback) {
UniServiceJSBridge
.
publishHandler
(
'
requestComponentInfo
'
,
{
reqId
:
requestComponentInfoCallbacks
.
push
(
callback
),
reqs
:
queue
},
pageVm
.
$page
.
id
)
},
checkInWindows
(
pageVm
)
?
pageVm
:
pageVm
.
$page
.
id
)
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录