官方有个文章介绍,说的比较简单 对于新手来说 有些困难,而且还不是UNIAPP的教程,现在分享下 UNIAPP下使用3Dtouch
首先可以参考下官方的教程:http://ask.dcloud.net.cn/article/424?tdsourcetag=s_pctim_aiomsg
1.配置3Dtouch
打开你的UNIAPP项目,根目录下有一个 manifest.json
找到 如下节点
app-plus
--> distribute
---> ios
然后在 ios
节点下插入如下代码: (具体插入什么 根据自己业务逻辑来,)
"shortcuts": [
{
"type": "share",
"title": "分 享",
"subtitle": "分享到微信、微博、QQ",
"icontype": "UIApplicationShortcutIconTypeShare"
},
{
"type": "about",
"title": "关 于",
"subtitle": "www.dcloud.io",
"iconfile": "sa.png",
"userinfo": {
"key3":"value3"
}
}
]
2.处理3Dtouch 菜单点击
首先打开uniapp 根目录的 APP.VUE
在 onLaunch
生命周期中插入如下代码
this.checkArguments(); // 检测启动参数 // 这是默认的监听参数 也就是应用初始化的时候监听
// 监听后台恢复 这是利用5+的方式 处理 APP进入后台后 再进入到APP前台时参数监听
plus.globalEvent.addEventListener('newintent', (e)=>{
this.checkArguments(); // 检测启动参数
});
3. 然后在 app.vue
新增处理启动参数的代码 : checkArguments
打开app.vue -->> methods 新增如下代码:
checkArguments() {
console.log('Shortcut-plus.runtime.launcher: ' + plus.runtime.launcher);
if (plus.runtime.launcher == 'shortcut') {
// 通过快捷方式启动,iOS平台表示通过3D Touch快捷方式,Android平台表示通过桌面快捷方式启动
try {
var cmd = JSON.parse(plus.runtime.arguments);
console.log('Shortcut-plus.runtime.arguments: ' + plus.runtime.arguments);
var type = cmd && cmd.type;
// 可以自行根据type 处理 你的业务逻辑
setTimeout(r => {
switch (type) {
case 'scan':
uni.scanCode({
scanType: 'qrCode'
});
break;
case 'search':
uni.navigateTo({
url: '/pages/search/index'
});
break;
case 'shouyi':
// 我的收益
break;
case 'agent':
// 邀请好友
break;
}
}, 800);
console.log(JSON.stringify(cmd));
} catch (e) {
console.log('Shortcut-exception: ' + e);
}
}
},
18 个评论
要回复文章请先登录或注册
b***@sinobasedm.com
信赖的阿涛
信赖的阿涛
爱吃橘子的人
三丰
l***@163.com
l***@163.com
SimpleJalon (作者)
l***@163.com
萌折