From 7503ac4f4228ec55122d23eeff78c6c5b71217db Mon Sep 17 00:00:00 2001 From: ISFP_T <68358856@qq.com> Date: Fri, 5 Jun 2026 17:15:06 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- env/.env.development | 4 +- src/locale/en.json | 61 ++++++++++++------- src/locale/zh-Hans.json | 61 ++++++++++++------- src/manifest.json | 4 +- src/pages-store/pages/order/checkout.vue | 38 ++++-------- src/pages-store/pages/order/index.vue | 4 +- src/pages-store/pages/store/dishes.vue | 6 +- src/pages-store/pages/store/index.vue | 11 +++- .../pages/cart/components/remove-store.vue | 2 +- src/pages-user/pages/cart/index.vue | 11 +--- .../order-swiper-list/order-swiper-list.vue | 2 +- src/pages-user/pages/coupon/index.vue | 2 +- src/pages-user/pages/member/join-member.vue | 5 +- src/pages/ai/chat/index.vue | 2 +- .../order-swiper-list/order-swiper-list.vue | 4 +- 15 files changed, 118 insertions(+), 99 deletions(-) diff --git a/env/.env.development b/env/.env.development index 4bf122d..e190d34 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.0.197:8889 +VITE_SERVER_BASEURL=https://howhowfresh.com/prod-api +#VITE_SERVER_BASEURL=http://192.168.0.197:8889 #VITE_SERVER_BASEURL=http://192.168.0.158: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 0064574..fe11350 100644 --- a/src/locale/en.json +++ b/src/locale/en.json @@ -283,14 +283,20 @@ "thinking": "Thinking...", "thinkingSearching": "AI is searching matching items...", "searchingGoods": "Searching products...", - "toolStatusWithSize": "Calling {tool}, total {size} items", + "toolStatusWithSizePrefix": "Calling ", + "toolStatusWithSizeMiddle": ", total ", + "toolStatusWithSizeSuffix": " items", "emptyResult": "Completed, but no displayable content returned.", "requestFailed": "Request failed, please try again later.", "recommendCountPrefix": "Recommended items: ", "recommendCountSuffix": "", "recommendSource": "Selected by AI in real time", - "summaryFound": "{count} items found", - "summaryBudget": "Estimate {estimate}, actual {actual}, saved {save}", + "summaryFoundPrefix": "", + "summaryFoundSuffix": " items found", + "summaryBudgetPrefix": "Estimate ", + "summaryBudgetMiddle1": ", actual ", + "summaryBudgetMiddle2": ", saved ", + "summaryBudgetSuffix": "", "unnamed": "Unnamed Item", "quickAdd": "Quick Add", "added": "Added", @@ -321,7 +327,8 @@ "activity-description": "Activity description", "activity-description-tip": "Share the QR code and invite new users to register successfully. Successful invitation", "collection": "My Collection", - "collectionBatchDeleteConfirm": "Remove {count} selected favorite(s)?", + "collectionBatchDeleteConfirmPrefix": "Remove ", + "collectionBatchDeleteConfirmSuffix": " selected favorite(s)?", "collectionBatchModeHint": "Select items to remove, then tap the trash again to delete", "collectionSelectFirst": "Please select favorites to remove", "complaintsAndSuggestions": "Complaints and suggestions", @@ -361,7 +368,8 @@ "confirmReady": "CONF/READY", "onTheWay": "OTW", "title": "History", - "totalItemCount": "{count} items" + "totalItemCountPrefix": "", + "totalItemCountSuffix": " items" }, "store": { "all": "All" @@ -466,15 +474,18 @@ "addCoupon": "Add coupon", "confirmOrder": "Confirm order", "couponInputPlaceholder": "Enter coupon code", - "deliverBefore": "Arriving before {time}", + "deliverBeforePrefix": "Arriving before ", + "deliverBeforeSuffix": "", "deliveryInfo": "Delivery", "driverTip": "Driver tip", "driverTipNote": "100% of your tip goes to the driver.", "fillAddressHint": "Add delivery address and contact", "freeTag": "Free", "localDelivery": "Local delivery", - "localDeliverySubtitle": "Delivered by {name}.", - "memberThanks": "Thanks for being a {name} member.", + "localDeliverySubtitlePrefix": "Delivered by ", + "localDeliverySubtitleSuffix": ".", + "memberThanksPrefix": "Thanks for being a ", + "memberThanksSuffix": " member.", "orderTotalLine": "Order total", "orderBreakdown": "Order details", "pay": "Pay", @@ -483,21 +494,24 @@ "pickupTitle": "Pickup", "scheduledDeliveryHint": "Delivery fee refunded if we miss the promised window.", "scheduledDeliveryTitle": "Scheduled delivery", - "scheduledDeliveryWindow": "By {time}", + "scheduledDeliveryWindowPrefix": "By ", + "scheduledDeliveryWindowSuffix": "", "scheduledDeliveryAddon": "+ $ 2.99", "scheduledDeliveryStandardTitle": "Standard delivery", "scheduledDeliveryStandardDesc": "Delivered in your selected window. No rush fee.", "serviceFee": "Service fee", "shippingFee": "Delivery fee", "subtotalBar": "Subtotal", - "subtotalOneLine": "Subtotal: $ {amount}", - "subtotalWithPieces": "Items total ({count})", - "itemsGoodsTotalWithPrice": "{count} items total ${amount}", + "subtotalOneLinePrefix": "Subtotal: $ ", + "subtotalWithPiecesPrefix": "Items total (", + "subtotalWithPiecesSuffix": ")", + "itemsGoodsTotalWithPriceMiddle": " items total $", "useDiscount": "Discounts", "appointmentDelivery": "Appointment delivery", "appointmentPickup": "Appointment pickup", "chooseTime": "Choose the time", - "chooseTimeForStore": "Please choose a delivery time for \"{name}\"", + "chooseTimeForStorePrefix": "Please choose a delivery time for \"", + "chooseTimeForStoreSuffix": "\"", "chooseTips": "Choose tips", "contactPhone": "Contact phone", "deliveryPreference": "Delivery preference", @@ -637,7 +651,7 @@ "allergen": "Allergen", "weeklySales": "Weekly sales", "forYou": "Recommended for you", - "memberPriceLabel": "{name} member price", + "memberPriceLabelSuffix": " member price", "dash": "—", "lbUnit": "lb", "hotSalesBadge": "Fresh picks", @@ -655,7 +669,7 @@ "tips3": "membership to enjoy a ", "tips4": "Enjoy delivery service over", "tips5": "Delivery fee", - "deliveryScheduleDays": "Delivery days: {days}", + "deliveryScheduleDaysPrefix": "Delivery days: ", "start": " and up", "title": "The minimum order amount for this store is", "toast": { @@ -714,8 +728,9 @@ "viewCart": "View Shopping Cart", "viewStore": "View Store", "localDelivery": "Local delivery", - "deliveryUnified": "Orders are delivered by {name}.", - "itemsTotalWithPrice": "{count} items total ${amount}", + "deliveryUnifiedPrefix": "Orders are delivered by ", + "deliveryUnifiedSuffix": ".", + "itemsTotalWithPriceMiddle": " items total $", "deliveryFeeLine": "Delivery", "serviceFeeLine": "Service fee", "subtotalLine": "Subtotal", @@ -726,7 +741,8 @@ "removeCartTitle": "Delete shopping cart?", "removeCartDesc": "Are you sure you want to delete this cart?", "removeProductTitle": "Remove the product?", - "removeProductDesc": "Are you sure you want to remove {name} from your shopping cart?", + "removeProductDescPrefix": "Are you sure you want to remove ", + "removeProductDescSuffix": " from your shopping cart?", "emptyTitle": "Your cart is empty", "emptyAction": "Explore Restaurants", "orderNoticeTitle": "Order Notice", @@ -759,7 +775,8 @@ "coupon": { "all-merchants": "Applicable to all merchants", "expiry-date": "Expiry date: ", - "merchant-only": "Only available at {name}", + "merchantOnlyPrefix": "Only available at ", + "merchantOnlySuffix": "", "merchant-specific": "For specific merchant use", "no-coupons": "You currently do not have any coupons", "redeem-now": "Redeem now", @@ -782,8 +799,10 @@ "paymentMethod": "Payment method", "renewalNow": "Renewal now", "weeks": "weeks", - "billedAnnually": "Billed at ${amount}/year", - "savingsPerYear": "It can save an additional ${amount} per year." + "billedAnnuallyPrefix": "Billed at $", + "billedAnnuallySuffix": "/year", + "savingsPerYearPrefix": "It can save an additional $", + "savingsPerYearSuffix": " per year." }, "member-center": { "chooseLike": "Choose 3 items you like", diff --git a/src/locale/zh-Hans.json b/src/locale/zh-Hans.json index 3666d53..3ef6c25 100644 --- a/src/locale/zh-Hans.json +++ b/src/locale/zh-Hans.json @@ -283,14 +283,20 @@ "thinking": "思考中...", "thinkingSearching": "AI 正在检索匹配商品...", "searchingGoods": "正在检索商品...", - "toolStatusWithSize": "正在调用 {tool},共 {size} 条", + "toolStatusWithSizePrefix": "正在调用 ", + "toolStatusWithSizeMiddle": ",共 ", + "toolStatusWithSizeSuffix": " 条", "emptyResult": "已完成,但未返回可展示内容。", "requestFailed": "请求失败,请稍后重试。", "recommendCountPrefix": "推荐商品 ", "recommendCountSuffix": " 件", "recommendSource": "来自 AI 实时筛选", - "summaryFound": "找到 {count} 件商品", - "summaryBudget": "预估 {estimate},实际 {actual},优惠 {save} 元", + "summaryFoundPrefix": "找到 ", + "summaryFoundSuffix": " 件商品", + "summaryBudgetPrefix": "预估 ", + "summaryBudgetMiddle1": ",实际 ", + "summaryBudgetMiddle2": ",优惠 ", + "summaryBudgetSuffix": " 元", "unnamed": "未命名商品", "quickAdd": "一键加购", "added": "已加购", @@ -321,7 +327,8 @@ "activity-description": "活动说明:", "activity-description-tip": "分享专属二维码邀请新用户注册即邀请成功。一起来注册体验点餐功能。", "collection": "我的收藏", - "collectionBatchDeleteConfirm": "确定删除已选中的 {count} 条收藏?", + "collectionBatchDeleteConfirmPrefix": "确定删除已选中的 ", + "collectionBatchDeleteConfirmSuffix": " 条收藏?", "collectionBatchModeHint": "请选择要删除的收藏,再次点击垃圾桶执行删除", "collectionSelectFirst": "请先选择要删除的收藏", "complaintsAndSuggestions": "投诉建议", @@ -361,7 +368,8 @@ "confirmReady": "确认/已准备", "onTheWay": "在路上", "title": "订单", - "totalItemCount": "共{count}件" + "totalItemCountPrefix": "共", + "totalItemCountSuffix": "件" }, "store": { "all": "全部" @@ -466,15 +474,18 @@ "addCoupon": "添加优惠券", "confirmOrder": "确认订单", "couponInputPlaceholder": "请输入优惠券", - "deliverBefore": "将在 {time} 之前送达", + "deliverBeforePrefix": "将在 ", + "deliverBeforeSuffix": " 之前送达", "deliveryInfo": "配送信息", "driverTip": "司机小费", "driverTipNote": "您所支付的小费 100% 归司机所有", "fillAddressHint": "请填写您的送货地址及联系方式", "freeTag": "免费", "localDelivery": "本地配送", - "localDeliverySubtitle": "商品将由 {name} 统一配送!", - "memberThanks": "感谢您成为 {name} 会员。", + "localDeliverySubtitlePrefix": "商品将由 ", + "localDeliverySubtitleSuffix": " 统一配送!", + "memberThanksPrefix": "感谢您成为 ", + "memberThanksSuffix": " 会员。", "orderTotalLine": "订单总计", "orderBreakdown": "订单明细", "pay": "付款", @@ -483,21 +494,24 @@ "pickupTitle": "门店自取", "scheduledDeliveryHint": "若未在承诺时间内送达,运费将予以退还。", "scheduledDeliveryTitle": "定时送达服务", - "scheduledDeliveryWindow": "{time} 前送达", + "scheduledDeliveryWindowPrefix": "", + "scheduledDeliveryWindowSuffix": " 前送达", "scheduledDeliveryAddon": "+ $ 2.99", "scheduledDeliveryStandardTitle": "标准送达", "scheduledDeliveryStandardDesc": "按预约时段配送,无加急费用。", "serviceFee": "服务费", "shippingFee": "运费", "subtotalBar": "小计", - "subtotalOneLine": "小计: $ {amount}", - "subtotalWithPieces": "总计({count}件)", - "itemsGoodsTotalWithPrice": "{count}件商品总共${amount}", + "subtotalOneLinePrefix": "小计: $ ", + "subtotalWithPiecesPrefix": "总计(", + "subtotalWithPiecesSuffix": "件)", + "itemsGoodsTotalWithPriceMiddle": "件商品总共$", "useDiscount": "使用优惠", "appointmentDelivery": "预约配送", "appointmentPickup": "预约自取", "chooseTime": "选择时间", - "chooseTimeForStore": "请为「{name}」选择配送时间", + "chooseTimeForStorePrefix": "请为「", + "chooseTimeForStoreSuffix": "」选择配送时间", "chooseTips": "选择小费", "contactPhone": "联系电话", "deliveryPreference": "配送偏好", @@ -637,7 +651,7 @@ "allergen": "过敏源", "weeklySales": "周销量", "forYou": "为您推荐", - "memberPriceLabel": "{name}会员价", + "memberPriceLabelSuffix": "会员价", "dash": "—", "lbUnit": "磅", "hotSalesBadge": "生鲜热销榜", @@ -655,7 +669,7 @@ "tips3": "会员可享受", "tips4": "最低起送金额", "tips5": "配送费", - "deliveryScheduleDays": "配送日:{days}", + "deliveryScheduleDaysPrefix": "配送日:", "start": "起", "title": "这家店的起送金额是", "toast": { @@ -714,8 +728,9 @@ "viewCart": "查看购物车", "viewStore": "查看店铺", "localDelivery": "本地配送", - "deliveryUnified": "商品将由 {name} 统一配送!", - "itemsTotalWithPrice": "{count}件商品总共${amount}", + "deliveryUnifiedPrefix": "商品将由 ", + "deliveryUnifiedSuffix": " 统一配送!", + "itemsTotalWithPriceMiddle": "件商品总共$", "deliveryFeeLine": "运费", "serviceFeeLine": "服务费", "subtotalLine": "小计", @@ -726,7 +741,8 @@ "removeCartTitle": "删除购物车?", "removeCartDesc": "确定要删除该店铺购物车吗?", "removeProductTitle": "移除商品?", - "removeProductDesc": "确定要将 {name} 从购物车中移除吗?", + "removeProductDescPrefix": "确定要将 ", + "removeProductDescSuffix": " 从购物车中移除吗?", "emptyTitle": "购物车为空", "emptyAction": "去逛逛餐厅", "orderNoticeTitle": "下单须知", @@ -759,7 +775,8 @@ "coupon": { "all-merchants": "适用于所有商户使用", "expiry-date": "到期日:", - "merchant-only": "仅{name}可用", + "merchantOnlyPrefix": "仅", + "merchantOnlySuffix": "可用", "merchant-specific": "指定商户使用", "no-coupons": "您目前没有任何优惠券", "redeem-now": "立即兑换", @@ -782,8 +799,10 @@ "paymentMethod": "支付方式", "renewalNow": "立即加入", "weeks": "周", - "billedAnnually": "按${amount}/年 结算", - "savingsPerYear": "它每年可以额外节省${amount}" + "billedAnnuallyPrefix": "按$", + "billedAnnuallySuffix": "/年 结算", + "savingsPerYearPrefix": "它每年可以额外节省$", + "savingsPerYearSuffix": "" }, "member-center": { "chooseLike": "选择您喜欢的3个项目", diff --git a/src/manifest.json b/src/manifest.json index 07165cb..5d33791 100644 --- a/src/manifest.json +++ b/src/manifest.json @@ -2,8 +2,8 @@ "name" : "CHEFLINK delivery", "appid" : "__UNI__06509BE", "description" : "", - "versionName" : "3.2.0", - "versionCode" : 320, + "versionName" : "3.2.2", + "versionCode" : 322, "transformPx" : false, /* 5+App特有相关 */ "app-plus" : { diff --git a/src/pages-store/pages/order/checkout.vue b/src/pages-store/pages/order/checkout.vue index 3c062de..0893b38 100644 --- a/src/pages-store/pages/order/checkout.vue +++ b/src/pages-store/pages/order/checkout.vue @@ -919,9 +919,7 @@ function handleGoSettle() { const ap = merchantAppointmentMap.value[String(m.id)]; if (!ap?.startTime || !ap?.endTime) { uni.showToast({ - title: t("pages-store.checkout.chooseTimeForStore", { - name: m.merchantName || "", - }), + title: `${t("pages-store.checkout.chooseTimeForStorePrefix")}${m.merchantName || ""}${t("pages-store.checkout.chooseTimeForStoreSuffix")}`, icon: "none", }); return; @@ -1417,44 +1415,34 @@ const scheduledServiceEndLabel = computed(() => { }); const localDeliverySubtitleText = computed(() => - t('pages-store.checkout.localDeliverySubtitle', { name: appDisplayName.value }) + `${t('pages-store.checkout.localDeliverySubtitlePrefix')}${appDisplayName.value}${t('pages-store.checkout.localDeliverySubtitleSuffix')}` ); const itemsGoodsTotalWithPriceText = computed(() => - t('pages-store.checkout.itemsGoodsTotalWithPrice', { - count: cartTotalPieceCount.value, - amount: displayGoodsAmountStr.value, - }) + `${cartTotalPieceCount.value}${t('pages-store.checkout.itemsGoodsTotalWithPriceMiddle')}${displayGoodsAmountStr.value}` ); const scheduledDeliveryWindowText = computed(() => - t('pages-store.checkout.scheduledDeliveryWindow', { - time: scheduledServiceEndLabel.value, - }) + `${t('pages-store.checkout.scheduledDeliveryWindowPrefix')}${scheduledServiceEndLabel.value}${t('pages-store.checkout.scheduledDeliveryWindowSuffix')}` ); -const deliverBeforeText = computed(() => - t('pages-store.checkout.deliverBefore', { - time: deliveryMethod.value === 0 - ? String(userSelectedDeliveryTimeDate.value ?? '') - : String(userSelectedSelfPickupTimeDate.value ?? ''), - }) -); +const deliverBeforeText = computed(() => { + const time = deliveryMethod.value === 0 + ? String(userSelectedDeliveryTimeDate.value ?? '') + : String(userSelectedSelfPickupTimeDate.value ?? ''); + return `${t('pages-store.checkout.deliverBeforePrefix')}${time}${t('pages-store.checkout.deliverBeforeSuffix')}`; +}); const memberThanksText = computed(() => - t('pages-store.checkout.memberThanks', { name: appDisplayName.value }) + `${t('pages-store.checkout.memberThanksPrefix')}${appDisplayName.value}${t('pages-store.checkout.memberThanksSuffix')}` ); const subtotalWithPiecesText = computed(() => - t('pages-store.checkout.subtotalWithPieces', { - count: cartTotalPieceCount.value, - }) + `${t('pages-store.checkout.subtotalWithPiecesPrefix')}${cartTotalPieceCount.value}${t('pages-store.checkout.subtotalWithPiecesSuffix')}` ); const subtotalOneLineText = computed(() => - t('pages-store.checkout.subtotalOneLine', { - amount: displayPaidStr.value, - }) + `${t('pages-store.checkout.subtotalOneLinePrefix')}${displayPaidStr.value}` ); const showAppointmentEntry = computed(() => { diff --git a/src/pages-store/pages/order/index.vue b/src/pages-store/pages/order/index.vue index 76e69b4..f0e21df 100644 --- a/src/pages-store/pages/order/index.vue +++ b/src/pages-store/pages/order/index.vue @@ -129,9 +129,7 @@ const orderTotalItemCount = computed(() => { }) const orderTotalItemCountText = computed(() => { - return t('pages.order.totalItemCount', { - count: orderTotalItemCount.value, - }) + return `${t('pages.order.totalItemCountPrefix')}${orderTotalItemCount.value}${t('pages.order.totalItemCountSuffix')}` }) const orderTotalPrice = computed(() => { diff --git a/src/pages-store/pages/store/dishes.vue b/src/pages-store/pages/store/dishes.vue index b72cfeb..4e7acda 100644 --- a/src/pages-store/pages/store/dishes.vue +++ b/src/pages-store/pages/store/dishes.vue @@ -320,9 +320,7 @@ const appDisplayName = computed(() => { }); const memberPriceLabelText = computed(() => - t("pages-store.store.dishDetail.memberPriceLabel", { - name: appDisplayName.value, - }) + `${appDisplayName.value}${t("pages-store.store.dishDetail.memberPriceLabelSuffix")}` ); function formatPriceText(val: unknown) { @@ -655,7 +653,7 @@ const deliveryScheduleDaysText = computed(() => { storeDetail.value?.deliveryScheduleTimes, (key) => t(key) ); - return days ? t("pages-store.store.deliveryScheduleDays", { days }) : ""; + return days ? `${t("pages-store.store.deliveryScheduleDaysPrefix")}${days}` : ""; }); function getStoreDetail() { appMerchantDetailMerchantIdGet({ diff --git a/src/pages-store/pages/store/index.vue b/src/pages-store/pages/store/index.vue index e5d8f73..c386e67 100644 --- a/src/pages-store/pages/store/index.vue +++ b/src/pages-store/pages/store/index.vue @@ -9,7 +9,7 @@ import { appCollectCollectPost, appMerchantCartCalculateSavingsPost, appMerchantCartListByMerchantIdPost, - appMerchantCartListMerchantPost, + appMerchantFeaturedListPost, appMerchantDetailMerchantIdGet, appMerchantDishDishIdGet, appMerchantMenuMenuListByUserPost, @@ -70,7 +70,12 @@ const deliveryNoticeTexts = computed(() => { async function loadMerchantList() { try { - const res = await appMerchantCartListMerchantPost({}) + const res = await appMerchantFeaturedListPost({ + body: { + lat: userStore.userLocation.latitude, + lng: userStore.userLocation.longitude, + }, + }) merchantList.value = Array.isArray(res?.data) ? res.data : [] } catch { merchantList.value = [] @@ -179,7 +184,7 @@ const deliveryScheduleDaysText = computed(() => { storeDetail.value?.deliveryScheduleTimes, (key) => t(key) ); - return days ? t("pages-store.store.deliveryScheduleDays", { days }) : ""; + return days ? `${t("pages-store.store.deliveryScheduleDaysPrefix")}${days}` : ""; }); // 闭店提示信息 const closingInfo = ref({ show: false, minutes: 0 }) diff --git a/src/pages-user/pages/cart/components/remove-store.vue b/src/pages-user/pages/cart/components/remove-store.vue index 99294a2..1b58c8f 100644 --- a/src/pages-user/pages/cart/components/remove-store.vue +++ b/src/pages-user/pages/cart/components/remove-store.vue @@ -6,7 +6,7 @@ const show = ref(false); const goodsName = ref(''); const removeProductDescText = computed(() => - t("pages-user.cart.removeProductDesc", { name: goodsName.value }) + `${t("pages-user.cart.removeProductDescPrefix")}${goodsName.value}${t("pages-user.cart.removeProductDescSuffix")}` ); function onOpen(title: string) { if (title) { diff --git a/src/pages-user/pages/cart/index.vue b/src/pages-user/pages/cart/index.vue index 3b76989..c8faca9 100644 --- a/src/pages-user/pages/cart/index.vue +++ b/src/pages-user/pages/cart/index.vue @@ -157,14 +157,11 @@ const selectedGoodsSubtotal = computed(() => { }); const deliveryUnifiedText = computed(() => - t("pages-user.cart.deliveryUnified", { name: appDisplayName.value }) + `${t("pages-user.cart.deliveryUnifiedPrefix")}${appDisplayName.value}${t("pages-user.cart.deliveryUnifiedSuffix")}` ); const itemsTotalWithPriceText = computed(() => - t("pages-user.cart.itemsTotalWithPrice", { - count: priceData.value.totalQuantity ?? selectedItemQty.value, - amount: selectedGoodsSubtotal.value, - }) + `${priceData.value.totalQuantity ?? selectedItemQty.value}${t("pages-user.cart.itemsTotalWithPriceMiddle")}${selectedGoodsSubtotal.value}` ); const merchantAppointmentMap = ref>({}); @@ -333,9 +330,7 @@ const goCheckoutNow = () => { const ap = merchantAppointmentMap.value[String(m.id)]; if (!ap?.startTime || !ap?.endTime) { uni.showToast({ - title: t("pages-store.checkout.chooseTimeForStore", { - name: m.merchantName || "", - }), + title: `${t("pages-store.checkout.chooseTimeForStorePrefix")}${m.merchantName || ""}${t("pages-store.checkout.chooseTimeForStoreSuffix")}`, icon: "none", }); return; diff --git a/src/pages-user/pages/collection/components/order-swiper-list/order-swiper-list.vue b/src/pages-user/pages/collection/components/order-swiper-list/order-swiper-list.vue index 32d8b13..a22545a 100644 --- a/src/pages-user/pages/collection/components/order-swiper-list/order-swiper-list.vue +++ b/src/pages-user/pages/collection/components/order-swiper-list/order-swiper-list.vue @@ -132,7 +132,7 @@ function runBatchDelete() { } uni.showModal({ title: t('common.prompt.system-prompt'), - content: t('pages.mine.collectionBatchDeleteConfirm', { count: selectedIds.value.length }), + content: `${t('pages.mine.collectionBatchDeleteConfirmPrefix')}${selectedIds.value.length}${t('pages.mine.collectionBatchDeleteConfirmSuffix')}`, success: (res) => { if (!res.confirm) return const targetType = typeList[props.index] as number diff --git a/src/pages-user/pages/coupon/index.vue b/src/pages-user/pages/coupon/index.vue index c38d624..91a49fa 100644 --- a/src/pages-user/pages/coupon/index.vue +++ b/src/pages-user/pages/coupon/index.vue @@ -45,7 +45,7 @@ function formatCouponDetail(item: any) { function formatCouponMerchantText(item: any) { const name = String(item?.merchantVo?.merchantName || '').trim() if (name) { - return t('pages-user.coupon.merchant-only', { name }) + return `${t('pages-user.coupon.merchantOnlyPrefix')}${name}${t('pages-user.coupon.merchantOnlySuffix')}` } return item?.snapshotMerchantId ? t('pages-user.coupon.merchant-specific') diff --git a/src/pages-user/pages/member/join-member.vue b/src/pages-user/pages/member/join-member.vue index 40b6c8f..5ba71d3 100644 --- a/src/pages-user/pages/member/join-member.vue +++ b/src/pages-user/pages/member/join-member.vue @@ -11,7 +11,6 @@ const configStore = useConfigStore() const userStore = useUserStore(); import {EventEnum} from "@/constant/enums"; import {appMembershipRechargePost, appUserCardSelectDefaultPost} from "@/service"; -import { tWithParams } from '@/utils/utils'; // 订阅选项 const subscriptionPlans = ref([]); @@ -213,7 +212,7 @@ function changeAutoSubscribe() { ({{ tWithParams('pages-user.member.billedAnnually', { amount: item.rechargeAmount }) }})({{ t('pages-user.member.billedAnnuallyPrefix') }}{{ item.rechargeAmount }}{{ t('pages-user.member.billedAnnuallySuffix') }}) @@ -240,7 +239,7 @@ function changeAutoSubscribe() { class="w-32rpx h-32rpx mr-16rpx shrink-0" mode="aspectFit" /> - {{ tWithParams('pages-user.member.savingsPerYear', { amount: `$${annualDiscount}` }) }} + {{ t('pages-user.member.savingsPerYearPrefix') }}{{ annualDiscount }}{{ t('pages-user.member.savingsPerYearSuffix') }} diff --git a/src/pages/ai/chat/index.vue b/src/pages/ai/chat/index.vue index 4260e47..2aed717 100644 --- a/src/pages/ai/chat/index.vue +++ b/src/pages/ai/chat/index.vue @@ -377,7 +377,7 @@ function handleSend() { const tool = String(payload?.tool || '') const size = payload?.size != null ? String(payload.size) : '' toolStatus.value = tool - ? t('pages.ai.chat.toolStatusWithSize', { tool, size: size || '-' }) + ? `${t('pages.ai.chat.toolStatusWithSizePrefix')}${tool}${t('pages.ai.chat.toolStatusWithSizeMiddle')}${size || '-'}${t('pages.ai.chat.toolStatusWithSizeSuffix')}` : t('pages.ai.chat.searchingGoods') thinkingStatus.value = t('pages.ai.chat.thinkingSearching') }, diff --git a/src/pages/home/components/tabbar-order/components/order-swiper-list/order-swiper-list.vue b/src/pages/home/components/tabbar-order/components/order-swiper-list/order-swiper-list.vue index 7082584..e355df6 100644 --- a/src/pages/home/components/tabbar-order/components/order-swiper-list/order-swiper-list.vue +++ b/src/pages/home/components/tabbar-order/components/order-swiper-list/order-swiper-list.vue @@ -102,9 +102,7 @@ function getTotalDishCount(item: MerchantOrderVo) { } function getTotalDishCountText(item: MerchantOrderVo) { - return t('pages.order.totalItemCount', { - count: getTotalDishCount(item), - }) + return `${t('pages.order.totalItemCountPrefix')}${getTotalDishCount(item)}${t('pages.order.totalItemCountSuffix')}` } function isSameCode(value: unknown, code: unknown) {