uni-app plus.runtime.arguments 值清空后再次获取值一直为空处理方法
1.近期遇见一个uni-app的问题
plus.runtime.arguments 的值只在未清除前能取到,一旦清除后
plus.runtime.arguments = null; plus.runtime.arguments = "";
就无法再获取到,不伦是onShow,还是onLaunch,都无法获取到,即第一次可以
或者是如果不清除,又在onShow里获取了就会一直执行获取到内容的逻辑,只要你获取过一次,每次就都会触发
2.解决方案
在app.vue 中onLaunch 调用
this.checkArguments(); // 检测启动参数 //监听后台恢复 plus.globalEvent.addEventListener('newintent', (e) => { this.checkArguments(); // 检测启动参数 });
在 app.vue 中 methods 插入代码:
checkArguments() { console.log('Shortcut-plus.runtime.launcher:启动类型: ' + plus.runtime.launcher);
// 启动类型的值,通常只有 stream ,即从h5打开app
//“default”:默认启动方式,通常表示应用列表启动(360手助中搜索启动);
//“scheme”:通过urlscheme方式触发启动;
//“push”:通过点击系统通知方式触发启动
//“stream”:通过流应用api(plus.stream.open)启动;
//“shortcut”:通过快捷方式启动,iOS平台表示通过3D Touch快捷方式,Android平台表示通过桌面快捷方式启动;
//“barcode”:通过二维码扫描启动;
//“myapp”:通过应用收藏列表([流应用]独立App中”我的”列表)触发启动。
if (plus.runtime.launcher == 'scheme') { try { var cmd = plus.runtime.arguments; //处理项目逻辑 不需要将内容JSON解析 ............. ............
//处理完可清除内容
plus.runtime.arguments = null;
plus.runtime.arguments = ""; } catch (e) { console.log('Shortcut-exception: ' + e); } } }
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(四):结合BotSharp
· 一个基于 .NET 开源免费的异地组网和内网穿透工具
· 《HelloGitHub》第 108 期
· Windows桌面应用自动更新解决方案SharpUpdater5发布
· 我的家庭实验室服务器集群硬件清单