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

  • 诚信纳税的含义是什么
  • 以现金支付
  • 怎么找高新技术企业的数据
  • 外商投资合伙企业的性质与特征
  • 提存计划和受益计划选那个
  • 个人所得税10月突然增加了
  • 交强险怎么报销流程
  • 社团费用报销制度
  • 物业公司财务制度及核算方法
  • 商贸公司可以做美容行业吗?
  • 红字发票做进项转出还是红字负数
  • 购买资产佣金应该怎么算
  • 公司缴纳个人所得税会计分录
  • 实物返利缴纳所得税吗?
  • 在线负利计算器
  • 小规模纳税人普票可以开3%吗
  • 购货方申请红字发票怎么申报
  • 已经作废了的发票怎么查
  • 营改增后固定资产进项税抵扣规定
  • 节日现金福利征收个人所得税吗
  • 增值税要转到营业税金及附加吗
  • 小规模劳务公司税率是多少
  • 收到的支票背书怎么写
  • 免税农产品加工企业
  • 个体户酒店服务业个税税率
  • 补领以前月份的工资如何计算个人所得税?
  • 盘库存在的问题汇总
  • 当月制造费用转生产成本
  • vmware10虚拟机安装
  • 健康助手在哪里找到
  • .linux文件
  • 鸿蒙系统蓝牙耳机声音小怎么办
  • php字符串定义
  • iphone11 iphone10区别
  • 红字发票只能一张一张开吗
  • 装饰工程公司主要做什么
  • 年终双薪是底薪吗
  • vue打包成一个文件
  • java如何实现异步处理
  • CUDA版本选择
  • 本年利润弥补以前年度亏损分录
  • 现金流量表中有应收账款吗
  • mongodb介绍
  • 门诊收费票据能重新打印吗
  • 在正确使用和正常维护的条件下
  • 磁盘监控命令
  • 土地使用权被政府收回要交个税吗
  • 收据报销的注意点有哪些
  • 原材料报废卖掉会计分录
  • 电梯改造税率
  • 固定资产抵扣影响税负
  • 付设备款的会计分录
  • 利息支出应计入什么科目
  • 餐饮打包盒 标准
  • 文化事业建设费逾期未申报怎么办
  • 固定资产投资方案
  • sql没有数据库
  • windows命令行使用
  • win8 怎么样
  • centos的优缺点
  • SUSE Linux Enterprise Server 设置IP地址、网关、DNS的方法
  • win10系统出现蓝色框框
  • mbr是什么启动
  • win7 64位系统玩英雄联盟lol频繁提示failed to create dump file error 183的解决方法
  • pavkre.exe - pavkre是什么进程 作用是什么
  • win10系统怎么刻录光盘?win10刻录光盘详细图文步骤
  • linux就该这么些
  • bat批处理命令大全
  • cmd下在win上做vpn的命令分享
  • echarts.on
  • Node.js中的什么模块是用于处理文件和目录的
  • jquery示例
  • shell脚本的实现
  • javascript entries
  • python的了解
  • 注册会计师和注册建造师哪个难考
  • 上海税务ca证书更新
  • 如何查询甘肃省学业水平考试成绩
  • 汽车销售顾问有前途吗
  • 会计的各种税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设