Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
weixin_38335589
uni-app
提交
d7ba85d9
U
uni-app
项目概览
weixin_38335589
/
uni-app
与 Fork 源项目一致
Fork自
DCloud / uni-app
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-app
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
d7ba85d9
编写于
8月 03, 2019
作者:
fxy060608
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix(mp): input returnValue
上级
96bd8b5d
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
272 addition
and
223 deletion
+272
-223
packages/uni-app-plus/dist/index.js
packages/uni-app-plus/dist/index.js
+37
-30
packages/uni-mp-alipay/dist/index.js
packages/uni-mp-alipay/dist/index.js
+37
-30
packages/uni-mp-baidu/dist/index.js
packages/uni-mp-baidu/dist/index.js
+43
-36
packages/uni-mp-qq/dist/index.js
packages/uni-mp-qq/dist/index.js
+37
-30
packages/uni-mp-toutiao/dist/index.js
packages/uni-mp-toutiao/dist/index.js
+37
-30
packages/uni-mp-weixin/dist/index.js
packages/uni-mp-weixin/dist/index.js
+37
-30
src/core/runtime/base.js
src/core/runtime/base.js
+1
-1
src/core/runtime/wrapper/util.js
src/core/runtime/wrapper/util.js
+43
-36
未找到文件。
packages/uni-app-plus/dist/index.js
浏览文件 @
d7ba85d9
...
...
@@ -651,8 +651,8 @@ function hasHook (hook, vueOptions) {
return
true
}
if
(
vueOptions
.
super
&&
vueOptions
.
super
.
options
&&
Array
.
isArray
(
vueOptions
.
super
.
options
[
hook
]))
{
vueOptions
.
super
.
options
&&
Array
.
isArray
(
vueOptions
.
super
.
options
[
hook
]))
{
return
true
}
return
false
...
...
@@ -934,16 +934,16 @@ function processEventExtra (vm, extra, event) {
if
(
Array
.
isArray
(
extra
)
&&
extra
.
length
)
{
/**
*[
* ['data.items', 'data.id', item.data.id],
* ['metas', 'id', meta.id]
*],
*[
* ['data.items', 'data.id', item.data.id],
* ['metas', 'id', meta.id]
*],
*'test'
*/
*[
* ['data.items', 'data.id', item.data.id],
* ['metas', 'id', meta.id]
*],
*[
* ['data.items', 'data.id', item.data.id],
* ['metas', 'id', meta.id]
*],
*'test'
*/
extra
.
forEach
((
dataPath
,
index
)
=>
{
if
(
typeof
dataPath
===
'
string
'
)
{
if
(
!
dataPath
)
{
// model,prop.sync
...
...
@@ -979,8 +979,8 @@ function processEventArgs (vm, event, args = [], extra = [], isCustom, methodNam
let
isCustomMPEvent
=
false
;
// wxcomponent 组件,传递原始 event 对象
if
(
isCustom
)
{
// 自定义事件
isCustomMPEvent
=
event
.
currentTarget
&&
event
.
currentTarget
.
dataset
&&
event
.
currentTarget
.
dataset
.
comType
===
'
wx
'
;
event
.
currentTarget
.
dataset
&&
event
.
currentTarget
.
dataset
.
comType
===
'
wx
'
;
if
(
!
args
.
length
)
{
// 无参数,直接传入 event 或 detail 数组
if
(
isCustomMPEvent
)
{
return
[
event
]
...
...
@@ -1022,30 +1022,33 @@ const CUSTOM = '^';
function
isMatchEventType
(
eventType
,
optType
)
{
return
(
eventType
===
optType
)
||
(
optType
===
'
regionchange
'
&&
(
eventType
===
'
begin
'
||
eventType
===
'
end
'
)
)
(
optType
===
'
regionchange
'
&&
(
eventType
===
'
begin
'
||
eventType
===
'
end
'
)
)
}
function
handleEvent
(
event
)
{
event
=
wrapper$2
(
event
);
// [['tap',[['handle',[1,2,a]],['handle1',[1,2,a]]]]]
const
dataset
=
(
event
.
currentTarget
||
event
.
target
).
dataset
;
if
(
!
dataset
)
{
return
console
.
warn
(
`事件信息不存在`
)
// [['tap',[['handle',[1,2,a]],['handle1',[1,2,a]]]]]
const
dataset
=
(
event
.
currentTarget
||
event
.
target
).
dataset
;
if
(
!
dataset
)
{
return
console
.
warn
(
`事件信息不存在`
)
}
const
eventOpts
=
dataset
.
eventOpts
||
dataset
[
'
event-opts
'
];
// 支付宝 web-view 组件 dataset 非驼峰
const
eventOpts
=
dataset
.
eventOpts
||
dataset
[
'
event-opts
'
];
// 支付宝 web-view 组件 dataset 非驼峰
if
(
!
eventOpts
)
{
return
console
.
warn
(
`事件信息不存在`
)
}
// [['handle',[1,2,a]],['handle1',[1,2,a]]]
const
eventType
=
event
.
type
;
const
ret
=
[];
eventOpts
.
forEach
(
eventOpt
=>
{
let
type
=
eventOpt
[
0
];
const
eventsArray
=
eventOpt
[
1
];
...
...
@@ -1062,8 +1065,8 @@ function handleEvent (event) {
let
handlerCtx
=
this
.
$vm
;
if
(
handlerCtx
.
$options
.
generic
&&
handlerCtx
.
$parent
&&
handlerCtx
.
$parent
.
$parent
handlerCtx
.
$parent
&&
handlerCtx
.
$parent
.
$parent
)
{
// mp-weixin,mp-toutiao 抽象节点模拟 scoped slots
handlerCtx
=
handlerCtx
.
$parent
.
$parent
;
}
...
...
@@ -1077,18 +1080,22 @@ function handleEvent (event) {
}
handler
.
once
=
true
;
}
handler
.
apply
(
handlerCtx
,
processEventArgs
(
ret
.
push
(
handler
.
apply
(
handlerCtx
,
processEventArgs
(
this
.
$vm
,
event
,
eventArray
[
1
],
eventArray
[
2
],
isCustom
,
methodName
));
))
)
;
}
});
}
});
if
(
ret
.
length
===
1
)
{
return
ret
[
0
]
}
}
const
hooks
=
[
...
...
packages/uni-mp-alipay/dist/index.js
浏览文件 @
d7ba85d9
...
...
@@ -1026,8 +1026,8 @@ function hasHook (hook, vueOptions) {
return
true
}
if
(
vueOptions
.
super
&&
vueOptions
.
super
.
options
&&
Array
.
isArray
(
vueOptions
.
super
.
options
[
hook
]))
{
vueOptions
.
super
.
options
&&
Array
.
isArray
(
vueOptions
.
super
.
options
[
hook
]))
{
return
true
}
return
false
...
...
@@ -1299,16 +1299,16 @@ function processEventExtra (vm, extra, event) {
if
(
Array
.
isArray
(
extra
)
&&
extra
.
length
)
{
/**
*[
* ['data.items', 'data.id', item.data.id],
* ['metas', 'id', meta.id]
*],
*[
* ['data.items', 'data.id', item.data.id],
* ['metas', 'id', meta.id]
*],
*'test'
*/
*[
* ['data.items', 'data.id', item.data.id],
* ['metas', 'id', meta.id]
*],
*[
* ['data.items', 'data.id', item.data.id],
* ['metas', 'id', meta.id]
*],
*'test'
*/
extra
.
forEach
((
dataPath
,
index
)
=>
{
if
(
typeof
dataPath
===
'
string
'
)
{
if
(
!
dataPath
)
{
// model,prop.sync
...
...
@@ -1344,8 +1344,8 @@ function processEventArgs (vm, event, args = [], extra = [], isCustom, methodNam
let
isCustomMPEvent
=
false
;
// wxcomponent 组件,传递原始 event 对象
if
(
isCustom
)
{
// 自定义事件
isCustomMPEvent
=
event
.
currentTarget
&&
event
.
currentTarget
.
dataset
&&
event
.
currentTarget
.
dataset
.
comType
===
'
wx
'
;
event
.
currentTarget
.
dataset
&&
event
.
currentTarget
.
dataset
.
comType
===
'
wx
'
;
if
(
!
args
.
length
)
{
// 无参数,直接传入 event 或 detail 数组
if
(
isCustomMPEvent
)
{
return
[
event
]
...
...
@@ -1387,30 +1387,33 @@ const CUSTOM = '^';
function
isMatchEventType
(
eventType
,
optType
)
{
return
(
eventType
===
optType
)
||
(
optType
===
'
regionchange
'
&&
(
eventType
===
'
begin
'
||
eventType
===
'
end
'
)
)
(
optType
===
'
regionchange
'
&&
(
eventType
===
'
begin
'
||
eventType
===
'
end
'
)
)
}
function
handleEvent
(
event
)
{
event
=
wrapper$1
(
event
);
// [['tap',[['handle',[1,2,a]],['handle1',[1,2,a]]]]]
const
dataset
=
(
event
.
currentTarget
||
event
.
target
).
dataset
;
if
(
!
dataset
)
{
return
console
.
warn
(
`事件信息不存在`
)
// [['tap',[['handle',[1,2,a]],['handle1',[1,2,a]]]]]
const
dataset
=
(
event
.
currentTarget
||
event
.
target
).
dataset
;
if
(
!
dataset
)
{
return
console
.
warn
(
`事件信息不存在`
)
}
const
eventOpts
=
dataset
.
eventOpts
||
dataset
[
'
event-opts
'
];
// 支付宝 web-view 组件 dataset 非驼峰
const
eventOpts
=
dataset
.
eventOpts
||
dataset
[
'
event-opts
'
];
// 支付宝 web-view 组件 dataset 非驼峰
if
(
!
eventOpts
)
{
return
console
.
warn
(
`事件信息不存在`
)
}
// [['handle',[1,2,a]],['handle1',[1,2,a]]]
const
eventType
=
event
.
type
;
const
ret
=
[];
eventOpts
.
forEach
(
eventOpt
=>
{
let
type
=
eventOpt
[
0
];
const
eventsArray
=
eventOpt
[
1
];
...
...
@@ -1427,8 +1430,8 @@ function handleEvent (event) {
let
handlerCtx
=
this
.
$vm
;
if
(
handlerCtx
.
$options
.
generic
&&
handlerCtx
.
$parent
&&
handlerCtx
.
$parent
.
$parent
handlerCtx
.
$parent
&&
handlerCtx
.
$parent
.
$parent
)
{
// mp-weixin,mp-toutiao 抽象节点模拟 scoped slots
handlerCtx
=
handlerCtx
.
$parent
.
$parent
;
}
...
...
@@ -1442,18 +1445,22 @@ function handleEvent (event) {
}
handler
.
once
=
true
;
}
handler
.
apply
(
handlerCtx
,
processEventArgs
(
ret
.
push
(
handler
.
apply
(
handlerCtx
,
processEventArgs
(
this
.
$vm
,
event
,
eventArray
[
1
],
eventArray
[
2
],
isCustom
,
methodName
));
))
)
;
}
});
}
});
if
(
ret
.
length
===
1
)
{
return
ret
[
0
]
}
}
const
hooks
=
[
...
...
packages/uni-mp-baidu/dist/index.js
浏览文件 @
d7ba85d9
...
...
@@ -756,8 +756,8 @@ function hasHook (hook, vueOptions) {
return
true
}
if
(
vueOptions
.
super
&&
vueOptions
.
super
.
options
&&
Array
.
isArray
(
vueOptions
.
super
.
options
[
hook
]))
{
vueOptions
.
super
.
options
&&
Array
.
isArray
(
vueOptions
.
super
.
options
[
hook
]))
{
return
true
}
return
false
...
...
@@ -919,10 +919,10 @@ function parsePropType (key, type, defaultValue, file) {
{
if
(
defaultValue
===
false
&&
Array
.
isArray
(
type
)
&&
type
.
length
===
2
&&
type
.
indexOf
(
String
)
!==
-
1
&&
type
.
indexOf
(
Boolean
)
!==
-
1
Array
.
isArray
(
type
)
&&
type
.
length
===
2
&&
type
.
indexOf
(
String
)
!==
-
1
&&
type
.
indexOf
(
Boolean
)
!==
-
1
)
{
// [String,Boolean]=>Boolean
if
(
file
)
{
console
.
warn
(
...
...
@@ -1009,8 +1009,8 @@ function wrapper$1 (event) {
{
// mp-baidu,checked=>value
if
(
isPlainObject
(
event
.
detail
)
&&
hasOwn
(
event
.
detail
,
'
checked
'
)
&&
!
hasOwn
(
event
.
detail
,
'
value
'
)
hasOwn
(
event
.
detail
,
'
checked
'
)
&&
!
hasOwn
(
event
.
detail
,
'
value
'
)
)
{
event
.
detail
.
value
=
event
.
detail
.
checked
;
}
...
...
@@ -1065,16 +1065,16 @@ function processEventExtra (vm, extra, event) {
if
(
Array
.
isArray
(
extra
)
&&
extra
.
length
)
{
/**
*[
* ['data.items', 'data.id', item.data.id],
* ['metas', 'id', meta.id]
*],
*[
* ['data.items', 'data.id', item.data.id],
* ['metas', 'id', meta.id]
*],
*'test'
*/
*[
* ['data.items', 'data.id', item.data.id],
* ['metas', 'id', meta.id]
*],
*[
* ['data.items', 'data.id', item.data.id],
* ['metas', 'id', meta.id]
*],
*'test'
*/
extra
.
forEach
((
dataPath
,
index
)
=>
{
if
(
typeof
dataPath
===
'
string
'
)
{
if
(
!
dataPath
)
{
// model,prop.sync
...
...
@@ -1110,8 +1110,8 @@ function processEventArgs (vm, event, args = [], extra = [], isCustom, methodNam
let
isCustomMPEvent
=
false
;
// wxcomponent 组件,传递原始 event 对象
if
(
isCustom
)
{
// 自定义事件
isCustomMPEvent
=
event
.
currentTarget
&&
event
.
currentTarget
.
dataset
&&
event
.
currentTarget
.
dataset
.
comType
===
'
wx
'
;
event
.
currentTarget
.
dataset
&&
event
.
currentTarget
.
dataset
.
comType
===
'
wx
'
;
if
(
!
args
.
length
)
{
// 无参数,直接传入 event 或 detail 数组
if
(
isCustomMPEvent
)
{
return
[
event
]
...
...
@@ -1153,30 +1153,33 @@ const CUSTOM = '^';
function
isMatchEventType
(
eventType
,
optType
)
{
return
(
eventType
===
optType
)
||
(
optType
===
'
regionchange
'
&&
(
eventType
===
'
begin
'
||
eventType
===
'
end
'
)
)
(
optType
===
'
regionchange
'
&&
(
eventType
===
'
begin
'
||
eventType
===
'
end
'
)
)
}
function
handleEvent
(
event
)
{
event
=
wrapper$1
(
event
);
// [['tap',[['handle',[1,2,a]],['handle1',[1,2,a]]]]]
const
dataset
=
(
event
.
currentTarget
||
event
.
target
).
dataset
;
if
(
!
dataset
)
{
return
console
.
warn
(
`事件信息不存在`
)
// [['tap',[['handle',[1,2,a]],['handle1',[1,2,a]]]]]
const
dataset
=
(
event
.
currentTarget
||
event
.
target
).
dataset
;
if
(
!
dataset
)
{
return
console
.
warn
(
`事件信息不存在`
)
}
const
eventOpts
=
dataset
.
eventOpts
||
dataset
[
'
event-opts
'
];
// 支付宝 web-view 组件 dataset 非驼峰
const
eventOpts
=
dataset
.
eventOpts
||
dataset
[
'
event-opts
'
];
// 支付宝 web-view 组件 dataset 非驼峰
if
(
!
eventOpts
)
{
return
console
.
warn
(
`事件信息不存在`
)
}
// [['handle',[1,2,a]],['handle1',[1,2,a]]]
const
eventType
=
event
.
type
;
const
ret
=
[];
eventOpts
.
forEach
(
eventOpt
=>
{
let
type
=
eventOpt
[
0
];
const
eventsArray
=
eventOpt
[
1
];
...
...
@@ -1193,8 +1196,8 @@ function handleEvent (event) {
let
handlerCtx
=
this
.
$vm
;
if
(
handlerCtx
.
$options
.
generic
&&
handlerCtx
.
$parent
&&
handlerCtx
.
$parent
.
$parent
handlerCtx
.
$parent
&&
handlerCtx
.
$parent
.
$parent
)
{
// mp-weixin,mp-toutiao 抽象节点模拟 scoped slots
handlerCtx
=
handlerCtx
.
$parent
.
$parent
;
}
...
...
@@ -1208,18 +1211,22 @@ function handleEvent (event) {
}
handler
.
once
=
true
;
}
handler
.
apply
(
handlerCtx
,
processEventArgs
(
ret
.
push
(
handler
.
apply
(
handlerCtx
,
processEventArgs
(
this
.
$vm
,
event
,
eventArray
[
1
],
eventArray
[
2
],
isCustom
,
methodName
));
))
)
;
}
});
}
});
if
(
ret
.
length
===
1
)
{
return
ret
[
0
]
}
}
const
hooks
=
[
...
...
packages/uni-mp-qq/dist/index.js
浏览文件 @
d7ba85d9
...
...
@@ -715,8 +715,8 @@ function hasHook (hook, vueOptions) {
return
true
}
if
(
vueOptions
.
super
&&
vueOptions
.
super
.
options
&&
Array
.
isArray
(
vueOptions
.
super
.
options
[
hook
]))
{
vueOptions
.
super
.
options
&&
Array
.
isArray
(
vueOptions
.
super
.
options
[
hook
]))
{
return
true
}
return
false
...
...
@@ -998,16 +998,16 @@ function processEventExtra (vm, extra, event) {
if
(
Array
.
isArray
(
extra
)
&&
extra
.
length
)
{
/**
*[
* ['data.items', 'data.id', item.data.id],
* ['metas', 'id', meta.id]
*],
*[
* ['data.items', 'data.id', item.data.id],
* ['metas', 'id', meta.id]
*],
*'test'
*/
*[
* ['data.items', 'data.id', item.data.id],
* ['metas', 'id', meta.id]
*],
*[
* ['data.items', 'data.id', item.data.id],
* ['metas', 'id', meta.id]
*],
*'test'
*/
extra
.
forEach
((
dataPath
,
index
)
=>
{
if
(
typeof
dataPath
===
'
string
'
)
{
if
(
!
dataPath
)
{
// model,prop.sync
...
...
@@ -1043,8 +1043,8 @@ function processEventArgs (vm, event, args = [], extra = [], isCustom, methodNam
let
isCustomMPEvent
=
false
;
// wxcomponent 组件,传递原始 event 对象
if
(
isCustom
)
{
// 自定义事件
isCustomMPEvent
=
event
.
currentTarget
&&
event
.
currentTarget
.
dataset
&&
event
.
currentTarget
.
dataset
.
comType
===
'
wx
'
;
event
.
currentTarget
.
dataset
&&
event
.
currentTarget
.
dataset
.
comType
===
'
wx
'
;
if
(
!
args
.
length
)
{
// 无参数,直接传入 event 或 detail 数组
if
(
isCustomMPEvent
)
{
return
[
event
]
...
...
@@ -1086,30 +1086,33 @@ const CUSTOM = '^';
function
isMatchEventType
(
eventType
,
optType
)
{
return
(
eventType
===
optType
)
||
(
optType
===
'
regionchange
'
&&
(
eventType
===
'
begin
'
||
eventType
===
'
end
'
)
)
(
optType
===
'
regionchange
'
&&
(
eventType
===
'
begin
'
||
eventType
===
'
end
'
)
)
}
function
handleEvent
(
event
)
{
event
=
wrapper$1
(
event
);
// [['tap',[['handle',[1,2,a]],['handle1',[1,2,a]]]]]
const
dataset
=
(
event
.
currentTarget
||
event
.
target
).
dataset
;
if
(
!
dataset
)
{
return
console
.
warn
(
`事件信息不存在`
)
// [['tap',[['handle',[1,2,a]],['handle1',[1,2,a]]]]]
const
dataset
=
(
event
.
currentTarget
||
event
.
target
).
dataset
;
if
(
!
dataset
)
{
return
console
.
warn
(
`事件信息不存在`
)
}
const
eventOpts
=
dataset
.
eventOpts
||
dataset
[
'
event-opts
'
];
// 支付宝 web-view 组件 dataset 非驼峰
const
eventOpts
=
dataset
.
eventOpts
||
dataset
[
'
event-opts
'
];
// 支付宝 web-view 组件 dataset 非驼峰
if
(
!
eventOpts
)
{
return
console
.
warn
(
`事件信息不存在`
)
}
// [['handle',[1,2,a]],['handle1',[1,2,a]]]
const
eventType
=
event
.
type
;
const
ret
=
[];
eventOpts
.
forEach
(
eventOpt
=>
{
let
type
=
eventOpt
[
0
];
const
eventsArray
=
eventOpt
[
1
];
...
...
@@ -1126,8 +1129,8 @@ function handleEvent (event) {
let
handlerCtx
=
this
.
$vm
;
if
(
handlerCtx
.
$options
.
generic
&&
handlerCtx
.
$parent
&&
handlerCtx
.
$parent
.
$parent
handlerCtx
.
$parent
&&
handlerCtx
.
$parent
.
$parent
)
{
// mp-weixin,mp-toutiao 抽象节点模拟 scoped slots
handlerCtx
=
handlerCtx
.
$parent
.
$parent
;
}
...
...
@@ -1141,18 +1144,22 @@ function handleEvent (event) {
}
handler
.
once
=
true
;
}
handler
.
apply
(
handlerCtx
,
processEventArgs
(
ret
.
push
(
handler
.
apply
(
handlerCtx
,
processEventArgs
(
this
.
$vm
,
event
,
eventArray
[
1
],
eventArray
[
2
],
isCustom
,
methodName
));
))
)
;
}
});
}
});
if
(
ret
.
length
===
1
)
{
return
ret
[
0
]
}
}
const
hooks
=
[
...
...
packages/uni-mp-toutiao/dist/index.js
浏览文件 @
d7ba85d9
...
...
@@ -796,8 +796,8 @@ function hasHook (hook, vueOptions) {
return
true
}
if
(
vueOptions
.
super
&&
vueOptions
.
super
.
options
&&
Array
.
isArray
(
vueOptions
.
super
.
options
[
hook
]))
{
vueOptions
.
super
.
options
&&
Array
.
isArray
(
vueOptions
.
super
.
options
[
hook
]))
{
return
true
}
return
false
...
...
@@ -1079,16 +1079,16 @@ function processEventExtra (vm, extra, event) {
if
(
Array
.
isArray
(
extra
)
&&
extra
.
length
)
{
/**
*[
* ['data.items', 'data.id', item.data.id],
* ['metas', 'id', meta.id]
*],
*[
* ['data.items', 'data.id', item.data.id],
* ['metas', 'id', meta.id]
*],
*'test'
*/
*[
* ['data.items', 'data.id', item.data.id],
* ['metas', 'id', meta.id]
*],
*[
* ['data.items', 'data.id', item.data.id],
* ['metas', 'id', meta.id]
*],
*'test'
*/
extra
.
forEach
((
dataPath
,
index
)
=>
{
if
(
typeof
dataPath
===
'
string
'
)
{
if
(
!
dataPath
)
{
// model,prop.sync
...
...
@@ -1124,8 +1124,8 @@ function processEventArgs (vm, event, args = [], extra = [], isCustom, methodNam
let
isCustomMPEvent
=
false
;
// wxcomponent 组件,传递原始 event 对象
if
(
isCustom
)
{
// 自定义事件
isCustomMPEvent
=
event
.
currentTarget
&&
event
.
currentTarget
.
dataset
&&
event
.
currentTarget
.
dataset
.
comType
===
'
wx
'
;
event
.
currentTarget
.
dataset
&&
event
.
currentTarget
.
dataset
.
comType
===
'
wx
'
;
if
(
!
args
.
length
)
{
// 无参数,直接传入 event 或 detail 数组
if
(
isCustomMPEvent
)
{
return
[
event
]
...
...
@@ -1167,30 +1167,33 @@ const CUSTOM = '^';
function
isMatchEventType
(
eventType
,
optType
)
{
return
(
eventType
===
optType
)
||
(
optType
===
'
regionchange
'
&&
(
eventType
===
'
begin
'
||
eventType
===
'
end
'
)
)
(
optType
===
'
regionchange
'
&&
(
eventType
===
'
begin
'
||
eventType
===
'
end
'
)
)
}
function
handleEvent
(
event
)
{
event
=
wrapper$1
(
event
);
// [['tap',[['handle',[1,2,a]],['handle1',[1,2,a]]]]]
const
dataset
=
(
event
.
currentTarget
||
event
.
target
).
dataset
;
if
(
!
dataset
)
{
return
console
.
warn
(
`事件信息不存在`
)
// [['tap',[['handle',[1,2,a]],['handle1',[1,2,a]]]]]
const
dataset
=
(
event
.
currentTarget
||
event
.
target
).
dataset
;
if
(
!
dataset
)
{
return
console
.
warn
(
`事件信息不存在`
)
}
const
eventOpts
=
dataset
.
eventOpts
||
dataset
[
'
event-opts
'
];
// 支付宝 web-view 组件 dataset 非驼峰
const
eventOpts
=
dataset
.
eventOpts
||
dataset
[
'
event-opts
'
];
// 支付宝 web-view 组件 dataset 非驼峰
if
(
!
eventOpts
)
{
return
console
.
warn
(
`事件信息不存在`
)
}
// [['handle',[1,2,a]],['handle1',[1,2,a]]]
const
eventType
=
event
.
type
;
const
ret
=
[];
eventOpts
.
forEach
(
eventOpt
=>
{
let
type
=
eventOpt
[
0
];
const
eventsArray
=
eventOpt
[
1
];
...
...
@@ -1207,8 +1210,8 @@ function handleEvent (event) {
let
handlerCtx
=
this
.
$vm
;
if
(
handlerCtx
.
$options
.
generic
&&
handlerCtx
.
$parent
&&
handlerCtx
.
$parent
.
$parent
handlerCtx
.
$parent
&&
handlerCtx
.
$parent
.
$parent
)
{
// mp-weixin,mp-toutiao 抽象节点模拟 scoped slots
handlerCtx
=
handlerCtx
.
$parent
.
$parent
;
}
...
...
@@ -1222,18 +1225,22 @@ function handleEvent (event) {
}
handler
.
once
=
true
;
}
handler
.
apply
(
handlerCtx
,
processEventArgs
(
ret
.
push
(
handler
.
apply
(
handlerCtx
,
processEventArgs
(
this
.
$vm
,
event
,
eventArray
[
1
],
eventArray
[
2
],
isCustom
,
methodName
));
))
)
;
}
});
}
});
if
(
ret
.
length
===
1
)
{
return
ret
[
0
]
}
}
const
hooks
=
[
...
...
packages/uni-mp-weixin/dist/index.js
浏览文件 @
d7ba85d9
...
...
@@ -653,8 +653,8 @@ function hasHook (hook, vueOptions) {
return
true
}
if
(
vueOptions
.
super
&&
vueOptions
.
super
.
options
&&
Array
.
isArray
(
vueOptions
.
super
.
options
[
hook
]))
{
vueOptions
.
super
.
options
&&
Array
.
isArray
(
vueOptions
.
super
.
options
[
hook
]))
{
return
true
}
return
false
...
...
@@ -936,16 +936,16 @@ function processEventExtra (vm, extra, event) {
if
(
Array
.
isArray
(
extra
)
&&
extra
.
length
)
{
/**
*[
* ['data.items', 'data.id', item.data.id],
* ['metas', 'id', meta.id]
*],
*[
* ['data.items', 'data.id', item.data.id],
* ['metas', 'id', meta.id]
*],
*'test'
*/
*[
* ['data.items', 'data.id', item.data.id],
* ['metas', 'id', meta.id]
*],
*[
* ['data.items', 'data.id', item.data.id],
* ['metas', 'id', meta.id]
*],
*'test'
*/
extra
.
forEach
((
dataPath
,
index
)
=>
{
if
(
typeof
dataPath
===
'
string
'
)
{
if
(
!
dataPath
)
{
// model,prop.sync
...
...
@@ -981,8 +981,8 @@ function processEventArgs (vm, event, args = [], extra = [], isCustom, methodNam
let
isCustomMPEvent
=
false
;
// wxcomponent 组件,传递原始 event 对象
if
(
isCustom
)
{
// 自定义事件
isCustomMPEvent
=
event
.
currentTarget
&&
event
.
currentTarget
.
dataset
&&
event
.
currentTarget
.
dataset
.
comType
===
'
wx
'
;
event
.
currentTarget
.
dataset
&&
event
.
currentTarget
.
dataset
.
comType
===
'
wx
'
;
if
(
!
args
.
length
)
{
// 无参数,直接传入 event 或 detail 数组
if
(
isCustomMPEvent
)
{
return
[
event
]
...
...
@@ -1024,30 +1024,33 @@ const CUSTOM = '^';
function
isMatchEventType
(
eventType
,
optType
)
{
return
(
eventType
===
optType
)
||
(
optType
===
'
regionchange
'
&&
(
eventType
===
'
begin
'
||
eventType
===
'
end
'
)
)
(
optType
===
'
regionchange
'
&&
(
eventType
===
'
begin
'
||
eventType
===
'
end
'
)
)
}
function
handleEvent
(
event
)
{
event
=
wrapper$1
(
event
);
// [['tap',[['handle',[1,2,a]],['handle1',[1,2,a]]]]]
const
dataset
=
(
event
.
currentTarget
||
event
.
target
).
dataset
;
if
(
!
dataset
)
{
return
console
.
warn
(
`事件信息不存在`
)
// [['tap',[['handle',[1,2,a]],['handle1',[1,2,a]]]]]
const
dataset
=
(
event
.
currentTarget
||
event
.
target
).
dataset
;
if
(
!
dataset
)
{
return
console
.
warn
(
`事件信息不存在`
)
}
const
eventOpts
=
dataset
.
eventOpts
||
dataset
[
'
event-opts
'
];
// 支付宝 web-view 组件 dataset 非驼峰
const
eventOpts
=
dataset
.
eventOpts
||
dataset
[
'
event-opts
'
];
// 支付宝 web-view 组件 dataset 非驼峰
if
(
!
eventOpts
)
{
return
console
.
warn
(
`事件信息不存在`
)
}
// [['handle',[1,2,a]],['handle1',[1,2,a]]]
const
eventType
=
event
.
type
;
const
ret
=
[];
eventOpts
.
forEach
(
eventOpt
=>
{
let
type
=
eventOpt
[
0
];
const
eventsArray
=
eventOpt
[
1
];
...
...
@@ -1064,8 +1067,8 @@ function handleEvent (event) {
let
handlerCtx
=
this
.
$vm
;
if
(
handlerCtx
.
$options
.
generic
&&
handlerCtx
.
$parent
&&
handlerCtx
.
$parent
.
$parent
handlerCtx
.
$parent
&&
handlerCtx
.
$parent
.
$parent
)
{
// mp-weixin,mp-toutiao 抽象节点模拟 scoped slots
handlerCtx
=
handlerCtx
.
$parent
.
$parent
;
}
...
...
@@ -1079,18 +1082,22 @@ function handleEvent (event) {
}
handler
.
once
=
true
;
}
handler
.
apply
(
handlerCtx
,
processEventArgs
(
ret
.
push
(
handler
.
apply
(
handlerCtx
,
processEventArgs
(
this
.
$vm
,
event
,
eventArray
[
1
],
eventArray
[
2
],
isCustom
,
methodName
));
))
)
;
}
});
}
});
if
(
ret
.
length
===
1
)
{
return
ret
[
0
]
}
}
const
hooks
=
[
...
...
src/core/runtime/base.js
浏览文件 @
d7ba85d9
...
...
@@ -3,4 +3,4 @@ export {
}
from
'
./upx2px
'
export
*
from
'
../service/api/interceptor
'
export
*
from
'
../service/api/
base/
interceptor
'
src/core/runtime/wrapper/util.js
浏览文件 @
d7ba85d9
...
...
@@ -41,8 +41,8 @@ function hasHook (hook, vueOptions) {
return
true
}
if
(
vueOptions
.
super
&&
vueOptions
.
super
.
options
&&
Array
.
isArray
(
vueOptions
.
super
.
options
[
hook
]))
{
vueOptions
.
super
.
options
&&
Array
.
isArray
(
vueOptions
.
super
.
options
[
hook
]))
{
return
true
}
return
false
...
...
@@ -204,10 +204,10 @@ function parsePropType (key, type, defaultValue, file) {
if
(
__PLATFORM__
===
'
mp-baidu
'
)
{
if
(
defaultValue
===
false
&&
Array
.
isArray
(
type
)
&&
type
.
length
===
2
&&
type
.
indexOf
(
String
)
!==
-
1
&&
type
.
indexOf
(
Boolean
)
!==
-
1
Array
.
isArray
(
type
)
&&
type
.
length
===
2
&&
type
.
indexOf
(
String
)
!==
-
1
&&
type
.
indexOf
(
Boolean
)
!==
-
1
)
{
// [String,Boolean]=>Boolean
if
(
file
)
{
console
.
warn
(
...
...
@@ -294,8 +294,8 @@ function wrapper (event) {
if
(
__PLATFORM__
===
'
mp-baidu
'
)
{
// mp-baidu,checked=>value
if
(
isPlainObject
(
event
.
detail
)
&&
hasOwn
(
event
.
detail
,
'
checked
'
)
&&
!
hasOwn
(
event
.
detail
,
'
value
'
)
hasOwn
(
event
.
detail
,
'
checked
'
)
&&
!
hasOwn
(
event
.
detail
,
'
value
'
)
)
{
event
.
detail
.
value
=
event
.
detail
.
checked
}
...
...
@@ -350,16 +350,16 @@ function processEventExtra (vm, extra, event) {
if
(
Array
.
isArray
(
extra
)
&&
extra
.
length
)
{
/**
*[
* ['data.items', 'data.id', item.data.id],
* ['metas', 'id', meta.id]
*],
*[
* ['data.items', 'data.id', item.data.id],
* ['metas', 'id', meta.id]
*],
*'test'
*/
*[
* ['data.items', 'data.id', item.data.id],
* ['metas', 'id', meta.id]
*],
*[
* ['data.items', 'data.id', item.data.id],
* ['metas', 'id', meta.id]
*],
*'test'
*/
extra
.
forEach
((
dataPath
,
index
)
=>
{
if
(
typeof
dataPath
===
'
string
'
)
{
if
(
!
dataPath
)
{
// model,prop.sync
...
...
@@ -395,8 +395,8 @@ function processEventArgs (vm, event, args = [], extra = [], isCustom, methodNam
let
isCustomMPEvent
=
false
// wxcomponent 组件,传递原始 event 对象
if
(
isCustom
)
{
// 自定义事件
isCustomMPEvent
=
event
.
currentTarget
&&
event
.
currentTarget
.
dataset
&&
event
.
currentTarget
.
dataset
.
comType
===
'
wx
'
event
.
currentTarget
.
dataset
&&
event
.
currentTarget
.
dataset
.
comType
===
'
wx
'
if
(
!
args
.
length
)
{
// 无参数,直接传入 event 或 detail 数组
if
(
isCustomMPEvent
)
{
return
[
event
]
...
...
@@ -438,30 +438,33 @@ const CUSTOM = '^'
function
isMatchEventType
(
eventType
,
optType
)
{
return
(
eventType
===
optType
)
||
(
optType
===
'
regionchange
'
&&
(
eventType
===
'
begin
'
||
eventType
===
'
end
'
)
)
(
optType
===
'
regionchange
'
&&
(
eventType
===
'
begin
'
||
eventType
===
'
end
'
)
)
}
export
function
handleEvent
(
event
)
{
event
=
wrapper
(
event
)
// [['tap',[['handle',[1,2,a]],['handle1',[1,2,a]]]]]
const
dataset
=
(
event
.
currentTarget
||
event
.
target
).
dataset
if
(
!
dataset
)
{
return
console
.
warn
(
`事件信息不存在`
)
// [['tap',[['handle',[1,2,a]],['handle1',[1,2,a]]]]]
const
dataset
=
(
event
.
currentTarget
||
event
.
target
).
dataset
if
(
!
dataset
)
{
return
console
.
warn
(
`事件信息不存在`
)
}
const
eventOpts
=
dataset
.
eventOpts
||
dataset
[
'
event-opts
'
]
// 支付宝 web-view 组件 dataset 非驼峰
const
eventOpts
=
dataset
.
eventOpts
||
dataset
[
'
event-opts
'
]
// 支付宝 web-view 组件 dataset 非驼峰
if
(
!
eventOpts
)
{
return
console
.
warn
(
`事件信息不存在`
)
}
// [['handle',[1,2,a]],['handle1',[1,2,a]]]
const
eventType
=
event
.
type
const
ret
=
[]
eventOpts
.
forEach
(
eventOpt
=>
{
let
type
=
eventOpt
[
0
]
const
eventsArray
=
eventOpt
[
1
]
...
...
@@ -478,8 +481,8 @@ export function handleEvent (event) {
let
handlerCtx
=
this
.
$vm
if
(
handlerCtx
.
$options
.
generic
&&
handlerCtx
.
$parent
&&
handlerCtx
.
$parent
.
$parent
handlerCtx
.
$parent
&&
handlerCtx
.
$parent
.
$parent
)
{
// mp-weixin,mp-toutiao 抽象节点模拟 scoped slots
handlerCtx
=
handlerCtx
.
$parent
.
$parent
}
...
...
@@ -493,16 +496,20 @@ export function handleEvent (event) {
}
handler
.
once
=
true
}
handler
.
apply
(
handlerCtx
,
processEventArgs
(
ret
.
push
(
handler
.
apply
(
handlerCtx
,
processEventArgs
(
this
.
$vm
,
event
,
eventArray
[
1
],
eventArray
[
2
],
isCustom
,
methodName
))
))
)
}
})
}
})
if
(
ret
.
length
===
1
)
{
return
ret
[
0
]
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录