位置: 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)(布莱顿小镇介绍)

  • 安卓手机怎么连接惠普打印机(安卓手机怎么连接电脑)

    安卓手机怎么连接惠普打印机(安卓手机怎么连接电脑)

  • WPS文字效果在哪(wps文字效果怎么设置)

    WPS文字效果在哪(wps文字效果怎么设置)

  • 1个网关带多少个lora终端(1个网关带多少个摄像头)

    1个网关带多少个lora终端(1个网关带多少个摄像头)

  • 华为mate xs支持无线充电吗

    华为mate xs支持无线充电吗

  • word保存pdf显示出现意外(word保存pdf显示无法打开文件)

    word保存pdf显示出现意外(word保存pdf显示无法打开文件)

  • 微信运动刷新时间(微信运动刷新频率)

    微信运动刷新时间(微信运动刷新频率)

  • 苹果x如何开机(苹果X如何开机)

    苹果x如何开机(苹果X如何开机)

  • 腾讯课堂下课多久可以看回放(腾讯课堂老师上课)

    腾讯课堂下课多久可以看回放(腾讯课堂老师上课)

  • c盘program files文件夹可以删除吗(c盘program files文件夹里的文件可以删除吗)

    c盘program files文件夹可以删除吗(c盘program files文件夹里的文件可以删除吗)

  • 骁龙865什么时候出(骁龙865什么时候出的)

    骁龙865什么时候出(骁龙865什么时候出的)

  • 华为荣耀20怎么打开夜景模式(华为荣耀20怎么开空调遥控器)

    华为荣耀20怎么打开夜景模式(华为荣耀20怎么开空调遥控器)

  • 苹果单只airpods怎么买(苹果单只耳机序列号无效)

    苹果单只airpods怎么买(苹果单只耳机序列号无效)

  • iphonex和xr屏幕区别(苹果x和xr屏幕有什么区别)

    iphonex和xr屏幕区别(苹果x和xr屏幕有什么区别)

  • 苹果icloud储存空间有什么用(苹果icloud储存空间怎么关闭)

    苹果icloud储存空间有什么用(苹果icloud储存空间怎么关闭)

  • 华为nova5支持内存卡吗(华为nova5z支持内存卡吗)

    华为nova5支持内存卡吗(华为nova5z支持内存卡吗)

  • 如何把腾讯视频下载到本地(如何把腾讯视频下载的视频导出来)

    如何把腾讯视频下载到本地(如何把腾讯视频下载的视频导出来)

  • ios6能下载微信吗(iphone6s下载微信)

    ios6能下载微信吗(iphone6s下载微信)

  • 苹果7微信视频怎么开美颜(苹果7微信视频闪退怎么回事)

    苹果7微信视频怎么开美颜(苹果7微信视频闪退怎么回事)

  • 大光圈和人像模式区别(大光圈人像镜头是什么)

    大光圈和人像模式区别(大光圈人像镜头是什么)

  • 淘宝开店电脑端描述怎么写(淘宝开店电脑端和手机端是一样的吗)

    淘宝开店电脑端描述怎么写(淘宝开店电脑端和手机端是一样的吗)

  • iwatch可以连接安卓手机吗(iWatch可以连接安卓吗)

    iwatch可以连接安卓手机吗(iWatch可以连接安卓吗)

  • mate20pro港版和国行区别(华为mate20港版和大陆版区别)

    mate20pro港版和国行区别(华为mate20港版和大陆版区别)

  • 荣耀9i隐藏功能(荣耀9i隐藏功能怎么设置)

    荣耀9i隐藏功能(荣耀9i隐藏功能怎么设置)

  • linux系统中ctrl和capslock键怎么互换?(linux ctrl c和ctrl z)

    linux系统中ctrl和capslock键怎么互换?(linux ctrl c和ctrl z)

  • 苹果Mac OS 10.10Yosemite安装U盘制作教程图文详解(苹果mac os 10.4)

    苹果Mac OS 10.10Yosemite安装U盘制作教程图文详解(苹果mac os 10.4)

  • 怎么修改金税盘登录密码
  • 租赁合同印花税双方都要交吗
  • 企业的书报费应计入销售费用
  • 一般纳税人的增值税征收方式的特点是
  • 个体工商户税务申报如何网上申报
  • 3%简易征收范围
  • 小规模纳税人冲红退税吗
  • 管理费用中税金分录怎么写
  • 出口的商品交消费税吗
  • 其他应付款重分类到哪个科目
  • 由于审计环境的变化
  • 应交增值税期末余额在借方表示什么
  • 外包业务账务处理
  • 税号里面有字母吗
  • 税收分类编码选错了有事吗
  • 业务订单需求表
  • 怎么打印事业单位准考证
  • 外地预缴个人所得税如何入账及申报
  • 税控盘没有反写会怎样
  • 公司对公账户每年费用
  • 收到加盟费尾款怎么做分录?
  • 废旧物资缴纳增值税政策
  • 技术开发合同收入包括哪些
  • 电脑上不了网怎么安装网卡驱动
  • 如何将旧版本软件卸载
  • 外账的结转成本是什么
  • 生产经营所得投资者减除费用季度申报填吗
  • PHP:mb_send_mail()的用法_mbstring函数
  • 网速第一的国家
  • 固定资产报废后的处理程序
  • 社保包括哪些保险及比例
  • 社会保险费征缴暂行条例是谁制定
  • 支付劳务费时是什么科目
  • 股东个人消费如何合理报销
  • php similar_text()函数的定义和用法
  • 前端css要掌握到什么程度
  • 帮助命令的快捷键是什么
  • 微服务docker打包规范
  • 将织梦dedecms转换到wordpress
  • 购买一台电脑2400元贵吗
  • 开票服务名称可以自己添加吗
  • 出口退税中的免税是什么
  • 专项基金是什么
  • pos机收款不开票怎么做账
  • 财务报表没报会影响出口退税吗为什么
  • 管理费用是怎么计算的
  • 建安企业费用有哪些
  • 自产产品对外捐赠为什么不确认收入
  • 违约金 专票
  • 电商支付的刷单费怎样做记账凭证?
  • 财务报表的一般构成要素
  • 餐饮打包盒 标准
  • mysql5.7解压版安装
  • windows xp升级为windows 7
  • macmini ubuntu
  • 电脑出现黑屏英文要怎么处理
  • 一键u盘安装系统
  • OS X Yosemite系统怎么样 OS X Yosemite功能介绍
  • centos minio
  • windows7笔记本无线网络连接
  • c盘越来越小了
  • win10如何将我的电脑添加到桌面
  • windows10离线地图
  • windows 10预览版
  • 通过intent可以启动哪些组件
  • Begin OpenGL with Python-1st Day,draw a simple sample.
  • Node.js中的事件循环是什么
  • jquery设置禁用
  • 安卓开发问题
  • Android百度地图定位 sdk 地理围栏监听
  • linux py
  • unitymol
  • javascript简明教程
  • [Phonegap+Sencha Touch] 移动开发50 Android修改新建虚拟机存放的位置
  • javascript对象和方法
  • 代建工程如何缴纳增值税
  • 深圳税务局关于个体户开具普通发票有关问题的通知
  • 发票怎样读入金税开票系统
  • 国家关于农村土地流转政策
  • 苏30参数
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设