亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 課堂 > 小程序 > 正文

微信小程序webview組件交互,內聯h5頁面并網頁實現微信支付實現解析

2020-03-21 15:25:49
字體:
來源:轉載
供稿:網友

前言

小程序支持webview以后,我們開發的好多h5頁面,就可以直接在小程序里使用了,比如我們開發的微信商城,文章詳情頁,商品詳情頁,就可以開發一套,多處使用了。我們今天來講一講。在小程序的webview里實現微信支付功能。因為微信不允許在小程序的webview里直接調起微信支付。所以我們這節課就要涉及到小程序和webview的交互了。

老規矩先看效果。

因為這里涉及的東西比較多,錄gif太多,沒法上傳,我就錄制了一段視頻出來。

https://v.qq.com/x/page/t0913iprnay.html

原理

先說下實現原理吧,實現原理就是我們在webview的h5頁面里實現下單功能,然后點擊支付按鈕,我們點擊支付按鈕的時候會跳轉到小程序頁面,把訂單號,訂單總金額,傳遞到小程序里,然后小程序里使用訂單號和訂單金額去調起微信支付,實現付款,付款成功或者失敗時都會有回調。我們再把對應的回調傳遞給webview,刷新webview里的訂單和支付狀態。

一,定義webview顯示h5頁面

關于webview的使用,我就不做講解了,官方文檔里寫的很清楚,用起來也很簡單。

https://developers.weixin.qq.com/miniprogram/dev/component/web-view.html

微信小程序,webview,組件,交互,內聯,h5

webview很簡單,就是用一個webview組件,顯示我們的網頁。

二,定義h5頁面

我這里啟動一個本地服務器,用來展示一個簡單的h5頁面。

微信小程序,webview,組件,交互,內聯,h5

上圖是我在瀏覽器里顯示的效果。

接下來我們在小程序的webview里顯示這個頁面,也很簡單,只需要把我們的src定義為我們的本地網頁鏈接就可以了。

微信小程序,webview,組件,交互,內聯,h5

這里有一點需要注意

因為我們是本地鏈接,我們需要到開發者工具里把這一項給勾選。

微信小程序,webview,組件,交互,內聯,h5

三,來看下h5頁面代碼

<!DOCTYPE html><html lang="en"><head>  <meta charset="UTF-8">  <title>小程序內嵌webview</title>  <style>    .btn {      font-size: 70px;      color: red;    }  </style></head><body><h1>我是webview里的h5頁面</h1><a id="desc" class="btn" onclick="jumpPay()">點擊支付</a><script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.3.2.js"></script><script>  console.log(location.href);  let payOk = getQueryVariable("payOk");  console.log("payOk", payOk)  if(payOk){//支付成功    document.getElementById('desc').innerText="支持成功"    document.getElementById('desc').style.color="green"  }else{    document.getElementById('desc').innerText="點擊支付"  }  //獲取url里攜帶的參數  function getQueryVariable(variable) {    var query = window.location.search.substring(1);    var vars = query.split("&");    for (var i = 0; i < vars.length; i++) {      var pair = vars[i].split("=");      if (pair[0] == variable) {        return pair[1];      }    }    return (false);  }  function jumpPay() {    let orderId = Date.now();//這里用當前時間戳做訂單號(后面使用你自己真實的訂單號)    let money = 1;//訂單總金額(單位分)    let payData = {orderId: orderId, money: money};    let payDataStr = JSON.stringify(payData);//因為要吧參數傳遞給小程序,所以這里需要轉為字符串    const url = `../wePay/wePay?payDataStr=${payDataStr}`;    wx.miniProgram.navigateTo({      url: url    });    // console.log("點擊了去支付", url)    console.log("點擊了去支付")  }</script></body></html>

h5代碼這里不做具體講解,只簡單說下。我們就是在點擊支付按鈕時,用當前時間戳做為訂單號(因為訂單號要保證唯一),然后傳一個訂單金額(單位分),這里節約起見,就傳1分錢吧,花的是自己的錢,心疼。。。。

關鍵點說一下

