YOU GUESS 1 anno fa
parent
commit
4409edbc12
100 ha cambiato i file con 2051 aggiunte e 859 eliminazioni
  1. 20 0
      .env
  2. 3 0
      .gitignore
  3. 0 1
      App.vue
  4. 165 5
      locale/en.json
  5. 163 2
      locale/zh-Hans.json
  6. 2 2
      manifest.json
  7. 13 13
      node_modules/.vite/deps/_metadata.json
  8. 0 302
      node_modules/.vite/deps/chunk-RJASOLBD.js
  9. 0 7
      node_modules/.vite/deps/chunk-RJASOLBD.js.map
  10. 1 1
      node_modules/.vite/deps/dayjs.js
  11. 3 3
      node_modules/.vite/deps/dayjs_locale_zh-cn.js
  12. 2 2
      node_modules/.vite/deps/dayjs_plugin_duration.js
  13. 2 2
      node_modules/.vite/deps/dayjs_plugin_relativeTime.js
  14. 2 2
      node_modules/.vite/deps/lodash.js
  15. 14 14
      node_modules/.vite/deps/luch-request.js
  16. 1 1
      node_modules/.vite/deps/luch-request.js.map
  17. 1 1
      node_modules/.vite/deps/pinia-plugin-persist-uni.js
  18. 2 2
      node_modules/.vite/deps/qs-canvas.js
  19. 1 1
      node_modules/.vite/deps/qs-canvas.js.map
  20. 2 2
      node_modules/.vite/deps/weixin-js-sdk.js
  21. 176 161
      pages.json
  22. 6 6
      pages/chat/index.vue
  23. 3 3
      pages/commission/apply.vue
  24. 21 21
      pages/commission/components/commission-auth.vue
  25. 7 7
      pages/commission/components/commission-menu.vue
  26. 5 5
      pages/coupon/list.vue
  27. 1 1
      pages/goods/components/detail/comment-item.vue
  28. 1 1
      pages/goods/components/detail/detail-activity-tip.vue
  29. 3 3
      pages/goods/components/detail/detail-cell-params.vue
  30. 3 3
      pages/goods/components/detail/detail-cell-service.vue
  31. 2 2
      pages/goods/components/detail/detail-cell-sku.vue
  32. 3 3
      pages/goods/components/detail/detail-comment-card.vue
  33. 1 1
      pages/goods/components/detail/detail-content-card.vue
  34. 3 3
      pages/goods/components/detail/detail-navbar.vue
  35. 1 1
      pages/goods/components/detail/detail-progress.vue
  36. 4 4
      pages/goods/components/detail/detail-tabbar.vue
  37. 9 9
      pages/goods/components/groupon/groupon-card-list.vue
  38. 1 1
      pages/goods/components/list/list-goods-card.vue
  39. 1 1
      pages/goods/components/list/list-navbar.vue
  40. 1 1
      pages/goods/index.vue
  41. 1 1
      pages/goods/score.vue
  42. 1 1
      pages/index/cart.vue
  43. 167 0
      pages/index/cash-back-list.vue
  44. 503 0
      pages/index/components/fill-form.vue
  45. 396 0
      pages/index/finance.vue
  46. 1 0
      pages/index/index.vue
  47. 65 31
      pages/index/user.vue
  48. 5 5
      pages/order/list.vue
  49. 1 1
      pages/pay/withdraw-log.vue
  50. 1 1
      pages/pay/withdraw.vue
  51. 3 3
      pages/public/feedback.vue
  52. 4 4
      pages/public/setting.vue
  53. 3 3
      pages/user/address/edit.vue
  54. 3 3
      pages/user/info.vue
  55. 4 4
      pages/user/wallet/commission.vue
  56. 4 4
      pages/user/wallet/money.vue
  57. 3 3
      pages/user/wallet/score.vue
  58. 1 1
      sheep/api/app.js
  59. 1 1
      sheep/api/cart.js
  60. 2 2
      sheep/api/pay.js
  61. 42 0
      sheep/api/task.js
  62. 6 6
      sheep/api/third.js
  63. 7 7
      sheep/api/user.js
  64. 1 1
      sheep/components/s-activity-pop/s-activity-pop.vue
  65. 2 2
      sheep/components/s-address-item/s-address-item.vue
  66. 10 10
      sheep/components/s-auth-modal/components/account-login.vue
  67. 8 8
      sheep/components/s-auth-modal/components/change-mobile.vue
  68. 13 13
      sheep/components/s-auth-modal/components/change-password.vue
  69. 5 5
      sheep/components/s-auth-modal/components/change-username.vue
  70. 9 9
      sheep/components/s-auth-modal/components/mp-authorization.vue
  71. 10 10
      sheep/components/s-auth-modal/components/reset-password.vue
  72. 10 10
      sheep/components/s-auth-modal/components/sms-login.vue
  73. 11 11
      sheep/components/s-auth-modal/components/sms-register.vue
  74. 4 4
      sheep/components/s-auth-modal/index.scss
  75. 8 8
      sheep/components/s-auth-modal/s-auth-modal.vue
  76. 3 3
      sheep/components/s-coupon-block/s-coupon-block.vue
  77. 4 4
      sheep/components/s-coupon-card/s-coupon-card.vue
  78. 2 2
      sheep/components/s-coupon-get/s-coupon-get.vue
  79. 6 6
      sheep/components/s-coupon-list/s-coupon-list.vue
  80. 5 5
      sheep/components/s-coupon-select/s-coupon-select.vue
  81. 1 1
      sheep/components/s-custom-navbar/components/navbar-item.vue
  82. 5 5
      sheep/components/s-discount-list/s-discount-list.vue
  83. 4 4
      sheep/components/s-goods-column/s-goods-column.vue
  84. 1 1
      sheep/components/s-goods-item/s-goods-item.vue
  85. 1 1
      sheep/components/s-invoice-item/s-invoice-item.vue
  86. 3 3
      sheep/components/s-live-block/s-live-block.vue
  87. 5 5
      sheep/components/s-live-card/s-live-card.vue
  88. 9 9
      sheep/components/s-menu-tools/s-menu-tools.vue
  89. 5 5
      sheep/components/s-order-card/s-order-card.vue
  90. 2 2
      sheep/components/s-score-card/s-score-card.vue
  91. 1 1
      sheep/components/s-search-block/s-search-block.vue
  92. 11 11
      sheep/components/s-select-groupon-sku/s-select-groupon-sku.vue
  93. 6 6
      sheep/components/s-select-seckill-sku/s-select-seckill-sku.vue
  94. 4 4
      sheep/components/s-select-sku/s-select-sku.vue
  95. 4 4
      sheep/components/s-share-modal/s-share-modal.vue
  96. 1 1
      sheep/components/s-title-block/s-title-block.vue
  97. 1 1
      sheep/components/s-uploader/choose-and-upload-file.js
  98. 2 2
      sheep/components/s-uploader/s-uploader.vue
  99. 1 1
      sheep/components/s-uploader/upload-file.vue
  100. 0 0
      sheep/components/s-user-card/s-user-card.vue

+ 20 - 0
.env

@@ -0,0 +1,20 @@
+# 版本号
+SHOPRO_VERSION = v3.0.0.3
+
+# 正式环境接口域名
+SHOPRO_BASE_URL = http://8.217.120.52:882
+
+# 开发环境接口域名
+SHOPRO_DEV_BASE_URL = http://8.217.120.52:882
+
+# 开发环境运行端口
+SHOPRO_DEV_PORT = 3000
+
+# 接口地址前缀
+SHOPRO_API_PATH = /addons/shopro/
+
+# 客户端静态资源地址 空=默认使用服务端指定的CDN资源地址前缀 | local=本地  |  http(s)://xxx.xxx=自定义静态资源地址前缀
+SHOPRO_STATIC_URL = 
+
+# 是否开启直播  1 开启直播 | 0 关闭直播 (小程序官方后台未审核开通直播权限时请勿开启)
+SHOPRO_MPLIVE_ON = 0

+ 3 - 0
.gitignore

@@ -62,3 +62,6 @@ fabric.properties
 
 # Sonarlint plugin
 .idea/sonarlint
+node_modules
+uni_modules
+unpackage

+ 0 - 1
App.vue

@@ -5,7 +5,6 @@
   onLaunch(() => {
     // 隐藏原生导航栏 使用自定义底部导航
     uni.hideTabBar();
-
     // 加载Shopro底层依赖
     ShoproInit();
   });

+ 165 - 5
locale/en.json

@@ -198,7 +198,7 @@
   "coupon.detail.couponType": "Coupon Type",
   "coupon.detail.noGoods": "No products yet",
   "goods.groupon.ended": "The event does not exist or has ended",
-  "goods.groupon.backLastPage": "Return to the previous page",
+  "goods.groupon.backLastPage": "To previous page",
   "goods.groupon.groupPrice": "Group price",
   "goods.groupon.toEndTime": "Only left before the end",
   "goods.groupon.endedMsg": "Event has ended",
@@ -207,6 +207,10 @@
   "goods.groupon.startGroupNow": "Start a group now",
   "goods.groupon.other": "Shopping around again",
   "goods.index.sellout": "The product does not exist or has been removed from the shelves",
+  "goods.index.buyNow": "Buy now",
+  "goods.index.getCoupon": "Get coupon",
+  "goods.index.addToCart": "Add to Cart",
+  "goods.select.sku.buyAmount": "Buy amount",
   "goods.list.comprehensive": "Comprehensive recommendations",
   "goods.list.priceAsc": "Price ascending order",
   "goods.list.priceDesc": "price descending order",
@@ -235,7 +239,8 @@
   "index.cart.edit": "Edit",
   "index.cart.chooseAll": "Select All",
   "index.cart.delete": "Delete",
-  "index.cart.settle": "Go to settlement",
+  "index.cart.settle": "Settlement",
+  "index.cart.countAll": "Total",
   "index.category.title": "Category",
   "index.category.viewMore": "Click to see more",
   "index.index.title": "Homepage",
@@ -582,8 +587,8 @@
   "user.set.version": "Current version",
   "user.set.feedback": "Feedback",
   "user.set.about": "About us",
-  "user.set.userProtocol": ""User Agreement"",
-  "user.set.privateProtocol": ""Privacy Agreement"",
+  "user.set.userProtocol": "User Agreement",
+  "user.set.privateProtocol": "Privacy Agreement",
   "user.set.copyRightHolder": "******Copyright",
   "user.set.copyRight": "Copyright© 2018-2022",
   "user.set.about": "About us",
@@ -647,6 +652,161 @@
   "user.wallet.commission.tipsToBalance": "Confirm to transfer your commission to the balance wallet?",
   "user.wallet.money.title": "Wallet",
   "user.wallet.money.balance": "Wallet balance (yuan)",
+  "user.wallet.money.recharge": "Recharge",
   "user.wallet.score.title": "My Points",
-  "user.wallet.score.balance": "Current points"
+  "user.wallet.score.balance": "Current points","goods.detail.reply": "Business reply",
+	"goods.detail.participate": "This product is participating",
+	"goods.detail.activity": "activity",
+	"goods.detail.param": "parameter",
+	"goods.detail.productParam": "product parameters",
+	"goods.detail.confirm": "Confirm",
+	"goods.detail.assure": "guarantee",
+	"goods.detail.serviceAssure": "Service Assure",
+	"goods.detail.choose": "Choose",
+	"goods.detail.chooseSpec": "Please select product specifications",
+	"goods.detail.comment": "evaluation",
+	"goods.detail.viewAll": "View All",
+	"goods.detail.msg1": "Looking forward to your first review",
+	"goods.detail.detail": "Details",
+	"goods.detail.goods": "goods",
+	"goods.detail.rob": "robbed",
+	"goods.detail.collected": "Collected",
+	"goods.detail.collect": "Collection",
+	"goods.detail.service": "Customer Service",
+	"goods.detail.share": "share",
+	"goods.detail.have": "Already have",
+	"goods.detail.peoplejoin": "People participate in activities",
+	"goods.detail.still": "Not enough",
+	"goods.detail.grouped": "Group",
+	"goods.detail.joinGroup": "Go to the group",
+	"goods.detail.disband": "The group has been disbanded",
+	"goods.detail.rest": "remainder",
+	"goods.detail.hour": "hour",
+	"goods.detail.minute": "minute",
+	"goods.detail.second": "seconds",
+	"goods.detail.sellout": "Sold",
+	"goods.detail.unit": "piece",
+	"goods.detail.searchContent": "Search content",
+	"sheep.activity.title": "Marketing Activity",
+	"sheep.address.choose": "Please select the shipping address",
+	"sheep.address.default": "Default",
+	"sheep.auth.noaccount": "Don't have an account yet?",
+	"sheep.auth.register": "Register",
+	"sheep.auth.login": "Quick login",
+	"sheep.auth.or": "or",
+	"sheep.auth.and": "with",
+	"sheep.auth.read": "I have read",
+	"sheep.auth.agree": "Please check to agree",
+	"sheep.auth.accountLogin": "Account Login",
+	"sheep.auth.smsLogin": "SMS login",
+	"sheep.auth.tipsForgot": "If you have not set a password, please click Forget Password",
+	"sheep.auth.account": "account",
+	"sheep.auth.enterAccount": "enter account number",
+	"sheep.auth.fotgot": "Forgot",
+	"sheep.auth.password": "password",
+	"sheep.auth.enterPassword": "enter password",
+	"sheep.auth.login": "To login",
+	"sheep.auth.changeMobile": "Change mobile phone number",
+	"sheep.auth.bindMobile": "Bind mobile phone number",
+	"sheep.auth.tipsMobile": "For the security of your account, please use your mobile phone number",
+	"sheep.auth.mobile": "Mobile phone number",
+	"sheep.auth.enterMobile": "enter mobile phone number",
+	"sheep.auth.code": "Verification code",
+	"sheep.auth.enterCode": "enter verification code",
+	"sheep.auth.confirm": "Confirm",
+	"sheep.auth.useWxmobile": "Use WeChat mobile number",
+	"sheep.auth.updatePassword": "Change password",
+	"sheep.auth.tipsUpdatePassword": "If the password is lost or not set, please click Forgot Password to reset it",
+	"sheep.auth.oldPwd": "Old password",
+	"sheep.auth.enterOldPwd": "enter the old password",
+	"sheep.auth.newPwd": "New password",
+	"sheep.auth.enterNewPwd": "enter a new password",
+	"sheep.auth.confirmPwd": "Confirm password",
+	"sheep.auth.enterConfirmPwd": "re-enter your new password",
+	"sheep.auth.updateUsername": "Modify username",
+	"sheep.auth.tipsUpdateUsername": "Username can only be modified once",
+	"sheep.auth.username": "username",
+	"sheep.auth.enterUsername": "enter username",
+	"sheep.auth.save": "save",
+	"sheep.auth.authInfo": "Authorization information",
+	"sheep.auth.tipsAuth": "Complete your avatar, nickname, and mobile phone number",
+	"sheep.auth.avatar": "avatar",
+	"sheep.auth.nickname": "nickname",
+	"sheep.auth.enterNickname": "enter a nickname",
+	"sheep.auth.confirmAuth": "Confirm authorization",
+	"sheep.auth.chooseAvatar": "choose an avatar",
+	"sheep.auth.authSuccess": "Authorization successful",
+	"sheep.auth.resetPwd": "Reset password",
+	"sheep.auth.tipsResetPwd": "For the security of your account, please perform security verification before setting a password",
+	"sheep.auth.backLogin": "To login",
+	"sheep.auth.tipsLogin": "If you have not registered a mobile phone number, please click below to register immediately",
+	"sheep.auth.tipsRegister": "Please use your mobile phone number to complete registration",
+	"sheep.auth.to": "to",
+	"sheep.auth.avalCoupon": "Coupons can be used",
+	"sheep.auth.expire": "Expiration date",
+	"sheep.auth.getTime": "Receive time",
+	"sheep.auth.enough": "full",
+	"sheep.auth.aval": "Available",
+	"sheep.auth.unavalCoupon": "Coupons cannot be used",
+	"sheep.auth.unavalReason": "Reason for unavailability",
+	"sheep.auth.searchKeyword": "Search keyword",
+	"sheep.auth.activityDiscount": "Activity Discount",
+	"sheep.auth.total": "total",
+	"sheep.auth.unit": "piece",
+	"sheep.auth.da": "beat",
+	"sheep.auth.disdesc": "Discounted, reduced",
+	"sheep.auth.given": "full gift",
+	"sheep.auth.cut": "decrease",
+	"sheep.auth.desc": "Decreased",
+	"sheep.auth.group": "Group",
+	"sheep.auth.seckill": "Seckill",
+	"sheep.auth.toBuy": "Go to buy",
+	"sheep.auth.tips": "tips",
+	"sheep.auth.allow": "allow",
+	"sheep.auth.tipsContent": "The applet will be opened for access",
+	"sheep.auth.liver": "anchor",
+	"sheep.auth.backLogin": "To login",
+	"sheep.auth.menu": "Shortcut Menu",
+	"sheep.auth.toExchange": "Go to exchange",
+	"sheep.auth.groupPrice": "Group price",
+	"sheep.auth.stock": "stock",
+	"sheep.auth.groupPeople": "Number of people in the group",
+	"sheep.auth.buyAmount": "Buy Amount",
+	"sheep.auth.ladderGroup": "LadderGroup",
+	"sheep.auth.peopleGroup": "people group",
+	"sheep.auth.startGroup": "Start a group immediately",
+	"sheep.auth.leaderGroupPrice": "The leader immediately reduces the price",
+	"sheep.auth.joinGroup": "Join the group",
+	"sheep.auth.chooseSpec": "Please select the specification",
+	"sheep.auth.stockNotEnough": "Insufficient stock",
+	"sheep.auth.chooseGroupPeople": "Please select the number of people in the group",
+	"sheep.auth.wxFriend": "WeChat Friend",
+	"sheep.auth.createPoster": "Generate poster",
+	"sheep.auth.copyLink": "Copy Link",
+	"sheep.auth.cancle": "Cancel",
+	"sheep.auth.viewMore": "View More",
+	"sheep.auth.chooseFile": "Choose file",
+	"sheep.auth.retry": "Click to try again",
+	"sheep.auth.toBind": "To bind",
+	"sheep.auth.tipsBind": "Click to bind your mobile phone number to ensure account security",
+	"sheep.auth.cny": "yuan",
+	"sheep.auth.balance": "Account Balance",
+	"sheep.auth.point": "Points",
+	"sheep.auth.zhang": "Zhang",
+	"sheep.auth.myWallet": "my wallet",
+	"index.finance.platform": "Platform",
+	"index.finance.order_sn": "Order",
+	"index.finance.step": "Step instructions",
+	"index.finance.example": "Style Chart",
+	"index.finance.uploadfile": "Upload screenshot",
+	"index.finance.submit": "Submit",
+	"index.finance.submitSuccess": "You have submitted successfully",
+	"index.finance.apply": "Submit application",
+	"index.finance.audit": "Customer Service Audit",
+	"index.finance.return_money": "Return of order amount",
+	"index.finance.time": "time",
+	"index.finance.all": "all",
+	"index.finance.pass": "pass",
+	"index.finance.rejected": "Rejected",
+	"index.finance.dealing": "To be reviewed"
 }

+ 163 - 2
locale/zh-Hans.json

@@ -207,6 +207,10 @@
 	"goods.groupon.startGroupNow": "立即开团",
 	"goods.groupon.other": "再逛逛",
 	"goods.index.sellout": "商品不存在或已下架",
+  "goods.index.buyNow": "立即购买",
+  "goods.index.addToCart": "加入购物车",
+  "goods.index.getCoupon": "领券",
+  "goods.select.sku.buyAmount": "购买数量",
 	"goods.list.comprehensive": "综合推荐",
 	"goods.list.priceAsc": "价格升序",
 	"goods.list.priceDesc": "价格降序",
@@ -236,11 +240,12 @@
 	"index.cart.chooseAll": "全选",
 	"index.cart.delete": "删除",
 	"index.cart.settle": "去结算",
+	"index.cart.countAll": "合计",
 	"index.category.title": "分类",
 	"index.category.viewMore": "点击查看更多",
 	"index.index.title": "首页",
 	"index.search.title": "搜索",
-	"index.search.keyword": "请输入关键",
+	"index.search.keyword": "请输入关键",
 	"index.search.history": "搜索历史",
 	"index.search.clearHistory": "清除搜索历史",
 	"index.search.tips": "提示",
@@ -647,6 +652,162 @@
 	"user.wallet.commission.tipsToBalance": "确认把您的佣金转入到余额钱包中?",
 	"user.wallet.money.title": "钱包",
 	"user.wallet.money.balance": "钱包余额(元)",
+  "user.wallet.money.recharge": "充值",
 	"user.wallet.score.title": "我的积分",
