123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254 |
- const {
- default: api
- } = require("../../js/api");
- const util = require('../../utils/util.js')
- // pages/orderConfirm/orderConfirm.js
- Page({
- /**
- * 页面的初始数据
- */
- data: {
- nozzleId: 0,
- type: '后支付',
- order: null,
- oprationBtn1: '',
- oprationBtn2: '对此订单有疑问?',
- },
- /**
- * 生命周期函数--监听页面加载
- */
- onLoad(options) {
- const link = decodeURIComponent(options.q) // 获取到二维码原始链接
- var id = link.split('wxapp?id=')[1];
- if (id == undefined) {
- id = options.id;
- }
- this.setData({
- nozzleId: id
- })
- this.getOrder()
- },
- /**
- * 生命周期函数--监听页面初次渲染完成
- */
- onReady() {
- },
- /**
- * 生命周期函数--监听页面显示
- */
- onShow() {
- },
- /**
- * 生命周期函数--监听页面隐藏
- */
- onHide() {
- },
- /**
- * 生命周期函数--监听页面卸载
- */
- onUnload() {
- },
- /**
- * 页面相关事件处理函数--监听用户下拉动作
- */
- onPullDownRefresh() {
- },
- /**
- * 页面上拉触底事件的处理函数
- */
- onReachBottom() {
- },
- /**
- * 用户点击右上角分享
- */
- onShareAppMessage() {
- },
- /** 获取订单信息 */
- getOrder() {
- api.request_GetMiniProgramTransactionsUnpaidNozzle(Number(this.data.nozzleId))
- .then(res => {
- if (res.data.statusCode == 203) {
- //若为203,证明还未登录,跳转到登录页,这里可能刚从主页跳转过来,频繁的跳转可能会跳转页面超时,故而加上延时
- setTimeout(() => {
- wx.navigateTo({
- url: '../login/login'
- })
- }, 500)
- return
- }
- console.log("获取到未支付订单", res)
- var order = res.data.data[0];
- var time = util.formatDateNotSecond(order.fuelItemTransactionEndTime);
- this.setData({
- order: {
- oilName: order.productName,
- nozzle: order.nozzleId,
- volume: order.originalQty,
- amount: order.originalAmount,
- payAmount: order.actualPaymentAmount,
- discount: order.originalAmount - order.actualPaymentAmount,
- orderId: order.id,
- time: time
- }
- })
- }).catch(err => {
- console.log("未获取到未支付订单")
- })
- },
- /** 后支付查看更多交易 */
- toMordOrderPage() {
- var that = this;
- wx.navigateTo({
- url: '../moreOrder/moreOrder?nozzle=' + this.data.nozzleId,
- events: {
- acceptOrderFromMoreOrder: function (data) {
- console.log("获取到传送过来的订单", data)
- that.setData({
- order: data
- })
- }
- }
- })
- },
-
- /** 支付按钮点击事件 */
- toPay() {
- var that = this;
- api.request_wechatPay(this.data.order.orderId).then(res => {
- console.log("支付结果", res)
- this.subMessage()
- // this.pay()
- }).catch(err => {
- console.log("支付失败", err)
- })
- },
- /** 订阅消息模板 */
- subMessage() {
- const that = this;
- wx.requestSubscribeMessage({
- tmplIds: ['V0tl-4n-5hwNZc4SrEttvrmawAyM-SB0pQWZNwp54Ks'], // 最多支持3条
- success(res) {
- that.pay()
- // 'accept'表示用户同意订阅该条id对应的模板消息
- if (res['V0tl-4n-5hwNZc4SrEttvrmawAyM-SB0pQWZNwp54Ks'] === 'accept') {
- // 用户同意订阅,调用云函数或服务器接口发送订阅消息
- // wx.cloud.callFunction({
- // name: 'sendSubscribeMessage',
- // data: {
- // templateId: '配置好的模板ID',
- // openid: 'o8pFb5cWH1KkBDvGls2X7yMiFkGA',
- // data: {
- // thing1: {
- // value: '活动名称'
- // },
- // // 其他参数...
- // }
- // },
- // success(res) {
- // console.log('订阅消息发送成功', res)
- // },
- // fail(err) {
- // console.error('订阅消息发送失败', err)
- // }
- // })
-
- }
- },
- fail(err) {
- that.pay()
- }
- })
-
- },
- pay() {
- const that = this;
- api.request_wechatPay(this.data.order.orderId)
- .then(res => {
- wx.requestPayment({
- timeStamp: res.data.data.unifiedOrderResult.timeStamp,
- nonceStr: res.data.data.unifiedOrderResult.nonceStr,
- package: res.data.data.unifiedOrderResult.package,
- signType: res.data.data.unifiedOrderResult.signType,
- paySign: res.data.data.unifiedOrderResult.paySign,
- success: res => {
- wx.hideLoading()
- that.sendMessage()
- that.toPayResult()
-
- },
- fail: res => {
- wx.hideLoading()
- wx.showModal({
- title: '支付失败',
- content: res.errMsg + '请稍后再试',
- showCancel: false,
- success(res) {
- }
- })
- }
- })
- });
- },
- /** 发送消息模板 */
- sendMessage() {
- const message = {
- trxid:this.data.order.orderId,
- orderType:'支付'
- }
- api.request_sendMessage(message).then(res => {
- console.log("发送消息模板结果",res)
- }).catch(err => {
- console.log("发送消息模板失败",err)
- })
- },
- /** 跳转到支付结果页 */
- toPayResult(){
- wx.redirectTo({
- url: '../payResult/payResult',
- })
- },
- /** 跳转到支付结果页(不用这个) */
- toPayResult_back(){
- const that = this;
- setTimeout(function () {
- wx.navigateTo({
- url: '../payResult/payResult?nozzle=' + that.data.nozzleId,
- events: {
- acceptOrderFromPayResult: function (data) {
- console.log("获取到来自result页面传送过来的订单", data)
- that.setData({
- order: data
- })
- }
- }
- })
- }, 500)
- }
- })
|