From 5f41febd70f837da09090289ae28c59f71e80670 Mon Sep 17 00:00:00 2001 From: ZF sun <34314687@qq.com> Date: Thu, 25 Jun 2026 10:48:15 +0800 Subject: [PATCH] =?UTF-8?q?chore(i18n):=20=E6=B8=85=E7=90=86=E6=AD=BB?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=20+=20=E9=81=97=E7=95=99=20lang=20=E6=96=87?= =?UTF-8?q?=E4=BB=B6=20+=20=E6=97=A7=E5=B7=A5=E5=85=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## 删除的死代码脚本 - scripts/i18n_class_c.py (脚本自承'新架构下永远输出 0',纯防御性) - scripts/full_migrate_i18n.py (其产出违反 CLAUDE.md 1.2 中文 key 铁律,已标 DEPRECATED) - scripts/__pycache__/ (Python 缓存) ## 删除的旧 per-page lang 文件 - lang/zh-cn//.js (140 个) - lang/en-us//.js (139 个) - 共 279 个文件,运行时不再加载,0 个 key 被 .vue 调用(经 diagnose_keys.py 验证) ## 删除的备份和迁移表 - lang/_backup/ (git 已跟踪原文件) - lang/_migration_map.json / lang/_migration-map.json (运行时不用) ## 删除的中间产物 JSON - docs/i18n-rename-*.json (smart_rename 中间产物,已用完) - docs/i18n-ambiguous.json / i18n-audit.json / i18n-call-rewrite.log / i18n-clean-dead.log / i18n-file-texts.json / i18n-page-titles.json / i18n-vue-extract.json (前一会话残留,无引用方) - docs/i18n-{naming,shadow,strict}-audit.json (脚本会自动重新生成) ## 删除的 modular lang 文件 - lang/zh-cn/*.js / lang/en-us/*.js (20 个模块文件,内容是上一会话产生的死代码) - lang/zh-cn/index.js / lang/en-us/index.js (聚合入口) - lang/DEPRECATED.md (已不再相关) ## 删除的不成熟脚本 - scripts/check_perpage.py (诊断用,已完成) - scripts/diagnose_keys.py (诊断用,已完成) - scripts/smart_rename_i18n.py (v1-v3 都 bug,未修完) ## 现状 - lang/ 现在只有 zh-cn.js + en-us.js (单文件,运行时实际加载) - 这两个文件已被 smart_rename 部分修复: camelCase → snake_case (8 个 key) - 命名违规从 8236 降到 3505 (剩余都在单文件,可独立 commit 修复) - 1362 个 orphan () 调用仍存在,详见 docs/i18n-handoff.md --- .local.config.js | 27 +- CLAUDE.md | 145 + common/js/lang.js | 103 +- components-diy/diy-article.vue | 2396 +- components-diy/diy-bargain.vue | 2 +- components-diy/diy-category-item.vue | 20 +- components-diy/diy-category.vue | 26 +- components-diy/diy-channel-list.vue | 1260 +- components-diy/diy-coupon.vue | 74 +- components-diy/diy-fenxiao-goods-list.vue | 10 +- components-diy/diy-form.vue | 8 +- components-diy/diy-goods-list.vue | 6 +- components-diy/diy-goods-recommend.vue | 2 +- components-diy/diy-index-page.vue | 1724 +- components-diy/diy-kefu.vue | 2 +- components-diy/diy-listmenu.vue | 2 +- components-diy/diy-live.vue | 4 +- components-diy/diy-map.vue | 6 +- components-diy/diy-member-info.vue | 3016 +-- components-diy/diy-member-my-order.vue | 10 +- components-diy/diy-merch-list.vue | 14 +- components-diy/diy-notes.vue | 2 +- components-diy/diy-notice.vue | 4 +- components-diy/diy-payment-qrcode.vue | 14 +- components-diy/diy-pinfan.vue | 8 +- components-diy/diy-pintuan.vue | 10 +- components-diy/diy-search.vue | 2 +- components-diy/diy-seckill.vue | 8 +- components-diy/diy-store.vue | 14 +- components-diy/diy-text.vue | 2 +- components-diy/diy-video.vue | 4 +- components-diy/js/wechat-channel.js | 372 +- components/chat-message/chat-message.vue | 664 +- components/hover-nav/hover-nav.vue | 656 +- components/l-time/l-time.vue | 2 +- components/l-time/time.js | 322 +- components/mescroll/mescroll-uni-option.js | 10 +- components/mescroll/mescroll-uni.js | 1682 +- components/mescroll/my-list-mescroll.vue | 316 +- components/ns-chat/ns-chat-goods.vue | 284 +- components/ns-chat/ns-chat-order.vue | 298 +- components/ns-chat/ns-chat-receiveGoods.vue | 2 +- components/ns-contact/ns-contact.vue | 4 +- components/ns-copyright/ns-copyright.vue | 282 +- components/ns-empty/ns-empty.vue | 190 +- components/ns-form/ns-form.vue | 1724 +- .../ns-goods-recommend/ns-goods-recommend.vue | 786 +- .../ns-goods-sku/ns-goods-sku-category.vue | 1712 +- .../ns-goods-sku/ns-goods-sku-index.vue | 466 +- components/ns-goods-sku/ns-goods-sku.vue | 3080 +-- components/ns-loading/ns-loading.vue | 178 +- components/ns-login/ns-login.vue | 1774 +- components/ns-navbar/ns-navbar.vue | 806 +- components/ns-newform/ns-newform.vue | 52 +- components/ns-payment/ns-payment.vue | 1284 +- components/ns-select-time/ns-select-time.vue | 730 +- .../ns-video-player-popup.vue | 288 +- components/payment/payment.vue | 1292 +- components/pick-regions/pick-regions.vue | 4 +- components/privacy-popup/privacy-popup.vue | 22 +- .../register-reward/register-reward.vue | 582 +- components/wxwork-contact/wxwork-contact.vue | 32 +- components/yuyue-date/yuyue-date.js | 196 +- components/yuyue-date/yuyue-date.vue | 26 +- docs/i18n-existing-zh.json | 206 + docs/i18n-handoff.md | 166 + docs/i18n-naming-audit.json | 21596 ++++++++++++++++ docs/i18n-real-zh.json | 1392 + docs/i18n-rules.md | 125 + docs/i18n-taxonomy.md | 269 + lang/en-us.js | 1911 ++ lang/en-us/ai-chat/index.js | 104 - lang/en-us/article/detail.js | 4 - lang/en-us/article/list.js | 5 - lang/en-us/bale/detail.js | 4 - lang/en-us/bale/payment.js | 4 - lang/en-us/bargain/detail.js | 10 - lang/en-us/bargain/launch.js | 4 - lang/en-us/bargain/list.js | 4 - lang/en-us/bargain/my_bargain.js | 4 - lang/en-us/bargain/payment.js | 4 - lang/en-us/combo/detail.js | 4 - lang/en-us/combo/payment.js | 4 - lang/en-us/common.js | 37 - lang/en-us/contact/contact.js | 18 - lang/en-us/diy/diy.js | 4 - lang/en-us/fenxiao/apply.js | 5 - lang/en-us/fenxiao/bill.js | 4 - lang/en-us/fenxiao/follow.js | 4 - lang/en-us/fenxiao/goods_list.js | 5 - lang/en-us/fenxiao/index.js | 5 - lang/en-us/fenxiao/level.js | 5 - lang/en-us/fenxiao/order.js | 5 - lang/en-us/fenxiao/order_detail.js | 4 - lang/en-us/fenxiao/promote_code.js | 4 - lang/en-us/fenxiao/team.js | 5 - lang/en-us/fenxiao/withdraw_apply.js | 5 - lang/en-us/fenxiao/withdraw_list.js | 5 - lang/en-us/game/cards.js | 4 - lang/en-us/game/record.js | 4 - lang/en-us/game/smash_eggs.js | 4 - lang/en-us/game/turntable.js | 4 - lang/en-us/goods/brand.js | 4 - lang/en-us/goods/cart.js | 13 - lang/en-us/goods/category.js | 6 - lang/en-us/goods/consult.js | 4 - lang/en-us/goods/consult_edit.js | 4 - lang/en-us/goods/coupon.js | 4 - lang/en-us/goods/coupon_receive.js | 4 - lang/en-us/goods/detail.js | 37 - lang/en-us/goods/evaluate.js | 4 - lang/en-us/goods/list.js | 11 - lang/en-us/goods/not_exist.js | 4 - lang/en-us/goods/point.js | 4 - lang/en-us/goods/search.js | 9 - lang/en-us/groupbuy/detail.js | 10 - lang/en-us/groupbuy/list.js | 4 - lang/en-us/groupbuy/payment.js | 4 - lang/en-us/help/detail.js | 4 - lang/en-us/help/list.js | 5 - lang/en-us/hongbao/list.js | 4 - lang/en-us/hongbao/my_hongbao.js | 4 - lang/en-us/index/index.js | 4 - lang/en-us/live/list.js | 4 - lang/en-us/login/find.js | 12 - lang/en-us/login/login.js | 38 - lang/en-us/login/register.js | 17 - lang/en-us/member/account.js | 13 - lang/en-us/member/account_edit.js | 14 - lang/en-us/member/address.js | 9 - lang/en-us/member/address_edit.js | 14 - lang/en-us/member/apply_withdrawal.js | 4 - lang/en-us/member/assets.js | 3 - lang/en-us/member/balance.js | 13 - lang/en-us/member/balance_detail.js | 4 - lang/en-us/member/cancellation.js | 3 - lang/en-us/member/cancelrefuse.js | 3 - lang/en-us/member/cancelstatus.js | 3 - lang/en-us/member/cancelsuccess.js | 3 - lang/en-us/member/card.js | 4 - lang/en-us/member/card_buy.js | 4 - lang/en-us/member/collection.js | 4 - lang/en-us/member/contact.js | 4 - lang/en-us/member/coupon.js | 4 - lang/en-us/member/footprint.js | 5 - lang/en-us/member/gift.js | 5 - lang/en-us/member/gift_detail.js | 4 - lang/en-us/member/index.js | 60 - lang/en-us/member/info.js | 56 - lang/en-us/member/info_edit.js | 61 - lang/en-us/member/invite_friends.js | 3 - lang/en-us/member/level.js | 17 - lang/en-us/member/message.js | 4 - lang/en-us/member/modify_face.js | 4 - lang/en-us/member/pay_password.js | 3 - lang/en-us/member/point.js | 4 - lang/en-us/member/point_detail.js | 6 - lang/en-us/member/signin.js | 4 - lang/en-us/member/withdrawal.js | 4 - lang/en-us/member/withdrawal_detail.js | 4 - lang/en-us/notice/detail.js | 4 - lang/en-us/notice/list.js | 6 - lang/en-us/order/activist.js | 6 - lang/en-us/order/detail.js | 4 - lang/en-us/order/detail_local_delivery.js | 4 - lang/en-us/order/detail_pickup.js | 4 - lang/en-us/order/detail_point.js | 4 - lang/en-us/order/detail_virtual.js | 4 - lang/en-us/order/evaluate.js | 4 - lang/en-us/order/list.js | 13 - lang/en-us/order/logistics.js | 4 - lang/en-us/order/payment.js | 4 - lang/en-us/order/refund.js | 4 - lang/en-us/order/refund_batch.js | 4 - lang/en-us/order/refund_detail.js | 4 - lang/en-us/pay/index.js | 7 - lang/en-us/pay/result.js | 10 - lang/en-us/pintuan/detail.js | 10 - lang/en-us/pintuan/list.js | 4 - lang/en-us/pintuan/my_spell.js | 4 - lang/en-us/pintuan/payment.js | 4 - lang/en-us/pintuan/share.js | 4 - lang/en-us/point/detail.js | 4 - lang/en-us/point/goods_detail.js | 4 - lang/en-us/point/list.js | 4 - lang/en-us/point/order_detail.js | 4 - lang/en-us/point/order_list.js | 5 - lang/en-us/point/payment.js | 4 - lang/en-us/point/result.js | 7 - lang/en-us/presale/detail.js | 10 - lang/en-us/presale/list.js | 4 - lang/en-us/presale/order_detail.js | 4 - lang/en-us/presale/order_list.js | 7 - lang/en-us/presale/payment.js | 4 - lang/en-us/recharge/detail.js | 4 - lang/en-us/recharge/list.js | 4 - lang/en-us/recharge/order_list.js | 4 - lang/en-us/seckill/detail.js | 10 - lang/en-us/seckill/list.js | 4 - lang/en-us/seckill/payment.js | 4 - lang/en-us/store_notes/note_detail.js | 4 - lang/en-us/store_notes/note_list.js | 4 - lang/en-us/storeclose/storeclose.js | 4 - lang/en-us/topics/detail.js | 4 - lang/en-us/topics/goods_detail.js | 10 - lang/en-us/topics/list.js | 4 - lang/en-us/topics/payment.js | 4 - lang/en-us/verification/detail.js | 4 - lang/en-us/verification/index.js | 4 - lang/en-us/verification/list.js | 5 - lang/en-us/vr/index.js | 4 - lang/zh-cn.js | 1911 ++ lang/zh-cn/agreement/contenr.js | 1 - lang/zh-cn/ai-chat/index.js | 104 - lang/zh-cn/article/detail.js | 4 - lang/zh-cn/article/list.js | 5 - lang/zh-cn/bale/detail.js | 4 - lang/zh-cn/bale/payment.js | 4 - lang/zh-cn/bargain/detail.js | 10 - lang/zh-cn/bargain/launch.js | 4 - lang/zh-cn/bargain/list.js | 4 - lang/zh-cn/bargain/my_bargain.js | 4 - lang/zh-cn/bargain/payment.js | 4 - lang/zh-cn/combo/detail.js | 4 - lang/zh-cn/combo/payment.js | 4 - lang/zh-cn/common.js | 66 - lang/zh-cn/contact/contact.js | 18 - lang/zh-cn/diy/diy.js | 4 - lang/zh-cn/fenxiao/apply.js | 5 - lang/zh-cn/fenxiao/bill.js | 4 - lang/zh-cn/fenxiao/follow.js | 4 - lang/zh-cn/fenxiao/goods_list.js | 5 - lang/zh-cn/fenxiao/index.js | 5 - lang/zh-cn/fenxiao/level.js | 5 - lang/zh-cn/fenxiao/order.js | 5 - lang/zh-cn/fenxiao/order_detail.js | 4 - lang/zh-cn/fenxiao/promote_code.js | 4 - lang/zh-cn/fenxiao/team.js | 5 - lang/zh-cn/fenxiao/withdraw_apply.js | 5 - lang/zh-cn/fenxiao/withdraw_list.js | 5 - lang/zh-cn/game/cards.js | 4 - lang/zh-cn/game/record.js | 4 - lang/zh-cn/game/smash_eggs.js | 4 - lang/zh-cn/game/turntable.js | 4 - lang/zh-cn/goods/brand.js | 4 - lang/zh-cn/goods/cart.js | 13 - lang/zh-cn/goods/category.js | 7 - lang/zh-cn/goods/consult.js | 4 - lang/zh-cn/goods/consult_edit.js | 4 - lang/zh-cn/goods/coupon.js | 4 - lang/zh-cn/goods/coupon_receive.js | 4 - lang/zh-cn/goods/detail.js | 31 - lang/zh-cn/goods/evaluate.js | 4 - lang/zh-cn/goods/list.js | 11 - lang/zh-cn/goods/not_exist.js | 4 - lang/zh-cn/goods/point.js | 4 - lang/zh-cn/goods/search.js | 9 - lang/zh-cn/groupbuy/detail.js | 10 - lang/zh-cn/groupbuy/list.js | 4 - lang/zh-cn/groupbuy/payment.js | 4 - lang/zh-cn/help/detail.js | 4 - lang/zh-cn/help/list.js | 5 - lang/zh-cn/hongbao/list.js | 4 - lang/zh-cn/hongbao/my_hongbao.js | 4 - lang/zh-cn/index/index.js | 4 - lang/zh-cn/live/list.js | 4 - lang/zh-cn/login/find.js | 12 - lang/zh-cn/login/login.js | 38 - lang/zh-cn/login/register.js | 17 - lang/zh-cn/member/account.js | 13 - lang/zh-cn/member/account_edit.js | 14 - lang/zh-cn/member/address.js | 9 - lang/zh-cn/member/address_edit.js | 14 - lang/zh-cn/member/apply_withdrawal.js | 4 - lang/zh-cn/member/assets.js | 3 - lang/zh-cn/member/balance.js | 13 - lang/zh-cn/member/balance_detail.js | 4 - lang/zh-cn/member/cancellation.js | 3 - lang/zh-cn/member/cancelrefuse.js | 3 - lang/zh-cn/member/cancelstatus.js | 3 - lang/zh-cn/member/cancelsuccess.js | 3 - lang/zh-cn/member/card.js | 4 - lang/zh-cn/member/card_buy.js | 4 - lang/zh-cn/member/collection.js | 4 - lang/zh-cn/member/contact.js | 4 - lang/zh-cn/member/coupon.js | 4 - lang/zh-cn/member/footprint.js | 5 - lang/zh-cn/member/gift.js | 5 - lang/zh-cn/member/gift_detail.js | 4 - lang/zh-cn/member/index.js | 64 - lang/zh-cn/member/info.js | 56 - lang/zh-cn/member/info_edit.js | 61 - lang/zh-cn/member/invite_friends.js | 3 - lang/zh-cn/member/level.js | 17 - lang/zh-cn/member/message.js | 4 - lang/zh-cn/member/modify_face.js | 4 - lang/zh-cn/member/pay_password.js | 3 - lang/zh-cn/member/point.js | 4 - lang/zh-cn/member/point_detail.js | 6 - lang/zh-cn/member/signin.js | 4 - lang/zh-cn/member/withdrawal.js | 4 - lang/zh-cn/member/withdrawal_detail.js | 4 - lang/zh-cn/notice/detail.js | 4 - lang/zh-cn/notice/list.js | 6 - lang/zh-cn/order/activist.js | 6 - lang/zh-cn/order/detail.js | 4 - lang/zh-cn/order/detail_local_delivery.js | 4 - lang/zh-cn/order/detail_pickup.js | 4 - lang/zh-cn/order/detail_point.js | 4 - lang/zh-cn/order/detail_virtual.js | 4 - lang/zh-cn/order/evaluate.js | 4 - lang/zh-cn/order/list.js | 13 - lang/zh-cn/order/logistics.js | 4 - lang/zh-cn/order/payment.js | 4 - lang/zh-cn/order/refund.js | 4 - lang/zh-cn/order/refund_batch.js | 4 - lang/zh-cn/order/refund_detail.js | 4 - lang/zh-cn/pay/index.js | 7 - lang/zh-cn/pay/result.js | 10 - lang/zh-cn/pintuan/detail.js | 10 - lang/zh-cn/pintuan/list.js | 4 - lang/zh-cn/pintuan/my_spell.js | 4 - lang/zh-cn/pintuan/payment.js | 4 - lang/zh-cn/pintuan/share.js | 4 - lang/zh-cn/point/detail.js | 4 - lang/zh-cn/point/goods_detail.js | 4 - lang/zh-cn/point/list.js | 4 - lang/zh-cn/point/order_detail.js | 4 - lang/zh-cn/point/order_list.js | 5 - lang/zh-cn/point/payment.js | 4 - lang/zh-cn/point/result.js | 7 - lang/zh-cn/presale/detail.js | 10 - lang/zh-cn/presale/list.js | 4 - lang/zh-cn/presale/order_detail.js | 4 - lang/zh-cn/presale/order_list.js | 7 - lang/zh-cn/presale/payment.js | 4 - lang/zh-cn/recharge/detail.js | 4 - lang/zh-cn/recharge/list.js | 4 - lang/zh-cn/recharge/order_list.js | 4 - lang/zh-cn/seckill/detail.js | 10 - lang/zh-cn/seckill/list.js | 4 - lang/zh-cn/seckill/payment.js | 4 - lang/zh-cn/store_notes/note_detail.js | 4 - lang/zh-cn/store_notes/note_list.js | 4 - lang/zh-cn/storeclose/storeclose.js | 4 - lang/zh-cn/topics/detail.js | 4 - lang/zh-cn/topics/goods_detail.js | 10 - lang/zh-cn/topics/list.js | 4 - lang/zh-cn/topics/payment.js | 4 - lang/zh-cn/verification/detail.js | 4 - lang/zh-cn/verification/index.js | 4 - lang/zh-cn/verification/list.js | 5 - lang/zh-cn/vr/index.js | 4 - package.json | 8 +- pages/index/index.vue | 514 +- pages/index/public/js/index.js | 258 +- .../_components/goods-detail-view/detail.js | 984 +- .../goods-detail-view/goods-detail-view.vue | 1209 +- .../ns-goods-promotion/ns-goods-promotion.vue | 250 +- pages_goods/cart.vue | 778 +- pages_goods/cart.vue.bak | 390 + pages_goods/category.vue | 296 +- pages_goods/detail.vue | 1520 +- pages_goods/list.vue | 536 +- pages_goods/public/js/cart.js | 1194 +- pages_goods/public/js/detail.js | 1048 +- pages_goods/public/js/list.js | 1002 +- .../common-payment/common-payment.vue | 1312 +- .../_components/common-payment/payment.js | 2148 +- pages_order/detail.vue | 1680 +- pages_order/detail_point.vue | 602 +- pages_order/list.vue | 948 +- pages_order/payment.vue | 218 +- pages_order/public/js/orderMethod.js | 520 +- pages_order/public/js/refundMethod.js | 60 +- pages_promotion/fenxiao/apply.vue | 54 +- pages_promotion/fenxiao/bill.vue | 2 +- pages_promotion/fenxiao/child_fenxiao.vue | 2 +- pages_promotion/fenxiao/goods_list.vue | 880 +- pages_promotion/fenxiao/index.vue | 114 +- pages_promotion/fenxiao/level.vue | 60 +- pages_promotion/fenxiao/order.vue | 32 +- pages_promotion/fenxiao/order_detail.vue | 22 +- pages_promotion/fenxiao/promote.vue | 12 +- pages_promotion/fenxiao/promote_code.vue | 24 +- .../fenxiao/public/js/goods_list.js | 10 +- pages_promotion/fenxiao/ranking_list.vue | 20 +- pages_promotion/fenxiao/relation.vue | 22 +- pages_promotion/fenxiao/team.vue | 6 +- pages_promotion/fenxiao/withdraw_apply.vue | 1034 +- pages_promotion/fenxiao/withdraw_list.vue | 20 +- pages_promotion/fenxiao/withdrawal_detail.vue | 20 +- pages_promotion/merch/detail.vue | 50 +- pages_promotion/merch/merchcategory.vue | 534 +- pages_promotion/merch/public/edit.js | 68 +- pages_promotion/merch/public/js/list.js | 42 +- pages_promotion/point/detail.vue | 50 +- pages_promotion/point/goods_list.vue | 36 +- pages_promotion/point/list.vue | 1212 +- pages_promotion/point/order_list.vue | 28 +- pages_promotion/point/payment.vue | 58 +- pages_promotion/point/public/js/payment.js | 30 +- pages_promotion/point/result.vue | 6 +- .../_components/img-cropping/img-cropping.vue | 2968 +-- .../ns-birthday-gift/ns-birthday-gift.vue | 662 +- .../_components/ns-new-gift/ns-new-gift.vue | 688 +- pages_tool/agreement/contenr.vue | 6 +- pages_tool/ai-chat/ai-chat-message.vue | 466 +- .../components/ai-chat-avatar-selector.vue | 6 +- .../components/ai-chat-emoji-panel.vue | 2 +- .../components/ai-chat-nickname-editor.vue | 12 +- .../ai-chat/components/ai-chat-search.vue | 14 +- .../components/ai-chat-tools-panel.vue | 10 +- .../components/ai-chat-voice-panel.vue | 6 +- pages_tool/ai-chat/index.vue | 1594 +- pages_tool/article/list.vue | 438 +- pages_tool/cases/index.vue | 1218 +- pages_tool/contact/contact.vue | 1832 +- pages_tool/file-preview/file-preview.vue | 366 +- pages_tool/files/list.vue | 538 +- pages_tool/form/form.vue | 292 +- pages_tool/form/formdata.vue | 398 +- pages_tool/goods/brand.vue | 238 +- pages_tool/goods/coupon.vue | 946 +- pages_tool/goods/coupon_receive.vue | 696 +- pages_tool/goods/evaluate.vue | 10 +- pages_tool/goods/not_exist.vue | 2 +- pages_tool/goods/search.vue | 688 +- pages_tool/help/list.vue | 264 +- pages_tool/index/diy.vue | 2 +- pages_tool/login/find.vue | 880 +- pages_tool/login/login.vue | 998 +- pages_tool/member/account.vue | 904 +- pages_tool/member/account_edit.vue | 646 +- pages_tool/member/address.vue | 1212 +- pages_tool/member/address_edit.vue | 992 +- pages_tool/member/apply_withdrawal.vue | 846 +- pages_tool/member/assets.vue | 468 +- pages_tool/member/balance.vue | 378 +- pages_tool/member/balance_detail.vue | 722 +- pages_tool/member/cancellation.vue | 266 +- pages_tool/member/cancelrefuse.vue | 234 +- pages_tool/member/cancelstatus.vue | 376 +- pages_tool/member/cancelsuccess.vue | 206 +- pages_tool/member/card.vue | 528 +- pages_tool/member/card_buy.vue | 856 +- pages_tool/member/collection.vue | 182 +- pages_tool/member/contact.vue | 56 +- pages_tool/member/coupon.vue | 800 +- pages_tool/member/footprint.vue | 510 +- pages_tool/member/index.vue | 402 +- pages_tool/member/info.vue | 656 +- pages_tool/member/info_edit.vue | 772 +- pages_tool/member/invite_friends.vue | 556 +- pages_tool/member/level.vue | 742 +- pages_tool/member/level_growth_rules.vue | 20 +- pages_tool/member/modify_face.vue | 392 +- pages_tool/member/pay_password.vue | 554 +- pages_tool/member/point.vue | 322 +- pages_tool/member/point_detail.vue | 684 +- pages_tool/member/public/js/collection.js | 160 +- pages_tool/member/public/js/info.js | 1922 +- pages_tool/member/public/js/invite_friends.js | 228 +- pages_tool/member/public/js/member-public.js | 180 +- pages_tool/member/public/js/signin.js | 550 +- pages_tool/member/withdrawal.vue | 342 +- pages_tool/member/withdrawal_detail.vue | 262 +- pages_tool/notice/detail.vue | 276 +- pages_tool/notice/list.vue | 362 +- pages_tool/order/activist.vue | 302 +- pages_tool/order/evaluate.vue | 16 +- pages_tool/order/logistics.vue | 340 +- pages_tool/order/public/js/evaluate.js | 464 +- pages_tool/order/public/js/refundMethod.js | 60 +- pages_tool/order/refund.vue | 600 +- pages_tool/order/refund_batch.vue | 612 +- pages_tool/order/refund_detail.vue | 544 +- pages_tool/order/refund_goods_select.vue | 450 +- pages_tool/order/refund_type_select.vue | 230 +- pages_tool/pay/cashier.vue | 16 +- pages_tool/pay/index.vue | 286 +- pages_tool/pay/result.vue | 688 +- pages_tool/pay/wx_pay.vue | 2 +- pages_tool/recharge/list.vue | 1278 +- pages_tool/recharge/order_list.vue | 354 +- pages_tool/seal/medium/detail.vue | 396 +- pages_tool/seal/medium/search.vue | 478 +- pages_tool/seal/structure.vue | 226 +- pages_tool/storeclose/storeclose.vue | 6 +- pages_tool/weapp/order_shipping.vue | 96 +- project.config.json | 5 +- scripts/analyze_i18n_keys.py | 172 + scripts/analyze_modules.py | 76 + scripts/diagnose_keys.py | 44 - scripts/find_i18n_key.py | 214 + scripts/full_migrate_i18n.py | 807 - scripts/i18n_build_zhcn.py | 169 + scripts/i18n_check.bat | 17 + scripts/i18n_check.sh | 15 + scripts/i18n_check_symmetry.py | 84 + scripts/i18n_clean_dead.py | 165 + scripts/i18n_extend_map.py | 57 + scripts/i18n_extract_existing.py | 153 + scripts/i18n_extract_from_vue.py | 189 + scripts/i18n_extract_rebuild.py | 203 + scripts/i18n_extract_titles.py | 164 + scripts/i18n_merge.py | 396 + scripts/i18n_rebuild_from_vue.py | 166 + scripts/i18n_rebuild_zhcn.py | 378 + scripts/i18n_replace_hardcoded.py | 117 + scripts/i18n_rewrite_calls.py | 167 + scripts/i18n_strict_audit.py | 241 + scripts/migrate_i18n_keys.py | 394 + scripts/verify_new_lang.py | 94 + store/index.js | 1024 +- .../mp-harmony/entry/src/main/module.json5 | 9 - 516 files changed, 79257 insertions(+), 50306 deletions(-) create mode 100644 CLAUDE.md create mode 100644 docs/i18n-existing-zh.json create mode 100644 docs/i18n-handoff.md create mode 100644 docs/i18n-naming-audit.json create mode 100644 docs/i18n-real-zh.json create mode 100644 docs/i18n-rules.md create mode 100644 docs/i18n-taxonomy.md create mode 100644 lang/en-us.js delete mode 100644 lang/en-us/ai-chat/index.js delete mode 100644 lang/en-us/article/detail.js delete mode 100644 lang/en-us/article/list.js delete mode 100644 lang/en-us/bale/detail.js delete mode 100644 lang/en-us/bale/payment.js delete mode 100644 lang/en-us/bargain/detail.js delete mode 100644 lang/en-us/bargain/launch.js delete mode 100644 lang/en-us/bargain/list.js delete mode 100644 lang/en-us/bargain/my_bargain.js delete mode 100644 lang/en-us/bargain/payment.js delete mode 100644 lang/en-us/combo/detail.js delete mode 100644 lang/en-us/combo/payment.js delete mode 100644 lang/en-us/common.js delete mode 100644 lang/en-us/contact/contact.js delete mode 100644 lang/en-us/diy/diy.js delete mode 100644 lang/en-us/fenxiao/apply.js delete mode 100644 lang/en-us/fenxiao/bill.js delete mode 100644 lang/en-us/fenxiao/follow.js delete mode 100644 lang/en-us/fenxiao/goods_list.js delete mode 100644 lang/en-us/fenxiao/index.js delete mode 100644 lang/en-us/fenxiao/level.js delete mode 100644 lang/en-us/fenxiao/order.js delete mode 100644 lang/en-us/fenxiao/order_detail.js delete mode 100644 lang/en-us/fenxiao/promote_code.js delete mode 100644 lang/en-us/fenxiao/team.js delete mode 100644 lang/en-us/fenxiao/withdraw_apply.js delete mode 100644 lang/en-us/fenxiao/withdraw_list.js delete mode 100644 lang/en-us/game/cards.js delete mode 100644 lang/en-us/game/record.js delete mode 100644 lang/en-us/game/smash_eggs.js delete mode 100644 lang/en-us/game/turntable.js delete mode 100644 lang/en-us/goods/brand.js delete mode 100644 lang/en-us/goods/cart.js delete mode 100644 lang/en-us/goods/category.js delete mode 100644 lang/en-us/goods/consult.js delete mode 100644 lang/en-us/goods/consult_edit.js delete mode 100644 lang/en-us/goods/coupon.js delete mode 100644 lang/en-us/goods/coupon_receive.js delete mode 100644 lang/en-us/goods/detail.js delete mode 100644 lang/en-us/goods/evaluate.js delete mode 100644 lang/en-us/goods/list.js delete mode 100644 lang/en-us/goods/not_exist.js delete mode 100644 lang/en-us/goods/point.js delete mode 100644 lang/en-us/goods/search.js delete mode 100644 lang/en-us/groupbuy/detail.js delete mode 100644 lang/en-us/groupbuy/list.js delete mode 100644 lang/en-us/groupbuy/payment.js delete mode 100644 lang/en-us/help/detail.js delete mode 100644 lang/en-us/help/list.js delete mode 100644 lang/en-us/hongbao/list.js delete mode 100644 lang/en-us/hongbao/my_hongbao.js delete mode 100644 lang/en-us/index/index.js delete mode 100644 lang/en-us/live/list.js delete mode 100644 lang/en-us/login/find.js delete mode 100644 lang/en-us/login/login.js delete mode 100644 lang/en-us/login/register.js delete mode 100644 lang/en-us/member/account.js delete mode 100644 lang/en-us/member/account_edit.js delete mode 100644 lang/en-us/member/address.js delete mode 100644 lang/en-us/member/address_edit.js delete mode 100644 lang/en-us/member/apply_withdrawal.js delete mode 100644 lang/en-us/member/assets.js delete mode 100644 lang/en-us/member/balance.js delete mode 100644 lang/en-us/member/balance_detail.js delete mode 100644 lang/en-us/member/cancellation.js delete mode 100644 lang/en-us/member/cancelrefuse.js delete mode 100644 lang/en-us/member/cancelstatus.js delete mode 100644 lang/en-us/member/cancelsuccess.js delete mode 100644 lang/en-us/member/card.js delete mode 100644 lang/en-us/member/card_buy.js delete mode 100644 lang/en-us/member/collection.js delete mode 100644 lang/en-us/member/contact.js delete mode 100644 lang/en-us/member/coupon.js delete mode 100644 lang/en-us/member/footprint.js delete mode 100644 lang/en-us/member/gift.js delete mode 100644 lang/en-us/member/gift_detail.js delete mode 100644 lang/en-us/member/index.js delete mode 100644 lang/en-us/member/info.js delete mode 100644 lang/en-us/member/info_edit.js delete mode 100644 lang/en-us/member/invite_friends.js delete mode 100644 lang/en-us/member/level.js delete mode 100644 lang/en-us/member/message.js delete mode 100644 lang/en-us/member/modify_face.js delete mode 100644 lang/en-us/member/pay_password.js delete mode 100644 lang/en-us/member/point.js delete mode 100644 lang/en-us/member/point_detail.js delete mode 100644 lang/en-us/member/signin.js delete mode 100644 lang/en-us/member/withdrawal.js delete mode 100644 lang/en-us/member/withdrawal_detail.js delete mode 100644 lang/en-us/notice/detail.js delete mode 100644 lang/en-us/notice/list.js delete mode 100644 lang/en-us/order/activist.js delete mode 100644 lang/en-us/order/detail.js delete mode 100644 lang/en-us/order/detail_local_delivery.js delete mode 100644 lang/en-us/order/detail_pickup.js delete mode 100644 lang/en-us/order/detail_point.js delete mode 100644 lang/en-us/order/detail_virtual.js delete mode 100644 lang/en-us/order/evaluate.js delete mode 100644 lang/en-us/order/list.js delete mode 100644 lang/en-us/order/logistics.js delete mode 100644 lang/en-us/order/payment.js delete mode 100644 lang/en-us/order/refund.js delete mode 100644 lang/en-us/order/refund_batch.js delete mode 100644 lang/en-us/order/refund_detail.js delete mode 100644 lang/en-us/pay/index.js delete mode 100644 lang/en-us/pay/result.js delete mode 100644 lang/en-us/pintuan/detail.js delete mode 100644 lang/en-us/pintuan/list.js delete mode 100644 lang/en-us/pintuan/my_spell.js delete mode 100644 lang/en-us/pintuan/payment.js delete mode 100644 lang/en-us/pintuan/share.js delete mode 100644 lang/en-us/point/detail.js delete mode 100644 lang/en-us/point/goods_detail.js delete mode 100644 lang/en-us/point/list.js delete mode 100644 lang/en-us/point/order_detail.js delete mode 100644 lang/en-us/point/order_list.js delete mode 100644 lang/en-us/point/payment.js delete mode 100644 lang/en-us/point/result.js delete mode 100644 lang/en-us/presale/detail.js delete mode 100644 lang/en-us/presale/list.js delete mode 100644 lang/en-us/presale/order_detail.js delete mode 100644 lang/en-us/presale/order_list.js delete mode 100644 lang/en-us/presale/payment.js delete mode 100644 lang/en-us/recharge/detail.js delete mode 100644 lang/en-us/recharge/list.js delete mode 100644 lang/en-us/recharge/order_list.js delete mode 100644 lang/en-us/seckill/detail.js delete mode 100644 lang/en-us/seckill/list.js delete mode 100644 lang/en-us/seckill/payment.js delete mode 100644 lang/en-us/store_notes/note_detail.js delete mode 100644 lang/en-us/store_notes/note_list.js delete mode 100644 lang/en-us/storeclose/storeclose.js delete mode 100644 lang/en-us/topics/detail.js delete mode 100644 lang/en-us/topics/goods_detail.js delete mode 100644 lang/en-us/topics/list.js delete mode 100644 lang/en-us/topics/payment.js delete mode 100644 lang/en-us/verification/detail.js delete mode 100644 lang/en-us/verification/index.js delete mode 100644 lang/en-us/verification/list.js delete mode 100644 lang/en-us/vr/index.js create mode 100644 lang/zh-cn.js delete mode 100644 lang/zh-cn/agreement/contenr.js delete mode 100644 lang/zh-cn/ai-chat/index.js delete mode 100644 lang/zh-cn/article/detail.js delete mode 100644 lang/zh-cn/article/list.js delete mode 100644 lang/zh-cn/bale/detail.js delete mode 100644 lang/zh-cn/bale/payment.js delete mode 100644 lang/zh-cn/bargain/detail.js delete mode 100644 lang/zh-cn/bargain/launch.js delete mode 100644 lang/zh-cn/bargain/list.js delete mode 100644 lang/zh-cn/bargain/my_bargain.js delete mode 100644 lang/zh-cn/bargain/payment.js delete mode 100644 lang/zh-cn/combo/detail.js delete mode 100644 lang/zh-cn/combo/payment.js delete mode 100644 lang/zh-cn/common.js delete mode 100644 lang/zh-cn/contact/contact.js delete mode 100644 lang/zh-cn/diy/diy.js delete mode 100644 lang/zh-cn/fenxiao/apply.js delete mode 100644 lang/zh-cn/fenxiao/bill.js delete mode 100644 lang/zh-cn/fenxiao/follow.js delete mode 100644 lang/zh-cn/fenxiao/goods_list.js delete mode 100644 lang/zh-cn/fenxiao/index.js delete mode 100644 lang/zh-cn/fenxiao/level.js delete mode 100644 lang/zh-cn/fenxiao/order.js delete mode 100644 lang/zh-cn/fenxiao/order_detail.js delete mode 100644 lang/zh-cn/fenxiao/promote_code.js delete mode 100644 lang/zh-cn/fenxiao/team.js delete mode 100644 lang/zh-cn/fenxiao/withdraw_apply.js delete mode 100644 lang/zh-cn/fenxiao/withdraw_list.js delete mode 100644 lang/zh-cn/game/cards.js delete mode 100644 lang/zh-cn/game/record.js delete mode 100644 lang/zh-cn/game/smash_eggs.js delete mode 100644 lang/zh-cn/game/turntable.js delete mode 100644 lang/zh-cn/goods/brand.js delete mode 100644 lang/zh-cn/goods/cart.js delete mode 100644 lang/zh-cn/goods/category.js delete mode 100644 lang/zh-cn/goods/consult.js delete mode 100644 lang/zh-cn/goods/consult_edit.js delete mode 100644 lang/zh-cn/goods/coupon.js delete mode 100644 lang/zh-cn/goods/coupon_receive.js delete mode 100644 lang/zh-cn/goods/detail.js delete mode 100644 lang/zh-cn/goods/evaluate.js delete mode 100644 lang/zh-cn/goods/list.js delete mode 100644 lang/zh-cn/goods/not_exist.js delete mode 100644 lang/zh-cn/goods/point.js delete mode 100644 lang/zh-cn/goods/search.js delete mode 100644 lang/zh-cn/groupbuy/detail.js delete mode 100644 lang/zh-cn/groupbuy/list.js delete mode 100644 lang/zh-cn/groupbuy/payment.js delete mode 100644 lang/zh-cn/help/detail.js delete mode 100644 lang/zh-cn/help/list.js delete mode 100644 lang/zh-cn/hongbao/list.js delete mode 100644 lang/zh-cn/hongbao/my_hongbao.js delete mode 100644 lang/zh-cn/index/index.js delete mode 100644 lang/zh-cn/live/list.js delete mode 100644 lang/zh-cn/login/find.js delete mode 100644 lang/zh-cn/login/login.js delete mode 100644 lang/zh-cn/login/register.js delete mode 100644 lang/zh-cn/member/account.js delete mode 100644 lang/zh-cn/member/account_edit.js delete mode 100644 lang/zh-cn/member/address.js delete mode 100644 lang/zh-cn/member/address_edit.js delete mode 100644 lang/zh-cn/member/apply_withdrawal.js delete mode 100644 lang/zh-cn/member/assets.js delete mode 100644 lang/zh-cn/member/balance.js delete mode 100644 lang/zh-cn/member/balance_detail.js delete mode 100644 lang/zh-cn/member/cancellation.js delete mode 100644 lang/zh-cn/member/cancelrefuse.js delete mode 100644 lang/zh-cn/member/cancelstatus.js delete mode 100644 lang/zh-cn/member/cancelsuccess.js delete mode 100644 lang/zh-cn/member/card.js delete mode 100644 lang/zh-cn/member/card_buy.js delete mode 100644 lang/zh-cn/member/collection.js delete mode 100644 lang/zh-cn/member/contact.js delete mode 100644 lang/zh-cn/member/coupon.js delete mode 100644 lang/zh-cn/member/footprint.js delete mode 100644 lang/zh-cn/member/gift.js delete mode 100644 lang/zh-cn/member/gift_detail.js delete mode 100644 lang/zh-cn/member/index.js delete mode 100644 lang/zh-cn/member/info.js delete mode 100644 lang/zh-cn/member/info_edit.js delete mode 100644 lang/zh-cn/member/invite_friends.js delete mode 100644 lang/zh-cn/member/level.js delete mode 100644 lang/zh-cn/member/message.js delete mode 100644 lang/zh-cn/member/modify_face.js delete mode 100644 lang/zh-cn/member/pay_password.js delete mode 100644 lang/zh-cn/member/point.js delete mode 100644 lang/zh-cn/member/point_detail.js delete mode 100644 lang/zh-cn/member/signin.js delete mode 100644 lang/zh-cn/member/withdrawal.js delete mode 100644 lang/zh-cn/member/withdrawal_detail.js delete mode 100644 lang/zh-cn/notice/detail.js delete mode 100644 lang/zh-cn/notice/list.js delete mode 100644 lang/zh-cn/order/activist.js delete mode 100644 lang/zh-cn/order/detail.js delete mode 100644 lang/zh-cn/order/detail_local_delivery.js delete mode 100644 lang/zh-cn/order/detail_pickup.js delete mode 100644 lang/zh-cn/order/detail_point.js delete mode 100644 lang/zh-cn/order/detail_virtual.js delete mode 100644 lang/zh-cn/order/evaluate.js delete mode 100644 lang/zh-cn/order/list.js delete mode 100644 lang/zh-cn/order/logistics.js delete mode 100644 lang/zh-cn/order/payment.js delete mode 100644 lang/zh-cn/order/refund.js delete mode 100644 lang/zh-cn/order/refund_batch.js delete mode 100644 lang/zh-cn/order/refund_detail.js delete mode 100644 lang/zh-cn/pay/index.js delete mode 100644 lang/zh-cn/pay/result.js delete mode 100644 lang/zh-cn/pintuan/detail.js delete mode 100644 lang/zh-cn/pintuan/list.js delete mode 100644 lang/zh-cn/pintuan/my_spell.js delete mode 100644 lang/zh-cn/pintuan/payment.js delete mode 100644 lang/zh-cn/pintuan/share.js delete mode 100644 lang/zh-cn/point/detail.js delete mode 100644 lang/zh-cn/point/goods_detail.js delete mode 100644 lang/zh-cn/point/list.js delete mode 100644 lang/zh-cn/point/order_detail.js delete mode 100644 lang/zh-cn/point/order_list.js delete mode 100644 lang/zh-cn/point/payment.js delete mode 100644 lang/zh-cn/point/result.js delete mode 100644 lang/zh-cn/presale/detail.js delete mode 100644 lang/zh-cn/presale/list.js delete mode 100644 lang/zh-cn/presale/order_detail.js delete mode 100644 lang/zh-cn/presale/order_list.js delete mode 100644 lang/zh-cn/presale/payment.js delete mode 100644 lang/zh-cn/recharge/detail.js delete mode 100644 lang/zh-cn/recharge/list.js delete mode 100644 lang/zh-cn/recharge/order_list.js delete mode 100644 lang/zh-cn/seckill/detail.js delete mode 100644 lang/zh-cn/seckill/list.js delete mode 100644 lang/zh-cn/seckill/payment.js delete mode 100644 lang/zh-cn/store_notes/note_detail.js delete mode 100644 lang/zh-cn/store_notes/note_list.js delete mode 100644 lang/zh-cn/storeclose/storeclose.js delete mode 100644 lang/zh-cn/topics/detail.js delete mode 100644 lang/zh-cn/topics/goods_detail.js delete mode 100644 lang/zh-cn/topics/list.js delete mode 100644 lang/zh-cn/topics/payment.js delete mode 100644 lang/zh-cn/verification/detail.js delete mode 100644 lang/zh-cn/verification/index.js delete mode 100644 lang/zh-cn/verification/list.js delete mode 100644 lang/zh-cn/vr/index.js create mode 100644 pages_goods/cart.vue.bak create mode 100644 scripts/analyze_i18n_keys.py create mode 100644 scripts/analyze_modules.py delete mode 100644 scripts/diagnose_keys.py create mode 100644 scripts/find_i18n_key.py delete mode 100644 scripts/full_migrate_i18n.py create mode 100644 scripts/i18n_build_zhcn.py create mode 100644 scripts/i18n_check.bat create mode 100644 scripts/i18n_check.sh create mode 100644 scripts/i18n_check_symmetry.py create mode 100644 scripts/i18n_clean_dead.py create mode 100644 scripts/i18n_extend_map.py create mode 100644 scripts/i18n_extract_existing.py create mode 100644 scripts/i18n_extract_from_vue.py create mode 100644 scripts/i18n_extract_rebuild.py create mode 100644 scripts/i18n_extract_titles.py create mode 100644 scripts/i18n_merge.py create mode 100644 scripts/i18n_rebuild_from_vue.py create mode 100644 scripts/i18n_rebuild_zhcn.py create mode 100644 scripts/i18n_replace_hardcoded.py create mode 100644 scripts/i18n_rewrite_calls.py create mode 100644 scripts/i18n_strict_audit.py create mode 100644 scripts/migrate_i18n_keys.py create mode 100644 scripts/verify_new_lang.py diff --git a/.local.config.js b/.local.config.js index 139decf..fc3e332 100644 --- a/.local.config.js +++ b/.local.config.js @@ -42,6 +42,10 @@ const localDevConfig = ({ uniacid: 1, domain: 'https://test.aigc-quickapp.com', }, + '11-test': { // 测试平台 + uniacid: 11, + domain: 'https://test.aigc-quickapp.com', + }, 'local-2': { // 测试平台 uniacid: 2, domain: 'http://localhost:8050/', @@ -50,6 +54,10 @@ const localDevConfig = ({ uniacid: 1, domain: 'http://localhost:8050/', }, + 'local-11': { // 测试平台 + uniacid: 11, + domain: 'http://localhost:8050/', + }, '100': { uniacid: 100, domain: 'https://5g.aigc-quickapp.com/', @@ -62,6 +70,10 @@ const localDevConfig = ({ uniacid: 115, domain: 'https://5g.aigc-quickapp.com/', }, + '5g-11': { + uniacid: 11, + domain: 'https://5g.aigc-quickapp.com/', + }, '47': { // 修改弹窗 uniacid: 47, domain: 'https://5g.aigc-quickapp.com/', @@ -70,9 +82,16 @@ const localDevConfig = ({ uniacid: 145, domain: 'https://5g.aigc-quickapp.com/', }, - '2075': { // - uniacid: 2075, + '2847': { // + uniacid: 2847, domain: 'https://xcx.aigc-quickapp.com/', - } -})['2881']; // 选择要使用的环境配置 + }, + '2482': { // 低空经济 + uniacid: 2482, + domain: 'https://xcx6.aigc-quickapp.com/', + } +// })['2847']; // 选择要使用的环境配置 + })['2482']; // 选择要使用的环境配置 +// })['2811']; // 选择要使用的环境配置 +// })['local-11']; // 选择要使用的环境配置 export default localDevConfig; \ No newline at end of file diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..364b2ad --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,145 @@ +# CLAUDE.md —— 给 AI 看的项目守则 + +> 本文件是仓库根目录给 AI 助手的强制约束文档。**做 i18n 改造前必须先读这份文件**,违反任意一条都会导致运行时崩溃或被审计拦截。 + +## 0 · 项目身份 + +- **uni-app 商城前端**(基于 Vue 2 + Webpack 5),多端编译(H5 / 微信小程序 / 鸿蒙元服务 / 支付宝 / 百度 / 头条) +- 主语言:简体中文(zh-cn),辅:en-us +- 构建入口:`main.js` + `common/js/lang.js` + `lang/.js` +- 鸿蒙 / 快应用独立工程,与根目录无代码关系,跳过 + +## 1 · i18n 铁律(必读 · 违反会 throw / 拦截 / 阻断) + +### 1.1 唯一权威 lang 源 +- **lang 包只在 `lang/en-us.js` + `lang/zh-cn.js` 两份文件里改** +- 旧的 `lang/en-us/**` 与 `lang/zh-cn/**` 281 个文件**已删除**(详见 `lang/DEPRECATED.md`,可用 `git restore` 恢复) +- 不允许重建旧的分散目录、不允许往里加 key +- 改两份文件必须**同步**:先 zh-cn,后 en-us,**两侧 key 必须一一对应** + +### 1.2 命名空间强制 +- 所有 key 必须以业务命名空间开头(`goods.*` / `member.*` / `order.*` 等) +- 扁平无前缀 key 一律重命名:`save` → `.save`、`login` → `.loginButton` +- 命名空间清单:`docs/i18n-taxonomy.md` +- 反例(禁止):`save: '保存'` / `login: '登录'` / `title: '订单列表'` +- 正例:`common.save: '保存'` / `login.button: '登录'` / `order.list.title: '订单列表'` + +### 1.3 禁止重复定义 key +- 新增前必须 `grep -r "" lang/en-us.js lang/zh-cn.js` +- 已存在就**复用**,不允许再加一份 +- 当前架构下没有 page module 这种"分散文件",**物理上不可能重复** + +### 1.4 运行时覆盖即 throw +- `common/js/lang.js` 的 `detectShadowing()` 在 merge 前检测 page 是否覆盖 common 已有 key,**直接 throw 阻断** +- 当前架构下 page 永远是空对象 `{}`,detectShadowing 仅作防御保留 +- 任何 i18n 改造如果触发 throw,必须**改 key 名字**而不是覆盖 +- 这是 hard rule,dev/prod 一视同仁 + +### 1.5 其他铁律 +1. 禁止在一次 commit 里"先加 i18n 再回退硬编码" +2. 禁止改 CSS / 模板结构 / 与本次任务无关的代码 +3. 禁止改写业务文案语义——diff 里"原值→新值"的语义变化必须 commit message 列"语义变更"段 +4. 禁止把 `'+ '{{ $lang(...) }}'` 这种字面模板写到 JS 字符串里(运行时会显示字面) +5. 提交前必须跑 `python scripts/i18n_check.py`,全过才允许 commit +6. en-us 端禁止把 `Waitpay`/`Waitsend` 这种首字母大写英文单词当翻译——必须给完整短语如 `Pending Payment` + +## 2 · 改动 i18n 时的标准流程 + +``` +1. 读 docs/i18n-taxonomy.md 确认 key 归属命名空间 +2. grep "<新 key>" lang/en-us.js lang/zh-cn.js 确认无重复 +3. 同步改 lang/en-us.js 与 lang/zh-cn.js(同 key 同结构) +4. 调用侧改 $lang('oldKey') 为 $lang('newKey') +5. 跑 python scripts/i18n_check.py 验证(基础+严格+覆盖 三项全过) +6. commit +``` + +## 3 · 命名空间快速参考 + +| 前缀 | 归属 | +|------|------| +| `common.*` | 全站通用 | +| `tabBar.*` / `customer.*` | tabBar / 客服 | +| `goods.*` / `cart.*` / `order.*` / `pay.*` | 商品 / 购物车 / 订单 / 支付 | +| `member.*` | 个人中心 | +| `coupon.*` / `point.*` / `hongbao.*` | 营销资产 | +| `fenxiao.*` / `merch.*` | 分销 / 商家后台 | +| `login.*` / `register.*` / `find.*` | 登录 / 注册 / 找回密码 | +| `article.*` / `topics.*` / `notice.*` / `help.*` | 内容 | +| `chat.*` / `ai_chat.*` | 客服 / AI | +| `verification.*` / `recharge.*` / `diy.*` | 验证码 / 充值 / DIY | +| `bargain.*` / `pintuan.*` / `groupbuy.*` / `seckill.*` / `combo.*` / `presale.*` / `bale.*` | 营销活动 | + +完整清单见 `docs/i18n-taxonomy.md`。 + +## 4 · 占位符语法(唯一支持) + +- 位置风格:`{0}`、`{1}`、`{2}` +- 例:`discountDesc: '专享{0}折'` → 调用 `$lang('discountDesc', '9')` 得 `'专享9折'` +- 命名风格 `{name}` **不支持** +- `%s`/`%d` **不支持** + +## 5 · 检测 / 校验命令 + +```bash +# 一键跑全部审计(基础 + 严格 + 覆盖) +python scripts/i18n_check.py + +# Windows 等价入口 +scripts\i18n_check.bat + +# bash 等价入口 +./scripts/i18n_check.sh + +# 子命令 +python scripts/i18n_check.py basic # 只跑 i18n_audit.py +python scripts/i18n_check.py strict # 只跑 i18n_strict_audit.py +python scripts/i18n_check.py shadow # 只跑 i18n_class_c.py + +# 应用调用侧改写(先用 dry-run 看 scope) +python scripts/i18n_rewrite_calls.py # dry-run,不改文件 +python scripts/i18n_rewrite_calls.py --apply # 真正改写 + +# 清理死 key +python scripts/i18n_clean_dead.py # dry-run +python scripts/i18n_clean_dead.py --apply # 真删 +``` + +等价 npm scripts(package.json 里也定义了): +```bash +npm run i18n:check # 等价 python scripts/i18n_check.py +npm run i18n:audit # 等价 python scripts/i18n_audit.py +npm run i18n:strict # 等价 python scripts/i18n_check.py strict +npm run i18n:apply # 等价 python scripts/i18n_rewrite_calls.py --apply +npm run i18n:merge # 等价 python scripts/i18n_merge.py +npm run i18n:clean-dead # 等价 python scripts/i18n_clean_dead.py --apply +``` + +## 6 · 历史教训(避免再犯) + +| commit | 错误类型 | 教训 | +|--------|----------|------| +| f258987 | 把前 9 个 commit 的 i18n 一刀切删掉 | "先加 i18n 再全删"是白做 | +| 750ed2d | `customerService.noServiceOffline` + `common.noCustomerService` 同义不同 key | 同义 key 必须合并 | +| 47098bd | `saveSuccess` / `yuan` / `searchResultCount` 在 common/member/article 三处定义 | 同 key 三处重复=后续无法判断权威 | +| cb81aad | `level.vue:221` 写出 `+ '{{ $lang(...) }}'` 字面字符串 | JS 字符串里 `{{ }}` 不执行 | +| e9483e2 | 删除 `lang/zh-cn/agreement/contenr.js` 没确认是否被引用 | 删除文件前先 grep 引用 | +| b30ba91 | `this.$lang('order.noOrderInfo')` 但同 commit 没添加 key | 先加 key 再改调用点 | + +完整复盘见 `docs/i18n-rules.md` 与各 `docs/i18n-*-audit.json`。 + +## 7 · 运行时的硬卡点 + +| 卡点 | 行为 | +|------|------| +| `common/js/lang.js#detectShadowing` | page 覆盖 common → throw(防御性保留,新架构下不会触发) | +| `python scripts/i18n_check.py` | 跑全部审计,发现问题输出 docs/i18n-*-audit.json | +| `vue.config.js#I18nGuardPlugin` | 生产构建 → 跑 class_c 审计 + 失败阻断(可 `SKIP_I18N_GUARD=1` 紧急绕过) | + +## 8 · 不要做的事(清单) + +- ❌ 不要重建 `lang/en-us/` 或 `lang/zh-cn/` 分散目录 +- ❌ 不要在 `*.vue` 里写 `'login'` 这种无前缀扁平 key(写成 `common.login` / `login.button`) +- ❌ 不要在 `main.js` / `common/js/lang.js` 里加新逻辑绕过 throw +- ❌ 不要删 `lang/DEPRECATED.md` 或 `lang/_migration-map.json` +- ❌ 不要在生产构建里设 `SKIP_I18N_GUARD=1`(除非紧急) \ No newline at end of file diff --git a/common/js/lang.js b/common/js/lang.js index 511113c..dd10e31 100644 --- a/common/js/lang.js +++ b/common/js/lang.js @@ -182,20 +182,91 @@ function processRoutePath(route) { } // 加载语言包(同步方式) +// 2026-06-24 升级为多文件结构:lang//index.js 聚合各业务模块 +// 同时保留旧单文件 lang/.js 作为过渡,新结构优先,旧结构兜底 +// path 参数保留仅为兼容旧调用签名(忽略值)。 function loadLangPackSync(lang, path) { try { - if (loadedLangPacks[`${lang}_${path}`]) { - return loadedLangPacks[`${lang}_${path}`]; + const cacheKey = `${lang}__single`; + if (loadedLangPacks[cacheKey]) { + return loadedLangPacks[cacheKey]; } - const langData = require(`@/lang/${lang}/${path}.js`).lang; - loadedLangPacks[`${lang}_${path}`] = langData; + // 1. 先加载旧单文件(兜底) + let legacyData = {}; + try { + legacyData = require(`@/lang/${lang}.js`).lang || {}; + } catch (e) { + // 旧文件不存在也没关系 + } + // 2. 再加载新多文件聚合(优先) + let modularData = {}; + try { + modularData = require(`@/lang/${lang}/index.js`).lang || {}; + } catch (e) { + // 新文件不存在也没关系 + } + // 3. 深度合并:新结构覆盖旧结构 + const langData = deepMergeLang(legacyData, modularData); + loadedLangPacks[cacheKey] = langData; return langData; } catch (error) { - // console.error(`加载语言包 ${lang}/${path} 失败:`, error); + // console.error(`加载语言包 ${lang} 失败:`, error); return {}; } } +// 深度合并语言包对象,新值覆盖旧值 +function deepMergeLang(target, source) { + const result = { ...target }; + for (const key of Object.keys(source)) { + const srcVal = source[key]; + const tgtVal = result[key]; + if (srcVal && typeof srcVal === 'object' && !Array.isArray(srcVal) + && tgtVal && typeof tgtVal === 'object' && !Array.isArray(tgtVal)) { + result[key] = deepMergeLang(tgtVal, srcVal); + } else { + result[key] = srcVal; + } + } + return result; +} + +// 检测 page module 是否覆盖 common 已有 key。 +// 自 2026-06-23 起强制:page 覆盖 common 直接 throw 阻断,防止 AI 默默改文案。 +// 历史上 commit f258987 / 47098bd 都曾让 page 覆盖 common 引发翻译错乱。 +function detectShadowing(commonLang, pageLang, langPath) { + if (!pageLang || typeof pageLang !== 'object') return; + if (!commonLang || typeof commonLang !== 'object') return; + const conflicts = []; + const walk = (pageNode, commonNode, prefix) => { + if (!pageNode || typeof pageNode !== 'object') return; + if (!commonNode || typeof commonNode !== 'object') return; + for (const k of Object.keys(pageNode)) { + const fullKey = prefix ? `${prefix}.${k}` : k; + if (Object.prototype.hasOwnProperty.call(commonNode, k)) { + const pageVal = pageNode[k]; + const commonVal = commonNode[k]; + // 仅当 page 想覆盖 common 的"叶子"值(字符串)时报错 + if (typeof pageVal === 'string' && typeof commonVal === 'string' && pageVal !== commonVal) { + conflicts.push({ key: fullKey, commonVal, pageVal }); + } else if (typeof pageVal === 'object' && pageVal !== null && typeof commonVal === 'object' && commonVal !== null) { + // 嵌套结构继续递归 + walk(pageVal, commonVal, fullKey); + } + } + } + }; + walk(pageLang, commonLang, ''); + if (conflicts.length > 0) { + const list = conflicts.map(c => ` - "${c.key}": common="${c.commonVal}" vs page="${c.pageVal}"`).join('\n'); + throw new Error( + `[i18n] page module "${langPath || 'unknown'}" overrides common.js keys:\n${list}\n` + + `Fix: rename the page key with a business namespace prefix, e.g. ".${conflicts[0].key.split('.').pop()}"\n` + + `See docs/i18n-rules.md for the rule.` + ); + } +} + /** * 获得当前本地语言 * @returns @@ -563,12 +634,20 @@ export default { let mergedLang = _mergedLangCache[mergeCacheKey]; if (!mergedLang) { try { - const lang = loadLangPackSync(locale, 'common'); - const currentPageLang = langPath ? loadLangPackSync(locale, langPath) : {}; + // 自 2026-06-23 起:只加载单一权威 lang/.js + // page module 已废弃,因此不再读取 lang//.js + const lang = loadLangPackSync(locale, langPath); + const currentPageLang = {}; // 兼容旧调用;旧 page module 已废弃 + // detectShadowing 在 page 部分为空时直接返回,不抛错 + detectShadowing(lang, currentPageLang, langPath); mergedLang = Object.assign(deepCloneLang(lang), deepCloneLang(currentPageLang)); const ovr = overrideCache[getOverrideMemKey(locale)]; if (ovr && ovr.map) applyOverrides(mergedLang, ovr.map); } catch (e) { + // detectShadowing 抛错时不应该被静默吞掉——直接重抛 + if (e && e.message && e.message.startsWith('[i18n]')) { + throw e; + } console.error('解析语言包失败:', e, { langPath, field, locale }); mergedLang = {}; } @@ -680,7 +759,15 @@ export default { _refreshInProgress = true; try { let _page = getCurrentPages()[getCurrentPages().length - 1]; - if (_page) this.title(this.lang("title")); + if (_page) { + // 自 2026-06-23 起:每个 page 的 title 集中到 pageTitles. 命名空间 + // processRoutePath() 已经把 route 映射成 langPath(如 'order/list') + const _langPath = processRoutePath(_page.route || (_page.$page && _page.$page.path) || ''); + const _titleKey = _langPath ? `pageTitles.${_langPath.replace(/\//g, '.')}` : 'pageTitles'; + const _title = this.lang(_titleKey); + // 兜底:旧 page module 仍可能在 lang 包外自定义 title,没匹配时用通用 title + this.title(_title && _title !== _titleKey ? _title : this.lang('title')); + } if (emit) { // 远端 i18n 翻译更新后,推送重渲染信号; diff --git a/components-diy/diy-article.vue b/components-diy/diy-article.vue index 5f615b7..7925d69 100644 --- a/components-diy/diy-article.vue +++ b/components-diy/diy-article.vue @@ -1,1199 +1,1199 @@ - - - - - \ No newline at end of file diff --git a/components-diy/diy-bargain.vue b/components-diy/diy-bargain.vue index 3135710..acdb53b 100644 --- a/components-diy/diy-bargain.vue +++ b/components-diy/diy-bargain.vue @@ -12,7 +12,7 @@ 低至0元免费拿 + :style="{ color: value.titleStyle.textColor }">{{ $lang("diy.diy-bargain.l15.t0") }} diff --git a/components-diy/diy-category-item.vue b/components-diy/diy-category-item.vue index 5be555e..2f596d6 100644 --- a/components-diy/diy-category-item.vue +++ b/components-diy/diy-category-item.vue @@ -44,7 +44,7 @@ :class="{ 'screen-category-4': value.template == 4 }" :scroll-with-animation="true" :scroll-into-view="scrollIntoView"> 全部 + @tap.stop="selectCategory(-1)">{{ $lang("diy.diy-category-item.l47.t0") }} @@ -57,7 +57,7 @@ - 全部 + {{ $lang("diy.diy-category-item.l47.t0") }} @@ -125,11 +125,11 @@ @@ -160,7 +160,7 @@ - - + - @@ -29,7 +29,7 @@ - @@ -51,7 +51,7 @@ - 展开 + {{ $lang("diy.diy-category.l54.t0") }} @@ -68,7 +68,7 @@ - 点击收起 + {{ $lang("diy.diy-category.l71.t0") }} @@ -102,7 +102,7 @@ @tologin="toLogin" @selectsku="selectSku($event, index)" @addCart="addCartPoint" @loadfinish="getHeightArea"> - 已经到底了~ + {{ $lang("diy.diy-category-item.l163.t0") }} - 暂时没有分类哦! + {{ $lang("diy.diy-category.l123.t0") }} - 暂时没有分类哦! + {{ $lang("diy.diy-category.l123.t0") }} @@ -409,7 +409,7 @@ export default { success: res => { if (res.code >= 0) { let item = res.data; - item.unit = item.unit || '件'; + item.unit = item.unit || $lang('common.ns-goods-sku.ns-goods-sku-index.l150.t0'); if (item.sku_images) item.sku_images = item.sku_images.split(','); else item.sku_images = []; diff --git a/components-diy/diy-channel-list.vue b/components-diy/diy-channel-list.vue index 348f177..2e5b1f3 100644 --- a/components-diy/diy-channel-list.vue +++ b/components-diy/diy-channel-list.vue @@ -1,631 +1,631 @@ - - - - - \ No newline at end of file diff --git a/components-diy/diy-coupon.vue b/components-diy/diy-coupon.vue index 7859302..d8200f2 100644 --- a/components-diy/diy-coupon.vue +++ b/components-diy/diy-coupon.vue @@ -26,16 +26,16 @@ {{ item.discount | moneyConduct }} - 折 + {{ $lang("common.register-reward.l60.t1") }} - {{ item.at_least > 0 ? '满' + Number(item.at_least) + '元可用' : '无门槛优惠券' }} + {{ item.at_least > 0 ? $lang('diy.diy-coupon.l32.t0') + Number(item.at_least) + '元可用' : $lang('diy.diy-coupon.l32.t2') }} {{ value.btnStyle.text }} - 去使用 + {{ $lang("diy.diy-coupon.l38.t0") }} @@ -61,14 +61,14 @@ {{ item.discount | moneyConduct }} - 折 + {{ $lang("common.register-reward.l60.t1") }} - {{ item.at_least > 0 ? '满' + Number(item.at_least) + '元可用' : '无门槛优惠券' }} + {{ item.at_least > 0 ? $lang('diy.diy-coupon.l32.t0') + Number(item.at_least) + '元可用' : $lang('diy.diy-coupon.l32.t2') }} - {{ value.btnStyle.text || '领取' }} + {{ value.btnStyle.text || $lang('diy.diy-coupon.l71.t0') }} 去使用 @@ -95,20 +95,20 @@ {{ item.discount | moneyConduct }} - 折 + {{ $lang("common.register-reward.l60.t1") }} - {{ item.at_least > 0 ? '满' + - Number(item.at_least) + '元可用' : '无门槛优惠券' }} - 所有商品可用 - 指定商品可用 - 指定商品不可用 + {{ item.at_least > 0 ? $lang('diy.diy-coupon.l32.t0') + + Number(item.at_least) + '元可用' : $lang('diy.diy-coupon.l32.t2') }} + {{ $lang("diy.diy-coupon.l103.t0") }} + {{ $lang("diy.diy-coupon.l104.t0") }} + {{ $lang("diy.diy-coupon.l105.t0") }} - {{ value.btnStyle.text || '领取' }} + {{ value.btnStyle.text || $lang('diy.diy-coupon.l71.t0') }} - 去使用 + {{ $lang("diy.diy-coupon.l38.t0") }} @@ -133,16 +133,16 @@ {{ item.discount | moneyConduct }} - 折 + {{ $lang("common.register-reward.l60.t1") }} - {{ item.at_least > 0 ? '满' + Number(item.at_least) + '元可用' : '无门槛优惠券' }} + {{ item.at_least > 0 ? $lang('diy.diy-coupon.l32.t0') + Number(item.at_least) + '元可用' : $lang('diy.diy-coupon.l32.t2') }} - {{ value.btnStyle.text || '立即使用' }} + {{ value.btnStyle.text || $lang('diy.diy-coupon.l143.t0') }} - 去使用 + {{ $lang("diy.diy-coupon.l38.t0") }} @@ -160,11 +160,11 @@ {{ item.money | moneyConduct }} - 元 + {{ $lang("common.register-reward.l45.t0") }} {{ item.discount | moneyConduct }} - 折 + {{ $lang("common.register-reward.l60.t1") }} @@ -173,12 +173,12 @@ {{ item.coupon_name }} 满{{ Number(item.at_least) }}元可用 + v-if="item.at_least > 0">{ $lang("diy.diy-coupon.l32.t0") } Number(item.at_least) }}元可用 无门槛优惠券 + v-else>{{ $lang("diy.diy-coupon.l32.t2") }} {{ - value.btnStyle.text || '立即领取' }} + value.btnStyle.text || $lang('diy.diy-coupon.l181.t0') }} 去使用 @@ -204,9 +204,9 @@ {{ (item.discount == '0.00' ? item.money : item.discount) | moneyConduct }} - {{ item.discount == '0.00' ? '元' : '折' }} + {{ item.discount == '0.00' ? '元' : $lang('common.register-reward.l60.t1') }} - 优惠券 + {{ $lang("diy.diy-coupon.l209.t0") }} - 去使用 + {{ $lang("diy.diy-coupon.l38.t0") }} 满{{ item.at_least | moneyConduct }}元使用 - 无门槛使用 + v-if="parseFloat(item.at_least) > 0">{ $lang("diy.diy-coupon.l32.t0") } item.at_least | moneyConduct }}元使用 + {{ $lang("diy.diy-coupon.l229.t0") }}
+ - 暂无优惠券 + {{ $lang("diy.diy-coupon.l241.t0") }}
- 去逛逛 + {{ $lang("common.ns-empty.l31.t0") }}
@@ -257,23 +257,23 @@ {{ item.money | moneyConduct }} - 元 + {{ $lang("common.register-reward.l45.t0") }} {{ item.discount | moneyConduct }} - 折 + {{ $lang("common.register-reward.l60.t1") }} 满{{ Number(item.at_least) }}元可用 - 无门槛优惠券 + v-if="item.at_least > 0">{ $lang("diy.diy-coupon.l32.t0") } Number(item.at_least) }}元可用 + {{ $lang("diy.diy-coupon.l32.t2") }} 有效期至{{ $util.timeStampTurnTime(item.end_time, 'yearmonthday') }} - {{ value.btnStyle.text || '立即领取' }} + {{ value.btnStyle.text || $lang('diy.diy-coupon.l181.t0') }} 去使用 @@ -404,7 +404,7 @@ export default { couponTap(item, index) { if (item.count == item.lead_count) { this.$util.showToast({ - title: '该优惠券已抢光' + title: $lang('diy.diy-coupon.l407.t0') }); return; } @@ -427,7 +427,7 @@ export default { var data = res.data; let msg = res.message; if (res.code == 0) { - msg = '领取成功'; + msg = $lang('diy.diy-coupon.l430.t0'); if (res.data.is_exist == 1) { for (let i = 0; i < that.couponList.length; i++) { if (that.couponList[i].coupon_type_id == item.coupon_type_id) { diff --git a/components-diy/diy-fenxiao-goods-list.vue b/components-diy/diy-fenxiao-goods-list.vue index 08ecc1b..265a029 100644 --- a/components-diy/diy-fenxiao-goods-list.vue +++ b/components-diy/diy-fenxiao-goods-list.vue @@ -20,7 +20,7 @@ 赚 ¥ + :style="{ color: value.theme == 'diy' ? value.priceStyle.mainColor : '' }">{{ $lang("diy.diy-fenxiao-goods-list.l23.t0") }} {{ item.commission_money.split('.')[0] }} @@ -138,7 +138,7 @@ export default { }, success: res => { if (res.code >= 0) { - this.$util.showToast({ title: '关注成功' }); + this.$util.showToast({ title: $lang('diy.diy-fenxiao-goods-list.l141.t0') }); this.list[index].is_collect = 1; this.list[index].collect_id = res.data; } @@ -149,8 +149,8 @@ export default { //取消关注 delFollowTip(e, index) { uni.showModal({ - title: '提示', - content: '确认取消关注该商品吗', + title: $lang('common.wxwork-contact.l202.t0'), + content: $lang('diy.diy-fenxiao-goods-list.l153.t0'), success: res => { if (res.confirm) { this.delFollow(e.collect_id, index); @@ -167,7 +167,7 @@ export default { success: res => { let msg = ''; if (res.code == 0) { - msg = '取消成功'; + msg = $lang('diy.diy-fenxiao-goods-list.l170.t0'); } else { msg = res.message; } diff --git a/components-diy/diy-form.vue b/components-diy/diy-form.vue index 8a30b8a..98dffac 100644 --- a/components-diy/diy-form.vue +++ b/components-diy/diy-form.vue @@ -139,7 +139,7 @@ export default { // 提交按钮文字:与后端 design.html 默认对齐,开放给 formConfig 覆盖 // 走 mergedFormConfig(兼容 camelCase / snake_case),让 formConfig.submitText 能正确覆盖 submitText() { - return this.mergedFormConfig.submitText || '提交'; + return this.mergedFormConfig.submitText || $lang('diy.diy-form.l142.t0'); }, // 后端把表单样式配置统一存放在 data.formConfig 子对象中(与后端 design.js getDefaultFormData().formConfig 字段名一致)。 // 这里做一次归一化:优先取 formConfig;如果历史数据是扁平结构(直接挂在 value 上),也做兼容。 @@ -298,12 +298,12 @@ export default { form_id: this.value.form_id || 0, form_data: JSON.stringify(submitData), component_id: this.value.id || '', - form_name: this.value.form_name || '默认表单' + form_name: this.value.form_name || $lang('diy.diy-form.l301.t0') }, success: function(res) { if (res.code === 0) { uni.showToast({ - title: '提交成功', + title: $lang('diy.diy-form.l306.t0'), icon: 'success' }); // 重置表单 @@ -312,7 +312,7 @@ export default { } } else { uni.showToast({ - title: res.message || '提交失败', + title: res.message || $lang('diy.diy-form.l315.t0'), icon: 'none' }); } diff --git a/components-diy/diy-goods-list.vue b/components-diy/diy-goods-list.vue index 61ea2d1..9daef9d 100644 --- a/components-diy/diy-goods-list.vue +++ b/components-diy/diy-goods-list.vue @@ -60,7 +60,7 @@ - 已售{{ item.sale_num }}{{ item.unit ? item.unit : '件' }} + 已售{{ item.sale_num }}{{ item.unit ? item.unit : $lang('common.ns-goods-sku.ns-goods-sku-index.l150.t0') }} @@ -168,7 +168,7 @@ - 已售{{ item.sale_num }}{{ item.unit ? item.unit : '件' }} + 已售{{ item.sale_num }}{{ item.unit ? item.unit : $lang('common.ns-goods-sku.ns-goods-sku-index.l150.t0') }} @@ -238,7 +238,7 @@ - 已售{{ dataItem.sale_num }}{{ dataItem.unit ? dataItem.unit : '件' }} + 已售{{ dataItem.sale_num }}{{ dataItem.unit ? dataItem.unit : $lang('common.ns-goods-sku.ns-goods-sku-index.l150.t0') }} diff --git a/components-diy/diy-goods-recommend.vue b/components-diy/diy-goods-recommend.vue index 54929c4..a6fe133 100644 --- a/components-diy/diy-goods-recommend.vue +++ b/components-diy/diy-goods-recommend.vue @@ -53,7 +53,7 @@ ¥{{ showMarketPrice(dataItem) }} - 售{{ dataItem.sale_num }}{{ dataItem.unit ? dataItem.unit : '件' }} + 售{{ dataItem.sale_num }}{{ dataItem.unit ? dataItem.unit : $lang('common.ns-goods-sku.ns-goods-sku-index.l150.t0') }} diff --git a/components-diy/diy-index-page.vue b/components-diy/diy-index-page.vue index 46f032d..f925c2e 100644 --- a/components-diy/diy-index-page.vue +++ b/components-diy/diy-index-page.vue @@ -1,863 +1,863 @@ - - - - - \ No newline at end of file diff --git a/components-diy/diy-kefu.vue b/components-diy/diy-kefu.vue index b3498fb..3333e22 100644 --- a/components-diy/diy-kefu.vue +++ b/components-diy/diy-kefu.vue @@ -14,7 +14,7 @@ 立即添加 + :style="{ background: item.BtBgColor, color: item.BtColor }" @tap.stop="previewSqs()">{{ $lang("diy.diy-kefu.l17.t0") }} diff --git a/components-diy/diy-listmenu.vue b/components-diy/diy-listmenu.vue index a6e6b78..3c6eb58 100644 --- a/components-diy/diy-listmenu.vue +++ b/components-diy/diy-listmenu.vue @@ -12,7 +12,7 @@ style="border-radius:6rpx;width: 60rpx;"> {{ item.title }} - {{ lang == 'en-us' ? 'view' : '查看' }} + {{ lang == 'en-us' ? 'view' : $lang('diy.diy-listmenu.l15.t0') }} diff --git a/components-diy/diy-live.vue b/components-diy/diy-live.vue index 1dd989e..2059d68 100644 --- a/components-diy/diy-live.vue +++ b/components-diy/diy-live.vue @@ -26,11 +26,11 @@ - 主播:{{ liveInfo.anchor_name }} + { $lang("diy.diy-live.l29.t0") } liveInfo.anchor_name }} | - 直播商品:{{ liveInfo.goods.length }} + { $lang("diy.diy-live.l33.t0") } liveInfo.goods.length }} diff --git a/components-diy/diy-map.vue b/components-diy/diy-map.vue index b84128b..7b99a4a 100644 --- a/components-diy/diy-map.vue +++ b/components-diy/diy-map.vue @@ -6,14 +6,14 @@
- 一键导航 + {{ $lang("diy.diy-map.l9.t0") }}
@@ -71,7 +71,7 @@ export default { uni.openLocation({ latitude: parseFloat(item.lat), longitude: parseFloat(item.lng), - name: "一键导航", + name: $lang("diy.diy-map.l9.t0"), }) }, async handlerClick(item) { diff --git a/components-diy/diy-member-info.vue b/components-diy/diy-member-info.vue index 3092db6..6490aa7 100644 --- a/components-diy/diy-member-info.vue +++ b/components-diy/diy-member-info.vue @@ -1,1509 +1,1509 @@ - - - - - + \ No newline at end of file diff --git a/components-diy/diy-member-my-order.vue b/components-diy/diy-member-my-order.vue index 6f6afcf..6910428 100644 --- a/components-diy/diy-member-my-order.vue +++ b/components-diy/diy-member-my-order.vue @@ -19,7 +19,7 @@ > 99 ? '99+' : orderNum.waitpay }} - {{ $lang('waitpay') }} + {{ $lang('order.list.waitpay') }} @@ -38,7 +38,7 @@ orderNum.waitsend > 99 ? '99+' : orderNum.waitsend }} - {{ $lang('waitsend') }} + {{ $lang('order.list.waitsend') }} @@ -57,7 +57,7 @@ orderNum.waitconfirm > 99 ? '99+' : orderNum.waitconfirm }} - {{ $lang('waitconfirm') }} + {{ $lang('order.list.waitconfirm') }} @@ -74,7 +74,7 @@ - {{ $lang('completed') }} + {{ $lang('order.list.completed') }} @@ -92,7 +92,7 @@ orderNum.refunding > 99 ? '99+' : orderNum.refunding }} - {{ $lang('activist') }} + {{ $lang('order.list.activist') }} diff --git a/components-diy/diy-merch-list.vue b/components-diy/diy-merch-list.vue index 7457a40..100cc91 100644 --- a/components-diy/diy-merch-list.vue +++ b/components-diy/diy-merch-list.vue @@ -63,31 +63,31 @@ export default { return { list: [ /*{ - merch_name:'品牌', + merch_name:$lang('diy.diy-merch-list.l66.t0'), merch_image:'https://saas.cn//upload/4/common/images/20240824/20240824040223172448654356147.jpg' }, { - merch_name:'品牌', + merch_name:$lang('diy.diy-merch-list.l66.t0'), merch_image:'https://saas.cn//upload/4/common/images/20240824/20240824040223172448654356147.jpg' }, { - merch_name:'品牌', + merch_name:$lang('diy.diy-merch-list.l66.t0'), merch_image:'https://saas.cn//upload/4/common/images/20240824/20240824040223172448654356147.jpg' }, { - merch_name:'品牌', + merch_name:$lang('diy.diy-merch-list.l66.t0'), merch_image:'https://saas.cn//upload/4/common/images/20240824/20240824040223172448654356147.jpg' }, { - merch_name:'品牌', + merch_name:$lang('diy.diy-merch-list.l66.t0'), merch_image:'https://saas.cn//upload/4/common/images/20240824/20240824040223172448654356147.jpg' }, { - merch_name:'品牌', + merch_name:$lang('diy.diy-merch-list.l66.t0'), merch_image:'https://saas.cn//upload/4/common/images/20240824/20240824040223172448654356147.jpg' }, { - merch_name:'品牌', + merch_name:$lang('diy.diy-merch-list.l66.t0'), merch_image:'https://saas.cn//upload/4/common/images/20240824/20240824040223172448654356147.jpg' }*/ ], diff --git a/components-diy/diy-notes.vue b/components-diy/diy-notes.vue index d686b60..f7091e4 100644 --- a/components-diy/diy-notes.vue +++ b/components-diy/diy-notes.vue @@ -18,7 +18,7 @@ #{{ item.note_type == 'goods_item' ? '单品介绍' : - '掌柜说' }}# + $lang('diy.diy-notes.l21.t0') }}# {{ item.note_abstract }} diff --git a/components-diy/diy-notice.vue b/components-diy/diy-notice.vue index 34d0db0..ab41853 100644 --- a/components-diy/diy-notice.vue +++ b/components-diy/diy-notice.vue @@ -42,11 +42,11 @@ - 公告 + {{ $lang("diy.diy-notice.l45.t0") }} {{ notice }} - + diff --git a/components-diy/diy-payment-qrcode.vue b/components-diy/diy-payment-qrcode.vue index 55c12e8..812c6d5 100644 --- a/components-diy/diy-payment-qrcode.vue +++ b/components-diy/diy-payment-qrcode.vue @@ -3,23 +3,23 @@ - 门店消费时使用,支付时点击下方展示付款码 + {{ $lang("diy.diy-payment-qrcode.l6.t0") }} - 门店支付 + {{ $lang("diy.diy-payment-qrcode.l22.t0") }} @@ -27,11 +27,11 @@ - 提示 + {{ $lang("common.wxwork-contact.l202.t0") }} - 扫码付请退出程序后直接使用微信扫一扫或返回上一页使用付款码进行支付 - + {{ $lang("diy.diy-payment-qrcode.l33.t0") }} + diff --git a/components-diy/diy-pinfan.vue b/components-diy/diy-pinfan.vue index efbc364..8d07cc8 100644 --- a/components-diy/diy-pinfan.vue +++ b/components-diy/diy-pinfan.vue @@ -25,7 +25,7 @@ - 已拼{{ item.order_num }}件 + { $lang("diy.diy-pinfan.l28.t0") } item.order_num }}件 @@ -49,10 +49,10 @@ borderRadius: value.btnStyle.aroundRadius * 2 + 'rpx' }"> {{ value.btnStyle.text }} - 返{{ item.reward_type_num }}积分 + { $lang("diy.diy-pinfan.l52.t0") } item.reward_type_num }}积分 返¥{{ item.reward_type_num }} - 返优惠券 + {{ $lang("diy.diy-pinfan.l55.t0") }} @@ -92,7 +92,7 @@ 返优惠券 + v-if="item.reward_type == 3">{{ $lang("diy.diy-pinfan.l55.t0") }} {{ value.titleStyle.virtualNum || headData.pintuan_count }} - {{ value.titleStyle.style == 'style-2' ? '人参与' : '人拼团成功' }} + {{ value.titleStyle.style == 'style-2' ? '人参与' : $lang('diy.diy-pintuan.l29.t1') }} - 已拼{{ item.order_num }}件 + { $lang("diy.diy-pinfan.l28.t0") } item.order_num }}件 @@ -148,10 +148,10 @@ {{ '.' + item.pintuan_price.split('.')[1] }} - 去参团 + {{ $lang("diy.diy-pintuan.l151.t0") }} - 已拼{{ item.sale_num }}件 + { $lang("diy.diy-pinfan.l28.t0") } item.sale_num }}件 @@ -192,7 +192,7 @@ {{ '.' + item.pintuan_price.split('.')[1] }} - 已拼{{ item.sale_num }}件 + { $lang("diy.diy-pinfan.l28.t0") } item.sale_num }}件 diff --git a/components-diy/diy-search.vue b/components-diy/diy-search.vue index 81f521a..58e349b 100644 --- a/components-diy/diy-search.vue +++ b/components-diy/diy-search.vue @@ -28,7 +28,7 @@ @tap.stop="handlerSearchClick" :placeholderStyle="placeholderStyle" /> 搜索 + :style="{ 'backgroundColor': value.pageBgColor ? value.pageBgColor : 'rgba(0,0,0,0)' }">{{ $lang("diy.diy-search.l31.t0") }} diff --git a/components-diy/diy-seckill.vue b/components-diy/diy-seckill.vue index bdc028a..0f0ca19 100644 --- a/components-diy/diy-seckill.vue +++ b/components-diy/diy-seckill.vue @@ -13,10 +13,10 @@ 距离开始 + :style="{ color: value.titleStyle.textColor }" class="seckill-style-name">{{ $lang("diy.diy-seckill.l16.t0") }} {{ isFuture ? - '距离开始' : '距离结束' }} + '距离开始' : $lang('diy.diy-seckill.l19.t0') }} {{ seckillH ? seckillH : '00' }} @@ -87,7 +87,7 @@ 原价: + :style="{ color: value.theme == 'diy' ? value.priceStyle.lineColor : '' }">{{ $lang("diy.diy-seckill.l90.t0") }} ¥{{ item.price }} @@ -502,7 +502,7 @@ export default { toDetail(id) { if (this.isFuture) { this.$util.showToast({ - title: '秒杀活动即将开启,敬请期待!' + title: $lang('diy.diy-seckill.l505.t0') }); return false; } diff --git a/components-diy/diy-store.vue b/components-diy/diy-store.vue index a6696d6..c42a1ce 100644 --- a/components-diy/diy-store.vue +++ b/components-diy/diy-store.vue @@ -7,17 +7,17 @@ {{ globalStoreInfo.store_name }} - 切换 + {{ $lang("diy.diy-store.l10.t0") }} - 定位中... + {{ $lang("common.ns-navbar.l39.t0") }} {{ globalStoreInfo.show_address }} - 获取当前位置... + {{ $lang("diy.diy-store.l20.t0") }} @@ -40,11 +40,11 @@ {{ globalStoreInfo.store_name }} - 切换 + {{ $lang("diy.diy-store.l10.t0") }} - 定位中... + {{ $lang("common.ns-navbar.l39.t0") }} {{ globalStoreInfo.store_name }} - 定位中... + {{ $lang("common.ns-navbar.l39.t0") }} - diff --git a/components-diy/diy-text.vue b/components-diy/diy-text.vue index f9086e1..8002013 100644 --- a/components-diy/diy-text.vue +++ b/components-diy/diy-text.vue @@ -208,7 +208,7 @@ {{ value.text }} 专区 + :style="{ fontSize: value.fontSize * 2 + 'rpx', fontWeight: value.fontWeight }">{{ $lang("diy.diy-text.l211.t0") }} diff --git a/components-diy/diy-video.vue b/components-diy/diy-video.vue index 7cec6a8..052b152 100644 --- a/components-diy/diy-video.vue +++ b/components-diy/diy-video.vue @@ -143,7 +143,7 @@ export default { }); video.addEventListener('error', (e) => { - console.error('H5端预加载视频失败:', e); + console.error($lang('diy.diy-video.l146.t0'), e); }); // 触发加载 @@ -184,7 +184,7 @@ export default { // 视频错误事件 onVideoError(event) { - console.error('视频加载失败:', event); + console.error($lang('diy.diy-video.l187.t0'), event); }, async handlerClick(videoUrl) { diff --git a/components-diy/js/wechat-channel.js b/components-diy/js/wechat-channel.js index 9291161..684292b 100644 --- a/components-diy/js/wechat-channel.js +++ b/components-diy/js/wechat-channel.js @@ -1,187 +1,187 @@ -// 微信视频号组件配置 -export const wechatChannelConfig = { - // 图标相关 - icon: { - defaultSize: 80, // 默认图标尺寸(rpx) - smallSize: 60, // 小图标尺寸(rpx) - channelArrowSize: 24, // 频道箭头图标尺寸(rpx) - channelArrow: 'addon/personnel/shop/view/enterprise/arrow.png', // 频道箭头图标路径 - }, - - - // 视频相关配置 - video: { - defaultHeight: 320, // 默认视频高度(rpx) - minHeight: 200, // 最小视频高度(rpx) - maxHeight: 500, // 最大视频高度(rpx) - defaultCoverUrl: 'addon/personnel/shop/view/enterprise/default-video-cover.png', // 默认视频封面 - }, - - // 播放按钮配置 - playButton: { - size: 80, // 标准尺寸(rpx) - smallSize: 60, // 小尺寸(rpx) - iconSize: 40, // 标准图标尺寸(rpx) - smallIconSize: 30, // 小图标尺寸(rpx) - background: 'rgba(0, 0, 0, 0.4)', // 背景颜色 - }, - - // 布局配置 - layout: { - borderRadius: 12, // 圆角(rpx) - padding: 16, // 内边距(rpx) - margin: 10, // 外边距(rpx) - }, - - // 字体配置 - font: { - channelNameSize: 28, // 频道名称字体大小(rpx) - videoTitleSize: 28, // 视频标题字体大小(rpx) - statsSize: 24, // 统计信息字体大小(rpx) - }, - - // 颜色配置 - color: { - channelName: '#333', // 频道名称颜色 - videoTitle: '#333', // 视频标题颜色 - stats: '#999', // 统计信息颜色 - border: '#f0f0f0', // 边框颜色 - }, - - // 微信相关配置 - wechat: { - minSdkVersion: '2.19.2', // 最小微信基础库版本 - embedComponent: 'channel-video', // 嵌入式视频组件名称 - }, - - // 错误提示配置 - error: { - notWechat: '当前环境不是微信小程序', - lowVersion: '当前微信基础库版本过低,需要 2.19.2 或以上版本', - notSupported: '当前环境不支持微信视频号', - missingFields: '缺少必要字段: {field}', - }, -}; - -// 获取配置项的辅助函数 -export const getwechatChannelConfig = (key, defaultValue = null) => { - const keys = key.split('.'); - let config = wechatChannelConfig; - - for (const k of keys) { - if (config[k] === undefined) { - return defaultValue; - } - config = config[k]; - } - - return config; -}; - -// 微信视频号工具函数 -export const wechatChannelUtil = { - // 版本比较 - versionCompare(v1, v2) { - const arr1 = v1.split('.'); - const arr2 = v2.split('.'); - for (let i = 0; i < Math.max(arr1.length, arr2.length); i++) { - const num1 = parseInt(arr1[i] || 0); - const num2 = parseInt(arr2[i] || 0); - if (num1 > num2) return 1; - if (num1 < num2) return -1; - } - return 0; - }, - - // 检查是否支持嵌入式播放 - isEmbedModeSupported() { - return typeof wx !== 'undefined' && wx.canIUse(wechatChannelConfig.wechat.embedComponent); - }, - - // 获取默认视频封面 - getDefaultCoverUrl() { - return wechatChannelConfig.video.defaultCoverUrl; - }, - - // 数据校验 - validateVideoData(item) { - const requiredFields = ['feedId', 'finderUserName']; - for (const field of requiredFields) { - if (!item[field]) { - throw new Error(`缺少必要字段: ${field}`); - } - } - return true; - }, - - // 播放视频 - playVideo(item) { - return new Promise((resolve, reject) => { - try { - // 数据校验 - this.validateVideoData(item); - } catch (err) { - this.handleError(err, item); - reject(err); - return; - } - - // 检查微信环境 - if (typeof wx === 'undefined') { - const err = new Error(wechatChannelConfig.error.notWechat); - this.handleError(err, item); - reject(err); - return; - } - - // 检查基础库版本 - const systemInfo = wx.getSystemInfoSync(); - const SDKVersion = systemInfo.SDKVersion; - if (this.versionCompare(SDKVersion, wechatChannelConfig.wechat.minSdkVersion) < 0) { - const err = new Error(wechatChannelConfig.error.lowVersion); - this.handleError(err, item); - reject(err); - return; - } - - // 调用微信视频号播放API - if (wx.openChannelsActivity) { - wx.openChannelsActivity({ - feedId: item.feedId, - finderUserName: item.finderUserName, - success: (res) => { - resolve(res); - }, - fail: (err) => { - this.handleError(err, item); - reject(err); - } - }); - } else { - const err = new Error(wechatChannelConfig.error.notSupported); - this.handleError(err, item); - reject(err); - } - }); - }, - - // 统一错误处理 - handleError(err, item) { - console.error('微信视频号错误:', err); - const { message = '', errMsg = '微信视频播放失败!', errCode = -1 } = err; - - // 错误码5: 表示用户点击了取消. openChannelsActivity:fail cancel - if ([5].includes(errCode)) { - return; - } - - const showErrorToast = (otherMsgs = []) => { - uni.showToast({ - title: [errMsg, message,...otherMsgs].join('\n'), - icon: 'none', - duration: 2000 - }); - } - showErrorToast(); - } +// 微信视频号组件配置 +export const wechatChannelConfig = { + // 图标相关 + icon: { + defaultSize: 80, // 默认图标尺寸(rpx) + smallSize: 60, // 小图标尺寸(rpx) + channelArrowSize: 24, // 频道箭头图标尺寸(rpx) + channelArrow: 'addon/personnel/shop/view/enterprise/arrow.png', // 频道箭头图标路径 + }, + + + // 视频相关配置 + video: { + defaultHeight: 320, // 默认视频高度(rpx) + minHeight: 200, // 最小视频高度(rpx) + maxHeight: 500, // 最大视频高度(rpx) + defaultCoverUrl: 'addon/personnel/shop/view/enterprise/default-video-cover.png', // 默认视频封面 + }, + + // 播放按钮配置 + playButton: { + size: 80, // 标准尺寸(rpx) + smallSize: 60, // 小尺寸(rpx) + iconSize: 40, // 标准图标尺寸(rpx) + smallIconSize: 30, // 小图标尺寸(rpx) + background: 'rgba(0, 0, 0, 0.4)', // 背景颜色 + }, + + // 布局配置 + layout: { + borderRadius: 12, // 圆角(rpx) + padding: 16, // 内边距(rpx) + margin: 10, // 外边距(rpx) + }, + + // 字体配置 + font: { + channelNameSize: 28, // 频道名称字体大小(rpx) + videoTitleSize: 28, // 视频标题字体大小(rpx) + statsSize: 24, // 统计信息字体大小(rpx) + }, + + // 颜色配置 + color: { + channelName: '#333', // 频道名称颜色 + videoTitle: '#333', // 视频标题颜色 + stats: '#999', // 统计信息颜色 + border: '#f0f0f0', // 边框颜色 + }, + + // 微信相关配置 + wechat: { + minSdkVersion: '2.19.2', // 最小微信基础库版本 + embedComponent: 'channel-video', // 嵌入式视频组件名称 + }, + + // 错误提示配置 + error: { + notWechat: $lang('diy.js.wechat-channel.l59.t0'), + lowVersion: $lang('diy.js.wechat-channel.l60.t0'), + notSupported: $lang('diy.js.wechat-channel.l61.t0'), + missingFields: $lang('diy.js.wechat-channel.l62.t0'), + }, +}; + +// 获取配置项的辅助函数 +export const getwechatChannelConfig = (key, defaultValue = null) => { + const keys = key.split('.'); + let config = wechatChannelConfig; + + for (const k of keys) { + if (config[k] === undefined) { + return defaultValue; + } + config = config[k]; + } + + return config; +}; + +// 微信视频号工具函数 +export const wechatChannelUtil = { + // 版本比较 + versionCompare(v1, v2) { + const arr1 = v1.split('.'); + const arr2 = v2.split('.'); + for (let i = 0; i < Math.max(arr1.length, arr2.length); i++) { + const num1 = parseInt(arr1[i] || 0); + const num2 = parseInt(arr2[i] || 0); + if (num1 > num2) return 1; + if (num1 < num2) return -1; + } + return 0; + }, + + // 检查是否支持嵌入式播放 + isEmbedModeSupported() { + return typeof wx !== 'undefined' && wx.canIUse(wechatChannelConfig.wechat.embedComponent); + }, + + // 获取默认视频封面 + getDefaultCoverUrl() { + return wechatChannelConfig.video.defaultCoverUrl; + }, + + // 数据校验 + validateVideoData(item) { + const requiredFields = ['feedId', 'finderUserName']; + for (const field of requiredFields) { + if (!item[field]) { + throw new Error($lang(`diy.js.wechat-channel.l111.t0`)); + } + } + return true; + }, + + // 播放视频 + playVideo(item) { + return new Promise((resolve, reject) => { + try { + // 数据校验 + this.validateVideoData(item); + } catch (err) { + this.handleError(err, item); + reject(err); + return; + } + + // 检查微信环境 + if (typeof wx === 'undefined') { + const err = new Error(wechatChannelConfig.error.notWechat); + this.handleError(err, item); + reject(err); + return; + } + + // 检查基础库版本 + const systemInfo = wx.getSystemInfoSync(); + const SDKVersion = systemInfo.SDKVersion; + if (this.versionCompare(SDKVersion, wechatChannelConfig.wechat.minSdkVersion) < 0) { + const err = new Error(wechatChannelConfig.error.lowVersion); + this.handleError(err, item); + reject(err); + return; + } + + // 调用微信视频号播放API + if (wx.openChannelsActivity) { + wx.openChannelsActivity({ + feedId: item.feedId, + finderUserName: item.finderUserName, + success: (res) => { + resolve(res); + }, + fail: (err) => { + this.handleError(err, item); + reject(err); + } + }); + } else { + const err = new Error(wechatChannelConfig.error.notSupported); + this.handleError(err, item); + reject(err); + } + }); + }, + + // 统一错误处理 + handleError(err, item) { + console.error($lang('diy.js.wechat-channel.l170.t0'), err); + const { message = '', errMsg = '微信视频播放失败!', errCode = -1 } = err; + + // 错误码5: 表示用户点击了取消. openChannelsActivity:fail cancel + if ([5].includes(errCode)) { + return; + } + + const showErrorToast = (otherMsgs = []) => { + uni.showToast({ + title: [errMsg, message,...otherMsgs].join('\n'), + icon: 'none', + duration: 2000 + }); + } + showErrorToast(); + } }; \ No newline at end of file diff --git a/components/chat-message/chat-message.vue b/components/chat-message/chat-message.vue index 110b227..c9b7654 100644 --- a/components/chat-message/chat-message.vue +++ b/components/chat-message/chat-message.vue @@ -1,333 +1,333 @@ - - - - - \ No newline at end of file diff --git a/components/hover-nav/hover-nav.vue b/components/hover-nav/hover-nav.vue index 3749334..b2b6b31 100644 --- a/components/hover-nav/hover-nav.vue +++ b/components/hover-nav/hover-nav.vue @@ -1,329 +1,329 @@ - - - - - \ No newline at end of file diff --git a/components/l-time/l-time.vue b/components/l-time/l-time.vue index a2e78fc..f0a708c 100644 --- a/components/l-time/l-time.vue +++ b/components/l-time/l-time.vue @@ -37,7 +37,7 @@ export default { getText() { let self = this; let timeVal = _time_.getFormatTime(self.textVal, self.maxDate); - if (timeVal && (timeVal.endsWith('刚刚') || timeVal.endsWith('分钟前'))) { + if (timeVal && (timeVal.endsWith($lang('common.l-time.l40.t0')) || timeVal.endsWith($lang('common.l-time.l40.t1')))) { setTimeout(() => { let temp = self.textVal; self.textVal = ''; diff --git a/components/l-time/time.js b/components/l-time/time.js index 76c5f4b..1b61f6c 100644 --- a/components/l-time/time.js +++ b/components/l-time/time.js @@ -1,161 +1,161 @@ -Function.prototype.asyAfter = function(afterfn) { - var _self = this; - return function() { - var ret = _self.apply(this, arguments); - if (ret === 'next') { - return afterfn.apply(this, arguments); - } - return ret; - } -} - -Date.prototype.pattern = function(fmt) { - var o = { - "M+": this.getMonth() + 1, //月份 - "d+": this.getDate(), //日 - "h+": this.getHours() % 12 == 0 ? 12 : this.getHours() % 12, //小时 - "H+": this.getHours(), //小时 - "m+": this.getMinutes(), //分 - "s+": this.getSeconds(), //秒 - "q+": Math.floor((this.getMonth() + 3) / 3), //季度 - "S": this.getMilliseconds() //毫秒 - }; - var week = { - "0": "\u65e5", - "1": "\u4e00", - "2": "\u4e8c", - "3": "\u4e09", - "4": "\u56db", - "5": "\u4e94", - "6": "\u516d" - }; - if (/(y+)/.test(fmt)) { - fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)); - } - if (/(E+)/.test(fmt)) { - fmt = fmt.replace(RegExp.$1, ((RegExp.$1.length > 1) ? (RegExp.$1.length > 2 ? "\u661f\u671f" : "\u5468") : - "") + - week[this.getDay() + ""]); - } - for (var k in o) { - if (new RegExp("(" + k + ")").test(fmt)) { - fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]) - .length))); - } - } - return fmt; -} - -const isType = type => (/^\[object\s(.*)\]$/.exec(Object.prototype.toString.call(type)))[1]; -let Time = function() {}; -let timeProto = Time.prototype; - -//获取当前时间戳 -timeProto.getUnix = function() { - return new Date().getTime(); -} - -//获取当天0点0分0秒时间戳 -timeProto.getTodayUnix = function() { - let date = new Date(); - let myDate = `${date.getFullYear()}/${(date.getMonth() + 1)}/${date.getDate()} 00:00:00`; - return new Date(myDate).getTime(); -} - -//获取今年1月1日0点0分0秒时间戳 -timeProto.getYearUnix = function() { - let date = new Date(); - date.setMonth(0); - date.setDate(1); - date.setHours(0); - date.setMinutes(0); - date.setSeconds(0); - date.setMilliseconds(0); - return date.getTime(); -} - -//获取当前时间标准年月日 -timeProto.getLastDate = function(constTime) { - if (!constTime) { - return; - } - let date = new Date(constTime); - if (date.pattern) { - return date.pattern("yyyy-MM-dd"); - } - - let month = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1; - let day = date.getDate() < 10 ? '0' + date.getDate() : date.getDate(); - return date.getFullYear() + '-' + month + '-' + day; -} - -const resDateStr = function(timer, constTime) { - let _just = function(timer) { - - if (timer <= 0 || Math.floor(timer / 60) <= 0) { - return "刚刚" - } else return 'next'; - } - - let _mm = function(timer) { - if (timer < 3600) { - return Math.floor(timer / 60) + "分钟前" - } else return 'next'; - } - let _hh = function(timer, constTime) { - let today = _time_.getTodayUnix(); - if (timer >= 3600 && (constTime - today >= 0)) { - //可切换显示模式 - // return "今天 " + new Date(constTime).pattern("HH:mm"); - return Math.floor(timer / 60 / 60) + "小时前"; - } else { - return 'next' - }; - } - let _dd = function(timer, constTime) { - let today = _time_.getTodayUnix(); - timer = (today - constTime) / 1000; - if (timer / 86400 <= 31) { - return Math.ceil(timer / 86400) + "天前" - } else return 'next'; - } - let _dlast = function(timer, constTime) { - return _time_.getLastDate(constTime); - } - - let dateFilter = _just.asyAfter(_mm).asyAfter(_hh).asyAfter(_dd).asyAfter(_dlast); - return dateFilter(timer, constTime); -} - - -//转换时间 -const reg = new RegExp("-", "g"); -timeProto.getFormatTime = function(constTime, max) { - if (!constTime) { - return ""; - } - - switch (isType(constTime)) { - case 'Date': - constTime = constTime.getTime(); - break; - case 'String': - constTime = constTime.replace(reg, "/"); - default: - constTime = new Date(constTime).getTime(); - break; - } - - let now = this.getUnix(); - let year = this.getYearUnix(); - let timer = (now - constTime) / 1000; - if (constTime > now && max) { - return this.getLastDate(constTime); - } - - let _t = this; - return resDateStr(timer, constTime); -} - -const _time_ = new Time(); -export default _time_; +Function.prototype.asyAfter = function(afterfn) { + var _self = this; + return function() { + var ret = _self.apply(this, arguments); + if (ret === 'next') { + return afterfn.apply(this, arguments); + } + return ret; + } +} + +Date.prototype.pattern = function(fmt) { + var o = { + "M+": this.getMonth() + 1, //月份 + "d+": this.getDate(), //日 + "h+": this.getHours() % 12 == 0 ? 12 : this.getHours() % 12, //小时 + "H+": this.getHours(), //小时 + "m+": this.getMinutes(), //分 + "s+": this.getSeconds(), //秒 + "q+": Math.floor((this.getMonth() + 3) / 3), //季度 + "S": this.getMilliseconds() //毫秒 + }; + var week = { + "0": "\u65e5", + "1": "\u4e00", + "2": "\u4e8c", + "3": "\u4e09", + "4": "\u56db", + "5": "\u4e94", + "6": "\u516d" + }; + if (/(y+)/.test(fmt)) { + fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)); + } + if (/(E+)/.test(fmt)) { + fmt = fmt.replace(RegExp.$1, ((RegExp.$1.length > 1) ? (RegExp.$1.length > 2 ? "\u661f\u671f" : "\u5468") : + "") + + week[this.getDay() + ""]); + } + for (var k in o) { + if (new RegExp("(" + k + ")").test(fmt)) { + fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]) + .length))); + } + } + return fmt; +} + +const isType = type => (/^\[object\s(.*)\]$/.exec(Object.prototype.toString.call(type)))[1]; +let Time = function() {}; +let timeProto = Time.prototype; + +//获取当前时间戳 +timeProto.getUnix = function() { + return new Date().getTime(); +} + +//获取当天0点0分0秒时间戳 +timeProto.getTodayUnix = function() { + let date = new Date(); + let myDate = `${date.getFullYear()}/${(date.getMonth() + 1)}/${date.getDate()} 00:00:00`; + return new Date(myDate).getTime(); +} + +//获取今年1月1日0点0分0秒时间戳 +timeProto.getYearUnix = function() { + let date = new Date(); + date.setMonth(0); + date.setDate(1); + date.setHours(0); + date.setMinutes(0); + date.setSeconds(0); + date.setMilliseconds(0); + return date.getTime(); +} + +//获取当前时间标准年月日 +timeProto.getLastDate = function(constTime) { + if (!constTime) { + return; + } + let date = new Date(constTime); + if (date.pattern) { + return date.pattern("yyyy-MM-dd"); + } + + let month = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1; + let day = date.getDate() < 10 ? '0' + date.getDate() : date.getDate(); + return date.getFullYear() + '-' + month + '-' + day; +} + +const resDateStr = function(timer, constTime) { + let _just = function(timer) { + + if (timer <= 0 || Math.floor(timer / 60) <= 0) { + return $lang("common.l-time.l40.t0") + } else return 'next'; + } + + let _mm = function(timer) { + if (timer < 3600) { + return Math.floor(timer / 60) + $lang("common.l-time.l40.t1") + } else return 'next'; + } + let _hh = function(timer, constTime) { + let today = _time_.getTodayUnix(); + if (timer >= 3600 && (constTime - today >= 0)) { + //可切换显示模式 + // return "今天 " + new Date(constTime).pattern("HH:mm"); + return Math.floor(timer / 60 / 60) + $lang("common.l-time.time.l110.t0"); + } else { + return 'next' + }; + } + let _dd = function(timer, constTime) { + let today = _time_.getTodayUnix(); + timer = (today - constTime) / 1000; + if (timer / 86400 <= 31) { + return Math.ceil(timer / 86400) + $lang("common.l-time.time.l119.t0") + } else return 'next'; + } + let _dlast = function(timer, constTime) { + return _time_.getLastDate(constTime); + } + + let dateFilter = _just.asyAfter(_mm).asyAfter(_hh).asyAfter(_dd).asyAfter(_dlast); + return dateFilter(timer, constTime); +} + + +//转换时间 +const reg = new RegExp("-", "g"); +timeProto.getFormatTime = function(constTime, max) { + if (!constTime) { + return ""; + } + + switch (isType(constTime)) { + case 'Date': + constTime = constTime.getTime(); + break; + case 'String': + constTime = constTime.replace(reg, "/"); + default: + constTime = new Date(constTime).getTime(); + break; + } + + let now = this.getUnix(); + let year = this.getYearUnix(); + let timer = (now - constTime) / 1000; + if (constTime > now && max) { + return this.getLastDate(constTime); + } + + let _t = this; + return resDateStr(timer, constTime); +} + +const _time_ = new Time(); +export default _time_; diff --git a/components/mescroll/mescroll-uni-option.js b/components/mescroll/mescroll-uni-option.js index a701ad1..f14a324 100644 --- a/components/mescroll/mescroll-uni-option.js +++ b/components/mescroll/mescroll-uni-option.js @@ -3,15 +3,15 @@ const GlobalOption = { down: { // 其他down的配置参数也可以写,这里只展示了常用的配置: - textInOffset: '下拉刷新', // 下拉的距离在offset范围内的提示文本 - textOutOffset: '释放更新', // 下拉的距离大于offset范围的提示文本 - textLoading: '加载中 ...', // 加载中的提示文本 + textInOffset: $lang('common.mescroll.mescroll-uni-option.l6.t0'), // 下拉的距离在offset范围内的提示文本 + textOutOffset: $lang('common.mescroll.mescroll-uni-option.l7.t0'), // 下拉的距离大于offset范围的提示文本 + textLoading: $lang('common.mescroll.mescroll-uni-option.l8.t0'), // 加载中的提示文本 offset: 80, // 在列表顶部,下拉大于80px,松手即可触发下拉刷新的回调 native: false // 是否使用系统自带的下拉刷新; 默认false; 仅在mescroll-body生效 (值为true时,还需在pages配置enablePullDownRefresh:true;详请参考mescroll-native的案例) }, up: { // 其他up的配置参数也可以写,这里只展示了常用的配置: - textLoading: '加载中 ...', // 加载中的提示文本 + textLoading: $lang('common.mescroll.mescroll-uni-option.l8.t0'), // 加载中的提示文本 textNoMore: '', // 没有更多数据的提示文本 // textNoMore: '— 我是有底线的 —', // 没有更多数据的提示文本 offset: 80, // 距底部多远时,触发upCallback @@ -27,7 +27,7 @@ const GlobalOption = { empty: { use: true, // 是否显示空布局 icon: "https://www.mescroll.com/img/mescroll-empty.png?v=1", // 图标路径 (建议放入static目录, 如 /static/img/mescroll-empty.png ) - tip: '~ 暂无相关数据 ~' // 提示 + tip: $lang('common.mescroll.mescroll-uni-option.l30.t0') // 提示 } } } diff --git a/components/mescroll/mescroll-uni.js b/components/mescroll/mescroll-uni.js index 1b2eb9d..adf2063 100644 --- a/components/mescroll/mescroll-uni.js +++ b/components/mescroll/mescroll-uni.js @@ -1,841 +1,841 @@ -/* mescroll - * version 1.2.3 - * 2020-02-18 wenju - * http://www.mescroll.com - */ - -export default function MeScroll(options, isScrollBody) { - let me = this; - me.version = '1.2.3'; // mescroll版本号 - me.options = options || {}; // 配置 - me.isScrollBody = isScrollBody || false; // 滚动区域是否为原生页面滚动; 默认为scroll-view - - me.isDownScrolling = false; // 是否在执行下拉刷新的回调 - me.isUpScrolling = false; // 是否在执行上拉加载的回调 - let hasDownCallback = me.options.down && me.options.down.callback; // 是否配置了down的callback - - // 初始化下拉刷新 - me.initDownScroll(); - // 初始化上拉加载,则初始化 - me.initUpScroll(); - - // 自动加载 - setTimeout(function() { // 待主线程执行完毕再执行,避免new MeScroll未初始化,在回调获取不到mescroll的实例 - // 自动触发下拉刷新 (只有配置了down的callback才自动触发下拉刷新) - if (me.optDown.use && me.optDown.auto && hasDownCallback) { - if (me.optDown.autoShowLoading) { - me.triggerDownScroll(); // 显示下拉进度,执行下拉回调 - } else { - me.optDown.callback && me.optDown.callback(me); // 不显示下拉进度,直接执行下拉回调 - } - } - // 自动触发上拉加载 - setTimeout(function() { // 延时确保先执行down的callback,再执行up的callback,因为部分小程序emit是异步,会导致isUpAutoLoad判断有误 - me.optUp.use && me.optUp.auto && !me.isUpAutoLoad && me.triggerUpScroll(); - }, 100) - }, 30); // 需让me.optDown.inited和me.optUp.inited先执行 -} - -/* 配置参数:下拉刷新 */ -MeScroll.prototype.extendDownScroll = function(optDown) { - // 下拉刷新的配置 - MeScroll.extend(optDown, { - use: true, // 是否启用下拉刷新; 默认true - auto: true, // 是否在初始化完毕之后自动执行下拉刷新的回调; 默认true - native: false, // 是否使用系统自带的下拉刷新; 默认false; 仅mescroll-body生效 (值为true时,还需在pages配置enablePullDownRefresh:true;详请参考mescroll-native的案例) - autoShowLoading: false, // 如果设置auto=true(在初始化完毕之后自动执行下拉刷新的回调),那么是否显示下拉刷新的进度; 默认false - isLock: false, // 是否锁定下拉刷新,默认false; - offset: 80, // 在列表顶部,下拉大于80px,松手即可触发下拉刷新的回调 - startTop: 100, // scroll-view滚动到顶部时,此时的scroll-top不一定为0, 此值用于控制最大的误差 - fps: 80, // 下拉节流 (值越大每秒刷新频率越高) - inOffsetRate: 1, // 在列表顶部,下拉的距离小于offset时,改变下拉区域高度比例;值小于1且越接近0,高度变化越小,表现为越往下越难拉 - outOffsetRate: 0.2, // 在列表顶部,下拉的距离大于offset时,改变下拉区域高度比例;值小于1且越接近0,高度变化越小,表现为越往下越难拉 - bottomOffset: 20, // 当手指touchmove位置在距离body底部20px范围内的时候结束上拉刷新,避免Webview嵌套导致touchend事件不执行 - minAngle: 45, // 向下滑动最少偏移的角度,取值区间 [0,90];默认45度,即向下滑动的角度大于45度则触发下拉;而小于45度,将不触发下拉,避免与左右滑动的轮播等组件冲突; - textInOffset: '下拉刷新', // 下拉的距离在offset范围内的提示文本 - textOutOffset: '释放更新', // 下拉的距离大于offset范围的提示文本 - textLoading: '加载中 ...', // 加载中的提示文本 - inited: null, // 下拉刷新初始化完毕的回调 - inOffset: null, // 下拉的距离进入offset范围内那一刻的回调 - outOffset: null, // 下拉的距离大于offset那一刻的回调 - onMoving: null, // 下拉过程中的回调,滑动过程一直在执行; rate下拉区域当前高度与指定距离的比值(inOffset: rate<1; outOffset: rate>=1); downHight当前下拉区域的高度 - beforeLoading: null, // 准备触发下拉刷新的回调: 如果return true,将不触发showLoading和callback回调; 常用来完全自定义下拉刷新, 参考案例【淘宝 v6.8.0】 - showLoading: null, // 显示下拉刷新进度的回调 - afterLoading: null, // 准备结束下拉的回调. 返回结束下拉的延时执行时间,默认0ms; 常用于结束下拉之前再显示另外一小段动画,才去隐藏下拉刷新的场景, 参考案例【dotJump】 - endDownScroll: null, // 结束下拉刷新的回调 - callback: function(mescroll) { - // 下拉刷新的回调;默认重置上拉加载列表为第一页 - mescroll.resetUpScroll(); - } - }) -} - -/* 配置参数:上拉加载 */ -MeScroll.prototype.extendUpScroll = function(optUp) { - // 上拉加载的配置 - MeScroll.extend(optUp, { - use: true, // 是否启用上拉加载; 默认true - auto: true, // 是否在初始化完毕之后自动执行上拉加载的回调; 默认true - isLock: false, // 是否锁定上拉加载,默认false; - isBoth: true, // 上拉加载时,如果滑动到列表顶部是否可以同时触发下拉刷新;默认true,两者可同时触发; - isBounce: false, // 默认禁止橡皮筋的回弹效果, 必读事项: http://www.mescroll.com/qa.html?v=190725#q25 - callback: null, // 上拉加载的回调;function(page,mescroll){ } - page: { - num: 0, // 当前页码,默认0,回调之前会加1,即callback(page)会从1开始 - size: 10, // 每页数据的数量 - time: null // 加载第一页数据服务器返回的时间; 防止用户翻页时,后台新增了数据从而导致下一页数据重复; - }, - noMoreSize: 5, // 如果列表已无数据,可设置列表的总数量要大于等于5条才显示无更多数据;避免列表数据过少(比如只有一条数据),显示无更多数据会不好看 - offset: 80, // 距底部多远时,触发upCallback - textLoading: '加载中 ...', // 加载中的提示文本 - textNoMore: '-- END --', // 没有更多数据的提示文本 - inited: null, // 初始化完毕的回调 - showLoading: null, // 显示加载中的回调 - showNoMore: null, // 显示无更多数据的回调 - hideUpScroll: null, // 隐藏上拉加载的回调 - errDistance: 60, // endErr的时候需往上滑动一段距离,使其往下滑动时再次触发onReachBottom,仅mescroll-body生效 - toTop: { - // 回到顶部按钮,需配置src才显示 - src: null, // 图片路径,默认null (绝对路径或网络图) - offset: 1000, // 列表滚动多少距离才显示回到顶部按钮,默认1000 - duration: 300, // 回到顶部的动画时长,默认300ms (当值为0或300则使用系统自带回到顶部,更流畅; 其他值则通过step模拟,部分机型可能不够流畅,所以非特殊情况不建议修改此项) - btnClick: null, // 点击按钮的回调 - onShow: null, // 是否显示的回调 - zIndex: 9990, // fixed定位z-index值 - left: null, // 到左边的距离, 默认null. 此项有值时,right不生效. (支持20, "20rpx", "20px", "20%"格式的值, 其中纯数字则默认单位rpx) - right: 20, // 到右边的距离, 默认20 (支持20, "20rpx", "20px", "20%"格式的值, 其中纯数字则默认单位rpx) - bottom: 120, // 到底部的距离, 默认120 (支持20, "20rpx", "20px", "20%"格式的值, 其中纯数字则默认单位rpx) - safearea: false, // bottom的偏移量是否加上底部安全区的距离, 默认false, 需要适配iPhoneX时使用 (具体的界面如果不配置此项,则取本vue的safearea值) - width: 72, // 回到顶部图标的宽度, 默认72 (支持20, "20rpx", "20px", "20%"格式的值, 其中纯数字则默认单位rpx) - radius: "50%" // 圆角, 默认"50%" (支持20, "20rpx", "20px", "20%"格式的值, 其中纯数字则默认单位rpx) - }, - empty: { - use: true, // 是否显示空布局 - icon: null, // 图标路径 - tip: '~ 暂无相关数据 ~', // 提示 - btnText: '', // 按钮 - btnClick: null, // 点击按钮的回调 - onShow: null, // 是否显示的回调 - fixed: false, // 是否使用fixed定位,默认false; 配置fixed为true,以下的top和zIndex才生效 (transform会使fixed失效,最终会降级为absolute) - top: "100rpx", // fixed定位的top值 (完整的单位值,如 "10%"; "100rpx") - zIndex: 99 // fixed定位z-index值 - }, - onScroll: false // 是否监听滚动事件 - }) -} - -/* 配置参数 */ -MeScroll.extend = function(userOption, defaultOption) { - if (!userOption) return defaultOption; - for (let key in defaultOption) { - if (userOption[key] == null) { - let def = defaultOption[key]; - if (def != null && typeof def === 'object') { - userOption[key] = MeScroll.extend({}, def); // 深度匹配 - } else { - userOption[key] = def; - } - } else if (typeof userOption[key] === 'object') { - MeScroll.extend(userOption[key], defaultOption[key]); // 深度匹配 - } - } - return userOption; -} - -/* -------初始化下拉刷新------- */ -MeScroll.prototype.initDownScroll = function() { - let me = this; - // 配置参数 - me.optDown = me.options.down || {}; - me.extendDownScroll(me.optDown); - - // 如果是mescroll-body且配置了native,则禁止自定义的下拉刷新 - if (me.isScrollBody && me.optDown.native) { - me.optDown.use = false - } else { - me.optDown.native = false // 仅mescroll-body支持,mescroll-uni不支持 - } - - me.downHight = 0; // 下拉区域的高度 - - // 在页面中加入下拉布局 - if (me.optDown.use && me.optDown.inited) { - // 初始化完毕的回调 - setTimeout(function() { // 待主线程执行完毕再执行,避免new MeScroll未初始化,在回调获取不到mescroll的实例 - me.optDown.inited(me); - }, 0) - } -} - -/* 列表touchstart事件 */ -MeScroll.prototype.touchstartEvent = function(e) { - if (!this.optDown.use) return; - - this.startPoint = this.getPoint(e); // 记录起点 - this.startTop = this.getScrollTop(); // 记录此时的滚动条位置 - this.lastPoint = this.startPoint; // 重置上次move的点 - this.maxTouchmoveY = this.getBodyHeight() - this.optDown.bottomOffset; // 手指触摸的最大范围(写在touchstart避免body获取高度为0的情况) - this.inTouchend = false; // 标记不是touchend -} - -/* 列表touchmove事件 */ -MeScroll.prototype.touchmoveEvent = function(e) { - if (!this.optDown.use) return; - if (!this.startPoint) return; - let me = this; - - // 节流 - let t = new Date().getTime(); - if (me.moveTime && t - me.moveTime < me.moveTimeDiff) { // 小于节流时间,则不处理 - return; - } else { - me.moveTime = t - if (!me.moveTimeDiff) me.moveTimeDiff = 1000 / me.optDown.fps - } - - let scrollTop = me.getScrollTop(); // 当前滚动条的距离 - let curPoint = me.getPoint(e); // 当前点 - - let moveY = curPoint.y - me.startPoint.y; // 和起点比,移动的距离,大于0向下拉,小于0向上拉 - - // 向下拉 && 在顶部 - // mescroll-body,直接判定在顶部即可 - // scroll-view在滚动时不会触发touchmove,当触顶/底/左/右时,才会触发touchmove - // scroll-view滚动到顶部时,scrollTop不一定为0; 在iOS的APP中scrollTop可能为负数,不一定和startTop相等 - if (moveY > 0 && ( - (me.isScrollBody && scrollTop <= 0) || - (!me.isScrollBody && (scrollTop <= 0 || (scrollTop <= me.optDown.startTop && scrollTop === me.startTop))) - )) { - // 可下拉的条件 - if (!me.inTouchend && !me.isDownScrolling && !me.optDown.isLock && (!me.isUpScrolling || (me.isUpScrolling && - me.optUp.isBoth))) { - - // 下拉的角度是否在配置的范围内 - let angle = me.getAngle(me.lastPoint, curPoint); // 两点之间的角度,区间 [0,90] - if (angle < me.optDown.minAngle) return; // 如果小于配置的角度,则不往下执行下拉刷新 - - // 如果手指的位置超过配置的距离,则提前结束下拉,避免Webview嵌套导致touchend无法触发 - if (me.maxTouchmoveY > 0 && curPoint.y >= me.maxTouchmoveY) { - me.inTouchend = true; // 标记执行touchend - me.touchendEvent(); // 提前触发touchend - return; - } - - me.preventDefault(e); // 阻止默认事件 - - let diff = curPoint.y - me.lastPoint.y; // 和上次比,移动的距离 (大于0向下,小于0向上) - - // 下拉距离 < 指定距离 - if (me.downHight < me.optDown.offset) { - if (me.movetype !== 1) { - me.movetype = 1; // 加入标记,保证只执行一次 - me.optDown.inOffset && me.optDown.inOffset(me); // 进入指定距离范围内那一刻的回调,只执行一次 - me.isMoveDown = true; // 标记下拉区域高度改变,在touchend重置回来 - } - me.downHight += diff * me.optDown.inOffsetRate; // 越往下,高度变化越小 - - // 指定距离 <= 下拉距离 - } else { - if (me.movetype !== 2) { - me.movetype = 2; // 加入标记,保证只执行一次 - me.optDown.outOffset && me.optDown.outOffset(me); // 下拉超过指定距离那一刻的回调,只执行一次 - me.isMoveDown = true; // 标记下拉区域高度改变,在touchend重置回来 - } - if (diff > 0) { // 向下拉 - me.downHight += Math.round(diff * me.optDown.outOffsetRate); // 越往下,高度变化越小 - } else { // 向上收 - me.downHight += diff; // 向上收回高度,则向上滑多少收多少高度 - } - } - - let rate = me.downHight / me.optDown.offset; // 下拉区域当前高度与指定距离的比值 - me.optDown.onMoving && me.optDown.onMoving(me, rate, me.downHight); // 下拉过程中的回调,一直在执行 - } - } - - me.lastPoint = curPoint; // 记录本次移动的点 -} - -/* 列表touchend事件 */ -MeScroll.prototype.touchendEvent = function(e) { - if (!this.optDown.use) return; - // 如果下拉区域高度已改变,则需重置回来 - if (this.isMoveDown) { - if (this.downHight >= this.optDown.offset) { - // 符合触发刷新的条件 - this.triggerDownScroll(); - } else { - // 不符合的话 则重置 - this.downHight = 0; - this.optDown.endDownScroll && this.optDown.endDownScroll(this); - } - this.movetype = 0; - this.isMoveDown = false; - } else if (!this.isScrollBody && this.getScrollTop() === this.startTop) { // scroll-view到顶/左/右/底的滑动事件 - let isScrollUp = this.getPoint(e).y - this.startPoint.y < 0; // 和起点比,移动的距离,大于0向下拉,小于0向上拉 - // 上滑 - if (isScrollUp) { - // 需检查滑动的角度 - let angle = this.getAngle(this.getPoint(e), this.startPoint); // 两点之间的角度,区间 [0,90] - if (angle > 80) { - // 检查并触发上拉 - this.triggerUpScroll(true); - } - } - } -} - -/* 根据点击滑动事件获取第一个手指的坐标 */ -MeScroll.prototype.getPoint = function(e) { - if (!e) { - return { - x: 0, - y: 0 - } - } - if (e.touches && e.touches[0]) { - return { - x: e.touches[0].pageX, - y: e.touches[0].pageY - } - } else if (e.changedTouches && e.changedTouches[0]) { - return { - x: e.changedTouches[0].pageX, - y: e.changedTouches[0].pageY - } - } else { - return { - x: e.clientX, - y: e.clientY - } - } -} - -/* 计算两点之间的角度: 区间 [0,90]*/ -MeScroll.prototype.getAngle = function(p1, p2) { - let x = Math.abs(p1.x - p2.x); - let y = Math.abs(p1.y - p2.y); - let z = Math.sqrt(x * x + y * y); - let angle = 0; - if (z !== 0) { - angle = Math.asin(y / z) / Math.PI * 180; - } - return angle -} - -/* 触发下拉刷新 */ -MeScroll.prototype.triggerDownScroll = function() { - if (this.optDown.beforeLoading && this.optDown.beforeLoading(this)) { - //return true则处于完全自定义状态 - } else { - this.showDownScroll(); // 下拉刷新中... - this.optDown.callback && this.optDown.callback(this); // 执行回调,联网加载数据 - } -} - -/* 显示下拉进度布局 */ -MeScroll.prototype.showDownScroll = function() { - this.isDownScrolling = true; // 标记下拉中 - if (this.optDown.native) { - uni.startPullDownRefresh(); // 系统自带的下拉刷新 - this.optDown.showLoading && this.optDown.showLoading(this, 0); // 仍触发showLoading,因为上拉加载用到 - } else { - this.downHight = this.optDown.offset; // 更新下拉区域高度 - this.optDown.showLoading && this.optDown.showLoading(this, this.downHight); // 下拉刷新中... - } -} - -/* 显示系统自带的下拉刷新时需要处理的业务 */ -MeScroll.prototype.onPullDownRefresh = function() { - this.isDownScrolling = true; // 标记下拉中 - this.optDown.showLoading && this.optDown.showLoading(this, 0); // 仍触发showLoading,因为上拉加载用到 - this.optDown.callback && this.optDown.callback(this); // 执行回调,联网加载数据 -} - -/* 结束下拉刷新 */ -MeScroll.prototype.endDownScroll = function() { - if (this.optDown.native) { // 结束原生下拉刷新 - this.isDownScrolling = false; - this.optDown.endDownScroll && this.optDown.endDownScroll(this); - uni.stopPullDownRefresh(); - return - } - let me = this; - // 结束下拉刷新的方法 - let endScroll = function() { - me.downHight = 0; - me.isDownScrolling = false; - me.optDown.endDownScroll && me.optDown.endDownScroll(me); - !me.isScrollBody && me.setScrollHeight(0) // scroll-view重置滚动区域,使数据不满屏时仍可检查触发翻页 - } - // 结束下拉刷新时的回调 - let delay = 0; - if (me.optDown.afterLoading) delay = me.optDown.afterLoading(me); // 结束下拉刷新的延时,单位ms - if (typeof delay === 'number' && delay > 0) { - setTimeout(endScroll, delay); - } else { - endScroll(); - } -} - -/* 锁定下拉刷新:isLock=ture,null锁定;isLock=false解锁 */ -MeScroll.prototype.lockDownScroll = function(isLock) { - if (isLock == null) isLock = true; - this.optDown.isLock = isLock; -} - -/* 锁定上拉加载:isLock=ture,null锁定;isLock=false解锁 */ -MeScroll.prototype.lockUpScroll = function(isLock) { - if (isLock == null) isLock = true; - this.optUp.isLock = isLock; -} - -/* -------初始化上拉加载------- */ -MeScroll.prototype.initUpScroll = function() { - let me = this; - // 配置参数 - me.optUp = me.options.up || { - use: false - }; - me.extendUpScroll(me.optUp); - - if (!me.optUp.isBounce) me.setBounce(false); // 不允许bounce时,需禁止window的touchmove事件 - - if (me.optUp.use === false) return; // 配置不使用上拉加载时,则不初始化上拉布局 - me.optUp.hasNext = true; // 如果使用上拉,则默认有下一页 - me.startNum = me.optUp.page.num + 1; // 记录page开始的页码 - - // 初始化完毕的回调 - if (me.optUp.inited) { - setTimeout(function() { // 待主线程执行完毕再执行,避免new MeScroll未初始化,在回调获取不到mescroll的实例 - me.optUp.inited(me); - }, 0) - } -} - -/*滚动到底部的事件 (仅mescroll-body生效)*/ -MeScroll.prototype.onReachBottom = function() { - if (this.isScrollBody && !this.isUpScrolling) { // 只能支持下拉刷新的时候同时可以触发上拉加载,否则滚动到底部就需要上滑一点才能触发onReachBottom - if (!this.optUp.isLock && this.optUp.hasNext) { - this.triggerUpScroll(); - } - } -} - -/*列表滚动事件 (仅mescroll-body生效)*/ -MeScroll.prototype.onPageScroll = function(e) { - if (!this.isScrollBody) return; - - // 更新滚动条的位置 (主要用于判断下拉刷新时,滚动条是否在顶部) - this.setScrollTop(e.scrollTop); - - // 顶部按钮的显示隐藏 - if (e.scrollTop >= this.optUp.toTop.offset) { - this.showTopBtn(); - } else { - this.hideTopBtn(); - } -} - -/*列表滚动事件*/ -MeScroll.prototype.scroll = function(e, onScroll) { - // 更新滚动条的位置 - this.setScrollTop(e.scrollTop); - // 更新滚动内容高度 - this.setScrollHeight(e.scrollHeight); - - // 向上滑还是向下滑动 - if (this.preScrollY == null) this.preScrollY = 0; - this.isScrollUp = e.scrollTop - this.preScrollY > 0; - this.preScrollY = e.scrollTop; - - // 上滑 && 检查并触发上拉 - this.isScrollUp && this.triggerUpScroll(true); - - // 顶部按钮的显示隐藏 - if (e.scrollTop >= this.optUp.toTop.offset) { - this.showTopBtn(); - } else { - this.hideTopBtn(); - } - - // 滑动监听 - this.optUp.onScroll && onScroll && onScroll() -} - -/* 触发上拉加载 */ -MeScroll.prototype.triggerUpScroll = function(isCheck) { - if (!this.isUpScrolling && this.optUp.use && this.optUp.callback) { - // 是否校验在底部; 默认不校验 - if (isCheck === true) { - let canUp = false; - // 还有下一页 && 没有锁定 && 不在下拉中 - if (this.optUp.hasNext && !this.optUp.isLock && !this.isDownScrolling) { - if (this.getScrollBottom() <= this.optUp.offset) { // 到底部 - canUp = true; // 标记可上拉 - } - } - if (canUp === false) return; - } - this.showUpScroll(); // 上拉加载中... - this.optUp.page.num++; // 预先加一页,如果失败则减回 - this.isUpAutoLoad = true; // 标记上拉已经自动执行过,避免初始化时多次触发上拉回调 - this.num = this.optUp.page.num; // 把最新的页数赋值在mescroll上,避免对page的影响 - this.size = this.optUp.page.size; // 把最新的页码赋值在mescroll上,避免对page的影响 - this.time = this.optUp.page.time; // 把最新的页码赋值在mescroll上,避免对page的影响 - this.optUp.callback(this); // 执行回调,联网加载数据 - } -} - -/* 显示上拉加载中 */ -MeScroll.prototype.showUpScroll = function() { - this.isUpScrolling = true; // 标记上拉加载中 - this.optUp.showLoading && this.optUp.showLoading(this); // 回调 -} - -/* 显示上拉无更多数据 */ -MeScroll.prototype.showNoMore = function() { - this.optUp.hasNext = false; // 标记无更多数据 - this.optUp.showNoMore && this.optUp.showNoMore(this); // 回调 -} - -/* 隐藏上拉区域**/ -MeScroll.prototype.hideUpScroll = function() { - this.optUp.hideUpScroll && this.optUp.hideUpScroll(this); // 回调 -} - -/* 结束上拉加载 */ -MeScroll.prototype.endUpScroll = function(isShowNoMore) { - if (isShowNoMore != null) { // isShowNoMore=null,不处理下拉状态,下拉刷新的时候调用 - if (isShowNoMore) { - this.showNoMore(); // isShowNoMore=true,显示无更多数据 - } else { - this.hideUpScroll(); // isShowNoMore=false,隐藏上拉加载 - } - } - this.isUpScrolling = false; // 标记结束上拉加载 -} - -/* 重置上拉加载列表为第一页 - *isShowLoading 是否显示进度布局; - * 1.默认null,不传参,则显示上拉加载的进度布局 - * 2.传参true, 则显示下拉刷新的进度布局 - * 3.传参false,则不显示上拉和下拉的进度 (常用于静默更新列表数据) - */ -MeScroll.prototype.resetUpScroll = function(isShowLoading) { - if (this.optUp && this.optUp.use) { - let page = this.optUp.page; - this.prePageNum = page.num; // 缓存重置前的页码,加载失败可退回 - this.prePageTime = page.time; // 缓存重置前的时间,加载失败可退回 - page.num = this.startNum; // 重置为第一页 - page.time = null; // 重置时间为空 - if (!this.isDownScrolling && isShowLoading !== false) { // 如果不是下拉刷新触发的resetUpScroll并且不配置列表静默更新,则显示进度; - if (isShowLoading == null) { - this.removeEmpty(); // 移除空布局 - this.showUpScroll(); // 不传参,默认显示上拉加载的进度布局 - } else { - this.showDownScroll(); // 传true,显示下拉刷新的进度布局,不清空列表 - } - } - this.isUpAutoLoad = true; // 标记上拉已经自动执行过,避免初始化时多次触发上拉回调 - this.num = page.num; // 把最新的页数赋值在mescroll上,避免对page的影响 - this.size = page.size; // 把最新的页码赋值在mescroll上,避免对page的影响 - this.time = page.time; // 把最新的页码赋值在mescroll上,避免对page的影响 - this.optUp.callback && this.optUp.callback(this); // 执行上拉回调 - } -} - -/* 设置page.num的值 */ -MeScroll.prototype.setPageNum = function(num) { - this.optUp.page.num = num - 1; -} - -/* 设置page.size的值 */ -MeScroll.prototype.setPageSize = function(size) { - this.optUp.page.size = size; -} - -/* 联网回调成功,结束下拉刷新和上拉加载 - * dataSize: 当前页的数据量(必传) - * totalPage: 总页数(必传) - * systime: 服务器时间 (可空) - */ -MeScroll.prototype.endByPage = function(dataSize, totalPage, systime) { - let hasNext; - if (this.optUp.use && totalPage != null) hasNext = this.optUp.page.num < totalPage; // 是否还有下一页 - this.endSuccess(dataSize, hasNext, systime); -} - -/* 联网回调成功,结束下拉刷新和上拉加载 - * dataSize: 当前页的数据量(必传) - * totalSize: 列表所有数据总数量(必传) - * systime: 服务器时间 (可空) - */ -MeScroll.prototype.endBySize = function(dataSize, totalSize, systime) { - let hasNext; - if (this.optUp.use && totalSize != null) { - let loadSize = (this.optUp.page.num - 1) * this.optUp.page.size + dataSize; // 已加载的数据总数 - hasNext = loadSize < totalSize; // 是否还有下一页 - } - this.endSuccess(dataSize, hasNext, systime); -} - -/* 联网回调成功,结束下拉刷新和上拉加载 - * dataSize: 当前页的数据个数(不是所有页的数据总和),用于上拉加载判断是否还有下一页.如果不传,则会判断还有下一页 - * hasNext: 是否还有下一页,布尔类型;用来解决这个小问题:比如列表共有20条数据,每页加载10条,共2页.如果只根据dataSize判断,则需翻到第三页才会知道无更多数据,如果传了hasNext,则翻到第二页即可显示无更多数据. - * systime: 服务器时间(可空);用来解决这个小问题:当准备翻下一页时,数据库新增了几条记录,此时翻下一页,前面的几条数据会和上一页的重复;这里传入了systime,那么upCallback的page.time就会有值,把page.time传给服务器,让后台过滤新加入的那几条记录 - */ -MeScroll.prototype.endSuccess = function(dataSize, hasNext, systime) { - let me = this; - // 结束下拉刷新 - if (me.isDownScrolling) me.endDownScroll(); - - // 结束上拉加载 - if (me.optUp.use) { - let isShowNoMore; // 是否已无更多数据 - if (dataSize != null) { - let pageNum = me.optUp.page.num; // 当前页码 - let pageSize = me.optUp.page.size; // 每页长度 - // 如果是第一页 - if (pageNum === 1) { - if (systime) me.optUp.page.time = systime; // 设置加载列表数据第一页的时间 - } - if (dataSize < pageSize || hasNext === false) { - // 返回的数据不满一页时,则说明已无更多数据 - me.optUp.hasNext = false; - if (dataSize === 0 && pageNum === 1) { - // 如果第一页无任何数据且配置了空布局 - isShowNoMore = false; - me.showEmpty(); - } else { - // 总列表数少于配置的数量,则不显示无更多数据 - let allDataSize = (pageNum - 1) * pageSize + dataSize; - if (allDataSize < me.optUp.noMoreSize) { - isShowNoMore = false; - } else { - isShowNoMore = true; - } - me.removeEmpty(); // 移除空布局 - } - } else { - // 还有下一页 - isShowNoMore = false; - me.optUp.hasNext = true; - me.removeEmpty(); // 移除空布局 - } - } - - // 隐藏上拉 - me.endUpScroll(isShowNoMore); - } -} - -/* 回调失败,结束下拉刷新和上拉加载 */ -MeScroll.prototype.endErr = function(errDistance) { - // 结束下拉,回调失败重置回原来的页码和时间 - if (this.isDownScrolling) { - let page = this.optUp.page; - if (page && this.prePageNum) { - page.num = this.prePageNum; - page.time = this.prePageTime; - } - this.endDownScroll(); - } - // 结束上拉,回调失败重置回原来的页码 - if (this.isUpScrolling) { - this.optUp.page.num--; - this.endUpScroll(false); - // 如果是mescroll-body,则需往回滚一定距离 - if (this.isScrollBody && errDistance !== 0) { // 不处理0 - if (!errDistance) errDistance = this.optUp.errDistance; // 不传,则取默认 - this.scrollTo(this.getScrollTop() - errDistance, 0) // 往上回滚的距离 - } - } -} - -/* 显示空布局 */ -MeScroll.prototype.showEmpty = function() { - this.optUp.empty.use && this.optUp.empty.onShow && this.optUp.empty.onShow(true) -} - -/* 移除空布局 */ -MeScroll.prototype.removeEmpty = function() { - this.optUp.empty.use && this.optUp.empty.onShow && this.optUp.empty.onShow(false) -} - -/* 显示回到顶部的按钮 */ -MeScroll.prototype.showTopBtn = function() { - if (!this.topBtnShow) { - this.topBtnShow = true; - this.optUp.toTop.onShow && this.optUp.toTop.onShow(true); - } -} - -/* 隐藏回到顶部的按钮 */ -MeScroll.prototype.hideTopBtn = function() { - if (this.topBtnShow) { - this.topBtnShow = false; - this.optUp.toTop.onShow && this.optUp.toTop.onShow(false); - } -} - -/* 获取滚动条的位置 */ -MeScroll.prototype.getScrollTop = function() { - return this.scrollTop || 0 -} - -/* 记录滚动条的位置 */ -MeScroll.prototype.setScrollTop = function(y) { - this.scrollTop = y; -} - -/* 滚动到指定位置 */ -MeScroll.prototype.scrollTo = function(y, t) { - this.myScrollTo && this.myScrollTo(y, t) // scrollview需自定义回到顶部方法 -} - -/* 自定义scrollTo */ -MeScroll.prototype.resetScrollTo = function(myScrollTo) { - this.myScrollTo = myScrollTo -} - -/* 滚动条到底部的距离 */ -MeScroll.prototype.getScrollBottom = function() { - return this.getScrollHeight() - this.getClientHeight() - this.getScrollTop() -} - -/* 计步器 - star: 开始值 - end: 结束值 - callback(step,timer): 回调step值,计步器timer,可自行通过window.clearInterval(timer)结束计步器; - t: 计步时长,传0则直接回调end值;不传则默认300ms - rate: 周期;不传则默认30ms计步一次 - * */ -MeScroll.prototype.getStep = function(star, end, callback, t, rate) { - let diff = end - star; // 差值 - if (t === 0 || diff === 0) { - callback && callback(end); - return; - } - t = t || 300; // 时长 300ms - rate = rate || 30; // 周期 30ms - let count = t / rate; // 次数 - let step = diff / count; // 步长 - let i = 0; // 计数 - let timer = setInterval(function() { - if (i < count - 1) { - star += step; - callback && callback(star, timer); - i++; - } else { - callback && callback(end, timer); // 最后一次直接设置end,避免计算误差 - clearInterval(timer); - } - }, rate); -} - -/* 滚动容器的高度 */ -MeScroll.prototype.getClientHeight = function(isReal) { - let h = this.clientHeight || 0 - if (h === 0 && isReal !== true) { // 未获取到容器的高度,可临时取body的高度 (可能会有误差) - h = this.getBodyHeight() - } - return h -} -MeScroll.prototype.setClientHeight = function(h) { - this.clientHeight = h; -} - -/* 滚动内容的高度 */ -MeScroll.prototype.getScrollHeight = function() { - return this.scrollHeight || 0; -} -MeScroll.prototype.setScrollHeight = function(h) { - this.scrollHeight = h; -} - -/* body的高度 */ -MeScroll.prototype.getBodyHeight = function() { - return this.bodyHeight || 0; -} -MeScroll.prototype.setBodyHeight = function(h) { - this.bodyHeight = h; -} - -/* 阻止浏览器默认滚动事件 */ -MeScroll.prototype.preventDefault = function(e) { - // 小程序不支持e.preventDefault - // app的bounce只能通过配置pages.json的style.app-plus.bounce为"none"来禁止 - // cancelable:是否可以被禁用; defaultPrevented:是否已经被禁用 - if (e && e.cancelable && !e.defaultPrevented) e.preventDefault() -} - -/* 是否允许下拉回弹(橡皮筋效果); true或null为允许; false禁止bounce */ -MeScroll.prototype.setBounce = function(isBounce) { - // #ifdef H5 - if (isBounce === false) { - this.optUp.isBounce = false; // 禁止 - // 标记当前页使用了mescroll (需延时,确保page已切换) - setTimeout(function() { - let uniPageDom = document.getElementsByTagName('uni-page')[0]; - uniPageDom && uniPageDom.setAttribute('use_mescroll', true) - }, 30); - // 避免重复添加事件 - if (window.isSetBounce) return; - window.isSetBounce = true; - // 需禁止window的touchmove事件才能有效的阻止bounce - window.bounceTouchmove = function(e) { - let el = e.target; - // 当前touch的元素及父元素是否要拦截touchmove事件 - let isPrevent = true; - while (el !== document.body && el !== document) { - if (el.tagName === 'UNI-PAGE') { // 只扫描当前页 - if (!el.getAttribute('use_mescroll')) { - isPrevent = false; // 如果当前页没有使用mescroll,则不阻止 - } - break; - } - let cls = el.classList; - if (cls) { - if (cls.contains('mescroll-touch')) { // 采用scroll-view 此处不能过滤mescroll-uni,否则下拉仍然有回弹 - isPrevent = false; // mescroll-touch无需拦截touchmove事件 - break; - } else if (cls.contains('mescroll-touch-x') || cls.contains('mescroll-touch-y')) { - // 如果配置了水平或者垂直滑动 - let curX = e.touches ? e.touches[0].pageX : e.clientX; // 当前第一个手指距离列表顶部的距离x - let curY = e.touches ? e.touches[0].pageY : e.clientY; // 当前第一个手指距离列表顶部的距离y - if (!this.preWinX) this.preWinX = curX; // 设置上次移动的距离x - if (!this.preWinY) this.preWinY = curY; // 设置上次移动的距离y - // 计算两点之间的角度 - let x = Math.abs(this.preWinX - curX); - let y = Math.abs(this.preWinY - curY); - let z = Math.sqrt(x * x + y * y); - this.preWinX = curX; // 记录本次curX的值 - this.preWinY = curY; // 记录本次curY的值 - if (z !== 0) { - let angle = Math.asin(y / z) / Math.PI * 180; // 角度区间 [0,90] - if ((angle <= 45 && cls.contains('mescroll-touch-x')) || (angle > 45 && cls.contains('mescroll-touch-y'))) { - isPrevent = false; // 水平滑动或者垂直滑动,不拦截touchmove事件 - break; - } - } - } - } - el = el.parentNode; // 继续检查其父元素 - } - // 拦截touchmove事件:是否可以被禁用&&是否已经被禁用 (这里不使用me.preventDefault(e)的方法,因为某些情况下会报找不到方法的异常) - if (isPrevent && e.cancelable && !e.defaultPrevented && typeof e.preventDefault === "function") e.preventDefault(); - } - window.addEventListener('touchmove', window.bounceTouchmove, { - passive: false - }); - } else { - this.optUp.isBounce = true; // 允许 - if (window.bounceTouchmove) { - window.removeEventListener('touchmove', window.bounceTouchmove); - window.bounceTouchmove = null; - window.isSetBounce = false; - } - } - // #endif -} +/* mescroll + * version 1.2.3 + * 2020-02-18 wenju + * http://www.mescroll.com + */ + +export default function MeScroll(options, isScrollBody) { + let me = this; + me.version = '1.2.3'; // mescroll版本号 + me.options = options || {}; // 配置 + me.isScrollBody = isScrollBody || false; // 滚动区域是否为原生页面滚动; 默认为scroll-view + + me.isDownScrolling = false; // 是否在执行下拉刷新的回调 + me.isUpScrolling = false; // 是否在执行上拉加载的回调 + let hasDownCallback = me.options.down && me.options.down.callback; // 是否配置了down的callback + + // 初始化下拉刷新 + me.initDownScroll(); + // 初始化上拉加载,则初始化 + me.initUpScroll(); + + // 自动加载 + setTimeout(function() { // 待主线程执行完毕再执行,避免new MeScroll未初始化,在回调获取不到mescroll的实例 + // 自动触发下拉刷新 (只有配置了down的callback才自动触发下拉刷新) + if (me.optDown.use && me.optDown.auto && hasDownCallback) { + if (me.optDown.autoShowLoading) { + me.triggerDownScroll(); // 显示下拉进度,执行下拉回调 + } else { + me.optDown.callback && me.optDown.callback(me); // 不显示下拉进度,直接执行下拉回调 + } + } + // 自动触发上拉加载 + setTimeout(function() { // 延时确保先执行down的callback,再执行up的callback,因为部分小程序emit是异步,会导致isUpAutoLoad判断有误 + me.optUp.use && me.optUp.auto && !me.isUpAutoLoad && me.triggerUpScroll(); + }, 100) + }, 30); // 需让me.optDown.inited和me.optUp.inited先执行 +} + +/* 配置参数:下拉刷新 */ +MeScroll.prototype.extendDownScroll = function(optDown) { + // 下拉刷新的配置 + MeScroll.extend(optDown, { + use: true, // 是否启用下拉刷新; 默认true + auto: true, // 是否在初始化完毕之后自动执行下拉刷新的回调; 默认true + native: false, // 是否使用系统自带的下拉刷新; 默认false; 仅mescroll-body生效 (值为true时,还需在pages配置enablePullDownRefresh:true;详请参考mescroll-native的案例) + autoShowLoading: false, // 如果设置auto=true(在初始化完毕之后自动执行下拉刷新的回调),那么是否显示下拉刷新的进度; 默认false + isLock: false, // 是否锁定下拉刷新,默认false; + offset: 80, // 在列表顶部,下拉大于80px,松手即可触发下拉刷新的回调 + startTop: 100, // scroll-view滚动到顶部时,此时的scroll-top不一定为0, 此值用于控制最大的误差 + fps: 80, // 下拉节流 (值越大每秒刷新频率越高) + inOffsetRate: 1, // 在列表顶部,下拉的距离小于offset时,改变下拉区域高度比例;值小于1且越接近0,高度变化越小,表现为越往下越难拉 + outOffsetRate: 0.2, // 在列表顶部,下拉的距离大于offset时,改变下拉区域高度比例;值小于1且越接近0,高度变化越小,表现为越往下越难拉 + bottomOffset: 20, // 当手指touchmove位置在距离body底部20px范围内的时候结束上拉刷新,避免Webview嵌套导致touchend事件不执行 + minAngle: 45, // 向下滑动最少偏移的角度,取值区间 [0,90];默认45度,即向下滑动的角度大于45度则触发下拉;而小于45度,将不触发下拉,避免与左右滑动的轮播等组件冲突; + textInOffset: $lang('common.mescroll.mescroll-uni-option.l6.t0'), // 下拉的距离在offset范围内的提示文本 + textOutOffset: $lang('common.mescroll.mescroll-uni-option.l7.t0'), // 下拉的距离大于offset范围的提示文本 + textLoading: $lang('common.mescroll.mescroll-uni-option.l8.t0'), // 加载中的提示文本 + inited: null, // 下拉刷新初始化完毕的回调 + inOffset: null, // 下拉的距离进入offset范围内那一刻的回调 + outOffset: null, // 下拉的距离大于offset那一刻的回调 + onMoving: null, // 下拉过程中的回调,滑动过程一直在执行; rate下拉区域当前高度与指定距离的比值(inOffset: rate<1; outOffset: rate>=1); downHight当前下拉区域的高度 + beforeLoading: null, // 准备触发下拉刷新的回调: 如果return true,将不触发showLoading和callback回调; 常用来完全自定义下拉刷新, 参考案例【淘宝 v6.8.0】 + showLoading: null, // 显示下拉刷新进度的回调 + afterLoading: null, // 准备结束下拉的回调. 返回结束下拉的延时执行时间,默认0ms; 常用于结束下拉之前再显示另外一小段动画,才去隐藏下拉刷新的场景, 参考案例【dotJump】 + endDownScroll: null, // 结束下拉刷新的回调 + callback: function(mescroll) { + // 下拉刷新的回调;默认重置上拉加载列表为第一页 + mescroll.resetUpScroll(); + } + }) +} + +/* 配置参数:上拉加载 */ +MeScroll.prototype.extendUpScroll = function(optUp) { + // 上拉加载的配置 + MeScroll.extend(optUp, { + use: true, // 是否启用上拉加载; 默认true + auto: true, // 是否在初始化完毕之后自动执行上拉加载的回调; 默认true + isLock: false, // 是否锁定上拉加载,默认false; + isBoth: true, // 上拉加载时,如果滑动到列表顶部是否可以同时触发下拉刷新;默认true,两者可同时触发; + isBounce: false, // 默认禁止橡皮筋的回弹效果, 必读事项: http://www.mescroll.com/qa.html?v=190725#q25 + callback: null, // 上拉加载的回调;function(page,mescroll){ } + page: { + num: 0, // 当前页码,默认0,回调之前会加1,即callback(page)会从1开始 + size: 10, // 每页数据的数量 + time: null // 加载第一页数据服务器返回的时间; 防止用户翻页时,后台新增了数据从而导致下一页数据重复; + }, + noMoreSize: 5, // 如果列表已无数据,可设置列表的总数量要大于等于5条才显示无更多数据;避免列表数据过少(比如只有一条数据),显示无更多数据会不好看 + offset: 80, // 距底部多远时,触发upCallback + textLoading: $lang('common.mescroll.mescroll-uni-option.l8.t0'), // 加载中的提示文本 + textNoMore: '-- END --', // 没有更多数据的提示文本 + inited: null, // 初始化完毕的回调 + showLoading: null, // 显示加载中的回调 + showNoMore: null, // 显示无更多数据的回调 + hideUpScroll: null, // 隐藏上拉加载的回调 + errDistance: 60, // endErr的时候需往上滑动一段距离,使其往下滑动时再次触发onReachBottom,仅mescroll-body生效 + toTop: { + // 回到顶部按钮,需配置src才显示 + src: null, // 图片路径,默认null (绝对路径或网络图) + offset: 1000, // 列表滚动多少距离才显示回到顶部按钮,默认1000 + duration: 300, // 回到顶部的动画时长,默认300ms (当值为0或300则使用系统自带回到顶部,更流畅; 其他值则通过step模拟,部分机型可能不够流畅,所以非特殊情况不建议修改此项) + btnClick: null, // 点击按钮的回调 + onShow: null, // 是否显示的回调 + zIndex: 9990, // fixed定位z-index值 + left: null, // 到左边的距离, 默认null. 此项有值时,right不生效. (支持20, "20rpx", "20px", "20%"格式的值, 其中纯数字则默认单位rpx) + right: 20, // 到右边的距离, 默认20 (支持20, "20rpx", "20px", "20%"格式的值, 其中纯数字则默认单位rpx) + bottom: 120, // 到底部的距离, 默认120 (支持20, "20rpx", "20px", "20%"格式的值, 其中纯数字则默认单位rpx) + safearea: false, // bottom的偏移量是否加上底部安全区的距离, 默认false, 需要适配iPhoneX时使用 (具体的界面如果不配置此项,则取本vue的safearea值) + width: 72, // 回到顶部图标的宽度, 默认72 (支持20, "20rpx", "20px", "20%"格式的值, 其中纯数字则默认单位rpx) + radius: "50%" // 圆角, 默认"50%" (支持20, "20rpx", "20px", "20%"格式的值, 其中纯数字则默认单位rpx) + }, + empty: { + use: true, // 是否显示空布局 + icon: null, // 图标路径 + tip: $lang('common.mescroll.mescroll-uni-option.l30.t0'), // 提示 + btnText: '', // 按钮 + btnClick: null, // 点击按钮的回调 + onShow: null, // 是否显示的回调 + fixed: false, // 是否使用fixed定位,默认false; 配置fixed为true,以下的top和zIndex才生效 (transform会使fixed失效,最终会降级为absolute) + top: "100rpx", // fixed定位的top值 (完整的单位值,如 "10%"; "100rpx") + zIndex: 99 // fixed定位z-index值 + }, + onScroll: false // 是否监听滚动事件 + }) +} + +/* 配置参数 */ +MeScroll.extend = function(userOption, defaultOption) { + if (!userOption) return defaultOption; + for (let key in defaultOption) { + if (userOption[key] == null) { + let def = defaultOption[key]; + if (def != null && typeof def === 'object') { + userOption[key] = MeScroll.extend({}, def); // 深度匹配 + } else { + userOption[key] = def; + } + } else if (typeof userOption[key] === 'object') { + MeScroll.extend(userOption[key], defaultOption[key]); // 深度匹配 + } + } + return userOption; +} + +/* -------初始化下拉刷新------- */ +MeScroll.prototype.initDownScroll = function() { + let me = this; + // 配置参数 + me.optDown = me.options.down || {}; + me.extendDownScroll(me.optDown); + + // 如果是mescroll-body且配置了native,则禁止自定义的下拉刷新 + if (me.isScrollBody && me.optDown.native) { + me.optDown.use = false + } else { + me.optDown.native = false // 仅mescroll-body支持,mescroll-uni不支持 + } + + me.downHight = 0; // 下拉区域的高度 + + // 在页面中加入下拉布局 + if (me.optDown.use && me.optDown.inited) { + // 初始化完毕的回调 + setTimeout(function() { // 待主线程执行完毕再执行,避免new MeScroll未初始化,在回调获取不到mescroll的实例 + me.optDown.inited(me); + }, 0) + } +} + +/* 列表touchstart事件 */ +MeScroll.prototype.touchstartEvent = function(e) { + if (!this.optDown.use) return; + + this.startPoint = this.getPoint(e); // 记录起点 + this.startTop = this.getScrollTop(); // 记录此时的滚动条位置 + this.lastPoint = this.startPoint; // 重置上次move的点 + this.maxTouchmoveY = this.getBodyHeight() - this.optDown.bottomOffset; // 手指触摸的最大范围(写在touchstart避免body获取高度为0的情况) + this.inTouchend = false; // 标记不是touchend +} + +/* 列表touchmove事件 */ +MeScroll.prototype.touchmoveEvent = function(e) { + if (!this.optDown.use) return; + if (!this.startPoint) return; + let me = this; + + // 节流 + let t = new Date().getTime(); + if (me.moveTime && t - me.moveTime < me.moveTimeDiff) { // 小于节流时间,则不处理 + return; + } else { + me.moveTime = t + if (!me.moveTimeDiff) me.moveTimeDiff = 1000 / me.optDown.fps + } + + let scrollTop = me.getScrollTop(); // 当前滚动条的距离 + let curPoint = me.getPoint(e); // 当前点 + + let moveY = curPoint.y - me.startPoint.y; // 和起点比,移动的距离,大于0向下拉,小于0向上拉 + + // 向下拉 && 在顶部 + // mescroll-body,直接判定在顶部即可 + // scroll-view在滚动时不会触发touchmove,当触顶/底/左/右时,才会触发touchmove + // scroll-view滚动到顶部时,scrollTop不一定为0; 在iOS的APP中scrollTop可能为负数,不一定和startTop相等 + if (moveY > 0 && ( + (me.isScrollBody && scrollTop <= 0) || + (!me.isScrollBody && (scrollTop <= 0 || (scrollTop <= me.optDown.startTop && scrollTop === me.startTop))) + )) { + // 可下拉的条件 + if (!me.inTouchend && !me.isDownScrolling && !me.optDown.isLock && (!me.isUpScrolling || (me.isUpScrolling && + me.optUp.isBoth))) { + + // 下拉的角度是否在配置的范围内 + let angle = me.getAngle(me.lastPoint, curPoint); // 两点之间的角度,区间 [0,90] + if (angle < me.optDown.minAngle) return; // 如果小于配置的角度,则不往下执行下拉刷新 + + // 如果手指的位置超过配置的距离,则提前结束下拉,避免Webview嵌套导致touchend无法触发 + if (me.maxTouchmoveY > 0 && curPoint.y >= me.maxTouchmoveY) { + me.inTouchend = true; // 标记执行touchend + me.touchendEvent(); // 提前触发touchend + return; + } + + me.preventDefault(e); // 阻止默认事件 + + let diff = curPoint.y - me.lastPoint.y; // 和上次比,移动的距离 (大于0向下,小于0向上) + + // 下拉距离 < 指定距离 + if (me.downHight < me.optDown.offset) { + if (me.movetype !== 1) { + me.movetype = 1; // 加入标记,保证只执行一次 + me.optDown.inOffset && me.optDown.inOffset(me); // 进入指定距离范围内那一刻的回调,只执行一次 + me.isMoveDown = true; // 标记下拉区域高度改变,在touchend重置回来 + } + me.downHight += diff * me.optDown.inOffsetRate; // 越往下,高度变化越小 + + // 指定距离 <= 下拉距离 + } else { + if (me.movetype !== 2) { + me.movetype = 2; // 加入标记,保证只执行一次 + me.optDown.outOffset && me.optDown.outOffset(me); // 下拉超过指定距离那一刻的回调,只执行一次 + me.isMoveDown = true; // 标记下拉区域高度改变,在touchend重置回来 + } + if (diff > 0) { // 向下拉 + me.downHight += Math.round(diff * me.optDown.outOffsetRate); // 越往下,高度变化越小 + } else { // 向上收 + me.downHight += diff; // 向上收回高度,则向上滑多少收多少高度 + } + } + + let rate = me.downHight / me.optDown.offset; // 下拉区域当前高度与指定距离的比值 + me.optDown.onMoving && me.optDown.onMoving(me, rate, me.downHight); // 下拉过程中的回调,一直在执行 + } + } + + me.lastPoint = curPoint; // 记录本次移动的点 +} + +/* 列表touchend事件 */ +MeScroll.prototype.touchendEvent = function(e) { + if (!this.optDown.use) return; + // 如果下拉区域高度已改变,则需重置回来 + if (this.isMoveDown) { + if (this.downHight >= this.optDown.offset) { + // 符合触发刷新的条件 + this.triggerDownScroll(); + } else { + // 不符合的话 则重置 + this.downHight = 0; + this.optDown.endDownScroll && this.optDown.endDownScroll(this); + } + this.movetype = 0; + this.isMoveDown = false; + } else if (!this.isScrollBody && this.getScrollTop() === this.startTop) { // scroll-view到顶/左/右/底的滑动事件 + let isScrollUp = this.getPoint(e).y - this.startPoint.y < 0; // 和起点比,移动的距离,大于0向下拉,小于0向上拉 + // 上滑 + if (isScrollUp) { + // 需检查滑动的角度 + let angle = this.getAngle(this.getPoint(e), this.startPoint); // 两点之间的角度,区间 [0,90] + if (angle > 80) { + // 检查并触发上拉 + this.triggerUpScroll(true); + } + } + } +} + +/* 根据点击滑动事件获取第一个手指的坐标 */ +MeScroll.prototype.getPoint = function(e) { + if (!e) { + return { + x: 0, + y: 0 + } + } + if (e.touches && e.touches[0]) { + return { + x: e.touches[0].pageX, + y: e.touches[0].pageY + } + } else if (e.changedTouches && e.changedTouches[0]) { + return { + x: e.changedTouches[0].pageX, + y: e.changedTouches[0].pageY + } + } else { + return { + x: e.clientX, + y: e.clientY + } + } +} + +/* 计算两点之间的角度: 区间 [0,90]*/ +MeScroll.prototype.getAngle = function(p1, p2) { + let x = Math.abs(p1.x - p2.x); + let y = Math.abs(p1.y - p2.y); + let z = Math.sqrt(x * x + y * y); + let angle = 0; + if (z !== 0) { + angle = Math.asin(y / z) / Math.PI * 180; + } + return angle +} + +/* 触发下拉刷新 */ +MeScroll.prototype.triggerDownScroll = function() { + if (this.optDown.beforeLoading && this.optDown.beforeLoading(this)) { + //return true则处于完全自定义状态 + } else { + this.showDownScroll(); // 下拉刷新中... + this.optDown.callback && this.optDown.callback(this); // 执行回调,联网加载数据 + } +} + +/* 显示下拉进度布局 */ +MeScroll.prototype.showDownScroll = function() { + this.isDownScrolling = true; // 标记下拉中 + if (this.optDown.native) { + uni.startPullDownRefresh(); // 系统自带的下拉刷新 + this.optDown.showLoading && this.optDown.showLoading(this, 0); // 仍触发showLoading,因为上拉加载用到 + } else { + this.downHight = this.optDown.offset; // 更新下拉区域高度 + this.optDown.showLoading && this.optDown.showLoading(this, this.downHight); // 下拉刷新中... + } +} + +/* 显示系统自带的下拉刷新时需要处理的业务 */ +MeScroll.prototype.onPullDownRefresh = function() { + this.isDownScrolling = true; // 标记下拉中 + this.optDown.showLoading && this.optDown.showLoading(this, 0); // 仍触发showLoading,因为上拉加载用到 + this.optDown.callback && this.optDown.callback(this); // 执行回调,联网加载数据 +} + +/* 结束下拉刷新 */ +MeScroll.prototype.endDownScroll = function() { + if (this.optDown.native) { // 结束原生下拉刷新 + this.isDownScrolling = false; + this.optDown.endDownScroll && this.optDown.endDownScroll(this); + uni.stopPullDownRefresh(); + return + } + let me = this; + // 结束下拉刷新的方法 + let endScroll = function() { + me.downHight = 0; + me.isDownScrolling = false; + me.optDown.endDownScroll && me.optDown.endDownScroll(me); + !me.isScrollBody && me.setScrollHeight(0) // scroll-view重置滚动区域,使数据不满屏时仍可检查触发翻页 + } + // 结束下拉刷新时的回调 + let delay = 0; + if (me.optDown.afterLoading) delay = me.optDown.afterLoading(me); // 结束下拉刷新的延时,单位ms + if (typeof delay === 'number' && delay > 0) { + setTimeout(endScroll, delay); + } else { + endScroll(); + } +} + +/* 锁定下拉刷新:isLock=ture,null锁定;isLock=false解锁 */ +MeScroll.prototype.lockDownScroll = function(isLock) { + if (isLock == null) isLock = true; + this.optDown.isLock = isLock; +} + +/* 锁定上拉加载:isLock=ture,null锁定;isLock=false解锁 */ +MeScroll.prototype.lockUpScroll = function(isLock) { + if (isLock == null) isLock = true; + this.optUp.isLock = isLock; +} + +/* -------初始化上拉加载------- */ +MeScroll.prototype.initUpScroll = function() { + let me = this; + // 配置参数 + me.optUp = me.options.up || { + use: false + }; + me.extendUpScroll(me.optUp); + + if (!me.optUp.isBounce) me.setBounce(false); // 不允许bounce时,需禁止window的touchmove事件 + + if (me.optUp.use === false) return; // 配置不使用上拉加载时,则不初始化上拉布局 + me.optUp.hasNext = true; // 如果使用上拉,则默认有下一页 + me.startNum = me.optUp.page.num + 1; // 记录page开始的页码 + + // 初始化完毕的回调 + if (me.optUp.inited) { + setTimeout(function() { // 待主线程执行完毕再执行,避免new MeScroll未初始化,在回调获取不到mescroll的实例 + me.optUp.inited(me); + }, 0) + } +} + +/*滚动到底部的事件 (仅mescroll-body生效)*/ +MeScroll.prototype.onReachBottom = function() { + if (this.isScrollBody && !this.isUpScrolling) { // 只能支持下拉刷新的时候同时可以触发上拉加载,否则滚动到底部就需要上滑一点才能触发onReachBottom + if (!this.optUp.isLock && this.optUp.hasNext) { + this.triggerUpScroll(); + } + } +} + +/*列表滚动事件 (仅mescroll-body生效)*/ +MeScroll.prototype.onPageScroll = function(e) { + if (!this.isScrollBody) return; + + // 更新滚动条的位置 (主要用于判断下拉刷新时,滚动条是否在顶部) + this.setScrollTop(e.scrollTop); + + // 顶部按钮的显示隐藏 + if (e.scrollTop >= this.optUp.toTop.offset) { + this.showTopBtn(); + } else { + this.hideTopBtn(); + } +} + +/*列表滚动事件*/ +MeScroll.prototype.scroll = function(e, onScroll) { + // 更新滚动条的位置 + this.setScrollTop(e.scrollTop); + // 更新滚动内容高度 + this.setScrollHeight(e.scrollHeight); + + // 向上滑还是向下滑动 + if (this.preScrollY == null) this.preScrollY = 0; + this.isScrollUp = e.scrollTop - this.preScrollY > 0; + this.preScrollY = e.scrollTop; + + // 上滑 && 检查并触发上拉 + this.isScrollUp && this.triggerUpScroll(true); + + // 顶部按钮的显示隐藏 + if (e.scrollTop >= this.optUp.toTop.offset) { + this.showTopBtn(); + } else { + this.hideTopBtn(); + } + + // 滑动监听 + this.optUp.onScroll && onScroll && onScroll() +} + +/* 触发上拉加载 */ +MeScroll.prototype.triggerUpScroll = function(isCheck) { + if (!this.isUpScrolling && this.optUp.use && this.optUp.callback) { + // 是否校验在底部; 默认不校验 + if (isCheck === true) { + let canUp = false; + // 还有下一页 && 没有锁定 && 不在下拉中 + if (this.optUp.hasNext && !this.optUp.isLock && !this.isDownScrolling) { + if (this.getScrollBottom() <= this.optUp.offset) { // 到底部 + canUp = true; // 标记可上拉 + } + } + if (canUp === false) return; + } + this.showUpScroll(); // 上拉加载中... + this.optUp.page.num++; // 预先加一页,如果失败则减回 + this.isUpAutoLoad = true; // 标记上拉已经自动执行过,避免初始化时多次触发上拉回调 + this.num = this.optUp.page.num; // 把最新的页数赋值在mescroll上,避免对page的影响 + this.size = this.optUp.page.size; // 把最新的页码赋值在mescroll上,避免对page的影响 + this.time = this.optUp.page.time; // 把最新的页码赋值在mescroll上,避免对page的影响 + this.optUp.callback(this); // 执行回调,联网加载数据 + } +} + +/* 显示上拉加载中 */ +MeScroll.prototype.showUpScroll = function() { + this.isUpScrolling = true; // 标记上拉加载中 + this.optUp.showLoading && this.optUp.showLoading(this); // 回调 +} + +/* 显示上拉无更多数据 */ +MeScroll.prototype.showNoMore = function() { + this.optUp.hasNext = false; // 标记无更多数据 + this.optUp.showNoMore && this.optUp.showNoMore(this); // 回调 +} + +/* 隐藏上拉区域**/ +MeScroll.prototype.hideUpScroll = function() { + this.optUp.hideUpScroll && this.optUp.hideUpScroll(this); // 回调 +} + +/* 结束上拉加载 */ +MeScroll.prototype.endUpScroll = function(isShowNoMore) { + if (isShowNoMore != null) { // isShowNoMore=null,不处理下拉状态,下拉刷新的时候调用 + if (isShowNoMore) { + this.showNoMore(); // isShowNoMore=true,显示无更多数据 + } else { + this.hideUpScroll(); // isShowNoMore=false,隐藏上拉加载 + } + } + this.isUpScrolling = false; // 标记结束上拉加载 +} + +/* 重置上拉加载列表为第一页 + *isShowLoading 是否显示进度布局; + * 1.默认null,不传参,则显示上拉加载的进度布局 + * 2.传参true, 则显示下拉刷新的进度布局 + * 3.传参false,则不显示上拉和下拉的进度 (常用于静默更新列表数据) + */ +MeScroll.prototype.resetUpScroll = function(isShowLoading) { + if (this.optUp && this.optUp.use) { + let page = this.optUp.page; + this.prePageNum = page.num; // 缓存重置前的页码,加载失败可退回 + this.prePageTime = page.time; // 缓存重置前的时间,加载失败可退回 + page.num = this.startNum; // 重置为第一页 + page.time = null; // 重置时间为空 + if (!this.isDownScrolling && isShowLoading !== false) { // 如果不是下拉刷新触发的resetUpScroll并且不配置列表静默更新,则显示进度; + if (isShowLoading == null) { + this.removeEmpty(); // 移除空布局 + this.showUpScroll(); // 不传参,默认显示上拉加载的进度布局 + } else { + this.showDownScroll(); // 传true,显示下拉刷新的进度布局,不清空列表 + } + } + this.isUpAutoLoad = true; // 标记上拉已经自动执行过,避免初始化时多次触发上拉回调 + this.num = page.num; // 把最新的页数赋值在mescroll上,避免对page的影响 + this.size = page.size; // 把最新的页码赋值在mescroll上,避免对page的影响 + this.time = page.time; // 把最新的页码赋值在mescroll上,避免对page的影响 + this.optUp.callback && this.optUp.callback(this); // 执行上拉回调 + } +} + +/* 设置page.num的值 */ +MeScroll.prototype.setPageNum = function(num) { + this.optUp.page.num = num - 1; +} + +/* 设置page.size的值 */ +MeScroll.prototype.setPageSize = function(size) { + this.optUp.page.size = size; +} + +/* 联网回调成功,结束下拉刷新和上拉加载 + * dataSize: 当前页的数据量(必传) + * totalPage: 总页数(必传) + * systime: 服务器时间 (可空) + */ +MeScroll.prototype.endByPage = function(dataSize, totalPage, systime) { + let hasNext; + if (this.optUp.use && totalPage != null) hasNext = this.optUp.page.num < totalPage; // 是否还有下一页 + this.endSuccess(dataSize, hasNext, systime); +} + +/* 联网回调成功,结束下拉刷新和上拉加载 + * dataSize: 当前页的数据量(必传) + * totalSize: 列表所有数据总数量(必传) + * systime: 服务器时间 (可空) + */ +MeScroll.prototype.endBySize = function(dataSize, totalSize, systime) { + let hasNext; + if (this.optUp.use && totalSize != null) { + let loadSize = (this.optUp.page.num - 1) * this.optUp.page.size + dataSize; // 已加载的数据总数 + hasNext = loadSize < totalSize; // 是否还有下一页 + } + this.endSuccess(dataSize, hasNext, systime); +} + +/* 联网回调成功,结束下拉刷新和上拉加载 + * dataSize: 当前页的数据个数(不是所有页的数据总和),用于上拉加载判断是否还有下一页.如果不传,则会判断还有下一页 + * hasNext: 是否还有下一页,布尔类型;用来解决这个小问题:比如列表共有20条数据,每页加载10条,共2页.如果只根据dataSize判断,则需翻到第三页才会知道无更多数据,如果传了hasNext,则翻到第二页即可显示无更多数据. + * systime: 服务器时间(可空);用来解决这个小问题:当准备翻下一页时,数据库新增了几条记录,此时翻下一页,前面的几条数据会和上一页的重复;这里传入了systime,那么upCallback的page.time就会有值,把page.time传给服务器,让后台过滤新加入的那几条记录 + */ +MeScroll.prototype.endSuccess = function(dataSize, hasNext, systime) { + let me = this; + // 结束下拉刷新 + if (me.isDownScrolling) me.endDownScroll(); + + // 结束上拉加载 + if (me.optUp.use) { + let isShowNoMore; // 是否已无更多数据 + if (dataSize != null) { + let pageNum = me.optUp.page.num; // 当前页码 + let pageSize = me.optUp.page.size; // 每页长度 + // 如果是第一页 + if (pageNum === 1) { + if (systime) me.optUp.page.time = systime; // 设置加载列表数据第一页的时间 + } + if (dataSize < pageSize || hasNext === false) { + // 返回的数据不满一页时,则说明已无更多数据 + me.optUp.hasNext = false; + if (dataSize === 0 && pageNum === 1) { + // 如果第一页无任何数据且配置了空布局 + isShowNoMore = false; + me.showEmpty(); + } else { + // 总列表数少于配置的数量,则不显示无更多数据 + let allDataSize = (pageNum - 1) * pageSize + dataSize; + if (allDataSize < me.optUp.noMoreSize) { + isShowNoMore = false; + } else { + isShowNoMore = true; + } + me.removeEmpty(); // 移除空布局 + } + } else { + // 还有下一页 + isShowNoMore = false; + me.optUp.hasNext = true; + me.removeEmpty(); // 移除空布局 + } + } + + // 隐藏上拉 + me.endUpScroll(isShowNoMore); + } +} + +/* 回调失败,结束下拉刷新和上拉加载 */ +MeScroll.prototype.endErr = function(errDistance) { + // 结束下拉,回调失败重置回原来的页码和时间 + if (this.isDownScrolling) { + let page = this.optUp.page; + if (page && this.prePageNum) { + page.num = this.prePageNum; + page.time = this.prePageTime; + } + this.endDownScroll(); + } + // 结束上拉,回调失败重置回原来的页码 + if (this.isUpScrolling) { + this.optUp.page.num--; + this.endUpScroll(false); + // 如果是mescroll-body,则需往回滚一定距离 + if (this.isScrollBody && errDistance !== 0) { // 不处理0 + if (!errDistance) errDistance = this.optUp.errDistance; // 不传,则取默认 + this.scrollTo(this.getScrollTop() - errDistance, 0) // 往上回滚的距离 + } + } +} + +/* 显示空布局 */ +MeScroll.prototype.showEmpty = function() { + this.optUp.empty.use && this.optUp.empty.onShow && this.optUp.empty.onShow(true) +} + +/* 移除空布局 */ +MeScroll.prototype.removeEmpty = function() { + this.optUp.empty.use && this.optUp.empty.onShow && this.optUp.empty.onShow(false) +} + +/* 显示回到顶部的按钮 */ +MeScroll.prototype.showTopBtn = function() { + if (!this.topBtnShow) { + this.topBtnShow = true; + this.optUp.toTop.onShow && this.optUp.toTop.onShow(true); + } +} + +/* 隐藏回到顶部的按钮 */ +MeScroll.prototype.hideTopBtn = function() { + if (this.topBtnShow) { + this.topBtnShow = false; + this.optUp.toTop.onShow && this.optUp.toTop.onShow(false); + } +} + +/* 获取滚动条的位置 */ +MeScroll.prototype.getScrollTop = function() { + return this.scrollTop || 0 +} + +/* 记录滚动条的位置 */ +MeScroll.prototype.setScrollTop = function(y) { + this.scrollTop = y; +} + +/* 滚动到指定位置 */ +MeScroll.prototype.scrollTo = function(y, t) { + this.myScrollTo && this.myScrollTo(y, t) // scrollview需自定义回到顶部方法 +} + +/* 自定义scrollTo */ +MeScroll.prototype.resetScrollTo = function(myScrollTo) { + this.myScrollTo = myScrollTo +} + +/* 滚动条到底部的距离 */ +MeScroll.prototype.getScrollBottom = function() { + return this.getScrollHeight() - this.getClientHeight() - this.getScrollTop() +} + +/* 计步器 + star: 开始值 + end: 结束值 + callback(step,timer): 回调step值,计步器timer,可自行通过window.clearInterval(timer)结束计步器; + t: 计步时长,传0则直接回调end值;不传则默认300ms + rate: 周期;不传则默认30ms计步一次 + * */ +MeScroll.prototype.getStep = function(star, end, callback, t, rate) { + let diff = end - star; // 差值 + if (t === 0 || diff === 0) { + callback && callback(end); + return; + } + t = t || 300; // 时长 300ms + rate = rate || 30; // 周期 30ms + let count = t / rate; // 次数 + let step = diff / count; // 步长 + let i = 0; // 计数 + let timer = setInterval(function() { + if (i < count - 1) { + star += step; + callback && callback(star, timer); + i++; + } else { + callback && callback(end, timer); // 最后一次直接设置end,避免计算误差 + clearInterval(timer); + } + }, rate); +} + +/* 滚动容器的高度 */ +MeScroll.prototype.getClientHeight = function(isReal) { + let h = this.clientHeight || 0 + if (h === 0 && isReal !== true) { // 未获取到容器的高度,可临时取body的高度 (可能会有误差) + h = this.getBodyHeight() + } + return h +} +MeScroll.prototype.setClientHeight = function(h) { + this.clientHeight = h; +} + +/* 滚动内容的高度 */ +MeScroll.prototype.getScrollHeight = function() { + return this.scrollHeight || 0; +} +MeScroll.prototype.setScrollHeight = function(h) { + this.scrollHeight = h; +} + +/* body的高度 */ +MeScroll.prototype.getBodyHeight = function() { + return this.bodyHeight || 0; +} +MeScroll.prototype.setBodyHeight = function(h) { + this.bodyHeight = h; +} + +/* 阻止浏览器默认滚动事件 */ +MeScroll.prototype.preventDefault = function(e) { + // 小程序不支持e.preventDefault + // app的bounce只能通过配置pages.json的style.app-plus.bounce为"none"来禁止 + // cancelable:是否可以被禁用; defaultPrevented:是否已经被禁用 + if (e && e.cancelable && !e.defaultPrevented) e.preventDefault() +} + +/* 是否允许下拉回弹(橡皮筋效果); true或null为允许; false禁止bounce */ +MeScroll.prototype.setBounce = function(isBounce) { + // #ifdef H5 + if (isBounce === false) { + this.optUp.isBounce = false; // 禁止 + // 标记当前页使用了mescroll (需延时,确保page已切换) + setTimeout(function() { + let uniPageDom = document.getElementsByTagName('uni-page')[0]; + uniPageDom && uniPageDom.setAttribute('use_mescroll', true) + }, 30); + // 避免重复添加事件 + if (window.isSetBounce) return; + window.isSetBounce = true; + // 需禁止window的touchmove事件才能有效的阻止bounce + window.bounceTouchmove = function(e) { + let el = e.target; + // 当前touch的元素及父元素是否要拦截touchmove事件 + let isPrevent = true; + while (el !== document.body && el !== document) { + if (el.tagName === 'UNI-PAGE') { // 只扫描当前页 + if (!el.getAttribute('use_mescroll')) { + isPrevent = false; // 如果当前页没有使用mescroll,则不阻止 + } + break; + } + let cls = el.classList; + if (cls) { + if (cls.contains('mescroll-touch')) { // 采用scroll-view 此处不能过滤mescroll-uni,否则下拉仍然有回弹 + isPrevent = false; // mescroll-touch无需拦截touchmove事件 + break; + } else if (cls.contains('mescroll-touch-x') || cls.contains('mescroll-touch-y')) { + // 如果配置了水平或者垂直滑动 + let curX = e.touches ? e.touches[0].pageX : e.clientX; // 当前第一个手指距离列表顶部的距离x + let curY = e.touches ? e.touches[0].pageY : e.clientY; // 当前第一个手指距离列表顶部的距离y + if (!this.preWinX) this.preWinX = curX; // 设置上次移动的距离x + if (!this.preWinY) this.preWinY = curY; // 设置上次移动的距离y + // 计算两点之间的角度 + let x = Math.abs(this.preWinX - curX); + let y = Math.abs(this.preWinY - curY); + let z = Math.sqrt(x * x + y * y); + this.preWinX = curX; // 记录本次curX的值 + this.preWinY = curY; // 记录本次curY的值 + if (z !== 0) { + let angle = Math.asin(y / z) / Math.PI * 180; // 角度区间 [0,90] + if ((angle <= 45 && cls.contains('mescroll-touch-x')) || (angle > 45 && cls.contains('mescroll-touch-y'))) { + isPrevent = false; // 水平滑动或者垂直滑动,不拦截touchmove事件 + break; + } + } + } + } + el = el.parentNode; // 继续检查其父元素 + } + // 拦截touchmove事件:是否可以被禁用&&是否已经被禁用 (这里不使用me.preventDefault(e)的方法,因为某些情况下会报找不到方法的异常) + if (isPrevent && e.cancelable && !e.defaultPrevented && typeof e.preventDefault === "function") e.preventDefault(); + } + window.addEventListener('touchmove', window.bounceTouchmove, { + passive: false + }); + } else { + this.optUp.isBounce = true; // 允许 + if (window.bounceTouchmove) { + window.removeEventListener('touchmove', window.bounceTouchmove); + window.bounceTouchmove = null; + window.isSetBounce = false; + } + } + // #endif +} diff --git a/components/mescroll/my-list-mescroll.vue b/components/mescroll/my-list-mescroll.vue index d0d2935..dbe0d76 100644 --- a/components/mescroll/my-list-mescroll.vue +++ b/components/mescroll/my-list-mescroll.vue @@ -1,158 +1,158 @@ - - - + + + diff --git a/components/ns-chat/ns-chat-goods.vue b/components/ns-chat/ns-chat-goods.vue index b5b95a2..be57e01 100644 --- a/components/ns-chat/ns-chat-goods.vue +++ b/components/ns-chat/ns-chat-goods.vue @@ -1,142 +1,142 @@ - - - - - + + + + + diff --git a/components/ns-chat/ns-chat-order.vue b/components/ns-chat/ns-chat-order.vue index 1e3c5d2..a63ee21 100644 --- a/components/ns-chat/ns-chat-order.vue +++ b/components/ns-chat/ns-chat-order.vue @@ -1,149 +1,149 @@ - - - - - + + + + + diff --git a/components/ns-chat/ns-chat-receiveGoods.vue b/components/ns-chat/ns-chat-receiveGoods.vue index 1217161..af2dd7e 100644 --- a/components/ns-chat/ns-chat-receiveGoods.vue +++ b/components/ns-chat/ns-chat-receiveGoods.vue @@ -6,7 +6,7 @@ {{ isEnEnv ? goodsInfo.en_goods_name : goodsInfo.goods_name }} 库存:{{ goodsInfo.stock }} - 销量:{{ goodsInfo.sale_num }} + { $lang("common.ns-chat.ns-chat-receiveGoods.l9.t0") } goodsInfo.sale_num }} diff --git a/components/ns-contact/ns-contact.vue b/components/ns-contact/ns-contact.vue index fc97a74..779f8de 100644 --- a/components/ns-contact/ns-contact.vue +++ b/components/ns-contact/ns-contact.vue @@ -29,10 +29,10 @@ - 联系客服 + {{ $lang("common.ns-contact.l32.t0") }} - {{ siteInfo.site_tel ? '请联系客服,客服电话是' + siteInfo.site_tel : '抱歉,商家暂无客服,请线下联系' }} + {{ siteInfo.site_tel ? $lang('common.ns-contact.l35.t0') + siteInfo.site_tel : $lang('common.ns-contact.l35.t1') }} diff --git a/components/ns-copyright/ns-copyright.vue b/components/ns-copyright/ns-copyright.vue index 0ea40ef..f983905 100644 --- a/components/ns-copyright/ns-copyright.vue +++ b/components/ns-copyright/ns-copyright.vue @@ -1,142 +1,142 @@ - - - - - \ No newline at end of file diff --git a/components/ns-empty/ns-empty.vue b/components/ns-empty/ns-empty.vue index 3249614..8f99a3e 100644 --- a/components/ns-empty/ns-empty.vue +++ b/components/ns-empty/ns-empty.vue @@ -1,95 +1,95 @@ - - - - - + + + + + diff --git a/components/ns-form/ns-form.vue b/components/ns-form/ns-form.vue index ce2d8c1..80cdc66 100644 --- a/components/ns-form/ns-form.vue +++ b/components/ns-form/ns-form.vue @@ -1,863 +1,863 @@ - - - - - \ No newline at end of file diff --git a/components/ns-goods-recommend/ns-goods-recommend.vue b/components/ns-goods-recommend/ns-goods-recommend.vue index 88223eb..c960ee1 100644 --- a/components/ns-goods-recommend/ns-goods-recommend.vue +++ b/components/ns-goods-recommend/ns-goods-recommend.vue @@ -1,394 +1,394 @@ - - - - - \ No newline at end of file diff --git a/components/ns-goods-sku/ns-goods-sku-category.vue b/components/ns-goods-sku/ns-goods-sku-category.vue index 16c4735..9cc9fe6 100644 --- a/components/ns-goods-sku/ns-goods-sku-category.vue +++ b/components/ns-goods-sku/ns-goods-sku-category.vue @@ -1,857 +1,857 @@ - - - - \ No newline at end of file diff --git a/components/ns-goods-sku/ns-goods-sku-index.vue b/components/ns-goods-sku/ns-goods-sku-index.vue index f57f889..0e751b2 100644 --- a/components/ns-goods-sku/ns-goods-sku-index.vue +++ b/components/ns-goods-sku/ns-goods-sku-index.vue @@ -1,234 +1,234 @@ - - - \ No newline at end of file diff --git a/components/ns-goods-sku/ns-goods-sku.vue b/components/ns-goods-sku/ns-goods-sku.vue index e4f5cb1..0918cde 100644 --- a/components/ns-goods-sku/ns-goods-sku.vue +++ b/components/ns-goods-sku/ns-goods-sku.vue @@ -1,1541 +1,1541 @@ - - - - \ No newline at end of file diff --git a/components/ns-loading/ns-loading.vue b/components/ns-loading/ns-loading.vue index eb4507c..df3295f 100644 --- a/components/ns-loading/ns-loading.vue +++ b/components/ns-loading/ns-loading.vue @@ -1,89 +1,89 @@ - - - - - + + + + + diff --git a/components/ns-login/ns-login.vue b/components/ns-login/ns-login.vue index 0715071..6a53358 100644 --- a/components/ns-login/ns-login.vue +++ b/components/ns-login/ns-login.vue @@ -1,887 +1,887 @@ - - - - - + + + + + diff --git a/components/ns-navbar/ns-navbar.vue b/components/ns-navbar/ns-navbar.vue index a2b4c5e..15d3145 100644 --- a/components/ns-navbar/ns-navbar.vue +++ b/components/ns-navbar/ns-navbar.vue @@ -1,404 +1,404 @@ - - - - - \ No newline at end of file diff --git a/components/ns-newform/ns-newform.vue b/components/ns-newform/ns-newform.vue index 394f703..4ad7213 100644 --- a/components/ns-newform/ns-newform.vue +++ b/components/ns-newform/ns-newform.vue @@ -50,7 +50,7 @@ {{ item.val }} - {{ item.value.placeholder || '请选择' }} + {{ item.value.placeholder || $lang('common.ns-form.l37.t0') }} @@ -146,7 +146,7 @@ @change="bindDateChange($event, index)" > - {{ item.val ? item.val : (item.value.placeholder || '请选择日期') }} + {{ item.val ? item.val : (item.value.placeholder || $lang('common.ns-newform.l149.t0')) }} @@ -170,7 +170,7 @@ > - {{ item.start_date ? item.start_date : (item.value.placeholder_start || '开始日期') }} + {{ item.start_date ? item.start_date : (item.value.placeholder_start || $lang('common.ns-newform.l173.t0')) }} @@ -184,7 +184,7 @@ > - {{ item.end_date ? item.end_date : (item.value.placeholder_end || '结束日期') }} + {{ item.end_date ? item.end_date : (item.value.placeholder_end || $lang('common.ns-newform.l187.t0')) }} @@ -207,7 +207,7 @@ @change="bindTimeChange($event, index)" > - {{ item.val ? item.val : (item.value.placeholder || '请选择时间') }} + {{ item.val ? item.val : (item.value.placeholder || $lang('common.ns-newform.l210.t0')) }} @@ -231,7 +231,7 @@ > - {{ item.start_time ? item.start_time : (item.value.placeholder_start || '开始时间') }} + {{ item.start_time ? item.start_time : (item.value.placeholder_start || $lang('common.ns-newform.l234.t0')) }} @@ -245,7 +245,7 @@ > - {{ item.end_time ? item.end_time : (item.value.placeholder_end || '结束时间') }} + {{ item.end_time ? item.end_time : (item.value.placeholder_end || $lang('common.ns-newform.l248.t0')) }} @@ -268,7 +268,7 @@ @getRegions="handleGetRegions($event, index)" > - {{ item.val ? item.val : (item.value.placeholder || (item.value.default_type == 1 ? '请选择省市' : '请选择省市区')) }} + {{ item.val ? item.val : (item.value.placeholder || (item.value.default_type == 1 ? '请选择省市' : $lang('common.ns-newform.l271.t0'))) }} @@ -788,89 +788,89 @@ export default { if (item.controller == 'Text') { if (item.value.required && !item.val) { - this.$util.showToast({ title: '请输入' + item.value.title }); + this.$util.showToast({ title: $lang('common.ns-form.l368.t0') + item.value.title }); return false; } if (item.name == 'ID_CARD' && !/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/.test(item.val)) { if (!item.value.required) { - this.$util.showToast({ title: '身份证输入不合法' }); + this.$util.showToast({ title: $lang('common.ns-form.l378.t0') }); return false; } if (item.val != '') { - this.$util.showToast({ title: '身份证输入不合法' }); + this.$util.showToast({ title: $lang('common.ns-form.l378.t0') }); return false; } } if (item.name == 'MOBILE' && !this.$util.verifyMobile(item.val)) { if (!item.value.required) { - this.$util.showToast({ title: '手机号输入不合法' }); + this.$util.showToast({ title: $lang('common.ns-form.l395.t0') }); return false; } if (item.val != '') { - this.$util.showToast({ title: '手机号输入不合法' }); + this.$util.showToast({ title: $lang('common.ns-form.l395.t0') }); return false; } } } if (item.controller == 'Textarea' && item.value.required && !item.val) { - this.$util.showToast({ title: '请输入' + item.value.title }); + this.$util.showToast({ title: $lang('common.ns-form.l368.t0') + item.value.title }); return false; } if (item.controller == 'Select' && item.value.required && !item.val) { - this.$util.showToast({ title: '请选择' + item.value.title }); + this.$util.showToast({ title: $lang('common.ns-form.l37.t0') + item.value.title }); return false; } if (item.controller == 'Checkbox' && item.value.required && !item.val) { - this.$util.showToast({ title: '请至少选择一个' + item.value.title }); + this.$util.showToast({ title: $lang('common.ns-form.l432.t0') + item.value.title }); return false; } if (item.controller == 'Img' && item.value.required && !item.val) { - this.$util.showToast({ title: '请至少上传一张' + item.value.title }); + this.$util.showToast({ title: $lang('common.ns-form.l442.t0') + item.value.title }); return false; } if (item.controller == 'Date' && item.value.required && !item.val) { - this.$util.showToast({ title: '请选择' + item.value.title }); + this.$util.showToast({ title: $lang('common.ns-form.l37.t0') + item.value.title }); return false; } if (item.controller == 'Datelimit') { if (item.value.required && !item.val) { - this.$util.showToast({ title: '请选择' + item.value.title }); + this.$util.showToast({ title: $lang('common.ns-form.l37.t0') + item.value.title }); return false; } if (this.$util.timeTurnTimeStamp(item.start_date) > this.$util.timeTurnTimeStamp(item.end_date)) { - this.$util.showToast({ title: '结束日期不能小于开始日期' }); + this.$util.showToast({ title: $lang('common.ns-form.l470.t0') }); return false; } } if (item.controller == 'Time' && item.value.required && !item.val) { - this.$util.showToast({ title: '请选择' + item.value.title }); + this.$util.showToast({ title: $lang('common.ns-form.l37.t0') + item.value.title }); return false; } if (item.controller == 'Timelimit') { if (item.value.required && !item.val) { - this.$util.showToast({ title: '请选择' + item.value.title }); + this.$util.showToast({ title: $lang('common.ns-form.l37.t0') + item.value.title }); return false; } if (item.start_time >= item.end_time) { - this.$util.showToast({ title: '结束时间必须大于开始时间' }); + this.$util.showToast({ title: $lang('common.ns-form.l498.t0') }); return false; } } if (item.controller == 'City' && item.value.required && !item.val) { - this.$util.showToast({ title: '请选择' + item.value.title }); + this.$util.showToast({ title: $lang('common.ns-form.l37.t0') + item.value.title }); return false; } } @@ -902,7 +902,7 @@ export default { if (res.length > 0) { res.forEach(function(img) { if (self.formData[index].img_lists.length >= Number(self.formData[index].value.max_count)) { - self.$util.showToast({ title: '最多上传' + self.formData[index].value.max_count + '张图片' }); + self.$util.showToast({ title: $lang('common.ns-form.l545.t0') + self.formData[index].value.max_count + $lang('common.ns-form.l545.t1') }); return false; } self.formData[index].img_lists.push(img); @@ -916,7 +916,7 @@ export default { addImg(index) { let self = this; if (this.formData[index].img_lists.length >= Number(this.formData[index].value.max_count)) { - this.$util.showToast({ title: '最多上传' + this.formData[index].value.max_count + '张图片' }); + this.$util.showToast({ title: $lang('common.ns-form.l545.t0') + this.formData[index].value.max_count + $lang('common.ns-form.l545.t1') }); return false; } diff --git a/components/ns-payment/ns-payment.vue b/components/ns-payment/ns-payment.vue index 6550598..54ef886 100644 --- a/components/ns-payment/ns-payment.vue +++ b/components/ns-payment/ns-payment.vue @@ -1,643 +1,643 @@ - - - - - - \ No newline at end of file diff --git a/components/ns-select-time/ns-select-time.vue b/components/ns-select-time/ns-select-time.vue index 8d39484..2fdcd00 100644 --- a/components/ns-select-time/ns-select-time.vue +++ b/components/ns-select-time/ns-select-time.vue @@ -1,365 +1,365 @@ - - - - - + + + + + diff --git a/components/ns-video-player-popup/ns-video-player-popup.vue b/components/ns-video-player-popup/ns-video-player-popup.vue index 774b25f..3a07c00 100644 --- a/components/ns-video-player-popup/ns-video-player-popup.vue +++ b/components/ns-video-player-popup/ns-video-player-popup.vue @@ -1,145 +1,145 @@ - - - - - \ No newline at end of file diff --git a/components/payment/payment.vue b/components/payment/payment.vue index 501039a..8aa1aab 100644 --- a/components/payment/payment.vue +++ b/components/payment/payment.vue @@ -1,647 +1,647 @@ - - - - - - \ No newline at end of file diff --git a/components/pick-regions/pick-regions.vue b/components/pick-regions/pick-regions.vue index 4260088..9480a62 100644 --- a/components/pick-regions/pick-regions.vue +++ b/components/pick-regions/pick-regions.vue @@ -14,8 +14,8 @@ - 取消 - 完成 + {{ $lang("common.pick-regions.l17.t0") }} + {{ $lang("common.pick-regions.l18.t0") }} diff --git a/components/privacy-popup/privacy-popup.vue b/components/privacy-popup/privacy-popup.vue index d4c30fe..4dbbcb8 100644 --- a/components/privacy-popup/privacy-popup.vue +++ b/components/privacy-popup/privacy-popup.vue @@ -2,7 +2,7 @@ - 用户隐私保护提示 + {{ $lang("common.privacy-popup.l5.t0") }} 感谢您使用{{ appName }},在使用前您应当阅读并同意 {{ privacyContractName }} @@ -12,13 +12,13 @@ ,当点击同意并继续时,即表示您已理解并同意该条款内容,该条款将对您产生法律约束力;如您不同意,将无法继续使用{{ appName }}相关功能。 - + + @agreeprivacyauthorization="handleAgree">{{ $lang("common.privacy-popup.l18.t0") }} - + @@ -43,12 +43,12 @@ export default { showPop: false, privacyAuthorization: null, privacyResolves: new Set(), - privacyContractName: '用户隐私保护指引', - appName: '本小程序', + privacyContractName: $lang('common.privacy-popup.l46.t0'), + appName: $lang('common.privacy-popup.l47.t0'), // #ifdef WEB || H5 - appName: '本应用', - privacyContractName: '《隐私条款》', - privacyServiceName: '《用户服务协议》', + appName: $lang('common.privacy-popup.l49.t0'), + privacyContractName: $lang('common.ns-login.l51.t0'), + privacyServiceName: $lang('common.ns-login.l53.t0'), // #endif } }, @@ -79,7 +79,7 @@ export default { } // #endif } catch (e) { - console.error("=========低版本基础库==========", e) + console.error($lang("common.privacy-popup.l82.t0"), e) } }, methods: { @@ -250,7 +250,7 @@ export default { uni.setStorageSync('privacyAgreed', true); uni.showModal({ - content: '未同意隐私协议,无法使用相关功能', + content: $lang('common.privacy-popup.l253.t0'), success: () => { this.$emit('disagree') } diff --git a/components/register-reward/register-reward.vue b/components/register-reward/register-reward.vue index a23f850..3611276 100644 --- a/components/register-reward/register-reward.vue +++ b/components/register-reward/register-reward.vue @@ -1,292 +1,292 @@ - - - - - - + + \ No newline at end of file diff --git a/components/wxwork-contact/wxwork-contact.vue b/components/wxwork-contact/wxwork-contact.vue index ccd3073..4e0d6f3 100644 --- a/components/wxwork-contact/wxwork-contact.vue +++ b/components/wxwork-contact/wxwork-contact.vue @@ -13,14 +13,14 @@ - 添加企业微信客服 + {{ $lang("common.wxwork-contact.l16.t0") }} - 点击确定后将跳转至企业微信,添加专业客服为您服务 + {{ $lang("common.wxwork-contact.l19.t0") }} - - + + @@ -36,7 +36,7 @@ // 按钮文字 btnText: { type: String, - default: '添加企业微信客服' + default: $lang('common.wxwork-contact.l16.t0') }, // 企业ID(必需) corpId: { @@ -105,11 +105,11 @@ }); if (!initResult) { - console.error('企业微信SDK初始化失败'); + console.error($lang('common.wxwork-contact.l108.t0')); } } } catch (error) { - console.error('初始化企业微信SDK失败:', error); + console.error($lang('common.wxwork-contact.l112.t0'), error); } }, @@ -142,7 +142,7 @@ // 方案2:使用SDK打开用户资料 this.openUserProfile(contactId); } else { - this.showError('未配置企业微信客服信息'); + this.showError($lang('common.wxwork-contact.l145.t0')); } // #endif @@ -151,7 +151,7 @@ // H5环境直接跳转 window.location.href = contactUrl; } else { - this.showError('未配置企业微信客服信息'); + this.showError($lang('common.wxwork-contact.l145.t0')); } // #endif }, @@ -165,13 +165,13 @@ path: `pages/contacts/externalContactDetail?url=${encodeURIComponent(contactUrl)}`, success: () => { this.$util.showToast({ - title: '跳转成功', + title: $lang('common.wxwork-contact.l168.t0'), icon: 'success' }); }, fail: (err) => { - console.error('跳转企业微信失败:', err); - this.showError('跳转失败,请检查企业微信配置'); + console.error($lang('common.wxwork-contact.l173.t0'), err); + this.showError($lang('common.wxwork-contact.l174.t0')); } }); }, @@ -181,7 +181,7 @@ */ openUserProfile(contactId) { if (!this.wxWorkSDK) { - this.showError('企业微信SDK未初始化'); + this.showError($lang('common.wxwork-contact.l184.t0')); return; } @@ -189,8 +189,8 @@ userId: contactId }, (res) => { }, (err) => { - console.error('打开用户资料失败:', err); - this.showError('打开用户资料失败'); + console.error($lang('common.wxwork-contact.l192.t0'), err); + this.showError($lang('common.wxwork-contact.l193.t0')); }); }, @@ -199,7 +199,7 @@ */ showError(message) { uni.showModal({ - title: '提示', + title: $lang('common.wxwork-contact.l202.t0'), content: message, showCancel: false }); diff --git a/components/yuyue-date/yuyue-date.js b/components/yuyue-date/yuyue-date.js index bfe777e..98db83e 100644 --- a/components/yuyue-date/yuyue-date.js +++ b/components/yuyue-date/yuyue-date.js @@ -1,98 +1,98 @@ -//字符串拼接 -export function strFormat(str) { - return str < 10 ? `0${str}` : str -} -// 获取当前时间 -export function currentTime() { - const myDate = new Date(); - const year = myDate.getFullYear() - const m = myDate.getMonth() + 1; - const d = myDate.getDate(); - // const date = year + '-' + strFormat(m) + '-' + strFormat(d); // 隐藏年 - const date = strFormat(m) + '-' + strFormat(d); - - const hour = myDate.getHours() - const min = myDate.getMinutes() - const secon = myDate.getSeconds() - const time = strFormat(hour) + ':' + strFormat(min) + ':' + strFormat(secon); - return { - year, - date, - time - } -} - -//时间戳转日期 -export function timeStamp(time) { - const dates = new Date(time) - const year = dates.getFullYear() - const month = dates.getMonth() + 1 - const date = dates.getDate() - const day = dates.getDay() - const hour = dates.getHours() - const min = dates.getMinutes() - const days = ['日', '一', '二', '三', '四', '五', '六'] - return { - allDate: `${year}/${strFormat(month)}/${strFormat(date)}`, - date: `${strFormat(month)}-${strFormat(date)}`, //返回的日期 07-01,${strFormat(year)}-${strFormat(month)}-${strFormat(date)} - day: `周${days[day]}`, //返回的礼拜天数 星期一 - hour: strFormat(hour) + ':' + strFormat(min) // + ':00' //返回的时钟 08:00 - } -} - -//获取最近7天的日期和礼拜天数 -export function initData(appointedDay = '') { - const time = [] - const date = appointedDay ? new Date(appointedDay) : new Date() - - const now = date.getTime() //获取当前日期的时间戳 - let timeStr = 3600 * 24 * 1000 //一天的时间戳 - let obj = { - 0: "今天", - 1: "明天", - 2: "后天" - } - for (let i = 0; i < 7; i++) { - const timeObj = {} - timeObj.date = timeStamp(now + timeStr * i).date //保存日期 - timeObj.timeStamp = now + timeStr * i //保存时间戳 - timeObj.week = appointedDay == '' ? (obj[i] ?? timeStamp(now + timeStr * i).day) : timeStamp(now + timeStr * i) - .day - time.push(timeObj) - } - return time -} - -//时间数组 -export function initTime(startTime = '09:00', endTime = '18:30', timeInterval = 1) { - const time = [] - const date = timeStamp(Date.now()).allDate - const startDate = `${date} ${startTime}` - const endDate = `${date} ${endTime}` - const startTimeStamp = new Date(startDate).getTime() - const endTimeStamp = new Date(endDate).getTime() - const timeStr = 3600 * 1000 * timeInterval - for (let i = startTimeStamp; i <= endTimeStamp; i = i + timeStr) { - const timeObj = {} - timeObj.time = timeStamp(i).hour - timeObj.disable = false - time.push(timeObj) - } - return time -} - -export function weekDate(){ - var now = new Date(); //当前日期 - var nowDayOfWeek = now.getDay(); //今天本周的第几天 - var nowDay = now.getDate(); //当前日 - var nowMonth = now.getMonth(); //当前月 - var nowYear = now.getYear(); //当前年 - - var weekStartDate = new Date(nowYear, nowMonth, nowDay - nowDayOfWeek + 1); - var weekEndDate = new Date(nowYear, nowMonth, nowDay + (7 - nowDayOfWeek)); - - var arr = []; - arr[0] = strFormat(weekStartDate.getMonth()+1) + '-' + strFormat(weekStartDate.getDate()); - arr[1] = strFormat(weekEndDate.getMonth()+1) + '-' + strFormat(weekEndDate.getDate()); - return arr; -} +//字符串拼接 +export function strFormat(str) { + return str < 10 ? `0${str}` : str +} +// 获取当前时间 +export function currentTime() { + const myDate = new Date(); + const year = myDate.getFullYear() + const m = myDate.getMonth() + 1; + const d = myDate.getDate(); + // const date = year + '-' + strFormat(m) + '-' + strFormat(d); // 隐藏年 + const date = strFormat(m) + '-' + strFormat(d); + + const hour = myDate.getHours() + const min = myDate.getMinutes() + const secon = myDate.getSeconds() + const time = strFormat(hour) + ':' + strFormat(min) + ':' + strFormat(secon); + return { + year, + date, + time + } +} + +//时间戳转日期 +export function timeStamp(time) { + const dates = new Date(time) + const year = dates.getFullYear() + const month = dates.getMonth() + 1 + const date = dates.getDate() + const day = dates.getDay() + const hour = dates.getHours() + const min = dates.getMinutes() + const days = [$lang('common.ns-select-time.l98.t0'), $lang('common.yuyue-date.l34.t0'), $lang('common.yuyue-date.l34.t1'), $lang('common.yuyue-date.l34.t2'), $lang('common.yuyue-date.l34.t3'), $lang('common.yuyue-date.l34.t4'), $lang('common.yuyue-date.l34.t5')] + return { + allDate: `${year}/${strFormat(month)}/${strFormat(date)}`, + date: `${strFormat(month)}-${strFormat(date)}`, //返回的日期 07-01,${strFormat(year)}-${strFormat(month)}-${strFormat(date)} + day: $lang(`common.yuyue-date.l38.t0`), //返回的礼拜天数 星期一 + hour: strFormat(hour) + ':' + strFormat(min) // + ':00' //返回的时钟 08:00 + } +} + +//获取最近7天的日期和礼拜天数 +export function initData(appointedDay = '') { + const time = [] + const date = appointedDay ? new Date(appointedDay) : new Date() + + const now = date.getTime() //获取当前日期的时间戳 + let timeStr = 3600 * 24 * 1000 //一天的时间戳 + let obj = { + 0: $lang("common.ns-select-time.l173.t0"), + 1: $lang("common.ns-select-time.l185.t0"), + 2: $lang("common.yuyue-date.l53.t0") + } + for (let i = 0; i < 7; i++) { + const timeObj = {} + timeObj.date = timeStamp(now + timeStr * i).date //保存日期 + timeObj.timeStamp = now + timeStr * i //保存时间戳 + timeObj.week = appointedDay == '' ? (obj[i] ?? timeStamp(now + timeStr * i).day) : timeStamp(now + timeStr * i) + .day + time.push(timeObj) + } + return time +} + +//时间数组 +export function initTime(startTime = '09:00', endTime = '18:30', timeInterval = 1) { + const time = [] + const date = timeStamp(Date.now()).allDate + const startDate = `${date} ${startTime}` + const endDate = `${date} ${endTime}` + const startTimeStamp = new Date(startDate).getTime() + const endTimeStamp = new Date(endDate).getTime() + const timeStr = 3600 * 1000 * timeInterval + for (let i = startTimeStamp; i <= endTimeStamp; i = i + timeStr) { + const timeObj = {} + timeObj.time = timeStamp(i).hour + timeObj.disable = false + time.push(timeObj) + } + return time +} + +export function weekDate(){ + var now = new Date(); //当前日期 + var nowDayOfWeek = now.getDay(); //今天本周的第几天 + var nowDay = now.getDate(); //当前日 + var nowMonth = now.getMonth(); //当前月 + var nowYear = now.getYear(); //当前年 + + var weekStartDate = new Date(nowYear, nowMonth, nowDay - nowDayOfWeek + 1); + var weekEndDate = new Date(nowYear, nowMonth, nowDay + (7 - nowDayOfWeek)); + + var arr = []; + arr[0] = strFormat(weekStartDate.getMonth()+1) + '-' + strFormat(weekStartDate.getDate()); + arr[1] = strFormat(weekEndDate.getMonth()+1) + '-' + strFormat(weekEndDate.getDate()); + return arr; +} diff --git a/components/yuyue-date/yuyue-date.vue b/components/yuyue-date/yuyue-date.vue index a43125e..23dba03 100644 --- a/components/yuyue-date/yuyue-date.vue +++ b/components/yuyue-date/yuyue-date.vue @@ -3,7 +3,7 @@ @@ -20,7 +20,7 @@
- 指定日期 + {{ $lang("common.yuyue-date.l23.t0") }}
@@ -54,13 +54,13 @@
- +
@@ -100,12 +100,12 @@ disableText: { //禁用显示的文本 type: String, - default: '已约满' + default: $lang('common.yuyue-date.l103.t0') }, undisableText: { //未禁用显示的文本 type: String, - default: '可预约' + default: $lang('common.yuyue-date.l108.t0') }, timeInterval: { // 时间间隔,小时为单位 @@ -173,7 +173,7 @@ return { pickerStartDay: '', // 指定开始日期 pickerEndDay: '', // 指定结束日期 - orderDateTime: '暂无选择', // 选中时间 + orderDateTime: $lang('common.yuyue-date.l176.t0'), // 选中时间 orderTimeArr: {}, //多选的时间 dateArr: [], //日期数据 timeArr: [], //时间数据 @@ -209,11 +209,11 @@ let date = e.split("-"); date = date[1] + "-" + date[2]; if (this.disableWeek.length && date >= weekDate()[0] && date <= weekDate()[1]) { - let weekBox = ['周日', '周一', '周二', '周三', '周四', '周五', '周六']; + let weekBox = [$lang('common.ns-select-time.l148.t0'), $lang('common.ns-select-time.l148.t1'), $lang('common.ns-select-time.l148.t2'), $lang('common.ns-select-time.l148.t3'), $lang('common.ns-select-time.l148.t4'), $lang('common.ns-select-time.l148.t5'), $lang('common.ns-select-time.l148.t6')]; let index = new Date(e).getDay(); if (this.disableWeek.indexOf(weekBox[index]) != -1) { uni.showToast({ - title: weekBox[index] + '不可以预约', + title: weekBox[index] + $lang('common.yuyue-date.l216.t0'), icon: 'none' }) return false; @@ -231,7 +231,7 @@ // 判断默认是不能选择的周,则都禁止选中 if (this.disableWeek.length && this.selectDate >= weekDate()[0] && this.selectDate <= weekDate()[1]) { - let weekBox = ['周日', '周一', '周二', '周三', '周四', '周五', '周六']; + let weekBox = [$lang('common.ns-select-time.l148.t0'), $lang('common.ns-select-time.l148.t1'), $lang('common.ns-select-time.l148.t2'), $lang('common.ns-select-time.l148.t3'), $lang('common.ns-select-time.l148.t4'), $lang('common.ns-select-time.l148.t5'), $lang('common.ns-select-time.l148.t6')]; let date = currentTime().year + '-' + this.selectDate; let index = new Date(date).getDay(); if (this.disableWeek.indexOf(weekBox[index]) != -1) { @@ -297,11 +297,11 @@ // 日期选择事件 selectDateEvent(index, item) { if (this.disableWeek.length && item.date >= weekDate()[0] && item.date <= weekDate()[1]) { - let weekBox = ['周日', '周一', '周二', '周三', '周四', '周五', '周六']; + let weekBox = [$lang('common.ns-select-time.l148.t0'), $lang('common.ns-select-time.l148.t1'), $lang('common.ns-select-time.l148.t2'), $lang('common.ns-select-time.l148.t3'), $lang('common.ns-select-time.l148.t4'), $lang('common.ns-select-time.l148.t5'), $lang('common.ns-select-time.l148.t6')]; let index = new Date(item.timeStamp).getDay(); if (this.disableWeek.indexOf(weekBox[index]) != -1) { uni.showToast({ - title: weekBox[index] + '不可以预约', + title: weekBox[index] + $lang('common.yuyue-date.l216.t0'), icon: 'none' }) return false; diff --git a/docs/i18n-existing-zh.json b/docs/i18n-existing-zh.json new file mode 100644 index 0000000..bb81547 --- /dev/null +++ b/docs/i18n-existing-zh.json @@ -0,0 +1,206 @@ +{ + "exchangeSuccess": "兑换成功", + "spec": "规格", + "inputPlaceholder": "搜索商品", + "commissiontext": "佣金", + "paypassword": "支付密码", + "buy": "购买", + "passwordInputPlaceholder": "请输入密码", + "getDynacode": "获取动态验证码", + "make": "立即咨询", + "receivingReply": "正在接收回复", + "save": "保存", + "Search": "请输入您要搜索的商品", + "accountPlaceholder": "请输入用户名", + "paymentAmount": "支付金额", + "serviceTemporaryUnavailable": "抱歉,服务暂时不可用,请稍后重试。", + "video": "视频", + "coupon": "优惠券", + "registrationAgreement": "注册协议", + "surePhoneNumber": "请输入正确的手机号", + "location": "位置", + "loadHistoryFail": "加载历史失败", + "Random": "综合", + "emojiTitle": "表情", + "searchAtBottom": "已到底部", + "buynow": "立即购买", + "complete": "完成", + "pleaseInputNewPassword": "请输入新密码", + "settingsTitle": "设置", + "menuClearChat": "清空聊天", + "total": "合计", + "receivingCity": "地区", + "startRecordTip": "点击开始录音", + "stock": "库存", + "status": "该商品已下架", + "logoutContent": "确定要退出登录吗", + "thanksFeedback": "感谢您的反馈!", + "mobileInputPlaceholder": "请输入您的手机号", + "copySuccess": "复制成功", + "enterCaptchaTip": "请输入验证码", + "prompt": "提示", + "password": "密码", + "moreFunctions": "更多功能", + "retry": "重试", + "telephonePlaceholder": "收货人固定电话(选填)", + "searchPlaceholder": "搜索聊天记录", + "recordingTip": "正在录音,松开结束", + "home": "首页", + "aiThinking": "AI正在思考", + "serviceTypeNotSupported": "当前客服类型不支持此页面", + "messageContent": "留言内容", + "title": "VR", + "fallbackWelcome": "您好!我是AI智能客服,很高兴为您服务!\\n\\n我可以帮您:\\n• 解答产品相关问题\\n• 处理订单问题\\n• 提供技术支持\\n• 推荐相关商品\\n\\n请告诉我您需要什么帮助?", + "kefu": "客服", + "lang": "语言", + "aiNickname": "智能助手", + "balance": "余额", + "login": "登录/注册", + "image": "图片", + "voiceInputTitle": "语音输入", + "sellout": "库存不足", + "birthday": "生日", + "improveService": "我们会改进服务", + "changeAvatarDesc": "自定义您的聊天头像", + "noContentToCopy": "无可复制的内容", + "operationFailed": "操作失败,请重试", + "mobilePhone": "手机", + "point": "积分", + "waitsend": "待发货", + "emptyTips": "暂无记录", + "submit": "提交", + "dynacodePlaceholder": "请输入动态码", + "waitpay": "待付款", + "name": "姓名", + "changeNickname": "更换昵称", + "fileOpenFail": "文件打开失败", + "menuExport": "导出记录", + "dynacodeInputPlaceholder": "请输入动态码", + "newAddAddress": "添加收货地址", + "common.searchTip": "请输入搜索关键词", + "copy": "复制", + "recharge": "充值", + "noEmityNickname": "昵称不能为空", + "copyFail": "复制失败", + "addressPlaceholder": "小区、街道、写字楼", + "follow": "收藏", + "expandEditorTitle": "编辑内容", + "pleaseEnterMessage": "请输入留言内容", + "privacyPolicyText": "《隐私条款》", + "modifyNickname": "修改昵称", + "express": "快递发货", + "mobile": "手机", + "searchEntrance": "搜索", + "send": "配送", + "paymentSuccess": "支付成功", + "paymentFail": "支付失败", + "findanimateCode": "获取动态码", + "alikeusername": "与原用户名一致,无需修改", + "editNickname": "修改昵称", + "privacyPolicy": "隐私协议", + "confirmCodeInput": "请输入验证码", + "accountInputPlaceholder": "请输入账号", + "animateCodeInput": "请输入动态码", + "toLogin": "去登录", + "leave": "立即留言", + "searchClose": "完成", + "pleaseEnterMobile": "请输入您的手机号", + "avatarChangeSuccess": "头像更换成功", + "avatarSelectorTitle": "更换头像", + "modify": "修改", + "consigneePlaceholder": "收货人姓名", + "contactInfo": "联系方式", + "menuSettings": "设置", + "sales": "销量", + "allElection": "全选", + "changeAvatar": "更换头像", + "requestFailTip": "request:fail", + "updateSuccess": "修改成功", + "call": "一键拨打", + "alikeNickname": "与原昵称一致,无需修改", + "alikePhone": "与原手机号一致,无需修改", + "cancel": "取消", + "chatCleared": "聊天记录已清空,有什么可以帮助您的吗?", + "toGoodsCategoryPage": "去逛逛", + "mobilePlaceholder": "收货人手机号", + "confirmClearChat": "确定要清空聊天记录吗?", + "logout": "退出登录", + "agreeAgreementTip": "请先阅读并同意协议", + "withdrawal": "提现", + "noEmityUsername": "用户名不能为空", + "Make": "立即咨询", + "chooseFromAlbum": "从相册选择", + "enterCorrectMobileTip": "请输入正确的手机号", + "account": "账号", + "cart": "购物车", + "details": "商品详情", + "loginTpis": "点击登录 享受更多精彩信息", + "Price": "价格", + "newAddAccount": "新增账户", + "serviceUnavailable": "抱歉,AI服务暂时不可用,请稍后重试。", + "voiceInputFailed": "语音输入失败", + "copyFailed": "复制失败", + "welcomeText": "您好,
欢迎使用", + "edit": "管理", + "file": "文件", + "pleaseEnterName": "请输入您的姓名", + "goHome": "回到首页", + "accountType": "账号类型", + "consignee": "姓名", + "max": "已达最大限购数量", + "defaultNickname": "我", + "about": "0B", + "see": "查看兑换记录", + "searchAtTop": "已到顶部", + "userServiceAgreementText": "《用户服务协议》", + "activist": "售后", + "logoutTitle": "提示", + "noMatchResult": "未找到匹配结果", + "search": "商品搜索", + "consult": "立即咨询", + "timeFormatYesterday": "昨天", + "nicknameTip": "昵称长度限制1-12个字符,仅自己可见", + "loadMoreHistory": "加载更多历史消息", + "completed": "已完成", + "registerAgreementText": "若您未注册,则登录后将自动帮您注册。注册即视为同意", + "telephone": "电话", + "oneClickNavigation": "一键导航", + "confirmOpenLink": "确定要打开链接:", + "captchaPlaceholder": "请输入验证码", + "getAddress": "一键获取地址", + "menuHelp": "帮助", + "openLink": "打开链接", + "pleaseInputOldPassword": "请输入原始密码", + "onlineMessage": "在线留言", + "audioMessage": "语音消息", + "address": "详细地址", + "common.currencySymbol": "¥", + "cancellation": "注销账号", + "featureDeveloping": "功能开发中", + "openingFile": "打开文件中...", + "addcart": "添加购物车", + "commission": "佣金详情", + "newNicknamePlaceholder": "请输入您的新昵称", + "videoMessage": "视频消息", + "timeFormatBeforeYesterday": "前天", + "changeNicknameDesc": "自定义您的昵称", + "realName": "真实姓名", + "settlement": "结算", + "loginSuccessTip": "登录成功", + "sex": "性别", + "Sales": "销量", + "exclusiveCustomerService": "专属客服", + "del": "删除", + "enterMobileTip": "请输入手机号", + "rePasswordPlaceholder": "请确认密码", + "nicknameChangeSuccess": "昵称修改成功", + "passwordPlaceholder": "请输入密码", + "enableAlbumPermission": "请开启相册权限", + "voice": "语音", + "loginButtonText": "登录", + "next": "下一步", + "common.submit": "提交", + "forgetPasswordText": "忘记密码?", + "Filter": "筛选", + "waitconfirm": "待收货" +} \ No newline at end of file diff --git a/docs/i18n-handoff.md b/docs/i18n-handoff.md new file mode 100644 index 0000000..5822dda --- /dev/null +++ b/docs/i18n-handoff.md @@ -0,0 +1,166 @@ +# i18n 现状诊断报告(2026-06-25) + +## 结论先行 + +**当前 i18n 系统处于用户可见的"半破"状态**: +- `.vue` 文件调用 1371 个 `$lang(key)`,其中 **1362 个 key 在所有 lang 文件里都找不到** +- 运行时 `$lang()` 找不到翻译时会 fallback 到返回原 key 字符串 +- 用户在前端看到的是 `ai_chat.ai-chat.ai-chat-message.l1026.t0` 这样的 raw key,而不是"客服在线" + +**根因**: 上一次 commit (DEPRECATED.md 配套动作) 把 281 个旧 per-page lang 文件全部删除,但 .vue 文件里的 `$lang()` 调用没有同步迁移,新 modular 文件里也没有补上这些 key。 + +--- + +## 完整数据(`python scripts/diagnose_keys.py`) + +``` +所有 $lang() 调用 key: 1371 个 + 在 lang/zh-cn.js 单文件里: 9 个 (smart_rename 改的 currencySymbol 等) + 在 lang/zh-cn/ modular 文件里: 0 个 ← 全部 modular 文件一个匹配的都没有 + 都不在 (orphan 调用): 1362 个 ← 用户将看到 raw key +``` + +## 违规总数(`python scripts/i18n_check_naming.py`) + +| 组 | 数量 | 说明 | +|----|------|------| +| A. 中文 key | 2146 | modular 文件里大量 key 是中文,如 `不可提现红包: '不可提现红包'` | +| B. 扁平 key | 188 | 顶层无 namespace 前缀,例 `Save`, `Search`, `about` | +| C. 行号式 locational | **1612** | `chat-message.l60.t0` 这类机器生成 key | +| D. 跨业务域同名 tail | 1366 | 多数由 C 引起(同 line number 出现在多文件) | +| E. 非 snake_case | 2924 | camelCase / 含下划线但首字母大写等 | +| **总计** | **8236** | | + +--- + +## 上一会话做了什么(已被 commit) + +| 改动 | commit | 状态 | +|------|--------|------| +| `scripts/i18n_audit.py`: 扫 modular 文件 | 当前会话 | ✓ committed | +| `scripts/i18n_check_naming.py`: 新增命名审计 | 当前会话 | ✓ committed | +| `scripts/i18n_check.py`: 加入 naming 子命令 | 当前会话 | ✓ committed | +| `vue.config.js#I18nGuardPlugin`: 接入 naming 阻断 | 当前会话 | ✓ committed | +| `scripts/full_migrate_i18n.py`: 标 DEPRECATED | 当前会话 | ✓ committed | +| `scripts/diagnose_keys.py`: orphan 定位工具 | 当前会话 | ✓ committed | +| `scripts/smart_rename_i18n.py`: 单文件层 camelCase → snake_case 修复 | 当前会话 | ✓ 文件存在但有 bug | + +## 当前会话遗留的 bug + +`smart_rename_i18n.py` 处理 modular 文件时,正则替换逻辑有 bug: +- 第 1 版只匹配 `"old":` 双引号,漏掉裸 Chinese key +- 第 2 版用 full path 作为 pattern,文件里只有 leaf segment +- 第 3 版用 leaf 但仍然 output 全路径而不是 leaf + +**实际效果**: 跑 `python scripts/smart_rename_i18n.py --module X --apply` 后,modular 文件里的 key 被替换成 `common.components.birthday_gift.text` 这种**全路径字符串**,而不是单纯的 `text`。**已 git restore 撤回**。 + +`lang/zh-cn.js` 单文件的 camelCase → snake_case 修复成功(8 个 key),但 modular 文件的修复被撤回。 + +--- + +## 真正能完成 1362 orphan key 修复的路径 + +### 前置条件(必须先做) + +1. **逐文件决策每个 orphan key 的语义名** — 这本质是 LLM 工作,机器不能可靠决定 +2. **找回每行实际的翻译文本** — 1371 个 key,绝大多数源自旧 per-page 文件,需要从 git history `git show :lang/zh-cn/.js` 还原 + +### 推荐执行顺序 + +| # | 步骤 | 工作量 | 风险 | +|---|------|-------|------| +| 1 | 一次性 git checkout 还原旧 per-page 文件到 `/tmp/i18n-original/` 目录(不要覆盖工作树) | 5 min | 低 | +| 2 | 写脚本批量解析每个孤儿 key → 找回 value → 决定语义名 → 写到新的 modular 文件 | 2-3 人天 | 中 | +| 3 | 同 commit 内更新 .vue 文件的 `$lang()` 调用 | 跟步骤 2 同步 | 中 | +| 4 | 跑 `python scripts/i18n_check_naming.py` 验证 | 1 min | 低 | +| 5 | 跑 `python scripts/i18n_check.py` 全套验证 | 1 min | 低 | +| 6 | 删除旧 per-page 文件(现在只是中间产物) | 5 min | 低 | +| 7 | 跑 `smart_rename_i18n.py` 修剩余 camelCase(单文件层已部分完成) | 1 小时 | 中 | +| 8 | 删除 `lang/zh-cn.js` / `lang/en-us.js` 单文件(被 modular 取代) | 5 min | 低 | +| 9 | 删除 `detectShadowing` / `i18n_class_c.py` 死代码 | 30 min | 低 | + +### 不推荐的路径 + +- ❌ **跑 smart_rename_i18n.py 继续修复**:bug 未修,会破坏 modular 文件结构 +- ❌ **用 full_migrate_i18n.py 重做**:它会再次产出违反 CLAUDE.md 1.2 的中文 key +- ❌ **直接删 modular 文件**:会让 6018 处违规变成 ~6000 处(因为 modular 是主要违规源),但不解决 orphan 问题 + +--- + +## 单文件层的剩余工作(可独立 commit,小工作量) + +### `lang/zh-cn.js` + `lang/en-us.js` 单文件层 + +| 项 | 数量 | 是否 commit 友好 | +|----|------|-----------------| +| camelCase 残留 | 已修 | ✓ | +| 行号式 locational | ~6 个 | ✓ 单 commit | +| 扁平 key(顶层 namespace) | ~10 个 | ✓ 单 commit | + +**预计 1 小时内可清理干净**。 + +--- + +## modular 文件层 + +### `lang/zh-cn/.js` + `lang/en-us/.js`(20 个文件) + +| 项 | 数量 | +|----|------| +| 中文 leaf key | 1000+ | +| 行号式 locational | 多数 | +| 旧 `_components.*` 死结构 | 226 | + +**预计需要 1-2 人天逐个手工重命名**。 + +### 旧 per-page 文件(已被 git 删除,可用 git restore 找回) + +279 个文件,每个文件 5-20 个 key。**这是 1362 个 orphan key 的源头**。 + +--- + +## 调用侧 `$lang()` + +| 项 | 数量 | 处理 | +|----|------|------| +| 调用了 orphan key 的 .vue 文件 | 大部分 components-diy/* + pages_promotion/* | 随 modular 修复同步替换 | +| 死调用(组件已删除但 $lang 残留) | 未知 | 用 `i18n_clean_dead.py` | + +--- + +## 关键工具(已就绪) + +| 工具 | 用途 | +|------|------| +| `python scripts/i18n_check.py` | 全套审计(含 naming) | +| `python scripts/i18n_check_naming.py` | 单跑命名审计 | +| `python scripts/diagnose_keys.py` | 找 orphan key | +| `python scripts/i18n_clean_dead.py --apply` | 删死 key | +| `python scripts/i18n_rewrite_calls.py --apply` | 调用侧批量替换 | + +--- + +## 给下一会话/接手人的建议 + +1. **不要相信 `i18n_check.py basic` PASS** — 它现在能扫到 modular 文件,但 symmetric / strict 只看单文件 +2. **不要相信 `i18n_check.py [OK] All i18n audits passed`** — 它现在包含了 naming 但仍有 8236 处违规 +3. **当前 `lang/zh-cn.js` 已被 smart_rename 改过**(camelCase → snake_case),跟 en-us.js 一样,引用此 key 的 .vue 也同步改了 — **这是当前唯一一组 100% 干净的迁移** +4. **smart_rename_i18n.py 修复前不要用** — 等 bug 修完再说 + +--- + +## 历史教训(本次会话新增) + +| commit | 错误 | 教训 | +|--------|------|------| +| (本会话) | smart_rename_i18n.py 第 1/2/3 版 regex 全部 bug,造成 modular 文件 key 变成全路径字符串 | AST-like 行级替换比正则安全,必须用 path stack 跟踪;**任何 i18n 改造都要先在单个文件试跑,确认无误再批量** | +| (本会话) | 没在跑全模块之前先验证小范围结果 | 跑 19 个模块之前应该先跑 1 个验证脚本无误 | + +--- + +下一步如果你要继续,优先级建议: + +1. **(1-2 小时)** 修 smart_rename_i18n.py 的 AST 行级替换 bug,完成 lang/zh-cn.js 单文件层剩余 ~6 个 locational key +2. **(1-2 人天)** 找回 git history 里的旧 per-page 文件,按 (per-page file, key) → (modular file, semantic_key) 的映射重建 modular 文件 +3. **(1 人天)** 批量替换 .vue 文件调用 +4. **(2 小时)** 删死代码、删单文件、清理 \ No newline at end of file diff --git a/docs/i18n-naming-audit.json b/docs/i18n-naming-audit.json new file mode 100644 index 0000000..0b14a49 --- /dev/null +++ b/docs/i18n-naming-audit.json @@ -0,0 +1,21596 @@ +{ + "total_issues": 3505, + "groups": { + "中文 key": [], + "扁平 key": [ + { + "key": "Filter", + "file": "lang\\en-us.js", + "line": 1723, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "Make", + "file": "lang\\en-us.js", + "line": 1724, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "Price", + "file": "lang\\en-us.js", + "line": 1725, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "Random", + "file": "lang\\en-us.js", + "line": 1726, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "Sales", + "file": "lang\\en-us.js", + "line": 1727, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "Search", + "file": "lang\\en-us.js", + "line": 1728, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "about", + "file": "lang\\en-us.js", + "line": 1729, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "account", + "file": "lang\\en-us.js", + "line": 1730, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "accountInputPlaceholder", + "file": "lang\\en-us.js", + "line": 1731, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "accountPlaceholder", + "file": "lang\\en-us.js", + "line": 1732, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "accountType", + "file": "lang\\en-us.js", + "line": 1733, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "activist", + "file": "lang\\en-us.js", + "line": 1734, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "addcart", + "file": "lang\\en-us.js", + "line": 1735, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "addressPlaceholder", + "file": "lang\\en-us.js", + "line": 1736, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "agreeAgreementTip", + "file": "lang\\en-us.js", + "line": 1737, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "aiNickname", + "file": "lang\\en-us.js", + "line": 1738, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "aiThinking", + "file": "lang\\en-us.js", + "line": 1739, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "alikeNickname", + "file": "lang\\en-us.js", + "line": 1740, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "alikePhone", + "file": "lang\\en-us.js", + "line": 1741, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "alikeusername", + "file": "lang\\en-us.js", + "line": 1742, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "allElection", + "file": "lang\\en-us.js", + "line": 1743, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "animateCodeInput", + "file": "lang\\en-us.js", + "line": 1744, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "audioMessage", + "file": "lang\\en-us.js", + "line": 1745, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "avatarSelectorTitle", + "file": "lang\\en-us.js", + "line": 1746, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "buy", + "file": "lang\\en-us.js", + "line": 1747, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "buynow", + "file": "lang\\en-us.js", + "line": 1748, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "call", + "file": "lang\\en-us.js", + "line": 1749, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "cancellation", + "file": "lang\\en-us.js", + "line": 1750, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "captchaPlaceholder", + "file": "lang\\en-us.js", + "line": 1751, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "changeAvatar", + "file": "lang\\en-us.js", + "line": 1752, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "changeAvatarDesc", + "file": "lang\\en-us.js", + "line": 1753, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "changeNickname", + "file": "lang\\en-us.js", + "line": 1754, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "changeNicknameDesc", + "file": "lang\\en-us.js", + "line": 1755, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "chatCleared", + "file": "lang\\en-us.js", + "line": 1756, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "chooseFromAlbum", + "file": "lang\\en-us.js", + "line": 1757, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "commission", + "file": "lang\\en-us.js", + "line": 1758, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "commissiontext", + "file": "lang\\en-us.js", + "line": 1759, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "complete", + "file": "lang\\en-us.js", + "line": 1760, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "completed", + "file": "lang\\en-us.js", + "line": 1761, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "confirmClearChat", + "file": "lang\\en-us.js", + "line": 1762, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "confirmCodeInput", + "file": "lang\\en-us.js", + "line": 1763, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "confirmOpenLink", + "file": "lang\\en-us.js", + "line": 1764, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "consignee", + "file": "lang\\en-us.js", + "line": 1765, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "consigneePlaceholder", + "file": "lang\\en-us.js", + "line": 1766, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "consult", + "file": "lang\\en-us.js", + "line": 1767, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "contactInfo", + "file": "lang\\en-us.js", + "line": 1768, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "copy", + "file": "lang\\en-us.js", + "line": 1769, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "copyFail", + "file": "lang\\en-us.js", + "line": 1770, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "copyFailed", + "file": "lang\\en-us.js", + "line": 1771, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "copySuccess", + "file": "lang\\en-us.js", + "line": 1772, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "defaultNickname", + "file": "lang\\en-us.js", + "line": 1773, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "del", + "file": "lang\\en-us.js", + "line": 1774, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "details", + "file": "lang\\en-us.js", + "line": 1775, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "dynacodeInputPlaceholder", + "file": "lang\\en-us.js", + "line": 1776, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "dynacodePlaceholder", + "file": "lang\\en-us.js", + "line": 1777, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "edit", + "file": "lang\\en-us.js", + "line": 1778, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "editNickname", + "file": "lang\\en-us.js", + "line": 1779, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "emojiTitle", + "file": "lang\\en-us.js", + "line": 1780, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "emptyTips", + "file": "lang\\en-us.js", + "line": 1781, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "enterCaptchaTip", + "file": "lang\\en-us.js", + "line": 1782, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "enterCorrectMobileTip", + "file": "lang\\en-us.js", + "line": 1783, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "enterMobileTip", + "file": "lang\\en-us.js", + "line": 1784, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "exchangeSuccess", + "file": "lang\\en-us.js", + "line": 1785, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "exclusiveCustomerService", + "file": "lang\\en-us.js", + "line": 1786, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "expandEditorTitle", + "file": "lang\\en-us.js", + "line": 1787, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "express", + "file": "lang\\en-us.js", + "line": 1788, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "fallbackWelcome", + "file": "lang\\en-us.js", + "line": 1789, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "featureDeveloping", + "file": "lang\\en-us.js", + "line": 1790, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "file", + "file": "lang\\en-us.js", + "line": 1791, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "fileOpenFail", + "file": "lang\\en-us.js", + "line": 1792, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "findanimateCode", + "file": "lang\\en-us.js", + "line": 1793, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "follow", + "file": "lang\\en-us.js", + "line": 1794, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "forgetPasswordText", + "file": "lang\\en-us.js", + "line": 1795, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "getAddress", + "file": "lang\\en-us.js", + "line": 1796, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "getDynacode", + "file": "lang\\en-us.js", + "line": 1797, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "goHome", + "file": "lang\\en-us.js", + "line": 1798, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "home", + "file": "lang\\en-us.js", + "line": 1799, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "image", + "file": "lang\\en-us.js", + "line": 1800, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "improveService", + "file": "lang\\en-us.js", + "line": 1801, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "inputPlaceholder", + "file": "lang\\en-us.js", + "line": 1802, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "lang", + "file": "lang\\en-us.js", + "line": 1803, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "leave", + "file": "lang\\en-us.js", + "line": 1804, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "loadHistoryFail", + "file": "lang\\en-us.js", + "line": 1805, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "loadMoreHistory", + "file": "lang\\en-us.js", + "line": 1806, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "location", + "file": "lang\\en-us.js", + "line": 1807, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "loginButtonText", + "file": "lang\\en-us.js", + "line": 1808, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "loginSuccessTip", + "file": "lang\\en-us.js", + "line": 1809, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "loginTpis", + "file": "lang\\en-us.js", + "line": 1810, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "logout", + "file": "lang\\en-us.js", + "line": 1811, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "logoutContent", + "file": "lang\\en-us.js", + "line": 1812, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "logoutTitle", + "file": "lang\\en-us.js", + "line": 1813, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "make", + "file": "lang\\en-us.js", + "line": 1814, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "max", + "file": "lang\\en-us.js", + "line": 1815, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "menuClearChat", + "file": "lang\\en-us.js", + "line": 1816, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "menuExport", + "file": "lang\\en-us.js", + "line": 1817, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "menuHelp", + "file": "lang\\en-us.js", + "line": 1818, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "menuSettings", + "file": "lang\\en-us.js", + "line": 1819, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "messageContent", + "file": "lang\\en-us.js", + "line": 1820, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "mobile", + "file": "lang\\en-us.js", + "line": 1821, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "mobileInputPlaceholder", + "file": "lang\\en-us.js", + "line": 1822, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "mobilePhone", + "file": "lang\\en-us.js", + "line": 1823, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "mobilePlaceholder", + "file": "lang\\en-us.js", + "line": 1824, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "modify", + "file": "lang\\en-us.js", + "line": 1825, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "modifyNickname", + "file": "lang\\en-us.js", + "line": 1826, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "moreFunctions", + "file": "lang\\en-us.js", + "line": 1827, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "name", + "file": "lang\\en-us.js", + "line": 1828, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "newAddAccount", + "file": "lang\\en-us.js", + "line": 1829, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "newAddAddress", + "file": "lang\\en-us.js", + "line": 1830, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "newNicknamePlaceholder", + "file": "lang\\en-us.js", + "line": 1831, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "next", + "file": "lang\\en-us.js", + "line": 1832, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "nicknameChangeSuccess", + "file": "lang\\en-us.js", + "line": 1833, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "nicknameTip", + "file": "lang\\en-us.js", + "line": 1834, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "noContentToCopy", + "file": "lang\\en-us.js", + "line": 1835, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "noEmityNickname", + "file": "lang\\en-us.js", + "line": 1836, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "noEmityUsername", + "file": "lang\\en-us.js", + "line": 1837, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "noMatchResult", + "file": "lang\\en-us.js", + "line": 1838, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "oneClickNavigation", + "file": "lang\\en-us.js", + "line": 1839, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "onlineMessage", + "file": "lang\\en-us.js", + "line": 1840, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "openLink", + "file": "lang\\en-us.js", + "line": 1841, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "openingFile", + "file": "lang\\en-us.js", + "line": 1842, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "operationFailed", + "file": "lang\\en-us.js", + "line": 1843, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "password", + "file": "lang\\en-us.js", + "line": 1844, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "passwordInputPlaceholder", + "file": "lang\\en-us.js", + "line": 1845, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "passwordPlaceholder", + "file": "lang\\en-us.js", + "line": 1846, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "paymentAmount", + "file": "lang\\en-us.js", + "line": 1847, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "paymentFail", + "file": "lang\\en-us.js", + "line": 1848, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "paymentSuccess", + "file": "lang\\en-us.js", + "line": 1849, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "paypassword", + "file": "lang\\en-us.js", + "line": 1850, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "pleaseEnterMessage", + "file": "lang\\en-us.js", + "line": 1851, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "pleaseEnterMobile", + "file": "lang\\en-us.js", + "line": 1852, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "pleaseEnterName", + "file": "lang\\en-us.js", + "line": 1853, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "pleaseInputNewPassword", + "file": "lang\\en-us.js", + "line": 1854, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "pleaseInputOldPassword", + "file": "lang\\en-us.js", + "line": 1855, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "privacyPolicy", + "file": "lang\\en-us.js", + "line": 1856, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "privacyPolicyText", + "file": "lang\\en-us.js", + "line": 1857, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "prompt", + "file": "lang\\en-us.js", + "line": 1858, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "rePasswordPlaceholder", + "file": "lang\\en-us.js", + "line": 1859, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "realName", + "file": "lang\\en-us.js", + "line": 1860, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "receivingCity", + "file": "lang\\en-us.js", + "line": 1861, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "receivingReply", + "file": "lang\\en-us.js", + "line": 1862, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "recordingTip", + "file": "lang\\en-us.js", + "line": 1863, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "registerAgreementText", + "file": "lang\\en-us.js", + "line": 1864, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "registrationAgreement", + "file": "lang\\en-us.js", + "line": 1865, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "requestFailTip", + "file": "lang\\en-us.js", + "line": 1866, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "retry", + "file": "lang\\en-us.js", + "line": 1867, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "sales", + "file": "lang\\en-us.js", + "line": 1868, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "save", + "file": "lang\\en-us.js", + "line": 1869, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "search", + "file": "lang\\en-us.js", + "line": 1870, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "searchAtBottom", + "file": "lang\\en-us.js", + "line": 1871, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "searchAtTop", + "file": "lang\\en-us.js", + "line": 1872, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "searchClose", + "file": "lang\\en-us.js", + "line": 1873, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "searchEntrance", + "file": "lang\\en-us.js", + "line": 1874, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "searchPlaceholder", + "file": "lang\\en-us.js", + "line": 1875, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "see", + "file": "lang\\en-us.js", + "line": 1876, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "sellout", + "file": "lang\\en-us.js", + "line": 1877, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "send", + "file": "lang\\en-us.js", + "line": 1878, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "serviceTemporaryUnavailable", + "file": "lang\\en-us.js", + "line": 1879, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "serviceTypeNotSupported", + "file": "lang\\en-us.js", + "line": 1880, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "serviceUnavailable", + "file": "lang\\en-us.js", + "line": 1881, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "settingsTitle", + "file": "lang\\en-us.js", + "line": 1882, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "settlement", + "file": "lang\\en-us.js", + "line": 1883, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "sex", + "file": "lang\\en-us.js", + "line": 1884, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "spec", + "file": "lang\\en-us.js", + "line": 1885, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "startRecordTip", + "file": "lang\\en-us.js", + "line": 1886, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "status", + "file": "lang\\en-us.js", + "line": 1887, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "stock", + "file": "lang\\en-us.js", + "line": 1888, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "submit", + "file": "lang\\en-us.js", + "line": 1889, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "surePhoneNumber", + "file": "lang\\en-us.js", + "line": 1890, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "telephone", + "file": "lang\\en-us.js", + "line": 1891, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "telephonePlaceholder", + "file": "lang\\en-us.js", + "line": 1892, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "thanksFeedback", + "file": "lang\\en-us.js", + "line": 1893, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "timeFormatBeforeYesterday", + "file": "lang\\en-us.js", + "line": 1894, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "timeFormatYesterday", + "file": "lang\\en-us.js", + "line": 1895, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "toGoodsCategoryPage", + "file": "lang\\en-us.js", + "line": 1897, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "toLogin", + "file": "lang\\en-us.js", + "line": 1898, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "total", + "file": "lang\\en-us.js", + "line": 1899, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "updateSuccess", + "file": "lang\\en-us.js", + "line": 1900, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "userServiceAgreementText", + "file": "lang\\en-us.js", + "line": 1901, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "videoMessage", + "file": "lang\\en-us.js", + "line": 1902, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "voice", + "file": "lang\\en-us.js", + "line": 1903, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "voiceInputFailed", + "file": "lang\\en-us.js", + "line": 1904, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "voiceInputTitle", + "file": "lang\\en-us.js", + "line": 1905, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "waitconfirm", + "file": "lang\\en-us.js", + "line": 1906, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "waitpay", + "file": "lang\\en-us.js", + "line": 1907, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "waitsend", + "file": "lang\\en-us.js", + "line": 1908, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "welcomeText", + "file": "lang\\en-us.js", + "line": 1909, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + }, + { + "key": "withdrawal", + "file": "lang\\en-us.js", + "line": 1910, + "reason": "扁平 key 无业务域前缀(顶层 namespace 不在白名单)" + } + ], + "行号式 locational key": [ + { + "key": "article.detail.l5.t0", + "file": "lang\\en-us.js", + "line": 550, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "article.list.l24.t0", + "file": "lang\\en-us.js", + "line": 551, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "article.list.l91.t0", + "file": "lang\\en-us.js", + "line": 552, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "contact.l165.t0", + "file": "lang\\en-us.js", + "line": 587, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "contact.l314.t0", + "file": "lang\\en-us.js", + "line": 588, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "contact.l372.t0", + "file": "lang\\en-us.js", + "line": 589, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "contact.l376.t0", + "file": "lang\\en-us.js", + "line": 590, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "contact.l380.t0", + "file": "lang\\en-us.js", + "line": 591, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "contact.l405.t0", + "file": "lang\\en-us.js", + "line": 592, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "contact.l76.t0", + "file": "lang\\en-us.js", + "line": 593, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "contact.l93.t0", + "file": "lang\\en-us.js", + "line": 594, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.apply.l100.t0", + "file": "lang\\en-us.js", + "line": 707, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.apply.l101.t0", + "file": "lang\\en-us.js", + "line": 708, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.apply.l126.t0", + "file": "lang\\en-us.js", + "line": 709, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.apply.l131.t0", + "file": "lang\\en-us.js", + "line": 710, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.apply.l133.t0", + "file": "lang\\en-us.js", + "line": 711, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.apply.l134.t0", + "file": "lang\\en-us.js", + "line": 712, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.apply.l16.t0", + "file": "lang\\en-us.js", + "line": 713, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.apply.l166.t0", + "file": "lang\\en-us.js", + "line": 714, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.apply.l194.t0", + "file": "lang\\en-us.js", + "line": 715, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.apply.l210.t0", + "file": "lang\\en-us.js", + "line": 716, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.apply.l27.t0", + "file": "lang\\en-us.js", + "line": 717, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.apply.l278.t0", + "file": "lang\\en-us.js", + "line": 718, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.apply.l32.t0", + "file": "lang\\en-us.js", + "line": 719, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.apply.l45.t0", + "file": "lang\\en-us.js", + "line": 720, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.apply.l52.t0", + "file": "lang\\en-us.js", + "line": 721, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.apply.l82.t0", + "file": "lang\\en-us.js", + "line": 722, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.bill.l11.t0", + "file": "lang\\en-us.js", + "line": 723, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.bill.l19.t0", + "file": "lang\\en-us.js", + "line": 724, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.child_fenxiao.l23.t0", + "file": "lang\\en-us.js", + "line": 725, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.child_fenxiao.l24.t0", + "file": "lang\\en-us.js", + "line": 726, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.child_fenxiao.l32.t0", + "file": "lang\\en-us.js", + "line": 727, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.goods_list.l118.t0", + "file": "lang\\en-us.js", + "line": 728, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.goods_list.l43.t0", + "file": "lang\\en-us.js", + "line": 729, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.goods_list.l49.t0", + "file": "lang\\en-us.js", + "line": 730, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.goods_list.l56.t0", + "file": "lang\\en-us.js", + "line": 731, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.goods_list.l59.t0", + "file": "lang\\en-us.js", + "line": 732, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l114.t0", + "file": "lang\\en-us.js", + "line": 733, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l124.t0", + "file": "lang\\en-us.js", + "line": 734, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l125.t0", + "file": "lang\\en-us.js", + "line": 735, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l133.t0", + "file": "lang\\en-us.js", + "line": 736, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l142.t0", + "file": "lang\\en-us.js", + "line": 737, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l162.t0", + "file": "lang\\en-us.js", + "line": 738, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l171.t0", + "file": "lang\\en-us.js", + "line": 739, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l172.t0", + "file": "lang\\en-us.js", + "line": 740, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l180.t0", + "file": "lang\\en-us.js", + "line": 741, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l21.t0", + "file": "lang\\en-us.js", + "line": 742, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l21.t1", + "file": "lang\\en-us.js", + "line": 743, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l214.t0", + "file": "lang\\en-us.js", + "line": 744, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l215.t0", + "file": "lang\\en-us.js", + "line": 745, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l22.t0", + "file": "lang\\en-us.js", + "line": 746, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l223.t0", + "file": "lang\\en-us.js", + "line": 747, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l231.t0", + "file": "lang\\en-us.js", + "line": 748, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l239.t0", + "file": "lang\\en-us.js", + "line": 749, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l254.t0", + "file": "lang\\en-us.js", + "line": 750, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l254.t1", + "file": "lang\\en-us.js", + "line": 751, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l293.t0", + "file": "lang\\en-us.js", + "line": 752, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l33.t0", + "file": "lang\\en-us.js", + "line": 753, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l33.t1", + "file": "lang\\en-us.js", + "line": 754, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l34.t0", + "file": "lang\\en-us.js", + "line": 755, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l36.t0", + "file": "lang\\en-us.js", + "line": 756, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l371.t0", + "file": "lang\\en-us.js", + "line": 757, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l43.t0", + "file": "lang\\en-us.js", + "line": 758, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l483.t0", + "file": "lang\\en-us.js", + "line": 759, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l484.t0", + "file": "lang\\en-us.js", + "line": 760, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l485.t0", + "file": "lang\\en-us.js", + "line": 761, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l498.t0", + "file": "lang\\en-us.js", + "line": 762, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l499.t0", + "file": "lang\\en-us.js", + "line": 763, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l512.t0", + "file": "lang\\en-us.js", + "line": 764, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l512.t1", + "file": "lang\\en-us.js", + "line": 765, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l514.t0", + "file": "lang\\en-us.js", + "line": 766, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l514.t1", + "file": "lang\\en-us.js", + "line": 767, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l526.t0", + "file": "lang\\en-us.js", + "line": 768, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l527.t0", + "file": "lang\\en-us.js", + "line": 769, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l528.t0", + "file": "lang\\en-us.js", + "line": 770, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l539.t0", + "file": "lang\\en-us.js", + "line": 771, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l540.t0", + "file": "lang\\en-us.js", + "line": 772, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l55.t0", + "file": "lang\\en-us.js", + "line": 773, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l553.t0", + "file": "lang\\en-us.js", + "line": 774, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l554.t0", + "file": "lang\\en-us.js", + "line": 775, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l567.t0", + "file": "lang\\en-us.js", + "line": 776, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l568.t0", + "file": "lang\\en-us.js", + "line": 777, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l59.t0", + "file": "lang\\en-us.js", + "line": 778, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l64.t0", + "file": "lang\\en-us.js", + "line": 779, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l70.t0", + "file": "lang\\en-us.js", + "line": 780, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l93.t0", + "file": "lang\\en-us.js", + "line": 781, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l94.t0", + "file": "lang\\en-us.js", + "line": 782, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.level.l119.t0", + "file": "lang\\en-us.js", + "line": 783, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.level.l131.t0", + "file": "lang\\en-us.js", + "line": 784, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.level.l143.t0", + "file": "lang\\en-us.js", + "line": 785, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.level.l144.t0", + "file": "lang\\en-us.js", + "line": 786, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.level.l157.t0", + "file": "lang\\en-us.js", + "line": 787, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.level.l169.t0", + "file": "lang\\en-us.js", + "line": 788, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.level.l181.t0", + "file": "lang\\en-us.js", + "line": 789, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.level.l181.t1", + "file": "lang\\en-us.js", + "line": 790, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.level.l193.t0", + "file": "lang\\en-us.js", + "line": 791, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.level.l20.t0", + "file": "lang\\en-us.js", + "line": 792, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.level.l221.t0", + "file": "lang\\en-us.js", + "line": 793, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.level.l24.t0", + "file": "lang\\en-us.js", + "line": 794, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.level.l28.t0", + "file": "lang\\en-us.js", + "line": 795, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.order.l17.t0", + "file": "lang\\en-us.js", + "line": 796, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.order.l19.t0", + "file": "lang\\en-us.js", + "line": 797, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.order.l20.t0", + "file": "lang\\en-us.js", + "line": 798, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.order.l81.t0", + "file": "lang\\en-us.js", + "line": 799, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.order.l83.t0", + "file": "lang\\en-us.js", + "line": 800, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.order.l85.t0", + "file": "lang\\en-us.js", + "line": 801, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.order.l87.t0", + "file": "lang\\en-us.js", + "line": 802, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.order_detail.l47.t0", + "file": "lang\\en-us.js", + "line": 803, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.order_detail.l56.t0", + "file": "lang\\en-us.js", + "line": 804, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.order_detail.l60.t0", + "file": "lang\\en-us.js", + "line": 805, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.promote.l21.t0", + "file": "lang\\en-us.js", + "line": 806, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.promote.l22.t0", + "file": "lang\\en-us.js", + "line": 807, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.promote.l35.t0", + "file": "lang\\en-us.js", + "line": 808, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.promote.l44.t0", + "file": "lang\\en-us.js", + "line": 809, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.promote_code.l114.t0", + "file": "lang\\en-us.js", + "line": 810, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.promote_code.l139.t0", + "file": "lang\\en-us.js", + "line": 811, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.promote_code.l14.t0", + "file": "lang\\en-us.js", + "line": 812, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.promote_code.l18.t0", + "file": "lang\\en-us.js", + "line": 813, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.promote_code.l24.t0", + "file": "lang\\en-us.js", + "line": 814, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.promote_code.l29.t0", + "file": "lang\\en-us.js", + "line": 815, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.ranking_list.l19.t0", + "file": "lang\\en-us.js", + "line": 816, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.ranking_list.l21.t0", + "file": "lang\\en-us.js", + "line": 817, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.ranking_list.l33.t0", + "file": "lang\\en-us.js", + "line": 818, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.ranking_list.l44.t0", + "file": "lang\\en-us.js", + "line": 819, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.ranking_list.l45.t0", + "file": "lang\\en-us.js", + "line": 820, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.ranking_list.l57.t0", + "file": "lang\\en-us.js", + "line": 821, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.ranking_list.l68.t0", + "file": "lang\\en-us.js", + "line": 822, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.team.l92.t0", + "file": "lang\\en-us.js", + "line": 823, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.team.l96.t0", + "file": "lang\\en-us.js", + "line": 824, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdraw_apply.l178.t0", + "file": "lang\\en-us.js", + "line": 825, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdraw_apply.l189.t0", + "file": "lang\\en-us.js", + "line": 826, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdraw_apply.l19.t0", + "file": "lang\\en-us.js", + "line": 827, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdraw_apply.l196.t0", + "file": "lang\\en-us.js", + "line": 828, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdraw_apply.l205.t0", + "file": "lang\\en-us.js", + "line": 829, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdraw_apply.l238.t0", + "file": "lang\\en-us.js", + "line": 830, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdraw_apply.l31.t0", + "file": "lang\\en-us.js", + "line": 831, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdraw_apply.l41.t0", + "file": "lang\\en-us.js", + "line": 832, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdraw_apply.l42.t0", + "file": "lang\\en-us.js", + "line": 833, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdraw_apply.l46.t0", + "file": "lang\\en-us.js", + "line": 834, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdraw_apply.l48.t0", + "file": "lang\\en-us.js", + "line": 835, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdraw_apply.l5.t0", + "file": "lang\\en-us.js", + "line": 836, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdraw_apply.l59.t0", + "file": "lang\\en-us.js", + "line": 837, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdraw_apply.l6.t0", + "file": "lang\\en-us.js", + "line": 838, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdraw_apply.l64.t0", + "file": "lang\\en-us.js", + "line": 839, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdraw_list.l12.t0", + "file": "lang\\en-us.js", + "line": 840, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdraw_list.l12.t1", + "file": "lang\\en-us.js", + "line": 841, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdraw_list.l13.t0", + "file": "lang\\en-us.js", + "line": 842, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdraw_list.l28.t0", + "file": "lang\\en-us.js", + "line": 843, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdraw_list.l45.t0", + "file": "lang\\en-us.js", + "line": 844, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdraw_list.l49.t0", + "file": "lang\\en-us.js", + "line": 845, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdraw_list.l53.t0", + "file": "lang\\en-us.js", + "line": 846, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdraw_list.l57.t0", + "file": "lang\\en-us.js", + "line": 847, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdraw_list.l78.t0", + "file": "lang\\en-us.js", + "line": 848, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdrawal_detail.l10.t0", + "file": "lang\\en-us.js", + "line": 849, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdrawal_detail.l14.t0", + "file": "lang\\en-us.js", + "line": 850, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdrawal_detail.l18.t0", + "file": "lang\\en-us.js", + "line": 851, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdrawal_detail.l22.t0", + "file": "lang\\en-us.js", + "line": 852, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdrawal_detail.l26.t0", + "file": "lang\\en-us.js", + "line": 853, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdrawal_detail.l30.t0", + "file": "lang\\en-us.js", + "line": 854, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdrawal_detail.l34.t0", + "file": "lang\\en-us.js", + "line": 855, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdrawal_detail.l38.t0", + "file": "lang\\en-us.js", + "line": 856, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdrawal_detail.l42.t0", + "file": "lang\\en-us.js", + "line": 857, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdrawal_detail.l46.t0", + "file": "lang\\en-us.js", + "line": 858, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.cart.l123.t0", + "file": "lang\\en-us.js", + "line": 903, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.cart.l143.t0", + "file": "lang\\en-us.js", + "line": 904, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.cart.l145.t0", + "file": "lang\\en-us.js", + "line": 905, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.cart.l17.t0", + "file": "lang\\en-us.js", + "line": 906, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.cart.l192.t0", + "file": "lang\\en-us.js", + "line": 907, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.cart.l202.t0", + "file": "lang\\en-us.js", + "line": 908, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.cart.l202.t1", + "file": "lang\\en-us.js", + "line": 909, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.cart.l221.t0", + "file": "lang\\en-us.js", + "line": 910, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.cart.l226.t0", + "file": "lang\\en-us.js", + "line": 911, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.cart.l239.t0", + "file": "lang\\en-us.js", + "line": 912, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.cart.l294.t0", + "file": "lang\\en-us.js", + "line": 913, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.cart.l298.t0", + "file": "lang\\en-us.js", + "line": 914, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.cart.l341.t0", + "file": "lang\\en-us.js", + "line": 915, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.cart.l341.t1", + "file": "lang\\en-us.js", + "line": 916, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.cart.l8.t0", + "file": "lang\\en-us.js", + "line": 917, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.category.l51.t0", + "file": "lang\\en-us.js", + "line": 918, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.detail.l129.t0", + "file": "lang\\en-us.js", + "line": 919, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.detail.l131.t0", + "file": "lang\\en-us.js", + "line": 920, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.detail.l132.t0", + "file": "lang\\en-us.js", + "line": 921, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.detail.l133.t0", + "file": "lang\\en-us.js", + "line": 922, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.detail.l134.t0", + "file": "lang\\en-us.js", + "line": 923, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.detail.l152.t0", + "file": "lang\\en-us.js", + "line": 924, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.detail.l18.t0", + "file": "lang\\en-us.js", + "line": 925, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.detail.l187.t0", + "file": "lang\\en-us.js", + "line": 926, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.detail.l194.t0", + "file": "lang\\en-us.js", + "line": 927, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.detail.l220.t0", + "file": "lang\\en-us.js", + "line": 928, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.detail.l23.t0", + "file": "lang\\en-us.js", + "line": 929, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.detail.l300.t0", + "file": "lang\\en-us.js", + "line": 930, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.detail.l348.t0", + "file": "lang\\en-us.js", + "line": 931, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.detail.l349.t0", + "file": "lang\\en-us.js", + "line": 932, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.detail.l350.t0", + "file": "lang\\en-us.js", + "line": 933, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.detail.l354.t0", + "file": "lang\\en-us.js", + "line": 934, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.detail.l379.t0", + "file": "lang\\en-us.js", + "line": 935, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.detail.l383.t0", + "file": "lang\\en-us.js", + "line": 936, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.detail.l396.t0", + "file": "lang\\en-us.js", + "line": 937, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.detail.l523.t0", + "file": "lang\\en-us.js", + "line": 938, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.detail.l527.t0", + "file": "lang\\en-us.js", + "line": 939, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.detail.l55.t0", + "file": "lang\\en-us.js", + "line": 940, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.detail.l591.t0", + "file": "lang\\en-us.js", + "line": 941, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.detail.l99.t0", + "file": "lang\\en-us.js", + "line": 942, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.list.l148.t0", + "file": "lang\\en-us.js", + "line": 943, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.list.l160.t0", + "file": "lang\\en-us.js", + "line": 944, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.list.l168.t0", + "file": "lang\\en-us.js", + "line": 945, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.list.l170.t0", + "file": "lang\\en-us.js", + "line": 946, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.list.l172.t0", + "file": "lang\\en-us.js", + "line": 947, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.list.l188.t0", + "file": "lang\\en-us.js", + "line": 948, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.list.l19.t0", + "file": "lang\\en-us.js", + "line": 949, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.list.l203.t0", + "file": "lang\\en-us.js", + "line": 950, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.list.l23.t0", + "file": "lang\\en-us.js", + "line": 951, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.list.l28.t0", + "file": "lang\\en-us.js", + "line": 952, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.list.l40.t0", + "file": "lang\\en-us.js", + "line": 953, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.public.js.cart.l236.t0", + "file": "lang\\en-us.js", + "line": 954, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.public.js.cart.l243.t0", + "file": "lang\\en-us.js", + "line": 955, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.public.js.cart.l243.t1", + "file": "lang\\en-us.js", + "line": 956, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.public.js.cart.l385.t0", + "file": "lang\\en-us.js", + "line": 957, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.public.js.detail.l321.t0", + "file": "lang\\en-us.js", + "line": 958, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.public.js.detail.l323.t0", + "file": "lang\\en-us.js", + "line": 959, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.public.js.detail.l379.t0", + "file": "lang\\en-us.js", + "line": 960, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.public.js.detail.l386.t0", + "file": "lang\\en-us.js", + "line": 961, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.public.js.detail.l392.t0", + "file": "lang\\en-us.js", + "line": 962, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.public.js.detail.l392.t1", + "file": "lang\\en-us.js", + "line": 963, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.public.js.detail.l392.t2", + "file": "lang\\en-us.js", + "line": 964, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.public.js.detail.l395.t0", + "file": "lang\\en-us.js", + "line": 965, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.public.js.list.l126.t0", + "file": "lang\\en-us.js", + "line": 966, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.public.js.list.l126.t1", + "file": "lang\\en-us.js", + "line": 967, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.public.js.list.l126.t2", + "file": "lang\\en-us.js", + "line": 968, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.public.js.list.l365.t0", + "file": "lang\\en-us.js", + "line": 969, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.public.js.list.l371.t0", + "file": "lang\\en-us.js", + "line": 970, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.public.js.list.l378.t0", + "file": "lang\\en-us.js", + "line": 971, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.public.js.list.l384.t0", + "file": "lang\\en-us.js", + "line": 972, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.public.js.list.l78.t0", + "file": "lang\\en-us.js", + "line": 973, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "help.list.l73.t0", + "file": "lang\\en-us.js", + "line": 980, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "help.list.l81.t0", + "file": "lang\\en-us.js", + "line": 981, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "help.list.l9.t0", + "file": "lang\\en-us.js", + "line": 982, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "login.find.l100.t0", + "file": "lang\\en-us.js", + "line": 1001, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "login.find.l13.t0", + "file": "lang\\en-us.js", + "line": 1002, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "login.find.l169.t0", + "file": "lang\\en-us.js", + "line": 1003, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "login.find.l18.t0", + "file": "lang\\en-us.js", + "line": 1004, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "login.find.l188.t0", + "file": "lang\\en-us.js", + "line": 1005, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "login.find.l19.t0", + "file": "lang\\en-us.js", + "line": 1006, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "login.find.l196.t0", + "file": "lang\\en-us.js", + "line": 1007, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "login.find.l196.t1", + "file": "lang\\en-us.js", + "line": 1008, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "login.find.l200.t0", + "file": "lang\\en-us.js", + "line": 1009, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "login.find.l204.t0", + "file": "lang\\en-us.js", + "line": 1010, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "login.find.l208.t0", + "file": "lang\\en-us.js", + "line": 1011, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "login.find.l212.t0", + "file": "lang\\en-us.js", + "line": 1012, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "login.find.l216.t0", + "file": "lang\\en-us.js", + "line": 1013, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "login.find.l230.t0", + "file": "lang\\en-us.js", + "line": 1014, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "login.find.l286.t0", + "file": "lang\\en-us.js", + "line": 1015, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "login.find.l7.t0", + "file": "lang\\en-us.js", + "line": 1016, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.account.l10.t0", + "file": "lang\\en-us.js", + "line": 1025, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.account.l106.t0", + "file": "lang\\en-us.js", + "line": 1026, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.account.l107.t0", + "file": "lang\\en-us.js", + "line": 1027, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.account.l118.t0", + "file": "lang\\en-us.js", + "line": 1028, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.account.l123.t0", + "file": "lang\\en-us.js", + "line": 1029, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.account.l184.t0", + "file": "lang\\en-us.js", + "line": 1030, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.account.l32.t0", + "file": "lang\\en-us.js", + "line": 1031, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.account.l37.t0", + "file": "lang\\en-us.js", + "line": 1032, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.account.l55.t0", + "file": "lang\\en-us.js", + "line": 1033, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.account_edit.l139.t0", + "file": "lang\\en-us.js", + "line": 1034, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.account_edit.l163.t0", + "file": "lang\\en-us.js", + "line": 1035, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.account_edit.l178.t0", + "file": "lang\\en-us.js", + "line": 1036, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.account_edit.l20.t0", + "file": "lang\\en-us.js", + "line": 1037, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.account_edit.l226.t0", + "file": "lang\\en-us.js", + "line": 1038, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.account_edit.l23.t0", + "file": "lang\\en-us.js", + "line": 1039, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.account_edit.l230.t0", + "file": "lang\\en-us.js", + "line": 1040, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.account_edit.l24.t0", + "file": "lang\\en-us.js", + "line": 1041, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.account_edit.l5.t0", + "file": "lang\\en-us.js", + "line": 1042, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.account_edit.l67.t0", + "file": "lang\\en-us.js", + "line": 1043, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.account_edit.l71.t0", + "file": "lang\\en-us.js", + "line": 1044, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.address.l196.t0", + "file": "lang\\en-us.js", + "line": 1045, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.address.l201.t0", + "file": "lang\\en-us.js", + "line": 1046, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.address.l247.t0", + "file": "lang\\en-us.js", + "line": 1047, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.address.l293.t0", + "file": "lang\\en-us.js", + "line": 1048, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.address.l38.t0", + "file": "lang\\en-us.js", + "line": 1049, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.address.l57.t0", + "file": "lang\\en-us.js", + "line": 1050, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.address_edit.l138.t0", + "file": "lang\\en-us.js", + "line": 1051, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.address_edit.l142.t0", + "file": "lang\\en-us.js", + "line": 1052, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.address_edit.l200.t0", + "file": "lang\\en-us.js", + "line": 1053, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.address_edit.l233.t0", + "file": "lang\\en-us.js", + "line": 1054, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.address_edit.l234.t0", + "file": "lang\\en-us.js", + "line": 1055, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.address_edit.l241.t0", + "file": "lang\\en-us.js", + "line": 1056, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.address_edit.l259.t0", + "file": "lang\\en-us.js", + "line": 1057, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.address_edit.l319.t0", + "file": "lang\\en-us.js", + "line": 1058, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.address_edit.l4.t0", + "file": "lang\\en-us.js", + "line": 1059, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.address_edit.l44.t0", + "file": "lang\\en-us.js", + "line": 1060, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.apply_withdrawal.l109.t0", + "file": "lang\\en-us.js", + "line": 1061, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.apply_withdrawal.l19.t0", + "file": "lang\\en-us.js", + "line": 1062, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.apply_withdrawal.l24.t0", + "file": "lang\\en-us.js", + "line": 1063, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.apply_withdrawal.l34.t0", + "file": "lang\\en-us.js", + "line": 1064, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.apply_withdrawal.l40.t0", + "file": "lang\\en-us.js", + "line": 1065, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.assets.l18.t0", + "file": "lang\\en-us.js", + "line": 1066, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.assets.l22.t0", + "file": "lang\\en-us.js", + "line": 1067, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.assets.l33.t0", + "file": "lang\\en-us.js", + "line": 1068, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.assets.l46.t0", + "file": "lang\\en-us.js", + "line": 1069, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.assets.l5.t0", + "file": "lang\\en-us.js", + "line": 1070, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.assets.l54.t0", + "file": "lang\\en-us.js", + "line": 1071, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.assets.l59.t0", + "file": "lang\\en-us.js", + "line": 1072, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.assets.l63.t0", + "file": "lang\\en-us.js", + "line": 1073, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.assets.l67.t0", + "file": "lang\\en-us.js", + "line": 1074, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.assets.l73.t0", + "file": "lang\\en-us.js", + "line": 1075, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.assets.l74.t0", + "file": "lang\\en-us.js", + "line": 1076, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.assets.l9.t0", + "file": "lang\\en-us.js", + "line": 1077, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.balance.l19.t0", + "file": "lang\\en-us.js", + "line": 1078, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.balance.l24.t0", + "file": "lang\\en-us.js", + "line": 1079, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.balance.l28.t0", + "file": "lang\\en-us.js", + "line": 1080, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.balance.l33.t0", + "file": "lang\\en-us.js", + "line": 1081, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.balance.l49.t0", + "file": "lang\\en-us.js", + "line": 1082, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.balance.l56.t0", + "file": "lang\\en-us.js", + "line": 1083, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.balance_detail.l124.t0", + "file": "lang\\en-us.js", + "line": 1084, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.balance_detail.l46.t0", + "file": "lang\\en-us.js", + "line": 1085, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.balance_detail.l68.t0", + "file": "lang\\en-us.js", + "line": 1086, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.balance_detail.l71.t0", + "file": "lang\\en-us.js", + "line": 1087, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.cancellation.l13.t0", + "file": "lang\\en-us.js", + "line": 1088, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.cancellation.l15.t0", + "file": "lang\\en-us.js", + "line": 1089, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.cancellation.l63.t0", + "file": "lang\\en-us.js", + "line": 1090, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.cancelrefuse.l5.t0", + "file": "lang\\en-us.js", + "line": 1091, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.cancelrefuse.l6.t0", + "file": "lang\\en-us.js", + "line": 1092, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.cancelrefuse.l8.t0", + "file": "lang\\en-us.js", + "line": 1093, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.cancelstatus.l16.t0", + "file": "lang\\en-us.js", + "line": 1094, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.cancelstatus.l17.t0", + "file": "lang\\en-us.js", + "line": 1095, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.cancelstatus.l26.t0", + "file": "lang\\en-us.js", + "line": 1096, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.cancelstatus.l27.t0", + "file": "lang\\en-us.js", + "line": 1097, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.cancelstatus.l33.t0", + "file": "lang\\en-us.js", + "line": 1098, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.cancelstatus.l8.t0", + "file": "lang\\en-us.js", + "line": 1099, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.cancelstatus.l84.t0", + "file": "lang\\en-us.js", + "line": 1100, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.cancelstatus.l85.t0", + "file": "lang\\en-us.js", + "line": 1101, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.cancelstatus.l9.t0", + "file": "lang\\en-us.js", + "line": 1102, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.cancelsuccess.l7.t0", + "file": "lang\\en-us.js", + "line": 1103, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.cancelsuccess.l8.t0", + "file": "lang\\en-us.js", + "line": 1104, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.card.l104.t0", + "file": "lang\\en-us.js", + "line": 1105, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.card.l174.t0", + "file": "lang\\en-us.js", + "line": 1106, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.card.l25.t0", + "file": "lang\\en-us.js", + "line": 1107, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.card.l31.t0", + "file": "lang\\en-us.js", + "line": 1108, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.card.l42.t0", + "file": "lang\\en-us.js", + "line": 1109, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.card.l52.t0", + "file": "lang\\en-us.js", + "line": 1110, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.card.l53.t0", + "file": "lang\\en-us.js", + "line": 1111, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.card.l57.t0", + "file": "lang\\en-us.js", + "line": 1112, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.card.l58.t0", + "file": "lang\\en-us.js", + "line": 1113, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.card.l62.t0", + "file": "lang\\en-us.js", + "line": 1114, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.card.l63.t0", + "file": "lang\\en-us.js", + "line": 1115, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.card.l72.t0", + "file": "lang\\en-us.js", + "line": 1116, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.card.l81.t0", + "file": "lang\\en-us.js", + "line": 1117, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.card.l82.t0", + "file": "lang\\en-us.js", + "line": 1118, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.card.l86.t0", + "file": "lang\\en-us.js", + "line": 1119, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.card.l91.t0", + "file": "lang\\en-us.js", + "line": 1120, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.card_buy.l175.t0", + "file": "lang\\en-us.js", + "line": 1121, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.card_buy.l214.t0", + "file": "lang\\en-us.js", + "line": 1122, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.card_buy.l353.t0", + "file": "lang\\en-us.js", + "line": 1123, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.card_buy.l81.t0", + "file": "lang\\en-us.js", + "line": 1124, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.collection.l33.t0", + "file": "lang\\en-us.js", + "line": 1125, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.collection.l33.t1", + "file": "lang\\en-us.js", + "line": 1126, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.coupon.l45.t0", + "file": "lang\\en-us.js", + "line": 1127, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.coupon.l5.t0", + "file": "lang\\en-us.js", + "line": 1128, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.coupon.l6.t0", + "file": "lang\\en-us.js", + "line": 1129, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.footprint.l137.t0", + "file": "lang\\en-us.js", + "line": 1130, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.footprint.l4.t0", + "file": "lang\\en-us.js", + "line": 1131, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.footprint.l49.t0", + "file": "lang\\en-us.js", + "line": 1132, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.footprint.l49.t1", + "file": "lang\\en-us.js", + "line": 1133, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.footprint.l57.t0", + "file": "lang\\en-us.js", + "line": 1134, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.footprint.l59.t0", + "file": "lang\\en-us.js", + "line": 1135, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.info.l101.t0", + "file": "lang\\en-us.js", + "line": 1136, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.info.l14.t0", + "file": "lang\\en-us.js", + "line": 1137, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.info.l37.t0", + "file": "lang\\en-us.js", + "line": 1138, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.info.l43.t0", + "file": "lang\\en-us.js", + "line": 1139, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.info.l50.t0", + "file": "lang\\en-us.js", + "line": 1140, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.info.l66.t0", + "file": "lang\\en-us.js", + "line": 1141, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.info.l75.t0", + "file": "lang\\en-us.js", + "line": 1142, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.info.l83.t0", + "file": "lang\\en-us.js", + "line": 1143, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.info_edit.l10.t0", + "file": "lang\\en-us.js", + "line": 1144, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.info_edit.l120.t0", + "file": "lang\\en-us.js", + "line": 1145, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.info_edit.l131.t0", + "file": "lang\\en-us.js", + "line": 1146, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.info_edit.l134.t0", + "file": "lang\\en-us.js", + "line": 1147, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.info_edit.l139.t0", + "file": "lang\\en-us.js", + "line": 1148, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.info_edit.l147.t0", + "file": "lang\\en-us.js", + "line": 1149, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.info_edit.l57.t0", + "file": "lang\\en-us.js", + "line": 1150, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.info_edit.l7.t0", + "file": "lang\\en-us.js", + "line": 1151, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.info_edit.l71.t0", + "file": "lang\\en-us.js", + "line": 1152, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.info_edit.l72.t0", + "file": "lang\\en-us.js", + "line": 1153, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.info_edit.l77.t0", + "file": "lang\\en-us.js", + "line": 1154, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.info_edit.l82.t0", + "file": "lang\\en-us.js", + "line": 1155, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.info_edit.l87.t0", + "file": "lang\\en-us.js", + "line": 1156, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.invite_friends.l126.t0", + "file": "lang\\en-us.js", + "line": 1157, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.invite_friends.l133.t0", + "file": "lang\\en-us.js", + "line": 1158, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.invite_friends.l142.t0", + "file": "lang\\en-us.js", + "line": 1159, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.invite_friends.l151.t0", + "file": "lang\\en-us.js", + "line": 1160, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.invite_friends.l17.t0", + "file": "lang\\en-us.js", + "line": 1161, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.invite_friends.l20.t0", + "file": "lang\\en-us.js", + "line": 1162, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.invite_friends.l217.t0", + "file": "lang\\en-us.js", + "line": 1163, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.invite_friends.l50.t0", + "file": "lang\\en-us.js", + "line": 1164, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.invite_friends.l55.t0", + "file": "lang\\en-us.js", + "line": 1165, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.invite_friends.l56.t0", + "file": "lang\\en-us.js", + "line": 1166, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.invite_friends.l61.t0", + "file": "lang\\en-us.js", + "line": 1167, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.invite_friends.l71.t0", + "file": "lang\\en-us.js", + "line": 1168, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.invite_friends.l98.t0", + "file": "lang\\en-us.js", + "line": 1169, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.level.l100.t0", + "file": "lang\\en-us.js", + "line": 1170, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.level.l106.t0", + "file": "lang\\en-us.js", + "line": 1171, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.level.l113.t0", + "file": "lang\\en-us.js", + "line": 1172, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.level.l12.t0", + "file": "lang\\en-us.js", + "line": 1173, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.level.l268.t0", + "file": "lang\\en-us.js", + "line": 1174, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.level.l57.t0", + "file": "lang\\en-us.js", + "line": 1175, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.level.l59.t0", + "file": "lang\\en-us.js", + "line": 1176, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.level.l72.t0", + "file": "lang\\en-us.js", + "line": 1177, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.level.l91.t0", + "file": "lang\\en-us.js", + "line": 1178, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.level.l92.t0", + "file": "lang\\en-us.js", + "line": 1179, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.level.l98.t0", + "file": "lang\\en-us.js", + "line": 1180, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.level.l99.t0", + "file": "lang\\en-us.js", + "line": 1181, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.level_growth_rules.l23.t0", + "file": "lang\\en-us.js", + "line": 1182, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.level_growth_rules.l25.t0", + "file": "lang\\en-us.js", + "line": 1183, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.level_growth_rules.l30.t0", + "file": "lang\\en-us.js", + "line": 1184, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.level_growth_rules.l33.t0", + "file": "lang\\en-us.js", + "line": 1185, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.level_growth_rules.l34.t0", + "file": "lang\\en-us.js", + "line": 1186, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.level_growth_rules.l35.t0", + "file": "lang\\en-us.js", + "line": 1187, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.level_growth_rules.l36.t0", + "file": "lang\\en-us.js", + "line": 1188, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.modify_face.l117.t0", + "file": "lang\\en-us.js", + "line": 1189, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.modify_face.l14.t0", + "file": "lang\\en-us.js", + "line": 1190, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.modify_face.l22.t0", + "file": "lang\\en-us.js", + "line": 1191, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.modify_face.l23.t0", + "file": "lang\\en-us.js", + "line": 1192, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.modify_face.l95.t0", + "file": "lang\\en-us.js", + "line": 1193, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.pay_password.l10.t0", + "file": "lang\\en-us.js", + "line": 1194, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.pay_password.l11.t0", + "file": "lang\\en-us.js", + "line": 1195, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.pay_password.l12.t0", + "file": "lang\\en-us.js", + "line": 1196, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.pay_password.l152.t0", + "file": "lang\\en-us.js", + "line": 1197, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.pay_password.l3.t0", + "file": "lang\\en-us.js", + "line": 1198, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.pay_password.l37.t0", + "file": "lang\\en-us.js", + "line": 1199, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.pay_password.l4.t0", + "file": "lang\\en-us.js", + "line": 1200, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.pay_password.l52.t0", + "file": "lang\\en-us.js", + "line": 1201, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.point.l20.t0", + "file": "lang\\en-us.js", + "line": 1202, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.point.l24.t0", + "file": "lang\\en-us.js", + "line": 1203, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.point.l28.t0", + "file": "lang\\en-us.js", + "line": 1204, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.point.l32.t0", + "file": "lang\\en-us.js", + "line": 1205, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.point.l48.t0", + "file": "lang\\en-us.js", + "line": 1206, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.point.l53.t0", + "file": "lang\\en-us.js", + "line": 1207, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.point.l57.t0", + "file": "lang\\en-us.js", + "line": 1208, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.point.l58.t0", + "file": "lang\\en-us.js", + "line": 1209, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.point.l60.t0", + "file": "lang\\en-us.js", + "line": 1210, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.point.l65.t0", + "file": "lang\\en-us.js", + "line": 1211, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.point.l66.t0", + "file": "lang\\en-us.js", + "line": 1212, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.point.l68.t0", + "file": "lang\\en-us.js", + "line": 1213, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.public.js.info.l157.t0", + "file": "lang\\en-us.js", + "line": 1214, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.public.js.info.l404.t0", + "file": "lang\\en-us.js", + "line": 1215, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.public.js.info.l411.t0", + "file": "lang\\en-us.js", + "line": 1216, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.public.js.info.l579.t0", + "file": "lang\\en-us.js", + "line": 1217, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.public.js.info.l58.t0", + "file": "lang\\en-us.js", + "line": 1218, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.public.js.info.l612.t0", + "file": "lang\\en-us.js", + "line": 1219, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.public.js.info.l62.t0", + "file": "lang\\en-us.js", + "line": 1220, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.public.js.info.l67.t0", + "file": "lang\\en-us.js", + "line": 1221, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.public.js.info.l726.t0", + "file": "lang\\en-us.js", + "line": 1222, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.public.js.info.l744.t0", + "file": "lang\\en-us.js", + "line": 1223, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.public.js.info.l869.t0", + "file": "lang\\en-us.js", + "line": 1224, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.public.js.info.l874.t0", + "file": "lang\\en-us.js", + "line": 1225, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.public.js.signin.l201.t0", + "file": "lang\\en-us.js", + "line": 1227, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.public.js.signin.l236.t0", + "file": "lang\\en-us.js", + "line": 1228, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.public.js.signin.l237.t0", + "file": "lang\\en-us.js", + "line": 1229, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.public.js.signin.l268.t0", + "file": "lang\\en-us.js", + "line": 1230, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.public.js.signin.l31.t0", + "file": "lang\\en-us.js", + "line": 1231, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.detail.l102.t0", + "file": "lang\\en-us.js", + "line": 1236, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.detail.l31.t0", + "file": "lang\\en-us.js", + "line": 1237, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.detail.l35.t0", + "file": "lang\\en-us.js", + "line": 1238, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.detail.l35.t1", + "file": "lang\\en-us.js", + "line": 1239, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.detail.l7.t0", + "file": "lang\\en-us.js", + "line": 1240, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.merchcategory.l83.t0", + "file": "lang\\en-us.js", + "line": 1241, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.merchcategory.l87.t0", + "file": "lang\\en-us.js", + "line": 1242, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l103.t0", + "file": "lang\\en-us.js", + "line": 1243, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l126.t0", + "file": "lang\\en-us.js", + "line": 1244, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l133.t0", + "file": "lang\\en-us.js", + "line": 1245, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l170.t0", + "file": "lang\\en-us.js", + "line": 1246, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l496.t0", + "file": "lang\\en-us.js", + "line": 1247, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l533.t0", + "file": "lang\\en-us.js", + "line": 1248, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l56.t0", + "file": "lang\\en-us.js", + "line": 1249, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l56.t1", + "file": "lang\\en-us.js", + "line": 1250, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l578.t0", + "file": "lang\\en-us.js", + "line": 1251, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l58.t0", + "file": "lang\\en-us.js", + "line": 1252, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l58.t1", + "file": "lang\\en-us.js", + "line": 1253, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l58.t2", + "file": "lang\\en-us.js", + "line": 1254, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l58.t3", + "file": "lang\\en-us.js", + "line": 1255, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l585.t0", + "file": "lang\\en-us.js", + "line": 1256, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l63.t0", + "file": "lang\\en-us.js", + "line": 1257, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l635.t0", + "file": "lang\\en-us.js", + "line": 1258, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l641.t0", + "file": "lang\\en-us.js", + "line": 1259, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l648.t0", + "file": "lang\\en-us.js", + "line": 1260, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l658.t0", + "file": "lang\\en-us.js", + "line": 1261, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l665.t0", + "file": "lang\\en-us.js", + "line": 1262, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l67.t0", + "file": "lang\\en-us.js", + "line": 1263, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l671.t0", + "file": "lang\\en-us.js", + "line": 1264, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l677.t0", + "file": "lang\\en-us.js", + "line": 1265, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l71.t0", + "file": "lang\\en-us.js", + "line": 1266, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l81.t0", + "file": "lang\\en-us.js", + "line": 1267, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l85.t0", + "file": "lang\\en-us.js", + "line": 1268, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l908.t0", + "file": "lang\\en-us.js", + "line": 1269, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l929.t0", + "file": "lang\\en-us.js", + "line": 1270, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l93.t0", + "file": "lang\\en-us.js", + "line": 1271, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l93.t1", + "file": "lang\\en-us.js", + "line": 1272, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l96.t0", + "file": "lang\\en-us.js", + "line": 1273, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l99.t0", + "file": "lang\\en-us.js", + "line": 1274, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.js.list.l80.t0", + "file": "lang\\en-us.js", + "line": 1275, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "notice.detail.l87.t0", + "file": "lang\\en-us.js", + "line": 1286, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "notice.list.l10.t0", + "file": "lang\\en-us.js", + "line": 1287, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "notice.list.l18.t0", + "file": "lang\\en-us.js", + "line": 1288, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l106.t0", + "file": "lang\\en-us.js", + "line": 1359, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l109.t0", + "file": "lang\\en-us.js", + "line": 1360, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l16.t0", + "file": "lang\\en-us.js", + "line": 1361, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l192.t0", + "file": "lang\\en-us.js", + "line": 1362, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l192.t1", + "file": "lang\\en-us.js", + "line": 1363, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l198.t0", + "file": "lang\\en-us.js", + "line": 1364, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l198.t1", + "file": "lang\\en-us.js", + "line": 1365, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l208.t0", + "file": "lang\\en-us.js", + "line": 1366, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l214.t0", + "file": "lang\\en-us.js", + "line": 1367, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l221.t0", + "file": "lang\\en-us.js", + "line": 1368, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l227.t0", + "file": "lang\\en-us.js", + "line": 1369, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l233.t0", + "file": "lang\\en-us.js", + "line": 1370, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l241.t0", + "file": "lang\\en-us.js", + "line": 1371, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l247.t0", + "file": "lang\\en-us.js", + "line": 1372, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l254.t0", + "file": "lang\\en-us.js", + "line": 1373, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l260.t0", + "file": "lang\\en-us.js", + "line": 1374, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l266.t0", + "file": "lang\\en-us.js", + "line": 1375, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l274.t0", + "file": "lang\\en-us.js", + "line": 1376, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l276.t0", + "file": "lang\\en-us.js", + "line": 1377, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l276.t1", + "file": "lang\\en-us.js", + "line": 1378, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l280.t0", + "file": "lang\\en-us.js", + "line": 1379, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l282.t0", + "file": "lang\\en-us.js", + "line": 1380, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l282.t1", + "file": "lang\\en-us.js", + "line": 1381, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l286.t0", + "file": "lang\\en-us.js", + "line": 1382, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l293.t0", + "file": "lang\\en-us.js", + "line": 1383, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l299.t0", + "file": "lang\\en-us.js", + "line": 1384, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l305.t0", + "file": "lang\\en-us.js", + "line": 1385, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l329.t0", + "file": "lang\\en-us.js", + "line": 1386, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l350.t0", + "file": "lang\\en-us.js", + "line": 1387, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l360.t0", + "file": "lang\\en-us.js", + "line": 1388, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l362.t0", + "file": "lang\\en-us.js", + "line": 1389, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l37.t0", + "file": "lang\\en-us.js", + "line": 1390, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l372.t0", + "file": "lang\\en-us.js", + "line": 1391, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l376.t0", + "file": "lang\\en-us.js", + "line": 1392, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l382.t0", + "file": "lang\\en-us.js", + "line": 1393, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l387.t0", + "file": "lang\\en-us.js", + "line": 1394, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l393.t0", + "file": "lang\\en-us.js", + "line": 1395, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l400.t0", + "file": "lang\\en-us.js", + "line": 1396, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l406.t0", + "file": "lang\\en-us.js", + "line": 1397, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l409.t0", + "file": "lang\\en-us.js", + "line": 1398, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l416.t0", + "file": "lang\\en-us.js", + "line": 1399, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l42.t0", + "file": "lang\\en-us.js", + "line": 1400, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l47.t0", + "file": "lang\\en-us.js", + "line": 1401, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l51.t0", + "file": "lang\\en-us.js", + "line": 1402, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l537.t0", + "file": "lang\\en-us.js", + "line": 1403, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l568.t0", + "file": "lang\\en-us.js", + "line": 1404, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l589.t0", + "file": "lang\\en-us.js", + "line": 1405, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l601.t0", + "file": "lang\\en-us.js", + "line": 1406, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l602.t0", + "file": "lang\\en-us.js", + "line": 1407, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l737.t0", + "file": "lang\\en-us.js", + "line": 1408, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l84.t0", + "file": "lang\\en-us.js", + "line": 1409, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail_point.l126.t0", + "file": "lang\\en-us.js", + "line": 1410, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail_point.l128.t0", + "file": "lang\\en-us.js", + "line": 1411, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail_point.l14.t0", + "file": "lang\\en-us.js", + "line": 1412, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail_point.l14.t1", + "file": "lang\\en-us.js", + "line": 1413, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail_point.l15.t0", + "file": "lang\\en-us.js", + "line": 1414, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail_point.l225.t0", + "file": "lang\\en-us.js", + "line": 1415, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail_point.l236.t0", + "file": "lang\\en-us.js", + "line": 1416, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail_point.l99.t0", + "file": "lang\\en-us.js", + "line": 1417, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.list.l141.t0", + "file": "lang\\en-us.js", + "line": 1418, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.list.l152.t0", + "file": "lang\\en-us.js", + "line": 1419, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.list.l297.t0", + "file": "lang\\en-us.js", + "line": 1420, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.list.l302.t0", + "file": "lang\\en-us.js", + "line": 1421, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.list.l307.t0", + "file": "lang\\en-us.js", + "line": 1422, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.list.l317.t0", + "file": "lang\\en-us.js", + "line": 1423, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.list.l35.t0", + "file": "lang\\en-us.js", + "line": 1424, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.list.l6.t0", + "file": "lang\\en-us.js", + "line": 1425, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.list.l74.t0", + "file": "lang\\en-us.js", + "line": 1426, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.payment.l37.t0", + "file": "lang\\en-us.js", + "line": 1427, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.payment.l48.t0", + "file": "lang\\en-us.js", + "line": 1428, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.payment.l66.t0", + "file": "lang\\en-us.js", + "line": 1429, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.payment.l73.t0", + "file": "lang\\en-us.js", + "line": 1430, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.public.js.orderMethod.l13.t0", + "file": "lang\\en-us.js", + "line": 1431, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.public.js.orderMethod.l13.t1", + "file": "lang\\en-us.js", + "line": 1432, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.public.js.orderMethod.l176.t0", + "file": "lang\\en-us.js", + "line": 1433, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.public.js.orderMethod.l47.t0", + "file": "lang\\en-us.js", + "line": 1434, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.public.js.orderMethod.l60.t0", + "file": "lang\\en-us.js", + "line": 1435, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.public.js.orderMethod.l61.t0", + "file": "lang\\en-us.js", + "line": 1436, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.public.js.orderMethod.l81.t0", + "file": "lang\\en-us.js", + "line": 1437, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.public.js.refundMethod.l10.t0", + "file": "lang\\en-us.js", + "line": 1438, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.public.js.refundMethod.l11.t0", + "file": "lang\\en-us.js", + "line": 1439, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "page.index.l108.t0", + "file": "lang\\en-us.js", + "line": 1442, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "page.index.l115.t0", + "file": "lang\\en-us.js", + "line": 1443, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "page.index.l119.t0", + "file": "lang\\en-us.js", + "line": 1444, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "page.index.l130.t0", + "file": "lang\\en-us.js", + "line": 1445, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "page.index.l133.t0", + "file": "lang\\en-us.js", + "line": 1446, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "page.index.l16.t0", + "file": "lang\\en-us.js", + "line": 1447, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "page.index.l47.t0", + "file": "lang\\en-us.js", + "line": 1448, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "page.index.l89.t0", + "file": "lang\\en-us.js", + "line": 1449, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "page.index.public.js.index.l121.t0", + "file": "lang\\en-us.js", + "line": 1450, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "page.index.public.js.index.l122.t0", + "file": "lang\\en-us.js", + "line": 1451, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "page.index.public.js.index.l126.t0", + "file": "lang\\en-us.js", + "line": 1452, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.detail.l129.t0", + "file": "lang\\en-us.js", + "line": 1465, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.detail.l144.t0", + "file": "lang\\en-us.js", + "line": 1466, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.detail.l187.t0", + "file": "lang\\en-us.js", + "line": 1467, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.detail.l195.t0", + "file": "lang\\en-us.js", + "line": 1468, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.detail.l208.t0", + "file": "lang\\en-us.js", + "line": 1469, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.detail.l213.t0", + "file": "lang\\en-us.js", + "line": 1470, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.detail.l296.t0", + "file": "lang\\en-us.js", + "line": 1471, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.detail.l296.t1", + "file": "lang\\en-us.js", + "line": 1472, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.detail.l77.t0", + "file": "lang\\en-us.js", + "line": 1473, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.detail.l77.t1", + "file": "lang\\en-us.js", + "line": 1474, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.detail.l78.t0", + "file": "lang\\en-us.js", + "line": 1475, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.goods_list.l29.t0", + "file": "lang\\en-us.js", + "line": 1476, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.goods_list.l79.t0", + "file": "lang\\en-us.js", + "line": 1477, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.goods_list.l99.t0", + "file": "lang\\en-us.js", + "line": 1478, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.list.l125.t0", + "file": "lang\\en-us.js", + "line": 1479, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.list.l128.t0", + "file": "lang\\en-us.js", + "line": 1480, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.list.l13.t0", + "file": "lang\\en-us.js", + "line": 1481, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.list.l148.t0", + "file": "lang\\en-us.js", + "line": 1482, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.list.l181.t0", + "file": "lang\\en-us.js", + "line": 1483, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.list.l234.t0", + "file": "lang\\en-us.js", + "line": 1484, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.list.l239.t0", + "file": "lang\\en-us.js", + "line": 1485, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.list.l240.t0", + "file": "lang\\en-us.js", + "line": 1486, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.list.l241.t0", + "file": "lang\\en-us.js", + "line": 1487, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.list.l242.t0", + "file": "lang\\en-us.js", + "line": 1488, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.list.l243.t0", + "file": "lang\\en-us.js", + "line": 1489, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.list.l244.t0", + "file": "lang\\en-us.js", + "line": 1490, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.list.l245.t0", + "file": "lang\\en-us.js", + "line": 1491, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.list.l246.t0", + "file": "lang\\en-us.js", + "line": 1492, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.list.l247.t0", + "file": "lang\\en-us.js", + "line": 1493, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.list.l276.t0", + "file": "lang\\en-us.js", + "line": 1494, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.list.l305.t0", + "file": "lang\\en-us.js", + "line": 1495, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.list.l31.t0", + "file": "lang\\en-us.js", + "line": 1496, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.list.l40.t0", + "file": "lang\\en-us.js", + "line": 1497, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.list.l41.t0", + "file": "lang\\en-us.js", + "line": 1498, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.list.l50.t0", + "file": "lang\\en-us.js", + "line": 1499, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.list.l55.t0", + "file": "lang\\en-us.js", + "line": 1500, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.list.l583.t0", + "file": "lang\\en-us.js", + "line": 1501, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.list.l59.t0", + "file": "lang\\en-us.js", + "line": 1502, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.list.l63.t0", + "file": "lang\\en-us.js", + "line": 1503, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.list.l67.t0", + "file": "lang\\en-us.js", + "line": 1504, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.list.l84.t0", + "file": "lang\\en-us.js", + "line": 1505, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.list.l86.t0", + "file": "lang\\en-us.js", + "line": 1506, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.list.l94.t0", + "file": "lang\\en-us.js", + "line": 1507, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.order_list.l85.t0", + "file": "lang\\en-us.js", + "line": 1508, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.payment.l133.t0", + "file": "lang\\en-us.js", + "line": 1509, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.payment.l217.t0", + "file": "lang\\en-us.js", + "line": 1510, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.public.js.payment.l283.t0", + "file": "lang\\en-us.js", + "line": 1511, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.public.js.payment.l285.t0", + "file": "lang\\en-us.js", + "line": 1512, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.public.js.payment.l318.t0", + "file": "lang\\en-us.js", + "line": 1513, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.public.js.payment.l356.t0", + "file": "lang\\en-us.js", + "line": 1514, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.public.js.payment.l363.t0", + "file": "lang\\en-us.js", + "line": 1515, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.public.js.payment.l378.t0", + "file": "lang\\en-us.js", + "line": 1516, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.public.js.payment.l95.t0", + "file": "lang\\en-us.js", + "line": 1517, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "seal.medium.detail.l17.t0", + "file": "lang\\en-us.js", + "line": 1532, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "seal.medium.detail.l18.t0", + "file": "lang\\en-us.js", + "line": 1533, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "seal.medium.detail.l29.t0", + "file": "lang\\en-us.js", + "line": 1534, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "seal.medium.search.l6.t0", + "file": "lang\\en-us.js", + "line": 1535, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "seal.structure.l12.t0", + "file": "lang\\en-us.js", + "line": 1536, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "seal.structure.l23.t0", + "file": "lang\\en-us.js", + "line": 1537, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "seal.structure.l6.t0", + "file": "lang\\en-us.js", + "line": 1538, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.agreement.contenr.l11.t0", + "file": "lang\\en-us.js", + "line": 1568, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.agreement.contenr.l12.t0", + "file": "lang\\en-us.js", + "line": 1569, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.agreement.contenr.l13.t0", + "file": "lang\\en-us.js", + "line": 1570, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.cases.index.l143.t0", + "file": "lang\\en-us.js", + "line": 1571, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.cases.index.l167.t0", + "file": "lang\\en-us.js", + "line": 1572, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.cases.index.l22.t0", + "file": "lang\\en-us.js", + "line": 1573, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.cases.index.l31.t0", + "file": "lang\\en-us.js", + "line": 1574, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.cases.index.l47.t0", + "file": "lang\\en-us.js", + "line": 1575, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.cases.index.l56.t0", + "file": "lang\\en-us.js", + "line": 1576, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.cases.index.l60.t0", + "file": "lang\\en-us.js", + "line": 1577, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.cases.index.l62.t0", + "file": "lang\\en-us.js", + "line": 1578, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.cases.index.l66.t0", + "file": "lang\\en-us.js", + "line": 1579, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.cases.index.l68.t0", + "file": "lang\\en-us.js", + "line": 1580, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.files.list.l32.t0", + "file": "lang\\en-us.js", + "line": 1583, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.files.list.l5.t0", + "file": "lang\\en-us.js", + "line": 1584, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.form.formdata.l72.t0", + "file": "lang\\en-us.js", + "line": 1585, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.form.l8.t0", + "file": "lang\\en-us.js", + "line": 1586, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.brand.l14.t0", + "file": "lang\\en-us.js", + "line": 1587, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.brand.l79.t0", + "file": "lang\\en-us.js", + "line": 1588, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.coupon.l10.t0", + "file": "lang\\en-us.js", + "line": 1589, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.coupon.l102.t0", + "file": "lang\\en-us.js", + "line": 1590, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.coupon.l11.t0", + "file": "lang\\en-us.js", + "line": 1591, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.coupon.l44.t0", + "file": "lang\\en-us.js", + "line": 1592, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.coupon.l45.t0", + "file": "lang\\en-us.js", + "line": 1593, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.coupon.l52.t0", + "file": "lang\\en-us.js", + "line": 1594, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.coupon.l52.t1", + "file": "lang\\en-us.js", + "line": 1595, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.coupon.l65.t0", + "file": "lang\\en-us.js", + "line": 1596, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.coupon.l66.t0", + "file": "lang\\en-us.js", + "line": 1597, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.coupon.l70.t0", + "file": "lang\\en-us.js", + "line": 1598, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.coupon.l8.t0", + "file": "lang\\en-us.js", + "line": 1599, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.coupon_receive.l13.t0", + "file": "lang\\en-us.js", + "line": 1600, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.coupon_receive.l186.t0", + "file": "lang\\en-us.js", + "line": 1601, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.coupon_receive.l189.t0", + "file": "lang\\en-us.js", + "line": 1602, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.coupon_receive.l192.t0", + "file": "lang\\en-us.js", + "line": 1603, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.coupon_receive.l195.t0", + "file": "lang\\en-us.js", + "line": 1604, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.coupon_receive.l207.t0", + "file": "lang\\en-us.js", + "line": 1605, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.coupon_receive.l207.t1", + "file": "lang\\en-us.js", + "line": 1606, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.coupon_receive.l212.t0", + "file": "lang\\en-us.js", + "line": 1607, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.coupon_receive.l247.t0", + "file": "lang\\en-us.js", + "line": 1608, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.coupon_receive.l249.t0", + "file": "lang\\en-us.js", + "line": 1609, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.coupon_receive.l27.t0", + "file": "lang\\en-us.js", + "line": 1610, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.evaluate.l47.t0", + "file": "lang\\en-us.js", + "line": 1611, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.evaluate.l52.t0", + "file": "lang\\en-us.js", + "line": 1612, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.evaluate.l69.t0", + "file": "lang\\en-us.js", + "line": 1613, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.evaluate.l82.t0", + "file": "lang\\en-us.js", + "line": 1614, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.evaluate.l82.t1", + "file": "lang\\en-us.js", + "line": 1615, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.evaluate.l82.t2", + "file": "lang\\en-us.js", + "line": 1616, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.not_exist.l5.t0", + "file": "lang\\en-us.js", + "line": 1617, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.search.l15.t0", + "file": "lang\\en-us.js", + "line": 1618, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.search.l165.t0", + "file": "lang\\en-us.js", + "line": 1619, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.search.l33.t0", + "file": "lang\\en-us.js", + "line": 1620, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.search.l86.t0", + "file": "lang\\en-us.js", + "line": 1621, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.search.l99.t0", + "file": "lang\\en-us.js", + "line": 1622, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.activist.l10.t0", + "file": "lang\\en-us.js", + "line": 1623, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.activist.l115.t0", + "file": "lang\\en-us.js", + "line": 1624, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.activist.l12.t0", + "file": "lang\\en-us.js", + "line": 1625, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.activist.l30.t0", + "file": "lang\\en-us.js", + "line": 1626, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.evaluate.l16.t0", + "file": "lang\\en-us.js", + "line": 1627, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.evaluate.l42.t0", + "file": "lang\\en-us.js", + "line": 1628, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.evaluate.l47.t0", + "file": "lang\\en-us.js", + "line": 1629, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.evaluate.l72.t0", + "file": "lang\\en-us.js", + "line": 1630, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.logistics.l37.t0", + "file": "lang\\en-us.js", + "line": 1631, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.public.js.evaluate.l160.t0", + "file": "lang\\en-us.js", + "line": 1632, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.public.js.evaluate.l168.t0", + "file": "lang\\en-us.js", + "line": 1633, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.public.js.evaluate.l200.t0", + "file": "lang\\en-us.js", + "line": 1634, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.public.js.evaluate.l90.t0", + "file": "lang\\en-us.js", + "line": 1635, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund.l17.t0", + "file": "lang\\en-us.js", + "line": 1636, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund.l175.t0", + "file": "lang\\en-us.js", + "line": 1637, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund.l18.t0", + "file": "lang\\en-us.js", + "line": 1638, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund.l24.t0", + "file": "lang\\en-us.js", + "line": 1639, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund.l242.t0", + "file": "lang\\en-us.js", + "line": 1640, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund.l25.t0", + "file": "lang\\en-us.js", + "line": 1641, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund.l34.t0", + "file": "lang\\en-us.js", + "line": 1642, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund.l42.t0", + "file": "lang\\en-us.js", + "line": 1643, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund.l48.t0", + "file": "lang\\en-us.js", + "line": 1644, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund.l54.t0", + "file": "lang\\en-us.js", + "line": 1645, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund.l81.t0", + "file": "lang\\en-us.js", + "line": 1646, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_batch.l26.t0", + "file": "lang\\en-us.js", + "line": 1647, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_detail.l10.t0", + "file": "lang\\en-us.js", + "line": 1648, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_detail.l100.t0", + "file": "lang\\en-us.js", + "line": 1649, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_detail.l106.t0", + "file": "lang\\en-us.js", + "line": 1650, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_detail.l121.t0", + "file": "lang\\en-us.js", + "line": 1651, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_detail.l121.t1", + "file": "lang\\en-us.js", + "line": 1652, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_detail.l13.t0", + "file": "lang\\en-us.js", + "line": 1653, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_detail.l139.t0", + "file": "lang\\en-us.js", + "line": 1654, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_detail.l14.t0", + "file": "lang\\en-us.js", + "line": 1655, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_detail.l19.t0", + "file": "lang\\en-us.js", + "line": 1656, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_detail.l24.t0", + "file": "lang\\en-us.js", + "line": 1657, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_detail.l26.t0", + "file": "lang\\en-us.js", + "line": 1658, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_detail.l29.t0", + "file": "lang\\en-us.js", + "line": 1659, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_detail.l32.t0", + "file": "lang\\en-us.js", + "line": 1660, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_detail.l38.t0", + "file": "lang\\en-us.js", + "line": 1661, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_detail.l51.t0", + "file": "lang\\en-us.js", + "line": 1662, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_detail.l51.t1", + "file": "lang\\en-us.js", + "line": 1663, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_detail.l52.t0", + "file": "lang\\en-us.js", + "line": 1664, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_detail.l52.t1", + "file": "lang\\en-us.js", + "line": 1665, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_detail.l52.t2", + "file": "lang\\en-us.js", + "line": 1666, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_detail.l52.t3", + "file": "lang\\en-us.js", + "line": 1667, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_detail.l56.t0", + "file": "lang\\en-us.js", + "line": 1668, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_detail.l57.t0", + "file": "lang\\en-us.js", + "line": 1669, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_detail.l58.t0", + "file": "lang\\en-us.js", + "line": 1670, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_detail.l59.t0", + "file": "lang\\en-us.js", + "line": 1671, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_detail.l60.t0", + "file": "lang\\en-us.js", + "line": 1672, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_detail.l76.t0", + "file": "lang\\en-us.js", + "line": 1673, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_detail.l8.t0", + "file": "lang\\en-us.js", + "line": 1674, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_detail.l80.t0", + "file": "lang\\en-us.js", + "line": 1675, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_detail.l88.t0", + "file": "lang\\en-us.js", + "line": 1676, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_detail.l9.t0", + "file": "lang\\en-us.js", + "line": 1677, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_detail.l92.t0", + "file": "lang\\en-us.js", + "line": 1678, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_goods_select.l28.t0", + "file": "lang\\en-us.js", + "line": 1679, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_goods_select.l53.t0", + "file": "lang\\en-us.js", + "line": 1680, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.pay.cashier.l23.t0", + "file": "lang\\en-us.js", + "line": 1681, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.pay.cashier.l25.t0", + "file": "lang\\en-us.js", + "line": 1682, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.pay.cashier.l27.t0", + "file": "lang\\en-us.js", + "line": 1683, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.pay.result.l21.t0", + "file": "lang\\en-us.js", + "line": 1684, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.pay.result.l37.t0", + "file": "lang\\en-us.js", + "line": 1685, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.pay.result.l46.t0", + "file": "lang\\en-us.js", + "line": 1686, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.pay.wx_pay.l6.t0", + "file": "lang\\en-us.js", + "line": 1687, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.recharge.list.l20.t0", + "file": "lang\\en-us.js", + "line": 1688, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.recharge.list.l276.t0", + "file": "lang\\en-us.js", + "line": 1689, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.recharge.list.l29.t0", + "file": "lang\\en-us.js", + "line": 1690, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.recharge.list.l34.t0", + "file": "lang\\en-us.js", + "line": 1691, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.recharge.list.l44.t0", + "file": "lang\\en-us.js", + "line": 1692, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.recharge.list.l44.t1", + "file": "lang\\en-us.js", + "line": 1693, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.recharge.list.l50.t0", + "file": "lang\\en-us.js", + "line": 1694, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.recharge.list.l56.t0", + "file": "lang\\en-us.js", + "line": 1695, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.recharge.list.l67.t0", + "file": "lang\\en-us.js", + "line": 1696, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.recharge.list.l7.t0", + "file": "lang\\en-us.js", + "line": 1697, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.recharge.list.l89.t0", + "file": "lang\\en-us.js", + "line": 1698, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.recharge.order_list.l16.t0", + "file": "lang\\en-us.js", + "line": 1699, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.recharge.order_list.l24.t0", + "file": "lang\\en-us.js", + "line": 1700, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.recharge.order_list.l29.t0", + "file": "lang\\en-us.js", + "line": 1701, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.recharge.order_list.l34.t0", + "file": "lang\\en-us.js", + "line": 1702, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.storeclose.l41.t0", + "file": "lang\\en-us.js", + "line": 1703, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.storeclose.l45.t0", + "file": "lang\\en-us.js", + "line": 1704, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.storeclose.l47.t0", + "file": "lang\\en-us.js", + "line": 1705, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.weapp.order_shipping.l20.t0", + "file": "lang\\en-us.js", + "line": 1706, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.weapp.order_shipping.l32.t0", + "file": "lang\\en-us.js", + "line": 1707, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "article.detail.l5.t0", + "file": "lang\\zh-cn.js", + "line": 550, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "article.list.l24.t0", + "file": "lang\\zh-cn.js", + "line": 551, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "article.list.l91.t0", + "file": "lang\\zh-cn.js", + "line": 552, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "contact.l165.t0", + "file": "lang\\zh-cn.js", + "line": 587, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "contact.l314.t0", + "file": "lang\\zh-cn.js", + "line": 588, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "contact.l372.t0", + "file": "lang\\zh-cn.js", + "line": 589, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "contact.l376.t0", + "file": "lang\\zh-cn.js", + "line": 590, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "contact.l380.t0", + "file": "lang\\zh-cn.js", + "line": 591, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "contact.l405.t0", + "file": "lang\\zh-cn.js", + "line": 592, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "contact.l76.t0", + "file": "lang\\zh-cn.js", + "line": 593, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "contact.l93.t0", + "file": "lang\\zh-cn.js", + "line": 594, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.apply.l100.t0", + "file": "lang\\zh-cn.js", + "line": 707, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.apply.l101.t0", + "file": "lang\\zh-cn.js", + "line": 708, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.apply.l126.t0", + "file": "lang\\zh-cn.js", + "line": 709, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.apply.l131.t0", + "file": "lang\\zh-cn.js", + "line": 710, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.apply.l133.t0", + "file": "lang\\zh-cn.js", + "line": 711, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.apply.l134.t0", + "file": "lang\\zh-cn.js", + "line": 712, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.apply.l16.t0", + "file": "lang\\zh-cn.js", + "line": 713, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.apply.l166.t0", + "file": "lang\\zh-cn.js", + "line": 714, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.apply.l194.t0", + "file": "lang\\zh-cn.js", + "line": 715, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.apply.l210.t0", + "file": "lang\\zh-cn.js", + "line": 716, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.apply.l27.t0", + "file": "lang\\zh-cn.js", + "line": 717, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.apply.l278.t0", + "file": "lang\\zh-cn.js", + "line": 718, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.apply.l32.t0", + "file": "lang\\zh-cn.js", + "line": 719, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.apply.l45.t0", + "file": "lang\\zh-cn.js", + "line": 720, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.apply.l52.t0", + "file": "lang\\zh-cn.js", + "line": 721, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.apply.l82.t0", + "file": "lang\\zh-cn.js", + "line": 722, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.bill.l11.t0", + "file": "lang\\zh-cn.js", + "line": 723, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.bill.l19.t0", + "file": "lang\\zh-cn.js", + "line": 724, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.child_fenxiao.l23.t0", + "file": "lang\\zh-cn.js", + "line": 725, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.child_fenxiao.l24.t0", + "file": "lang\\zh-cn.js", + "line": 726, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.child_fenxiao.l32.t0", + "file": "lang\\zh-cn.js", + "line": 727, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.goods_list.l118.t0", + "file": "lang\\zh-cn.js", + "line": 728, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.goods_list.l43.t0", + "file": "lang\\zh-cn.js", + "line": 729, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.goods_list.l49.t0", + "file": "lang\\zh-cn.js", + "line": 730, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.goods_list.l56.t0", + "file": "lang\\zh-cn.js", + "line": 731, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.goods_list.l59.t0", + "file": "lang\\zh-cn.js", + "line": 732, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l114.t0", + "file": "lang\\zh-cn.js", + "line": 733, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l124.t0", + "file": "lang\\zh-cn.js", + "line": 734, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l125.t0", + "file": "lang\\zh-cn.js", + "line": 735, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l133.t0", + "file": "lang\\zh-cn.js", + "line": 736, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l142.t0", + "file": "lang\\zh-cn.js", + "line": 737, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l162.t0", + "file": "lang\\zh-cn.js", + "line": 738, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l171.t0", + "file": "lang\\zh-cn.js", + "line": 739, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l172.t0", + "file": "lang\\zh-cn.js", + "line": 740, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l180.t0", + "file": "lang\\zh-cn.js", + "line": 741, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l21.t0", + "file": "lang\\zh-cn.js", + "line": 742, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l21.t1", + "file": "lang\\zh-cn.js", + "line": 743, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l214.t0", + "file": "lang\\zh-cn.js", + "line": 744, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l215.t0", + "file": "lang\\zh-cn.js", + "line": 745, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l22.t0", + "file": "lang\\zh-cn.js", + "line": 746, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l223.t0", + "file": "lang\\zh-cn.js", + "line": 747, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l231.t0", + "file": "lang\\zh-cn.js", + "line": 748, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l239.t0", + "file": "lang\\zh-cn.js", + "line": 749, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l254.t0", + "file": "lang\\zh-cn.js", + "line": 750, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l254.t1", + "file": "lang\\zh-cn.js", + "line": 751, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l293.t0", + "file": "lang\\zh-cn.js", + "line": 752, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l33.t0", + "file": "lang\\zh-cn.js", + "line": 753, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l33.t1", + "file": "lang\\zh-cn.js", + "line": 754, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l34.t0", + "file": "lang\\zh-cn.js", + "line": 755, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l36.t0", + "file": "lang\\zh-cn.js", + "line": 756, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l371.t0", + "file": "lang\\zh-cn.js", + "line": 757, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l43.t0", + "file": "lang\\zh-cn.js", + "line": 758, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l483.t0", + "file": "lang\\zh-cn.js", + "line": 759, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l484.t0", + "file": "lang\\zh-cn.js", + "line": 760, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l485.t0", + "file": "lang\\zh-cn.js", + "line": 761, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l498.t0", + "file": "lang\\zh-cn.js", + "line": 762, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l499.t0", + "file": "lang\\zh-cn.js", + "line": 763, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l512.t0", + "file": "lang\\zh-cn.js", + "line": 764, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l512.t1", + "file": "lang\\zh-cn.js", + "line": 765, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l514.t0", + "file": "lang\\zh-cn.js", + "line": 766, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l514.t1", + "file": "lang\\zh-cn.js", + "line": 767, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l526.t0", + "file": "lang\\zh-cn.js", + "line": 768, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l527.t0", + "file": "lang\\zh-cn.js", + "line": 769, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l528.t0", + "file": "lang\\zh-cn.js", + "line": 770, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l539.t0", + "file": "lang\\zh-cn.js", + "line": 771, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l540.t0", + "file": "lang\\zh-cn.js", + "line": 772, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l55.t0", + "file": "lang\\zh-cn.js", + "line": 773, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l553.t0", + "file": "lang\\zh-cn.js", + "line": 774, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l554.t0", + "file": "lang\\zh-cn.js", + "line": 775, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l567.t0", + "file": "lang\\zh-cn.js", + "line": 776, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l568.t0", + "file": "lang\\zh-cn.js", + "line": 777, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l59.t0", + "file": "lang\\zh-cn.js", + "line": 778, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l64.t0", + "file": "lang\\zh-cn.js", + "line": 779, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l70.t0", + "file": "lang\\zh-cn.js", + "line": 780, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l93.t0", + "file": "lang\\zh-cn.js", + "line": 781, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.index.l94.t0", + "file": "lang\\zh-cn.js", + "line": 782, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.level.l119.t0", + "file": "lang\\zh-cn.js", + "line": 783, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.level.l131.t0", + "file": "lang\\zh-cn.js", + "line": 784, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.level.l143.t0", + "file": "lang\\zh-cn.js", + "line": 785, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.level.l144.t0", + "file": "lang\\zh-cn.js", + "line": 786, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.level.l157.t0", + "file": "lang\\zh-cn.js", + "line": 787, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.level.l169.t0", + "file": "lang\\zh-cn.js", + "line": 788, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.level.l181.t0", + "file": "lang\\zh-cn.js", + "line": 789, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.level.l181.t1", + "file": "lang\\zh-cn.js", + "line": 790, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.level.l193.t0", + "file": "lang\\zh-cn.js", + "line": 791, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.level.l20.t0", + "file": "lang\\zh-cn.js", + "line": 792, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.level.l221.t0", + "file": "lang\\zh-cn.js", + "line": 793, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.level.l24.t0", + "file": "lang\\zh-cn.js", + "line": 794, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.level.l28.t0", + "file": "lang\\zh-cn.js", + "line": 795, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.order.l17.t0", + "file": "lang\\zh-cn.js", + "line": 796, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.order.l19.t0", + "file": "lang\\zh-cn.js", + "line": 797, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.order.l20.t0", + "file": "lang\\zh-cn.js", + "line": 798, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.order.l81.t0", + "file": "lang\\zh-cn.js", + "line": 799, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.order.l83.t0", + "file": "lang\\zh-cn.js", + "line": 800, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.order.l85.t0", + "file": "lang\\zh-cn.js", + "line": 801, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.order.l87.t0", + "file": "lang\\zh-cn.js", + "line": 802, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.order_detail.l47.t0", + "file": "lang\\zh-cn.js", + "line": 803, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.order_detail.l56.t0", + "file": "lang\\zh-cn.js", + "line": 804, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.order_detail.l60.t0", + "file": "lang\\zh-cn.js", + "line": 805, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.promote.l21.t0", + "file": "lang\\zh-cn.js", + "line": 806, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.promote.l22.t0", + "file": "lang\\zh-cn.js", + "line": 807, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.promote.l35.t0", + "file": "lang\\zh-cn.js", + "line": 808, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.promote.l44.t0", + "file": "lang\\zh-cn.js", + "line": 809, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.promote_code.l114.t0", + "file": "lang\\zh-cn.js", + "line": 810, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.promote_code.l139.t0", + "file": "lang\\zh-cn.js", + "line": 811, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.promote_code.l14.t0", + "file": "lang\\zh-cn.js", + "line": 812, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.promote_code.l18.t0", + "file": "lang\\zh-cn.js", + "line": 813, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.promote_code.l24.t0", + "file": "lang\\zh-cn.js", + "line": 814, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.promote_code.l29.t0", + "file": "lang\\zh-cn.js", + "line": 815, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.ranking_list.l19.t0", + "file": "lang\\zh-cn.js", + "line": 816, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.ranking_list.l21.t0", + "file": "lang\\zh-cn.js", + "line": 817, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.ranking_list.l33.t0", + "file": "lang\\zh-cn.js", + "line": 818, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.ranking_list.l44.t0", + "file": "lang\\zh-cn.js", + "line": 819, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.ranking_list.l45.t0", + "file": "lang\\zh-cn.js", + "line": 820, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.ranking_list.l57.t0", + "file": "lang\\zh-cn.js", + "line": 821, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.ranking_list.l68.t0", + "file": "lang\\zh-cn.js", + "line": 822, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.team.l92.t0", + "file": "lang\\zh-cn.js", + "line": 823, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.team.l96.t0", + "file": "lang\\zh-cn.js", + "line": 824, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdraw_apply.l178.t0", + "file": "lang\\zh-cn.js", + "line": 825, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdraw_apply.l189.t0", + "file": "lang\\zh-cn.js", + "line": 826, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdraw_apply.l19.t0", + "file": "lang\\zh-cn.js", + "line": 827, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdraw_apply.l196.t0", + "file": "lang\\zh-cn.js", + "line": 828, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdraw_apply.l205.t0", + "file": "lang\\zh-cn.js", + "line": 829, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdraw_apply.l238.t0", + "file": "lang\\zh-cn.js", + "line": 830, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdraw_apply.l31.t0", + "file": "lang\\zh-cn.js", + "line": 831, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdraw_apply.l41.t0", + "file": "lang\\zh-cn.js", + "line": 832, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdraw_apply.l42.t0", + "file": "lang\\zh-cn.js", + "line": 833, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdraw_apply.l46.t0", + "file": "lang\\zh-cn.js", + "line": 834, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdraw_apply.l48.t0", + "file": "lang\\zh-cn.js", + "line": 835, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdraw_apply.l5.t0", + "file": "lang\\zh-cn.js", + "line": 836, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdraw_apply.l59.t0", + "file": "lang\\zh-cn.js", + "line": 837, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdraw_apply.l6.t0", + "file": "lang\\zh-cn.js", + "line": 838, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdraw_apply.l64.t0", + "file": "lang\\zh-cn.js", + "line": 839, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdraw_list.l12.t0", + "file": "lang\\zh-cn.js", + "line": 840, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdraw_list.l12.t1", + "file": "lang\\zh-cn.js", + "line": 841, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdraw_list.l13.t0", + "file": "lang\\zh-cn.js", + "line": 842, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdraw_list.l28.t0", + "file": "lang\\zh-cn.js", + "line": 843, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdraw_list.l45.t0", + "file": "lang\\zh-cn.js", + "line": 844, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdraw_list.l49.t0", + "file": "lang\\zh-cn.js", + "line": 845, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdraw_list.l53.t0", + "file": "lang\\zh-cn.js", + "line": 846, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdraw_list.l57.t0", + "file": "lang\\zh-cn.js", + "line": 847, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdraw_list.l78.t0", + "file": "lang\\zh-cn.js", + "line": 848, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdrawal_detail.l10.t0", + "file": "lang\\zh-cn.js", + "line": 849, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdrawal_detail.l14.t0", + "file": "lang\\zh-cn.js", + "line": 850, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdrawal_detail.l18.t0", + "file": "lang\\zh-cn.js", + "line": 851, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdrawal_detail.l22.t0", + "file": "lang\\zh-cn.js", + "line": 852, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdrawal_detail.l26.t0", + "file": "lang\\zh-cn.js", + "line": 853, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdrawal_detail.l30.t0", + "file": "lang\\zh-cn.js", + "line": 854, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdrawal_detail.l34.t0", + "file": "lang\\zh-cn.js", + "line": 855, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdrawal_detail.l38.t0", + "file": "lang\\zh-cn.js", + "line": 856, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdrawal_detail.l42.t0", + "file": "lang\\zh-cn.js", + "line": 857, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "fenxiao.withdrawal_detail.l46.t0", + "file": "lang\\zh-cn.js", + "line": 858, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.cart.l123.t0", + "file": "lang\\zh-cn.js", + "line": 903, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.cart.l143.t0", + "file": "lang\\zh-cn.js", + "line": 904, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.cart.l145.t0", + "file": "lang\\zh-cn.js", + "line": 905, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.cart.l17.t0", + "file": "lang\\zh-cn.js", + "line": 906, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.cart.l192.t0", + "file": "lang\\zh-cn.js", + "line": 907, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.cart.l202.t0", + "file": "lang\\zh-cn.js", + "line": 908, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.cart.l202.t1", + "file": "lang\\zh-cn.js", + "line": 909, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.cart.l221.t0", + "file": "lang\\zh-cn.js", + "line": 910, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.cart.l226.t0", + "file": "lang\\zh-cn.js", + "line": 911, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.cart.l239.t0", + "file": "lang\\zh-cn.js", + "line": 912, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.cart.l294.t0", + "file": "lang\\zh-cn.js", + "line": 913, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.cart.l298.t0", + "file": "lang\\zh-cn.js", + "line": 914, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.cart.l341.t0", + "file": "lang\\zh-cn.js", + "line": 915, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.cart.l341.t1", + "file": "lang\\zh-cn.js", + "line": 916, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.cart.l8.t0", + "file": "lang\\zh-cn.js", + "line": 917, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.category.l51.t0", + "file": "lang\\zh-cn.js", + "line": 918, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.detail.l129.t0", + "file": "lang\\zh-cn.js", + "line": 919, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.detail.l131.t0", + "file": "lang\\zh-cn.js", + "line": 920, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.detail.l132.t0", + "file": "lang\\zh-cn.js", + "line": 921, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.detail.l133.t0", + "file": "lang\\zh-cn.js", + "line": 922, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.detail.l134.t0", + "file": "lang\\zh-cn.js", + "line": 923, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.detail.l152.t0", + "file": "lang\\zh-cn.js", + "line": 924, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.detail.l18.t0", + "file": "lang\\zh-cn.js", + "line": 925, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.detail.l187.t0", + "file": "lang\\zh-cn.js", + "line": 926, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.detail.l194.t0", + "file": "lang\\zh-cn.js", + "line": 927, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.detail.l220.t0", + "file": "lang\\zh-cn.js", + "line": 928, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.detail.l23.t0", + "file": "lang\\zh-cn.js", + "line": 929, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.detail.l300.t0", + "file": "lang\\zh-cn.js", + "line": 930, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.detail.l348.t0", + "file": "lang\\zh-cn.js", + "line": 931, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.detail.l349.t0", + "file": "lang\\zh-cn.js", + "line": 932, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.detail.l350.t0", + "file": "lang\\zh-cn.js", + "line": 933, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.detail.l354.t0", + "file": "lang\\zh-cn.js", + "line": 934, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.detail.l379.t0", + "file": "lang\\zh-cn.js", + "line": 935, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.detail.l383.t0", + "file": "lang\\zh-cn.js", + "line": 936, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.detail.l396.t0", + "file": "lang\\zh-cn.js", + "line": 937, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.detail.l523.t0", + "file": "lang\\zh-cn.js", + "line": 938, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.detail.l527.t0", + "file": "lang\\zh-cn.js", + "line": 939, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.detail.l55.t0", + "file": "lang\\zh-cn.js", + "line": 940, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.detail.l591.t0", + "file": "lang\\zh-cn.js", + "line": 941, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.detail.l99.t0", + "file": "lang\\zh-cn.js", + "line": 942, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.list.l148.t0", + "file": "lang\\zh-cn.js", + "line": 943, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.list.l160.t0", + "file": "lang\\zh-cn.js", + "line": 944, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.list.l168.t0", + "file": "lang\\zh-cn.js", + "line": 945, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.list.l170.t0", + "file": "lang\\zh-cn.js", + "line": 946, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.list.l172.t0", + "file": "lang\\zh-cn.js", + "line": 947, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.list.l188.t0", + "file": "lang\\zh-cn.js", + "line": 948, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.list.l19.t0", + "file": "lang\\zh-cn.js", + "line": 949, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.list.l203.t0", + "file": "lang\\zh-cn.js", + "line": 950, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.list.l23.t0", + "file": "lang\\zh-cn.js", + "line": 951, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.list.l28.t0", + "file": "lang\\zh-cn.js", + "line": 952, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.list.l40.t0", + "file": "lang\\zh-cn.js", + "line": 953, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.public.js.cart.l236.t0", + "file": "lang\\zh-cn.js", + "line": 954, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.public.js.cart.l243.t0", + "file": "lang\\zh-cn.js", + "line": 955, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.public.js.cart.l243.t1", + "file": "lang\\zh-cn.js", + "line": 956, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.public.js.cart.l385.t0", + "file": "lang\\zh-cn.js", + "line": 957, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.public.js.detail.l321.t0", + "file": "lang\\zh-cn.js", + "line": 958, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.public.js.detail.l323.t0", + "file": "lang\\zh-cn.js", + "line": 959, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.public.js.detail.l379.t0", + "file": "lang\\zh-cn.js", + "line": 960, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.public.js.detail.l386.t0", + "file": "lang\\zh-cn.js", + "line": 961, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.public.js.detail.l392.t0", + "file": "lang\\zh-cn.js", + "line": 962, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.public.js.detail.l392.t1", + "file": "lang\\zh-cn.js", + "line": 963, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.public.js.detail.l392.t2", + "file": "lang\\zh-cn.js", + "line": 964, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.public.js.detail.l395.t0", + "file": "lang\\zh-cn.js", + "line": 965, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.public.js.list.l126.t0", + "file": "lang\\zh-cn.js", + "line": 966, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.public.js.list.l126.t1", + "file": "lang\\zh-cn.js", + "line": 967, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.public.js.list.l126.t2", + "file": "lang\\zh-cn.js", + "line": 968, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.public.js.list.l365.t0", + "file": "lang\\zh-cn.js", + "line": 969, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.public.js.list.l371.t0", + "file": "lang\\zh-cn.js", + "line": 970, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.public.js.list.l378.t0", + "file": "lang\\zh-cn.js", + "line": 971, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.public.js.list.l384.t0", + "file": "lang\\zh-cn.js", + "line": 972, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "goods.public.js.list.l78.t0", + "file": "lang\\zh-cn.js", + "line": 973, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "help.list.l73.t0", + "file": "lang\\zh-cn.js", + "line": 980, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "help.list.l81.t0", + "file": "lang\\zh-cn.js", + "line": 981, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "help.list.l9.t0", + "file": "lang\\zh-cn.js", + "line": 982, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "login.find.l100.t0", + "file": "lang\\zh-cn.js", + "line": 1001, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "login.find.l13.t0", + "file": "lang\\zh-cn.js", + "line": 1002, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "login.find.l169.t0", + "file": "lang\\zh-cn.js", + "line": 1003, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "login.find.l18.t0", + "file": "lang\\zh-cn.js", + "line": 1004, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "login.find.l188.t0", + "file": "lang\\zh-cn.js", + "line": 1005, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "login.find.l19.t0", + "file": "lang\\zh-cn.js", + "line": 1006, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "login.find.l196.t0", + "file": "lang\\zh-cn.js", + "line": 1007, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "login.find.l196.t1", + "file": "lang\\zh-cn.js", + "line": 1008, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "login.find.l200.t0", + "file": "lang\\zh-cn.js", + "line": 1009, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "login.find.l204.t0", + "file": "lang\\zh-cn.js", + "line": 1010, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "login.find.l208.t0", + "file": "lang\\zh-cn.js", + "line": 1011, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "login.find.l212.t0", + "file": "lang\\zh-cn.js", + "line": 1012, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "login.find.l216.t0", + "file": "lang\\zh-cn.js", + "line": 1013, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "login.find.l230.t0", + "file": "lang\\zh-cn.js", + "line": 1014, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "login.find.l286.t0", + "file": "lang\\zh-cn.js", + "line": 1015, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "login.find.l7.t0", + "file": "lang\\zh-cn.js", + "line": 1016, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.account.l10.t0", + "file": "lang\\zh-cn.js", + "line": 1025, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.account.l106.t0", + "file": "lang\\zh-cn.js", + "line": 1026, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.account.l107.t0", + "file": "lang\\zh-cn.js", + "line": 1027, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.account.l118.t0", + "file": "lang\\zh-cn.js", + "line": 1028, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.account.l123.t0", + "file": "lang\\zh-cn.js", + "line": 1029, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.account.l184.t0", + "file": "lang\\zh-cn.js", + "line": 1030, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.account.l32.t0", + "file": "lang\\zh-cn.js", + "line": 1031, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.account.l37.t0", + "file": "lang\\zh-cn.js", + "line": 1032, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.account.l55.t0", + "file": "lang\\zh-cn.js", + "line": 1033, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.account_edit.l139.t0", + "file": "lang\\zh-cn.js", + "line": 1034, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.account_edit.l163.t0", + "file": "lang\\zh-cn.js", + "line": 1035, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.account_edit.l178.t0", + "file": "lang\\zh-cn.js", + "line": 1036, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.account_edit.l20.t0", + "file": "lang\\zh-cn.js", + "line": 1037, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.account_edit.l226.t0", + "file": "lang\\zh-cn.js", + "line": 1038, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.account_edit.l23.t0", + "file": "lang\\zh-cn.js", + "line": 1039, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.account_edit.l230.t0", + "file": "lang\\zh-cn.js", + "line": 1040, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.account_edit.l24.t0", + "file": "lang\\zh-cn.js", + "line": 1041, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.account_edit.l5.t0", + "file": "lang\\zh-cn.js", + "line": 1042, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.account_edit.l67.t0", + "file": "lang\\zh-cn.js", + "line": 1043, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.account_edit.l71.t0", + "file": "lang\\zh-cn.js", + "line": 1044, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.address.l196.t0", + "file": "lang\\zh-cn.js", + "line": 1045, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.address.l201.t0", + "file": "lang\\zh-cn.js", + "line": 1046, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.address.l247.t0", + "file": "lang\\zh-cn.js", + "line": 1047, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.address.l293.t0", + "file": "lang\\zh-cn.js", + "line": 1048, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.address.l38.t0", + "file": "lang\\zh-cn.js", + "line": 1049, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.address.l57.t0", + "file": "lang\\zh-cn.js", + "line": 1050, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.address_edit.l138.t0", + "file": "lang\\zh-cn.js", + "line": 1051, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.address_edit.l142.t0", + "file": "lang\\zh-cn.js", + "line": 1052, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.address_edit.l200.t0", + "file": "lang\\zh-cn.js", + "line": 1053, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.address_edit.l233.t0", + "file": "lang\\zh-cn.js", + "line": 1054, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.address_edit.l234.t0", + "file": "lang\\zh-cn.js", + "line": 1055, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.address_edit.l241.t0", + "file": "lang\\zh-cn.js", + "line": 1056, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.address_edit.l259.t0", + "file": "lang\\zh-cn.js", + "line": 1057, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.address_edit.l319.t0", + "file": "lang\\zh-cn.js", + "line": 1058, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.address_edit.l4.t0", + "file": "lang\\zh-cn.js", + "line": 1059, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.address_edit.l44.t0", + "file": "lang\\zh-cn.js", + "line": 1060, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.apply_withdrawal.l109.t0", + "file": "lang\\zh-cn.js", + "line": 1061, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.apply_withdrawal.l19.t0", + "file": "lang\\zh-cn.js", + "line": 1062, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.apply_withdrawal.l24.t0", + "file": "lang\\zh-cn.js", + "line": 1063, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.apply_withdrawal.l34.t0", + "file": "lang\\zh-cn.js", + "line": 1064, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.apply_withdrawal.l40.t0", + "file": "lang\\zh-cn.js", + "line": 1065, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.assets.l18.t0", + "file": "lang\\zh-cn.js", + "line": 1066, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.assets.l22.t0", + "file": "lang\\zh-cn.js", + "line": 1067, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.assets.l33.t0", + "file": "lang\\zh-cn.js", + "line": 1068, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.assets.l46.t0", + "file": "lang\\zh-cn.js", + "line": 1069, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.assets.l5.t0", + "file": "lang\\zh-cn.js", + "line": 1070, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.assets.l54.t0", + "file": "lang\\zh-cn.js", + "line": 1071, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.assets.l59.t0", + "file": "lang\\zh-cn.js", + "line": 1072, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.assets.l63.t0", + "file": "lang\\zh-cn.js", + "line": 1073, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.assets.l67.t0", + "file": "lang\\zh-cn.js", + "line": 1074, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.assets.l73.t0", + "file": "lang\\zh-cn.js", + "line": 1075, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.assets.l74.t0", + "file": "lang\\zh-cn.js", + "line": 1076, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.assets.l9.t0", + "file": "lang\\zh-cn.js", + "line": 1077, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.balance.l19.t0", + "file": "lang\\zh-cn.js", + "line": 1078, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.balance.l24.t0", + "file": "lang\\zh-cn.js", + "line": 1079, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.balance.l28.t0", + "file": "lang\\zh-cn.js", + "line": 1080, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.balance.l33.t0", + "file": "lang\\zh-cn.js", + "line": 1081, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.balance.l49.t0", + "file": "lang\\zh-cn.js", + "line": 1082, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.balance.l56.t0", + "file": "lang\\zh-cn.js", + "line": 1083, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.balance_detail.l124.t0", + "file": "lang\\zh-cn.js", + "line": 1084, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.balance_detail.l46.t0", + "file": "lang\\zh-cn.js", + "line": 1085, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.balance_detail.l68.t0", + "file": "lang\\zh-cn.js", + "line": 1086, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.balance_detail.l71.t0", + "file": "lang\\zh-cn.js", + "line": 1087, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.cancellation.l13.t0", + "file": "lang\\zh-cn.js", + "line": 1088, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.cancellation.l15.t0", + "file": "lang\\zh-cn.js", + "line": 1089, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.cancellation.l63.t0", + "file": "lang\\zh-cn.js", + "line": 1090, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.cancelrefuse.l5.t0", + "file": "lang\\zh-cn.js", + "line": 1091, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.cancelrefuse.l6.t0", + "file": "lang\\zh-cn.js", + "line": 1092, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.cancelrefuse.l8.t0", + "file": "lang\\zh-cn.js", + "line": 1093, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.cancelstatus.l16.t0", + "file": "lang\\zh-cn.js", + "line": 1094, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.cancelstatus.l17.t0", + "file": "lang\\zh-cn.js", + "line": 1095, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.cancelstatus.l26.t0", + "file": "lang\\zh-cn.js", + "line": 1096, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.cancelstatus.l27.t0", + "file": "lang\\zh-cn.js", + "line": 1097, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.cancelstatus.l33.t0", + "file": "lang\\zh-cn.js", + "line": 1098, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.cancelstatus.l8.t0", + "file": "lang\\zh-cn.js", + "line": 1099, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.cancelstatus.l84.t0", + "file": "lang\\zh-cn.js", + "line": 1100, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.cancelstatus.l85.t0", + "file": "lang\\zh-cn.js", + "line": 1101, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.cancelstatus.l9.t0", + "file": "lang\\zh-cn.js", + "line": 1102, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.cancelsuccess.l7.t0", + "file": "lang\\zh-cn.js", + "line": 1103, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.cancelsuccess.l8.t0", + "file": "lang\\zh-cn.js", + "line": 1104, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.card.l104.t0", + "file": "lang\\zh-cn.js", + "line": 1105, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.card.l174.t0", + "file": "lang\\zh-cn.js", + "line": 1106, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.card.l25.t0", + "file": "lang\\zh-cn.js", + "line": 1107, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.card.l31.t0", + "file": "lang\\zh-cn.js", + "line": 1108, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.card.l42.t0", + "file": "lang\\zh-cn.js", + "line": 1109, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.card.l52.t0", + "file": "lang\\zh-cn.js", + "line": 1110, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.card.l53.t0", + "file": "lang\\zh-cn.js", + "line": 1111, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.card.l57.t0", + "file": "lang\\zh-cn.js", + "line": 1112, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.card.l58.t0", + "file": "lang\\zh-cn.js", + "line": 1113, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.card.l62.t0", + "file": "lang\\zh-cn.js", + "line": 1114, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.card.l63.t0", + "file": "lang\\zh-cn.js", + "line": 1115, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.card.l72.t0", + "file": "lang\\zh-cn.js", + "line": 1116, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.card.l81.t0", + "file": "lang\\zh-cn.js", + "line": 1117, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.card.l82.t0", + "file": "lang\\zh-cn.js", + "line": 1118, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.card.l86.t0", + "file": "lang\\zh-cn.js", + "line": 1119, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.card.l91.t0", + "file": "lang\\zh-cn.js", + "line": 1120, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.card_buy.l175.t0", + "file": "lang\\zh-cn.js", + "line": 1121, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.card_buy.l214.t0", + "file": "lang\\zh-cn.js", + "line": 1122, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.card_buy.l353.t0", + "file": "lang\\zh-cn.js", + "line": 1123, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.card_buy.l81.t0", + "file": "lang\\zh-cn.js", + "line": 1124, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.collection.l33.t0", + "file": "lang\\zh-cn.js", + "line": 1125, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.collection.l33.t1", + "file": "lang\\zh-cn.js", + "line": 1126, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.coupon.l45.t0", + "file": "lang\\zh-cn.js", + "line": 1127, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.coupon.l5.t0", + "file": "lang\\zh-cn.js", + "line": 1128, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.coupon.l6.t0", + "file": "lang\\zh-cn.js", + "line": 1129, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.footprint.l137.t0", + "file": "lang\\zh-cn.js", + "line": 1130, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.footprint.l4.t0", + "file": "lang\\zh-cn.js", + "line": 1131, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.footprint.l49.t0", + "file": "lang\\zh-cn.js", + "line": 1132, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.footprint.l49.t1", + "file": "lang\\zh-cn.js", + "line": 1133, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.footprint.l57.t0", + "file": "lang\\zh-cn.js", + "line": 1134, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.footprint.l59.t0", + "file": "lang\\zh-cn.js", + "line": 1135, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.info.l101.t0", + "file": "lang\\zh-cn.js", + "line": 1136, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.info.l14.t0", + "file": "lang\\zh-cn.js", + "line": 1137, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.info.l37.t0", + "file": "lang\\zh-cn.js", + "line": 1138, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.info.l43.t0", + "file": "lang\\zh-cn.js", + "line": 1139, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.info.l50.t0", + "file": "lang\\zh-cn.js", + "line": 1140, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.info.l66.t0", + "file": "lang\\zh-cn.js", + "line": 1141, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.info.l75.t0", + "file": "lang\\zh-cn.js", + "line": 1142, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.info.l83.t0", + "file": "lang\\zh-cn.js", + "line": 1143, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.info_edit.l10.t0", + "file": "lang\\zh-cn.js", + "line": 1144, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.info_edit.l120.t0", + "file": "lang\\zh-cn.js", + "line": 1145, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.info_edit.l131.t0", + "file": "lang\\zh-cn.js", + "line": 1146, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.info_edit.l134.t0", + "file": "lang\\zh-cn.js", + "line": 1147, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.info_edit.l139.t0", + "file": "lang\\zh-cn.js", + "line": 1148, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.info_edit.l147.t0", + "file": "lang\\zh-cn.js", + "line": 1149, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.info_edit.l57.t0", + "file": "lang\\zh-cn.js", + "line": 1150, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.info_edit.l7.t0", + "file": "lang\\zh-cn.js", + "line": 1151, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.info_edit.l71.t0", + "file": "lang\\zh-cn.js", + "line": 1152, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.info_edit.l72.t0", + "file": "lang\\zh-cn.js", + "line": 1153, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.info_edit.l77.t0", + "file": "lang\\zh-cn.js", + "line": 1154, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.info_edit.l82.t0", + "file": "lang\\zh-cn.js", + "line": 1155, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.info_edit.l87.t0", + "file": "lang\\zh-cn.js", + "line": 1156, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.invite_friends.l126.t0", + "file": "lang\\zh-cn.js", + "line": 1157, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.invite_friends.l133.t0", + "file": "lang\\zh-cn.js", + "line": 1158, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.invite_friends.l142.t0", + "file": "lang\\zh-cn.js", + "line": 1159, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.invite_friends.l151.t0", + "file": "lang\\zh-cn.js", + "line": 1160, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.invite_friends.l17.t0", + "file": "lang\\zh-cn.js", + "line": 1161, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.invite_friends.l20.t0", + "file": "lang\\zh-cn.js", + "line": 1162, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.invite_friends.l217.t0", + "file": "lang\\zh-cn.js", + "line": 1163, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.invite_friends.l50.t0", + "file": "lang\\zh-cn.js", + "line": 1164, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.invite_friends.l55.t0", + "file": "lang\\zh-cn.js", + "line": 1165, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.invite_friends.l56.t0", + "file": "lang\\zh-cn.js", + "line": 1166, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.invite_friends.l61.t0", + "file": "lang\\zh-cn.js", + "line": 1167, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.invite_friends.l71.t0", + "file": "lang\\zh-cn.js", + "line": 1168, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.invite_friends.l98.t0", + "file": "lang\\zh-cn.js", + "line": 1169, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.level.l100.t0", + "file": "lang\\zh-cn.js", + "line": 1170, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.level.l106.t0", + "file": "lang\\zh-cn.js", + "line": 1171, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.level.l113.t0", + "file": "lang\\zh-cn.js", + "line": 1172, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.level.l12.t0", + "file": "lang\\zh-cn.js", + "line": 1173, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.level.l268.t0", + "file": "lang\\zh-cn.js", + "line": 1174, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.level.l57.t0", + "file": "lang\\zh-cn.js", + "line": 1175, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.level.l59.t0", + "file": "lang\\zh-cn.js", + "line": 1176, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.level.l72.t0", + "file": "lang\\zh-cn.js", + "line": 1177, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.level.l91.t0", + "file": "lang\\zh-cn.js", + "line": 1178, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.level.l92.t0", + "file": "lang\\zh-cn.js", + "line": 1179, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.level.l98.t0", + "file": "lang\\zh-cn.js", + "line": 1180, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.level.l99.t0", + "file": "lang\\zh-cn.js", + "line": 1181, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.level_growth_rules.l23.t0", + "file": "lang\\zh-cn.js", + "line": 1182, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.level_growth_rules.l25.t0", + "file": "lang\\zh-cn.js", + "line": 1183, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.level_growth_rules.l30.t0", + "file": "lang\\zh-cn.js", + "line": 1184, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.level_growth_rules.l33.t0", + "file": "lang\\zh-cn.js", + "line": 1185, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.level_growth_rules.l34.t0", + "file": "lang\\zh-cn.js", + "line": 1186, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.level_growth_rules.l35.t0", + "file": "lang\\zh-cn.js", + "line": 1187, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.level_growth_rules.l36.t0", + "file": "lang\\zh-cn.js", + "line": 1188, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.modify_face.l117.t0", + "file": "lang\\zh-cn.js", + "line": 1189, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.modify_face.l14.t0", + "file": "lang\\zh-cn.js", + "line": 1190, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.modify_face.l22.t0", + "file": "lang\\zh-cn.js", + "line": 1191, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.modify_face.l23.t0", + "file": "lang\\zh-cn.js", + "line": 1192, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.modify_face.l95.t0", + "file": "lang\\zh-cn.js", + "line": 1193, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.pay_password.l10.t0", + "file": "lang\\zh-cn.js", + "line": 1194, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.pay_password.l11.t0", + "file": "lang\\zh-cn.js", + "line": 1195, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.pay_password.l12.t0", + "file": "lang\\zh-cn.js", + "line": 1196, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.pay_password.l152.t0", + "file": "lang\\zh-cn.js", + "line": 1197, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.pay_password.l3.t0", + "file": "lang\\zh-cn.js", + "line": 1198, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.pay_password.l37.t0", + "file": "lang\\zh-cn.js", + "line": 1199, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.pay_password.l4.t0", + "file": "lang\\zh-cn.js", + "line": 1200, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.pay_password.l52.t0", + "file": "lang\\zh-cn.js", + "line": 1201, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.point.l20.t0", + "file": "lang\\zh-cn.js", + "line": 1202, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.point.l24.t0", + "file": "lang\\zh-cn.js", + "line": 1203, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.point.l28.t0", + "file": "lang\\zh-cn.js", + "line": 1204, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.point.l32.t0", + "file": "lang\\zh-cn.js", + "line": 1205, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.point.l48.t0", + "file": "lang\\zh-cn.js", + "line": 1206, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.point.l53.t0", + "file": "lang\\zh-cn.js", + "line": 1207, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.point.l57.t0", + "file": "lang\\zh-cn.js", + "line": 1208, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.point.l58.t0", + "file": "lang\\zh-cn.js", + "line": 1209, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.point.l60.t0", + "file": "lang\\zh-cn.js", + "line": 1210, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.point.l65.t0", + "file": "lang\\zh-cn.js", + "line": 1211, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.point.l66.t0", + "file": "lang\\zh-cn.js", + "line": 1212, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.point.l68.t0", + "file": "lang\\zh-cn.js", + "line": 1213, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.public.js.info.l157.t0", + "file": "lang\\zh-cn.js", + "line": 1214, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.public.js.info.l404.t0", + "file": "lang\\zh-cn.js", + "line": 1215, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.public.js.info.l411.t0", + "file": "lang\\zh-cn.js", + "line": 1216, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.public.js.info.l579.t0", + "file": "lang\\zh-cn.js", + "line": 1217, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.public.js.info.l58.t0", + "file": "lang\\zh-cn.js", + "line": 1218, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.public.js.info.l612.t0", + "file": "lang\\zh-cn.js", + "line": 1219, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.public.js.info.l62.t0", + "file": "lang\\zh-cn.js", + "line": 1220, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.public.js.info.l67.t0", + "file": "lang\\zh-cn.js", + "line": 1221, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.public.js.info.l726.t0", + "file": "lang\\zh-cn.js", + "line": 1222, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.public.js.info.l744.t0", + "file": "lang\\zh-cn.js", + "line": 1223, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.public.js.info.l869.t0", + "file": "lang\\zh-cn.js", + "line": 1224, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.public.js.info.l874.t0", + "file": "lang\\zh-cn.js", + "line": 1225, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.public.js.signin.l201.t0", + "file": "lang\\zh-cn.js", + "line": 1227, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.public.js.signin.l236.t0", + "file": "lang\\zh-cn.js", + "line": 1228, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.public.js.signin.l237.t0", + "file": "lang\\zh-cn.js", + "line": 1229, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.public.js.signin.l268.t0", + "file": "lang\\zh-cn.js", + "line": 1230, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "member.public.js.signin.l31.t0", + "file": "lang\\zh-cn.js", + "line": 1231, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.detail.l102.t0", + "file": "lang\\zh-cn.js", + "line": 1236, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.detail.l31.t0", + "file": "lang\\zh-cn.js", + "line": 1237, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.detail.l35.t0", + "file": "lang\\zh-cn.js", + "line": 1238, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.detail.l35.t1", + "file": "lang\\zh-cn.js", + "line": 1239, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.detail.l7.t0", + "file": "lang\\zh-cn.js", + "line": 1240, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.merchcategory.l83.t0", + "file": "lang\\zh-cn.js", + "line": 1241, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.merchcategory.l87.t0", + "file": "lang\\zh-cn.js", + "line": 1242, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l103.t0", + "file": "lang\\zh-cn.js", + "line": 1243, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l126.t0", + "file": "lang\\zh-cn.js", + "line": 1244, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l133.t0", + "file": "lang\\zh-cn.js", + "line": 1245, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l170.t0", + "file": "lang\\zh-cn.js", + "line": 1246, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l496.t0", + "file": "lang\\zh-cn.js", + "line": 1247, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l533.t0", + "file": "lang\\zh-cn.js", + "line": 1248, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l56.t0", + "file": "lang\\zh-cn.js", + "line": 1249, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l56.t1", + "file": "lang\\zh-cn.js", + "line": 1250, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l578.t0", + "file": "lang\\zh-cn.js", + "line": 1251, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l58.t0", + "file": "lang\\zh-cn.js", + "line": 1252, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l58.t1", + "file": "lang\\zh-cn.js", + "line": 1253, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l58.t2", + "file": "lang\\zh-cn.js", + "line": 1254, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l58.t3", + "file": "lang\\zh-cn.js", + "line": 1255, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l585.t0", + "file": "lang\\zh-cn.js", + "line": 1256, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l63.t0", + "file": "lang\\zh-cn.js", + "line": 1257, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l635.t0", + "file": "lang\\zh-cn.js", + "line": 1258, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l641.t0", + "file": "lang\\zh-cn.js", + "line": 1259, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l648.t0", + "file": "lang\\zh-cn.js", + "line": 1260, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l658.t0", + "file": "lang\\zh-cn.js", + "line": 1261, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l665.t0", + "file": "lang\\zh-cn.js", + "line": 1262, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l67.t0", + "file": "lang\\zh-cn.js", + "line": 1263, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l671.t0", + "file": "lang\\zh-cn.js", + "line": 1264, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l677.t0", + "file": "lang\\zh-cn.js", + "line": 1265, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l71.t0", + "file": "lang\\zh-cn.js", + "line": 1266, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l81.t0", + "file": "lang\\zh-cn.js", + "line": 1267, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l85.t0", + "file": "lang\\zh-cn.js", + "line": 1268, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l908.t0", + "file": "lang\\zh-cn.js", + "line": 1269, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l929.t0", + "file": "lang\\zh-cn.js", + "line": 1270, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l93.t0", + "file": "lang\\zh-cn.js", + "line": 1271, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l93.t1", + "file": "lang\\zh-cn.js", + "line": 1272, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l96.t0", + "file": "lang\\zh-cn.js", + "line": 1273, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.edit.l99.t0", + "file": "lang\\zh-cn.js", + "line": 1274, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "merch.public.js.list.l80.t0", + "file": "lang\\zh-cn.js", + "line": 1275, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "notice.detail.l87.t0", + "file": "lang\\zh-cn.js", + "line": 1286, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "notice.list.l10.t0", + "file": "lang\\zh-cn.js", + "line": 1287, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "notice.list.l18.t0", + "file": "lang\\zh-cn.js", + "line": 1288, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l106.t0", + "file": "lang\\zh-cn.js", + "line": 1359, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l109.t0", + "file": "lang\\zh-cn.js", + "line": 1360, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l16.t0", + "file": "lang\\zh-cn.js", + "line": 1361, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l192.t0", + "file": "lang\\zh-cn.js", + "line": 1362, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l192.t1", + "file": "lang\\zh-cn.js", + "line": 1363, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l198.t0", + "file": "lang\\zh-cn.js", + "line": 1364, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l198.t1", + "file": "lang\\zh-cn.js", + "line": 1365, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l208.t0", + "file": "lang\\zh-cn.js", + "line": 1366, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l214.t0", + "file": "lang\\zh-cn.js", + "line": 1367, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l221.t0", + "file": "lang\\zh-cn.js", + "line": 1368, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l227.t0", + "file": "lang\\zh-cn.js", + "line": 1369, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l233.t0", + "file": "lang\\zh-cn.js", + "line": 1370, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l241.t0", + "file": "lang\\zh-cn.js", + "line": 1371, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l247.t0", + "file": "lang\\zh-cn.js", + "line": 1372, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l254.t0", + "file": "lang\\zh-cn.js", + "line": 1373, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l260.t0", + "file": "lang\\zh-cn.js", + "line": 1374, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l266.t0", + "file": "lang\\zh-cn.js", + "line": 1375, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l274.t0", + "file": "lang\\zh-cn.js", + "line": 1376, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l276.t0", + "file": "lang\\zh-cn.js", + "line": 1377, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l276.t1", + "file": "lang\\zh-cn.js", + "line": 1378, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l280.t0", + "file": "lang\\zh-cn.js", + "line": 1379, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l282.t0", + "file": "lang\\zh-cn.js", + "line": 1380, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l282.t1", + "file": "lang\\zh-cn.js", + "line": 1381, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l286.t0", + "file": "lang\\zh-cn.js", + "line": 1382, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l293.t0", + "file": "lang\\zh-cn.js", + "line": 1383, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l299.t0", + "file": "lang\\zh-cn.js", + "line": 1384, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l305.t0", + "file": "lang\\zh-cn.js", + "line": 1385, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l329.t0", + "file": "lang\\zh-cn.js", + "line": 1386, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l350.t0", + "file": "lang\\zh-cn.js", + "line": 1387, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l360.t0", + "file": "lang\\zh-cn.js", + "line": 1388, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l362.t0", + "file": "lang\\zh-cn.js", + "line": 1389, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l37.t0", + "file": "lang\\zh-cn.js", + "line": 1390, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l372.t0", + "file": "lang\\zh-cn.js", + "line": 1391, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l376.t0", + "file": "lang\\zh-cn.js", + "line": 1392, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l382.t0", + "file": "lang\\zh-cn.js", + "line": 1393, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l387.t0", + "file": "lang\\zh-cn.js", + "line": 1394, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l393.t0", + "file": "lang\\zh-cn.js", + "line": 1395, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l400.t0", + "file": "lang\\zh-cn.js", + "line": 1396, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l406.t0", + "file": "lang\\zh-cn.js", + "line": 1397, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l409.t0", + "file": "lang\\zh-cn.js", + "line": 1398, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l416.t0", + "file": "lang\\zh-cn.js", + "line": 1399, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l42.t0", + "file": "lang\\zh-cn.js", + "line": 1400, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l47.t0", + "file": "lang\\zh-cn.js", + "line": 1401, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l51.t0", + "file": "lang\\zh-cn.js", + "line": 1402, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l537.t0", + "file": "lang\\zh-cn.js", + "line": 1403, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l568.t0", + "file": "lang\\zh-cn.js", + "line": 1404, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l589.t0", + "file": "lang\\zh-cn.js", + "line": 1405, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l601.t0", + "file": "lang\\zh-cn.js", + "line": 1406, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l602.t0", + "file": "lang\\zh-cn.js", + "line": 1407, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l737.t0", + "file": "lang\\zh-cn.js", + "line": 1408, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail.l84.t0", + "file": "lang\\zh-cn.js", + "line": 1409, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail_point.l126.t0", + "file": "lang\\zh-cn.js", + "line": 1410, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail_point.l128.t0", + "file": "lang\\zh-cn.js", + "line": 1411, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail_point.l14.t0", + "file": "lang\\zh-cn.js", + "line": 1412, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail_point.l14.t1", + "file": "lang\\zh-cn.js", + "line": 1413, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail_point.l15.t0", + "file": "lang\\zh-cn.js", + "line": 1414, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail_point.l225.t0", + "file": "lang\\zh-cn.js", + "line": 1415, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail_point.l236.t0", + "file": "lang\\zh-cn.js", + "line": 1416, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.detail_point.l99.t0", + "file": "lang\\zh-cn.js", + "line": 1417, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.list.l141.t0", + "file": "lang\\zh-cn.js", + "line": 1418, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.list.l152.t0", + "file": "lang\\zh-cn.js", + "line": 1419, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.list.l297.t0", + "file": "lang\\zh-cn.js", + "line": 1420, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.list.l302.t0", + "file": "lang\\zh-cn.js", + "line": 1421, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.list.l307.t0", + "file": "lang\\zh-cn.js", + "line": 1422, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.list.l317.t0", + "file": "lang\\zh-cn.js", + "line": 1423, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.list.l35.t0", + "file": "lang\\zh-cn.js", + "line": 1424, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.list.l6.t0", + "file": "lang\\zh-cn.js", + "line": 1425, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.list.l74.t0", + "file": "lang\\zh-cn.js", + "line": 1426, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.payment.l37.t0", + "file": "lang\\zh-cn.js", + "line": 1427, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.payment.l48.t0", + "file": "lang\\zh-cn.js", + "line": 1428, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.payment.l66.t0", + "file": "lang\\zh-cn.js", + "line": 1429, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.payment.l73.t0", + "file": "lang\\zh-cn.js", + "line": 1430, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.public.js.orderMethod.l13.t0", + "file": "lang\\zh-cn.js", + "line": 1431, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.public.js.orderMethod.l13.t1", + "file": "lang\\zh-cn.js", + "line": 1432, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.public.js.orderMethod.l176.t0", + "file": "lang\\zh-cn.js", + "line": 1433, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.public.js.orderMethod.l47.t0", + "file": "lang\\zh-cn.js", + "line": 1434, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.public.js.orderMethod.l60.t0", + "file": "lang\\zh-cn.js", + "line": 1435, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.public.js.orderMethod.l61.t0", + "file": "lang\\zh-cn.js", + "line": 1436, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.public.js.orderMethod.l81.t0", + "file": "lang\\zh-cn.js", + "line": 1437, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.public.js.refundMethod.l10.t0", + "file": "lang\\zh-cn.js", + "line": 1438, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "order.public.js.refundMethod.l11.t0", + "file": "lang\\zh-cn.js", + "line": 1439, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "page.index.l108.t0", + "file": "lang\\zh-cn.js", + "line": 1442, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "page.index.l115.t0", + "file": "lang\\zh-cn.js", + "line": 1443, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "page.index.l119.t0", + "file": "lang\\zh-cn.js", + "line": 1444, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "page.index.l130.t0", + "file": "lang\\zh-cn.js", + "line": 1445, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "page.index.l133.t0", + "file": "lang\\zh-cn.js", + "line": 1446, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "page.index.l16.t0", + "file": "lang\\zh-cn.js", + "line": 1447, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "page.index.l47.t0", + "file": "lang\\zh-cn.js", + "line": 1448, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "page.index.l89.t0", + "file": "lang\\zh-cn.js", + "line": 1449, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "page.index.public.js.index.l121.t0", + "file": "lang\\zh-cn.js", + "line": 1450, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "page.index.public.js.index.l122.t0", + "file": "lang\\zh-cn.js", + "line": 1451, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "page.index.public.js.index.l126.t0", + "file": "lang\\zh-cn.js", + "line": 1452, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.detail.l129.t0", + "file": "lang\\zh-cn.js", + "line": 1465, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.detail.l144.t0", + "file": "lang\\zh-cn.js", + "line": 1466, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.detail.l187.t0", + "file": "lang\\zh-cn.js", + "line": 1467, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.detail.l195.t0", + "file": "lang\\zh-cn.js", + "line": 1468, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.detail.l208.t0", + "file": "lang\\zh-cn.js", + "line": 1469, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.detail.l213.t0", + "file": "lang\\zh-cn.js", + "line": 1470, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.detail.l296.t0", + "file": "lang\\zh-cn.js", + "line": 1471, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.detail.l296.t1", + "file": "lang\\zh-cn.js", + "line": 1472, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.detail.l77.t0", + "file": "lang\\zh-cn.js", + "line": 1473, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.detail.l77.t1", + "file": "lang\\zh-cn.js", + "line": 1474, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.detail.l78.t0", + "file": "lang\\zh-cn.js", + "line": 1475, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.goods_list.l29.t0", + "file": "lang\\zh-cn.js", + "line": 1476, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.goods_list.l79.t0", + "file": "lang\\zh-cn.js", + "line": 1477, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.goods_list.l99.t0", + "file": "lang\\zh-cn.js", + "line": 1478, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.list.l125.t0", + "file": "lang\\zh-cn.js", + "line": 1479, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.list.l128.t0", + "file": "lang\\zh-cn.js", + "line": 1480, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.list.l13.t0", + "file": "lang\\zh-cn.js", + "line": 1481, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.list.l148.t0", + "file": "lang\\zh-cn.js", + "line": 1482, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.list.l181.t0", + "file": "lang\\zh-cn.js", + "line": 1483, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.list.l234.t0", + "file": "lang\\zh-cn.js", + "line": 1484, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.list.l239.t0", + "file": "lang\\zh-cn.js", + "line": 1485, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.list.l240.t0", + "file": "lang\\zh-cn.js", + "line": 1486, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.list.l241.t0", + "file": "lang\\zh-cn.js", + "line": 1487, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.list.l242.t0", + "file": "lang\\zh-cn.js", + "line": 1488, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.list.l243.t0", + "file": "lang\\zh-cn.js", + "line": 1489, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.list.l244.t0", + "file": "lang\\zh-cn.js", + "line": 1490, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.list.l245.t0", + "file": "lang\\zh-cn.js", + "line": 1491, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.list.l246.t0", + "file": "lang\\zh-cn.js", + "line": 1492, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.list.l247.t0", + "file": "lang\\zh-cn.js", + "line": 1493, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.list.l276.t0", + "file": "lang\\zh-cn.js", + "line": 1494, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.list.l305.t0", + "file": "lang\\zh-cn.js", + "line": 1495, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.list.l31.t0", + "file": "lang\\zh-cn.js", + "line": 1496, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.list.l40.t0", + "file": "lang\\zh-cn.js", + "line": 1497, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.list.l41.t0", + "file": "lang\\zh-cn.js", + "line": 1498, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.list.l50.t0", + "file": "lang\\zh-cn.js", + "line": 1499, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.list.l55.t0", + "file": "lang\\zh-cn.js", + "line": 1500, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.list.l583.t0", + "file": "lang\\zh-cn.js", + "line": 1501, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.list.l59.t0", + "file": "lang\\zh-cn.js", + "line": 1502, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.list.l63.t0", + "file": "lang\\zh-cn.js", + "line": 1503, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.list.l67.t0", + "file": "lang\\zh-cn.js", + "line": 1504, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.list.l84.t0", + "file": "lang\\zh-cn.js", + "line": 1505, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.list.l86.t0", + "file": "lang\\zh-cn.js", + "line": 1506, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.list.l94.t0", + "file": "lang\\zh-cn.js", + "line": 1507, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.order_list.l85.t0", + "file": "lang\\zh-cn.js", + "line": 1508, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.payment.l133.t0", + "file": "lang\\zh-cn.js", + "line": 1509, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.payment.l217.t0", + "file": "lang\\zh-cn.js", + "line": 1510, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.public.js.payment.l283.t0", + "file": "lang\\zh-cn.js", + "line": 1511, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.public.js.payment.l285.t0", + "file": "lang\\zh-cn.js", + "line": 1512, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.public.js.payment.l318.t0", + "file": "lang\\zh-cn.js", + "line": 1513, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.public.js.payment.l356.t0", + "file": "lang\\zh-cn.js", + "line": 1514, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.public.js.payment.l363.t0", + "file": "lang\\zh-cn.js", + "line": 1515, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.public.js.payment.l378.t0", + "file": "lang\\zh-cn.js", + "line": 1516, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "point.public.js.payment.l95.t0", + "file": "lang\\zh-cn.js", + "line": 1517, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "seal.medium.detail.l17.t0", + "file": "lang\\zh-cn.js", + "line": 1532, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "seal.medium.detail.l18.t0", + "file": "lang\\zh-cn.js", + "line": 1533, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "seal.medium.detail.l29.t0", + "file": "lang\\zh-cn.js", + "line": 1534, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "seal.medium.search.l6.t0", + "file": "lang\\zh-cn.js", + "line": 1535, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "seal.structure.l12.t0", + "file": "lang\\zh-cn.js", + "line": 1536, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "seal.structure.l23.t0", + "file": "lang\\zh-cn.js", + "line": 1537, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "seal.structure.l6.t0", + "file": "lang\\zh-cn.js", + "line": 1538, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.agreement.contenr.l11.t0", + "file": "lang\\zh-cn.js", + "line": 1568, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.agreement.contenr.l12.t0", + "file": "lang\\zh-cn.js", + "line": 1569, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.agreement.contenr.l13.t0", + "file": "lang\\zh-cn.js", + "line": 1570, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.cases.index.l143.t0", + "file": "lang\\zh-cn.js", + "line": 1571, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.cases.index.l167.t0", + "file": "lang\\zh-cn.js", + "line": 1572, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.cases.index.l22.t0", + "file": "lang\\zh-cn.js", + "line": 1573, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.cases.index.l31.t0", + "file": "lang\\zh-cn.js", + "line": 1574, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.cases.index.l47.t0", + "file": "lang\\zh-cn.js", + "line": 1575, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.cases.index.l56.t0", + "file": "lang\\zh-cn.js", + "line": 1576, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.cases.index.l60.t0", + "file": "lang\\zh-cn.js", + "line": 1577, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.cases.index.l62.t0", + "file": "lang\\zh-cn.js", + "line": 1578, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.cases.index.l66.t0", + "file": "lang\\zh-cn.js", + "line": 1579, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.cases.index.l68.t0", + "file": "lang\\zh-cn.js", + "line": 1580, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.files.list.l32.t0", + "file": "lang\\zh-cn.js", + "line": 1583, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.files.list.l5.t0", + "file": "lang\\zh-cn.js", + "line": 1584, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.form.formdata.l72.t0", + "file": "lang\\zh-cn.js", + "line": 1585, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.form.l8.t0", + "file": "lang\\zh-cn.js", + "line": 1586, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.brand.l14.t0", + "file": "lang\\zh-cn.js", + "line": 1587, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.brand.l79.t0", + "file": "lang\\zh-cn.js", + "line": 1588, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.coupon.l10.t0", + "file": "lang\\zh-cn.js", + "line": 1589, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.coupon.l102.t0", + "file": "lang\\zh-cn.js", + "line": 1590, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.coupon.l11.t0", + "file": "lang\\zh-cn.js", + "line": 1591, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.coupon.l44.t0", + "file": "lang\\zh-cn.js", + "line": 1592, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.coupon.l45.t0", + "file": "lang\\zh-cn.js", + "line": 1593, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.coupon.l52.t0", + "file": "lang\\zh-cn.js", + "line": 1594, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.coupon.l52.t1", + "file": "lang\\zh-cn.js", + "line": 1595, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.coupon.l65.t0", + "file": "lang\\zh-cn.js", + "line": 1596, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.coupon.l66.t0", + "file": "lang\\zh-cn.js", + "line": 1597, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.coupon.l70.t0", + "file": "lang\\zh-cn.js", + "line": 1598, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.coupon.l8.t0", + "file": "lang\\zh-cn.js", + "line": 1599, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.coupon_receive.l13.t0", + "file": "lang\\zh-cn.js", + "line": 1600, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.coupon_receive.l186.t0", + "file": "lang\\zh-cn.js", + "line": 1601, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.coupon_receive.l189.t0", + "file": "lang\\zh-cn.js", + "line": 1602, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.coupon_receive.l192.t0", + "file": "lang\\zh-cn.js", + "line": 1603, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.coupon_receive.l195.t0", + "file": "lang\\zh-cn.js", + "line": 1604, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.coupon_receive.l207.t0", + "file": "lang\\zh-cn.js", + "line": 1605, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.coupon_receive.l207.t1", + "file": "lang\\zh-cn.js", + "line": 1606, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.coupon_receive.l212.t0", + "file": "lang\\zh-cn.js", + "line": 1607, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.coupon_receive.l247.t0", + "file": "lang\\zh-cn.js", + "line": 1608, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.coupon_receive.l249.t0", + "file": "lang\\zh-cn.js", + "line": 1609, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.coupon_receive.l27.t0", + "file": "lang\\zh-cn.js", + "line": 1610, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.evaluate.l47.t0", + "file": "lang\\zh-cn.js", + "line": 1611, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.evaluate.l52.t0", + "file": "lang\\zh-cn.js", + "line": 1612, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.evaluate.l69.t0", + "file": "lang\\zh-cn.js", + "line": 1613, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.evaluate.l82.t0", + "file": "lang\\zh-cn.js", + "line": 1614, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.evaluate.l82.t1", + "file": "lang\\zh-cn.js", + "line": 1615, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.evaluate.l82.t2", + "file": "lang\\zh-cn.js", + "line": 1616, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.not_exist.l5.t0", + "file": "lang\\zh-cn.js", + "line": 1617, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.search.l15.t0", + "file": "lang\\zh-cn.js", + "line": 1618, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.search.l165.t0", + "file": "lang\\zh-cn.js", + "line": 1619, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.search.l33.t0", + "file": "lang\\zh-cn.js", + "line": 1620, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.search.l86.t0", + "file": "lang\\zh-cn.js", + "line": 1621, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.goods.search.l99.t0", + "file": "lang\\zh-cn.js", + "line": 1622, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.activist.l10.t0", + "file": "lang\\zh-cn.js", + "line": 1623, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.activist.l115.t0", + "file": "lang\\zh-cn.js", + "line": 1624, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.activist.l12.t0", + "file": "lang\\zh-cn.js", + "line": 1625, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.activist.l30.t0", + "file": "lang\\zh-cn.js", + "line": 1626, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.evaluate.l16.t0", + "file": "lang\\zh-cn.js", + "line": 1627, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.evaluate.l42.t0", + "file": "lang\\zh-cn.js", + "line": 1628, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.evaluate.l47.t0", + "file": "lang\\zh-cn.js", + "line": 1629, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.evaluate.l72.t0", + "file": "lang\\zh-cn.js", + "line": 1630, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.logistics.l37.t0", + "file": "lang\\zh-cn.js", + "line": 1631, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.public.js.evaluate.l160.t0", + "file": "lang\\zh-cn.js", + "line": 1632, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.public.js.evaluate.l168.t0", + "file": "lang\\zh-cn.js", + "line": 1633, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.public.js.evaluate.l200.t0", + "file": "lang\\zh-cn.js", + "line": 1634, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.public.js.evaluate.l90.t0", + "file": "lang\\zh-cn.js", + "line": 1635, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund.l17.t0", + "file": "lang\\zh-cn.js", + "line": 1636, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund.l175.t0", + "file": "lang\\zh-cn.js", + "line": 1637, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund.l18.t0", + "file": "lang\\zh-cn.js", + "line": 1638, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund.l24.t0", + "file": "lang\\zh-cn.js", + "line": 1639, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund.l242.t0", + "file": "lang\\zh-cn.js", + "line": 1640, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund.l25.t0", + "file": "lang\\zh-cn.js", + "line": 1641, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund.l34.t0", + "file": "lang\\zh-cn.js", + "line": 1642, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund.l42.t0", + "file": "lang\\zh-cn.js", + "line": 1643, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund.l48.t0", + "file": "lang\\zh-cn.js", + "line": 1644, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund.l54.t0", + "file": "lang\\zh-cn.js", + "line": 1645, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund.l81.t0", + "file": "lang\\zh-cn.js", + "line": 1646, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_batch.l26.t0", + "file": "lang\\zh-cn.js", + "line": 1647, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_detail.l10.t0", + "file": "lang\\zh-cn.js", + "line": 1648, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_detail.l100.t0", + "file": "lang\\zh-cn.js", + "line": 1649, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_detail.l106.t0", + "file": "lang\\zh-cn.js", + "line": 1650, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_detail.l121.t0", + "file": "lang\\zh-cn.js", + "line": 1651, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_detail.l121.t1", + "file": "lang\\zh-cn.js", + "line": 1652, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_detail.l13.t0", + "file": "lang\\zh-cn.js", + "line": 1653, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_detail.l139.t0", + "file": "lang\\zh-cn.js", + "line": 1654, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_detail.l14.t0", + "file": "lang\\zh-cn.js", + "line": 1655, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_detail.l19.t0", + "file": "lang\\zh-cn.js", + "line": 1656, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_detail.l24.t0", + "file": "lang\\zh-cn.js", + "line": 1657, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_detail.l26.t0", + "file": "lang\\zh-cn.js", + "line": 1658, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_detail.l29.t0", + "file": "lang\\zh-cn.js", + "line": 1659, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_detail.l32.t0", + "file": "lang\\zh-cn.js", + "line": 1660, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_detail.l38.t0", + "file": "lang\\zh-cn.js", + "line": 1661, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_detail.l51.t0", + "file": "lang\\zh-cn.js", + "line": 1662, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_detail.l51.t1", + "file": "lang\\zh-cn.js", + "line": 1663, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_detail.l52.t0", + "file": "lang\\zh-cn.js", + "line": 1664, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_detail.l52.t1", + "file": "lang\\zh-cn.js", + "line": 1665, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_detail.l52.t2", + "file": "lang\\zh-cn.js", + "line": 1666, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_detail.l52.t3", + "file": "lang\\zh-cn.js", + "line": 1667, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_detail.l56.t0", + "file": "lang\\zh-cn.js", + "line": 1668, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_detail.l57.t0", + "file": "lang\\zh-cn.js", + "line": 1669, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_detail.l58.t0", + "file": "lang\\zh-cn.js", + "line": 1670, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_detail.l59.t0", + "file": "lang\\zh-cn.js", + "line": 1671, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_detail.l60.t0", + "file": "lang\\zh-cn.js", + "line": 1672, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_detail.l76.t0", + "file": "lang\\zh-cn.js", + "line": 1673, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_detail.l8.t0", + "file": "lang\\zh-cn.js", + "line": 1674, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_detail.l80.t0", + "file": "lang\\zh-cn.js", + "line": 1675, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_detail.l88.t0", + "file": "lang\\zh-cn.js", + "line": 1676, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_detail.l9.t0", + "file": "lang\\zh-cn.js", + "line": 1677, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_detail.l92.t0", + "file": "lang\\zh-cn.js", + "line": 1678, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_goods_select.l28.t0", + "file": "lang\\zh-cn.js", + "line": 1679, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.order.refund_goods_select.l53.t0", + "file": "lang\\zh-cn.js", + "line": 1680, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.pay.cashier.l23.t0", + "file": "lang\\zh-cn.js", + "line": 1681, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.pay.cashier.l25.t0", + "file": "lang\\zh-cn.js", + "line": 1682, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.pay.cashier.l27.t0", + "file": "lang\\zh-cn.js", + "line": 1683, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.pay.result.l21.t0", + "file": "lang\\zh-cn.js", + "line": 1684, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.pay.result.l37.t0", + "file": "lang\\zh-cn.js", + "line": 1685, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.pay.result.l46.t0", + "file": "lang\\zh-cn.js", + "line": 1686, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.pay.wx_pay.l6.t0", + "file": "lang\\zh-cn.js", + "line": 1687, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.recharge.list.l20.t0", + "file": "lang\\zh-cn.js", + "line": 1688, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.recharge.list.l276.t0", + "file": "lang\\zh-cn.js", + "line": 1689, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.recharge.list.l29.t0", + "file": "lang\\zh-cn.js", + "line": 1690, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.recharge.list.l34.t0", + "file": "lang\\zh-cn.js", + "line": 1691, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.recharge.list.l44.t0", + "file": "lang\\zh-cn.js", + "line": 1692, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.recharge.list.l44.t1", + "file": "lang\\zh-cn.js", + "line": 1693, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.recharge.list.l50.t0", + "file": "lang\\zh-cn.js", + "line": 1694, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.recharge.list.l56.t0", + "file": "lang\\zh-cn.js", + "line": 1695, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.recharge.list.l67.t0", + "file": "lang\\zh-cn.js", + "line": 1696, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.recharge.list.l7.t0", + "file": "lang\\zh-cn.js", + "line": 1697, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.recharge.list.l89.t0", + "file": "lang\\zh-cn.js", + "line": 1698, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.recharge.order_list.l16.t0", + "file": "lang\\zh-cn.js", + "line": 1699, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.recharge.order_list.l24.t0", + "file": "lang\\zh-cn.js", + "line": 1700, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.recharge.order_list.l29.t0", + "file": "lang\\zh-cn.js", + "line": 1701, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.recharge.order_list.l34.t0", + "file": "lang\\zh-cn.js", + "line": 1702, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.storeclose.l41.t0", + "file": "lang\\zh-cn.js", + "line": 1703, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.storeclose.l45.t0", + "file": "lang\\zh-cn.js", + "line": 1704, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.storeclose.l47.t0", + "file": "lang\\zh-cn.js", + "line": 1705, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.weapp.order_shipping.l20.t0", + "file": "lang\\zh-cn.js", + "line": 1706, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + }, + { + "key": "tool.weapp.order_shipping.l32.t0", + "file": "lang\\zh-cn.js", + "line": 1707, + "reason": "行号式 locational key(如 chat-message.l60.t0),文件名/行号一变就失效(违反长期维护目标 4)" + } + ], + "跨业务域同名 tail": [ + { + "key": "article.detail.l5.t0", + "file": "lang\\en-us.js", + "line": 550, + "reason": "跨业务域同名 tail=\"l5.t0\",出现在 ['article', 'fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.withdraw_apply.l5.t0", + "file": "lang\\en-us.js", + "line": 836, + "reason": "跨业务域同名 tail=\"l5.t0\",出现在 ['article', 'fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.account_edit.l5.t0", + "file": "lang\\en-us.js", + "line": 1042, + "reason": "跨业务域同名 tail=\"l5.t0\",出现在 ['article', 'fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.assets.l5.t0", + "file": "lang\\en-us.js", + "line": 1070, + "reason": "跨业务域同名 tail=\"l5.t0\",出现在 ['article', 'fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.cancelrefuse.l5.t0", + "file": "lang\\en-us.js", + "line": 1091, + "reason": "跨业务域同名 tail=\"l5.t0\",出现在 ['article', 'fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.coupon.l5.t0", + "file": "lang\\en-us.js", + "line": 1128, + "reason": "跨业务域同名 tail=\"l5.t0\",出现在 ['article', 'fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.files.list.l5.t0", + "file": "lang\\en-us.js", + "line": 1584, + "reason": "跨业务域同名 tail=\"l5.t0\",出现在 ['article', 'fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.goods.not_exist.l5.t0", + "file": "lang\\en-us.js", + "line": 1617, + "reason": "跨业务域同名 tail=\"l5.t0\",出现在 ['article', 'fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "article.detail.l5.t0", + "file": "lang\\zh-cn.js", + "line": 550, + "reason": "跨业务域同名 tail=\"l5.t0\",出现在 ['article', 'fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.withdraw_apply.l5.t0", + "file": "lang\\zh-cn.js", + "line": 836, + "reason": "跨业务域同名 tail=\"l5.t0\",出现在 ['article', 'fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.account_edit.l5.t0", + "file": "lang\\zh-cn.js", + "line": 1042, + "reason": "跨业务域同名 tail=\"l5.t0\",出现在 ['article', 'fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.assets.l5.t0", + "file": "lang\\zh-cn.js", + "line": 1070, + "reason": "跨业务域同名 tail=\"l5.t0\",出现在 ['article', 'fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.cancelrefuse.l5.t0", + "file": "lang\\zh-cn.js", + "line": 1091, + "reason": "跨业务域同名 tail=\"l5.t0\",出现在 ['article', 'fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.coupon.l5.t0", + "file": "lang\\zh-cn.js", + "line": 1128, + "reason": "跨业务域同名 tail=\"l5.t0\",出现在 ['article', 'fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.files.list.l5.t0", + "file": "lang\\zh-cn.js", + "line": 1584, + "reason": "跨业务域同名 tail=\"l5.t0\",出现在 ['article', 'fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.goods.not_exist.l5.t0", + "file": "lang\\zh-cn.js", + "line": 1617, + "reason": "跨业务域同名 tail=\"l5.t0\",出现在 ['article', 'fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "article.list.l24.t0", + "file": "lang\\en-us.js", + "line": 551, + "reason": "跨业务域同名 tail=\"l24.t0\",出现在 ['article', 'fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.child_fenxiao.l24.t0", + "file": "lang\\en-us.js", + "line": 726, + "reason": "跨业务域同名 tail=\"l24.t0\",出现在 ['article', 'fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.level.l24.t0", + "file": "lang\\en-us.js", + "line": 794, + "reason": "跨业务域同名 tail=\"l24.t0\",出现在 ['article', 'fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.promote_code.l24.t0", + "file": "lang\\en-us.js", + "line": 814, + "reason": "跨业务域同名 tail=\"l24.t0\",出现在 ['article', 'fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.account_edit.l24.t0", + "file": "lang\\en-us.js", + "line": 1041, + "reason": "跨业务域同名 tail=\"l24.t0\",出现在 ['article', 'fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.apply_withdrawal.l24.t0", + "file": "lang\\en-us.js", + "line": 1063, + "reason": "跨业务域同名 tail=\"l24.t0\",出现在 ['article', 'fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.balance.l24.t0", + "file": "lang\\en-us.js", + "line": 1079, + "reason": "跨业务域同名 tail=\"l24.t0\",出现在 ['article', 'fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.point.l24.t0", + "file": "lang\\en-us.js", + "line": 1203, + "reason": "跨业务域同名 tail=\"l24.t0\",出现在 ['article', 'fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund.l24.t0", + "file": "lang\\en-us.js", + "line": 1639, + "reason": "跨业务域同名 tail=\"l24.t0\",出现在 ['article', 'fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund_detail.l24.t0", + "file": "lang\\en-us.js", + "line": 1657, + "reason": "跨业务域同名 tail=\"l24.t0\",出现在 ['article', 'fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.recharge.order_list.l24.t0", + "file": "lang\\en-us.js", + "line": 1700, + "reason": "跨业务域同名 tail=\"l24.t0\",出现在 ['article', 'fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "article.list.l24.t0", + "file": "lang\\zh-cn.js", + "line": 551, + "reason": "跨业务域同名 tail=\"l24.t0\",出现在 ['article', 'fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.child_fenxiao.l24.t0", + "file": "lang\\zh-cn.js", + "line": 726, + "reason": "跨业务域同名 tail=\"l24.t0\",出现在 ['article', 'fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.level.l24.t0", + "file": "lang\\zh-cn.js", + "line": 794, + "reason": "跨业务域同名 tail=\"l24.t0\",出现在 ['article', 'fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.promote_code.l24.t0", + "file": "lang\\zh-cn.js", + "line": 814, + "reason": "跨业务域同名 tail=\"l24.t0\",出现在 ['article', 'fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.account_edit.l24.t0", + "file": "lang\\zh-cn.js", + "line": 1041, + "reason": "跨业务域同名 tail=\"l24.t0\",出现在 ['article', 'fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.apply_withdrawal.l24.t0", + "file": "lang\\zh-cn.js", + "line": 1063, + "reason": "跨业务域同名 tail=\"l24.t0\",出现在 ['article', 'fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.balance.l24.t0", + "file": "lang\\zh-cn.js", + "line": 1079, + "reason": "跨业务域同名 tail=\"l24.t0\",出现在 ['article', 'fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.point.l24.t0", + "file": "lang\\zh-cn.js", + "line": 1203, + "reason": "跨业务域同名 tail=\"l24.t0\",出现在 ['article', 'fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund.l24.t0", + "file": "lang\\zh-cn.js", + "line": 1639, + "reason": "跨业务域同名 tail=\"l24.t0\",出现在 ['article', 'fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund_detail.l24.t0", + "file": "lang\\zh-cn.js", + "line": 1657, + "reason": "跨业务域同名 tail=\"l24.t0\",出现在 ['article', 'fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.recharge.order_list.l24.t0", + "file": "lang\\zh-cn.js", + "line": 1700, + "reason": "跨业务域同名 tail=\"l24.t0\",出现在 ['article', 'fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "article.list.l91.t0", + "file": "lang\\en-us.js", + "line": 552, + "reason": "跨业务域同名 tail=\"l91.t0\",出现在 ['article', 'member'](应收敛到 common)" + }, + { + "key": "member.card.l91.t0", + "file": "lang\\en-us.js", + "line": 1120, + "reason": "跨业务域同名 tail=\"l91.t0\",出现在 ['article', 'member'](应收敛到 common)" + }, + { + "key": "member.level.l91.t0", + "file": "lang\\en-us.js", + "line": 1178, + "reason": "跨业务域同名 tail=\"l91.t0\",出现在 ['article', 'member'](应收敛到 common)" + }, + { + "key": "article.list.l91.t0", + "file": "lang\\zh-cn.js", + "line": 552, + "reason": "跨业务域同名 tail=\"l91.t0\",出现在 ['article', 'member'](应收敛到 common)" + }, + { + "key": "member.card.l91.t0", + "file": "lang\\zh-cn.js", + "line": 1120, + "reason": "跨业务域同名 tail=\"l91.t0\",出现在 ['article', 'member'](应收敛到 common)" + }, + { + "key": "member.level.l91.t0", + "file": "lang\\zh-cn.js", + "line": 1178, + "reason": "跨业务域同名 tail=\"l91.t0\",出现在 ['article', 'member'](应收敛到 common)" + }, + { + "key": "contact.l165.t0", + "file": "lang\\en-us.js", + "line": 587, + "reason": "跨业务域同名 tail=\"l165.t0\",出现在 ['contact', 'tool'](应收敛到 common)" + }, + { + "key": "tool.goods.search.l165.t0", + "file": "lang\\en-us.js", + "line": 1619, + "reason": "跨业务域同名 tail=\"l165.t0\",出现在 ['contact', 'tool'](应收敛到 common)" + }, + { + "key": "contact.l165.t0", + "file": "lang\\zh-cn.js", + "line": 587, + "reason": "跨业务域同名 tail=\"l165.t0\",出现在 ['contact', 'tool'](应收敛到 common)" + }, + { + "key": "tool.goods.search.l165.t0", + "file": "lang\\zh-cn.js", + "line": 1619, + "reason": "跨业务域同名 tail=\"l165.t0\",出现在 ['contact', 'tool'](应收敛到 common)" + }, + { + "key": "contact.l372.t0", + "file": "lang\\en-us.js", + "line": 589, + "reason": "跨业务域同名 tail=\"l372.t0\",出现在 ['contact', 'order'](应收敛到 common)" + }, + { + "key": "order.detail.l372.t0", + "file": "lang\\en-us.js", + "line": 1391, + "reason": "跨业务域同名 tail=\"l372.t0\",出现在 ['contact', 'order'](应收敛到 common)" + }, + { + "key": "contact.l372.t0", + "file": "lang\\zh-cn.js", + "line": 589, + "reason": "跨业务域同名 tail=\"l372.t0\",出现在 ['contact', 'order'](应收敛到 common)" + }, + { + "key": "order.detail.l372.t0", + "file": "lang\\zh-cn.js", + "line": 1391, + "reason": "跨业务域同名 tail=\"l372.t0\",出现在 ['contact', 'order'](应收敛到 common)" + }, + { + "key": "contact.l376.t0", + "file": "lang\\en-us.js", + "line": 590, + "reason": "跨业务域同名 tail=\"l376.t0\",出现在 ['contact', 'order'](应收敛到 common)" + }, + { + "key": "order.detail.l376.t0", + "file": "lang\\en-us.js", + "line": 1392, + "reason": "跨业务域同名 tail=\"l376.t0\",出现在 ['contact', 'order'](应收敛到 common)" + }, + { + "key": "contact.l376.t0", + "file": "lang\\zh-cn.js", + "line": 590, + "reason": "跨业务域同名 tail=\"l376.t0\",出现在 ['contact', 'order'](应收敛到 common)" + }, + { + "key": "order.detail.l376.t0", + "file": "lang\\zh-cn.js", + "line": 1392, + "reason": "跨业务域同名 tail=\"l376.t0\",出现在 ['contact', 'order'](应收敛到 common)" + }, + { + "key": "contact.l76.t0", + "file": "lang\\en-us.js", + "line": 593, + "reason": "跨业务域同名 tail=\"l76.t0\",出现在 ['contact', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund_detail.l76.t0", + "file": "lang\\en-us.js", + "line": 1673, + "reason": "跨业务域同名 tail=\"l76.t0\",出现在 ['contact', 'tool'](应收敛到 common)" + }, + { + "key": "contact.l76.t0", + "file": "lang\\zh-cn.js", + "line": 593, + "reason": "跨业务域同名 tail=\"l76.t0\",出现在 ['contact', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund_detail.l76.t0", + "file": "lang\\zh-cn.js", + "line": 1673, + "reason": "跨业务域同名 tail=\"l76.t0\",出现在 ['contact', 'tool'](应收敛到 common)" + }, + { + "key": "contact.l93.t0", + "file": "lang\\en-us.js", + "line": 594, + "reason": "跨业务域同名 tail=\"l93.t0\",出现在 ['contact', 'fenxiao', 'merch'](应收敛到 common)" + }, + { + "key": "fenxiao.index.l93.t0", + "file": "lang\\en-us.js", + "line": 781, + "reason": "跨业务域同名 tail=\"l93.t0\",出现在 ['contact', 'fenxiao', 'merch'](应收敛到 common)" + }, + { + "key": "merch.public.edit.l93.t0", + "file": "lang\\en-us.js", + "line": 1271, + "reason": "跨业务域同名 tail=\"l93.t0\",出现在 ['contact', 'fenxiao', 'merch'](应收敛到 common)" + }, + { + "key": "contact.l93.t0", + "file": "lang\\zh-cn.js", + "line": 594, + "reason": "跨业务域同名 tail=\"l93.t0\",出现在 ['contact', 'fenxiao', 'merch'](应收敛到 common)" + }, + { + "key": "fenxiao.index.l93.t0", + "file": "lang\\zh-cn.js", + "line": 781, + "reason": "跨业务域同名 tail=\"l93.t0\",出现在 ['contact', 'fenxiao', 'merch'](应收敛到 common)" + }, + { + "key": "merch.public.edit.l93.t0", + "file": "lang\\zh-cn.js", + "line": 1271, + "reason": "跨业务域同名 tail=\"l93.t0\",出现在 ['contact', 'fenxiao', 'merch'](应收敛到 common)" + }, + { + "key": "fenxiao.apply.l100.t0", + "file": "lang\\en-us.js", + "line": 707, + "reason": "跨业务域同名 tail=\"l100.t0\",出现在 ['fenxiao', 'login', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "login.find.l100.t0", + "file": "lang\\en-us.js", + "line": 1001, + "reason": "跨业务域同名 tail=\"l100.t0\",出现在 ['fenxiao', 'login', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.level.l100.t0", + "file": "lang\\en-us.js", + "line": 1170, + "reason": "跨业务域同名 tail=\"l100.t0\",出现在 ['fenxiao', 'login', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund_detail.l100.t0", + "file": "lang\\en-us.js", + "line": 1649, + "reason": "跨业务域同名 tail=\"l100.t0\",出现在 ['fenxiao', 'login', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.apply.l100.t0", + "file": "lang\\zh-cn.js", + "line": 707, + "reason": "跨业务域同名 tail=\"l100.t0\",出现在 ['fenxiao', 'login', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "login.find.l100.t0", + "file": "lang\\zh-cn.js", + "line": 1001, + "reason": "跨业务域同名 tail=\"l100.t0\",出现在 ['fenxiao', 'login', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.level.l100.t0", + "file": "lang\\zh-cn.js", + "line": 1170, + "reason": "跨业务域同名 tail=\"l100.t0\",出现在 ['fenxiao', 'login', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund_detail.l100.t0", + "file": "lang\\zh-cn.js", + "line": 1649, + "reason": "跨业务域同名 tail=\"l100.t0\",出现在 ['fenxiao', 'login', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.apply.l101.t0", + "file": "lang\\en-us.js", + "line": 708, + "reason": "跨业务域同名 tail=\"l101.t0\",出现在 ['fenxiao', 'member'](应收敛到 common)" + }, + { + "key": "member.info.l101.t0", + "file": "lang\\en-us.js", + "line": 1136, + "reason": "跨业务域同名 tail=\"l101.t0\",出现在 ['fenxiao', 'member'](应收敛到 common)" + }, + { + "key": "fenxiao.apply.l101.t0", + "file": "lang\\zh-cn.js", + "line": 708, + "reason": "跨业务域同名 tail=\"l101.t0\",出现在 ['fenxiao', 'member'](应收敛到 common)" + }, + { + "key": "member.info.l101.t0", + "file": "lang\\zh-cn.js", + "line": 1136, + "reason": "跨业务域同名 tail=\"l101.t0\",出现在 ['fenxiao', 'member'](应收敛到 common)" + }, + { + "key": "fenxiao.apply.l126.t0", + "file": "lang\\en-us.js", + "line": 709, + "reason": "跨业务域同名 tail=\"l126.t0\",出现在 ['fenxiao', 'goods', 'member', 'merch', 'order', 'page'](应收敛到 common)" + }, + { + "key": "goods.public.js.list.l126.t0", + "file": "lang\\en-us.js", + "line": 966, + "reason": "跨业务域同名 tail=\"l126.t0\",出现在 ['fenxiao', 'goods', 'member', 'merch', 'order', 'page'](应收敛到 common)" + }, + { + "key": "member.invite_friends.l126.t0", + "file": "lang\\en-us.js", + "line": 1157, + "reason": "跨业务域同名 tail=\"l126.t0\",出现在 ['fenxiao', 'goods', 'member', 'merch', 'order', 'page'](应收敛到 common)" + }, + { + "key": "merch.public.edit.l126.t0", + "file": "lang\\en-us.js", + "line": 1244, + "reason": "跨业务域同名 tail=\"l126.t0\",出现在 ['fenxiao', 'goods', 'member', 'merch', 'order', 'page'](应收敛到 common)" + }, + { + "key": "order.detail_point.l126.t0", + "file": "lang\\en-us.js", + "line": 1410, + "reason": "跨业务域同名 tail=\"l126.t0\",出现在 ['fenxiao', 'goods', 'member', 'merch', 'order', 'page'](应收敛到 common)" + }, + { + "key": "page.index.public.js.index.l126.t0", + "file": "lang\\en-us.js", + "line": 1452, + "reason": "跨业务域同名 tail=\"l126.t0\",出现在 ['fenxiao', 'goods', 'member', 'merch', 'order', 'page'](应收敛到 common)" + }, + { + "key": "fenxiao.apply.l126.t0", + "file": "lang\\zh-cn.js", + "line": 709, + "reason": "跨业务域同名 tail=\"l126.t0\",出现在 ['fenxiao', 'goods', 'member', 'merch', 'order', 'page'](应收敛到 common)" + }, + { + "key": "goods.public.js.list.l126.t0", + "file": "lang\\zh-cn.js", + "line": 966, + "reason": "跨业务域同名 tail=\"l126.t0\",出现在 ['fenxiao', 'goods', 'member', 'merch', 'order', 'page'](应收敛到 common)" + }, + { + "key": "member.invite_friends.l126.t0", + "file": "lang\\zh-cn.js", + "line": 1157, + "reason": "跨业务域同名 tail=\"l126.t0\",出现在 ['fenxiao', 'goods', 'member', 'merch', 'order', 'page'](应收敛到 common)" + }, + { + "key": "merch.public.edit.l126.t0", + "file": "lang\\zh-cn.js", + "line": 1244, + "reason": "跨业务域同名 tail=\"l126.t0\",出现在 ['fenxiao', 'goods', 'member', 'merch', 'order', 'page'](应收敛到 common)" + }, + { + "key": "order.detail_point.l126.t0", + "file": "lang\\zh-cn.js", + "line": 1410, + "reason": "跨业务域同名 tail=\"l126.t0\",出现在 ['fenxiao', 'goods', 'member', 'merch', 'order', 'page'](应收敛到 common)" + }, + { + "key": "page.index.public.js.index.l126.t0", + "file": "lang\\zh-cn.js", + "line": 1452, + "reason": "跨业务域同名 tail=\"l126.t0\",出现在 ['fenxiao', 'goods', 'member', 'merch', 'order', 'page'](应收敛到 common)" + }, + { + "key": "fenxiao.apply.l131.t0", + "file": "lang\\en-us.js", + "line": 710, + "reason": "跨业务域同名 tail=\"l131.t0\",出现在 ['fenxiao', 'goods', 'member'](应收敛到 common)" + }, + { + "key": "fenxiao.level.l131.t0", + "file": "lang\\en-us.js", + "line": 784, + "reason": "跨业务域同名 tail=\"l131.t0\",出现在 ['fenxiao', 'goods', 'member'](应收敛到 common)" + }, + { + "key": "goods.detail.l131.t0", + "file": "lang\\en-us.js", + "line": 920, + "reason": "跨业务域同名 tail=\"l131.t0\",出现在 ['fenxiao', 'goods', 'member'](应收敛到 common)" + }, + { + "key": "member.info_edit.l131.t0", + "file": "lang\\en-us.js", + "line": 1146, + "reason": "跨业务域同名 tail=\"l131.t0\",出现在 ['fenxiao', 'goods', 'member'](应收敛到 common)" + }, + { + "key": "fenxiao.apply.l131.t0", + "file": "lang\\zh-cn.js", + "line": 710, + "reason": "跨业务域同名 tail=\"l131.t0\",出现在 ['fenxiao', 'goods', 'member'](应收敛到 common)" + }, + { + "key": "fenxiao.level.l131.t0", + "file": "lang\\zh-cn.js", + "line": 784, + "reason": "跨业务域同名 tail=\"l131.t0\",出现在 ['fenxiao', 'goods', 'member'](应收敛到 common)" + }, + { + "key": "goods.detail.l131.t0", + "file": "lang\\zh-cn.js", + "line": 920, + "reason": "跨业务域同名 tail=\"l131.t0\",出现在 ['fenxiao', 'goods', 'member'](应收敛到 common)" + }, + { + "key": "member.info_edit.l131.t0", + "file": "lang\\zh-cn.js", + "line": 1146, + "reason": "跨业务域同名 tail=\"l131.t0\",出现在 ['fenxiao', 'goods', 'member'](应收敛到 common)" + }, + { + "key": "fenxiao.apply.l133.t0", + "file": "lang\\en-us.js", + "line": 711, + "reason": "跨业务域同名 tail=\"l133.t0\",出现在 ['fenxiao', 'goods', 'member', 'merch', 'page', 'point'](应收敛到 common)" + }, + { + "key": "fenxiao.index.l133.t0", + "file": "lang\\en-us.js", + "line": 736, + "reason": "跨业务域同名 tail=\"l133.t0\",出现在 ['fenxiao', 'goods', 'member', 'merch', 'page', 'point'](应收敛到 common)" + }, + { + "key": "goods.detail.l133.t0", + "file": "lang\\en-us.js", + "line": 922, + "reason": "跨业务域同名 tail=\"l133.t0\",出现在 ['fenxiao', 'goods', 'member', 'merch', 'page', 'point'](应收敛到 common)" + }, + { + "key": "member.invite_friends.l133.t0", + "file": "lang\\en-us.js", + "line": 1158, + "reason": "跨业务域同名 tail=\"l133.t0\",出现在 ['fenxiao', 'goods', 'member', 'merch', 'page', 'point'](应收敛到 common)" + }, + { + "key": "merch.public.edit.l133.t0", + "file": "lang\\en-us.js", + "line": 1245, + "reason": "跨业务域同名 tail=\"l133.t0\",出现在 ['fenxiao', 'goods', 'member', 'merch', 'page', 'point'](应收敛到 common)" + }, + { + "key": "page.index.l133.t0", + "file": "lang\\en-us.js", + "line": 1446, + "reason": "跨业务域同名 tail=\"l133.t0\",出现在 ['fenxiao', 'goods', 'member', 'merch', 'page', 'point'](应收敛到 common)" + }, + { + "key": "point.payment.l133.t0", + "file": "lang\\en-us.js", + "line": 1509, + "reason": "跨业务域同名 tail=\"l133.t0\",出现在 ['fenxiao', 'goods', 'member', 'merch', 'page', 'point'](应收敛到 common)" + }, + { + "key": "fenxiao.apply.l133.t0", + "file": "lang\\zh-cn.js", + "line": 711, + "reason": "跨业务域同名 tail=\"l133.t0\",出现在 ['fenxiao', 'goods', 'member', 'merch', 'page', 'point'](应收敛到 common)" + }, + { + "key": "fenxiao.index.l133.t0", + "file": "lang\\zh-cn.js", + "line": 736, + "reason": "跨业务域同名 tail=\"l133.t0\",出现在 ['fenxiao', 'goods', 'member', 'merch', 'page', 'point'](应收敛到 common)" + }, + { + "key": "goods.detail.l133.t0", + "file": "lang\\zh-cn.js", + "line": 922, + "reason": "跨业务域同名 tail=\"l133.t0\",出现在 ['fenxiao', 'goods', 'member', 'merch', 'page', 'point'](应收敛到 common)" + }, + { + "key": "member.invite_friends.l133.t0", + "file": "lang\\zh-cn.js", + "line": 1158, + "reason": "跨业务域同名 tail=\"l133.t0\",出现在 ['fenxiao', 'goods', 'member', 'merch', 'page', 'point'](应收敛到 common)" + }, + { + "key": "merch.public.edit.l133.t0", + "file": "lang\\zh-cn.js", + "line": 1245, + "reason": "跨业务域同名 tail=\"l133.t0\",出现在 ['fenxiao', 'goods', 'member', 'merch', 'page', 'point'](应收敛到 common)" + }, + { + "key": "page.index.l133.t0", + "file": "lang\\zh-cn.js", + "line": 1446, + "reason": "跨业务域同名 tail=\"l133.t0\",出现在 ['fenxiao', 'goods', 'member', 'merch', 'page', 'point'](应收敛到 common)" + }, + { + "key": "point.payment.l133.t0", + "file": "lang\\zh-cn.js", + "line": 1509, + "reason": "跨业务域同名 tail=\"l133.t0\",出现在 ['fenxiao', 'goods', 'member', 'merch', 'page', 'point'](应收敛到 common)" + }, + { + "key": "fenxiao.apply.l134.t0", + "file": "lang\\en-us.js", + "line": 712, + "reason": "跨业务域同名 tail=\"l134.t0\",出现在 ['fenxiao', 'goods', 'member'](应收敛到 common)" + }, + { + "key": "goods.detail.l134.t0", + "file": "lang\\en-us.js", + "line": 923, + "reason": "跨业务域同名 tail=\"l134.t0\",出现在 ['fenxiao', 'goods', 'member'](应收敛到 common)" + }, + { + "key": "member.info_edit.l134.t0", + "file": "lang\\en-us.js", + "line": 1147, + "reason": "跨业务域同名 tail=\"l134.t0\",出现在 ['fenxiao', 'goods', 'member'](应收敛到 common)" + }, + { + "key": "fenxiao.apply.l134.t0", + "file": "lang\\zh-cn.js", + "line": 712, + "reason": "跨业务域同名 tail=\"l134.t0\",出现在 ['fenxiao', 'goods', 'member'](应收敛到 common)" + }, + { + "key": "goods.detail.l134.t0", + "file": "lang\\zh-cn.js", + "line": 923, + "reason": "跨业务域同名 tail=\"l134.t0\",出现在 ['fenxiao', 'goods', 'member'](应收敛到 common)" + }, + { + "key": "member.info_edit.l134.t0", + "file": "lang\\zh-cn.js", + "line": 1147, + "reason": "跨业务域同名 tail=\"l134.t0\",出现在 ['fenxiao', 'goods', 'member'](应收敛到 common)" + }, + { + "key": "fenxiao.apply.l16.t0", + "file": "lang\\en-us.js", + "line": 713, + "reason": "跨业务域同名 tail=\"l16.t0\",出现在 ['fenxiao', 'member', 'order', 'page', 'tool'](应收敛到 common)" + }, + { + "key": "member.cancelstatus.l16.t0", + "file": "lang\\en-us.js", + "line": 1094, + "reason": "跨业务域同名 tail=\"l16.t0\",出现在 ['fenxiao', 'member', 'order', 'page', 'tool'](应收敛到 common)" + }, + { + "key": "order.detail.l16.t0", + "file": "lang\\en-us.js", + "line": 1361, + "reason": "跨业务域同名 tail=\"l16.t0\",出现在 ['fenxiao', 'member', 'order', 'page', 'tool'](应收敛到 common)" + }, + { + "key": "page.index.l16.t0", + "file": "lang\\en-us.js", + "line": 1447, + "reason": "跨业务域同名 tail=\"l16.t0\",出现在 ['fenxiao', 'member', 'order', 'page', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.evaluate.l16.t0", + "file": "lang\\en-us.js", + "line": 1627, + "reason": "跨业务域同名 tail=\"l16.t0\",出现在 ['fenxiao', 'member', 'order', 'page', 'tool'](应收敛到 common)" + }, + { + "key": "tool.recharge.order_list.l16.t0", + "file": "lang\\en-us.js", + "line": 1699, + "reason": "跨业务域同名 tail=\"l16.t0\",出现在 ['fenxiao', 'member', 'order', 'page', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.apply.l16.t0", + "file": "lang\\zh-cn.js", + "line": 713, + "reason": "跨业务域同名 tail=\"l16.t0\",出现在 ['fenxiao', 'member', 'order', 'page', 'tool'](应收敛到 common)" + }, + { + "key": "member.cancelstatus.l16.t0", + "file": "lang\\zh-cn.js", + "line": 1094, + "reason": "跨业务域同名 tail=\"l16.t0\",出现在 ['fenxiao', 'member', 'order', 'page', 'tool'](应收敛到 common)" + }, + { + "key": "order.detail.l16.t0", + "file": "lang\\zh-cn.js", + "line": 1361, + "reason": "跨业务域同名 tail=\"l16.t0\",出现在 ['fenxiao', 'member', 'order', 'page', 'tool'](应收敛到 common)" + }, + { + "key": "page.index.l16.t0", + "file": "lang\\zh-cn.js", + "line": 1447, + "reason": "跨业务域同名 tail=\"l16.t0\",出现在 ['fenxiao', 'member', 'order', 'page', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.evaluate.l16.t0", + "file": "lang\\zh-cn.js", + "line": 1627, + "reason": "跨业务域同名 tail=\"l16.t0\",出现在 ['fenxiao', 'member', 'order', 'page', 'tool'](应收敛到 common)" + }, + { + "key": "tool.recharge.order_list.l16.t0", + "file": "lang\\zh-cn.js", + "line": 1699, + "reason": "跨业务域同名 tail=\"l16.t0\",出现在 ['fenxiao', 'member', 'order', 'page', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.apply.l194.t0", + "file": "lang\\en-us.js", + "line": 715, + "reason": "跨业务域同名 tail=\"l194.t0\",出现在 ['fenxiao', 'goods'](应收敛到 common)" + }, + { + "key": "goods.detail.l194.t0", + "file": "lang\\en-us.js", + "line": 927, + "reason": "跨业务域同名 tail=\"l194.t0\",出现在 ['fenxiao', 'goods'](应收敛到 common)" + }, + { + "key": "fenxiao.apply.l194.t0", + "file": "lang\\zh-cn.js", + "line": 715, + "reason": "跨业务域同名 tail=\"l194.t0\",出现在 ['fenxiao', 'goods'](应收敛到 common)" + }, + { + "key": "goods.detail.l194.t0", + "file": "lang\\zh-cn.js", + "line": 927, + "reason": "跨业务域同名 tail=\"l194.t0\",出现在 ['fenxiao', 'goods'](应收敛到 common)" + }, + { + "key": "fenxiao.apply.l27.t0", + "file": "lang\\en-us.js", + "line": 717, + "reason": "跨业务域同名 tail=\"l27.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.cancelstatus.l27.t0", + "file": "lang\\en-us.js", + "line": 1097, + "reason": "跨业务域同名 tail=\"l27.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.goods.coupon_receive.l27.t0", + "file": "lang\\en-us.js", + "line": 1610, + "reason": "跨业务域同名 tail=\"l27.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.pay.cashier.l27.t0", + "file": "lang\\en-us.js", + "line": 1683, + "reason": "跨业务域同名 tail=\"l27.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.apply.l27.t0", + "file": "lang\\zh-cn.js", + "line": 717, + "reason": "跨业务域同名 tail=\"l27.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.cancelstatus.l27.t0", + "file": "lang\\zh-cn.js", + "line": 1097, + "reason": "跨业务域同名 tail=\"l27.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.goods.coupon_receive.l27.t0", + "file": "lang\\zh-cn.js", + "line": 1610, + "reason": "跨业务域同名 tail=\"l27.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.pay.cashier.l27.t0", + "file": "lang\\zh-cn.js", + "line": 1683, + "reason": "跨业务域同名 tail=\"l27.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.apply.l32.t0", + "file": "lang\\en-us.js", + "line": 719, + "reason": "跨业务域同名 tail=\"l32.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.child_fenxiao.l32.t0", + "file": "lang\\en-us.js", + "line": 727, + "reason": "跨业务域同名 tail=\"l32.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.account.l32.t0", + "file": "lang\\en-us.js", + "line": 1031, + "reason": "跨业务域同名 tail=\"l32.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.point.l32.t0", + "file": "lang\\en-us.js", + "line": 1205, + "reason": "跨业务域同名 tail=\"l32.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.files.list.l32.t0", + "file": "lang\\en-us.js", + "line": 1583, + "reason": "跨业务域同名 tail=\"l32.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund_detail.l32.t0", + "file": "lang\\en-us.js", + "line": 1660, + "reason": "跨业务域同名 tail=\"l32.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.weapp.order_shipping.l32.t0", + "file": "lang\\en-us.js", + "line": 1707, + "reason": "跨业务域同名 tail=\"l32.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.apply.l32.t0", + "file": "lang\\zh-cn.js", + "line": 719, + "reason": "跨业务域同名 tail=\"l32.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.child_fenxiao.l32.t0", + "file": "lang\\zh-cn.js", + "line": 727, + "reason": "跨业务域同名 tail=\"l32.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.account.l32.t0", + "file": "lang\\zh-cn.js", + "line": 1031, + "reason": "跨业务域同名 tail=\"l32.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.point.l32.t0", + "file": "lang\\zh-cn.js", + "line": 1205, + "reason": "跨业务域同名 tail=\"l32.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.files.list.l32.t0", + "file": "lang\\zh-cn.js", + "line": 1583, + "reason": "跨业务域同名 tail=\"l32.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund_detail.l32.t0", + "file": "lang\\zh-cn.js", + "line": 1660, + "reason": "跨业务域同名 tail=\"l32.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.weapp.order_shipping.l32.t0", + "file": "lang\\zh-cn.js", + "line": 1707, + "reason": "跨业务域同名 tail=\"l32.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.apply.l45.t0", + "file": "lang\\en-us.js", + "line": 720, + "reason": "跨业务域同名 tail=\"l45.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.ranking_list.l45.t0", + "file": "lang\\en-us.js", + "line": 820, + "reason": "跨业务域同名 tail=\"l45.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.withdraw_list.l45.t0", + "file": "lang\\en-us.js", + "line": 844, + "reason": "跨业务域同名 tail=\"l45.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.coupon.l45.t0", + "file": "lang\\en-us.js", + "line": 1127, + "reason": "跨业务域同名 tail=\"l45.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.goods.coupon.l45.t0", + "file": "lang\\en-us.js", + "line": 1593, + "reason": "跨业务域同名 tail=\"l45.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.storeclose.l45.t0", + "file": "lang\\en-us.js", + "line": 1704, + "reason": "跨业务域同名 tail=\"l45.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.apply.l45.t0", + "file": "lang\\zh-cn.js", + "line": 720, + "reason": "跨业务域同名 tail=\"l45.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.ranking_list.l45.t0", + "file": "lang\\zh-cn.js", + "line": 820, + "reason": "跨业务域同名 tail=\"l45.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.withdraw_list.l45.t0", + "file": "lang\\zh-cn.js", + "line": 844, + "reason": "跨业务域同名 tail=\"l45.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.coupon.l45.t0", + "file": "lang\\zh-cn.js", + "line": 1127, + "reason": "跨业务域同名 tail=\"l45.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.goods.coupon.l45.t0", + "file": "lang\\zh-cn.js", + "line": 1593, + "reason": "跨业务域同名 tail=\"l45.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.storeclose.l45.t0", + "file": "lang\\zh-cn.js", + "line": 1704, + "reason": "跨业务域同名 tail=\"l45.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.apply.l52.t0", + "file": "lang\\en-us.js", + "line": 721, + "reason": "跨业务域同名 tail=\"l52.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.card.l52.t0", + "file": "lang\\en-us.js", + "line": 1110, + "reason": "跨业务域同名 tail=\"l52.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.pay_password.l52.t0", + "file": "lang\\en-us.js", + "line": 1201, + "reason": "跨业务域同名 tail=\"l52.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.goods.coupon.l52.t0", + "file": "lang\\en-us.js", + "line": 1594, + "reason": "跨业务域同名 tail=\"l52.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.goods.evaluate.l52.t0", + "file": "lang\\en-us.js", + "line": 1612, + "reason": "跨业务域同名 tail=\"l52.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund_detail.l52.t0", + "file": "lang\\en-us.js", + "line": 1664, + "reason": "跨业务域同名 tail=\"l52.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.apply.l52.t0", + "file": "lang\\zh-cn.js", + "line": 721, + "reason": "跨业务域同名 tail=\"l52.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.card.l52.t0", + "file": "lang\\zh-cn.js", + "line": 1110, + "reason": "跨业务域同名 tail=\"l52.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.pay_password.l52.t0", + "file": "lang\\zh-cn.js", + "line": 1201, + "reason": "跨业务域同名 tail=\"l52.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.goods.coupon.l52.t0", + "file": "lang\\zh-cn.js", + "line": 1594, + "reason": "跨业务域同名 tail=\"l52.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.goods.evaluate.l52.t0", + "file": "lang\\zh-cn.js", + "line": 1612, + "reason": "跨业务域同名 tail=\"l52.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund_detail.l52.t0", + "file": "lang\\zh-cn.js", + "line": 1664, + "reason": "跨业务域同名 tail=\"l52.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.apply.l82.t0", + "file": "lang\\en-us.js", + "line": 722, + "reason": "跨业务域同名 tail=\"l82.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.card.l82.t0", + "file": "lang\\en-us.js", + "line": 1118, + "reason": "跨业务域同名 tail=\"l82.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.info_edit.l82.t0", + "file": "lang\\en-us.js", + "line": 1155, + "reason": "跨业务域同名 tail=\"l82.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.goods.evaluate.l82.t0", + "file": "lang\\en-us.js", + "line": 1614, + "reason": "跨业务域同名 tail=\"l82.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.apply.l82.t0", + "file": "lang\\zh-cn.js", + "line": 722, + "reason": "跨业务域同名 tail=\"l82.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.card.l82.t0", + "file": "lang\\zh-cn.js", + "line": 1118, + "reason": "跨业务域同名 tail=\"l82.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.info_edit.l82.t0", + "file": "lang\\zh-cn.js", + "line": 1155, + "reason": "跨业务域同名 tail=\"l82.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.goods.evaluate.l82.t0", + "file": "lang\\zh-cn.js", + "line": 1614, + "reason": "跨业务域同名 tail=\"l82.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.bill.l11.t0", + "file": "lang\\en-us.js", + "line": 723, + "reason": "跨业务域同名 tail=\"l11.t0\",出现在 ['fenxiao', 'member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "member.pay_password.l11.t0", + "file": "lang\\en-us.js", + "line": 1195, + "reason": "跨业务域同名 tail=\"l11.t0\",出现在 ['fenxiao', 'member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "order.public.js.refundMethod.l11.t0", + "file": "lang\\en-us.js", + "line": 1439, + "reason": "跨业务域同名 tail=\"l11.t0\",出现在 ['fenxiao', 'member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "tool.agreement.contenr.l11.t0", + "file": "lang\\en-us.js", + "line": 1568, + "reason": "跨业务域同名 tail=\"l11.t0\",出现在 ['fenxiao', 'member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "tool.goods.coupon.l11.t0", + "file": "lang\\en-us.js", + "line": 1591, + "reason": "跨业务域同名 tail=\"l11.t0\",出现在 ['fenxiao', 'member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.bill.l11.t0", + "file": "lang\\zh-cn.js", + "line": 723, + "reason": "跨业务域同名 tail=\"l11.t0\",出现在 ['fenxiao', 'member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "member.pay_password.l11.t0", + "file": "lang\\zh-cn.js", + "line": 1195, + "reason": "跨业务域同名 tail=\"l11.t0\",出现在 ['fenxiao', 'member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "order.public.js.refundMethod.l11.t0", + "file": "lang\\zh-cn.js", + "line": 1439, + "reason": "跨业务域同名 tail=\"l11.t0\",出现在 ['fenxiao', 'member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "tool.agreement.contenr.l11.t0", + "file": "lang\\zh-cn.js", + "line": 1568, + "reason": "跨业务域同名 tail=\"l11.t0\",出现在 ['fenxiao', 'member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "tool.goods.coupon.l11.t0", + "file": "lang\\zh-cn.js", + "line": 1591, + "reason": "跨业务域同名 tail=\"l11.t0\",出现在 ['fenxiao', 'member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.bill.l19.t0", + "file": "lang\\en-us.js", + "line": 724, + "reason": "跨业务域同名 tail=\"l19.t0\",出现在 ['fenxiao', 'goods', 'login', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.order.l19.t0", + "file": "lang\\en-us.js", + "line": 797, + "reason": "跨业务域同名 tail=\"l19.t0\",出现在 ['fenxiao', 'goods', 'login', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.ranking_list.l19.t0", + "file": "lang\\en-us.js", + "line": 816, + "reason": "跨业务域同名 tail=\"l19.t0\",出现在 ['fenxiao', 'goods', 'login', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.withdraw_apply.l19.t0", + "file": "lang\\en-us.js", + "line": 827, + "reason": "跨业务域同名 tail=\"l19.t0\",出现在 ['fenxiao', 'goods', 'login', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "goods.list.l19.t0", + "file": "lang\\en-us.js", + "line": 949, + "reason": "跨业务域同名 tail=\"l19.t0\",出现在 ['fenxiao', 'goods', 'login', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "login.find.l19.t0", + "file": "lang\\en-us.js", + "line": 1006, + "reason": "跨业务域同名 tail=\"l19.t0\",出现在 ['fenxiao', 'goods', 'login', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.apply_withdrawal.l19.t0", + "file": "lang\\en-us.js", + "line": 1062, + "reason": "跨业务域同名 tail=\"l19.t0\",出现在 ['fenxiao', 'goods', 'login', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.balance.l19.t0", + "file": "lang\\en-us.js", + "line": 1078, + "reason": "跨业务域同名 tail=\"l19.t0\",出现在 ['fenxiao', 'goods', 'login', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund_detail.l19.t0", + "file": "lang\\en-us.js", + "line": 1656, + "reason": "跨业务域同名 tail=\"l19.t0\",出现在 ['fenxiao', 'goods', 'login', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.bill.l19.t0", + "file": "lang\\zh-cn.js", + "line": 724, + "reason": "跨业务域同名 tail=\"l19.t0\",出现在 ['fenxiao', 'goods', 'login', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.order.l19.t0", + "file": "lang\\zh-cn.js", + "line": 797, + "reason": "跨业务域同名 tail=\"l19.t0\",出现在 ['fenxiao', 'goods', 'login', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.ranking_list.l19.t0", + "file": "lang\\zh-cn.js", + "line": 816, + "reason": "跨业务域同名 tail=\"l19.t0\",出现在 ['fenxiao', 'goods', 'login', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.withdraw_apply.l19.t0", + "file": "lang\\zh-cn.js", + "line": 827, + "reason": "跨业务域同名 tail=\"l19.t0\",出现在 ['fenxiao', 'goods', 'login', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "goods.list.l19.t0", + "file": "lang\\zh-cn.js", + "line": 949, + "reason": "跨业务域同名 tail=\"l19.t0\",出现在 ['fenxiao', 'goods', 'login', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "login.find.l19.t0", + "file": "lang\\zh-cn.js", + "line": 1006, + "reason": "跨业务域同名 tail=\"l19.t0\",出现在 ['fenxiao', 'goods', 'login', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.apply_withdrawal.l19.t0", + "file": "lang\\zh-cn.js", + "line": 1062, + "reason": "跨业务域同名 tail=\"l19.t0\",出现在 ['fenxiao', 'goods', 'login', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.balance.l19.t0", + "file": "lang\\zh-cn.js", + "line": 1078, + "reason": "跨业务域同名 tail=\"l19.t0\",出现在 ['fenxiao', 'goods', 'login', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund_detail.l19.t0", + "file": "lang\\zh-cn.js", + "line": 1656, + "reason": "跨业务域同名 tail=\"l19.t0\",出现在 ['fenxiao', 'goods', 'login', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.child_fenxiao.l23.t0", + "file": "lang\\en-us.js", + "line": 725, + "reason": "跨业务域同名 tail=\"l23.t0\",出现在 ['fenxiao', 'goods', 'member', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "goods.detail.l23.t0", + "file": "lang\\en-us.js", + "line": 929, + "reason": "跨业务域同名 tail=\"l23.t0\",出现在 ['fenxiao', 'goods', 'member', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "goods.list.l23.t0", + "file": "lang\\en-us.js", + "line": 951, + "reason": "跨业务域同名 tail=\"l23.t0\",出现在 ['fenxiao', 'goods', 'member', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "member.account_edit.l23.t0", + "file": "lang\\en-us.js", + "line": 1039, + "reason": "跨业务域同名 tail=\"l23.t0\",出现在 ['fenxiao', 'goods', 'member', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "member.level_growth_rules.l23.t0", + "file": "lang\\en-us.js", + "line": 1182, + "reason": "跨业务域同名 tail=\"l23.t0\",出现在 ['fenxiao', 'goods', 'member', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "member.modify_face.l23.t0", + "file": "lang\\en-us.js", + "line": 1192, + "reason": "跨业务域同名 tail=\"l23.t0\",出现在 ['fenxiao', 'goods', 'member', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "seal.structure.l23.t0", + "file": "lang\\en-us.js", + "line": 1537, + "reason": "跨业务域同名 tail=\"l23.t0\",出现在 ['fenxiao', 'goods', 'member', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "tool.pay.cashier.l23.t0", + "file": "lang\\en-us.js", + "line": 1681, + "reason": "跨业务域同名 tail=\"l23.t0\",出现在 ['fenxiao', 'goods', 'member', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.child_fenxiao.l23.t0", + "file": "lang\\zh-cn.js", + "line": 725, + "reason": "跨业务域同名 tail=\"l23.t0\",出现在 ['fenxiao', 'goods', 'member', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "goods.detail.l23.t0", + "file": "lang\\zh-cn.js", + "line": 929, + "reason": "跨业务域同名 tail=\"l23.t0\",出现在 ['fenxiao', 'goods', 'member', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "goods.list.l23.t0", + "file": "lang\\zh-cn.js", + "line": 951, + "reason": "跨业务域同名 tail=\"l23.t0\",出现在 ['fenxiao', 'goods', 'member', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "member.account_edit.l23.t0", + "file": "lang\\zh-cn.js", + "line": 1039, + "reason": "跨业务域同名 tail=\"l23.t0\",出现在 ['fenxiao', 'goods', 'member', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "member.level_growth_rules.l23.t0", + "file": "lang\\zh-cn.js", + "line": 1182, + "reason": "跨业务域同名 tail=\"l23.t0\",出现在 ['fenxiao', 'goods', 'member', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "member.modify_face.l23.t0", + "file": "lang\\zh-cn.js", + "line": 1192, + "reason": "跨业务域同名 tail=\"l23.t0\",出现在 ['fenxiao', 'goods', 'member', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "seal.structure.l23.t0", + "file": "lang\\zh-cn.js", + "line": 1537, + "reason": "跨业务域同名 tail=\"l23.t0\",出现在 ['fenxiao', 'goods', 'member', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "tool.pay.cashier.l23.t0", + "file": "lang\\zh-cn.js", + "line": 1681, + "reason": "跨业务域同名 tail=\"l23.t0\",出现在 ['fenxiao', 'goods', 'member', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.goods_list.l118.t0", + "file": "lang\\en-us.js", + "line": 728, + "reason": "跨业务域同名 tail=\"l118.t0\",出现在 ['fenxiao', 'member'](应收敛到 common)" + }, + { + "key": "member.account.l118.t0", + "file": "lang\\en-us.js", + "line": 1028, + "reason": "跨业务域同名 tail=\"l118.t0\",出现在 ['fenxiao', 'member'](应收敛到 common)" + }, + { + "key": "fenxiao.goods_list.l118.t0", + "file": "lang\\zh-cn.js", + "line": 728, + "reason": "跨业务域同名 tail=\"l118.t0\",出现在 ['fenxiao', 'member'](应收敛到 common)" + }, + { + "key": "member.account.l118.t0", + "file": "lang\\zh-cn.js", + "line": 1028, + "reason": "跨业务域同名 tail=\"l118.t0\",出现在 ['fenxiao', 'member'](应收敛到 common)" + }, + { + "key": "fenxiao.goods_list.l43.t0", + "file": "lang\\en-us.js", + "line": 729, + "reason": "跨业务域同名 tail=\"l43.t0\",出现在 ['fenxiao', 'member'](应收敛到 common)" + }, + { + "key": "fenxiao.index.l43.t0", + "file": "lang\\en-us.js", + "line": 758, + "reason": "跨业务域同名 tail=\"l43.t0\",出现在 ['fenxiao', 'member'](应收敛到 common)" + }, + { + "key": "member.info.l43.t0", + "file": "lang\\en-us.js", + "line": 1139, + "reason": "跨业务域同名 tail=\"l43.t0\",出现在 ['fenxiao', 'member'](应收敛到 common)" + }, + { + "key": "fenxiao.goods_list.l43.t0", + "file": "lang\\zh-cn.js", + "line": 729, + "reason": "跨业务域同名 tail=\"l43.t0\",出现在 ['fenxiao', 'member'](应收敛到 common)" + }, + { + "key": "fenxiao.index.l43.t0", + "file": "lang\\zh-cn.js", + "line": 758, + "reason": "跨业务域同名 tail=\"l43.t0\",出现在 ['fenxiao', 'member'](应收敛到 common)" + }, + { + "key": "member.info.l43.t0", + "file": "lang\\zh-cn.js", + "line": 1139, + "reason": "跨业务域同名 tail=\"l43.t0\",出现在 ['fenxiao', 'member'](应收敛到 common)" + }, + { + "key": "fenxiao.goods_list.l49.t0", + "file": "lang\\en-us.js", + "line": 730, + "reason": "跨业务域同名 tail=\"l49.t0\",出现在 ['fenxiao', 'member'](应收敛到 common)" + }, + { + "key": "fenxiao.withdraw_list.l49.t0", + "file": "lang\\en-us.js", + "line": 845, + "reason": "跨业务域同名 tail=\"l49.t0\",出现在 ['fenxiao', 'member'](应收敛到 common)" + }, + { + "key": "member.balance.l49.t0", + "file": "lang\\en-us.js", + "line": 1082, + "reason": "跨业务域同名 tail=\"l49.t0\",出现在 ['fenxiao', 'member'](应收敛到 common)" + }, + { + "key": "member.footprint.l49.t0", + "file": "lang\\en-us.js", + "line": 1132, + "reason": "跨业务域同名 tail=\"l49.t0\",出现在 ['fenxiao', 'member'](应收敛到 common)" + }, + { + "key": "fenxiao.goods_list.l49.t0", + "file": "lang\\zh-cn.js", + "line": 730, + "reason": "跨业务域同名 tail=\"l49.t0\",出现在 ['fenxiao', 'member'](应收敛到 common)" + }, + { + "key": "fenxiao.withdraw_list.l49.t0", + "file": "lang\\zh-cn.js", + "line": 845, + "reason": "跨业务域同名 tail=\"l49.t0\",出现在 ['fenxiao', 'member'](应收敛到 common)" + }, + { + "key": "member.balance.l49.t0", + "file": "lang\\zh-cn.js", + "line": 1082, + "reason": "跨业务域同名 tail=\"l49.t0\",出现在 ['fenxiao', 'member'](应收敛到 common)" + }, + { + "key": "member.footprint.l49.t0", + "file": "lang\\zh-cn.js", + "line": 1132, + "reason": "跨业务域同名 tail=\"l49.t0\",出现在 ['fenxiao', 'member'](应收敛到 common)" + }, + { + "key": "fenxiao.goods_list.l56.t0", + "file": "lang\\en-us.js", + "line": 731, + "reason": "跨业务域同名 tail=\"l56.t0\",出现在 ['fenxiao', 'member', 'merch', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.order_detail.l56.t0", + "file": "lang\\en-us.js", + "line": 804, + "reason": "跨业务域同名 tail=\"l56.t0\",出现在 ['fenxiao', 'member', 'merch', 'tool'](应收敛到 common)" + }, + { + "key": "member.balance.l56.t0", + "file": "lang\\en-us.js", + "line": 1083, + "reason": "跨业务域同名 tail=\"l56.t0\",出现在 ['fenxiao', 'member', 'merch', 'tool'](应收敛到 common)" + }, + { + "key": "member.invite_friends.l56.t0", + "file": "lang\\en-us.js", + "line": 1166, + "reason": "跨业务域同名 tail=\"l56.t0\",出现在 ['fenxiao', 'member', 'merch', 'tool'](应收敛到 common)" + }, + { + "key": "merch.public.edit.l56.t0", + "file": "lang\\en-us.js", + "line": 1249, + "reason": "跨业务域同名 tail=\"l56.t0\",出现在 ['fenxiao', 'member', 'merch', 'tool'](应收敛到 common)" + }, + { + "key": "tool.cases.index.l56.t0", + "file": "lang\\en-us.js", + "line": 1576, + "reason": "跨业务域同名 tail=\"l56.t0\",出现在 ['fenxiao', 'member', 'merch', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund_detail.l56.t0", + "file": "lang\\en-us.js", + "line": 1668, + "reason": "跨业务域同名 tail=\"l56.t0\",出现在 ['fenxiao', 'member', 'merch', 'tool'](应收敛到 common)" + }, + { + "key": "tool.recharge.list.l56.t0", + "file": "lang\\en-us.js", + "line": 1695, + "reason": "跨业务域同名 tail=\"l56.t0\",出现在 ['fenxiao', 'member', 'merch', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.goods_list.l56.t0", + "file": "lang\\zh-cn.js", + "line": 731, + "reason": "跨业务域同名 tail=\"l56.t0\",出现在 ['fenxiao', 'member', 'merch', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.order_detail.l56.t0", + "file": "lang\\zh-cn.js", + "line": 804, + "reason": "跨业务域同名 tail=\"l56.t0\",出现在 ['fenxiao', 'member', 'merch', 'tool'](应收敛到 common)" + }, + { + "key": "member.balance.l56.t0", + "file": "lang\\zh-cn.js", + "line": 1083, + "reason": "跨业务域同名 tail=\"l56.t0\",出现在 ['fenxiao', 'member', 'merch', 'tool'](应收敛到 common)" + }, + { + "key": "member.invite_friends.l56.t0", + "file": "lang\\zh-cn.js", + "line": 1166, + "reason": "跨业务域同名 tail=\"l56.t0\",出现在 ['fenxiao', 'member', 'merch', 'tool'](应收敛到 common)" + }, + { + "key": "merch.public.edit.l56.t0", + "file": "lang\\zh-cn.js", + "line": 1249, + "reason": "跨业务域同名 tail=\"l56.t0\",出现在 ['fenxiao', 'member', 'merch', 'tool'](应收敛到 common)" + }, + { + "key": "tool.cases.index.l56.t0", + "file": "lang\\zh-cn.js", + "line": 1576, + "reason": "跨业务域同名 tail=\"l56.t0\",出现在 ['fenxiao', 'member', 'merch', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund_detail.l56.t0", + "file": "lang\\zh-cn.js", + "line": 1668, + "reason": "跨业务域同名 tail=\"l56.t0\",出现在 ['fenxiao', 'member', 'merch', 'tool'](应收敛到 common)" + }, + { + "key": "tool.recharge.list.l56.t0", + "file": "lang\\zh-cn.js", + "line": 1695, + "reason": "跨业务域同名 tail=\"l56.t0\",出现在 ['fenxiao', 'member', 'merch', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.goods_list.l59.t0", + "file": "lang\\en-us.js", + "line": 732, + "reason": "跨业务域同名 tail=\"l59.t0\",出现在 ['fenxiao', 'member', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.index.l59.t0", + "file": "lang\\en-us.js", + "line": 778, + "reason": "跨业务域同名 tail=\"l59.t0\",出现在 ['fenxiao', 'member', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.withdraw_apply.l59.t0", + "file": "lang\\en-us.js", + "line": 837, + "reason": "跨业务域同名 tail=\"l59.t0\",出现在 ['fenxiao', 'member', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "member.assets.l59.t0", + "file": "lang\\en-us.js", + "line": 1072, + "reason": "跨业务域同名 tail=\"l59.t0\",出现在 ['fenxiao', 'member', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "member.footprint.l59.t0", + "file": "lang\\en-us.js", + "line": 1135, + "reason": "跨业务域同名 tail=\"l59.t0\",出现在 ['fenxiao', 'member', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "member.level.l59.t0", + "file": "lang\\en-us.js", + "line": 1176, + "reason": "跨业务域同名 tail=\"l59.t0\",出现在 ['fenxiao', 'member', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "point.list.l59.t0", + "file": "lang\\en-us.js", + "line": 1502, + "reason": "跨业务域同名 tail=\"l59.t0\",出现在 ['fenxiao', 'member', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund_detail.l59.t0", + "file": "lang\\en-us.js", + "line": 1671, + "reason": "跨业务域同名 tail=\"l59.t0\",出现在 ['fenxiao', 'member', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.goods_list.l59.t0", + "file": "lang\\zh-cn.js", + "line": 732, + "reason": "跨业务域同名 tail=\"l59.t0\",出现在 ['fenxiao', 'member', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.index.l59.t0", + "file": "lang\\zh-cn.js", + "line": 778, + "reason": "跨业务域同名 tail=\"l59.t0\",出现在 ['fenxiao', 'member', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.withdraw_apply.l59.t0", + "file": "lang\\zh-cn.js", + "line": 837, + "reason": "跨业务域同名 tail=\"l59.t0\",出现在 ['fenxiao', 'member', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "member.assets.l59.t0", + "file": "lang\\zh-cn.js", + "line": 1072, + "reason": "跨业务域同名 tail=\"l59.t0\",出现在 ['fenxiao', 'member', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "member.footprint.l59.t0", + "file": "lang\\zh-cn.js", + "line": 1135, + "reason": "跨业务域同名 tail=\"l59.t0\",出现在 ['fenxiao', 'member', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "member.level.l59.t0", + "file": "lang\\zh-cn.js", + "line": 1176, + "reason": "跨业务域同名 tail=\"l59.t0\",出现在 ['fenxiao', 'member', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "point.list.l59.t0", + "file": "lang\\zh-cn.js", + "line": 1502, + "reason": "跨业务域同名 tail=\"l59.t0\",出现在 ['fenxiao', 'member', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund_detail.l59.t0", + "file": "lang\\zh-cn.js", + "line": 1671, + "reason": "跨业务域同名 tail=\"l59.t0\",出现在 ['fenxiao', 'member', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.index.l124.t0", + "file": "lang\\en-us.js", + "line": 734, + "reason": "跨业务域同名 tail=\"l124.t0\",出现在 ['fenxiao', 'member'](应收敛到 common)" + }, + { + "key": "member.balance_detail.l124.t0", + "file": "lang\\en-us.js", + "line": 1084, + "reason": "跨业务域同名 tail=\"l124.t0\",出现在 ['fenxiao', 'member'](应收敛到 common)" + }, + { + "key": "fenxiao.index.l124.t0", + "file": "lang\\zh-cn.js", + "line": 734, + "reason": "跨业务域同名 tail=\"l124.t0\",出现在 ['fenxiao', 'member'](应收敛到 common)" + }, + { + "key": "member.balance_detail.l124.t0", + "file": "lang\\zh-cn.js", + "line": 1084, + "reason": "跨业务域同名 tail=\"l124.t0\",出现在 ['fenxiao', 'member'](应收敛到 common)" + }, + { + "key": "fenxiao.index.l125.t0", + "file": "lang\\en-us.js", + "line": 735, + "reason": "跨业务域同名 tail=\"l125.t0\",出现在 ['fenxiao', 'point'](应收敛到 common)" + }, + { + "key": "point.list.l125.t0", + "file": "lang\\en-us.js", + "line": 1479, + "reason": "跨业务域同名 tail=\"l125.t0\",出现在 ['fenxiao', 'point'](应收敛到 common)" + }, + { + "key": "fenxiao.index.l125.t0", + "file": "lang\\zh-cn.js", + "line": 735, + "reason": "跨业务域同名 tail=\"l125.t0\",出现在 ['fenxiao', 'point'](应收敛到 common)" + }, + { + "key": "point.list.l125.t0", + "file": "lang\\zh-cn.js", + "line": 1479, + "reason": "跨业务域同名 tail=\"l125.t0\",出现在 ['fenxiao', 'point'](应收敛到 common)" + }, + { + "key": "fenxiao.index.l142.t0", + "file": "lang\\en-us.js", + "line": 737, + "reason": "跨业务域同名 tail=\"l142.t0\",出现在 ['fenxiao', 'member'](应收敛到 common)" + }, + { + "key": "member.address_edit.l142.t0", + "file": "lang\\en-us.js", + "line": 1052, + "reason": "跨业务域同名 tail=\"l142.t0\",出现在 ['fenxiao', 'member'](应收敛到 common)" + }, + { + "key": "member.invite_friends.l142.t0", + "file": "lang\\en-us.js", + "line": 1159, + "reason": "跨业务域同名 tail=\"l142.t0\",出现在 ['fenxiao', 'member'](应收敛到 common)" + }, + { + "key": "fenxiao.index.l142.t0", + "file": "lang\\zh-cn.js", + "line": 737, + "reason": "跨业务域同名 tail=\"l142.t0\",出现在 ['fenxiao', 'member'](应收敛到 common)" + }, + { + "key": "member.address_edit.l142.t0", + "file": "lang\\zh-cn.js", + "line": 1052, + "reason": "跨业务域同名 tail=\"l142.t0\",出现在 ['fenxiao', 'member'](应收敛到 common)" + }, + { + "key": "member.invite_friends.l142.t0", + "file": "lang\\zh-cn.js", + "line": 1159, + "reason": "跨业务域同名 tail=\"l142.t0\",出现在 ['fenxiao', 'member'](应收敛到 common)" + }, + { + "key": "fenxiao.index.l172.t0", + "file": "lang\\en-us.js", + "line": 740, + "reason": "跨业务域同名 tail=\"l172.t0\",出现在 ['fenxiao', 'goods'](应收敛到 common)" + }, + { + "key": "goods.list.l172.t0", + "file": "lang\\en-us.js", + "line": 947, + "reason": "跨业务域同名 tail=\"l172.t0\",出现在 ['fenxiao', 'goods'](应收敛到 common)" + }, + { + "key": "fenxiao.index.l172.t0", + "file": "lang\\zh-cn.js", + "line": 740, + "reason": "跨业务域同名 tail=\"l172.t0\",出现在 ['fenxiao', 'goods'](应收敛到 common)" + }, + { + "key": "goods.list.l172.t0", + "file": "lang\\zh-cn.js", + "line": 947, + "reason": "跨业务域同名 tail=\"l172.t0\",出现在 ['fenxiao', 'goods'](应收敛到 common)" + }, + { + "key": "fenxiao.index.l21.t0", + "file": "lang\\en-us.js", + "line": 742, + "reason": "跨业务域同名 tail=\"l21.t0\",出现在 ['fenxiao', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.promote.l21.t0", + "file": "lang\\en-us.js", + "line": 806, + "reason": "跨业务域同名 tail=\"l21.t0\",出现在 ['fenxiao', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.ranking_list.l21.t0", + "file": "lang\\en-us.js", + "line": 817, + "reason": "跨业务域同名 tail=\"l21.t0\",出现在 ['fenxiao', 'tool'](应收敛到 common)" + }, + { + "key": "tool.pay.result.l21.t0", + "file": "lang\\en-us.js", + "line": 1684, + "reason": "跨业务域同名 tail=\"l21.t0\",出现在 ['fenxiao', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.index.l21.t0", + "file": "lang\\zh-cn.js", + "line": 742, + "reason": "跨业务域同名 tail=\"l21.t0\",出现在 ['fenxiao', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.promote.l21.t0", + "file": "lang\\zh-cn.js", + "line": 806, + "reason": "跨业务域同名 tail=\"l21.t0\",出现在 ['fenxiao', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.ranking_list.l21.t0", + "file": "lang\\zh-cn.js", + "line": 817, + "reason": "跨业务域同名 tail=\"l21.t0\",出现在 ['fenxiao', 'tool'](应收敛到 common)" + }, + { + "key": "tool.pay.result.l21.t0", + "file": "lang\\zh-cn.js", + "line": 1684, + "reason": "跨业务域同名 tail=\"l21.t0\",出现在 ['fenxiao', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.index.l214.t0", + "file": "lang\\en-us.js", + "line": 744, + "reason": "跨业务域同名 tail=\"l214.t0\",出现在 ['fenxiao', 'member', 'order'](应收敛到 common)" + }, + { + "key": "member.card_buy.l214.t0", + "file": "lang\\en-us.js", + "line": 1122, + "reason": "跨业务域同名 tail=\"l214.t0\",出现在 ['fenxiao', 'member', 'order'](应收敛到 common)" + }, + { + "key": "order.detail.l214.t0", + "file": "lang\\en-us.js", + "line": 1367, + "reason": "跨业务域同名 tail=\"l214.t0\",出现在 ['fenxiao', 'member', 'order'](应收敛到 common)" + }, + { + "key": "fenxiao.index.l214.t0", + "file": "lang\\zh-cn.js", + "line": 744, + "reason": "跨业务域同名 tail=\"l214.t0\",出现在 ['fenxiao', 'member', 'order'](应收敛到 common)" + }, + { + "key": "member.card_buy.l214.t0", + "file": "lang\\zh-cn.js", + "line": 1122, + "reason": "跨业务域同名 tail=\"l214.t0\",出现在 ['fenxiao', 'member', 'order'](应收敛到 common)" + }, + { + "key": "order.detail.l214.t0", + "file": "lang\\zh-cn.js", + "line": 1367, + "reason": "跨业务域同名 tail=\"l214.t0\",出现在 ['fenxiao', 'member', 'order'](应收敛到 common)" + }, + { + "key": "fenxiao.index.l22.t0", + "file": "lang\\en-us.js", + "line": 746, + "reason": "跨业务域同名 tail=\"l22.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.promote.l22.t0", + "file": "lang\\en-us.js", + "line": 807, + "reason": "跨业务域同名 tail=\"l22.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.withdrawal_detail.l22.t0", + "file": "lang\\en-us.js", + "line": 852, + "reason": "跨业务域同名 tail=\"l22.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.assets.l22.t0", + "file": "lang\\en-us.js", + "line": 1067, + "reason": "跨业务域同名 tail=\"l22.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.modify_face.l22.t0", + "file": "lang\\en-us.js", + "line": 1191, + "reason": "跨业务域同名 tail=\"l22.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.cases.index.l22.t0", + "file": "lang\\en-us.js", + "line": 1573, + "reason": "跨业务域同名 tail=\"l22.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.index.l22.t0", + "file": "lang\\zh-cn.js", + "line": 746, + "reason": "跨业务域同名 tail=\"l22.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.promote.l22.t0", + "file": "lang\\zh-cn.js", + "line": 807, + "reason": "跨业务域同名 tail=\"l22.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.withdrawal_detail.l22.t0", + "file": "lang\\zh-cn.js", + "line": 852, + "reason": "跨业务域同名 tail=\"l22.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.assets.l22.t0", + "file": "lang\\zh-cn.js", + "line": 1067, + "reason": "跨业务域同名 tail=\"l22.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.modify_face.l22.t0", + "file": "lang\\zh-cn.js", + "line": 1191, + "reason": "跨业务域同名 tail=\"l22.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.cases.index.l22.t0", + "file": "lang\\zh-cn.js", + "line": 1573, + "reason": "跨业务域同名 tail=\"l22.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.index.l239.t0", + "file": "lang\\en-us.js", + "line": 749, + "reason": "跨业务域同名 tail=\"l239.t0\",出现在 ['fenxiao', 'goods', 'point'](应收敛到 common)" + }, + { + "key": "goods.cart.l239.t0", + "file": "lang\\en-us.js", + "line": 912, + "reason": "跨业务域同名 tail=\"l239.t0\",出现在 ['fenxiao', 'goods', 'point'](应收敛到 common)" + }, + { + "key": "point.list.l239.t0", + "file": "lang\\en-us.js", + "line": 1485, + "reason": "跨业务域同名 tail=\"l239.t0\",出现在 ['fenxiao', 'goods', 'point'](应收敛到 common)" + }, + { + "key": "fenxiao.index.l239.t0", + "file": "lang\\zh-cn.js", + "line": 749, + "reason": "跨业务域同名 tail=\"l239.t0\",出现在 ['fenxiao', 'goods', 'point'](应收敛到 common)" + }, + { + "key": "goods.cart.l239.t0", + "file": "lang\\zh-cn.js", + "line": 912, + "reason": "跨业务域同名 tail=\"l239.t0\",出现在 ['fenxiao', 'goods', 'point'](应收敛到 common)" + }, + { + "key": "point.list.l239.t0", + "file": "lang\\zh-cn.js", + "line": 1485, + "reason": "跨业务域同名 tail=\"l239.t0\",出现在 ['fenxiao', 'goods', 'point'](应收敛到 common)" + }, + { + "key": "fenxiao.index.l254.t0", + "file": "lang\\en-us.js", + "line": 750, + "reason": "跨业务域同名 tail=\"l254.t0\",出现在 ['fenxiao', 'order'](应收敛到 common)" + }, + { + "key": "order.detail.l254.t0", + "file": "lang\\en-us.js", + "line": 1373, + "reason": "跨业务域同名 tail=\"l254.t0\",出现在 ['fenxiao', 'order'](应收敛到 common)" + }, + { + "key": "fenxiao.index.l254.t0", + "file": "lang\\zh-cn.js", + "line": 750, + "reason": "跨业务域同名 tail=\"l254.t0\",出现在 ['fenxiao', 'order'](应收敛到 common)" + }, + { + "key": "order.detail.l254.t0", + "file": "lang\\zh-cn.js", + "line": 1373, + "reason": "跨业务域同名 tail=\"l254.t0\",出现在 ['fenxiao', 'order'](应收敛到 common)" + }, + { + "key": "fenxiao.index.l293.t0", + "file": "lang\\en-us.js", + "line": 752, + "reason": "跨业务域同名 tail=\"l293.t0\",出现在 ['fenxiao', 'member', 'order'](应收敛到 common)" + }, + { + "key": "member.address.l293.t0", + "file": "lang\\en-us.js", + "line": 1048, + "reason": "跨业务域同名 tail=\"l293.t0\",出现在 ['fenxiao', 'member', 'order'](应收敛到 common)" + }, + { + "key": "order.detail.l293.t0", + "file": "lang\\en-us.js", + "line": 1383, + "reason": "跨业务域同名 tail=\"l293.t0\",出现在 ['fenxiao', 'member', 'order'](应收敛到 common)" + }, + { + "key": "fenxiao.index.l293.t0", + "file": "lang\\zh-cn.js", + "line": 752, + "reason": "跨业务域同名 tail=\"l293.t0\",出现在 ['fenxiao', 'member', 'order'](应收敛到 common)" + }, + { + "key": "member.address.l293.t0", + "file": "lang\\zh-cn.js", + "line": 1048, + "reason": "跨业务域同名 tail=\"l293.t0\",出现在 ['fenxiao', 'member', 'order'](应收敛到 common)" + }, + { + "key": "order.detail.l293.t0", + "file": "lang\\zh-cn.js", + "line": 1383, + "reason": "跨业务域同名 tail=\"l293.t0\",出现在 ['fenxiao', 'member', 'order'](应收敛到 common)" + }, + { + "key": "fenxiao.index.l33.t0", + "file": "lang\\en-us.js", + "line": 753, + "reason": "跨业务域同名 tail=\"l33.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.ranking_list.l33.t0", + "file": "lang\\en-us.js", + "line": 818, + "reason": "跨业务域同名 tail=\"l33.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.assets.l33.t0", + "file": "lang\\en-us.js", + "line": 1068, + "reason": "跨业务域同名 tail=\"l33.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.balance.l33.t0", + "file": "lang\\en-us.js", + "line": 1081, + "reason": "跨业务域同名 tail=\"l33.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.cancelstatus.l33.t0", + "file": "lang\\en-us.js", + "line": 1098, + "reason": "跨业务域同名 tail=\"l33.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.collection.l33.t0", + "file": "lang\\en-us.js", + "line": 1125, + "reason": "跨业务域同名 tail=\"l33.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.level_growth_rules.l33.t0", + "file": "lang\\en-us.js", + "line": 1185, + "reason": "跨业务域同名 tail=\"l33.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.goods.search.l33.t0", + "file": "lang\\en-us.js", + "line": 1620, + "reason": "跨业务域同名 tail=\"l33.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.index.l33.t0", + "file": "lang\\zh-cn.js", + "line": 753, + "reason": "跨业务域同名 tail=\"l33.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.ranking_list.l33.t0", + "file": "lang\\zh-cn.js", + "line": 818, + "reason": "跨业务域同名 tail=\"l33.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.assets.l33.t0", + "file": "lang\\zh-cn.js", + "line": 1068, + "reason": "跨业务域同名 tail=\"l33.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.balance.l33.t0", + "file": "lang\\zh-cn.js", + "line": 1081, + "reason": "跨业务域同名 tail=\"l33.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.cancelstatus.l33.t0", + "file": "lang\\zh-cn.js", + "line": 1098, + "reason": "跨业务域同名 tail=\"l33.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.collection.l33.t0", + "file": "lang\\zh-cn.js", + "line": 1125, + "reason": "跨业务域同名 tail=\"l33.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.level_growth_rules.l33.t0", + "file": "lang\\zh-cn.js", + "line": 1185, + "reason": "跨业务域同名 tail=\"l33.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.goods.search.l33.t0", + "file": "lang\\zh-cn.js", + "line": 1620, + "reason": "跨业务域同名 tail=\"l33.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.index.l33.t1", + "file": "lang\\en-us.js", + "line": 754, + "reason": "跨业务域同名 tail=\"l33.t1\",出现在 ['fenxiao', 'member'](应收敛到 common)" + }, + { + "key": "member.collection.l33.t1", + "file": "lang\\en-us.js", + "line": 1126, + "reason": "跨业务域同名 tail=\"l33.t1\",出现在 ['fenxiao', 'member'](应收敛到 common)" + }, + { + "key": "fenxiao.index.l33.t1", + "file": "lang\\zh-cn.js", + "line": 754, + "reason": "跨业务域同名 tail=\"l33.t1\",出现在 ['fenxiao', 'member'](应收敛到 common)" + }, + { + "key": "member.collection.l33.t1", + "file": "lang\\zh-cn.js", + "line": 1126, + "reason": "跨业务域同名 tail=\"l33.t1\",出现在 ['fenxiao', 'member'](应收敛到 common)" + }, + { + "key": "fenxiao.index.l34.t0", + "file": "lang\\en-us.js", + "line": 755, + "reason": "跨业务域同名 tail=\"l34.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.withdrawal_detail.l34.t0", + "file": "lang\\en-us.js", + "line": 855, + "reason": "跨业务域同名 tail=\"l34.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.apply_withdrawal.l34.t0", + "file": "lang\\en-us.js", + "line": 1064, + "reason": "跨业务域同名 tail=\"l34.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.level_growth_rules.l34.t0", + "file": "lang\\en-us.js", + "line": 1186, + "reason": "跨业务域同名 tail=\"l34.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund.l34.t0", + "file": "lang\\en-us.js", + "line": 1642, + "reason": "跨业务域同名 tail=\"l34.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.recharge.list.l34.t0", + "file": "lang\\en-us.js", + "line": 1691, + "reason": "跨业务域同名 tail=\"l34.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.recharge.order_list.l34.t0", + "file": "lang\\en-us.js", + "line": 1702, + "reason": "跨业务域同名 tail=\"l34.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.index.l34.t0", + "file": "lang\\zh-cn.js", + "line": 755, + "reason": "跨业务域同名 tail=\"l34.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.withdrawal_detail.l34.t0", + "file": "lang\\zh-cn.js", + "line": 855, + "reason": "跨业务域同名 tail=\"l34.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.apply_withdrawal.l34.t0", + "file": "lang\\zh-cn.js", + "line": 1064, + "reason": "跨业务域同名 tail=\"l34.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.level_growth_rules.l34.t0", + "file": "lang\\zh-cn.js", + "line": 1186, + "reason": "跨业务域同名 tail=\"l34.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund.l34.t0", + "file": "lang\\zh-cn.js", + "line": 1642, + "reason": "跨业务域同名 tail=\"l34.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.recharge.list.l34.t0", + "file": "lang\\zh-cn.js", + "line": 1691, + "reason": "跨业务域同名 tail=\"l34.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.recharge.order_list.l34.t0", + "file": "lang\\zh-cn.js", + "line": 1702, + "reason": "跨业务域同名 tail=\"l34.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.index.l36.t0", + "file": "lang\\en-us.js", + "line": 756, + "reason": "跨业务域同名 tail=\"l36.t0\",出现在 ['fenxiao', 'member'](应收敛到 common)" + }, + { + "key": "member.level_growth_rules.l36.t0", + "file": "lang\\en-us.js", + "line": 1188, + "reason": "跨业务域同名 tail=\"l36.t0\",出现在 ['fenxiao', 'member'](应收敛到 common)" + }, + { + "key": "fenxiao.index.l36.t0", + "file": "lang\\zh-cn.js", + "line": 756, + "reason": "跨业务域同名 tail=\"l36.t0\",出现在 ['fenxiao', 'member'](应收敛到 common)" + }, + { + "key": "member.level_growth_rules.l36.t0", + "file": "lang\\zh-cn.js", + "line": 1188, + "reason": "跨业务域同名 tail=\"l36.t0\",出现在 ['fenxiao', 'member'](应收敛到 common)" + }, + { + "key": "fenxiao.index.l371.t0", + "file": "lang\\en-us.js", + "line": 757, + "reason": "跨业务域同名 tail=\"l371.t0\",出现在 ['fenxiao', 'goods'](应收敛到 common)" + }, + { + "key": "goods.public.js.list.l371.t0", + "file": "lang\\en-us.js", + "line": 970, + "reason": "跨业务域同名 tail=\"l371.t0\",出现在 ['fenxiao', 'goods'](应收敛到 common)" + }, + { + "key": "fenxiao.index.l371.t0", + "file": "lang\\zh-cn.js", + "line": 757, + "reason": "跨业务域同名 tail=\"l371.t0\",出现在 ['fenxiao', 'goods'](应收敛到 common)" + }, + { + "key": "goods.public.js.list.l371.t0", + "file": "lang\\zh-cn.js", + "line": 970, + "reason": "跨业务域同名 tail=\"l371.t0\",出现在 ['fenxiao', 'goods'](应收敛到 common)" + }, + { + "key": "fenxiao.index.l527.t0", + "file": "lang\\en-us.js", + "line": 769, + "reason": "跨业务域同名 tail=\"l527.t0\",出现在 ['fenxiao', 'goods'](应收敛到 common)" + }, + { + "key": "goods.detail.l527.t0", + "file": "lang\\en-us.js", + "line": 939, + "reason": "跨业务域同名 tail=\"l527.t0\",出现在 ['fenxiao', 'goods'](应收敛到 common)" + }, + { + "key": "fenxiao.index.l527.t0", + "file": "lang\\zh-cn.js", + "line": 769, + "reason": "跨业务域同名 tail=\"l527.t0\",出现在 ['fenxiao', 'goods'](应收敛到 common)" + }, + { + "key": "goods.detail.l527.t0", + "file": "lang\\zh-cn.js", + "line": 939, + "reason": "跨业务域同名 tail=\"l527.t0\",出现在 ['fenxiao', 'goods'](应收敛到 common)" + }, + { + "key": "fenxiao.index.l55.t0", + "file": "lang\\en-us.js", + "line": 773, + "reason": "跨业务域同名 tail=\"l55.t0\",出现在 ['fenxiao', 'goods', 'member', 'point'](应收敛到 common)" + }, + { + "key": "goods.detail.l55.t0", + "file": "lang\\en-us.js", + "line": 940, + "reason": "跨业务域同名 tail=\"l55.t0\",出现在 ['fenxiao', 'goods', 'member', 'point'](应收敛到 common)" + }, + { + "key": "member.account.l55.t0", + "file": "lang\\en-us.js", + "line": 1033, + "reason": "跨业务域同名 tail=\"l55.t0\",出现在 ['fenxiao', 'goods', 'member', 'point'](应收敛到 common)" + }, + { + "key": "member.invite_friends.l55.t0", + "file": "lang\\en-us.js", + "line": 1165, + "reason": "跨业务域同名 tail=\"l55.t0\",出现在 ['fenxiao', 'goods', 'member', 'point'](应收敛到 common)" + }, + { + "key": "point.list.l55.t0", + "file": "lang\\en-us.js", + "line": 1500, + "reason": "跨业务域同名 tail=\"l55.t0\",出现在 ['fenxiao', 'goods', 'member', 'point'](应收敛到 common)" + }, + { + "key": "fenxiao.index.l55.t0", + "file": "lang\\zh-cn.js", + "line": 773, + "reason": "跨业务域同名 tail=\"l55.t0\",出现在 ['fenxiao', 'goods', 'member', 'point'](应收敛到 common)" + }, + { + "key": "goods.detail.l55.t0", + "file": "lang\\zh-cn.js", + "line": 940, + "reason": "跨业务域同名 tail=\"l55.t0\",出现在 ['fenxiao', 'goods', 'member', 'point'](应收敛到 common)" + }, + { + "key": "member.account.l55.t0", + "file": "lang\\zh-cn.js", + "line": 1033, + "reason": "跨业务域同名 tail=\"l55.t0\",出现在 ['fenxiao', 'goods', 'member', 'point'](应收敛到 common)" + }, + { + "key": "member.invite_friends.l55.t0", + "file": "lang\\zh-cn.js", + "line": 1165, + "reason": "跨业务域同名 tail=\"l55.t0\",出现在 ['fenxiao', 'goods', 'member', 'point'](应收敛到 common)" + }, + { + "key": "point.list.l55.t0", + "file": "lang\\zh-cn.js", + "line": 1500, + "reason": "跨业务域同名 tail=\"l55.t0\",出现在 ['fenxiao', 'goods', 'member', 'point'](应收敛到 common)" + }, + { + "key": "fenxiao.index.l568.t0", + "file": "lang\\en-us.js", + "line": 777, + "reason": "跨业务域同名 tail=\"l568.t0\",出现在 ['fenxiao', 'order'](应收敛到 common)" + }, + { + "key": "order.detail.l568.t0", + "file": "lang\\en-us.js", + "line": 1404, + "reason": "跨业务域同名 tail=\"l568.t0\",出现在 ['fenxiao', 'order'](应收敛到 common)" + }, + { + "key": "fenxiao.index.l568.t0", + "file": "lang\\zh-cn.js", + "line": 777, + "reason": "跨业务域同名 tail=\"l568.t0\",出现在 ['fenxiao', 'order'](应收敛到 common)" + }, + { + "key": "order.detail.l568.t0", + "file": "lang\\zh-cn.js", + "line": 1404, + "reason": "跨业务域同名 tail=\"l568.t0\",出现在 ['fenxiao', 'order'](应收敛到 common)" + }, + { + "key": "fenxiao.index.l70.t0", + "file": "lang\\en-us.js", + "line": 780, + "reason": "跨业务域同名 tail=\"l70.t0\",出现在 ['fenxiao', 'tool'](应收敛到 common)" + }, + { + "key": "tool.goods.coupon.l70.t0", + "file": "lang\\en-us.js", + "line": 1598, + "reason": "跨业务域同名 tail=\"l70.t0\",出现在 ['fenxiao', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.index.l70.t0", + "file": "lang\\zh-cn.js", + "line": 780, + "reason": "跨业务域同名 tail=\"l70.t0\",出现在 ['fenxiao', 'tool'](应收敛到 common)" + }, + { + "key": "tool.goods.coupon.l70.t0", + "file": "lang\\zh-cn.js", + "line": 1598, + "reason": "跨业务域同名 tail=\"l70.t0\",出现在 ['fenxiao', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.index.l94.t0", + "file": "lang\\en-us.js", + "line": 782, + "reason": "跨业务域同名 tail=\"l94.t0\",出现在 ['fenxiao', 'point'](应收敛到 common)" + }, + { + "key": "point.list.l94.t0", + "file": "lang\\en-us.js", + "line": 1507, + "reason": "跨业务域同名 tail=\"l94.t0\",出现在 ['fenxiao', 'point'](应收敛到 common)" + }, + { + "key": "fenxiao.index.l94.t0", + "file": "lang\\zh-cn.js", + "line": 782, + "reason": "跨业务域同名 tail=\"l94.t0\",出现在 ['fenxiao', 'point'](应收敛到 common)" + }, + { + "key": "point.list.l94.t0", + "file": "lang\\zh-cn.js", + "line": 1507, + "reason": "跨业务域同名 tail=\"l94.t0\",出现在 ['fenxiao', 'point'](应收敛到 common)" + }, + { + "key": "fenxiao.level.l119.t0", + "file": "lang\\en-us.js", + "line": 783, + "reason": "跨业务域同名 tail=\"l119.t0\",出现在 ['fenxiao', 'page'](应收敛到 common)" + }, + { + "key": "page.index.l119.t0", + "file": "lang\\en-us.js", + "line": 1444, + "reason": "跨业务域同名 tail=\"l119.t0\",出现在 ['fenxiao', 'page'](应收敛到 common)" + }, + { + "key": "fenxiao.level.l119.t0", + "file": "lang\\zh-cn.js", + "line": 783, + "reason": "跨业务域同名 tail=\"l119.t0\",出现在 ['fenxiao', 'page'](应收敛到 common)" + }, + { + "key": "page.index.l119.t0", + "file": "lang\\zh-cn.js", + "line": 1444, + "reason": "跨业务域同名 tail=\"l119.t0\",出现在 ['fenxiao', 'page'](应收敛到 common)" + }, + { + "key": "fenxiao.level.l143.t0", + "file": "lang\\en-us.js", + "line": 785, + "reason": "跨业务域同名 tail=\"l143.t0\",出现在 ['fenxiao', 'goods', 'tool'](应收敛到 common)" + }, + { + "key": "goods.cart.l143.t0", + "file": "lang\\en-us.js", + "line": 904, + "reason": "跨业务域同名 tail=\"l143.t0\",出现在 ['fenxiao', 'goods', 'tool'](应收敛到 common)" + }, + { + "key": "tool.cases.index.l143.t0", + "file": "lang\\en-us.js", + "line": 1571, + "reason": "跨业务域同名 tail=\"l143.t0\",出现在 ['fenxiao', 'goods', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.level.l143.t0", + "file": "lang\\zh-cn.js", + "line": 785, + "reason": "跨业务域同名 tail=\"l143.t0\",出现在 ['fenxiao', 'goods', 'tool'](应收敛到 common)" + }, + { + "key": "goods.cart.l143.t0", + "file": "lang\\zh-cn.js", + "line": 904, + "reason": "跨业务域同名 tail=\"l143.t0\",出现在 ['fenxiao', 'goods', 'tool'](应收敛到 common)" + }, + { + "key": "tool.cases.index.l143.t0", + "file": "lang\\zh-cn.js", + "line": 1571, + "reason": "跨业务域同名 tail=\"l143.t0\",出现在 ['fenxiao', 'goods', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.level.l144.t0", + "file": "lang\\en-us.js", + "line": 786, + "reason": "跨业务域同名 tail=\"l144.t0\",出现在 ['fenxiao', 'point'](应收敛到 common)" + }, + { + "key": "point.detail.l144.t0", + "file": "lang\\en-us.js", + "line": 1466, + "reason": "跨业务域同名 tail=\"l144.t0\",出现在 ['fenxiao', 'point'](应收敛到 common)" + }, + { + "key": "fenxiao.level.l144.t0", + "file": "lang\\zh-cn.js", + "line": 786, + "reason": "跨业务域同名 tail=\"l144.t0\",出现在 ['fenxiao', 'point'](应收敛到 common)" + }, + { + "key": "point.detail.l144.t0", + "file": "lang\\zh-cn.js", + "line": 1466, + "reason": "跨业务域同名 tail=\"l144.t0\",出现在 ['fenxiao', 'point'](应收敛到 common)" + }, + { + "key": "fenxiao.level.l157.t0", + "file": "lang\\en-us.js", + "line": 787, + "reason": "跨业务域同名 tail=\"l157.t0\",出现在 ['fenxiao', 'member'](应收敛到 common)" + }, + { + "key": "member.public.js.info.l157.t0", + "file": "lang\\en-us.js", + "line": 1214, + "reason": "跨业务域同名 tail=\"l157.t0\",出现在 ['fenxiao', 'member'](应收敛到 common)" + }, + { + "key": "fenxiao.level.l157.t0", + "file": "lang\\zh-cn.js", + "line": 787, + "reason": "跨业务域同名 tail=\"l157.t0\",出现在 ['fenxiao', 'member'](应收敛到 common)" + }, + { + "key": "member.public.js.info.l157.t0", + "file": "lang\\zh-cn.js", + "line": 1214, + "reason": "跨业务域同名 tail=\"l157.t0\",出现在 ['fenxiao', 'member'](应收敛到 common)" + }, + { + "key": "fenxiao.level.l169.t0", + "file": "lang\\en-us.js", + "line": 788, + "reason": "跨业务域同名 tail=\"l169.t0\",出现在 ['fenxiao', 'login'](应收敛到 common)" + }, + { + "key": "login.find.l169.t0", + "file": "lang\\en-us.js", + "line": 1003, + "reason": "跨业务域同名 tail=\"l169.t0\",出现在 ['fenxiao', 'login'](应收敛到 common)" + }, + { + "key": "fenxiao.level.l169.t0", + "file": "lang\\zh-cn.js", + "line": 788, + "reason": "跨业务域同名 tail=\"l169.t0\",出现在 ['fenxiao', 'login'](应收敛到 common)" + }, + { + "key": "login.find.l169.t0", + "file": "lang\\zh-cn.js", + "line": 1003, + "reason": "跨业务域同名 tail=\"l169.t0\",出现在 ['fenxiao', 'login'](应收敛到 common)" + }, + { + "key": "fenxiao.level.l181.t0", + "file": "lang\\en-us.js", + "line": 789, + "reason": "跨业务域同名 tail=\"l181.t0\",出现在 ['fenxiao', 'point'](应收敛到 common)" + }, + { + "key": "point.list.l181.t0", + "file": "lang\\en-us.js", + "line": 1483, + "reason": "跨业务域同名 tail=\"l181.t0\",出现在 ['fenxiao', 'point'](应收敛到 common)" + }, + { + "key": "fenxiao.level.l181.t0", + "file": "lang\\zh-cn.js", + "line": 789, + "reason": "跨业务域同名 tail=\"l181.t0\",出现在 ['fenxiao', 'point'](应收敛到 common)" + }, + { + "key": "point.list.l181.t0", + "file": "lang\\zh-cn.js", + "line": 1483, + "reason": "跨业务域同名 tail=\"l181.t0\",出现在 ['fenxiao', 'point'](应收敛到 common)" + }, + { + "key": "fenxiao.level.l20.t0", + "file": "lang\\en-us.js", + "line": 792, + "reason": "跨业务域同名 tail=\"l20.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.order.l20.t0", + "file": "lang\\en-us.js", + "line": 798, + "reason": "跨业务域同名 tail=\"l20.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.account_edit.l20.t0", + "file": "lang\\en-us.js", + "line": 1037, + "reason": "跨业务域同名 tail=\"l20.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.invite_friends.l20.t0", + "file": "lang\\en-us.js", + "line": 1162, + "reason": "跨业务域同名 tail=\"l20.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.point.l20.t0", + "file": "lang\\en-us.js", + "line": 1202, + "reason": "跨业务域同名 tail=\"l20.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.recharge.list.l20.t0", + "file": "lang\\en-us.js", + "line": 1688, + "reason": "跨业务域同名 tail=\"l20.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.weapp.order_shipping.l20.t0", + "file": "lang\\en-us.js", + "line": 1706, + "reason": "跨业务域同名 tail=\"l20.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.level.l20.t0", + "file": "lang\\zh-cn.js", + "line": 792, + "reason": "跨业务域同名 tail=\"l20.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.order.l20.t0", + "file": "lang\\zh-cn.js", + "line": 798, + "reason": "跨业务域同名 tail=\"l20.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.account_edit.l20.t0", + "file": "lang\\zh-cn.js", + "line": 1037, + "reason": "跨业务域同名 tail=\"l20.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.invite_friends.l20.t0", + "file": "lang\\zh-cn.js", + "line": 1162, + "reason": "跨业务域同名 tail=\"l20.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.point.l20.t0", + "file": "lang\\zh-cn.js", + "line": 1202, + "reason": "跨业务域同名 tail=\"l20.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.recharge.list.l20.t0", + "file": "lang\\zh-cn.js", + "line": 1688, + "reason": "跨业务域同名 tail=\"l20.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.weapp.order_shipping.l20.t0", + "file": "lang\\zh-cn.js", + "line": 1706, + "reason": "跨业务域同名 tail=\"l20.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.level.l221.t0", + "file": "lang\\en-us.js", + "line": 793, + "reason": "跨业务域同名 tail=\"l221.t0\",出现在 ['fenxiao', 'goods', 'order'](应收敛到 common)" + }, + { + "key": "goods.cart.l221.t0", + "file": "lang\\en-us.js", + "line": 910, + "reason": "跨业务域同名 tail=\"l221.t0\",出现在 ['fenxiao', 'goods', 'order'](应收敛到 common)" + }, + { + "key": "order.detail.l221.t0", + "file": "lang\\en-us.js", + "line": 1368, + "reason": "跨业务域同名 tail=\"l221.t0\",出现在 ['fenxiao', 'goods', 'order'](应收敛到 common)" + }, + { + "key": "fenxiao.level.l221.t0", + "file": "lang\\zh-cn.js", + "line": 793, + "reason": "跨业务域同名 tail=\"l221.t0\",出现在 ['fenxiao', 'goods', 'order'](应收敛到 common)" + }, + { + "key": "goods.cart.l221.t0", + "file": "lang\\zh-cn.js", + "line": 910, + "reason": "跨业务域同名 tail=\"l221.t0\",出现在 ['fenxiao', 'goods', 'order'](应收敛到 common)" + }, + { + "key": "order.detail.l221.t0", + "file": "lang\\zh-cn.js", + "line": 1368, + "reason": "跨业务域同名 tail=\"l221.t0\",出现在 ['fenxiao', 'goods', 'order'](应收敛到 common)" + }, + { + "key": "fenxiao.level.l28.t0", + "file": "lang\\en-us.js", + "line": 795, + "reason": "跨业务域同名 tail=\"l28.t0\",出现在 ['fenxiao', 'goods', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.withdraw_list.l28.t0", + "file": "lang\\en-us.js", + "line": 843, + "reason": "跨业务域同名 tail=\"l28.t0\",出现在 ['fenxiao', 'goods', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "goods.list.l28.t0", + "file": "lang\\en-us.js", + "line": 952, + "reason": "跨业务域同名 tail=\"l28.t0\",出现在 ['fenxiao', 'goods', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.balance.l28.t0", + "file": "lang\\en-us.js", + "line": 1080, + "reason": "跨业务域同名 tail=\"l28.t0\",出现在 ['fenxiao', 'goods', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.point.l28.t0", + "file": "lang\\en-us.js", + "line": 1204, + "reason": "跨业务域同名 tail=\"l28.t0\",出现在 ['fenxiao', 'goods', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund_goods_select.l28.t0", + "file": "lang\\en-us.js", + "line": 1679, + "reason": "跨业务域同名 tail=\"l28.t0\",出现在 ['fenxiao', 'goods', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.level.l28.t0", + "file": "lang\\zh-cn.js", + "line": 795, + "reason": "跨业务域同名 tail=\"l28.t0\",出现在 ['fenxiao', 'goods', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.withdraw_list.l28.t0", + "file": "lang\\zh-cn.js", + "line": 843, + "reason": "跨业务域同名 tail=\"l28.t0\",出现在 ['fenxiao', 'goods', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "goods.list.l28.t0", + "file": "lang\\zh-cn.js", + "line": 952, + "reason": "跨业务域同名 tail=\"l28.t0\",出现在 ['fenxiao', 'goods', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.balance.l28.t0", + "file": "lang\\zh-cn.js", + "line": 1080, + "reason": "跨业务域同名 tail=\"l28.t0\",出现在 ['fenxiao', 'goods', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.point.l28.t0", + "file": "lang\\zh-cn.js", + "line": 1204, + "reason": "跨业务域同名 tail=\"l28.t0\",出现在 ['fenxiao', 'goods', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund_goods_select.l28.t0", + "file": "lang\\zh-cn.js", + "line": 1679, + "reason": "跨业务域同名 tail=\"l28.t0\",出现在 ['fenxiao', 'goods', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.order.l17.t0", + "file": "lang\\en-us.js", + "line": 796, + "reason": "跨业务域同名 tail=\"l17.t0\",出现在 ['fenxiao', 'goods', 'member', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "goods.cart.l17.t0", + "file": "lang\\en-us.js", + "line": 906, + "reason": "跨业务域同名 tail=\"l17.t0\",出现在 ['fenxiao', 'goods', 'member', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "member.cancelstatus.l17.t0", + "file": "lang\\en-us.js", + "line": 1095, + "reason": "跨业务域同名 tail=\"l17.t0\",出现在 ['fenxiao', 'goods', 'member', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "member.invite_friends.l17.t0", + "file": "lang\\en-us.js", + "line": 1161, + "reason": "跨业务域同名 tail=\"l17.t0\",出现在 ['fenxiao', 'goods', 'member', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "seal.medium.detail.l17.t0", + "file": "lang\\en-us.js", + "line": 1532, + "reason": "跨业务域同名 tail=\"l17.t0\",出现在 ['fenxiao', 'goods', 'member', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund.l17.t0", + "file": "lang\\en-us.js", + "line": 1636, + "reason": "跨业务域同名 tail=\"l17.t0\",出现在 ['fenxiao', 'goods', 'member', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.order.l17.t0", + "file": "lang\\zh-cn.js", + "line": 796, + "reason": "跨业务域同名 tail=\"l17.t0\",出现在 ['fenxiao', 'goods', 'member', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "goods.cart.l17.t0", + "file": "lang\\zh-cn.js", + "line": 906, + "reason": "跨业务域同名 tail=\"l17.t0\",出现在 ['fenxiao', 'goods', 'member', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "member.cancelstatus.l17.t0", + "file": "lang\\zh-cn.js", + "line": 1095, + "reason": "跨业务域同名 tail=\"l17.t0\",出现在 ['fenxiao', 'goods', 'member', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "member.invite_friends.l17.t0", + "file": "lang\\zh-cn.js", + "line": 1161, + "reason": "跨业务域同名 tail=\"l17.t0\",出现在 ['fenxiao', 'goods', 'member', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "seal.medium.detail.l17.t0", + "file": "lang\\zh-cn.js", + "line": 1532, + "reason": "跨业务域同名 tail=\"l17.t0\",出现在 ['fenxiao', 'goods', 'member', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund.l17.t0", + "file": "lang\\zh-cn.js", + "line": 1636, + "reason": "跨业务域同名 tail=\"l17.t0\",出现在 ['fenxiao', 'goods', 'member', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.order.l81.t0", + "file": "lang\\en-us.js", + "line": 799, + "reason": "跨业务域同名 tail=\"l81.t0\",出现在 ['fenxiao', 'help', 'member', 'merch', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "help.list.l81.t0", + "file": "lang\\en-us.js", + "line": 981, + "reason": "跨业务域同名 tail=\"l81.t0\",出现在 ['fenxiao', 'help', 'member', 'merch', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "member.card.l81.t0", + "file": "lang\\en-us.js", + "line": 1117, + "reason": "跨业务域同名 tail=\"l81.t0\",出现在 ['fenxiao', 'help', 'member', 'merch', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "member.card_buy.l81.t0", + "file": "lang\\en-us.js", + "line": 1124, + "reason": "跨业务域同名 tail=\"l81.t0\",出现在 ['fenxiao', 'help', 'member', 'merch', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "merch.public.edit.l81.t0", + "file": "lang\\en-us.js", + "line": 1267, + "reason": "跨业务域同名 tail=\"l81.t0\",出现在 ['fenxiao', 'help', 'member', 'merch', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "order.public.js.orderMethod.l81.t0", + "file": "lang\\en-us.js", + "line": 1437, + "reason": "跨业务域同名 tail=\"l81.t0\",出现在 ['fenxiao', 'help', 'member', 'merch', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund.l81.t0", + "file": "lang\\en-us.js", + "line": 1646, + "reason": "跨业务域同名 tail=\"l81.t0\",出现在 ['fenxiao', 'help', 'member', 'merch', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.order.l81.t0", + "file": "lang\\zh-cn.js", + "line": 799, + "reason": "跨业务域同名 tail=\"l81.t0\",出现在 ['fenxiao', 'help', 'member', 'merch', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "help.list.l81.t0", + "file": "lang\\zh-cn.js", + "line": 981, + "reason": "跨业务域同名 tail=\"l81.t0\",出现在 ['fenxiao', 'help', 'member', 'merch', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "member.card.l81.t0", + "file": "lang\\zh-cn.js", + "line": 1117, + "reason": "跨业务域同名 tail=\"l81.t0\",出现在 ['fenxiao', 'help', 'member', 'merch', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "member.card_buy.l81.t0", + "file": "lang\\zh-cn.js", + "line": 1124, + "reason": "跨业务域同名 tail=\"l81.t0\",出现在 ['fenxiao', 'help', 'member', 'merch', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "merch.public.edit.l81.t0", + "file": "lang\\zh-cn.js", + "line": 1267, + "reason": "跨业务域同名 tail=\"l81.t0\",出现在 ['fenxiao', 'help', 'member', 'merch', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "order.public.js.orderMethod.l81.t0", + "file": "lang\\zh-cn.js", + "line": 1437, + "reason": "跨业务域同名 tail=\"l81.t0\",出现在 ['fenxiao', 'help', 'member', 'merch', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund.l81.t0", + "file": "lang\\zh-cn.js", + "line": 1646, + "reason": "跨业务域同名 tail=\"l81.t0\",出现在 ['fenxiao', 'help', 'member', 'merch', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.order.l83.t0", + "file": "lang\\en-us.js", + "line": 800, + "reason": "跨业务域同名 tail=\"l83.t0\",出现在 ['fenxiao', 'member', 'merch'](应收敛到 common)" + }, + { + "key": "member.info.l83.t0", + "file": "lang\\en-us.js", + "line": 1143, + "reason": "跨业务域同名 tail=\"l83.t0\",出现在 ['fenxiao', 'member', 'merch'](应收敛到 common)" + }, + { + "key": "merch.merchcategory.l83.t0", + "file": "lang\\en-us.js", + "line": 1241, + "reason": "跨业务域同名 tail=\"l83.t0\",出现在 ['fenxiao', 'member', 'merch'](应收敛到 common)" + }, + { + "key": "fenxiao.order.l83.t0", + "file": "lang\\zh-cn.js", + "line": 800, + "reason": "跨业务域同名 tail=\"l83.t0\",出现在 ['fenxiao', 'member', 'merch'](应收敛到 common)" + }, + { + "key": "member.info.l83.t0", + "file": "lang\\zh-cn.js", + "line": 1143, + "reason": "跨业务域同名 tail=\"l83.t0\",出现在 ['fenxiao', 'member', 'merch'](应收敛到 common)" + }, + { + "key": "merch.merchcategory.l83.t0", + "file": "lang\\zh-cn.js", + "line": 1241, + "reason": "跨业务域同名 tail=\"l83.t0\",出现在 ['fenxiao', 'member', 'merch'](应收敛到 common)" + }, + { + "key": "fenxiao.order.l85.t0", + "file": "lang\\en-us.js", + "line": 801, + "reason": "跨业务域同名 tail=\"l85.t0\",出现在 ['fenxiao', 'member', 'merch', 'point'](应收敛到 common)" + }, + { + "key": "member.cancelstatus.l85.t0", + "file": "lang\\en-us.js", + "line": 1101, + "reason": "跨业务域同名 tail=\"l85.t0\",出现在 ['fenxiao', 'member', 'merch', 'point'](应收敛到 common)" + }, + { + "key": "merch.public.edit.l85.t0", + "file": "lang\\en-us.js", + "line": 1268, + "reason": "跨业务域同名 tail=\"l85.t0\",出现在 ['fenxiao', 'member', 'merch', 'point'](应收敛到 common)" + }, + { + "key": "point.order_list.l85.t0", + "file": "lang\\en-us.js", + "line": 1508, + "reason": "跨业务域同名 tail=\"l85.t0\",出现在 ['fenxiao', 'member', 'merch', 'point'](应收敛到 common)" + }, + { + "key": "fenxiao.order.l85.t0", + "file": "lang\\zh-cn.js", + "line": 801, + "reason": "跨业务域同名 tail=\"l85.t0\",出现在 ['fenxiao', 'member', 'merch', 'point'](应收敛到 common)" + }, + { + "key": "member.cancelstatus.l85.t0", + "file": "lang\\zh-cn.js", + "line": 1101, + "reason": "跨业务域同名 tail=\"l85.t0\",出现在 ['fenxiao', 'member', 'merch', 'point'](应收敛到 common)" + }, + { + "key": "merch.public.edit.l85.t0", + "file": "lang\\zh-cn.js", + "line": 1268, + "reason": "跨业务域同名 tail=\"l85.t0\",出现在 ['fenxiao', 'member', 'merch', 'point'](应收敛到 common)" + }, + { + "key": "point.order_list.l85.t0", + "file": "lang\\zh-cn.js", + "line": 1508, + "reason": "跨业务域同名 tail=\"l85.t0\",出现在 ['fenxiao', 'member', 'merch', 'point'](应收敛到 common)" + }, + { + "key": "fenxiao.order.l87.t0", + "file": "lang\\en-us.js", + "line": 802, + "reason": "跨业务域同名 tail=\"l87.t0\",出现在 ['fenxiao', 'member', 'merch', 'notice'](应收敛到 common)" + }, + { + "key": "member.info_edit.l87.t0", + "file": "lang\\en-us.js", + "line": 1156, + "reason": "跨业务域同名 tail=\"l87.t0\",出现在 ['fenxiao', 'member', 'merch', 'notice'](应收敛到 common)" + }, + { + "key": "merch.merchcategory.l87.t0", + "file": "lang\\en-us.js", + "line": 1242, + "reason": "跨业务域同名 tail=\"l87.t0\",出现在 ['fenxiao', 'member', 'merch', 'notice'](应收敛到 common)" + }, + { + "key": "notice.detail.l87.t0", + "file": "lang\\en-us.js", + "line": 1286, + "reason": "跨业务域同名 tail=\"l87.t0\",出现在 ['fenxiao', 'member', 'merch', 'notice'](应收敛到 common)" + }, + { + "key": "fenxiao.order.l87.t0", + "file": "lang\\zh-cn.js", + "line": 802, + "reason": "跨业务域同名 tail=\"l87.t0\",出现在 ['fenxiao', 'member', 'merch', 'notice'](应收敛到 common)" + }, + { + "key": "member.info_edit.l87.t0", + "file": "lang\\zh-cn.js", + "line": 1156, + "reason": "跨业务域同名 tail=\"l87.t0\",出现在 ['fenxiao', 'member', 'merch', 'notice'](应收敛到 common)" + }, + { + "key": "merch.merchcategory.l87.t0", + "file": "lang\\zh-cn.js", + "line": 1242, + "reason": "跨业务域同名 tail=\"l87.t0\",出现在 ['fenxiao', 'member', 'merch', 'notice'](应收敛到 common)" + }, + { + "key": "notice.detail.l87.t0", + "file": "lang\\zh-cn.js", + "line": 1286, + "reason": "跨业务域同名 tail=\"l87.t0\",出现在 ['fenxiao', 'member', 'merch', 'notice'](应收敛到 common)" + }, + { + "key": "fenxiao.order_detail.l47.t0", + "file": "lang\\en-us.js", + "line": 803, + "reason": "跨业务域同名 tail=\"l47.t0\",出现在 ['fenxiao', 'order', 'page', 'tool'](应收敛到 common)" + }, + { + "key": "order.detail.l47.t0", + "file": "lang\\en-us.js", + "line": 1401, + "reason": "跨业务域同名 tail=\"l47.t0\",出现在 ['fenxiao', 'order', 'page', 'tool'](应收敛到 common)" + }, + { + "key": "order.public.js.orderMethod.l47.t0", + "file": "lang\\en-us.js", + "line": 1434, + "reason": "跨业务域同名 tail=\"l47.t0\",出现在 ['fenxiao', 'order', 'page', 'tool'](应收敛到 common)" + }, + { + "key": "page.index.l47.t0", + "file": "lang\\en-us.js", + "line": 1448, + "reason": "跨业务域同名 tail=\"l47.t0\",出现在 ['fenxiao', 'order', 'page', 'tool'](应收敛到 common)" + }, + { + "key": "tool.cases.index.l47.t0", + "file": "lang\\en-us.js", + "line": 1575, + "reason": "跨业务域同名 tail=\"l47.t0\",出现在 ['fenxiao', 'order', 'page', 'tool'](应收敛到 common)" + }, + { + "key": "tool.goods.evaluate.l47.t0", + "file": "lang\\en-us.js", + "line": 1611, + "reason": "跨业务域同名 tail=\"l47.t0\",出现在 ['fenxiao', 'order', 'page', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.evaluate.l47.t0", + "file": "lang\\en-us.js", + "line": 1629, + "reason": "跨业务域同名 tail=\"l47.t0\",出现在 ['fenxiao', 'order', 'page', 'tool'](应收敛到 common)" + }, + { + "key": "tool.storeclose.l47.t0", + "file": "lang\\en-us.js", + "line": 1705, + "reason": "跨业务域同名 tail=\"l47.t0\",出现在 ['fenxiao', 'order', 'page', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.order_detail.l47.t0", + "file": "lang\\zh-cn.js", + "line": 803, + "reason": "跨业务域同名 tail=\"l47.t0\",出现在 ['fenxiao', 'order', 'page', 'tool'](应收敛到 common)" + }, + { + "key": "order.detail.l47.t0", + "file": "lang\\zh-cn.js", + "line": 1401, + "reason": "跨业务域同名 tail=\"l47.t0\",出现在 ['fenxiao', 'order', 'page', 'tool'](应收敛到 common)" + }, + { + "key": "order.public.js.orderMethod.l47.t0", + "file": "lang\\zh-cn.js", + "line": 1434, + "reason": "跨业务域同名 tail=\"l47.t0\",出现在 ['fenxiao', 'order', 'page', 'tool'](应收敛到 common)" + }, + { + "key": "page.index.l47.t0", + "file": "lang\\zh-cn.js", + "line": 1448, + "reason": "跨业务域同名 tail=\"l47.t0\",出现在 ['fenxiao', 'order', 'page', 'tool'](应收敛到 common)" + }, + { + "key": "tool.cases.index.l47.t0", + "file": "lang\\zh-cn.js", + "line": 1575, + "reason": "跨业务域同名 tail=\"l47.t0\",出现在 ['fenxiao', 'order', 'page', 'tool'](应收敛到 common)" + }, + { + "key": "tool.goods.evaluate.l47.t0", + "file": "lang\\zh-cn.js", + "line": 1611, + "reason": "跨业务域同名 tail=\"l47.t0\",出现在 ['fenxiao', 'order', 'page', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.evaluate.l47.t0", + "file": "lang\\zh-cn.js", + "line": 1629, + "reason": "跨业务域同名 tail=\"l47.t0\",出现在 ['fenxiao', 'order', 'page', 'tool'](应收敛到 common)" + }, + { + "key": "tool.storeclose.l47.t0", + "file": "lang\\zh-cn.js", + "line": 1705, + "reason": "跨业务域同名 tail=\"l47.t0\",出现在 ['fenxiao', 'order', 'page', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.order_detail.l60.t0", + "file": "lang\\en-us.js", + "line": 805, + "reason": "跨业务域同名 tail=\"l60.t0\",出现在 ['fenxiao', 'member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "member.point.l60.t0", + "file": "lang\\en-us.js", + "line": 1210, + "reason": "跨业务域同名 tail=\"l60.t0\",出现在 ['fenxiao', 'member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "order.public.js.orderMethod.l60.t0", + "file": "lang\\en-us.js", + "line": 1435, + "reason": "跨业务域同名 tail=\"l60.t0\",出现在 ['fenxiao', 'member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "tool.cases.index.l60.t0", + "file": "lang\\en-us.js", + "line": 1577, + "reason": "跨业务域同名 tail=\"l60.t0\",出现在 ['fenxiao', 'member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund_detail.l60.t0", + "file": "lang\\en-us.js", + "line": 1672, + "reason": "跨业务域同名 tail=\"l60.t0\",出现在 ['fenxiao', 'member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.order_detail.l60.t0", + "file": "lang\\zh-cn.js", + "line": 805, + "reason": "跨业务域同名 tail=\"l60.t0\",出现在 ['fenxiao', 'member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "member.point.l60.t0", + "file": "lang\\zh-cn.js", + "line": 1210, + "reason": "跨业务域同名 tail=\"l60.t0\",出现在 ['fenxiao', 'member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "order.public.js.orderMethod.l60.t0", + "file": "lang\\zh-cn.js", + "line": 1435, + "reason": "跨业务域同名 tail=\"l60.t0\",出现在 ['fenxiao', 'member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "tool.cases.index.l60.t0", + "file": "lang\\zh-cn.js", + "line": 1577, + "reason": "跨业务域同名 tail=\"l60.t0\",出现在 ['fenxiao', 'member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund_detail.l60.t0", + "file": "lang\\zh-cn.js", + "line": 1672, + "reason": "跨业务域同名 tail=\"l60.t0\",出现在 ['fenxiao', 'member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.promote.l35.t0", + "file": "lang\\en-us.js", + "line": 808, + "reason": "跨业务域同名 tail=\"l35.t0\",出现在 ['fenxiao', 'member', 'merch', 'order'](应收敛到 common)" + }, + { + "key": "member.level_growth_rules.l35.t0", + "file": "lang\\en-us.js", + "line": 1187, + "reason": "跨业务域同名 tail=\"l35.t0\",出现在 ['fenxiao', 'member', 'merch', 'order'](应收敛到 common)" + }, + { + "key": "merch.detail.l35.t0", + "file": "lang\\en-us.js", + "line": 1238, + "reason": "跨业务域同名 tail=\"l35.t0\",出现在 ['fenxiao', 'member', 'merch', 'order'](应收敛到 common)" + }, + { + "key": "order.list.l35.t0", + "file": "lang\\en-us.js", + "line": 1424, + "reason": "跨业务域同名 tail=\"l35.t0\",出现在 ['fenxiao', 'member', 'merch', 'order'](应收敛到 common)" + }, + { + "key": "fenxiao.promote.l35.t0", + "file": "lang\\zh-cn.js", + "line": 808, + "reason": "跨业务域同名 tail=\"l35.t0\",出现在 ['fenxiao', 'member', 'merch', 'order'](应收敛到 common)" + }, + { + "key": "member.level_growth_rules.l35.t0", + "file": "lang\\zh-cn.js", + "line": 1187, + "reason": "跨业务域同名 tail=\"l35.t0\",出现在 ['fenxiao', 'member', 'merch', 'order'](应收敛到 common)" + }, + { + "key": "merch.detail.l35.t0", + "file": "lang\\zh-cn.js", + "line": 1238, + "reason": "跨业务域同名 tail=\"l35.t0\",出现在 ['fenxiao', 'member', 'merch', 'order'](应收敛到 common)" + }, + { + "key": "order.list.l35.t0", + "file": "lang\\zh-cn.js", + "line": 1424, + "reason": "跨业务域同名 tail=\"l35.t0\",出现在 ['fenxiao', 'member', 'merch', 'order'](应收敛到 common)" + }, + { + "key": "fenxiao.promote.l44.t0", + "file": "lang\\en-us.js", + "line": 809, + "reason": "跨业务域同名 tail=\"l44.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.ranking_list.l44.t0", + "file": "lang\\en-us.js", + "line": 819, + "reason": "跨业务域同名 tail=\"l44.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.address_edit.l44.t0", + "file": "lang\\en-us.js", + "line": 1060, + "reason": "跨业务域同名 tail=\"l44.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.goods.coupon.l44.t0", + "file": "lang\\en-us.js", + "line": 1592, + "reason": "跨业务域同名 tail=\"l44.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.recharge.list.l44.t0", + "file": "lang\\en-us.js", + "line": 1692, + "reason": "跨业务域同名 tail=\"l44.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.promote.l44.t0", + "file": "lang\\zh-cn.js", + "line": 809, + "reason": "跨业务域同名 tail=\"l44.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.ranking_list.l44.t0", + "file": "lang\\zh-cn.js", + "line": 819, + "reason": "跨业务域同名 tail=\"l44.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.address_edit.l44.t0", + "file": "lang\\zh-cn.js", + "line": 1060, + "reason": "跨业务域同名 tail=\"l44.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.goods.coupon.l44.t0", + "file": "lang\\zh-cn.js", + "line": 1592, + "reason": "跨业务域同名 tail=\"l44.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.recharge.list.l44.t0", + "file": "lang\\zh-cn.js", + "line": 1692, + "reason": "跨业务域同名 tail=\"l44.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.promote_code.l139.t0", + "file": "lang\\en-us.js", + "line": 811, + "reason": "跨业务域同名 tail=\"l139.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.account_edit.l139.t0", + "file": "lang\\en-us.js", + "line": 1034, + "reason": "跨业务域同名 tail=\"l139.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.info_edit.l139.t0", + "file": "lang\\en-us.js", + "line": 1148, + "reason": "跨业务域同名 tail=\"l139.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund_detail.l139.t0", + "file": "lang\\en-us.js", + "line": 1654, + "reason": "跨业务域同名 tail=\"l139.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.promote_code.l139.t0", + "file": "lang\\zh-cn.js", + "line": 811, + "reason": "跨业务域同名 tail=\"l139.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.account_edit.l139.t0", + "file": "lang\\zh-cn.js", + "line": 1034, + "reason": "跨业务域同名 tail=\"l139.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.info_edit.l139.t0", + "file": "lang\\zh-cn.js", + "line": 1148, + "reason": "跨业务域同名 tail=\"l139.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund_detail.l139.t0", + "file": "lang\\zh-cn.js", + "line": 1654, + "reason": "跨业务域同名 tail=\"l139.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.promote_code.l14.t0", + "file": "lang\\en-us.js", + "line": 812, + "reason": "跨业务域同名 tail=\"l14.t0\",出现在 ['fenxiao', 'member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.withdrawal_detail.l14.t0", + "file": "lang\\en-us.js", + "line": 850, + "reason": "跨业务域同名 tail=\"l14.t0\",出现在 ['fenxiao', 'member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "member.info.l14.t0", + "file": "lang\\en-us.js", + "line": 1137, + "reason": "跨业务域同名 tail=\"l14.t0\",出现在 ['fenxiao', 'member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "member.modify_face.l14.t0", + "file": "lang\\en-us.js", + "line": 1190, + "reason": "跨业务域同名 tail=\"l14.t0\",出现在 ['fenxiao', 'member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "order.detail_point.l14.t0", + "file": "lang\\en-us.js", + "line": 1412, + "reason": "跨业务域同名 tail=\"l14.t0\",出现在 ['fenxiao', 'member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "tool.goods.brand.l14.t0", + "file": "lang\\en-us.js", + "line": 1587, + "reason": "跨业务域同名 tail=\"l14.t0\",出现在 ['fenxiao', 'member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund_detail.l14.t0", + "file": "lang\\en-us.js", + "line": 1655, + "reason": "跨业务域同名 tail=\"l14.t0\",出现在 ['fenxiao', 'member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.promote_code.l14.t0", + "file": "lang\\zh-cn.js", + "line": 812, + "reason": "跨业务域同名 tail=\"l14.t0\",出现在 ['fenxiao', 'member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.withdrawal_detail.l14.t0", + "file": "lang\\zh-cn.js", + "line": 850, + "reason": "跨业务域同名 tail=\"l14.t0\",出现在 ['fenxiao', 'member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "member.info.l14.t0", + "file": "lang\\zh-cn.js", + "line": 1137, + "reason": "跨业务域同名 tail=\"l14.t0\",出现在 ['fenxiao', 'member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "member.modify_face.l14.t0", + "file": "lang\\zh-cn.js", + "line": 1190, + "reason": "跨业务域同名 tail=\"l14.t0\",出现在 ['fenxiao', 'member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "order.detail_point.l14.t0", + "file": "lang\\zh-cn.js", + "line": 1412, + "reason": "跨业务域同名 tail=\"l14.t0\",出现在 ['fenxiao', 'member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "tool.goods.brand.l14.t0", + "file": "lang\\zh-cn.js", + "line": 1587, + "reason": "跨业务域同名 tail=\"l14.t0\",出现在 ['fenxiao', 'member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund_detail.l14.t0", + "file": "lang\\zh-cn.js", + "line": 1655, + "reason": "跨业务域同名 tail=\"l14.t0\",出现在 ['fenxiao', 'member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.promote_code.l18.t0", + "file": "lang\\en-us.js", + "line": 813, + "reason": "跨业务域同名 tail=\"l18.t0\",出现在 ['fenxiao', 'goods', 'login', 'member', 'notice', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.withdrawal_detail.l18.t0", + "file": "lang\\en-us.js", + "line": 851, + "reason": "跨业务域同名 tail=\"l18.t0\",出现在 ['fenxiao', 'goods', 'login', 'member', 'notice', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "goods.detail.l18.t0", + "file": "lang\\en-us.js", + "line": 925, + "reason": "跨业务域同名 tail=\"l18.t0\",出现在 ['fenxiao', 'goods', 'login', 'member', 'notice', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "login.find.l18.t0", + "file": "lang\\en-us.js", + "line": 1004, + "reason": "跨业务域同名 tail=\"l18.t0\",出现在 ['fenxiao', 'goods', 'login', 'member', 'notice', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "member.assets.l18.t0", + "file": "lang\\en-us.js", + "line": 1066, + "reason": "跨业务域同名 tail=\"l18.t0\",出现在 ['fenxiao', 'goods', 'login', 'member', 'notice', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "notice.list.l18.t0", + "file": "lang\\en-us.js", + "line": 1288, + "reason": "跨业务域同名 tail=\"l18.t0\",出现在 ['fenxiao', 'goods', 'login', 'member', 'notice', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "seal.medium.detail.l18.t0", + "file": "lang\\en-us.js", + "line": 1533, + "reason": "跨业务域同名 tail=\"l18.t0\",出现在 ['fenxiao', 'goods', 'login', 'member', 'notice', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund.l18.t0", + "file": "lang\\en-us.js", + "line": 1638, + "reason": "跨业务域同名 tail=\"l18.t0\",出现在 ['fenxiao', 'goods', 'login', 'member', 'notice', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.promote_code.l18.t0", + "file": "lang\\zh-cn.js", + "line": 813, + "reason": "跨业务域同名 tail=\"l18.t0\",出现在 ['fenxiao', 'goods', 'login', 'member', 'notice', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.withdrawal_detail.l18.t0", + "file": "lang\\zh-cn.js", + "line": 851, + "reason": "跨业务域同名 tail=\"l18.t0\",出现在 ['fenxiao', 'goods', 'login', 'member', 'notice', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "goods.detail.l18.t0", + "file": "lang\\zh-cn.js", + "line": 925, + "reason": "跨业务域同名 tail=\"l18.t0\",出现在 ['fenxiao', 'goods', 'login', 'member', 'notice', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "login.find.l18.t0", + "file": "lang\\zh-cn.js", + "line": 1004, + "reason": "跨业务域同名 tail=\"l18.t0\",出现在 ['fenxiao', 'goods', 'login', 'member', 'notice', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "member.assets.l18.t0", + "file": "lang\\zh-cn.js", + "line": 1066, + "reason": "跨业务域同名 tail=\"l18.t0\",出现在 ['fenxiao', 'goods', 'login', 'member', 'notice', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "notice.list.l18.t0", + "file": "lang\\zh-cn.js", + "line": 1288, + "reason": "跨业务域同名 tail=\"l18.t0\",出现在 ['fenxiao', 'goods', 'login', 'member', 'notice', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "seal.medium.detail.l18.t0", + "file": "lang\\zh-cn.js", + "line": 1533, + "reason": "跨业务域同名 tail=\"l18.t0\",出现在 ['fenxiao', 'goods', 'login', 'member', 'notice', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund.l18.t0", + "file": "lang\\zh-cn.js", + "line": 1638, + "reason": "跨业务域同名 tail=\"l18.t0\",出现在 ['fenxiao', 'goods', 'login', 'member', 'notice', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.promote_code.l29.t0", + "file": "lang\\en-us.js", + "line": 815, + "reason": "跨业务域同名 tail=\"l29.t0\",出现在 ['fenxiao', 'point', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "point.goods_list.l29.t0", + "file": "lang\\en-us.js", + "line": 1476, + "reason": "跨业务域同名 tail=\"l29.t0\",出现在 ['fenxiao', 'point', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "seal.medium.detail.l29.t0", + "file": "lang\\en-us.js", + "line": 1534, + "reason": "跨业务域同名 tail=\"l29.t0\",出现在 ['fenxiao', 'point', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund_detail.l29.t0", + "file": "lang\\en-us.js", + "line": 1659, + "reason": "跨业务域同名 tail=\"l29.t0\",出现在 ['fenxiao', 'point', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "tool.recharge.list.l29.t0", + "file": "lang\\en-us.js", + "line": 1690, + "reason": "跨业务域同名 tail=\"l29.t0\",出现在 ['fenxiao', 'point', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "tool.recharge.order_list.l29.t0", + "file": "lang\\en-us.js", + "line": 1701, + "reason": "跨业务域同名 tail=\"l29.t0\",出现在 ['fenxiao', 'point', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.promote_code.l29.t0", + "file": "lang\\zh-cn.js", + "line": 815, + "reason": "跨业务域同名 tail=\"l29.t0\",出现在 ['fenxiao', 'point', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "point.goods_list.l29.t0", + "file": "lang\\zh-cn.js", + "line": 1476, + "reason": "跨业务域同名 tail=\"l29.t0\",出现在 ['fenxiao', 'point', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "seal.medium.detail.l29.t0", + "file": "lang\\zh-cn.js", + "line": 1534, + "reason": "跨业务域同名 tail=\"l29.t0\",出现在 ['fenxiao', 'point', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund_detail.l29.t0", + "file": "lang\\zh-cn.js", + "line": 1659, + "reason": "跨业务域同名 tail=\"l29.t0\",出现在 ['fenxiao', 'point', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "tool.recharge.list.l29.t0", + "file": "lang\\zh-cn.js", + "line": 1690, + "reason": "跨业务域同名 tail=\"l29.t0\",出现在 ['fenxiao', 'point', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "tool.recharge.order_list.l29.t0", + "file": "lang\\zh-cn.js", + "line": 1701, + "reason": "跨业务域同名 tail=\"l29.t0\",出现在 ['fenxiao', 'point', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.ranking_list.l57.t0", + "file": "lang\\en-us.js", + "line": 821, + "reason": "跨业务域同名 tail=\"l57.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.withdraw_list.l57.t0", + "file": "lang\\en-us.js", + "line": 847, + "reason": "跨业务域同名 tail=\"l57.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.address.l57.t0", + "file": "lang\\en-us.js", + "line": 1050, + "reason": "跨业务域同名 tail=\"l57.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.card.l57.t0", + "file": "lang\\en-us.js", + "line": 1112, + "reason": "跨业务域同名 tail=\"l57.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.footprint.l57.t0", + "file": "lang\\en-us.js", + "line": 1134, + "reason": "跨业务域同名 tail=\"l57.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.info_edit.l57.t0", + "file": "lang\\en-us.js", + "line": 1150, + "reason": "跨业务域同名 tail=\"l57.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.level.l57.t0", + "file": "lang\\en-us.js", + "line": 1175, + "reason": "跨业务域同名 tail=\"l57.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.point.l57.t0", + "file": "lang\\en-us.js", + "line": 1208, + "reason": "跨业务域同名 tail=\"l57.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund_detail.l57.t0", + "file": "lang\\en-us.js", + "line": 1669, + "reason": "跨业务域同名 tail=\"l57.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.ranking_list.l57.t0", + "file": "lang\\zh-cn.js", + "line": 821, + "reason": "跨业务域同名 tail=\"l57.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.withdraw_list.l57.t0", + "file": "lang\\zh-cn.js", + "line": 847, + "reason": "跨业务域同名 tail=\"l57.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.address.l57.t0", + "file": "lang\\zh-cn.js", + "line": 1050, + "reason": "跨业务域同名 tail=\"l57.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.card.l57.t0", + "file": "lang\\zh-cn.js", + "line": 1112, + "reason": "跨业务域同名 tail=\"l57.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.footprint.l57.t0", + "file": "lang\\zh-cn.js", + "line": 1134, + "reason": "跨业务域同名 tail=\"l57.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.info_edit.l57.t0", + "file": "lang\\zh-cn.js", + "line": 1150, + "reason": "跨业务域同名 tail=\"l57.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.level.l57.t0", + "file": "lang\\zh-cn.js", + "line": 1175, + "reason": "跨业务域同名 tail=\"l57.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.point.l57.t0", + "file": "lang\\zh-cn.js", + "line": 1208, + "reason": "跨业务域同名 tail=\"l57.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund_detail.l57.t0", + "file": "lang\\zh-cn.js", + "line": 1669, + "reason": "跨业务域同名 tail=\"l57.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.ranking_list.l68.t0", + "file": "lang\\en-us.js", + "line": 822, + "reason": "跨业务域同名 tail=\"l68.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.balance_detail.l68.t0", + "file": "lang\\en-us.js", + "line": 1086, + "reason": "跨业务域同名 tail=\"l68.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.point.l68.t0", + "file": "lang\\en-us.js", + "line": 1213, + "reason": "跨业务域同名 tail=\"l68.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.cases.index.l68.t0", + "file": "lang\\en-us.js", + "line": 1580, + "reason": "跨业务域同名 tail=\"l68.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.ranking_list.l68.t0", + "file": "lang\\zh-cn.js", + "line": 822, + "reason": "跨业务域同名 tail=\"l68.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.balance_detail.l68.t0", + "file": "lang\\zh-cn.js", + "line": 1086, + "reason": "跨业务域同名 tail=\"l68.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.point.l68.t0", + "file": "lang\\zh-cn.js", + "line": 1213, + "reason": "跨业务域同名 tail=\"l68.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.cases.index.l68.t0", + "file": "lang\\zh-cn.js", + "line": 1580, + "reason": "跨业务域同名 tail=\"l68.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.team.l92.t0", + "file": "lang\\en-us.js", + "line": 823, + "reason": "跨业务域同名 tail=\"l92.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.level.l92.t0", + "file": "lang\\en-us.js", + "line": 1179, + "reason": "跨业务域同名 tail=\"l92.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund_detail.l92.t0", + "file": "lang\\en-us.js", + "line": 1678, + "reason": "跨业务域同名 tail=\"l92.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.team.l92.t0", + "file": "lang\\zh-cn.js", + "line": 823, + "reason": "跨业务域同名 tail=\"l92.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.level.l92.t0", + "file": "lang\\zh-cn.js", + "line": 1179, + "reason": "跨业务域同名 tail=\"l92.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund_detail.l92.t0", + "file": "lang\\zh-cn.js", + "line": 1678, + "reason": "跨业务域同名 tail=\"l92.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.team.l96.t0", + "file": "lang\\en-us.js", + "line": 824, + "reason": "跨业务域同名 tail=\"l96.t0\",出现在 ['fenxiao', 'merch'](应收敛到 common)" + }, + { + "key": "merch.public.edit.l96.t0", + "file": "lang\\en-us.js", + "line": 1273, + "reason": "跨业务域同名 tail=\"l96.t0\",出现在 ['fenxiao', 'merch'](应收敛到 common)" + }, + { + "key": "fenxiao.team.l96.t0", + "file": "lang\\zh-cn.js", + "line": 824, + "reason": "跨业务域同名 tail=\"l96.t0\",出现在 ['fenxiao', 'merch'](应收敛到 common)" + }, + { + "key": "merch.public.edit.l96.t0", + "file": "lang\\zh-cn.js", + "line": 1273, + "reason": "跨业务域同名 tail=\"l96.t0\",出现在 ['fenxiao', 'merch'](应收敛到 common)" + }, + { + "key": "fenxiao.withdraw_apply.l178.t0", + "file": "lang\\en-us.js", + "line": 825, + "reason": "跨业务域同名 tail=\"l178.t0\",出现在 ['fenxiao', 'member'](应收敛到 common)" + }, + { + "key": "member.account_edit.l178.t0", + "file": "lang\\en-us.js", + "line": 1036, + "reason": "跨业务域同名 tail=\"l178.t0\",出现在 ['fenxiao', 'member'](应收敛到 common)" + }, + { + "key": "fenxiao.withdraw_apply.l178.t0", + "file": "lang\\zh-cn.js", + "line": 825, + "reason": "跨业务域同名 tail=\"l178.t0\",出现在 ['fenxiao', 'member'](应收敛到 common)" + }, + { + "key": "member.account_edit.l178.t0", + "file": "lang\\zh-cn.js", + "line": 1036, + "reason": "跨业务域同名 tail=\"l178.t0\",出现在 ['fenxiao', 'member'](应收敛到 common)" + }, + { + "key": "fenxiao.withdraw_apply.l189.t0", + "file": "lang\\en-us.js", + "line": 826, + "reason": "跨业务域同名 tail=\"l189.t0\",出现在 ['fenxiao', 'tool'](应收敛到 common)" + }, + { + "key": "tool.goods.coupon_receive.l189.t0", + "file": "lang\\en-us.js", + "line": 1602, + "reason": "跨业务域同名 tail=\"l189.t0\",出现在 ['fenxiao', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.withdraw_apply.l189.t0", + "file": "lang\\zh-cn.js", + "line": 826, + "reason": "跨业务域同名 tail=\"l189.t0\",出现在 ['fenxiao', 'tool'](应收敛到 common)" + }, + { + "key": "tool.goods.coupon_receive.l189.t0", + "file": "lang\\zh-cn.js", + "line": 1602, + "reason": "跨业务域同名 tail=\"l189.t0\",出现在 ['fenxiao', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.withdraw_apply.l196.t0", + "file": "lang\\en-us.js", + "line": 828, + "reason": "跨业务域同名 tail=\"l196.t0\",出现在 ['fenxiao', 'login', 'member'](应收敛到 common)" + }, + { + "key": "login.find.l196.t0", + "file": "lang\\en-us.js", + "line": 1007, + "reason": "跨业务域同名 tail=\"l196.t0\",出现在 ['fenxiao', 'login', 'member'](应收敛到 common)" + }, + { + "key": "member.address.l196.t0", + "file": "lang\\en-us.js", + "line": 1045, + "reason": "跨业务域同名 tail=\"l196.t0\",出现在 ['fenxiao', 'login', 'member'](应收敛到 common)" + }, + { + "key": "fenxiao.withdraw_apply.l196.t0", + "file": "lang\\zh-cn.js", + "line": 828, + "reason": "跨业务域同名 tail=\"l196.t0\",出现在 ['fenxiao', 'login', 'member'](应收敛到 common)" + }, + { + "key": "login.find.l196.t0", + "file": "lang\\zh-cn.js", + "line": 1007, + "reason": "跨业务域同名 tail=\"l196.t0\",出现在 ['fenxiao', 'login', 'member'](应收敛到 common)" + }, + { + "key": "member.address.l196.t0", + "file": "lang\\zh-cn.js", + "line": 1045, + "reason": "跨业务域同名 tail=\"l196.t0\",出现在 ['fenxiao', 'login', 'member'](应收敛到 common)" + }, + { + "key": "fenxiao.withdraw_apply.l31.t0", + "file": "lang\\en-us.js", + "line": 831, + "reason": "跨业务域同名 tail=\"l31.t0\",出现在 ['fenxiao', 'member', 'merch', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "member.card.l31.t0", + "file": "lang\\en-us.js", + "line": 1108, + "reason": "跨业务域同名 tail=\"l31.t0\",出现在 ['fenxiao', 'member', 'merch', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "member.public.js.signin.l31.t0", + "file": "lang\\en-us.js", + "line": 1231, + "reason": "跨业务域同名 tail=\"l31.t0\",出现在 ['fenxiao', 'member', 'merch', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "merch.detail.l31.t0", + "file": "lang\\en-us.js", + "line": 1237, + "reason": "跨业务域同名 tail=\"l31.t0\",出现在 ['fenxiao', 'member', 'merch', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "point.list.l31.t0", + "file": "lang\\en-us.js", + "line": 1496, + "reason": "跨业务域同名 tail=\"l31.t0\",出现在 ['fenxiao', 'member', 'merch', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "tool.cases.index.l31.t0", + "file": "lang\\en-us.js", + "line": 1574, + "reason": "跨业务域同名 tail=\"l31.t0\",出现在 ['fenxiao', 'member', 'merch', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.withdraw_apply.l31.t0", + "file": "lang\\zh-cn.js", + "line": 831, + "reason": "跨业务域同名 tail=\"l31.t0\",出现在 ['fenxiao', 'member', 'merch', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "member.card.l31.t0", + "file": "lang\\zh-cn.js", + "line": 1108, + "reason": "跨业务域同名 tail=\"l31.t0\",出现在 ['fenxiao', 'member', 'merch', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "member.public.js.signin.l31.t0", + "file": "lang\\zh-cn.js", + "line": 1231, + "reason": "跨业务域同名 tail=\"l31.t0\",出现在 ['fenxiao', 'member', 'merch', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "merch.detail.l31.t0", + "file": "lang\\zh-cn.js", + "line": 1237, + "reason": "跨业务域同名 tail=\"l31.t0\",出现在 ['fenxiao', 'member', 'merch', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "point.list.l31.t0", + "file": "lang\\zh-cn.js", + "line": 1496, + "reason": "跨业务域同名 tail=\"l31.t0\",出现在 ['fenxiao', 'member', 'merch', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "tool.cases.index.l31.t0", + "file": "lang\\zh-cn.js", + "line": 1574, + "reason": "跨业务域同名 tail=\"l31.t0\",出现在 ['fenxiao', 'member', 'merch', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.withdraw_apply.l41.t0", + "file": "lang\\en-us.js", + "line": 832, + "reason": "跨业务域同名 tail=\"l41.t0\",出现在 ['fenxiao', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "point.list.l41.t0", + "file": "lang\\en-us.js", + "line": 1498, + "reason": "跨业务域同名 tail=\"l41.t0\",出现在 ['fenxiao', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "tool.storeclose.l41.t0", + "file": "lang\\en-us.js", + "line": 1703, + "reason": "跨业务域同名 tail=\"l41.t0\",出现在 ['fenxiao', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.withdraw_apply.l41.t0", + "file": "lang\\zh-cn.js", + "line": 832, + "reason": "跨业务域同名 tail=\"l41.t0\",出现在 ['fenxiao', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "point.list.l41.t0", + "file": "lang\\zh-cn.js", + "line": 1498, + "reason": "跨业务域同名 tail=\"l41.t0\",出现在 ['fenxiao', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "tool.storeclose.l41.t0", + "file": "lang\\zh-cn.js", + "line": 1703, + "reason": "跨业务域同名 tail=\"l41.t0\",出现在 ['fenxiao', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.withdraw_apply.l42.t0", + "file": "lang\\en-us.js", + "line": 833, + "reason": "跨业务域同名 tail=\"l42.t0\",出现在 ['fenxiao', 'member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.withdrawal_detail.l42.t0", + "file": "lang\\en-us.js", + "line": 857, + "reason": "跨业务域同名 tail=\"l42.t0\",出现在 ['fenxiao', 'member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "member.card.l42.t0", + "file": "lang\\en-us.js", + "line": 1109, + "reason": "跨业务域同名 tail=\"l42.t0\",出现在 ['fenxiao', 'member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "order.detail.l42.t0", + "file": "lang\\en-us.js", + "line": 1400, + "reason": "跨业务域同名 tail=\"l42.t0\",出现在 ['fenxiao', 'member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.evaluate.l42.t0", + "file": "lang\\en-us.js", + "line": 1628, + "reason": "跨业务域同名 tail=\"l42.t0\",出现在 ['fenxiao', 'member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund.l42.t0", + "file": "lang\\en-us.js", + "line": 1643, + "reason": "跨业务域同名 tail=\"l42.t0\",出现在 ['fenxiao', 'member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.withdraw_apply.l42.t0", + "file": "lang\\zh-cn.js", + "line": 833, + "reason": "跨业务域同名 tail=\"l42.t0\",出现在 ['fenxiao', 'member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.withdrawal_detail.l42.t0", + "file": "lang\\zh-cn.js", + "line": 857, + "reason": "跨业务域同名 tail=\"l42.t0\",出现在 ['fenxiao', 'member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "member.card.l42.t0", + "file": "lang\\zh-cn.js", + "line": 1109, + "reason": "跨业务域同名 tail=\"l42.t0\",出现在 ['fenxiao', 'member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "order.detail.l42.t0", + "file": "lang\\zh-cn.js", + "line": 1400, + "reason": "跨业务域同名 tail=\"l42.t0\",出现在 ['fenxiao', 'member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.evaluate.l42.t0", + "file": "lang\\zh-cn.js", + "line": 1628, + "reason": "跨业务域同名 tail=\"l42.t0\",出现在 ['fenxiao', 'member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund.l42.t0", + "file": "lang\\zh-cn.js", + "line": 1643, + "reason": "跨业务域同名 tail=\"l42.t0\",出现在 ['fenxiao', 'member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.withdraw_apply.l46.t0", + "file": "lang\\en-us.js", + "line": 834, + "reason": "跨业务域同名 tail=\"l46.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.withdrawal_detail.l46.t0", + "file": "lang\\en-us.js", + "line": 858, + "reason": "跨业务域同名 tail=\"l46.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.assets.l46.t0", + "file": "lang\\en-us.js", + "line": 1069, + "reason": "跨业务域同名 tail=\"l46.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.balance_detail.l46.t0", + "file": "lang\\en-us.js", + "line": 1085, + "reason": "跨业务域同名 tail=\"l46.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.pay.result.l46.t0", + "file": "lang\\en-us.js", + "line": 1686, + "reason": "跨业务域同名 tail=\"l46.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.withdraw_apply.l46.t0", + "file": "lang\\zh-cn.js", + "line": 834, + "reason": "跨业务域同名 tail=\"l46.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.withdrawal_detail.l46.t0", + "file": "lang\\zh-cn.js", + "line": 858, + "reason": "跨业务域同名 tail=\"l46.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.assets.l46.t0", + "file": "lang\\zh-cn.js", + "line": 1069, + "reason": "跨业务域同名 tail=\"l46.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.balance_detail.l46.t0", + "file": "lang\\zh-cn.js", + "line": 1085, + "reason": "跨业务域同名 tail=\"l46.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.pay.result.l46.t0", + "file": "lang\\zh-cn.js", + "line": 1686, + "reason": "跨业务域同名 tail=\"l46.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.withdraw_apply.l48.t0", + "file": "lang\\en-us.js", + "line": 835, + "reason": "跨业务域同名 tail=\"l48.t0\",出现在 ['fenxiao', 'member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "member.point.l48.t0", + "file": "lang\\en-us.js", + "line": 1206, + "reason": "跨业务域同名 tail=\"l48.t0\",出现在 ['fenxiao', 'member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "order.payment.l48.t0", + "file": "lang\\en-us.js", + "line": 1428, + "reason": "跨业务域同名 tail=\"l48.t0\",出现在 ['fenxiao', 'member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund.l48.t0", + "file": "lang\\en-us.js", + "line": 1644, + "reason": "跨业务域同名 tail=\"l48.t0\",出现在 ['fenxiao', 'member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.withdraw_apply.l48.t0", + "file": "lang\\zh-cn.js", + "line": 835, + "reason": "跨业务域同名 tail=\"l48.t0\",出现在 ['fenxiao', 'member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "member.point.l48.t0", + "file": "lang\\zh-cn.js", + "line": 1206, + "reason": "跨业务域同名 tail=\"l48.t0\",出现在 ['fenxiao', 'member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "order.payment.l48.t0", + "file": "lang\\zh-cn.js", + "line": 1428, + "reason": "跨业务域同名 tail=\"l48.t0\",出现在 ['fenxiao', 'member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund.l48.t0", + "file": "lang\\zh-cn.js", + "line": 1644, + "reason": "跨业务域同名 tail=\"l48.t0\",出现在 ['fenxiao', 'member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.withdraw_apply.l6.t0", + "file": "lang\\en-us.js", + "line": 838, + "reason": "跨业务域同名 tail=\"l6.t0\",出现在 ['fenxiao', 'member', 'order', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "member.cancelrefuse.l6.t0", + "file": "lang\\en-us.js", + "line": 1092, + "reason": "跨业务域同名 tail=\"l6.t0\",出现在 ['fenxiao', 'member', 'order', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "member.coupon.l6.t0", + "file": "lang\\en-us.js", + "line": 1129, + "reason": "跨业务域同名 tail=\"l6.t0\",出现在 ['fenxiao', 'member', 'order', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "order.list.l6.t0", + "file": "lang\\en-us.js", + "line": 1425, + "reason": "跨业务域同名 tail=\"l6.t0\",出现在 ['fenxiao', 'member', 'order', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "seal.medium.search.l6.t0", + "file": "lang\\en-us.js", + "line": 1535, + "reason": "跨业务域同名 tail=\"l6.t0\",出现在 ['fenxiao', 'member', 'order', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "seal.structure.l6.t0", + "file": "lang\\en-us.js", + "line": 1538, + "reason": "跨业务域同名 tail=\"l6.t0\",出现在 ['fenxiao', 'member', 'order', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "tool.pay.wx_pay.l6.t0", + "file": "lang\\en-us.js", + "line": 1687, + "reason": "跨业务域同名 tail=\"l6.t0\",出现在 ['fenxiao', 'member', 'order', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.withdraw_apply.l6.t0", + "file": "lang\\zh-cn.js", + "line": 838, + "reason": "跨业务域同名 tail=\"l6.t0\",出现在 ['fenxiao', 'member', 'order', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "member.cancelrefuse.l6.t0", + "file": "lang\\zh-cn.js", + "line": 1092, + "reason": "跨业务域同名 tail=\"l6.t0\",出现在 ['fenxiao', 'member', 'order', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "member.coupon.l6.t0", + "file": "lang\\zh-cn.js", + "line": 1129, + "reason": "跨业务域同名 tail=\"l6.t0\",出现在 ['fenxiao', 'member', 'order', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "order.list.l6.t0", + "file": "lang\\zh-cn.js", + "line": 1425, + "reason": "跨业务域同名 tail=\"l6.t0\",出现在 ['fenxiao', 'member', 'order', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "seal.medium.search.l6.t0", + "file": "lang\\zh-cn.js", + "line": 1535, + "reason": "跨业务域同名 tail=\"l6.t0\",出现在 ['fenxiao', 'member', 'order', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "seal.structure.l6.t0", + "file": "lang\\zh-cn.js", + "line": 1538, + "reason": "跨业务域同名 tail=\"l6.t0\",出现在 ['fenxiao', 'member', 'order', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "tool.pay.wx_pay.l6.t0", + "file": "lang\\zh-cn.js", + "line": 1687, + "reason": "跨业务域同名 tail=\"l6.t0\",出现在 ['fenxiao', 'member', 'order', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.withdraw_list.l12.t0", + "file": "lang\\en-us.js", + "line": 840, + "reason": "跨业务域同名 tail=\"l12.t0\",出现在 ['fenxiao', 'member', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "member.level.l12.t0", + "file": "lang\\en-us.js", + "line": 1173, + "reason": "跨业务域同名 tail=\"l12.t0\",出现在 ['fenxiao', 'member', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "member.pay_password.l12.t0", + "file": "lang\\en-us.js", + "line": 1196, + "reason": "跨业务域同名 tail=\"l12.t0\",出现在 ['fenxiao', 'member', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "seal.structure.l12.t0", + "file": "lang\\en-us.js", + "line": 1536, + "reason": "跨业务域同名 tail=\"l12.t0\",出现在 ['fenxiao', 'member', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "tool.agreement.contenr.l12.t0", + "file": "lang\\en-us.js", + "line": 1569, + "reason": "跨业务域同名 tail=\"l12.t0\",出现在 ['fenxiao', 'member', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.activist.l12.t0", + "file": "lang\\en-us.js", + "line": 1625, + "reason": "跨业务域同名 tail=\"l12.t0\",出现在 ['fenxiao', 'member', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.withdraw_list.l12.t0", + "file": "lang\\zh-cn.js", + "line": 840, + "reason": "跨业务域同名 tail=\"l12.t0\",出现在 ['fenxiao', 'member', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "member.level.l12.t0", + "file": "lang\\zh-cn.js", + "line": 1173, + "reason": "跨业务域同名 tail=\"l12.t0\",出现在 ['fenxiao', 'member', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "member.pay_password.l12.t0", + "file": "lang\\zh-cn.js", + "line": 1196, + "reason": "跨业务域同名 tail=\"l12.t0\",出现在 ['fenxiao', 'member', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "seal.structure.l12.t0", + "file": "lang\\zh-cn.js", + "line": 1536, + "reason": "跨业务域同名 tail=\"l12.t0\",出现在 ['fenxiao', 'member', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "tool.agreement.contenr.l12.t0", + "file": "lang\\zh-cn.js", + "line": 1569, + "reason": "跨业务域同名 tail=\"l12.t0\",出现在 ['fenxiao', 'member', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.activist.l12.t0", + "file": "lang\\zh-cn.js", + "line": 1625, + "reason": "跨业务域同名 tail=\"l12.t0\",出现在 ['fenxiao', 'member', 'seal', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.withdraw_list.l13.t0", + "file": "lang\\en-us.js", + "line": 842, + "reason": "跨业务域同名 tail=\"l13.t0\",出现在 ['fenxiao', 'login', 'member', 'order', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "login.find.l13.t0", + "file": "lang\\en-us.js", + "line": 1002, + "reason": "跨业务域同名 tail=\"l13.t0\",出现在 ['fenxiao', 'login', 'member', 'order', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "member.cancellation.l13.t0", + "file": "lang\\en-us.js", + "line": 1088, + "reason": "跨业务域同名 tail=\"l13.t0\",出现在 ['fenxiao', 'login', 'member', 'order', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "order.public.js.orderMethod.l13.t0", + "file": "lang\\en-us.js", + "line": 1431, + "reason": "跨业务域同名 tail=\"l13.t0\",出现在 ['fenxiao', 'login', 'member', 'order', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "point.list.l13.t0", + "file": "lang\\en-us.js", + "line": 1481, + "reason": "跨业务域同名 tail=\"l13.t0\",出现在 ['fenxiao', 'login', 'member', 'order', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "tool.agreement.contenr.l13.t0", + "file": "lang\\en-us.js", + "line": 1570, + "reason": "跨业务域同名 tail=\"l13.t0\",出现在 ['fenxiao', 'login', 'member', 'order', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "tool.goods.coupon_receive.l13.t0", + "file": "lang\\en-us.js", + "line": 1600, + "reason": "跨业务域同名 tail=\"l13.t0\",出现在 ['fenxiao', 'login', 'member', 'order', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund_detail.l13.t0", + "file": "lang\\en-us.js", + "line": 1653, + "reason": "跨业务域同名 tail=\"l13.t0\",出现在 ['fenxiao', 'login', 'member', 'order', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.withdraw_list.l13.t0", + "file": "lang\\zh-cn.js", + "line": 842, + "reason": "跨业务域同名 tail=\"l13.t0\",出现在 ['fenxiao', 'login', 'member', 'order', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "login.find.l13.t0", + "file": "lang\\zh-cn.js", + "line": 1002, + "reason": "跨业务域同名 tail=\"l13.t0\",出现在 ['fenxiao', 'login', 'member', 'order', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "member.cancellation.l13.t0", + "file": "lang\\zh-cn.js", + "line": 1088, + "reason": "跨业务域同名 tail=\"l13.t0\",出现在 ['fenxiao', 'login', 'member', 'order', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "order.public.js.orderMethod.l13.t0", + "file": "lang\\zh-cn.js", + "line": 1431, + "reason": "跨业务域同名 tail=\"l13.t0\",出现在 ['fenxiao', 'login', 'member', 'order', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "point.list.l13.t0", + "file": "lang\\zh-cn.js", + "line": 1481, + "reason": "跨业务域同名 tail=\"l13.t0\",出现在 ['fenxiao', 'login', 'member', 'order', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "tool.agreement.contenr.l13.t0", + "file": "lang\\zh-cn.js", + "line": 1570, + "reason": "跨业务域同名 tail=\"l13.t0\",出现在 ['fenxiao', 'login', 'member', 'order', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "tool.goods.coupon_receive.l13.t0", + "file": "lang\\zh-cn.js", + "line": 1600, + "reason": "跨业务域同名 tail=\"l13.t0\",出现在 ['fenxiao', 'login', 'member', 'order', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund_detail.l13.t0", + "file": "lang\\zh-cn.js", + "line": 1653, + "reason": "跨业务域同名 tail=\"l13.t0\",出现在 ['fenxiao', 'login', 'member', 'order', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.withdraw_list.l53.t0", + "file": "lang\\en-us.js", + "line": 846, + "reason": "跨业务域同名 tail=\"l53.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.card.l53.t0", + "file": "lang\\en-us.js", + "line": 1111, + "reason": "跨业务域同名 tail=\"l53.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.point.l53.t0", + "file": "lang\\en-us.js", + "line": 1207, + "reason": "跨业务域同名 tail=\"l53.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund_goods_select.l53.t0", + "file": "lang\\en-us.js", + "line": 1680, + "reason": "跨业务域同名 tail=\"l53.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.withdraw_list.l53.t0", + "file": "lang\\zh-cn.js", + "line": 846, + "reason": "跨业务域同名 tail=\"l53.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.card.l53.t0", + "file": "lang\\zh-cn.js", + "line": 1111, + "reason": "跨业务域同名 tail=\"l53.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.point.l53.t0", + "file": "lang\\zh-cn.js", + "line": 1207, + "reason": "跨业务域同名 tail=\"l53.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund_goods_select.l53.t0", + "file": "lang\\zh-cn.js", + "line": 1680, + "reason": "跨业务域同名 tail=\"l53.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.withdraw_list.l78.t0", + "file": "lang\\en-us.js", + "line": 848, + "reason": "跨业务域同名 tail=\"l78.t0\",出现在 ['fenxiao', 'goods', 'point'](应收敛到 common)" + }, + { + "key": "goods.public.js.list.l78.t0", + "file": "lang\\en-us.js", + "line": 973, + "reason": "跨业务域同名 tail=\"l78.t0\",出现在 ['fenxiao', 'goods', 'point'](应收敛到 common)" + }, + { + "key": "point.detail.l78.t0", + "file": "lang\\en-us.js", + "line": 1475, + "reason": "跨业务域同名 tail=\"l78.t0\",出现在 ['fenxiao', 'goods', 'point'](应收敛到 common)" + }, + { + "key": "fenxiao.withdraw_list.l78.t0", + "file": "lang\\zh-cn.js", + "line": 848, + "reason": "跨业务域同名 tail=\"l78.t0\",出现在 ['fenxiao', 'goods', 'point'](应收敛到 common)" + }, + { + "key": "goods.public.js.list.l78.t0", + "file": "lang\\zh-cn.js", + "line": 973, + "reason": "跨业务域同名 tail=\"l78.t0\",出现在 ['fenxiao', 'goods', 'point'](应收敛到 common)" + }, + { + "key": "point.detail.l78.t0", + "file": "lang\\zh-cn.js", + "line": 1475, + "reason": "跨业务域同名 tail=\"l78.t0\",出现在 ['fenxiao', 'goods', 'point'](应收敛到 common)" + }, + { + "key": "fenxiao.withdrawal_detail.l10.t0", + "file": "lang\\en-us.js", + "line": 849, + "reason": "跨业务域同名 tail=\"l10.t0\",出现在 ['fenxiao', 'member', 'notice', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "member.account.l10.t0", + "file": "lang\\en-us.js", + "line": 1025, + "reason": "跨业务域同名 tail=\"l10.t0\",出现在 ['fenxiao', 'member', 'notice', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "member.info_edit.l10.t0", + "file": "lang\\en-us.js", + "line": 1144, + "reason": "跨业务域同名 tail=\"l10.t0\",出现在 ['fenxiao', 'member', 'notice', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "member.pay_password.l10.t0", + "file": "lang\\en-us.js", + "line": 1194, + "reason": "跨业务域同名 tail=\"l10.t0\",出现在 ['fenxiao', 'member', 'notice', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "notice.list.l10.t0", + "file": "lang\\en-us.js", + "line": 1287, + "reason": "跨业务域同名 tail=\"l10.t0\",出现在 ['fenxiao', 'member', 'notice', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "order.public.js.refundMethod.l10.t0", + "file": "lang\\en-us.js", + "line": 1438, + "reason": "跨业务域同名 tail=\"l10.t0\",出现在 ['fenxiao', 'member', 'notice', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "tool.goods.coupon.l10.t0", + "file": "lang\\en-us.js", + "line": 1589, + "reason": "跨业务域同名 tail=\"l10.t0\",出现在 ['fenxiao', 'member', 'notice', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.activist.l10.t0", + "file": "lang\\en-us.js", + "line": 1623, + "reason": "跨业务域同名 tail=\"l10.t0\",出现在 ['fenxiao', 'member', 'notice', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund_detail.l10.t0", + "file": "lang\\en-us.js", + "line": 1648, + "reason": "跨业务域同名 tail=\"l10.t0\",出现在 ['fenxiao', 'member', 'notice', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.withdrawal_detail.l10.t0", + "file": "lang\\zh-cn.js", + "line": 849, + "reason": "跨业务域同名 tail=\"l10.t0\",出现在 ['fenxiao', 'member', 'notice', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "member.account.l10.t0", + "file": "lang\\zh-cn.js", + "line": 1025, + "reason": "跨业务域同名 tail=\"l10.t0\",出现在 ['fenxiao', 'member', 'notice', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "member.info_edit.l10.t0", + "file": "lang\\zh-cn.js", + "line": 1144, + "reason": "跨业务域同名 tail=\"l10.t0\",出现在 ['fenxiao', 'member', 'notice', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "member.pay_password.l10.t0", + "file": "lang\\zh-cn.js", + "line": 1194, + "reason": "跨业务域同名 tail=\"l10.t0\",出现在 ['fenxiao', 'member', 'notice', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "notice.list.l10.t0", + "file": "lang\\zh-cn.js", + "line": 1287, + "reason": "跨业务域同名 tail=\"l10.t0\",出现在 ['fenxiao', 'member', 'notice', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "order.public.js.refundMethod.l10.t0", + "file": "lang\\zh-cn.js", + "line": 1438, + "reason": "跨业务域同名 tail=\"l10.t0\",出现在 ['fenxiao', 'member', 'notice', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "tool.goods.coupon.l10.t0", + "file": "lang\\zh-cn.js", + "line": 1589, + "reason": "跨业务域同名 tail=\"l10.t0\",出现在 ['fenxiao', 'member', 'notice', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.activist.l10.t0", + "file": "lang\\zh-cn.js", + "line": 1623, + "reason": "跨业务域同名 tail=\"l10.t0\",出现在 ['fenxiao', 'member', 'notice', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund_detail.l10.t0", + "file": "lang\\zh-cn.js", + "line": 1648, + "reason": "跨业务域同名 tail=\"l10.t0\",出现在 ['fenxiao', 'member', 'notice', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.withdrawal_detail.l26.t0", + "file": "lang\\en-us.js", + "line": 853, + "reason": "跨业务域同名 tail=\"l26.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.cancelstatus.l26.t0", + "file": "lang\\en-us.js", + "line": 1096, + "reason": "跨业务域同名 tail=\"l26.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund_batch.l26.t0", + "file": "lang\\en-us.js", + "line": 1647, + "reason": "跨业务域同名 tail=\"l26.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund_detail.l26.t0", + "file": "lang\\en-us.js", + "line": 1658, + "reason": "跨业务域同名 tail=\"l26.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.withdrawal_detail.l26.t0", + "file": "lang\\zh-cn.js", + "line": 853, + "reason": "跨业务域同名 tail=\"l26.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.cancelstatus.l26.t0", + "file": "lang\\zh-cn.js", + "line": 1096, + "reason": "跨业务域同名 tail=\"l26.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund_batch.l26.t0", + "file": "lang\\zh-cn.js", + "line": 1647, + "reason": "跨业务域同名 tail=\"l26.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund_detail.l26.t0", + "file": "lang\\zh-cn.js", + "line": 1658, + "reason": "跨业务域同名 tail=\"l26.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.withdrawal_detail.l30.t0", + "file": "lang\\en-us.js", + "line": 854, + "reason": "跨业务域同名 tail=\"l30.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.level_growth_rules.l30.t0", + "file": "lang\\en-us.js", + "line": 1184, + "reason": "跨业务域同名 tail=\"l30.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.activist.l30.t0", + "file": "lang\\en-us.js", + "line": 1626, + "reason": "跨业务域同名 tail=\"l30.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.withdrawal_detail.l30.t0", + "file": "lang\\zh-cn.js", + "line": 854, + "reason": "跨业务域同名 tail=\"l30.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.level_growth_rules.l30.t0", + "file": "lang\\zh-cn.js", + "line": 1184, + "reason": "跨业务域同名 tail=\"l30.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.activist.l30.t0", + "file": "lang\\zh-cn.js", + "line": 1626, + "reason": "跨业务域同名 tail=\"l30.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.withdrawal_detail.l38.t0", + "file": "lang\\en-us.js", + "line": 856, + "reason": "跨业务域同名 tail=\"l38.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.address.l38.t0", + "file": "lang\\en-us.js", + "line": 1049, + "reason": "跨业务域同名 tail=\"l38.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund_detail.l38.t0", + "file": "lang\\en-us.js", + "line": 1661, + "reason": "跨业务域同名 tail=\"l38.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "fenxiao.withdrawal_detail.l38.t0", + "file": "lang\\zh-cn.js", + "line": 856, + "reason": "跨业务域同名 tail=\"l38.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.address.l38.t0", + "file": "lang\\zh-cn.js", + "line": 1049, + "reason": "跨业务域同名 tail=\"l38.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund_detail.l38.t0", + "file": "lang\\zh-cn.js", + "line": 1661, + "reason": "跨业务域同名 tail=\"l38.t0\",出现在 ['fenxiao', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "goods.cart.l123.t0", + "file": "lang\\en-us.js", + "line": 903, + "reason": "跨业务域同名 tail=\"l123.t0\",出现在 ['goods', 'member'](应收敛到 common)" + }, + { + "key": "member.account.l123.t0", + "file": "lang\\en-us.js", + "line": 1029, + "reason": "跨业务域同名 tail=\"l123.t0\",出现在 ['goods', 'member'](应收敛到 common)" + }, + { + "key": "goods.cart.l123.t0", + "file": "lang\\zh-cn.js", + "line": 903, + "reason": "跨业务域同名 tail=\"l123.t0\",出现在 ['goods', 'member'](应收敛到 common)" + }, + { + "key": "member.account.l123.t0", + "file": "lang\\zh-cn.js", + "line": 1029, + "reason": "跨业务域同名 tail=\"l123.t0\",出现在 ['goods', 'member'](应收敛到 common)" + }, + { + "key": "goods.cart.l192.t0", + "file": "lang\\en-us.js", + "line": 907, + "reason": "跨业务域同名 tail=\"l192.t0\",出现在 ['goods', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "order.detail.l192.t0", + "file": "lang\\en-us.js", + "line": 1362, + "reason": "跨业务域同名 tail=\"l192.t0\",出现在 ['goods', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "tool.goods.coupon_receive.l192.t0", + "file": "lang\\en-us.js", + "line": 1603, + "reason": "跨业务域同名 tail=\"l192.t0\",出现在 ['goods', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "goods.cart.l192.t0", + "file": "lang\\zh-cn.js", + "line": 907, + "reason": "跨业务域同名 tail=\"l192.t0\",出现在 ['goods', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "order.detail.l192.t0", + "file": "lang\\zh-cn.js", + "line": 1362, + "reason": "跨业务域同名 tail=\"l192.t0\",出现在 ['goods', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "tool.goods.coupon_receive.l192.t0", + "file": "lang\\zh-cn.js", + "line": 1603, + "reason": "跨业务域同名 tail=\"l192.t0\",出现在 ['goods', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "goods.cart.l226.t0", + "file": "lang\\en-us.js", + "line": 911, + "reason": "跨业务域同名 tail=\"l226.t0\",出现在 ['goods', 'member'](应收敛到 common)" + }, + { + "key": "member.account_edit.l226.t0", + "file": "lang\\en-us.js", + "line": 1038, + "reason": "跨业务域同名 tail=\"l226.t0\",出现在 ['goods', 'member'](应收敛到 common)" + }, + { + "key": "goods.cart.l226.t0", + "file": "lang\\zh-cn.js", + "line": 911, + "reason": "跨业务域同名 tail=\"l226.t0\",出现在 ['goods', 'member'](应收敛到 common)" + }, + { + "key": "member.account_edit.l226.t0", + "file": "lang\\zh-cn.js", + "line": 1038, + "reason": "跨业务域同名 tail=\"l226.t0\",出现在 ['goods', 'member'](应收敛到 common)" + }, + { + "key": "goods.cart.l8.t0", + "file": "lang\\en-us.js", + "line": 917, + "reason": "跨业务域同名 tail=\"l8.t0\",出现在 ['goods', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.cancelrefuse.l8.t0", + "file": "lang\\en-us.js", + "line": 1093, + "reason": "跨业务域同名 tail=\"l8.t0\",出现在 ['goods', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.cancelstatus.l8.t0", + "file": "lang\\en-us.js", + "line": 1099, + "reason": "跨业务域同名 tail=\"l8.t0\",出现在 ['goods', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.cancelsuccess.l8.t0", + "file": "lang\\en-us.js", + "line": 1104, + "reason": "跨业务域同名 tail=\"l8.t0\",出现在 ['goods', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.form.l8.t0", + "file": "lang\\en-us.js", + "line": 1586, + "reason": "跨业务域同名 tail=\"l8.t0\",出现在 ['goods', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.goods.coupon.l8.t0", + "file": "lang\\en-us.js", + "line": 1599, + "reason": "跨业务域同名 tail=\"l8.t0\",出现在 ['goods', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund_detail.l8.t0", + "file": "lang\\en-us.js", + "line": 1674, + "reason": "跨业务域同名 tail=\"l8.t0\",出现在 ['goods', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "goods.cart.l8.t0", + "file": "lang\\zh-cn.js", + "line": 917, + "reason": "跨业务域同名 tail=\"l8.t0\",出现在 ['goods', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.cancelrefuse.l8.t0", + "file": "lang\\zh-cn.js", + "line": 1093, + "reason": "跨业务域同名 tail=\"l8.t0\",出现在 ['goods', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.cancelstatus.l8.t0", + "file": "lang\\zh-cn.js", + "line": 1099, + "reason": "跨业务域同名 tail=\"l8.t0\",出现在 ['goods', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.cancelsuccess.l8.t0", + "file": "lang\\zh-cn.js", + "line": 1104, + "reason": "跨业务域同名 tail=\"l8.t0\",出现在 ['goods', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.form.l8.t0", + "file": "lang\\zh-cn.js", + "line": 1586, + "reason": "跨业务域同名 tail=\"l8.t0\",出现在 ['goods', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.goods.coupon.l8.t0", + "file": "lang\\zh-cn.js", + "line": 1599, + "reason": "跨业务域同名 tail=\"l8.t0\",出现在 ['goods', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund_detail.l8.t0", + "file": "lang\\zh-cn.js", + "line": 1674, + "reason": "跨业务域同名 tail=\"l8.t0\",出现在 ['goods', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "goods.category.l51.t0", + "file": "lang\\en-us.js", + "line": 918, + "reason": "跨业务域同名 tail=\"l51.t0\",出现在 ['goods', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "order.detail.l51.t0", + "file": "lang\\en-us.js", + "line": 1402, + "reason": "跨业务域同名 tail=\"l51.t0\",出现在 ['goods', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund_detail.l51.t0", + "file": "lang\\en-us.js", + "line": 1662, + "reason": "跨业务域同名 tail=\"l51.t0\",出现在 ['goods', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "goods.category.l51.t0", + "file": "lang\\zh-cn.js", + "line": 918, + "reason": "跨业务域同名 tail=\"l51.t0\",出现在 ['goods', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "order.detail.l51.t0", + "file": "lang\\zh-cn.js", + "line": 1402, + "reason": "跨业务域同名 tail=\"l51.t0\",出现在 ['goods', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund_detail.l51.t0", + "file": "lang\\zh-cn.js", + "line": 1662, + "reason": "跨业务域同名 tail=\"l51.t0\",出现在 ['goods', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "goods.detail.l129.t0", + "file": "lang\\en-us.js", + "line": 919, + "reason": "跨业务域同名 tail=\"l129.t0\",出现在 ['goods', 'point'](应收敛到 common)" + }, + { + "key": "point.detail.l129.t0", + "file": "lang\\en-us.js", + "line": 1465, + "reason": "跨业务域同名 tail=\"l129.t0\",出现在 ['goods', 'point'](应收敛到 common)" + }, + { + "key": "goods.detail.l129.t0", + "file": "lang\\zh-cn.js", + "line": 919, + "reason": "跨业务域同名 tail=\"l129.t0\",出现在 ['goods', 'point'](应收敛到 common)" + }, + { + "key": "point.detail.l129.t0", + "file": "lang\\zh-cn.js", + "line": 1465, + "reason": "跨业务域同名 tail=\"l129.t0\",出现在 ['goods', 'point'](应收敛到 common)" + }, + { + "key": "goods.detail.l152.t0", + "file": "lang\\en-us.js", + "line": 924, + "reason": "跨业务域同名 tail=\"l152.t0\",出现在 ['goods', 'member', 'order'](应收敛到 common)" + }, + { + "key": "member.pay_password.l152.t0", + "file": "lang\\en-us.js", + "line": 1197, + "reason": "跨业务域同名 tail=\"l152.t0\",出现在 ['goods', 'member', 'order'](应收敛到 common)" + }, + { + "key": "order.list.l152.t0", + "file": "lang\\en-us.js", + "line": 1419, + "reason": "跨业务域同名 tail=\"l152.t0\",出现在 ['goods', 'member', 'order'](应收敛到 common)" + }, + { + "key": "goods.detail.l152.t0", + "file": "lang\\zh-cn.js", + "line": 924, + "reason": "跨业务域同名 tail=\"l152.t0\",出现在 ['goods', 'member', 'order'](应收敛到 common)" + }, + { + "key": "member.pay_password.l152.t0", + "file": "lang\\zh-cn.js", + "line": 1197, + "reason": "跨业务域同名 tail=\"l152.t0\",出现在 ['goods', 'member', 'order'](应收敛到 common)" + }, + { + "key": "order.list.l152.t0", + "file": "lang\\zh-cn.js", + "line": 1419, + "reason": "跨业务域同名 tail=\"l152.t0\",出现在 ['goods', 'member', 'order'](应收敛到 common)" + }, + { + "key": "goods.detail.l187.t0", + "file": "lang\\en-us.js", + "line": 926, + "reason": "跨业务域同名 tail=\"l187.t0\",出现在 ['goods', 'point'](应收敛到 common)" + }, + { + "key": "point.detail.l187.t0", + "file": "lang\\en-us.js", + "line": 1467, + "reason": "跨业务域同名 tail=\"l187.t0\",出现在 ['goods', 'point'](应收敛到 common)" + }, + { + "key": "goods.detail.l187.t0", + "file": "lang\\zh-cn.js", + "line": 926, + "reason": "跨业务域同名 tail=\"l187.t0\",出现在 ['goods', 'point'](应收敛到 common)" + }, + { + "key": "point.detail.l187.t0", + "file": "lang\\zh-cn.js", + "line": 1467, + "reason": "跨业务域同名 tail=\"l187.t0\",出现在 ['goods', 'point'](应收敛到 common)" + }, + { + "key": "goods.detail.l350.t0", + "file": "lang\\en-us.js", + "line": 933, + "reason": "跨业务域同名 tail=\"l350.t0\",出现在 ['goods', 'order'](应收敛到 common)" + }, + { + "key": "order.detail.l350.t0", + "file": "lang\\en-us.js", + "line": 1387, + "reason": "跨业务域同名 tail=\"l350.t0\",出现在 ['goods', 'order'](应收敛到 common)" + }, + { + "key": "goods.detail.l350.t0", + "file": "lang\\zh-cn.js", + "line": 933, + "reason": "跨业务域同名 tail=\"l350.t0\",出现在 ['goods', 'order'](应收敛到 common)" + }, + { + "key": "order.detail.l350.t0", + "file": "lang\\zh-cn.js", + "line": 1387, + "reason": "跨业务域同名 tail=\"l350.t0\",出现在 ['goods', 'order'](应收敛到 common)" + }, + { + "key": "goods.detail.l99.t0", + "file": "lang\\en-us.js", + "line": 942, + "reason": "跨业务域同名 tail=\"l99.t0\",出现在 ['goods', 'member', 'merch', 'order', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "member.level.l99.t0", + "file": "lang\\en-us.js", + "line": 1181, + "reason": "跨业务域同名 tail=\"l99.t0\",出现在 ['goods', 'member', 'merch', 'order', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "merch.public.edit.l99.t0", + "file": "lang\\en-us.js", + "line": 1274, + "reason": "跨业务域同名 tail=\"l99.t0\",出现在 ['goods', 'member', 'merch', 'order', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "order.detail_point.l99.t0", + "file": "lang\\en-us.js", + "line": 1417, + "reason": "跨业务域同名 tail=\"l99.t0\",出现在 ['goods', 'member', 'merch', 'order', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "point.goods_list.l99.t0", + "file": "lang\\en-us.js", + "line": 1478, + "reason": "跨业务域同名 tail=\"l99.t0\",出现在 ['goods', 'member', 'merch', 'order', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "tool.goods.search.l99.t0", + "file": "lang\\en-us.js", + "line": 1622, + "reason": "跨业务域同名 tail=\"l99.t0\",出现在 ['goods', 'member', 'merch', 'order', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "goods.detail.l99.t0", + "file": "lang\\zh-cn.js", + "line": 942, + "reason": "跨业务域同名 tail=\"l99.t0\",出现在 ['goods', 'member', 'merch', 'order', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "member.level.l99.t0", + "file": "lang\\zh-cn.js", + "line": 1181, + "reason": "跨业务域同名 tail=\"l99.t0\",出现在 ['goods', 'member', 'merch', 'order', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "merch.public.edit.l99.t0", + "file": "lang\\zh-cn.js", + "line": 1274, + "reason": "跨业务域同名 tail=\"l99.t0\",出现在 ['goods', 'member', 'merch', 'order', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "order.detail_point.l99.t0", + "file": "lang\\zh-cn.js", + "line": 1417, + "reason": "跨业务域同名 tail=\"l99.t0\",出现在 ['goods', 'member', 'merch', 'order', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "point.goods_list.l99.t0", + "file": "lang\\zh-cn.js", + "line": 1478, + "reason": "跨业务域同名 tail=\"l99.t0\",出现在 ['goods', 'member', 'merch', 'order', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "tool.goods.search.l99.t0", + "file": "lang\\zh-cn.js", + "line": 1622, + "reason": "跨业务域同名 tail=\"l99.t0\",出现在 ['goods', 'member', 'merch', 'order', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "goods.list.l148.t0", + "file": "lang\\en-us.js", + "line": 943, + "reason": "跨业务域同名 tail=\"l148.t0\",出现在 ['goods', 'point'](应收敛到 common)" + }, + { + "key": "point.list.l148.t0", + "file": "lang\\en-us.js", + "line": 1482, + "reason": "跨业务域同名 tail=\"l148.t0\",出现在 ['goods', 'point'](应收敛到 common)" + }, + { + "key": "goods.list.l148.t0", + "file": "lang\\zh-cn.js", + "line": 943, + "reason": "跨业务域同名 tail=\"l148.t0\",出现在 ['goods', 'point'](应收敛到 common)" + }, + { + "key": "point.list.l148.t0", + "file": "lang\\zh-cn.js", + "line": 1482, + "reason": "跨业务域同名 tail=\"l148.t0\",出现在 ['goods', 'point'](应收敛到 common)" + }, + { + "key": "goods.list.l160.t0", + "file": "lang\\en-us.js", + "line": 944, + "reason": "跨业务域同名 tail=\"l160.t0\",出现在 ['goods', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.public.js.evaluate.l160.t0", + "file": "lang\\en-us.js", + "line": 1632, + "reason": "跨业务域同名 tail=\"l160.t0\",出现在 ['goods', 'tool'](应收敛到 common)" + }, + { + "key": "goods.list.l160.t0", + "file": "lang\\zh-cn.js", + "line": 944, + "reason": "跨业务域同名 tail=\"l160.t0\",出现在 ['goods', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.public.js.evaluate.l160.t0", + "file": "lang\\zh-cn.js", + "line": 1632, + "reason": "跨业务域同名 tail=\"l160.t0\",出现在 ['goods', 'tool'](应收敛到 common)" + }, + { + "key": "goods.list.l168.t0", + "file": "lang\\en-us.js", + "line": 945, + "reason": "跨业务域同名 tail=\"l168.t0\",出现在 ['goods', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.public.js.evaluate.l168.t0", + "file": "lang\\en-us.js", + "line": 1633, + "reason": "跨业务域同名 tail=\"l168.t0\",出现在 ['goods', 'tool'](应收敛到 common)" + }, + { + "key": "goods.list.l168.t0", + "file": "lang\\zh-cn.js", + "line": 945, + "reason": "跨业务域同名 tail=\"l168.t0\",出现在 ['goods', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.public.js.evaluate.l168.t0", + "file": "lang\\zh-cn.js", + "line": 1633, + "reason": "跨业务域同名 tail=\"l168.t0\",出现在 ['goods', 'tool'](应收敛到 common)" + }, + { + "key": "goods.list.l170.t0", + "file": "lang\\en-us.js", + "line": 946, + "reason": "跨业务域同名 tail=\"l170.t0\",出现在 ['goods', 'merch'](应收敛到 common)" + }, + { + "key": "merch.public.edit.l170.t0", + "file": "lang\\en-us.js", + "line": 1246, + "reason": "跨业务域同名 tail=\"l170.t0\",出现在 ['goods', 'merch'](应收敛到 common)" + }, + { + "key": "goods.list.l170.t0", + "file": "lang\\zh-cn.js", + "line": 946, + "reason": "跨业务域同名 tail=\"l170.t0\",出现在 ['goods', 'merch'](应收敛到 common)" + }, + { + "key": "merch.public.edit.l170.t0", + "file": "lang\\zh-cn.js", + "line": 1246, + "reason": "跨业务域同名 tail=\"l170.t0\",出现在 ['goods', 'merch'](应收敛到 common)" + }, + { + "key": "goods.list.l188.t0", + "file": "lang\\en-us.js", + "line": 948, + "reason": "跨业务域同名 tail=\"l188.t0\",出现在 ['goods', 'login'](应收敛到 common)" + }, + { + "key": "login.find.l188.t0", + "file": "lang\\en-us.js", + "line": 1005, + "reason": "跨业务域同名 tail=\"l188.t0\",出现在 ['goods', 'login'](应收敛到 common)" + }, + { + "key": "goods.list.l188.t0", + "file": "lang\\zh-cn.js", + "line": 948, + "reason": "跨业务域同名 tail=\"l188.t0\",出现在 ['goods', 'login'](应收敛到 common)" + }, + { + "key": "login.find.l188.t0", + "file": "lang\\zh-cn.js", + "line": 1005, + "reason": "跨业务域同名 tail=\"l188.t0\",出现在 ['goods', 'login'](应收敛到 common)" + }, + { + "key": "goods.list.l40.t0", + "file": "lang\\en-us.js", + "line": 953, + "reason": "跨业务域同名 tail=\"l40.t0\",出现在 ['goods', 'member', 'point'](应收敛到 common)" + }, + { + "key": "member.apply_withdrawal.l40.t0", + "file": "lang\\en-us.js", + "line": 1065, + "reason": "跨业务域同名 tail=\"l40.t0\",出现在 ['goods', 'member', 'point'](应收敛到 common)" + }, + { + "key": "point.list.l40.t0", + "file": "lang\\en-us.js", + "line": 1497, + "reason": "跨业务域同名 tail=\"l40.t0\",出现在 ['goods', 'member', 'point'](应收敛到 common)" + }, + { + "key": "goods.list.l40.t0", + "file": "lang\\zh-cn.js", + "line": 953, + "reason": "跨业务域同名 tail=\"l40.t0\",出现在 ['goods', 'member', 'point'](应收敛到 common)" + }, + { + "key": "member.apply_withdrawal.l40.t0", + "file": "lang\\zh-cn.js", + "line": 1065, + "reason": "跨业务域同名 tail=\"l40.t0\",出现在 ['goods', 'member', 'point'](应收敛到 common)" + }, + { + "key": "point.list.l40.t0", + "file": "lang\\zh-cn.js", + "line": 1497, + "reason": "跨业务域同名 tail=\"l40.t0\",出现在 ['goods', 'member', 'point'](应收敛到 common)" + }, + { + "key": "goods.public.js.cart.l236.t0", + "file": "lang\\en-us.js", + "line": 954, + "reason": "跨业务域同名 tail=\"l236.t0\",出现在 ['goods', 'member', 'order'](应收敛到 common)" + }, + { + "key": "member.public.js.signin.l236.t0", + "file": "lang\\en-us.js", + "line": 1228, + "reason": "跨业务域同名 tail=\"l236.t0\",出现在 ['goods', 'member', 'order'](应收敛到 common)" + }, + { + "key": "order.detail_point.l236.t0", + "file": "lang\\en-us.js", + "line": 1416, + "reason": "跨业务域同名 tail=\"l236.t0\",出现在 ['goods', 'member', 'order'](应收敛到 common)" + }, + { + "key": "goods.public.js.cart.l236.t0", + "file": "lang\\zh-cn.js", + "line": 954, + "reason": "跨业务域同名 tail=\"l236.t0\",出现在 ['goods', 'member', 'order'](应收敛到 common)" + }, + { + "key": "member.public.js.signin.l236.t0", + "file": "lang\\zh-cn.js", + "line": 1228, + "reason": "跨业务域同名 tail=\"l236.t0\",出现在 ['goods', 'member', 'order'](应收敛到 common)" + }, + { + "key": "order.detail_point.l236.t0", + "file": "lang\\zh-cn.js", + "line": 1416, + "reason": "跨业务域同名 tail=\"l236.t0\",出现在 ['goods', 'member', 'order'](应收敛到 common)" + }, + { + "key": "goods.public.js.cart.l243.t0", + "file": "lang\\en-us.js", + "line": 955, + "reason": "跨业务域同名 tail=\"l243.t0\",出现在 ['goods', 'point'](应收敛到 common)" + }, + { + "key": "point.list.l243.t0", + "file": "lang\\en-us.js", + "line": 1489, + "reason": "跨业务域同名 tail=\"l243.t0\",出现在 ['goods', 'point'](应收敛到 common)" + }, + { + "key": "goods.public.js.cart.l243.t0", + "file": "lang\\zh-cn.js", + "line": 955, + "reason": "跨业务域同名 tail=\"l243.t0\",出现在 ['goods', 'point'](应收敛到 common)" + }, + { + "key": "point.list.l243.t0", + "file": "lang\\zh-cn.js", + "line": 1489, + "reason": "跨业务域同名 tail=\"l243.t0\",出现在 ['goods', 'point'](应收敛到 common)" + }, + { + "key": "goods.public.js.list.l378.t0", + "file": "lang\\en-us.js", + "line": 971, + "reason": "跨业务域同名 tail=\"l378.t0\",出现在 ['goods', 'point'](应收敛到 common)" + }, + { + "key": "point.public.js.payment.l378.t0", + "file": "lang\\en-us.js", + "line": 1516, + "reason": "跨业务域同名 tail=\"l378.t0\",出现在 ['goods', 'point'](应收敛到 common)" + }, + { + "key": "goods.public.js.list.l378.t0", + "file": "lang\\zh-cn.js", + "line": 971, + "reason": "跨业务域同名 tail=\"l378.t0\",出现在 ['goods', 'point'](应收敛到 common)" + }, + { + "key": "point.public.js.payment.l378.t0", + "file": "lang\\zh-cn.js", + "line": 1516, + "reason": "跨业务域同名 tail=\"l378.t0\",出现在 ['goods', 'point'](应收敛到 common)" + }, + { + "key": "help.list.l73.t0", + "file": "lang\\en-us.js", + "line": 980, + "reason": "跨业务域同名 tail=\"l73.t0\",出现在 ['help', 'member', 'order'](应收敛到 common)" + }, + { + "key": "member.assets.l73.t0", + "file": "lang\\en-us.js", + "line": 1075, + "reason": "跨业务域同名 tail=\"l73.t0\",出现在 ['help', 'member', 'order'](应收敛到 common)" + }, + { + "key": "order.payment.l73.t0", + "file": "lang\\en-us.js", + "line": 1430, + "reason": "跨业务域同名 tail=\"l73.t0\",出现在 ['help', 'member', 'order'](应收敛到 common)" + }, + { + "key": "help.list.l73.t0", + "file": "lang\\zh-cn.js", + "line": 980, + "reason": "跨业务域同名 tail=\"l73.t0\",出现在 ['help', 'member', 'order'](应收敛到 common)" + }, + { + "key": "member.assets.l73.t0", + "file": "lang\\zh-cn.js", + "line": 1075, + "reason": "跨业务域同名 tail=\"l73.t0\",出现在 ['help', 'member', 'order'](应收敛到 common)" + }, + { + "key": "order.payment.l73.t0", + "file": "lang\\zh-cn.js", + "line": 1430, + "reason": "跨业务域同名 tail=\"l73.t0\",出现在 ['help', 'member', 'order'](应收敛到 common)" + }, + { + "key": "help.list.l9.t0", + "file": "lang\\en-us.js", + "line": 982, + "reason": "跨业务域同名 tail=\"l9.t0\",出现在 ['help', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.assets.l9.t0", + "file": "lang\\en-us.js", + "line": 1077, + "reason": "跨业务域同名 tail=\"l9.t0\",出现在 ['help', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.cancelstatus.l9.t0", + "file": "lang\\en-us.js", + "line": 1102, + "reason": "跨业务域同名 tail=\"l9.t0\",出现在 ['help', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund_detail.l9.t0", + "file": "lang\\en-us.js", + "line": 1677, + "reason": "跨业务域同名 tail=\"l9.t0\",出现在 ['help', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "help.list.l9.t0", + "file": "lang\\zh-cn.js", + "line": 982, + "reason": "跨业务域同名 tail=\"l9.t0\",出现在 ['help', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.assets.l9.t0", + "file": "lang\\zh-cn.js", + "line": 1077, + "reason": "跨业务域同名 tail=\"l9.t0\",出现在 ['help', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.cancelstatus.l9.t0", + "file": "lang\\zh-cn.js", + "line": 1102, + "reason": "跨业务域同名 tail=\"l9.t0\",出现在 ['help', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund_detail.l9.t0", + "file": "lang\\zh-cn.js", + "line": 1677, + "reason": "跨业务域同名 tail=\"l9.t0\",出现在 ['help', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "login.find.l200.t0", + "file": "lang\\en-us.js", + "line": 1009, + "reason": "跨业务域同名 tail=\"l200.t0\",出现在 ['login', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.address_edit.l200.t0", + "file": "lang\\en-us.js", + "line": 1053, + "reason": "跨业务域同名 tail=\"l200.t0\",出现在 ['login', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.public.js.evaluate.l200.t0", + "file": "lang\\en-us.js", + "line": 1634, + "reason": "跨业务域同名 tail=\"l200.t0\",出现在 ['login', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "login.find.l200.t0", + "file": "lang\\zh-cn.js", + "line": 1009, + "reason": "跨业务域同名 tail=\"l200.t0\",出现在 ['login', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "member.address_edit.l200.t0", + "file": "lang\\zh-cn.js", + "line": 1053, + "reason": "跨业务域同名 tail=\"l200.t0\",出现在 ['login', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.public.js.evaluate.l200.t0", + "file": "lang\\zh-cn.js", + "line": 1634, + "reason": "跨业务域同名 tail=\"l200.t0\",出现在 ['login', 'member', 'tool'](应收敛到 common)" + }, + { + "key": "login.find.l208.t0", + "file": "lang\\en-us.js", + "line": 1011, + "reason": "跨业务域同名 tail=\"l208.t0\",出现在 ['login', 'order', 'point'](应收敛到 common)" + }, + { + "key": "order.detail.l208.t0", + "file": "lang\\en-us.js", + "line": 1366, + "reason": "跨业务域同名 tail=\"l208.t0\",出现在 ['login', 'order', 'point'](应收敛到 common)" + }, + { + "key": "point.detail.l208.t0", + "file": "lang\\en-us.js", + "line": 1469, + "reason": "跨业务域同名 tail=\"l208.t0\",出现在 ['login', 'order', 'point'](应收敛到 common)" + }, + { + "key": "login.find.l208.t0", + "file": "lang\\zh-cn.js", + "line": 1011, + "reason": "跨业务域同名 tail=\"l208.t0\",出现在 ['login', 'order', 'point'](应收敛到 common)" + }, + { + "key": "order.detail.l208.t0", + "file": "lang\\zh-cn.js", + "line": 1366, + "reason": "跨业务域同名 tail=\"l208.t0\",出现在 ['login', 'order', 'point'](应收敛到 common)" + }, + { + "key": "point.detail.l208.t0", + "file": "lang\\zh-cn.js", + "line": 1469, + "reason": "跨业务域同名 tail=\"l208.t0\",出现在 ['login', 'order', 'point'](应收敛到 common)" + }, + { + "key": "login.find.l212.t0", + "file": "lang\\en-us.js", + "line": 1012, + "reason": "跨业务域同名 tail=\"l212.t0\",出现在 ['login', 'tool'](应收敛到 common)" + }, + { + "key": "tool.goods.coupon_receive.l212.t0", + "file": "lang\\en-us.js", + "line": 1607, + "reason": "跨业务域同名 tail=\"l212.t0\",出现在 ['login', 'tool'](应收敛到 common)" + }, + { + "key": "login.find.l212.t0", + "file": "lang\\zh-cn.js", + "line": 1012, + "reason": "跨业务域同名 tail=\"l212.t0\",出现在 ['login', 'tool'](应收敛到 common)" + }, + { + "key": "tool.goods.coupon_receive.l212.t0", + "file": "lang\\zh-cn.js", + "line": 1607, + "reason": "跨业务域同名 tail=\"l212.t0\",出现在 ['login', 'tool'](应收敛到 common)" + }, + { + "key": "login.find.l230.t0", + "file": "lang\\en-us.js", + "line": 1014, + "reason": "跨业务域同名 tail=\"l230.t0\",出现在 ['login', 'member'](应收敛到 common)" + }, + { + "key": "member.account_edit.l230.t0", + "file": "lang\\en-us.js", + "line": 1040, + "reason": "跨业务域同名 tail=\"l230.t0\",出现在 ['login', 'member'](应收敛到 common)" + }, + { + "key": "login.find.l230.t0", + "file": "lang\\zh-cn.js", + "line": 1014, + "reason": "跨业务域同名 tail=\"l230.t0\",出现在 ['login', 'member'](应收敛到 common)" + }, + { + "key": "member.account_edit.l230.t0", + "file": "lang\\zh-cn.js", + "line": 1040, + "reason": "跨业务域同名 tail=\"l230.t0\",出现在 ['login', 'member'](应收敛到 common)" + }, + { + "key": "login.find.l286.t0", + "file": "lang\\en-us.js", + "line": 1015, + "reason": "跨业务域同名 tail=\"l286.t0\",出现在 ['login', 'order'](应收敛到 common)" + }, + { + "key": "order.detail.l286.t0", + "file": "lang\\en-us.js", + "line": 1382, + "reason": "跨业务域同名 tail=\"l286.t0\",出现在 ['login', 'order'](应收敛到 common)" + }, + { + "key": "login.find.l286.t0", + "file": "lang\\zh-cn.js", + "line": 1015, + "reason": "跨业务域同名 tail=\"l286.t0\",出现在 ['login', 'order'](应收敛到 common)" + }, + { + "key": "order.detail.l286.t0", + "file": "lang\\zh-cn.js", + "line": 1382, + "reason": "跨业务域同名 tail=\"l286.t0\",出现在 ['login', 'order'](应收敛到 common)" + }, + { + "key": "login.find.l7.t0", + "file": "lang\\en-us.js", + "line": 1016, + "reason": "跨业务域同名 tail=\"l7.t0\",出现在 ['login', 'member', 'merch', 'tool'](应收敛到 common)" + }, + { + "key": "member.cancelsuccess.l7.t0", + "file": "lang\\en-us.js", + "line": 1103, + "reason": "跨业务域同名 tail=\"l7.t0\",出现在 ['login', 'member', 'merch', 'tool'](应收敛到 common)" + }, + { + "key": "member.info_edit.l7.t0", + "file": "lang\\en-us.js", + "line": 1151, + "reason": "跨业务域同名 tail=\"l7.t0\",出现在 ['login', 'member', 'merch', 'tool'](应收敛到 common)" + }, + { + "key": "merch.detail.l7.t0", + "file": "lang\\en-us.js", + "line": 1240, + "reason": "跨业务域同名 tail=\"l7.t0\",出现在 ['login', 'member', 'merch', 'tool'](应收敛到 common)" + }, + { + "key": "tool.recharge.list.l7.t0", + "file": "lang\\en-us.js", + "line": 1697, + "reason": "跨业务域同名 tail=\"l7.t0\",出现在 ['login', 'member', 'merch', 'tool'](应收敛到 common)" + }, + { + "key": "login.find.l7.t0", + "file": "lang\\zh-cn.js", + "line": 1016, + "reason": "跨业务域同名 tail=\"l7.t0\",出现在 ['login', 'member', 'merch', 'tool'](应收敛到 common)" + }, + { + "key": "member.cancelsuccess.l7.t0", + "file": "lang\\zh-cn.js", + "line": 1103, + "reason": "跨业务域同名 tail=\"l7.t0\",出现在 ['login', 'member', 'merch', 'tool'](应收敛到 common)" + }, + { + "key": "member.info_edit.l7.t0", + "file": "lang\\zh-cn.js", + "line": 1151, + "reason": "跨业务域同名 tail=\"l7.t0\",出现在 ['login', 'member', 'merch', 'tool'](应收敛到 common)" + }, + { + "key": "merch.detail.l7.t0", + "file": "lang\\zh-cn.js", + "line": 1240, + "reason": "跨业务域同名 tail=\"l7.t0\",出现在 ['login', 'member', 'merch', 'tool'](应收敛到 common)" + }, + { + "key": "tool.recharge.list.l7.t0", + "file": "lang\\zh-cn.js", + "line": 1697, + "reason": "跨业务域同名 tail=\"l7.t0\",出现在 ['login', 'member', 'merch', 'tool'](应收敛到 common)" + }, + { + "key": "member.account.l106.t0", + "file": "lang\\en-us.js", + "line": 1026, + "reason": "跨业务域同名 tail=\"l106.t0\",出现在 ['member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "member.level.l106.t0", + "file": "lang\\en-us.js", + "line": 1171, + "reason": "跨业务域同名 tail=\"l106.t0\",出现在 ['member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "order.detail.l106.t0", + "file": "lang\\en-us.js", + "line": 1359, + "reason": "跨业务域同名 tail=\"l106.t0\",出现在 ['member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund_detail.l106.t0", + "file": "lang\\en-us.js", + "line": 1650, + "reason": "跨业务域同名 tail=\"l106.t0\",出现在 ['member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "member.account.l106.t0", + "file": "lang\\zh-cn.js", + "line": 1026, + "reason": "跨业务域同名 tail=\"l106.t0\",出现在 ['member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "member.level.l106.t0", + "file": "lang\\zh-cn.js", + "line": 1171, + "reason": "跨业务域同名 tail=\"l106.t0\",出现在 ['member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "order.detail.l106.t0", + "file": "lang\\zh-cn.js", + "line": 1359, + "reason": "跨业务域同名 tail=\"l106.t0\",出现在 ['member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund_detail.l106.t0", + "file": "lang\\zh-cn.js", + "line": 1650, + "reason": "跨业务域同名 tail=\"l106.t0\",出现在 ['member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "member.account.l37.t0", + "file": "lang\\en-us.js", + "line": 1032, + "reason": "跨业务域同名 tail=\"l37.t0\",出现在 ['member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "member.info.l37.t0", + "file": "lang\\en-us.js", + "line": 1138, + "reason": "跨业务域同名 tail=\"l37.t0\",出现在 ['member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "member.pay_password.l37.t0", + "file": "lang\\en-us.js", + "line": 1199, + "reason": "跨业务域同名 tail=\"l37.t0\",出现在 ['member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "order.detail.l37.t0", + "file": "lang\\en-us.js", + "line": 1390, + "reason": "跨业务域同名 tail=\"l37.t0\",出现在 ['member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "order.payment.l37.t0", + "file": "lang\\en-us.js", + "line": 1427, + "reason": "跨业务域同名 tail=\"l37.t0\",出现在 ['member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.logistics.l37.t0", + "file": "lang\\en-us.js", + "line": 1631, + "reason": "跨业务域同名 tail=\"l37.t0\",出现在 ['member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "tool.pay.result.l37.t0", + "file": "lang\\en-us.js", + "line": 1685, + "reason": "跨业务域同名 tail=\"l37.t0\",出现在 ['member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "member.account.l37.t0", + "file": "lang\\zh-cn.js", + "line": 1032, + "reason": "跨业务域同名 tail=\"l37.t0\",出现在 ['member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "member.info.l37.t0", + "file": "lang\\zh-cn.js", + "line": 1138, + "reason": "跨业务域同名 tail=\"l37.t0\",出现在 ['member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "member.pay_password.l37.t0", + "file": "lang\\zh-cn.js", + "line": 1199, + "reason": "跨业务域同名 tail=\"l37.t0\",出现在 ['member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "order.detail.l37.t0", + "file": "lang\\zh-cn.js", + "line": 1390, + "reason": "跨业务域同名 tail=\"l37.t0\",出现在 ['member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "order.payment.l37.t0", + "file": "lang\\zh-cn.js", + "line": 1427, + "reason": "跨业务域同名 tail=\"l37.t0\",出现在 ['member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.logistics.l37.t0", + "file": "lang\\zh-cn.js", + "line": 1631, + "reason": "跨业务域同名 tail=\"l37.t0\",出现在 ['member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "tool.pay.result.l37.t0", + "file": "lang\\zh-cn.js", + "line": 1685, + "reason": "跨业务域同名 tail=\"l37.t0\",出现在 ['member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "member.account_edit.l67.t0", + "file": "lang\\en-us.js", + "line": 1043, + "reason": "跨业务域同名 tail=\"l67.t0\",出现在 ['member', 'merch', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "member.assets.l67.t0", + "file": "lang\\en-us.js", + "line": 1074, + "reason": "跨业务域同名 tail=\"l67.t0\",出现在 ['member', 'merch', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "member.public.js.info.l67.t0", + "file": "lang\\en-us.js", + "line": 1221, + "reason": "跨业务域同名 tail=\"l67.t0\",出现在 ['member', 'merch', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "merch.public.edit.l67.t0", + "file": "lang\\en-us.js", + "line": 1263, + "reason": "跨业务域同名 tail=\"l67.t0\",出现在 ['member', 'merch', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "point.list.l67.t0", + "file": "lang\\en-us.js", + "line": 1504, + "reason": "跨业务域同名 tail=\"l67.t0\",出现在 ['member', 'merch', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "tool.recharge.list.l67.t0", + "file": "lang\\en-us.js", + "line": 1696, + "reason": "跨业务域同名 tail=\"l67.t0\",出现在 ['member', 'merch', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "member.account_edit.l67.t0", + "file": "lang\\zh-cn.js", + "line": 1043, + "reason": "跨业务域同名 tail=\"l67.t0\",出现在 ['member', 'merch', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "member.assets.l67.t0", + "file": "lang\\zh-cn.js", + "line": 1074, + "reason": "跨业务域同名 tail=\"l67.t0\",出现在 ['member', 'merch', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "member.public.js.info.l67.t0", + "file": "lang\\zh-cn.js", + "line": 1221, + "reason": "跨业务域同名 tail=\"l67.t0\",出现在 ['member', 'merch', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "merch.public.edit.l67.t0", + "file": "lang\\zh-cn.js", + "line": 1263, + "reason": "跨业务域同名 tail=\"l67.t0\",出现在 ['member', 'merch', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "point.list.l67.t0", + "file": "lang\\zh-cn.js", + "line": 1504, + "reason": "跨业务域同名 tail=\"l67.t0\",出现在 ['member', 'merch', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "tool.recharge.list.l67.t0", + "file": "lang\\zh-cn.js", + "line": 1696, + "reason": "跨业务域同名 tail=\"l67.t0\",出现在 ['member', 'merch', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "member.account_edit.l71.t0", + "file": "lang\\en-us.js", + "line": 1044, + "reason": "跨业务域同名 tail=\"l71.t0\",出现在 ['member', 'merch'](应收敛到 common)" + }, + { + "key": "member.balance_detail.l71.t0", + "file": "lang\\en-us.js", + "line": 1087, + "reason": "跨业务域同名 tail=\"l71.t0\",出现在 ['member', 'merch'](应收敛到 common)" + }, + { + "key": "member.info_edit.l71.t0", + "file": "lang\\en-us.js", + "line": 1152, + "reason": "跨业务域同名 tail=\"l71.t0\",出现在 ['member', 'merch'](应收敛到 common)" + }, + { + "key": "member.invite_friends.l71.t0", + "file": "lang\\en-us.js", + "line": 1168, + "reason": "跨业务域同名 tail=\"l71.t0\",出现在 ['member', 'merch'](应收敛到 common)" + }, + { + "key": "merch.public.edit.l71.t0", + "file": "lang\\en-us.js", + "line": 1266, + "reason": "跨业务域同名 tail=\"l71.t0\",出现在 ['member', 'merch'](应收敛到 common)" + }, + { + "key": "member.account_edit.l71.t0", + "file": "lang\\zh-cn.js", + "line": 1044, + "reason": "跨业务域同名 tail=\"l71.t0\",出现在 ['member', 'merch'](应收敛到 common)" + }, + { + "key": "member.balance_detail.l71.t0", + "file": "lang\\zh-cn.js", + "line": 1087, + "reason": "跨业务域同名 tail=\"l71.t0\",出现在 ['member', 'merch'](应收敛到 common)" + }, + { + "key": "member.info_edit.l71.t0", + "file": "lang\\zh-cn.js", + "line": 1152, + "reason": "跨业务域同名 tail=\"l71.t0\",出现在 ['member', 'merch'](应收敛到 common)" + }, + { + "key": "member.invite_friends.l71.t0", + "file": "lang\\zh-cn.js", + "line": 1168, + "reason": "跨业务域同名 tail=\"l71.t0\",出现在 ['member', 'merch'](应收敛到 common)" + }, + { + "key": "merch.public.edit.l71.t0", + "file": "lang\\zh-cn.js", + "line": 1266, + "reason": "跨业务域同名 tail=\"l71.t0\",出现在 ['member', 'merch'](应收敛到 common)" + }, + { + "key": "member.address.l247.t0", + "file": "lang\\en-us.js", + "line": 1047, + "reason": "跨业务域同名 tail=\"l247.t0\",出现在 ['member', 'order', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "order.detail.l247.t0", + "file": "lang\\en-us.js", + "line": 1372, + "reason": "跨业务域同名 tail=\"l247.t0\",出现在 ['member', 'order', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "point.list.l247.t0", + "file": "lang\\en-us.js", + "line": 1493, + "reason": "跨业务域同名 tail=\"l247.t0\",出现在 ['member', 'order', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "tool.goods.coupon_receive.l247.t0", + "file": "lang\\en-us.js", + "line": 1608, + "reason": "跨业务域同名 tail=\"l247.t0\",出现在 ['member', 'order', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "member.address.l247.t0", + "file": "lang\\zh-cn.js", + "line": 1047, + "reason": "跨业务域同名 tail=\"l247.t0\",出现在 ['member', 'order', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "order.detail.l247.t0", + "file": "lang\\zh-cn.js", + "line": 1372, + "reason": "跨业务域同名 tail=\"l247.t0\",出现在 ['member', 'order', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "point.list.l247.t0", + "file": "lang\\zh-cn.js", + "line": 1493, + "reason": "跨业务域同名 tail=\"l247.t0\",出现在 ['member', 'order', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "tool.goods.coupon_receive.l247.t0", + "file": "lang\\zh-cn.js", + "line": 1608, + "reason": "跨业务域同名 tail=\"l247.t0\",出现在 ['member', 'order', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "member.address_edit.l233.t0", + "file": "lang\\en-us.js", + "line": 1054, + "reason": "跨业务域同名 tail=\"l233.t0\",出现在 ['member', 'order'](应收敛到 common)" + }, + { + "key": "order.detail.l233.t0", + "file": "lang\\en-us.js", + "line": 1370, + "reason": "跨业务域同名 tail=\"l233.t0\",出现在 ['member', 'order'](应收敛到 common)" + }, + { + "key": "member.address_edit.l233.t0", + "file": "lang\\zh-cn.js", + "line": 1054, + "reason": "跨业务域同名 tail=\"l233.t0\",出现在 ['member', 'order'](应收敛到 common)" + }, + { + "key": "order.detail.l233.t0", + "file": "lang\\zh-cn.js", + "line": 1370, + "reason": "跨业务域同名 tail=\"l233.t0\",出现在 ['member', 'order'](应收敛到 common)" + }, + { + "key": "member.address_edit.l234.t0", + "file": "lang\\en-us.js", + "line": 1055, + "reason": "跨业务域同名 tail=\"l234.t0\",出现在 ['member', 'point'](应收敛到 common)" + }, + { + "key": "point.list.l234.t0", + "file": "lang\\en-us.js", + "line": 1484, + "reason": "跨业务域同名 tail=\"l234.t0\",出现在 ['member', 'point'](应收敛到 common)" + }, + { + "key": "member.address_edit.l234.t0", + "file": "lang\\zh-cn.js", + "line": 1055, + "reason": "跨业务域同名 tail=\"l234.t0\",出现在 ['member', 'point'](应收敛到 common)" + }, + { + "key": "point.list.l234.t0", + "file": "lang\\zh-cn.js", + "line": 1484, + "reason": "跨业务域同名 tail=\"l234.t0\",出现在 ['member', 'point'](应收敛到 common)" + }, + { + "key": "member.address_edit.l241.t0", + "file": "lang\\en-us.js", + "line": 1056, + "reason": "跨业务域同名 tail=\"l241.t0\",出现在 ['member', 'order', 'point'](应收敛到 common)" + }, + { + "key": "order.detail.l241.t0", + "file": "lang\\en-us.js", + "line": 1371, + "reason": "跨业务域同名 tail=\"l241.t0\",出现在 ['member', 'order', 'point'](应收敛到 common)" + }, + { + "key": "point.list.l241.t0", + "file": "lang\\en-us.js", + "line": 1487, + "reason": "跨业务域同名 tail=\"l241.t0\",出现在 ['member', 'order', 'point'](应收敛到 common)" + }, + { + "key": "member.address_edit.l241.t0", + "file": "lang\\zh-cn.js", + "line": 1056, + "reason": "跨业务域同名 tail=\"l241.t0\",出现在 ['member', 'order', 'point'](应收敛到 common)" + }, + { + "key": "order.detail.l241.t0", + "file": "lang\\zh-cn.js", + "line": 1371, + "reason": "跨业务域同名 tail=\"l241.t0\",出现在 ['member', 'order', 'point'](应收敛到 common)" + }, + { + "key": "point.list.l241.t0", + "file": "lang\\zh-cn.js", + "line": 1487, + "reason": "跨业务域同名 tail=\"l241.t0\",出现在 ['member', 'order', 'point'](应收敛到 common)" + }, + { + "key": "member.apply_withdrawal.l109.t0", + "file": "lang\\en-us.js", + "line": 1061, + "reason": "跨业务域同名 tail=\"l109.t0\",出现在 ['member', 'order'](应收敛到 common)" + }, + { + "key": "order.detail.l109.t0", + "file": "lang\\en-us.js", + "line": 1360, + "reason": "跨业务域同名 tail=\"l109.t0\",出现在 ['member', 'order'](应收敛到 common)" + }, + { + "key": "member.apply_withdrawal.l109.t0", + "file": "lang\\zh-cn.js", + "line": 1061, + "reason": "跨业务域同名 tail=\"l109.t0\",出现在 ['member', 'order'](应收敛到 common)" + }, + { + "key": "order.detail.l109.t0", + "file": "lang\\zh-cn.js", + "line": 1360, + "reason": "跨业务域同名 tail=\"l109.t0\",出现在 ['member', 'order'](应收敛到 common)" + }, + { + "key": "member.assets.l54.t0", + "file": "lang\\en-us.js", + "line": 1071, + "reason": "跨业务域同名 tail=\"l54.t0\",出现在 ['member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund.l54.t0", + "file": "lang\\en-us.js", + "line": 1645, + "reason": "跨业务域同名 tail=\"l54.t0\",出现在 ['member', 'tool'](应收敛到 common)" + }, + { + "key": "member.assets.l54.t0", + "file": "lang\\zh-cn.js", + "line": 1071, + "reason": "跨业务域同名 tail=\"l54.t0\",出现在 ['member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund.l54.t0", + "file": "lang\\zh-cn.js", + "line": 1645, + "reason": "跨业务域同名 tail=\"l54.t0\",出现在 ['member', 'tool'](应收敛到 common)" + }, + { + "key": "member.assets.l63.t0", + "file": "lang\\en-us.js", + "line": 1073, + "reason": "跨业务域同名 tail=\"l63.t0\",出现在 ['member', 'merch', 'point'](应收敛到 common)" + }, + { + "key": "member.cancellation.l63.t0", + "file": "lang\\en-us.js", + "line": 1090, + "reason": "跨业务域同名 tail=\"l63.t0\",出现在 ['member', 'merch', 'point'](应收敛到 common)" + }, + { + "key": "member.card.l63.t0", + "file": "lang\\en-us.js", + "line": 1115, + "reason": "跨业务域同名 tail=\"l63.t0\",出现在 ['member', 'merch', 'point'](应收敛到 common)" + }, + { + "key": "merch.public.edit.l63.t0", + "file": "lang\\en-us.js", + "line": 1257, + "reason": "跨业务域同名 tail=\"l63.t0\",出现在 ['member', 'merch', 'point'](应收敛到 common)" + }, + { + "key": "point.list.l63.t0", + "file": "lang\\en-us.js", + "line": 1503, + "reason": "跨业务域同名 tail=\"l63.t0\",出现在 ['member', 'merch', 'point'](应收敛到 common)" + }, + { + "key": "member.assets.l63.t0", + "file": "lang\\zh-cn.js", + "line": 1073, + "reason": "跨业务域同名 tail=\"l63.t0\",出现在 ['member', 'merch', 'point'](应收敛到 common)" + }, + { + "key": "member.cancellation.l63.t0", + "file": "lang\\zh-cn.js", + "line": 1090, + "reason": "跨业务域同名 tail=\"l63.t0\",出现在 ['member', 'merch', 'point'](应收敛到 common)" + }, + { + "key": "member.card.l63.t0", + "file": "lang\\zh-cn.js", + "line": 1115, + "reason": "跨业务域同名 tail=\"l63.t0\",出现在 ['member', 'merch', 'point'](应收敛到 common)" + }, + { + "key": "merch.public.edit.l63.t0", + "file": "lang\\zh-cn.js", + "line": 1257, + "reason": "跨业务域同名 tail=\"l63.t0\",出现在 ['member', 'merch', 'point'](应收敛到 common)" + }, + { + "key": "point.list.l63.t0", + "file": "lang\\zh-cn.js", + "line": 1503, + "reason": "跨业务域同名 tail=\"l63.t0\",出现在 ['member', 'merch', 'point'](应收敛到 common)" + }, + { + "key": "member.assets.l74.t0", + "file": "lang\\en-us.js", + "line": 1076, + "reason": "跨业务域同名 tail=\"l74.t0\",出现在 ['member', 'order'](应收敛到 common)" + }, + { + "key": "order.list.l74.t0", + "file": "lang\\en-us.js", + "line": 1426, + "reason": "跨业务域同名 tail=\"l74.t0\",出现在 ['member', 'order'](应收敛到 common)" + }, + { + "key": "member.assets.l74.t0", + "file": "lang\\zh-cn.js", + "line": 1076, + "reason": "跨业务域同名 tail=\"l74.t0\",出现在 ['member', 'order'](应收敛到 common)" + }, + { + "key": "order.list.l74.t0", + "file": "lang\\zh-cn.js", + "line": 1426, + "reason": "跨业务域同名 tail=\"l74.t0\",出现在 ['member', 'order'](应收敛到 common)" + }, + { + "key": "member.cancellation.l15.t0", + "file": "lang\\en-us.js", + "line": 1089, + "reason": "跨业务域同名 tail=\"l15.t0\",出现在 ['member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "order.detail_point.l15.t0", + "file": "lang\\en-us.js", + "line": 1414, + "reason": "跨业务域同名 tail=\"l15.t0\",出现在 ['member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "tool.goods.search.l15.t0", + "file": "lang\\en-us.js", + "line": 1618, + "reason": "跨业务域同名 tail=\"l15.t0\",出现在 ['member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "member.cancellation.l15.t0", + "file": "lang\\zh-cn.js", + "line": 1089, + "reason": "跨业务域同名 tail=\"l15.t0\",出现在 ['member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "order.detail_point.l15.t0", + "file": "lang\\zh-cn.js", + "line": 1414, + "reason": "跨业务域同名 tail=\"l15.t0\",出现在 ['member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "tool.goods.search.l15.t0", + "file": "lang\\zh-cn.js", + "line": 1618, + "reason": "跨业务域同名 tail=\"l15.t0\",出现在 ['member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "member.cancelstatus.l84.t0", + "file": "lang\\en-us.js", + "line": 1100, + "reason": "跨业务域同名 tail=\"l84.t0\",出现在 ['member', 'order', 'point'](应收敛到 common)" + }, + { + "key": "order.detail.l84.t0", + "file": "lang\\en-us.js", + "line": 1409, + "reason": "跨业务域同名 tail=\"l84.t0\",出现在 ['member', 'order', 'point'](应收敛到 common)" + }, + { + "key": "point.list.l84.t0", + "file": "lang\\en-us.js", + "line": 1505, + "reason": "跨业务域同名 tail=\"l84.t0\",出现在 ['member', 'order', 'point'](应收敛到 common)" + }, + { + "key": "member.cancelstatus.l84.t0", + "file": "lang\\zh-cn.js", + "line": 1100, + "reason": "跨业务域同名 tail=\"l84.t0\",出现在 ['member', 'order', 'point'](应收敛到 common)" + }, + { + "key": "order.detail.l84.t0", + "file": "lang\\zh-cn.js", + "line": 1409, + "reason": "跨业务域同名 tail=\"l84.t0\",出现在 ['member', 'order', 'point'](应收敛到 common)" + }, + { + "key": "point.list.l84.t0", + "file": "lang\\zh-cn.js", + "line": 1505, + "reason": "跨业务域同名 tail=\"l84.t0\",出现在 ['member', 'order', 'point'](应收敛到 common)" + }, + { + "key": "member.card.l25.t0", + "file": "lang\\en-us.js", + "line": 1107, + "reason": "跨业务域同名 tail=\"l25.t0\",出现在 ['member', 'tool'](应收敛到 common)" + }, + { + "key": "member.level_growth_rules.l25.t0", + "file": "lang\\en-us.js", + "line": 1183, + "reason": "跨业务域同名 tail=\"l25.t0\",出现在 ['member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund.l25.t0", + "file": "lang\\en-us.js", + "line": 1641, + "reason": "跨业务域同名 tail=\"l25.t0\",出现在 ['member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.pay.cashier.l25.t0", + "file": "lang\\en-us.js", + "line": 1682, + "reason": "跨业务域同名 tail=\"l25.t0\",出现在 ['member', 'tool'](应收敛到 common)" + }, + { + "key": "member.card.l25.t0", + "file": "lang\\zh-cn.js", + "line": 1107, + "reason": "跨业务域同名 tail=\"l25.t0\",出现在 ['member', 'tool'](应收敛到 common)" + }, + { + "key": "member.level_growth_rules.l25.t0", + "file": "lang\\zh-cn.js", + "line": 1183, + "reason": "跨业务域同名 tail=\"l25.t0\",出现在 ['member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund.l25.t0", + "file": "lang\\zh-cn.js", + "line": 1641, + "reason": "跨业务域同名 tail=\"l25.t0\",出现在 ['member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.pay.cashier.l25.t0", + "file": "lang\\zh-cn.js", + "line": 1682, + "reason": "跨业务域同名 tail=\"l25.t0\",出现在 ['member', 'tool'](应收敛到 common)" + }, + { + "key": "member.card.l58.t0", + "file": "lang\\en-us.js", + "line": 1113, + "reason": "跨业务域同名 tail=\"l58.t0\",出现在 ['member', 'merch', 'tool'](应收敛到 common)" + }, + { + "key": "member.point.l58.t0", + "file": "lang\\en-us.js", + "line": 1209, + "reason": "跨业务域同名 tail=\"l58.t0\",出现在 ['member', 'merch', 'tool'](应收敛到 common)" + }, + { + "key": "member.public.js.info.l58.t0", + "file": "lang\\en-us.js", + "line": 1218, + "reason": "跨业务域同名 tail=\"l58.t0\",出现在 ['member', 'merch', 'tool'](应收敛到 common)" + }, + { + "key": "merch.public.edit.l58.t0", + "file": "lang\\en-us.js", + "line": 1252, + "reason": "跨业务域同名 tail=\"l58.t0\",出现在 ['member', 'merch', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund_detail.l58.t0", + "file": "lang\\en-us.js", + "line": 1670, + "reason": "跨业务域同名 tail=\"l58.t0\",出现在 ['member', 'merch', 'tool'](应收敛到 common)" + }, + { + "key": "member.card.l58.t0", + "file": "lang\\zh-cn.js", + "line": 1113, + "reason": "跨业务域同名 tail=\"l58.t0\",出现在 ['member', 'merch', 'tool'](应收敛到 common)" + }, + { + "key": "member.point.l58.t0", + "file": "lang\\zh-cn.js", + "line": 1209, + "reason": "跨业务域同名 tail=\"l58.t0\",出现在 ['member', 'merch', 'tool'](应收敛到 common)" + }, + { + "key": "member.public.js.info.l58.t0", + "file": "lang\\zh-cn.js", + "line": 1218, + "reason": "跨业务域同名 tail=\"l58.t0\",出现在 ['member', 'merch', 'tool'](应收敛到 common)" + }, + { + "key": "merch.public.edit.l58.t0", + "file": "lang\\zh-cn.js", + "line": 1252, + "reason": "跨业务域同名 tail=\"l58.t0\",出现在 ['member', 'merch', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund_detail.l58.t0", + "file": "lang\\zh-cn.js", + "line": 1670, + "reason": "跨业务域同名 tail=\"l58.t0\",出现在 ['member', 'merch', 'tool'](应收敛到 common)" + }, + { + "key": "member.card.l62.t0", + "file": "lang\\en-us.js", + "line": 1114, + "reason": "跨业务域同名 tail=\"l62.t0\",出现在 ['member', 'tool'](应收敛到 common)" + }, + { + "key": "member.public.js.info.l62.t0", + "file": "lang\\en-us.js", + "line": 1220, + "reason": "跨业务域同名 tail=\"l62.t0\",出现在 ['member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.cases.index.l62.t0", + "file": "lang\\en-us.js", + "line": 1578, + "reason": "跨业务域同名 tail=\"l62.t0\",出现在 ['member', 'tool'](应收敛到 common)" + }, + { + "key": "member.card.l62.t0", + "file": "lang\\zh-cn.js", + "line": 1114, + "reason": "跨业务域同名 tail=\"l62.t0\",出现在 ['member', 'tool'](应收敛到 common)" + }, + { + "key": "member.public.js.info.l62.t0", + "file": "lang\\zh-cn.js", + "line": 1220, + "reason": "跨业务域同名 tail=\"l62.t0\",出现在 ['member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.cases.index.l62.t0", + "file": "lang\\zh-cn.js", + "line": 1578, + "reason": "跨业务域同名 tail=\"l62.t0\",出现在 ['member', 'tool'](应收敛到 common)" + }, + { + "key": "member.card.l72.t0", + "file": "lang\\en-us.js", + "line": 1116, + "reason": "跨业务域同名 tail=\"l72.t0\",出现在 ['member', 'tool'](应收敛到 common)" + }, + { + "key": "member.info_edit.l72.t0", + "file": "lang\\en-us.js", + "line": 1153, + "reason": "跨业务域同名 tail=\"l72.t0\",出现在 ['member', 'tool'](应收敛到 common)" + }, + { + "key": "member.level.l72.t0", + "file": "lang\\en-us.js", + "line": 1177, + "reason": "跨业务域同名 tail=\"l72.t0\",出现在 ['member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.form.formdata.l72.t0", + "file": "lang\\en-us.js", + "line": 1585, + "reason": "跨业务域同名 tail=\"l72.t0\",出现在 ['member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.evaluate.l72.t0", + "file": "lang\\en-us.js", + "line": 1630, + "reason": "跨业务域同名 tail=\"l72.t0\",出现在 ['member', 'tool'](应收敛到 common)" + }, + { + "key": "member.card.l72.t0", + "file": "lang\\zh-cn.js", + "line": 1116, + "reason": "跨业务域同名 tail=\"l72.t0\",出现在 ['member', 'tool'](应收敛到 common)" + }, + { + "key": "member.info_edit.l72.t0", + "file": "lang\\zh-cn.js", + "line": 1153, + "reason": "跨业务域同名 tail=\"l72.t0\",出现在 ['member', 'tool'](应收敛到 common)" + }, + { + "key": "member.level.l72.t0", + "file": "lang\\zh-cn.js", + "line": 1177, + "reason": "跨业务域同名 tail=\"l72.t0\",出现在 ['member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.form.formdata.l72.t0", + "file": "lang\\zh-cn.js", + "line": 1585, + "reason": "跨业务域同名 tail=\"l72.t0\",出现在 ['member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.evaluate.l72.t0", + "file": "lang\\zh-cn.js", + "line": 1630, + "reason": "跨业务域同名 tail=\"l72.t0\",出现在 ['member', 'tool'](应收敛到 common)" + }, + { + "key": "member.card.l86.t0", + "file": "lang\\en-us.js", + "line": 1119, + "reason": "跨业务域同名 tail=\"l86.t0\",出现在 ['member', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "point.list.l86.t0", + "file": "lang\\en-us.js", + "line": 1506, + "reason": "跨业务域同名 tail=\"l86.t0\",出现在 ['member', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "tool.goods.search.l86.t0", + "file": "lang\\en-us.js", + "line": 1621, + "reason": "跨业务域同名 tail=\"l86.t0\",出现在 ['member', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "member.card.l86.t0", + "file": "lang\\zh-cn.js", + "line": 1119, + "reason": "跨业务域同名 tail=\"l86.t0\",出现在 ['member', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "point.list.l86.t0", + "file": "lang\\zh-cn.js", + "line": 1506, + "reason": "跨业务域同名 tail=\"l86.t0\",出现在 ['member', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "tool.goods.search.l86.t0", + "file": "lang\\zh-cn.js", + "line": 1621, + "reason": "跨业务域同名 tail=\"l86.t0\",出现在 ['member', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "member.card_buy.l175.t0", + "file": "lang\\en-us.js", + "line": 1121, + "reason": "跨业务域同名 tail=\"l175.t0\",出现在 ['member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund.l175.t0", + "file": "lang\\en-us.js", + "line": 1637, + "reason": "跨业务域同名 tail=\"l175.t0\",出现在 ['member', 'tool'](应收敛到 common)" + }, + { + "key": "member.card_buy.l175.t0", + "file": "lang\\zh-cn.js", + "line": 1121, + "reason": "跨业务域同名 tail=\"l175.t0\",出现在 ['member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund.l175.t0", + "file": "lang\\zh-cn.js", + "line": 1637, + "reason": "跨业务域同名 tail=\"l175.t0\",出现在 ['member', 'tool'](应收敛到 common)" + }, + { + "key": "member.info.l50.t0", + "file": "lang\\en-us.js", + "line": 1140, + "reason": "跨业务域同名 tail=\"l50.t0\",出现在 ['member', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "member.invite_friends.l50.t0", + "file": "lang\\en-us.js", + "line": 1164, + "reason": "跨业务域同名 tail=\"l50.t0\",出现在 ['member', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "point.list.l50.t0", + "file": "lang\\en-us.js", + "line": 1499, + "reason": "跨业务域同名 tail=\"l50.t0\",出现在 ['member', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "tool.recharge.list.l50.t0", + "file": "lang\\en-us.js", + "line": 1694, + "reason": "跨业务域同名 tail=\"l50.t0\",出现在 ['member', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "member.info.l50.t0", + "file": "lang\\zh-cn.js", + "line": 1140, + "reason": "跨业务域同名 tail=\"l50.t0\",出现在 ['member', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "member.invite_friends.l50.t0", + "file": "lang\\zh-cn.js", + "line": 1164, + "reason": "跨业务域同名 tail=\"l50.t0\",出现在 ['member', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "point.list.l50.t0", + "file": "lang\\zh-cn.js", + "line": 1499, + "reason": "跨业务域同名 tail=\"l50.t0\",出现在 ['member', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "tool.recharge.list.l50.t0", + "file": "lang\\zh-cn.js", + "line": 1694, + "reason": "跨业务域同名 tail=\"l50.t0\",出现在 ['member', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "member.info.l66.t0", + "file": "lang\\en-us.js", + "line": 1141, + "reason": "跨业务域同名 tail=\"l66.t0\",出现在 ['member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "member.point.l66.t0", + "file": "lang\\en-us.js", + "line": 1212, + "reason": "跨业务域同名 tail=\"l66.t0\",出现在 ['member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "order.payment.l66.t0", + "file": "lang\\en-us.js", + "line": 1429, + "reason": "跨业务域同名 tail=\"l66.t0\",出现在 ['member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "tool.cases.index.l66.t0", + "file": "lang\\en-us.js", + "line": 1579, + "reason": "跨业务域同名 tail=\"l66.t0\",出现在 ['member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "tool.goods.coupon.l66.t0", + "file": "lang\\en-us.js", + "line": 1597, + "reason": "跨业务域同名 tail=\"l66.t0\",出现在 ['member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "member.info.l66.t0", + "file": "lang\\zh-cn.js", + "line": 1141, + "reason": "跨业务域同名 tail=\"l66.t0\",出现在 ['member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "member.point.l66.t0", + "file": "lang\\zh-cn.js", + "line": 1212, + "reason": "跨业务域同名 tail=\"l66.t0\",出现在 ['member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "order.payment.l66.t0", + "file": "lang\\zh-cn.js", + "line": 1429, + "reason": "跨业务域同名 tail=\"l66.t0\",出现在 ['member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "tool.cases.index.l66.t0", + "file": "lang\\zh-cn.js", + "line": 1579, + "reason": "跨业务域同名 tail=\"l66.t0\",出现在 ['member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "tool.goods.coupon.l66.t0", + "file": "lang\\zh-cn.js", + "line": 1597, + "reason": "跨业务域同名 tail=\"l66.t0\",出现在 ['member', 'order', 'tool'](应收敛到 common)" + }, + { + "key": "member.info_edit.l77.t0", + "file": "lang\\en-us.js", + "line": 1154, + "reason": "跨业务域同名 tail=\"l77.t0\",出现在 ['member', 'point'](应收敛到 common)" + }, + { + "key": "point.detail.l77.t0", + "file": "lang\\en-us.js", + "line": 1473, + "reason": "跨业务域同名 tail=\"l77.t0\",出现在 ['member', 'point'](应收敛到 common)" + }, + { + "key": "member.info_edit.l77.t0", + "file": "lang\\zh-cn.js", + "line": 1154, + "reason": "跨业务域同名 tail=\"l77.t0\",出现在 ['member', 'point'](应收敛到 common)" + }, + { + "key": "point.detail.l77.t0", + "file": "lang\\zh-cn.js", + "line": 1473, + "reason": "跨业务域同名 tail=\"l77.t0\",出现在 ['member', 'point'](应收敛到 common)" + }, + { + "key": "member.invite_friends.l217.t0", + "file": "lang\\en-us.js", + "line": 1163, + "reason": "跨业务域同名 tail=\"l217.t0\",出现在 ['member', 'point'](应收敛到 common)" + }, + { + "key": "point.payment.l217.t0", + "file": "lang\\en-us.js", + "line": 1510, + "reason": "跨业务域同名 tail=\"l217.t0\",出现在 ['member', 'point'](应收敛到 common)" + }, + { + "key": "member.invite_friends.l217.t0", + "file": "lang\\zh-cn.js", + "line": 1163, + "reason": "跨业务域同名 tail=\"l217.t0\",出现在 ['member', 'point'](应收敛到 common)" + }, + { + "key": "point.payment.l217.t0", + "file": "lang\\zh-cn.js", + "line": 1510, + "reason": "跨业务域同名 tail=\"l217.t0\",出现在 ['member', 'point'](应收敛到 common)" + }, + { + "key": "member.invite_friends.l61.t0", + "file": "lang\\en-us.js", + "line": 1167, + "reason": "跨业务域同名 tail=\"l61.t0\",出现在 ['member', 'order'](应收敛到 common)" + }, + { + "key": "order.public.js.orderMethod.l61.t0", + "file": "lang\\en-us.js", + "line": 1436, + "reason": "跨业务域同名 tail=\"l61.t0\",出现在 ['member', 'order'](应收敛到 common)" + }, + { + "key": "member.invite_friends.l61.t0", + "file": "lang\\zh-cn.js", + "line": 1167, + "reason": "跨业务域同名 tail=\"l61.t0\",出现在 ['member', 'order'](应收敛到 common)" + }, + { + "key": "order.public.js.orderMethod.l61.t0", + "file": "lang\\zh-cn.js", + "line": 1436, + "reason": "跨业务域同名 tail=\"l61.t0\",出现在 ['member', 'order'](应收敛到 common)" + }, + { + "key": "member.modify_face.l95.t0", + "file": "lang\\en-us.js", + "line": 1193, + "reason": "跨业务域同名 tail=\"l95.t0\",出现在 ['member', 'point'](应收敛到 common)" + }, + { + "key": "point.public.js.payment.l95.t0", + "file": "lang\\en-us.js", + "line": 1517, + "reason": "跨业务域同名 tail=\"l95.t0\",出现在 ['member', 'point'](应收敛到 common)" + }, + { + "key": "member.modify_face.l95.t0", + "file": "lang\\zh-cn.js", + "line": 1193, + "reason": "跨业务域同名 tail=\"l95.t0\",出现在 ['member', 'point'](应收敛到 common)" + }, + { + "key": "point.public.js.payment.l95.t0", + "file": "lang\\zh-cn.js", + "line": 1517, + "reason": "跨业务域同名 tail=\"l95.t0\",出现在 ['member', 'point'](应收敛到 common)" + }, + { + "key": "member.point.l65.t0", + "file": "lang\\en-us.js", + "line": 1211, + "reason": "跨业务域同名 tail=\"l65.t0\",出现在 ['member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.goods.coupon.l65.t0", + "file": "lang\\en-us.js", + "line": 1596, + "reason": "跨业务域同名 tail=\"l65.t0\",出现在 ['member', 'tool'](应收敛到 common)" + }, + { + "key": "member.point.l65.t0", + "file": "lang\\zh-cn.js", + "line": 1211, + "reason": "跨业务域同名 tail=\"l65.t0\",出现在 ['member', 'tool'](应收敛到 common)" + }, + { + "key": "tool.goods.coupon.l65.t0", + "file": "lang\\zh-cn.js", + "line": 1596, + "reason": "跨业务域同名 tail=\"l65.t0\",出现在 ['member', 'tool'](应收敛到 common)" + }, + { + "key": "merch.detail.l102.t0", + "file": "lang\\en-us.js", + "line": 1236, + "reason": "跨业务域同名 tail=\"l102.t0\",出现在 ['merch', 'tool'](应收敛到 common)" + }, + { + "key": "tool.goods.coupon.l102.t0", + "file": "lang\\en-us.js", + "line": 1590, + "reason": "跨业务域同名 tail=\"l102.t0\",出现在 ['merch', 'tool'](应收敛到 common)" + }, + { + "key": "merch.detail.l102.t0", + "file": "lang\\zh-cn.js", + "line": 1236, + "reason": "跨业务域同名 tail=\"l102.t0\",出现在 ['merch', 'tool'](应收敛到 common)" + }, + { + "key": "tool.goods.coupon.l102.t0", + "file": "lang\\zh-cn.js", + "line": 1590, + "reason": "跨业务域同名 tail=\"l102.t0\",出现在 ['merch', 'tool'](应收敛到 common)" + }, + { + "key": "merch.public.js.list.l80.t0", + "file": "lang\\en-us.js", + "line": 1275, + "reason": "跨业务域同名 tail=\"l80.t0\",出现在 ['merch', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund_detail.l80.t0", + "file": "lang\\en-us.js", + "line": 1675, + "reason": "跨业务域同名 tail=\"l80.t0\",出现在 ['merch', 'tool'](应收敛到 common)" + }, + { + "key": "merch.public.js.list.l80.t0", + "file": "lang\\zh-cn.js", + "line": 1275, + "reason": "跨业务域同名 tail=\"l80.t0\",出现在 ['merch', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund_detail.l80.t0", + "file": "lang\\zh-cn.js", + "line": 1675, + "reason": "跨业务域同名 tail=\"l80.t0\",出现在 ['merch', 'tool'](应收敛到 common)" + }, + { + "key": "order.detail.l276.t0", + "file": "lang\\en-us.js", + "line": 1377, + "reason": "跨业务域同名 tail=\"l276.t0\",出现在 ['order', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "point.list.l276.t0", + "file": "lang\\en-us.js", + "line": 1494, + "reason": "跨业务域同名 tail=\"l276.t0\",出现在 ['order', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "tool.recharge.list.l276.t0", + "file": "lang\\en-us.js", + "line": 1689, + "reason": "跨业务域同名 tail=\"l276.t0\",出现在 ['order', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "order.detail.l276.t0", + "file": "lang\\zh-cn.js", + "line": 1377, + "reason": "跨业务域同名 tail=\"l276.t0\",出现在 ['order', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "point.list.l276.t0", + "file": "lang\\zh-cn.js", + "line": 1494, + "reason": "跨业务域同名 tail=\"l276.t0\",出现在 ['order', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "tool.recharge.list.l276.t0", + "file": "lang\\zh-cn.js", + "line": 1689, + "reason": "跨业务域同名 tail=\"l276.t0\",出现在 ['order', 'point', 'tool'](应收敛到 common)" + }, + { + "key": "order.detail.l305.t0", + "file": "lang\\en-us.js", + "line": 1385, + "reason": "跨业务域同名 tail=\"l305.t0\",出现在 ['order', 'point'](应收敛到 common)" + }, + { + "key": "point.list.l305.t0", + "file": "lang\\en-us.js", + "line": 1495, + "reason": "跨业务域同名 tail=\"l305.t0\",出现在 ['order', 'point'](应收敛到 common)" + }, + { + "key": "order.detail.l305.t0", + "file": "lang\\zh-cn.js", + "line": 1385, + "reason": "跨业务域同名 tail=\"l305.t0\",出现在 ['order', 'point'](应收敛到 common)" + }, + { + "key": "point.list.l305.t0", + "file": "lang\\zh-cn.js", + "line": 1495, + "reason": "跨业务域同名 tail=\"l305.t0\",出现在 ['order', 'point'](应收敛到 common)" + }, + { + "key": "order.detail_point.l128.t0", + "file": "lang\\en-us.js", + "line": 1411, + "reason": "跨业务域同名 tail=\"l128.t0\",出现在 ['order', 'point'](应收敛到 common)" + }, + { + "key": "point.list.l128.t0", + "file": "lang\\en-us.js", + "line": 1480, + "reason": "跨业务域同名 tail=\"l128.t0\",出现在 ['order', 'point'](应收敛到 common)" + }, + { + "key": "order.detail_point.l128.t0", + "file": "lang\\zh-cn.js", + "line": 1411, + "reason": "跨业务域同名 tail=\"l128.t0\",出现在 ['order', 'point'](应收敛到 common)" + }, + { + "key": "point.list.l128.t0", + "file": "lang\\zh-cn.js", + "line": 1480, + "reason": "跨业务域同名 tail=\"l128.t0\",出现在 ['order', 'point'](应收敛到 common)" + }, + { + "key": "page.index.l115.t0", + "file": "lang\\en-us.js", + "line": 1443, + "reason": "跨业务域同名 tail=\"l115.t0\",出现在 ['page', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.activist.l115.t0", + "file": "lang\\en-us.js", + "line": 1624, + "reason": "跨业务域同名 tail=\"l115.t0\",出现在 ['page', 'tool'](应收敛到 common)" + }, + { + "key": "page.index.l115.t0", + "file": "lang\\zh-cn.js", + "line": 1443, + "reason": "跨业务域同名 tail=\"l115.t0\",出现在 ['page', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.activist.l115.t0", + "file": "lang\\zh-cn.js", + "line": 1624, + "reason": "跨业务域同名 tail=\"l115.t0\",出现在 ['page', 'tool'](应收敛到 common)" + }, + { + "key": "page.index.l89.t0", + "file": "lang\\en-us.js", + "line": 1449, + "reason": "跨业务域同名 tail=\"l89.t0\",出现在 ['page', 'tool'](应收敛到 common)" + }, + { + "key": "tool.recharge.list.l89.t0", + "file": "lang\\en-us.js", + "line": 1698, + "reason": "跨业务域同名 tail=\"l89.t0\",出现在 ['page', 'tool'](应收敛到 common)" + }, + { + "key": "page.index.l89.t0", + "file": "lang\\zh-cn.js", + "line": 1449, + "reason": "跨业务域同名 tail=\"l89.t0\",出现在 ['page', 'tool'](应收敛到 common)" + }, + { + "key": "tool.recharge.list.l89.t0", + "file": "lang\\zh-cn.js", + "line": 1698, + "reason": "跨业务域同名 tail=\"l89.t0\",出现在 ['page', 'tool'](应收敛到 common)" + }, + { + "key": "page.index.public.js.index.l121.t0", + "file": "lang\\en-us.js", + "line": 1450, + "reason": "跨业务域同名 tail=\"l121.t0\",出现在 ['page', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund_detail.l121.t0", + "file": "lang\\en-us.js", + "line": 1651, + "reason": "跨业务域同名 tail=\"l121.t0\",出现在 ['page', 'tool'](应收敛到 common)" + }, + { + "key": "page.index.public.js.index.l121.t0", + "file": "lang\\zh-cn.js", + "line": 1450, + "reason": "跨业务域同名 tail=\"l121.t0\",出现在 ['page', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund_detail.l121.t0", + "file": "lang\\zh-cn.js", + "line": 1651, + "reason": "跨业务域同名 tail=\"l121.t0\",出现在 ['page', 'tool'](应收敛到 common)" + }, + { + "key": "point.detail.l195.t0", + "file": "lang\\en-us.js", + "line": 1468, + "reason": "跨业务域同名 tail=\"l195.t0\",出现在 ['point', 'tool'](应收敛到 common)" + }, + { + "key": "tool.goods.coupon_receive.l195.t0", + "file": "lang\\en-us.js", + "line": 1604, + "reason": "跨业务域同名 tail=\"l195.t0\",出现在 ['point', 'tool'](应收敛到 common)" + }, + { + "key": "point.detail.l195.t0", + "file": "lang\\zh-cn.js", + "line": 1468, + "reason": "跨业务域同名 tail=\"l195.t0\",出现在 ['point', 'tool'](应收敛到 common)" + }, + { + "key": "tool.goods.coupon_receive.l195.t0", + "file": "lang\\zh-cn.js", + "line": 1604, + "reason": "跨业务域同名 tail=\"l195.t0\",出现在 ['point', 'tool'](应收敛到 common)" + }, + { + "key": "point.goods_list.l79.t0", + "file": "lang\\en-us.js", + "line": 1477, + "reason": "跨业务域同名 tail=\"l79.t0\",出现在 ['point', 'tool'](应收敛到 common)" + }, + { + "key": "tool.goods.brand.l79.t0", + "file": "lang\\en-us.js", + "line": 1588, + "reason": "跨业务域同名 tail=\"l79.t0\",出现在 ['point', 'tool'](应收敛到 common)" + }, + { + "key": "point.goods_list.l79.t0", + "file": "lang\\zh-cn.js", + "line": 1477, + "reason": "跨业务域同名 tail=\"l79.t0\",出现在 ['point', 'tool'](应收敛到 common)" + }, + { + "key": "tool.goods.brand.l79.t0", + "file": "lang\\zh-cn.js", + "line": 1588, + "reason": "跨业务域同名 tail=\"l79.t0\",出现在 ['point', 'tool'](应收敛到 common)" + }, + { + "key": "point.list.l242.t0", + "file": "lang\\en-us.js", + "line": 1488, + "reason": "跨业务域同名 tail=\"l242.t0\",出现在 ['point', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund.l242.t0", + "file": "lang\\en-us.js", + "line": 1640, + "reason": "跨业务域同名 tail=\"l242.t0\",出现在 ['point', 'tool'](应收敛到 common)" + }, + { + "key": "point.list.l242.t0", + "file": "lang\\zh-cn.js", + "line": 1488, + "reason": "跨业务域同名 tail=\"l242.t0\",出现在 ['point', 'tool'](应收敛到 common)" + }, + { + "key": "tool.order.refund.l242.t0", + "file": "lang\\zh-cn.js", + "line": 1640, + "reason": "跨业务域同名 tail=\"l242.t0\",出现在 ['point', 'tool'](应收敛到 common)" + } + ], + "非 snake_case key 段": [ + { + "key": "pageTitles.article.detail", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 210, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.article.list", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 211, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.bale.detail", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 212, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.bale.payment", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 213, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.bargain.detail", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 214, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.bargain.launch", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 215, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.bargain.list", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 216, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.bargain.my_bargain", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 217, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.bargain.payment", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 218, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.combo.detail", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 219, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.combo.payment", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 220, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.contact.contact", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 221, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.diy.diy", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 222, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.fenxiao.apply", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 223, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.fenxiao.bill", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 224, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.fenxiao.follow", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 225, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.fenxiao.goods_list", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 226, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.fenxiao.index", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 227, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.fenxiao.level", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 228, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.fenxiao.order", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 229, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.fenxiao.order_detail", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 230, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.fenxiao.promote_code", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 231, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.fenxiao.team", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 232, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.fenxiao.withdraw_apply", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 233, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.fenxiao.withdraw_list", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 234, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.game.cards", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 235, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.game.record", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 236, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.game.smash_eggs", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 237, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.game.turntable", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 238, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.goods.brand", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 239, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.goods.cart", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 240, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.goods.category", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 241, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.goods.consult", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 242, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.goods.consult_edit", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 243, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.goods.coupon", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 244, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.goods.coupon_receive", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 245, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.goods.detail", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 246, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.goods.evaluate", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 247, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.goods.list", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 248, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.goods.not_exist", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 249, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.goods.point", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 250, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.goods.search", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 251, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.groupbuy.detail", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 252, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.groupbuy.list", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 253, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.groupbuy.payment", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 254, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.help.detail", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 255, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.help.list", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 256, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.hongbao.list", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 257, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.hongbao.my_hongbao", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 258, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.index.index", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 259, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.live.list", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 260, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.login.find", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 261, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.login.login", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 262, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.login.register", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 263, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.account", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 264, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.account_edit", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 265, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.address", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 266, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.address_edit", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 267, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.apply_withdrawal", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 268, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.assets", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 269, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.balance", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 270, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.balance_detail", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 271, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.cancellation", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 272, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.cancelrefuse", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 273, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.cancelstatus", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 274, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.cancelsuccess", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 275, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.card", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 276, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.card_buy", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 277, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.collection", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 278, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.contact", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 279, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.coupon", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 280, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.footprint", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 281, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.gift", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 282, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.gift_detail", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 283, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.index", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 284, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.info", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 285, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.info_edit", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 286, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.invite_friends", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 287, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.level", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 288, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.message", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 289, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.modify_face", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 290, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.pay_password", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 291, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.point", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 292, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.point_detail", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 293, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.signin", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 294, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.withdrawal", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 295, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.withdrawal_detail", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 296, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.notice.detail", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 297, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.notice.list", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 298, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.order.activist", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 299, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.order.detail", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 300, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.order.detail_local_delivery", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 301, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.order.detail_pickup", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 302, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.order.detail_point", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 303, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.order.detail_virtual", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 304, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.order.evaluate", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 305, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.order.list", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 306, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.order.logistics", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 307, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.order.payment", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 308, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.order.refund", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 309, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.order.refund_batch", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 310, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.order.refund_detail", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 311, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.pay.index", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 312, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.pay.result", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 313, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.pintuan.detail", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 314, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.pintuan.list", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 315, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.pintuan.my_spell", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 316, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.pintuan.payment", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 317, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.pintuan.share", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 318, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.point.detail", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 319, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.point.list", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 320, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.point.order_detail", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 321, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.point.order_list", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 322, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.point.payment", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 323, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.point.result", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 324, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.presale.detail", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 325, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.presale.list", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 326, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.presale.order_detail", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 327, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.presale.order_list", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 328, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.presale.payment", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 329, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.recharge.detail", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 330, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.recharge.list", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 331, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.recharge.order_list", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 332, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.seckill.detail", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 333, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.seckill.list", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 334, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.seckill.payment", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 335, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.store_notes.note_detail", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 336, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.store_notes.note_list", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 337, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.storeclose.storeclose", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 338, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.topics.detail", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 339, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.topics.goods_detail", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 340, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.topics.list", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 341, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.topics.payment", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 342, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.verification.detail", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 343, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.verification.index", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 344, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.verification.list", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 345, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.vr.index", + "segment": "pageTitles", + "file": "lang\\en-us.js", + "line": 346, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "order.public.js.orderMethod.l13.t0", + "segment": "orderMethod", + "file": "lang\\en-us.js", + "line": 1431, + "reason": "key 段 \"orderMethod\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "order.public.js.orderMethod.l13.t1", + "segment": "orderMethod", + "file": "lang\\en-us.js", + "line": 1432, + "reason": "key 段 \"orderMethod\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "order.public.js.orderMethod.l176.t0", + "segment": "orderMethod", + "file": "lang\\en-us.js", + "line": 1433, + "reason": "key 段 \"orderMethod\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "order.public.js.orderMethod.l47.t0", + "segment": "orderMethod", + "file": "lang\\en-us.js", + "line": 1434, + "reason": "key 段 \"orderMethod\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "order.public.js.orderMethod.l60.t0", + "segment": "orderMethod", + "file": "lang\\en-us.js", + "line": 1435, + "reason": "key 段 \"orderMethod\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "order.public.js.orderMethod.l61.t0", + "segment": "orderMethod", + "file": "lang\\en-us.js", + "line": 1436, + "reason": "key 段 \"orderMethod\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "order.public.js.orderMethod.l81.t0", + "segment": "orderMethod", + "file": "lang\\en-us.js", + "line": 1437, + "reason": "key 段 \"orderMethod\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "order.public.js.refundMethod.l10.t0", + "segment": "refundMethod", + "file": "lang\\en-us.js", + "line": 1438, + "reason": "key 段 \"refundMethod\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "order.public.js.refundMethod.l11.t0", + "segment": "refundMethod", + "file": "lang\\en-us.js", + "line": 1439, + "reason": "key 段 \"refundMethod\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "Filter", + "segment": "Filter", + "file": "lang\\en-us.js", + "line": 1723, + "reason": "key 段 \"Filter\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "Make", + "segment": "Make", + "file": "lang\\en-us.js", + "line": 1724, + "reason": "key 段 \"Make\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "Price", + "segment": "Price", + "file": "lang\\en-us.js", + "line": 1725, + "reason": "key 段 \"Price\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "Random", + "segment": "Random", + "file": "lang\\en-us.js", + "line": 1726, + "reason": "key 段 \"Random\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "Sales", + "segment": "Sales", + "file": "lang\\en-us.js", + "line": 1727, + "reason": "key 段 \"Sales\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "Search", + "segment": "Search", + "file": "lang\\en-us.js", + "line": 1728, + "reason": "key 段 \"Search\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "accountInputPlaceholder", + "segment": "accountInputPlaceholder", + "file": "lang\\en-us.js", + "line": 1731, + "reason": "key 段 \"accountInputPlaceholder\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "accountPlaceholder", + "segment": "accountPlaceholder", + "file": "lang\\en-us.js", + "line": 1732, + "reason": "key 段 \"accountPlaceholder\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "accountType", + "segment": "accountType", + "file": "lang\\en-us.js", + "line": 1733, + "reason": "key 段 \"accountType\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "addressPlaceholder", + "segment": "addressPlaceholder", + "file": "lang\\en-us.js", + "line": 1736, + "reason": "key 段 \"addressPlaceholder\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "agreeAgreementTip", + "segment": "agreeAgreementTip", + "file": "lang\\en-us.js", + "line": 1737, + "reason": "key 段 \"agreeAgreementTip\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "aiNickname", + "segment": "aiNickname", + "file": "lang\\en-us.js", + "line": 1738, + "reason": "key 段 \"aiNickname\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "aiThinking", + "segment": "aiThinking", + "file": "lang\\en-us.js", + "line": 1739, + "reason": "key 段 \"aiThinking\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "alikeNickname", + "segment": "alikeNickname", + "file": "lang\\en-us.js", + "line": 1740, + "reason": "key 段 \"alikeNickname\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "alikePhone", + "segment": "alikePhone", + "file": "lang\\en-us.js", + "line": 1741, + "reason": "key 段 \"alikePhone\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "allElection", + "segment": "allElection", + "file": "lang\\en-us.js", + "line": 1743, + "reason": "key 段 \"allElection\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "animateCodeInput", + "segment": "animateCodeInput", + "file": "lang\\en-us.js", + "line": 1744, + "reason": "key 段 \"animateCodeInput\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "audioMessage", + "segment": "audioMessage", + "file": "lang\\en-us.js", + "line": 1745, + "reason": "key 段 \"audioMessage\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "avatarSelectorTitle", + "segment": "avatarSelectorTitle", + "file": "lang\\en-us.js", + "line": 1746, + "reason": "key 段 \"avatarSelectorTitle\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "captchaPlaceholder", + "segment": "captchaPlaceholder", + "file": "lang\\en-us.js", + "line": 1751, + "reason": "key 段 \"captchaPlaceholder\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "changeAvatar", + "segment": "changeAvatar", + "file": "lang\\en-us.js", + "line": 1752, + "reason": "key 段 \"changeAvatar\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "changeAvatarDesc", + "segment": "changeAvatarDesc", + "file": "lang\\en-us.js", + "line": 1753, + "reason": "key 段 \"changeAvatarDesc\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "changeNickname", + "segment": "changeNickname", + "file": "lang\\en-us.js", + "line": 1754, + "reason": "key 段 \"changeNickname\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "changeNicknameDesc", + "segment": "changeNicknameDesc", + "file": "lang\\en-us.js", + "line": 1755, + "reason": "key 段 \"changeNicknameDesc\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "chatCleared", + "segment": "chatCleared", + "file": "lang\\en-us.js", + "line": 1756, + "reason": "key 段 \"chatCleared\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "chooseFromAlbum", + "segment": "chooseFromAlbum", + "file": "lang\\en-us.js", + "line": 1757, + "reason": "key 段 \"chooseFromAlbum\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "confirmClearChat", + "segment": "confirmClearChat", + "file": "lang\\en-us.js", + "line": 1762, + "reason": "key 段 \"confirmClearChat\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "confirmCodeInput", + "segment": "confirmCodeInput", + "file": "lang\\en-us.js", + "line": 1763, + "reason": "key 段 \"confirmCodeInput\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "confirmOpenLink", + "segment": "confirmOpenLink", + "file": "lang\\en-us.js", + "line": 1764, + "reason": "key 段 \"confirmOpenLink\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "consigneePlaceholder", + "segment": "consigneePlaceholder", + "file": "lang\\en-us.js", + "line": 1766, + "reason": "key 段 \"consigneePlaceholder\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "contactInfo", + "segment": "contactInfo", + "file": "lang\\en-us.js", + "line": 1768, + "reason": "key 段 \"contactInfo\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "copyFail", + "segment": "copyFail", + "file": "lang\\en-us.js", + "line": 1770, + "reason": "key 段 \"copyFail\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "copyFailed", + "segment": "copyFailed", + "file": "lang\\en-us.js", + "line": 1771, + "reason": "key 段 \"copyFailed\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "copySuccess", + "segment": "copySuccess", + "file": "lang\\en-us.js", + "line": 1772, + "reason": "key 段 \"copySuccess\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "defaultNickname", + "segment": "defaultNickname", + "file": "lang\\en-us.js", + "line": 1773, + "reason": "key 段 \"defaultNickname\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "dynacodeInputPlaceholder", + "segment": "dynacodeInputPlaceholder", + "file": "lang\\en-us.js", + "line": 1776, + "reason": "key 段 \"dynacodeInputPlaceholder\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "dynacodePlaceholder", + "segment": "dynacodePlaceholder", + "file": "lang\\en-us.js", + "line": 1777, + "reason": "key 段 \"dynacodePlaceholder\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "editNickname", + "segment": "editNickname", + "file": "lang\\en-us.js", + "line": 1779, + "reason": "key 段 \"editNickname\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "emojiTitle", + "segment": "emojiTitle", + "file": "lang\\en-us.js", + "line": 1780, + "reason": "key 段 \"emojiTitle\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "emptyTips", + "segment": "emptyTips", + "file": "lang\\en-us.js", + "line": 1781, + "reason": "key 段 \"emptyTips\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "enterCaptchaTip", + "segment": "enterCaptchaTip", + "file": "lang\\en-us.js", + "line": 1782, + "reason": "key 段 \"enterCaptchaTip\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "enterCorrectMobileTip", + "segment": "enterCorrectMobileTip", + "file": "lang\\en-us.js", + "line": 1783, + "reason": "key 段 \"enterCorrectMobileTip\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "enterMobileTip", + "segment": "enterMobileTip", + "file": "lang\\en-us.js", + "line": 1784, + "reason": "key 段 \"enterMobileTip\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "exchangeSuccess", + "segment": "exchangeSuccess", + "file": "lang\\en-us.js", + "line": 1785, + "reason": "key 段 \"exchangeSuccess\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "exclusiveCustomerService", + "segment": "exclusiveCustomerService", + "file": "lang\\en-us.js", + "line": 1786, + "reason": "key 段 \"exclusiveCustomerService\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "expandEditorTitle", + "segment": "expandEditorTitle", + "file": "lang\\en-us.js", + "line": 1787, + "reason": "key 段 \"expandEditorTitle\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "fallbackWelcome", + "segment": "fallbackWelcome", + "file": "lang\\en-us.js", + "line": 1789, + "reason": "key 段 \"fallbackWelcome\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "featureDeveloping", + "segment": "featureDeveloping", + "file": "lang\\en-us.js", + "line": 1790, + "reason": "key 段 \"featureDeveloping\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "fileOpenFail", + "segment": "fileOpenFail", + "file": "lang\\en-us.js", + "line": 1792, + "reason": "key 段 \"fileOpenFail\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "findanimateCode", + "segment": "findanimateCode", + "file": "lang\\en-us.js", + "line": 1793, + "reason": "key 段 \"findanimateCode\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "forgetPasswordText", + "segment": "forgetPasswordText", + "file": "lang\\en-us.js", + "line": 1795, + "reason": "key 段 \"forgetPasswordText\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "getAddress", + "segment": "getAddress", + "file": "lang\\en-us.js", + "line": 1796, + "reason": "key 段 \"getAddress\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "getDynacode", + "segment": "getDynacode", + "file": "lang\\en-us.js", + "line": 1797, + "reason": "key 段 \"getDynacode\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "goHome", + "segment": "goHome", + "file": "lang\\en-us.js", + "line": 1798, + "reason": "key 段 \"goHome\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "improveService", + "segment": "improveService", + "file": "lang\\en-us.js", + "line": 1801, + "reason": "key 段 \"improveService\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "inputPlaceholder", + "segment": "inputPlaceholder", + "file": "lang\\en-us.js", + "line": 1802, + "reason": "key 段 \"inputPlaceholder\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "loadHistoryFail", + "segment": "loadHistoryFail", + "file": "lang\\en-us.js", + "line": 1805, + "reason": "key 段 \"loadHistoryFail\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "loadMoreHistory", + "segment": "loadMoreHistory", + "file": "lang\\en-us.js", + "line": 1806, + "reason": "key 段 \"loadMoreHistory\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "loginButtonText", + "segment": "loginButtonText", + "file": "lang\\en-us.js", + "line": 1808, + "reason": "key 段 \"loginButtonText\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "loginSuccessTip", + "segment": "loginSuccessTip", + "file": "lang\\en-us.js", + "line": 1809, + "reason": "key 段 \"loginSuccessTip\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "loginTpis", + "segment": "loginTpis", + "file": "lang\\en-us.js", + "line": 1810, + "reason": "key 段 \"loginTpis\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "logoutContent", + "segment": "logoutContent", + "file": "lang\\en-us.js", + "line": 1812, + "reason": "key 段 \"logoutContent\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "logoutTitle", + "segment": "logoutTitle", + "file": "lang\\en-us.js", + "line": 1813, + "reason": "key 段 \"logoutTitle\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "menuClearChat", + "segment": "menuClearChat", + "file": "lang\\en-us.js", + "line": 1816, + "reason": "key 段 \"menuClearChat\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "menuExport", + "segment": "menuExport", + "file": "lang\\en-us.js", + "line": 1817, + "reason": "key 段 \"menuExport\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "menuHelp", + "segment": "menuHelp", + "file": "lang\\en-us.js", + "line": 1818, + "reason": "key 段 \"menuHelp\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "menuSettings", + "segment": "menuSettings", + "file": "lang\\en-us.js", + "line": 1819, + "reason": "key 段 \"menuSettings\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "messageContent", + "segment": "messageContent", + "file": "lang\\en-us.js", + "line": 1820, + "reason": "key 段 \"messageContent\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "mobileInputPlaceholder", + "segment": "mobileInputPlaceholder", + "file": "lang\\en-us.js", + "line": 1822, + "reason": "key 段 \"mobileInputPlaceholder\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "mobilePhone", + "segment": "mobilePhone", + "file": "lang\\en-us.js", + "line": 1823, + "reason": "key 段 \"mobilePhone\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "mobilePlaceholder", + "segment": "mobilePlaceholder", + "file": "lang\\en-us.js", + "line": 1824, + "reason": "key 段 \"mobilePlaceholder\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "modifyNickname", + "segment": "modifyNickname", + "file": "lang\\en-us.js", + "line": 1826, + "reason": "key 段 \"modifyNickname\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "moreFunctions", + "segment": "moreFunctions", + "file": "lang\\en-us.js", + "line": 1827, + "reason": "key 段 \"moreFunctions\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "newAddAccount", + "segment": "newAddAccount", + "file": "lang\\en-us.js", + "line": 1829, + "reason": "key 段 \"newAddAccount\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "newAddAddress", + "segment": "newAddAddress", + "file": "lang\\en-us.js", + "line": 1830, + "reason": "key 段 \"newAddAddress\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "newNicknamePlaceholder", + "segment": "newNicknamePlaceholder", + "file": "lang\\en-us.js", + "line": 1831, + "reason": "key 段 \"newNicknamePlaceholder\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "nicknameChangeSuccess", + "segment": "nicknameChangeSuccess", + "file": "lang\\en-us.js", + "line": 1833, + "reason": "key 段 \"nicknameChangeSuccess\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "nicknameTip", + "segment": "nicknameTip", + "file": "lang\\en-us.js", + "line": 1834, + "reason": "key 段 \"nicknameTip\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "noContentToCopy", + "segment": "noContentToCopy", + "file": "lang\\en-us.js", + "line": 1835, + "reason": "key 段 \"noContentToCopy\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "noEmityNickname", + "segment": "noEmityNickname", + "file": "lang\\en-us.js", + "line": 1836, + "reason": "key 段 \"noEmityNickname\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "noEmityUsername", + "segment": "noEmityUsername", + "file": "lang\\en-us.js", + "line": 1837, + "reason": "key 段 \"noEmityUsername\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "noMatchResult", + "segment": "noMatchResult", + "file": "lang\\en-us.js", + "line": 1838, + "reason": "key 段 \"noMatchResult\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "oneClickNavigation", + "segment": "oneClickNavigation", + "file": "lang\\en-us.js", + "line": 1839, + "reason": "key 段 \"oneClickNavigation\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "onlineMessage", + "segment": "onlineMessage", + "file": "lang\\en-us.js", + "line": 1840, + "reason": "key 段 \"onlineMessage\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "openLink", + "segment": "openLink", + "file": "lang\\en-us.js", + "line": 1841, + "reason": "key 段 \"openLink\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "openingFile", + "segment": "openingFile", + "file": "lang\\en-us.js", + "line": 1842, + "reason": "key 段 \"openingFile\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "operationFailed", + "segment": "operationFailed", + "file": "lang\\en-us.js", + "line": 1843, + "reason": "key 段 \"operationFailed\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "passwordInputPlaceholder", + "segment": "passwordInputPlaceholder", + "file": "lang\\en-us.js", + "line": 1845, + "reason": "key 段 \"passwordInputPlaceholder\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "passwordPlaceholder", + "segment": "passwordPlaceholder", + "file": "lang\\en-us.js", + "line": 1846, + "reason": "key 段 \"passwordPlaceholder\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "paymentAmount", + "segment": "paymentAmount", + "file": "lang\\en-us.js", + "line": 1847, + "reason": "key 段 \"paymentAmount\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "paymentFail", + "segment": "paymentFail", + "file": "lang\\en-us.js", + "line": 1848, + "reason": "key 段 \"paymentFail\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "paymentSuccess", + "segment": "paymentSuccess", + "file": "lang\\en-us.js", + "line": 1849, + "reason": "key 段 \"paymentSuccess\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pleaseEnterMessage", + "segment": "pleaseEnterMessage", + "file": "lang\\en-us.js", + "line": 1851, + "reason": "key 段 \"pleaseEnterMessage\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pleaseEnterMobile", + "segment": "pleaseEnterMobile", + "file": "lang\\en-us.js", + "line": 1852, + "reason": "key 段 \"pleaseEnterMobile\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pleaseEnterName", + "segment": "pleaseEnterName", + "file": "lang\\en-us.js", + "line": 1853, + "reason": "key 段 \"pleaseEnterName\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pleaseInputNewPassword", + "segment": "pleaseInputNewPassword", + "file": "lang\\en-us.js", + "line": 1854, + "reason": "key 段 \"pleaseInputNewPassword\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pleaseInputOldPassword", + "segment": "pleaseInputOldPassword", + "file": "lang\\en-us.js", + "line": 1855, + "reason": "key 段 \"pleaseInputOldPassword\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "privacyPolicy", + "segment": "privacyPolicy", + "file": "lang\\en-us.js", + "line": 1856, + "reason": "key 段 \"privacyPolicy\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "privacyPolicyText", + "segment": "privacyPolicyText", + "file": "lang\\en-us.js", + "line": 1857, + "reason": "key 段 \"privacyPolicyText\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "rePasswordPlaceholder", + "segment": "rePasswordPlaceholder", + "file": "lang\\en-us.js", + "line": 1859, + "reason": "key 段 \"rePasswordPlaceholder\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "realName", + "segment": "realName", + "file": "lang\\en-us.js", + "line": 1860, + "reason": "key 段 \"realName\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "receivingCity", + "segment": "receivingCity", + "file": "lang\\en-us.js", + "line": 1861, + "reason": "key 段 \"receivingCity\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "receivingReply", + "segment": "receivingReply", + "file": "lang\\en-us.js", + "line": 1862, + "reason": "key 段 \"receivingReply\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "recordingTip", + "segment": "recordingTip", + "file": "lang\\en-us.js", + "line": 1863, + "reason": "key 段 \"recordingTip\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "registerAgreementText", + "segment": "registerAgreementText", + "file": "lang\\en-us.js", + "line": 1864, + "reason": "key 段 \"registerAgreementText\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "registrationAgreement", + "segment": "registrationAgreement", + "file": "lang\\en-us.js", + "line": 1865, + "reason": "key 段 \"registrationAgreement\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "requestFailTip", + "segment": "requestFailTip", + "file": "lang\\en-us.js", + "line": 1866, + "reason": "key 段 \"requestFailTip\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "searchAtBottom", + "segment": "searchAtBottom", + "file": "lang\\en-us.js", + "line": 1871, + "reason": "key 段 \"searchAtBottom\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "searchAtTop", + "segment": "searchAtTop", + "file": "lang\\en-us.js", + "line": 1872, + "reason": "key 段 \"searchAtTop\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "searchClose", + "segment": "searchClose", + "file": "lang\\en-us.js", + "line": 1873, + "reason": "key 段 \"searchClose\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "searchEntrance", + "segment": "searchEntrance", + "file": "lang\\en-us.js", + "line": 1874, + "reason": "key 段 \"searchEntrance\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "searchPlaceholder", + "segment": "searchPlaceholder", + "file": "lang\\en-us.js", + "line": 1875, + "reason": "key 段 \"searchPlaceholder\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "serviceTemporaryUnavailable", + "segment": "serviceTemporaryUnavailable", + "file": "lang\\en-us.js", + "line": 1879, + "reason": "key 段 \"serviceTemporaryUnavailable\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "serviceTypeNotSupported", + "segment": "serviceTypeNotSupported", + "file": "lang\\en-us.js", + "line": 1880, + "reason": "key 段 \"serviceTypeNotSupported\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "serviceUnavailable", + "segment": "serviceUnavailable", + "file": "lang\\en-us.js", + "line": 1881, + "reason": "key 段 \"serviceUnavailable\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "settingsTitle", + "segment": "settingsTitle", + "file": "lang\\en-us.js", + "line": 1882, + "reason": "key 段 \"settingsTitle\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "startRecordTip", + "segment": "startRecordTip", + "file": "lang\\en-us.js", + "line": 1886, + "reason": "key 段 \"startRecordTip\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "surePhoneNumber", + "segment": "surePhoneNumber", + "file": "lang\\en-us.js", + "line": 1890, + "reason": "key 段 \"surePhoneNumber\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "telephonePlaceholder", + "segment": "telephonePlaceholder", + "file": "lang\\en-us.js", + "line": 1892, + "reason": "key 段 \"telephonePlaceholder\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "thanksFeedback", + "segment": "thanksFeedback", + "file": "lang\\en-us.js", + "line": 1893, + "reason": "key 段 \"thanksFeedback\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "timeFormatBeforeYesterday", + "segment": "timeFormatBeforeYesterday", + "file": "lang\\en-us.js", + "line": 1894, + "reason": "key 段 \"timeFormatBeforeYesterday\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "timeFormatYesterday", + "segment": "timeFormatYesterday", + "file": "lang\\en-us.js", + "line": 1895, + "reason": "key 段 \"timeFormatYesterday\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "toGoodsCategoryPage", + "segment": "toGoodsCategoryPage", + "file": "lang\\en-us.js", + "line": 1897, + "reason": "key 段 \"toGoodsCategoryPage\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "toLogin", + "segment": "toLogin", + "file": "lang\\en-us.js", + "line": 1898, + "reason": "key 段 \"toLogin\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "updateSuccess", + "segment": "updateSuccess", + "file": "lang\\en-us.js", + "line": 1900, + "reason": "key 段 \"updateSuccess\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "userServiceAgreementText", + "segment": "userServiceAgreementText", + "file": "lang\\en-us.js", + "line": 1901, + "reason": "key 段 \"userServiceAgreementText\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "videoMessage", + "segment": "videoMessage", + "file": "lang\\en-us.js", + "line": 1902, + "reason": "key 段 \"videoMessage\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "voiceInputFailed", + "segment": "voiceInputFailed", + "file": "lang\\en-us.js", + "line": 1904, + "reason": "key 段 \"voiceInputFailed\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "voiceInputTitle", + "segment": "voiceInputTitle", + "file": "lang\\en-us.js", + "line": 1905, + "reason": "key 段 \"voiceInputTitle\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "welcomeText", + "segment": "welcomeText", + "file": "lang\\en-us.js", + "line": 1909, + "reason": "key 段 \"welcomeText\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.article.detail", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 210, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.article.list", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 211, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.bale.detail", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 212, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.bale.payment", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 213, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.bargain.detail", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 214, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.bargain.launch", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 215, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.bargain.list", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 216, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.bargain.my_bargain", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 217, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.bargain.payment", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 218, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.combo.detail", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 219, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.combo.payment", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 220, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.contact.contact", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 221, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.diy.diy", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 222, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.fenxiao.apply", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 223, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.fenxiao.bill", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 224, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.fenxiao.follow", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 225, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.fenxiao.goods_list", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 226, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.fenxiao.index", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 227, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.fenxiao.level", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 228, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.fenxiao.order", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 229, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.fenxiao.order_detail", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 230, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.fenxiao.promote_code", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 231, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.fenxiao.team", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 232, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.fenxiao.withdraw_apply", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 233, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.fenxiao.withdraw_list", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 234, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.game.cards", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 235, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.game.record", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 236, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.game.smash_eggs", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 237, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.game.turntable", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 238, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.goods.brand", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 239, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.goods.cart", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 240, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.goods.category", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 241, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.goods.consult", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 242, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.goods.consult_edit", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 243, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.goods.coupon", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 244, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.goods.coupon_receive", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 245, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.goods.detail", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 246, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.goods.evaluate", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 247, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.goods.list", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 248, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.goods.not_exist", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 249, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.goods.point", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 250, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.goods.search", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 251, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.groupbuy.detail", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 252, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.groupbuy.list", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 253, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.groupbuy.payment", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 254, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.help.detail", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 255, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.help.list", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 256, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.hongbao.list", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 257, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.hongbao.my_hongbao", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 258, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.index.index", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 259, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.live.list", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 260, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.login.find", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 261, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.login.login", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 262, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.login.register", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 263, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.account", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 264, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.account_edit", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 265, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.address", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 266, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.address_edit", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 267, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.apply_withdrawal", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 268, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.assets", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 269, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.balance", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 270, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.balance_detail", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 271, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.cancellation", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 272, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.cancelrefuse", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 273, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.cancelstatus", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 274, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.cancelsuccess", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 275, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.card", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 276, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.card_buy", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 277, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.collection", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 278, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.contact", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 279, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.coupon", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 280, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.footprint", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 281, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.gift", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 282, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.gift_detail", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 283, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.index", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 284, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.info", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 285, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.info_edit", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 286, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.invite_friends", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 287, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.level", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 288, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.message", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 289, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.modify_face", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 290, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.pay_password", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 291, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.point", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 292, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.point_detail", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 293, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.signin", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 294, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.withdrawal", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 295, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.member.withdrawal_detail", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 296, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.notice.detail", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 297, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.notice.list", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 298, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.order.activist", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 299, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.order.detail", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 300, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.order.detail_local_delivery", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 301, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.order.detail_pickup", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 302, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.order.detail_point", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 303, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.order.detail_virtual", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 304, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.order.evaluate", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 305, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.order.list", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 306, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.order.logistics", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 307, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.order.payment", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 308, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.order.refund", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 309, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.order.refund_batch", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 310, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.order.refund_detail", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 311, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.pay.index", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 312, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.pay.result", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 313, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.pintuan.detail", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 314, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.pintuan.list", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 315, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.pintuan.my_spell", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 316, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.pintuan.payment", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 317, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.pintuan.share", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 318, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.point.detail", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 319, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.point.list", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 320, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.point.order_detail", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 321, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.point.order_list", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 322, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.point.payment", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 323, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.point.result", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 324, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.presale.detail", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 325, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.presale.list", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 326, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.presale.order_detail", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 327, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.presale.order_list", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 328, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.presale.payment", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 329, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.recharge.detail", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 330, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.recharge.list", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 331, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.recharge.order_list", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 332, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.seckill.detail", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 333, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.seckill.list", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 334, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.seckill.payment", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 335, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.store_notes.note_detail", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 336, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.store_notes.note_list", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 337, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.storeclose.storeclose", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 338, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.topics.detail", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 339, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.topics.goods_detail", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 340, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.topics.list", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 341, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.topics.payment", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 342, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.verification.detail", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 343, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.verification.index", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 344, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.verification.list", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 345, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pageTitles.vr.index", + "segment": "pageTitles", + "file": "lang\\zh-cn.js", + "line": 346, + "reason": "key 段 \"pageTitles\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "order.public.js.orderMethod.l13.t0", + "segment": "orderMethod", + "file": "lang\\zh-cn.js", + "line": 1431, + "reason": "key 段 \"orderMethod\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "order.public.js.orderMethod.l13.t1", + "segment": "orderMethod", + "file": "lang\\zh-cn.js", + "line": 1432, + "reason": "key 段 \"orderMethod\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "order.public.js.orderMethod.l176.t0", + "segment": "orderMethod", + "file": "lang\\zh-cn.js", + "line": 1433, + "reason": "key 段 \"orderMethod\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "order.public.js.orderMethod.l47.t0", + "segment": "orderMethod", + "file": "lang\\zh-cn.js", + "line": 1434, + "reason": "key 段 \"orderMethod\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "order.public.js.orderMethod.l60.t0", + "segment": "orderMethod", + "file": "lang\\zh-cn.js", + "line": 1435, + "reason": "key 段 \"orderMethod\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "order.public.js.orderMethod.l61.t0", + "segment": "orderMethod", + "file": "lang\\zh-cn.js", + "line": 1436, + "reason": "key 段 \"orderMethod\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "order.public.js.orderMethod.l81.t0", + "segment": "orderMethod", + "file": "lang\\zh-cn.js", + "line": 1437, + "reason": "key 段 \"orderMethod\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "order.public.js.refundMethod.l10.t0", + "segment": "refundMethod", + "file": "lang\\zh-cn.js", + "line": 1438, + "reason": "key 段 \"refundMethod\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "order.public.js.refundMethod.l11.t0", + "segment": "refundMethod", + "file": "lang\\zh-cn.js", + "line": 1439, + "reason": "key 段 \"refundMethod\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "Filter", + "segment": "Filter", + "file": "lang\\zh-cn.js", + "line": 1723, + "reason": "key 段 \"Filter\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "Make", + "segment": "Make", + "file": "lang\\zh-cn.js", + "line": 1724, + "reason": "key 段 \"Make\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "Price", + "segment": "Price", + "file": "lang\\zh-cn.js", + "line": 1725, + "reason": "key 段 \"Price\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "Random", + "segment": "Random", + "file": "lang\\zh-cn.js", + "line": 1726, + "reason": "key 段 \"Random\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "Sales", + "segment": "Sales", + "file": "lang\\zh-cn.js", + "line": 1727, + "reason": "key 段 \"Sales\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "Search", + "segment": "Search", + "file": "lang\\zh-cn.js", + "line": 1728, + "reason": "key 段 \"Search\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "accountInputPlaceholder", + "segment": "accountInputPlaceholder", + "file": "lang\\zh-cn.js", + "line": 1731, + "reason": "key 段 \"accountInputPlaceholder\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "accountPlaceholder", + "segment": "accountPlaceholder", + "file": "lang\\zh-cn.js", + "line": 1732, + "reason": "key 段 \"accountPlaceholder\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "accountType", + "segment": "accountType", + "file": "lang\\zh-cn.js", + "line": 1733, + "reason": "key 段 \"accountType\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "addressPlaceholder", + "segment": "addressPlaceholder", + "file": "lang\\zh-cn.js", + "line": 1736, + "reason": "key 段 \"addressPlaceholder\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "agreeAgreementTip", + "segment": "agreeAgreementTip", + "file": "lang\\zh-cn.js", + "line": 1737, + "reason": "key 段 \"agreeAgreementTip\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "aiNickname", + "segment": "aiNickname", + "file": "lang\\zh-cn.js", + "line": 1738, + "reason": "key 段 \"aiNickname\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "aiThinking", + "segment": "aiThinking", + "file": "lang\\zh-cn.js", + "line": 1739, + "reason": "key 段 \"aiThinking\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "alikeNickname", + "segment": "alikeNickname", + "file": "lang\\zh-cn.js", + "line": 1740, + "reason": "key 段 \"alikeNickname\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "alikePhone", + "segment": "alikePhone", + "file": "lang\\zh-cn.js", + "line": 1741, + "reason": "key 段 \"alikePhone\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "allElection", + "segment": "allElection", + "file": "lang\\zh-cn.js", + "line": 1743, + "reason": "key 段 \"allElection\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "animateCodeInput", + "segment": "animateCodeInput", + "file": "lang\\zh-cn.js", + "line": 1744, + "reason": "key 段 \"animateCodeInput\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "audioMessage", + "segment": "audioMessage", + "file": "lang\\zh-cn.js", + "line": 1745, + "reason": "key 段 \"audioMessage\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "avatarSelectorTitle", + "segment": "avatarSelectorTitle", + "file": "lang\\zh-cn.js", + "line": 1746, + "reason": "key 段 \"avatarSelectorTitle\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "captchaPlaceholder", + "segment": "captchaPlaceholder", + "file": "lang\\zh-cn.js", + "line": 1751, + "reason": "key 段 \"captchaPlaceholder\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "changeAvatar", + "segment": "changeAvatar", + "file": "lang\\zh-cn.js", + "line": 1752, + "reason": "key 段 \"changeAvatar\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "changeAvatarDesc", + "segment": "changeAvatarDesc", + "file": "lang\\zh-cn.js", + "line": 1753, + "reason": "key 段 \"changeAvatarDesc\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "changeNickname", + "segment": "changeNickname", + "file": "lang\\zh-cn.js", + "line": 1754, + "reason": "key 段 \"changeNickname\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "changeNicknameDesc", + "segment": "changeNicknameDesc", + "file": "lang\\zh-cn.js", + "line": 1755, + "reason": "key 段 \"changeNicknameDesc\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "chatCleared", + "segment": "chatCleared", + "file": "lang\\zh-cn.js", + "line": 1756, + "reason": "key 段 \"chatCleared\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "chooseFromAlbum", + "segment": "chooseFromAlbum", + "file": "lang\\zh-cn.js", + "line": 1757, + "reason": "key 段 \"chooseFromAlbum\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "confirmClearChat", + "segment": "confirmClearChat", + "file": "lang\\zh-cn.js", + "line": 1762, + "reason": "key 段 \"confirmClearChat\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "confirmCodeInput", + "segment": "confirmCodeInput", + "file": "lang\\zh-cn.js", + "line": 1763, + "reason": "key 段 \"confirmCodeInput\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "confirmOpenLink", + "segment": "confirmOpenLink", + "file": "lang\\zh-cn.js", + "line": 1764, + "reason": "key 段 \"confirmOpenLink\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "consigneePlaceholder", + "segment": "consigneePlaceholder", + "file": "lang\\zh-cn.js", + "line": 1766, + "reason": "key 段 \"consigneePlaceholder\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "contactInfo", + "segment": "contactInfo", + "file": "lang\\zh-cn.js", + "line": 1768, + "reason": "key 段 \"contactInfo\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "copyFail", + "segment": "copyFail", + "file": "lang\\zh-cn.js", + "line": 1770, + "reason": "key 段 \"copyFail\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "copyFailed", + "segment": "copyFailed", + "file": "lang\\zh-cn.js", + "line": 1771, + "reason": "key 段 \"copyFailed\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "copySuccess", + "segment": "copySuccess", + "file": "lang\\zh-cn.js", + "line": 1772, + "reason": "key 段 \"copySuccess\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "defaultNickname", + "segment": "defaultNickname", + "file": "lang\\zh-cn.js", + "line": 1773, + "reason": "key 段 \"defaultNickname\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "dynacodeInputPlaceholder", + "segment": "dynacodeInputPlaceholder", + "file": "lang\\zh-cn.js", + "line": 1776, + "reason": "key 段 \"dynacodeInputPlaceholder\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "dynacodePlaceholder", + "segment": "dynacodePlaceholder", + "file": "lang\\zh-cn.js", + "line": 1777, + "reason": "key 段 \"dynacodePlaceholder\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "editNickname", + "segment": "editNickname", + "file": "lang\\zh-cn.js", + "line": 1779, + "reason": "key 段 \"editNickname\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "emojiTitle", + "segment": "emojiTitle", + "file": "lang\\zh-cn.js", + "line": 1780, + "reason": "key 段 \"emojiTitle\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "emptyTips", + "segment": "emptyTips", + "file": "lang\\zh-cn.js", + "line": 1781, + "reason": "key 段 \"emptyTips\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "enterCaptchaTip", + "segment": "enterCaptchaTip", + "file": "lang\\zh-cn.js", + "line": 1782, + "reason": "key 段 \"enterCaptchaTip\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "enterCorrectMobileTip", + "segment": "enterCorrectMobileTip", + "file": "lang\\zh-cn.js", + "line": 1783, + "reason": "key 段 \"enterCorrectMobileTip\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "enterMobileTip", + "segment": "enterMobileTip", + "file": "lang\\zh-cn.js", + "line": 1784, + "reason": "key 段 \"enterMobileTip\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "exchangeSuccess", + "segment": "exchangeSuccess", + "file": "lang\\zh-cn.js", + "line": 1785, + "reason": "key 段 \"exchangeSuccess\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "exclusiveCustomerService", + "segment": "exclusiveCustomerService", + "file": "lang\\zh-cn.js", + "line": 1786, + "reason": "key 段 \"exclusiveCustomerService\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "expandEditorTitle", + "segment": "expandEditorTitle", + "file": "lang\\zh-cn.js", + "line": 1787, + "reason": "key 段 \"expandEditorTitle\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "fallbackWelcome", + "segment": "fallbackWelcome", + "file": "lang\\zh-cn.js", + "line": 1789, + "reason": "key 段 \"fallbackWelcome\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "featureDeveloping", + "segment": "featureDeveloping", + "file": "lang\\zh-cn.js", + "line": 1790, + "reason": "key 段 \"featureDeveloping\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "fileOpenFail", + "segment": "fileOpenFail", + "file": "lang\\zh-cn.js", + "line": 1792, + "reason": "key 段 \"fileOpenFail\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "findanimateCode", + "segment": "findanimateCode", + "file": "lang\\zh-cn.js", + "line": 1793, + "reason": "key 段 \"findanimateCode\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "forgetPasswordText", + "segment": "forgetPasswordText", + "file": "lang\\zh-cn.js", + "line": 1795, + "reason": "key 段 \"forgetPasswordText\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "getAddress", + "segment": "getAddress", + "file": "lang\\zh-cn.js", + "line": 1796, + "reason": "key 段 \"getAddress\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "getDynacode", + "segment": "getDynacode", + "file": "lang\\zh-cn.js", + "line": 1797, + "reason": "key 段 \"getDynacode\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "goHome", + "segment": "goHome", + "file": "lang\\zh-cn.js", + "line": 1798, + "reason": "key 段 \"goHome\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "improveService", + "segment": "improveService", + "file": "lang\\zh-cn.js", + "line": 1801, + "reason": "key 段 \"improveService\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "inputPlaceholder", + "segment": "inputPlaceholder", + "file": "lang\\zh-cn.js", + "line": 1802, + "reason": "key 段 \"inputPlaceholder\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "loadHistoryFail", + "segment": "loadHistoryFail", + "file": "lang\\zh-cn.js", + "line": 1805, + "reason": "key 段 \"loadHistoryFail\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "loadMoreHistory", + "segment": "loadMoreHistory", + "file": "lang\\zh-cn.js", + "line": 1806, + "reason": "key 段 \"loadMoreHistory\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "loginButtonText", + "segment": "loginButtonText", + "file": "lang\\zh-cn.js", + "line": 1808, + "reason": "key 段 \"loginButtonText\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "loginSuccessTip", + "segment": "loginSuccessTip", + "file": "lang\\zh-cn.js", + "line": 1809, + "reason": "key 段 \"loginSuccessTip\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "loginTpis", + "segment": "loginTpis", + "file": "lang\\zh-cn.js", + "line": 1810, + "reason": "key 段 \"loginTpis\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "logoutContent", + "segment": "logoutContent", + "file": "lang\\zh-cn.js", + "line": 1812, + "reason": "key 段 \"logoutContent\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "logoutTitle", + "segment": "logoutTitle", + "file": "lang\\zh-cn.js", + "line": 1813, + "reason": "key 段 \"logoutTitle\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "menuClearChat", + "segment": "menuClearChat", + "file": "lang\\zh-cn.js", + "line": 1816, + "reason": "key 段 \"menuClearChat\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "menuExport", + "segment": "menuExport", + "file": "lang\\zh-cn.js", + "line": 1817, + "reason": "key 段 \"menuExport\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "menuHelp", + "segment": "menuHelp", + "file": "lang\\zh-cn.js", + "line": 1818, + "reason": "key 段 \"menuHelp\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "menuSettings", + "segment": "menuSettings", + "file": "lang\\zh-cn.js", + "line": 1819, + "reason": "key 段 \"menuSettings\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "messageContent", + "segment": "messageContent", + "file": "lang\\zh-cn.js", + "line": 1820, + "reason": "key 段 \"messageContent\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "mobileInputPlaceholder", + "segment": "mobileInputPlaceholder", + "file": "lang\\zh-cn.js", + "line": 1822, + "reason": "key 段 \"mobileInputPlaceholder\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "mobilePhone", + "segment": "mobilePhone", + "file": "lang\\zh-cn.js", + "line": 1823, + "reason": "key 段 \"mobilePhone\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "mobilePlaceholder", + "segment": "mobilePlaceholder", + "file": "lang\\zh-cn.js", + "line": 1824, + "reason": "key 段 \"mobilePlaceholder\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "modifyNickname", + "segment": "modifyNickname", + "file": "lang\\zh-cn.js", + "line": 1826, + "reason": "key 段 \"modifyNickname\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "moreFunctions", + "segment": "moreFunctions", + "file": "lang\\zh-cn.js", + "line": 1827, + "reason": "key 段 \"moreFunctions\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "newAddAccount", + "segment": "newAddAccount", + "file": "lang\\zh-cn.js", + "line": 1829, + "reason": "key 段 \"newAddAccount\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "newAddAddress", + "segment": "newAddAddress", + "file": "lang\\zh-cn.js", + "line": 1830, + "reason": "key 段 \"newAddAddress\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "newNicknamePlaceholder", + "segment": "newNicknamePlaceholder", + "file": "lang\\zh-cn.js", + "line": 1831, + "reason": "key 段 \"newNicknamePlaceholder\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "nicknameChangeSuccess", + "segment": "nicknameChangeSuccess", + "file": "lang\\zh-cn.js", + "line": 1833, + "reason": "key 段 \"nicknameChangeSuccess\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "nicknameTip", + "segment": "nicknameTip", + "file": "lang\\zh-cn.js", + "line": 1834, + "reason": "key 段 \"nicknameTip\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "noContentToCopy", + "segment": "noContentToCopy", + "file": "lang\\zh-cn.js", + "line": 1835, + "reason": "key 段 \"noContentToCopy\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "noEmityNickname", + "segment": "noEmityNickname", + "file": "lang\\zh-cn.js", + "line": 1836, + "reason": "key 段 \"noEmityNickname\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "noEmityUsername", + "segment": "noEmityUsername", + "file": "lang\\zh-cn.js", + "line": 1837, + "reason": "key 段 \"noEmityUsername\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "noMatchResult", + "segment": "noMatchResult", + "file": "lang\\zh-cn.js", + "line": 1838, + "reason": "key 段 \"noMatchResult\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "oneClickNavigation", + "segment": "oneClickNavigation", + "file": "lang\\zh-cn.js", + "line": 1839, + "reason": "key 段 \"oneClickNavigation\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "onlineMessage", + "segment": "onlineMessage", + "file": "lang\\zh-cn.js", + "line": 1840, + "reason": "key 段 \"onlineMessage\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "openLink", + "segment": "openLink", + "file": "lang\\zh-cn.js", + "line": 1841, + "reason": "key 段 \"openLink\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "openingFile", + "segment": "openingFile", + "file": "lang\\zh-cn.js", + "line": 1842, + "reason": "key 段 \"openingFile\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "operationFailed", + "segment": "operationFailed", + "file": "lang\\zh-cn.js", + "line": 1843, + "reason": "key 段 \"operationFailed\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "passwordInputPlaceholder", + "segment": "passwordInputPlaceholder", + "file": "lang\\zh-cn.js", + "line": 1845, + "reason": "key 段 \"passwordInputPlaceholder\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "passwordPlaceholder", + "segment": "passwordPlaceholder", + "file": "lang\\zh-cn.js", + "line": 1846, + "reason": "key 段 \"passwordPlaceholder\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "paymentAmount", + "segment": "paymentAmount", + "file": "lang\\zh-cn.js", + "line": 1847, + "reason": "key 段 \"paymentAmount\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "paymentFail", + "segment": "paymentFail", + "file": "lang\\zh-cn.js", + "line": 1848, + "reason": "key 段 \"paymentFail\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "paymentSuccess", + "segment": "paymentSuccess", + "file": "lang\\zh-cn.js", + "line": 1849, + "reason": "key 段 \"paymentSuccess\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pleaseEnterMessage", + "segment": "pleaseEnterMessage", + "file": "lang\\zh-cn.js", + "line": 1851, + "reason": "key 段 \"pleaseEnterMessage\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pleaseEnterMobile", + "segment": "pleaseEnterMobile", + "file": "lang\\zh-cn.js", + "line": 1852, + "reason": "key 段 \"pleaseEnterMobile\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pleaseEnterName", + "segment": "pleaseEnterName", + "file": "lang\\zh-cn.js", + "line": 1853, + "reason": "key 段 \"pleaseEnterName\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pleaseInputNewPassword", + "segment": "pleaseInputNewPassword", + "file": "lang\\zh-cn.js", + "line": 1854, + "reason": "key 段 \"pleaseInputNewPassword\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "pleaseInputOldPassword", + "segment": "pleaseInputOldPassword", + "file": "lang\\zh-cn.js", + "line": 1855, + "reason": "key 段 \"pleaseInputOldPassword\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "privacyPolicy", + "segment": "privacyPolicy", + "file": "lang\\zh-cn.js", + "line": 1856, + "reason": "key 段 \"privacyPolicy\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "privacyPolicyText", + "segment": "privacyPolicyText", + "file": "lang\\zh-cn.js", + "line": 1857, + "reason": "key 段 \"privacyPolicyText\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "rePasswordPlaceholder", + "segment": "rePasswordPlaceholder", + "file": "lang\\zh-cn.js", + "line": 1859, + "reason": "key 段 \"rePasswordPlaceholder\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "realName", + "segment": "realName", + "file": "lang\\zh-cn.js", + "line": 1860, + "reason": "key 段 \"realName\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "receivingCity", + "segment": "receivingCity", + "file": "lang\\zh-cn.js", + "line": 1861, + "reason": "key 段 \"receivingCity\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "receivingReply", + "segment": "receivingReply", + "file": "lang\\zh-cn.js", + "line": 1862, + "reason": "key 段 \"receivingReply\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "recordingTip", + "segment": "recordingTip", + "file": "lang\\zh-cn.js", + "line": 1863, + "reason": "key 段 \"recordingTip\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "registerAgreementText", + "segment": "registerAgreementText", + "file": "lang\\zh-cn.js", + "line": 1864, + "reason": "key 段 \"registerAgreementText\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "registrationAgreement", + "segment": "registrationAgreement", + "file": "lang\\zh-cn.js", + "line": 1865, + "reason": "key 段 \"registrationAgreement\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "requestFailTip", + "segment": "requestFailTip", + "file": "lang\\zh-cn.js", + "line": 1866, + "reason": "key 段 \"requestFailTip\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "searchAtBottom", + "segment": "searchAtBottom", + "file": "lang\\zh-cn.js", + "line": 1871, + "reason": "key 段 \"searchAtBottom\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "searchAtTop", + "segment": "searchAtTop", + "file": "lang\\zh-cn.js", + "line": 1872, + "reason": "key 段 \"searchAtTop\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "searchClose", + "segment": "searchClose", + "file": "lang\\zh-cn.js", + "line": 1873, + "reason": "key 段 \"searchClose\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "searchEntrance", + "segment": "searchEntrance", + "file": "lang\\zh-cn.js", + "line": 1874, + "reason": "key 段 \"searchEntrance\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "searchPlaceholder", + "segment": "searchPlaceholder", + "file": "lang\\zh-cn.js", + "line": 1875, + "reason": "key 段 \"searchPlaceholder\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "serviceTemporaryUnavailable", + "segment": "serviceTemporaryUnavailable", + "file": "lang\\zh-cn.js", + "line": 1879, + "reason": "key 段 \"serviceTemporaryUnavailable\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "serviceTypeNotSupported", + "segment": "serviceTypeNotSupported", + "file": "lang\\zh-cn.js", + "line": 1880, + "reason": "key 段 \"serviceTypeNotSupported\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "serviceUnavailable", + "segment": "serviceUnavailable", + "file": "lang\\zh-cn.js", + "line": 1881, + "reason": "key 段 \"serviceUnavailable\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "settingsTitle", + "segment": "settingsTitle", + "file": "lang\\zh-cn.js", + "line": 1882, + "reason": "key 段 \"settingsTitle\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "startRecordTip", + "segment": "startRecordTip", + "file": "lang\\zh-cn.js", + "line": 1886, + "reason": "key 段 \"startRecordTip\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "surePhoneNumber", + "segment": "surePhoneNumber", + "file": "lang\\zh-cn.js", + "line": 1890, + "reason": "key 段 \"surePhoneNumber\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "telephonePlaceholder", + "segment": "telephonePlaceholder", + "file": "lang\\zh-cn.js", + "line": 1892, + "reason": "key 段 \"telephonePlaceholder\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "thanksFeedback", + "segment": "thanksFeedback", + "file": "lang\\zh-cn.js", + "line": 1893, + "reason": "key 段 \"thanksFeedback\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "timeFormatBeforeYesterday", + "segment": "timeFormatBeforeYesterday", + "file": "lang\\zh-cn.js", + "line": 1894, + "reason": "key 段 \"timeFormatBeforeYesterday\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "timeFormatYesterday", + "segment": "timeFormatYesterday", + "file": "lang\\zh-cn.js", + "line": 1895, + "reason": "key 段 \"timeFormatYesterday\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "toGoodsCategoryPage", + "segment": "toGoodsCategoryPage", + "file": "lang\\zh-cn.js", + "line": 1897, + "reason": "key 段 \"toGoodsCategoryPage\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "toLogin", + "segment": "toLogin", + "file": "lang\\zh-cn.js", + "line": 1898, + "reason": "key 段 \"toLogin\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "updateSuccess", + "segment": "updateSuccess", + "file": "lang\\zh-cn.js", + "line": 1900, + "reason": "key 段 \"updateSuccess\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "userServiceAgreementText", + "segment": "userServiceAgreementText", + "file": "lang\\zh-cn.js", + "line": 1901, + "reason": "key 段 \"userServiceAgreementText\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "videoMessage", + "segment": "videoMessage", + "file": "lang\\zh-cn.js", + "line": 1902, + "reason": "key 段 \"videoMessage\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "voiceInputFailed", + "segment": "voiceInputFailed", + "file": "lang\\zh-cn.js", + "line": 1904, + "reason": "key 段 \"voiceInputFailed\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "voiceInputTitle", + "segment": "voiceInputTitle", + "file": "lang\\zh-cn.js", + "line": 1905, + "reason": "key 段 \"voiceInputTitle\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + }, + { + "key": "welcomeText", + "segment": "welcomeText", + "file": "lang\\zh-cn.js", + "line": 1909, + "reason": "key 段 \"welcomeText\" 不是 snake_case(必须小写字母开头 + 小写字母/数字/下划线)" + } + ] + } +} \ No newline at end of file diff --git a/docs/i18n-real-zh.json b/docs/i18n-real-zh.json new file mode 100644 index 0000000..87039d5 --- /dev/null +++ b/docs/i18n-real-zh.json @@ -0,0 +1,1392 @@ +{ + "客服不在线": "common.chat-message.l60.t0", + "客服在线": "common.chat-message.l63.t0", + "未获取到 shopInfo,使用默认设置": "common.hover-nav.l192.t0", + "来自悬浮按钮的咨询": "common.hover-nav.l239.t0", + "刚刚": "common.l-time.l40.t0", + "分钟前": "common.l-time.l40.t1", + "~ 空空如也 ~": "common.mescroll.my-list-mescroll.l44.t0", + "去看看": "common.mescroll.my-list-mescroll.l45.t0", + "已发送": "common.ns-chat.ns-chat-goods.l12.t0", + "发送": "common.ns-chat.ns-chat-goods.l25.t0", + "订单状态:": "common.ns-chat.ns-chat-order.l7.t0", + "配送方式:": "common.ns-chat.ns-chat-order.l8.t0", + "销量:": "common.ns-chat.ns-chat-receiveGoods.l9.t0", + "联系客服": "common.ns-contact.l32.t0", + "请联系客服,客服电话是": "common.ns-contact.l35.t0", + "抱歉,商家暂无客服,请线下联系": "common.ns-contact.l35.t1", + "公安备案": "common.ns-copyright.l13.t0", + "暂无相关数据": "common.ns-empty.l18.t0", + "去逛逛": "common.ns-empty.l31.t0", + "请选择": "common.ns-form.l37.t0", + "请选择省市": "common.ns-form.l191.t0", + "请选择省市区/县": "common.ns-form.l191.t1", + "请输入": "common.ns-form.l368.t0", + "身份证输入不合法": "common.ns-form.l378.t0", + "手机号输入不合法": "common.ns-form.l395.t0", + "请至少选择一个": "common.ns-form.l432.t0", + "请至少上传一张": "common.ns-form.l442.t0", + "结束日期不能小于开始日期": "common.ns-form.l470.t0", + "结束时间必须大于开始时间": "common.ns-form.l498.t0", + "最多上传": "common.ns-form.l545.t0", + "张图片": "common.ns-form.l545.t1", + "猜你喜欢": "common.ns-goods-recommend.l13.t0", + "购买": "common.ns-goods-recommend.l20.t0", + "加入购物车": "common.ns-goods-sku.ns-goods-sku-category.l75.t0", + "确定": "common.ns-goods-sku.ns-goods-sku-category.l76.t0", + "库存不足": "common.ns-goods-sku.ns-goods-sku-category.l264.t0", + "该商品每次最多购买": "common.ns-goods-sku.ns-goods-sku-category.l272.t0", + "该商品每人限购": "common.ns-goods-sku.ns-goods-sku-category.l278.t0", + ",您已购买了": "common.ns-goods-sku.ns-goods-sku-category.l279.t0", + "商品已下架": "common.ns-goods-sku.ns-goods-sku-category.l378.t0", + "商品已售罄": "common.ns-goods-sku.ns-goods-sku-category.l388.t0", + "加入购物车成功": "common.ns-goods-sku.ns-goods-sku-category.l459.t0", + "商品库存不足": "common.ns-goods-sku.ns-goods-sku-index.l70.t0", + "商品添加购物车成功": "common.ns-goods-sku.ns-goods-sku-index.l124.t0", + "件": "common.ns-goods-sku.ns-goods-sku-index.l150.t0", + "尾款": "common.ns-goods-sku.l51.t0", + "库存": "common.ns-goods-sku.l120.t0", + "已选规格:": "common.ns-goods-sku.l124.t0", + "兑换数量": "common.ns-goods-sku.l161.t0", + "购买数量": "common.ns-goods-sku.l162.t0", + "(每人限购": "common.ns-goods-sku.l163.t0", + "(限购": "common.ns-goods-sku.l167.t0", + "兑换": "common.ns-goods-sku.l185.t0", + "立即购买": "common.ns-goods-sku.l195.t0", + "确认": "common.ns-goods-sku.l196.t0", + "立即抢购": "common.ns-goods-sku.l199.t0", + "该商品已下架": "common.ns-goods-sku.l208.t0", + "该规格未参与打包一口价活动": "common.ns-goods-sku.l710.t0", + "该商品": "common.ns-goods-sku.l897.t0", + "起售": "common.ns-goods-sku.l897.t1", + "预览商品无法购买": "common.ns-goods-sku.l985.t0", + "购买数量不能小于等于0": "common.ns-goods-sku.l1007.t0", + "库存小于最低购买数量": "common.ns-goods-sku.l1014.t0", + "加载中": "common.ns-loading.l16.t0", + "检测到您还未绑定手机号": "common.ns-login.l10.t0", + "为了方便您接收订单等信息,需要绑定手机号": "common.ns-login.l11.t0", + "手机号": "common.ns-login.l15.t0", + "请输入手机号": "common.ns-login.l16.t0", + "验证码": "common.ns-login.l19.t0", + "请输入验证码": "common.ns-login.l20.t0", + "动态码": "common.ns-login.l24.t0", + "请输入动态码": "common.ns-login.l25.t0", + "保存": "common.ns-login.l30.t0", + "欢迎来到": "common.ns-login.l35.t0", + "使用手机号登录,": "common.ns-login.l37.t0", + "注册登录,": "common.ns-login.l37.t1", + "《隐私条款》": "common.ns-login.l51.t0", + "《用户服务协议》": "common.ns-login.l53.t0", + "同意隐私协议并授权手机号": "common.ns-login.l61.t0", + "授权手机号码": "common.ns-login.l66.t0", + "头像": "common.ns-login.l79.t0", + "昵称": "common.ns-login.l87.t0", + "请输入昵称": "common.ns-login.l88.t0", + "获取手机号": "common.ns-login.l115.t0", + "获取动态码": "common.ns-login.l169.t0", + "请确认相关协议": "common.ns-login.l231.t0", + "上传失败": "common.ns-login.l327.t0", + "请输入正确的手机号": "common.ns-login.l393.t0", + "s后可重新获取": "common.ns-login.l414.t0", + "登录中": "common.ns-login.l606.t0", + "登录失败": "common.ns-login.l646.t0", + "请授权您的手机号码": "common.ns-login.l672.t0", + "头像拉取失败": "common.ns-login.l718.t0", + "请输入商品名称": "common.ns-navbar.l31.t0", + "定位中...": "common.ns-navbar.l39.t0", + "附近门店": "common.ns-navbar.l41.t0", + "请选择日期": "common.ns-newform.l149.t0", + "开始日期": "common.ns-newform.l173.t0", + "结束日期": "common.ns-newform.l187.t0", + "请选择时间": "common.ns-newform.l210.t0", + "开始时间": "common.ns-newform.l234.t0", + "结束时间": "common.ns-newform.l248.t0", + "请选择省市区": "common.ns-newform.l271.t0", + "支付方式": "common.ns-payment.l7.t0", + "支付金额": "common.ns-payment.l13.t0", + "余额抵扣": "common.ns-payment.l18.t0", + "可用¥": "common.ns-payment.l19.t0", + "平台尚未配置支付方式!": "common.ns-payment.l34.t0", + "确认支付": "common.ns-payment.l39.t0", + "支付宝支付": "common.ns-payment.l75.t0", + "微信支付": "common.ns-payment.l80.t0", + "请选择支付方式!": "common.ns-payment.l161.t0", + "支付中...": "common.ns-payment.l166.t0", + "未获取到支付信息!": "common.ns-payment.l185.t0", + "您已取消支付": "common.ns-payment.l298.t0", + "支付失败,失败原因:": "common.ns-payment.l398.t0", + "选择送达时间": "common.ns-select-time.l6.t0", + "选择自提时间": "common.ns-select-time.l7.t0", + "立即配送(": "common.ns-select-time.l89.t0", + "月": "common.ns-select-time.l96.t0", + "日": "common.ns-select-time.l98.t0", + "周日": "common.ns-select-time.l148.t0", + "周一": "common.ns-select-time.l148.t1", + "周二": "common.ns-select-time.l148.t2", + "周三": "common.ns-select-time.l148.t3", + "周四": "common.ns-select-time.l148.t4", + "周五": "common.ns-select-time.l148.t5", + "周六": "common.ns-select-time.l148.t6", + "今天": "common.ns-select-time.l173.t0", + "明天": "common.ns-select-time.l185.t0", + "视频地址不存在": "common.ns-video-player-popup.l17.t0", + "余额支付": "common.payment.l18.t0", + "取消": "common.pick-regions.l17.t0", + "完成": "common.pick-regions.l18.t0", + "用户隐私保护提示": "common.privacy-popup.l5.t0", + "不同意": "common.privacy-popup.l15.t0", + "同意并继续": "common.privacy-popup.l18.t0", + "用户隐私保护指引": "common.privacy-popup.l46.t0", + "本小程序": "common.privacy-popup.l47.t0", + "本应用": "common.privacy-popup.l49.t0", + "=========低版本基础库==========": "common.privacy-popup.l82.t0", + "未同意隐私协议,无法使用相关功能": "common.privacy-popup.l253.t0", + "积分奖励": "common.register-reward.l14.t0", + "积分": "common.register-reward.l19.t0", + "用于下单时抵现或兑换商品等": "common.register-reward.l21.t0", + "立即查看": "common.register-reward.l23.t0", + "成长值": "common.register-reward.l27.t0", + "用于提升会员等级": "common.register-reward.l34.t0", + "红包奖励": "common.register-reward.l40.t0", + "元": "common.register-reward.l45.t0", + "不可提现下单时可用": "common.register-reward.l47.t0", + "优惠券奖励": "common.register-reward.l53.t0", + "打": "common.register-reward.l60.t0", + "折": "common.register-reward.l60.t1", + "减": "common.register-reward.l60.t2", + "添加企业微信客服": "common.wxwork-contact.l16.t0", + "点击确定后将跳转至企业微信,添加专业客服为您服务": "common.wxwork-contact.l19.t0", + "企业微信SDK初始化失败": "common.wxwork-contact.l108.t0", + "初始化企业微信SDK失败:": "common.wxwork-contact.l112.t0", + "未配置企业微信客服信息": "common.wxwork-contact.l145.t0", + "跳转成功": "common.wxwork-contact.l168.t0", + "跳转企业微信失败:": "common.wxwork-contact.l173.t0", + "跳转失败,请检查企业微信配置": "common.wxwork-contact.l174.t0", + "企业微信SDK未初始化": "common.wxwork-contact.l184.t0", + "打开用户资料失败:": "common.wxwork-contact.l192.t0", + "打开用户资料失败": "common.wxwork-contact.l193.t0", + "提示": "common.wxwork-contact.l202.t0", + "选择时间": "common.yuyue-date.l6.t0", + "指定日期": "common.yuyue-date.l23.t0", + "预约时间:": "common.yuyue-date.l57.t0", + "确认预约": "common.yuyue-date.l60.t0", + "如不想线上预约,可致电商家电话预约": "common.yuyue-date.l63.t0", + "已约满": "common.yuyue-date.l103.t0", + "可预约": "common.yuyue-date.l108.t0", + "暂无选择": "common.yuyue-date.l176.t0", + "不可以预约": "common.yuyue-date.l216.t0", + "小时前": "common.l-time.time.l110.t0", + "天前": "common.l-time.time.l119.t0", + "下拉刷新": "common.mescroll.mescroll-uni-option.l6.t0", + "释放更新": "common.mescroll.mescroll-uni-option.l7.t0", + "加载中 ...": "common.mescroll.mescroll-uni-option.l8.t0", + "~ 暂无相关数据 ~": "common.mescroll.mescroll-uni-option.l30.t0", + "一": "common.yuyue-date.l34.t0", + "二": "common.yuyue-date.l34.t1", + "三": "common.yuyue-date.l34.t2", + "四": "common.yuyue-date.l34.t3", + "五": "common.yuyue-date.l34.t4", + "六": "common.yuyue-date.l34.t5", + "周${days[day]}": "common.yuyue-date.l38.t0", + "后天": "common.yuyue-date.l53.t0", + "滚到底后跳变": "diy.diy-article.l10.t0", + "查看更多": "diy.diy-article.l94.t0", + "暂无相关文章": "diy.diy-article.l99.t0", + "但不是 .read-wrap,特异性 view": "diy.diy-article.l908.t0", + "组件内部": "diy.diy-article.l925.t0", + "低至0元免费拿": "diy.diy-bargain.l15.t0", + "继续砍价": "diy.diy-bargain.l78.t0", + "全部": "diy.diy-category-item.l47.t0", + "选规格": "diy.diy-category-item.l132.t0", + "已经到底了~": "diy.diy-category-item.l163.t0", + "商品分类": "diy.diy-category.l12.t0", + "展开": "diy.diy-category.l54.t0", + "点击收起": "diy.diy-category.l71.t0", + "暂时没有分类哦!": "diy.diy-category.l123.t0", + "总计:": "diy.diy-category.l138.t0", + "去结算": "diy.diy-category.l144.t0", + "视频号仅支持在微信小程序环境中播放": "diy.diy-channel-list.l268.t0", + "打开视频号失败": "diy.diy-channel-list.l278.t0", + "满": "diy.diy-coupon.l32.t0", + "元可用": "diy.diy-coupon.l32.t1", + "无门槛优惠券": "diy.diy-coupon.l32.t2", + "去使用": "diy.diy-coupon.l38.t0", + "领取": "diy.diy-coupon.l71.t0", + "所有商品可用": "diy.diy-coupon.l103.t0", + "指定商品可用": "diy.diy-coupon.l104.t0", + "指定商品不可用": "diy.diy-coupon.l105.t0", + "立即使用": "diy.diy-coupon.l143.t0", + "立即领取": "diy.diy-coupon.l181.t0", + "优惠券": "diy.diy-coupon.l209.t0", + "无门槛使用": "diy.diy-coupon.l229.t0", + "暂无优惠券": "diy.diy-coupon.l241.t0", + "该优惠券已抢光": "diy.diy-coupon.l407.t0", + "领取成功": "diy.diy-coupon.l430.t0", + "赚 ¥": "diy.diy-fenxiao-goods-list.l23.t0", + "关注成功": "diy.diy-fenxiao-goods-list.l141.t0", + "确认取消关注该商品吗": "diy.diy-fenxiao-goods-list.l153.t0", + "取消成功": "diy.diy-fenxiao-goods-list.l170.t0", + "提交": "diy.diy-form.l142.t0", + "默认表单": "diy.diy-form.l301.t0", + "提交成功": "diy.diy-form.l306.t0", + "提交失败": "diy.diy-form.l315.t0", + "该分类下暂无商品": "diy.diy-index-page.l156.t0", + "首页": "diy.diy-index-page.l196.t0", + "立即添加": "diy.diy-kefu.l17.t0", + "查看": "diy.diy-listmenu.l15.t0", + "主播:": "diy.diy-live.l29.t0", + "直播商品:": "diy.diy-live.l33.t0", + "一键导航": "diy.diy-map.l9.t0", + "点击授权头像昵称": "diy.diy-member-info.l15.t0", + "点击获取微信头像": "diy.diy-member-info.l39.t0", + "超级会员": "diy.diy-member-info.l110.t0", + "查看特权": "diy.diy-member-info.l113.t0", + "会员可享更多权益": "diy.diy-member-info.l114.t0", + "开通可享更多权益": "diy.diy-member-info.l121.t0", + "立即开通": "diy.diy-member-info.l125.t0", + "查看更多权益": "diy.diy-member-info.l137.t0", + "余额": "diy.diy-member-info.l146.t0", + "余额充值": "diy.diy-member-info.l164.t0", + "获取您的昵称、头像": "diy.diy-member-info.l197.t0", + "获取用户头像、昵称完善个人资料,主要用于向用户提供具有辨识度的用户中心界面": "diy.diy-member-info.l198.t0", + "微信用户": "diy.diy-member-info.l407.t0", + "使用会员码需先绑定手机号,是否绑定手机号?": "diy.diy-member-info.l497.t0", + "品牌": "diy.diy-merch-list.l66.t0", + "单品介绍": "diy.diy-notes.l20.t0", + "掌柜说": "diy.diy-notes.l21.t0", + "公告": "diy.diy-notice.l45.t0", + "我知道了": "diy.diy-notice.l49.t0", + "门店消费时使用,支付时点击下方展示付款码": "diy.diy-payment-qrcode.l6.t0", + "付款码": "diy.diy-payment-qrcode.l12.t0", + "扫码付": "diy.diy-payment-qrcode.l16.t0", + "门店支付": "diy.diy-payment-qrcode.l22.t0", + "扫码付请退出程序后直接使用微信扫一扫或返回上一页使用付款码进行支付": "diy.diy-payment-qrcode.l33.t0", + "已拼": "diy.diy-pinfan.l28.t0", + "返": "diy.diy-pinfan.l52.t0", + "返优惠券": "diy.diy-pinfan.l55.t0", + "人参与": "diy.diy-pintuan.l29.t0", + "人拼团成功": "diy.diy-pintuan.l29.t1", + "去参团": "diy.diy-pintuan.l151.t0", + "搜索": "diy.diy-search.l31.t0", + "距离开始": "diy.diy-seckill.l16.t0", + "距离结束": "diy.diy-seckill.l19.t0", + "原价:": "diy.diy-seckill.l90.t0", + "即将开始": "diy.diy-seckill.l100.t0", + "秒杀活动即将开启,敬请期待!": "diy.diy-seckill.l505.t0", + "切换": "diy.diy-store.l10.t0", + "获取当前位置...": "diy.diy-store.l20.t0", + "商品搜索": "diy.diy-store.l66.t0", + "专区": "diy.diy-text.l211.t0", + "H5端预加载视频失败:": "diy.diy-video.l146.t0", + "视频加载失败:": "diy.diy-video.l187.t0", + "当前环境不是微信小程序": "diy.js.wechat-channel.l59.t0", + "当前微信基础库版本过低,需要 2.19.2 或以上版本": "diy.js.wechat-channel.l60.t0", + "当前环境不支持微信视频号": "diy.js.wechat-channel.l61.t0", + "缺少必要字段: {field}": "diy.js.wechat-channel.l62.t0", + "缺少必要字段: ${field}": "diy.js.wechat-channel.l111.t0", + "微信视频号错误:": "diy.js.wechat-channel.l170.t0", + "关注公众号": "page.index.l16.t0", + "跳过": "page.index.l47.t0", + "关注了解更多": "page.index.l89.t0", + "请确认门店": "page.index.l108.t0", + "重新定位": "page.index.l115.t0", + "当前门店": "page.index.l119.t0", + "确认进入": "page.index.l130.t0", + "选择其他门店": "page.index.l133.t0", + "构建版本信息": "page.index.public.js.index.l121.t0", + "提交 ID: ${v.commitId}\\n构建时间: ${v.buildTime}": "page.index.public.js.index.l122.t0", + "未获取到构建版本信息": "page.index.public.js.index.l126.t0", + "未配置": "goods._components.goods-detail-view.l75.t0", + "门店": "goods._components.goods-detail-view.l81.t0", + "服务": "goods._components.goods-detail-view.l99.t0", + "官方认证商家,值得信赖!": "goods._components.goods-detail-view.l143.t0", + "配送": "goods._components.goods-detail-view.l156.t0", + "商品服务": "goods._components.goods-detail-view.l180.t0", + "门店列表": "goods._components.goods-detail-view.l213.t0", + "添加": "goods._components.goods-detail-view.l257.t0", + "添加社群": "goods._components.goods-detail-view.l264.t0", + "长按识别二维码,添加社群": "goods._components.goods-detail-view.l269.t0", + "暂无评价": "goods._components.goods-detail-view.l290.t0", + "查看全部": "goods._components.goods-detail-view.l292.t0", + "规格属性": "goods._components.goods-detail-view.l338.t0", + "保存图片": "goods._components.goods-detail-view.l397.t0", + "长按图片进行保存": "goods._components.goods-detail-view.l400.t0", + "分享": "goods._components.goods-detail-view.l411.t0", + "分享给好友": "goods._components.goods-detail-view.l417.t0", + "分享到好物圈": "goods._components.goods-detail-view.l426.t0", + "生成分享海报": "goods._components.goods-detail-view.l434.t0", + "复制链接": "goods._components.goods-detail-view.l441.t0", + "取消分享": "goods._components.goods-detail-view.l446.t0", + "限时折扣": "goods._components.ns-goods-promotion.l6.t0", + "当前商品正在参加": "goods._components.ns-goods-promotion.l7.t0", + "团购": "goods._components.ns-goods-promotion.l13.t0", + "拼团": "goods._components.ns-goods-promotion.l19.t0", + "秒杀": "goods._components.ns-goods-promotion.l25.t0", + "专题活动": "goods._components.ns-goods-promotion.l31.t0", + "砍价": "goods._components.ns-goods-promotion.l37.t0", + "拼团返利": "goods._components.ns-goods-promotion.l43.t0", + "共": "goods.cart.l8.t0", + "领券结算最高可减": "goods.cart.l17.t0", + "满减": "goods.cart.l123.t0", + "失效商品": "goods.cart.l143.t0", + "清空": "goods.cart.l145.t0", + "已失效": "goods.cart.l192.t0", + "购物车为空": "goods.cart.l202.t0", + "赶紧去逛逛, 购买心仪的商品吧": "goods.cart.l202.t1", + "优惠明细": "goods.cart.l221.t0", + "商品总额": "goods.cart.l226.t0", + "合计": "goods.cart.l239.t0", + "有效期:长期有效": "goods.cart.l294.t0", + "已领取": "goods.cart.l298.t0", + "领券": "goods.cart.l341.t0", + "立即": "goods.cart.l341.t1", + "发现超多好物,快来看看": "goods.category.l51.t0", + "已售": "goods.detail.l18.t0", + "距结束仅剩": "goods.detail.l23.t0", + "原价": "goods.detail.l55.t0", + "开通": "goods.detail.l99.t0", + "- 套餐包含以下的服务及商品 -": "goods.detail.l129.t0", + "卡项内项目/商品总的可用次数为": "goods.detail.l131.t0", + "次数不限 ,": "goods.detail.l132.t0", + "永久": "goods.detail.l133.t0", + "天": "goods.detail.l134.t0", + "收起": "goods.detail.l152.t0", + "选择": "goods.detail.l187.t0", + "促销": "goods.detail.l194.t0", + "组合套餐": "goods.detail.l220.t0", + "套餐价": "goods.detail.l300.t0", + "最多可抵¥": "goods.detail.l348.t0", + "有效期:": "goods.detail.l349.t0", + "有效期:领取之日起": "goods.detail.l350.t0", + "已抢光": "goods.detail.l354.t0", + "满送": "goods.detail.l379.t0", + "包邮": "goods.detail.l383.t0", + "商品留言": "goods.detail.l396.t0", + "可在手机端拨打 021-51815181": "goods.detail.l523.t0", + "复制到剪切板": "goods.detail.l527.t0", + "复制成功": "goods.detail.l591.t0", + "综合": "goods.list.l19.t0", + "销量": "goods.list.l23.t0", + "价格": "goods.list.l28.t0", + "筛选": "goods.list.l40.t0", + "暂无商品": "goods.list.l148.t0", + "是否包邮": "goods.list.l160.t0", + "价格区间(元)": "goods.list.l168.t0", + "最低价": "goods.list.l170.t0", + "最高价": "goods.list.l172.t0", + "全部分类": "goods.list.l188.t0", + "重置": "goods.list.l203.t0", + "海报生成中...": "goods._components.goods-detail-view.detail.l285.t0", + "保存成功": "goods._components.goods-detail-view.detail.l351.t0", + "保存失败,请稍后重试": "goods._components.goods-detail-view.detail.l356.t0", + "请选择要删除的商品": "goods.public.js.cart.l236.t0", + "确定要删除这些商品吗?": "goods.public.js.cart.l243.t0", + "确定要删除该商品吗?": "goods.public.js.cart.l243.t1", + "确定要清空这些商品吗?": "goods.public.js.cart.l385.t0", + "您已领取过该优惠券,快去使用吧": "goods.public.js.detail.l321.t0", + "领取成功,快去使用吧": "goods.public.js.detail.l323.t0", + ";满": "goods.public.js.detail.l379.t0", + "送": "goods.public.js.detail.l386.t0", + "、送": "goods.public.js.detail.l392.t0", + "张": "goods.public.js.detail.l392.t1", + "折优惠券": "goods.public.js.detail.l392.t2", + "元优惠券": "goods.public.js.detail.l395.t0", + "商品列表": "goods.public.js.list.l78.t0", + "搜索到": "goods.public.js.list.l126.t0", + "件“": "goods.public.js.list.l126.t1", + "”相关的优质商品": "goods.public.js.list.l126.t2", + "请输入最高价": "goods.public.js.list.l365.t0", + "筛选价格不能小于0": "goods.public.js.list.l371.t0", + "最低价不能大于最高价": "goods.public.js.list.l378.t0", + "最高价不能小于最低价": "goods.public.js.list.l384.t0", + "确认订单": "order._components.common-payment.l7.t0", + "手机号码": "order._components.common-payment.l27.t0", + "请输入您的手机号码": "order._components.common-payment.l28.t0", + "请设置收货地址": "order._components.common-payment.l57.t0", + "点击切换": "order._components.common-payment.l75.t0", + "您的附近没有可配送的门店,请选择其他配送方式": "order._components.common-payment.l81.t0", + "送达时间": "order._components.common-payment.l100.t0", + "请选择送达时间": "order._components.common-payment.l102.t0", + "营业时间:": "order._components.common-payment.l128.t0", + "姓名": "order._components.common-payment.l138.t0", + "预留手机": "order._components.common-payment.l144.t0", + "提货时间": "order._components.common-payment.l149.t0", + "当前无自提门店,请选择其它配送方式": "order._components.common-payment.l156.t0", + "该商品不支持": "order._components.common-payment.l192.t0", + "买家留言": "order._components.common-payment.l227.t0", + "无留言": "order._components.common-payment.l230.t0", + "已选择1张优惠券": "order._components.common-payment.l238.t0", + "优惠": "order._components.common-payment.l239.t0", + "不使用优惠券": "order._components.common-payment.l242.t0", + "小计:": "order._components.common-payment.l251.t0", + "已使用优惠券,优惠": "order._components.common-payment.l276.t0", + "活动优惠": "order._components.common-payment.l285.t0", + "使用": "order._components.common-payment.l293.t0", + "发票": "order._components.common-payment.l301.t0", + "纸质": "order._components.common-payment.l303.t0", + "电子": "order._components.common-payment.l303.t1", + "无需发票": "order._components.common-payment.l304.t0", + "本单预计可省": "order._components.common-payment.l316.t0", + "商品金额": "order._components.common-payment.l335.t0", + "运费": "order._components.common-payment.l342.t0", + "税费": "order._components.common-payment.l351.t0", + "发票邮寄费": "order._components.common-payment.l361.t0", + "积分抵扣": "order._components.common-payment.l385.t0", + "会员卡": "order._components.common-payment.l393.t0", + "购买前请先阅读": "order._components.common-payment.l403.t0", + ",下单即代表同意该协议": "order._components.common-payment.l403.t1", + "合计:": "order._components.common-payment.l408.t0", + "提交订单": "order._components.common-payment.l414.t0", + "差": "order._components.common-payment.l415.t0", + "已为您甄选出附近所有相关门店": "order._components.common-payment.l452.t0", + "地址:": "order._components.common-payment.l469.t0", + "所选择收货地址附近没有可以自提的门店": "order._components.common-payment.l478.t0", + "留言前建议先与商家协调一致": "order._components.common-payment.l500.t0", + "长期有效": "order._components.common-payment.l551.t0", + "暂无可用的优惠券": "order._components.common-payment.l557.t0", + "买家信息": "order._components.common-payment.l587.t0", + "选择次卡": "order._components.common-payment.l602.t0", + "不限次数": "order._components.common-payment.l610.t0", + "剩余": "order._components.common-payment.l611.t0", + "订单关闭原因:": "order.detail.l16.t0", + "收货地址:": "order.detail.l37.t0", + "送达时间:": "order.detail.l42.t0", + "配送员:": "order.detail.l47.t0", + "外卖电话:": "order.detail.l51.t0", + "当前无自提门店": "order.detail.l84.t0", + "提货码:": "order.detail.l106.t0", + "复制": "order.detail.l109.t0", + "申请售后": "order.detail.l192.t0", + "申请退款": "order.detail.l192.t1", + "查看售后": "order.detail.l198.t0", + "查看退款": "order.detail.l198.t1", + "订单类型:": "order.detail.l208.t0", + "订单编号:": "order.detail.l214.t0", + "订单交易号:": "order.detail.l221.t0", + "创建时间:": "order.detail.l227.t0", + "关闭时间:": "order.detail.l233.t0", + "支付方式:": "order.detail.l241.t0", + "支付时间:": "order.detail.l247.t0", + "配送方式:": "order.detail.l254.t0", + "买家留言:": "order.detail.l260.t0", + "活动优惠:": "order.detail.l266.t0", + "发票类型:": "order.detail.l274.t0", + "纸质发票": "order.detail.l276.t0", + "电子发票": "order.detail.l276.t1", + "发票抬头类型:": "order.detail.l280.t0", + "个人": "order.detail.l282.t0", + "企业": "order.detail.l282.t1", + "发票抬头:": "order.detail.l286.t0", + "发票内容:": "order.detail.l293.t0", + "发票邮寄地址:": "order.detail.l299.t0", + "发票接收邮件:": "order.detail.l305.t0", + "我的卡包:": "order.detail.l329.t0", + "请将条形码或二维码出示给核销员": "order.detail.l350.t0", + "核销信息": "order.detail.l360.t0", + "核销次数": "order.detail.l362.t0", + "有效期": "order.detail.l372.t0", + "永久有效": "order.detail.l376.t0", + "核销记录": "order.detail.l382.t0", + "核销人": "order.detail.l387.t0", + "核销时间": "order.detail.l393.t0", + "暂无核销记录": "order.detail.l400.t0", + "卡密信息": "order.detail.l406.t0", + "卡号:": "order.detail.l409.t0", + "密码:": "order.detail.l416.t0", + "订单调整": "order.detail.l537.t0", + "使用余额": "order.detail.l568.t0", + "实付金额:": "order.detail.l589.t0", + "评价": "order.detail.l601.t0", + "追评": "order.detail.l602.t0", + "未获取到订单信息!": "order.detail.l737.t0", + "待支付": "order.detail_point.l14.t0", + "已完成": "order.detail_point.l14.t1", + "已关闭": "order.detail_point.l15.t0", + "使用积分": "order.detail_point.l99.t0", + "关闭": "order.detail_point.l126.t0", + "支付": "order.detail_point.l128.t0", + "确定关闭此次兑换?": "order.detail_point.l225.t0", + "关闭成功": "order.detail_point.l236.t0", + "请输入商品名称/订单编号": "order.list.l6.t0", + "订单号:": "order.list.l35.t0", + "加购物车": "order.list.l74.t0", + "查看详情": "order.list.l141.t0", + "合并付款": "order.list.l152.t0", + "待付款": "order.list.l297.t0", + "待发货": "order.list.l302.t0", + "待收货": "order.list.l307.t0", + "待使用": "order.list.l317.t0", + "满减送": "order.payment.l37.t0", + "购买可享受满": "order.payment.l48.t0", + "购物满": "order.payment.l66.t0", + "可得": "order.payment.l73.t0", + "周卡": "order._components.common-payment.payment.l134.t0", + "周": "order._components.common-payment.payment.l135.t0", + "月卡": "order._components.common-payment.payment.l142.t0", + "季卡": "order._components.common-payment.payment.l150.t0", + "季": "order._components.common-payment.payment.l151.t0", + "年卡": "order._components.common-payment.payment.l158.t0", + "年": "order._components.common-payment.payment.l159.t0", + "请输入预留手机": "order._components.common-payment.payment.l487.t0", + "商家未设置配送方式": "order._components.common-payment.payment.l500.t0", + "请先选择您的收货地址": "order._components.common-payment.payment.l509.t0", + "没有可提货的门店,请选择其他配送方式": "order._components.common-payment.payment.l517.t0", + "请选择提货时间": "order._components.common-payment.payment.l535.t0", + "没有可配送的门店,请选择其他配送方式": "order._components.common-payment.payment.l544.t0", + "请填写发票抬头": "order._components.common-payment.payment.l840.t0", + "请填写纳税人识别号": "order._components.common-payment.payment.l846.t0", + "请填写发票邮寄地址": "order._components.common-payment.payment.l852.t0", + "请填写邮箱": "order._components.common-payment.payment.l858.t0", + "请填写正确的邮箱": "order._components.common-payment.payment.l866.t0", + "请选择发票内容": "order._components.common-payment.payment.l873.t0", + "商家已将支付金额调整为": "order.public.js.orderMethod.l13.t0", + "元,是否继续支付?": "order.public.js.orderMethod.l13.t1", + "您确定要关闭该订单吗?": "order.public.js.orderMethod.l47.t0", + "当前订单可能存在拼团,维权等操作,": "order.public.js.orderMethod.l60.t0", + "不可以关闭哦!": "order.public.js.orderMethod.l61.t0", + "您确定已经收到货物了吗?": "order.public.js.orderMethod.l81.t0", + "您确定要进行收货吗?": "order.public.js.orderMethod.l176.t0", + "撤销之后本次申请将会关闭,如后续仍有问题可再次发起申请。": "order.public.js.refundMethod.l10.t0", + "暂不撤销": "order.public.js.refundMethod.l11.t0", + "请填写申请信息": "fenxiao.apply.l16.t0", + "邀请人": "fenxiao.apply.l27.t0", + "名称": "fenxiao.apply.l32.t0", + "申请成为": "fenxiao.apply.l45.t0", + "分销商申请条件": "fenxiao.apply.l52.t0", + "展开更多": "fenxiao.apply.l82.t0", + "成为分销商的条件": "fenxiao.apply.l100.t0", + "成为": "fenxiao.apply.l101.t0", + "您还不是分销商": "fenxiao.apply.l126.t0", + "您已提交": "fenxiao.apply.l131.t0", + "您提交的": "fenxiao.apply.l133.t0", + "重新申请": "fenxiao.apply.l134.t0", + "无": "fenxiao.apply.l166.t0", + "商家未开启分销": "fenxiao.apply.l194.t0", + "申请": "fenxiao.apply.l210.t0", + "请仔细阅读协议,并勾选": "fenxiao.apply.l278.t0", + "账单编号:": "fenxiao.bill.l11.t0", + "暂无账单信息": "fenxiao.bill.l19.t0", + "人": "fenxiao.child_fenxiao.l23.t0", + "单": "fenxiao.child_fenxiao.l24.t0", + "暂无数据": "fenxiao.child_fenxiao.l32.t0", + "赚": "fenxiao.goods_list.l43.t0", + "暂无分销商品": "fenxiao.goods_list.l49.t0", + "分享好友": "fenxiao.goods_list.l56.t0", + "生成海报": "fenxiao.goods_list.l59.t0", + "长按保存图片": "fenxiao.goods_list.l118.t0", + "总店": "fenxiao.index.l21.t0", + "上级代理商:": "fenxiao.index.l21.t1", + "已邀请成功:": "fenxiao.index.l22.t0", + "等级未解锁": "fenxiao.index.l33.t0", + "0 ? info.level_name : '等级未解锁' }}": "fenxiao.index.l33.t1", + "下单、邀请好友均可提升等级": "fenxiao.index.l34.t0", + "做任务": "fenxiao.index.l36.t0", + "可": "fenxiao.index.l43.t0", + "总": "fenxiao.index.l55.t0", + "已提现": "fenxiao.index.l59.t0", + "提现中(元)": "fenxiao.index.l64.t0", + "待入账(元)": "fenxiao.index.l70.t0", + "我的粉丝": "fenxiao.index.l93.t0", + "邀请的用户": "fenxiao.index.l94.t0", + "订单": "fenxiao.index.l114.t0", + "我的邀请码": "fenxiao.index.l124.t0", + "邀好友赚好礼": "fenxiao.index.l125.t0", + "邀请好友": "fenxiao.index.l133.t0", + "账单报表": "fenxiao.index.l142.t0", + "您的排名为第": "fenxiao.index.l162.t0", + "推广人排行": "fenxiao.index.l171.t0", + "您的排名为": "fenxiao.index.l172.t0", + "等级说明": "fenxiao.index.l180.t0", + "您还不是": "fenxiao.index.l214.t0", + "立即加入": "fenxiao.index.l215.t0", + "快速升级技巧": "fenxiao.index.l223.t0", + "未完成": "fenxiao.index.l231.t0", + "去完成": "fenxiao.index.l239.t0", + "满足任意一条件即可升级": "fenxiao.index.l254.t0", + "满足全部条件才能进行升级": "fenxiao.index.l254.t1", + "中心": "fenxiao.index.l293.t0", + "当前分销商已冻结": "fenxiao.index.l371.t0", + "下级消费": "fenxiao.index.l483.t0", + "下级消费单数满": "fenxiao.index.l484.t0", + "分销商自己购买和自己推荐的直属会员购买的订单次数": "fenxiao.index.l485.t0", + "下级消费金额满": "fenxiao.index.l498.t0", + "分销商自己购买和推荐的直属会员购买的订单的总额": "fenxiao.index.l499.t0", + "下级消费产生": "fenxiao.index.l512.t0", + "总额满": "fenxiao.index.l512.t1", + "分销商自己购买和自己推荐的直属会员购买的订单": "fenxiao.index.l514.t0", + "总额": "fenxiao.index.l514.t1", + "自身消费": "fenxiao.index.l526.t0", + "自身消费单数满": "fenxiao.index.l527.t0", + "分销商自己购买的订单次数": "fenxiao.index.l528.t0", + "自身消费金额满": "fenxiao.index.l539.t0", + "分销商自己购买的订单总额": "fenxiao.index.l540.t0", + "邀请好友人数达到": "fenxiao.index.l553.t0", + "分销商的直属下级会员人数(包含已经申请成为分销商的)": "fenxiao.index.l554.t0", + "邀请好友成为分销商人数达到": "fenxiao.index.l567.t0", + "分销商的直属下级分销商人数": "fenxiao.index.l568.t0", + "一级分佣比率": "fenxiao.level.l20.t0", + "二级分佣比率": "fenxiao.level.l24.t0", + "三级分佣比率": "fenxiao.level.l28.t0", + "分销商自己购买和自己推荐的直属会员购买的订单次数达到": "fenxiao.level.l119.t0", + "分销商自己购买和推荐的直属会员购买的订单的总额达到": "fenxiao.level.l131.t0", + "下级消费产生佣金总额满": "fenxiao.level.l143.t0", + "分销商自己购买和自己推荐的直属会员购买的订单佣金总额达到": "fenxiao.level.l144.t0", + "分销商自己购买的订单次数达到": "fenxiao.level.l157.t0", + "分销商自己购买的订单总额满足": "fenxiao.level.l169.t0", + "分销商的直属下级会员人数达到": "fenxiao.level.l181.t0", + "人(包含已经申请成为分销商的)": "fenxiao.level.l181.t1", + "分销商的直属下级分销商人数达到": "fenxiao.level.l193.t0", + "等级": "fenxiao.level.l221.t0", + "已退款": "fenxiao.order.l17.t0", + "已结算": "fenxiao.order.l19.t0", + "待结算": "fenxiao.order.l20.t0", + "暂无订单": "fenxiao.order.l81.t0", + "暂无待结算订单": "fenxiao.order.l83.t0", + "暂无已结算订单": "fenxiao.order.l85.t0", + "暂无已退款订单": "fenxiao.order.l87.t0", + "返佣详情": "fenxiao.order_detail.l47.t0", + "分佣层级:": "fenxiao.order_detail.l56.t0", + "返佣金额:": "fenxiao.order_detail.l60.t0", + "已邀请好友": "fenxiao.promote.l21.t0", + "已下单好友": "fenxiao.promote.l22.t0", + "暂无已邀请好友,快去邀请吧": "fenxiao.promote.l35.t0", + "暂无活动规则": "fenxiao.promote.l44.t0", + "长按识别图中二维码": "fenxiao.promote_code.l14.t0", + "保存海报": "fenxiao.promote_code.l18.t0", + "您拒绝了保存图片到相册的授权请求,无法保存图片到相册,如需正常使用,请授权之后再进行操作。": "fenxiao.promote_code.l24.t0", + "立即授权": "fenxiao.promote_code.l29.t0", + "下载失败": "fenxiao.promote_code.l114.t0", + "海报生成失败": "fenxiao.promote_code.l139.t0", + "点击提现": "fenxiao.ranking_list.l19.t0", + "我的团队": "fenxiao.ranking_list.l21.t0", + "分销佣金": "fenxiao.ranking_list.l33.t0", + "佣金排行": "fenxiao.ranking_list.l44.t0", + "您排行第": "fenxiao.ranking_list.l45.t0", + "推广人数": "fenxiao.ranking_list.l57.t0", + "推广排行": "fenxiao.ranking_list.l68.t0", + "一级": "fenxiao.team.l92.t0", + "二级": "fenxiao.team.l96.t0", + "提现到": "fenxiao.withdraw_apply.l5.t0", + "微信默认钱包": "fenxiao.withdraw_apply.l6.t0", + "请添加提现账户": "fenxiao.withdraw_apply.l19.t0", + "提现金额:": "fenxiao.withdraw_apply.l31.t0", + "可提现金额:": "fenxiao.withdraw_apply.l41.t0", + "全部提现": "fenxiao.withdraw_apply.l42.t0", + "最小提现金额为": "fenxiao.withdraw_apply.l46.t0", + "手续费为": "fenxiao.withdraw_apply.l48.t0", + "提现": "fenxiao.withdraw_apply.l59.t0", + "提现记录": "fenxiao.withdraw_apply.l64.t0", + "请输入提现金额": "fenxiao.withdraw_apply.l178.t0", + "提现金额超出可提现金额": "fenxiao.withdraw_apply.l189.t0", + "提现金额小于最低提现金额": "fenxiao.withdraw_apply.l196.t0", + "请先添加提现方式": "fenxiao.withdraw_apply.l205.t0", + "提现申请成功": "fenxiao.withdraw_apply.l238.t0", + "支付宝": "fenxiao.withdraw_list.l12.t0", + "银行卡": "fenxiao.withdraw_list.l12.t1", + "微信": "fenxiao.withdraw_list.l13.t0", + "暂无提现记录": "fenxiao.withdraw_list.l28.t0", + "已转账": "fenxiao.withdraw_list.l45.t0", + "待审核": "fenxiao.withdraw_list.l49.t0", + "已审核": "fenxiao.withdraw_list.l53.t0", + "已拒绝": "fenxiao.withdraw_list.l57.t0", + "明细": "fenxiao.withdraw_list.l78.t0", + "当前状态": "fenxiao.withdrawal_detail.l10.t0", + "交易号": "fenxiao.withdrawal_detail.l14.t0", + "手续费": "fenxiao.withdrawal_detail.l18.t0", + "申请时间": "fenxiao.withdrawal_detail.l22.t0", + "审核时间": "fenxiao.withdrawal_detail.l26.t0", + "银行名称": "fenxiao.withdrawal_detail.l30.t0", + "收款账号": "fenxiao.withdrawal_detail.l34.t0", + "拒绝理由": "fenxiao.withdrawal_detail.l38.t0", + "转账方式名称": "fenxiao.withdrawal_detail.l42.t0", + "转账时间": "fenxiao.withdrawal_detail.l46.t0", + "请输入您要搜索的商品": "merch.detail.l7.t0", + "上滑查看更多": "merch.detail.l31.t0", + "↑ 收起": "merch.detail.l35.t0", + "↓ 展开": "merch.detail.l35.t1", + "立即咨询": "merch.detail.l102.t0", + "物业": "merch.merchcategory.l83.t0", + "鞋里革": "merch.merchcategory.l87.t0", + "领取之日起": "point.detail.l77.t0", + "天内有效": "point.detail.l77.t1", + "到期": "point.detail.l78.t0", + "属性": "point.detail.l129.t0", + "商品属性": "point.detail.l144.t0", + "兑换详情": "point.detail.l187.t0", + "暂无兑换详情!": "point.detail.l195.t0", + "登录之后方可兑换": "point.detail.l208.t0", + "积分不足": "point.detail.l213.t0", + "仅需": "point.detail.l296.t0", + "积分即可兑换": "point.detail.l296.t1", + "上新时间": "point.goods_list.l29.t0", + "立即兑换": "point.goods_list.l79.t0", + "积分区间": "point.goods_list.l99.t0", + "搜索商品": "point.list.l13.t0", + "我的积分": "point.list.l31.t0", + "提醒": "point.list.l40.t0", + "积分兑好礼,每日上新换不停!": "point.list.l41.t0", + "活动规则": "point.list.l50.t0", + "储值赚积分": "point.list.l55.t0", + "兑换记录": "point.list.l59.t0", + "积分抽奖": "point.list.l63.t0", + "积分明细": "point.list.l67.t0", + "储值": "point.list.l84.t0", + "去储值": "point.list.l86.t0", + "积分换券": "point.list.l94.t0", + "可用": "point.list.l125.t0", + "全场券": "point.list.l128.t0", + "积分换红包": "point.list.l148.t0", + "积分换礼品": "point.list.l181.t0", + "积分说明": "point.list.l234.t0", + "积分的获取": "point.list.l239.t0", + "1、积分可在注册、签到、分享、消费、充值时获得。": "point.list.l240.t0", + "2、在购买部分商品时可获得积分。": "point.list.l241.t0", + "积分的使用": "point.list.l242.t0", + "1、积分可用于兑换积分中心的商品。": "point.list.l243.t0", + "2、积分可在参与某些活动时使用。": "point.list.l244.t0", + "3、积分不得转让,出售,不设有效期。": "point.list.l245.t0", + "积分的查询": "point.list.l246.t0", + "1、积分可在会员中心中查询具体数额以及明细。": "point.list.l247.t0", + "积分换好物": "point.list.l276.t0", + "商家未开启积分商城": "point.list.l305.t0", + "暂无相关活动": "point.list.l583.t0", + "暂无积分兑换订单": "point.order_list.l85.t0", + "自提时间": "point.payment.l133.t0", + "所需积分": "point.payment.l217.t0", + "下架": "merch.public.edit.l56.t0", + "上架": "merch.public.edit.l56.t1", + "当日达": "merch.public.edit.l58.t0", + "次日达": "merch.public.edit.l58.t1", + "隔日达": "merch.public.edit.l58.t2", + "自定义": "merch.public.edit.l58.t3", + "自动发货": "merch.public.edit.l63.t0", + "手动发货": "merch.public.edit.l67.t0", + "到店核销": "merch.public.edit.l71.t0", + "自动收货": "merch.public.edit.l81.t0", + "买家确认收货": "merch.public.edit.l85.t0", + "购买后几日有效": "merch.public.edit.l93.t0", + "指定过期日期": "merch.public.edit.l93.t1", + "添加卡密": "merch.public.edit.l96.t0", + "单次限购": "merch.public.edit.l99.t0", + "长期限购": "merch.public.edit.l103.t0", + "编辑商品": "merch.public.edit.l126.t0", + "添加商品": "merch.public.edit.l133.t0", + "商品不存在": "merch.public.edit.l170.t0", + "商品可以属于多个分类,最多10个": "merch.public.edit.l496.t0", + "添加卡密【": "merch.public.edit.l533.t0", + "商品简介不能超过100个字符": "merch.public.edit.l578.t0", + "请上传商品图片": "merch.public.edit.l585.t0", + "请输入销售价": "merch.public.edit.l635.t0", + "[销售价]格式输入错误": "merch.public.edit.l641.t0", + "[原价价]格式输入错误": "merch.public.edit.l648.t0", + "请输入库存": "merch.public.edit.l658.t0", + "[库存]格式输入错误": "merch.public.edit.l665.t0", + "[起售]格式输入错误": "merch.public.edit.l671.t0", + "起售数量不能小于0": "merch.public.edit.l677.t0", + "请选择商品表单": "merch.public.edit.l908.t0", + "请选择供应商": "merch.public.edit.l929.t0", + "商家不存在": "merch.public.js.list.l80.t0", + "未获取到创建订单所需数据!": "point.public.js.payment.l95.t0", + "订单未创建": "point.public.js.payment.l283.t0", + "去设置": "point.public.js.payment.l285.t0", + "请输入正确的手机号码": "point.public.js.payment.l318.t0", + "请输入正确的预留手机": "point.public.js.payment.l356.t0", + "请选择自提时间": "point.public.js.payment.l363.t0", + "请选择配送时间": "point.public.js.payment.l378.t0", + "预览": "tool._components.img-cropping.l22.t0", + "上传": "tool._components.img-cropping.l23.t0", + "加载中...": "tool._components.img-cropping.l212.t0", + "裁剪框的宽或高没有设置": "tool._components.img-cropping.l235.t0", + "请选择正确图片": "tool._components.img-cropping.l255.t0", + "感谢您一直以来的支持,在您生日到来之际,特为您送上最真诚的祝福!": "tool._components.ns-birthday-gift.l11.t0", + "生日贺礼": "tool._components.ns-birthday-gift.l14.t0", + "元红包": "tool._components.ns-birthday-gift.l33.t0", + "不可提现红包": "tool._components.ns-birthday-gift.l35.t0", + "可提现红包": "tool._components.ns-birthday-gift.l45.t0", + "元优惠劵": "tool._components.ns-birthday-gift.l57.t0", + "感谢您一直以来的支持,为回馈会员,商城": "tool._components.ns-new-gift.l14.t0", + "用于参与活动购买商品时抵扣": "tool._components.ns-new-gift.l23.t0", + "暂无内容": "tool.agreement.contenr.l11.t0", + "该协议内容暂未设置": "tool.agreement.contenr.l12.t0", + "重新加载": "tool.agreement.contenr.l13.t0", + "[AI Chat] → 分支1: ID变化,加载历史": "ai_chat.ai-chat.ai-chat-message.l618.t0", + "[AI Chat] → 分支2: ID不变但只有初始消息,从服务端恢复": "ai_chat.ai-chat.ai-chat-message.l623.t0", + "[AI Chat] → 分支3: 全新会话": "ai_chat.ai-chat.ai-chat-message.l627.t0", + "[AI Chat] → 分支4: 跳过加载,保留当前消息, messages.length:": "ai_chat.ai-chat.ai-chat-message.l630.t0", + "[AI Chat] 已有会话,跳过欢迎语": "ai_chat.ai-chat.ai-chat-message.l638.t0", + "[AI Chat] API getServiceConfig 返回:": "ai_chat.ai-chat.ai-chat-message.l649.t0", + "[AI Chat] 使用远程欢迎语:": "ai_chat.ai-chat.ai-chat-message.l660.t0", + "[AI Chat] 获取服务配置失败:": "ai_chat.ai-chat.ai-chat-message.l664.t0", + "[AI Chat] 使用降级欢迎语": "ai_chat.ai-chat.ai-chat-message.l672.t0", + "[AI Chat] 无可用欢迎语": "ai_chat.ai-chat.ai-chat-message.l674.t0", + "[AI Chat] loadChatHistoryIfExist 被调用, convId:": "ai_chat.ai-chat.ai-chat-message.l767.t0", + "[AI Chat] 请求历史 API...": "ai_chat.ai-chat.ai-chat-message.l771.t0", + "[AI Chat] 历史 API 返回:": "ai_chat.ai-chat.ai-chat-message.l775.t0", + "[AI Chat] 历史记录为空或格式无效, success:": "ai_chat.ai-chat.ai-chat-message.l778.t0", + "[AI Chat] 原始消息数:": "ai_chat.ai-chat.ai-chat-message.l781.t0", + "[AI Chat] 过滤后消息数:": "ai_chat.ai-chat.ai-chat-message.l801.t0", + "内容摘要:": "ai_chat.ai-chat.ai-chat-message.l801.t1", + "[AI Chat] 加载历史记录失败:": "ai_chat.ai-chat.ai-chat-message.l807.t0", + "AI服务调用失败:": "ai_chat.ai-chat.ai-chat-message.l884.t0", + "流式请求失败:": "ai_chat.ai-chat.ai-chat-message.l1026.t0", + "流式请求失败": "ai_chat.ai-chat.ai-chat-message.l1082.t0", + "AI正在思考": "ai_chat.ai-chat.ai-chat-message.l1100.t0", + "AI正在分析": "ai_chat.ai-chat.ai-chat-message.l1101.t0", + "AI正在检索": "ai_chat.ai-chat.ai-chat-message.l1102.t0", + "AI正在生成": "ai_chat.ai-chat.ai-chat-message.l1103.t0", + "你好": "ai_chat.ai-chat.ai-chat-message.l1128.t0", + "您好!我是AI智能客服,很高兴为您服务!有什么可以帮助您的吗?": "ai_chat.ai-chat.ai-chat-message.l1128.t1", + "我们的产品价格根据型号和配置有所不同,具体价格请查看商品详情页面。": "ai_chat.ai-chat.ai-chat-message.l1129.t0", + "发货": "ai_chat.ai-chat.ai-chat-message.l1130.t0", + "一般情况下,订单会在24小时内发货,具体时效请查看物流信息。": "ai_chat.ai-chat.ai-chat-message.l1130.t1", + "退货": "ai_chat.ai-chat.ai-chat-message.l1131.t0", + "支持7天无理由退货,请确保商品完好无损。": "ai_chat.ai-chat.ai-chat-message.l1131.t1", + "客服": "ai_chat.ai-chat.ai-chat-message.l1132.t0", + "我们的客服工作时间是9:00-18:00,有问题可以随时联系我们。": "ai_chat.ai-chat.ai-chat-message.l1132.t1", + "感谢您的咨询!关于": "ai_chat.ai-chat.ai-chat-message.l1139.t0", + "的问题,我们的专业客服会尽快为您解答。您也可以查看我们的帮助文档获取更多信息。": "ai_chat.ai-chat.ai-chat-message.l1139.t1", + "加载历史消息中...": "ai_chat.ai-chat.ai-chat-message.l1429.t0", + "加载历史失败:": "ai_chat.ai-chat.ai-chat-message.l1477.t0", + "加载更多历史消息": "ai_chat.ai-chat.ai-chat-message.l1483.t0", + "已复制选中内容": "ai_chat.ai-chat.ai-chat-message.l1691.t0", + "已复制": "ai_chat.ai-chat.ai-chat-message.l1691.t1", + "[AI Chat] 开始复制, 内容长度:": "ai_chat.ai-chat.ai-chat-message.l1705.t0", + "内容前50字:": "ai_chat.ai-chat.ai-chat-message.l1705.t1", + "[AI Chat] 复制成功": "ai_chat.ai-chat.ai-chat-message.l1709.t0", + "[AI Chat] 复制失败, 详细错误:": "ai_chat.ai-chat.ai-chat-message.l1713.t0", + "[AI Chat] 复制失败 errMsg:": "ai_chat.ai-chat.ai-chat-message.l1714.t0", + "无错误消息": "ai_chat.ai-chat.ai-chat-message.l1714.t1", + "[开心]": "ai_chat.ai-chat.ai-chat-message.l1971.t0", + "[大笑]": "ai_chat.ai-chat.ai-chat-message.l1972.t0", + "[微笑]": "ai_chat.ai-chat.ai-chat-message.l1973.t0", + "[爱心]": "ai_chat.ai-chat.ai-chat-message.l1974.t0", + "[点赞]": "ai_chat.ai-chat.ai-chat-message.l1975.t0", + "[哭泣]": "ai_chat.ai-chat.ai-chat-message.l1976.t0", + "[感谢/拜托]": "ai_chat.ai-chat.ai-chat-message.l1977.t0", + "[喜欢]": "ai_chat.ai-chat.ai-chat-message.l1978.t0", + "[庆祝]": "ai_chat.ai-chat.ai-chat-message.l1979.t0", + "[思考]": "ai_chat.ai-chat.ai-chat-message.l1980.t0", + "[尴尬]": "ai_chat.ai-chat.ai-chat-message.l1981.t0", + "[喜爱]": "ai_chat.ai-chat.ai-chat-message.l1983.t0", + "[飞吻]": "ai_chat.ai-chat.ai-chat-message.l1984.t0", + "[坏笑]": "ai_chat.ai-chat.ai-chat-message.l1985.t0", + "[难过]": "ai_chat.ai-chat.ai-chat-message.l1987.t0", + "[生气]": "ai_chat.ai-chat.ai-chat-message.l1989.t0", + "[困]": "ai_chat.ai-chat.ai-chat-message.l1990.t0", + "[拥抱]": "ai_chat.ai-chat.ai-chat-message.l1991.t0", + "[天使]": "ai_chat.ai-chat.ai-chat-message.l1996.t0", + "[惊喜]": "ai_chat.ai-chat.ai-chat-message.l1997.t0", + "[好吃]": "ai_chat.ai-chat.ai-chat-message.l1998.t0", + "[调皮]": "ai_chat.ai-chat.ai-chat-message.l1999.t0", + "[搞怪]": "ai_chat.ai-chat.ai-chat-message.l2001.t0", + "[发财]": "ai_chat.ai-chat.ai-chat-message.l2003.t0", + "[害羞]": "ai_chat.ai-chat.ai-chat-message.l2004.t0", + "[嘘]": "ai_chat.ai-chat.ai-chat-message.l2005.t0", + "[闭嘴]": "ai_chat.ai-chat.ai-chat-message.l2006.t0", + "[疑惑]": "ai_chat.ai-chat.ai-chat-message.l2007.t0", + "[无语]": "ai_chat.ai-chat.ai-chat-message.l2008.t0", + "[沉默]": "ai_chat.ai-chat.ai-chat-message.l2010.t0", + "[不屑]": "ai_chat.ai-chat.ai-chat-message.l2011.t0", + "[白眼]": "ai_chat.ai-chat.ai-chat-message.l2012.t0", + "[说谎]": "ai_chat.ai-chat.ai-chat-message.l2014.t0", + "[安心]": "ai_chat.ai-chat.ai-chat-message.l2015.t0", + "[流口水]": "ai_chat.ai-chat.ai-chat-message.l2017.t0", + "[生病]": "ai_chat.ai-chat.ai-chat-message.l2018.t0", + "[发烧]": "ai_chat.ai-chat.ai-chat-message.l2019.t0", + "[受伤]": "ai_chat.ai-chat.ai-chat-message.l2020.t0", + "[恶心]": "ai_chat.ai-chat.ai-chat-message.l2021.t0", + "[呕吐]": "ai_chat.ai-chat.ai-chat-message.l2022.t0", + "[感冒]": "ai_chat.ai-chat.ai-chat-message.l2023.t0", + "[热]": "ai_chat.ai-chat.ai-chat-message.l2024.t0", + "[冷]": "ai_chat.ai-chat.ai-chat-message.l2025.t0", + "[头晕]": "ai_chat.ai-chat.ai-chat-message.l2026.t0", + "[晕]": "ai_chat.ai-chat.ai-chat-message.l2027.t0", + "[爆炸]": "ai_chat.ai-chat.ai-chat-message.l2028.t0", + "[酷]": "ai_chat.ai-chat.ai-chat-message.l2029.t0", + "[书呆子]": "ai_chat.ai-chat.ai-chat-message.l2031.t0", + "[困惑]": "ai_chat.ai-chat.ai-chat-message.l2033.t0", + "[担心]": "ai_chat.ai-chat.ai-chat-message.l2034.t0", + "[惊讶]": "ai_chat.ai-chat.ai-chat-message.l2036.t0", + "[震惊]": "ai_chat.ai-chat.ai-chat-message.l2038.t0", + "[脸红]": "ai_chat.ai-chat.ai-chat-message.l2039.t0", + "[恳求]": "ai_chat.ai-chat.ai-chat-message.l2040.t0", + "[害怕]": "ai_chat.ai-chat.ai-chat-message.l2043.t0", + "[紧张]": "ai_chat.ai-chat.ai-chat-message.l2044.t0", + "[失望]": "ai_chat.ai-chat.ai-chat-message.l2045.t0", + "[恐惧]": "ai_chat.ai-chat.ai-chat-message.l2046.t0", + "[困扰]": "ai_chat.ai-chat.ai-chat-message.l2047.t0", + "[痛苦]": "ai_chat.ai-chat.ai-chat-message.l2048.t0", + "[汗]": "ai_chat.ai-chat.ai-chat-message.l2050.t0", + "[累]": "ai_chat.ai-chat.ai-chat-message.l2051.t0", + "[愤怒]": "ai_chat.ai-chat.ai-chat-message.l2054.t0", + "[咒骂]": "ai_chat.ai-chat.ai-chat-message.l2056.t0", + "[恶魔]": "ai_chat.ai-chat.ai-chat-message.l2057.t0", + "[骷髅]": "ai_chat.ai-chat.ai-chat-message.l2059.t0", + "[便便]": "ai_chat.ai-chat.ai-chat-message.l2060.t0", + "[鬼]": "ai_chat.ai-chat.ai-chat-message.l2061.t0", + "[外星人]": "ai_chat.ai-chat.ai-chat-message.l2062.t0", + "[机器人]": "ai_chat.ai-chat.ai-chat-message.l2063.t0", + "[万圣节]": "ai_chat.ai-chat.ai-chat-message.l2064.t0", + "[开心猫]": "ai_chat.ai-chat.ai-chat-message.l2065.t0", + "[微笑猫]": "ai_chat.ai-chat.ai-chat-message.l2066.t0", + "[大笑猫]": "ai_chat.ai-chat.ai-chat-message.l2067.t0", + "[花痴猫]": "ai_chat.ai-chat.ai-chat-message.l2068.t0", + "[得意猫]": "ai_chat.ai-chat.ai-chat-message.l2069.t0", + "[亲亲猫]": "ai_chat.ai-chat.ai-chat-message.l2070.t0", + "[惊讶猫]": "ai_chat.ai-chat.ai-chat-message.l2071.t0", + "[哭泣猫]": "ai_chat.ai-chat.ai-chat-message.l2072.t0", + "[生气猫]": "ai_chat.ai-chat.ai-chat-message.l2073.t0", + "[挥手]": "ai_chat.ai-chat.ai-chat-message.l2074.t0", + "[举手]": "ai_chat.ai-chat.ai-chat-message.l2075.t0", + "[手掌]": "ai_chat.ai-chat.ai-chat-message.l2076.t0", + "[捏]": "ai_chat.ai-chat.ai-chat-message.l2080.t0", + "[耶]": "ai_chat.ai-chat.ai-chat-message.l2081.t0", + "[好运]": "ai_chat.ai-chat.ai-chat-message.l2082.t0", + "[爱你]": "ai_chat.ai-chat.ai-chat-message.l2083.t0", + "[摇滚]": "ai_chat.ai-chat.ai-chat-message.l2084.t0", + "[打电话]": "ai_chat.ai-chat.ai-chat-message.l2085.t0", + "[左边]": "ai_chat.ai-chat.ai-chat-message.l2086.t0", + "[右边]": "ai_chat.ai-chat.ai-chat-message.l2087.t0", + "[上边]": "ai_chat.ai-chat.ai-chat-message.l2088.t0", + "[竖中指]": "ai_chat.ai-chat.ai-chat-message.l2089.t0", + "[下边]": "ai_chat.ai-chat.ai-chat-message.l2090.t0", + "[向上]": "ai_chat.ai-chat.ai-chat-message.l2091.t0", + "[鄙视]": "ai_chat.ai-chat.ai-chat-message.l2092.t0", + "[拳头]": "ai_chat.ai-chat.ai-chat-message.l2093.t0", + "[左拳]": "ai_chat.ai-chat.ai-chat-message.l2095.t0", + "[右拳]": "ai_chat.ai-chat.ai-chat-message.l2096.t0", + "[鼓掌]": "ai_chat.ai-chat.ai-chat-message.l2097.t0", + "[举手庆祝]": "ai_chat.ai-chat.ai-chat-message.l2098.t0", + "[张开手]": "ai_chat.ai-chat.ai-chat-message.l2099.t0", + "[摊手]": "ai_chat.ai-chat.ai-chat-message.l2100.t0", + "[握手]": "ai_chat.ai-chat.ai-chat-message.l2101.t0", + "[写字]": "ai_chat.ai-chat.ai-chat-message.l2102.t0", + "[美甲]": "ai_chat.ai-chat.ai-chat-message.l2103.t0", + "[自拍]": "ai_chat.ai-chat.ai-chat-message.l2104.t0", + "[肌肉]": "ai_chat.ai-chat.ai-chat-message.l2105.t0", + "[心跳]": "ai_chat.ai-chat.ai-chat-message.l2107.t0", + "[两颗心]": "ai_chat.ai-chat.ai-chat-message.l2108.t0", + "[闪亮心]": "ai_chat.ai-chat.ai-chat-message.l2109.t0", + "[礼物心]": "ai_chat.ai-chat.ai-chat-message.l2110.t0", + "[旋转心]": "ai_chat.ai-chat.ai-chat-message.l2111.t0", + "[丘比特]": "ai_chat.ai-chat.ai-chat-message.l2112.t0", + "[情书]": "ai_chat.ai-chat.ai-chat-message.l2113.t0", + "[心形]": "ai_chat.ai-chat.ai-chat-message.l2114.t0", + "[黄心]": "ai_chat.ai-chat.ai-chat-message.l2115.t0", + "[蓝心]": "ai_chat.ai-chat.ai-chat-message.l2116.t0", + "[紫心]": "ai_chat.ai-chat.ai-chat-message.l2117.t0", + "[黑心]": "ai_chat.ai-chat.ai-chat-message.l2118.t0", + "[心碎]": "ai_chat.ai-chat.ai-chat-message.l2119.t0", + "[炸弹]": "ai_chat.ai-chat.ai-chat-message.l2121.t0", + "[风]": "ai_chat.ai-chat.ai-chat-message.l2125.t0", + "[眼睛]": "ai_chat.ai-chat.ai-chat-message.l2126.t0", + "[看]": "ai_chat.ai-chat.ai-chat-message.l2127.t0", + "[舌头]": "ai_chat.ai-chat.ai-chat-message.l2128.t0", + "[嘴巴]": "ai_chat.ai-chat.ai-chat-message.l2129.t0", + "[耳朵]": "ai_chat.ai-chat.ai-chat-message.l2130.t0", + "[鼻子]": "ai_chat.ai-chat.ai-chat-message.l2131.t0", + "[AI Chat Page] onShow 触发": "ai_chat.ai-chat.index.l146.t0", + "onKeyboardHeightChange 不可用:": "ai_chat.ai-chat.index.l157.t0", + "[AI Chat Page] onUnload 触发": "ai_chat.ai-chat.index.l180.t0", + "事件处理错误:": "ai_chat.ai-chat.index.l236.t0", + "初始化导航栏失败:": "ai_chat.ai-chat.index.l266.t0", + "我理解您的需求,让我为您详细解答。": "ai_chat.ai-chat.index.l424.t0", + "感谢您的提问,这是一个很好的问题。": "ai_chat.ai-chat.index.l425.t0", + "根据您的问题,我建议您可以考虑以下几个方面:": "ai_chat.ai-chat.index.l426.t0", + "这个问题很常见,让我为您提供一些解决方案。": "ai_chat.ai-chat.index.l427.t0", + "我明白您的困惑,让我帮您分析一下。": "ai_chat.ai-chat.index.l428.t0", + "$ {randomResponse}\\n\\n您的问题": "ai_chat.ai-chat.index.l437.t0", + "我已经收到,正在为您处理中...": "ai_chat.ai-chat.index.l437.t1", + "聊天组件未初始化": "ai_chat.ai-chat.index.l481.t0", + "我想了解以下商品的详细信息:\\n商品名称:${product.goods_name}\\n价格:¥${product.price}\\n商品ID:${product.goods_id}": "ai_chat.ai-chat.index.l485.t0", + "【AI客服】servicerConfig 未加载,200ms后重试...": "ai_chat.ai-chat.index.l521.t0", + "发表时间:": "article.detail.l5.t0", + "暂无文章": "article.list.l24.t0", + "文章列表": "article.list.l91.t0", + "完成时间:": "tool.cases.index.l22.t0", + "查看PDF文件": "tool.cases.index.l31.t0", + "在线留言": "tool.cases.index.l47.t0", + "请输入您的姓名": "tool.cases.index.l56.t0", + "联系方式": "tool.cases.index.l60.t0", + "请输入您的手机号": "tool.cases.index.l62.t0", + "留言内容": "tool.cases.index.l66.t0", + "请输入留言内容": "tool.cases.index.l68.t0", + "正在加载": "tool.cases.index.l143.t0", + "文件不存在": "tool.cases.index.l167.t0", + "企业文件": "contact.l76.t0", + "企业视频": "contact.l93.t0", + "请输入您的邮箱": "contact.l165.t0", + "联系我们": "contact.l314.t0", + "请填写姓名": "contact.l372.t0", + "手机号格式不正确": "contact.l376.t0", + "请填写留言内容": "contact.l380.t0", + "提交失败,请重试": "contact.l405.t0", + "文件地址不存在": "tool.file-preview.l15.t0", + "不支持的文件类型": "tool.file-preview.l32.t0", + "请输入您要搜索的文件名称": "tool.files.list.l5.t0", + "暂无文件": "tool.files.list.l32.t0", + "请填写表单所需信息": "tool.form.l8.t0", + "参数错误": "tool.form.formdata.l72.t0", + "暂无更多品牌,去首页看看吧": "tool.goods.brand.l14.t0", + "你想要的大牌都在这里": "tool.goods.brand.l79.t0", + "满减券": "tool.goods.coupon.l8.t0", + "折扣券": "tool.goods.coupon.l10.t0", + "无门槛券": "tool.goods.coupon.l11.t0", + "指定商品": "tool.goods.coupon.l44.t0", + "全场商品": "tool.goods.coupon.l45.t0", + "适用门店:全部门店": "tool.goods.coupon.l52.t0", + "适用门店:": "tool.goods.coupon.l52.t1", + "已过期": "tool.goods.coupon.l65.t0", + "已达上限": "tool.goods.coupon.l66.t0", + "暂无可领取的优惠券": "tool.goods.coupon.l70.t0", + "商家未开启优惠券": "tool.goods.coupon.l102.t0", + "有效期至": "tool.goods.coupon_receive.l13.t0", + "注:扫描二维码或点击右上角进行分享": "tool.goods.coupon_receive.l27.t0", + "来迟了该优惠券已被领取完了!": "tool.goods.coupon_receive.l186.t0", + "该优惠券活动已结束!": "tool.goods.coupon_receive.l189.t0", + "该优惠券活动已关闭": "tool.goods.coupon_receive.l192.t0", + "该优惠券领取已达到上限!": "tool.goods.coupon_receive.l195.t0", + "恭喜您获得一张": "tool.goods.coupon_receive.l207.t0", + "元的优惠券": "tool.goods.coupon_receive.l207.t1", + "满${this.info.at_least}元可用": "tool.goods.coupon_receive.l212.t0", + ",满${this.info.at_least}元可用": "tool.goods.coupon_receive.l247.t0", + ",无门槛优惠券": "tool.goods.coupon_receive.l249.t0", + "商家回复:": "tool.goods.evaluate.l47.t0", + "追加评价": "tool.goods.evaluate.l52.t0", + "暂无商品评价": "tool.goods.evaluate.l69.t0", + "好评": "tool.goods.evaluate.l82.t0", + "中评": "tool.goods.evaluate.l82.t1", + "差评": "tool.goods.evaluate.l82.t2", + "您查看的商品不存在,可能已下架或被删除": "tool.goods.not_exist.l5.t0", + "历史搜索": "tool.goods.search.l15.t0", + "热门搜索": "tool.goods.search.l33.t0", + "确认删除全部历史记录?": "tool.goods.search.l86.t0", + "确认删除该条历史记录?": "tool.goods.search.l99.t0", + "搜索内容不能为空哦": "tool.goods.search.l165.t0", + "暂无帮助信息": "help.list.l9.t0", + "帮助中心": "help.list.l73.t0", + "帮助中心使你更加方便": "help.list.l81.t0", + "请确认您的账号已绑定此手机号": "login.find.l7.t0", + "已将验证码发送至手机号:": "login.find.l13.t0", + "请设置新的密码": "login.find.l18.t0", + "建议您的新密码以简单好记为标准": "login.find.l19.t0", + "重新获取": "login.find.l100.t0", + "该手机号未注册": "login.find.l169.t0", + "请输入密码": "login.find.l188.t0", + "密码长度不能小于": "login.find.l196.t0", + "位": "login.find.l196.t1", + "密码需包含": "login.find.l200.t0", + "数字": "login.find.l204.t0", + "、小写字母": "login.find.l208.t0", + "、大写字母": "login.find.l212.t0", + "、特殊字符": "login.find.l216.t0", + "两次密码不一致": "login.find.l230.t0", + "重新获取(": "login.find.l286.t0", + "提现到余额": "member.account.l10.t0", + "修改": "member.account.l32.t0", + "设为默认账户": "member.account.l37.t0", + "暂无账户信息,请添加": "member.account.l55.t0", + "操作提示": "member.account.l106.t0", + "确定要删除该账户吗?": "member.account.l107.t0", + "删除成功": "member.account.l118.t0", + "删除失败": "member.account.l123.t0", + "银行": "member.account.l184.t0", + "请输入真实姓名": "member.account_edit.l5.t0", + "请输入银行名称": "member.account_edit.l20.t0", + "提现账号": "member.account_edit.l23.t0", + "请输入提现账号": "member.account_edit.l24.t0", + "编辑账户": "member.account_edit.l67.t0", + "新增账户": "member.account_edit.l71.t0", + "微信零钱": "member.account_edit.l139.t0", + "请输入姓名": "member.account_edit.l163.t0", + "请选择账户类型": "member.account_edit.l178.t0", + "添加成功": "member.account_edit.l226.t0", + "修改成功": "member.account_edit.l230.t0", + "设为默认地址": "member.address.l38.t0", + "暂无收货地址,请添加": "member.address.l57.t0", + "确定要删除该地址吗?": "member.address.l196.t0", + "默认地址,不能删除": "member.address.l201.t0", + "修改默认地址成功": "member.address.l247.t0", + "PC端微信不支持一键获取地址": "member.address.l293.t0", + "地址信息": "member.address_edit.l4.t0", + "请选择省市区县": "member.address_edit.l44.t0", + "编辑收货地址": "member.address_edit.l138.t0", + "新增收货地址": "member.address_edit.l142.t0", + "数据有误": "member.address_edit.l200.t0", + "是否授权当前位置": "member.address_edit.l233.t0", + "需要获取您的地理位置,请确认授权,否则地图功能将无法使用": "member.address_edit.l234.t0", + "授权成功": "member.address_edit.l241.t0", + "授权失败": "member.address_edit.l259.t0", + "详细地址不能为空": "member.address_edit.l319.t0", + "请添加提现方式": "member.apply_withdrawal.l19.t0", + "提现金额": "member.apply_withdrawal.l24.t0", + "可提现余额:": "member.apply_withdrawal.l34.t0", + ",手续费为": "member.apply_withdrawal.l40.t0", + "未开启提现": "member.apply_withdrawal.l109.t0", + "风险提示:确认申请后您的资产将被清空且不可找回!": "member.assets.l5.t0", + "账户资产": "member.assets.l9.t0", + "现金余额": "member.assets.l18.t0", + "储值余额": "member.assets.l22.t0", + "订单资产": "member.assets.l33.t0", + "退款中": "member.assets.l46.t0", + "分销资产": "member.assets.l54.t0", + "可提现佣金": "member.assets.l59.t0", + "提现中佣金": "member.assets.l63.t0", + "待结算订单": "member.assets.l67.t0", + "上一步": "member.assets.l73.t0", + "确认申请": "member.assets.l74.t0", + "账户余额(元)": "member.balance.l19.t0", + "现金余额(元)": "member.balance.l24.t0", + "储值余额(元)": "member.balance.l28.t0", + "充值": "member.balance.l33.t0", + "余额明细": "member.balance.l49.t0", + "充值记录": "member.balance.l56.t0", + "暂无余额明细": "member.balance_detail.l46.t0", + "收入": "member.balance_detail.l68.t0", + "支出": "member.balance_detail.l71.t0", + "${year}年${month}月": "member.balance_detail.l124.t0", + "勾选即表示您已阅读并同意本协议": "member.cancellation.l13.t0", + "下一步": "member.cancellation.l15.t0", + "请先勾选同意协议": "member.cancellation.l63.t0", + "您的申请已拒绝": "member.cancelrefuse.l5.t0", + "拒绝理由:": "member.cancelrefuse.l6.t0", + "返回": "member.cancelrefuse.l8.t0", + "提交申请": "member.cancelstatus.l8.t0", + "您已提交申请,请耐心等待~": "member.cancelstatus.l9.t0", + "等待审核": "member.cancelstatus.l16.t0", + "等待审核中,审核通过后您的账号将直接被删除": "member.cancelstatus.l17.t0", + "审核通过,注销完成": "member.cancelstatus.l26.t0", + "您已成功注销账号,期待下一次与您相遇": "member.cancelstatus.l27.t0", + "撤销申请": "member.cancelstatus.l33.t0", + "风险提示": "member.cancelstatus.l84.t0", + "确定要撤销申请吗?": "member.cancelstatus.l85.t0", + "您已成功注销账号": "member.cancelsuccess.l7.t0", + "待下次与您更好的相遇,如需再次使用,请重新注册": "member.cancelsuccess.l8.t0", + "会员大礼包等权益": "member.card.l25.t0", + "立即续费": "member.card.l31.t0", + "会员权益": "member.card.l42.t0", + "全场包邮": "member.card.l52.t0", + "享受商品包邮服务": "member.card.l53.t0", + "消费折扣": "member.card.l57.t0", + "部分商品下单可享": "member.card.l58.t0", + "积分回馈": "member.card.l62.t0", + "下单享": "member.card.l63.t0", + "开卡礼包": "member.card.l72.t0", + "积分礼包": "member.card.l81.t0", + "赠送": "member.card.l82.t0", + "红包礼包": "member.card.l86.t0", + "优惠券礼包": "member.card.l91.t0", + "会员卡说明": "member.card.l104.t0", + "专属会员权益,快来体验": "member.card.l174.t0", + "卡种选择": "member.card_buy.l81.t0", + "充值开通": "member.card_buy.l175.t0", + "暂无可开会员卡": "member.card_buy.l214.t0", + "您有尚未过期的会员卡,再次购卡会覆盖掉之前的卡,是否继续?": "member.card_buy.l353.t0", + "暂无关注的商品": "member.collection.l33.t0", + "赶紧去逛逛, 关注心仪的商品吧": "member.collection.l33.t1", + "未使用": "member.coupon.l5.t0", + "已使用": "member.coupon.l6.t0", + "(最大优惠": "member.coupon.l45.t0", + "管理": "member.footprint.l4.t0", + "暂无浏览过的商品": "member.footprint.l49.t0", + "赶紧去逛逛, 发现更多商品吧": "member.footprint.l49.t1", + "全选": "member.footprint.l57.t0", + "删除": "member.footprint.l59.t0", + "请选择要删除的数据!": "member.footprint.l137.t0", + "账号": "member.info.l14.t0", + "性别": "member.info.l37.t0", + "生日": "member.info.l43.t0", + "密码": "member.info.l50.t0", + "所在地址": "member.info.l66.t0", + "注销账号": "member.info.l75.t0", + "版本号": "member.info.l83.t0", + "退出登录": "member.info.l101.t0", + "用户名": "member.info_edit.l7.t0", + "用户名仅可修改一次,请谨慎设置": "member.info_edit.l10.t0", + "请选择生日": "member.info_edit.l57.t0", + "请先绑定手机再执行该操作": "member.info_edit.l71.t0", + "立即绑定": "member.info_edit.l72.t0", + "原密码": "member.info_edit.l77.t0", + "新密码": "member.info_edit.l82.t0", + "再次输入": "member.info_edit.l87.t0", + "短信验证码": "member.info_edit.l120.t0", + "一键授权绑定": "member.info_edit.l131.t0", + "手动绑定": "member.info_edit.l134.t0", + "所在地区": "member.info_edit.l139.t0", + "详细地址": "member.info_edit.l147.t0", + "立即邀请": "member.invite_friends.l17.t0", + "我的好友": "member.invite_friends.l20.t0", + "没有更多数据了": "member.invite_friends.l50.t0", + "您还没有邀请到新朋友哦": "member.invite_friends.l55.t0", + "邀请好友,赚取好礼。赶紧去试试吧~": "member.invite_friends.l56.t0", + "邀请好友奖励": "member.invite_friends.l61.t0", + "现金红包": "member.invite_friends.l71.t0", + "分享给好友,让好友通过你的分享链接进入并注册登录,可获得以下奖励:": "member.invite_friends.l98.t0", + "如何邀请好友": "member.invite_friends.l126.t0", + "分享链接给好友": "member.invite_friends.l133.t0", + "好友进入": "member.invite_friends.l142.t0", + "好友注册成功获得奖励": "member.invite_friends.l151.t0", + "活动说明": "member.invite_friends.l217.t0", + "当前等级:": "member.level.l12.t0", + "当前等级": "member.level.l57.t0", + "当前成长值": "member.level.l59.t0", + "您现在已经是最高等级": "member.level.l72.t0", + "包邮服务": "member.level.l91.t0", + "提供商品包邮服务": "member.level.l92.t0", + "享受消费折扣服务": "member.level.l98.t0", + "不享受任何消费折扣和其他权益": "member.level.l99.t0", + "提供": "member.level.l100.t0", + "享受积分回馈服务": "member.level.l106.t0", + "会员礼包": "member.level.l113.t0", + "将前往详情页面": "member.level.l268.t0", + "什么是成长值": "member.level_growth_rules.l23.t0", + "成长值是消费者在店铺成为会员后,通过消费计算出来的值。成长值决定会员等级,会员等级越高,所享受的会员权益和会员礼包就越多。": "member.level_growth_rules.l25.t0", + "如何获得成长值": "member.level_growth_rules.l30.t0", + "1、注册会员送x成长值。": "member.level_growth_rules.l33.t0", + "2、会员充值到余额送x成长值。": "member.level_growth_rules.l34.t0", + "3、会员签到送x成长值。": "member.level_growth_rules.l35.t0", + "4、会员消费x元,交易完成即可获得x个成长值。": "member.level_growth_rules.l36.t0", + "点击上传": "member.modify_face.l14.t0", + "确认保存": "member.modify_face.l22.t0", + "重新上传": "member.modify_face.l23.t0", + "头像上传失败": "member.modify_face.l95.t0", + "头像修改成功": "member.modify_face.l117.t0", + "请输入6位支付密码,建议不要使用重复或连续数字": "member.pay_password.l3.t0", + "验证码已发送至": "member.pay_password.l4.t0", + "输入短信验证码": "member.pay_password.l10.t0", + "请设置支付密码": "member.pay_password.l11.t0", + "请再次输入": "member.pay_password.l12.t0", + "获取验证码": "member.pay_password.l37.t0", + "设置支付密码需要先绑定手机号,是否立即绑定?": "member.pay_password.l52.t0", + "两次输入的密码不一致": "member.pay_password.l152.t0", + "当前积分": "member.point.l20.t0", + "累计积分": "member.point.l24.t0", + "累计消费": "member.point.l28.t0", + "今日获得": "member.point.l32.t0", + "积分商城": "member.point.l48.t0", + "做任务赚积分": "member.point.l53.t0", + "每日签到": "member.point.l57.t0", + "连续签到可获得更多积分": "member.point.l58.t0", + "去签到": "member.point.l60.t0", + "购买商品": "member.point.l65.t0", + "购买商品可获得积分": "member.point.l66.t0", + "去下单": "member.point.l68.t0", + "[公告]": "notice.detail.l87.t0", + "置顶": "notice.list.l10.t0", + "暂无公告": "notice.list.l18.t0", + "退款成功": "tool.order.activist.l10.t0", + "退款失败": "tool.order.activist.l12.t0", + "退款:¥": "tool.order.activist.l30.t0", + "撤销成功": "tool.order.activist.l115.t0", + "描述相符": "tool.order.evaluate.l16.t0", + "请在此处输入您的评价": "tool.order.evaluate.l42.t0", + "请在此处输入您的追评": "tool.order.evaluate.l47.t0", + "匿名": "tool.order.evaluate.l72.t0", + "承运公司:": "tool.order.logistics.l37.t0", + "退款无需退货": "tool.order.refund.l17.t0", + "没收到货,或与卖家协商同意无需退货只退款": "tool.order.refund.l18.t0", + "退货退款": "tool.order.refund.l24.t0", + "已收到货,需退还收到的货物": "tool.order.refund.l25.t0", + "退款原因:": "tool.order.refund.l34.t0", + "退款金额:": "tool.order.refund.l42.t0", + "退款说明": "tool.order.refund.l48.t0", + "请输入退款说明(选填)": "tool.order.refund.l54.t0", + "退款原因": "tool.order.refund.l81.t0", + "未获取到该订单项退款信息": "tool.order.refund.l175.t0", + "请选择退款原因": "tool.order.refund.l242.t0", + "退款方式:": "tool.order.refund_batch.l26.t0", + "如果商家拒绝,你可重新发起申请": "tool.order.refund_detail.l8.t0", + "如果商家同意,将通过申请并退款给你": "tool.order.refund_detail.l9.t0", + "如果商家逾期未处理,平台将自动通过申请并退款给你": "tool.order.refund_detail.l10.t0", + "如果商家确认收货将会退款给你": "tool.order.refund_detail.l13.t0", + "如果商家拒绝收货,该次退款将会关闭,你可以重新发起退款": "tool.order.refund_detail.l14.t0", + "协商记录": "tool.order.refund_detail.l19.t0", + "退货地址": "tool.order.refund_detail.l24.t0", + "收货人:": "tool.order.refund_detail.l26.t0", + "联系方式:": "tool.order.refund_detail.l29.t0", + "退货地址:": "tool.order.refund_detail.l32.t0", + "退款信息": "tool.order.refund_detail.l38.t0", + "仅退款": "tool.order.refund_detail.l51.t0", + "退款退货": "tool.order.refund_detail.l51.t1", + "原路退款": "tool.order.refund_detail.l52.t0", + "线下退款": "tool.order.refund_detail.l52.t1", + "退款到余额": "tool.order.refund_detail.l52.t2", + "退款途径:": "tool.order.refund_detail.l52.t3", + "退款编号:": "tool.order.refund_detail.l56.t0", + "申请时间:": "tool.order.refund_detail.l57.t0", + "退款时间:": "tool.order.refund_detail.l58.t0", + "退款说明:": "tool.order.refund_detail.l59.t0", + "退款积分:": "tool.order.refund_detail.l60.t0", + "物流公司": "tool.order.refund_detail.l76.t0", + "请输入物流公司": "tool.order.refund_detail.l80.t0", + "物流单号": "tool.order.refund_detail.l88.t0", + "请输入物流单号": "tool.order.refund_detail.l92.t0", + "物流说明": "tool.order.refund_detail.l100.t0", + "选填": "tool.order.refund_detail.l106.t0", + "买家": "tool.order.refund_detail.l121.t0", + "卖家": "tool.order.refund_detail.l121.t1", + "返回详情": "tool.order.refund_detail.l139.t0", + "请选择商品": "tool.order.refund_goods_select.l28.t0", + "未查找到订单信息": "tool.order.refund_goods_select.l53.t0", + "店铺尚未配置支付方式!": "tool.pay.cashier.l23.t0", + "该支付单据已支付": "tool.pay.cashier.l25.t0", + "未获取到支付信息": "tool.pay.cashier.l27.t0", + "恭喜您获得": "tool.pay.result.l21.t0", + "张优惠券": "tool.pay.result.l37.t0", + "查看订单": "tool.pay.result.l46.t0", + "点击右上角跳转到浏览器打开": "tool.pay.wx_pay.l6.t0", + "账户余额": "tool.recharge.list.l7.t0", + "请输入充值金额": "tool.recharge.list.l20.t0", + "售价": "tool.recharge.list.l29.t0", + "其他金额": "tool.recharge.list.l34.t0", + ">,优惠券X{{ list[isIndex].coupon_id.split(": "tool.recharge.list.l44.t0", + ",优惠券X": "tool.recharge.list.l44.t1", + "充值说明": "tool.recharge.list.l50.t0", + ">,优惠券X{{ item.coupon_id.split(": "tool.recharge.list.l56.t0", + "金额": "tool.recharge.list.l67.t0", + "确认充值": "tool.recharge.list.l89.t0", + "请选择套餐": "tool.recharge.list.l276.t0", + "充值成功": "tool.recharge.order_list.l16.t0", + "赠送:": "tool.recharge.order_list.l24.t0", + "优惠券x": "tool.recharge.order_list.l29.t0", + "暂无充值记录": "tool.recharge.order_list.l34.t0", + "导出图片": "seal.medium.detail.l17.t0", + "导出PDF": "seal.medium.detail.l18.t0", + "搜索结果": "seal.medium.detail.l29.t0", + "请输入介质名称": "seal.medium.search.l6.t0", + "当前选择:": "seal.structure.l6.t0", + "选型结果:": "seal.structure.l12.t0", + "结果文件": "seal.structure.l23.t0", + "该店铺已打烊...": "tool.storeclose.l41.t0", + "店铺不存在": "tool.storeclose.l45.t0", + "店铺打烊": "tool.storeclose.l47.t0", + "缺少merchant_trade_no参数": "tool.weapp.order_shipping.l20.t0", + "未知错误": "tool.weapp.order_shipping.l32.t0", + "未知": "member.public.js.info.l58.t0", + "男": "member.public.js.info.l62.t0", + "女": "member.public.js.info.l67.t0", + "个人资料": "member.public.js.info.l157.t0", + "与原真实姓名一致,无需修改": "member.public.js.info.l404.t0", + "真实姓名不能为空": "member.public.js.info.l411.t0", + "新密码长度不能小于": "member.public.js.info.l579.t0", + "新密码不能与原密码相同": "member.public.js.info.l612.t0", + "已发送(": "member.public.js.info.l726.t0", + "请勿重复点击": "member.public.js.info.l744.t0", + "请选择所在地区": "member.public.js.info.l869.t0", + "请输入详细地址": "member.public.js.info.l874.t0", + "确定要注销当前账号吗?": "member.public.js.member-public.l64.t0", + "商家未开启会员签到": "member.public.js.signin.l31.t0", + "签到未开启": "member.public.js.signin.l201.t0", + "签到有礼": "member.public.js.signin.l236.t0", + "天天签到,积分好礼送不停": "member.public.js.signin.l237.t0", + "签到有礼,天天签到,积分好礼送不停": "member.public.js.signin.l268.t0", + "未获取到订单数据": "tool.order.public.js.evaluate.l90.t0", + "商家未开启商品评价功能": "tool.order.public.js.evaluate.l160.t0", + "商品的评价不能为空哦": "tool.order.public.js.evaluate.l168.t0", + "评价成功": "tool.order.public.js.evaluate.l200.t0", + "设置主题颜色失败": "common.index.l460.t0", + "加载": "common.index.l466.t0", + "[theme] loadTheme 返回空:": "common.index.l477.t0", + "[theme] applyThemeWithRemote 失败,回退到纯预设:": "common.index.l496.t0", + "[theme] 纯预设回退也失败:": "common.index.l506.t0" +} \ No newline at end of file diff --git a/docs/i18n-rules.md b/docs/i18n-rules.md new file mode 100644 index 0000000..63ca6ec --- /dev/null +++ b/docs/i18n-rules.md @@ -0,0 +1,125 @@ +# i18n 改造铁律(AI 必须遵守) + +> 本文档给 Claude / 其他 AI 在做 i18n 改造时作为强制约束。 +> 违反任何一条都会导致运行时崩溃或被 CI 拦截。 + +## 8 条铁律 + +### 1. 禁止在一次 commit 里"先加 i18n 再回退硬编码" +- 每次 commit 的目标必须可逆、可单独 cherry-pick +- 不允许"完成 A 但中途又撤掉 A" +- 历史教训:commit f258987 一刀切删掉前 9 个 commit 的 i18n 工作,全部归零 + +### 2. 禁止重复定义 key +- 新增 key 前必须 `grep "<新 key 路径>" lang/en-us.js lang/zh-cn.js` +- 已存在就**复用**,不允许再加一份 +- 校验:`python scripts/i18n_check.py` 必须 exit 0 +- 历史教训:commit 47098bd 把 `saveSuccess` / `yuan` / `searchResultCount` 在 common/member/article 三处定义各一次 + +### 3. 禁止改 CSS / 模板结构 / 与本次任务无关的代码 +- i18n 改造只允许动 `$lang(...)` 表达式内的字符串和 `data()`/`methods` 里被赋值的 lang key +- 不允许改 ` - + \ No newline at end of file diff --git a/pages/index/public/js/index.js b/pages/index/public/js/index.js index addebae..8edd140 100644 --- a/pages/index/public/js/index.js +++ b/pages/index/public/js/index.js @@ -1,130 +1,130 @@ -export default { - data() { - return { - minScrollTop: 100, // 设置回到顶端按钮显示要求,最小页面滚动距离 - wechatQrcode: '', // 公众号二维码 - diyRoute: '/pages/index/index', - shopInfo: null // 店铺信息 - }; - }, - onLoad(option) { - // #ifdef H5 - // H5地图选择位置回调数据 - if (option.module && option.module == 'locationPicker') { - option.name = ''; // 清空地址 - } - // #endif - this.name = option.name || 'DIY_VIEW_INDEX'; // 根据店铺运营模式,打开平台(shop)或者连锁门店(stroe)页面,接口会自行判断 - - // 获取店铺信息 - this.shopInfo = uni.getStorageSync('shopInfo'); - }, - onShow() { - // 获取关注公众号二维码 - this.getFollowQrcode(); - - // 重新获取店铺信息 - this.shopInfo = uni.getStorageSync('shopInfo'); - }, - mounted() { - // 监听图片、文字、商品列表等组件的点击事件 - this.unsubscribe = this.$eventBus?.onMany([ - 'rubik-cube-tap', - 'picture-tap', - 'text-tap', - 'goods-list-tap', - 'presale-tap', - 'notes-tap', - 'merch-list-tap', - 'map-tap', - 'img-ads-tap', - 'many-goods-list-tap', - 'search-tap', - ], this._handleDiyGroupInteractionEvent); - }, - beforeDestroy() { - // 移除图片点击事件监听 - if (this.unsubscribe) this.unsubscribe(); - }, - methods: { - // 关注公众号 - getFollowQrcode() { - if (!this.$util.isWeiXin()) return; - this.$api.sendRequest({ - url: '/wechat/api/wechat/followqrcode', - success: res => { - if (res.code >= 0 && res.data) { - this.wechatQrcode = res.data.qrcode; - } - } - }); - }, - officialAccountsOpen() { - this.$refs.officialAccountsPopup.open(); - }, - officialAccountsClose() { - this.$refs.officialAccountsPopup.close(); - }, - // 判断是否需要登录授权 - _requireHomeAuth() { - // #ifdef MP-WEIXIN - // 检查 index_login_auth 都开启时才需要登录授权 - return this.shopInfo?.index_login_auth === 1; - // #endif - - // TODO: 其他平台, 后面可以根据平台类型判断 - - return false; - }, - // 统一处理点击及触摸事件 - _handleDiyGroupInteractionEvent(payload) { - // 如果不需要登录授权,直接返回 true 继续传播 - if (!this._requireHomeAuth()) { - return true; - } - - // 如果已登录,直接返回 true 继续传播 - if (this.storeToken) { - return true; - } - - this.$refs.login?.open(); - - // 阻止事件继续传播 - return false; - }, - /** - * 标题连击 5 次显示构建版本信息(供测试人员使用) - */ - onTitleTap() { - this._titleTapCount = (this._titleTapCount || 0) + 1; - if (this._titleTapTimer) { - clearTimeout(this._titleTapTimer); - } - if (this._titleTapCount >= 5) { - this._titleTapCount = 0; - this._showVersionInfo(); - return; - } - // 2 秒内未达到 5 次则重置计数 - this._titleTapTimer = setTimeout(() => { - this._titleTapCount = 0; - }, 2000); - }, - _showVersionInfo() { - let v = null; - try { - v = typeof __app_version !== 'undefined' ? __app_version : null; - } catch (e) {} - if (v && v.commitId) { - uni.showModal({ - title: '构建版本信息', - content: `提交 ID: ${v.commitId}\n构建时间: ${v.buildTime}`, - showCancel: false - }); - } else { - console.log('未获取到构建版本信息'); - } - } - } +export default { + data() { + return { + minScrollTop: 100, // 设置回到顶端按钮显示要求,最小页面滚动距离 + wechatQrcode: '', // 公众号二维码 + diyRoute: '/pages/index/index', + shopInfo: null // 店铺信息 + }; + }, + onLoad(option) { + // #ifdef H5 + // H5地图选择位置回调数据 + if (option.module && option.module == 'locationPicker') { + option.name = ''; // 清空地址 + } + // #endif + this.name = option.name || 'DIY_VIEW_INDEX'; // 根据店铺运营模式,打开平台(shop)或者连锁门店(stroe)页面,接口会自行判断 + + // 获取店铺信息 + this.shopInfo = uni.getStorageSync('shopInfo'); + }, + onShow() { + // 获取关注公众号二维码 + this.getFollowQrcode(); + + // 重新获取店铺信息 + this.shopInfo = uni.getStorageSync('shopInfo'); + }, + mounted() { + // 监听图片、文字、商品列表等组件的点击事件 + this.unsubscribe = this.$eventBus?.onMany([ + 'rubik-cube-tap', + 'picture-tap', + 'text-tap', + 'goods-list-tap', + 'presale-tap', + 'notes-tap', + 'merch-list-tap', + 'map-tap', + 'img-ads-tap', + 'many-goods-list-tap', + 'search-tap', + ], this._handleDiyGroupInteractionEvent); + }, + beforeDestroy() { + // 移除图片点击事件监听 + if (this.unsubscribe) this.unsubscribe(); + }, + methods: { + // 关注公众号 + getFollowQrcode() { + if (!this.$util.isWeiXin()) return; + this.$api.sendRequest({ + url: '/wechat/api/wechat/followqrcode', + success: res => { + if (res.code >= 0 && res.data) { + this.wechatQrcode = res.data.qrcode; + } + } + }); + }, + officialAccountsOpen() { + this.$refs.officialAccountsPopup.open(); + }, + officialAccountsClose() { + this.$refs.officialAccountsPopup.close(); + }, + // 判断是否需要登录授权 + _requireHomeAuth() { + // #ifdef MP-WEIXIN + // 检查 index_login_auth 都开启时才需要登录授权 + return this.shopInfo?.index_login_auth === 1; + // #endif + + // TODO: 其他平台, 后面可以根据平台类型判断 + + return false; + }, + // 统一处理点击及触摸事件 + _handleDiyGroupInteractionEvent(payload) { + // 如果不需要登录授权,直接返回 true 继续传播 + if (!this._requireHomeAuth()) { + return true; + } + + // 如果已登录,直接返回 true 继续传播 + if (this.storeToken) { + return true; + } + + this.$refs.login?.open(); + + // 阻止事件继续传播 + return false; + }, + /** + * 标题连击 5 次显示构建版本信息(供测试人员使用) + */ + onTitleTap() { + this._titleTapCount = (this._titleTapCount || 0) + 1; + if (this._titleTapTimer) { + clearTimeout(this._titleTapTimer); + } + if (this._titleTapCount >= 5) { + this._titleTapCount = 0; + this._showVersionInfo(); + return; + } + // 2 秒内未达到 5 次则重置计数 + this._titleTapTimer = setTimeout(() => { + this._titleTapCount = 0; + }, 2000); + }, + _showVersionInfo() { + let v = null; + try { + v = typeof __app_version !== 'undefined' ? __app_version : null; + } catch (e) {} + if (v && v.commitId) { + uni.showModal({ + title: $lang('page.index.public.js.index.l121.t0'), + content: $lang(`page.index.public.js.index.l122.t0`), + showCancel: false + }); + } else { + console.log($lang('page.index.public.js.index.l126.t0')); + } + } + } } \ No newline at end of file diff --git a/pages_goods/_components/goods-detail-view/detail.js b/pages_goods/_components/goods-detail-view/detail.js index 54348a3..a6e45e8 100644 --- a/pages_goods/_components/goods-detail-view/detail.js +++ b/pages_goods/_components/goods-detail-view/detail.js @@ -1,463 +1,523 @@ -// 商品详情业务 -import { - Weixin -} from '@/common/js/wx-jssdk.js'; - -export default { - data() { - return { - skuId: 0, - goodsId: 0, - isIphoneX: false, //判断手机是否是iphoneX以上 - whetherCollection: 0, - - //是否开启预览,0:不开启,1:开启 - preview: 0, - videoContext: '', - - // 媒体,图片,视频 - - // 解决每个商品SKU图片数量不同时,无法切换到第一个,导致轮播图显示不出来 - swiperInterval: 1, - swiperAutoplay: false, - swiperCurrent: 1, - switchMedia: 'img', - - //评价 - goodsEvaluate: [{ - member_headimg: '', - member_name: '', - content: '', - images: [], - create_time: 0, - sku_name: '' - }], - evaluateConfig: { - evaluate_audit: 1, - evaluate_show: 0, - evaluate_status: 1 - }, - - // 是否可分享到好物圈 - goodsCircle: false, - service: null, - shareUrl: '', // 分享链接 - source_member: 0, //分享人的id - isCommunity: false, //社群弹窗 - - poster: "-1", //海报 - posterMsg: "", //海报错误信息 - posterHeight: 0, - posterParams: {}, //海报所需参数 - goodsRoute: '', - posterApi: '', - goodsAttrShow: false, // 商品属性是否展开 - - //门店列表 - storeList: { - data: [], - page: 1, - page_size: 10 - }, - isShowStore: false, - latitude: null, // 纬度 - longitude: null, // 经度 - evaluateCount: 0, // 商品评论数量 - deliveryType: null, // 配送方式 - isVirtual: 0 //是否为虚拟商品 - } - }, - created() { - this.isIphoneX = this.$util.uniappIsIPhoneX(); - - if (this.location) { - this.latitude = this.location.latitude; - this.longitude = this.location.longitude; - } else { - this.$util.getLocation(); - } - this.getStoreData(); - }, - watch: { - location: function (nVal) { - if (nVal) { - this.latitude = nVal.latitude; - this.longitude = nVal.longitude; - this.getStoreData(); - } - } - }, - methods: { - init(params) { - this.skuId = params.sku_id; - this.goodsId = params.goods_id; - this.preview = params.preview; - this.source_member = params.source_member; - this.whetherCollection = params.whetherCollection; - this.posterParams = params.posterParams; - - this.shareUrl = params.shareUrl; - this.goodsRoute = params.goodsRoute; - this.posterApi = params.posterApi; - this.isVirtual = params.isVirtual; - this.deliveryType = params.deliveryType; - this.evaluateConfig = params.evaluateConfig; - - if (this.evaluateConfig.evaluate_show == 1) { - //商品评论 - this.getGoodsEvaluate(params.evaluateList); - this.evaluateCount = params.evaluateCount; - } - - for (let k in this.deliveryType) { - if (k == 'store') { - this.isShowStore = true; - } - } - - this.getService(); - - this.videoContext = uni.createVideoContext('goodsVideo'); - - // #ifdef MP-WEIXIN - this.goodsSyncToGoodsCircle(); - // #endif - - }, - swiperChange(e) { - this.swiperCurrent = e.detail.current + 1; - }, - - //-------------------------------------服务------------------------------------- - - openMerchantsServicePopup() { - this.$refs.merchantsServicePopup.open(); - }, - closeMerchantsServicePopup() { - this.$refs.merchantsServicePopup.close(); - }, - - //-------------------------------------门店列表------------------------------------- - openStoreListPopup() { - this.$refs.storeListPopup.open(); - }, - closeStoreListPopup() { - this.$refs.storeListPopup.close(); - }, - getStoreData() { - //门店列表 - let data = { - page: this.storeList.page, - page_size: this.storeList.page_size - }; - if (this.latitude && this.longitude) { - data.latitude = this.latitude; - data.longitude = this.longitude; - } - this.$api.sendRequest({ - url: '/api/store/page', - data: data, - success: res => { - if (this.storeList.page == 1) this.storeList.data == []; - if (res.code >= 0 && res.data) { - this.storeList.data = this.storeList.data.concat(res.data.list); - } else { - this.$util.showToast({ - title: res.message - }); - } - } - }); - }, - selectStore(item) { - this.$util.redirectTo('/pages_tool/store/detail', { - store_id: item.store_id - }); - this.closeStoreListPopup(); - }, - //-------------------------------------属性------------------------------------- - - switchGoodsAttr() { - this.goodsAttrShow = !this.goodsAttrShow; - }, - //-------------------------------------评价------------------------------------- - //商品评论列表 - getGoodsEvaluate(list) { - if (list) { - this.goodsEvaluate = list; - this.goodsEvaluate.forEach((item, index) => { - if (this.goodsEvaluate[index].images) this.goodsEvaluate[index].images = this.goodsEvaluate[index].images.split(","); - if (this.goodsEvaluate[index].is_anonymous == 1) this.goodsEvaluate[index].member_name = this.goodsEvaluate[index].member_name.replace(this.goodsEvaluate[index].member_name.substring(1, this.goodsEvaluate[index].member_name.length - 1), '***') - }) - // if (this.goodsEvaluate.images) this.goodsEvaluate.images = this.goodsEvaluate.images.split(","); - // if (this.goodsEvaluate.is_anonymous == 1) this.goodsEvaluate.member_name = this.goodsEvaluate.member_name.replace( - // this.goodsEvaluate.member_name.substring(1, this.goodsEvaluate.member_name.length - 1), '***') - } - }, - // 预览评价图片 - previewEvaluate(index, img_index, field) { - var paths = []; - for (let i = 0; i < this.goodsEvaluate[index][field].length; i++) { - paths.push(this.$util.img(this.goodsEvaluate[index][field][i])); - } - uni.previewImage({ - current: img_index, - urls: paths - }); - }, - //-------------------------------------关注------------------------------------- - async collection() { - if (this.preview) return; // 开启预览,禁止任何操作和跳转 - - if (this.storeToken) { - - //未关注添加关注 - if (this.whetherCollection == 0) { - let res = await this.$api.sendRequest({ - url: "/api/goodscollect/add", - data: { - sku_id: this.skuId, - goods_id: this.goodsSkuDetail.goods_id, - sku_name: this.goodsSkuDetail.sku_name, - sku_price: this.goodsSkuDetail.show_price, - sku_image: this.goodsSkuDetail.sku_image - }, - async: false, - }); - var data = res.data; - if (data > 0) { - this.whetherCollection = 1; - } - } else { - //已关注取消关注 - let res = await this.$api.sendRequest({ - url: "/api/goodscollect/delete", - data: { - goods_id: this.goodsSkuDetail.goods_id - }, - async: false, - }); - var data = res.data; - if (data > 0) { - this.whetherCollection = 0; - } - } - return this.whetherCollection; - } else { - if (this.source_member) { - this.$refs.login.open(this.shareUrl + '&source_member=' + this.source_member); - } else { - this.$refs.login.open(this.shareUrl); - } - } - }, - //-------------------------------------分享------------------------------------- - // 打开分享弹出层 - openSharePopup() { - this.$refs.sharePopup.open(); - }, - // 关闭分享弹出层 - closeSharePopup() { - this.$refs.sharePopup.close(); - }, - copyUrl() { - let text = this.$config.h5Domain + this.shareUrl; - if (this.memberInfo && this.memberInfo.member_id) text += '&source_member=' + this.memberInfo.member_id; - this.$util.copy(text, () => { - this.closeSharePopup(); - }); - }, - - //-------------------------------------海报------------------------------------- - // 打开海报弹出层 - openPosterPopup() { - this.getGoodsPoster(); - this.$refs.sharePopup.close(); - }, - // 关闭海报弹出层 - closePosterPopup() { - this.$refs.posterPopup.close(); - this.poster = '' - }, - //生成海报 - getGoodsPoster() { - uni.showLoading({ - 'title': '海报生成中...' - }) - //活动海报信息 - if (this.memberInfo && this.memberInfo.member_id) this.posterParams.source_member = this.memberInfo.member_id; - - this.$api.sendRequest({ - url: this.posterApi, - data: { - page: this.goodsRoute, - qrcode_param: JSON.stringify(this.posterParams) - }, - success: res => { - if (res.code == 0) { - this.$refs.posterPopup.open(); - this.poster = res.data.path + "?time=" + new Date().getTime(); - } else { - this.posterMsg = res.message; - this.$util.showToast({ - title: res.message - }) - } - uni.hideLoading(); - }, - fail: err => { - uni.hideLoading(); - } - }); - }, - // 预览图片 - previewMedia(index) { - var paths = []; - for (let i = 0; i < this.goodsSkuDetail.sku_images.length; i++) { - paths.push(this.$util.img(this.goodsSkuDetail.sku_images[i], { - size: 'big' - })); - } - uni.previewImage({ - current: index, - urls: paths, - // longPressActions: { - // itemList: ['发送给朋友', '保存图片', '关注'], - // success: function(data) { - // console.log('选中了第' + (data.tapIndex + 1) + '个按钮,第' + (data.index + 1) + '张图片'); - // }, - // fail: function(err) { - // console.log(err.errMsg); - // } - // } - }); - }, - swiperImageError(index) { - this.goodsSkuDetail.sku_images[index] = this.$util.getDefaultImage().goods; - this.$forceUpdate(); - }, - // #ifdef MP || APP-PLUS - //小程序中保存海报 - saveGoodsPoster() { - let url = this.$util.img(this.poster); - uni.downloadFile({ - url: url, - success: (res) => { - if (res.errMsg == "downloadFile:ok") { - uni.saveImageToPhotosAlbum({ - filePath: res.tempFilePath, - success: () => { - this.$util.showToast({ - title: "保存成功" - }); - }, - fail: (err) => { - this.$util.showToast({ - title: "保存失败,请稍后重试" - }); - } - }); - } - }, - fail: (err) => { - this.$util.showToast({ - title: "保存失败,请稍后重试" - }); - } - }); - }, - // #endif - //售后保障查询 - getService() { - this.$api.sendRequest({ - url: '/api/goods/aftersale', - success: res => { - if (res.code == 0 && res.data) { - this.service = res.data; - } - } - }); - }, - - // #ifdef MP-WEIXIN - /** - * 将商品同步到微信圈子 - */ - goodsSyncToGoodsCircle() { - this.$api.sendRequest({ - url: '/goodscircle/api/goods/sync', - data: { - goods_id: this.goodsSkuDetail.goods_id - }, - success: res => { - if (res.code == 0) { - this.goodsCircle = true; - } - } - }) - }, - /** - * 将商品推荐到微信圈子 - */ - openBusinessView() { - if (wx.openBusinessView) { - wx.openBusinessView({ - businessType: 'friendGoodsRecommend', - extraData: { - product: { - item_code: this.goodsSkuDetail.goods_id, - title: this.goodsSkuDetail.sku_name, - image_list: this.goodsSkuDetail.sku_images.map((ele) => { - return this.$util.img(ele); - }) - } - }, - success: function (res) { - }, - fail: function (res) { - } - }) - } - }, - // #endif - toEvaluateDetail(id) { - this.$util.redirectTo('/pages_tool/goods/evaluate', { - goods_id: id - }); - }, - showImg(e) { - //拿到图片的路径里面的内容放在我们数组中 - let contentimg = e.target.dataset.nodes; - let arrImg = []; - for (var i = 0; i < contentimg.length; i++) { - var img = contentimg[i].children; - if (Array.isArray(img)) { - for (var j = 0; j < img.length; j++) { - if (img[j].attrs && img[j].name == "img") { - if (img[j].attrs.src) { - arrImg.push(img[j].attrs.src) - } - } - } - } - } - //最后一步就是把我们的所有图片放在预览的api中就可以了 - uni.previewImage({ - current: arrImg, - urls: arrImg, - }) - }, - - //-------------------------------------社群------------------------------------- - - //添加福利群 - onCommunity() { - this.isCommunity = true - }, - onCloseCommunity() { - this.isCommunity = false - }, - - } - +// 商品详情业务 +import { + Weixin +} from '@/common/js/wx-jssdk.js'; + +export default { + data() { + return { + skuId: 0, + goodsId: 0, + isIphoneX: false, //判断手机是否是iphoneX以上 + whetherCollection: 0, + + //是否开启预览,0:不开启,1:开启 + preview: 0, + videoContext: '', + + // 媒体,图片,视频 + + // 解决每个商品SKU图片数量不同时,无法切换到第一个,导致轮播图显示不出来 + swiperInterval: 1, + swiperAutoplay: false, + swiperCurrent: 1, + switchMedia: 'img', + + //评价 + goodsEvaluate: [{ + member_headimg: '', + member_name: '', + content: '', + images: [], + create_time: 0, + sku_name: '' + }], + evaluateConfig: { + evaluate_audit: 1, + evaluate_show: 0, + evaluate_status: 1 + }, + + // 是否可分享到好物圈 + goodsCircle: false, + service: null, + shareUrl: '', // 分享链接 + source_member: 0, //分享人的id + isCommunity: false, //社群弹窗 + + poster: "-1", //海报 + posterMsg: "", //海报错误信息 + posterHeight: 0, + posterParams: {}, //海报所需参数 + goodsRoute: '', + posterApi: '', + goodsAttrShow: false, // 商品属性是否展开 + + //门店列表 + storeList: { + data: [], + page: 1, + page_size: 10 + }, + isShowStore: false, + latitude: null, // 纬度 + longitude: null, // 经度 + evaluateCount: 0, // 商品评论数量 + deliveryType: null, // 配送方式 + isVirtual: 0, //是否为虚拟商品 + + // 详情 Tab: 'html' 商品详情 / 'pdf' 文档详情 + detailTab: 'html' + } + }, + created() { + this.isIphoneX = this.$util.uniappIsIPhoneX(); + + if (this.location) { + this.latitude = this.location.latitude; + this.longitude = this.location.longitude; + } else { + this.$util.getLocation(); + } + this.getStoreData(); + }, + watch: { + location: function (nVal) { + if (nVal) { + this.latitude = nVal.latitude; + this.longitude = nVal.longitude; + this.getStoreData(); + } + }, + // 跟随 goodsSkuDetail 变化重新决定默认 Tab + // 解决 refreshGoodsSkuDetail 后续合并 pdf_url 时,Tab 已显示但 detailTab 仍为 'html' 的问题 + goodsSkuDetail: { + deep: true, + immediate: true, + handler(newVal) { + if (!newVal) return; + if (newVal.pdf_url) { + this.detailTab = 'pdf'; + } else if (newVal.goods_content) { + this.detailTab = 'html'; + } + } + } + }, + methods: { + init(params) { + this.skuId = params.sku_id; + this.goodsId = params.goods_id; + this.preview = params.preview; + this.source_member = params.source_member; + this.whetherCollection = params.whetherCollection; + this.posterParams = params.posterParams; + + this.shareUrl = params.shareUrl; + this.goodsRoute = params.goodsRoute; + this.posterApi = params.posterApi; + this.isVirtual = params.isVirtual; + this.deliveryType = params.deliveryType; + this.evaluateConfig = params.evaluateConfig; + + if (this.evaluateConfig.evaluate_show == 1) { + //商品评论 + this.getGoodsEvaluate(params.evaluateList); + this.evaluateCount = params.evaluateCount; + } + + for (let k in this.deliveryType) { + if (k == 'store') { + this.isShowStore = true; + } + } + + this.getService(); + + this.videoContext = uni.createVideoContext('goodsVideo'); + + // #ifdef MP-WEIXIN + this.goodsSyncToGoodsCircle(); + // #endif + + }, + swiperChange(e) { + this.swiperCurrent = e.detail.current + 1; + }, + + //-------------------------------------服务------------------------------------- + + openMerchantsServicePopup() { + this.$refs.merchantsServicePopup.open(); + }, + closeMerchantsServicePopup() { + this.$refs.merchantsServicePopup.close(); + }, + + //-------------------------------------门店列表------------------------------------- + openStoreListPopup() { + this.$refs.storeListPopup.open(); + }, + closeStoreListPopup() { + this.$refs.storeListPopup.close(); + }, + getStoreData() { + //门店列表 + let data = { + page: this.storeList.page, + page_size: this.storeList.page_size + }; + if (this.latitude && this.longitude) { + data.latitude = this.latitude; + data.longitude = this.longitude; + } + this.$api.sendRequest({ + url: '/api/store/page', + data: data, + success: res => { + if (this.storeList.page == 1) this.storeList.data == []; + if (res.code >= 0 && res.data) { + this.storeList.data = this.storeList.data.concat(res.data.list); + } else { + this.$util.showToast({ + title: res.message + }); + } + } + }); + }, + selectStore(item) { + this.$util.redirectTo('/pages_tool/store/detail', { + store_id: item.store_id + }); + this.closeStoreListPopup(); + }, + //-------------------------------------属性------------------------------------- + + switchGoodsAttr() { + this.goodsAttrShow = !this.goodsAttrShow; + }, + //-------------------------------------评价------------------------------------- + //商品评论列表 + getGoodsEvaluate(list) { + if (list) { + this.goodsEvaluate = list; + this.goodsEvaluate.forEach((item, index) => { + if (this.goodsEvaluate[index].images) this.goodsEvaluate[index].images = this.goodsEvaluate[index].images.split(","); + if (this.goodsEvaluate[index].is_anonymous == 1) this.goodsEvaluate[index].member_name = this.goodsEvaluate[index].member_name.replace(this.goodsEvaluate[index].member_name.substring(1, this.goodsEvaluate[index].member_name.length - 1), '***') + }) + // if (this.goodsEvaluate.images) this.goodsEvaluate.images = this.goodsEvaluate.images.split(","); + // if (this.goodsEvaluate.is_anonymous == 1) this.goodsEvaluate.member_name = this.goodsEvaluate.member_name.replace( + // this.goodsEvaluate.member_name.substring(1, this.goodsEvaluate.member_name.length - 1), '***') + } + }, + // 预览评价图片 + previewEvaluate(index, img_index, field) { + var paths = []; + for (let i = 0; i < this.goodsEvaluate[index][field].length; i++) { + paths.push(this.$util.img(this.goodsEvaluate[index][field][i])); + } + uni.previewImage({ + current: img_index, + urls: paths + }); + }, + //-------------------------------------关注------------------------------------- + async collection() { + if (this.preview) return; // 开启预览,禁止任何操作和跳转 + + if (this.storeToken) { + + //未关注添加关注 + if (this.whetherCollection == 0) { + let res = await this.$api.sendRequest({ + url: "/api/goodscollect/add", + data: { + sku_id: this.skuId, + goods_id: this.goodsSkuDetail.goods_id, + sku_name: this.goodsSkuDetail.sku_name, + sku_price: this.goodsSkuDetail.show_price, + sku_image: this.goodsSkuDetail.sku_image + }, + async: false, + }); + var data = res.data; + if (data > 0) { + this.whetherCollection = 1; + } + } else { + //已关注取消关注 + let res = await this.$api.sendRequest({ + url: "/api/goodscollect/delete", + data: { + goods_id: this.goodsSkuDetail.goods_id + }, + async: false, + }); + var data = res.data; + if (data > 0) { + this.whetherCollection = 0; + } + } + return this.whetherCollection; + } else { + if (this.source_member) { + this.$refs.login.open(this.shareUrl + '&source_member=' + this.source_member); + } else { + this.$refs.login.open(this.shareUrl); + } + } + }, + //-------------------------------------分享------------------------------------- + // 打开分享弹出层 + openSharePopup() { + this.$refs.sharePopup.open(); + }, + // 关闭分享弹出层 + closeSharePopup() { + this.$refs.sharePopup.close(); + }, + copyUrl() { + let text = this.$config.h5Domain + this.shareUrl; + if (this.memberInfo && this.memberInfo.member_id) text += '&source_member=' + this.memberInfo.member_id; + this.$util.copy(text, () => { + this.closeSharePopup(); + }); + }, + + //-------------------------------------海报------------------------------------- + // 打开海报弹出层 + openPosterPopup() { + this.getGoodsPoster(); + this.$refs.sharePopup.close(); + }, + // 关闭海报弹出层 + closePosterPopup() { + this.$refs.posterPopup.close(); + this.poster = '' + }, + //生成海报 + getGoodsPoster() { + uni.showLoading({ + 'title': $lang('goods._components.goods-detail-view.detail.l285.t0') + }) + //活动海报信息 + if (this.memberInfo && this.memberInfo.member_id) this.posterParams.source_member = this.memberInfo.member_id; + + this.$api.sendRequest({ + url: this.posterApi, + data: { + page: this.goodsRoute, + qrcode_param: JSON.stringify(this.posterParams) + }, + success: res => { + if (res.code == 0) { + this.$refs.posterPopup.open(); + this.poster = res.data.path + "?time=" + new Date().getTime(); + } else { + this.posterMsg = res.message; + this.$util.showToast({ + title: res.message + }) + } + uni.hideLoading(); + }, + fail: err => { + uni.hideLoading(); + } + }); + }, + // 预览图片 + previewMedia(index) { + var paths = []; + for (let i = 0; i < this.goodsSkuDetail.sku_images.length; i++) { + paths.push(this.$util.img(this.goodsSkuDetail.sku_images[i], { + size: 'big' + })); + } + uni.previewImage({ + current: index, + urls: paths, + // longPressActions: { + // itemList: ['发送给朋友', '保存图片', '关注'], + // success: function(data) { + // console.log('选中了第' + (data.tapIndex + 1) + '个按钮,第' + (data.index + 1) + '张图片'); + // }, + // fail: function(err) { + // console.log(err.errMsg); + // } + // } + }); + }, + swiperImageError(index) { + this.goodsSkuDetail.sku_images[index] = this.$util.getDefaultImage().goods; + this.$forceUpdate(); + }, + // #ifdef MP || APP-PLUS + //小程序中保存海报 + saveGoodsPoster() { + let url = this.$util.img(this.poster); + uni.downloadFile({ + url: url, + success: (res) => { + if (res.errMsg == "downloadFile:ok") { + uni.saveImageToPhotosAlbum({ + filePath: res.tempFilePath, + success: () => { + this.$util.showToast({ + title: $lang("goods._components.goods-detail-view.detail.l351.t0") + }); + }, + fail: (err) => { + this.$util.showToast({ + title: $lang("goods._components.goods-detail-view.detail.l356.t0") + }); + } + }); + } + }, + fail: (err) => { + this.$util.showToast({ + title: $lang("goods._components.goods-detail-view.detail.l356.t0") + }); + } + }); + }, + // #endif + //售后保障查询 + getService() { + this.$api.sendRequest({ + url: '/api/goods/aftersale', + success: res => { + if (res.code == 0 && res.data) { + this.service = res.data; + } + } + }); + }, + + // #ifdef MP-WEIXIN + /** + * 将商品同步到微信圈子 + */ + goodsSyncToGoodsCircle() { + this.$api.sendRequest({ + url: '/goodscircle/api/goods/sync', + data: { + goods_id: this.goodsSkuDetail.goods_id + }, + success: res => { + if (res.code == 0) { + this.goodsCircle = true; + } + } + }) + }, + /** + * 将商品推荐到微信圈子 + */ + openBusinessView() { + if (wx.openBusinessView) { + wx.openBusinessView({ + businessType: 'friendGoodsRecommend', + extraData: { + product: { + item_code: this.goodsSkuDetail.goods_id, + title: this.goodsSkuDetail.sku_name, + image_list: this.goodsSkuDetail.sku_images.map((ele) => { + return this.$util.img(ele); + }) + } + }, + success: function (res) { + }, + fail: function (res) { + } + }) + } + }, + // #endif + toEvaluateDetail(id) { + this.$util.redirectTo('/pages_tool/goods/evaluate', { + goods_id: id + }); + }, + showImg(e) { + //拿到图片的路径里面的内容放在我们数组中 + let contentimg = e.target.dataset.nodes; + let arrImg = []; + for (var i = 0; i < contentimg.length; i++) { + var img = contentimg[i].children; + if (Array.isArray(img)) { + for (var j = 0; j < img.length; j++) { + if (img[j].attrs && img[j].name == "img") { + if (img[j].attrs.src) { + arrImg.push(img[j].attrs.src) + } + } + } + } + } + //最后一步就是把我们的所有图片放在预览的api中就可以了 + uni.previewImage({ + current: arrImg, + urls: arrImg, + }) + }, + + //-------------------------------------社群------------------------------------- + + //添加福利群 + onCommunity() { + this.isCommunity = true + }, + onCloseCommunity() { + this.isCommunity = false + }, + + //-------------------------------------PDF文档------------------------------------- + // 切换详情 Tab + switchDetailTab(tab) { + if (tab !== 'html' && tab !== 'pdf') return; + this.detailTab = tab; + }, + onTapDoc(pdf_url) { + if (!pdf_url) return; + uni.showLoading({ + title: '正在加载' + }); + let url = this.$util.img(pdf_url); + uni.downloadFile({ + url: url, + success: (res) => { + if (res.statusCode === 200) { + let filePath = res.tempFilePath; + uni.openDocument({ + filePath: filePath, + success: () => { + console.log('打开成功'); + }, + fail: () => {}, + complete: () => { + uni.hideLoading(); + } + }); + } + }, + fail: (res) => { + uni.hideLoading(); + }, + complete: (res) => { + if (res.statusCode === 404) { + uni.showToast({ + title: '文件不存在', + icon: 'none' + }); + } + } + }); + }, + + } + } \ No newline at end of file diff --git a/pages_goods/_components/goods-detail-view/goods-detail-view.vue b/pages_goods/_components/goods-detail-view/goods-detail-view.vue index 03d718c..3ac445c 100644 --- a/pages_goods/_components/goods-detail-view/goods-detail-view.vue +++ b/pages_goods/_components/goods-detail-view/goods-detail-view.vue @@ -1,532 +1,679 @@ - - - - - - + \ No newline at end of file diff --git a/pages_goods/_components/ns-goods-promotion/ns-goods-promotion.vue b/pages_goods/_components/ns-goods-promotion/ns-goods-promotion.vue index 93c8905..7302f54 100644 --- a/pages_goods/_components/ns-goods-promotion/ns-goods-promotion.vue +++ b/pages_goods/_components/ns-goods-promotion/ns-goods-promotion.vue @@ -1,125 +1,125 @@ - - - - - + + + + + diff --git a/pages_goods/cart.vue b/pages_goods/cart.vue index b8dea99..6414191 100644 --- a/pages_goods/cart.vue +++ b/pages_goods/cart.vue @@ -1,390 +1,390 @@ - - - - - \ No newline at end of file diff --git a/pages_goods/cart.vue.bak b/pages_goods/cart.vue.bak new file mode 100644 index 0000000..b8dea99 --- /dev/null +++ b/pages_goods/cart.vue.bak @@ -0,0 +1,390 @@ + + + + + \ No newline at end of file diff --git a/pages_goods/category.vue b/pages_goods/category.vue index 7f265db..f8b1c05 100644 --- a/pages_goods/category.vue +++ b/pages_goods/category.vue @@ -1,149 +1,149 @@ - - - - - \ No newline at end of file diff --git a/pages_goods/detail.vue b/pages_goods/detail.vue index 16437a8..0127d51 100644 --- a/pages_goods/detail.vue +++ b/pages_goods/detail.vue @@ -1,760 +1,760 @@ - - - - - - + + + + + + diff --git a/pages_goods/list.vue b/pages_goods/list.vue index 1e0f8b9..24c2de5 100644 --- a/pages_goods/list.vue +++ b/pages_goods/list.vue @@ -1,269 +1,269 @@ - - - - - - + \ No newline at end of file diff --git a/pages_goods/public/js/cart.js b/pages_goods/public/js/cart.js index 35134f6..c50e84b 100644 --- a/pages_goods/public/js/cart.js +++ b/pages_goods/public/js/cart.js @@ -1,598 +1,598 @@ -import common from './common.js'; - -export default { - mixins: [common], - data() { - return { - cartData: [], // 购物车 - checkAll: true, - totalPrice: '0.00', - totalCount: 0, - isSub: false, - invalidGoods: [], // 失效商品集合 - isIphoneX: false, //判断手机是否是iphoneX以上, - isAction: false, // 是否操作删除 - goodsSkuDetail: null, - discount: {}, - manjian: {}, - receiveSub: false, - discountPopupShow: false, - startX: '', // 触摸开始位置 - endX: '', // 触摸结束位置 - refresherTriggered: false, // 设置当前下拉刷新状态,true 表示下拉刷新已经被触发,false 表示下拉刷新未被触发 - timeout: {} - }; - }, - onLoad() { - uni.hideTabBar(); - this.isIphoneX = this.$util.uniappIsIPhoneX(); - }, - onShow() { - if (this.storeToken) { - this.getCartData(); - } else { - this.cartData = []; - this.invalidGoods = []; - this.calculationTotalPrice(); - } - }, - onHide() { - this.isAction = false; - }, - onUnload() { - if (!this.storeToken && this.$refs.login) this.$refs.login.cancelCompleteInfo(); - }, - onReady() { - if (!this.storeToken) { - if (this.$refs.loadingCover) this.$refs.loadingCover.hide(); - } - }, - computed: { - hasData() { - return this.cartData.length > 0 || this.invalidGoods.length > 0; - } - }, - methods: { - initNum(item) { - let max_buy = item.max_buy > 0 && item.max_buy < item.stock ? item.max_buy : item.stock; - max_buy = max_buy == 0 ? 1 : max_buy; - if (item.num > max_buy) return max_buy; - return item.num; - }, - /** - * 获取购物车数据 - */ - getCartData() { - this.$api.sendRequest({ - url: '/api/cart/goodslists', - success: res => { - if (res.code >= 0) { - if (res.data.length) this.handleCartData(res.data); - else this.cartData = []; - } - this.refresherTriggered = false; - if (this.$refs.loadingCover) this.$refs.loadingCover.hide(); - }, - fail: res => { - if (this.$refs.loadingCover) this.$refs.loadingCover.hide(); - } - }); - }, - /** - * 处理购物车数据结构 - */ - handleCartData(data) { - this.invalidGoods = []; - this.cartData = []; - var temp = {}; - data.forEach((item, index) => { - if (item.goods_state == 1) { - if (item.store_goods_status != undefined && item.store_goods_status != 1) { - this.invalidGoods.push(item); - } else if (item.min_buy > 0 && item.min_buy > item.stock) { - // 如果最小限购超出库存则该商品失效 - this.invalidGoods.push(item); - } else { - item.checked = true; - item.edit = false; - if (temp['site_' + item.site_id] != undefined) { - temp['site_' + item.site_id].cartList.push(item); - } else { - temp['site_' + item.site_id] = { - siteId: item.site_id, - siteName: item.site_name, - edit: false, - checked: true, - cartList: [item] - }; - } - } - } else { - this.invalidGoods.push(item); - } - }); - - this.cartData = []; - Object.keys(temp).forEach(key => { - this.cartData.push(temp[key]); - }); - this.calculationTotalPrice(); - if (this.cartData.length) { - this.cartData[0].cartList.forEach(v => { - if (v.sku_spec_format) { - v.sku_spec_format = JSON.parse(v.sku_spec_format); - } else { - v.sku_spec_format = []; - } - }); - } - if (this.invalidGoods.length) { - this.invalidGoods.forEach(v => { - if (v.sku_spec_format) { - v.sku_spec_format = JSON.parse(v.sku_spec_format); - } else { - v.sku_spec_format = []; - } - }); - } - }, - /** - * 单选 - * @param siteIndex - * @param index - */ - singleElection(siteIndex, index) { - this.cartData[siteIndex].cartList[index].checked = !this.cartData[siteIndex].cartList[index].checked; - this.calculationTotalPrice(); - }, - /** - * 店铺全选 - * @param checked - * @param index - */ - siteAllElection(checked, index) { - this.cartData[index].checked = checked; - this.cartData[index].cartList.forEach(item => { - item.checked = checked; - }); - this.calculationTotalPrice(); - }, - /** - * 全选 - */ - allElection(checked) { - if (typeof checked == 'boolean') { - this.checkAll = checked; - } else { - this.checkAll = !this.checkAll; - } - if (this.cartData.length) { - this.cartData.forEach(siteItem => { - siteItem.checked = this.checkAll; - siteItem.cartList.forEach(item => { - item.checked = this.checkAll; - }); - }); - } - this.calculationTotalPrice(); - }, - /** - * 计算购物车总价 - */ - calculationTotalPrice() { - if (this.cartData.length) { - let totalPrice = 0, - totalCount = 0, - siteAllElectionCount = 0; - - this.cartData.forEach(siteItem => { - let siteGoodsCount = 0; - siteItem.cartList.forEach(item => { - if (item.checked) { - siteGoodsCount += 1; - totalCount += parseInt(item.num); - if (Number(item.member_price) > 0 && Number(item.member_price) < Number(item.discount_price)) { - totalPrice += item.member_price * item.num; - } else { - totalPrice += item.discount_price * item.num; - } - } - }); - if (siteItem.cartList.length == siteGoodsCount) { - siteItem.checked = true; - siteAllElectionCount += 1; - } else { - siteItem.checked = false; - } - }); - this.totalPrice = totalPrice.toFixed(2); - this.totalCount = totalCount; - this.checkAll = this.cartData.length == siteAllElectionCount; - } else { - this.totalPrice = '0.00'; - this.totalCount = 0; - } - this.discountCalculate(); - }, - /** - * 删除购物车 - * @param tag - * @param siteIndex - * @param cartIndex - */ - deleteCart(tag, siteIndex, cartIndex) { - var cart_id = []; - if (tag == 'all') { - for (let i = 0; i < this.cartData.length; i++) { - for (let j = 0; j < this.cartData[i].cartList.length; j++) { - if (this.cartData[i].cartList[j].checked) cart_id.push(this.cartData[i].cartList[j].cart_id); - } - } - } else { - cart_id.push(this.cartData[siteIndex].cartList[cartIndex].cart_id); - } - if (cart_id.length == 0) { - this.$util.showToast({ - title: '请选择要删除的商品' - }); - return; - } - - uni.showModal({ - title: '提示', - content: cart_id.length > 1 ? '确定要删除这些商品吗?' : '确定要删除该商品吗?', - success: res => { - if (res.confirm) { - cart_id = cart_id.toString(); - - this.$api.sendRequest({ - url: '/api/cart/delete', - data: { - cart_id - }, - success: res => { - if (res.code >= 0) { - - if (tag == 'all') { - // 全选 - for (var i = 0; i < this.cartData.length; i++) { - for (var j = 0; j < this.cartData[i].cartList.length; j++) { - var item = this.cartData[i].cartList[j]; - if (item.checked) { - this.cartData[i].cartList.splice(j, 1); - j = -1; - } - } - if (this.cartData[i].cartList.length == 0) { - this.cartData.splice(i, 1); - i = -1; - } - } - - this.$store.dispatch('emptyCart'); - } else { - let item = this.cartData[siteIndex].cartList; - let goods_id = item[cartIndex].goods_id; - let sku_id = item[cartIndex].sku_id; - - delete this.cartList['goods_' + goods_id]['sku_' + sku_id]; - if (Object.keys(this.cartList['goods_' + goods_id]).length == 2) { - delete this.cartList['goods_' + goods_id]; - } - this.$store.dispatch('cartCalculate'); - - item.splice(cartIndex, 1); - if (item.length == 0) this.cartData.splice(siteIndex, 1); - - } - - this.resetEditStatus(); - this.calculationTotalPrice(); - } else { - this.$util.showToast({ - title: res.message - }); - } - } - }); - } - } - }); - }, - /** - * 变更购物车数量 - * @param {Object} params - */ - cartNumChange(num, params) { - if (isNaN(num)) return; - let data = this.cartData[params.siteIndex].cartList[params.cartIndex], - max_buy = data.is_limit && data.max_buy > 0 && data.max_buy < data.stock ? data.max_buy : data.stock, - min_buy = data.min_buy > 0 ? data.min_buy : 1; - if (num > max_buy) num = max_buy; - if (num < min_buy) num = min_buy; - - let cartId = this.cartData[params.siteIndex].cartList[params.cartIndex].cart_id - - if (this.timeout[cartId]) clearTimeout(this.timeout[cartId]) - - this.timeout[cartId] = setTimeout(() => { - this.$api.sendRequest({ - url: '/api/cart/edit', - data: { - num, - cart_id: cartId - }, - success: res => { - if (res.code >= 0) { - let item = this.cartData[params.siteIndex].cartList[params.cartIndex]; - let goods_id = item.goods_id; - let sku_id = item.sku_id; - item.num = num; - - this.cartList['goods_' + goods_id]['sku_' + sku_id].num = num; - this.$store.dispatch('cartCalculate'); - this.resetEditStatus(); - - this.calculationTotalPrice(); - } else { - this.$util.showToast({ - title: res.message - }); - } - } - }); - }, 800) - }, - /** - * 结算 - */ - settlement() { - if (this.totalCount > 0) { - let cart_ids = []; - this.cartData.forEach(siteItem => { - siteItem.cartList.forEach(item => { - if (item.checked) { - cart_ids.push(item.cart_id); - } - }); - }); - - if (this.discount.coupon_info && this.discount.coupon_info.receive_type == 'wait') this.receiveCoupon( - this.discount.coupon_info.coupon_type_id, false); - - if (this.isSub) return; - this.isSub = true; - - uni.removeStorageSync('delivery'); - uni.setStorage({ - key: 'orderCreateData', - data: { - cart_ids: cart_ids.toString() - }, - success: () => { - this.$util.redirectTo('/pages_order/payment'); - this.isSub = false; - } - }); - } - }, - /** - * 清空失效商品 - */ - clearInvalidGoods() { - uni.showModal({ - title: '提示', - content: '确定要清空这些商品吗?', - success: res => { - if (res.confirm) { - var cart_ids = []; - this.invalidGoods.forEach(goodsItem => { - cart_ids.push(goodsItem.cart_id); - }); - if (cart_ids.length) { - this.$api.sendRequest({ - url: '/api/cart/delete', - data: { - cart_id: cart_ids.toString() - }, - success: res => { - if (res.code >= 0) { - this.invalidGoods = []; - this.refreshCartNumber(); - } else { - this.$util.showToast({ - title: res.message - }); - } - } - }); - } - } - } - }); - }, - imageError(siteIndex, cartIndex) { - this.cartData[siteIndex].cartList[cartIndex].sku_image = this.$util.getDefaultImage().goods; - this.$forceUpdate(); - }, - toGoodsDetail(item) { - this.$util.redirectTo('/pages_goods/detail', { - sku_id: item.sku_id - }); - }, - // 购物车数量 - refreshCartNumber() { - if (this.storeToken) { - this.$store.dispatch('getCartNumber'); - this.resetEditStatus(); - } - }, - goodsLimit(event, params) { - let data = this.cartData[params.siteIndex].cartList[params.cartIndex]; - if (event.type == 'plus') { - if (data.max_buy > 0 && data.max_buy < data.stock) { - this.$util.showToast({ - title: '该商品每人限购' + data.max_buy + '件' - }); - } else { - this.$util.showToast({ - title: '库存不足' - }); - } - } else { - // 数量减至最少时,则删除商品 - this.deleteCart('single', params.siteIndex, params.cartIndex); - // this.$util.showToast({ - // title: '最少购买' + event.value + '件' - // }); - } - }, - // 重置编辑状态 - resetEditStatus() { - if (this.cartData.length) { - for (var i = 0; i < this.cartData[0].cartList.length; i++) { - this.cartData[0].cartList[i].edit = false; - } - this.$forceUpdate(); - } - }, - changeAction() { - this.isAction = !this.isAction; - this.resetEditStatus(); - }, - selectSku(data) { - let goodsSkuDetail = this.$util.deepClone(data); - if (goodsSkuDetail.goods_spec_format) goodsSkuDetail.goods_spec_format = JSON.parse(goodsSkuDetail.goods_spec_format); - this.goodsSkuDetail = goodsSkuDetail; - - this.$nextTick(() => { - this.$refs.selectSku.show('confirm', (sku_id, num) => { - this.$api.sendRequest({ - url: '/api/cart/editcartsku', - data: { - cart_id: data.cart_id, - sku_id: sku_id, - num: num - }, - success: res => { - if (res.code >= 0) { - this.invalidGoods = []; - this.getCartData(); - this.refreshCartNumber(); - } else { - this.$util.showToast({ - title: res.message - }); - } - } - }); - }, this.goodsSkuDetail); - }) - }, - toggleDiscountPopup() { - if (this.$refs.discountPopup.showPopup) this.$refs.discountPopup.close(); - else this.$refs.discountPopup.open(); - this.discountPopupShow = !this.discountPopupShow; - }, - /** - * 优惠信息计算 - */ - discountCalculate() { - if (this.cartData.length == 0) return; - let skuIds = []; - this.cartData.forEach(siteItem => { - siteItem.cartList.forEach(item => { - if (item.checked) { - skuIds.push({ - sku_id: item.sku_id, - num: item.num - }); - } - }); - }); - if (skuIds.length == 0) { - this.discount = {}; - return; - } - - this.$api.sendRequest({ - url: '/api/cartcalculate/calculate', - data: { - sku_ids: JSON.stringify(skuIds) - }, - success: res => { - if (res.code >= 0 && res.data && (res.data.coupon_money > 0 || res.data.promotion_money > 0)) { - this.discount = res.data; - let manjian = {}; - res.data.goods_list.forEach(item => { - if (item.promotion && item.promotion.manjian) { - manjian['sku_' + item.sku_id] = JSON.parse(item.promotion.manjian.rule_json); - } - }) - Object.assign(this.manjian, manjian); - this.refresherTriggered = false; - } else { - this.discount = {}; - } - } - }) - }, - /** - * 领取优惠券 - * tips 失败时是否提示 - * @param {Object} couponTypeId - */ - receiveCoupon(couponTypeId, tips = true) { - if (this.receiveSub) return; - this.receiveSub = true; - this.$api.sendRequest({ - url: '/coupon/api/coupon/receive', - data: { - coupon_type_id: couponTypeId, - get_type: 2 //获取方式:1订单2.直接领取3.活动领取 - }, - success: res => { - if (res.code == 0) { - this.$set(this.discount.coupon_info, 'receive_type', ''); - } else { - if (tips) this.$util.showToast({ - title: res.message - }); - this.receiveSub = false; - } - } - }); - }, - // 手指触摸事件 用于菜单左滑 - touchS(e) { - this.startX = e.touches[0].clientX; - }, - touchE(e, cartIndex) { - this.endX = e.changedTouches[0].clientX; - // 触摸开始到停止的差值,小于0左滑,大于0右滑 - var disX = this.startX - this.endX; - // cartIndex.edit = disX > 50; - if (disX > 50) cartIndex.edit = true; - else if (disX < 0) cartIndex.edit = false; - this.$forceUpdate(); - }, - moneyFormat(money) { - if (isNaN(parseFloat(money))) return money; - return parseFloat(money).toFixed(2); - }, - refreshSkuDetail(goodsSkuDetail) { - this.goodsSkuDetail = goodsSkuDetail; - }, - onRefresh(e) { - this.refresherTriggered = true; - if (this.storeToken) { - this.getCartData(); - this.refreshCartNumber(); - } else { - this.cartData = []; - this.invalidGoods = []; - this.calculationTotalPrice(); - } - } - }, +import common from './common.js'; + +export default { + mixins: [common], + data() { + return { + cartData: [], // 购物车 + checkAll: true, + totalPrice: '0.00', + totalCount: 0, + isSub: false, + invalidGoods: [], // 失效商品集合 + isIphoneX: false, //判断手机是否是iphoneX以上, + isAction: false, // 是否操作删除 + goodsSkuDetail: null, + discount: {}, + manjian: {}, + receiveSub: false, + discountPopupShow: false, + startX: '', // 触摸开始位置 + endX: '', // 触摸结束位置 + refresherTriggered: false, // 设置当前下拉刷新状态,true 表示下拉刷新已经被触发,false 表示下拉刷新未被触发 + timeout: {} + }; + }, + onLoad() { + uni.hideTabBar(); + this.isIphoneX = this.$util.uniappIsIPhoneX(); + }, + onShow() { + if (this.storeToken) { + this.getCartData(); + } else { + this.cartData = []; + this.invalidGoods = []; + this.calculationTotalPrice(); + } + }, + onHide() { + this.isAction = false; + }, + onUnload() { + if (!this.storeToken && this.$refs.login) this.$refs.login.cancelCompleteInfo(); + }, + onReady() { + if (!this.storeToken) { + if (this.$refs.loadingCover) this.$refs.loadingCover.hide(); + } + }, + computed: { + hasData() { + return this.cartData.length > 0 || this.invalidGoods.length > 0; + } + }, + methods: { + initNum(item) { + let max_buy = item.max_buy > 0 && item.max_buy < item.stock ? item.max_buy : item.stock; + max_buy = max_buy == 0 ? 1 : max_buy; + if (item.num > max_buy) return max_buy; + return item.num; + }, + /** + * 获取购物车数据 + */ + getCartData() { + this.$api.sendRequest({ + url: '/api/cart/goodslists', + success: res => { + if (res.code >= 0) { + if (res.data.length) this.handleCartData(res.data); + else this.cartData = []; + } + this.refresherTriggered = false; + if (this.$refs.loadingCover) this.$refs.loadingCover.hide(); + }, + fail: res => { + if (this.$refs.loadingCover) this.$refs.loadingCover.hide(); + } + }); + }, + /** + * 处理购物车数据结构 + */ + handleCartData(data) { + this.invalidGoods = []; + this.cartData = []; + var temp = {}; + data.forEach((item, index) => { + if (item.goods_state == 1) { + if (item.store_goods_status != undefined && item.store_goods_status != 1) { + this.invalidGoods.push(item); + } else if (item.min_buy > 0 && item.min_buy > item.stock) { + // 如果最小限购超出库存则该商品失效 + this.invalidGoods.push(item); + } else { + item.checked = true; + item.edit = false; + if (temp['site_' + item.site_id] != undefined) { + temp['site_' + item.site_id].cartList.push(item); + } else { + temp['site_' + item.site_id] = { + siteId: item.site_id, + siteName: item.site_name, + edit: false, + checked: true, + cartList: [item] + }; + } + } + } else { + this.invalidGoods.push(item); + } + }); + + this.cartData = []; + Object.keys(temp).forEach(key => { + this.cartData.push(temp[key]); + }); + this.calculationTotalPrice(); + if (this.cartData.length) { + this.cartData[0].cartList.forEach(v => { + if (v.sku_spec_format) { + v.sku_spec_format = JSON.parse(v.sku_spec_format); + } else { + v.sku_spec_format = []; + } + }); + } + if (this.invalidGoods.length) { + this.invalidGoods.forEach(v => { + if (v.sku_spec_format) { + v.sku_spec_format = JSON.parse(v.sku_spec_format); + } else { + v.sku_spec_format = []; + } + }); + } + }, + /** + * 单选 + * @param siteIndex + * @param index + */ + singleElection(siteIndex, index) { + this.cartData[siteIndex].cartList[index].checked = !this.cartData[siteIndex].cartList[index].checked; + this.calculationTotalPrice(); + }, + /** + * 店铺全选 + * @param checked + * @param index + */ + siteAllElection(checked, index) { + this.cartData[index].checked = checked; + this.cartData[index].cartList.forEach(item => { + item.checked = checked; + }); + this.calculationTotalPrice(); + }, + /** + * 全选 + */ + allElection(checked) { + if (typeof checked == 'boolean') { + this.checkAll = checked; + } else { + this.checkAll = !this.checkAll; + } + if (this.cartData.length) { + this.cartData.forEach(siteItem => { + siteItem.checked = this.checkAll; + siteItem.cartList.forEach(item => { + item.checked = this.checkAll; + }); + }); + } + this.calculationTotalPrice(); + }, + /** + * 计算购物车总价 + */ + calculationTotalPrice() { + if (this.cartData.length) { + let totalPrice = 0, + totalCount = 0, + siteAllElectionCount = 0; + + this.cartData.forEach(siteItem => { + let siteGoodsCount = 0; + siteItem.cartList.forEach(item => { + if (item.checked) { + siteGoodsCount += 1; + totalCount += parseInt(item.num); + if (Number(item.member_price) > 0 && Number(item.member_price) < Number(item.discount_price)) { + totalPrice += item.member_price * item.num; + } else { + totalPrice += item.discount_price * item.num; + } + } + }); + if (siteItem.cartList.length == siteGoodsCount) { + siteItem.checked = true; + siteAllElectionCount += 1; + } else { + siteItem.checked = false; + } + }); + this.totalPrice = totalPrice.toFixed(2); + this.totalCount = totalCount; + this.checkAll = this.cartData.length == siteAllElectionCount; + } else { + this.totalPrice = '0.00'; + this.totalCount = 0; + } + this.discountCalculate(); + }, + /** + * 删除购物车 + * @param tag + * @param siteIndex + * @param cartIndex + */ + deleteCart(tag, siteIndex, cartIndex) { + var cart_id = []; + if (tag == 'all') { + for (let i = 0; i < this.cartData.length; i++) { + for (let j = 0; j < this.cartData[i].cartList.length; j++) { + if (this.cartData[i].cartList[j].checked) cart_id.push(this.cartData[i].cartList[j].cart_id); + } + } + } else { + cart_id.push(this.cartData[siteIndex].cartList[cartIndex].cart_id); + } + if (cart_id.length == 0) { + this.$util.showToast({ + title: $lang('goods.public.js.cart.l236') + }); + return; + } + + uni.showModal({ + title: $lang('common.wxwork-contact.l202.t0'), + content: cart_id.length > 1 ? '确定要删除这些商品吗?' : $lang('goods.public.js.cart.l243'), + success: res => { + if (res.confirm) { + cart_id = cart_id.toString(); + + this.$api.sendRequest({ + url: '/api/cart/delete', + data: { + cart_id + }, + success: res => { + if (res.code >= 0) { + + if (tag == 'all') { + // 全选 + for (var i = 0; i < this.cartData.length; i++) { + for (var j = 0; j < this.cartData[i].cartList.length; j++) { + var item = this.cartData[i].cartList[j]; + if (item.checked) { + this.cartData[i].cartList.splice(j, 1); + j = -1; + } + } + if (this.cartData[i].cartList.length == 0) { + this.cartData.splice(i, 1); + i = -1; + } + } + + this.$store.dispatch('emptyCart'); + } else { + let item = this.cartData[siteIndex].cartList; + let goods_id = item[cartIndex].goods_id; + let sku_id = item[cartIndex].sku_id; + + delete this.cartList['goods_' + goods_id]['sku_' + sku_id]; + if (Object.keys(this.cartList['goods_' + goods_id]).length == 2) { + delete this.cartList['goods_' + goods_id]; + } + this.$store.dispatch('cartCalculate'); + + item.splice(cartIndex, 1); + if (item.length == 0) this.cartData.splice(siteIndex, 1); + + } + + this.resetEditStatus(); + this.calculationTotalPrice(); + } else { + this.$util.showToast({ + title: res.message + }); + } + } + }); + } + } + }); + }, + /** + * 变更购物车数量 + * @param {Object} params + */ + cartNumChange(num, params) { + if (isNaN(num)) return; + let data = this.cartData[params.siteIndex].cartList[params.cartIndex], + max_buy = data.is_limit && data.max_buy > 0 && data.max_buy < data.stock ? data.max_buy : data.stock, + min_buy = data.min_buy > 0 ? data.min_buy : 1; + if (num > max_buy) num = max_buy; + if (num < min_buy) num = min_buy; + + let cartId = this.cartData[params.siteIndex].cartList[params.cartIndex].cart_id + + if (this.timeout[cartId]) clearTimeout(this.timeout[cartId]) + + this.timeout[cartId] = setTimeout(() => { + this.$api.sendRequest({ + url: '/api/cart/edit', + data: { + num, + cart_id: cartId + }, + success: res => { + if (res.code >= 0) { + let item = this.cartData[params.siteIndex].cartList[params.cartIndex]; + let goods_id = item.goods_id; + let sku_id = item.sku_id; + item.num = num; + + this.cartList['goods_' + goods_id]['sku_' + sku_id].num = num; + this.$store.dispatch('cartCalculate'); + this.resetEditStatus(); + + this.calculationTotalPrice(); + } else { + this.$util.showToast({ + title: res.message + }); + } + } + }); + }, 800) + }, + /** + * 结算 + */ + settlement() { + if (this.totalCount > 0) { + let cart_ids = []; + this.cartData.forEach(siteItem => { + siteItem.cartList.forEach(item => { + if (item.checked) { + cart_ids.push(item.cart_id); + } + }); + }); + + if (this.discount.coupon_info && this.discount.coupon_info.receive_type == 'wait') this.receiveCoupon( + this.discount.coupon_info.coupon_type_id, false); + + if (this.isSub) return; + this.isSub = true; + + uni.removeStorageSync('delivery'); + uni.setStorage({ + key: 'orderCreateData', + data: { + cart_ids: cart_ids.toString() + }, + success: () => { + this.$util.redirectTo('/pages_order/payment'); + this.isSub = false; + } + }); + } + }, + /** + * 清空失效商品 + */ + clearInvalidGoods() { + uni.showModal({ + title: $lang('common.wxwork-contact.l202.t0'), + content: $lang('goods.public.js.cart.l385'), + success: res => { + if (res.confirm) { + var cart_ids = []; + this.invalidGoods.forEach(goodsItem => { + cart_ids.push(goodsItem.cart_id); + }); + if (cart_ids.length) { + this.$api.sendRequest({ + url: '/api/cart/delete', + data: { + cart_id: cart_ids.toString() + }, + success: res => { + if (res.code >= 0) { + this.invalidGoods = []; + this.refreshCartNumber(); + } else { + this.$util.showToast({ + title: res.message + }); + } + } + }); + } + } + } + }); + }, + imageError(siteIndex, cartIndex) { + this.cartData[siteIndex].cartList[cartIndex].sku_image = this.$util.getDefaultImage().goods; + this.$forceUpdate(); + }, + toGoodsDetail(item) { + this.$util.redirectTo('/pages_goods/detail', { + sku_id: item.sku_id + }); + }, + // 购物车数量 + refreshCartNumber() { + if (this.storeToken) { + this.$store.dispatch('getCartNumber'); + this.resetEditStatus(); + } + }, + goodsLimit(event, params) { + let data = this.cartData[params.siteIndex].cartList[params.cartIndex]; + if (event.type == 'plus') { + if (data.max_buy > 0 && data.max_buy < data.stock) { + this.$util.showToast({ + title: $lang('common.ns-goods-sku.ns-goods-sku-category.l278.t0') + data.max_buy + $lang('common.ns-goods-sku.ns-goods-sku-index.l150.t0') + }); + } else { + this.$util.showToast({ + title: $lang('common.ns-goods-sku.ns-goods-sku-category.l264.t0') + }); + } + } else { + // 数量减至最少时,则删除商品 + this.deleteCart('single', params.siteIndex, params.cartIndex); + // this.$util.showToast({ + // title: '最少购买' + event.value + '件' + // }); + } + }, + // 重置编辑状态 + resetEditStatus() { + if (this.cartData.length) { + for (var i = 0; i < this.cartData[0].cartList.length; i++) { + this.cartData[0].cartList[i].edit = false; + } + this.$forceUpdate(); + } + }, + changeAction() { + this.isAction = !this.isAction; + this.resetEditStatus(); + }, + selectSku(data) { + let goodsSkuDetail = this.$util.deepClone(data); + if (goodsSkuDetail.goods_spec_format) goodsSkuDetail.goods_spec_format = JSON.parse(goodsSkuDetail.goods_spec_format); + this.goodsSkuDetail = goodsSkuDetail; + + this.$nextTick(() => { + this.$refs.selectSku.show('confirm', (sku_id, num) => { + this.$api.sendRequest({ + url: '/api/cart/editcartsku', + data: { + cart_id: data.cart_id, + sku_id: sku_id, + num: num + }, + success: res => { + if (res.code >= 0) { + this.invalidGoods = []; + this.getCartData(); + this.refreshCartNumber(); + } else { + this.$util.showToast({ + title: res.message + }); + } + } + }); + }, this.goodsSkuDetail); + }) + }, + toggleDiscountPopup() { + if (this.$refs.discountPopup.showPopup) this.$refs.discountPopup.close(); + else this.$refs.discountPopup.open(); + this.discountPopupShow = !this.discountPopupShow; + }, + /** + * 优惠信息计算 + */ + discountCalculate() { + if (this.cartData.length == 0) return; + let skuIds = []; + this.cartData.forEach(siteItem => { + siteItem.cartList.forEach(item => { + if (item.checked) { + skuIds.push({ + sku_id: item.sku_id, + num: item.num + }); + } + }); + }); + if (skuIds.length == 0) { + this.discount = {}; + return; + } + + this.$api.sendRequest({ + url: '/api/cartcalculate/calculate', + data: { + sku_ids: JSON.stringify(skuIds) + }, + success: res => { + if (res.code >= 0 && res.data && (res.data.coupon_money > 0 || res.data.promotion_money > 0)) { + this.discount = res.data; + let manjian = {}; + res.data.goods_list.forEach(item => { + if (item.promotion && item.promotion.manjian) { + manjian['sku_' + item.sku_id] = JSON.parse(item.promotion.manjian.rule_json); + } + }) + Object.assign(this.manjian, manjian); + this.refresherTriggered = false; + } else { + this.discount = {}; + } + } + }) + }, + /** + * 领取优惠券 + * tips 失败时是否提示 + * @param {Object} couponTypeId + */ + receiveCoupon(couponTypeId, tips = true) { + if (this.receiveSub) return; + this.receiveSub = true; + this.$api.sendRequest({ + url: '/coupon/api/coupon/receive', + data: { + coupon_type_id: couponTypeId, + get_type: 2 //获取方式:1订单2.直接领取3.活动领取 + }, + success: res => { + if (res.code == 0) { + this.$set(this.discount.coupon_info, 'receive_type', ''); + } else { + if (tips) this.$util.showToast({ + title: res.message + }); + this.receiveSub = false; + } + } + }); + }, + // 手指触摸事件 用于菜单左滑 + touchS(e) { + this.startX = e.touches[0].clientX; + }, + touchE(e, cartIndex) { + this.endX = e.changedTouches[0].clientX; + // 触摸开始到停止的差值,小于0左滑,大于0右滑 + var disX = this.startX - this.endX; + // cartIndex.edit = disX > 50; + if (disX > 50) cartIndex.edit = true; + else if (disX < 0) cartIndex.edit = false; + this.$forceUpdate(); + }, + moneyFormat(money) { + if (isNaN(parseFloat(money))) return money; + return parseFloat(money).toFixed(2); + }, + refreshSkuDetail(goodsSkuDetail) { + this.goodsSkuDetail = goodsSkuDetail; + }, + onRefresh(e) { + this.refresherTriggered = true; + if (this.storeToken) { + this.getCartData(); + this.refreshCartNumber(); + } else { + this.cartData = []; + this.invalidGoods = []; + this.calculationTotalPrice(); + } + } + }, } \ No newline at end of file diff --git a/pages_goods/public/js/detail.js b/pages_goods/public/js/detail.js index 787a955..76ab684 100644 --- a/pages_goods/public/js/detail.js +++ b/pages_goods/public/js/detail.js @@ -1,525 +1,525 @@ -export default { - data() { - return { - goodsRoute: '/pages_goods/detail', - couponList: [], //优惠券列表 - couponBtnSwitch: false, //获取优惠券防止重复提交 - - posterApi: '/api/goods/poster', - - //满减活动 - manjian: { - type: 0, - manjian_name: "", - rule_json: null - }, - //组合套餐 - bundlingType: false, - bundling: [{ - bundling_goods: { - bl_name: '', - sku_image: '' - } - }], - - membercard: null, // 会员卡信息 - hackReset: true, - cardOff: false, - informationform:[]//留言表单 - - } - }, - computed: { - showDiscount() { - var flag = false; - if ( - this.preview == 0 && - this.addonIsExist.discount && - this.goodsSkuDetail.promotion_type == 1 && - this.goodsSkuDetail.discountTimeMachine && - (!this.goodsSkuDetail.member_price || (this.goodsSkuDetail.member_price > 0 && Number(this.goodsSkuDetail.member_price) > Number(this.goodsSkuDetail.discount_price)) - ) - ) { - flag = true; - } - return flag; - }, - memberCardDiscount() { - let discount = 0, - showPrice = this.goodsSkuDetail.member_price > 0 && Number(this.goodsSkuDetail.member_price) < Number(this.goodsSkuDetail.discount_price) ? this.goodsSkuDetail.member_price : this.goodsSkuDetail.discount_price; - if (this.membercard && this.membercard.member_price > 0 && (parseFloat(showPrice) > parseFloat(this.membercard.member_price))) { - discount = parseFloat(showPrice) - parseFloat(this.membercard.member_price); - } - return discount.toFixed(2); - }, - //表单高度 - FormHeight(){ - let height = 48; - if (this.goodsForm && this.goodsForm.length) { - height += this.goodsForm.length * 5; - } - height += 'vh'; - return height; - } - }, - onLoad(data) { - - // #ifdef MP-ALIPAY - let options = my.getLaunchOptionsSync(); - options.query && Object.assign(data, options.query) - // #endif - - this.skuId = data.sku_id || 0; - this.goodsId = data.goods_id || 0; - - // 小程序扫码进入 - if (data.scene) { - var sceneParams = decodeURIComponent(data.scene); - sceneParams = sceneParams.split('&'); - if (sceneParams.length) { - sceneParams.forEach(item => { - if (item.indexOf('goods_id') != -1) this.goodsId = item.split('-')[1]; - }); - } - } - - // #ifdef MP-WEIXIN - this.getShareImg(); - // #endif - }, - async onShow() { - //同步获取商品详情 - await this.getGoodsSkuDetail(); - }, - onHide() { - this.couponBtnSwitch = false; - }, - methods: { - //拨打电话 - phoneClick(mobile){ - uni.makePhoneCall({ - phoneNumber: mobile+'', - success(){}, - fail(){} - }) - }, - setSkuId(val) { - if (val) { - this.skuId = val; - this.getBundling(); - } - }, - // 获取商品详情 - async getGoodsSkuDetail() { - let res = await this.$api.sendRequest({ - url: '/api/goodssku/detail', - async: false, - data: { - sku_id: this.skuId, - goods_id: this.goodsId, - } - }); - let data = res.data; - if (data.goods_sku_detail != null) { - if (data.goods_sku_detail.promotion_type == 'presale' && data.goods_sku_detail.presale_id) { - this.$util.redirectTo('/pages_promotion/presale/detail', { - id: data.goods_sku_detail.presale_id, - sku_id: this.skuId - }, 'reLaunch'); - return; - } - if(uni.getStorageSync('lang') == 'en-us') data.goods_sku_detail.goods_name = data.goods_sku_detail.en_goods_name - - this.goodsSkuDetail = data.goods_sku_detail; - if (!this.skuId) this.skuId = this.goodsSkuDetail.sku_id; - if (!this.goodsId) this.goodsId = this.goodsSkuDetail.goods_id; - // 分享参数、链接 - this.shareQuery = 'goods_id=' + this.goodsSkuDetail.goods_id; - this.shareUrl = this.goodsRoute + '?' + this.shareQuery; - - // 在线客服聊天参数 - this.chatRoomParams = { - sku_id: this.goodsSkuDetail.sku_id - }; - let typeId = this.goodsSkuDetail.goods_promotion[0]; - if (typeId) { - // 限时折扣 - if (typeId.discount_id) { - this.chatRoomParams.type = 'discount' - this.chatRoomParams.type_id = typeId.discount_id - } - } - - // 海报参数 - this.posterParams = { - goods_id: this.goodsId - }; - - // 处理商品数据 - this.handleGoodsSkuData(); - - // 限时折扣 - if (this.goodsSkuDetail.promotion_type == 1 && this.addonIsExist.discount) { - //检测倒计时 - if ((this.goodsSkuDetail.end_time - res.timestamp) > 0) { - this.goodsSkuDetail.discountTimeMachine = this.$util.countDown(this.goodsSkuDetail.end_time - res.timestamp); - } else { - this.goodsSkuDetail.promotion_type = 0; - } - } - if (this.goodsSkuDetail.promotion_type == 1 && this.goodsSkuDetail.discountTimeMachine) { - if (this.goodsSkuDetail.member_price > 0 && Number(this.goodsSkuDetail.member_price) <= Number(this.goodsSkuDetail.discount_price)) { - this.goodsSkuDetail.show_price = this.goodsSkuDetail.member_price; - } else { - this.goodsSkuDetail.show_price = this.goodsSkuDetail.discount_price; - } - } else { - if (this.goodsSkuDetail.member_price > 0) { - this.goodsSkuDetail.show_price = this.goodsSkuDetail.member_price; - } else { - this.goodsSkuDetail.show_price = this.goodsSkuDetail.price; - } - } - - // 满减 - if (this.goodsSkuDetail.manjian) { - this.getManjian(this.goodsSkuDetail.manjian); - } - - // 会员卡 - if (this.goodsSkuDetail.membercard) { - this.membercard = this.goodsSkuDetail.membercard; - } - - // 优惠券 - if (this.goodsSkuDetail.coupon_list) { - this.couponList = this.goodsSkuDetail.coupon_list; - this.couponList.forEach(v => { - if (v.count == v.lead_count) v.useState = 2; - else if (v.max_fetch != 0 && v.member_coupon_num && v.member_coupon_num >= v.max_fetch) v.useState = 1; - else v.useState = 0; - }); - this.couponList = this.couponList.sort(this.sortBy('useState')) - } - - // 组合套餐 - // if (this.goodsSkuDetail.bundling_list) { - // this.handleBundlingData(this.goodsSkuDetail.bundling_list); - // } - - if (this.$refs.loadingCover) this.$refs.loadingCover.hide(); - - } else { - this.$util.redirectTo('/pages_tool/goods/not_exist', {}, 'redirectTo'); - } - }, - choiceSku() { - this.$refs.goodsSku.show("buy_now", () => { - this.$store.dispatch('getCartNumber'); - }); - }, - - //商品留言打开 - showinformation(){ - this.informationform = this.goodsSkuDetail.goods_form - this.$refs.informationPopup.open(); - }, - //商品留言关闭 - closeinformationPopup(){ - this.$refs.informationPopup.close(); - }, - //保存商品留言 - saveubfirnation(){ - //缺少 - if (!this.$refs.form.verify()) return; - - // uni.setStorageSync('goodFormData', { - // goods_id: this.goodsSkuDetail.goods_id, - // form_data: this.$refs.form.formData - // }); - this.$api.sendRequest({ - url: '/api/goods/information', - data: { - goods_id: this.goodsSkuDetail.goods_id, - form_data: JSON.stringify(this.$refs.form.formData) - }, - success: res => { - var data = res.data; - if (res.code == 0) { - - }else{ - this.$util.showToast({ - title: res.msg - }); - } - - - }, - }); - }, - // 加入购物车 - joinCart() { - if (!this.storeToken && this.preview == 0) { - this.$refs.login.open(this.shareUrl); - return; - } - if (this.goodsSkuDetail.is_virtual == 1) { - this.$refs.goodsSku.show("buy_now", () => { - this.$store.dispatch('getCartNumber'); - }); - } else { - this.$refs.goodsSku.show("join_cart", () => { - this.$store.dispatch('getCartNumber'); - }); - } - }, - // 立即购买 - buyNow() { - if (!this.storeToken && this.preview == 0) { - this.$refs.login.open(this.shareUrl); - return; - } - this.$refs.goodsSku.show("buy_now", () => { - }); - }, - - sortBy(field) { - //根据传过来的字段进行排序,y-x 得分从高到低,x-y 从低到高 - return (y, x) => { - return y[field] - x[field] - } - }, - - // 打开优惠券弹出层 - openCouponPopup() { - this.$refs.couponPopup.open(); - }, - // 关闭优惠券弹出层 - closeCouponPopup() { - this.$refs.couponPopup.close(); - }, - // 领取优惠券 - receiveCoupon(item) { - let that = this; - if (this.preview) return; // 开启预览,禁止任何操作和跳转 - if (this.couponBtnSwitch) return; - this.couponBtnSwitch = true; - if (this.storeToken) { - this.$api.sendRequest({ - url: '/coupon/api/coupon/receive', - data: { - coupon_type_id: item.coupon_type_id, - get_type: 2 //获取方式:1订单2.直接领取3.活动领取 - }, - success: res => { - var data = res.data; - - let msg = ''; - - let list = this.couponList; - if (res.data.is_exist == 1 && res.code < 0) { - msg = '您已领取过该优惠券,快去使用吧'; - } else if (res.code == 0) { - msg = '领取成功,快去使用吧'; - } else { - msg = res.message; - } - if (res.data.is_exist == 1) { - for (let i = 0; i < list.length; i++) { - if (list[i].coupon_type_id == item.coupon_type_id) { - that.$set(that.couponList[i], 'useState', 1); - } - } - } else { - for (let i = 0; i < list.length; i++) { - if (list[i].coupon_type_id == item.coupon_type_id) { - that.$set(that.couponList[i], 'useState', 2); - - } - - } - } - this.$util.showToast({ - title: msg - }); - that.$forceUpdate() - this.hackReset = false; - this.$nextTick(() => { - this.hackReset = true; - }) - - this.couponBtnSwitch = false; - }, - }); - } else { - this.$refs.login.open(this.shareUrl); - this.couponBtnSwitch = false; - } - }, - - //-------------------------------------满减------------------------------------- - - //获取满减信息 - getManjian(data) { - this.manjian = data; - let limit = data.type == 0 ? '元' : '件'; - Object.keys(data.rule_json).forEach((key) => { - var item = data.rule_json[key]; - if (item.coupon_data) { - for (var i = 0; i < item.coupon_data.length; i++) { - item.coupon_data[i].coupon_num = item.coupon_num[i] - } - } - item.limit = data.type == 0 ? parseFloat(item.limit).toFixed(2) : parseInt(item.limit); - // 满减 - if (item.discount_money != undefined) { - if (this.manjian.manjian == undefined) { - this.manjian.manjian = '满' + item.limit + limit + '减' + item.discount_money + '元'; - } else { - this.manjian.manjian += ';满' + item.limit + limit + '减' + item.discount_money + '元'; - } - } - // 满送 - if (item.point != undefined || item.coupon != undefined) { - let text = ''; - if (item.point != undefined) { - text = '送' + item.point + '积分'; - } - if (item.coupon != undefined && item.coupon_data != undefined) { - item.coupon_data.forEach((couponItem, couponIndex) => { - if (couponItem.type == 'discount') { - if (text == '') text = '送' + item.coupon_num[couponIndex] + '张' + parseFloat(couponItem.discount) + '折优惠券'; - else text += '、送' + item.coupon_num[couponIndex] + '张' + parseFloat(couponItem.discount) + '折优惠券'; - } else { - if (text == '') text = '送' + item.coupon_num[couponIndex] + '张' + parseFloat(couponItem.money) + '元优惠券'; - else text += '、送' + item.coupon_num[couponIndex] + '张' + parseFloat(couponItem.money) + '元优惠券'; - } - }) - } - if (this.manjian.mansong == undefined) { - this.manjian.mansong = '满' + item.limit + limit + text; - } else { - this.manjian.mansong += ';' + '满' + item.limit + limit + text; - } - } - // 包邮 - if (item.free_shipping != undefined) { - if (this.manjian.free_shipping == undefined) { - this.manjian.free_shipping = '满' + item.limit + limit + '包邮'; - } else { - this.manjian.free_shipping += ';满' + item.limit + limit + '包邮'; - } - } - }); - }, - openManjianPopup() { - this.$refs.manjianPopup.open(); - }, - closeManjianPopup() { - this.$refs.manjianPopup.close(); - }, - - //-------------------------------------组合套餐------------------------------------- - - //获取当前商品关联的组合套餐 - getBundling() { - // 连锁门店没有营销活动 - if (this.globalStoreConfig && this.globalStoreConfig.store_business == 'store') return; - - this.$api.sendRequest({ - url: "/bundling/api/bundling/lists", - data: { - sku_id: this.skuId - }, - success: res => { - // this.handleBundlingData(res.data); - } - }); - }, - handleBundlingData(data) { - this.bundling = data; - if (this.bundling.length) { - - for (var i = 0; i < this.bundling[0].bundling_goods.length; i++) { - if (this.bundling[0].bundling_goods[i].sku_id == this.skuId) { - this.bundlingType = true; - break; - } else { - this.bundlingType = false; - } - } - - for (var i = 0; i < this.bundling.length; i++) { - for (var j = 0; j < this.bundling[i].bundling_goods.length; j++) { - if (this.bundling[i].bundling_goods[j].sku_id == this.skuId) { - this.bundling[i].bundling_goods.splice(j, 1); - } - } - } - } - }, - // 打开组合套餐弹出层 - openBundlingPopup() { - this.$refs.bundlingPopup.open(); - }, - // 关闭组合套餐弹出层 - closeBundlingPopup() { - this.$refs.bundlingPopup.close(); - }, - imageError() { - this.goodsSkuDetail.sku_image = this.$util.getDefaultImage().goods; - this.$forceUpdate(); - }, - bundlingImageError(index, goods_index) { - this.bundling[index].bundling_goods[goods_index].sku_image = this.$util.getDefaultImage().goods; - this.$forceUpdate(); - }, - fenxiao() { - this.$refs.fenxiaoPopup.show() - }, - toGoodsDetail(item) { - this.$util.redirectTo(this.goodsRoute, { - sku_id: item - }); - }, - toComoDetail(id) { - this.$util.redirectTo('/pages_promotion/bundling/detail', { - bl_id: id - }); - }, - /** - * 获取分享图 - */ - getShareImg() { - let posterParams = { - goods_id: this.goodsId - }; - this.$api.sendRequest({ - url: '/api/goods/shareimg', - data: { - qrcode_param: JSON.stringify(posterParams) - }, - success: res => { - if (res.code == 0) this.shareImg = res.data.path + '?no=' + parseInt((new Date()).getTime() / 1000); - } - }) - }, - /** - * 金额格式化输出 - * @param {Object} money - */ - decimalPointFormat(money) { - if (isNaN(parseFloat(money))) return money; - let arr = money.toString().split("."); - let arr1 = arr[1].split("").reverse(); - let arr2 = []; - arr1.forEach((item, index) => { - if (item > 1) { - arr2 = arr1.splice(index); - } - }); - let str = arr2.length ? (arr[0] + "." + arr2.reverse().join("")) : arr[0]; - return str; - } - } +export default { + data() { + return { + goodsRoute: '/pages_goods/detail', + couponList: [], //优惠券列表 + couponBtnSwitch: false, //获取优惠券防止重复提交 + + posterApi: '/api/goods/poster', + + //满减活动 + manjian: { + type: 0, + manjian_name: "", + rule_json: null + }, + //组合套餐 + bundlingType: false, + bundling: [{ + bundling_goods: { + bl_name: '', + sku_image: '' + } + }], + + membercard: null, // 会员卡信息 + hackReset: true, + cardOff: false, + informationform:[]//留言表单 + + } + }, + computed: { + showDiscount() { + var flag = false; + if ( + this.preview == 0 && + this.addonIsExist.discount && + this.goodsSkuDetail.promotion_type == 1 && + this.goodsSkuDetail.discountTimeMachine && + (!this.goodsSkuDetail.member_price || (this.goodsSkuDetail.member_price > 0 && Number(this.goodsSkuDetail.member_price) > Number(this.goodsSkuDetail.discount_price)) + ) + ) { + flag = true; + } + return flag; + }, + memberCardDiscount() { + let discount = 0, + showPrice = this.goodsSkuDetail.member_price > 0 && Number(this.goodsSkuDetail.member_price) < Number(this.goodsSkuDetail.discount_price) ? this.goodsSkuDetail.member_price : this.goodsSkuDetail.discount_price; + if (this.membercard && this.membercard.member_price > 0 && (parseFloat(showPrice) > parseFloat(this.membercard.member_price))) { + discount = parseFloat(showPrice) - parseFloat(this.membercard.member_price); + } + return discount.toFixed(2); + }, + //表单高度 + FormHeight(){ + let height = 48; + if (this.goodsForm && this.goodsForm.length) { + height += this.goodsForm.length * 5; + } + height += 'vh'; + return height; + } + }, + onLoad(data) { + + // #ifdef MP-ALIPAY + let options = my.getLaunchOptionsSync(); + options.query && Object.assign(data, options.query) + // #endif + + this.skuId = data.sku_id || 0; + this.goodsId = data.goods_id || 0; + + // 小程序扫码进入 + if (data.scene) { + var sceneParams = decodeURIComponent(data.scene); + sceneParams = sceneParams.split('&'); + if (sceneParams.length) { + sceneParams.forEach(item => { + if (item.indexOf('goods_id') != -1) this.goodsId = item.split('-')[1]; + }); + } + } + + // #ifdef MP-WEIXIN + this.getShareImg(); + // #endif + }, + async onShow() { + //同步获取商品详情 + await this.getGoodsSkuDetail(); + }, + onHide() { + this.couponBtnSwitch = false; + }, + methods: { + //拨打电话 + phoneClick(mobile){ + uni.makePhoneCall({ + phoneNumber: mobile+'', + success(){}, + fail(){} + }) + }, + setSkuId(val) { + if (val) { + this.skuId = val; + this.getBundling(); + } + }, + // 获取商品详情 + async getGoodsSkuDetail() { + let res = await this.$api.sendRequest({ + url: '/api/goodssku/detail', + async: false, + data: { + sku_id: this.skuId, + goods_id: this.goodsId, + } + }); + let data = res.data; + if (data.goods_sku_detail != null) { + if (data.goods_sku_detail.promotion_type == 'presale' && data.goods_sku_detail.presale_id) { + this.$util.redirectTo('/pages_promotion/presale/detail', { + id: data.goods_sku_detail.presale_id, + sku_id: this.skuId + }, 'reLaunch'); + return; + } + if(uni.getStorageSync('lang') == 'en-us') data.goods_sku_detail.goods_name = data.goods_sku_detail.en_goods_name + + this.goodsSkuDetail = data.goods_sku_detail; + if (!this.skuId) this.skuId = this.goodsSkuDetail.sku_id; + if (!this.goodsId) this.goodsId = this.goodsSkuDetail.goods_id; + // 分享参数、链接 + this.shareQuery = 'goods_id=' + this.goodsSkuDetail.goods_id; + this.shareUrl = this.goodsRoute + '?' + this.shareQuery; + + // 在线客服聊天参数 + this.chatRoomParams = { + sku_id: this.goodsSkuDetail.sku_id + }; + let typeId = this.goodsSkuDetail.goods_promotion[0]; + if (typeId) { + // 限时折扣 + if (typeId.discount_id) { + this.chatRoomParams.type = 'discount' + this.chatRoomParams.type_id = typeId.discount_id + } + } + + // 海报参数 + this.posterParams = { + goods_id: this.goodsId + }; + + // 处理商品数据 + this.handleGoodsSkuData(); + + // 限时折扣 + if (this.goodsSkuDetail.promotion_type == 1 && this.addonIsExist.discount) { + //检测倒计时 + if ((this.goodsSkuDetail.end_time - res.timestamp) > 0) { + this.goodsSkuDetail.discountTimeMachine = this.$util.countDown(this.goodsSkuDetail.end_time - res.timestamp); + } else { + this.goodsSkuDetail.promotion_type = 0; + } + } + if (this.goodsSkuDetail.promotion_type == 1 && this.goodsSkuDetail.discountTimeMachine) { + if (this.goodsSkuDetail.member_price > 0 && Number(this.goodsSkuDetail.member_price) <= Number(this.goodsSkuDetail.discount_price)) { + this.goodsSkuDetail.show_price = this.goodsSkuDetail.member_price; + } else { + this.goodsSkuDetail.show_price = this.goodsSkuDetail.discount_price; + } + } else { + if (this.goodsSkuDetail.member_price > 0) { + this.goodsSkuDetail.show_price = this.goodsSkuDetail.member_price; + } else { + this.goodsSkuDetail.show_price = this.goodsSkuDetail.price; + } + } + + // 满减 + if (this.goodsSkuDetail.manjian) { + this.getManjian(this.goodsSkuDetail.manjian); + } + + // 会员卡 + if (this.goodsSkuDetail.membercard) { + this.membercard = this.goodsSkuDetail.membercard; + } + + // 优惠券 + if (this.goodsSkuDetail.coupon_list) { + this.couponList = this.goodsSkuDetail.coupon_list; + this.couponList.forEach(v => { + if (v.count == v.lead_count) v.useState = 2; + else if (v.max_fetch != 0 && v.member_coupon_num && v.member_coupon_num >= v.max_fetch) v.useState = 1; + else v.useState = 0; + }); + this.couponList = this.couponList.sort(this.sortBy('useState')) + } + + // 组合套餐 + // if (this.goodsSkuDetail.bundling_list) { + // this.handleBundlingData(this.goodsSkuDetail.bundling_list); + // } + + if (this.$refs.loadingCover) this.$refs.loadingCover.hide(); + + } else { + this.$util.redirectTo('/pages_tool/goods/not_exist', {}, 'redirectTo'); + } + }, + choiceSku() { + this.$refs.goodsSku.show("buy_now", () => { + this.$store.dispatch('getCartNumber'); + }); + }, + + //商品留言打开 + showinformation(){ + this.informationform = this.goodsSkuDetail.goods_form + this.$refs.informationPopup.open(); + }, + //商品留言关闭 + closeinformationPopup(){ + this.$refs.informationPopup.close(); + }, + //保存商品留言 + saveubfirnation(){ + //缺少 + if (!this.$refs.form.verify()) return; + + // uni.setStorageSync('goodFormData', { + // goods_id: this.goodsSkuDetail.goods_id, + // form_data: this.$refs.form.formData + // }); + this.$api.sendRequest({ + url: '/api/goods/information', + data: { + goods_id: this.goodsSkuDetail.goods_id, + form_data: JSON.stringify(this.$refs.form.formData) + }, + success: res => { + var data = res.data; + if (res.code == 0) { + + }else{ + this.$util.showToast({ + title: res.msg + }); + } + + + }, + }); + }, + // 加入购物车 + joinCart() { + if (!this.storeToken && this.preview == 0) { + this.$refs.login.open(this.shareUrl); + return; + } + if (this.goodsSkuDetail.is_virtual == 1) { + this.$refs.goodsSku.show("buy_now", () => { + this.$store.dispatch('getCartNumber'); + }); + } else { + this.$refs.goodsSku.show("join_cart", () => { + this.$store.dispatch('getCartNumber'); + }); + } + }, + // 立即购买 + buyNow() { + if (!this.storeToken && this.preview == 0) { + this.$refs.login.open(this.shareUrl); + return; + } + this.$refs.goodsSku.show("buy_now", () => { + }); + }, + + sortBy(field) { + //根据传过来的字段进行排序,y-x 得分从高到低,x-y 从低到高 + return (y, x) => { + return y[field] - x[field] + } + }, + + // 打开优惠券弹出层 + openCouponPopup() { + this.$refs.couponPopup.open(); + }, + // 关闭优惠券弹出层 + closeCouponPopup() { + this.$refs.couponPopup.close(); + }, + // 领取优惠券 + receiveCoupon(item) { + let that = this; + if (this.preview) return; // 开启预览,禁止任何操作和跳转 + if (this.couponBtnSwitch) return; + this.couponBtnSwitch = true; + if (this.storeToken) { + this.$api.sendRequest({ + url: '/coupon/api/coupon/receive', + data: { + coupon_type_id: item.coupon_type_id, + get_type: 2 //获取方式:1订单2.直接领取3.活动领取 + }, + success: res => { + var data = res.data; + + let msg = ''; + + let list = this.couponList; + if (res.data.is_exist == 1 && res.code < 0) { + msg = $lang('goods.public.js.detail.l321'); + } else if (res.code == 0) { + msg = $lang('goods.public.js.detail.l323'); + } else { + msg = res.message; + } + if (res.data.is_exist == 1) { + for (let i = 0; i < list.length; i++) { + if (list[i].coupon_type_id == item.coupon_type_id) { + that.$set(that.couponList[i], 'useState', 1); + } + } + } else { + for (let i = 0; i < list.length; i++) { + if (list[i].coupon_type_id == item.coupon_type_id) { + that.$set(that.couponList[i], 'useState', 2); + + } + + } + } + this.$util.showToast({ + title: msg + }); + that.$forceUpdate() + this.hackReset = false; + this.$nextTick(() => { + this.hackReset = true; + }) + + this.couponBtnSwitch = false; + }, + }); + } else { + this.$refs.login.open(this.shareUrl); + this.couponBtnSwitch = false; + } + }, + + //-------------------------------------满减------------------------------------- + + //获取满减信息 + getManjian(data) { + this.manjian = data; + let limit = data.type == 0 ? '元' : $lang('common.ns-goods-sku.ns-goods-sku-index.l150.t0'); + Object.keys(data.rule_json).forEach((key) => { + var item = data.rule_json[key]; + if (item.coupon_data) { + for (var i = 0; i < item.coupon_data.length; i++) { + item.coupon_data[i].coupon_num = item.coupon_num[i] + } + } + item.limit = data.type == 0 ? parseFloat(item.limit).toFixed(2) : parseInt(item.limit); + // 满减 + if (item.discount_money != undefined) { + if (this.manjian.manjian == undefined) { + this.manjian.manjian = $lang('diy.diy-coupon.l32.t0') + item.limit + limit + $lang('common.register-reward.l60.t2') + item.discount_money + $lang('common.register-reward.l45.t0'); + } else { + this.manjian.manjian += $lang('goods.public.js.detail.l379') + item.limit + limit + $lang('common.register-reward.l60.t2') + item.discount_money + $lang('common.register-reward.l45.t0'); + } + } + // 满送 + if (item.point != undefined || item.coupon != undefined) { + let text = ''; + if (item.point != undefined) { + text = $lang('goods.public.js.detail.l386') + item.point + $lang('common.register-reward.l19.t0'); + } + if (item.coupon != undefined && item.coupon_data != undefined) { + item.coupon_data.forEach((couponItem, couponIndex) => { + if (couponItem.type == 'discount') { + if (text == '') text = '送' + item.coupon_num[couponIndex] + '张' + parseFloat(couponItem.discount) + '折优惠券'; + else text += $lang('goods.public.js.detail.l392') + item.coupon_num[couponIndex] + $lang('goods.public.js.detail.l392') + parseFloat(couponItem.discount) + $lang('goods.public.js.detail.l392'); + } else { + if (text == '') text = '送' + item.coupon_num[couponIndex] + '张' + parseFloat(couponItem.money) + '元优惠券'; + else text += $lang('goods.public.js.detail.l392') + item.coupon_num[couponIndex] + $lang('goods.public.js.detail.l392') + parseFloat(couponItem.money) + $lang('goods.public.js.detail.l395'); + } + }) + } + if (this.manjian.mansong == undefined) { + this.manjian.mansong = $lang('diy.diy-coupon.l32.t0') + item.limit + limit + text; + } else { + this.manjian.mansong += ';' + $lang('diy.diy-coupon.l32.t0') + item.limit + limit + text; + } + } + // 包邮 + if (item.free_shipping != undefined) { + if (this.manjian.free_shipping == undefined) { + this.manjian.free_shipping = $lang('diy.diy-coupon.l32.t0') + item.limit + limit + $lang('goods.detail.l383'); + } else { + this.manjian.free_shipping += $lang('goods.public.js.detail.l379') + item.limit + limit + $lang('goods.detail.l383'); + } + } + }); + }, + openManjianPopup() { + this.$refs.manjianPopup.open(); + }, + closeManjianPopup() { + this.$refs.manjianPopup.close(); + }, + + //-------------------------------------组合套餐------------------------------------- + + //获取当前商品关联的组合套餐 + getBundling() { + // 连锁门店没有营销活动 + if (this.globalStoreConfig && this.globalStoreConfig.store_business == 'store') return; + + this.$api.sendRequest({ + url: "/bundling/api/bundling/lists", + data: { + sku_id: this.skuId + }, + success: res => { + // this.handleBundlingData(res.data); + } + }); + }, + handleBundlingData(data) { + this.bundling = data; + if (this.bundling.length) { + + for (var i = 0; i < this.bundling[0].bundling_goods.length; i++) { + if (this.bundling[0].bundling_goods[i].sku_id == this.skuId) { + this.bundlingType = true; + break; + } else { + this.bundlingType = false; + } + } + + for (var i = 0; i < this.bundling.length; i++) { + for (var j = 0; j < this.bundling[i].bundling_goods.length; j++) { + if (this.bundling[i].bundling_goods[j].sku_id == this.skuId) { + this.bundling[i].bundling_goods.splice(j, 1); + } + } + } + } + }, + // 打开组合套餐弹出层 + openBundlingPopup() { + this.$refs.bundlingPopup.open(); + }, + // 关闭组合套餐弹出层 + closeBundlingPopup() { + this.$refs.bundlingPopup.close(); + }, + imageError() { + this.goodsSkuDetail.sku_image = this.$util.getDefaultImage().goods; + this.$forceUpdate(); + }, + bundlingImageError(index, goods_index) { + this.bundling[index].bundling_goods[goods_index].sku_image = this.$util.getDefaultImage().goods; + this.$forceUpdate(); + }, + fenxiao() { + this.$refs.fenxiaoPopup.show() + }, + toGoodsDetail(item) { + this.$util.redirectTo(this.goodsRoute, { + sku_id: item + }); + }, + toComoDetail(id) { + this.$util.redirectTo('/pages_promotion/bundling/detail', { + bl_id: id + }); + }, + /** + * 获取分享图 + */ + getShareImg() { + let posterParams = { + goods_id: this.goodsId + }; + this.$api.sendRequest({ + url: '/api/goods/shareimg', + data: { + qrcode_param: JSON.stringify(posterParams) + }, + success: res => { + if (res.code == 0) this.shareImg = res.data.path + '?no=' + parseInt((new Date()).getTime() / 1000); + } + }) + }, + /** + * 金额格式化输出 + * @param {Object} money + */ + decimalPointFormat(money) { + if (isNaN(parseFloat(money))) return money; + let arr = money.toString().split("."); + let arr1 = arr[1].split("").reverse(); + let arr2 = []; + arr1.forEach((item, index) => { + if (item > 1) { + arr2 = arr1.splice(index); + } + }); + let str = arr2.length ? (arr[0] + "." + arr2.reverse().join("")) : arr[0]; + return str; + } + } } \ No newline at end of file diff --git a/pages_goods/public/js/list.js b/pages_goods/public/js/list.js index 137c5fd..3762f02 100644 --- a/pages_goods/public/js/list.js +++ b/pages_goods/public/js/list.js @@ -1,502 +1,502 @@ -export default { - data() { - return { - listStyle: '', - loadingType: 'loading', //加载更多状态 - orderType: '', - priceOrder: 'desc', //1 价格从低到高 2价格从高到低 - categoryList: [], //排序类型 - goodsList: [], - order: '', - sort: 'desc', - showScreen: false, - keyword: '', - categoryId: 0, - minPrice: '', - maxPrice: '', - isFreeShipping: false, //是否免邮 - isIphoneX: false, - coupon: 0, - emptyShow: false, - isList: true, //列表样式 - //分享所需标题 - share_title: '', - //搜索到多少件商品 - count: 0, - //当前分类名称 - category_title: '', - //优惠券数据 - coupon_name: '', - //列表瀑布流数据 - listHeight: [], - listPosition: [], - debounce: null, - brandId: 0, - brandList: [], //品牌筛选项 - config: { - fontWeight: false, - padding: 0, - cartEvent: "detail", - text: "购买", - textColor: "#FFFFFF", - theme: "default", - aroundRadius: 25, - control: true, - bgColor: "#FF6A00", - style: "button", - iconDiy: { - iconType: "icon", - icon: "", - style: { - fontSize: "60", - iconBgColor: [], - iconBgColorDeg: 0, - iconBgImg: "", - bgRadius: 0, - iconColor: [ - "#000000" - ], - iconColorDeg: 0 - } - } - }, - - langstatus:0, - lang:uni.getStorageSync('lang') - } - }, - - onLoad(options) { - this.$api.sendRequest({ - url: '/api/lucky/status', - data: {}, - success: res => { - this.langstatus = res.status - if(this.langstatus == 1){ - // this.$langConfig.refresh(); - uni.setNavigationBarTitle({ - title:uni.getStorageSync('lang') == 'en-us'?'Goods List':'商品列表' - }) - } - } - }); - - this.categoryId = options.category_id || 0; - this.keyword = options.keyword || ''; - this.coupon = options.coupon || 0; - this.goods_id_arr = options.goods_id_arr || 0; - this.brandId = options.brand_id || 0; - - this.loadCategoryList(this.categoryId); - this.getBrandList(); - this.isIphoneX = this.$util.uniappIsIPhoneX(); - - //小程序分享接收source_member - if (options.source_member) { - uni.setStorageSync('source_member', options.source_member); - } - // 小程序扫码进入,接收source_member - if (options.scene) { - var sceneParams = decodeURIComponent(options.scene); - sceneParams = sceneParams.split('&'); - if (sceneParams.length) { - sceneParams.forEach(item => { - if (item.indexOf('sku_id') != -1) this.skuId = item.split('-')[1]; - if (item.indexOf('m') != -1) uni.setStorageSync('source_member', item.split('-')[1]); - if (item.indexOf('is_test') != -1) uni.setStorageSync('is_test', 1); - }); - } - } - - uni.onWindowResize(res => { - if (this.debounce) clearTimeout(this.debounce); - this.waterfallflow(0); - }) - }, - onShow() { - //记录分享关系 - if (this.storeToken && uni.getStorageSync('source_member')) { - this.$util.onSourceMember(uni.getStorageSync('source_member')); - } - }, - /** - * 转发分享 - */ - onShareAppMessage(res) { - var title = '搜索到' + this.count + '件“' + this.keyword + this.category_title + this.coupon_name + '”相关的优质商品'; - let route = this.$util.getCurrentShareRoute(this.memberInfo ? this.memberInfo.member_id : 0); - var path = route.path; - return { - title: title, - path: path, - success: res => { - }, - fail: res => { - } - }; - }, - // 分享到微信朋友圈 - onShareTimeline() { - var title = '搜索到' + this.count + '件“' + this.keyword + this.category_title + this.coupon_name + '”相关的优质商品'; - let route = this.$util.getCurrentShareRoute(this.memberInfo ? this.memberInfo.member_id : 0); - var query = route.query; - return { - title: title, - query: query, - imageUrl: '' - }; - }, - methods: { - /** - * 获取优惠券数据 - */ - couponInfo(id) { - return new Promise(resolve => { - this.$api.sendRequest({ - url: '/coupon/api/coupon/typeinfo', - data: { - coupon_type_id: id - }, - success: res => { - if (res.code >= 0) { - resolve(res.data.coupon_name); - } - } - }); - }) - }, - /** - * 获取分类名称 - */ - share_select(data, id) { - return new Promise((resolve) => { - data.forEach((item) => { - if (item.category_id == id) { - resolve(item.category_name) - } - if (item.child_list && item.child_list.length > 0) { - item.child_list.forEach((v) => { - if (v.category_id == id) { - resolve(v.category_name) - } - if (v.child_list && v.child_list.length > 0) { - v.forEach((m) => { - if (m.category_id == id) { - resolve(m.category_name) - } - }) - - } - }) - } - }) - }) - }, - //加载分类 - loadCategoryList(fid, sid) { - this.$api.sendRequest({ - url: '/api/goodscategory/tree', - data: {}, - success: res => { - if (res.data != null) { - this.categoryList = res.data - } - } - }); - }, - getGoodsList(mescroll) { - // #ifdef MP-HARMONY - // 鸿蒙元服务API响应极快,可能抢在scroll-view首次渲染完成之前返回数据 - // 导致mescroll测得内容高度为0,列表不可见。首次加载延迟300ms确保DOM就绪。 - if (!this._harmonyFirstLoadDone) { - this._harmonyFirstLoadDone = true; - setTimeout(() => { - this._doGetGoodsList(mescroll); - }, 300); - return; - } - // #endif - this._doGetGoodsList(mescroll); - }, - _doGetGoodsList(mescroll) { - this.$api.sendRequest({ - url: '/api/goodssku/page', - data: { - page: mescroll.num, - page_size: mescroll.size, - keyword: this.keyword, - category_id: this.categoryId, - brand_id: this.brandId, - min_price: this.minPrice, - max_price: this.maxPrice, - is_free_shipping: (this.isFreeShipping ? 1 : 0), - order: this.order, - sort: this.sort, - coupon: this.coupon, - goods_id_arr: this.goods_id_arr - }, - success: res => { - let newArr = [] - let msg = res.message; - if (res.code == 0 && res.data) { - this.count = res.data.count; - if (res.data.page_count == 0) { - this.emptyShow = true - } - newArr = res.data.list; - newArr = newArr.map(item => { - item.id = this.genNonDuplicate(); - return item; - }); - } else { - this.$util.showToast({ - title: msg - }) - } - this.category_title = ''; - this.coupon_name = ''; - if (res.data.config) this.config = res.data.config; - if (this.categoryId) { - this.share_select(this.categoryList, this.categoryId).then(resolve => { - this.category_title = resolve - }); - } - if (this.coupon) { - this.couponInfo(this.coupon).then(resolve => { - this.coupon_name = resolve - }); - } - mescroll.endSuccess(newArr.length); - //设置列表数据 - if (mescroll.num == 1) this.goodsList = []; //如果是第一页需手动制空列表 - this.goodsList = this.goodsList.concat(newArr); //追加新数据 - if (this.$refs.loadingCover) this.$refs.loadingCover.hide(); - - // #ifdef MP-HARMONY - // 鸿蒙下 mescroll 初始化时 setClientHeight 在 slot 内容渲染前执行,测得高度为 0 - // 数据加载后必须主动重新测量容器高度,否则 mescroll 认为容器高度为 0,列表不可见 - // 注:scrollTo(0,0) 只能重置滚动位置,scrollTop 已是 0 时不会触发 scroll 事件,不会重测 - // mounted 阶段的重试可能已经耗尽 5 次,这里主动重置 clientNum 让测量重新有机会 - this.$nextTick(() => { - const mescrollUni = this.$refs.mescroll && (this.$refs.mescroll.mescroll || this.$refs.mescroll); - if (mescrollUni && typeof mescrollUni.setClientHeight === 'function') { - mescrollUni.clientNum = null; - mescrollUni.isExec = false; - mescrollUni.setClientHeight(); - } - }); - // #endif - - this.waterfallflow((mescroll.num - 1) * 10); - }, - fail: res => { - //联网失败的回调 - mescroll.endErr(); - if (this.$refs.loadingCover) this.$refs.loadingCover.hide(); - } - }); - }, - changeListStyle() { - this.isList = !this.isList; - // 鸿蒙下 isList 切换导致 :key 变化、DOM 重建,重建出来的 .goods-item @click 事件绑定会丢失 - // 主动触发 slot 重建,把事件绑定带回来 - // #ifdef MP-HARMONY - const mescroll = this.$refs.mescroll; - if (mescroll && typeof mescroll.forceSlotRebuild === 'function') { - mescroll.forceSlotRebuild(); - } - // #endif - this.waterfallflow(0); - }, - //筛选点击 - sortTabClick(tag) { - if (tag == 'sale_num') { - this.order = 'sale_num'; - this.sort = 'desc'; - } else if (tag == 'discount_price') { - this.order = 'discount_price'; - this.sort = 'desc'; - } else if (tag == 'screen') { - //筛选 - this.showScreen = true; - return; - } else { - this.order = ''; - this.sort = ''; - } - - if (this.orderType === tag && tag !== 'discount_price') return; - - this.orderType = tag; - if (tag === 'discount_price') { - this.priceOrder = this.priceOrder === 'asc' ? 'desc' : 'asc'; - this.sort = this.priceOrder; - } else { - this.priceOrder = ''; - } - this.emptyShow = false; - this.goodsList = []; - this.$refs.mescroll.refresh(); - }, - //商品详情 - toDetail(item) { - this.$util.redirectTo('/pages_goods/detail', { - goods_id: item.goods_id - }); - }, - search() { - this.emptyShow = false; - this.goodsList = []; - this.$refs.mescroll.refresh(); - }, - selectedCategory(categoryId) { - this.categoryId = categoryId; - }, - screenData() { - if (this.minPrice != '' || this.maxPrice != '') { - // if (!Number(this.minPrice) && this.minPrice) { - // this.$util.showToast({ - // title: '请输入最低价' - // }); - // return; - // } - if (!Number(this.maxPrice) && this.maxPrice) { - this.$util.showToast({ - title: '请输入最高价' - }); - return; - } - if (Number(this.minPrice) < 0 || Number(this.maxPrice) < 0) { - this.$util.showToast({ - title: '筛选价格不能小于0' - }); - return; - } - if (this.minPrice != '' && Number(this.minPrice) > Number(this.maxPrice) && this.maxPrice) { - - this.$util.showToast({ - title: '最低价不能大于最高价' - }); - return; - } - if (this.maxPrice != '' && Number(this.maxPrice) < Number(this.minPrice)) { - this.$util.showToast({ - title: '最高价不能小于最低价' - }); - return; - } - } - this.emptyShow = false; - this.goodsList = []; - this.$refs.mescroll.refresh(); - this.showScreen = false; - }, - //重置数据 - resetData() { - this.categoryId = 0 - this.minPrice = '' - this.maxPrice = '' - this.isFreeShipping = false - }, - goodsImg(imgStr) { - let imgs = imgStr.split(','); - return imgs[0] ? this.$util.img(imgs[0], { - size: 'mid' - }) : this.$util.getDefaultImage().goods; - }, - imgError(index) { - this.goodsList[index].goods_image = this.$util.getDefaultImage().goods; - }, - showPrice(data) { - let price = data.discount_price; - if (data.member_price && parseFloat(data.member_price) < parseFloat(price)) price = data.member_price; - return price; - }, - showMarketPrice(item) { - if (item.market_price_show) { - let price = this.showPrice(item); - if (item.market_price > 0) { - return item.market_price; - } else if (parseFloat(item.price) > parseFloat(price)) { - return item.price; - } - } - return ''; - }, - goodsTag(data) { - return data.label_name || ''; - }, - /** - * 瀑布流 - */ - waterfallflow(start = 0) { - if (!this.isList) { - //页面渲染完成后的事件 - this.$nextTick(() => { - setTimeout(() => { - let listHeight = []; - let listPosition = []; - if (start != 0) { - listHeight = this.listHeight; - listPosition = this.listPosition; - } - let column = 2; - const query = uni.createSelectorQuery().in(this); - query.selectAll('.double-column .goods-item').boundingClientRect(data => { - for (let i = start; i < data.length; i++) { - if (i < column) { - let position = {}; - position.top = uni.upx2px(20) + 'px'; - if (i % column == 0) { - position.left = data[i].width * i + "px"; - } else { - position.left = data[i].width * i + (i % column * uni - .upx2px(30)) + "px"; - } - listPosition[i] = position; - listHeight[i] = data[i].height + uni.upx2px(20); - } else { - let minHeight = Math.min(...listHeight); // 找到第一列的最小高度 - let minIndex = listHeight.findIndex(item => item === minHeight) // 找到最小高度的索引 - //设置当前子元素项的位置 - let position = {}; - position.top = minHeight + uni.upx2px(20) + "px"; - position.left = listPosition[minIndex].left; - listPosition[i] = position; - //重新定义数组最小项的高度 进行累加 - listHeight[minIndex] += data[i].height + uni.upx2px(20); - } - } - this.listHeight = listHeight; - this.listPosition = listPosition; - }).exec(); - }, 50) - }) - } - }, - getBrandList() { - var data = { - page: 1, - page_size: 0 - }; - this.$api.sendRequest({ - url: '/api/goodsbrand/page', - data: data, - success: res => { - if (res.code == 0 && res.data) { - let data = res.data; - this.brandList = data.list; - } - } - }); - }, - /** - * 添加购物车回调 - */ - addCart(id) { - }, - genNonDuplicate(len = 6) { - return Number(Math.random().toString().substr(3, len) + Date.now()).toString(36); - } - } +export default { + data() { + return { + listStyle: '', + loadingType: 'loading', //加载更多状态 + orderType: '', + priceOrder: 'desc', //1 价格从低到高 2价格从高到低 + categoryList: [], //排序类型 + goodsList: [], + order: '', + sort: 'desc', + showScreen: false, + keyword: '', + categoryId: 0, + minPrice: '', + maxPrice: '', + isFreeShipping: false, //是否免邮 + isIphoneX: false, + coupon: 0, + emptyShow: false, + isList: true, //列表样式 + //分享所需标题 + share_title: '', + //搜索到多少件商品 + count: 0, + //当前分类名称 + category_title: '', + //优惠券数据 + coupon_name: '', + //列表瀑布流数据 + listHeight: [], + listPosition: [], + debounce: null, + brandId: 0, + brandList: [], //品牌筛选项 + config: { + fontWeight: false, + padding: 0, + cartEvent: "detail", + text: $lang("common.ns-goods-recommend.l20.t0"), + textColor: "#FFFFFF", + theme: "default", + aroundRadius: 25, + control: true, + bgColor: "#FF6A00", + style: "button", + iconDiy: { + iconType: "icon", + icon: "", + style: { + fontSize: "60", + iconBgColor: [], + iconBgColorDeg: 0, + iconBgImg: "", + bgRadius: 0, + iconColor: [ + "#000000" + ], + iconColorDeg: 0 + } + } + }, + + langstatus:0, + lang:uni.getStorageSync('lang') + } + }, + + onLoad(options) { + this.$api.sendRequest({ + url: '/api/lucky/status', + data: {}, + success: res => { + this.langstatus = res.status + if(this.langstatus == 1){ + // this.$langConfig.refresh(); + uni.setNavigationBarTitle({ + title:uni.getStorageSync('lang') == 'en-us'?'Goods List':$lang('goods.public.js.list.l78') + }) + } + } + }); + + this.categoryId = options.category_id || 0; + this.keyword = options.keyword || ''; + this.coupon = options.coupon || 0; + this.goods_id_arr = options.goods_id_arr || 0; + this.brandId = options.brand_id || 0; + + this.loadCategoryList(this.categoryId); + this.getBrandList(); + this.isIphoneX = this.$util.uniappIsIPhoneX(); + + //小程序分享接收source_member + if (options.source_member) { + uni.setStorageSync('source_member', options.source_member); + } + // 小程序扫码进入,接收source_member + if (options.scene) { + var sceneParams = decodeURIComponent(options.scene); + sceneParams = sceneParams.split('&'); + if (sceneParams.length) { + sceneParams.forEach(item => { + if (item.indexOf('sku_id') != -1) this.skuId = item.split('-')[1]; + if (item.indexOf('m') != -1) uni.setStorageSync('source_member', item.split('-')[1]); + if (item.indexOf('is_test') != -1) uni.setStorageSync('is_test', 1); + }); + } + } + + uni.onWindowResize(res => { + if (this.debounce) clearTimeout(this.debounce); + this.waterfallflow(0); + }) + }, + onShow() { + //记录分享关系 + if (this.storeToken && uni.getStorageSync('source_member')) { + this.$util.onSourceMember(uni.getStorageSync('source_member')); + } + }, + /** + * 转发分享 + */ + onShareAppMessage(res) { + var title = $lang('goods.public.js.list.l126') + this.count + $lang('goods.public.js.list.l126') + this.keyword + this.category_title + this.coupon_name + $lang('goods.public.js.list.l126'); + let route = this.$util.getCurrentShareRoute(this.memberInfo ? this.memberInfo.member_id : 0); + var path = route.path; + return { + title: title, + path: path, + success: res => { + }, + fail: res => { + } + }; + }, + // 分享到微信朋友圈 + onShareTimeline() { + var title = $lang('goods.public.js.list.l126') + this.count + $lang('goods.public.js.list.l126') + this.keyword + this.category_title + this.coupon_name + $lang('goods.public.js.list.l126'); + let route = this.$util.getCurrentShareRoute(this.memberInfo ? this.memberInfo.member_id : 0); + var query = route.query; + return { + title: title, + query: query, + imageUrl: '' + }; + }, + methods: { + /** + * 获取优惠券数据 + */ + couponInfo(id) { + return new Promise(resolve => { + this.$api.sendRequest({ + url: '/coupon/api/coupon/typeinfo', + data: { + coupon_type_id: id + }, + success: res => { + if (res.code >= 0) { + resolve(res.data.coupon_name); + } + } + }); + }) + }, + /** + * 获取分类名称 + */ + share_select(data, id) { + return new Promise((resolve) => { + data.forEach((item) => { + if (item.category_id == id) { + resolve(item.category_name) + } + if (item.child_list && item.child_list.length > 0) { + item.child_list.forEach((v) => { + if (v.category_id == id) { + resolve(v.category_name) + } + if (v.child_list && v.child_list.length > 0) { + v.forEach((m) => { + if (m.category_id == id) { + resolve(m.category_name) + } + }) + + } + }) + } + }) + }) + }, + //加载分类 + loadCategoryList(fid, sid) { + this.$api.sendRequest({ + url: '/api/goodscategory/tree', + data: {}, + success: res => { + if (res.data != null) { + this.categoryList = res.data + } + } + }); + }, + getGoodsList(mescroll) { + // #ifdef MP-HARMONY + // 鸿蒙元服务API响应极快,可能抢在scroll-view首次渲染完成之前返回数据 + // 导致mescroll测得内容高度为0,列表不可见。首次加载延迟300ms确保DOM就绪。 + if (!this._harmonyFirstLoadDone) { + this._harmonyFirstLoadDone = true; + setTimeout(() => { + this._doGetGoodsList(mescroll); + }, 300); + return; + } + // #endif + this._doGetGoodsList(mescroll); + }, + _doGetGoodsList(mescroll) { + this.$api.sendRequest({ + url: '/api/goodssku/page', + data: { + page: mescroll.num, + page_size: mescroll.size, + keyword: this.keyword, + category_id: this.categoryId, + brand_id: this.brandId, + min_price: this.minPrice, + max_price: this.maxPrice, + is_free_shipping: (this.isFreeShipping ? 1 : 0), + order: this.order, + sort: this.sort, + coupon: this.coupon, + goods_id_arr: this.goods_id_arr + }, + success: res => { + let newArr = [] + let msg = res.message; + if (res.code == 0 && res.data) { + this.count = res.data.count; + if (res.data.page_count == 0) { + this.emptyShow = true + } + newArr = res.data.list; + newArr = newArr.map(item => { + item.id = this.genNonDuplicate(); + return item; + }); + } else { + this.$util.showToast({ + title: msg + }) + } + this.category_title = ''; + this.coupon_name = ''; + if (res.data.config) this.config = res.data.config; + if (this.categoryId) { + this.share_select(this.categoryList, this.categoryId).then(resolve => { + this.category_title = resolve + }); + } + if (this.coupon) { + this.couponInfo(this.coupon).then(resolve => { + this.coupon_name = resolve + }); + } + mescroll.endSuccess(newArr.length); + //设置列表数据 + if (mescroll.num == 1) this.goodsList = []; //如果是第一页需手动制空列表 + this.goodsList = this.goodsList.concat(newArr); //追加新数据 + if (this.$refs.loadingCover) this.$refs.loadingCover.hide(); + + // #ifdef MP-HARMONY + // 鸿蒙下 mescroll 初始化时 setClientHeight 在 slot 内容渲染前执行,测得高度为 0 + // 数据加载后必须主动重新测量容器高度,否则 mescroll 认为容器高度为 0,列表不可见 + // 注:scrollTo(0,0) 只能重置滚动位置,scrollTop 已是 0 时不会触发 scroll 事件,不会重测 + // mounted 阶段的重试可能已经耗尽 5 次,这里主动重置 clientNum 让测量重新有机会 + this.$nextTick(() => { + const mescrollUni = this.$refs.mescroll && (this.$refs.mescroll.mescroll || this.$refs.mescroll); + if (mescrollUni && typeof mescrollUni.setClientHeight === 'function') { + mescrollUni.clientNum = null; + mescrollUni.isExec = false; + mescrollUni.setClientHeight(); + } + }); + // #endif + + this.waterfallflow((mescroll.num - 1) * 10); + }, + fail: res => { + //联网失败的回调 + mescroll.endErr(); + if (this.$refs.loadingCover) this.$refs.loadingCover.hide(); + } + }); + }, + changeListStyle() { + this.isList = !this.isList; + // 鸿蒙下 isList 切换导致 :key 变化、DOM 重建,重建出来的 .goods-item @click 事件绑定会丢失 + // 主动触发 slot 重建,把事件绑定带回来 + // #ifdef MP-HARMONY + const mescroll = this.$refs.mescroll; + if (mescroll && typeof mescroll.forceSlotRebuild === 'function') { + mescroll.forceSlotRebuild(); + } + // #endif + this.waterfallflow(0); + }, + //筛选点击 + sortTabClick(tag) { + if (tag == 'sale_num') { + this.order = 'sale_num'; + this.sort = 'desc'; + } else if (tag == 'discount_price') { + this.order = 'discount_price'; + this.sort = 'desc'; + } else if (tag == 'screen') { + //筛选 + this.showScreen = true; + return; + } else { + this.order = ''; + this.sort = ''; + } + + if (this.orderType === tag && tag !== 'discount_price') return; + + this.orderType = tag; + if (tag === 'discount_price') { + this.priceOrder = this.priceOrder === 'asc' ? 'desc' : 'asc'; + this.sort = this.priceOrder; + } else { + this.priceOrder = ''; + } + this.emptyShow = false; + this.goodsList = []; + this.$refs.mescroll.refresh(); + }, + //商品详情 + toDetail(item) { + this.$util.redirectTo('/pages_goods/detail', { + goods_id: item.goods_id + }); + }, + search() { + this.emptyShow = false; + this.goodsList = []; + this.$refs.mescroll.refresh(); + }, + selectedCategory(categoryId) { + this.categoryId = categoryId; + }, + screenData() { + if (this.minPrice != '' || this.maxPrice != '') { + // if (!Number(this.minPrice) && this.minPrice) { + // this.$util.showToast({ + // title: '请输入最低价' + // }); + // return; + // } + if (!Number(this.maxPrice) && this.maxPrice) { + this.$util.showToast({ + title: $lang('goods.public.js.list.l365') + }); + return; + } + if (Number(this.minPrice) < 0 || Number(this.maxPrice) < 0) { + this.$util.showToast({ + title: $lang('goods.public.js.list.l371') + }); + return; + } + if (this.minPrice != '' && Number(this.minPrice) > Number(this.maxPrice) && this.maxPrice) { + + this.$util.showToast({ + title: $lang('goods.public.js.list.l378') + }); + return; + } + if (this.maxPrice != '' && Number(this.maxPrice) < Number(this.minPrice)) { + this.$util.showToast({ + title: $lang('goods.public.js.list.l384') + }); + return; + } + } + this.emptyShow = false; + this.goodsList = []; + this.$refs.mescroll.refresh(); + this.showScreen = false; + }, + //重置数据 + resetData() { + this.categoryId = 0 + this.minPrice = '' + this.maxPrice = '' + this.isFreeShipping = false + }, + goodsImg(imgStr) { + let imgs = imgStr.split(','); + return imgs[0] ? this.$util.img(imgs[0], { + size: 'mid' + }) : this.$util.getDefaultImage().goods; + }, + imgError(index) { + this.goodsList[index].goods_image = this.$util.getDefaultImage().goods; + }, + showPrice(data) { + let price = data.discount_price; + if (data.member_price && parseFloat(data.member_price) < parseFloat(price)) price = data.member_price; + return price; + }, + showMarketPrice(item) { + if (item.market_price_show) { + let price = this.showPrice(item); + if (item.market_price > 0) { + return item.market_price; + } else if (parseFloat(item.price) > parseFloat(price)) { + return item.price; + } + } + return ''; + }, + goodsTag(data) { + return data.label_name || ''; + }, + /** + * 瀑布流 + */ + waterfallflow(start = 0) { + if (!this.isList) { + //页面渲染完成后的事件 + this.$nextTick(() => { + setTimeout(() => { + let listHeight = []; + let listPosition = []; + if (start != 0) { + listHeight = this.listHeight; + listPosition = this.listPosition; + } + let column = 2; + const query = uni.createSelectorQuery().in(this); + query.selectAll('.double-column .goods-item').boundingClientRect(data => { + for (let i = start; i < data.length; i++) { + if (i < column) { + let position = {}; + position.top = uni.upx2px(20) + 'px'; + if (i % column == 0) { + position.left = data[i].width * i + "px"; + } else { + position.left = data[i].width * i + (i % column * uni + .upx2px(30)) + "px"; + } + listPosition[i] = position; + listHeight[i] = data[i].height + uni.upx2px(20); + } else { + let minHeight = Math.min(...listHeight); // 找到第一列的最小高度 + let minIndex = listHeight.findIndex(item => item === minHeight) // 找到最小高度的索引 + //设置当前子元素项的位置 + let position = {}; + position.top = minHeight + uni.upx2px(20) + "px"; + position.left = listPosition[minIndex].left; + listPosition[i] = position; + //重新定义数组最小项的高度 进行累加 + listHeight[minIndex] += data[i].height + uni.upx2px(20); + } + } + this.listHeight = listHeight; + this.listPosition = listPosition; + }).exec(); + }, 50) + }) + } + }, + getBrandList() { + var data = { + page: 1, + page_size: 0 + }; + this.$api.sendRequest({ + url: '/api/goodsbrand/page', + data: data, + success: res => { + if (res.code == 0 && res.data) { + let data = res.data; + this.brandList = data.list; + } + } + }); + }, + /** + * 添加购物车回调 + */ + addCart(id) { + }, + genNonDuplicate(len = 6) { + return Number(Math.random().toString().substr(3, len) + Date.now()).toString(36); + } + } } \ No newline at end of file diff --git a/pages_order/_components/common-payment/common-payment.vue b/pages_order/_components/common-payment/common-payment.vue index d1eeffd..64c0705 100644 --- a/pages_order/_components/common-payment/common-payment.vue +++ b/pages_order/_components/common-payment/common-payment.vue @@ -1,657 +1,657 @@ - diff --git a/pages_tool/goods/search.vue b/pages_tool/goods/search.vue index 1870587..c3161ed 100644 --- a/pages_tool/goods/search.vue +++ b/pages_tool/goods/search.vue @@ -1,345 +1,345 @@ - - - - - \ No newline at end of file diff --git a/pages_tool/help/list.vue b/pages_tool/help/list.vue index 479227c..b45fd8c 100644 --- a/pages_tool/help/list.vue +++ b/pages_tool/help/list.vue @@ -1,132 +1,132 @@ - - - - - + + + + + diff --git a/pages_tool/index/diy.vue b/pages_tool/index/diy.vue index 2bf6c87..a1ad661 100644 --- a/pages_tool/index/diy.vue +++ b/pages_tool/index/diy.vue @@ -43,7 +43,7 @@ - 我知道了 + {{ $lang("diy.diy-notice.l49.t0") }}
diff --git a/pages_tool/login/find.vue b/pages_tool/login/find.vue index dd8d3b2..488c270 100644 --- a/pages_tool/login/find.vue +++ b/pages_tool/login/find.vue @@ -1,440 +1,440 @@ - - - - - + + + + + diff --git a/pages_tool/login/login.vue b/pages_tool/login/login.vue index 0ec95de..aa34ca1 100644 --- a/pages_tool/login/login.vue +++ b/pages_tool/login/login.vue @@ -1,500 +1,500 @@ - - - - - - - + + \ No newline at end of file diff --git a/pages_tool/member/account.vue b/pages_tool/member/account.vue index 2921673..5efd028 100644 --- a/pages_tool/member/account.vue +++ b/pages_tool/member/account.vue @@ -1,453 +1,453 @@ - - - - - - - + + \ No newline at end of file diff --git a/pages_tool/member/account_edit.vue b/pages_tool/member/account_edit.vue index 0225527..acfc6a7 100644 --- a/pages_tool/member/account_edit.vue +++ b/pages_tool/member/account_edit.vue @@ -1,323 +1,323 @@ - - - - - + + + + + diff --git a/pages_tool/member/address.vue b/pages_tool/member/address.vue index b0a4f9f..f4503c0 100644 --- a/pages_tool/member/address.vue +++ b/pages_tool/member/address.vue @@ -1,607 +1,607 @@ - - - - - - + \ No newline at end of file diff --git a/pages_tool/member/address_edit.vue b/pages_tool/member/address_edit.vue index 7451fea..b17af22 100644 --- a/pages_tool/member/address_edit.vue +++ b/pages_tool/member/address_edit.vue @@ -1,497 +1,497 @@ - - - - - \ No newline at end of file diff --git a/pages_tool/member/apply_withdrawal.vue b/pages_tool/member/apply_withdrawal.vue index 6317eb6..609760a 100644 --- a/pages_tool/member/apply_withdrawal.vue +++ b/pages_tool/member/apply_withdrawal.vue @@ -1,424 +1,424 @@ - - - - - \ No newline at end of file diff --git a/pages_tool/member/assets.vue b/pages_tool/member/assets.vue index f5a7a8b..b60fbd6 100644 --- a/pages_tool/member/assets.vue +++ b/pages_tool/member/assets.vue @@ -1,234 +1,234 @@ - - - - - + + + + + diff --git a/pages_tool/member/balance.vue b/pages_tool/member/balance.vue index fa528b7..997b62e 100644 --- a/pages_tool/member/balance.vue +++ b/pages_tool/member/balance.vue @@ -1,189 +1,189 @@ - - - - - + + + + + diff --git a/pages_tool/member/balance_detail.vue b/pages_tool/member/balance_detail.vue index ff5586c..5f0f2eb 100644 --- a/pages_tool/member/balance_detail.vue +++ b/pages_tool/member/balance_detail.vue @@ -1,362 +1,362 @@ - - - - - \ No newline at end of file diff --git a/pages_tool/member/cancellation.vue b/pages_tool/member/cancellation.vue index 15d1e79..492ffbc 100644 --- a/pages_tool/member/cancellation.vue +++ b/pages_tool/member/cancellation.vue @@ -1,133 +1,133 @@ - - - - - + + + + + diff --git a/pages_tool/member/cancelrefuse.vue b/pages_tool/member/cancelrefuse.vue index 7ca4d77..57df6ed 100644 --- a/pages_tool/member/cancelrefuse.vue +++ b/pages_tool/member/cancelrefuse.vue @@ -1,117 +1,117 @@ - - - - - + + + + + diff --git a/pages_tool/member/cancelstatus.vue b/pages_tool/member/cancelstatus.vue index fc0e914..31a148e 100644 --- a/pages_tool/member/cancelstatus.vue +++ b/pages_tool/member/cancelstatus.vue @@ -1,189 +1,189 @@ - - - - - \ No newline at end of file diff --git a/pages_tool/member/cancelsuccess.vue b/pages_tool/member/cancelsuccess.vue index dca4284..b1692c8 100644 --- a/pages_tool/member/cancelsuccess.vue +++ b/pages_tool/member/cancelsuccess.vue @@ -1,104 +1,104 @@ - - - - - \ No newline at end of file diff --git a/pages_tool/member/card.vue b/pages_tool/member/card.vue index f98f099..acdd3d6 100644 --- a/pages_tool/member/card.vue +++ b/pages_tool/member/card.vue @@ -1,265 +1,265 @@ - - - - - - - + + \ No newline at end of file diff --git a/pages_tool/member/card_buy.vue b/pages_tool/member/card_buy.vue index bd4b526..ff677cc 100644 --- a/pages_tool/member/card_buy.vue +++ b/pages_tool/member/card_buy.vue @@ -1,429 +1,429 @@ - - - - - \ No newline at end of file diff --git a/pages_tool/member/collection.vue b/pages_tool/member/collection.vue index 83e0458..044a263 100644 --- a/pages_tool/member/collection.vue +++ b/pages_tool/member/collection.vue @@ -1,92 +1,92 @@ - - - - - - - + + \ No newline at end of file diff --git a/pages_tool/member/contact.vue b/pages_tool/member/contact.vue index d3b7c6a..4fb4ff4 100644 --- a/pages_tool/member/contact.vue +++ b/pages_tool/member/contact.vue @@ -1,28 +1,28 @@ - - - - - + + + + + diff --git a/pages_tool/member/coupon.vue b/pages_tool/member/coupon.vue index 08db353..8a52290 100644 --- a/pages_tool/member/coupon.vue +++ b/pages_tool/member/coupon.vue @@ -1,401 +1,401 @@ - - - - - \ No newline at end of file diff --git a/pages_tool/member/footprint.vue b/pages_tool/member/footprint.vue index 01a4b54..1f7a54c 100644 --- a/pages_tool/member/footprint.vue +++ b/pages_tool/member/footprint.vue @@ -1,255 +1,255 @@ - - - - - + + + + + diff --git a/pages_tool/member/index.vue b/pages_tool/member/index.vue index 2a908c1..5b48521 100644 --- a/pages_tool/member/index.vue +++ b/pages_tool/member/index.vue @@ -1,202 +1,202 @@ - - - - - - - + + \ No newline at end of file diff --git a/pages_tool/member/info.vue b/pages_tool/member/info.vue index c36bd80..0f9596b 100644 --- a/pages_tool/member/info.vue +++ b/pages_tool/member/info.vue @@ -1,329 +1,329 @@ - - - - - \ No newline at end of file diff --git a/pages_tool/member/info_edit.vue b/pages_tool/member/info_edit.vue index 5d9ef29..953af00 100644 --- a/pages_tool/member/info_edit.vue +++ b/pages_tool/member/info_edit.vue @@ -1,387 +1,387 @@ - - - - - \ No newline at end of file diff --git a/pages_tool/member/invite_friends.vue b/pages_tool/member/invite_friends.vue index 34c44bb..5d5b7b0 100644 --- a/pages_tool/member/invite_friends.vue +++ b/pages_tool/member/invite_friends.vue @@ -1,278 +1,278 @@ - - - - - - - - - + + + + + + + + + diff --git a/pages_tool/member/level.vue b/pages_tool/member/level.vue index 1eb6596..b019434 100644 --- a/pages_tool/member/level.vue +++ b/pages_tool/member/level.vue @@ -1,372 +1,372 @@ - - - - - \ No newline at end of file diff --git a/pages_tool/member/level_growth_rules.vue b/pages_tool/member/level_growth_rules.vue index 94309f0..2ce653b 100644 --- a/pages_tool/member/level_growth_rules.vue +++ b/pages_tool/member/level_growth_rules.vue @@ -8,8 +8,8 @@ - 等级 - 成长值 + {{ $lang("fenxiao.level.l221") }} + {{ $lang("common.register-reward.l27.t0") }} {{ item.level_name }} @@ -20,20 +20,20 @@ - 什么是成长值 + {{ $lang("member.level_growth_rules.l23") }} - 成长值是消费者在店铺成为会员后,通过消费计算出来的值。成长值决定会员等级,会员等级越高,所享受的会员权益和会员礼包就越多。 + {{ $lang("member.level_growth_rules.l25") }} - 如何获得成长值 + {{ $lang("member.level_growth_rules.l30") }} - 1、注册会员送x成长值。 - 2、会员充值到余额送x成长值。 - 3、会员签到送x成长值。 - 4、会员消费x元,交易完成即可获得x个成长值。 + {{ $lang("member.level_growth_rules.l33") }} + {{ $lang("member.level_growth_rules.l34") }} + {{ $lang("member.level_growth_rules.l35") }} + {{ $lang("member.level_growth_rules.l36") }} @@ -118,7 +118,7 @@ }, getBannerDetail(index) { uni.showLoading({ - title: '将前往详情页面', + title: $lang('member.level.l268'), duration: 2000, mask: true }); diff --git a/pages_tool/member/modify_face.vue b/pages_tool/member/modify_face.vue index fece095..e892d58 100644 --- a/pages_tool/member/modify_face.vue +++ b/pages_tool/member/modify_face.vue @@ -1,197 +1,197 @@ - - - - - \ No newline at end of file diff --git a/pages_tool/member/pay_password.vue b/pages_tool/member/pay_password.vue index 0511b4b..721c1ce 100644 --- a/pages_tool/member/pay_password.vue +++ b/pages_tool/member/pay_password.vue @@ -1,278 +1,278 @@ - - - - - \ No newline at end of file diff --git a/pages_tool/member/point.vue b/pages_tool/member/point.vue index 172cbc8..9c61231 100644 --- a/pages_tool/member/point.vue +++ b/pages_tool/member/point.vue @@ -1,161 +1,161 @@ - - - - - + + + + + diff --git a/pages_tool/member/point_detail.vue b/pages_tool/member/point_detail.vue index 7087667..f217931 100644 --- a/pages_tool/member/point_detail.vue +++ b/pages_tool/member/point_detail.vue @@ -1,342 +1,342 @@ - - - - - + + + + + diff --git a/pages_tool/member/public/js/collection.js b/pages_tool/member/public/js/collection.js index c941bc6..f781f08 100644 --- a/pages_tool/member/public/js/collection.js +++ b/pages_tool/member/public/js/collection.js @@ -1,80 +1,80 @@ -export default { - data() { - return { - collectionList: [], - isShowEmpty: false - }; - }, - methods: { - //跳转至详情页 - toDetail(e) { - this.$util.redirectTo("/pages_goods/detail", { - goods_id: e.goods_id - }); - }, - //请求数据 - getData(mescroll) { - this.isShowEmpty = false; - let url = "/api/goodscollect/page" - let array = [] - this.$api.sendRequest({ - url: url, - data: { - page_size: mescroll.size, - page: mescroll.num, - }, - async: false, - }).then((res) => { - let newArr = res.data?.list || []; - for (var i = 0; i < newArr.length; i++) { - newArr[i].composite_score = Math.floor((parseFloat(newArr[i].shop_desccredit) + parseFloat(newArr[i].shop_servicecredit) + parseFloat(newArr[i].shop_deliverycredit)) / 3).toFixed(1); - } - array = array.concat(newArr); - //设置列表数据 - if (mescroll.num == 1) this.collectionList = []; //如果是第一页需手动制空列表 - this.collectionList = this.collectionList.concat(newArr); //追加新数据 - mescroll.endSuccess(array.length); - if (this.$refs.loadingCover) this.$refs.loadingCover.hide(); - this.isShowEmpty = true; - }) - - }, - //监听下拉刷新,初始化页面数据 - listenRefresh(e) { - this.$refs.goodsRecommend.init(); - }, - //删除某一项 - deleteItem(e) { - this.$api.sendRequest({ - url: "/api/goodscollect/delete", - data: { - goods_id: e - }, - success: res => { - if (res.code == 0) { - this.$util.showToast({ - title: "删除成功" - }) - let array = this.collectionList; - let newArray = array.filter((v) => { - return v.goods_id != e; - }) - this.collectionList = newArray; - } else { - this.$util.showToast({ - title: res.message - }) - } - } - }) - }, - imageError(index) { - this.collectionList[index].logo = this.$util.getDefaultImage().goods; - this.$forceUpdate(); - }, - goodsImageError(index) { - this.collectionList[index].sku_image = this.$util.getDefaultImage().goods; - this.$forceUpdate(); - } - } -}; +export default { + data() { + return { + collectionList: [], + isShowEmpty: false + }; + }, + methods: { + //跳转至详情页 + toDetail(e) { + this.$util.redirectTo("/pages_goods/detail", { + goods_id: e.goods_id + }); + }, + //请求数据 + getData(mescroll) { + this.isShowEmpty = false; + let url = "/api/goodscollect/page" + let array = [] + this.$api.sendRequest({ + url: url, + data: { + page_size: mescroll.size, + page: mescroll.num, + }, + async: false, + }).then((res) => { + let newArr = res.data?.list || []; + for (var i = 0; i < newArr.length; i++) { + newArr[i].composite_score = Math.floor((parseFloat(newArr[i].shop_desccredit) + parseFloat(newArr[i].shop_servicecredit) + parseFloat(newArr[i].shop_deliverycredit)) / 3).toFixed(1); + } + array = array.concat(newArr); + //设置列表数据 + if (mescroll.num == 1) this.collectionList = []; //如果是第一页需手动制空列表 + this.collectionList = this.collectionList.concat(newArr); //追加新数据 + mescroll.endSuccess(array.length); + if (this.$refs.loadingCover) this.$refs.loadingCover.hide(); + this.isShowEmpty = true; + }) + + }, + //监听下拉刷新,初始化页面数据 + listenRefresh(e) { + this.$refs.goodsRecommend.init(); + }, + //删除某一项 + deleteItem(e) { + this.$api.sendRequest({ + url: "/api/goodscollect/delete", + data: { + goods_id: e + }, + success: res => { + if (res.code == 0) { + this.$util.showToast({ + title: $lang("member.account.l118") + }) + let array = this.collectionList; + let newArray = array.filter((v) => { + return v.goods_id != e; + }) + this.collectionList = newArray; + } else { + this.$util.showToast({ + title: res.message + }) + } + } + }) + }, + imageError(index) { + this.collectionList[index].logo = this.$util.getDefaultImage().goods; + this.$forceUpdate(); + }, + goodsImageError(index) { + this.collectionList[index].sku_image = this.$util.getDefaultImage().goods; + this.$forceUpdate(); + } + } +}; diff --git a/pages_tool/member/public/js/info.js b/pages_tool/member/public/js/info.js index b0764e4..009b9c5 100644 --- a/pages_tool/member/public/js/info.js +++ b/pages_tool/member/public/js/info.js @@ -1,962 +1,962 @@ -import validate from '@/common/js/validate.js'; -import memberPublic from './member-public.js'; - -export default { - data() { - return { - registerConfig: {}, - indent: 'all', - customNavTitle: "", - formData: { - userHeadImg: '', - number: '', //账号 - nickName: '', //昵称 - sex: '', //性别 - realName: '', //真实姓名 - birthday: '', //生日 - currentPassword: '', //当前密码 - newPassword: '', //新密码 - confirmPassword: '', //确认密码 - mobile: '', //手机号 - mobileVercode: '', //手机验证码 - mobileDynacode: '', //手机动态验证吗 - mobileCodeText: "", - username: '', - provinceId: 0, - cityId: 0, - districtId: 0, - fullAddress: '', - address: '' - }, - memberInfoformData: { - userHeadImg: '', - number: '', //账号 - nickName: '', //昵称 - sex: '', //性别 - realName: '', //真实姓名 - birthday: '', //生日 - currentPassword: '', //当前密码 - newPassword: '', //新密码 - confirmPassword: '', //确认密码 - mobile: '', //手机号 - mobileVercode: '', //手机验证码 - mobileDynacode: '', //手机动态验证吗 - mobileCodeText: "", - }, - langList: [], - langIndex: 0, - seconds: 120, - timer: null, - isSend: false, - captcha: { - id: '', - img: '' - }, - isIphoneX: false, - items: [{ - value: '0', - name: '未知' - }, - { - value: '1', - name: '男', - checked: 'true' - }, - { - value: '2', - name: '女' - } - ], - current: 0, - memberConfig: { - is_audit: 0, - is_enable: 0 - }, - defaultRegions: [], - }; - }, - onLoad(option) { - this.isIphoneX = this.$util.uniappIsIPhoneX() - this.formData.mobileCodeText = this.$lang('findanimateCode'); - - if (option.back) { - this.back = option.back; - } - - this.getCaptcha(); - - if (option.action) { - this.indent = option.action; - this.setNavbarTitle() - - // #ifdef MP-WEIXIN - option.action == 'bind_mobile' && this.getCode() - // #endif - } - - this.getRegisterConfig(); - this.initLang(); - this.getMemberConfig(); - }, - onShow() { - if (!this.storeToken) { - this.$nextTick(() => { - this.$refs.login.open('/pages_tool/member/info'); - }); - } else { - this.getInfo(); - } - }, - onHide() { - this.seconds = 120; - this.formData.mobileCodeText = '获取动态码'; - this.isSend = false; - clearInterval(this.timer); - }, - watch: { - seconds(value) { - if (value == 0) { - this.seconds = 120; - this.formData.mobileCodeText = '获取动态码'; - this.isSend = false; - clearInterval(this.timer); - } - } - }, - computed: { - startDate() { - return this.getDate('start'); - }, - endDate() { - return this.getDate('end'); - } - }, - filters: { - mobile(mobile) { - return mobile.substring(0, 4 - 1) + '****' + mobile.substring(6 + 1); - } - }, - methods: { - ...memberPublic.methods, - // 初始化语言 - initLang() { - //获取语言列表 - this.langList = this.$langConfig.list(); - if (!uni.getStorageSync("lang")) { - this.langIndex = 0; - } else { - for (let i = 0; i < this.langList.length; i++) { - if (this.langList[i].value == uni.getStorageSync("lang")) { - this.langIndex = i; - break; - } - } - } - }, - setNavbarTitle() { - let title = '个人资料'; - switch (this.indent) { - case 'name': - title = this.$lang('modifyNickname'); - break; - case 'realName': - title = this.$lang('realName'); - break; - case 'sex': - title = this.$lang('sex'); - break; - case 'birthday': - title = this.$lang('birthday'); - break; - case 'password': - title = this.$lang('password'); - break; - case 'mobile': - title = this.$lang('mobile'); - break; - } - uni.setNavigationBarTitle({ - title: title - }); - }, - // 初始化用户信息 - getInfo() { - 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.mobile = this.memberInfo.mobile; //手机号 - - this.formData.username = this.memberInfo.username; //用户名 - this.formData.nickName = this.memberInfo.nickname; //昵称 - this.formData.realName = this.memberInfo.realname; //真实姓名 - this.formData.sex = this.memberInfo.sex; //性别 - this.formData.birthday = this.memberInfo.birthday ? this.$util.timeStampTurnTime(this.memberInfo.birthday, 'YYYY-MM-DD') : ''; //生日 - this.formData.provinceId = this.memberInfo.province_id; - this.formData.cityId = this.memberInfo.city_id; - this.formData.districtId = this.memberInfo.district_id; - this.formData.fullAddress = this.memberInfo.full_address; - this.formData.address = this.memberInfo.address; - if (this.memberInfo.full_address) this.defaultRegions = [this.memberInfo - .province_id, this.memberInfo.city_id, this.memberInfo.district_id - ]; - }, - // 切换编辑项 - modifyInfo(action) { - switch (action) { - case 'cancellation': - this.getCancelStatus(); - break; - case 'language': - let newArray = []; - for (let i = 0; i < this.langList.length; i++) { - newArray.push(this.langList[i].name) - } - uni.showActionSheet({ - itemList: newArray, - success: function (res) { - if (vm.langIndex != res.tapIndex) { - vm.$langConfig.change(vm.langList[res.tapIndex].value) - } - } - }); - break; - case 'mobile': - // #ifdef MP - this.$util.redirectTo('/pages_tool/member/info_edit', { - action: 'bind_mobile' - }); - // #endif - // #ifndef MP - this.$util.redirectTo('/pages_tool/member/info_edit', { - action - }); - // #endif - break; - default: - this.$util.redirectTo('/pages_tool/member/info_edit', { - action - }); - } - }, - // 导航返回 - NavReturn() { - uni.navigateBack({ - delta: 1 - }) - }, - // 获取验证码 - getCaptcha() { - this.$api.sendRequest({ - url: '/api/captcha/captcha', - data: { - captcha_id: this.captcha.id - }, - success: res => { - if (res.code >= 0) { - this.captcha = res.data; - this.captcha.img = this.captcha.img.replace(/\r\n/g, ''); - } - } - }); - }, - headImage() { - this.$util.redirectTo("/pages_tool/member/modify_face"); - }, - // 检测手机是否已绑定 - async testBinding(type) { - var res = await this.checkMobile(); - return res; - }, - //获取注销的配置信息 - getMemberConfig() { - this.$api.sendRequest({ - url: '/membercancel/api/membercancel/config', - success: res => { - if (res.code >= 0) { - this.memberConfig = res.data - } - } - }); - - }, - save(type) { - switch (type) { - case 'username': - this.modifyUserName(); - break; - case 'name': - this.modifyNickName(); - break; - case 'realName': - this.modifyRealName(); - break; - case 'sex': - this.modifySex(); - break; - case 'birthday': - this.modifyBirthday(); - break; - case 'password': - this.modifyPassword(); - break; - case 'mobile': - this.modifyMobile(); - break; - case 'address': - this.modifyAddress(); - break; - } - }, - - // ------------------------修改用户名------------------------------ - modifyUserName() { - if (this.formData.username == this.memberInfo.username) { - this.$util.showToast({ - title: this.$lang('alikeusername') - }); - return; - } - var rule = [{ - name: 'username', - checkType: 'required', - errorMsg: this.$lang('noEmityUsername') - }]; - if (!rule.length) return; - var checkRes = validate.check(this.formData, rule); - if (checkRes) { - this.$api.sendRequest({ - url: '/api/member/modifyusername', - data: { - username: this.formData.username - }, - success: res => { - if (res.code == 0) { - this.memberInfo.username = this.formData.username; - this.$store.commit('setMemberInfo', this.memberInfo); - this.$util.showToast({ - title: this.$lang("updateSuccess") - }); - this.NavReturn(); - } else { - this.$util.showToast({ - title: res.message - }); - } - } - }); - } else { - this.$util.showToast({ - title: validate.error - }); - } - }, - // ------------------------修改昵称------------------------------ - - modifyNickName() { - if (this.formData.nickName == this.memberInfo.nickname) { - this.$util.showToast({ - title: this.$lang('alikeNickname') - }); - return; - } - var rule = [{ - name: 'nickName', - checkType: 'required', - errorMsg: this.$lang('noEmityNickname') - }]; - if (!rule.length) return; - var checkRes = validate.check(this.formData, rule); - if (checkRes) { - this.$api.sendRequest({ - url: '/api/member/modifynickname', - data: { - nickname: this.formData.nickName - }, - success: res => { - if (res.code == 0) { - this.memberInfo.nickname = this.formData.nickName; - this.$store.commit('setMemberInfo', this.memberInfo); - this.$util.showToast({ - title: this.$lang("updateSuccess") - }); - this.NavReturn(); - } else { - this.$util.showToast({ - title: res.message - }); - } - } - }); - } else { - this.$util.showToast({ - title: validate.error - }); - } - }, - - // ------------------------修改真实姓名------------------------------ - modifyRealName() { - if (this.formData.realName == this.memberInfo.realname && this.memberInfo.realname) { - this.$util.showToast({ - title: '与原真实姓名一致,无需修改' - }); - return; - } - var rule = [{ - name: 'realName', - checkType: 'required', - errorMsg: '真实姓名不能为空' - }]; - if (!rule.length) return; - var checkRes = validate.check(this.formData, rule); - if (checkRes) { - this.$api.sendRequest({ - url: '/api/member/modifyrealname', - data: { - realname: this.formData.realName - }, - success: res => { - if (res.code == 0) { - this.memberInfo.realname = this.formData.realName; - this.$store.commit('setMemberInfo', this.memberInfo); - this.$util.showToast({ - title: this.$lang("updateSuccess") - }); - this.NavReturn(); - } else { - this.$util.showToast({ - title: res.message - }); - } - } - }); - } else { - this.$util.showToast({ - title: validate.error - }); - } - }, - - // ------------------------修改性别------------------------------ - radioChange: function (evt) { - for (let i = 0; i < this.items.length; i++) { - if (this.items[i].value === evt.target.value) { - this.formData.sex = i; - break; - } - } - }, - - modifySex() { - this.$api.sendRequest({ - url: '/api/member/modifysex', - data: { - sex: this.formData.sex - }, - success: res => { - if (res.code == 0) { - this.memberInfo.sex = this.formData.sex; - this.$store.commit('setMemberInfo', this.memberInfo); - this.$util.showToast({ - title: this.$lang("updateSuccess") - }); - this.NavReturn(); - } else { - this.$util.showToast({ - title: res.message - }); - } - } - }); - }, - - // ------------------------修改生日------------------------------ - - bindDateChange: function (e) { - this.formData.birthday = e.target.value - }, - - getDate(type) { - const date = new Date(); - let year = date.getFullYear(); - let month = date.getMonth() + 1; - let day = date.getDate(); - - if (type === 'start') { - year = year - 60; - } else if (type === 'end') { - year = year + 2; - } - month = month > 9 ? month : '0' + month; - day = day > 9 ? day : '0' + day; - return `${year}-${month}-${day}`; - }, - - modifyBirthday() { - if (this.formData.birthday.length == 0) { - this.$util.showToast({ - title: '请选择生日' - }); - return; - } - this.$api.sendRequest({ - url: '/api/member/modifybirthday', - data: { - birthday: this.$util.timeTurnTimeStamp(this.formData.birthday) - }, - success: res => { - if (res.code == 0) { - this.memberInfo.birthday = this.$util.timeTurnTimeStamp(this.formData.birthday); - this.$store.commit('setMemberInfo', this.memberInfo); - this.$util.showToast({ - title: this.$lang("updateSuccess") - }); - this.NavReturn(); - } else { - this.$util.showToast({ - title: res.message - }); - } - } - }); - }, - - // ------------------------修改密码------------------------------ - /** - * 获取注册配置 - */ - getRegisterConfig() { - this.$api.sendRequest({ - url: '/api/register/config', - success: res => { - if (res.code >= 0) { - this.registerConfig = res.data.value; - } - } - }); - }, - modifyPassword() { - if (this.memberInfo.password) { - var rule = [{ - name: 'currentPassword', - checkType: 'required', - errorMsg: this.$lang("pleaseInputOldPassword") - }, - { - name: 'newPassword', - checkType: 'required', - errorMsg: this.$lang("pleaseInputNewPassword") - } - ]; - } else { - var rule = [{ - name: 'mobileVercode', - checkType: 'required', - errorMsg: this.$lang("confirmCodeInput") - }, - { - name: 'mobileDynacode', - checkType: 'required', - errorMsg: this.$lang("animateCodeInput") - }, - { - name: 'newPassword', - checkType: 'required', - errorMsg: this.$lang("pleaseInputNewPassword") - } - ]; - } - - let regConfig = this.registerConfig; - if (regConfig.pwd_len > 0) { - rule.push({ - name: 'newPassword', - checkType: 'lengthMin', - checkRule: regConfig.pwd_len, - errorMsg: '新密码长度不能小于' + regConfig.pwd_len + '位' - }); - } - if (regConfig.pwd_complexity) { - let passwordErrorMsg = '密码需包含', - reg = ''; - if (regConfig.pwd_complexity.indexOf('number') != -1) { - reg += '(?=.*?[0-9])'; - passwordErrorMsg += '数字'; - } - if (regConfig.pwd_complexity.indexOf('letter') != -1) { - reg += '(?=.*?[a-z])'; - passwordErrorMsg += '、小写字母'; - } - if (regConfig.pwd_complexity.indexOf('upper_case') != -1) { - reg += '(?=.*?[A-Z])'; - passwordErrorMsg += '、大写字母'; - } - if (regConfig.pwd_complexity.indexOf('symbol') != -1) { - reg += '(?=.*?[#?!@$%^&*-])'; - passwordErrorMsg += '、特殊字符'; - } - rule.push({ - name: 'newPassword', - checkType: 'reg', - checkRule: reg, - errorMsg: passwordErrorMsg - }); - } - var checkRes = validate.check(this.formData, rule); - if (checkRes) { - if (this.formData.currentPassword == this.formData.newPassword) { - this.$util.showToast({ - title: '新密码不能与原密码相同' - }); - return; - } - if (this.formData.newPassword != this.formData.confirmPassword) { - this.$util.showToast({ - title: '两次密码不一致' - }); - return; - } - this.$api.sendRequest({ - url: '/api/member/modifypassword', - data: { - new_password: this.formData.newPassword, - old_password: this.formData.currentPassword, - code: this.formData.mobileDynacode, - key: uni.getStorageSync("password_mobile_key"), - }, - success: res => { - if (res.code == 0) { - this.memberInfo.password = 1; - this.$store.commit('setMemberInfo', this.memberInfo); - this.$util.showToast({ - title: this.$lang('updateSuccess') - }); - this.NavReturn(); - uni.removeStorageSync('password_mobile_key'); - } else { - this.$util.showToast({ - title: res.message - }); - this.getCaptcha(); - } - } - }); - } else { - this.$util.showToast({ - title: validate.error - }); - } - }, - - // ------------------------修改手机号------------------------------ - // 验证手机号 - vertifyMobile() { - var rule = [{ - name: 'mobile', - checkType: 'required', - errorMsg: '请输入手机号' - }, { - name: 'mobile', - checkType: 'phoneno', - errorMsg: '请输入正确的手机号' - }]; - var checkRes = validate.check(this.formData, rule); - if (!checkRes) { - this.$util.showToast({ - title: validate.error - }); - return false; - } - return true; - }, - // 检测手机号是否存在 - async checkMobile() { - if (!this.vertifyMobile()) return; - let res = await this.$api.sendRequest({ - url: '/api/member/checkmobile', - data: { - mobile: this.formData.mobile - }, - async: false - }); - if (res.code != 0) { - this.$util.showToast({ - title: res.message - }); - return false; - } - return true; - }, - - // 发送短信动态码 - async bindMoblieCode() { - if (this.seconds != 120) return; - var rule = [{ - name: 'mobile', - checkType: 'phoneno', - errorMsg: this.$lang("surePhoneNumber") - }, - { - name: 'mobileVercode', - checkType: 'required', - errorMsg: this.$lang("confirmCodeInput") - }, - ]; - - var checkRes = validate.check(this.formData, rule); - - if (checkRes && !this.isSend) { - this.isSend = true; - this.$api.sendRequest({ - url: '/api/member/bindmobliecode', - data: { - mobile: this.formData.mobile, - captcha_id: this.captcha.id, - captcha_code: this.formData.mobileVercode - }, - success: res => { - let data = res.data; - if (data.key) { - if (this.seconds == 120 && this.timer == null) { - this.timer = setInterval(() => { - this.seconds--; - this.formData.mobileCodeText = '已发送(' + this.seconds + 's)'; - }, 1000); - } - uni.setStorageSync('mobile_key', data.key); - } else { - this.$util.showToast({ - title: res.message - }); - this.isSend = false; - } - }, - fail: res => { - this.isSend = false; - this.getCaptcha(); - } - }); - } else { - this.$util.showToast({ - title: validate.error ? validate.error : '请勿重复点击' - }); - } - }, - async modifyMobile() { - - var mobileRule = [{ - name: 'mobile', - checkType: 'phoneno', - errorMsg: this.$lang("surePhoneNumber") - }, - { - name: 'mobileVercode', - checkType: 'required', - errorMsg: this.$lang("confirmCodeInput") - }, - { - name: 'mobileDynacode', - checkType: 'required', - errorMsg: this.$lang("animateCodeInput") - }, - ]; - var checkRes = validate.check(this.formData, mobileRule); - - if (checkRes) { - if (this.formData.mobile == this.memberInfo.mobile) { - this.$util.showToast({ - title: this.$lang("alikePhone") - }); - return; - } - this.$api.sendRequest({ - url: '/api/member/modifymobile', - data: { - mobile: this.formData.mobile, - captcha_id: this.captcha.id, - captcha_code: this.formData.mobileVercode, - code: this.formData.mobileDynacode, - key: uni.getStorageSync("mobile_key"), - }, - success: res => { - if (res.code == 0) { - this.memberInfo.mobile = this.formData.mobile; - this.$store.commit('setMemberInfo', this.memberInfo); - this.$util.showToast({ - title: this.$lang("updateSuccess") - }); - if (this.back) { - this.$util.redirectTo('/pages_tool/member/pay_password', { - 'back': this.back - }, 'redirectTo') - } else { - this.NavReturn(); - } - } else { - this.$util.showToast({ - title: res.message - }); - this.getCaptcha(); - } - }, - fail: res => { - this.isSend = false; - this.getCaptcha(); - } - }); - } else { - this.$util.showToast({ - title: validate.error - }); - } - }, - /** - * 修改密码发送动态码 - */ - passwordMoblieCode() { - if (this.seconds != 120) return; - - if (this.formData.mobileVercode == '') { - this.$util.showToast({ - title: this.$lang("confirmCodeInput") - }); - return; - } - - if (!this.isSend) { - this.isSend = true; - this.$api.sendRequest({ - url: '/api/member/pwdmobliecode', - data: { - captcha_id: this.captcha.id, - captcha_code: this.formData.mobileVercode - }, - success: res => { - let data = res.data; - if (data.key) { - if (this.seconds == 120 && this.timer == null) { - this.timer = setInterval(() => { - this.seconds--; - this.formData.mobileCodeText = '已发送(' + this.seconds + 's)'; - }, 1000); - } - uni.setStorageSync('password_mobile_key', data.key); - } else { - this.$util.showToast({ - title: res.message - }); - this.isSend = false; - } - }, - fail: res => { - this.isSend = false; - this.getCaptcha(); - } - }); - } else { - this.$util.showToast({ - title: '请勿重复点击' - }); - } - }, - modifyAddress() { - var rule = [{ - name: 'fullAddress', - checkType: 'required', - errorMsg: '请选择所在地区' - }, - { - name: 'address', - checkType: 'required', - errorMsg: '请输入详细地址' - } - ]; - if (!rule.length) return; - var checkRes = validate.check(this.formData, rule); - if (checkRes) { - this.$api.sendRequest({ - url: '/api/member/modifyaddress', - data: { - province_id: this.formData.provinceId, - city_id: this.formData.cityId, - district_id: this.formData.districtId, - address: this.formData.address, - full_address: this.formData.fullAddress - }, - success: res => { - if (res.code == 0) { - this.memberInfo.province_id = this.formData.provinceId; - this.memberInfo.city_id = this.formData.cityId; - this.memberInfo.district_id = this.formData.districtId; - this.memberInfo.address = this.formData.address; - this.memberInfo.full_address = this.formData.fullAddress; - this.$store.commit('setMemberInfo', this.memberInfo); - this.$util.showToast({ - title: this.$lang("updateSuccess") - }); - this.NavReturn(); - } else { - this.$util.showToast({ - title: res.message - }); - } - } - }); - } else { - this.$util.showToast({ - title: validate.error - }); - } - }, - initFormData() { - this.formData.currentPassword = ''; - this.formData.newPassword = ''; - this.formData.confirmPassword = ''; - this.formData.mobileVercode = ''; - this.formData.mobileDynacode = ''; - this.formData.mobile = ''; - }, - handleGetRegions(regions) { - this.formData.fullAddress = ''; - this.formData.fullAddress += regions[0] != undefined ? regions[0].label : ''; - this.formData.fullAddress += regions[1] != undefined ? '-' + regions[1].label : ''; - this.formData.fullAddress += regions[2] != undefined ? '-' + regions[2].label : ''; - this.formData.provinceId = regions[0] ? regions[0].value : 0; - this.formData.cityId = regions[1] ? regions[1].value : 0; - this.formData.districtId = regions[2] ? regions[2].value : 0; - }, - /** - * 手动绑定手机号 - */ - manualBinding() { - this.indent = 'mobile'; - }, - mobileAuth(e) { - if (e.detail.errMsg == 'getPhoneNumber:ok') { - let data = e.detail - // #ifdef MP-WEIXIN - Object.assign(data, this.authInfo) - // #endif - this.$api.sendRequest({ - url: '/api/member/mobileauth', - data, - success: res => { - if (res.code == 0) { - this.$util.showToast({ - title: this.$lang("updateSuccess") - }); - this.NavReturn(); - } else { - this.$util.showToast({ - title: res.message - }); - } - } - }) - } - } - } +import validate from '@/common/js/validate.js'; +import memberPublic from './member-public.js'; + +export default { + data() { + return { + registerConfig: {}, + indent: 'all', + customNavTitle: "", + formData: { + userHeadImg: '', + number: '', //账号 + nickName: '', //昵称 + sex: '', //性别 + realName: '', //真实姓名 + birthday: '', //生日 + currentPassword: '', //当前密码 + newPassword: '', //新密码 + confirmPassword: '', //确认密码 + mobile: '', //手机号 + mobileVercode: '', //手机验证码 + mobileDynacode: '', //手机动态验证吗 + mobileCodeText: "", + username: '', + provinceId: 0, + cityId: 0, + districtId: 0, + fullAddress: '', + address: '' + }, + memberInfoformData: { + userHeadImg: '', + number: '', //账号 + nickName: '', //昵称 + sex: '', //性别 + realName: '', //真实姓名 + birthday: '', //生日 + currentPassword: '', //当前密码 + newPassword: '', //新密码 + confirmPassword: '', //确认密码 + mobile: '', //手机号 + mobileVercode: '', //手机验证码 + mobileDynacode: '', //手机动态验证吗 + mobileCodeText: "", + }, + langList: [], + langIndex: 0, + seconds: 120, + timer: null, + isSend: false, + captcha: { + id: '', + img: '' + }, + isIphoneX: false, + items: [{ + value: '0', + name: $lang('member.public.js.info.l58') + }, + { + value: '1', + name: $lang('member.public.js.info.l62'), + checked: 'true' + }, + { + value: '2', + name: $lang('member.public.js.info.l67') + } + ], + current: 0, + memberConfig: { + is_audit: 0, + is_enable: 0 + }, + defaultRegions: [], + }; + }, + onLoad(option) { + this.isIphoneX = this.$util.uniappIsIPhoneX() + this.formData.mobileCodeText = this.$lang('login.list.findanimate_code'); + + if (option.back) { + this.back = option.back; + } + + this.getCaptcha(); + + if (option.action) { + this.indent = option.action; + this.setNavbarTitle() + + // #ifdef MP-WEIXIN + option.action == 'bind_mobile' && this.getCode() + // #endif + } + + this.getRegisterConfig(); + this.initLang(); + this.getMemberConfig(); + }, + onShow() { + if (!this.storeToken) { + this.$nextTick(() => { + this.$refs.login.open('/pages_tool/member/info'); + }); + } else { + this.getInfo(); + } + }, + onHide() { + this.seconds = 120; + this.formData.mobileCodeText = $lang('common.ns-login.l169.t0'); + this.isSend = false; + clearInterval(this.timer); + }, + watch: { + seconds(value) { + if (value == 0) { + this.seconds = 120; + this.formData.mobileCodeText = $lang('common.ns-login.l169.t0'); + this.isSend = false; + clearInterval(this.timer); + } + } + }, + computed: { + startDate() { + return this.getDate('start'); + }, + endDate() { + return this.getDate('end'); + } + }, + filters: { + mobile(mobile) { + return mobile.substring(0, 4 - 1) + '****' + mobile.substring(6 + 1); + } + }, + methods: { + ...memberPublic.methods, + // 初始化语言 + initLang() { + //获取语言列表 + this.langList = this.$langConfig.list(); + if (!uni.getStorageSync("lang")) { + this.langIndex = 0; + } else { + for (let i = 0; i < this.langList.length; i++) { + if (this.langList[i].value == uni.getStorageSync("lang")) { + this.langIndex = i; + break; + } + } + } + }, + setNavbarTitle() { + let title = $lang('member.public.js.info.l157'); + switch (this.indent) { + case 'name': + title = this.$lang('common.list.modify_nickname'); + break; + case 'realName': + title = this.$lang('common.list.real_name'); + break; + case 'sex': + title = this.$lang('common.list.sex'); + break; + case 'birthday': + title = this.$lang('birthday'); + break; + case 'password': + title = this.$lang('login.list.password'); + break; + case 'mobile': + title = this.$lang('login.list.mobile'); + break; + } + uni.setNavigationBarTitle({ + title: title + }); + }, + // 初始化用户信息 + getInfo() { + 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 : $lang('member.account_edit.l5'); //真实姓名 + this.memberInfoformData.sex = this.memberInfo.sex == 0 ? '未知' : this.memberInfo.sex == 1 ? '男' : $lang('member.public.js.info.l67'); //性别 + this.memberInfoformData.birthday = this.memberInfo.birthday ? this.$util.timeStampTurnTime(this.memberInfo.birthday, 'YYYY-MM-DD') : $lang('member.info_edit.l57'); //生日 + this.memberInfoformData.mobile = this.memberInfo.mobile; //手机号 + + this.formData.username = this.memberInfo.username; //用户名 + this.formData.nickName = this.memberInfo.nickname; //昵称 + this.formData.realName = this.memberInfo.realname; //真实姓名 + this.formData.sex = this.memberInfo.sex; //性别 + this.formData.birthday = this.memberInfo.birthday ? this.$util.timeStampTurnTime(this.memberInfo.birthday, 'YYYY-MM-DD') : ''; //生日 + this.formData.provinceId = this.memberInfo.province_id; + this.formData.cityId = this.memberInfo.city_id; + this.formData.districtId = this.memberInfo.district_id; + this.formData.fullAddress = this.memberInfo.full_address; + this.formData.address = this.memberInfo.address; + if (this.memberInfo.full_address) this.defaultRegions = [this.memberInfo + .province_id, this.memberInfo.city_id, this.memberInfo.district_id + ]; + }, + // 切换编辑项 + modifyInfo(action) { + switch (action) { + case 'cancellation': + this.getCancelStatus(); + break; + case 'language': + let newArray = []; + for (let i = 0; i < this.langList.length; i++) { + newArray.push(this.langList[i].name) + } + uni.showActionSheet({ + itemList: newArray, + success: function (res) { + if (vm.langIndex != res.tapIndex) { + vm.$langConfig.change(vm.langList[res.tapIndex].value) + } + } + }); + break; + case 'mobile': + // #ifdef MP + this.$util.redirectTo('/pages_tool/member/info_edit', { + action: 'bind_mobile' + }); + // #endif + // #ifndef MP + this.$util.redirectTo('/pages_tool/member/info_edit', { + action + }); + // #endif + break; + default: + this.$util.redirectTo('/pages_tool/member/info_edit', { + action + }); + } + }, + // 导航返回 + NavReturn() { + uni.navigateBack({ + delta: 1 + }) + }, + // 获取验证码 + getCaptcha() { + this.$api.sendRequest({ + url: '/api/captcha/captcha', + data: { + captcha_id: this.captcha.id + }, + success: res => { + if (res.code >= 0) { + this.captcha = res.data; + this.captcha.img = this.captcha.img.replace(/\r\n/g, ''); + } + } + }); + }, + headImage() { + this.$util.redirectTo("/pages_tool/member/modify_face"); + }, + // 检测手机是否已绑定 + async testBinding(type) { + var res = await this.checkMobile(); + return res; + }, + //获取注销的配置信息 + getMemberConfig() { + this.$api.sendRequest({ + url: '/membercancel/api/membercancel/config', + success: res => { + if (res.code >= 0) { + this.memberConfig = res.data + } + } + }); + + }, + save(type) { + switch (type) { + case 'username': + this.modifyUserName(); + break; + case 'name': + this.modifyNickName(); + break; + case 'realName': + this.modifyRealName(); + break; + case 'sex': + this.modifySex(); + break; + case 'birthday': + this.modifyBirthday(); + break; + case 'password': + this.modifyPassword(); + break; + case 'mobile': + this.modifyMobile(); + break; + case 'address': + this.modifyAddress(); + break; + } + }, + + // ------------------------修改用户名------------------------------ + modifyUserName() { + if (this.formData.username == this.memberInfo.username) { + this.$util.showToast({ + title: this.$lang('login.list.alikeusername') + }); + return; + } + var rule = [{ + name: 'username', + checkType: 'required', + errorMsg: this.$lang('login.list.no_emity_username') + }]; + if (!rule.length) return; + var checkRes = validate.check(this.formData, rule); + if (checkRes) { + this.$api.sendRequest({ + url: '/api/member/modifyusername', + data: { + username: this.formData.username + }, + success: res => { + if (res.code == 0) { + this.memberInfo.username = this.formData.username; + this.$store.commit('setMemberInfo', this.memberInfo); + this.$util.showToast({ + title: this.$lang("common.list.update_success") + }); + this.NavReturn(); + } else { + this.$util.showToast({ + title: res.message + }); + } + } + }); + } else { + this.$util.showToast({ + title: validate.error + }); + } + }, + // ------------------------修改昵称------------------------------ + + modifyNickName() { + if (this.formData.nickName == this.memberInfo.nickname) { + this.$util.showToast({ + title: this.$lang('common.list.alike_nickname') + }); + return; + } + var rule = [{ + name: 'nickName', + checkType: 'required', + errorMsg: this.$lang('common.list.no_emity_nickname') + }]; + if (!rule.length) return; + var checkRes = validate.check(this.formData, rule); + if (checkRes) { + this.$api.sendRequest({ + url: '/api/member/modifynickname', + data: { + nickname: this.formData.nickName + }, + success: res => { + if (res.code == 0) { + this.memberInfo.nickname = this.formData.nickName; + this.$store.commit('setMemberInfo', this.memberInfo); + this.$util.showToast({ + title: this.$lang("common.list.update_success") + }); + this.NavReturn(); + } else { + this.$util.showToast({ + title: res.message + }); + } + } + }); + } else { + this.$util.showToast({ + title: validate.error + }); + } + }, + + // ------------------------修改真实姓名------------------------------ + modifyRealName() { + if (this.formData.realName == this.memberInfo.realname && this.memberInfo.realname) { + this.$util.showToast({ + title: $lang('member.public.js.info.l404') + }); + return; + } + var rule = [{ + name: 'realName', + checkType: 'required', + errorMsg: $lang('member.public.js.info.l411') + }]; + if (!rule.length) return; + var checkRes = validate.check(this.formData, rule); + if (checkRes) { + this.$api.sendRequest({ + url: '/api/member/modifyrealname', + data: { + realname: this.formData.realName + }, + success: res => { + if (res.code == 0) { + this.memberInfo.realname = this.formData.realName; + this.$store.commit('setMemberInfo', this.memberInfo); + this.$util.showToast({ + title: this.$lang("common.list.update_success") + }); + this.NavReturn(); + } else { + this.$util.showToast({ + title: res.message + }); + } + } + }); + } else { + this.$util.showToast({ + title: validate.error + }); + } + }, + + // ------------------------修改性别------------------------------ + radioChange: function (evt) { + for (let i = 0; i < this.items.length; i++) { + if (this.items[i].value === evt.target.value) { + this.formData.sex = i; + break; + } + } + }, + + modifySex() { + this.$api.sendRequest({ + url: '/api/member/modifysex', + data: { + sex: this.formData.sex + }, + success: res => { + if (res.code == 0) { + this.memberInfo.sex = this.formData.sex; + this.$store.commit('setMemberInfo', this.memberInfo); + this.$util.showToast({ + title: this.$lang("common.list.update_success") + }); + this.NavReturn(); + } else { + this.$util.showToast({ + title: res.message + }); + } + } + }); + }, + + // ------------------------修改生日------------------------------ + + bindDateChange: function (e) { + this.formData.birthday = e.target.value + }, + + getDate(type) { + const date = new Date(); + let year = date.getFullYear(); + let month = date.getMonth() + 1; + let day = date.getDate(); + + if (type === 'start') { + year = year - 60; + } else if (type === 'end') { + year = year + 2; + } + month = month > 9 ? month : '0' + month; + day = day > 9 ? day : '0' + day; + return `${year}-${month}-${day}`; + }, + + modifyBirthday() { + if (this.formData.birthday.length == 0) { + this.$util.showToast({ + title: $lang('member.info_edit.l57') + }); + return; + } + this.$api.sendRequest({ + url: '/api/member/modifybirthday', + data: { + birthday: this.$util.timeTurnTimeStamp(this.formData.birthday) + }, + success: res => { + if (res.code == 0) { + this.memberInfo.birthday = this.$util.timeTurnTimeStamp(this.formData.birthday); + this.$store.commit('setMemberInfo', this.memberInfo); + this.$util.showToast({ + title: this.$lang("common.list.update_success") + }); + this.NavReturn(); + } else { + this.$util.showToast({ + title: res.message + }); + } + } + }); + }, + + // ------------------------修改密码------------------------------ + /** + * 获取注册配置 + */ + getRegisterConfig() { + this.$api.sendRequest({ + url: '/api/register/config', + success: res => { + if (res.code >= 0) { + this.registerConfig = res.data.value; + } + } + }); + }, + modifyPassword() { + if (this.memberInfo.password) { + var rule = [{ + name: 'currentPassword', + checkType: 'required', + errorMsg: this.$lang("login.list.please_input_old_password") + }, + { + name: 'newPassword', + checkType: 'required', + errorMsg: this.$lang("login.list.please_input_new_password") + } + ]; + } else { + var rule = [{ + name: 'mobileVercode', + checkType: 'required', + errorMsg: this.$lang("common.list.confirm_code_input") + }, + { + name: 'mobileDynacode', + checkType: 'required', + errorMsg: this.$lang("login.list.animate_code_input") + }, + { + name: 'newPassword', + checkType: 'required', + errorMsg: this.$lang("login.list.please_input_new_password") + } + ]; + } + + let regConfig = this.registerConfig; + if (regConfig.pwd_len > 0) { + rule.push({ + name: 'newPassword', + checkType: 'lengthMin', + checkRule: regConfig.pwd_len, + errorMsg: $lang('member.public.js.info.l579') + regConfig.pwd_len + $lang('login.find.l196') + }); + } + if (regConfig.pwd_complexity) { + let passwordErrorMsg = $lang('login.find.l200'), + reg = ''; + if (regConfig.pwd_complexity.indexOf('number') != -1) { + reg += '(?=.*?[0-9])'; + passwordErrorMsg += $lang('login.find.l204'); + } + if (regConfig.pwd_complexity.indexOf('letter') != -1) { + reg += '(?=.*?[a-z])'; + passwordErrorMsg += $lang('login.find.l208'); + } + if (regConfig.pwd_complexity.indexOf('upper_case') != -1) { + reg += '(?=.*?[A-Z])'; + passwordErrorMsg += $lang('login.find.l212'); + } + if (regConfig.pwd_complexity.indexOf('symbol') != -1) { + reg += '(?=.*?[#?!@$%^&*-])'; + passwordErrorMsg += $lang('login.find.l216'); + } + rule.push({ + name: 'newPassword', + checkType: 'reg', + checkRule: reg, + errorMsg: passwordErrorMsg + }); + } + var checkRes = validate.check(this.formData, rule); + if (checkRes) { + if (this.formData.currentPassword == this.formData.newPassword) { + this.$util.showToast({ + title: $lang('member.public.js.info.l612') + }); + return; + } + if (this.formData.newPassword != this.formData.confirmPassword) { + this.$util.showToast({ + title: $lang('login.find.l230') + }); + return; + } + this.$api.sendRequest({ + url: '/api/member/modifypassword', + data: { + new_password: this.formData.newPassword, + old_password: this.formData.currentPassword, + code: this.formData.mobileDynacode, + key: uni.getStorageSync("password_mobile_key"), + }, + success: res => { + if (res.code == 0) { + this.memberInfo.password = 1; + this.$store.commit('setMemberInfo', this.memberInfo); + this.$util.showToast({ + title: this.$lang('common.list.update_success') + }); + this.NavReturn(); + uni.removeStorageSync('password_mobile_key'); + } else { + this.$util.showToast({ + title: res.message + }); + this.getCaptcha(); + } + } + }); + } else { + this.$util.showToast({ + title: validate.error + }); + } + }, + + // ------------------------修改手机号------------------------------ + // 验证手机号 + vertifyMobile() { + var rule = [{ + name: 'mobile', + checkType: 'required', + errorMsg: $lang('common.ns-login.l16.t0') + }, { + name: 'mobile', + checkType: 'phoneno', + errorMsg: $lang('common.ns-login.l393.t0') + }]; + var checkRes = validate.check(this.formData, rule); + if (!checkRes) { + this.$util.showToast({ + title: validate.error + }); + return false; + } + return true; + }, + // 检测手机号是否存在 + async checkMobile() { + if (!this.vertifyMobile()) return; + let res = await this.$api.sendRequest({ + url: '/api/member/checkmobile', + data: { + mobile: this.formData.mobile + }, + async: false + }); + if (res.code != 0) { + this.$util.showToast({ + title: res.message + }); + return false; + } + return true; + }, + + // 发送短信动态码 + async bindMoblieCode() { + if (this.seconds != 120) return; + var rule = [{ + name: 'mobile', + checkType: 'phoneno', + errorMsg: this.$lang("login.list.sure_phone_number") + }, + { + name: 'mobileVercode', + checkType: 'required', + errorMsg: this.$lang("common.list.confirm_code_input") + }, + ]; + + var checkRes = validate.check(this.formData, rule); + + if (checkRes && !this.isSend) { + this.isSend = true; + this.$api.sendRequest({ + url: '/api/member/bindmobliecode', + data: { + mobile: this.formData.mobile, + captcha_id: this.captcha.id, + captcha_code: this.formData.mobileVercode + }, + success: res => { + let data = res.data; + if (data.key) { + if (this.seconds == 120 && this.timer == null) { + this.timer = setInterval(() => { + this.seconds--; + this.formData.mobileCodeText = $lang('member.public.js.info.l726') + this.seconds + 's)'; + }, 1000); + } + uni.setStorageSync('mobile_key', data.key); + } else { + this.$util.showToast({ + title: res.message + }); + this.isSend = false; + } + }, + fail: res => { + this.isSend = false; + this.getCaptcha(); + } + }); + } else { + this.$util.showToast({ + title: validate.error ? validate.error : $lang('member.public.js.info.l744') + }); + } + }, + async modifyMobile() { + + var mobileRule = [{ + name: 'mobile', + checkType: 'phoneno', + errorMsg: this.$lang("login.list.sure_phone_number") + }, + { + name: 'mobileVercode', + checkType: 'required', + errorMsg: this.$lang("common.list.confirm_code_input") + }, + { + name: 'mobileDynacode', + checkType: 'required', + errorMsg: this.$lang("login.list.animate_code_input") + }, + ]; + var checkRes = validate.check(this.formData, mobileRule); + + if (checkRes) { + if (this.formData.mobile == this.memberInfo.mobile) { + this.$util.showToast({ + title: this.$lang("login.list.alike_phone") + }); + return; + } + this.$api.sendRequest({ + url: '/api/member/modifymobile', + data: { + mobile: this.formData.mobile, + captcha_id: this.captcha.id, + captcha_code: this.formData.mobileVercode, + code: this.formData.mobileDynacode, + key: uni.getStorageSync("mobile_key"), + }, + success: res => { + if (res.code == 0) { + this.memberInfo.mobile = this.formData.mobile; + this.$store.commit('setMemberInfo', this.memberInfo); + this.$util.showToast({ + title: this.$lang("common.list.update_success") + }); + if (this.back) { + this.$util.redirectTo('/pages_tool/member/pay_password', { + 'back': this.back + }, 'redirectTo') + } else { + this.NavReturn(); + } + } else { + this.$util.showToast({ + title: res.message + }); + this.getCaptcha(); + } + }, + fail: res => { + this.isSend = false; + this.getCaptcha(); + } + }); + } else { + this.$util.showToast({ + title: validate.error + }); + } + }, + /** + * 修改密码发送动态码 + */ + passwordMoblieCode() { + if (this.seconds != 120) return; + + if (this.formData.mobileVercode == '') { + this.$util.showToast({ + title: this.$lang("common.list.confirm_code_input") + }); + return; + } + + if (!this.isSend) { + this.isSend = true; + this.$api.sendRequest({ + url: '/api/member/pwdmobliecode', + data: { + captcha_id: this.captcha.id, + captcha_code: this.formData.mobileVercode + }, + success: res => { + let data = res.data; + if (data.key) { + if (this.seconds == 120 && this.timer == null) { + this.timer = setInterval(() => { + this.seconds--; + this.formData.mobileCodeText = $lang('member.public.js.info.l726') + this.seconds + 's)'; + }, 1000); + } + uni.setStorageSync('password_mobile_key', data.key); + } else { + this.$util.showToast({ + title: res.message + }); + this.isSend = false; + } + }, + fail: res => { + this.isSend = false; + this.getCaptcha(); + } + }); + } else { + this.$util.showToast({ + title: $lang('member.public.js.info.l744') + }); + } + }, + modifyAddress() { + var rule = [{ + name: 'fullAddress', + checkType: 'required', + errorMsg: $lang('member.public.js.info.l869') + }, + { + name: 'address', + checkType: 'required', + errorMsg: $lang('member.public.js.info.l874') + } + ]; + if (!rule.length) return; + var checkRes = validate.check(this.formData, rule); + if (checkRes) { + this.$api.sendRequest({ + url: '/api/member/modifyaddress', + data: { + province_id: this.formData.provinceId, + city_id: this.formData.cityId, + district_id: this.formData.districtId, + address: this.formData.address, + full_address: this.formData.fullAddress + }, + success: res => { + if (res.code == 0) { + this.memberInfo.province_id = this.formData.provinceId; + this.memberInfo.city_id = this.formData.cityId; + this.memberInfo.district_id = this.formData.districtId; + this.memberInfo.address = this.formData.address; + this.memberInfo.full_address = this.formData.fullAddress; + this.$store.commit('setMemberInfo', this.memberInfo); + this.$util.showToast({ + title: this.$lang("common.list.update_success") + }); + this.NavReturn(); + } else { + this.$util.showToast({ + title: res.message + }); + } + } + }); + } else { + this.$util.showToast({ + title: validate.error + }); + } + }, + initFormData() { + this.formData.currentPassword = ''; + this.formData.newPassword = ''; + this.formData.confirmPassword = ''; + this.formData.mobileVercode = ''; + this.formData.mobileDynacode = ''; + this.formData.mobile = ''; + }, + handleGetRegions(regions) { + this.formData.fullAddress = ''; + this.formData.fullAddress += regions[0] != undefined ? regions[0].label : ''; + this.formData.fullAddress += regions[1] != undefined ? '-' + regions[1].label : ''; + this.formData.fullAddress += regions[2] != undefined ? '-' + regions[2].label : ''; + this.formData.provinceId = regions[0] ? regions[0].value : 0; + this.formData.cityId = regions[1] ? regions[1].value : 0; + this.formData.districtId = regions[2] ? regions[2].value : 0; + }, + /** + * 手动绑定手机号 + */ + manualBinding() { + this.indent = 'mobile'; + }, + mobileAuth(e) { + if (e.detail.errMsg == 'getPhoneNumber:ok') { + let data = e.detail + // #ifdef MP-WEIXIN + Object.assign(data, this.authInfo) + // #endif + this.$api.sendRequest({ + url: '/api/member/mobileauth', + data, + success: res => { + if (res.code == 0) { + this.$util.showToast({ + title: this.$lang("common.list.update_success") + }); + this.NavReturn(); + } else { + this.$util.showToast({ + title: res.message + }); + } + } + }) + } + } + } }; \ No newline at end of file diff --git a/pages_tool/member/public/js/invite_friends.js b/pages_tool/member/public/js/invite_friends.js index 12e5a86..2de14bb 100644 --- a/pages_tool/member/public/js/invite_friends.js +++ b/pages_tool/member/public/js/invite_friends.js @@ -1,115 +1,115 @@ -export default { - methods: { - //获取邀请列表 - getList() { - this.$api.sendRequest({ - url: '/memberrecommend/api/memberrecommend/lists', - data: { - page: this.page, - page_size: this.page_size - }, - success: res => { - this.inviteList = this.inviteList.concat(res.data.list); - this.total_num = res.data.page_count; - } - }); - }, - moreList() { - this.page++; - this.isClick = false; - if (this.page < this.total_num) { - this.getList(); - this.isClick = true; - } else if (this.page == this.total_num) { - this.getList(); - } - }, - getBaseInfo() { - this.$api.sendRequest({ - url: '/memberrecommend/api/memberrecommend/info', - success: res => { - if (res.code == 0) { - this.info = res.data; - if (this.$refs.loadingCover) this.$refs.loadingCover.hide(); - } - } - }); - }, - openSharePopup() { - this.$refs.sharePopup.open(); - }, - // 关闭分享弹出层 - closeSharePopup() { - this.$refs.sharePopup.close(); - }, - // 打开规则说明弹出层 - openRulePopup() { - this.$refs.rulePopup.open(); - }, - // 打开规则说明弹出层 - closeRulePopup() { - this.$refs.rulePopup.close(); - }, - copyUrl() { - let text = this.$config.h5Domain + this.$util.INDEX_PAGE_URL; - if (this.memberInf && this.memberInfo.member_id) text += '?source_member=' + this.memberInfo.member_id; - this.$util.copy(text, () => { - this.closeSharePopup(); - }); - }, - // 打开海报弹出层 - openPosterPopup() { - this.getPoster(); - this.$refs.sharePopup.close(); - this.$refs.posterPopup.open(); - }, - // 关闭海报弹出层 - closePosterPopup() { - this.$refs.posterPopup.close(); - }, - //生成海报 - getPoster() { - //活动海报信息 - let qrcode_param = { - source_member: this.memberInfo.member_id - }; - this.$api.sendRequest({ - url: "/memberrecommend/api/memberrecommend/poster", - data: { - page: this.$util.INDEX_PAGE_URL, - qrcode_param: JSON.stringify(qrcode_param) - }, - success: res => { - if (res.code == 0) { - this.poster = res.data.path + "?time=" + new Date().getTime(); - } else { - this.posterMsg = res.message; - } - } - }); - }, - savePoster() { - let url = this.$util.img(this.poster); - uni.downloadFile({ - url: url, - success: (res) => { - if (res.statusCode === 200) { - uni.saveImageToPhotosAlbum({ - filePath: res.tempFilePath, - success: () => { - this.$util.showToast({ - title: "保存成功" - }); - }, - fail: () => { - this.$util.showToast({ - title: "保存失败,请稍后重试" - }); - } - }); - } - } - }); - } - } +export default { + methods: { + //获取邀请列表 + getList() { + this.$api.sendRequest({ + url: '/memberrecommend/api/memberrecommend/lists', + data: { + page: this.page, + page_size: this.page_size + }, + success: res => { + this.inviteList = this.inviteList.concat(res.data.list); + this.total_num = res.data.page_count; + } + }); + }, + moreList() { + this.page++; + this.isClick = false; + if (this.page < this.total_num) { + this.getList(); + this.isClick = true; + } else if (this.page == this.total_num) { + this.getList(); + } + }, + getBaseInfo() { + this.$api.sendRequest({ + url: '/memberrecommend/api/memberrecommend/info', + success: res => { + if (res.code == 0) { + this.info = res.data; + if (this.$refs.loadingCover) this.$refs.loadingCover.hide(); + } + } + }); + }, + openSharePopup() { + this.$refs.sharePopup.open(); + }, + // 关闭分享弹出层 + closeSharePopup() { + this.$refs.sharePopup.close(); + }, + // 打开规则说明弹出层 + openRulePopup() { + this.$refs.rulePopup.open(); + }, + // 打开规则说明弹出层 + closeRulePopup() { + this.$refs.rulePopup.close(); + }, + copyUrl() { + let text = this.$config.h5Domain + this.$util.INDEX_PAGE_URL; + if (this.memberInf && this.memberInfo.member_id) text += '?source_member=' + this.memberInfo.member_id; + this.$util.copy(text, () => { + this.closeSharePopup(); + }); + }, + // 打开海报弹出层 + openPosterPopup() { + this.getPoster(); + this.$refs.sharePopup.close(); + this.$refs.posterPopup.open(); + }, + // 关闭海报弹出层 + closePosterPopup() { + this.$refs.posterPopup.close(); + }, + //生成海报 + getPoster() { + //活动海报信息 + let qrcode_param = { + source_member: this.memberInfo.member_id + }; + this.$api.sendRequest({ + url: "/memberrecommend/api/memberrecommend/poster", + data: { + page: this.$util.INDEX_PAGE_URL, + qrcode_param: JSON.stringify(qrcode_param) + }, + success: res => { + if (res.code == 0) { + this.poster = res.data.path + "?time=" + new Date().getTime(); + } else { + this.posterMsg = res.message; + } + } + }); + }, + savePoster() { + let url = this.$util.img(this.poster); + uni.downloadFile({ + url: url, + success: (res) => { + if (res.statusCode === 200) { + uni.saveImageToPhotosAlbum({ + filePath: res.tempFilePath, + success: () => { + this.$util.showToast({ + title: $lang("goods._components.goods-detail-view.detail.l351.t0") + }); + }, + fail: () => { + this.$util.showToast({ + title: $lang("goods._components.goods-detail-view.detail.l356.t0") + }); + } + }); + } + } + }); + } + } } \ No newline at end of file diff --git a/pages_tool/member/public/js/member-public.js b/pages_tool/member/public/js/member-public.js index 5a736b4..2ecccbf 100644 --- a/pages_tool/member/public/js/member-public.js +++ b/pages_tool/member/public/js/member-public.js @@ -1,90 +1,90 @@ -export default { - methods: { - // 清除登录态(token / 用户信息 / 购物车 / 本地存储) - clearLoginState() { - this.$store.commit('setToken', ''); - this.$store.commit('setMemberInfo', ''); - this.$store.dispatch('emptyCart'); - uni.removeStorageSync('authInfo'); - uni.removeStorageSync('privacyAgreed'); - }, - - // 退出登录 - logout() { - uni.showModal({ - title: this.$lang('logoutTitle'), - content: this.$lang('logoutContent'), - success: (res) => { - if (res.confirm) { - this.clearLoginState(); - this.$util.redirectTo(this.$util.LOGIN_PAGE_URL); - } - } - }); - }, - - // 账号注销入口:先查状态,根据状态分流 - cancellation() { - this.getCancelStatus(); - }, - - // 查询注销状态并跳转对应页面 - // status: undefined/null → 未申请 → 协议页 cancellation.vue - // status: 0 → 审核中 → 状态页 cancelstatus.vue - // status: 1 → 通过 → 成功页 cancelsuccess.vue - // status: -1 → 拒绝 → 拒绝页 cancelrefuse.vue - getCancelStatus() { - this.$api.sendRequest({ - url: '/membercancel/api/membercancel/info', - success: res => { - if (res.code >= 0) { - if (res.data) { - if (res.data.status == 0) { - this.$util.redirectTo('/pages_tool/member/cancelstatus'); - } else if (res.data.status == 1) { - this.$util.redirectTo('/pages_tool/member/cancelsuccess'); - } else { - this.$util.redirectTo('/pages_tool/member/cancelrefuse'); - } - } else { - this.$util.redirectTo('/pages_tool/member/cancellation'); - } - } else if (res.code == -1) { - this.clearLoginState(); - this.$util.redirectTo(this.$util.LOGIN_PAGE_URL); - } - } - }); - }, - - // 提交注销申请并清理登录态(供 assets.vue 等页面调用) - submitCancelApply(options = {}) { - uni.showModal({ - title: options.title || '风险提示', - content: options.content || '确定要注销当前账号吗?', - confirmColor: '#000000', - success: res => { - if (res.confirm) { - this.$api.sendRequest({ - url: '/membercancel/api/membercancel/apply', - success: rres => { - if (rres.code >= 0) { - if (options.clearStateAndRedirect) { - this.clearLoginState(); - this.$util.redirectTo(this.$util.LOGIN_PAGE_URL); - } else { - this.$util.redirectTo('/pages_tool/member/cancelstatus'); - } - } else { - this.$util.showToast({ - title: rres.message - }); - } - } - }); - } - } - }); - } - } -}; +export default { + methods: { + // 清除登录态(token / 用户信息 / 购物车 / 本地存储) + clearLoginState() { + this.$store.commit('setToken', ''); + this.$store.commit('setMemberInfo', ''); + this.$store.dispatch('emptyCart'); + uni.removeStorageSync('authInfo'); + uni.removeStorageSync('privacyAgreed'); + }, + + // 退出登录 + logout() { + uni.showModal({ + title: this.$lang('login.list.logout_title'), + content: this.$lang('login.list.logout_content'), + success: (res) => { + if (res.confirm) { + this.clearLoginState(); + this.$util.redirectTo(this.$util.LOGIN_PAGE_URL); + } + } + }); + }, + + // 账号注销入口:先查状态,根据状态分流 + cancellation() { + this.getCancelStatus(); + }, + + // 查询注销状态并跳转对应页面 + // status: undefined/null → 未申请 → 协议页 cancellation.vue + // status: 0 → 审核中 → 状态页 cancelstatus.vue + // status: 1 → 通过 → 成功页 cancelsuccess.vue + // status: -1 → 拒绝 → 拒绝页 cancelrefuse.vue + getCancelStatus() { + this.$api.sendRequest({ + url: '/membercancel/api/membercancel/info', + success: res => { + if (res.code >= 0) { + if (res.data) { + if (res.data.status == 0) { + this.$util.redirectTo('/pages_tool/member/cancelstatus'); + } else if (res.data.status == 1) { + this.$util.redirectTo('/pages_tool/member/cancelsuccess'); + } else { + this.$util.redirectTo('/pages_tool/member/cancelrefuse'); + } + } else { + this.$util.redirectTo('/pages_tool/member/cancellation'); + } + } else if (res.code == -1) { + this.clearLoginState(); + this.$util.redirectTo(this.$util.LOGIN_PAGE_URL); + } + } + }); + }, + + // 提交注销申请并清理登录态(供 assets.vue 等页面调用) + submitCancelApply(options = {}) { + uni.showModal({ + title: options.title || $lang('member.cancelstatus.l84'), + content: options.content || $lang('member.public.js.member-public.l64.t0'), + confirmColor: '#000000', + success: res => { + if (res.confirm) { + this.$api.sendRequest({ + url: '/membercancel/api/membercancel/apply', + success: rres => { + if (rres.code >= 0) { + if (options.clearStateAndRedirect) { + this.clearLoginState(); + this.$util.redirectTo(this.$util.LOGIN_PAGE_URL); + } else { + this.$util.redirectTo('/pages_tool/member/cancelstatus'); + } + } else { + this.$util.showToast({ + title: rres.message + }); + } + } + }); + } + } + }); + } + } +}; diff --git a/pages_tool/member/public/js/signin.js b/pages_tool/member/public/js/signin.js index 94d2f11..62cff91 100644 --- a/pages_tool/member/public/js/signin.js +++ b/pages_tool/member/public/js/signin.js @@ -1,276 +1,276 @@ -export default { - data() { - return { - showSignDays: [], // 一共展示的天数 - rule: [{}], - hasSign: 0, //今天是否签到 - signDaysSeries: 0, //连续签到次数 - MonthData: [], //本月日期信息 - signList: [], - back: '', //返回页 - redirect: '', //返回方式 - successTip: {}, - startDate: null, - endDate: null, - isActive: "", //判断点击 - signState: 1, - headimg: '', - point: 0, - growth: 0, - signPoint: 0, - signGrowth: 0, - rewardRuleDay: [], - cycle: 0, - reward: {} - }; - }, - onLoad(option) { - setTimeout( () => { - if (!this.addonIsExist.membersignin) { - this.$util.showToast({ - title: '商家未开启会员签到', - mask: true, - duration: 2000 - }); - setTimeout(() => { - this.$util.redirectTo(this.$util.INDEX_PAGE_URL); - }, 2000); - } - },1000); - - if (option.back) this.back = option.back; - if (option.redirect) this.redirect = option.redirect; - - this.getSignState(); - }, - onShow() { - if (!this.storeToken) { - this.$nextTick(() => { - this.$refs.login.open('/pages_tool/member/signin'); - }); - return; - } - - this.headimg = this.memberInfo.headimg; - this.signDaysSeries = this.memberInfo.sign_days_series; - - this.getSignPointData(); - this.getSignGrowthData(); - this.setPublicShare(); - - this.getIsSign(); - }, - methods: { - // 获取签到累积积分 - getSignPointData() { - this.$api.sendRequest({ - url: '/api/memberaccount/sum', - data: { - account_type: 'point', - from_type: 'signin' - }, - success: res => { - if (res.code == 0) { - this.signPoint = res.data; - } - } - }); - }, - // 获取签到累积成长值 - getSignGrowthData() { - this.$api.sendRequest({ - url: '/api/memberaccount/sum', - data: { - account_type: 'growth', - from_type: 'signin' - }, - success: res => { - if (res.code == 0) { - this.signGrowth = res.data; - } - } - }); - }, - // 签到是否开启 - getSignState() { - this.$api.sendRequest({ - url: '/api/membersignin/getSignStatus', - success: res => { - if (res.code == 0) { - this.signState = res.data.is_use; - } - } - }); - }, - navigateBack() { - if (this.back != '') { - this.$util.redirectTo(this.back, {}, this.redirect); - } else { - this.$util.redirectTo(this.$util.MEMBER_PAGE_URL); - } - }, - //获取rule - getRule() { - this.rewardRuleDay = []; - this.$api.sendRequest({ - url: '/api/membersignin/award', - success: res => { - if (res.code == 0) { - - this.cycle = res.data.cycle || 0; - this.rule = res.data.reward || []; - let default_point = 0; - if (this.rule.length > 0) { - this.rule.forEach((item, index) => { - if (item.day == 1) { - default_point = item.point; - } else { - this.rewardRuleDay.push(parseInt(item.day)); - this.reward[item.day] = item.point; - } - }); - } - //展示7天 - var showSignDays = []; - var start_day = 1; - var end_day = 7; - var total_day = res.data.cycle; - if (this.signDaysSeries > 5) { - start_day = this.signDaysSeries - 5; - } - if (total_day >= (this.signDaysSeries + 1)) { - end_day = this.signDaysSeries + 1; - } - if (this.signDaysSeries <= 5) { - end_day = 8 - start_day; - } - - if ((end_day - start_day) < 7 && total_day >= start_day + 6) { - end_day = start_day + 6; - } - if (total_day == this.signDaysSeries) { - start_day = this.signDaysSeries - 6; - end_day = this.signDaysSeries; - } - - for (let i = 1; i <= res.data.cycle; i++) { - if (i >= start_day && i <= end_day) { - showSignDays.push({ - day: i, - is_last: 0, - point: default_point - }) - } - } - - if (showSignDays && showSignDays.length) { - showSignDays[showSignDays.length - 1]['is_last'] = 1; - } - - for (let i in showSignDays) { - let item = showSignDays[i]; - if (this.$util.inArray(item.day, this.rewardRuleDay) != -1) { - showSignDays[i]['point'] = parseInt(this.reward[item.day]) + parseInt(default_point); - } - } - - this.showSignDays = showSignDays; - this.$refs.loadingCover.hide(); - } - } - }); - }, - //判断当前是否签到 - getIsSign() { - this.$api.sendRequest({ - url: '/api/membersignin/issign', - success: res => { - if (res.code == 0) { - this.hasSign = res.data; - this.getRule(); - this.getSignPointData(); - this.getSignGrowthData(); - } - } - }); - }, - //签到 - sign() { - if (this.signState == 0) { - this.$util.showToast({ - title: '签到未开启' - }) - } - - if (!this.hasSign && this.signState == 1) { - this.$api.sendRequest({ - url: '/api/membersignin/signin', - success: res => { - if (res.code == 0) { - this.successTip = res.data; - this.$refs.uniPopup.open() - this.getRule(); - this.getSignPointData(); - this.getSignGrowthData(); - this.hasSign = 1; - this.signDaysSeries = this.signDaysSeries + 1; - } else { - this.$util.showToast({ - title: res.message - }) - } - } - }); - } - }, - close() { - this.$refs.uniPopup.close() - }, - /** - * 设置公众号分享 - */ - setPublicShare() { - let shareUrl = this.$config.h5Domain + '/pages_tool/member/signin'; - - this.$util.setPublicShare({ - title: '签到有礼', - desc: '天天签到,积分好礼送不停', - link: shareUrl, - imgUrl: '' - }, - res => { - // console.log('公众号分享成功'); - // this.share(); - } - ); - }, - }, - computed: { - pointTomorrow: function() { - var signDaysSeries = this.signDaysSeries + 1; - var point = this.rule[0].point ? parseInt(this.rule[0].point) : 0; - for (let i = 1; i < this.rule.length; i++) { - let reward = this.rule[i]; - if (reward.day == signDaysSeries && reward.point) point += parseInt(reward.point); - } - return point; - }, - showDay: function() { - return parseInt(this.signDaysSeries / 7) * 7 + 1; - } - }, - /** - * 自定义分享内容 - */ - onShareAppMessage() { - var path = '/pages_tool/member/signin'; - return { - title: '签到有礼,天天签到,积分好礼送不停', - imageUrl: '', - path: path, - success: res => {}, - fail: res => {}, - complete: res => {} - }; - } +export default { + data() { + return { + showSignDays: [], // 一共展示的天数 + rule: [{}], + hasSign: 0, //今天是否签到 + signDaysSeries: 0, //连续签到次数 + MonthData: [], //本月日期信息 + signList: [], + back: '', //返回页 + redirect: '', //返回方式 + successTip: {}, + startDate: null, + endDate: null, + isActive: "", //判断点击 + signState: 1, + headimg: '', + point: 0, + growth: 0, + signPoint: 0, + signGrowth: 0, + rewardRuleDay: [], + cycle: 0, + reward: {} + }; + }, + onLoad(option) { + setTimeout( () => { + if (!this.addonIsExist.membersignin) { + this.$util.showToast({ + title: $lang('member.public.js.signin.l31'), + mask: true, + duration: 2000 + }); + setTimeout(() => { + this.$util.redirectTo(this.$util.INDEX_PAGE_URL); + }, 2000); + } + },1000); + + if (option.back) this.back = option.back; + if (option.redirect) this.redirect = option.redirect; + + this.getSignState(); + }, + onShow() { + if (!this.storeToken) { + this.$nextTick(() => { + this.$refs.login.open('/pages_tool/member/signin'); + }); + return; + } + + this.headimg = this.memberInfo.headimg; + this.signDaysSeries = this.memberInfo.sign_days_series; + + this.getSignPointData(); + this.getSignGrowthData(); + this.setPublicShare(); + + this.getIsSign(); + }, + methods: { + // 获取签到累积积分 + getSignPointData() { + this.$api.sendRequest({ + url: '/api/memberaccount/sum', + data: { + account_type: 'point', + from_type: 'signin' + }, + success: res => { + if (res.code == 0) { + this.signPoint = res.data; + } + } + }); + }, + // 获取签到累积成长值 + getSignGrowthData() { + this.$api.sendRequest({ + url: '/api/memberaccount/sum', + data: { + account_type: 'growth', + from_type: 'signin' + }, + success: res => { + if (res.code == 0) { + this.signGrowth = res.data; + } + } + }); + }, + // 签到是否开启 + getSignState() { + this.$api.sendRequest({ + url: '/api/membersignin/getSignStatus', + success: res => { + if (res.code == 0) { + this.signState = res.data.is_use; + } + } + }); + }, + navigateBack() { + if (this.back != '') { + this.$util.redirectTo(this.back, {}, this.redirect); + } else { + this.$util.redirectTo(this.$util.MEMBER_PAGE_URL); + } + }, + //获取rule + getRule() { + this.rewardRuleDay = []; + this.$api.sendRequest({ + url: '/api/membersignin/award', + success: res => { + if (res.code == 0) { + + this.cycle = res.data.cycle || 0; + this.rule = res.data.reward || []; + let default_point = 0; + if (this.rule.length > 0) { + this.rule.forEach((item, index) => { + if (item.day == 1) { + default_point = item.point; + } else { + this.rewardRuleDay.push(parseInt(item.day)); + this.reward[item.day] = item.point; + } + }); + } + //展示7天 + var showSignDays = []; + var start_day = 1; + var end_day = 7; + var total_day = res.data.cycle; + if (this.signDaysSeries > 5) { + start_day = this.signDaysSeries - 5; + } + if (total_day >= (this.signDaysSeries + 1)) { + end_day = this.signDaysSeries + 1; + } + if (this.signDaysSeries <= 5) { + end_day = 8 - start_day; + } + + if ((end_day - start_day) < 7 && total_day >= start_day + 6) { + end_day = start_day + 6; + } + if (total_day == this.signDaysSeries) { + start_day = this.signDaysSeries - 6; + end_day = this.signDaysSeries; + } + + for (let i = 1; i <= res.data.cycle; i++) { + if (i >= start_day && i <= end_day) { + showSignDays.push({ + day: i, + is_last: 0, + point: default_point + }) + } + } + + if (showSignDays && showSignDays.length) { + showSignDays[showSignDays.length - 1]['is_last'] = 1; + } + + for (let i in showSignDays) { + let item = showSignDays[i]; + if (this.$util.inArray(item.day, this.rewardRuleDay) != -1) { + showSignDays[i]['point'] = parseInt(this.reward[item.day]) + parseInt(default_point); + } + } + + this.showSignDays = showSignDays; + this.$refs.loadingCover.hide(); + } + } + }); + }, + //判断当前是否签到 + getIsSign() { + this.$api.sendRequest({ + url: '/api/membersignin/issign', + success: res => { + if (res.code == 0) { + this.hasSign = res.data; + this.getRule(); + this.getSignPointData(); + this.getSignGrowthData(); + } + } + }); + }, + //签到 + sign() { + if (this.signState == 0) { + this.$util.showToast({ + title: $lang('member.public.js.signin.l201') + }) + } + + if (!this.hasSign && this.signState == 1) { + this.$api.sendRequest({ + url: '/api/membersignin/signin', + success: res => { + if (res.code == 0) { + this.successTip = res.data; + this.$refs.uniPopup.open() + this.getRule(); + this.getSignPointData(); + this.getSignGrowthData(); + this.hasSign = 1; + this.signDaysSeries = this.signDaysSeries + 1; + } else { + this.$util.showToast({ + title: res.message + }) + } + } + }); + } + }, + close() { + this.$refs.uniPopup.close() + }, + /** + * 设置公众号分享 + */ + setPublicShare() { + let shareUrl = this.$config.h5Domain + '/pages_tool/member/signin'; + + this.$util.setPublicShare({ + title: $lang('member.public.js.signin.l236'), + desc: $lang('member.public.js.signin.l237'), + link: shareUrl, + imgUrl: '' + }, + res => { + // console.log('公众号分享成功'); + // this.share(); + } + ); + }, + }, + computed: { + pointTomorrow: function() { + var signDaysSeries = this.signDaysSeries + 1; + var point = this.rule[0].point ? parseInt(this.rule[0].point) : 0; + for (let i = 1; i < this.rule.length; i++) { + let reward = this.rule[i]; + if (reward.day == signDaysSeries && reward.point) point += parseInt(reward.point); + } + return point; + }, + showDay: function() { + return parseInt(this.signDaysSeries / 7) * 7 + 1; + } + }, + /** + * 自定义分享内容 + */ + onShareAppMessage() { + var path = '/pages_tool/member/signin'; + return { + title: $lang('member.public.js.signin.l268'), + imageUrl: '', + path: path, + success: res => {}, + fail: res => {}, + complete: res => {} + }; + } }; \ No newline at end of file diff --git a/pages_tool/member/withdrawal.vue b/pages_tool/member/withdrawal.vue index 380d22e..dc08d48 100644 --- a/pages_tool/member/withdrawal.vue +++ b/pages_tool/member/withdrawal.vue @@ -1,171 +1,171 @@ - - - - - + + + + + diff --git a/pages_tool/member/withdrawal_detail.vue b/pages_tool/member/withdrawal_detail.vue index ab035de..9aafc4d 100644 --- a/pages_tool/member/withdrawal_detail.vue +++ b/pages_tool/member/withdrawal_detail.vue @@ -1,131 +1,131 @@ - - - - - + + + + + diff --git a/pages_tool/notice/detail.vue b/pages_tool/notice/detail.vue index a2b25a4..bcccdb2 100644 --- a/pages_tool/notice/detail.vue +++ b/pages_tool/notice/detail.vue @@ -1,139 +1,139 @@ - - - - - \ No newline at end of file diff --git a/pages_tool/notice/list.vue b/pages_tool/notice/list.vue index 91b484b..cffb48e 100644 --- a/pages_tool/notice/list.vue +++ b/pages_tool/notice/list.vue @@ -1,182 +1,182 @@ - - - - - \ No newline at end of file diff --git a/pages_tool/order/activist.vue b/pages_tool/order/activist.vue index 3eb7fba..83e3bc1 100644 --- a/pages_tool/order/activist.vue +++ b/pages_tool/order/activist.vue @@ -1,151 +1,151 @@ - - - - - + + + + + diff --git a/pages_tool/order/evaluate.vue b/pages_tool/order/evaluate.vue index 6f0df14..e89558f 100644 --- a/pages_tool/order/evaluate.vue +++ b/pages_tool/order/evaluate.vue @@ -13,7 +13,7 @@ - 描述相符 + {{ $lang("tool.order.evaluate.l16.t0") }} @@ -26,11 +26,11 @@ : '' "> 好评 + v-if="goodsEvalList[index].explain_type == '1'">{{ $lang("tool.goods.evaluate.l82.t0") }} 中评 + v-if="goodsEvalList[index].explain_type == '2'">{{ $lang("tool.goods.evaluate.l82.t1") }} 差评 + v-if="goodsEvalList[index].explain_type == '3'">{{ $lang("tool.goods.evaluate.l82.t2") }} @@ -39,12 +39,12 @@ -