位置: IT常识 - 正文

微信小程序web-view与H5之间交互(含支付)(微信小程序webview支付)

编辑:rootadmin
微信小程序web-view与H5之间交互(含支付) 第一章 了解web-view与H5的交互(含支付)文章目录第一章 了解web-view与H5的交互(含支付)前言一、web-view是什么?二、使用步骤三、业务场景1.小程序带参数跳转链接,H5应用获取参数2.H5应用涉及跳转小程序功能,小程序嵌套后功能失效 (原网页环境是微信浏览器,嵌入后为小程序内置环境,api方法不兼容)3.H5应用涉及微信JSAPI支付,小程序嵌套后功能失效(小程序内置环境不支持JSAPI方式支付,仅支持小程序支付,需后端配合增加小程序支付,H5通过jssdk携带支付参数跳转小程序页面,小程序内接收参数做支付,并且小程序内置支付api可以知道支付状态,那么就能完成整个支付业务)总结前言

推荐整理分享微信小程序web-view与H5之间交互(含支付)(微信小程序webview支付),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:微信小程序web-view打不开ip地址,微信小程序webview支付,微信小程序webview通信,微信小程序web-view拦截请求,微信小程序webview使用,微信小程序web-view,微信小程序webview通信,微信小程序webview支付,内容如对您有帮助,希望把文章链接给更多的朋友!

uniapp开发小程序的过程中主、分包有大小限制,随着业务的增加,使用web-view加载H5的方式,往往纯加载并不能满足业务需求,这个时候就得了解小程序与H5的交互。

提示:以下是本篇文章正文内容,下面案例可供参考

一、web-view是什么?微信小程序web-view与H5之间交互(含支付)(微信小程序webview支付)

web-view 是微信小程序内置的浏览器组件,用来加载网络html。

二、使用步骤<template><web-view src="https://www.xxx.html"></web-view></template>

注意:

小程序web-view会自动铺满全屏,不支持修改组件宽高。小程序加载路径仅支持网络网页,不支持本地的html页面。三、业务场景1.小程序带参数跳转链接,H5应用获取参数<!-- 小程序参数拼接在地址上--><!-- 小程序--><template><web-view src="https://www.xxx.html?id=1&from=xcx"></web-view></template>

解决:小程序地址路径?传参 — H5onLoad函数接收

// H5// H5获取拼接的url参数<script>export default {onLoad(option){console.log(option) // {id: 1, from: 'xcx'}}};</script><script>console.log(window.location.search) // ?id=1&from=xcx</script>2.H5应用涉及跳转小程序功能,小程序嵌套后功能失效 (原网页环境是微信浏览器,嵌入后为小程序内置环境,api方法不兼容)

解决:H5触发事件并发送内容 — web-view @message事件监听处理

