feat:国际化多语言适配

This commit is contained in:
2025-10-29 15:48:40 +08:00
parent 985d739324
commit 3d67dc928d
41 changed files with 2636 additions and 2801 deletions
+42 -32
View File
@@ -10,12 +10,12 @@
<!-- 订单列表 -->
<view class="order-list">
<view class="empty-state" v-if="orderList.length === 0">
<view class="empty-icon">
<image src="/static/orderList.png" mode="aspectFill" class="empty-icon"></image>
</view>
<text class="empty-text">暂无订单记录</text>
<view class="empty-state" v-if="orderList.length === 0">
<view class="empty-icon">
<image src="/static/orderList.png" mode="aspectFill" class="empty-icon"></image>
</view>
<text class="empty-text">{{ $t('order.noOrderRecord') }}</text>
</view>
<OrderItemCard
v-for="(order, index) in orderList"
@@ -56,6 +56,16 @@
import {
URL
} from '../../config/url.js';
import { useI18n } from '@/utils/i18n.js'
const { t: $t } = useI18n()
// 设置页面标题
onMounted(() => {
uni.setNavigationBarTitle({
title: $t('order.myOrders')
})
})
// 初始化状态
const currentTab = ref(0);
@@ -64,62 +74,62 @@
// 订单状态映射
const orderStatusMap = reactive({
'0': {
text: '待支付',
get text() { return $t('order.waitingForPayment') },
class: 'status-waiting'
},
'1': {
text: '使用中',
get text() { return $t('order.inUse') },
class: 'status-using'
},
'2': {
text: '已完成',
get text() { return $t('order.finished') },
class: 'status-finished'
},
'3': {
text: '已取消',
get text() { return $t('order.cancelled') },
class: 'status-cancelled'
},
'waiting_for_payment': {
text: '待支付',
get text() { return $t('order.waitingForPayment') },
class: 'status-waiting'
},
'in_used': {
text: '使用中',
get text() { return $t('order.inUse') },
class: 'status-using'
},
'used_done': {
text: '已完成',
get text() { return $t('order.finished') },
class: 'status-finished'
},
'order_cancelled': {
text: '已取消',
get text() { return $t('order.cancelled') },
class: 'status-cancelled'
},
'express_return': {
text: '快递归还',
get text() { return $t('express.title') },
class: 'status-express-return'
}
});
// 订单状态标签
const orderStatusTabs = reactive([{
text: '全部',
get text() { return $t('common.all') },
status: []
},
{
text: '待付款',
get text() { return $t('order.waitingForPayment') },
status: ['waiting_for_payment']
},
{
text: '使用中',
get text() { return $t('order.inUse') },
status: ['in_used']
},
{
text: '已完成',
get text() { return $t('order.finished') },
status: ['used_done']
},
{
text: '已取消',
get text() { return $t('order.cancelled') },
status: ['order_cancelled']
}
]);
@@ -212,7 +222,7 @@
} catch (error) {
console.error('获取订单列表失败:', error);
uni.showToast({
title: '获取订单列表失败',
title: $t('order.getOrderListFailed'),
icon: 'none'
});
}
@@ -224,14 +234,14 @@
const res = await getOrderByOrderNoScorePayStatus(order.orderNo);
if (res.code === 200) {
uni.showToast({
title: '状态同步成功',
title: $t('order.syncSuccess'),
icon: 'success'
});
await loadOrderList(orderStatusTabs[currentTab.value].status);
}
} catch (error) {
uni.showToast({
title: '同步状态失败',
title: $t('order.syncFailed'),
icon: 'none'
});
}
@@ -258,7 +268,7 @@
const handlePayment = async (order) => {
try {
uni.showLoading({
title: '处理中'
title: $t('common.processing')
});
// 调用后端创建微信支付订单接口
@@ -279,7 +289,7 @@
...payParams,
success: async () => {
uni.showToast({
title: '支付成功',
title: $t('payment.paymentSuccess'),
icon: 'success'
});
@@ -295,7 +305,7 @@
},
fail: (err) => {
console.error('支付失败:', err);
throw new Error('支付失败,请重试');
throw new Error($t('payment.paymentFailedRetry'));
}
});
} else {
@@ -306,7 +316,7 @@
} catch (error) {
uni.hideLoading();
uni.showToast({
title: error.message || '支付失败',
title: error.message || $t('payment.paymentFailed'),
icon: 'none'
});
}
@@ -316,12 +326,12 @@
const handleCancelOrder = async (order) => {
try {
uni.showModal({
title: '确认取消',
content: '确定要取消此订单吗?',
title: $t('order.confirmCancel'),
content: $t('order.confirmCancelContent'),
success: async (res) => {
if (res.confirm) {
uni.showLoading({
title: '处理中'
title: $t('common.processing')
});
const result = await cancelOrder({
@@ -331,14 +341,14 @@
if (result) {
uni.hideLoading();
uni.showToast({
title: '订单已取消',
title: $t('order.cancelSuccess'),
icon: 'success'
});
// 刷新订单列表
await loadOrderList();
} else {
throw new Error(result.msg || '取消订单失败');
throw new Error(result.msg || $t('order.cancelFailed'));
}
}
}
@@ -346,7 +356,7 @@
} catch (error) {
uni.hideLoading();
uni.showToast({
title: error.message || '取消订单失败',
title: error.message || $t('order.cancelFailed'),
icon: 'none'
});
}