From 90e9448b681c3aef54f08a76a332d60e05392055 Mon Sep 17 00:00:00 2001 From: wangxiaowei <1121133807@qq.com> Date: Mon, 22 Dec 2025 19:06:04 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E8=AF=95=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/App.vue | 16 ++- src/api/tea-room.ts | 6 +- src/bundle/coupon/coupon.vue | 14 ++- src/bundle/order/platform/order-detail.vue | 14 +-- src/bundle/order/tea-room/order-detail.vue | 140 +++++++++++++-------- src/bundle/tea-room/detail.vue | 84 +++++++++---- src/components/BookingTime.vue | 20 +-- src/components/coupon/GroupCoupon.vue | 3 +- src/components/order/ComboCard.vue | 4 +- src/hooks/useOrder.ts | 10 +- src/http/alova.ts | 5 +- src/pages/cashier/cashier.vue | 20 ++- src/pages/login/login.vue | 9 +- src/router/interceptor.ts | 23 ++-- src/utils/order.ts | 4 +- 15 files changed, 220 insertions(+), 152 deletions(-) diff --git a/src/App.vue b/src/App.vue index 7910d8c..19c907f 100644 --- a/src/App.vue +++ b/src/App.vue @@ -2,9 +2,17 @@ import { onHide, onLaunch, onShow } from '@dcloudio/uni-app' import { navigateToInterceptor } from '@/router/interceptor' import 'abortcontroller-polyfill/dist/abortcontroller-polyfill-only' - import { LOCATION_DEFAULT_CITY, LOCATION_DEFAULT_LAT, LOCATION_DEFAULT_LNG, LOCATION_LAT_KEY, LOCATION_LNG_KEY, LOCATION_CITY_KEY } from '@/hooks/useLocation' onLaunch((options) => { + // console.log("🚀 ~ onLaunch options:", options) + // if (options?.path === 'bundle/order/tea-room/order-detail') { + // uni.setStorageSync('transferOrder', { + // orderId: options?.query?.orderId || '', + // shareSource: options?.query?.shareSource || '' + // }) + // console.log("🚀 ~ onLaunch sync:", uni.getStorageSync('transferOrder')) + + // } // 处理直接进入页面路由的情况:如h5直接输入路由、微信小程序分享后进入等 // https://github.com/unibest-tech/unibest/issues/192 if (options?.path) { @@ -19,6 +27,12 @@ // uni.setStorageSync(LOCATION_CITY_KEY, LOCATION_DEFAULT_CITY) }) onShow((options) => { + if (options?.path === 'bundle/order/tea-room/order-detail') { + uni.setStorageSync('transferOrderParams', { + orderId: options?.query?.orderId || '', + shareSource: options?.query?.shareSource || '' + }) + } console.log('App Show', options) }) onHide(() => { diff --git a/src/api/tea-room.ts b/src/api/tea-room.ts index 8cef408..50f5fb1 100644 --- a/src/api/tea-room.ts +++ b/src/api/tea-room.ts @@ -180,7 +180,7 @@ export interface ICreateTeaRoomOrderParams { hours: number user_coupon_id: number group_coupon_id: number - timeslot: string[] + timeslot: string } export function createTeaRoomOrder(data: ICreateTeaRoomOrderParams) { @@ -252,13 +252,11 @@ export function confirmTeaRoomOrder(data: IConfirmTeaRoomOrderParams) { */ export interface IRenewTeaRoomOrderParams { id: number - start_time: string - end_time: string renew_hour: number } export function renewTeaRoomOrder(data: IRenewTeaRoomOrderParams) { - return http.Post('/api/order/renewDtime', data) + return http.Post('/api/order/renewDtime', data) } /** diff --git a/src/bundle/coupon/coupon.vue b/src/bundle/coupon/coupon.vue index 63a5dc7..6881328 100644 --- a/src/bundle/coupon/coupon.vue +++ b/src/bundle/coupon/coupon.vue @@ -141,19 +141,23 @@ const storeId = ref(0) // 门店ID const teaRoomId = ref(0) // 包间ID + const couponId = ref(0) // 选中的优惠券ID - onLoad((args) => { + onLoad(async (args) => { teaRoomId.value = args.id - console.log("🚀 ~ teaRoomId.value:", teaRoomId.value) storeId.value = args.storeId || 0 couponType.value = args.type // 1:优惠券 2:团购券 // 初始化优惠券数据 if (args.id && args.numbers && args.type == 1) { // 获取到包间ID和预定了几个小时 - Coupons.handleInitCoupon(args.id, args.numbers) + await Coupons.handleInitCoupon(args.id, args.numbers) + checkedId.value = Number(args.couponId) || 0 + } else if (args.id && args.type == 2) { - Coupons.handleInitGroupCoupon(args.id, args.numbers) + await Coupons.handleInitGroupCoupon(args.id, args.numbers) + checkedId.value = Number(args.groupCouponId) || 0 + console.log("🚀 ~ checkedId.value :", checkedId.value ) } }) @@ -172,8 +176,6 @@ * 初始化团购券列表 */ handleInitGroupCoupon: async (id: number, numbers: number) => { - console.log("🚀 ~ teaRoomId.value2:", teaRoomId.value) - const res = await getTeaRoomGroupCouponList({store_id: storeId.value, room_id: teaRoomId.value}) groupCouponList.value = res.list }, diff --git a/src/bundle/order/platform/order-detail.vue b/src/bundle/order/platform/order-detail.vue index 115a9ac..71264be 100644 --- a/src/bundle/order/platform/order-detail.vue +++ b/src/bundle/order/platform/order-detail.vue @@ -22,10 +22,10 @@ 感谢购买,期待再次光临! - 退款成功{{ order.order_amount }} + 退款成功¥{{ order.order_amount }} 谢谢您的信任,我们一定会做的更好 - 2025年4月13日 18:22 + {{ order.update_dtime }} @@ -143,7 +143,7 @@ - + @@ -158,10 +158,10 @@ - + @@ -172,10 +172,10 @@ - + diff --git a/src/bundle/order/tea-room/order-detail.vue b/src/bundle/order/tea-room/order-detail.vue index 13b837f..95ba261 100644 --- a/src/bundle/order/tea-room/order-detail.vue +++ b/src/bundle/order/tea-room/order-detail.vue @@ -86,7 +86,15 @@ - + + + + @@ -114,8 +122,8 @@ - - + + {{ order.room_msg.title }} @@ -388,8 +396,8 @@ } }) - // 一键续订的金额 - const totalReserveMoney = ref(0) + // 一键续订的时间 + const renewHour = ref(0) // 获取当前年月日,格式:YYYY-MM-DD const now = new Date(); @@ -403,23 +411,31 @@ onLoad((args) => { shareSource.value = args.shareSource || '' - if (args.orderId) { - orderId.value = args.orderId + orderId.value = args.orderId + + // 这里写判断是因为要处理页面分享出去的时候有这个参数但是没有token会触发网络请求跳转到登录页,再加上页面登录权限路由 + // 就会出现2次跳转登录页,这个是正常加载订单详情 + if (args.orderId && shareSource.value != 'TransferOrder') { // 获取订单详情 OrderDetail.handleInit() } - + + // 这个是用户分享登录之后再次进入小程序加载事件 const token = uni.getStorageSync('token') - if (token && shareSource.value === 'TransferOrder') { // 处理转让订单 + OrderDetail.handleInit() OrderDetail.handleTransferOrder() } // 如果是从分享进入的未登录的情况下(TransferOrder),需要转让订单 - uni.$on('transferOrder', () => { + uni.$on('transferOrder', (params) => { // 处理未登录的情况下 + orderId.value = params?.orderId + shareSource.value = params?.shareSource uni.$off('transferOrder') + + OrderDetail.handleInit() OrderDetail.handleTransferOrder() }) }) @@ -443,10 +459,11 @@ * 获取订单详情 */ handleInit: async () => { + // 这里单独处理下经纬度,因为分享的时候没有经纬度 const res = await getTeaRoomOrderDetail({ id: orderId.value, - latitude: uni.getStorageSync('latitude'), - longitude: uni.getStorageSync('longitude') + latitude: uni.getStorageSync('latitude') || import.meta.env.VITE_DEFAULT_LATITUDE, + longitude: uni.getStorageSync('longitude') || import.meta.env.VITE_DEFAULT_LONGITUDE, }) order.value = res.details console.log("🚀 ~ order.value :", order.value ) @@ -515,44 +532,42 @@ * 确认一键续订 */ handleRenewReserve: async () => { - uni.showLoading({ title: '加载中...' }) + // uni.showLoading({ title: '加载中...' }) - try { - await renewTeaRoomOrder({ - id: orderId.value, - start_time: reserveTime.value[2][0], - end_time: reserveTime.value[2][reserveTime.value[2].length - 1], - renew_hour: reserveTime.value[3], - }) + // try { + // await renewTeaRoomOrder({ + // id: orderId.value, + // renew_hour: renewHour, + // }) - uni.$on('payment', params => { - uni.$off("payment") - if (params.result) { - OrderDetail.handleInit() - showRenewSuccessPopup.value = true - } else { - message.alert({ - title: '提示', - msg: '您已取消续订', - confirmButtonText: '确定', - confirmButtonProps: { - customClass: '!bg-[#4C9F44] !text-[#fff] !text-32rpx !leading-44rpx !rounded-8rpx', - } - }) - } - }) + // uni.$on('payment', params => { + // uni.$off("payment") + // if (params.result) { + // OrderDetail.handleInit() + // showRenewSuccessPopup.value = true + // } else { + // message.alert({ + // title: '提示', + // msg: '您已取消续订', + // confirmButtonText: '确定', + // confirmButtonProps: { + // customClass: '!bg-[#4C9F44] !text-[#fff] !text-32rpx !leading-44rpx !rounded-8rpx', + // } + // }) + // } + // }) - uni.hideLoading() - showRenewPopup.value = false + // uni.hideLoading() + // showRenewPopup.value = false - router.navigateTo( - `/pages/cashier/cashier?from=${OrderType.TeaRoomOrder}&renew=renewTeaRoomOrder&orderId=${orderId.value}&teaRoomName=${order.value.store_msg.name}&storeId=${order.value.store_msg.id}` - ) - } catch (err) { - uni.hideLoading() - toast.info('续订失败') - return false - } + // router.navigateTo( + // `/pages/cashier/cashier?from=${OrderType.TeaRoomOrder}&renew=renewTeaRoomOrder&orderId=${orderId.value}&teaRoomName=${order.value.store_msg.name}&storeId=${order.value.store_msg.id}` + // ) + // } catch (err) { + // uni.hideLoading() + // toast.info('续订失败') + // return false + // } }, /** @@ -587,9 +602,34 @@ /** * 修改一键续订时间 */ - handleChooseRenewTime: (item) => { - console.log("🚀 ~ item:", item) + handleChooseRenewTime: async (item) => { + uni.showLoading({ title: '加载中...', mask: true }) + try { + const res = await renewTeaRoomOrder({ + id: orderId.value, + renew_hour: item.value, + }) + + // 支付后的处理 + uni.$on('payment', params => { + uni.$off("payment") + if (params.result) { + toast.info('续订成功') + } else { + toast.info('续订失败') + } + OrderDetail.handleInit() + }) + + uni.hideLoading() + router.navigateTo( + `/pages/cashier/cashier?from=${OrderType.TeaRoomOrder}&renew=renewOrder&renewPrice=${res.price}&orderId=${res.order_id}&name=${order.value.store_msg.name}&storeId=${order.value.store_msg.id}` + ) + } catch(e) { + uni.hideLoading() + return false + } }, /** @@ -615,9 +655,9 @@ transferOrder(orderId.value).then(res => { console.log('开始转让订单4', res) - + uni.removeStorageSync('transferOrder') toast.success('订单接收成功') - router.redirectTo('/bundle/order/tea-room/order-list', 500) + router.switchTab('/pages/my/my', 500) }) } }).catch(() => { diff --git a/src/bundle/tea-room/detail.vue b/src/bundle/tea-room/detail.vue index 5650f18..bb007df 100644 --- a/src/bundle/tea-room/detail.vue +++ b/src/bundle/tea-room/detail.vue @@ -41,7 +41,7 @@ -¥{{ bill.groupCoupon || 0 }} - 会员八折 + 会员九折 -¥{{ bill.discount || 0 }} @@ -93,7 +93,7 @@ {{ teaRoomPackage.sold > 10 ? teaRoomPackage.sold + '+' : teaRoomPackage.sold }} @@ -144,6 +144,27 @@ + + + + 团购券 + + 团购券 + + + + + + + + + + + @@ -166,26 +187,6 @@ - - - 团购券 - - 团购券 - - - - - - - - - - - @@ -291,6 +292,7 @@ import PriceFormat from '@/components/PriceFormat.vue' import BookingTime from '@/components/BookingTime.vue' import { getUserInfo } from '@/api/user' + import { getTeaRoomGroupCouponList } from '@/api/tea-room' const OSS = inject('OSS') @@ -360,6 +362,8 @@ // 选择的优惠券 const selectedCoupon = ref<{id: number, name: string}>({id: 0, name: ''}) const selectedGroupCoupon = ref<{id: number, name: string}>({id: 0, name: ''}) + const selectCouponId = ref(0) + const selectGroupCouponId = ref(0) // 用户信息 const user = ref(null) @@ -370,6 +374,12 @@ // 页面类型 const pageType = ref('') + // 防止重复提交 + const isSubmitting = ref(false) + + // 团购套餐列表 + const groupCouponList = ref>([]) + onLoad((args) => { storeId.value = Number(args.storeId) id.value = Number(args.id) // 在茶室下这个id是包间ID,在团购下是套餐ID @@ -389,7 +399,6 @@ }) // 防止重复提交 - const isSubmitting = ref(false) const Detail = { /** @@ -421,8 +430,12 @@ // 获取门店余额 const balance = await getTeaRoomBalance({ store_id: storeId.value }) storeMoney.value = balance.data.money || 0 - }, + // 获取团购券 + const group = await getTeaRoomGroupCouponList({store_id: storeId.value, room_id: id.value}) + groupCouponList.value = group.list + }, + /* * 初始化套餐详情 */ @@ -468,6 +481,19 @@ toast.info('请选择预定时间') return } + + // 在选择优惠券之前需要先选择团购券 + if (type === CouponType.Discount && groupCouponList.value.length > 0 && selectedGroupCoupon.value.id == 0) { + toast.info('请先选择团购券') + return + } + + // 如果选择优惠券之前订单金额已经是0的话则不用再选择优惠券 + if (type === CouponType.Discount && selectedGroupCoupon.value.id > 0 && bill.value.total <= 0) { + toast.info('当前订单金额已为0,无需选择优惠券') + return + } + uni.$on('chooseCoupon', params => { console.log("🚀 ~ params:", params) uni.$off('chooseCoupon') @@ -475,9 +501,11 @@ if (type === CouponType.Discount) { selectedCoupon.value = {id: params.coupon.user_coupon_id, name: `${params.coupon.name}减${params.coupon.coupon_price}` } bill.value.coupon = params.coupon.coupon_price + selectCouponId.value = params.coupon.id // 这里的ID是在数据表自增的ID,保存下来是为了回显列表的,没有其他作用 } else { selectedGroupCoupon.value = {id: params.coupon.group_id, name: `团购券-${params.coupon?.title}` } bill.value.groupCoupon = params.coupon.coupon_price + selectGroupCouponId.value = params.coupon.id // 这里的ID是在数据表自增的ID,保存下来是为了回显列表的,没有其他作用 } Detail.handleCalculateTeaRoomPrice() @@ -485,7 +513,9 @@ // 获取预定了几个小时 const count = bill.value.service.num - router.navigateTo(`/bundle/coupon/coupon?id=${id.value}&numbers=${count}&type=${type}&storeId=${storeId.value}`) + console.log("🚀 ~ selectCouponId:", selectCouponId.value) + + router.navigateTo(`/bundle/coupon/coupon?id=${id.value}&numbers=${count}&type=${type}&storeId=${storeId.value}&couponId=${selectCouponId.value}&groupCouponId=${selectGroupCouponId.value}`) }, /** @@ -523,7 +553,7 @@ user_coupon_id: selectedCoupon.value.id || 0, hours: bill.value.service.num, group_coupon_id: selectedGroupCoupon.value.id || 0, - timeslot: timeSlots.value + timeslot: timeSlots.value.join(',') } res = await createTeaRoomOrder(params) } @@ -571,7 +601,7 @@ const res = await calculateTeaRoomPrice({ room_id: id.value, coupon_id: selectedCoupon.value.id || 0, - group_coupon_id: selectedGroupCoupon.value.id, + group_coupon_id: selectedGroupCoupon.value.id || 0, nums: bill.value.service.num, }) diff --git a/src/components/BookingTime.vue b/src/components/BookingTime.vue index 170db21..77eb63e 100644 --- a/src/components/BookingTime.vue +++ b/src/components/BookingTime.vue @@ -166,24 +166,8 @@ const day = d.getDate().toString().padStart(2, '0') return `${week}${m}/${day}` } - const formattedStartDates = formatDate(timestamps[0]) - const formattedEndtDates = formatDate(timestamps[timestamps.length - 1]) - - let dayTime = '' // 2025-12-18 - if (formattedStartDates == formattedEndtDates) { - dayTime = formattedStartDates - } else { - dayTime = `${formattedStartDates} 至 ${formattedEndtDates}` - } - - let dayTitle = '' // 周三03/18 - const formattedStartWeeks = formatWeek(timestamps[0]) - const formattedEndWeeks = formatWeek(timestamps[timestamps.length - 1]) - if (formattedStartWeeks == formattedEndWeeks) { - dayTitle = formattedStartWeeks - } else { - dayTitle = `${formattedStartWeeks} 至 ${formattedEndWeeks}` - } + const dayTime = formatDate(timestamps[0]) + const dayTitle = formatWeek(timestamps[0]) const data = { selectedDay: dayTime, diff --git a/src/components/coupon/GroupCoupon.vue b/src/components/coupon/GroupCoupon.vue index 8e71d82..f6c9e4a 100644 --- a/src/components/coupon/GroupCoupon.vue +++ b/src/components/coupon/GroupCoupon.vue @@ -50,7 +50,7 @@ */ const OSS = inject('OSS') - defineProps<{ + const props = defineProps<{ coupon: { id: number amount: number @@ -74,6 +74,7 @@ couponType: string onCheck: (id: number) => void }>() + diff --git a/src/components/order/ComboCard.vue b/src/components/order/ComboCard.vue index e79d9e1..9bc84eb 100644 --- a/src/components/order/ComboCard.vue +++ b/src/components/order/ComboCard.vue @@ -282,13 +282,13 @@ confirmButtonProps: { customClass: '!bg-[#4C9F44] !text-[#fff] !text-32rpx !leading-44rpx !rounded-8rpx', } - }).then((res) => { + }).then(async (res) => { if (res.action == 'confirm') { let orderType: number = 0 switch (source) { case OrderSource.Combo: orderType = PayOrderType.ComboRefund - let res = handleRefundOrderHooks(order.id, orderType) + let res = await handleRefundOrderHooks(order.id, orderType) if (res) { uni.$emit('refreshComboOrderList') } diff --git a/src/hooks/useOrder.ts b/src/hooks/useOrder.ts index b72a8ea..846c20a 100644 --- a/src/hooks/useOrder.ts +++ b/src/hooks/useOrder.ts @@ -95,9 +95,13 @@ export async function handleRefundOrderHooks(orderId: number, orderType: number) uni.showLoading({ title: '退款中...' }) const res = await submitRefund({ order_id: orderId, order_type: orderType }) await refund({ id: res.id }) - toast.info('退款成功') - uni.hideLoading() - return true + toast.info('退款成功,退款有延迟,请耐心等待,注意查收') + + // 退款延迟-1.5秒钟后再执行 + setTimeout(() => { + uni.hideLoading() + return true + }, 1500) } catch (error) { toast.info('退款失败') return false diff --git a/src/http/alova.ts b/src/http/alova.ts index 476cbbb..4eb8cdb 100644 --- a/src/http/alova.ts +++ b/src/http/alova.ts @@ -49,7 +49,6 @@ const alovaInstance = createAlova({ statesHook: VueHook, beforeRequest: onAuthRequired((method) => { - // console.log("🚀 ~ method:", method) // 设置默认 Content-Type method.config.headers = { ContentType: ContentTypeEnum.JSON, @@ -59,7 +58,6 @@ const alovaInstance = createAlova({ const { config } = method const ignoreAuth = !config.meta?.ignoreAuth - console.log('ignoreAuth===>', ignoreAuth) // 处理认证信息 自行处理认证问题 if (ignoreAuth) { // const token = 'getToken()' @@ -69,7 +67,6 @@ const alovaInstance = createAlova({ // method.config.headers.token = token; const token = uni.getStorageSync('token') - console.log("🚀 ~ token=auth:", token) if (!token) { toast.info('请先登录') router.navigateTo(import.meta.env.VITE_LOGIN_URL, 500) @@ -129,7 +126,7 @@ const alovaInstance = createAlova({ if (code !== ResultEnum.Success) { if (config.meta?.toast !== false) { - toast.warning(msg) + toast.info(msg) } throw new Error(`请求错误[${code}]:${msg}`) } diff --git a/src/pages/cashier/cashier.vue b/src/pages/cashier/cashier.vue index 1848275..4eaa9b0 100644 --- a/src/pages/cashier/cashier.vue +++ b/src/pages/cashier/cashier.vue @@ -41,14 +41,9 @@ - {{ isGroupBuying ? '立即购买' : '立即预定' }} - @@ -131,11 +126,13 @@ onLoad(async (args) => { orderId.value = Number(args.orderId) comboId.value = Number(args.cmoboId) || 0 + groupCouponId.value = Number(args.groupCouponId) || 0 + isGroupBuying.value = Number(args.isGroupBuying) || 0 + console.log("🚀 ~ isGroupBuying.value:", isGroupBuying.value) // 一键续订 - renew.value = args.renew || '' - isGroupBuying.value = Number(args.isGroupBuying) - groupCouponId.value = Number(args.groupCouponId) || 0 + renew.value = args?.renew || '' + renewPrice.value = Number(args?.renewPrice) || 0 // 获取门店余额 if (args.storeId) { @@ -149,7 +146,7 @@ if (from.value === OrderType.TeaRoomOrder) { // 茶室订单:预定、套餐团购两种方式 if (args.name && isGroupBuying.value == 0) { - title.value = `茶室预定-${args.name}` + title.value = renew.value ? `茶室续订-${args.name}` : `茶室预定-${args.name}` } else { title.value = `茶室套餐购买-${args.name}` hideStoreBalance.value = true // 隐藏门店余额支付 @@ -164,6 +161,8 @@ if (args.from == OrderType.TeaRoomOrder && args.orderId) { // 获取订单详情 if (isGroupBuying.value == 0) { + // 茶室预约订单走这个接口,续订的不需要 + if (renew.value) return Cashier.handleGetOrderDetails() } else { Cashier.handleGetRoomPackageDetails() @@ -206,9 +205,6 @@ }) order.value = res money.value = Number(res.details.order_amount) - - // 一键续订价格 - renewPrice.value = Number(res.details?.renew_dtime?.renew_price) || 0 }, /** diff --git a/src/pages/login/login.vue b/src/pages/login/login.vue index af44c62..1124e42 100644 --- a/src/pages/login/login.vue +++ b/src/pages/login/login.vue @@ -49,10 +49,10 @@ const agree = ref(false) const redirectUrl = ref('') + const redirectParams = ref('') onLoad((args) => { redirectUrl.value = args.redirect || '' - }) const Login = { @@ -73,8 +73,10 @@ uni.hideLoading() if (res) { const decoded = decodeURIComponent(redirectUrl.value) + console.log("🚀 ~ decoded:", decoded) if (decoded == '/bundle/order/tea-room/order-detail') { - uni.$emit('transferOrder') + const transferOrderParams = uni.getStorageSync('transferOrderParams') + uni.$emit('transferOrder', transferOrderParams) } toast.info('登录成功') @@ -83,14 +85,13 @@ } catch(error) { uni.hideLoading() } - }, // 手机登录 handleMobileLogin: async () => { const userStore = useUserStore() console.log("🚀 ~ userStore:", userStore) - const res = await userStore.mobileLogin('18868040087', 1, 2) + const res = await userStore.mobileLogin('15005837859', 1, 2) if (res) { uni.setStorageSync('latitude', '30.74744') uni.setStorageSync('longitude', '120.78483') diff --git a/src/router/interceptor.ts b/src/router/interceptor.ts index 70ff161..f0be3bc 100644 --- a/src/router/interceptor.ts +++ b/src/router/interceptor.ts @@ -24,8 +24,10 @@ export const navigateToInterceptor = { // 注意,这里的url是 '/' 开头的,如 '/pages/index/index',跟 'pages.json' 里面的 path 不同 // 增加对相对路径的处理,BY 网友 @ideal invoke({ url }: { url: string }) { + // console.log("🚀 ~ url:", url) // console.log(url) // /pages/route-interceptor/index?name=feige&age=30 let path = url.split('?')[0] + let params = url.split('?')[1] || '' // 处理相对路径 if (!path.startsWith('/')) { @@ -43,30 +45,29 @@ export const navigateToInterceptor = { else { needLoginPages = _needLoginPages } - const isNeedLogin = needLoginPages.includes(path) - console.log("🚀 ~ router: path:", path) - console.log("🚀 ~ router: needLoginPages:", needLoginPages) + const isNeedLogin = needLoginPages.includes(path) + // console.log("🚀 ~ router: path:", path) + // console.log("🚀 ~ router: needLoginPages:", needLoginPages) if (!isNeedLogin) { - console.log("🚀 ~ router2: isNeedLogin:") + // console.log("🚀 ~ router2: isNeedLogin:") return true } - console.log("🚀 ~ router2-1: isNeedLogin:") + // console.log("🚀 ~ router2-1: isNeedLogin:") const hasLogin = isLogined() - console.log("🚀 ~ hasLogin:", hasLogin) + // console.log("🚀 ~ hasLogin:", hasLogin) if (hasLogin) { - console.log("🚀 ~ router3:") + // console.log("🚀 ~ router3:") return true } - console.log("🚀 ~ router4:") - + // console.log("🚀 ~ router4:") tabbarStore.restorePrevIdx() - const redirectRoute = `${loginRoute}?redirect=${encodeURIComponent(url)}` - console.log("🚀 ~ redirectRoute:", redirectRoute) + const redirectRoute = `${loginRoute}?redirect=${encodeURIComponent(url)}&redirectParams=${encodeURIComponent(params)}` + // console.log("🚀 ~ redirectRoute:", redirectRoute) uni.navigateTo({ url: redirectRoute }) return false }, diff --git a/src/utils/order.ts b/src/utils/order.ts index 7670db6..7631363 100644 --- a/src/utils/order.ts +++ b/src/utils/order.ts @@ -305,7 +305,7 @@ export const TeaRoomPackageOrderStatusTextValue: Record = {