小程序中需要用到醫(yī)保支付,最早的做法是,在web-view中點(diǎn)擊提交后,通過h5下單完畢,跳回小程序的頁(yè)面后,主動(dòng)跳到醫(yī)保支付小程序。
在之前都正常,直到昨天iphone的微信升級(jí)到7.0.0后,不能跳轉(zhuǎn)了,通過調(diào)試,報(bào)錯(cuò):fail appId "${appId}" is not in navigateToMiniProgramAppIdList
基礎(chǔ)庫(kù)2.4.0以上增加了navigateToMiniProgramAppIdList
先在app.json中增加需要跳轉(zhuǎn)到的小程序appid
"navigateToMiniProgramAppIdList": [
"wxe1022cca111d18be"
]
添加完畢后,再試一次,發(fā)現(xiàn)有時(shí)候可以跳轉(zhuǎn),有時(shí)候還是不能跳轉(zhuǎn),報(bào)錯(cuò):navigateToMiniProgram:fail can only be invoked by user TAP gesture
什么鬼,需要點(diǎn)擊才能跳轉(zhuǎn)?
于是只能想辦法讓用戶去點(diǎn)擊,加個(gè)提示框讓用戶確定繼續(xù)進(jìn)行操作?
在onLoad中判斷,如果是醫(yī)保支付(需要跳轉(zhuǎn)到醫(yī)保支付小程序),則彈出溫馨提示:
wx.showModal({
title: '溫馨提示',
content: '提示內(nèi)容。。。。。。。',
showCancel: true,//是否顯示取消按鈕
cancelText: "取消",//默認(rèn)是“取消”
cancelColor: '#000000',//取消文字的顏色
confirmText: "確定",//默認(rèn)是“確定”
confirmColor: '#3cc51f',//確定文字的顏色
success: function (res) {
if (res.cancel) {
//點(diǎn)擊取消,wx.navigateBack
} else {
// 使用wx.navigateToMiniProgram跳轉(zhuǎn)到小程序
}
},
fail: function (res) {
//接口調(diào)用失敗的回調(diào)函數(shù),wx.navigateBack
},
complete: function (res) {
//接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會(huì)執(zhí)行)
},
})
個(gè)人博客: IT老五
微信公眾號(hào):【IT老五(it-lao5)】,一起源創(chuàng),一起學(xué)習(xí)!
終于搞定...