refactor(fenxiao,member): replace hardcoded strings with i18n translations

standardize all hardcoded text across分销 and member pages to use language packs, fix template syntax errors in level.vue, and unify text display logic
This commit is contained in:
2026-06-22 16:20:59 +08:00
parent d8705398bb
commit cb81aad784
9 changed files with 109 additions and 109 deletions

View File

@@ -55,16 +55,16 @@ export default {
isIphoneX: false,
items: [{
value: '0',
name: '未知'
name: this.$lang('member.unknown')
},
{
value: '1',
name: '男',
name: this.$lang('member.male'),
checked: 'true'
},
{
value: '2',
name: '女'
name: this.$lang('member.female')
}
],
current: 0,
@@ -109,7 +109,7 @@ export default {
},
onHide() {
this.seconds = 120;
this.formData.mobileCodeText = '获取动态码';
this.formData.mobileCodeText = this.$lang('member.getDynamicCode');
this.isSend = false;
clearInterval(this.timer);
},
@@ -117,7 +117,7 @@ export default {
seconds(value) {
if (value == 0) {
this.seconds = 120;
this.formData.mobileCodeText = '获取动态码';
this.formData.mobileCodeText = this.$lang('member.getDynamicCode');
this.isSend = false;
clearInterval(this.timer);
}
@@ -154,7 +154,7 @@ export default {
}
},
setNavbarTitle() {
let title = '个人资料';
let title = this.$lang('member.personalInfo');
switch (this.indent) {
case 'name':
title = this.$lang('modifyNickname');
@@ -184,9 +184,9 @@ export default {
this.memberInfoformData.userHeadImg = this.memberInfo.headimg;
this.memberInfoformData.number = this.memberInfo.username; //账号
this.memberInfoformData.nickName = this.memberInfo.nickname; //昵称
this.memberInfoformData.realName = this.memberInfo.realname ? this.memberInfo.realname : '请输入真实姓名'; //真实姓名
this.memberInfoformData.sex = this.memberInfo.sex == 0 ? '未知' : this.memberInfo.sex == 1 ? '男' : '女'; //性别
this.memberInfoformData.birthday = this.memberInfo.birthday ? this.$util.timeStampTurnTime(this.memberInfo.birthday, 'YYYY-MM-DD') : '请选择生日'; //生日
this.memberInfoformData.realName = this.memberInfo.realname ? this.memberInfo.realname : this.$lang('member.inputRealName'); //真实姓名
this.memberInfoformData.sex = this.memberInfo.sex == 0 ? this.$lang('member.unknown') : this.memberInfo.sex == 1 ? this.$lang('member.male') : this.$lang('member.female'); //性别
this.memberInfoformData.birthday = this.memberInfo.birthday ? this.$util.timeStampTurnTime(this.memberInfo.birthday, 'YYYY-MM-DD') : this.$lang('member.selectBirthdayTip'); //生日
this.memberInfoformData.mobile = this.memberInfo.mobile; //手机号
this.formData.username = this.memberInfo.username; //用户名
@@ -401,14 +401,14 @@ export default {
modifyRealName() {
if (this.formData.realName == this.memberInfo.realname && this.memberInfo.realname) {
this.$util.showToast({
title: '与原真实姓名一致,无需修改'
title: this.$lang('member.sameAsOriginalName')
});
return;
}
var rule = [{
name: 'realName',
checkType: 'required',
errorMsg: '真实姓名不能为空'
errorMsg: this.$lang('member.realNameNotEmpty')
}];
if (!rule.length) return;
var checkRes = validate.check(this.formData, rule);
@@ -498,7 +498,7 @@ export default {
modifyBirthday() {
if (this.formData.birthday.length == 0) {
this.$util.showToast({
title: '请选择生日'
title: this.$lang('member.selectBirthdayTip')
});
return;
}
@@ -576,15 +576,15 @@ export default {
name: 'newPassword',
checkType: 'lengthMin',
checkRule: regConfig.pwd_len,
errorMsg: '新密码长度不能小于' + regConfig.pwd_len + '位'
errorMsg: this.$lang('member.newPasswordTooShort') + regConfig.pwd_len + this.$lang('member.digit')
});
}
if (regConfig.pwd_complexity) {
let passwordErrorMsg = '密码需包含',
let passwordErrorMsg = this.$lang('member.passwordNeedInclude'),
reg = '';
if (regConfig.pwd_complexity.indexOf('number') != -1) {
reg += '(?=.*?[0-9])';
passwordErrorMsg += '数字';
passwordErrorMsg += this.$lang('member.digit');
}
if (regConfig.pwd_complexity.indexOf('letter') != -1) {
reg += '(?=.*?[a-z])';
@@ -609,13 +609,13 @@ export default {
if (checkRes) {
if (this.formData.currentPassword == this.formData.newPassword) {
this.$util.showToast({
title: '新密码不能与原密码相同'
title: this.$lang('member.sameAsOldPassword')
});
return;
}
if (this.formData.newPassword != this.formData.confirmPassword) {
this.$util.showToast({
title: '两次密码不一致'
title: this.$lang('member.passwordNotMatch')
});
return;
}
@@ -657,11 +657,11 @@ export default {
var rule = [{
name: 'mobile',
checkType: 'required',
errorMsg: '请输入手机号'
errorMsg: this.$lang('member.inputMobile')
}, {
name: 'mobile',
checkType: 'phoneno',
errorMsg: '请输入正确的手机号'
errorMsg: this.$lang('member.inputMobileCorrect')
}];
var checkRes = validate.check(this.formData, rule);
if (!checkRes) {
@@ -723,7 +723,7 @@ export default {
if (this.seconds == 120 && this.timer == null) {
this.timer = setInterval(() => {
this.seconds--;
this.formData.mobileCodeText = '已发送(' + this.seconds + 's)';
this.formData.mobileCodeText = this.$lang('member.alreadySent') + '(' + this.seconds + 's)';
}, 1000);
}
uni.setStorageSync('mobile_key', data.key);
@@ -741,7 +741,7 @@ export default {
});
} else {
this.$util.showToast({
title: validate.error ? validate.error : '请勿重复点击'
title: validate.error ? validate.error : this.$lang('member.noRepeatClick')
});
}
},
@@ -840,7 +840,7 @@ export default {
if (this.seconds == 120 && this.timer == null) {
this.timer = setInterval(() => {
this.seconds--;
this.formData.mobileCodeText = '已发送(' + this.seconds + 's)';
this.formData.mobileCodeText = this.$lang('member.alreadySent') + '(' + this.seconds + 's)';
}, 1000);
}
uni.setStorageSync('password_mobile_key', data.key);
@@ -858,7 +858,7 @@ export default {
});
} else {
this.$util.showToast({
title: '请勿重复点击'
title: this.$lang('member.noRepeatClick')
});
}
},
@@ -866,12 +866,12 @@ export default {
var rule = [{
name: 'fullAddress',
checkType: 'required',
errorMsg: '请选择所在地区'
errorMsg: this.$lang('member.selectRegion')
},
{
name: 'address',
checkType: 'required',
errorMsg: '请输入详细地址'
errorMsg: this.$lang('member.inputDetailAddress')
}
];
if (!rule.length) return;

View File

@@ -60,8 +60,8 @@ export default {
// 提交注销申请并清理登录态(供 assets.vue 等页面调用)
submitCancelApply(options = {}) {
uni.showModal({
title: options.title || '风险提示',
content: options.content || '确定要注销当前账号吗?',
title: options.title || this.$lang('member.riskTip'),
content: options.content || this.$lang('member.confirmLogoutAccount'),
confirmColor: '#000000',
success: res => {
if (res.confirm) {