1, 必須引入jweixin,才可以實現h5跳轉小程序。

<script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.3.2.js"></script>

2,跳轉到小程序頁面的方法

const url = `../wePay/wePay?payDataStr=${payDataStr}`;wx.miniProgram.navigateTo({   url: url });

這里要和你小程序的頁面保持一致。payDataStr是我們攜帶的參數

微信小程序,webview,組件,交互,內聯,h5

四,小程序支付頁

來看下我們的小程序支付頁

微信小程序,webview,組件,交互,內聯,h5

小程序支付頁功能很簡單,就是來接收我們h5傳過訂單號和訂單金額。然后去調起微信支付,實現支付。支付成功和支付失敗都有對應的回調。

微信小程序,webview,組件,交互,內聯,h5

支付我們這里實用的小程序云開發來實現的支付,核心代碼只有10行。由于支付不是本節的重點,所以這里不做具體講解。感

興趣的同學可以去看我寫的文章和我錄的視頻

小程序支付文章:https://www.jianshu.com/p/2b391df055a9

小程序支付視頻:https://edu.csdn.net/course/play/25701/310742

下面把小程序接收參數和支付的完整代碼貼出來給大家

Page({ //h5傳過來的參數 onLoad: function(options) {  console.log("webview傳過來的參數", options)  //字符串轉對象  let payData = JSON.parse(options.payDataStr)  console.log("orderId", payData.orderId)  let that = this;  wx.cloud.callFunction({   name: "pay",   data: {    orderId: payData.orderId,    money: payData.money   },   success(res) {    console.log("獲取成功", res)    that.goPay(res.result);   },   fail(err) {    console.log("獲取失敗", err)   }  }) }, //微信支付 goPay(payData) {  wx.requestPayment({   timeStamp: payData.timeStamp,   nonceStr: payData.nonceStr,   package: payData.package,   signType: 'MD5',   paySign: payData.paySign,   success(res) {    console.log("支付成功", res)    //你可以在這里支付成功以后,再跳會webview頁,并把支付成功狀態傳回去    wx.navigateTo({     url: '../webview/webview?payOk=true',    })   },   fail(res) {    console.log("支付失敗", res)   }  }) }})

代碼里注釋很清楚,這里有一點,就是我們支付成功后,需要告訴h5我們支付成功了,通知h5去刷新訂單或者支付狀態。

到這里我們就完整的實現了小程序webview展示h5頁面,并且做到了h5和小程序的交互,實現了小程序webview的支付功能。
是不是很簡單呢。

源碼地址

https://github.com/qiushi123/xiaochengxu_demos

微信小程序,webview,組件,交互,內聯,h5

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
不卡伊人av在线播放| 国产精品久久久久999| 欧美寡妇偷汉性猛交| 久久久久这里只有精品| 欧美黑人巨大精品一区二区| 欧美性做爰毛片| 欧美激情女人20p| 免费99精品国产自在在线| 色偷偷av一区二区三区| 日韩精品有码在线观看| 欧美激情极品视频| 最近2019好看的中文字幕免费| 亚洲精品99久久久久中文字幕| 日韩精品视频在线观看网址| 欧美国产日韩一区二区在线观看| 国产精品一区二区三区在线播放| 亚洲综合社区网| 91超碰中文字幕久久精品| 精品中文视频在线| 成人h猎奇视频网站| 亚洲激情视频网站| 亚洲精品久久7777777| 精品国产31久久久久久| 国产一区二区视频在线观看| 久久国产精品影视| 国产精品最新在线观看| 国产精品第一第二| 国产91成人在在线播放| 亚洲国产精品热久久| 成人一区二区电影| 欧美日韩在线免费观看| 98午夜经典影视| www.99久久热国产日韩欧美.com| 91精品视频免费观看| www.欧美三级电影.com| 国产精品91免费在线| 中文字幕亚洲欧美日韩2019| 7777kkkk成人观看| 95av在线视频| 菠萝蜜影院一区二区免费| 欧美最顶级丰满的aⅴ艳星| 欧美日韩国产二区| 亚洲视频网站在线观看| 日韩有码在线播放| 国产精品视频一区国模私拍| 中文字幕在线看视频国产欧美| 久久亚洲春色中文字幕| 亚洲欧美中文另类| 裸体女人亚洲精品一区| 久久精品影视伊人网| 国产伦精品一区二区三区精品视频| 国语自产在线不卡| 欧美成人一区在线| 日韩美女在线看| 久久不射热爱视频精品| 日韩天堂在线视频| 国产精品福利小视频| 秋霞av国产精品一区| 91av成人在线| 2020国产精品视频| 欧美黑人性猛交| 亚洲国产欧美一区二区丝袜黑人| 免费97视频在线精品国自产拍| 国产精品18久久久久久首页狼| 国内精品模特av私拍在线观看| 国产精品福利在线观看网址| 国产精品一区二区三区成人| 国产噜噜噜噜噜久久久久久久久| 久久久久久中文字幕| 欧美日韩精品在线视频| 国产精品免费久久久久久| 97人人模人人爽人人喊中文字| 国产成人亚洲综合91| 成人精品福利视频| 日韩中文字幕网| 久久久久久久97| 亚洲国产精品女人久久久| 91国产视频在线播放| 欧美黑人视频一区| 亚洲欧美日本另类| 国产91精品在线播放| 色婷婷av一区二区三区在线观看| 国产精品成人品| 欧美日韩在线第一页| 日韩成人在线网站| 欧美高清性猛交| 欧美精品免费看| 亚洲一区国产精品| 国产精品丝袜白浆摸在线| 亚洲理论在线a中文字幕| 精品露脸国产偷人在视频| 久久久女人电视剧免费播放下载| 欧美精品情趣视频| 欧美激情在线观看视频| 成人深夜直播免费观看| 久久久久国产精品免费| 午夜精品国产精品大乳美女| 欧美丰满少妇xxxxx做受| 国产日韩欧美日韩| 国产日韩欧美一二三区| 国产视频精品自拍| 91深夜福利视频| 亚洲精品在线看| 国产精品久久电影观看| 亚洲人成网站免费播放| 97色伦亚洲国产| 国产999精品久久久| 亚洲最大福利视频网站| 国产成人avxxxxx在线看| 97视频免费观看| 亚洲va国产va天堂va久久| 亚洲午夜av电影| 亚洲а∨天堂久久精品9966| 日韩成人在线视频网站| 国产视频精品va久久久久久| 国产成人av网| 日韩av免费网站| 精品亚洲一区二区三区| 美女久久久久久久| 亚洲欧美日韩中文在线制服| 91色p视频在线| 国产成人精品亚洲精品| 最近中文字幕日韩精品| 精品美女久久久久久免费| 国产欧美 在线欧美| 精品日本高清在线播放| 92国产精品久久久久首页| 久久久久久九九九| 97香蕉超级碰碰久久免费软件| 九九热视频这里只有精品| 精品激情国产视频| 亚洲福利精品在线| 国产精品日日摸夜夜添夜夜av| 久久天天躁狠狠躁夜夜躁| 国产欧美日韩精品在线观看| 国产v综合v亚洲欧美久久| 国产精品极品尤物在线观看| 亚洲偷欧美偷国内偷| 欧美电影免费看| 亚洲人成自拍网站| 国产精品久久激情| 欧美一级在线亚洲天堂| 国产一区av在线| 中文字幕日韩欧美精品在线观看| 亚洲精品99久久久久中文字幕| 亚洲图片欧洲图片av| 午夜精品久久久久久久久久久久久| 97在线精品国自产拍中文| 国产综合在线观看视频| 欧美午夜影院在线视频| 国产一区二中文字幕在线看| 亚洲天堂免费观看| 国产精品久久久久久久av电影| 欧美夫妻性视频| 国产日韩欧美日韩| 欧美大片在线免费观看| 欧美老女人在线视频| 亚洲欧美日韩中文视频| 欧美成人性色生活仑片| 日韩资源在线观看| 成人黄色短视频在线观看| 欧美激情精品久久久久久黑人| 青草热久免费精品视频| 国产一区红桃视频|