webview頁面
提示:wx一定要導入sdk
// 返回小程序,并攜帶當前 WebView 的 URL 和狀態
? ? ? wx.miniProgram.postMessage({
? ? ? ? type: 'requestPayment',
? ? ? ? data: {
? ? ? ? ? webviewUrl: window.location.href,
? ? ? ? ? orderNum: this.orderNum,
? ? ? ? ? type: 'requestPayment'
? ? ? ? }
? ? ? })
? ? ? setTimeout(() => {
? ? ? ? wx.miniProgram.navigateBack({
? ? ? ? ? delta: 1,
? ? ? ? });
? ? ? }, 300);
小程序webview
<template>
? <view>
? ? <web-view
? ? ? :key="webviewKey"
? ? ? :src="url"
? ? ? @message="onWebMessage"
? ? ? @onPostMessage="onPostMessage"
? ? ></web-view>
? </view>
</template>
<script>
export default {
? data() {
? ? return {
? ? ? url: "",
? ? ? webviewKey: ''
? ? };
? },
? onLoad(options) {
? ? console.log(options);
? ? //this.url = options.url
? ? if (options.url) {
? ? ? this.url = decodeURIComponent(options.url);
? ? }
? ? if(options.token){
? ? ? uni.setStorageSync('token',options.token)
? ? }
? ? console.log("-----------", this.url);
? },
? onShow(e) {
? },
? methods: {
? ? onWebMessage(e) {
? ? ? let list = e.detail.data;
? ? ? let payFlag = list.find((v)=>{
? ? ? ? return v.type == "requestPayment"
? ? ? })
? ? ? if(payFlag){
? ? ? ? this.payFun(payFlag);
? ? ? }
? ? ? console.log("onWebMessage", e);
? ? },
? ? // 支付方法
? ? payFun(params){
? ? },
? ? onPostMessage(e) {
? ? ? console.log("onPostMessage", e);
? ? },
? },
};
</script>
<style></style>