生成微信支付二维码前端 | 学习笔记

简介: 快速学习 生成微信支付二维码前端

开发者学堂课程【微服务+全栈在线教育实战项目演练(SpringCloud Alibaba+SpringBoot)生成微信支付二维码前端】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/667/detail/11497


生成微信支付二维码前端


内容介绍:

一、生成微信支付二维码

二、整合

三、测试


一、生成微信支付二维码

在支付页面中,点击去支付,页面需要生成二维码,应该调用之前的接口,根据订单 id 把二维码生成出来。

export default {

//生成订单

createOrders(coursed){

return request({

url:’/eduorder/order/createrOrder/’+courseId,

method:’post’

})

},

//根据订单 id 查询订单信息

getOrderInfo(id){

return request({

url:’/eduorder/order/getOrderInfo/’+id,

method:’get’

})

},

//生成二维码的方法

createNative(orderNo){

return request({

url:’/eduorder/paylog/getOrderInfo/’+orderNo,

method:’get'

//查询订单状态的方法

//生成二维码的方法

queryPayStatus(orderNo){

return request({

url:’/eduorder/paylog/queryPayStatus/’+orderNo,

method:’get’

})

}

}

点开去支付的页面,即订单显示页面,在这个页面做一个调用,实现目的。

来到_oid.vue 页面,找到去支付的地方,绑定事件写方法。

methods:{

//去支付

toPay(){

this.$router.push({path:’/pay/’+this.order.orderNo})

在 pages 中新建文件夹命名为 pay,在 pay 中新建个页面_pid.vue。在这页面中做二维码的生成

<template>

<div class=”cart py-.container”>

<!—主内容—>

<div class=”checkout py-container pay”>

<divd class=”checkout-tit”>

<h4 class=”fl tit-txt”><span class=”success-icon”></span><span class=”success-info”>

订单提交成功,请您及时付款!订单号:{{payOvj.out_trade_no}}</span>

<h4>

<span class=”fr”><em class=”sui_lead>应付金额:</em><em class=”orange money”>¥{{payObj.total_fee}}</em></span>

<div class=”clearfix”></div>

</div>

<div class=”checkout-steps”>

<div class=”fl weiin”>微信支付</div>

<div class=”fl sao”>

<p class=”red”>请使用微信扫一扫。</p>

<div class=”fl code”>

<!--<img id=”Qrious” src=”~/assets/img/erweima.png” alt=””> 

<!--<qriously value=”weixin://wxpay/bizpayurl?pr=R7tnDpZ”:size=”338”/> 

<qriously :value=”payObj.code_url”:size=”338/>

<div class=”saosao”>

<p>请使用微信扫一扫</p>

<p>扫描二维码支付</p>

</div>

</div>

</div>

<div class=”clearfix”></div>

<1-- <p><a href=”pay.html” target=”_blank”>> 其他支付方式</a></p> 

</div>

</div>

</div>

</template>

<script>

import ordersApi from ‘@/api/orders’

export default {

asyncData({ params,error }){

return ordersApi.createNatvie(params.pid)

.then(response=>{

payObj:response.data.data

})

}

}

</script>

因为生成的二维码是 map 集合,于是把 map 集合得到。而在 map 集合中,对应的值都取出,在 payObj 中得到map 集合。

最后把所有的值都显示出来。payObj.code_url 是二维码地址,而如果写个图片,地址却不能生成,这需要 vue 中的一个组件,把 qriously 下载下来,这个组件是以前安装过的,详见用户登录和注册。


二、整合

在支付位置绑定一个事件 topay,跳转到支付页面,即 pid 页面,在页面中通过路由得到 pid 值,得到之后复制给payObj,因为里面有返回的 map 集合,通过 payObj,把里面的值都取出来,值取的名字都是 service 实现类别中的名字,put 中的名字是随便写的,但 get 中的名字是固定的。


三、测试

启用接口,把 oders 启动,做内容测试。检查一下 nacos 中的相关服务。

重新进入平台,重新登录,点击课程,在列表中点击某一个课程,进入详情页面,点击立即购买,生成订单。

此时点击 F12,再点击去支付,发现目前报了错误:undefine 没有定义。

回到 paylogcontroller 页面,在控制台中发现二维码的集合在接口中返回了。

在桌面新建一个 txt 文档用来调试,

返回状态码是 success,表示生成二维码是成功的,但在页面中报了错误,说 out_trade_no 没有被定义,可能是单词有拼写错误。

经检查,是少写了一个 return

return ordersApi.createNatvie(params.pid)

.then(response=>{

return {

payObj:response.data.data

}

重新测试后,二维码成功生成。且有订单号,有金额,课程名称也可以选择显示出来。

回到订单表中,有数据,但支付表中,由于还没有支付,数据为空。

相关文章
|
8月前
|
弹性计算 前端开发 小程序
微信小程序上传文件至阿里云OSS直传(java后端签名+前端直传)
当前的通用文件上传方式是通过前端上传到服务器,再由服务器转存至对象存储。这种方式在处理小文件时效率尚可,但大文件上传因受限于服务器带宽,速度较慢。例如,一个100MB的文件在5Mbps带宽的阿里云ECS上上传至服务器需160秒。为解决此问题,可以采用后端签名的方式,使微信小程序直接上传文件到阿里云OSS,绕过服务器中转。具体操作包括在JAVA后端引入相关依赖,生成签名,并在微信小程序前端使用这个签名进行文件上传,注意设置正确的请求头和formData参数。这样能提高大文件上传的速度。
1251 1
|
3月前
|
JavaScript 前端开发 程序员
前端学习笔记——node.js
前端学习笔记——node.js
59 0
|
3月前
|
算法 小程序 Java
java制作海报三:获取微信二维码详情,并改变大小,合成到海报(另一张图片)上
这篇文章介绍了如何使用Java获取微信小程序的二维码,并将其调整大小后合成到海报(另一张图片)上。
59 0
|
5月前
|
JavaScript 前端开发 程序员
后端程序员的前端必备-jQuery核心学习笔记
后端程序员的前端必备-jQuery核心学习笔记
67 13
|
6月前
|
开发框架 前端开发 JavaScript
在微信框架模块中,基于Vue&Element前端的事件和内容的管理
在微信框架模块中,基于Vue&Element前端的事件和内容的管理
|
6月前
|
开发框架 移动开发 前端开发
在微信框架模块中,基于Vue&Element前端的后台管理功能介绍
在微信框架模块中,基于Vue&Element前端的后台管理功能介绍
|
6月前
|
前端开发 小程序
【微信小程序-原生开发】实用教程20 - 生成海报(实战范例为生成活动海报,内含生成指定页面的小程序二维码,保存图片到手机,canvas 系列教程)
【微信小程序-原生开发】实用教程20 - 生成海报(实战范例为生成活动海报,内含生成指定页面的小程序二维码,保存图片到手机,canvas 系列教程)
432 0
|
6月前
|
开发框架 前端开发 JavaScript
在微信框架模块中,基于Vue&Element前端,通过动态构建投票选项,实现单选、复选的投票操作
在微信框架模块中,基于Vue&Element前端,通过动态构建投票选项,实现单选、复选的投票操作
|
6月前
|
前端开发
支付系统--微信支付21--搭建前端环境,payment-demo-front这个项目文件夹是前端显示文件,payment-demo是后端项目,支付页面常见三个页面:购买课程,我的订单,下载账单
支付系统--微信支付21--搭建前端环境,payment-demo-front这个项目文件夹是前端显示文件,payment-demo是后端项目,支付页面常见三个页面:购买课程,我的订单,下载账单
|
8月前
|
JavaScript 前端开发
TypeScript 学习笔记(六):TypeScript 与前端框架的结合应用
笔记,进一步提升 TypeScript 编程技能。
95 1