uniapp开发的h5跳转到小程序
https://www.cnblogs.com/xiaojianwei/p/16352698.html
uniapp拉起小程序
在uniapp中拉起小程序,可以使用官方提供的API uni.navigateToMiniProgram
。以下是一个简单的示例代码:
uni.navigateToMiniProgram({appId: '目标小程序的appid', // 小程序的appidpath: 'pages/index/index', // 打开的页面路径,可选extraData: {// 需要传递给小程序的数据,可选},success(res) {// 打开成功的回调,可选console.log('打开成功');},fail(err) {// 打开失败的回调,可选console.log('打开失败', err);}
});
确保在调用这个API之前,已经在uniapp的manifest.json中配置了相应的权限,并且appid是正确的。
// manifest.json 中配置示例
"mp-weixin": {"usingComponents": true,"navigateToMiniProgramAppIdList": ["目标小程序的appid"]
}
在调用这个API之前,请确保你已经遵循了微信小程序的相关指导和要求,并且已经获取了相应的权限。如果是其他平台的小程序,请查阅对应平台的开发文档,因为不同平台的API调用可能会有所不同。
uni-app生成的app支持跳转微信小程序
uni-app生成的app支持跳转微信小程序
https://ask.dcloud.net.cn/question/67412
参考链接:http://www.html5plus.org/doc/zh_cn/share.html#plus.share.ShareService.launchMiniProgram
注意:需要先在manifest.json中配置【微信消息及朋友圈】
参考代码:
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: '原始id', path: 'pages/index/index?phone=' + UserID,type: 0 }):plus.nativeUI.alert('当前环境不支持微信操作!'); }
},function(res){ console.log(JSON.stringify(res));
});
uniapp开发的APP唤起微信打开小程序
https://blog.csdn.net/superlover_/article/details/89382540
uni-app开发的APP跳转到微信小程序需要调用H5+的原生界面控件。
注意事项:
用到了分享功能,在打包原生应用时,需要注意:首先勾选权限配置,manifest.json->App 模块权限配置->Share。然后,manifest.json->App SDK 配置->分享,按照提示填写微信分享的信息(微信开放平台,不是微信公众平台)。
因为涉及到第三方 SDK 的配置,需要打包自定义基座进行测试。真机运行自定义基座包使用说明
需要在微信开放平台开启APP跳转小程序,并管理相应的小程序
<template><view class="center"><view class="text" @click="checkWeChat">跳转到小程序</view></view>
</template>
<script>
export default {data() {return {sweixin: null}},onLoad() {this.getPlus()},methods: {getPlus() {//获取当前显示的webviewvar pages = getCurrentPages()var page = pages[pages.length - 1]var currentWebview = page.$getAppWebview()//调用H5+APP的扩展APIvar shares=null;let that = thisvar pusher = plus.share.getServices(function(s){shares={};for(var i in s){var t=s[i];shares[t.id]=t;}that.sweixin=shares['weixin'];}, function(e){console.log("获取分享服务列表失败:"+e.message);});//放入当前的webviewcurrentWebview.append(pusher);},checkWeChat() {//调用微信小程序this.sweixin.launchMiniProgram({id:'gh_244-------' //要跳转小程序的原始ID})}}
}
</script>
/*
*唤起跳转微信小程序
*miniId 小程序id
*miniPath 小程序页面路径
*/
function LaunchMiniProgram (miniId,miniPath){// #ifdef APP-PLUS//获取终端支持的分享通道列表plus.share.getServices(function(s){let sweixin = null;for(let i=0;i<s.length;i++){if(s[i].id == 'weixin'){sweixin = s[i];}}//判断是否有微信if(sweixin){console.log('调起小程序',s)//唤起微信跳转小程序sweixin.launchMiniProgram({id:miniId,path:miniPath},function(){return true;},function(e){console.log("微信唤起失败",e);uni.showToast({title:'微信唤起失败,请检查是否有微信应用',icon:'none'})return false;})}else{uni.showToast({title:'微信唤起失败,请检查是否有微信应用',icon:'none',duration:3000})return false;}}, function(e){console.log("微信唤起失败",e);uni.showToast({title:'微信唤起失败,请重试',icon:'none',duration:3000})return false;});// #endif// #ifdef MP-BAIDU || MP-TOUTIAO || MP-WEIXIN || MP-ALIPAY || MP-QQuni.navigateToMiniProgram({appId: miniId,path: miniPath,success(res) {return true},fail(res){uni.showToast({title:'跳转小程序失败',icon:'none',duration:3000})console.log('跳转小程序失败',res)return false;}})// #endif
}