feat: 新增多语言文案、优化导航及工具函数,修复部分业务逻辑
1. 新增多语言资源文件,覆盖文章、预约日期、会员信息、优惠券、表单、购物车、积分商城、分销、AI聊天等多个模块 2. 优化底部导航组件,使用多语言配置替代硬编码文案 3. 重构工具函数,新增从后端数据提取多语言文案的工具方法 4. 修复邀请好友页面的保存提示文案,替换为多语言版本 5. 修复商品SKU组件的提示文案,使用多语言配置 6. 重构AI聊天页面的帮助文档和回复模板,使用多语言配置 7. 优化空状态组件,支持多语言默认文案 8. 修复跳转逻辑,补全参数传递 9. 新增本地开发环境配置
This commit is contained in:
@@ -17,15 +17,15 @@
|
||||
</view>
|
||||
<view class="level-rate">
|
||||
<view class="rate-item" v-if="config.level > 0">
|
||||
<view class="title">一级分佣比率</view>
|
||||
<view class="title">{{ $lang('firstLevelCommissionRate') }}</view>
|
||||
<view class="rate">{{ item.one_rate }}<text class="percentage">%</text></view>
|
||||
</view>
|
||||
<view class="rate-item" v-if="config.level > 1">
|
||||
<view class="title">二级分佣比率</view>
|
||||
<view class="title">{{ $lang('secondLevelCommissionRate') }}</view>
|
||||
<view class="rate">{{ item.two_rate }}<text class="percentage">%</text></view>
|
||||
</view>
|
||||
<view class="rate-item" v-if="config.level > 2">
|
||||
<view class="title">三级分佣比率</view>
|
||||
<view class="title">{{ $lang('thirdLevelCommissionRate') }}</view>
|
||||
<view class="rate">{{ item.three_rate }}<text class="percentage">%</text></view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -40,7 +40,7 @@
|
||||
|
||||
<view class="level-condition" v-if="levelInfo">
|
||||
<view class="condition-title">
|
||||
<view class="title">快速升级技巧</view>
|
||||
<view class="title">{{ $lang('quickUpgradeTips') }}</view>
|
||||
<view class="rate price-font">
|
||||
<text class="complete">{{ levelInfo.complete > levelInfo.task_num ? levelInfo.task_num : levelInfo.complete }}</text>
|
||||
<text class="num">/{{ levelInfo.task_num }}</text>
|
||||
@@ -54,7 +54,7 @@
|
||||
<text class="iconfont icon-wenxiao" @click="openTips(item)"></text>
|
||||
</view>
|
||||
<view class="status" :class="{'complete': item.progress == 100}">
|
||||
{{ item.progress == 100 ? '已完成' : '未完成' }}</view>
|
||||
{{ item.progress == 100 ? $lang('completed') : $lang('incomplete') }}</view>
|
||||
</view>
|
||||
<view class="progress">
|
||||
<progress :percent="item.progress" activeColor="#E7B667" stroke-width="4" />
|
||||
@@ -73,12 +73,12 @@
|
||||
<uni-popup type="bottom" ref="tips">
|
||||
<view class="popup">
|
||||
<view class="popup-header">
|
||||
<text class="tit">提示</text>
|
||||
<text class="tit">{{ $lang('tip') }}</text>
|
||||
<text class="iconfont icon-close" @click="$refs.tips.close()"></text>
|
||||
</view>
|
||||
<view class="popup-body">
|
||||
<view>{{ tips }}</view>
|
||||
<view v-if="levelInfo">{{ levelInfo.upgrade_type == 1 ? '满足任意一条件即可升级' : '满足全部条件才能进行升级' }}</view>
|
||||
<view v-if="levelInfo">{{ levelInfo.upgrade_type == 1 ? $lang('anyConditionUpgrade') : $lang('allConditionsUpgrade') }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</uni-popup>
|
||||
@@ -114,9 +114,9 @@
|
||||
|
||||
if (level.one_fenxiao_order_num > 0) {
|
||||
let task = {
|
||||
title: '下级消费',
|
||||
desc: '下级消费单数满' + level.one_fenxiao_order_num + '单',
|
||||
tips: '分销商自己购买和自己推荐的直属会员购买的订单次数达到'+ level.one_fenxiao_order_num + '单',
|
||||
title: this.$lang('subordinateConsumption'),
|
||||
desc: this.$lang('subordinateOrderCount', { count: level.one_fenxiao_order_num }),
|
||||
tips: this.$lang('subordinateOrderCountTip', { count: level.one_fenxiao_order_num }),
|
||||
condition: level.one_fenxiao_order_num,
|
||||
value: this.fenxiaoInfo.one_fenxiao_order_num,
|
||||
progress: parseFloat(this.fenxiaoInfo.one_fenxiao_order_num) > parseFloat(level.one_fenxiao_order_num) ? 100 : (parseFloat(this.fenxiaoInfo.one_fenxiao_order_num) / parseFloat(level.one_fenxiao_order_num) * 100).toFixed(2)
|
||||
@@ -126,9 +126,9 @@
|
||||
}
|
||||
if (level.one_fenxiao_total_order > 0) {
|
||||
let task = {
|
||||
title: '下级消费',
|
||||
desc: '下级消费金额满' + this.moneyFormat(level.one_fenxiao_total_order) + '元',
|
||||
tips: '分销商自己购买和推荐的直属会员购买的订单的总额达到'+ this.moneyFormat(level.one_fenxiao_total_order) + '元',
|
||||
title: this.$lang('subordinateConsumption'),
|
||||
desc: this.$lang('subordinateOrderAmount', { amount: this.moneyFormat(level.one_fenxiao_total_order) }),
|
||||
tips: this.$lang('subordinateOrderAmountTip', { amount: this.moneyFormat(level.one_fenxiao_total_order) }),
|
||||
condition: this.moneyFormat(level.one_fenxiao_total_order),
|
||||
value: this.fenxiaoInfo.one_fenxiao_total_order,
|
||||
progress: parseFloat(this.fenxiaoInfo.one_fenxiao_total_order) > parseFloat(level.one_fenxiao_total_order) ? 100 : (parseFloat(this.fenxiaoInfo.one_fenxiao_total_order) / parseFloat(level.one_fenxiao_total_order) * 100)
|
||||
@@ -139,9 +139,9 @@
|
||||
}
|
||||
if (level.one_fenxiao_order_money > 0) {
|
||||
let task = {
|
||||
title: '下级消费',
|
||||
desc: '下级消费产生佣金总额满' + this.moneyFormat(level.one_fenxiao_order_money) + '元',
|
||||
tips: '分销商自己购买和自己推荐的直属会员购买的订单佣金总额达到'+ this.moneyFormat(level.one_fenxiao_order_money) + '元',
|
||||
title: this.$lang('subordinateConsumption'),
|
||||
desc: this.$lang('subordinateCommissionAmount', { amount: this.moneyFormat(level.one_fenxiao_order_money) }),
|
||||
tips: this.$lang('subordinateCommissionAmountTip', { amount: this.moneyFormat(level.one_fenxiao_order_money) }),
|
||||
condition: this.moneyFormat(level.one_fenxiao_order_money),
|
||||
value: this.fenxiaoInfo.one_fenxiao_order_money,
|
||||
progress: parseFloat(this.fenxiaoInfo.one_fenxiao_order_money) > parseFloat(level.one_fenxiao_order_money) ? 100 : (parseFloat(this.fenxiaoInfo.one_fenxiao_order_money) / parseFloat(level.one_fenxiao_order_money) * 100)
|
||||
@@ -152,9 +152,9 @@
|
||||
}
|
||||
if (level.order_num > 0) {
|
||||
let task = {
|
||||
title: '自身消费',
|
||||
desc: '自身消费单数满' + level.order_num + '单',
|
||||
tips: '分销商自己购买的订单次数达到'+ level.order_num + '单',
|
||||
title: this.$lang('selfConsumption'),
|
||||
desc: this.$lang('selfOrderCount', { count: level.order_num }),
|
||||
tips: this.$lang('selfOrderCountTip', { count: level.order_num }),
|
||||
condition: level.order_num,
|
||||
value: this.fenxiaoInfo.order_num,
|
||||
progress: parseFloat(this.fenxiaoInfo.order_num) > parseFloat(level.order_num) ? 100 : (parseFloat(this.fenxiaoInfo.order_num) / parseFloat(level.order_num) * 100).toFixed(2)
|
||||
@@ -164,9 +164,9 @@
|
||||
}
|
||||
if (level.order_money > 0) {
|
||||
let task = {
|
||||
title: '自身消费',
|
||||
desc: '自身消费金额满' + this.moneyFormat(level.order_money) + '元',
|
||||
tips: '分销商自己购买的订单总额满足'+ this.moneyFormat(level.order_money) + '元',
|
||||
title: this.$lang('selfConsumption'),
|
||||
desc: this.$lang('selfOrderAmount', { amount: this.moneyFormat(level.order_money) }),
|
||||
tips: this.$lang('selfOrderAmountTip', { amount: this.moneyFormat(level.order_money) }),
|
||||
condition: this.moneyFormat(level.order_money),
|
||||
value: this.fenxiaoInfo.order_money,
|
||||
progress: parseFloat(this.fenxiaoInfo.order_money) > parseFloat(level.order_money) ? 100 : (parseFloat(this.fenxiaoInfo.order_money) / parseFloat(level.order_money) * 100).toFixed(2)
|
||||
@@ -176,9 +176,9 @@
|
||||
}
|
||||
if (level.one_child_num > 0) {
|
||||
let task = {
|
||||
title: '邀请好友',
|
||||
desc: '邀请好友人数达到' + level.one_child_num + '人',
|
||||
tips: '分销商的直属下级会员人数达到'+level.one_child_num+'人(包含已经申请成为分销商的)',
|
||||
title: this.$lang('inviteFriends'),
|
||||
desc: this.$lang('inviteFriendCount', { count: level.one_child_num }),
|
||||
tips: this.$lang('inviteFriendCountTip', { count: level.one_child_num }),
|
||||
condition: level.one_child_num,
|
||||
value: this.fenxiaoInfo.one_child_num,
|
||||
progress: parseFloat(this.fenxiaoInfo.one_child_num) > parseFloat(level.one_child_num) ? 100 : (parseFloat(this.fenxiaoInfo.one_child_num) / parseFloat(level.one_child_num) * 100).toFixed(2)
|
||||
@@ -188,9 +188,9 @@
|
||||
}
|
||||
if (level.one_child_fenxiao_num > 0) {
|
||||
let task = {
|
||||
title: '邀请好友',
|
||||
desc: '邀请好友成为分销商人数达到' + level.one_child_fenxiao_num + '人',
|
||||
tips: '分销商的直属下级分销商人数达到'+ level.one_child_fenxiao_num + '人',
|
||||
title: this.$lang('inviteFriends'),
|
||||
desc: this.$lang('inviteFenxiaoCount', { count: level.one_child_fenxiao_num }),
|
||||
tips: this.$lang('inviteFenxiaoCountTip', { count: level.one_child_fenxiao_num }),
|
||||
condition: level.one_child_fenxiao_num,
|
||||
value: this.fenxiaoInfo.one_child_fenxiao_num,
|
||||
progress: parseFloat(this.fenxiaoInfo.one_child_fenxiao_num) > parseFloat(level.one_child_fenxiao_num) ? 100 : (parseFloat(this.fenxiaoInfo.one_child_fenxiao_num) / parseFloat(level.one_child_fenxiao_num) * 100).toFixed(2)
|
||||
@@ -208,7 +208,7 @@
|
||||
setTimeout( () => {
|
||||
if (!this.addonIsExist.fenxiao) {
|
||||
this.$util.showToast({
|
||||
title: '商家未开启分销',
|
||||
title: this.$lang('merchantNotOpenFenxiao'),
|
||||
mask: true,
|
||||
duration: 2000
|
||||
});
|
||||
@@ -218,7 +218,7 @@
|
||||
}
|
||||
},1000);
|
||||
|
||||
if (this.fenxiaoWords && this.fenxiaoWords.fenxiao_name) this.$langConfig.title(this.fenxiaoWords.fenxiao_name + '等级');
|
||||
if (this.fenxiaoWords && this.fenxiaoWords.fenxiao_name) this.$langConfig.title(this.fenxiaoWords.fenxiao_name + this.$lang('levelSuffix'));
|
||||
|
||||
if (this.storeToken) {
|
||||
this.getFenxiaoInfo();
|
||||
|
||||
Reference in New Issue
Block a user