苍穹外卖解决无法微信支付问题(超简单!) |
您所在的位置:网站首页 › 怎么能卸载微信支付功能设置 › 苍穹外卖解决无法微信支付问题(超简单!) |
关注微信公众号:怒码少年,回复关键词【电子书】可以免费获取计算机相关电子书 问题描述苍穹项目day08中使用的微信小程序使用用户主体是无法开启微信支付功能的,但是又不想项目烂尾,这里可以帮你解决!! 解决办法使用代码模拟,直接修改数据库中表的数据。具体步骤如下: 后端在/OrderController.java中注释掉原来的订单支付的/payment控制方法,改成: @PutMapping("/payment") @ApiOperation("订单支付") public Result payment(@RequestBody OrdersPaymentDTO ordersPaymentDTO) throws Exception { log.info("订单支付:{}", ordersPaymentDTO); orderService.paySuccess(ordersPaymentDTO.getOrderNumber()); return Result.success(); }paySuccess方法用于微信后台检查成功,前端用户确认支付之后修改数据库的数据(例如把订单状态改为待接单,把支付状态设置为已支付,设置好结账时间),这里我们不请求微信后台了,直接修改数据。 前端在pages\pay\index.js中搜索wx.requestPayment,把这个方法注释起来(大概在225行左右)。再把下方的uni.redirectTo({url: '/pages/success/index?orderId=' + _this.orderId });这行代码开启(没有的话自己加上去)。修改后的前端这部分代码是 if (res.code === 1) { //这个方法全部注释掉 // wx.requestPayment({ // nonceStr: res.data.nonceStr, // package: res.data.packageStr, // paySign: res.data.paySign, // timeStamp: res.data.timeStamp, // signType: res.data.signType, // success:function(res){ // wx.showModal({ // title: '提示', // content: '支付成功', // success:function(){ // uni.redirectTo({url: '/pages/success/index?orderId=' + _this.orderId }); // } // }) // console.log('支付成功!') // } // }) //这行代码一定要有!!直接重定向,不使用微信支付 uni.redirectTo({url: '/pages/success/index?orderId=' + _this.orderId }); } else { wx.showModal({ title: '提示', content: res.msg }) 觉得有用的话可以可以帮忙点个赞吧,谢谢大家!!有问题请私信博主,欢迎大家和我讨论项目 联系作者csdn不怎么看,大家还有什么问题的可以私信微信公众号:怒码少年。我们后台联系,尽我所能!😁😁 原因分析首先来看微信小程序的支付时序图: 所以我们这里就直接不扣钱了! 直接后台修改数据(模拟微信后台扣款成功了) 效果展示1. 前端准备好购物车之后点击去支付
此时数据库orders表中多了一条为支付的订单数据:(注意看各个字段的值)
前端跳转至支付成功的页面
觉得有用的伙计们点个赞吧!👍,感谢你看到这里,祝你生活顺利and代码永不报错(报了也马上可以解决!)。 这里放一个我的微信公众号怒码少年,就是记录一下成长过程和一些技术学习成果,欢迎大家关注! |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |