欧美三级国产三级日韩三级_亚洲熟妇丰满大屁股熟妇_欧美亚洲成人一区二区三区_国产精品久久久久久模特

小程序內(nèi)嵌webview觸發(fā)小程序原生方法進(jìn)行支付 - 新聞資訊 - 云南小程序開發(fā)|云南軟件開發(fā)|云南網(wǎng)站建設(shè)-昆明葵宇信息科技有限公司

159-8711-8523

云南網(wǎng)建設(shè)/小程序開發(fā)/軟件開發(fā)

知識

不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價值,我們在追求其視覺表現(xiàn)的同時,更側(cè)重于功能的便捷,營銷的便利,運營的高效,讓網(wǎng)站成為營銷工具,讓軟件能切實提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序為后期升級提供便捷的支持!

您當(dāng)前位置>首頁 » 新聞資訊 » 小程序相關(guān) >

小程序內(nèi)嵌webview觸發(fā)小程序原生方法進(jìn)行支付

發(fā)表時間:2020-10-28

發(fā)布人:葵宇科技

瀏覽次數(shù):126

小程序內(nèi)嵌webview無法進(jìn)行h5的支付 所以需要通過webview觸發(fā)小程序的支付 具體操作如下

1.h5部分代碼

首先引入jweixin

然后判斷一下是否為小程序環(huán)境 代碼如下

// 判斷環(huán)境
function checkMiniProgram() {
  // 判斷是否在微信小程序中打開
  var ua = window.navigator.userAgent.toLowerCase();
  let that = this;
  if(ua.match(/MicroMessenger/i) == 'micromessenger'){      //判斷是否是微信環(huán)境
    //微信環(huán)境下
    wx.miniProgram.getEnv(function(res) {
      if (res.miniprogram) {
        // 小程序環(huán)境下邏輯
        console.log('小程序環(huán)境下邏輯');
      }else {
        //非小程序環(huán)境下邏輯
        console.log('非小程序環(huán)境下邏輯');
      }
    })
  }else{
    //非微信環(huán)境邏輯
    console.log('非微信環(huán)境邏輯');
  }
}

然后在小程序環(huán)境中觸發(fā)小程序行為

function miniProgramPay() {
  var pageParams = encodeURIComponent(JSON.stringify('參數(shù)'));
  var url = `../payMent/payMent?pageParams=${pageParams}`;//支付的路徑
  wx.miniProgram.navigateTo({
    url: url
  });
}

encodeURIComponent 這里是防止參數(shù)中帶有?或者= 導(dǎo)致小程序參數(shù)被截斷

然后觸發(fā)小程序的頁面跳轉(zhuǎn)后 在支付頁接參數(shù)

2.小程序部分代碼

let params = {};
if(options.pageParams) {
  params = JSON.parse(decodeURIComponent(options.pageParams));
}

因為h5中進(jìn)行了encodeURIComponent 所以需要在小程序中decodeURIComponent

然后正常掉小程序方法支付即可

需要返回上一級webview頁面的話 可以通過

let pages = getCurrentPages();
let prevPage = pages[pages.length - 2]; // 獲取上一頁

在當(dāng)前的請求接口中獲取要替換webview的頁面鏈接 然后進(jìn)行

prevPage.setData({
  pageUrl : resultUrl //resultUrl為支付頁返回的webview路徑 pageUrl為webView頁面的參數(shù)
})
wx.navigateBack({ //返回上一級頁面
  delta: 0,
})

即可替換上一級頁面鏈接并返回webview頁面。

相關(guān)案例查看更多