> 自媒体 > (AI)人工智能 > 火了!微信小程序与内嵌网页交互实现支付功能,小白们来学习吧
火了!微信小程序与内嵌网页交互实现支付功能,小白们来学习吧
来源:ChatAiRobot
2023-06-30 14:21:28
499
管理

上个月,小程序开放了新功能,支持内嵌网页,所以我就开始了小程序内嵌网页之路,之前我只是个小安卓。

内嵌网页中可使用JSSDK 1.3.0提供的接口,可坑就来了,居然不支持支付接口的调用,经过一番研究,总算打通了两边的交互

大概流程

1、先说明涉及到的文件,下面会用到

1.1 app.js:小程序的app.js文件,在globalData里定义一个全局变量paySuccessUrl: '',用来保存支付成功跳转url

web-view>

})

4、在内嵌网页web_pay.vue调用支付时把支付金额,支付说明,支付成功跳转url...(任何你想要的参数,记得encodeURIComponent),传给小程序原生页面

let jumpUrl = encodeURIComponent(window.location)

let path = `/page/pay/pay?amount=$&title=$&jumpUrl=$`

url: path

})

}

onLoad: function (options) {

console.log(options)

// 获取网页传过来的值

// TODO 用es6解构来获取值TODO

jumpUrl = options.jumpUrl

amount = options.amount

title = options.title

...

},

6、支付成功后,把跳转url附带支付结果及当前时间保存到全局变量

paySuccess () {

let currentTime = new Date().getTime()

jumpUrl = options.jumpUrl encodeURIComponent(`?payResult=1&time=$`)

//payResult=1表示支付成功,这里我偷懒了直接在url后面补?,实际情况比较复杂

//为了实现支付成功返回后的无刷新加载,这里的参数应该是属于路由web_pay.vue的,而不是属于window.location.search的

//所以要判断路由锚点#的位置和是否已经有路由参数(如果是vue-router的history模式我没用过,应该和window.location一样吧)

getApp().globalData.paySuccessUrl=jumpUrl //保存跳转url到小程序全局变量里

}

onShow: function () {

console.log('on show')

let paySuccessUrl = getApp().globalData.paySuccessUrl

getApp().globalData.paySuccessUrl="" //清空支付成功url,防止一些操作触发onShow事件

if (paySuccessUrl) {

let url = decodeURIComponent(paySuccessUrl)

this.setData({

//这里在次说明下步骤6中的&time=$,就是因为不加这个当你第一次支付成功回来这里

//这个url跟你第二次支付成功回来这里是一样的,会导致第二次支付开始,这里的setData方法失效

url

})

}

},

8、步骤7中的setData会触发webview中的网页加载,由于我采用的是vue-router,而且前后两个url只有路由的参数query不一样,所以并不会触发界面刷新,也不会触发路由的重新加载,而是只会触发beforeRouteUpdate 这个方法,举个例子,现在支付前界面是https://host/#/pay,然后支付成功后跳转https://host/?

payResult=1&time=123456#/pay,此时界面不会刷新,pay路由也不会重新加载,而是触发beforeRouteUpdate (to, from, next),你要做的只是在这里界面解析to.query里的数据,然后该干嘛干嘛

beforeRouteUpdate (to, from, next) {

console.log('路由发生改变,很有可能是小程序的支付成功回调')

if (payResult) { // 小程序支付成功

if (payResult === '1') {

console.log('支付成功,下班打卡走人')

}

}

next()

},

这么晚了,先睡了,如果有空我再整理个demo,如果文章对你有帮助麻烦点个赞

1
点赞
赏礼
赏钱
0
收藏
免责声明:本文仅代表作者个人观点,与本站无关。其原创性以及文中陈述文字和内容未经本网证实,对本文以及其中全部或者 部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。 凡本网注明 “来源:XXX(非本站)”的作品,均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对 其真实性负责。 如因作品内容、版权和其它问题需要同本网联系的,请在一周内进行,以便我们及时处理。 QQ:617470285 邮箱:617470285@qq.com
相关文章
微软放大招!GPT-4助力Office全家桶,打工人们还能活吗?..
在人工智能领域,有一个神秘而强大的存在,它就是OpenAI的GPT-4。这是一..
GPT-4,文心一言之类的大语言模型适合档案系统吗?
关注我们 - 数字罗塞塔计划 -目 录01 大语言模型(LLM)掀起新一轮AI热潮..
ChatGPT火爆背后,中美科技有多大“差距”?值得我们深思!..
近段时间以来,美国OpenAI研发的聊天机器人程序ChatGPT可谓是占尽了风头..
GPT-4没通过图灵测试!60年前老AI击败ChatGPT,人类胜率仅有63%..
机器智能的极限挑战:GPT-4在图灵测试中败给了60年前的ELIZ转眼至今日,G..
小心被骗!山寨版“ChatGPT”上线,收费不低
2022年11月,OpenAI推出人工智能聊天工具ChatGPT,迅速在世界范围内引发..
ChatGPT弊端何在?复旦哲学教授为你祛魅
昨天,庆祝复旦大学建校118周年相辉校庆系列学术报告第一场在该校相辉堂..
人工智能商业化提速,聊天机器人ChatGPT一夜蹿红!中国版有望两年内出现..
一夜蹿红的超级对话模型ChatGPT,搅动了寂静许久的人工智能业界“一池春..
智能聊天机器人ChatGPT为何成科技巨头新宠?
即使ChatGPT取得了技术上和商业上的成功,它也不会是灭绝许多职业的“幽..
ChatGPT实践应用和大模型技术解析
关注并星标从此不迷路计算机视觉研究院公众号ID|计算机视觉研究院学习群..
关于作者
秋叶无痕(普通会员)
文章
640
关注
0
粉丝
0
点击领取今天的签到奖励!
签到排行

成员 网址收录40369 企业收录2981 印章生成216700 电子证书945 电子名片57 自媒体34015

@2022 All Rights Reserved 浙ICP备19035174号-7
1
0
分享
请选择要切换的马甲:

个人中心

每日签到

我的消息

内容搜索