Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
genary
uni-app
提交
7c39fed5
U
uni-app
项目概览
genary
/
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,发现更多精彩内容 >>
提交
7c39fed5
编写于
7月 15, 2021
作者:
Q
qiang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
chore: build runtime
上级
820bdefd
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
93 addition
and
18 deletion
+93
-18
packages/uni-mp-baidu/dist/index.js
packages/uni-mp-baidu/dist/index.js
+40
-17
packages/uni-mp-kuaishou/dist/index.js
packages/uni-mp-kuaishou/dist/index.js
+53
-1
未找到文件。
packages/uni-mp-baidu/dist/index.js
浏览文件 @
7c39fed5
...
...
@@ -1962,6 +1962,44 @@ function stringifyQuery (obj, encodeStr = encode) {
return
res
?
`?
${
res
}
`
:
''
}
/**
* 用于延迟调用 setData
* 在 setData 真实调用的时机需执行 fixSetDataEnd
* @param {*} mpInstance
*/
function
fixSetDataStart
(
mpInstance
)
{
const
setData
=
mpInstance
.
setData
;
const
setDataArgs
=
[];
mpInstance
.
setData
=
function
()
{
setDataArgs
.
push
(
arguments
);
};
mpInstance
.
__fixInitData
=
function
()
{
this
.
setData
=
setData
;
const
fn
=
()
=>
{
setDataArgs
.
forEach
(
args
=>
{
setData
.
apply
(
this
,
args
);
});
};
if
(
setDataArgs
.
length
)
{
if
(
this
.
groupSetData
)
{
this
.
groupSetData
(
fn
);
}
else
{
fn
();
}
}
};
}
/**
* 恢复真实的 setData 方法
* @param {*} mpInstance
*/
function
fixSetDataEnd
(
mpInstance
)
{
if
(
mpInstance
.
__fixInitData
)
{
mpInstance
.
__fixInitData
();
delete
mpInstance
.
__fixInitData
;
}
}
function
parseBaseComponent
(
vueComponentOptions
,
{
isPage
,
initRelation
...
...
@@ -2075,22 +2113,7 @@ function parseComponent (vueOptions) {
}
// 处理百度小程序 onInit 生命周期调用 setData 无效的问题
const
setData
=
this
.
setData
;
const
setDataArgs
=
[];
this
.
setData
=
function
()
{
setDataArgs
.
push
(
arguments
);
};
this
.
__fixInitData
=
function
()
{
delete
this
.
__fixInitData
;
this
.
setData
=
setData
;
if
(
setDataArgs
.
length
)
{
this
.
groupSetData
(()
=>
{
setDataArgs
.
forEach
(
args
=>
{
setData
.
apply
(
this
,
args
);
});
});
}
};
fixSetDataStart
(
this
);
oldAttached
.
call
(
this
);
this
.
pageinstance
.
$vm
=
this
.
$vm
;
this
.
$vm
.
__call_hook
(
'
onInit
'
,
query
);
...
...
@@ -2100,7 +2123,7 @@ function parseComponent (vueOptions) {
oldAttached
.
call
(
this
);
}
else
{
initMocks
(
this
.
$vm
,
mocks
);
this
.
__fixInitData
&&
this
.
__fixInitData
(
);
fixSetDataEnd
(
this
);
}
if
(
isPage
.
call
(
this
))
{
// 百度 onLoad 在 attached 之前触发(基础库小于 3.70)
// 百度 当组件作为页面时 pageinstancce 不是原来组件的 instance
...
...
packages/uni-mp-kuaishou/dist/index.js
浏览文件 @
7c39fed5
...
...
@@ -1803,8 +1803,60 @@ function parseComponent (vueComponentOptions) {
})
}
/**
* 用于延迟调用 setData
* 在 setData 真实调用的时机需执行 fixSetDataEnd
* @param {*} mpInstance
*/
function
fixSetDataStart
(
mpInstance
)
{
const
setData
=
mpInstance
.
setData
;
const
setDataArgs
=
[];
mpInstance
.
setData
=
function
()
{
setDataArgs
.
push
(
arguments
);
};
mpInstance
.
__fixInitData
=
function
()
{
this
.
setData
=
setData
;
const
fn
=
()
=>
{
setDataArgs
.
forEach
(
args
=>
{
setData
.
apply
(
this
,
args
);
});
};
if
(
setDataArgs
.
length
)
{
if
(
this
.
groupSetData
)
{
this
.
groupSetData
(
fn
);
}
else
{
fn
();
}
}
};
}
/**
* 恢复真实的 setData 方法
* @param {*} mpInstance
*/
function
fixSetDataEnd
(
mpInstance
)
{
if
(
mpInstance
.
__fixInitData
)
{
mpInstance
.
__fixInitData
();
delete
mpInstance
.
__fixInitData
;
}
}
const
SDKVersion
=
ks
.
getSystemInfoSync
().
SDKVersion
;
function
parseComponent$1
(
vueComponentOptions
)
{
return
parseComponent
(
vueComponentOptions
)
const
componentOptions
=
parseComponent
(
vueComponentOptions
);
const
oldAttached
=
componentOptions
.
lifetimes
.
attached
;
componentOptions
.
lifetimes
.
attached
=
function
attached
()
{
if
(
isPage
.
call
(
this
)
&&
parseFloat
(
SDKVersion
)
<=
1.13
)
{
// 解决快手小程序页面 attached 生命周期 setData 导致数据同步异常的问题
fixSetDataStart
(
this
);
setTimeout
(()
=>
{
fixSetDataEnd
(
this
);
},
0
);
}
oldAttached
.
call
(
this
);
};
return
componentOptions
}
const
hooks$1
=
[
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录