开发调试中发现,App唤起小程序传递的参数无法正常接收。
比如: 第一次传递的是小明爷爷的被叫信息。 第二次传递小明爸爸的信息。
则两次都会获取到小明爷爷的。
也就是说,只会获取到初始第一次传递给小程序的参数。
小程序中,有按照文档使用如下接口获取:
const wmpfVoip = requirePlugin('wmpf-voip').default
let query = {}
wmpfVoip.onVoipEvent((event) => {
if (event.eventName === 'callPageOnShow') {
query = wmpfVoip.getPluginOnloadOptions()
}
})
请问怎么样才能获取到最新的query呢?
升级到2.2.0后,这个现象消失了。
容器版本: WMPF2.2.0
可是当我们尝试使用 InitGlobalConfig https://developers.weixin.qq.com/doc/oplatform/Miniprogram_Frame/api/client/InitGlobalConfig.html
禁用掉右上角胶囊的关闭权限时 (关闭、重新进入小程序) 这两项都禁用了:
小程序又无法收到最新的参数了,比如:小明第一次打给他爷爷,第二次打给他爸爸,则永远都是他爷爷接听微信电话了!🥲
用推荐的 WMPFSettingApi.setSetting 没有这个bug..
但是支持的选项,没有关闭右上角胶囊的那两个了??? 不要这么搞心态吧??? 😵💫
目前解决方案就是每次closeApp时,不将小程序保活了。
wmpfMiniProgramApi.closeWxaApp(appId, false);
副作用也很明显了,每一次打电话,都要加载小程序,转圈圈~~~ 😵💫
看下每次打印的 call-page-plugin onLoad 这个日志里的参数是否变化?
adb pull /storage/emulated/0/Android/data/com.tencent.wmpf/files/xlog
直接打印wmpfVoip.getPluginOnloadOptions()获取的是同样的信息?
params = wmpfVoip.getPluginOnloadOptions();
console.log('接收到的wmpf传递过来的参数:', params);
plugin-private:/f830863afde621eb/pages/call-page-plugin/call-page-plugin?isCaller=1&sn=EMF5T5YPNI&modelId=Qm6u_GwoZobEHIeiCP6nEw&openid=oQ-yU6xdRtflmCUupSZDRTdFrHc0&name=爸爸&callType=video&remainTimes=1&t=1703583039479