refactor: replace hardcoded text with language package entries

Replace all inline hardcoded Chinese strings in multiple Vue pages with corresponding language package keys, to unify text management and support multi-language switching.
This commit is contained in:
2026-06-22 11:23:53 +08:00
parent 014046bc9e
commit cc39e06161
19 changed files with 191 additions and 191 deletions

View File

@@ -223,11 +223,11 @@ export default {
if (res.code == 0) {
if (!this.formData.id) {
this.$util.showToast({
title: '添加成功'
title: this.$lang('member.addSuccess')
});
} else {
this.$util.showToast({
title: '修改成功'
title: this.$lang('member.editSuccess')
});
}
if (this.back != '') {

View File

@@ -197,7 +197,7 @@
this.addressValue += res.data.district_id != undefined ? '-' + res.data.district_id : '';
} else {
this.showToast({
title: '数据有误'
title: this.$lang('member.dataError')
});
}
}
@@ -230,15 +230,15 @@
var statu = res.authSetting;
if (!statu['scope.userLocation']) {
uni.showModal({
title: '是否授权当前位置',
content: '需要获取您的地理位置,请确认授权,否则地图功能将无法使用',
title: this.$lang('member.authLocationTitle'),
content: this.$lang('member.authLocationContent'),
success(tip) {
if (tip.confirm) {
uni.openSetting({
success: function (data) {
if (data.authSetting['scope.userLocation'] === true) {
this.$util.showToast({
title: '授权成功'
title: this.$lang('member.authSuccess')
});
//授权成功之后,再调用chooseLocation选择地方
setTimeout(function () {
@@ -256,7 +256,7 @@
});
} else {
this.$util.showToast({
title: '授权失败'
title: this.$lang('member.authFailed')
});
}
}

View File

@@ -106,7 +106,7 @@
this.withdrawInfo = res.data;
if (this.withdrawInfo.config.is_use == 0) {
this.$util.showToast({
title: '未开启提现'
title: this.$lang('member.withdrawNotEnabled')
});
setTimeout(() => {
this.$util.redirectTo(this.$util.MEMBER_PAGE_URL);
@@ -136,19 +136,19 @@
verify() {
if (this.withdrawMoney == '' || this.withdrawMoney == 0 || isNaN(parseFloat(this.withdrawMoney))) {
this.$util.showToast({
title: '请输入提现金额'
title: this.$lang('member.inputWithdrawAmount')
});
return false;
}
if (parseFloat(this.withdrawMoney) > parseFloat(this.withdrawInfo.member_info.balance_money)) {
this.$util.showToast({
title: '提现金额超出可提现金额'
title: this.$lang('member.amountExceedsBalance')
});
return false;
}
if (parseFloat(this.withdrawMoney) < parseFloat(this.withdrawInfo.config.min)) {
this.$util.showToast({
title: '提现金额小于最低提现金额'
title: this.$lang('member.amountBelowMinimum')
});
return false;
}
@@ -157,7 +157,7 @@
withdraw() {
if (!this.bankAccountInfo.withdraw_type) {
this.$util.showToast({
title: '请先添加提现方式'
title: this.$lang('member.addWithdrawMethodFirst')
});
return;
}
@@ -188,7 +188,7 @@
success: res => {
if (res.code >= 0) {
this.$util.showToast({
title: '提现申请成功'
title: this.$lang('member.withdrawApplySuccess')
});
setTimeout(() => {
this.$util.redirectTo(

View File

@@ -10,9 +10,9 @@
<view class="align-center agreement-btn-select">
<text v-if="isSelect" class="iconfont icon-dui color-base-text" @click="changeSelect"></text>
<text v-else class="iconfont icon-yuan_checkbox" @click="changeSelect"></text>
<text class="agreement-text" @click="changeSelect">勾选即表示您已阅读并同意本协议</text>
<text class="agreement-text" @click="changeSelect">{{ $lang('cancel.agreeTip') }}</text>
</view>
<button class="btn color-base-bg" @click="next">下一步</button>
<button class="btn color-base-bg" @click="next">{{ $lang('cancel.nextStep') }}</button>
</view>
</view>
</view>
@@ -60,7 +60,7 @@ export default {
this.$util.redirectTo('/pages_tool/member/assets');
} else {
this.$util.showToast({
title: '请先勾选同意协议'
title: this.$lang('cancel.agreeCheckTip')
});
}
}

View File

@@ -11,7 +11,7 @@
<view class="member-desc">
<view class="font-size-toolbar">{{ memberInfo.nickname }}</view>
<view class="font-size-tag expire-time" v-if="memberInfo.level_expire_time > 0">
有效期至:{{ $util.timeStampTurnTime(memberInfo.level_expire_time, true) }}</view>
{{ $lang('level.expireTime') }}:{{ $util.timeStampTurnTime(memberInfo.level_expire_time, true) }}</view>
</view>
</view>
@@ -21,14 +21,14 @@
<image :src="$util.img('public/uniapp/level/card-bg.png')"></image>
<view class="info">
<view class="level-detail">{{ levelInfo.level_name }}</view>
<view class="growr-name">{{ levelInfo.level_name }}可享受消费折扣和</view>
<view class="growr-value">会员大礼包等权益</view>
<view class="growr-name">{{ levelInfo.level_name }}{{ $lang('card.canEnjoy') }}</view>
<view class="growr-value">{{ $lang('card.memberGiftEtc') }}</view>
<view class="growth-rules font-size-tag" @click="openExplainPopup"
v-if="levelInfo.remark != ''">
<text class="iconfont icon-wenhao font-size-tag"></text>
</view>
<button type="default" class="renew-btn"
@click="$util.redirectTo('/pages_tool/member/card_buy')">立即续费</button>
@click="$util.redirectTo('/pages_tool/member/card_buy')">{{ $lang('card.renewNow') }}</button>
</view>
</view>
</view>
@@ -39,7 +39,7 @@
<view class="line-box">
<view class="line right"></view>
</view>
<view class="card-content-title">会员权益</view>
<view class="card-content-title">{{ $lang('level.memberBenefits') }}</view>
<view class="line-box">
<view class="line"></view>
</view>
@@ -49,18 +49,18 @@
<view class="card-privilege-item" v-if="levelInfo.is_free_shipping">
<view class="card-privilege-icon"><text class="iconfont icon-tedianquanchangbaoyou"></text>
</view>
<view class="card-privilege-name">全场包邮</view>
<view class="card-privilege-text">享受商品包邮服务</view>
<view class="card-privilege-name">{{ $lang('level.freeShipping') }}</view>
<view class="card-privilege-text">{{ $lang('level.freeShippingDesc') }}</view>
</view>
<view class="card-privilege-item" v-if="levelInfo.consume_discount < 100">
<view class="card-privilege-icon"><text class="iconfont icon-zhekou"></text></view>
<view class="card-privilege-name">消费折扣</view>
<view class="card-privilege-text">部分商品下单可享{{ levelInfo.consume_discount / 10 }}折优惠</view>
<view class="card-privilege-name">{{ $lang('level.consumeDiscount') }}</view>
<view class="card-privilege-text">{{ $lang('level.consumeDiscountDesc') }}{{ levelInfo.consume_discount / 10 }}{{ $lang('level.discount') }}</view>
</view>
<view class="card-privilege-item" v-if="levelInfo.point_feedback > 0">
<view class="card-privilege-icon"><text class="iconfont icon-jifen2 f32"></text></view>
<view class="card-privilege-name">积分回馈</view>
<view class="card-privilege-text">下单享{{ parseFloat(levelInfo.point_feedback) }}倍积分回馈</view>
<view class="card-privilege-name">{{ $lang('level.pointReward') }}</view>
<view class="card-privilege-text">{{ $lang('level.pointRewardDesc') }}{{ parseFloat(levelInfo.point_feedback) }}{{ $lang('level.pointMultiplier') }}</view>
</view>
</view>
@@ -69,7 +69,7 @@
<view class="line-box">
<view class="line right"></view>
</view>
<view class="card-content-title">开卡礼包</view>
<view class="card-content-title">{{ $lang('level.openCardGift') }}</view>
<view class="line-box">
<view class="line"></view>
</view>
@@ -78,18 +78,18 @@
<view class="card-privilege-list">
<view class="card-privilege-item" v-if="levelInfo.send_point > 0">
<view class="card-privilege-icon"><text class="iconfont icon-jifen3"></text></view>
<view class="card-privilege-name">积分礼包</view>
<view class="card-privilege-text">赠送{{ levelInfo.send_point }}积分</view>
<view class="card-privilege-name">{{ $lang('level.pointGift') }}</view>
<view class="card-privilege-text">{{ $lang('level.giftPoint') }}{{ levelInfo.send_point }}{{ $lang('level.point') }}</view>
</view>
<view class="card-privilege-item" v-if="levelInfo.send_balance > 0">
<view class="card-privilege-icon"><text class="iconfont icon-hongbao"></text></view>
<view class="card-privilege-name">红包礼包</view>
<view class="card-privilege-text">赠送{{ parseFloat(levelInfo.send_balance) }}元红包</view>
<view class="card-privilege-name">{{ $lang('level.redPacketGift') }}</view>
<view class="card-privilege-text">{{ $lang('level.giftBalance') }}{{ parseFloat(levelInfo.send_balance) }}{{ $lang('level.redPacket') }}</view>
</view>
<view class="card-privilege-item" v-if="levelInfo.send_coupon != ''">
<view class="card-privilege-icon"><text class="iconfont icon-youhuiquan1"></text></view>
<view class="card-privilege-name">优惠券礼包</view>
<view class="card-privilege-text">赠送{{ levelInfo.send_coupon.split(',').length }}张优惠券</view>
<view class="card-privilege-name">{{ $lang('level.couponGift') }}</view>
<view class="card-privilege-text">{{ $lang('level.giftCoupon') }}{{ levelInfo.send_coupon.split(',').length }}{{ $lang('level.coupon') }}</view>
</view>
</view>
</view>
@@ -101,13 +101,13 @@
<uni-popup ref="explainPopup" type="bottom">
<view class="tips-layer">
<view class="head" @click="closeExplainPopup()">
<view class="title">会员卡说明</view>
<view class="title">{{ $lang('card.cardDesc') }}</view>
<text class="iconfont icon-close"></text>
</view>
<view class="body">
<view class="detail margin-bottom">
<block v-if="levelInfo.remark != ''">
<view class="tip">会员卡说明</view>
<view class="tip">{{ $lang('card.cardDesc') }}</view>
<view class="font-size-base">{{ levelInfo.remark }}</view>
</block>
</view>
@@ -171,11 +171,11 @@ export default {
// 如果后台没配置,用默认值
this.mpShareData = {
appMessage: {
title: '专属会员权益,快来体验',
title: this.$lang('card.shareTitle'),
path: '/pages_tool/member/card'
},
timeLine: {
title: '专属会员权益,快来体验',
title: this.$lang('card.shareTitle'),
query: '/pages_tool/member/card'
}
};

View File

@@ -134,7 +134,7 @@ export default {
deleteFootprint() {
if (this.idArr.length == 0) {
this.$util.showToast({
title: '请选择要删除的数据!'
title: this.$lang('member.selectDeleteData')
});
return;
}

View File

@@ -7,17 +7,17 @@
<view class="desc" @click="openRulePopup" v-if="info.remark != ''">
<text class="iconfont icon-bangzhu"></text>
活动说明
{{ $lang('invite.activityRule') }}
</view>
<image class="font" :src="$util.img('public/uniapp/member/invite/top_font.png')" mode="widthFix" show-menu-by-longpress />
<view class="time">
活动时间:{{ $util.timeStampTurnTime(info.start_time, 1) }}至{{ $util.timeStampTurnTime(info.end_time, 1) }}
{{ $lang('invite.activityTime') }}:{{ $util.timeStampTurnTime(info.start_time, 1) }}{{ $lang('invite.to') }}{{ $util.timeStampTurnTime(info.end_time, 1) }}
</view>
<view class="btn" :style="{ 'background-image': 'url(' + $util.img('public/uniapp/member/invite/top_btn.png') + ')' }" @click="openSharePopup">立即邀请</view>
<view class="btn" :style="{ 'background-image': 'url(' + $util.img('public/uniapp/member/invite/top_btn.png') + ')' }" @click="openSharePopup">{{ $lang('invite.inviteNow') }}</view>
</view>
<view class="content invite-list">
<view class="title">我的好友</view>
<view class="title">{{ $lang('invite.myFriends') }}</view>
<block v-if="inviteList.length > 0">
<view class="invitelist_block">
<view class="invitelist">
@@ -33,32 +33,32 @@
</view>
</view>
<view class="prize color-base-text font-size-activity-tag">
<block v-if="item.balance > 0">{{ item.balance }}元现金红包</block>
<block v-if="item.balance > 0">{{ item.balance }}{{ $lang('invite.cashRedPacket') }}</block>
<block v-if="(item.point > 0 || item.coupon_num) && item.balance > 0">+</block>
<block v-if="item.point > 0">{{ parseInt(item.point) }}积分</block>
<block v-if="item.point > 0">{{ parseInt(item.point) }}{{ $lang('invite.point') }}</block>
<block v-if="item.point > 0 && item.balance > 0 && item.coupon_num > 0">+
</block>
<block v-if="item.coupon_num > 0">{{ item.coupon_num }}张优惠券</block>
<block v-if="item.coupon_num > 0">{{ item.coupon_num }}{{ $lang('invite.couponCount') }}</block>
</view>
</view>
</view>
</view>
<view class="more_invite color-tip font-size-tag " @click="moreList" v-if="isClick && total_num > page">
查看更多
{{ $lang('invite.viewMore') }}
<text class="iconfont icon-iconangledown"></text>
</view>
<view class="more_invite color-tip font-size-tag " @click="moreList" v-if="!isClick && inviteList.length > 5 && total_num <= page">没有更多数据了</view>
<view class="more_invite color-tip font-size-tag " @click="moreList" v-if="!isClick && inviteList.length > 5 && total_num <= page">{{ $lang('invite.noMoreData') }}</view>
</view>
</block>
<block v-else>
<view class="empty">
<view class="tip">您还没有邀请到新朋友哦</view>
<view class="tip">邀请好友,赚取好礼。赶紧去试试吧~</view>
<view class="tip">{{ $lang('invite.noInviteTip') }}</view>
<view class="tip">{{ $lang('invite.noInviteSub') }}</view>
</view>
</block>
</view>
<view class="content">
<view class="title">邀请好友奖励</view>
<view class="title">{{ $lang('invite.inviteReward') }}</view>
<view class="invite_active">
<view class="list">
<view class="item" v-if="$util.inArray('balance', info.type) != -1">
@@ -68,7 +68,7 @@
<text class="font-size-base">{{ $lang('common.currencySymbol') }}</text>
<text>{{ info.balance }}</text>
</view>
<view class="type">现金红包</view>
<view class="type">{{ $lang('invite.cashRedPacket') }}</view>
</view>
</view>
@@ -78,7 +78,7 @@
<view class="price">
<text>{{ parseInt(info.point) }}</text>
</view>
<view class="type">积分</view>
<view class="type">{{ $lang('invite.point') }}</view>
</view>
</view>
@@ -88,49 +88,49 @@
<view class="desc">
<view class="price">
<text>{{ info.coupon.split(',').length }}</text>
张
{{ $lang('invite.couponUnit') }}
</view>
<view class="type">优惠券</view>
<view class="type">{{ $lang('invite.coupon') }}</view>
</view>
</view>
</view>
<view class="desc">
<view class="title_desc color-tip">分享给好友,让好友通过你的分享链接进入并注册登录,可获得以下奖励:</view>
<view class="title_desc color-tip">{{ $lang('invite.shareDesc') }}</view>
<view class="desc_list">
<view class="" v-if="$util.inArray('balance', info.type) != -1">
<text>●</text>
可得{{ info.balance }}元红包奖励
{{ $lang('invite.getBalanceReward', { amount: info.balance }) }}
</view>
<view class="" v-if="$util.inArray('point', info.type) != -1">
<text>●</text>
可得{{ info.point }}积分
{{ $lang('invite.getPointReward', { point: info.point }) }}
</view>
<view class="" v-if="$util.inArray('coupon', info.type) != -1">
<text>●</text>
可得{{ info.coupon.split(',').length }}张优惠券
{{ $lang('invite.getCouponReward', { count: info.coupon.split(',').length }) }}
</view>
<view class="" v-if="info.max_fetch == 0">
<text>●</text>
可得奖励不受限制
{{ $lang('invite.noLimit') }}
</view>
<view class="" v-else>
<text>●</text>
奖励上限为{{ info.max_fetch }}人
{{ $lang('invite.limitDesc', { max: info.max_fetch }) }}
</view>
</view>
</view>
</view>
</view>
<view class="content">
<view class="title">如何邀请好友</view>
<view class="title">{{ $lang('invite.howToInvite') }}</view>
<view class="invite_active">
<view class="step">
<view>
<view class="img">
<image :src="$util.img('public/uniapp/member/invite/fenxiang.png')" mode="aspectFit" show-menu-by-longpress />
</view>
<view class="text">分享链接给好友</view>
<view class="text">{{ $lang('invite.shareLink') }}</view>
</view>
<view>
<image :src="$util.img('public/uniapp/member/invite/jiantou.png')" class="jiantou" show-menu-by-longpress ></image>
@@ -139,7 +139,7 @@
<view class="img">
<image :src="$util.img('public/uniapp/member/invite/shouji.png')" mode="aspectFit" show-menu-by-longpress />
</view>
<view class="text">好友进入</view>
<view class="text">{{ $lang('invite.friendEnter') }}</view>
</view>
<view>
<image :src="$util.img('public/uniapp/member/invite/jiantou.png')" class="jiantou" show-menu-by-longpress ></image>
@@ -148,7 +148,7 @@
<view class="img">
<image :src="$util.img('public/uniapp/member/invite/hongbao.png')" mode="aspectFit" show-menu-by-longpress />
</view>
<view class="text">好友注册成功获得奖励</view>
<view class="text">{{ $lang('invite.friendRegister') }}</view>
</view>
</view>
</view>
@@ -163,10 +163,10 @@
<image :src="$util.img(poster)" mode="widthFix" show-menu-by-longpress />
</view>
<!-- #ifdef MP || APP-PLUS -->
<view class="save" @click="savePoster()">保存图片</view>
<view class="save" @click="savePoster()">{{ $lang('invite.savePoster') }}</view>
<!-- #endif -->
<!-- #ifdef H5 -->
<view class="save">长按保存图片</view>
<view class="save">{{ $lang('invite.longPressSave') }}</view>
<!-- #endif -->
</view>
<view class="close iconfont icon-close" @click="closePosterPopup()"></view>
@@ -179,32 +179,32 @@
<view @touchmove.prevent.stop>
<uni-popup ref="sharePopup" type="bottom" class="share-popup">
<view>
<view class="share-title">分享</view>
<view class="share-title">{{ $lang('invite.share') }}</view>
<view class="share-content">
<!-- #ifdef MP -->
<view class="share-box">
<button class="share-btn" :plain="true" open-type="share">
<view class="iconfont icon-share-friend"></view>
<text>分享给好友</text>
<text>{{ $lang('invite.shareToFriend') }}</text>
</button>
</view>
<!-- #endif -->
<view class="share-box" @click="openPosterPopup">
<button class="share-btn" :plain="true">
<view class="iconfont icon-pengyouquan"></view>
<text>生成分享海报</text>
<text>{{ $lang('invite.generatePoster') }}</text>
</button>
</view>
<!-- #ifdef H5 -->
<view class="share-box" @click="copyUrl">
<button class="share-btn" :plain="true">
<view class="iconfont icon-fuzhilianjie"></view>
<text>复制链接</text>
<text>{{ $lang('invite.copyLink') }}</text>
</button>
</view>
<!-- #endif -->
</view>
<view class="share-footer" @click="closeSharePopup"><text>取消分享</text></view>
<view class="share-footer" @click="closeSharePopup"><text>{{ $lang('invite.cancelShare') }}</text></view>
</view>
</uni-popup>
</view>
@@ -214,7 +214,7 @@
<uni-popup ref="rulePopup" type="bottom">
<view class="tips-layer">
<view class="head" @click="closeRulePopup()">
<view class="title">活动说明</view>
<view class="title">{{ $lang('invite.activityRule') }}</view>
<text class="iconfont icon-close"></text>
</view>
<view class="body">
@@ -224,7 +224,7 @@
</uni-popup>
</view>
</view>
<ns-empty v-else text="暂无相关数据"></ns-empty>
<ns-empty v-else :text="$lang('invite.noData')"></ns-empty>
<ns-login ref="login"></ns-login>
<loading-cover ref="loadingCover"></loading-cover>
</view>

View File

@@ -141,7 +141,7 @@
<uni-popup ref="couponPopup" type="bottom">
<view class="coupon-popup-box">
<view class="coupon-popup-title" @click="closeCoupon">
优惠券
{{ $lang('member.coupon') }}
<text class="iconfont icon-close"></text>
</view>
<scroll-view class="coupon-popup-content" scroll-y>
@@ -152,11 +152,11 @@
</view>
<view class="coupon-price" v-if="item.type == 'reward'">
<text>{{ item.money }}</text>
元
{{ $lang('member.currencyUnit') }}
</view>
<view class="coupon-price" v-if="item.type == 'discount'">
<text>{{ $util.numberFixed(item.discount, 1) }}</text>
折
{{ $lang('member.discountUnit') }}
</view>
</view>
</scroll-view>
@@ -267,7 +267,7 @@
},
getBannerDetail(index) {
uni.showLoading({
title: '将前往详情页面',
title: this.$lang('member.goingToDetail'),
duration: 2000,
mask: true
});