-	"user.wallet.score.balance": "当前积分"
+	"user.wallet.score.balance": "当前积分",
+	"goods.detail.reply": "商家回复",
+	"goods.detail.participate": "该商品正在参与",
+	"goods.detail.activity": "活动",
+	"goods.detail.param": "参数",
+	"goods.detail.productParam": "产品参数",
+	"goods.detail.confirm": "确定",
+	"goods.detail.assure": "保障",
+	"goods.detail.serviceAssure": "服务保障",
+	"goods.detail.choose": "选择",
+	"goods.detail.chooseSpec": "请选择商品规格",
+	"goods.detail.comment": "评价",
+	"goods.detail.viewAll": "查看全部",
+	"goods.detail.msg1": "期待您的第一个评价",
+	"goods.detail.detail": "详情",
+	"goods.detail.goods": "商品",
+	"goods.detail.rob": "已抢",
+	"goods.detail.collected": "已收藏",
+	"goods.detail.collect": "收藏",
+	"goods.detail.service": "客服",
+	"goods.detail.share": "分享",
+	"goods.detail.have": "已有",
+	"goods.detail.peoplejoin": "人参与活动",
+	"goods.detail.still": "还差",
+	"goods.detail.grouped": "成团",
+	"goods.detail.joinGroup": "去参团",
+	"goods.detail.disband": "该团已解散",
+	"goods.detail.rest": "剩余  ",
+	"goods.detail.hour": "时",
+	"goods.detail.minute": "分",
+	"goods.detail.second": "秒",
+	"goods.detail.sellout": "已售",
+	"goods.detail.unit": "件",
+	"goods.detail.searchContent": "搜索内容",
+	"sheep.activity.title": "营销活动",
+	"sheep.address.choose": "请选择收货地址",
+	"sheep.address.default": "默认",
+	"sheep.auth.noaccount": "还没有账号?",
+	"sheep.auth.register": "立即注册",
+	"sheep.auth.login": "快捷登录",
+	"sheep.auth.or": "或",
+	"sheep.auth.and": "与",
+	"sheep.auth.read": "我已阅读并遵守",
+	"sheep.auth.agree": "请勾选同意",
+	"sheep.auth.accountLogin": "账号登录",
+	"sheep.auth.smsLogin": "短信登录",
+	"sheep.auth.tipsForgot": "如果未设置过密码,请点击忘记密码",
+	"sheep.auth.account": "账号",
+	"sheep.auth.enterAccount": "请输入账号",
+	"sheep.auth.fotgot": "忘记密码",
+	"sheep.auth.password": "密码",
+	"sheep.auth.enterPassword": "请输入密码",
+	"sheep.auth.login": "登录",
+	"sheep.auth.changeMobile": "更换手机号",
+	"sheep.auth.bindMobile": "绑定手机号",
+	"sheep.auth.tipsMobile": "为了您的账号安全,请使用本人手机号码",
+	"sheep.auth.mobile": "手机号",
+	"sheep.auth.enterMobile": "请输入手机号",
+	"sheep.auth.code": "验证码",
+	"sheep.auth.enterCode": "请输入验证码",
+	"sheep.auth.confirm": "确认",
+	"sheep.auth.useWxmobile": "使用微信手机号",
+	"sheep.auth.updatePassword": "修改密码",
+	"sheep.auth.tipsUpdatePassword": "如密码丢失或未设置,请点击忘记密码重新设置",
+	"sheep.auth.oldPwd": "旧密码",
+	"sheep.auth.enterOldPwd": "请输入旧密码",
+	"sheep.auth.newPwd": "新密码",
+	"sheep.auth.enterNewPwd": "请输入新密码",
+	"sheep.auth.confirmPwd": "确认密码",
+	"sheep.auth.enterConfirmPwd": "请重新输入您的新密码",
+	"sheep.auth.updateUsername": "修改用户名",
+	"sheep.auth.tipsUpdateUsername": "用户名仅限修改一次",
+	"sheep.auth.username": "用户名",
+	"sheep.auth.enterUsername": "请输入用户名",
+	"sheep.auth.save": "保存",
+	"sheep.auth.authInfo": "授权信息",
+	"sheep.auth.tipsAuth": "完善您的头像、昵称、手机号",
+	"sheep.auth.avatar": "头像",
+	"sheep.auth.nickname": "昵称",
+	"sheep.auth.enterNickname": "请输入昵称",
+	"sheep.auth.confirmAuth": "确认授权",
+	"sheep.auth.chooseAvatar": "请选择头像",
+	"sheep.auth.authSuccess": "授权成功",
+	"sheep.auth.resetPwd": "重置密码",
+	"sheep.auth.tipsResetPwd": "为了您的账号安全,设置密码前请先进行安全验证",
+	"sheep.auth.backLogin": "返回登录",
+	"sheep.auth.tipsLogin": "未注册手机号请先点击下方立即注册",
+	"sheep.auth.tipsRegister": "请使用本人手机号完成注册",
+	"sheep.auth.to": "至",
+	"sheep.auth.avalCoupon": "可使用优惠券",
+	"sheep.auth.expire": "有效期",
+	"sheep.auth.getTime": "领取时间",
+	"sheep.auth.enough": "满",
+	"sheep.auth.aval": "可用",
+	"sheep.auth.unavalCoupon": "不可使用优惠券",
+	"sheep.auth.unavalReason": "不可使用原因",
+	"sheep.auth.searchKeyword": "搜索关键字",
+	"sheep.auth.activityDiscount": "活动优惠",
+	"sheep.auth.total": "共",
+	"sheep.auth.unit": "件",
+	"sheep.auth.da": "打",
+	"sheep.auth.disdesc": "折,已减",
+	"sheep.auth.given": "满赠",
+	"sheep.auth.cut": "减",
+	"sheep.auth.desc": "已减",
+	"sheep.auth.group": "拼团",
+	"sheep.auth.seckill": "秒杀",
+	"sheep.auth.toBuy": "去购买",
+	"sheep.auth.tips": "提示",
+	"sheep.auth.allow": "允许",
+	"sheep.auth.tipsContent": "将打开小程序访问",
+	"sheep.auth.liver": "主播",
+	"sheep.auth.backLogin": "返回登录",
+	"sheep.auth.menu": "快捷菜单",
+	"sheep.auth.toExchange": "去兑换",
+	"sheep.auth.groupPrice": "拼团价",
+	"sheep.auth.stock": "库存",
+	"sheep.auth.groupPeople": "拼团人数",
+	"sheep.auth.buyAmount": "购买数量",
+	"sheep.auth.ladderGroup": "阶梯团",
+	"sheep.auth.peopleGroup": "人团",
+	"sheep.auth.startGroup": "立即开团",
+	"sheep.auth.leaderGroupPrice": "团长立减价",
+	"sheep.auth.joinGroup": "参与拼团",
+	"sheep.auth.chooseSpec": "请选择规格",
+	"sheep.auth.stockNotEnough": "库存不足",
+	"sheep.auth.chooseGroupPeople": "请选择拼团人数",
+	"sheep.auth.wxFriend": "微信好友",
+	"sheep.auth.createPoster": "生成海报",
+	"sheep.auth.copyLink": "复制链接",
+	"sheep.auth.cancle": "取消",
+	"sheep.auth.viewMore": "查看更多",
+	"sheep.auth.chooseFile": "选择文件",
+	"sheep.auth.retry": "点击重试",
+	"sheep.auth.toBind": "去绑定",
+	"sheep.auth.tipsBind": "点击绑定手机号确保账户安全",
+	"sheep.auth.cny": "元",
+	"sheep.auth.balance": "账户余额",
+	"sheep.auth.point": "积分",
+	"sheep.auth.zhang": "张",
+	"sheep.auth.myWallet": "我的钱包",
+	"index.finance.platform": "平台",
+	"index.finance.order_sn": "订单号",
+	"index.finance.step": "步骤说明",
+	"index.finance.example": "样式图",
+	"index.finance.uploadfile": "上传截图",
+	"index.finance.submit": "提交",
+	"index.finance.submitSuccess": "您已提交成功",
+	"index.finance.apply": "提交申请",
+	"index.finance.audit": "客服审核",
+	"index.finance.return_money": "订单金额返还",
+	"index.finance.time": "时间",
+	"index.finance.all": "全部",
+	"index.finance.pass": "通过",
+	"index.finance.rejected": "拒绝",
+	"index.finance.dealing": "待审核"
 }

+ 2 - 2
manifest.json

