diff --git a/env/.env.development b/env/.env.development index a18b03b..e21bbc3 100644 --- a/env/.env.development +++ b/env/.env.development @@ -4,7 +4,7 @@ NODE_ENV=development VITE_DELETE_CONSOLE=false #本地环境 -VITE_SERVER_BASEURL=https://howhowfresh.com/prod-api -#VITE_SERVER_BASEURL=http://192.168.5.36:8080 +#VITE_SERVER_BASEURL=https://howhowfresh.com/prod-api +VITE_SERVER_BASEURL=http://192.168.5.58:8080 #VITE_SERVER_BASEURL=http://192.168.0.148:8888 #VITE_SERVER_BASEURL=http://liuyao.nat100.top/meiguowaimai \ No newline at end of file diff --git a/src/locale/en.json b/src/locale/en.json index 01d1e61..76f079e 100644 --- a/src/locale/en.json +++ b/src/locale/en.json @@ -320,6 +320,7 @@ "input-placeholder": "Email Address/Phone", "prompt": { "confirm-email-verify": "The email address was inconsistent twice", + "confirm-password-verify": "The passwords do not match", "email-address-verify": "Please enter the correct email address", "first-name": "Please enter a name", "last-name": "Please enter your last name", @@ -342,6 +343,7 @@ }, "sign-up": { "confirm-email": "Confirm email", + "confirm-password": "Confirm password", "first-name": "First name", "last-name": "Last name", "password": "Password", diff --git a/src/locale/zh-Hans.json b/src/locale/zh-Hans.json index 6e94c50..67b5eb8 100644 --- a/src/locale/zh-Hans.json +++ b/src/locale/zh-Hans.json @@ -320,6 +320,7 @@ "input-placeholder": "邮箱地址/手机号", "prompt": { "confirm-email-verify": "两次邮箱不一致", + "confirm-password-verify": "两次密码不一致", "email-address-verify": "请输入正确的邮箱地址", "first-name": "请输入名字", "last-name": "请输入姓氏", @@ -342,6 +343,7 @@ }, "sign-up": { "confirm-email": "确认邮箱", + "confirm-password": "确认密码", "first-name": "名", "last-name": "姓", "password": "密码", diff --git a/src/manifest.json b/src/manifest.json index 4dec964..aabdacc 100644 --- a/src/manifest.json +++ b/src/manifest.json @@ -2,8 +2,8 @@ "name" : "CHEFLINK delivery", "appid" : "__UNI__06509BE", "description" : "", - "versionName" : "1.0.26", - "versionCode" : 126, + "versionName" : "1.0.28", + "versionCode" : 128, "transformPx" : false, /* 5+App特有相关 */ "app-plus" : { diff --git a/src/pages-login/pages/login/index.vue b/src/pages-login/pages/login/index.vue index b34b731..864a057 100644 --- a/src/pages-login/pages/login/index.vue +++ b/src/pages-login/pages/login/index.vue @@ -70,6 +70,22 @@ const handleSubmit = R.when(checkForm, debounce(Config.debounceLongTime, submit, function navigateTo(url: string) { + // 从“密码页”去注册时,尽量复用上一页输入的邮箱/手机号 + if (url.includes('/pages-login/pages/sign-up/index')) { + const type = logicStore.loginForm.type + logicStore.resetRegisterForm() + if (type === 'email' && logicStore.loginForm.email) { + logicStore.registerForm.type = 'email' + logicStore.registerForm.email = logicStore.loginForm.email + logicStore.registerForm.confirmEmail = logicStore.loginForm.email + } else if (type === 'phone' && logicStore.loginForm.phone) { + logicStore.registerForm.type = 'phone' + logicStore.registerForm.phone = logicStore.loginForm.phone + logicStore.registerForm.areaCode = logicStore.loginForm.areaCode + } + uni.navigateTo({url}); + return + } logicStore.resetRegisterForm() uni.navigateTo({url}); } diff --git a/src/pages-login/pages/sign-up/index.vue b/src/pages-login/pages/sign-up/index.vue index 04113da..978b9f2 100644 --- a/src/pages-login/pages/sign-up/index.vue +++ b/src/pages-login/pages/sign-up/index.vue @@ -20,21 +20,38 @@ const columns = ref(Config.phoneCodeList); const isAgreed = ref(false) +const EmailRegisterSchema = z.object({ + firstName: z.string().min(1, {message: t('pages-login.index.prompt.first-name')}), + surname: z.string().min(1, {message: t('pages-login.index.prompt.last-name')}), + email: z.string().min(1, {message: t('pages-login.index.prompt.email-address-verify')}).email({message: t('pages-login.index.prompt.email-address-verify')}), + confirmEmail: z.string().min(1, {message: t('pages-login.index.prompt.email-address-verify')}).email({message: t('pages-login.index.prompt.email-address-verify')}), + loginPwd: z.string().min(1, {message: t('pages-login.index.prompt.password')}), + confirmLoginPwd: z.string().min(1, {message: t('pages-login.index.prompt.password')}), +}) + .refine((data) => data.email === data.confirmEmail, { + path: ['confirmEmail'], + message: t('pages-login.index.prompt.confirm-email-verify') + }) + .refine((data) => data.loginPwd === data.confirmLoginPwd, { + path: ['confirmLoginPwd'], + message: t('pages-login.index.prompt.confirm-password-verify') + }) -const FormSchema = z.object({ +const PhoneRegisterSchema = z.object({ firstName: z.string().min(1, {message: t('pages-login.index.prompt.first-name')}), surname: z.string().min(1, {message: t('pages-login.index.prompt.last-name')}), phone: z.string().min(1, {message: t('pages-login.index.prompt.phone-number')}).regex(/^\d{6,11}$/, {message: t('pages-login.index.prompt.phone-number-verify')}), loginPwd: z.string().min(1, {message: t('pages-login.index.prompt.password')}), - email: z.string().email({message: t('pages-login.index.prompt.email-address-verify')}), - confirmEmail: z.string().email({message: t('pages-login.index.prompt.email-address-verify')}), -}).refine((data) => data.email === data.confirmEmail, { - path: ['confirmEmail'], - message: t('pages-login.index.prompt.confirm-email-verify') + confirmLoginPwd: z.string().min(1, {message: t('pages-login.index.prompt.password')}), +}).refine((data) => data.loginPwd === data.confirmLoginPwd, { + path: ['confirmLoginPwd'], + message: t('pages-login.index.prompt.confirm-password-verify') }) function checkForm(): boolean { - const validateFormField = FormSchema.safeParse(logicStore.registerForm) + const type = logicStore.registerForm.type + const schema = type === 'phone' ? PhoneRegisterSchema : EmailRegisterSchema + const validateFormField = schema.safeParse(logicStore.registerForm) if (!validateFormField.success) { const fieldErrorMessage = validateFormField.error.flatten().fieldErrors const errorMessage: string | undefined = R.path([0, 0], R.values(fieldErrorMessage)) @@ -63,15 +80,21 @@ const btnLoading = ref(false) function codeSubmit() { btnLoading.value = true // console.log(data) + const { + confirmEmail, + confirmLoginPwd, + ...rest + } = logicStore.registerForm as any appUserRegisterPost({ body: { - ...logicStore.registerForm, - phone: logicStore.registerForm.phone, + ...rest, + // 后端接收“确认密码”字段名为 newPwd + newPwd: confirmLoginPwd, areaCode: areaCode.value, // captcha: data.code, // uuid: data.uuid, userPort: Config.userPort, // 登录端口2 商户端 - } + } as any }).then((res) => { userStore.token = res.data.token; logicStore.reset() @@ -120,12 +143,17 @@ function navigateTo(url: string) { const emailIsReadonly = ref(false) const phoneIsReadonly = ref(false) onMounted(() => { - const {email, type} = logicStore.registerForm + const {email, confirmEmail, phone, type} = logicStore.registerForm if (type === 'phone') { - // phoneIsReadonly.value = true + phoneIsReadonly.value = !!phone + emailIsReadonly.value = false } if (type === 'email') { - // emailIsReadonly.value = true + emailIsReadonly.value = !!(email || confirmEmail) + phoneIsReadonly.value = false + if (!logicStore.registerForm.email && logicStore.registerForm.confirmEmail) { + logicStore.registerForm.email = logicStore.registerForm.confirmEmail + } } }) @@ -139,7 +167,7 @@ onMounted(() => { - + {{ t("common.email") }} { - + {{ t("pages-login.sign-up.confirm-email") }} @@ -198,6 +226,25 @@ onMounted(() => { + + + {{ t("pages-login.sign-up.confirm-password") }} + + + + + {{ t("pages-login.sign-up.first-name") }} @@ -235,7 +282,7 @@ onMounted(() => { - + {{ t("pages-login.sign-up.phone-number") }} diff --git a/src/pages-login/store/module/logic.ts b/src/pages-login/store/module/logic.ts index fc505c0..bcdf0e1 100644 --- a/src/pages-login/store/module/logic.ts +++ b/src/pages-login/store/module/logic.ts @@ -13,9 +13,10 @@ export const useLogicStore = defineStore('login-logic', () => { email: '', confirmEmail: '', firstName: '', - lastName: '', + surname: '', phone: '', loginPwd: '', + confirmLoginPwd: '', areaCode: defaultAreaCode.value, captcha: "", }) @@ -81,6 +82,7 @@ export const useLogicStore = defineStore('login-logic', () => { surname: '', phone: '', loginPwd: '', + confirmLoginPwd: '', areaCode: defaultAreaCode.value, captcha: "", } diff --git a/src/pages-store/pages/order/checkout.vue b/src/pages-store/pages/order/checkout.vue index 3b19742..1a38c94 100644 --- a/src/pages-store/pages/order/checkout.vue +++ b/src/pages-store/pages/order/checkout.vue @@ -170,7 +170,7 @@ function handleClickSegmented(index: number) { deliveryMethod.value = index // 重置配送类型为预约配送 deliveryTimeType.value = 2 - appMerchantOrderCalculatePriceCart() + void appMerchantOrderCalculatePriceCart() } } @@ -205,7 +205,7 @@ function selectedTipChange(item: any) { if(item.value === selectedTipIndex.value) return diyTipValue.value = '' selectedTipIndex.value = item.value - appMerchantOrderCalculatePriceCart() + void appMerchantOrderCalculatePriceCart() } // 批量订单:选择某个店铺的小费 @@ -213,7 +213,7 @@ function selectedTipChangeForMerchant(merchantId: string, item: any) { if(item.value === merchantTipIndexMap.value[merchantId]) return merchantDiyTipValueMap.value[merchantId] = '' merchantTipIndexMap.value[merchantId] = item.value - appMerchantOrderCalculatePriceCart() + void appMerchantOrderCalculatePriceCart() } // 单个订单的自定义小费确认(金额,单位:美元) @@ -227,7 +227,7 @@ function handleConfirmTip() { if (selectedTipIndex.value !== 0) { selectedTipIndex.value = 0 } - appMerchantOrderCalculatePriceCart() + void appMerchantOrderCalculatePriceCart() } // 批量订单:确认某个店铺的自定义小费(金额,单位:美元) @@ -240,7 +240,7 @@ function handleConfirmTipForMerchant(merchantId: string) { if (merchantTipIndexMap.value[merchantId] !== 0) { merchantTipIndexMap.value[merchantId] = 0 } - appMerchantOrderCalculatePriceCart() + void appMerchantOrderCalculatePriceCart() } // 是否选择了配送周卡 @@ -249,7 +249,7 @@ const isWeeklyDelivery = ref(false); const toggleWeeklyDelivery = (value: boolean) => { if(value === isWeeklyDelivery.value) return isWeeklyDelivery.value = value; - appMerchantOrderCalculatePriceCart() + void appMerchantOrderCalculatePriceCart() }; // 价格明细 @@ -297,50 +297,67 @@ const formData = ref({ }) // 是否需要餐具 const needTableware = ref(false) -onLoad((options: any)=> { + +async function safeAwait(label: string, task: () => Promise): Promise { + try { + return await task() + } catch (e) { + console.error(`[checkout] ${label} failed`, e) + return undefined + } +} +onLoad(async (options: any)=> { loading.value = true - - // 判断是批量下单还是普通下单 - if(options.type == 'batch' && options.cartIds) { - // 批量下单模式 - orderType.value = 'batch' - batchCartIds.value = options.cartIds.split(',') - console.log("下单类型",options.type); - - // 默认取用户信息中的手机号作为收货手机号 - formData.value.phone = userStore.userInfo.phone || '' - contact.value.areaCode = userStore.userInfo.areaCode || '' - // 获取用户地址列表 - getAddressList() - // 查询批量购物车详情 - getBatchCartInfo() - // 查询用户默认信用卡 - appUserCardSelectDefault() - } else if(options.storeId) { - // 普通下单模式 - orderType.value = 'normal' - storeId.value = options.storeId as string - formData.value.orderRemark = options.orderRemark as string - needTableware.value = options.needTableware === 'true' + try { + // 判断是批量下单还是普通下单 + if(options.type == 'batch' && options.cartIds) { + // 批量下单模式 + orderType.value = 'batch' + batchCartIds.value = options.cartIds.split(',') + console.log("下单类型",options.type); - // 默认取用户信息中的手机号作为收货手机号 - formData.value.phone = userStore.userInfo.phone || '' - contact.value.areaCode = userStore.userInfo.areaCode || '' - // 获取用户地址列表 - getAddressList() - // 查询当前店铺购物车详情 - getCartInfo() - // 获取商家详情信息 - getStoreDetail() - // 查询用户默认信用卡 - appUserCardSelectDefault() + // 默认取用户信息中的手机号作为收货手机号 + formData.value.phone = userStore.userInfo.phone || '' + contact.value.areaCode = userStore.userInfo.areaCode || '' + + // 严格按顺序执行 + await safeAwait('getAddressList', getAddressList) + await safeAwait('getBatchCartInfo', getBatchCartInfo) + await safeAwait('appUserCardSelectDefault', appUserCardSelectDefault) + } else if(options.storeId) { + // 普通下单模式 + orderType.value = 'normal' + storeId.value = options.storeId as string + formData.value.orderRemark = options.orderRemark as string + + needTableware.value = options.needTableware === 'true' + + // 默认取用户信息中的手机号作为收货手机号 + formData.value.phone = userStore.userInfo.phone || '' + contact.value.areaCode = userStore.userInfo.areaCode || '' + + // 严格按顺序执行 + await safeAwait('getAddressList', getAddressList) + await safeAwait('getCartInfo', getCartInfo) + await safeAwait('getStoreDetail', getStoreDetail) + await safeAwait('appUserCardSelectDefault', appUserCardSelectDefault) + } + } finally { + loading.value = false } }) -onShow(()=> { - // 刷新购物车列表 - getAddressList() +onShow(async ()=> { + // 刷新地址,并在必要时重新计算价格 + await safeAwait('getAddressList', getAddressList) + const hasCart = + orderType.value === 'batch' + ? (batchCartIds.value?.length || 0) > 0 + : (cartDataList.value?.length || 0) > 0 + if (hasCart) { + await safeAwait('appMerchantOrderCalculatePriceCart', appMerchantOrderCalculatePriceCart) + } }) // 页面加载状态 @@ -360,24 +377,21 @@ onMounted(() => { }); const cartDataList = ref([]) -function getCartInfo() { - appMerchantCartListByMerchantIdPost({ +async function getCartInfo() { + const res: any = await appMerchantCartListByMerchantIdPost({ params: { merchantId: storeId.value, } - }).then((res: any)=> { - console.log('购物车列表', res) - cartDataList.value = res.data - - // 购物车有菜品,查询菜品会员折扣价 - if(cartDataList.value.length > 0) { - appMerchantCartCalculateSavings() - // 查询购物车下单价格 - appMerchantOrderCalculatePriceCart() - } - }).finally(()=> { - loading.value = false }) + + console.log('购物车列表', res) + cartDataList.value = res.data + + // 购物车有菜品,查询菜品会员折扣价 + 计算价格(严格串行) + if(cartDataList.value.length > 0) { + await appMerchantCartCalculateSavings() + await appMerchantOrderCalculatePriceCart() + } } // 批量下单:查询购物车详情 @@ -430,30 +444,26 @@ async function getBatchCartInfo() { cartDataList.value = results.filter(item => item !== null); console.log('批量模式-最终购物车数据', cartDataList.value); - // 查询菜品会员折扣价 + // 批量模式:查询菜品会员折扣价 + 计算价格(严格串行) if(cartIds.length > 0) { - appMerchantCartCalculateSavings() - // 注意:价格计算会在地址加载完成后自动调用 - // 这里不需要立即调用 appMerchantOrderCalculatePriceCart() + await appMerchantCartCalculateSavings() + await appMerchantOrderCalculatePriceCart() } } catch (error) { console.error('获取批量购物车详情失败', error) cartDataList.value = []; - } finally { - loading.value = false } } // 查询菜品会员折扣价 const cartSavingsData = ref({}) -function appMerchantCartCalculateSavings() { +async function appMerchantCartCalculateSavings() { const cartIds = orderType.value == 'batch' ? batchCartIds.value : cartDataList.value.map(item => item.id) - appMerchantCartCalculateSavingsPost({ + const res: any = await appMerchantCartCalculateSavingsPost({ body: cartIds - }).then(res=> { - console.log('菜品会员折扣价', res) - cartSavingsData.value = res.data }) + console.log('菜品会员折扣价', res) + cartSavingsData.value = res.data } // 获取商家详情信息 @@ -470,58 +480,56 @@ const storeIsSelfPickup = computed(()=> { const storeDetail = ref({}) // 用户距离商家的距离信息 const storeDistance = ref(null) -function getStoreDetail() { - appMerchantDetailMerchantIdGet({ +async function getStoreDetail() { + const res: any = await appMerchantDetailMerchantIdGet({ params: { merchantId: storeId.value, } - }).then((res: any) => { - console.log('商家详情', res) - storeDetail.value = res.data as MerchantVo - - // 配送时间(是否支持配送) - if(+storeDetail.value.deliveryService === 1) { - // 配送时间 - deliveryMinutes.value = res.data.deliveryTime || 0 - } - if(+storeDetail.value.selfPickup === 1) { - // 自提时间 - selfPickupMinutes.value = res.data.pickupTime - } - // 商户的经纬度存在,并且用户的经纬度也存在 - if(res.data.latitude && res.data.longitude && userStore.userLocation.latitude && userStore.userLocation.longitude) { - let distance = getDistanceInMiles(res.data.latitude, res.data.longitude, userStore.userLocation.latitude, userStore.userLocation.longitude) - console.log('距离商家距离', distance) - storeDistance.value = distance - } - - // 判断配送和自取的开通状态 - const hasDelivery = +storeDetail.value.deliveryService === 1 - const hasPickup = +storeDetail.value.selfPickup === 1 - - if (!hasDelivery && !hasPickup) { - // 两个都没开通,不显示切换组件 - showDeliverySwitch.value = false - } else if (!hasDelivery && hasPickup) { - // 只开通自取,默认选中自取 - deliveryMethod.value = 1 - showDeliverySwitch.value = true - } else if (hasDelivery && !hasPickup) { - // 只开通配送,默认选中配送 - deliveryMethod.value = 0 - showDeliverySwitch.value = true - } else { - // 两个都开通,默认选中配送 - deliveryMethod.value = 0 - showDeliverySwitch.value = true - } - }).catch((error) => { - console.error('获取商家详情失败:', error); }) + + console.log('商家详情', res) + storeDetail.value = res.data as MerchantVo + + // 配送时间(是否支持配送) + if(+storeDetail.value.deliveryService === 1) { + // 配送时间 + deliveryMinutes.value = res.data.deliveryTime || 0 + } + if(+storeDetail.value.selfPickup === 1) { + // 自提时间 + selfPickupMinutes.value = res.data.pickupTime + } + // 商户的经纬度存在,并且用户的经纬度也存在 + if(res.data.latitude && res.data.longitude && userStore.userLocation.latitude && userStore.userLocation.longitude) { + let distance = getDistanceInMiles(res.data.latitude, res.data.longitude, userStore.userLocation.latitude, userStore.userLocation.longitude) + console.log('距离商家距离', distance) + storeDistance.value = distance + } + + // 判断配送和自取的开通状态 + const hasDelivery = +storeDetail.value.deliveryService === 1 + const hasPickup = +storeDetail.value.selfPickup === 1 + + if (!hasDelivery && !hasPickup) { + // 两个都没开通,不显示切换组件 + showDeliverySwitch.value = false + } else if (!hasDelivery && hasPickup) { + // 只开通自取,默认选中自取 + deliveryMethod.value = 1 + showDeliverySwitch.value = true + } else if (hasDelivery && !hasPickup) { + // 只开通配送,默认选中配送 + deliveryMethod.value = 0 + showDeliverySwitch.value = true + } else { + // 两个都开通,默认选中配送 + deliveryMethod.value = 0 + showDeliverySwitch.value = true + } } const priceData = ref({}) -function appMerchantOrderCalculatePriceCart() { +async function appMerchantOrderCalculatePriceCart() { // 优先使用新选择的地址id const targetAddressId = selectedAddressId.value || currentAddressId.value // if(!targetAddressId) return @@ -561,7 +569,7 @@ function appMerchantOrderCalculatePriceCart() { } }) - appMerchantOrderCalculatePriceCartBatchPost({ + const res: any = await appMerchantOrderCalculatePriceCartBatchPost({ body: { addressId: targetAddressId, cartIds: cartIds, @@ -571,10 +579,9 @@ function appMerchantOrderCalculatePriceCart() { phone: formData.value.phone, areaCode: contact.value.areaCode, } - }).then(res=> { - console.log('批量购物车下单价格', res) - priceData.value = res.data }) + console.log('批量购物车下单价格', res) + priceData.value = res.data } else { // 普通模式使用单店铺计算价格接口 // 计算小费金额(美元) @@ -588,7 +595,7 @@ function appMerchantOrderCalculatePriceCart() { } } - appMerchantOrderCalculatePriceCartPost({ + const res: any = await appMerchantOrderCalculatePriceCartPost({ body: { addressId: targetAddressId, cartIds: cartIds, @@ -599,10 +606,9 @@ function appMerchantOrderCalculatePriceCart() { phone: formData.value.phone, areaCode: contact.value.areaCode, } - }).then(res=> { - console.log('购物车下单价格', res) - priceData.value = res.data }) + console.log('购物车下单价格', res) + priceData.value = res.data } } @@ -620,36 +626,30 @@ const addressInfo = computed(()=> { return addressesList.value.find(item => String(item.id) === String(targetId)) || {}; }); -function getAddressList() { - appUserAddressListPost({ +async function getAddressList() { + const res: any = await appUserAddressListPost({ params: { pageNum: 1, pageSize: 100, } - }).then(res => { - console.log('获取用户地址列表', res) - addressesList.value = res.rows - if(addressesList.value.length > 0) { - currentAddressId.value = addressesList.value[0].id - - let data = addressesList.value[0] - - // 回显送达偏好(deliveryType: 1-亲自送达 2-放门口) - if(+data.deliveryType === 1) { - visitMethod.value.label = t('components.visit.leaveItToMePersonally') - visitMethod.value.value = 0 - } - if(+data.deliveryType === 2) { - visitMethod.value.label = t('components.visit.putItAtTheDoor') - visitMethod.value.value = 1 - } - - // 如果是批量模式,地址加载完成后重新计算价格 - if(orderType.value === 'batch') { - appMerchantOrderCalculatePriceCart() - } - } }) + console.log('获取用户地址列表', res) + addressesList.value = res.rows + if(addressesList.value.length > 0) { + currentAddressId.value = addressesList.value[0].id + + let data = addressesList.value[0] + + // 回显送达偏好(deliveryType: 1-亲自送达 2-放门口) + if(+data.deliveryType === 1) { + visitMethod.value.label = t('components.visit.leaveItToMePersonally') + visitMethod.value.value = 0 + } + if(+data.deliveryType === 2) { + visitMethod.value.label = t('components.visit.putItAtTheDoor') + visitMethod.value.value = 1 + } + } } function chooseAddress() { @@ -675,17 +675,18 @@ function chooseAddress() { } // 重新计算价格 - appMerchantOrderCalculatePriceCart() + void appMerchantOrderCalculatePriceCart() }, }, }) } function appUserCardSelectDefault() { - appUserCardSelectDefaultPost({}).then(res=> { + return appUserCardSelectDefaultPost({}).then((res: any)=> { console.log('查询用户默认信用卡', res) payMethodOptions.value.cardId = res.data?.cardId || '' payMethodOptions.value.cardNumber = res.data?.cardNumber || '' + return res }) } @@ -1078,7 +1079,7 @@ function navigateToCoupon(merchantId?: string) { couponInfo.value = data } // 重新计算价格 - appMerchantOrderCalculatePriceCart() + void appMerchantOrderCalculatePriceCart() } }, }, @@ -1093,7 +1094,7 @@ function handleClose(merchantId?: string) { couponInfo.value = null } // 重新计算价格 - appMerchantOrderCalculatePriceCart() + void appMerchantOrderCalculatePriceCart() } diff --git a/src/pages-store/pages/store/dishes.vue b/src/pages-store/pages/store/dishes.vue index 5e99ed9..33e82c4 100644 --- a/src/pages-store/pages/store/dishes.vue +++ b/src/pages-store/pages/store/dishes.vue @@ -307,7 +307,7 @@ function getStoreDetail() { US${{ dishDetailData?.discountPrice }} US${{ dishDetailData?.originalPrice }} - + {{ t('pages-store.store.members') }}: ${{ dishDetailData?.memberPrice }} diff --git a/src/pages-store/pages/store/index.vue b/src/pages-store/pages/store/index.vue index d6bc590..81e76e1 100644 --- a/src/pages-store/pages/store/index.vue +++ b/src/pages-store/pages/store/index.vue @@ -695,7 +695,10 @@ function handleShare() { US${{ item.discountPrice }} - + {{ t('pages-store.store.members') }}: ${{ item.memberPrice }} diff --git a/src/pages-user/pages/cart/store-cart.vue b/src/pages-user/pages/cart/store-cart.vue index 488f2c4..1c7b925 100644 --- a/src/pages-user/pages/cart/store-cart.vue +++ b/src/pages-user/pages/cart/store-cart.vue @@ -311,7 +311,7 @@ function navigateTo(url: string) { US${{ item.merchantDishVo.discountPrice }} - {{ t('pages-store.store.members') }}: ${{ item.merchantDishVo.memberPrice }} + + {{ t('pages-store.store.members') }}: ${{ item.merchantDishVo.memberPrice }} + diff --git a/src/pages/home/components/tabbar-home/components/featured-on/index.vue b/src/pages/home/components/tabbar-home/components/featured-on/index.vue index 1df803f..fd3905c 100644 --- a/src/pages/home/components/tabbar-home/components/featured-on/index.vue +++ b/src/pages/home/components/tabbar-home/components/featured-on/index.vue @@ -1,7 +1,7 @@