这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助
最近APP项目开发完成,在评审会上老板提了一个需求,想在开发的APP上添加一个链接,可以跳转公司的小程序商城。
原以为会很复杂,结果只有短短的几行代码。
plus.share.getServices(function(res){ var sweixin = null; for(var i=0;i<res.length;i++){ var t = res[i]; if(t.id == 'weixin'){ sweixin = t; } } if(sweixin){ sweixin.launchMiniProgram({ id: 'gh_8888888', //这里写你的小程序原始id(以gh开头) type: 0,//这里是不同的环境(默认0) path:'/pages/shop/index?storeId=123456'//这里是指定页的路径,如需传参直接字符串拼接(首页可以省略) }); } },function(res){ console.log(JSON.stringify(res)); });
代码加上后,用真机运行了一遍,完美的跳转到目标小程序,竟然如此顺利。开心打包,准备结项。然后发现Manifest.json报错,无法打包
经检查后发现是mainfest.json文件下App模块配置中Share(分享)内ios平台通用链接(Universal Links)不能为空
我们来配置一下,点击参考文档,按照给出的步骤配置生成Universal Links,一共三步。
参考文档:uni-app官网
开通云服务空间和前端网页托管:开通uniCloud(阿里云版)云服务空间和开通前端网页托管 - DCloud问答
当完成前两步后,点击自动生成按钮,按提示就可生成自己的Universal Links
接下来进行第三步,将Universal Links配置到微信开放平台。
登陆微信开放平台,在移动应用模块,创建移动应用
微信开放平台:微信开放平台
在android应用中,应用签名就是我们生成证书时,证书中的MD5,当然,此处要把MD5签名中的“:”去掉,然后大写字母换成小写。比如:
MD5为:18:12:66:53:D0:E2:89:95:5A;F1:6F:45:EE:FA:2C:48
应用签名就是:18126653d0e289955af16f45eefa2c48
查询指令为:keytool -list -v - keystore xxx.keystore
此处,有些小伙伴查询时只有SHA1和SHA256,没有MD5。那是因为SDK版本的问题,高版本的摒弃了MD5,请下载较低版本,进行查询。我用的是:jre1.8.0_71
全部填写完成后,提交审核,审核通过后,就有了移动应用跳转小程序的权限
此时,打包app,跳转小程序,如果返回弹窗“bad_param” ,那是因为manifest.json中Share(分享)中的appid写错了,要写在微信开发平台中创建应用的appid:
此时,打包app,跳转小程序,如果返回弹窗“has_no_permisson”,那是因为你的微信开发平台账号没有进行认证,必须进行企业认证后才可以使用