@@ -1,6 +1,6 @@
 {
-    "name" : "shopro商城",
-    "appid" : "__UNI__14BBEBB",
+    "name" : "shopro",
+    "appid" : "__UNI__80FA9D5",
     "description" : "Shopro是由SheepJS团队开发,使用Uniapp+Vue3技术驱动的在线商城系统,内含诸多功能与丰富的活动,期待您的使用和反馈。",
     "versionName" : "3.0.0",
     "versionCode" : 300,

+ 13 - 13
node_modules/.vite/deps/_metadata.json

@@ -1,65 +1,65 @@
 {
-  "hash": "5cc3a20c",
-  "browserHash": "29e312c8",
+  "hash": "14839164",
+  "browserHash": "68e27527",
   "optimized": {
     "dayjs": {
       "src": "../../dayjs/dayjs.min.js",
       "file": "dayjs.js",
-      "fileHash": "dd6e741b",
+      "fileHash": "50757744",
       "needsInterop": true
     },
     "dayjs/locale/zh-cn": {
       "src": "../../dayjs/locale/zh-cn.js",
       "file": "dayjs_locale_zh-cn.js",
-      "fileHash": "b0243545",
+      "fileHash": "853ca39f",
       "needsInterop": true
     },
     "dayjs/plugin/duration": {
       "src": "../../dayjs/plugin/duration.js",
       "file": "dayjs_plugin_duration.js",
-      "fileHash": "26f253da",
+      "fileHash": "2e86a4be",
       "needsInterop": true
     },
     "dayjs/plugin/relativeTime": {
       "src": "../../dayjs/plugin/relativeTime.js",
       "file": "dayjs_plugin_relativeTime.js",
-      "fileHash": "6d543e9d",
+      "fileHash": "f942fdb2",
       "needsInterop": true
     },
     "lodash": {
       "src": "../../lodash/lodash.js",
       "file": "lodash.js",
-      "fileHash": "f5f0b786",
+      "fileHash": "a5a11c48",
       "needsInterop": true
     },
     "luch-request": {
       "src": "../../luch-request/src/lib/luch-request.js",
       "file": "luch-request.js",
-      "fileHash": "825002f6",
+      "fileHash": "87c6ca13",
       "needsInterop": false
     },
     "pinia-plugin-persist-uni": {
       "src": "../../pinia-plugin-persist-uni/dist/pinia-persist-uni.es.js",
       "file": "pinia-plugin-persist-uni.js",
-      "fileHash": "7825504e",
+      "fileHash": "e0ac751b",
       "needsInterop": false
     },
     "weixin-js-sdk": {
       "src": "../../weixin-js-sdk/index.js",
       "file": "weixin-js-sdk.js",
-      "fileHash": "5ea7a0aa",
+      "fileHash": "b89f8af5",
       "needsInterop": true
     },
     "qs-canvas": {
       "src": "../../qs-canvas/index.js",
       "file": "qs-canvas.js",
-      "fileHash": "7c01f2fc",
+      "fileHash": "de9ad909",
       "needsInterop": true
     }
   },
   "chunks": {
-    "chunk-RJASOLBD": {
-      "file": "chunk-RJASOLBD.js"
+    "chunk-ZAHSCHAN": {
+      "file": "chunk-ZAHSCHAN.js"
     },
     "chunk-VX4GZB4L": {
       "file": "chunk-VX4GZB4L.js"

File diff suppressed because it is too large
+ 0 - 302
node_modules/.vite/deps/chunk-RJASOLBD.js


File diff suppressed because it is too large
+ 0 - 7
node_modules/.vite/deps/chunk-RJASOLBD.js.map


+ 1 - 1
node_modules/.vite/deps/dayjs.js

@@ -1,6 +1,6 @@
 import {
   require_dayjs_min
-} from "./chunk-RJASOLBD.js";
+} from "./chunk-ZAHSCHAN.js";
 import "./chunk-VX4GZB4L.js";
 export default require_dayjs_min();
 //# sourceMappingURL=dayjs.js.map

+ 3 - 3
node_modules/.vite/deps/dayjs_locale_zh-cn.js

@@ -1,13 +1,13 @@
 import {
   require_dayjs_min
-} from "./chunk-RJASOLBD.js";
+} from "./chunk-ZAHSCHAN.js";
 import {
   __commonJS
 } from "./chunk-VX4GZB4L.js";
 
-// F:/BaiduNetdiskDownload/shopro/fastadmin/addons/shopro/uniapp/uniapp-3.0.0/node_modules/dayjs/locale/zh-cn.js
+// ../../../../php/h5mall_uniapp/node_modules/dayjs/locale/zh-cn.js
 var require_zh_cn = __commonJS({
-  "F:/BaiduNetdiskDownload/shopro/fastadmin/addons/shopro/uniapp/uniapp-3.0.0/node_modules/dayjs/locale/zh-cn.js"(exports, module) {
+  "../../../../php/h5mall_uniapp/node_modules/dayjs/locale/zh-cn.js"(exports, module) {
     !function(e, _) {
       "object" == typeof exports && "undefined" != typeof module ? module.exports = _(require_dayjs_min()) : "function" == typeof define && define.amd ? define(["dayjs"], _) : (e = "undefined" != typeof globalThis ? globalThis : e || self).dayjs_locale_zh_cn = _(e.dayjs);
     }(exports, function(e) {

+ 2 - 2
node_modules/.vite/deps/dayjs_plugin_duration.js

@@ -2,9 +2,9 @@ import {
   __commonJS
 } from "./chunk-VX4GZB4L.js";
 
-// F:/BaiduNetdiskDownload/shopro/fastadmin/addons/shopro/uniapp/uniapp-3.0.0/node_modules/dayjs/plugin/duration.js
+// ../../../../php/h5mall_uniapp/node_modules/dayjs/plugin/duration.js
 var require_duration = __commonJS({
-  "F:/BaiduNetdiskDownload/shopro/fastadmin/addons/shopro/uniapp/uniapp-3.0.0/node_modules/dayjs/plugin/duration.js"(exports, module) {
+  "../../../../php/h5mall_uniapp/node_modules/dayjs/plugin/duration.js"(exports, module) {
     !function(t, s) {
       "object" == typeof exports && "undefined" != typeof module ? module.exports = s() : "function" == typeof define && define.amd ? define(s) : (t = "undefined" != typeof globalThis ? globalThis : t || self).dayjs_plugin_duration = s();
     }(exports, function() {

+ 2 - 2
node_modules/.vite/deps/dayjs_plugin_relativeTime.js

@@ -2,9 +2,9 @@ import {
   __commonJS
 } from "./chunk-VX4GZB4L.js";
 
-// F:/BaiduNetdiskDownload/shopro/fastadmin/addons/shopro/uniapp/uniapp-3.0.0/node_modules/dayjs/plugin/relativeTime.js
+// ../../../../php/h5mall_uniapp/node_modules/dayjs/plugin/relativeTime.js
 var require_relativeTime = __commonJS({
-  "F:/BaiduNetdiskDownload/shopro/fastadmin/addons/shopro/uniapp/uniapp-3.0.0/node_modules/dayjs/plugin/relativeTime.js"(exports, module) {
+  "../../../../php/h5mall_uniapp/node_modules/dayjs/plugin/relativeTime.js"(exports, module) {
     !function(r, e) {
       "object" == typeof exports && "undefined" != typeof module ? module.exports = e() : "function" == typeof define && define.amd ? define(e) : (r = "undefined" != typeof globalThis ? globalThis : r || self).dayjs_plugin_relativeTime = e();
     }(exports, function() {

+ 2 - 2
node_modules/.vite/deps/lodash.js

@@ -2,9 +2,9 @@ import {
   __commonJS
 } from "./chunk-VX4GZB4L.js";
 
-// F:/BaiduNetdiskDownload/shopro/fastadmin/addons/shopro/uniapp/uniapp-3.0.0/node_modules/lodash/lodash.js
+// ../../../../php/h5mall_uniapp/node_modules/lodash/lodash.js
 var require_lodash = __commonJS({
-  "F:/BaiduNetdiskDownload/shopro/fastadmin/addons/shopro/uniapp/uniapp-3.0.0/node_modules/lodash/lodash.js"(exports, module) {
+  "../../../../php/h5mall_uniapp/node_modules/lodash/lodash.js"(exports, module) {
     (function() {
       var undefined;
       var VERSION = "4.17.21";

+ 14 - 14
node_modules/.vite/deps/luch-request.js

@@ -1,6 +1,6 @@
 import "./chunk-VX4GZB4L.js";
 
-// F:/BaiduNetdiskDownload/shopro/fastadmin/addons/shopro/uniapp/uniapp-3.0.0/node_modules/luch-request/src/lib/utils.js
+// ../../../../php/h5mall_uniapp/node_modules/luch-request/src/lib/utils.js
 var toString = Object.prototype.toString;
 function isArray(val) {
   return toString.call(val) === "[object Array]";
@@ -56,7 +56,7 @@ function isUndefined(val) {
   return typeof val === "undefined";
 }
 
-// F:/BaiduNetdiskDownload/shopro/fastadmin/addons/shopro/uniapp/uniapp-3.0.0/node_modules/luch-request/src/lib/helpers/buildURL.js
+// ../../../../php/h5mall_uniapp/node_modules/luch-request/src/lib/helpers/buildURL.js
 function encode(val) {
   return encodeURIComponent(val).replace(/%40/gi, "@").replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%20/g, "+").replace(/%5B/gi, "[").replace(/%5D/gi, "]");
 }
@@ -101,17 +101,17 @@ function buildURL(url, params, paramsSerializer) {
   return url;
 }
 
-// F:/BaiduNetdiskDownload/shopro/fastadmin/addons/shopro/uniapp/uniapp-3.0.0/node_modules/luch-request/src/lib/helpers/isAbsoluteURL.js
+// ../../../../php/h5mall_uniapp/node_modules/luch-request/src/lib/helpers/isAbsoluteURL.js
 function isAbsoluteURL(url) {
   return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url);
 }
 
-// F:/BaiduNetdiskDownload/shopro/fastadmin/addons/shopro/uniapp/uniapp-3.0.0/node_modules/luch-request/src/lib/helpers/combineURLs.js
+// ../../../../php/h5mall_uniapp/node_modules/luch-request/src/lib/helpers/combineURLs.js
 function combineURLs(baseURL, relativeURL) {
   return relativeURL ? baseURL.replace(/\/+$/, "") + "/" + relativeURL.replace(/^\/+/, "") : baseURL;
 }
 
-// F:/BaiduNetdiskDownload/shopro/fastadmin/addons/shopro/uniapp/uniapp-3.0.0/node_modules/luch-request/src/lib/core/buildFullPath.js
+// ../../../../php/h5mall_uniapp/node_modules/luch-request/src/lib/core/buildFullPath.js
 function buildFullPath(baseURL, requestedURL) {
   if (baseURL && !isAbsoluteURL(requestedURL)) {
     return combineURLs(baseURL, requestedURL);
@@ -119,7 +119,7 @@ function buildFullPath(baseURL, requestedURL) {
   return requestedURL;
 }
 
-// F:/BaiduNetdiskDownload/shopro/fastadmin/addons/shopro/uniapp/uniapp-3.0.0/node_modules/luch-request/src/lib/core/settle.js
+// ../../../../php/h5mall_uniapp/node_modules/luch-request/src/lib/core/settle.js
 function settle(resolve, reject, response) {
   const validateStatus2 = response.config.validateStatus;
   const status = response.statusCode;
@@ -130,7 +130,7 @@ function settle(resolve, reject, response) {
   }
 }
 
-// F:/BaiduNetdiskDownload/shopro/fastadmin/addons/shopro/uniapp/uniapp-3.0.0/node_modules/luch-request/src/lib/adapters/index.js
+// ../../../../php/h5mall_uniapp/node_modules/luch-request/src/lib/adapters/index.js
 var mergeKeys = (keys, config2) => {
   let config = {};
   keys.forEach((prop) => {
@@ -204,12 +204,12 @@ var adapters_default = (config) => {
   });
 };
 
-// F:/BaiduNetdiskDownload/shopro/fastadmin/addons/shopro/uniapp/uniapp-3.0.0/node_modules/luch-request/src/lib/core/dispatchRequest.js
+// ../../../../php/h5mall_uniapp/node_modules/luch-request/src/lib/core/dispatchRequest.js
 var dispatchRequest_default = (config) => {
   return adapters_default(config);
 };
 
-// F:/BaiduNetdiskDownload/shopro/fastadmin/addons/shopro/uniapp/uniapp-3.0.0/node_modules/luch-request/src/lib/core/InterceptorManager.js
+// ../../../../php/h5mall_uniapp/node_modules/luch-request/src/lib/core/InterceptorManager.js
 function InterceptorManager() {
   this.handlers = [];
 }
@@ -234,7 +234,7 @@ InterceptorManager.prototype.forEach = function forEach2(fn) {
 };
 var InterceptorManager_default = InterceptorManager;
 
-// F:/BaiduNetdiskDownload/shopro/fastadmin/addons/shopro/uniapp/uniapp-3.0.0/node_modules/luch-request/src/lib/core/mergeConfig.js
+// ../../../../php/h5mall_uniapp/node_modules/luch-request/src/lib/core/mergeConfig.js
 var mergeKeys2 = (keys, globalsConfig, config2) => {
   let config = {};
   keys.forEach((prop) => {
@@ -295,7 +295,7 @@ var mergeConfig_default = (globalsConfig, config2 = {}) => {
   return config;
 };
 
-// F:/BaiduNetdiskDownload/shopro/fastadmin/addons/shopro/uniapp/uniapp-3.0.0/node_modules/luch-request/src/lib/core/defaults.js
+// ../../../../php/h5mall_uniapp/node_modules/luch-request/src/lib/core/defaults.js
 var defaults_default = {
   baseURL: "",
   header: {},
@@ -313,7 +313,7 @@ var defaults_default = {
   forcedJSONParsing: true
 };
 
-// F:/BaiduNetdiskDownload/shopro/fastadmin/addons/shopro/uniapp/uniapp-3.0.0/node_modules/luch-request/src/lib/utils/clone.js
+// ../../../../php/h5mall_uniapp/node_modules/luch-request/src/lib/utils/clone.js
 var clone = function() {
   "use strict";
   function _instanceof(obj, type) {
@@ -510,7 +510,7 @@ var clone = function() {
 }();
 var clone_default = clone;
 
-// F:/BaiduNetdiskDownload/shopro/fastadmin/addons/shopro/uniapp/uniapp-3.0.0/node_modules/luch-request/src/lib/core/Request.js
+// ../../../../php/h5mall_uniapp/node_modules/luch-request/src/lib/core/Request.js
 var Request = class {
   /**
    * @param {Object} arg - 全局配置
@@ -651,7 +651,7 @@ var Request = class {
   }
 };
 
-// F:/BaiduNetdiskDownload/shopro/fastadmin/addons/shopro/uniapp/uniapp-3.0.0/node_modules/luch-request/src/lib/luch-request.js
+// ../../../../php/h5mall_uniapp/node_modules/luch-request/src/lib/luch-request.js
 var luch_request_default = Request;
 export {
   luch_request_default as default

File diff suppressed because it is too large
+ 1 - 1
node_modules/.vite/deps/luch-request.js.map


+ 1 - 1
node_modules/.vite/deps/pinia-plugin-persist-uni.js

@@ -1,6 +1,6 @@
 import "./chunk-VX4GZB4L.js";
 
-// F:/BaiduNetdiskDownload/shopro/fastadmin/addons/shopro/uniapp/uniapp-3.0.0/node_modules/pinia-plugin-persist-uni/dist/pinia-persist-uni.es.js
+// ../../../../php/h5mall_uniapp/node_modules/pinia-plugin-persist-uni/dist/pinia-persist-uni.es.js
 var isH5 = typeof alert === "function";
 var updateStorage = (strategy, store, options) => {
   const storage = strategy.storage;

+ 2 - 2
node_modules/.vite/deps/qs-canvas.js

@@ -5,9 +5,9 @@ import {
   __privateSet
 } from "./chunk-VX4GZB4L.js";
 
-// F:/BaiduNetdiskDownload/shopro/fastadmin/addons/shopro/uniapp/uniapp-3.0.0/node_modules/qs-canvas/index.js
+// ../../../../php/h5mall_uniapp/node_modules/qs-canvas/index.js
 var require_qs_canvas = __commonJS({
-  "F:/BaiduNetdiskDownload/shopro/fastadmin/addons/shopro/uniapp/uniapp-3.0.0/node_modules/qs-canvas/index.js"(exports, module) {
+  "../../../../php/h5mall_uniapp/node_modules/qs-canvas/index.js"(exports, module) {
     var QSCanvas = function() {
       var _nc;
       const platform = getPlatform(), isUni = platform == "uni", isNode = platform == "node", isWeb = platform == "web", imgCache = {}, vmCache = {}, asyncDrawWhiteList = Object.freeze([

File diff suppressed because it is too large
+ 1 - 1
node_modules/.vite/deps/qs-canvas.js.map


+ 2 - 2
node_modules/.vite/deps/weixin-js-sdk.js

@@ -2,9 +2,9 @@ import {
   __commonJS
 } from "./chunk-VX4GZB4L.js";
 
-// F:/BaiduNetdiskDownload/shopro/fastadmin/addons/shopro/uniapp/uniapp-3.0.0/node_modules/weixin-js-sdk/index.js
+// ../../../../php/h5mall_uniapp/node_modules/weixin-js-sdk/index.js
 var require_weixin_js_sdk = __commonJS({
-  "F:/BaiduNetdiskDownload/shopro/fastadmin/addons/shopro/uniapp/uniapp-3.0.0/node_modules/weixin-js-sdk/index.js"(exports, module) {
+  "../../../../php/h5mall_uniapp/node_modules/weixin-js-sdk/index.js"(exports, module) {
     !function(e, n) {
       module.exports = n(e);
     }(window, function(o, e) {

+ 176 - 161
pages.json

@@ -11,65 +11,77 @@
       "path": "pages/index/index",
       "aliasPath": "/",
       "style": {
-        "navigationBarTitleText": "首页",
+        "navigationBarTitleText": "Home",
         "enablePullDownRefresh": true
       },
       "meta": {
         "auth": false,
         "sync": true,
-        "title": "首页",
-        "group": "商城"
+        "title": "Home",
+        "group": "Shop"
       }
     },
     {
       "path": "pages/index/user",
       "style": {
-        "navigationBarTitleText": "个人中心",
+        "navigationBarTitleText": "User center",
         "enablePullDownRefresh": true
       },
       "meta": {
         "sync": true,
-        "title": "个人中心",
-        "group": "商城"
+        "title": "User center",
+        "group": "Shop"
       }
     },
     {
       "path": "pages/index/category",
       "style": {
-        "navigationBarTitleText": "商品分类"
+        "navigationBarTitleText": "Category"
       },
       "meta": {
         "sync": true,
-        "title": "商品分类",
-        "group": "商城"
+        "title": "Category",
+        "group": "Shop"
       }
     },
     {
       "path": "pages/index/cart",
       "style": {
-        "navigationBarTitleText": "购物车"
+        "navigationBarTitleText": "Cart"
       },
       "meta": {
         "sync": true,
-        "title": "购物车",
-        "group": "商城"
+        "title": "Cart",
+        "group": "Shop"
       }
     },
     {
+      "path": "pages/index/finance",
+      "style": {
+        "navigationBarTitleText": "Finance"
+      }
+    },
+	{
+	  "path": "pages/index/cash-back-list",
+	  "style": {
+	    "navigationBarTitleText": "CashBack"
+	  }
+	},
+    {
       "path": "pages/index/login",
       "style": {
-        "navigationBarTitleText": "登录"
+        "navigationBarTitleText": "Login"
       }
     },
     {
       "path": "pages/index/search",
       "style": {
-        "navigationBarTitleText": "搜索"
+        "navigationBarTitleText": "Search"
       },
       "meta": {
         "sync": true,
-        "title": "搜索",
-        "group": "商城"
+        "title": "Search",
+        "group": "Shop"
       }
     },
     {
@@ -80,8 +92,8 @@
       "meta": {
         "auth": false,
         "sync": true,
-        "title": "自定义页面",
-        "group": "商城"
+        "title": "Custom page",
+        "group": "Shop"
       }
     }
   ],
@@ -92,64 +104,64 @@
         {
           "path": "index",
           "style": {
-            "navigationBarTitleText": "商品详情"
+            "navigationBarTitleText": "Goods detail"
           },
           "meta": {
             "sync": true,
-            "title": "普通商品",
-            "group": "商品"
+            "title": "Ordinary goods",
+            "group": "Goods"
           }
         },
         {
           "path": "groupon",
           "style": {
-            "navigationBarTitleText": "拼团商品"
+            "navigationBarTitleText": "Group goods"
           },
           "meta": {
             "sync": true,
-            "title": "拼团商品",
-            "group": "商品"
+            "title": "Group goods",
+            "group": "Goods"
           }
         },
 
         {
           "path": "seckill",
           "style": {
-            "navigationBarTitleText": "秒杀商品"
+            "navigationBarTitleText": "Seckill goods"
           },
           "meta": {
             "sync": true,
-            "title": "秒杀商品",
-            "group": "商品"
+            "title": "Seckill goods",
+            "group": "Goods"
           }
         },
 
         {
           "path": "score",
           "style": {
-            "navigationBarTitleText": "积分商品"
+            "navigationBarTitleText": "Point goods"
           },
           "meta": {
             "sync": true,
-            "title": "积分商品",
-            "group": "商品"
+            "title": "Point goods",
+            "group": "Goods"
           }
         },
         {
           "path": "list",
           "style": {
-            "navigationBarTitleText": "商品列表"
+            "navigationBarTitleText": "Goods list"
           },
           "meta": {
             "sync": true,
-            "title": "商品列表",
-            "group": "商品"
+            "title": "Goods list",
+            "group": "Goods"
           }
         },
         {
           "path": "comment/add",
           "style": {
-            "navigationBarTitleText": "评价商品"
+            "navigationBarTitleText": "Comment goods"
           },
           "meta": {
             "auth": true
@@ -158,7 +170,7 @@
         {
           "path": "comment/list",
           "style": {
-            "navigationBarTitleText": "商品评价"
+            "navigationBarTitleText": "Goods comments"
           }
         }
       ]
@@ -169,116 +181,116 @@
         {
           "path": "detail",
           "style": {
-            "navigationBarTitleText": "订单详情"
+            "navigationBarTitleText": "Order detail"
           },
           "meta": {
             "auth": true,
-            "title": "订单详情"
+            "title": "Order detail"
           }
         },
         {
           "path": "confirm",
           "style": {
-            "navigationBarTitleText": "确认订单"
+            "navigationBarTitleText": "Confirm order"
           },
           "meta": {
             "auth": true,
-            "title": "确认订单"
+            "title": "Confirm order"
           }
         },
         {
           "path": "list",
           "style": {
-            "navigationBarTitleText": "我的订单",
+            "navigationBarTitleText": "My order",
             "enablePullDownRefresh": true
           },
           "meta": {
             "auth": true,
             "sync": true,
-            "title": "用户订单",
-            "group": "订单中心"
+            "title": "User order",
+            "group": "Order center"
           }
         },
         {
           "path": "invoice",
           "style": {
-            "navigationBarTitleText": "发票详情"
+            "navigationBarTitleText": "Invoice detail"
           },
           "meta": {
             "auth": true,
-            "title": "发票详情"
+            "title": "INvoice detail"
           }
         },
         {
           "path": "dispatch/content",
           "style": {
-            "navigationBarTitleText": "发货内容"
+            "navigationBarTitleText": "Delivery content"
           },
           "meta": {
             "auth": true,
-            "title": "发货内容"
+            "title": "Delivery content"
           }
         },
         {
           "path": "aftersale/apply",
           "style": {
-            "navigationBarTitleText": "申请售后"
+            "navigationBarTitleText": "Aftersale"
           },
           "meta": {
             "auth": true,
-            "title": "申请售后"
+            "title": "Aftersale"
           }
         },
         {
           "path": "aftersale/list",
           "style": {
-            "navigationBarTitleText": "售后列表"
+            "navigationBarTitleText": "Aftersale list"
           },
           "meta": {
             "auth": true,
             "sync": true,
-            "title": "售后订单",
-            "group": "订单中心"
+            "title": "Aftersale orders",
+            "group": "Order center"
           }
         },
         {
           "path": "aftersale/detail",
           "style": {
-            "navigationBarTitleText": "售后详情"
+            "navigationBarTitleText": "Aftersale detail"
           },
           "meta": {
             "auth": true,
-            "title": "售后详情"
+            "title": "Aftersale detail"
           }
         },
         {
           "path": "aftersale/log",
           "style": {
-            "navigationBarTitleText": "售后进度"
+            "navigationBarTitleText": "Aftersale progress"
           },
           "meta": {
             "auth": true,
-            "title": "售后进度"
+            "title": "Aftersale progress"
           }
         },
         {
           "path": "express/log",
           "style": {
-            "navigationBarTitleText": "物流轨迹"
+            "navigationBarTitleText": "Logistics trajectory"
           },
           "meta": {
             "auth": true,
-            "title": "物流轨迹"
+            "title": "Logistics trajectory"
           }
         },
         {
           "path": "express/list",
           "style": {
-            "navigationBarTitleText": "订单包裹"
+            "navigationBarTitleText": "Order package"
           },
           "meta": {
             "auth": true,
-            "title": "订单包裹"
+            "title": "Order package"
           }
         }
       ]
@@ -289,117 +301,117 @@
         {
           "path": "info",
           "style": {
-            "navigationBarTitleText": "我的信息"
+            "navigationBarTitleText": "My info"
           },
           "meta": {
             "auth": true,
             "sync": true,
-            "title": "用户信息",
-            "group": "用户中心"
+            "title": "User info",
+            "group": "User center"
           }
         },
         {
           "path": "goods-collect",
           "style": {
-            "navigationBarTitleText": "我的收藏"
+            "navigationBarTitleText": "My collection"
           },
           "meta": {
             "auth": true,
             "sync": true,
-            "title": "商品收藏",
-            "group": "用户中心"
+            "title": "Goods collection",
+            "group": "User center"
           }
         },
         {
           "path": "goods-log",
           "style": {
-            "navigationBarTitleText": "我的足迹"
+            "navigationBarTitleText": "My history"
           },
           "meta": {
             "auth": true,
             "sync": true,
-            "title": "浏览记录",
-            "group": "用户中心"
+            "title": "Views history",
+            "group": "User center"
           }
         },
         {
           "path": "address/list",
           "style": {
-            "navigationBarTitleText": "收货地址"
+            "navigationBarTitleText": "Shipping address"
           },
           "meta": {
             "auth": true,
             "sync": true,
-            "title": "地址管理",
-            "group": "用户中心"
+            "title": "Manage address",
+            "group": "User center"
           }
         },
         {
           "path": "address/edit",
           "style": {
-            "navigationBarTitleText": "编辑地址"
+            "navigationBarTitleText": "Edit address"
           },
           "meta": {
             "auth": true,
-            "title": "编辑地址"
+            "title": "Edit address"
           }
         },
         {
           "path": "invoice/list",
           "style": {
-            "navigationBarTitleText": "发票管理"
+            "navigationBarTitleText": "Invoice manage"
           },
           "meta": {
             "auth": true,
             "sync": true,
-            "title": "发票管理",
-            "group": "用户中心"
+            "title": "Invoice manage",
+            "group": "User center"
           }
         },
         {
           "path": "invoice/edit",
           "style": {
-            "navigationBarTitleText": "编辑发票"
+            "navigationBarTitleText": "Invoice edit"
           },
           "meta": {
             "auth": true,
-            "title": "编辑发票"
+            "title": "Invoice edit"
           }
         },
         {
           "path": "wallet/money",
           "style": {
-            "navigationBarTitleText": "我的余额"
+            "navigationBarTitleText": "My balance"
           },
           "meta": {
             "auth": true,
             "sync": true,
-            "title": "用户余额",
-            "group": "用户中心"
+            "title": "User balance",
+            "group": "User center"
           }
         },
         {
           "path": "wallet/commission",
           "style": {
-            "navigationBarTitleText": "我的佣金"
+            "navigationBarTitleText": "My commission"
           },
           "meta": {
             "auth": true,
             "sync": true,
-            "title": "用户佣金",
-            "group": "分销中心"
+            "title": "User commission",
+            "group": "Distribution center" 
           }
         },
         {
           "path": "wallet/score",
           "style": {
-            "navigationBarTitleText": "我的积分"
+            "navigationBarTitleText": "My points"
           },
           "meta": {
             "auth": true,
             "sync": true,
-            "title": "用户积分",
-            "group": "用户中心"
+            "title": "User points",
+            "group": "User center"
           }
         }
       ]
@@ -410,73 +422,73 @@
         {
           "path": "index",
           "style": {
-            "navigationBarTitleText": "分销"
+            "navigationBarTitleText": "Distribution"
           },
           "meta": {
             "auth": true,
             "sync": true,
-            "title": "分销中心",
-            "group": "分销商城"
+            "title": "Distribution center" ,
+            "group": "Distribution shop"
           }
         },
         {
           "path": "apply",
           "style": {
-            "navigationBarTitleText": "申请分销商"
+            "navigationBarTitleText": "Apply for distributor"
           },
           "meta": {
             "auth": true,
             "sync": true,
-            "title": "申请分销商",
-            "group": "分销商城"
+            "title": "Apply for distributor",
+            "group": "Distributor shop"
           }
         },
         {
           "path": "goods",
           "style": {
-            "navigationBarTitleText": "推广商品"
+            "navigationBarTitleText": "Promote productsr"
           },
           "meta": {
             "auth": true,
             "sync": true,
-            "title": "推广商品",
-            "group": "分销商城"
+            "title": "Promote productsr",
+            "group": "Distributor shop"
           }
         },
         {
           "path": "order",
           "style": {
-            "navigationBarTitleText": "分销订单"
+            "navigationBarTitleText": "Distributor orders"
           },
           "meta": {
             "auth": true,
             "sync": true,
-            "title": "分销订单",
-            "group": "分销商城"
+            "title": "Distributor orders",
+            "group": "Distributor shop"
           }
         },
         {
           "path": "share-log",
           "style": {
-            "navigationBarTitleText": "分享记录"
+            "navigationBarTitleText": "Share log"
           },
           "meta": {
             "auth": true,
             "sync": true,
-            "title": "分享记录",
-            "group": "分销商城"
+            "title": "Share log",
+            "group": "Distributor shop"
           }
         },
         {
           "path": "team",
           "style": {
-            "navigationBarTitleText": "我的团队"
+            "navigationBarTitleText": "My team"
           },
           "meta": {
             "auth": true,
             "sync": true,
-            "title": "我的团队",
-            "group": "分销商城"
+            "title": "My team",
+            "group": "Distributor shop"
           }
         }
       ]
@@ -487,25 +499,25 @@
         {
           "path": "sign",
           "style": {
-            "navigationBarTitleText": "签到中心"
+            "navigationBarTitleText": "Check-in center"
           },
           "meta": {
             "auth": true,
             "sync": true,
-            "title": "签到中心",
-            "group": "应用"
+            "title": "Check-in center",
+            "group": "Application"
           }
         },
         {
           "path": "score-shop",
           "style": {
-            "navigationBarTitleText": "积分商城"
+            "navigationBarTitleText": "Point shop"
           },
           "meta": {
             "auth": false,
             "sync": true,
-            "title": "积分商城",
-            "group": "应用"
+            "title": "Point shop",
+            "group": "Application"
           }
         }
       ]
@@ -516,52 +528,52 @@
         {
           "path": "setting",
           "style": {
-            "navigationBarTitleText": "系统设置"
+            "navigationBarTitleText": "Setting"
           },
           "meta": {
             "sync": true,
-            "title": "系统设置",
-            "group": "通用"
+            "title": "Setting",
+            "group": "Universal"
           }
         },
         {
           "path": "feedback",
           "style": {
-            "navigationBarTitleText": "问题反馈"
+            "navigationBarTitleText": "Feedback"
           },
           "meta": {
             "auth": true,
             "sync": true,
-            "title": "问题反馈",
-            "group": "通用"
+            "title": "Feedback",
+            "group": "Universal"
           }
         },
         {
           "path": "richtext",
           "style": {
-            "navigationBarTitleText": "富文本"
+            "navigationBarTitleText": "Richtext"
           },
           "meta": {
             "sync": true,
-            "title": "富文本",
-            "group": "通用"
+            "title": "Richtext",
+            "group": "Universal"
           }
         },
         {
           "path": "faq",
           "style": {
-            "navigationBarTitleText": "常见问题"
+            "navigationBarTitleText": "Common problem"
           },
           "meta": {
             "sync": true,
-            "title": "常见问题",
-            "group": "通用"
+            "title": "Common problem",
+            "group": "Universal"
           }
         },
         {
           "path": "error",
           "style": {
-            "navigationBarTitleText": "错误页面"
+            "navigationBarTitleText": "Error page"
           }
         },
         {
@@ -578,24 +590,24 @@
         {
           "path": "list",
           "style": {
-            "navigationBarTitleText": "领券中心"
+            "navigationBarTitleText": "Voucher Center"
           },
           "meta": {
             "sync": true,
-            "title": "领券中心",
-            "group": "优惠券"
+            "title": "Voucher Center",
+            "group": "Coupon"
           }
         },
         {
           "path": "detail",
           "style": {
-            "navigationBarTitleText": "优惠券"
+            "navigationBarTitleText": "Coupon"
           },
           "meta": {
             "auth": false,
             "sync": true,
-            "title": "优惠券详情",
-            "group": "优惠券"
+            "title": "Coupon detail",
+            "group": "Coupon"
           }
         }
       ]
@@ -606,13 +618,13 @@
         {
           "path": "index",
           "style": {
-            "navigationBarTitleText": "客服"
+            "navigationBarTitleText": "Service"
           },
           "meta": {
             "auth": true,
             "sync": true,
-            "title": "客服",
-            "group": "客服"
+            "title": "Service",
+            "group": "Service"
           }
         }
       ]
@@ -623,61 +635,61 @@
         {
           "path": "index",
           "style": {
-            "navigationBarTitleText": "收银台"
+            "navigationBarTitleText": "Checkout counter"
           }
         },
         {
           "path": "result",
           "style": {
-            "navigationBarTitleText": "支付结果"
+            "navigationBarTitleText": "Pay result"
           }
         },
         {
           "path": "recharge",
           "style": {
-            "navigationBarTitleText": "充值余额"
+            "navigationBarTitleText": "Recharge balance"
           },
           "meta": {
             "auth": true,
             "sync": true,
-            "title": "充值余额",
-            "group": "支付"
+            "title": "Recharge balance",
+            "group": "Pay"
           }
         },
         {
           "path": "recharge-log",
           "style": {
-            "navigationBarTitleText": "充值记录"
+            "navigationBarTitleText": "Recharge log"
           },
           "meta": {
             "auth": true,
             "sync": true,
-            "title": "充值记录",
-            "group": "支付"
+            "title": "Recharge log",
+            "group": "Pay"
           }
         },
         {
           "path": "withdraw",
           "style": {
-            "navigationBarTitleText": "申请提现"
+            "navigationBarTitleText": "Withdraw"
           },
           "meta": {
             "auth": true,
             "sync": true,
-            "title": "申请提现",
-            "group": "支付"
+            "title": "Withdraw",
+            "group": "Pay"
           }
         },
         {
           "path": "withdraw-log",
           "style": {
-            "navigationBarTitleText": "提现记录"
+            "navigationBarTitleText": "Withdraw log"
           },
           "meta": {
             "auth": true,
             "sync": true,
-            "title": "提现记录",
-            "group": "支付"
+            "title": "Withdraw log",
+            "group": "Pay"
           }
         }
       ]
@@ -688,53 +700,53 @@
         {
           "path": "groupon/detail",
           "style": {
-            "navigationBarTitleText": "拼团详情"
+            "navigationBarTitleText": "Group detail"
           }
         },
         {
           "path": "groupon/order",
           "style": {
-            "navigationBarTitleText": "我的拼团",
+            "navigationBarTitleText": "My group",
             "enablePullDownRefresh": true
           },
           "meta": {
             "auth": true,
             "sync": true,
-            "title": "拼团订单",
-            "group": "营销活动"
+            "title": "Group orders",
+            "group": "Marketing activities"
           }
         },
         {
           "path": "index",
           "style": {
-            "navigationBarTitleText": "营销商品"
+            "navigationBarTitleText": "Marketing goods"
           },
           "meta": {
             "sync": true,
-            "title": "营销商品",
-            "group": "营销活动"
+            "title": "Marketing goods",
+            "group": "Marketing activities"
           }
         },
         {
           "path": "groupon/list",
           "style": {
-            "navigationBarTitleText": "拼团活动"
+            "navigationBarTitleText": "Group activities"
           },
           "meta": {
             "sync": true,
-            "title": "拼团活动",
-            "group": "营销活动"
+            "title": "Group activities",
+            "group": "Marketing activities"
           }
         },
         {
           "path": "seckill/list",
           "style": {
-            "navigationBarTitleText": "秒杀活动"
+            "navigationBarTitleText": "Seckill activities"
           },
           "meta": {
             "sync": true,
-            "title": "秒杀活动",
-            "group": "营销活动"
+            "title": "Seckill activities",
+            "group": "Marketing activities"
           }
         }
       ]
@@ -742,7 +754,7 @@
   ],
   "globalStyle": {
     "navigationBarTextStyle": "black",
-    "navigationBarTitleText": "星品购",
+    "navigationBarTitleText": "Xingpingou",
     "navigationBarBackgroundColor": "#FFFFFF",
     "backgroundColor": "#FFFFFF",
     "navigationStyle": "custom"
@@ -756,6 +768,9 @@
         "pagePath": "pages/index/cart"
       },
       {
+        "pagePath": "pages/index/finance"
+      },
+      {
         "pagePath": "pages/index/user"
       }
     ]

+ 6 - 6
pages/chat/index.vue

@@ -320,15 +320,15 @@
 
   const chatStatus = {
     online: {
-      text: $t('chat.index.online'),
+      text: uni.getLocale() == 'en' ? 'online' : '在线',
       colorVariate: '#46c55f',
     },
     offline: {
-      text: $t('chat.index.offline'),
+      text: uni.getLocale() == 'en' ? 'offline' : '离线',
       colorVariate: '#b5b5b5',
     },
     busy: {
-      text: $t('chat.index.busy'),
+      text: uni.getLocale() == 'en' ? 'busy' : '忙碌',
       colorVariate: '#ff0e1b',
     },
   };
@@ -336,15 +336,15 @@
   // 加载更多
   const loadingMap = {
     loadmore: {
-      title: $t('chat.index.viewMore'),
+      title: uni.getLocale() == 'en' ? 'view more' : '查看更多',
       icon: 'el-icon-d-arrow-left',
     },
     nomore: {
-      title: $t('chat.index.noMore'),
+      title: uni.getLocale() == 'en' ? 'no more' : '没有了',
       icon: '',
     },
     loading: {
-      title: $t('chat.index.loading'),
+      title: uni.getLocale() == 'en' ? 'loading' : '加载中...',
       icon: 'el-icon-loading',
     },
   };

+ 3 - 3
pages/commission/apply.vue

@@ -116,9 +116,9 @@
   }
 
   const submitText = computed(() => {
-    if (state.status === 'normal') return $t('commission.apply.modify');
-    if (state.status === 'needinfo') return $t('commission.apply.submit');
-    if (state.status === 'reject') return $t('commission.apply.resubmit');
+    if (state.status === 'normal') return uni.getLocale() == 'en' ? 'modify' : '修改信息';
+    if (state.status === 'needinfo') return uni.getLocale() == 'en' ? 'submit' : '提交审核';
+    if (state.status === 'reject') return uni.getLocale() == 'en' ? 'resubmit' : '重新提交';
     return '';
   });
 

+ 21 - 21
pages/commission/components/commission-auth.vue

@@ -75,57 +75,57 @@
     // 关闭
     101: {
       image: '/assets/addons/shopro/uniapp/commission/close.png',
-      title: $t('commission.auth.closed'),
-      subtitle: $t('commission.auth.functionDisabled'),
-      button: $t('commission.auth.ok'),
+      title: uni.getLocale() == 'en' ? 'The distribution center is closed' : '分销中心已关闭',
+      subtitle: uni.getLocale() == 'en' ? 'This function is temporarily unavailable' : '该功能暂不可用',
+      button: uni.getLocale() == 'en' ? 'OK' : '知道了',
       action: 'back',
     },
     // 禁用
     102: {
       image: '/assets/addons/shopro/uniapp/commission/forbidden.png',
-      title: $t('commission.auth.accountDisabled'),
-      subtitle: $t('commission.auth.functionDisabled'),
-      button: $t('commission.auth.ok'),
+      title: uni.getLocale() == 'en' ? 'This function is temporarily unavailable' : '账户已被禁用',
+      subtitle: uni.getLocale() == 'en' ? 'OK' : '该功能暂不可用',
+      button: uni.getLocale() == 'en' ? 'OK' : '知道了',
       action: 'back',
     },
     // 补充信息
     103: {
       image: '/assets/addons/shopro/uniapp/commission/apply.png',
-      title: $t('commission.auth.perfectInfo'),
-      subtitle: $t('commission.auth.perfectTips'),
-      button: $t('commission.auth.perfect'),
+      title: uni.getLocale() == 'en' ? 'Information to be completed' : '待完善信息',
+      subtitle: uni.getLocale() == 'en' ? 'Please add your information and submit it for review' : '请补充您的信息后提交审核',
+      button: uni.getLocale() == 'en' ? 'OK' : '知道了',
       action: 'apply',
     },
     // 审核中
     104: {
       image: '/assets/addons/shopro/uniapp/commission/pending.png',
-      title: $t('commission.auth.underReview'),
-      subtitle: $t('commission.auth.waitResult'),
-      button: $t('commission.auth.ok'),
+      title: uni.getLocale() == 'en' ? 'Under review' : '正在审核中',
+      subtitle: uni.getLocale() == 'en' ? 'Please wait patiently for the result' : '请耐心等候结果',
+      button: uni.getLocale() == 'en' ? 'OK' : '知道了',
       action: 'back',
     },
     // 重新提交
     105: {
       image: '/assets/addons/shopro/uniapp/commission/reject.png',
-      title: $t('commission.auth.notPass'),
-      subtitle: $t('commission.auth.resubmitTips'),
-      button: $t('commission.auth.resubmit'),
+      title: uni.getLocale() == 'en' ? 'Sorry! Your application information did not pass' : '抱歉!您的申请信息未通过',
+      subtitle: uni.getLocale() == 'en' ? 'Please try to modify and resubmit' : '请尝试修改后重新提交',
+      button: uni.getLocale() == 'en' ? 'resubmit' : '重新提交',
       action: 'apply',
     },
     // 直接重新申请
     106: {
       image: '/assets/addons/shopro/uniapp/commission/reject.png',
-      title: $t('commission.auth.notPass'),
-      subtitle: $t('commission.auth.resubmitTry'),
-      button: $t('commission.auth.resubmit'),
+      title: uni.getLocale() == 'en' ? 'Sorry! Your application information did not pass' : '抱歉!您的申请信息未通过',
+      subtitle: uni.getLocale() == 'en' ? 'Please try to apply again' : '请尝试重新申请',
+      button: uni.getLocale() == 'en' ? 'Reapply' : '重新申请',
       action: 'reApply',
     },
     // 冻结
     107: {
       image: '/assets/addons/shopro/uniapp/commission/freeze.png',
-      title: $t('commission.auth.accountFrozen'),
-      subtitle: $t('commission.auth.serviceTips'),
-      button: $t('commission.auth.contact'),
+      title: uni.getLocale() == 'en' ? 'Sorry! Your account has been frozen' : '抱歉!您的账户已被冻结',
+      subtitle: uni.getLocale() == 'en' ? 'If you have any questions, please contact customer service' : '如有疑问请联系客服',
+      button: uni.getLocale() == 'en' ? 'contact service' : '联系客服',
       action: 'chat',
     },
   };

+ 7 - 7
pages/commission/components/commission-menu.vue

@@ -53,38 +53,38 @@
     menuList: [
       {
         img: '/assets/addons/shopro/uniapp/commission/commission_icon1.png',
-        title: $t('commission.menu.myTeam'),
+        title: uni.getLocale() == 'en' ? 'my team' : '我的团队',
         path: '/pages/commission/team',
       },
       {
         img: '/assets/addons/shopro/uniapp/commission/commission_icon2.png',
-        title: $t('commission.menu.commissionDetail'),
+        title: uni.getLocale() == 'en' ? 'commission detail' : '佣金明细',
         path: '/pages/user/wallet/commission',
       },
       {
         img: '/assets/addons/shopro/uniapp/commission/commission_icon3.png',
-        title: $t('commission.menu.orders'),
+        title: uni.getLocale() == 'en' ? 'distribution orders' : '分销订单',
         path: '/pages/commission/order',
       },
       {
         img: '/assets/addons/shopro/uniapp/commission/commission_icon4.png',
-        title: $t('commission.menu.goods'),
+        title: uni.getLocale() == 'en' ? 'promote goods' : '推广商品',
         path: '/pages/commission/goods',
       },
       {
         img: '/assets/addons/shopro/uniapp/commission/commission_icon5.png',
-        title: $t('commission.menu.accountInfo'),
+        title: uni.getLocale() == 'en' ? 'personal info' : '我的资料',
         path: '/pages/commission/apply',
         isAgentFrom: true,
       },
       {
         img: '/assets/addons/shopro/uniapp/commission/commission_icon7.png',
-        title: $t('commission.menu.invite'),
+        title: uni.getLocale() == 'en' ? 'invite poster' : '邀请海报',
         path: 'action:showShareModal',
       },
       {
         img: '/assets/addons/shopro/uniapp/commission/commission_icon8.png',
-        title: $t('commission.menu.shareLog'),
+        title: uni.getLocale() == 'en' ? 'share log' : '分享记录',
         path: '/pages/commission/share-log',
       },
     ],

+ 5 - 5
pages/coupon/list.vue

@@ -1,6 +1,6 @@
 <!-- 优惠券中心  -->
 <template>
-  <s-layout :title="$t('commission.coupon.title')" :bgStyle="{ color: '#f2f2f2' }">
+  <s-layout :title="$t('coupon.list.title')" :bgStyle="{ color: '#f2f2f2' }">
     <su-sticky bgColor="#fff">
       <su-tabs
         :list="tabMaps"
@@ -113,19 +113,19 @@
 
   const tabMaps = [
     {
-      name: $t('coupon.list.all'),
+      name: uni.getLocale() == 'en' ? 'all' : '全部',
       value: 'all',
     },
     {
-      name: $t('coupon.list.geted'),
+      name: uni.getLocale() == 'en' ? 'received' : '已领取',
       value: 'geted',
     },
     {
-      name: $t('coupon.list.used'),
+      name: uni.getLocale() == 'en' ? 'used' : '已使用',
       value: 'used',
     },
     {
-      name: $t('coupon.list.expired'),
+      name: uni.getLocale() == 'en' ? 'expired' : '已失效',
       value: 'expired',
     },
   ];

+ 1 - 1
pages/goods/components/detail/comment-item.vue

@@ -25,7 +25,7 @@
       </scroll-view>
     </view>
     <view class="ss-m-t-20 reply-box" v-if="item.reply_time">
-      <view class="reply-title">商家回复:</view>
+      <view class="reply-title">{{$t('goods.detail.reply')}}:</view>
       <view class="reply-content">{{ item.reply_content }}</view>
     </view>
   </view>

+ 1 - 1
pages/goods/components/detail/detail-activity-tip.vue

@@ -19,7 +19,7 @@
                 v-else
               ></image>
             </view>
-            <view>该商品正在参与{{ activity.type_text }}活动</view>
+            <view>{{$t('goods.detail.participate')}}{{ activity.type_text }}{{$t('goods.detail.activity')}}</view>
           </view>
           <button class="ss-reset-button activity-go" @tap="onActivity(activity)"> GO </button>
         </view>

+ 3 - 3
pages/goods/components/detail/detail-cell-params.vue

@@ -2,13 +2,13 @@
   <view>
     <detail-cell
       v-if="modelValue.length > 0"
-      label="参数"
+      :label="$t('goods.detail.param')"
       :value="state.paramsTitle"
       @click="state.show = true"
     ></detail-cell>
     <su-popup :show="state.show" round="10" :showClose="true" @close="close">
       <view class="ss-modal-box bg-white">
-        <view class="modal-header">产品参数</view>
+        <view class="modal-header">{{$t('goods.detail.productParam')}}</view>
         <scroll-view
           class="modal-content ss-p-t-50"
           scroll-y="true"
@@ -23,7 +23,7 @@
         </scroll-view>
         <view class="modal-footer ss-flex ss-row-center ss-m-b-20">
           <button class="ss-reset-button save-btn ui-Shadow-Main" @tap="state.show = false"
-            >确定</button
+            >{{$t('goods.detail.confirm')}}</button
           >
         </view>
       </view>

+ 3 - 3
pages/goods/components/detail/detail-cell-service.vue

@@ -2,14 +2,14 @@
   <view>
     <detail-cell
       v-if="modelValue.length > 0"
-      label="保障"
+      :label="$t('goods.detail.assure')"
       :value="state.paramsTitle"
       @click="state.show = true"
     >
     </detail-cell>
     <su-popup :show="state.show" round="10" :showClose="true" @close="state.show = false">
       <view class="ss-modal-box">
-        <view class="modal-header">服务保障</view>
+        <view class="modal-header">{{$t('goods.detail.serviceAssure')}}</view>
         <scroll-view
           class="modal-content"
           scroll-y="true"
@@ -31,7 +31,7 @@
         </scroll-view>
         <view class="modal-footer ss-flex ss-row-center ss-m-b-20">
           <button class="ss-reset-button save-btn ui-Shadow-Main" @tap="state.show = false"
-            >确定</button
+            >{{$t('goods.detail.confirm')}}</button
           >
         </view>
       </view>

+ 2 - 2
pages/goods/components/detail/detail-cell-sku.vue

@@ -1,5 +1,5 @@
 <template>
-  <detail-cell v-if="skus.length > 0" label="选择" :value="value"></detail-cell>
+  <detail-cell v-if="skus.length > 0" :label="$t('goods.detail.choose')" :value="value"></detail-cell>
 </template>
 
 <script setup>
@@ -28,7 +28,7 @@
         str += props.skus[index].name + ':' + item + ' ';
       });
     } else {
-      str = '请选择商品规格';
+      str = uni.getLocale() == 'en' ? 'Please select product specifications' : '请选择商品规格';
     }
     return str;
   });

+ 3 - 3
pages/goods/components/detail/detail-comment-card.vue

@@ -3,7 +3,7 @@
     <view class="card-header ss-flex ss-col-center ss-row-between ss-p-b-30">
       <view class="ss-flex ss-col-center">
         <view class="line"></view>
-        <view class="title ss-m-l-20 ss-m-r-10">评价</view>
+        <view class="title ss-m-l-20 ss-m-r-10">{{$t('goods.detail.comment')}}</view>
         <view class="des">({{ state.total }})</view>
       </view>
       <view
@@ -11,7 +11,7 @@
         @tap="sheep.$router.go('/pages/goods/comment/list', { id: goodsId })"
         v-if="state.commentList?.length > 0"
       >
-        <button class="ss-reset-button more-btn">查看全部</button>
+        <button class="ss-reset-button more-btn">{{$t('goods.detail.viewAll')}}</button>
         <text class="cicon-forward"></text>
       </view>
     </view>
@@ -23,7 +23,7 @@
         v-if="state.commentList?.length === 0"
         paddingTop="0"
         icon="/static/comment-empty.png"
-        text="期待您的第一个评价"
+        :text="$t('goods.detail.msg1')"
       ></s-empty>
     </view>
   </view>

+ 1 - 1
pages/goods/components/detail/detail-content-card.vue

@@ -2,7 +2,7 @@
   <view class="detail-content-card bg-white ss-m-x-20 ss-p-t-20">
     <view class="card-header ss-flex ss-col-center ss-m-b-30 ss-m-l-20">
       <view class="line"></view>
-      <view class="title ss-m-l-20 ss-m-r-20">详情</view>
+      <view class="title ss-m-l-20 ss-m-r-20">{{$t('goods.detail.detail')}}</view>
     </view>
     <view class="card-content">
       <mp-html :content="content"></mp-html>

+ 3 - 3
pages/goods/components/detail/detail-navbar.vue

@@ -58,17 +58,17 @@
     curTab: 'goods',
     tabList: [
       {
-        label: '商品',
+        label: uni.getLocale() == 'en' ? 'goods' : '商品',
         value: 'goods',
         to: 'detail-swiper-selector',
       },
       {
-        label: '评价',
+        label: uni.getLocale() == 'en' ? 'comment' : '评价',
         value: 'comment',
         to: 'detail-comment-selector',
       },
       {
-        label: '详情',
+        label: uni.getLocale() == 'en' ? 'detail' : '详情',
         value: 'detail',
         to: 'detail-content-selector',
       },

+ 1 - 1
pages/goods/components/detail/detail-progress.vue

@@ -1,6 +1,6 @@
 <template>
   <view class="ss-flex ss-col-center">
-    <view class="progress-title ss-m-r-10"> 已抢{{ percent }}% </view>
+    <view class="progress-title ss-m-r-10"> {{$t('goods.detail.rob')}}{{ percent }}% </view>
     <view class="progress-box ss-flex ss-col-center">
       <view class="progerss-active" :style="{ width: percent < 10 ? '10%' : percent + '%' }">
       </view>

+ 4 - 4
pages/goods/components/detail/detail-tabbar.vue

@@ -13,7 +13,7 @@
               :src="sheep.$url.static('/assets/addons/shopro/uniapp/goods/collect_1.gif')"
               mode="aspectFit"
             ></image>
-            <view class="item-title">已收藏</view>
+            <view class="item-title">{{$t('goods.detail.collected')}}</view>
           </block>
           <block v-else>
             <image
@@ -21,7 +21,7 @@
               :src="sheep.$url.static('/assets/addons/shopro/uniapp/goods/collect_0.png')"
               mode="aspectFit"
             ></image>
-            <view class="item-title">收藏</view>
+            <view class="item-title">{{$t('goods.detail.collect')}}</view>
           </block>
         </view>
         <view
@@ -34,7 +34,7 @@
             :src="sheep.$url.static('/assets/addons/shopro/uniapp/goods/message.png')"
             mode="aspectFit"
           ></image>
-          <view class="item-title">客服</view>
+          <view class="item-title">{{$t('goods.detail.service')}}</view>
         </view>
         <view
           v-if="shareIcon"
@@ -46,7 +46,7 @@
             :src="sheep.$url.static('/assets/addons/shopro/uniapp/goods/share.png')"
             mode="aspectFit"
           ></image>
-          <view class="item-title">分享</view>
+          <view class="item-title">{{$t('goods.detail.share')}}</view>
         </view>
         <slot></slot>
       </view>

+ 9 - 9
pages/goods/components/groupon/groupon-card-list.vue

@@ -1,7 +1,7 @@
 <template>
   <view v-if="state.list.length > 0" class="groupon-list detail-card ss-p-x-20">
     <view class="join-activity ss-flex ss-row-between ss-m-t-30">
-      <view class="">已有{{ modelValue.sales }}人参与活动</view>
+      <view class="">{{$t('goods.detail.have')}}{{ modelValue.sales }}{{$t('goods.detail.peoplejoin')}}</view>
       <text class="cicon-forward"></text>
     </view>
     <view
@@ -17,14 +17,14 @@
       <view class="ss-flex ss-col-center">
         <view class="ss-flex-col ss-col-bottom ss-m-r-20">
           <view class="title ss-flex ss-m-b-14">
-            还差
+            {{$t('goods.detail.still')}}
             <view class="num">{{ item.num - item.current_num }}人</view>
-            成团
+            {{$t('goods.detail.grouped')}}
           </view>
           <view class="end-time">{{ endTime(item.expire_time) }}</view>
         </view>
         <view class="">
-          <button class="ss-reset-button go-btn" @tap.stop="onJoinGroupon(item)"> 去参团 </button>
+          <button class="ss-reset-button go-btn" @tap.stop="onJoinGroupon(item)"> {{$t('goods.detail.joinGroup')}} </button>
         </view>
       </view>
     </view>
@@ -56,13 +56,13 @@
     const durationTime = useDurationTime(time);
 
     if (durationTime.ms <= 0) {
-      return '该团已解散';
+      return $t('goods.detail.disband');
     }
 
-    let timeText = '剩余 ';
-    timeText += `${durationTime.h}`;
-    timeText += `${durationTime.m}`;
-    timeText += `${durationTime.s}`;
+    let timeText = $t('goods.detail.rest');
+    timeText += `${durationTime.h}`+$t('goods.detail.hour');
+    timeText += `${durationTime.m}`+$t('goods.detail.minute');
+    timeText += `${durationTime.s}`+$t('goods.detail.second');
     return timeText;
   }
 

+ 1 - 1
pages/goods/components/list/list-goods-card.vue

@@ -10,7 +10,7 @@
       <view class="ss-flex ss-col-center ss-row-between ss-m-b-16 ss-m-x-20">
         <view class="md-goods-price text-price">{{ price }}</view>
         <view class="goods-origin-price text-price">{{ originPrice }}</view>
-        <view class="sales-text">已售{{ sales }}件</view>
+        <view class="sales-text">{{$t('goods.detail.sellout')}}{{ sales }}{{$t('goods.detail.unit')}}</view>
       </view>
     </view>
   </view>

+ 1 - 1
pages/goods/components/list/list-navbar.vue

@@ -63,7 +63,7 @@
   const props = defineProps({
     placeholder: {
       type: String,
-      default: '搜索内容',
+      default: $t('goods.detail.searchContent'),
     },
   });
 

+ 1 - 1
pages/goods/index.vue

@@ -62,7 +62,7 @@
                 @tap="state.showModel = true"
                 v-if="state.couponInfo.length"
               >
-                <view class="discounts-title ss-m-r-8">领券</view>
+                <view class="discounts-title ss-m-r-8">{{$t('goods.index.getCoupon')}}</view>
                 <text class="cicon-forward"></text>
               </view>
             </view>

+ 1 - 1
pages/goods/score.vue

@@ -8,7 +8,7 @@
 
       <s-empty
         v-else-if="state.goodsInfo === null"
-        :text=$t('goods.index.sellout')
+        :text="$t('goods.index.sellout')"
         icon="/static/soldout-empty.png"
         showAction
         actionText="再逛逛"

+ 1 - 1
pages/index/cart.vue

@@ -69,7 +69,7 @@
               />
               <view class="ss-m-l-8"> {{$t('index.cart.chooseAll')}}</view>
             </label>
-            <text>合计{{$t('index.cart.countAll')}}:</text>
+            <text>{{$t('index.cart.countAll')}}:</text>
             <view class="text-price price-text">
               {{ state.totalPriceSelected }}
             </view>

+ 167 - 0
pages/index/cash-back-list.vue

@@ -0,0 +1,167 @@
+<template>
+	<s-layout title="Cash back list" :bgStyle="{ color: '#fff' }">
+
+		<view class="main">
+			<view class="tab-header">
+				<view :class="{'active':data.selectedTabIndex===0}" @tap="go(0)"><text>{{$t('index.finance.all')}}</text></view>
+				<view :class="{'active':data.selectedTabIndex===1}" @tap="go(1)"><text>{{$t('index.finance.pass')}}</text></view>
+				<view :class="{'active':data.selectedTabIndex===2}" @tap="go(2)"><text>{{$t('index.finance.rejected')}}</text></view>
+			</view>
+			<view v-for="(item,index) in data.items" class="list-item">
+				<view>
+					<text>{{item.order_sn}}</text>
+					<text>{{item.create_time}}</text>
+				</view>
+				<view>{{item.return_money}}</view>
+				<view :class="{'pass':item.return_status,'rejected':!item.return_status}">
+					<text> {{item.return_status?$t('index.finance.pass'):$t('index.finance.rejected')}}</text>
+				</view>
+			</view>
+		</view>
+	</s-layout>
+</template>
+
+<script setup>
+	
+	import sheep from '@/sheep';
+	import { onLoad } from '@dcloudio/uni-app';
+	import {
+		reactive
+	} from 'vue'
+	const data = reactive({
+		selectedTabIndex: 0,
+		items: []
+	})
+	var orders = [];
+	onLoad(async () => {
+	  await getMyTaskList();
+	});
+	async function getMyTaskList(){
+		const res = await sheep.$api.task.myTaskList({});
+		console.log(res)
+		if(res.code == 1){
+			data.items = res.data;
+			for(var i = 0;i < data.items.length;i++){
+				data.items[i].create_time = timestampToTime(data.items[i].create_time);
+			}
+			orders = data.items;
+		}else{
+			data.items = [];
+			orders = [];
+		}
+		
+	}
+	
+	function timestampToTime(timestamp) {
+	  // 时间戳为10位需*1000,时间戳为13位不需乘1000
+	  var date = new Date(timestamp * 1000);
+	  var Y = date.getFullYear() + "-";
+	  var M =
+	    (date.getMonth() + 1 < 10
+	      ? "0" + (date.getMonth() + 1)
+	      : date.getMonth() + 1) + "-";
+	  var D = (date.getDate() < 10 ? "0" + date.getDate() : date.getDate()) + " ";
+	  var h = date.getHours() + ":";
+	  var m = date.getMinutes() + ":";
+	  var s = date.getSeconds();
+	  return Y + M + D + h + m + s;
+	}
+	const go = (idx) => {
+		data.selectedTabIndex = idx;
+
+		switch (idx) {
+			case 0: {
+				data.items = orders;
+			}
+			break;
+			case 1: {
+				data.items = orders.filter(x => x.return_status);
+			}
+			break;
+			case 2: {
+				data.items = orders.filter(x => !x.return_status);
+			}
+			break;
+		}
+
+	}
+</script>
+
+<style scoped lang="scss">
+	.tab-header {
+		display: flex;
+		align-self: center;
+		margin-bottom: 15upx;
+
+		&>view {
+			flex: 1;
+			display: flex;
+			border-bottom: 10upx solid #FDEAC9;
+
+			justify-content: center;
+
+			&>text {
+				padding: 10upx 20upx;
+				color: #50555555;
+			}
+
+			&.active {
+				border-bottom-color: #FAA435;
+
+				&>text {
+					color: #FAA435;
+				}
+			}
+		}
+	}
+
+	.list-item {
+
+		display: flex;
+		align-items: center;
+		padding: 26upx;
+		border-radius: 10upx;
+		box-shadow: 0px 0px 5px #ddd;
+		margin: 24upx 15upx;
+		justify-content: space-between;
+
+		&>view {
+			display: flex;
+			font-size: 0.8325rem!important;
+		}
+
+		&>view:nth-child(1) {
+			flex-direction: column;
+			font-size: 18upx;
+			color: #555;
+
+			&>text:nth-child(2) {
+				margin-top: 12upx;
+			}
+		}
+
+		&>view:nth-child(2) {
+			font-size: 40upx;
+			color: #FAA435;
+		}
+
+		&>view:nth-child(3) {
+			padding: 8upx 18upx;
+			border-radius: 8upx;
+			color: white;
+			transform: skewX(-15deg);
+
+			&>text {
+				transform: skewX(15deg);
+			}
+		}
+
+		.pass {
+			background: #FAA435;
+		}
+
+		.rejected {
+			background: #D54941;
+		}
+	}
+</style>

+ 503 - 0
pages/index/components/fill-form.vue

@@ -0,0 +1,503 @@
+<template>
+	<view class="fill-form">
+		<uni-forms>
+			<view class="a-form-item uni-form-item">
+				<view class="title">
+					CashBack
+				</view>
+				<view class="cash-back">
+					<image src="../../../static/7.png"></image>
+					<text>{{props.days}} Days</text>
+				</view>
+			</view>
+			<view class="a-form-item uni-form-item">
+				<view class="title">
+					{{$t('index.finance.platform')}}
+				</view>
+				<view>
+					{{props.platform}}
+				</view>
+			</view>
+			<view class="a-form-item uni-form-item">
+				<view class="title">
+					{{$t('index.finance.order_sn')}}
+				</view>
+				<view>
+					<picker :value="data.selectedOrderIndex" :range="data.orderList" @change="changeOrder">
+						<view>
+							{{selectedOrder()}}
+						</view>
+					</picker>
+				</view>
+			</view>
+			<!-- <view class="a-form-item uni-form-item">
+				<view class="title">
+					金额
+				</view>
+				<uni-easyinput :input-border="false"></uni-easyinput>
+			</view> -->
+			<view class="a-form-item steps">
+				<view class="tab-header">
+					<view :class="{'active':data.selectedTabIndex===0}" @tap="go(0)"><text>{{$t('index.finance.step')}}</text></view>
+					<view :class="{'active':data.selectedTabIndex===1}" @tap="go(1)"><text>{{$t('index.finance.example')}}</text></view>
+				</view>
+				<view v-if="data.selectedTabIndex===0" class="step-texts">
+					<textarea type="text" :value="props.task_step" disabled />
+					<!-- <rich-text :nodes="props.task_step"></rich-text> -->
+				</view>
+				<view v-if="data.selectedTabIndex===1" class="step-pics">
+					<view v-for="(item,index) in data.stepPics" class="step-pic">
+						<image mode="aspectFit" :src="item"></image>
+						<view @tap="removeImage(index)" class="step-pic-close">
+							<image src="../../../static/10.png"></image>
+						</view>
+					</view>
+				</view>
+			</view>
+			<view class="a-form-item upload-image" v-if="data.stepPics.length<3">
+				<input type="file" name="file" accept="image/*" />
+				<view @tap="uploadFile()" class="upload-btn">
+					<view class="upload-icon">
+						<text>+</text>
+					</view>
+					<text>
+						{{$t('index.finance.uploadfile')}}
+					</text>
+				</view>
+			</view>
+		</uni-forms>
+		<view class="submit-btn-wrapper">
+			<button class="submit-btn" @tap="handleSubmit()">{{$t('index.finance.submit')}}</button>
+		</view>
+		<view class="dialog-wrapper" v-if="data.showDialog" @tap="data.showDialog=false">
+			<view class="dialog">
+				<view class="close" @tap="$emit('submit')">
+					<image src="../../../static/10.png"></image>
+				</view>
+				<text>{{$t('index.finance.submitSuccess')}}</text>
+				<image class="success-image" src="../../../static/6.png" />
+				<view class="progress">
+					<view class="progress-item">
+						<view class="done">
+							<image src="../../../static/7.png"></image>
+						</view>
+					</view>
+					<view class="progress-line"></view>
+					<view class="progress-item">
+						<view class="ongoing">
+							<text>2</text>
+						</view>
+					</view>
+					<view class="progress-line"></view>
+					<view class="progress-item">
+						<view>
+							<text>3</text>
+						</view>
+					</view>
+				</view>
+				<view class="progress-texts">
+					<view><text>{{$t('index.finance.apply')}}</text></view>
+					<view><text>{{$t('index.finance.audit')}}</text></view>
+					<view><text>{{$t('index.finance.return_money')}}</text></view>
+				</view>
+
+				<!-- <view class="tips">
+					<view class="tips-content">
+						<image src="/static/8.png"></image>
+						<text>特别声明: 文档内容文档内容文档内容</text>
+					</view>
+				</view> -->
+
+			</view>
+		</view>
+	</view>
+</template>
+
+<script setup>
+	
+	import sheep from '@/sheep';
+	import { onLoad } from '@dcloudio/uni-app';
+	import {
+		reactive,
+		ref,
+	} from 'vue'
+	const props = defineProps(['id','days','platform','task_step'])
+	const selectedOrder = () => {
+		return data.orderList[data.selectedOrderIndex];
+	}
+	const popup = ref();
+	async function handleSubmit() {
+		for(var i = 0;i < data.dataList.length;i++){
+			if(data.dataList[i].order_sn == data.orderList[data.selectedOrderIndex]){
+				data.order_id = data.dataList[i].id;
+			}
+		}
+		const res = await sheep.$api.task.submitTask({
+			id: data.order_id,
+			images: data.images,
+			task_id: props.id
+		});
+		console.log(res)
+		if(res.code == 1){
+			data.showDialog = true;
+		}else{
+			sheep.$helper.toast(res.msg);
+		}
+		
+	}
+
+	const changeOrder = e => {
+		data.selectedOrderIndex = e.detail.value;
+	}
+	const data = reactive({
+		selectedTabIndex: 0,
+		stepText: '',
+		stepPics: [],
+		showDialog: false,
+		images: '',
+		orderList: [],
+		dataList: [],
+		order_id: 0,
+		selectedOrderIndex: 0,
+	})
+	
+	onLoad(async () => {
+	  await getTaskListByDay();
+	});
+	async function getTaskListByDay(){
+		const res = await sheep.$api.task.listByDay({
+			day: props.days
+		});
+		console.log(res)
+		if(res.code == 1){
+			data.dataList = res.data;
+			for(var i = 0;i < res.data.length;i++){
+				data.orderList.push(res.data[i].order_sn);
+			}
+		}
+		
+	}
+
+	const go = (idx) => {
+		data.selectedTabIndex = idx;
+	}
+	const handleFileChange = (e) => {
+		data.selectedTabIndex = 1;
+		for (const f of e.target.files) {
+			const name = URL.createObjectURL(f);
+			data.stepPics.push(name);
+			const a = new FileReader();
+			a.readAsDataURL(f);
+			a.onload = (e) => {
+			  data.images = e.target.result
+			  console.log(data.images)
+			}
+			if (data.stepPics.length >= 1) {
+				break;
+			}
+		}
+	}
+	const uploadFile = () => {
+		const f = document.querySelector("input[type='file']");
+		f.removeEventListener('change', handleFileChange);
+		f.addEventListener('change', handleFileChange);
+		f.click();
+	}
+	const removeImage = (idx) => {
+		data.stepPics.splice(idx, 1);
+	}
+</script>
+
+<style scoped lang="scss">
+	.dialog-wrapper {
+		z-index: 999;
+		position: fixed;
+		width: 100%;
+		height: 100%;
+		top: 0;
+		left: 0;
+		display: flex;
+		flex-direction: column;
+		justify-content: center;
+		align-items: center;
+		background: rgba(0, 0, 0, 0.7);
+	}
+
+	.dialog {
+		position: relative;
+		background-color: white;
+		border-radius: 20upx;
+		width: 80%;
+		min-height: 100upx;
+		display: flex;
+		flex-direction: column;
+		align-items: center;
+		padding: 20upx;
+
+		.close {
+			position: absolute;
+			right: 10upx;
+			top: 10upx;
+
+			&>image {
+				width: 60upx;
+				height: 60upx;
+			}
+		}
+
+		.success-image {
+			margin: 20upx 0upx;
+			width: 100upx;
+			height: 100upx;
+		}
+
+		.progress-texts {
+			margin-top: 10upx;
+			width: 100%;
+			display: flex;
+			color: #777;
+
+			&>view {
+				flex: 1;
+				display: flex;
+				justify-content: center;
+			}
+		}
+
+		.progress {
+			display: flex;
+			width: 70%;
+			justify-content: space-between;
+
+			.progress-line {
+				border-top: 1px dashed #FAA435;
+				margin-top: 20upx;
+				min-width: 35%;
+			}
+
+			&>.progress-item {
+				display: flex;
+				flex-direction: column;
+				align-items: center;
+
+				image {
+					width: 40upx;
+					height: 40upx;
+				}
+
+				view:nth-child(1) {
+					display: flex;
+					flex-direction: column;
+					justify-content: center;
+					align-items: center;
+					border: 1px solid #FAA435;
+					border-radius: 50%;
+					min-width: 40upx;
+					min-height: 40upx;
+					color: #faa435;
+					font-size: 14upx;
+
+					&.done {
+						border: none;
+					}
+
+					&.ongoing {
+						background: #faa435;
+						color: white;
+					}
+				}
+			}
+		}
+
+		.tips {
+			background: #FDEAC9;
+			border-radius: 40px;
+			padding: 7px 15px;
+			margin-top: 50px;
+			margin-bottom: 10px;
+		}
+
+		.tips .tips-content {
+			width: 100%;
+		}
+
+		.tips image {
+			width: 14px;
+			height: 14px;
+			vertical-align: middle;
+			padding-right: 6px;
+		}
+
+		.tips text {
+			color: #8C7E75;
+			font-size: 12px;
+		}
+	}
+
+	.fill-form {
+		display: flex;
+		flex-direction: column;
+	}
+
+	.a-form-item {
+		display: flex;
+		align-items: center;
+		padding: 20upx;
+		border-radius: 10upx;
+		box-shadow: 0px 0px 5px #ddd;
+		margin: 15upx;
+	}
+
+	.cash-back {
+		display: flex;
+		align-items: center;
+
+		image {
+			margin-right: 10upx;
+			width: 40upx;
+			height: 40upx;
+		}
+	}
+
+	.uni-form-item {
+		justify-content: space-between;
+
+		.uni-easyinput {
+			max-width: 500upx;
+			text-align: right;
+		}
+	}
+
+	.steps {
+		align-items: flex-start;
+		flex-direction: column;
+	}
+
+	.step-texts {
+		display: flex;
+		flex-direction: column;
+
+		textarea {
+			color: #555;
+			font-size: 0.825rem;
+			margin-top: 40upx;
+			height: 300upx;
+		}
+	}
+
+	.step-pics {
+		display: flex;
+		flex-wrap: wrap;
+		width: 100%;
+		height: 300upx;
+
+		.step-pic {
+			position: relative;
+			width: 100%;
+			margin: 12px 0;
+
+			&>image {
+				width: 100%;
+				height: 100%;
+			}
+
+			.step-pic-close {
+				z-index: 1;
+
+				&>image {
+					width: 50upx;
+					height: 50upx;
+				}
+
+				position: absolute;
+				top: 0;
+				right: 0;
+			}
+		}
+
+	}
+
+	.tab-header {
+		display: flex;
+		align-self: center;
+
+		&>view {
+			border-bottom: 6upx solid #FDEAC9;
+
+			&>text {
+				padding: 0upx 20upx;
+				color: #50555555;
+			}
+
+			&.active {
+				border-bottom-color: #FAA435;
+
+				&>text {
+					color: #FAA435;
+				}
+			}
+		}
+	}
+
+	.upload-image {
+		&>input {
+			display: none;
+		}
+	}
+
+	.upload-btn {
+		display: flex;
+		align-items: center;
+
+		.upload-icon {
+			border: 1px dashed #50555555;
+			color: #50555555;
+			border-radius: 8upx;
+			width: 90upx;
+			height: 90upx;
+			display: flex;
+			align-items: center;
+			justify-content: center;
+			margin-right: 10upx;
+		}
+	}
+
+	.submit-btn-wrapper {
+		position: fixed;
+		width: 100%;
+		display: flex;
+		justify-content: center;
+		bottom: 100upx;
+		;
+	}
+
+	.submit-btn {
+		padding: 0;
+		margin: 0;
+		font-size: inherit;
+		background-color: transparent;
+		color: inherit;
+
+		border: 0;
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		box-sizing: border-box;
+		text-align: center;
+		text-decoration: none;
+		white-space: nowrap;
+		vertical-align: baseline;
+		transform: translate(0, 0);
+		width: 18.9375rem;
+		height: 2.75rem;
+		line-height: normal;
+		background: linear-gradient(90deg, var(--ui-BG-Main), var(--ui-BG-Main-gradient));
+		border-radius: 1rem;
+		font-size: 0.8125rem;
+		font-weight: 500;
+		color: #fff;
+		align-self: center;
+		margin-top: 50upx;
+		margin-bottom: 50upx;
+	}
+</style>

+ 396 - 0
pages/index/finance.vue

@@ -0,0 +1,396 @@
+<template>
+	<s-layout title="Cash back" :bgStyle="{ color: '#fff' }">
+		<fill-form :id="id" :days="days" :platform="platform" :task_step="task_step" @submit="onSubmit()" v-if="state===1"></fill-form>
+		<view class="main" v-if="state===0">
+			<!-- <h3>Cash back</h3> -->
+			<view class="top">
+				<image mode="widthFix" src="/static/fin_top.png"></image>
+			</view>
+			<view class="middle">
+				<!-- <view class="notice">
+					<view class="notice-content">
+						<image src="/static/8.png"></image>
+						<text>The user successfully obtained <text>888</text> cashback</text>
+					</view>
+				</view> -->
+				<view class="product">
+					<view class="product-item" v-for="(item,idx) in products" @tap="goDays(item)">
+						<view class="product-item-bg">
+
+						</view>
+						<view class="item-one">
+							<view class="left">
+								<p>
+									<strong>{{item.day}}</strong>
+									<text>Days</text>
+								</p>
+								<p>
+									<span>{{item.requirement}}</span>
+								</p>
+							</view>
+							<view class="right">
+								<image :src="'http://8.217.120.52:882'+item.platform_image"></image>
+							</view>
+						</view>
+						<view class="item-two">
+							<text>{{item.platform}}</text>
+						</view>
+
+					</view>
+				</view>
+				<!-- <view class="tips">
+					<view class="tips-content">
+						<image src="/static/8.png"></image>
+						<text>Special statement: Here is the content</text>
+					</view>
+				</view> -->
+			</view>
+			<!-- <view class="mask" v-if="maskVisible"></view>
+			<view class="popDialog" v-if="popDialogVisible">
+				<image @tap="popDialogVisible=false;maskVisible=false" class="close" src="/static/10.png"></image>
+				<view class="title">
+					<text>Successfully</text>
+				</view>
+				<view class="img">
+					<image src="/static/6.png"></image>
+				</view>
+				<view class="progress">
+					<image src="/static/9.png"></image>
+				</view>
+				<view class="tips">
+					<view class="tips-content">
+						<image src="/static/8.png"></image>
+						<text>Special statement: Here is the content</text>
+					</view>
+				</view>
+			</view> -->
+			
+			<view class="index-icon-list">
+				<view class="index-icon-btn">
+					<view class="icon" @click="goCashBackList()">
+						<image src="/static/6.png" class="index-icon"></image>
+					</view>
+				</view>
+			</view>
+		</view>
+	</s-layout>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				popDialogVisible: false,
+				maskVisible: false,
+				showForm: false,
+				state: 0,
+				id: 0,
+				days: 0,
+				platform: '',
+				products: [30, 15, 7, 5]
+			}
+		},
+		onShow() {
+			this.state = 0;
+			this.getTaskList();
+		},
+		methods: {
+			goDays(item) {
+				this.id = item.id;
+				this.days = item.day;
+				this.task_step = item.task_step;
+				this.platform = item.platform;
+				this.state = 1;
+			},
+			onSubmit() {
+				this.state = 0;
+				sheep.$router.go('/pages/index/cash-back-list');
+			},
+			async getTaskList(){
+				const res = await sheep.$api.task.list({});
+				console.log(res)
+				if(res.code == 1){
+					this.products = res.data;
+				}else{
+					this.products = [];
+				}
+				
+			},
+			getImgUrl(n) {
+				return `../../static/${n+2}.png`
+			}
+		}
+	}
+</script>
+<script setup>
+	import sheep from '@/sheep';
+	import fillForm from './components/fill-form.vue'
+	import {
+		computed,
+		reactive,
+		unref
+	} from 'vue';
+	
+	const goCashBackList = () => {
+		sheep.$router.go('/pages/index/cash-back-list');
+	};
+</script>
+
+<style lang="scss" scoped>
+	uni-page-body {
+		background: #fff;
+	}
+
+	h3 {
+		color: rgb(51, 51, 51);
+		font-size: 1.125rem;
+		font-weight: normal;
+		line-height: 22px;
+		margin: 20px 0;
+		text-align: center;
+	}
+
+	.top {}
+
+	.top image {
+		width: 100%;
+	}
+
+	.middle {
+		width: 90%;
+		margin: 15px auto;
+	}
+
+	.notice {
+		background: #FDEAC9;
+		border-radius: 5px;
+		padding: 7px 15px;
+	}
+
+	.notice .notice-content {
+		width: 100%;
+	}
+
+	.notice image {
+		width: 14px;
+		height: 14px;
+		vertical-align: middle;
+		padding-right: 6px;
+	}
+
+	.notice text {
+		color: #8C7E75;
+		font-size: 12px;
+	}
+
+	.product {
+		width: 100%;
+		margin-top: 20px;
+	}
+
+	.product-item-bg {
+		background: url('../../static/activity-left.png');
+		background-repeat: no-repeat;
+		background-position-y: bottom;
+		background-size: 50% 50%;
+		position: absolute;
+		top: 0;
+		left: 0;
+		width: 100%;
+		height: 100%;
+		z-index: -1;
+		border-radius: 8px;
+	}
+
+	.product .product-item {
+		position: relative;
+		background-color: #feeaca;
+		;
+		width: 45%;
+		margin-bottom: 15px;
+		border-radius: 8px;
+		padding: 20px 2% 12px;
+		display: inline-block;
+		z-index: 4;
+
+	}
+
+	.product .product-item:nth-child(2n+1) {
+		margin-right: 2%;
+	}
+
+	.product .product-item .item-one {
+		width: 100%;
+		overflow: hidden;
+
+	}
+
+	.product .product-item .item-one .left {
+		float: left;
+		text-align: right;
+		width: 52%;
+
+	}
+
+	.product .product-item .item-one .left p {
+		width: 100%;
+
+	}
+
+	.product .product-item .item-one .left strong {
+		color: #FAA435;
+		font-size: 24px;
+		padding-right: 5px;
+
+	}
+
+	.product .product-item .item-one .left text {
+		color: #333333;
+		font-size: 14px;
+		font-weight: bold;
+
+	}
+
+	.product .product-item .item-one .left span {
+		font-size: 12px;
+		color: #333;
+
+	}
+
+	.product .product-item .item-one .right {
+		float: right;
+
+	}
+
+	.product .product-item .item-one .right image {
+		width: 66px;
+		height: 66px;
+	}
+
+	.product .product-item .item-two {
+		margin-left: 5%;
+		text-align: left;
+	}
+
+	.product .product-item .item-two text {
+		color: #8C7E75;
+		font-size: 12px;
+
+	}
+	.index-icon-list {
+		position: fixed;
+		bottom: 10vh;
+		right: 10px;
+		z-index: 9;
+	}
+	
+	.index-icon-list .index-icon-btn {
+		width: 45px;
+		height: 45px;
+		border-radius: 50%;
+		background: #fff;
+		box-shadow: 0 3px 7px 0 rgba(157, 96, 130, .5);
+		margin-bottom: 19px;
+		display: flex;
+		justify-content: center;
+		align-items: center;
+	}
+	
+	.index-icon-list image {
+		width: 36px;
+		height: 36px;
+	}
+
+	.tips {
+		background: #FDEAC9;
+		border-radius: 40px;
+		padding: 7px 15px;
+		margin-top: 10px;
+	}
+
+	.tips .tips-content {
+		width: 100%;
+	}
+
+	.tips image {
+		width: 14px;
+		height: 14px;
+		vertical-align: middle;
+		padding-right: 6px;
+	}
+
+	.tips text {
+		color: #8C7E75;
+		font-size: 12px;
+	}
+
+	.mask {
+		width: 100%;
+		height: 100%;
+		position: fixed;
+		background: rgba(0, 0, 0, 0.7);
+		left: 0;
+		top: 0;
+		z-index: 99;
+	}
+
+	.popDialog {
+		width: 90%;
+		z-index: 100;
+		margin: 0 auto;
+		top: 25%;
+		position: absolute;
+		left: 5%;
+		background: #fff;
+		border-radius: 15px;
+		padding-bottom: 20px;
+	}
+
+	.popDialog .close {
+		width: 30px;
+		position: fixed;
+		right: 8%;
+		height: 30px;
+		margin-top: 4%;
+	}
+
+	.popDialog .title {
+		width: 100%;
+		text-align: center;
+		margin: 6% 0 10px;
+	}
+
+	.popDialog .title text {
+		font-size: 14px;
+		color: #333;
+	}
+
+	.popDialog .img {
+		width: 100%;
+		text-align: center;
+	}
+
+	.popDialog .img image {
+		width: 58px;
+		height: 58px;
+	}
+
+	.popDialog .progress {
+		width: 100%;
+	}
+
+	.popDialog .progress image {
+		width: 88%;
+		height: 60px;
+		margin-left: 6%;
+	}
+
+	.popDialog .tips {
+		background: #FDEAC9;
+		border-radius: 40px;
+		padding: 7px 5%;
+		margin-top: 18px;
+		width: 78%;
+		margin-left: 6%;
+	}
+</style>

+ 1 - 0
pages/index/index.vue

@@ -29,6 +29,7 @@
   const template = computed(() => sheep.$store('app').template?.home);
 
   onLoad((options) => {
+	  uni.setLocale('en');
     // #ifdef MP
     // 小程序识别二维码
     if (options.scene) {

+ 65 - 31
pages/index/user.vue

@@ -1,42 +1,76 @@
 <template>
-  <s-layout
-    :title="$t('index.user.title')"
-    tabbar="/pages/index/user"
-    navbar="custom"
-    :bgStyle="template.style?.background"
-    :navbarStyle="template.style?.navbar"
-    onShareAppMessage
-    :showFloatButton="true"
-  >
-    <s-block v-for="(item, index) in template.data" :key="index" :styles="item.style">
-      <s-block-item :type="item.type" :data="item.data" :styles="item.style" />
-    </s-block>
-  </s-layout>
+	<s-layout :title="$t('index.user.title')" tabbar="/pages/index/user" navbar="custom"
+		:bgStyle="template.style?.background" :navbarStyle="template.style?.navbar" onShareAppMessage
+		:showFloatButton="true">
+		<s-block v-for="(item, index) in template.data" :key="index" :styles="item.style">
+			<s-block-item :type="item.type" :data="item.data" :styles="item.style" />
+		</s-block>
+		<view class="index-icon-list">
+			<view class="index-icon-btn">
+				<view class="icon" @click="goCashBack()">
+					<image src="/static/6.png" class="index-icon"></image>
+				</view>
+			</view>
+		</view>
+	</s-layout>
 </template>
 
 <script setup>
-  import { computed } from 'vue';
-  import { onShow, onPageScroll, onPullDownRefresh } from '@dcloudio/uni-app';
-  import sheep from '@/sheep';
+	import {
+		computed
+	} from 'vue';
+	import {
+		onShow,
+		onPageScroll,
+		onPullDownRefresh
+	} from '@dcloudio/uni-app';
+	import sheep from '@/sheep';
 
-  // 隐藏原生tabBar
-  uni.hideTabBar();
+	// 隐藏原生tabBar
+	uni.hideTabBar();
 
-  const template = computed(() => sheep.$store('app').template.user);
-  const isLogin = computed(() => sheep.$store('user').isLogin);
+	const template = computed(() => sheep.$store('app').template.user);
+	const isLogin = computed(() => sheep.$store('user').isLogin);
 
-  onShow(() => {
-    sheep.$store('user').updateUserData();
-  });
+	const goCashBack = () => {
+		sheep.$router.go('/pages/index/finance');
+	};
+	onShow(() => {
+		sheep.$store('user').updateUserData();
+	});
 
-  onPullDownRefresh(() => {
-    sheep.$store('user').updateUserData();
-    setTimeout(function () {
-      uni.stopPullDownRefresh();
-    }, 800);
-  });
+	onPullDownRefresh(() => {
+		sheep.$store('user').updateUserData();
+		setTimeout(function() {
+			uni.stopPullDownRefresh();
+		}, 800);
+	});
 
-  onPageScroll(() => {});
+	onPageScroll(() => {});
 </script>
 
-<style></style>
+<style>
+	.index-icon-list {
+		position: fixed;
+		bottom: 10vh;
+		right: 10px;
+		z-index: 9;
+	}
+
+	.index-icon-list .index-icon-btn {
+		width: 45px;
+		height: 45px;
+		border-radius: 50%;
+		background: #fff;
+		box-shadow: 0 3px 7px 0 rgba(157, 96, 130, .5);
+		margin-bottom: 19px;
+		display: flex;
+		justify-content: center;
+		align-items: center;
+	}
+
+	.index-icon-list image {
+		width: 36px;
+		height: 36px;
+	}
+</style>

+ 5 - 5
pages/order/list.vue

@@ -263,23 +263,23 @@
 
   const tabMaps = [
     {
-      name: $t('order.list.all'),
+      name: uni.getLocale() == 'en' ? 'all' : '全部',
       value: 'all',
     },
     {
-      name: $t('order.list.unpaid'),
+      name: uni.getLocale() == 'en' ? 'unpaid' : '待付款',
       value: 'unpaid',
     },
     {
-      name: $t('order.list.nosend'),
+      name: uni.getLocale() == 'en' ? 'unshipped' : '待发货',
       value: 'nosend',
     },
     {
-      name: $t('order.list.noget'),
+      name: uni.getLocale() == 'en' ? 'unreceived' : '待收货',
       value: 'noget',
     },
     {
-      name: $t('order.list.nocomment'),
+      name: uni.getLocale() == 'en' ? 'unevaluated' : '待评价',
       value: 'nocomment',
     },
   ];

+ 1 - 1
pages/pay/withdraw-log.vue

@@ -70,7 +70,7 @@
       v-if="state.pagination.total > 0"
       :status="state.loadStatus"
       :content-text="{
-        contentdown: '$t('activity.index.uploadMore'),
+        contentdown: $t('activity.index.uploadMore'),
       }"
       @tap="loadmore"
     />

+ 1 - 1
pages/pay/withdraw.vue

@@ -15,7 +15,7 @@
         <view class="wallet-num">{{ userInfo.commission || '0.00' }}</view>
       </view>
       <button class="ss-reset-button log-btn" @tap="sheep.$router.go('/pages/pay/withdraw-log')"
-        >{{$t('pay.withdraw.log')]}}</button
+        >{{$t('pay.withdraw.log')}}</button
       >
     </view>
     <!-- 提现输入卡片-->

+ 3 - 3
pages/public/feedback.vue

@@ -71,13 +71,13 @@
   const state = reactive({
     radioList: [
       {
-        type: $t('public.feedback.product'),
+        type: uni.getLocale() == 'en' ? 'Feedback on product function issues' : '产品功能问题反馈',
       },
       {
-        type: $t('public.feedback.advice'),
+        type: uni.getLocale() == 'en' ? 'Suggestions and feedback' : '建议及意见反馈',
       },
       {
-        type: $t('public.feedback.complaint'),
+        type: uni.getLocale() == 'en' ? 'complaint' : '投诉',
       },
     ],
     formData: {

+ 4 - 4
pages/public/setting.vue

@@ -12,7 +12,7 @@
     <view class="container-list">
       <uni-list :border="false">
         <uni-list-item
-          :title="$t('public.setting.version')"
+          :title="$t('public.feedback.version')"
           :rightText="appInfo.version"
           showArrow
           clickable
@@ -21,14 +21,14 @@
           @tap="onCheckUpdate"
         ></uni-list-item>
         <uni-list-item
-          :title="$t('public.setting.session')"
+          :title="$t('public.feedback.session')"
           :rightText="storageSize"
           showArrow
           :border="false"
           class="list-border"
         ></uni-list-item>
         <uni-list-item
-          :title="$t('public.setting.feedback')"
+          :title="$t('public.feedback.feedback')"
           showArrow
           clickable
           :border="false"
@@ -36,7 +36,7 @@
           @tap="sheep.$router.go('/pages/public/feedback')"
         ></uni-list-item>
         <uni-list-item
-          :title="$t('public.setting.about')"
+          :title="$t('public.feedback.about')"
           showArrow
           clickable
           :border="false"

+ 3 - 3
pages/user/address/edit.vue

@@ -11,7 +11,7 @@
       :labelStyle="{ fontWeight: 'bold' }"
     >
       <view class="bg-white form-box ss-p-x-30">
-        <uni-forms-item name="consignee" :label="收货人$t('user.address.receiver')" class="form-item">
+        <uni-forms-item name="consignee" :label="$t('user.address.receiver')" class="form-item">
           <uni-easyinput
             v-model="state.model.consignee"
             :placeholder="$t('user.address.enterReceiver')"
@@ -32,7 +32,7 @@
         </uni-forms-item>
         <uni-forms-item
           name="region"
-          :label="省市区$t('user.address.province')"
+          :label="$t('user.address.province')"
           @tap="state.showRegion = true"
           class="form-item"
         >
@@ -51,7 +51,7 @@
         </uni-forms-item>
         <uni-forms-item
           name="address"
-          :label="详细地址$t('user.address.detail')"
+          :label="$t('user.address.detail')"
           :formItemStyle="{ alignItems: 'flex-start' }"
           :labelStyle="{ lineHeight: '5em' }"
           class="textarea-item"

+ 3 - 3
pages/user/info.vue

@@ -231,15 +231,15 @@ const placeholderStyle = 'color:#BBBBBB;font-size:28rpx;line-height:normal';
 
 const genderRadioMap = [
   {
-    name: $t('user.info.male'),
+    name: uni.getLocale() == 'en' ? 'male' : '男',
     value: '1',
   },
   {
-    name: $t('user.info.female'),
+    name: uni.getLocale() == 'en' ? 'female' : '女',
     value: '0',
   },
   {
-    name: $t('user.info.private'),
+    name: uni.getLocale() == 'en' ? 'private' : '保密',
     value: '2',
   },
 ];

+ 4 - 4
pages/user/wallet/commission.vue

@@ -4,7 +4,7 @@
     <view class="header-box ss-flex ss-row-center ss-col-center">
       <view class="card-box ui-BG-Main ui-Shadow-Main">
         <view class="card-head ss-flex ss-col-center">
-          <view class="card-title ss-m-r-10">{{$t('user.wallet.commission.my'}}</view>
+          <view class="card-title ss-m-r-10">{{$t('user.wallet.commission.my')}}</view>
           <view
             @tap="state.showMoney = !state.showMoney"
             class="ss-eye-icon"
@@ -163,15 +163,15 @@
 
   const tabMaps = [
     {
-      name: $t('user.wallet.commission.all'),
+      name: uni.getLocale() == 'en' ? 'all' : '全部',
       value: 'all',
     },
     {
-      name: $t('user.wallet.commission.incomeType'),
+      name: uni.getLocale() == 'en' ? 'income' : '收入',
       value: 'income',
     },
     {
-      name: $t('user.wallet.commission.expenseType'),
+      name: uni.getLocale() == 'en' ? 'expenses' : '支出',
       value: 'expense',
     },
   ];

+ 4 - 4
pages/user/wallet/money.vue

@@ -14,7 +14,7 @@
         <view class="ss-flex ss-row-between ss-col-center ss-m-t-64">
           <view class="money-num">{{ state.showMoney ? userInfo.money : '*****' }}</view>
           <button class="ss-reset-button topup-btn" @tap="sheep.$router.go('/pages/pay/recharge')">
-            充值{{$t('user.wallet.money.recharge')}}
+            {{$t('user.wallet.money.recharge')}}
           </button>
         </view>
       </view>
@@ -108,15 +108,15 @@
 
   const tabMaps = [
     {
-      name: $t('user.wallet.commission.all'),
+      name: uni.getLocale() == 'en' ? 'all' : '全部',
       value: 'all',
     },
     {
-      name: $t('user.wallet.commission.incomeType'),
+      name: uni.getLocale() == 'en' ? 'income' : '收入',
       value: 'income',
     },
     {
-      name: $t('user.wallet.commission.expenseType'),
+      name: uni.getLocale() == 'en' ? 'expenses' : '支出',
       value: 'expense',
     },
   ];

+ 3 - 3
pages/user/wallet/score.vue

@@ -104,15 +104,15 @@
 
   const tabMaps = [
     {
-      name: $t('user.wallet.commission.all'),
+      name: uni.getLocale() == 'en' ? 'all' : '全部',
       value: 'all',
     },
     {
-      name: $t('user.wallet.commission.incomeType'),
+      name: uni.getLocale() == 'en' ? 'income' : '收入',
       value: 'income',
     },
     {
-      name: $t('user.wallet.commission.expenseType'),
+      name: uni.getLocale() == 'en' ? 'expenses' : '支出',
       value: 'expense',
     },
   ];

+ 1 - 1
sheep/api/app.js

@@ -35,7 +35,7 @@ export default {
       data,
       custom: {
         showSuccess: true,
-        loadingMsg: '发送中',
+        loadingMsg: uni.getLocale() == 'en' ? 'Sending' : '发送中',
       },
     }),
   //意见反馈

+ 1 - 1
sheep/api/cart.js

@@ -16,7 +16,7 @@ export default {
       method: 'POST',
       custom: {
         showSuccess: true,
-        successMsg: '已添加到购物车~',
+        successMsg: uni.getLocale() == 'en' ? 'Add successfully' : '已添加到购物车~',
       },
       data: {
         ...data,

+ 2 - 2
sheep/api/pay.js

@@ -8,7 +8,7 @@ export default {
       method: 'POST',
       data,
       custom: {
-        loadingMsg: '支付中',
+        loadingMsg: uni.getLocale() == 'en' ? 'Paying' : '支付中',
       },
     }),
   // 发起提现 
@@ -36,7 +36,7 @@ export default {
         method: 'POST',
         data,
         custom: {
-          loadingMsg: '申请中',
+          loadingMsg: uni.getLocale() == 'en' ? 'Applying' : '申请中',
           auth: true,
         },
       }),

+ 42 - 0
sheep/api/task.js

@@ -0,0 +1,42 @@
+import request from '@/sheep/request';
+
+export default {
+  // 任务列表 
+  list: (params) =>
+    request({
+      url: 'order.task/getTaskList',
+      method: 'GET',
+      params,
+      custom: {
+        showLoading: false,
+      },
+    }),
+  // 根据天数获取订单列表
+  listByDay: (data) =>
+    request({
+      url: 'order.task/getTaskListByDay',
+      method: 'GET',
+      data,
+    }),
+  // 提交任务 
+  submitTask: (data) =>
+    request({
+      url: 'order.task/submitTask',
+      method: 'POST',
+      data,
+    }),
+  // 我的任务列表 
+  myTaskList: (data) =>
+    request({
+      url: 'order.task/myTaskList',
+      method: 'GET',
+      data,
+    }),
+  //获取任务信息 
+  getTaskInfo: (data) =>
+    request({
+      url: 'order.task/getTaskInfo',
+      method: 'GET',
+      data,
+    }),
+};

+ 6 - 6
sheep/api/third.js

@@ -13,7 +13,7 @@ export default {
         data,
         custom: {
           showSuccess: true,
-          loadingMsg: '登陆中',
+          loadingMsg: uni.getLocale() == 'en' ? 'Logining' : '登陆中',
         },
       }),
 
@@ -26,7 +26,7 @@ export default {
         data,
         custom: {
           showSuccess: true,
-          loadingMsg: '绑定中',
+          loadingMsg: uni.getLocale() == 'en' ? 'Bindding' : '绑定中',
         },
       }),
 
@@ -38,7 +38,7 @@ export default {
         data,
         custom: {
           showSuccess: true,
-          loadingMsg: '解除绑定',
+          loadingMsg: uni.getLocale() == 'en' ? 'Unbind' : '解除绑定',
         },
       }),
 
@@ -50,7 +50,7 @@ export default {
         data,
         custom: {
           showSuccess: true,
-          loadingMsg: '登陆中',
+          loadingMsg: uni.getLocale() == 'en' ? 'Logining' : '登陆中',
         },
       }),
 
@@ -73,7 +73,7 @@ export default {
         data,
         custom: {
           showSuccess: true,
-          loadingMsg: '获取中',
+          loadingMsg: uni.getLocale() == 'en' ? 'Getting' : '获取中',
         },
       }),
 
@@ -122,7 +122,7 @@ export default {
         data,
         custom: {
           showSuccess: true,
-          loadingMsg: '登陆中',
+          loadingMsg: uni.getLocale() == 'en' ? 'Logining' : '登陆中',
         },
       }),
   },

+ 7 - 7
sheep/api/user.js

@@ -29,7 +29,7 @@ export default {
       data,
       custom: {
         showSuccess: true,
-        loadingMsg: '登录中',
+        loadingMsg: uni.getLocale() == 'en' ? 'Logining' : '登录中',
       },
     }),
   // 短信登录
@@ -40,7 +40,7 @@ export default {
       data,
       custom: {
         showSuccess: true,
-        loadingMsg: '登录中',
+        loadingMsg: uni.getLocale() == 'en' ? 'Logining' : '登录中',
       },
     }),
   // 短信注册
@@ -51,7 +51,7 @@ export default {
       data,
       custom: {
         showSuccess: true,
-        loadingMsg: '正在注册',
+        loadingMsg: uni.getLocale() == 'en' ? 'Registering' : '正在注册',
       },
     }),
   // 重置密码
@@ -62,7 +62,7 @@ export default {
       data,
       custom: {
         showSuccess: true,
-        loadingMsg: '验证中',
+        loadingMsg: uni.getLocale() == 'en' ? 'Verifying' : '验证中',
       },
     }),
   // 修改密码
@@ -73,7 +73,7 @@ export default {
       data,
       custom: {
         showSuccess: true,
-        loadingMsg: '验证中',
+        loadingMsg: uni.getLocale() == 'en' ? 'Verifying' : '验证中',
       },
     }),
   // 绑定、更换手机号
@@ -84,7 +84,7 @@ export default {
       data,
       custom: {
         showSuccess: true,
-        loadingMsg: '验证中',
+        loadingMsg: uni.getLocale() == 'en' ? 'Verifying' : '验证中',
       },
     }),
   // 修改用户名
@@ -95,7 +95,7 @@ export default {
       data,
       custom: {
         showSuccess: true,
-        loadingMsg: '验证中',
+        loadingMsg: uni.getLocale() == 'en' ? 'Verifying' : '验证中',
       },
     }),
   // 更新小程序信息

+ 1 - 1
sheep/components/s-activity-pop/s-activity-pop.vue

@@ -1,7 +1,7 @@
 <template>
   <su-popup :show="show" type="bottom" round="20" @close="emits('close')" showClose>
     <view class="model-box">
-      <view class="title ss-m-t-16 ss-m-l-20 ss-flex">营销活动</view>
+      <view class="title ss-m-t-16 ss-m-l-20 ss-flex">{{$t('sheep.activity.title')}}</view>
       <scroll-view
         class="model-content ss-m-t-50"
         scroll-y

+ 2 - 2
sheep/components/s-address-item/s-address-item.vue

@@ -10,14 +10,14 @@
           size="small"
           custom-style="background-color: var(--ui-BG-Main); border-color: var(--ui-BG-Main); color: #fff;"
           v-if="props.item.is_default"
-          text="默认"
+          :text="$t('sheep.address.default')"
         ></uni-tag>
         {{ props.item.province_name }} {{ props.item.city_name }} {{ props.item.district_name }}
       </view>
       <view class="address-text">{{ props.item.address }}</view>
       <view class="person-text">{{ props.item.consignee }} {{ props.item.mobile }}</view>
     </view>
-    <view v-else><view class="address-text ss-m-b-10">请选择收货地址</view></view>
+    <view v-else><view class="address-text ss-m-b-10">{{$t('sheep.address.choose')}}</view></view>
     <slot>
       <button class="ss-reset-button edit-btn" @tap.stop="onEdit">
         <view class="edit-icon ss-flex ss-row-center ss-col-center">

+ 10 - 10
sheep/components/s-auth-modal/components/account-login.vue

@@ -4,12 +4,12 @@
     <!-- 标题栏 -->
     <view class="head-box ss-m-b-60 ss-flex-col">
       <view class="ss-flex ss-m-b-20">
-        <view class="head-title ss-m-r-40 head-title-animation">账号登录</view>
+        <view class="head-title ss-m-r-40 head-title-animation">{{$t('sheep.auth.accountLogin')}}</view>
         <view class="head-title-active head-title-line" @tap="showAuthModal('smsLogin')">
-          短信登录
+          {{$t('sheep.auth.smsLogin')}}
         </view>
       </view>
-      <view class="head-subtitle">如果未设置过密码,请点击忘记密码</view>
+      <view class="head-subtitle">{{$t('sheep.auth.tipsForgot')}}</view>
     </view>
 
     <!-- 表单项 -->
@@ -21,25 +21,25 @@
       labelWidth="140"
       labelAlign="center"
     >
-      <uni-forms-item name="account" label="账号">
-        <uni-easyinput placeholder="请输入账号" v-model="state.model.account" :inputBorder="false">
+      <uni-forms-item name="account" :label="$t('sheep.auth.account')">
+        <uni-easyinput :placeholder="$t('sheep.auth.enterAccount')" v-model="state.model.account" :inputBorder="false">
           <template v-slot:right>
             <button class="ss-reset-button forgot-btn" @tap="showAuthModal('resetPassword')">
-              忘记密码
+              {{$t('sheep.auth.fotgot')}}
             </button>
           </template>
         </uni-easyinput>
       </uni-forms-item>
 
-      <uni-forms-item name="password" label="密码">
+      <uni-forms-item name="password" :label="$t('sheep.auth.password')">
         <uni-easyinput
           type="password"
-          placeholder="请输入密码"
+          :placeholder="$t('sheep.auth.enterPassword')"
           v-model="state.model.password"
           :inputBorder="false"
         >
           <template v-slot:right>
-            <button class="ss-reset-button login-btn-start" @tap="accountLoginSubmit">登录</button>
+            <button class="ss-reset-button login-btn-start" @tap="accountLoginSubmit">{{$t('sheep.auth.login')}}</button>
           </template>
         </uni-easyinput>
       </uni-forms-item>
@@ -88,7 +88,7 @@
     // 同意协议
     if (!props.agreeStatus) {
       emits('onConfirm', true)
-      sheep.$helper.toast('请勾选同意');
+      sheep.$helper.toast($t('sheep.auth.agree'));
       return;
     }
 

+ 8 - 8
sheep/components/s-auth-modal/components/change-mobile.vue

@@ -4,9 +4,9 @@
     <!-- 标题栏 -->
     <view class="head-box ss-m-b-60">
       <view class="head-title ss-m-b-20">
-        {{ userInfo.verification.mobile ? '更换手机号' : '绑定手机号' }}
+        {{ userInfo.verification.mobile ? $t('sheep.auth.changeMobile') : $t('sheep.auth.bindMobile') }}
       </view>
-      <view class="head-subtitle">为了您的账号安全,请使用本人手机号码</view>
+      <view class="head-subtitle">{{$t('sheep.auth.tipsMobile')}}</view>
     </view>
 
     <!-- 表单项 -->
@@ -18,9 +18,9 @@
       labelWidth="140"
       labelAlign="center"
     >
-      <uni-forms-item name="mobile" label="手机号">
+      <uni-forms-item name="mobile" :label="$t('sheep.auth.mobile')">
         <uni-easyinput
-          placeholder="请输入手机号"
+          :placeholder="$t('sheep.auth.enterMobile')"
           v-model="state.model.mobile"
           :inputBorder="false"
           type="number"
@@ -38,9 +38,9 @@
         </uni-easyinput>
       </uni-forms-item>
 
-      <uni-forms-item name="code" label="验证码">
+      <uni-forms-item name="code" :label="$t('sheep.auth.code')">
         <uni-easyinput
-          placeholder="请输入验证码"
+          :placeholder="$t('sheep.auth.enterCode')"
           v-model="state.model.code"
           :inputBorder="false"
           type="number"
@@ -48,7 +48,7 @@
         >
           <template v-slot:right>
             <button class="ss-reset-button login-btn-start" @tap="changeMobileSubmit">
-              确认
+              {{$t('sheep.auth.confirm')}}
             </button>
           </template>
         </uni-easyinput>
@@ -60,7 +60,7 @@
       open-type="getPhoneNumber"
       @getphonenumber="getPhoneNumber"
     >
-      使用微信手机号
+      {{$t('sheep.auth.useWxmobile')}}
     </button>
   </view>
 </template>

+ 13 - 13
sheep/components/s-auth-modal/components/change-password.vue

@@ -3,8 +3,8 @@
   <view>
     <!-- 标题栏 -->
     <view class="head-box ss-m-b-60">
-      <view class="head-title ss-m-b-20">修改密码</view>
-      <view class="head-subtitle">如密码丢失或未设置,请点击忘记密码重新设置</view>
+      <view class="head-title ss-m-b-20">{{$t('sheep.auth.updatePassword')}}</view>
+      <view class="head-subtitle">{{$t('sheep.auth.tipsUpdatePassword')}}</view>
     </view>
 
     <!-- 表单项 -->
@@ -16,34 +16,34 @@
       labelWidth="140"
       labelAlign="center"
     >
-      <uni-forms-item name="oldPassword" label="旧密码">
+      <uni-forms-item name="oldPassword" :label="$t('sheep.auth.oldPwd')">
         <uni-easyinput
-          placeholder="请输入旧密码"
+          :placeholder="$t('sheep.auth.enterOldPwd')"
           v-model="state.model.oldPassword"
           type="text"
           :inputBorder="false"
         />
       </uni-forms-item>
 
-      <uni-forms-item name="newPassword" label="新密码">
+      <uni-forms-item name="newPassword" :label="$t('sheep.auth.newPwd')">
         <uni-easyinput
           type="password"
-          placeholder="请输入新密码"
+          :placeholder="$t('sheep.auth.enterNewPwd')"
           v-model="state.model.newPassword"
           :inputBorder="false"
         />
       </uni-forms-item>
 
-      <uni-forms-item name="reNewPassword" label="确认密码">
+      <uni-forms-item name="reNewPassword" :label="$t('sheep.auth.confirmPwd')">
         <uni-easyinput
           type="password"
-          placeholder="请重新输入您的新密码"
+          :placeholder="$t('sheep.auth.enterConfirmPwd')"
           v-model="state.model.reNewPassword"
           :inputBorder="false"
         >
           <template v-slot:right>
             <button class="ss-reset-button login-btn-start" @tap="changePasswordSubmit">
-              确认
+              {{$t('sheep.auth.confirm')}}
             </button>
           </template>
         </uni-easyinput>
@@ -52,7 +52,7 @@
 
     <view class="editPwd-btn-box ss-m-t-80">
       <button class="ss-reset-button forgot-btn" @tap="showAuthModal('resetPassword')">
-        忘记密码
+        {{$t('sheep.auth.forgot')}}
       </button>
     </view>
   </view>
@@ -81,15 +81,15 @@
         rules: [
           {
             required: true,
-            errorMessage: '请确认密码',
+            errorMessage: uni.getLocale() == 'en' ? 'Please confirm new password' : '请确认密码',
           },
           {
             validateFunction: function (rule, value, data, callback) {
               if (value !== state.model.newPassword) {
-                callback('两次输入的密码不一致');
+                callback(uni.getLocale() == 'en' ? 'The passwords entered twice are inconsistent' : '两次输入的密码不一致');
               }
               if (value === state.model.oldPassword) {
-                callback('新密码不能与旧密码相同');
+                callback(uni.getLocale() == 'en' ? 'The new password cannot be the same as the old password' : '新密码不能与旧密码相同');
               }
               return true;
             },

+ 5 - 5
sheep/components/s-auth-modal/components/change-username.vue

@@ -3,8 +3,8 @@
   <view>
     <!-- 标题栏 -->
     <view class="head-box ss-m-b-60">
-      <view class="head-title ss-m-b-20">修改用户名</view>
-      <view class="head-subtitle">用户名仅限修改一次</view>
+      <view class="head-title ss-m-b-20">{{$t('sheep.auth.updateUsername')}}</view>
+      <view class="head-subtitle">{{$t('sheep.auth.tipsUpdateUsername')}}</view>
     </view>
 
     <!-- 表单项 -->
@@ -16,9 +16,9 @@
       labelWidth="140"
       labelAlign="center"
     >
-      <uni-forms-item name="username" label="用户名">
+      <uni-forms-item name="username" :label="$t('sheep.auth.username')">
         <uni-easyinput
-          placeholder="请输入用户名"
+          :placeholder="$t('sheep.auth.enterUsername')"
           v-model="state.model.username"
           :inputBorder="false"
         ></uni-easyinput>
@@ -26,7 +26,7 @@
 
       <view class="editPwd-btn-box ss-m-t-80">
         <button class="ss-reset-button save-btn ui-Shadow-Main" @tap="changeUsernameSubmit">
-          保存
+          {{$t('sheep.auth.save')}}
         </button>
       </view>
     </uni-forms>

+ 9 - 9
sheep/components/s-auth-modal/components/mp-authorization.vue

@@ -4,9 +4,9 @@
     <!-- 标题栏 -->
     <view class="head-box ss-m-b-60 ss-flex-col">
       <view class="ss-flex ss-m-b-20">
-        <view class="head-title ss-m-r-40 head-title-animation">授权信息</view>
+        <view class="head-title ss-m-r-40 head-title-animation">{{$t('sheep.auth.authInfo')}}</view>
       </view>
-      <view class="head-subtitle">完善您的头像、昵称、手机号</view>
+      <view class="head-subtitle">{{$t('sheep.auth.tipsAuth')}}</view>
     </view>
 
     <!-- 表单项 -->
@@ -18,7 +18,7 @@
       labelWidth="140"
       labelAlign="center"
     >
-      <uni-forms-item name="avatar" label="头像">
+      <uni-forms-item name="avatar" :label="$t('sheep.auth.avatar')">
         <button
           class="ss-reset-button avatar-btn"
           open-type="chooseAvatar"
@@ -33,10 +33,10 @@
           <text class="cicon-forward"></text>
         </button>
       </uni-forms-item>
-      <uni-forms-item name="nickname" label="昵称">
+      <uni-forms-item name="nickname" :label="$t('sheep.auth.nickname')">
         <uni-easyinput
           type="nickname"
-          placeholder="请输入昵称"
+          :placeholder="$t('sheep.auth.enterNickname')"
           v-model="state.model.nickname"
           :inputBorder="false"
         >
@@ -44,7 +44,7 @@
       </uni-forms-item>
 
       <view class="foot-box">
-        <button class="ss-reset-button authorization-btn" @tap="onConfirm"> 确认授权 </button>
+        <button class="ss-reset-button authorization-btn" @tap="onConfirm"> {{$t('sheep.auth.confirmAuth')}} </button>
       </view>
     </uni-forms>
   </view>
@@ -97,16 +97,16 @@
     console.log(model, 'model')
     const { nickname, avatar } = model;
     if (!nickname) {
-      sheep.$helper.toast('请输入昵称');
+      sheep.$helper.toast($t('sheep.auth.enterNickname'));
       return;
     }
     if (!avatar) {
-      sheep.$helper.toast('请选择头像');
+      sheep.$helper.toast($t('sheep.auth.chooseAvatar'));
       return;
     }
     const { code, msg } = await sheep.$api.user.updateMpUserInfo(model);
     if (code === 1) {
-      sheep.$helper.toast('授权成功');
+      sheep.$helper.toast($t('sheep.auth.authSuccess'));
       await sheep.$store('user').getInfo();
       closeAuthModal();
     }else {

+ 10 - 10
sheep/components/s-auth-modal/components/reset-password.vue

@@ -3,8 +3,8 @@
   <view>
     <!-- 标题栏 -->
     <view class="head-box ss-m-b-60">
-      <view class="head-title ss-m-b-20">重置密码</view>
-      <view class="head-subtitle">为了您的账号安全,设置密码前请先进行安全验证</view>
+      <view class="head-title ss-m-b-20">{{$t('sheep.auth.resetPwd')}}</view>
+      <view class="head-subtitle">{{$t('sheep.auth.tipsResetPwd')}}</view>
     </view>
 
     <!-- 表单项 -->
@@ -16,9 +16,9 @@
       labelWidth="140"
       labelAlign="center"
     >
-      <uni-forms-item name="mobile" label="手机号">
+      <uni-forms-item name="mobile" :label="$t('sheep.auth.mobile')">
         <uni-easyinput
-          placeholder="请输入手机号"
+          :placeholder="$t('sheep.auth.enterMobile')"
           v-model="state.model.mobile"
           type="number"
           :inputBorder="false"
@@ -36,9 +36,9 @@
         </uni-easyinput>
       </uni-forms-item>
 
-      <uni-forms-item name="code" label="验证码">
+      <uni-forms-item name="code" :label="$t('sheep.auth.code')">
         <uni-easyinput
-          placeholder="请输入验证码"
+          :placeholder="$t('sheep.auth.enterCode')"
           v-model="state.model.code"
           type="number"
           maxlength="4"
@@ -46,16 +46,16 @@
         ></uni-easyinput>
       </uni-forms-item>
 
-      <uni-forms-item name="password" label="密码">
+      <uni-forms-item name="password" :label="$t('sheep.auth.password')">
         <uni-easyinput
           type="password"
-          placeholder="请输入密码"
+          :placeholder="$t('sheep.auth.enterPassword')"
           v-model="state.model.password"
           :inputBorder="false"
         >
           <template v-slot:right>
             <button class="ss-reset-button login-btn-start" @tap="resetPasswordSubmit">
-              确认
+              {{$t('sheep.auth.confirm')}}
             </button>
           </template>
         </uni-easyinput>
@@ -63,7 +63,7 @@
     </uni-forms>
 
     <button v-if="!isLogin" class="ss-reset-button type-btn" @tap="showAuthModal('accountLogin')">
-      返回登录
+      {{$t('sheep.auth.backLogin')}}
     </button>
   </view>
 </template>

+ 10 - 10
sheep/components/s-auth-modal/components/sms-login.vue

@@ -5,11 +5,11 @@
     <view class="head-box ss-m-b-60">
       <view class="ss-flex ss-m-b-20">
         <view class="head-title-active ss-m-r-40" @tap="showAuthModal('accountLogin')"
-          >账号登录</view
+          >{{$t('sheep.auth.accountLogin')}}</view
         >
-        <view class="head-title head-title-line head-title-animation">短信登录</view>
+        <view class="head-title head-title-line head-title-animation">{{$t('sheep.auth.smsLogin')}}</view>
       </view>
-      <view class="head-subtitle">未注册手机号请先点击下方立即注册</view>
+      <view class="head-subtitle">{{$t('sheep.auth.tipsLogin')}}</view>
     </view>
 
     <!-- 表单项 -->
@@ -21,9 +21,9 @@
       labelWidth="140"
       labelAlign="center"
     >
-      <uni-forms-item name="mobile" label="手机号">
+      <uni-forms-item name="mobile" :label="$t('sheep.auth.mobile')">
         <uni-easyinput
-          placeholder="请输入手机号"
+          :placeholder="$t('sheep.auth.enterMobile')"
           v-model="state.model.mobile"
           :inputBorder="false"
           type="number"
@@ -41,16 +41,16 @@
         </uni-easyinput>
       </uni-forms-item>
 
-      <uni-forms-item name="code" label="验证码">
+      <uni-forms-item name="code" :label="$t('sheep.auth.code')">
         <uni-easyinput
-          placeholder="请输入验证码"
+          :placeholder="$t('sheep.auth.enterCode')"
           v-model="state.model.code"
           :inputBorder="false"
           type="number"
           maxlength="4"
         >
           <template v-slot:right>
-            <button class="ss-reset-button login-btn-start" @tap="smsLoginSubmit"> 登录 </button>
+            <button class="ss-reset-button login-btn-start" @tap="smsLoginSubmit"> {{$t('sheep.auth.login')}} </button>
           </template>
         </uni-easyinput>
       </uni-forms-item>
@@ -78,7 +78,7 @@
   // 数据
   const state = reactive({
     isMobileEnd: false, // 手机号输入完毕
-    codeText: '获取验证码',
+    codeText: uni.getLocale() == 'en' ? 'Get code' : '获取验证码',
     model: {
       mobile: '', // 手机号
       code: '', // 验证码
@@ -100,7 +100,7 @@
 
     if (!props.agreeStatus) {
       emits('onConfirm', true)
-      sheep.$helper.toast('请勾选同意');
+      sheep.$helper.toast($t('sheep.auth.agree'));
       return;
     }
     const { code } = await sheep.$api.user.smsLogin(state.model);

+ 11 - 11
sheep/components/s-auth-modal/components/sms-register.vue

@@ -3,8 +3,8 @@
   <view>
     <!-- 标题栏 -->
     <view class="head-box ss-m-b-60">
-      <view class="head-title ss-m-b-20">注册</view>
-      <view class="head-subtitle">请使用本人手机号完成注册</view>
+      <view class="head-title ss-m-b-20">{{$t('sheep.auth.register')}}</view>
+      <view class="head-subtitle">{{$t('sheep.auth.tipsRegister')}}</view>
     </view>
 
     <!-- 表单项 -->
@@ -16,9 +16,9 @@
       labelWidth="140"
       labelAlign="center"
     >
-      <uni-forms-item name="mobile" label="手机号">
+      <uni-forms-item name="mobile" :label="$t('sheep.auth.mobile')">
         <uni-easyinput
-          placeholder="请输入手机号"
+          :placeholder="$t('sheep.auth.enterMobile')"
           v-model="state.model.mobile"
           type="number"
           :inputBorder="false"
@@ -36,9 +36,9 @@
         </uni-easyinput>
       </uni-forms-item>
 
-      <uni-forms-item name="code" label="验证码">
+      <uni-forms-item name="code" :label="$t('sheep.auth.code')">
         <uni-easyinput
-          placeholder="请输入验证码"
+          :placeholder="$t('sheep.auth.enterCode')"
           v-model="state.model.code"
           :inputBorder="false"
           type="number"
@@ -46,22 +46,22 @@
         ></uni-easyinput>
       </uni-forms-item>
 
-      <uni-forms-item name="password" label="密码">
+      <uni-forms-item name="password" :label="$t('sheep.auth.password')">
         <uni-easyinput
           type="password"
-          placeholder="请输入密码"
+          :placeholder="$t('sheep.auth.enterPassword')"
           v-model="state.model.password"
           :inputBorder="false"
         >
           <template v-slot:right>
-            <button class="ss-reset-button login-btn-start" @tap="smsRegisterSubmit"> 注册 </button>
+            <button class="ss-reset-button login-btn-start" @tap="smsRegisterSubmit"> {{$t('sheep.auth.register')}} </button>
           </template>
         </uni-easyinput>
       </uni-forms-item>
     </uni-forms>
 
     <button class="ss-reset-button type-btn" @tap="showAuthModal('accountLogin')">
-      返回登录
+      {{$t('sheep.auth.backLogin')}}
     </button>
   </view>
 </template>
@@ -111,7 +111,7 @@
 
     if (!props.agreeStatus) {
       emits('onConfirm',true);
-      sheep.$helper.toast('请勾选同意');
+      sheep.$helper.toast($t('sheep.auth.agree'));
       return;
     }
 

+ 4 - 4
sheep/components/s-auth-modal/index.scss

@@ -16,15 +16,15 @@
 
 .head-box {
   .head-title {
-    min-width: 160rpx;
-    font-size: 36rpx;
+    min-width: 7.5rem;
+    font-size: 15px!important;
     font-weight: bold;
     color: #333333;
     line-height: 36rpx;
   }
   .head-title-active {
-    width: 160rpx;
-    font-size: 32rpx;
+    min-width: 7.5rem;
+    font-size: 15px!important;
     font-weight: 600;
     color: #999;
     line-height: 36rpx;

+ 8 - 8
sheep/components/s-auth-modal/s-auth-modal.vue

@@ -41,12 +41,12 @@
       >
         <!-- 立即注册&快捷登录 TextButton -->
         <view v-if="sheep.$platform.name === 'WechatMiniProgram'" class="ss-flex register-box">
-          <view class="register-title">还没有账号?</view>
+          <view class="register-title">{{$t('sheep.auth.noaccount')}}</view>
           <button class="ss-reset-button register-btn" @tap="showAuthModal('smsRegister')"
-            >立即注册</button
+            >{{$t('sheep.auth.register')}}</button
           >
-          <view class="or-title"></view>
-          <button class="ss-reset-button login-btn" @tap="thirdLogin('wechat')">快捷登录</button>
+          <view class="or-title">{{$t('sheep.auth.or')}}</view>
+          <button class="ss-reset-button login-btn" @tap="thirdLogin('wechat')">{{$t('sheep.auth.login')}}</button>
           <view class="circle"></view>
         </view>
 
@@ -55,7 +55,7 @@
           class="ss-reset-button type-btn"
           @tap="showAuthModal('smsRegister')"
         >
-          立即注册
+          {{$t('sheep.auth.register')}}
         </button>
 
         <!-- 公众号|App微信登录 -->
@@ -99,14 +99,14 @@
             @tap.stop="onChange"
           />
           <view class="agreement-text ss-flex ss-col-center ss-m-l-8">
-            我已阅读并遵守
+            {{$t('sheep.auth.read')}}
             <view
               class="tcp-text"
               @tap.stop="onProtocol(appInfo.user_protocol.id, appInfo.user_protocol.title)"
             >
               《{{ appInfo.user_protocol.title }}》
             </view>
-            <view class="agreement-text"></view>
+            <view class="agreement-text">{{$t('sheep.auth.and')}}</view>
             <view
               class="tcp-text"
               @tap.stop="onProtocol(appInfo.privacy_protocol.id, appInfo.privacy_protocol.title)"
@@ -176,7 +176,7 @@
       setTimeout(() => {
         currentProtocol.value = false;
       }, 1000);
-      sheep.$helper.toast('请勾选同意');
+      sheep.$helper.toast($t('sheep.auth.agree'));
       return;
     }
     const loginRes = await sheep.$platform.useProvider(provider).login();

+ 3 - 3
sheep/components/s-coupon-block/s-coupon-block.vue

@@ -20,7 +20,7 @@
               :value="item.amount"
               :surplus="item.stock"
               :type="item.type"
-              :sellBy="`${item.get_start_time.substring(0, 10)}  ${item.get_end_time.substring(
+              :sellBy="`${item.get_start_time.substring(0, 10)} ~ ${item.get_end_time.substring(
                 0,
                 10,
               )}`"
@@ -58,7 +58,7 @@
               :surplus="item.stock"
               :couponId="item.id"
               :type="item.type"
-              :sellBy="`${item.get_start_time.substring(0, 10)}  ${item.get_end_time.substring(
+              :sellBy="`${item.get_start_time.substring(0, 10)} ~ ${item.get_end_time.substring(
                 0,
                 10,
               )}`"
@@ -96,7 +96,7 @@
               :surplus="item.stock"
               :couponId="item.id"
               :type="item.type"
-              :sellBy="`${item.get_start_time.substring(0, 10)}  ${item.get_end_time.substring(
+              :sellBy="`${item.get_start_time.substring(0, 10)} ~ ${item.get_end_time.substring(
                 0,
                 10,
               )}`"

+ 4 - 4
sheep/components/s-coupon-card/s-coupon-card.vue

@@ -26,28 +26,28 @@
       default() {
         return [
           {
-            title: '已领取',
+            title: uni.getLocale() == 'en' ? 'received' : '已领取',
             value: '0',
             icon: '/assets/addons/shopro/uniapp/order/nouse_coupon.png',
             path: '/pages/coupon/list',
             type: 'geted',
           },
           {
-            title: '已使用',
+            title: uni.getLocale() == 'en' ? 'used' : '已使用',
             value: '0',
             icon: '/assets/addons/shopro/uniapp/order/useend_coupon.png',
             path: '/pages/coupon/list',
             type: 'used',
           },
           {
-            title: '已失效',
+            title: uni.getLocale() == 'en' ? 'expired' : '已失效',
             value: '0',
             icon: '/assets/addons/shopro/uniapp/order/out_coupon.png',
             path: '/pages/coupon/list',
             type: 'expired',
           },
           {
-            title: '领券中心',
+            title: uni.getLocale() == 'en' ? 'coupon center' : '领券中心',
             value: '0',
             icon: '/assets/addons/shopro/uniapp/order/all_coupon.png',
             path: '/pages/coupon/list',

+ 2 - 2
sheep/components/s-coupon-get/s-coupon-get.vue

@@ -8,14 +8,14 @@
     backgroundColor="#f2f2f2"
   >
     <view class="model-box">
-      <view class="title ss-m-t-16 ss-m-l-20 ss-flex">优惠券</view>
+      <view class="title ss-m-t-16 ss-m-l-20 ss-flex">{{$t('sheep.auth.coupon')}}</view>
       <scroll-view
         class="model-content"
         scroll-y
         :scroll-with-animation="false"
         :enable-back-to-top="true"
       >
-        <view class="subtitle ss-m-l-20">可使用优惠券</view>
+        <view class="subtitle ss-m-l-20">{{$t('sheep.auth.avalCoupon')}}</view>
         <view v-for="item in state.couponInfo" :key="item.id">
           <s-coupon-list :data="item">
             <template #default>

+ 6 - 6
sheep/components/s-coupon-list/s-coupon-list.vue

@@ -43,9 +43,9 @@
           >
             {{
               type === 'user'
-                ? '有效期:' + data.use_start_time.substring(0, 11)
-                : '领取时间:' + data.get_start_time.substring(0, 11)
-            }}
+                ? $t('sheep.auth.expire') + ':' + data.use_start_time.substring(0, 11)
+                : $t('sheep.auth.getTime') + ':' + data.get_start_time.substring(0, 11)
+            }} ~ 
             {{
               type === 'user'
                 ? data.use_end_time.substring(0, 11)
@@ -59,7 +59,7 @@
                 ? 'disabled-color'
                 : 'subtitle-color'
             "
-            >满{{ data.enough }}可用</view
+            >{{$t('sheep.auth.enough')}}{{ data.enough }}{{$t('sheep.auth.aval')}}</view
           >
         </view>
       </view>
@@ -87,8 +87,8 @@
   import sheep from '@/sheep';
   const state = reactive({
     stateMap: {
-      0: '立即领取',
-      1: '去使用',
+      0: uni.getLocale() == 'en' ? 'get now' : '立即领取',
+      1: uni.getLocale() == 'en' ? 'use now' : '去使用',
     },
   });
   // 接受参数

+ 5 - 5
sheep/components/s-coupon-select/s-coupon-select.vue

@@ -8,14 +8,14 @@
     backgroundColor="#f2f2f2"
   >
     <view class="model-box">
-      <view class="title ss-m-t-16 ss-m-l-20 ss-flex">优惠券</view>
+      <view class="title ss-m-t-16 ss-m-l-20 ss-flex">{{$t('sheep.auth.coupon')}}</view>
       <scroll-view
         class="model-content"
         scroll-y
         :scroll-with-animation="false"
         :enable-back-to-top="true"
       >
-        <view class="subtitle ss-m-l-20">可使用优惠券</view>
+        <view class="subtitle ss-m-l-20">{{$t('sheep.auth.avalCoupon')}}</view>
         <view v-for="(item, index) in state.couponInfo.can_use" :key="index">
           <s-coupon-list :data="item" type="user" :disabled="false">
             <template #default>
@@ -30,12 +30,12 @@
             </template>
           </s-coupon-list>
         </view>
-        <view class="subtitle ss-m-t-40 ss-m-l-20">不可使用优惠券</view>
+        <view class="subtitle ss-m-t-40 ss-m-l-20">{{$t('sheep.auth.unavalCoupon')}}</view>
         <view v-for="item in state.couponInfo.cannot_use" :key="item.id">
           <s-coupon-list :data="item" type="user" :disabled="true">
             <template v-slot:reason>
               <view class="ss-flex ss-m-t-24">
-                <view class="reason-title"> 不可用原因:</view>
+                <view class="reason-title"> {{$t('sheep.auth.unavalReason')}}:</view>
                 <view class="reason-desc">{{ item.cannot_use_msg }}</view>
               </view>
             </template>
@@ -44,7 +44,7 @@
       </scroll-view>
     </view>
     <view class="modal-footer ss-flex">
-      <button class="confirm-btn ss-reset-button" @tap="onConfirm">确认</button>
+      <button class="confirm-btn ss-reset-button" @tap="onConfirm">{{$t('sheep.auth.confirm')}}</button>
     </view>
   </su-popup>
 </template>

+ 1 - 1
sheep/components/s-custom-navbar/components/navbar-item.vue

@@ -17,7 +17,7 @@
     </view>
     <view class="ss-flex-1" v-if="data.type == 'search'" :style="[{ width: width }]">
       <s-search-block
-        :placeholder="data.placeholder || '搜索关键字'"
+        :placeholder="data.placeholder || $t('sheep.auth.searchKeyword')"
         :radius="data.borderRadius"
         elBackground="#fff"
         :height="height"

+ 5 - 5
sheep/components/s-discount-list/s-discount-list.vue

@@ -8,7 +8,7 @@
     backgroundColor="#f2f2f2"
   >
     <view class="model-box">
-      <view class="title ss-m-t-38 ss-m-l-20 ss-m-b-40">活动优惠</view>
+      <view class="title ss-m-t-38 ss-m-l-20 ss-m-b-40">{{$t('sheep.auth.activityDiscount')}}</view>
       <scroll-view
         class="model-content ss-m-l-20"
         scroll-y
@@ -17,13 +17,13 @@
       >
         <view v-for="(item, index) in state.orderInfo.promo_infos" :key="index">
           <view class="ss-flex ss-m-b-40 subtitle">
-            <view>共{{ item.goods_ids.length }}件,</view>
+            <view>{{$t('sheep.auth.total')}}{{ item.goods_ids.length }}{{$t('sheep.auth.unit')}},</view>
             <view v-if="item.activity_type === 'full_discount'">
-              满{{ item.discount_rule.full }}打{{ item.discount_rule.discount }}折,已减
+              {{$t('sheep.auth.enough')}}{{ item.discount_rule.full }}{{$t('sheep.auth.da')}}{{ item.discount_rule.discount }}{{$t('sheep.auth.disdesc')}}
             </view>
-            <view v-if="item.activity_type === 'full_gift'">满赠</view>
+            <view v-if="item.activity_type === 'full_gift'">{{$t('sheep.auth.given')}}</view>
             <view v-if="item.activity_type === 'full_reduce'">
-              满{{ item.discount_rule.full }}减{{ item.discount_rule.discount }},已减
+              {{$t('sheep.auth.enough')}}{{ item.discount_rule.full }}{{$t('sheep.auth.cut')}}{{ item.discount_rule.discount }},{{$t('sheep.auth.desc')}}
             </view>
             <view class="price-text">¥{{ item.promo_discount_money || '0.00' }}</view>
           </view>

+ 4 - 4
sheep/components/s-goods-column/s-goods-column.vue

@@ -139,9 +139,9 @@
       <view v-if="tagStyle.show" class="tag-icon-box">
         <image class="tag-icon" :src="sheep.$url.cdn(tagStyle.src)"></image>
       </view>
-      <view v-if="seckillTag" class="seckill-tag ss-flex ss-row-center"> 秒杀 </view>
+      <view v-if="seckillTag" class="seckill-tag ss-flex ss-row-center"> {{$t('sheep.auth.seckill')}} </view>
       <view v-if="grouponTag" class="groupon-tag ss-flex ss-row-center">
-        <view class="tag-icon">拼团</view>
+        <view class="tag-icon">{{$t('sheep.auth.group')}}</view>
       </view>
       <image class="lg-img-box" :src="sheep.$url.cdn(data.image)" mode="aspectFill"></image>
       <view class="lg-goods-content ss-flex-1 ss-flex-col ss-row-between ss-p-b-10 ss-p-t-20">
@@ -195,7 +195,7 @@
 
       <slot name="cart"
         ><view class="buy-box ss-flex ss-col-center ss-row-center" v-if="buttonShow"
-          >去购买</view
+          >{{$t('sheep.auth.toBuy')}}</view
         ></slot
       >
     </view>
@@ -258,7 +258,7 @@
       </view>
 
       <slot name="cart"
-        ><view class="buy-box ss-flex ss-col-center ss-row-center">去购买</view></slot
+        ><view class="buy-box ss-flex ss-col-center ss-row-center">{{$t('sheep.auth.toBuy')}}</view></slot
       >
     </view>
   </view>

+ 1 - 1
sheep/components/s-goods-item/s-goods-item.vue

@@ -73,7 +73,7 @@
     },
     title: {
       type: String,
-      default: '这是商品标题这是商品标题这是商品标题这是商品标题这是商品标题',
+      default: '',
     },
     titleWidth: {
       type: Number,

+ 1 - 1
sheep/components/s-invoice-item/s-invoice-item.vue

@@ -8,7 +8,7 @@
       <view class="person-text">{{ props.item.mobile }}</view>
     </view>
     <view v-else>
-      <view class="address-text">请选择收货地址</view>
+      <view class="address-text">{{$t('sheep.address.choose')}}</view>
     </view>
     <slot>
       <button class="ss-reset-button edit-btn" @tap.stop="onEdit">

+ 3 - 3
sheep/components/s-live-block/s-live-block.vue

@@ -88,9 +88,9 @@
 
     // #ifndef MP-WEIXIN
     uni.showModal({
-      title: '提示',
-      confirmText: '允许',
-      content: '将打开小程序访问',
+      title: $t('sheep.auth.tips'),
+      confirmText: $t('sheep.auth.allow'),
+      content: $t('sheep.auth.tipsContent'),
       success: async function (res) {
         if (res.confirm) {
           getMpLink();

+ 5 - 5
sheep/components/s-live-card/s-live-card.vue

@@ -12,7 +12,7 @@
           {{ data.name }}
         </view>
         <view class="md-goods-subtitle ss-m-t-10 ss-line-1" :style="[{ color: subTitleColor }]">
-          主播:{{ data.anchor_name }}
+          {{$t('sheep.auth.liver')}}:{{ data.anchor_name }}
         </view>
       </view>
     </view>
@@ -28,7 +28,7 @@
           {{ data.name }}
         </view>
         <view class="sl-goods-subtitle ss-m-t-10 ss-line-1" :style="[{ color: subTitleColor }]">
-          主播:{{ data.anchor_name }}
+          {{$t('sheep.auth.liver')}}:{{ data.anchor_name }}
         </view>
       </view>
     </view>
@@ -105,15 +105,15 @@ const state = reactive({
   liveStatus: {
     101: {
       img: sheep.$url.static('/assets/addons/shopro/uniapp/app/mplive/living.png'),
-      title: '直播中',
+      title: uni.getLocale() == 'en' ? 'live' : '直播中',
     },
     102: {
       img: sheep.$url.static('/assets/addons/shopro/uniapp/app/mplive/start.png'),
-      title: '未开始',
+      title: uni.getLocale() == 'en' ? 'not start' : '未开始',
     },
     103: {
       img: sheep.$url.static('/assets/addons/shopro/uniapp/app/mplive/ended.png'),
-      title: '已结束',
+      title: uni.getLocale() == 'en' ? 'ended' : '已结束',
     },
   },
 });

+ 9 - 9
sheep/components/s-menu-tools/s-menu-tools.vue

@@ -2,7 +2,7 @@
   <su-popup :show="show" type="top" round="20" backgroundColor="#F0F0F0" @close="closeMenuTools">
     <su-status-bar />
     <view class="tools-wrap ss-m-x-30 ss-m-b-16">
-      <view class="title ss-m-b-34 ss-p-t-20">快捷菜单</view>
+      <view class="title ss-m-b-34 ss-p-t-20">{{$t('sheep.auth.menu')}}</view>
       <view class="container-list ss-flex ss-flex-wrap">
         <view class="list-item ss-m-b-24" v-for="item in list" :key="item.title">
           <view class="ss-flex-col ss-col-center">
@@ -36,42 +36,42 @@
     {
       url: '/pages/index/index',
       icon: '/assets/addons/shopro/uniapp/tools/home.png',
-      title: '首页',
+      title: uni.getLocale() == 'en' ? 'home' : '首页',
     },
     {
       url: '/pages/index/search',
       icon: '/assets/addons/shopro/uniapp/tools/search.png',
-      title: '搜索',
+      title: uni.getLocale() == 'en' ? 'search' : '搜索',
     },
     {
       url: '/pages/index/user',
       icon: '/assets/addons/shopro/uniapp/tools/user.png',
-      title: '个人中心',
+      title: uni.getLocale() == 'en' ? 'center' : '个人中心',
     },
     {
       url: '/pages/index/cart',
       icon: '/assets/addons/shopro/uniapp/tools/cart.png',
-      title: '购物车',
+      title: uni.getLocale() == 'en' ? 'cart' : '购物车',
     },
     {
       url: '/pages/user/goods-log',
       icon: '/assets/addons/shopro/uniapp/tools/browse.png',
-      title: '浏览记录',
+      title: uni.getLocale() == 'en' ? 'views' : '浏览记录',
     },
     {
       url: '/pages/user/goods-collect',
       icon: '/assets/addons/shopro/uniapp/tools/collect.png',
-      title: '我的收藏',
+      title: uni.getLocale() == 'en' ? 'collection' : '我的收藏',
     },
     {
       url: '/pages/public/feedback',
       icon: '/assets/addons/shopro/uniapp/tools/feedback.png',
-      title: '意见反馈',
+      title: uni.getLocale() == 'en' ? 'advice' : '意见反馈',
     },
     {
       url: '/pages/chat/index',
       icon: '/assets/addons/shopro/uniapp/tools/service.png',
-      title: '客服',
+      title: uni.getLocale() == 'en' ? 'service' : '客服',
     },
   ];
 </script>

+ 5 - 5
sheep/components/s-order-card/s-order-card.vue

@@ -28,35 +28,35 @@
 
   const orderMap = [
     {
-      title: '待付款',
+      title: uni.getLocale() == 'en' ? 'unpaid' : '待付款',
       value: '1',
       icon: '/assets/addons/shopro/uniapp/order/no_pay.png',
       path: '/pages/order/list',
       type: 'unpaid',
     },
     {
-      title: '待收货',
+      title: uni.getLocale() == 'en' ? 'to receive' : '待收货',
       value: '3',
       icon: '/assets/addons/shopro/uniapp/order/no_take.png',
       path: '/pages/order/list',
       type: 'noget',
     },
     {
-      title: '待评价',
+      title: uni.getLocale() == 'en' ? 'to comment' : '待评价',
       value: '4',
       icon: '/assets/addons/shopro/uniapp/order/no_comment.png',
       path: '/pages/order/list',
       type: 'nocomment',
     },
     {
-      title: '售后单',
+      title: uni.getLocale() == 'en' ? 'aftersale' : '售后单',
       value: '0',
       icon: '/assets/addons/shopro/uniapp/order/change_order.png',
       path: '/pages/order/aftersale/list',
       type: 'aftersale',
     },
     {
-      title: '全部订单',
+      title: uni.getLocale() == 'en' ? 'all' : '全部订单',
       value: '0',
       icon: '/assets/addons/shopro/uniapp/order/all_order.png',
       path: '/pages/order/list',

+ 2 - 2
sheep/components/s-score-card/s-score-card.vue

@@ -114,7 +114,7 @@
       </view>
 
       <slot name="cart"
-        ><view class="buy-box ss-flex ss-col-center ss-row-center">去兑换</view></slot
+        ><view class="buy-box ss-flex ss-col-center ss-row-center">{{$t('sheep.auth.toExchange')}}</view></slot
       >
     </view>
     <!-- sl卡片:竖向型,一行放一个,图片上内容下边 -->
@@ -169,7 +169,7 @@
       </view>
 
       <slot name="cart"
-        ><view class="buy-box ss-flex ss-col-center ss-row-center">去兑换</view></slot
+        ><view class="buy-box ss-flex ss-col-center ss-row-center">{{$t('sheep.auth.toExchange')}}</view></slot
       >
     </view>
   </view>

+ 1 - 1
sheep/components/s-search-block/s-search-block.vue

@@ -105,7 +105,7 @@
     // placeholder
     placeholder: {
       type: String,
-      default: '这是一个搜索框',
+      default: '',
     },
     radius: {
       type: Number,

+ 11 - 11
sheep/components/s-select-groupon-sku/s-select-groupon-sku.vue

@@ -20,7 +20,7 @@
                   </image>
                 </view>
               </view>
-              <view class="tig-title">拼团价</view>
+              <view class="tig-title">{{$t('sheep.auth.groupPrice')}}</view>
             </view>
             <view class="info-title">
               {{ goodsInfo.title }}
@@ -30,7 +30,7 @@
             <view class="price-text"> {{ goodsPrice }}</view>
 
             <view class="stock-text ss-m-l-20">
-              库存{{ state.selectedSkuPrice.stock || goodsInfo.stock }}件
+              {{$t('sheep.auth.stock')}}{{ state.selectedSkuPrice.stock || goodsInfo.stock }}{{$t('sheep.auth.unit')}}
             </view>
           </view>
         </view>
@@ -41,7 +41,7 @@
             v-if="grouponAction === 'create' && activityType === 'groupon_ladder'"
             class="sku-item ss-m-b-20"
           >
-            <view class="label-text ss-m-b-20">拼团人数</view>
+            <view class="label-text ss-m-b-20">{{$t('sheep.auth.groupPeople')}}</view>
             <view class="ss-flex ss-col-center ss-flex-wrap">
               <button
                 v-for="(ladder, key) in goodsInfo.activity.rules.ladders"
@@ -81,7 +81,7 @@
             </view>
           </view>
           <view class="buy-num-box ss-flex ss-col-center ss-row-between">
-            <view class="label-text">购买数量</view>
+            <view class="label-text">{{$t('sheep.auth.buyAmount')}}</view>
             <su-number-box
               :min="1"
               :max="state.selectedSkuPrice.stock"
@@ -98,7 +98,7 @@
           <view class="ss-flex">
             <button class="ss-reset-button origin-price-btn ss-flex-col">
               <view class="btn-title">{{
-                grouponNum === 0 ? '阶梯团' : grouponNum + '人团'
+                grouponNum === 0 ? $t('sheep.auth.ladderGroup') : grouponNum + $t('sheep.auth.peopleGroup')
               }}</view>
             </button>
             <button class="ss-reset-button btn-tox ss-flex-col" @tap="onBuy">
@@ -113,15 +113,15 @@
                 v-if="
                   grouponAction === 'create' && goodsInfo.activity.rules.is_leader_discount == 0
                 "
-                >立即开团</view
+                >{{$t('sheep.auth.startGroup')}}</view
               >
               <view
                 v-else-if="
                   grouponAction === 'create' && goodsInfo.activity.rules.is_leader_discount == 1
                 "
-                >团长立减价</view
+                >{{$t('sheep.auth.leaderGroupPrice')}}</view
               >
-              <view v-else-if="grouponAction === 'join'">参与拼团</view>
+              <view v-else-if="grouponAction === 'join'">{{$t('sheep.auth.joinGroup')}}</view>
             </button>
           </view>
         </view>
@@ -245,11 +245,11 @@
   // 点击购买
   function onBuy() {
     if (!state.selectedSkuPrice.goods_id) {
-      sheep.$helper.toast('请选择规格');
+      sheep.$helper.toast($t('sheep.auth.chooseSpec'));
       return;
     }
     if (state.selectedSkuPrice.stock <= 0) {
-      sheep.$helper.toast('库存不足');
+      sheep.$helper.toast($t('sheep.auth.stockNotEnough'));
       return;
     }
     emits('buy', state.selectedSkuPrice);
@@ -371,7 +371,7 @@
   function onSelectSku(pid, skuId) {
     // 清空已选择
     if (activityType === 'groupon_ladder' && props.grouponNum == 0) {
-      sheep.$helper.toast('请选择拼团人数');
+      sheep.$helper.toast($t('sheep.auth.chooseGroupPeople'));
       return;
     }
     let isChecked = true; // 选中 or 取消选中

+ 6 - 6
sheep/components/s-select-seckill-sku/s-select-seckill-sku.vue

@@ -54,7 +54,7 @@
             </view>
           </view>
           <view class="buy-num-box ss-flex ss-col-center ss-row-between">
-            <view class="label-text">购买数量</view>
+            <view class="label-text">{{$t('sheep.auth.buyAmount')}}</view>
             <su-number-box
               :min="1"
               :max="state.selectedSkuPrice.stock"
@@ -68,7 +68,7 @@
       </view>
       <view class="modal-footer">
         <view class="buy-box ss-flex ss-col-center ss-flex ss-col-center ss-row-center">
-          <button class="ss-reset-button buy-btn" @tap="onBuy">确认</button>
+          <button class="ss-reset-button buy-btn" @tap="onBuy">{{$t('sheep.auth.confirm')}}</button>
         </view>
       </view>
     </view>
@@ -139,24 +139,24 @@
   const onAddCart = () => {
     if (state.selectedSkuPrice.goods_id) {
       if (state.selectedSkuPrice.stock <= 0) {
-        sheep.$helper.toast('库存不足');
+        sheep.$helper.toast($t('sheep.auth.stockNotEnough'));
       } else {
         emits('addCart', state.selectedSkuPrice);
       }
     } else {
-      sheep.$helper.toast('请选择规格');
+      sheep.$helper.toast($t('sheep.auth.chooseSpec'));
     }
   };
 
   const onBuy = () => {
     if (state.selectedSkuPrice.goods_id) {
       if (state.selectedSkuPrice.stock <= 0) {
-        sheep.$helper.toast('库存不足');
+        sheep.$helper.toast($t('sheep.auth.stockNotEnough'));
       } else {
         emits('buy', state.selectedSkuPrice);
       }
     } else {
-      sheep.$helper.toast('请选择规格');
+      sheep.$helper.toast($t('sheep.auth.chooseSpec'));
     }
   };
   // 改变禁用状态

+ 4 - 4
sheep/components/s-select-sku/s-select-sku.vue

@@ -69,7 +69,7 @@
             </view>
           </view>
           <view class="buy-num-box ss-flex ss-col-center ss-row-between ss-m-b-40">
-            <view class="label-text">购买数量</view>
+            <view class="label-text">{{$t('goods.select.sku.buyAmount')}}</view>
             <su-number-box
               :min="1"
               :max="state.selectedSkuPrice.stock"
@@ -85,13 +85,13 @@
           class="buy-box ss-flex ss-col-center ss-flex ss-col-center ss-row-center"
           v-if="isScore"
         >
-          <button class="ss-reset-button score-btn ui-Shadow-Main" @tap="onBuy">立即兑换</button>
+          <button class="ss-reset-button score-btn ui-Shadow-Main" @tap="onBuy">{{$t('goods.score.exchangeNow')}}</button>
         </view>
         <view class="buy-box ss-flex ss-col-center ss-flex ss-col-center ss-row-center" v-else>
           <button class="ss-reset-button add-btn ui-Shadow-Main" @tap="onAddCart"
-            >加入购物车</button
+            >{{$t('goods.index.addToCart')}}</button
           >
-          <button class="ss-reset-button buy-btn ui-Shadow-Main" @tap="onBuy">立即购买</button>
+          <button class="ss-reset-button buy-btn ui-Shadow-Main" @tap="onBuy">{{$t('goods.index.buyNow')}}</button>
         </view>
       </view>
     </view>

+ 4 - 4
sheep/components/s-share-modal/s-share-modal.vue

@@ -24,7 +24,7 @@
               :src="sheep.$url.static('/assets/addons/shopro/uniapp/share/share_wx.png')"
               mode=""
             ></image>
-            <text class="share-title">微信好友</text>
+            <text class="share-title">{{$t('sheep.auth.wxFriend')}}</text>
           </button>
           <button
             v-if="shareConfig.methods.includes('poster')"
@@ -36,7 +36,7 @@
               :src="sheep.$url.static('/assets/addons/shopro/uniapp/share/share_poster.png')"
               mode=""
             ></image>
-            <text class="share-title">生成海报</text>
+            <text class="share-title">{{$t('sheep.auth.createPoster')}}</text>
           </button>
 
           <button
@@ -49,11 +49,11 @@
               :src="sheep.$url.static('/assets/addons/shopro/uniapp/share/share_link.png')"
               mode=""
             ></image>
-            <text class="share-title">复制链接</text>
+            <text class="share-title">{{$t('sheep.auth.copyLink')}}</text>
           </button>
         </view>
         <view class="share-foot ss-flex ss-row-center ss-col-center" @tap="closeShareModal">
-          取消
+          {{$t('sheep.auth.cancle')}}
         </view>
       </view>
     </su-popup>

+ 1 - 1
sheep/components/s-title-block/s-title-block.vue

@@ -14,7 +14,7 @@
       </view>
     </view>
     <view v-if="data.more.show" class="more-box ss-flex ss-col-center" @tap="sheep.$router.go(data.more.url)">
-      <view class="more-text">查看更多</view>
+      <view class="more-text">{{$t('sheep.auth.viewMore')}}</view>
       <text class="_icon-forward"></text>
     </view>
   </view>

+ 1 - 1
sheep/components/s-uploader/choose-and-upload-file.js

@@ -81,7 +81,7 @@ function chooseAll(opts) {
     }
     if (typeof chooseFile !== 'function') {
       return reject({
-        errMsg: ERR_MSG_FAIL + ' 请指定 type 类型,该平台仅支持选择 image 或 video。',
+        errMsg: ERR_MSG_FAIL + ' image/video',
       });
     }
     chooseFile({

+ 2 - 2
sheep/components/s-uploader/s-uploader.vue

@@ -36,7 +36,7 @@
       @choose="choose"
       @delFile="delFile"
     >
-      <slot><button type="primary" size="mini">选择文件</button></slot>
+      <slot><button type="primary" size="mini">{{$t('sheep.auth.chooseFile')}}</button></slot>
     </upload-file>
   </view>
 </template>
@@ -340,7 +340,7 @@ export default {
         this.returnType === 'array'
       ) {
         uni.showToast({
-          title: `您最多选择 ${this.limitLength} 个文件`,
+          title: ` ${this.limitLength} `,
           icon: 'none',
         });
         return;

+ 1 - 1
sheep/components/s-uploader/upload-file.vue

@@ -43,7 +43,7 @@
           class="file-picker__mask"
           @click.stop="uploadFiles(item, index)"
         >
-          点击重试
+          {{$t('sheep.auth.retry')}}
         </view>
       </view>
     </view>

+ 0 - 0
sheep/components/s-user-card/s-user-card.vue


Some files were not shown because too many files changed in this diff