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
+28 -22
View File
@@ -6,8 +6,8 @@
<image v-else class="avatar" src="@/static/head.png" mode="aspectFill"></image>
</view>
<view class="user-text">
<view class="nickname">{{ userInfo.nickName || '点击登录' }}</view>
<view class="subtext">{{ userInfo.phone ? maskPhone(userInfo.phone) : '授权登录后可查看订单与资产' }}</view>
<view class="nickname">{{ userInfo.nickName || $t('user.clickToLogin') }}</view>
<view class="subtext">{{ userInfo.phone ? maskPhone(userInfo.phone) : $t('user.loginPrompt') }}</view>
</view>
<uv-icon type="right" size="16" color="#999"></uv-icon>
</view>
@@ -32,56 +32,56 @@
<view class="list-item" @click="handleQuickReturn">
<view class="left">
<image class="icon" src="/static/express_return.png" mode="aspectFit"></image>
<text class="title">快速归还<text style="font-size: 18rpx;">直接查看使用中的订单</text></text>
<text class="title">{{ $t('user.quickReturn') }}<text style="font-size: 18rpx;">{{ $t('user.quickReturnDesc') }}</text></text>
</view>
<uv-icon name="arrow-right" size="16" color="#c8c8c8"></uv-icon>
</view>
<view class="list-item" @click="navigateTo('/pages/expressReturn/index')" v-if="showMenuItem">
<view class="left">
<image class="icon" src="/static/express.png" mode="aspectFit"></image>
<text class="title">快递归还记录</text>
<text class="title">{{ $t('user.expressReturn') }}</text>
</view>
<uv-icon name="arrow-right" size="16" color="#c8c8c8"></uv-icon>
</view>
<view class="list-item" @click="navigateTo('/pages/order/index')">
<view class="left">
<image class="icon" src="/static/orderList.png" mode="aspectFit"></image>
<text class="title">我的订单</text>
<text class="title">{{ $t('user.myOrders') }}</text>
</view>
<uv-icon name="arrow-right" size="16" color="#c8c8c8"></uv-icon>
</view>
<view class="list-item" @click="navigateTo('/pages/help/index')">
<view class="left">
<image class="icon" src="/static/customer-service.png" mode="aspectFit"></image>
<text class="title">客服中心</text>
<text class="title">{{ $t('user.customerService') }}</text>
</view>
<uv-icon name="arrow-right" size="16" color="#c8c8c8"></uv-icon>
</view>
<view class="list-item" @click="navigateTo('/pages/feedback/index')">
<view class="left">
<image class="icon" src="/static/suggess.png" mode="aspectFit"></image>
<text class="title">投诉与建议</text>
<text class="title">{{ $t('user.feedback') }}</text>
</view>
<uv-icon name="arrow-right" size="16" color="#c8c8c8"></uv-icon>
</view>
<!-- <view class="list-item" @click="navigateTo('/pages/legal/agreement')">
<view class="left">
<image class="icon" src="/static/business-licence.png" mode="aspectFit"></image>
<text class="title">营业资质</text>
<text class="title">{{ $t('user.businessLicense') }}</text>
</view>
<uv-icon name="arrow-right" size="16" color="#c8c8c8"></uv-icon>
</view> -->
<view class="list-item" @click="navigateTo('/pages/join/index')">
<view class="left">
<image class="icon" src="/static/peopleInWork.png" mode="aspectFit"></image>
<text class="title">合作加盟</text>
<text class="title">{{ $t('user.cooperation') }}</text>
</view>
<uv-icon name="arrow-right" size="16" color="#c8c8c8"></uv-icon>
</view>
<view class="list-item" @click="navigateTo('/pages/setting/index')">
<view class="left">
<image class="icon" src="/static/setting.png" mode="aspectFit"></image>
<text class="title">设置</text>
<text class="title">{{ $t('user.settings') }}</text>
</view>
<uv-icon name="arrow-right" size="16" color="#c8c8c8"></uv-icon>
</view>
@@ -90,11 +90,11 @@
<view class="footer-agreements">
<view class="link-box">
<text class="link" @click="navigateTo('/pages/legal/agreement')">用户协议</text>
<text class="link" @click="navigateTo('/pages/legal/agreement')">{{ $t('user.userAgreement') }}</text>
<text class="sep"></text>
<text class="link" @click="navigateTo('/pages/legal/privacy')">隐私政策</text>
<text class="link" @click="navigateTo('/pages/legal/privacy')">{{ $t('user.privacyPolicy') }}</text>
</view>
<view class="version">v{{ appVersion }}</view>
<view class="version">{{ $t('user.version') }}{{ appVersion }}</view>
</view>
<!-- 保留授权弹窗暂不启用 -->
@@ -133,8 +133,11 @@ import {
import {
URL
} from '../../config/url.js'
import { useI18n } from '@/utils/i18n.js'
// 设置页执行退出登录,此页不再直接调用
const { t: $t } = useI18n()
// 响应式状态
const userInfo = ref({});
const deposit = ref('0.00');
@@ -147,6 +150,9 @@ import {
// 页面加载时初始化
onMounted(() => {
uni.setNavigationBarTitle({
title: $t('user.personalCenter')
})
getInfo();
initVersion();
});
@@ -186,7 +192,7 @@ import {
} catch (error) {
console.error('获取用户信息失败:', error);
uni.showToast({
title: '获取用户信息失败',
title: $t('user.getUserInfoFailed'),
icon: 'none'
});
}
@@ -269,7 +275,7 @@ import {
});
} else {
uni.showToast({
title: '暂无使用中的订单',
title: $t('order.noOrder'),
icon: 'none'
});
}
@@ -277,7 +283,7 @@ import {
uni.hideLoading();
console.error('获取使用中订单失败:', error);
uni.showToast({
title: '获取订单失败',
title: $t('order.getOrderFailed'),
icon: 'none'
});
}
@@ -300,7 +306,7 @@ import {
// #endif
// #ifndef MP-WEIXIN
uni.showToast({
title: '请在微信小程序中使用此功能',
title: $t('auth.pleaseUseInWechat'),
icon: 'none'
})
// #endif
@@ -404,7 +410,7 @@ import {
// #ifndef MP-WEIXIN
uni.showToast({
title: '请在微信小程序中使用此功能',
title: $t('auth.pleaseUseInWechat'),
icon: 'none'
});
closeAuthPopup();
@@ -433,7 +439,7 @@ import {
// });
uni.showToast({
title: '信息更新成功',
title: $t('user.updateSuccess'),
icon: 'success'
});
@@ -442,7 +448,7 @@ import {
} catch (error) {
console.error('更新用户信息失败:', error);
uni.showToast({
title: '更新用户信息失败',
title: $t('user.updateFailed'),
icon: 'none'
});
}
@@ -511,7 +517,7 @@ import {
// 关于我们
const handleAboutUs = () => {
uni.showToast({
title: '功能开发中',
title: $t('help.functionDeveloping'),
icon: 'none'
});
};
@@ -519,7 +525,7 @@ import {
// 隐私政策
const handlePrivacyPolicy = () => {
uni.showToast({
title: '功能开发中',
title: $t('help.functionDeveloping'),
icon: 'none'
});
};