Browse Source

add logic & fix

dev
刘嘉炜 4 days ago
parent
commit
b34e497530
  1. 10
      src/api/server.js
  2. 6
      src/pages.json
  3. 8
      src/pages/index/index.vue
  4. BIN
      src/static/images/index_banner.jpg
  5. 37
      src/subpackage/groupon/pages/exchange_fail.vue
  6. 3
      src/subpackage/groupon/pages/list.vue
  7. 4
      src/subpackage/groupon/pages/stadiums.vue

10
src/api/server.js

@ -80,10 +80,12 @@ function formatResponse(response){
*/
function errorHandle({ Catch = true, content = '', data = {}, success, errorModal = true }) {
console.error(`get ${data?.config?.url} err -> `, data)
if(errorModal)showModal({
content: content || '请求失败',
success: success
})
if(errorModal)setTimeout(_=>{
showModal({
content: content || '请求失败',
success: success
})
}, 300);
return Catch ? Promise.reject(data) : pending;
}

6
src/pages.json

@ -89,6 +89,12 @@
"style": {
"navigationBarTitleText": "抖音团购券"
}
},
{
"path": "pages/exchange_fail",
"style": {
"navigationBarTitleText": "兑换失败"
}
}
]
}

8
src/pages/index/index.vue

@ -4,7 +4,6 @@ import { deepClone } from "@/utils";
import { accAdd } from "@/utils/calculation";
import { routeTo } from "@/utils/polish";
import { stadiumFind } from "@/api";
onLoad(() => {
// stadiumFind({ data: { brand_id: 63 }, loading: '...' })
// .then(res=>{
@ -12,18 +11,18 @@ onLoad(() => {
// })
});
function verifyBtn(){
routeTo(`/subpackage/groupon/pages/list`);
}
</script>
<template>
<view class="index-index">
<swiper class="ii-swiper" indicator-color="rgba(255, 255, 255, .72)" indicator-active-color="#009874" indicator-dots autoplay >
<swiper class="ii-swiper">
<swiper-item>
<image class="is-img"></image>
<image class="is-img" mode="aspectFill" src="/static/images/index_banner.jpg"></image>
</swiper-item>
</swiper>
<view class="ii-line-btn" @click="verifyBtn">
@ -44,7 +43,6 @@ function verifyBtn(){
.is-img{
width: 100%;
height: 100%;
background: skyblue;
}
}
.ii-line-btn{

BIN
src/static/images/index_banner.jpg

After

Width: 2000  |  Height: 906  |  Size: 108 KiB

37
src/subpackage/groupon/pages/exchange_fail.vue

@ -0,0 +1,37 @@
<script setup>
import { onLoad } from '@dcloudio/uni-app';
import { reactive, ref } from 'vue';
const min_app_name = ref('');
onLoad(options => {
min_app_name.value = options?.app_name ?? '';
});
</script>
<template>
<view class="exchange-fail">
<view class="ef-tit">兑券失败</view>
<view class="ef-txt" v-if="min_app_name">请到微信搜索<text>{{ min_app_name }}</text>小程序兑券使用</view>
</view>
</template>
<style lang="scss">
page{
background: #fff;;
}
.exchange-fail{
padding-top: 200upx;
.ef-tit{
text-align: center;
@include flcw(48upx, 66upx, #333, 500);
}
.ef-txt{
margin-top: 30upx;
padding: 0 30upx;
text-align: center;
@include flcw(32upx, 44upx, #9A9A9D);
text{
color: $mColor;
}
}
}
</style>

3
src/subpackage/groupon/pages/list.vue

@ -41,7 +41,8 @@ function ticketClick(e){
encrypted_codes: certificates?.encrypted_code ?? '',
douyin_merchant_pay_amount: certificates?.amount?.pay_amount ?? 0,
certificates,
// id0
ouxuan_group_purchase_id: _ouxuan_group_purchase_info?.id ?? 0,
}
uni.navigateTo({
url: `/subpackage/groupon/pages/stadiums`,

4
src/subpackage/groupon/pages/stadiums.vue

@ -157,6 +157,10 @@ function toNextStep(stadiumInfo){
showCancel: true,
success: res=>{
if(!res.confirm) return;
//
if(!ticketInfo?.ouxuan_group_purchase_id || ticketInfo?.ouxuan_group_purchase_id <= 0){
return routeTo(`/subpackage/groupon/pages/exchange_fail?app_name=${stadiumInfo?.mini_wechat_app_name || ''}`, 'rL');
}
let _mt = ticketInfo?.merchandise_type;
let _url = _mt === 0 ? '/subpackage/groupon/pages/confirm_order/ticket'
: _mt === 1 ? '/subpackage/groupon/pages/site_select' : '';

Loading…
Cancel
Save