From 55ee7bd313c7d8030ce8c547b18ad5f19507afd2 Mon Sep 17 00:00:00 2001
From: 石广澎 <shiguangpeng@163.com>
Date: 星期日, 30 十一月 2025 16:12:37 +0800
Subject: [PATCH] feat(pay): 新增会员充值和次卡购买页面
---
pages/pay/discountpay.vue | 106 ++++++++++++++++++++++++++++-------------------------
1 files changed, 56 insertions(+), 50 deletions(-)
diff --git a/pages/pay/discountpay.vue b/pages/pay/discountpay.vue
index 32604c9..a531920 100644
--- a/pages/pay/discountpay.vue
+++ b/pages/pay/discountpay.vue
@@ -1,6 +1,7 @@
<!-- 鎵爜鏀粯 -->
<template>
<view class="page">
+ <u-alert type="warning" closable description="瀹夊叏鎻愰啋锛氳璋ㄦ厧鏍稿鍟嗗銆佽鍗曚俊鎭紝淇濇姢鑷繁璧勯噾瀹夊叏!"></u-alert>
<view class="pay-box">
<view class="u-font-26 color-666">搴斾粯閲戦</view>
<view class="u-m-t-14">
@@ -10,8 +11,7 @@
</view>
</view>
- <view v-if="discountInfo.shopDiscount!=1&&money*(1-discountInfo.shopDiscount)>=0.01"
- class="bg-fff u-m-h-32 u-m-t-20 u-p-h-32 u-br-10">
+ <view v-if="discountInfo.shopDiscount!=1&&money*(1-discountInfo.shopDiscount)>=0.01" class="bg-fff u-m-h-32 u-m-t-20 u-p-h-32 u-br-10">
<view class="u-p-v-32 u-flex u-row-between u-border-bottom u-font-30 color-333">
<view>{{discountInfo.memberGradeName}}涓撳睘鎶樻墸</view>
<view>-{{ money*(1-discountInfo.shopDiscount).toFixed(2) }}</view>
@@ -20,8 +20,7 @@
<view v-if="canUseIntegral||canUseCoupon" class="u-p-h-32 bg-fff u-m-h-32 u-br-10">
<view class="u-font-28 u-m-t-32">閫夋嫨浼樻儬鏂瑰紡</view>
<view v-if="canUseIntegral" class="u-p-v-24 u-border-bottom u-flex u-m-t-10">
- <image class="item-icon" style="align-self: flex-start;position: relative;top: -3rpx;"
- src="/static/integral.png" mode=""></image>
+ <image class="item-icon" style="align-self: flex-start;position: relative;top: -3rpx;" src="/static/integral.png" mode=""></image>
<view class="u-flex-1 u-m-h-16">
<view class="u-font-30">绉垎鎶垫墸</view>
<view class="u-font-24 color-999 u-m-t-20">鍙敤<text style="color: #D31F28;">{{integral}}</text>绉垎
@@ -64,8 +63,7 @@
宸查�夋嫨浼樻儬鍒�1寮狅紝鍏辨姷鎵o骏{{parseFloat((checkCoupon.discount/100).toFixed(2))}}</view>
<!-- <view class="choose-coupon">閫夋嫨浼樻儬鍒�</view> -->
<scroll-view scroll-y class="u-p-30 coupon-list">
- <view @click="clickCoupon(item)" class="u-m-b-24 u-flex coupon" v-for="(item, index) in couponList"
- :key="index">
+ <view @click="clickCoupon(item)" class="u-m-b-24 u-flex coupon" v-for="(item, index) in couponList" :key="index">
<view style="color: #D31F28;" class="u-p-h-28">
<view class="font-bold">
<text class="u-font-36">锟�</text>
@@ -98,8 +96,7 @@
<view class="u-p-h-40 u-p-b-40">
<view class="u-text-center u-p-t-20 u-m-b-30 u-font-34">璇疯緭鍏ユ墜鏈洪獙璇佺爜</view>
<view class="u-text-center u-m-b-20 color-666">{{ shopInfo.shop_name }}</view>
- <view class="u-flex u-row-center font-bold u-m-b-40"><text class="u-font-42">锟�</text><text
- class="u-font-money">{{ price }}</text>
+ <view class="u-flex u-row-center font-bold u-m-b-40"><text class="u-font-42">锟�</text><text class="u-font-money">{{ price }}</text>
</view>
<u-code-input @finish="bankPay" v-model="smscode" mode="box" :focus="true"></u-code-input>
</view>
@@ -110,22 +107,16 @@
<script>
import {
- config,
ACCESSTOKEN
} from '@/common/config.js';
import {
queryMyUseSweepPayMaxCoupon,
- getScoreWorth,
- queryScore,
queryUseSweepPayCoupon,
getWechatConfigInfo,
saveWxOrder,
tlPay
} from '@/common/api/index'
import wx from 'weixin-js-sdk'; // 浣跨敤js-sdk
- import {
- nextTick
- } from "vue";
export default {
data() {
return {
@@ -244,11 +235,11 @@
onLoad(opt) {
this.isNew = uni.getStorageSync('IS_NEW')
this.cid = uni.getStorageSync('CID')
- this.discountInfo = uni.getStorageSync('DISCOUNT_INFO')
- const token = uni.getStorageSync(ACCESSTOKEN) || null
- if (opt.shopInfo) {
- this.shopInfo = JSON.parse(decodeURIComponent(opt.shopInfo))
+ this.discountInfo = uni.getStorageSync('DISCOUNT_INFO') || {
+ shopDiscount: 1
}
+ const token = uni.getStorageSync(ACCESSTOKEN) || null
+ this.shopInfo = uni.getStorageSync('SHOP_INFO')
if (opt.scoreWorth) {
this.scoreWorth = Number(opt.scoreWorth)
}
@@ -257,8 +248,9 @@
}
if (opt.money) {
this.money = parseFloat(opt.money).toFixed(2)
- let dis = this.money * 100 * (1 - this.discountInfo.shopDiscount)
- let money = parseInt((this.money * 100 * this.discountInfo.shopDiscount))
+ let ds = parseFloat(this.discountInfo.shopDiscount)
+ let dis = this.money * 100 * (1 - ds)
+ let money = parseInt((this.money * 100 * ds))
if (dis < 1) {
money = parseInt((this.money * 100))
}
@@ -268,9 +260,9 @@
money: money < 1 ? 1 : money
}
}).then(res => {
- if (res&&this.canUseCoupon) {
- this.couponInfo = res
- this.checkCoupon = res
+ if (res && this.canUseCoupon) {
+ this.couponInfo = res
+ this.checkCoupon = res
}
})
@@ -357,9 +349,7 @@
this.aliPay(res.paymentData)
}
} else if (res.toPayMethod == 3) {
- // window.location.href = res.paymentUrl
- this.smscode = ''
- this.codeShow = true
+ window.location.href = res.paymentUrl
}
}
} catch (e) {
@@ -373,39 +363,55 @@
})
},
// 寰俊鏀粯
- wxPay(res) {
- setTimeout(() => {
- WeixinJSBridge.invoke(
- 'getBrandWCPayRequest', {
- "appId": res.appId, //鍏紬鍙稩D锛岀敱鍟嗘埛浼犲叆
- "timeStamp": res.timeStamp, //鏃堕棿鎴筹紝鑷�1970骞翠互鏉ョ殑绉掓暟
- "nonceStr": res.nonceStr, //闅忔満涓�
- "package": res.package,
- "signType": res.signType, //寰俊绛惧悕鏂瑰紡锛�
- "paySign": res.paySign //寰俊绛惧悕
- },
- (res) => {
- if (res.err_msg == "get_brand_wcpay_request:ok") {
- // 浣跨敤浠ヤ笂鏂瑰紡鍒ゆ柇鍓嶇杩斿洖,寰俊鍥㈤槦閮戦噸鎻愮ず锛�
- //res.err_msg灏嗗湪鐢ㄦ埛鏀粯鎴愬姛鍚庤繑鍥瀘k锛屼絾骞朵笉淇濊瘉瀹冪粷瀵瑰彲闈犮��
- uni.navigateTo({
- url: `/pages/pay/paySuccess?orderId=${this.orderId}&youHuiInfo=${JSON
+ wxPay(res) {
+ /*setTimeout(() => {
+ wx.chooseWXPay({
+ timestamp: res.timeStamp, // 鏀粯绛惧悕鏃堕棿鎴�
+ nonceStr: res.nonceStr, // 鏀粯绛惧悕闅忔満涓诧紝涓嶉暱浜� 32 浣�
+ package: res.package, // 缁熶竴鏀粯鎺ュ彛杩斿洖鐨刾repay_id鍙傛暟鍊硷紝鎻愪氦鏍煎紡濡傦細prepay_id=\*\*\*锛�
+ signType: res.signType, // 寰俊鏀粯V3鐨勪紶鍏� RSA ,寰俊鏀粯V2鐨勪紶鍏ユ牸寮忎笌V2缁熶竴涓嬪崟鐨勭鍚嶆牸寮忎繚鎸佷竴鑷�
+ paySign: res.paySign, // 鏀粯绛惧悕
+ success: function(res) {
+ // 鏀粯鎴愬姛鍚庣殑鍥炶皟鍑芥暟
+ uni.navigateTo({
+ url: `/pages/pay/paySuccess?orderId=${this.orderId}&youHuiInfo=${JSON
+ .stringify(this.youHuiInfo)}`
+ })
+ }
+ });
+ }, 200)*/
+ setTimeout(() => {
+ WeixinJSBridge.invoke(
+ 'getBrandWCPayRequest', {
+ "appId": res.appId, //鍏紬鍙稩D锛岀敱鍟嗘埛浼犲叆
+ "timeStamp": res.timeStamp, //鏃堕棿鎴筹紝鑷�1970骞翠互鏉ョ殑绉掓暟
+ "nonceStr": res.nonceStr, //闅忔満涓�
+ "package": res.package,
+ "signType": res.signType, //寰俊绛惧悕鏂瑰紡锛�
+ "paySign": res.paySign //寰俊绛惧悕
+ },
+ (res) => {
+ if (res.err_msg == "get_brand_wcpay_request:ok") {
+ // 浣跨敤浠ヤ笂鏂瑰紡鍒ゆ柇鍓嶇杩斿洖,寰俊鍥㈤槦閮戦噸鎻愮ず锛�
+ //res.err_msg灏嗗湪鐢ㄦ埛鏀粯鎴愬姛鍚庤繑鍥瀘k锛屼絾骞朵笉淇濊瘉瀹冪粷瀵瑰彲闈犮��
+ /*uni.navigateTo({
+ url: `/pages/pay/paySuccess?orderId=${this.orderId}&youHuiInfo=${JSON
.stringify(this.youHuiInfo)}`
- })
- }
- });
- }, 200)
- },
+ })*/
+ }
+ });
+ }, 200)
+ },
//鏀粯瀹濇敮浠�
aliPay(res) {
ap.tradePay({
tradeNO: res.tradeNO
}, (res) => {
if (res.resultCode == 9000) {
- uni.navigateTo({
+ /*uni.navigateTo({
url: `/pages/pay/paySuccess?orderId=${this.orderId}&youHuiInfo=${JSON
.stringify(this.youHuiInfo)}`
- })
+ })*/
// 鏀粯鎴愬姛
} else if (res.resultCode == 8000 || res.resultCode == 6001) {
// 姝e湪澶勭悊涓� || 鍙栨秷
--
Gitblit v1.9.1