首先app页面代码如下:
html代码:
<view class="cash-info__item u-flex bg-white wx_logo_box" v-if="index==1">
<view class="u-m-r-20 opid_box">openid:{{openid}}
</view>
<button class="logo_btn" @click="getWxEvent">获取收款微信</button>
</view>
js部分代码:
const openid = ref(null);
const getWxEvent = async () => {
// //调用微信小程序
plus.share.getServices(
res => {
let sweixin = null;
for (let i in res) {
if (res[i].id == 'weixin') {
sweixin = res[i];
}
}
//唤醒微信小程序
if (sweixin) {
sweixin.launchMiniProgram({
id: 'gh_xxxxxxxxx', //微信开放平台 --- 绑定的微信小程序的 --- 原始id,注意不是appid
type: 2, //小程序版本 0-正式版; 1-测试版; 2-体验版。
path: 'pages/subPublic/xcxopenid?id=1' //小程序的页面,用传的参数在小程序接值判断跳转指定页面,可以携带参数
});
} else {
console.log("未安装微信逻辑")
}
}
);
}
//解下来这是用于小程序回调到app的代码,他是只能回到打开小程序的页面
const diyici = ref(0)
onLoad((opt) => {
getCashInfo()
getService()
diyici.value = 1 //从小程序返回时不会再走一次这onLoad,所以用来标识第一次加载
})
onShow(() => {
inspectCompany();
tixianchaxunApi();
if (diyici.value == 1) {
openid.value = userInfo.value.openid;
diyici.value = 2
} else {
// #ifdef APP-PLUS
openid.value = plus.runtime.arguments; //小程序返回的参数
proxy.$request(proxy.$api.changeInfo, {
'openid': plus.runtime.arguments
}).then((res) => {
info.value.openid = plus.runtime.arguments
})
console.log('小程序返回参数', plus.runtime.arguments);
// #endif
}
})
小程序的代码文章来源:https://www.toymoban.com/news/detail-860206.html
html代码,只能放这个按钮,app-parameter为你要传递的参数,类型固定是launchApp,
如果是从别的场景跳转过来的是无法返回app的,比如通过短信外链,
别的小程序跳转过来的,会无法返回app
<button open-type="launchApp" style="margin-top: 50rpx;" class="phone-btn" :app-parameter="openid"
@error="launchAppError">返回APP</button>
js代码
launchAppError 点击事件,执行返回的日志,啥@click方法时没用的
const launchAppError = (e) => {
console.log('false', e.detail.errMsg)
tanchuan.value = false
}
//获取app传来的参数
onLoad((opt) => {
console.log('appt跳转携带的参数', opt);
})
这样就实现效果了,如果不行看下是否在微信开放平台给app获取了跳转小程序的能力,一般是通过了审核的app就有这能力.文章来源地址https://www.toymoban.com/news/detail-860206.html
到了这里,关于uniapp实现app跳转微信小程序然后跳回app的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!