diff --git a/src/api/server.js b/src/api/server.js
index 969d73b..d8867ea 100644
--- a/src/api/server.js
+++ b/src/api/server.js
@@ -48,7 +48,7 @@ server.interceptors.response.use(
// 用户异常
(response?.data?.code === 401&&response?.data?.message?.indexOf('用户') !== -1)
// 参数错误,[token]不允许为空
- || (response?.data?.code === 404&&response?.data?.message?.indexOf('token') !== -1)
+ || (response?.data?.code === 404&&response?.data?.message?.indexOf('[token]') !== -1)
)loginHandle();
// if(response?.data?.error === '704'&&response?.data?.smsg === 'ustoken不能为空')loginHandle();
}
diff --git a/src/subpackage/groupon/api/index.js b/src/subpackage/groupon/api/index.js
index aa53bbe..33831a2 100644
--- a/src/subpackage/groupon/api/index.js
+++ b/src/subpackage/groupon/api/index.js
@@ -10,6 +10,8 @@ export const stadiumFind = params => server.post({ url: '/stadium/find', ...para
export const jsapiPreVerifyCertificates = params => server.post({ url: '/douyinMiniapp/202506/jsapiPreVerifyCertificates', ...params }); // 票券核销
export const orderAdd = params => server.post({ url: '/stadium/order/add', ...params }); // 生成场馆预约订单
export const orderPayMini = params => server.post({ url: '/stadium/order/pay/mini', ...params }); // A预约场馆-预约场馆-微信支付[小程序]
+export const getOrder = params => server.post({ url: '/douyinMiniapp/202506/getOrder', ...params }); // 轮询获取订单号, 轮询了多久以后就直接放弃了
+export const orderGet = params => server.post({ url: '/stadium/order/get', ...params }); // 预约订单详情
diff --git a/src/subpackage/groupon/components/ticket_item.vue b/src/subpackage/groupon/components/ticket_item.vue
index aadee7a..96060aa 100644
--- a/src/subpackage/groupon/components/ticket_item.vue
+++ b/src/subpackage/groupon/components/ticket_item.vue
@@ -1,5 +1,6 @@
diff --git a/src/subpackage/groupon/pages/confirm_order/ticket.vue b/src/subpackage/groupon/pages/confirm_order/ticket.vue
index c12e5c4..2c23ede 100644
--- a/src/subpackage/groupon/pages/confirm_order/ticket.vue
+++ b/src/subpackage/groupon/pages/confirm_order/ticket.vue
@@ -5,6 +5,7 @@ import confirmTemplate from "../../components/confirm_template.vue";
import ticketItem from "../../components/ticket_item.vue";
import { jsapiPreVerifyCertificates } from "../../api";
import { routeTo, showModal, showLoad, hideLoad } from '@/utils/polish';
+import { formatDate } from "@/utils";
const stadiumInfo = ref({}); // 场馆信息
const ticketInfo = ref({}); // 票券信息
const verify_token = ref('');
@@ -12,7 +13,7 @@ onLoad(() => {
});
const expireTimeStr = computed(() => {
- return ticketInfo.expire_time ? new Date(ticketInfo.expire_time * 1000).toLocaleDateString() : '';
+ return ticketInfo.value?.expire_time ? formatDate(ticketInfo.value.expire_time * 1000) : '';
});
onMounted(() =>{
@@ -53,7 +54,7 @@ function pvc_func({
}
function confirmBtn(){
let _tVal = ticketInfo.value;
-
+ let _sVal = stadiumInfo.value;
const _query = {
verifyToken: verify_token.value ?? '',
poiId: _tVal?.poi_id ?? '',
@@ -69,8 +70,9 @@ function confirmBtn(){
},
success(res){
hideLoad();
- console.warn('verifyCertificates success', res);
- showModal({ content: '核销成功!' })
+ // console.warn('verifyCertificates success', res);
+ // showModal({ content: '核销成功!' })
+ routeTo(`/subpackage/groupon/pages/exchange_success?brand_id=${_sVal?.brand_id ?? ''}&verify_token=${verify_token.value ?? ''}`);
},
fail(err){
hideLoad();
diff --git a/src/subpackage/groupon/pages/confirm_order/venue.vue b/src/subpackage/groupon/pages/confirm_order/venue.vue
index aa27e4e..92c2e8e 100644
--- a/src/subpackage/groupon/pages/confirm_order/venue.vue
+++ b/src/subpackage/groupon/pages/confirm_order/venue.vue
@@ -64,8 +64,8 @@ function confirmBtn(){
},
success(res){
hideLoad();
- console.warn('verifyCertificates success', res);
- showModal({ content: '核销成功!' });
+ // console.warn('verifyCertificates success', res);
+ // showModal({ content: '核销成功!' });
return createServerOrder();
},
fail(err){
@@ -115,6 +115,9 @@ function createServerOrder(){
})
.then(oRes=>{
console.warn('orderPayMini', oRes);
+ if(oRes?.code === 0){
+ routeTo(`/subpackage/groupon/pages/exchange_success?brand_id=${_sVal?.brand_id ?? ''}&verify_token=${verify_token.value ?? ''}`);
+ }
})
})
}
diff --git a/src/subpackage/groupon/pages/exchange_success.vue b/src/subpackage/groupon/pages/exchange_success.vue
index 5ff4590..0596970 100644
--- a/src/subpackage/groupon/pages/exchange_success.vue
+++ b/src/subpackage/groupon/pages/exchange_success.vue
@@ -2,34 +2,91 @@
import { onLoad } from '@dcloudio/uni-app';
import { reactive, ref } from "vue";
import textLine from "../components/text_line.vue";
-onLoad(() => {
-
+import { getOrder, orderGet } from "../api";
+import { routeTo, showModal } from "@/utils/polish";
+const orderInfo = ref({});
+onLoad(oprions => {
+ getOrderNoFn({ verify_token: oprions?.verify_token ?? '' })
+ .then(orderNo =>{
+ orderGet({ data: { order_no: orderNo, brand_id: oprions?.brand_id ?? '' } })
+ .then(oRes=>{
+ orderInfo.value = oRes?.data ?? {};
+ })
+ })
});
+// ef5bc53a8711d876adbfac7710a03f3f
+
+function getOrderNoFn({ verify_token, times = 1, max = 5, interval = 300 }){
+ if(times > max){
+ console.warn('轮询了' + (times - 1) + '次');
+ showModal({ content: '查询超时!' });
+ return Promise.reject('超时')
+ }
+ times++
+ return getOrder({ data: { verify_token } })
+ .then(res=>{
+ let _orderNo = res?.data?.order_no ?? '';
+ if(_orderNo){
+ return Promise.resolve(_orderNo);
+ }else if(res?.code === 0 && res?.data?.order_no === ''){
+ return new Promise(rs=>{
+ setTimeout(_=>{
+ rs(getOrderNoFn({ verify_token, times, max, interval }))
+ }, interval)
+ })
+ }else {
+ return Promise.reject(res);
+ }
+ })
+}
+
+function copyBtn(){
+ uni.setClipboardData({
+ data: `${orderInfo.value?.verify_code}`
+ })
+}
+
+// 预览核销码
+function previewCode(){
+ uni.previewImage({ urls: [orderInfo.value?.verify_qrcode] })
+}
+
+function toOrderDetail(){
+ let _oVal = orderInfo.value;
+ routeTo(`/subpackage/order/pages/detail?brand_id=${_oVal?.brand_id ?? ''}&order_no=${_oVal?.order_no ?? ''}`)
+}
+
-
+
- 查看订单
+ 查看订单
兑换成功
-
- MJ体育(天空篮球从云店)
+
+ {{ orderInfo?.stadium_name ?? '' }}
- 单次卡
+ {{ orderInfo?.project ?? '-' }}
1
- 2020-10-16 17:45:20
+ {{ orderInfo?.EndTime ?? '' }}
点击二维码可放大查看
-
+
- 验证码:12253 51234
- 复制
+ 验证码:{{ orderInfo?.verify_code ?? '' }}
+ 复制
@@ -43,7 +100,7 @@ onLoad(() => {
- 分享给朋友
+ 分享给朋友
@@ -85,7 +142,6 @@ onLoad(() => {
margin-right: 20upx;
width: 36upx;
height: 36upx;
- background: skyblue;
}
.es-name{
flex-grow: 1;
diff --git a/src/subpackage/order/pages/detail.vue b/src/subpackage/order/pages/detail.vue
index 8abf9a1..79e5b0c 100644
--- a/src/subpackage/order/pages/detail.vue
+++ b/src/subpackage/order/pages/detail.vue
@@ -213,6 +213,17 @@ function imError(e){
:orderInfo="orderInfo"
>
+
+
+
+
+ 点击二维码可放大查看
+
产品信息
@@ -239,24 +250,7 @@ function imError(e){
-
-
-
- 点击二维码可放大查看
-
-
-
-
-
+
金额小计
@@ -269,14 +263,15 @@ function imError(e){
合计支付:¥{{ orderInfo?.pay_amount || '0' }}
-
-
-
- 支付信息
- {{ orderInfo?.pay_type_text ?? '-' }}
- {{ orderInfo?.pay_time ?? '-' }}
- {{ orderInfo?.trace_no ?? '-' }}
+
+
+
+
+
+
+
+ 支付信息
+ {{ orderInfo?.pay_type_text ?? '-' }}
+ {{ orderInfo?.pay_time ?? '-' }}
+ {{ orderInfo?.trace_no ?? '-' }}
+
+