<!-- message事件监听H5触发的消息--><!-- 小程序--><template><web-view src="https://www.xxx.html" @message="onMessage"></web-view></template><script>export default {data() {return {};},methods: {onMessage(event) {console.log('接收到消息:' + JSON.stringify(event.detail.data));// 跳转小程序方法uni.navigateToMiniProgram({appId: data.appId,path: data.path,extraData: data.extraData});}}};</script>// H5// H5触发事件并发送内容document.addEventListener('click', function() {uni.postMessage({data: {appId: '',path: '',extraData: ''}});})3.H5应用涉及微信JSAPI支付,小程序嵌套后功能失效(小程序内置环境不支持JSAPI方式支付,仅支持小程序支付,需后端配合增加小程序支付,H5通过jssdk携带支付参数跳转小程序页面,小程序内接收参数做支付,并且小程序内置支付api可以知道支付状态,那么就能完成整个支付业务)

解决:H5调用支付下单接口 — 携带参数跳转到小程序里去完成支付 — 支付后携带参数回跳H5 — H5接收参数判断支付是否成功

<!-- 小程序--><template><web-view :src="url"></web-view></template><script>export default {data() {return {url: ''};},onLoad(option){//有支付订单进行支付if (option.idNo) {const item = JSON.parse(decodeURIComponent(option.data));this.requestPayment(item);}},methods: {requestPayment(item) {console.log(item);uni.requestPayment({provider: 'wxpay',signType: item.signType || 'MD5',timeStamp: item.timeStamp,nonceStr: item.nonceStr,package: item.package,paySign: item.paySign,success: res => {// 回跳地址携带支付状态参数,便于H5判断// 支付成功this.url += '&payStatus=success';},fail: err => {// 支付失败this.url += '&payStatus=fail';}});}}};</script>// H5<script>onLoad(option){if (option.payStatus == ‘success’) {// 支付成功........}else {// 支付失败........}},methods: {// H5通过jssdk携带支付参数跳转小程序页面let path = `/pages/webview_pay/webview_pay`;(注意需和小程序内跳转链接页面路径一致)........// 接口返回的支付参数let navigateToData = {timeStamp: response.data.result.timeStamp,nonceStr: response.data.result.nonceStr,package: response.data.result.package,paySign: response.data.result.sign};let uri = window.location.href.split('#')[0]; //获取当前url;path += `?idNo=${response.data.result.orderNo}&&data=${encodeURIComponent(JSON.stringify(navigateToData))}&&uri=${uri}`;//通过JSSDK的api使小程序跳转到指定的小程序页面jweixin.miniProgram.getEnv(function(res) {if (res.miniprogram) {jweixin.miniProgram.redirectTo({url: path});} else {uni.showToast({title: 'error',icon: 'none'});}});}</script>总结

本文简单介绍了小程序web-view与H5的一些交互,若有其他更好的交互方式,欢迎评论区补充。

未完待续...

本文链接地址:https://www.jiuchutong.com/zhishi/293016.html 转载请保留说明!

上一篇:挂在树上的小鸟舍 (© Westend61/Getty Images)(挂在树上的小鸟怎么画)

下一篇:布莱顿码头,阿德莱德布莱顿 (© Darryl Leach/Alamy)(布莱顿小镇介绍)

  • i9300怎么刷机呀(i9000刷机教程)(i9300刷miui)

    i9300怎么刷机呀(i9000刷机教程)(i9300刷miui)

  • 苹果怎么设置四位数的锁屏密码(苹果怎么设置四个密码锁)

    苹果怎么设置四位数的锁屏密码(苹果怎么设置四个密码锁)

  • 苹果11pro和max有什么区别(苹果11pro跟max的区别)

    苹果11pro和max有什么区别(苹果11pro跟max的区别)

  • 华为如何显示充电画面(华为如何显示充电剩余时间)

    华为如何显示充电画面(华为如何显示充电剩余时间)

  • 快手作品评论为什么不显示不出来(快手作品评论为什么别人看不到)

    快手作品评论为什么不显示不出来(快手作品评论为什么别人看不到)

  • 钉钉为什么有消息不会有声音提醒(钉钉为什么有消息提醒)

    钉钉为什么有消息不会有声音提醒(钉钉为什么有消息提醒)

  • airpods pro送的是快充线吗(airpods pro送的是线能给手机充电吗)

    airpods pro送的是快充线吗(airpods pro送的是线能给手机充电吗)

  • 抖音bgm怎么找(抖音bgm怎么找原曲)

    抖音bgm怎么找(抖音bgm怎么找原曲)

  • 优酷只看ta怎么设置(优酷只看ta怎么开启)

    优酷只看ta怎么设置(优酷只看ta怎么开启)

  • 苹果卡槽怎么弹出来(苹果卡槽弹出来拔不动)

    苹果卡槽怎么弹出来(苹果卡槽弹出来拔不动)

  • 小米街拍模式有声音怎么关闭(小米的街拍模式)

    小米街拍模式有声音怎么关闭(小米的街拍模式)

  • 腾讯会议黑屏怎么办(腾讯会议黑屏了)

    腾讯会议黑屏怎么办(腾讯会议黑屏了)

  • 全屏照片怎么拍(苹果手机拍全屏照片怎么拍)

    全屏照片怎么拍(苹果手机拍全屏照片怎么拍)

  • 一个手机号可以注册几个支付宝(一个手机号可以注册几个淘宝账号)

    一个手机号可以注册几个支付宝(一个手机号可以注册几个淘宝账号)

  • mate30重量多少克(mate30重量)

    mate30重量多少克(mate30重量)

  • 收款小助手怎么添加成员(收款小助手怎么删除成员)

    收款小助手怎么添加成员(收款小助手怎么删除成员)

  • vivo手机查看图片地理位置(vivo手机查看图片时能锁定不动屏幕吗)

    vivo手机查看图片地理位置(vivo手机查看图片时能锁定不动屏幕吗)

  • 拼多多付款后怎么取消订单(拼多多付款后怎么免单)

    拼多多付款后怎么取消订单(拼多多付款后怎么免单)

  • miui11上滑搜索怎么关闭(小米11上滑搜索)

    miui11上滑搜索怎么关闭(小米11上滑搜索)

  • 微信打什么字有特效(微信打什么字有兔子)

    微信打什么字有特效(微信打什么字有兔子)

  • 微信怎么不用银行卡实名认证(微信怎么不用银行卡绑定钱包)

    微信怎么不用银行卡实名认证(微信怎么不用银行卡绑定钱包)

  • 苹果云盘满了怎么删除(苹果手机云盘空间不足怎么办)

    苹果云盘满了怎么删除(苹果手机云盘空间不足怎么办)

  • switch可以用充电宝充电吗(switch可以用充电宝吗?)

    switch可以用充电宝充电吗(switch可以用充电宝吗?)

  • 宏基笔记本电脑预装win8改win7系统教程详细图解(宏基笔记本电脑售后电话)

    宏基笔记本电脑预装win8改win7系统教程详细图解(宏基笔记本电脑售后电话)

  • 计算企业所得税分录
  • 个人独资企业要交税吗
  • 二手车交易税是谁交
  • 外贸出口企业如何申报增值税
  • 收据大写十万元整怎么写标准
  • 利润表利息费用和利息收入
  • 软件产品增值税超税负即征即退
  • 全面一次性奖金收入扣税标准
  • 退回多报的教育费附加如何做账
  • 来料加工生产成本账务处理
  • 税款所属期什么意思
  • 个人出租商业用房
  • 超市购物卡发票可以报销吗
  • 装修项目展示厅费用支出列什么科目?
  • 未入账成本
  • 房租费用在本年内可以不摊销吗?
  • 公司变卖后员工怎么办
  • 从个人出开进的房租租赁发票可以抵扣几个点?
  • 公司一季度报表一般是什么时候出
  • 增值税抵扣需要哪些附件
  • 资产类科目余额在借方表示什么
  • 货物入库会计分录怎么做
  • windows10如何添加英文输入法
  • 服务公司收到服务费发票怎么做账
  • hhupd.exe
  • 耕地占用税的具体内容
  • 购货方获得现金折扣的会计分录怎么写
  • Chon湖上空的低空云,苏格兰特罗萨克斯 (© Alistair Dick/Alamy)
  • 什么时候使用多进程
  • h5能不能自动播放
  • 非货币资金包括哪些科目
  • pnp算法简介与代码解析
  • 基于php的系统
  • 固定资产进项抵扣新政策2021
  • 应收账款确认无法收回
  • vue优化方案
  • 简述时期指标和时点指标的特点
  • 收回外币应收账款如何处理
  • 怎么用php写一个简单框架
  • macps字体怎么导入
  • 预支工资的借条图片
  • 建筑劳务税率是13还是6
  • 合伙企业利润分配
  • php判断ua
  • 装修店面装修费的会计分录
  • 安装路灯会计分录
  • 修理费用的会计怎么做账
  • 个人独资企业要交哪些税
  • 股权转让低于净资产的税怎么算
  • 工程中标费用放哪个科目
  • 公司多出来的钱怎么办
  • 增值税发票抵扣期限是多久
  • 管理不善存货盘亏计入什么科目
  • 持有至到期投资在资产负债表怎么填
  • mysql解压版安装教程5.7.20
  • MSSQL转MYSQL,gb2312转utf-8无乱码解决方法
  • xp怎么安装framework
  • win10开始无法打开
  • win8的安全中心
  • regsvc32.exe - regsvc32是什么进程 有什么用
  • linux acl设置
  • 列举linux常用的几个命令
  • jsp验证邮箱格式
  • linux基本命令的使用方法
  • nodejs image
  • windows 2002关机
  • 网页设计中span
  • javascript模块化规范
  • javascript的用法
  • javascript用处
  • jQuery AjaxUpload 上传图片代码
  • java教程 视
  • jquery获取浏览器宽度
  • Flow之一个新的Javascript静态类型检查器
  • python定义全局
  • 纸质发票怎么查电子发票
  • 12123怎么上传交强险
  • 浙江国地税联合电子税务局
  • 厦门象屿正式员工招聘
  • 国家税务总局简易征收最新文件
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设