From 791d82b9e35ac587f6315c6af17b1a983dbcd8a3 Mon Sep 17 00:00:00 2001
From: gyq <875626088@qq.com>
Date: Fri, 25 Apr 2025 09:49:53 +0800
Subject: [PATCH] =?UTF-8?q?=E6=BA=90=E6=96=87=E4=BB=B6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.gitignore | 7 +
.vscode/settings.json | 2 +
App.vue | 3160 +++++++++++++++++
LICENSE | 21 +
README.md | 68 +
androidPrivacy.json | 35 +
changelog.md | 423 +++
common/css/animation.css | 712 ++++
common/css/business.css | 55 +
common/css/lib.css | 1267 +++++++
common/css/page.css | 1420 ++++++++
common/css/plugins.css | 265 ++
common/css/theme.css | 838 +++++
common/js/common/base.js | 82 +
common/js/common/common.js | 653 ++++
common/js/common/share.js | 47 +
common/js/lib/base64.js | 8 +
components/activity-list/activity-list.vue | 71 +
components/app-admin/app-admin.vue | 242 ++
.../ask-comments-goods/ask-comments-goods.vue | 103 +
components/badge/badge.vue | 55 +
.../binding-detail-list.vue | 98 +
components/binding-list/binding-list.vue | 173 +
components/blog-list/blog-list.vue | 99 +
components/bottom-line/bottom-line.vue | 56 +
.../buy-ordergoodsform/buy-ordergoodsform.vue | 187 +
.../cart-para-curve/cart-para-curve.vue | 125 +
components/cart/cart.vue | 1690 +++++++++
.../categorylimit-warm-tips.vue | 54 +
.../choice-location/choice-location.vue | 169 +
components/common/common.vue | 250 ++
components/copyright/copyright.vue | 33 +
components/countdown/countdown.vue | 211 ++
components/coupon-card/coupon-card.vue | 230 ++
components/diy/article-list.vue | 430 +++
components/diy/article-tabs.vue | 264 ++
components/diy/auxiliary-blank.vue | 64 +
components/diy/auxiliary-line.vue | 64 +
components/diy/carousel.vue | 371 ++
components/diy/coupon.vue | 1013 ++++++
components/diy/custom.vue | 337 ++
components/diy/data-magic.vue | 434 +++
components/diy/data-tabs.vue | 334 ++
components/diy/diy.vue | 784 ++++
components/diy/float-window.vue | 164 +
components/diy/footer.vue | 201 ++
components/diy/goods-list.vue | 607 ++++
components/diy/goods-tabs.vue | 253 ++
components/diy/header.vue | 420 +++
components/diy/hot-zone.vue | 122 +
components/diy/img-magic.vue | 228 ++
.../modules/custom/data-group-rendering.vue | 279 ++
.../diy/modules/custom/data-rendering.vue | 290 ++
.../diy/modules/custom/model-custom-group.vue | 378 ++
components/diy/modules/custom/model-icon.vue | 161 +
components/diy/modules/custom/model-image.vue | 178 +
components/diy/modules/custom/model-lines.vue | 94 +
components/diy/modules/custom/model-panel.vue | 133 +
components/diy/modules/custom/model-text.vue | 236 ++
.../diy/modules/data-magic/custom/index.vue | 304 ++
.../diy/modules/data-magic/magic-carousel.vue | 142 +
.../modules/data-magic/product-list-show.vue | 233 ++
.../diy/modules/data-magic/video/index.vue | 57 +
components/diy/modules/image-empty.vue | 79 +
components/diy/modules/subscript/index.vue | 98 +
components/diy/modules/tabs-view.vue | 592 +++
components/diy/nav-group.vue | 248 ++
components/diy/notice.vue | 211 ++
components/diy/rich-text.vue | 73 +
components/diy/search.vue | 327 ++
components/diy/seckill.vue | 643 ++++
components/diy/tabs-carousel.vue | 231 ++
components/diy/tabs.vue | 270 ++
components/diy/title.vue | 143 +
components/diy/user-info.vue | 164 +
components/diy/video.vue | 86 +
components/emoji-popup/emoji-popup.vue | 95 +
.../goods-batch-buy/goods-batch-buy.vue | 576 +++
components/goods-buy/goods-buy.vue | 945 +++++
components/goods-comments/goods-comments.vue | 127 +
components/goods-list/goods-list.vue | 395 +++
.../goods-spec-choice/goods-spec-choice.vue | 362 ++
components/icon-nav/icon-nav.vue | 140 +
components/iconfont/iconfont.vue | 49 +
components/layout/layout.vue | 1359 +++++++
components/magic-list/magic-list.vue | 246 ++
components/nav-back/nav-back.vue | 107 +
components/nav-more/nav-more.vue | 101 +
components/no-data/no-data.vue | 329 ++
components/online-service/online-service.vue | 444 +++
components/panel-content/panel-content.vue | 173 +
components/payment/payment.vue | 922 +++++
components/popup/popup.vue | 214 ++
components/popupscreen/popupscreen.vue | 131 +
components/quick-nav/quick-nav.vue | 265 ++
components/realstore-cart/realstore-cart.vue | 1117 ++++++
components/realstore-list/realstore-list.vue | 233 ++
components/region-picker/region-picker.vue | 234 ++
components/search/search.vue | 262 ++
components/share-popup/share-popup.vue | 299 ++
components/shop-list/shop-list.vue | 94 +
components/slider/slider.vue | 158 +
.../status-bar-height/status-bar-height.vue | 27 +
components/switch/switch.vue | 186 +
components/time-select/time-select.vue | 554 +++
components/title/title.vue | 62 +
components/trn-nav/trn-nav.vue | 90 +
components/upload/upload.vue | 157 +
components/user-base/user-base.vue | 485 +++
.../wholesale-rules/wholesale-rules.vue | 169 +
i18n_tools.config.js | 12 +
locale/en.json | 1935 ++++++++++
locale/index.js | 18 +
locale/zh.json | 1917 ++++++++++
main.js | 25 +
manifest.json | 259 ++
node_modules/.package-lock.json | 12 +
node_modules/jweixin-module/README.md | 30 +
node_modules/jweixin-module/lib/index.js | 1 +
node_modules/jweixin-module/package.json | 26 +
pages.json | 1774 +++++++++
pages/about/about.css | 4 +
pages/about/about.vue | 92 +
pages/article-category/article-category.css | 8 +
pages/article-category/article-category.vue | 284 ++
pages/article-detail/article-detail.css | 3 +
pages/article-detail/article-detail.vue | 162 +
pages/buy/buy.css | 255 ++
pages/buy/buy.vue | 1275 +++++++
pages/cart-page/cart-page.vue | 56 +
pages/cart/cart.vue | 63 +
.../open-setting-location.css | 41 +
.../open-setting-location.vue | 149 +
pages/customview/customview.vue | 146 +
pages/design/design.vue | 193 +
pages/diy/diy.vue | 208 ++
pages/error/error.vue | 66 +
.../extraction-address/extraction-address.css | 15 +
.../extraction-address/extraction-address.vue | 255 ++
pages/goods-category/goods-category.css | 335 ++
pages/goods-category/goods-category.vue | 1393 ++++++++
pages/goods-comment/goods-comment.css | 52 +
pages/goods-comment/goods-comment.vue | 254 ++
pages/goods-detail/goods-detail.css | 578 +++
pages/goods-detail/goods-detail.vue | 1511 ++++++++
.../goods-search-start/goods-search-start.css | 16 +
.../goods-search-start/goods-search-start.vue | 208 ++
pages/goods-search/goods-search.css | 156 +
pages/goods-search/goods-search.vue | 816 +++++
pages/index/index.css | 168 +
pages/index/index.vue | 665 ++++
pages/login/login.css | 137 +
pages/login/login.vue | 1758 +++++++++
pages/logout/logout.css | 3 +
pages/logout/logout.vue | 166 +
pages/message/message.vue | 193 +
pages/password/password.css | 20 +
pages/password/password.vue | 157 +
pages/paytips/paytips.css | 21 +
pages/paytips/paytips.vue | 120 +
pages/personal/personal.css | 11 +
pages/personal/personal.vue | 266 ++
pages/plugins/activity/detail/detail.css | 17 +
pages/plugins/activity/detail/detail.vue | 193 +
pages/plugins/activity/index/index.css | 12 +
pages/plugins/activity/index/index.vue | 287 ++
pages/plugins/allocation/cashier/cashier.css | 6 +
pages/plugins/allocation/cashier/cashier.vue | 177 +
pages/plugins/antifakecode/index/index.css | 19 +
pages/plugins/antifakecode/index/index.vue | 151 +
pages/plugins/ask/comments/comments.vue | 129 +
.../components/ask-comments/ask-comments.vue | 579 +++
pages/plugins/ask/detail/detail.css | 46 +
pages/plugins/ask/detail/detail.vue | 244 ++
pages/plugins/ask/form/form.css | 3 +
pages/plugins/ask/form/form.vue | 318 ++
pages/plugins/ask/goods-list/goods-list.css | 23 +
pages/plugins/ask/goods-list/goods-list.vue | 332 ++
pages/plugins/ask/index/index.css | 38 +
pages/plugins/ask/index/index.vue | 324 ++
pages/plugins/ask/user-detail/user-detail.vue | 146 +
pages/plugins/ask/user-list/user-list.css | 3 +
pages/plugins/ask/user-list/user-list.vue | 237 ++
pages/plugins/binding/detail/detail.css | 87 +
pages/plugins/binding/detail/detail.vue | 415 +++
pages/plugins/binding/index/index.css | 7 +
pages/plugins/binding/index/index.vue | 284 ++
pages/plugins/blog/comments/comments.vue | 129 +
.../blog-comments/blog-comments.vue | 587 +++
pages/plugins/blog/detail/detail.vue | 245 ++
pages/plugins/blog/form/form.css | 11 +
pages/plugins/blog/form/form.vue | 450 +++
pages/plugins/blog/index/index.css | 42 +
pages/plugins/blog/index/index.vue | 280 ++
pages/plugins/blog/search/search.css | 31 +
pages/plugins/blog/search/search.vue | 342 ++
pages/plugins/blog/user-list/user-list.css | 37 +
pages/plugins/blog/user-list/user-list.vue | 281 ++
pages/plugins/brand/index/index.css | 64 +
pages/plugins/brand/index/index.vue | 224 ++
pages/plugins/coin/cash-list/cash-list.css | 32 +
pages/plugins/coin/cash-list/cash-list.vue | 518 +++
pages/plugins/coin/cash/cash.css | 118 +
pages/plugins/coin/cash/cash.vue | 362 ++
pages/plugins/coin/collection/collection.css | 19 +
pages/plugins/coin/collection/collection.vue | 87 +
.../coin/convert-list/convert-list.css | 18 +
.../coin/convert-list/convert-list.vue | 408 +++
pages/plugins/coin/convert/convert.css | 77 +
pages/plugins/coin/convert/convert.vue | 342 ++
pages/plugins/coin/detail/detail.css | 56 +
pages/plugins/coin/detail/detail.vue | 348 ++
.../coin/recharge-list/recharge-list.css | 42 +
.../coin/recharge-list/recharge-list.vue | 523 +++
.../coin/recharge-pay/recharge-pay.css | 105 +
.../coin/recharge-pay/recharge-pay.vue | 243 ++
pages/plugins/coin/recharge/recharge.css | 137 +
pages/plugins/coin/recharge/recharge.vue | 338 ++
.../transaction-list/transaction-list.css | 18 +
.../transaction-list/transaction-list.vue | 537 +++
.../coin/transfer-list/transfer-list.css | 18 +
.../coin/transfer-list/transfer-list.vue | 342 ++
pages/plugins/coin/transfer/transfer.css | 19 +
pages/plugins/coin/transfer/transfer.vue | 260 ++
pages/plugins/coin/user/user.css | 43 +
pages/plugins/coin/user/user.vue | 257 ++
pages/plugins/coupon/detail/detail.vue | 206 ++
pages/plugins/coupon/index/index.css | 38 +
pages/plugins/coupon/index/index.vue | 231 ++
pages/plugins/coupon/shop/shop.css | 11 +
pages/plugins/coupon/shop/shop.vue | 231 ++
pages/plugins/coupon/user/user.css | 15 +
pages/plugins/coupon/user/user.vue | 197 +
.../plugins/delivery/logistics/logistics.css | 20 +
.../plugins/delivery/logistics/logistics.vue | 169 +
.../delivery/order-detail/order-detail.css | 48 +
.../delivery/order-detail/order-detail.vue | 261 ++
pages/plugins/delivery/order/order.css | 62 +
pages/plugins/delivery/order/order.vue | 853 +++++
.../extraction-apply/extraction-apply.css | 16 +
.../extraction-apply/extraction-apply.vue | 605 ++++
.../extraction-order/extraction-order.css | 23 +
.../extraction-order/extraction-order.vue | 414 +++
.../extraction-switch/extraction-switch.css | 15 +
.../extraction-switch/extraction-switch.vue | 299 ++
.../distribution/extraction/extraction.css | 7 +
.../distribution/extraction/extraction.vue | 241 ++
.../distribution/introduce/introduce.css | 4 +
.../distribution/introduce/introduce.vue | 177 +
pages/plugins/distribution/map/map.css | 38 +
pages/plugins/distribution/map/map.vue | 313 ++
.../order-detail/order-detail.css | 45 +
.../order-detail/order-detail.vue | 219 ++
pages/plugins/distribution/order/order.css | 14 +
pages/plugins/distribution/order/order.vue | 280 ++
pages/plugins/distribution/poster/poster.css | 10 +
pages/plugins/distribution/poster/poster.vue | 225 ++
.../profit-detail/profit-detail.vue | 140 +
pages/plugins/distribution/profit/profit.css | 6 +
pages/plugins/distribution/profit/profit.vue | 262 ++
.../promotion-order/promotion-order.css | 14 +
.../promotion-order/promotion-order.vue | 276 ++
.../promotion-user/promotion-user.css | 17 +
.../promotion-user/promotion-user.vue | 310 ++
.../recommend-detail/recommend-detail.css | 66 +
.../recommend-detail/recommend-detail.vue | 381 ++
.../recommend-form/recommend-form.css | 36 +
.../recommend-form/recommend-form.vue | 582 +++
.../recommend-list/recommend-list.vue | 309 ++
pages/plugins/distribution/team/team.css | 32 +
pages/plugins/distribution/team/team.vue | 376 ++
pages/plugins/distribution/user/user.css | 122 +
pages/plugins/distribution/user/user.vue | 688 ++++
.../distribution/visit-form/visit-form.css | 7 +
.../distribution/visit-form/visit-form.vue | 399 +++
.../distribution/visit-list/visit-list.css | 5 +
.../distribution/visit-list/visit-list.vue | 300 ++
.../profit-detail/profit-detail.vue | 142 +
.../profit/profit.css | 6 +
.../profit/profit.vue | 318 ++
.../exchangerate/currency/currency.css | 15 +
.../exchangerate/currency/currency.vue | 187 +
pages/plugins/express/detail/detail.css | 10 +
pages/plugins/express/detail/detail.vue | 165 +
pages/plugins/form/check/check.vue | 309 ++
pages/plugins/giftcard/form/form.vue | 184 +
pages/plugins/giftcard/index/index.css | 3 +
pages/plugins/giftcard/index/index.vue | 272 ++
pages/plugins/givegift/code/code.css | 7 +
pages/plugins/givegift/code/code.vue | 294 ++
pages/plugins/givegift/gift/gift.css | 17 +
pages/plugins/givegift/gift/gift.vue | 607 ++++
pages/plugins/givegift/goods/goods.css | 23 +
pages/plugins/givegift/goods/goods.vue | 369 ++
pages/plugins/givegift/receive/receive.css | 4 +
pages/plugins/givegift/receive/receive.vue | 233 ++
.../hospital/patient-list/patient-list.vue | 215 ++
pages/plugins/hospital/patient/patient.css | 3 +
pages/plugins/hospital/patient/patient.vue | 506 +++
.../hospital/prescription/prescription.css | 7 +
.../hospital/prescription/prescription.vue | 319 ++
.../goods-comments/goods-comments.css | 15 +
.../goods-comments/goods-comments.vue | 231 ++
.../invoice/invoice-detail/invoice-detail.vue | 142 +
.../invoice-saveinfo/invoice-saveinfo.vue | 438 +++
pages/plugins/invoice/invoice/invoice.css | 15 +
pages/plugins/invoice/invoice/invoice.vue | 358 ++
pages/plugins/invoice/order/order.css | 11 +
pages/plugins/invoice/order/order.vue | 272 ++
pages/plugins/invoice/recharge/recharge.css | 11 +
pages/plugins/invoice/recharge/recharge.vue | 272 ++
pages/plugins/label/detail/detail.css | 32 +
pages/plugins/label/detail/detail.vue | 352 ++
pages/plugins/magic/detail/detail.vue | 168 +
pages/plugins/membershiplevelvip/buy/buy.css | 64 +
pages/plugins/membershiplevelvip/buy/buy.vue | 312 ++
.../membershiplevelvip/index/index.css | 50 +
.../membershiplevelvip/index/index.vue | 181 +
.../member-code/member-code.css | 12 +
.../member-code/member-code.vue | 190 +
.../order-detail/order-detail.vue | 140 +
.../membershiplevelvip/order/order.css | 6 +
.../membershiplevelvip/order/order.vue | 472 +++
.../membershiplevelvip/poster/poster.css | 7 +
.../membershiplevelvip/poster/poster.vue | 162 +
.../profit-detail/profit-detail.vue | 137 +
.../membershiplevelvip/profit/profit.css | 6 +
.../membershiplevelvip/profit/profit.vue | 260 ++
.../plugins/membershiplevelvip/team/team.css | 7 +
.../plugins/membershiplevelvip/team/team.vue | 231 ++
.../plugins/membershiplevelvip/user/user.css | 104 +
.../plugins/membershiplevelvip/user/user.vue | 359 ++
pages/plugins/ordergoodsform/order/order.css | 14 +
pages/plugins/ordergoodsform/order/order.vue | 156 +
.../orderresources/orderannex/orderannex.css | 18 +
.../orderresources/orderannex/orderannex.vue | 169 +
pages/plugins/points/index/index.css | 85 +
pages/plugins/points/index/index.vue | 363 ++
pages/plugins/points/scan/scan.css | 25 +
pages/plugins/points/scan/scan.vue | 195 +
.../batchorder-list/batchorder-list.css | 6 +
.../batchorder-list/batchorder-list.vue | 273 ++
pages/plugins/realstore/check/check.vue | 157 +
pages/plugins/realstore/detail/detail.css | 163 +
pages/plugins/realstore/detail/detail.vue | 1110 ++++++
pages/plugins/realstore/favor/favor.css | 8 +
pages/plugins/realstore/favor/favor.vue | 262 ++
.../frequencycard-list/frequencycard-list.css | 6 +
.../frequencycard-list/frequencycard-list.vue | 279 ++
.../frequencycard-used/frequencycard-used.vue | 217 ++
pages/plugins/realstore/index/index.css | 76 +
pages/plugins/realstore/index/index.vue | 461 +++
.../orderallot-detail/orderallot-detail.css | 73 +
.../orderallot-detail/orderallot-detail.vue | 274 ++
.../orderallot-list/orderallot-list.css | 18 +
.../orderallot-list/orderallot-list.vue | 526 +++
pages/plugins/realstore/search/search.css | 37 +
pages/plugins/realstore/search/search.vue | 495 +++
pages/plugins/scanpay/index/index.css | 134 +
pages/plugins/scanpay/index/index.vue | 463 +++
pages/plugins/scanpay/tips/tips.css | 3 +
pages/plugins/scanpay/tips/tips.vue | 167 +
pages/plugins/seckill/index/index.css | 66 +
pages/plugins/seckill/index/index.vue | 313 ++
pages/plugins/shop/check/check.vue | 157 +
.../components/shop-header/shop-header.vue | 468 +++
pages/plugins/shop/design/design.vue | 159 +
pages/plugins/shop/detail/detail.css | 125 +
pages/plugins/shop/detail/detail.vue | 240 ++
pages/plugins/shop/favor/favor.css | 8 +
pages/plugins/shop/favor/favor.vue | 257 ++
pages/plugins/shop/index/index.css | 20 +
pages/plugins/shop/index/index.vue | 317 ++
pages/plugins/shop/license/license.vue | 129 +
pages/plugins/shop/search/search.css | 76 +
pages/plugins/shop/search/search.vue | 567 +++
.../components/user-qrcode/user-qrcode.vue | 225 ++
.../components/user-signin/user-signin.vue | 203 ++
pages/plugins/signin/detail/detail.css | 197 +
pages/plugins/signin/detail/detail.vue | 462 +++
.../user-coming-list/user-coming-list.css | 4 +
.../user-coming-list/user-coming-list.vue | 230 ++
.../user-qrcode-detail/user-qrcode-detail.vue | 163 +
.../user-qrcode-saveinfo.vue | 232 ++
pages/plugins/signin/user/user.css | 7 +
pages/plugins/signin/user/user.vue | 172 +
pages/plugins/thirdpartylogin/index/index.css | 7 +
pages/plugins/thirdpartylogin/index/index.vue | 150 +
pages/plugins/wallet/cash-auth/cash-auth.css | 8 +
pages/plugins/wallet/cash-auth/cash-auth.vue | 311 ++
.../wallet/cash-create/cash-create.css | 6 +
.../wallet/cash-create/cash-create.vue | 332 ++
.../wallet/components/transfer/transfer.vue | 222 ++
.../wallet/components/user-cash/user-cash.vue | 248 ++
.../user-recharge/user-recharge.vue | 428 +++
.../components/wallet-log/wallet-log.vue | 248 ++
.../wallet/payment-code/payment-code.css | 12 +
.../wallet/payment-code/payment-code.vue | 230 ++
pages/plugins/wallet/recharge/recharge.css | 69 +
pages/plugins/wallet/recharge/recharge.vue | 291 ++
pages/plugins/wallet/transfer/transfer.css | 15 +
pages/plugins/wallet/transfer/transfer.vue | 232 ++
.../user-cash-detail/user-cash-detail.vue | 143 +
.../user-recharge-detail.vue | 137 +
.../user-transfer-detail.vue | 136 +
pages/plugins/wallet/user/user.css | 87 +
pages/plugins/wallet/user/user.vue | 296 ++
.../wallet-log-detail/wallet-log-detail.vue | 138 +
.../weixinliveplayer/detail/detail.css | 49 +
.../weixinliveplayer/detail/detail.vue | 282 ++
.../plugins/weixinliveplayer/index/index.css | 93 +
.../plugins/weixinliveplayer/index/index.vue | 209 ++
.../weixinliveplayer/search/search.css | 83 +
.../weixinliveplayer/search/search.vue | 300 ++
pages/setup/setup.css | 19 +
pages/setup/setup.vue | 336 ++
pages/user-address-save/user-address-save.css | 159 +
pages/user-address-save/user-address-save.vue | 861 +++++
pages/user-address/user-address.css | 22 +
pages/user-address/user-address.vue | 349 ++
pages/user-favor/user-favor.css | 8 +
pages/user-favor/user-favor.vue | 329 ++
pages/user-goods-browse/user-goods-browse.css | 8 +
pages/user-goods-browse/user-goods-browse.vue | 364 ++
.../user-goods-comments-form.css | 11 +
.../user-goods-comments-form.vue | 223 ++
.../user-goods-comments.css | 4 +
.../user-goods-comments.vue | 280 ++
pages/user-integral/user-integral.css | 8 +
pages/user-integral/user-integral.vue | 191 +
.../user-order-comments.css | 21 +
.../user-order-comments.vue | 421 +++
pages/user-order-detail/user-order-detail.css | 66 +
pages/user-order-detail/user-order-detail.vue | 349 ++
pages/user-order/user-order.css | 50 +
pages/user-order/user-order.vue | 830 +++++
.../user-orderaftersale-detail.css | 63 +
.../user-orderaftersale-detail.vue | 830 +++++
.../user-orderaftersale.css | 27 +
.../user-orderaftersale.vue | 368 ++
pages/user/user.css | 156 +
pages/user/user.vue | 546 +++
pages/web-view/web-view.vue | 58 +
static/icon/iconfont.css | 834 +++++
static/images/black/tabbar/cart.png | Bin 0 -> 965 bytes
static/images/black/tabbar/category.png | Bin 0 -> 876 bytes
static/images/black/tabbar/home.png | Bin 0 -> 774 bytes
static/images/black/tabbar/user.png | Bin 0 -> 740 bytes
static/images/blue/tabbar/cart.png | Bin 0 -> 1001 bytes
static/images/blue/tabbar/category.png | Bin 0 -> 876 bytes
static/images/blue/tabbar/home.png | Bin 0 -> 781 bytes
static/images/blue/tabbar/user.png | Bin 0 -> 787 bytes
static/images/brown/tabbar/cart.png | Bin 0 -> 942 bytes
static/images/brown/tabbar/category.png | Bin 0 -> 888 bytes
static/images/brown/tabbar/home.png | Bin 0 -> 783 bytes
static/images/brown/tabbar/user.png | Bin 0 -> 824 bytes
static/images/common/empty.png | Bin 0 -> 908 bytes
static/images/common/error.png | Bin 0 -> 845 bytes
static/images/common/image-empty.png | Bin 0 -> 5439 bytes
static/images/common/round-error-icon.png | Bin 0 -> 1391 bytes
static/images/common/round-success-icon.png | Bin 0 -> 1265 bytes
static/images/common/tabbar/cart.png | Bin 0 -> 633 bytes
static/images/common/tabbar/category.png | Bin 0 -> 468 bytes
static/images/common/tabbar/home.png | Bin 0 -> 604 bytes
static/images/common/tabbar/user.png | Bin 0 -> 593 bytes
static/images/common/toast-error.png | Bin 0 -> 572 bytes
static/images/common/user.png | Bin 0 -> 6766 bytes
static/images/common/video.png | Bin 0 -> 3997 bytes
static/images/green/tabbar/cart.png | Bin 0 -> 1021 bytes
static/images/green/tabbar/category.png | Bin 0 -> 927 bytes
static/images/green/tabbar/home.png | Bin 0 -> 917 bytes
static/images/green/tabbar/user.png | Bin 0 -> 833 bytes
static/images/orange/tabbar/cart.png | Bin 0 -> 966 bytes
static/images/orange/tabbar/category.png | Bin 0 -> 892 bytes
static/images/orange/tabbar/home.png | Bin 0 -> 844 bytes
static/images/orange/tabbar/user.png | Bin 0 -> 779 bytes
static/images/purple/tabbar/cart.png | Bin 0 -> 1017 bytes
static/images/purple/tabbar/category.png | Bin 0 -> 897 bytes
static/images/purple/tabbar/home.png | Bin 0 -> 788 bytes
static/images/purple/tabbar/user.png | Bin 0 -> 798 bytes
static/images/red/tabbar/cart.png | Bin 0 -> 964 bytes
static/images/red/tabbar/category.png | Bin 0 -> 877 bytes
static/images/red/tabbar/home.png | Bin 0 -> 734 bytes
static/images/red/tabbar/user.png | Bin 0 -> 767 bytes
static/images/yellow/tabbar/cart.png | Bin 0 -> 930 bytes
static/images/yellow/tabbar/category.png | Bin 0 -> 847 bytes
static/images/yellow/tabbar/home.png | Bin 0 -> 802 bytes
static/images/yellow/tabbar/user.png | Bin 0 -> 747 bytes
template.h5.html | 26 +
.../cloudfunctions/getPhoneNumber/index.js | 9 +
.../getPhoneNumber/package.json | 7 +
uni_modules/mp-html/README.md | 160 +
uni_modules/mp-html/changelog.md | 62 +
.../mp-html/components/mp-html/mp-html.vue | 432 +++
.../mp-html/components/mp-html/node/node.vue | 534 +++
.../mp-html/components/mp-html/parser.js | 1223 +++++++
uni_modules/mp-html/package.json | 79 +
.../static/app-plus/mp-html/js/handler.js | 1 +
.../app-plus/mp-html/js/uni.webview.min.js | 1 +
.../static/app-plus/mp-html/local.html | 1 +
uni_modules/sp-editor/changelog.md | 15 +
.../components/sp-editor/color-picker.vue | 784 ++++
.../components/sp-editor/editor-icon.css | 238 ++
.../components/sp-editor/iconfont.ttf | Bin 0 -> 11188 bytes
.../components/sp-editor/sp-editor.vue | 273 ++
uni_modules/sp-editor/package.json | 83 +
uni_modules/sp-editor/readme.md | 70 +
uni_modules/uni-datetime-picker/changelog.md | 140 +
.../uni-datetime-picker/calendar-item.vue | 177 +
.../uni-datetime-picker/calendar.vue | 929 +++++
.../uni-datetime-picker/i18n/en.json | 22 +
.../uni-datetime-picker/i18n/index.js | 8 +
.../uni-datetime-picker/i18n/zh-Hans.json | 22 +
.../uni-datetime-picker/i18n/zh-Hant.json | 22 +
.../uni-datetime-picker/time-picker.vue | 934 +++++
.../uni-datetime-picker.vue | 1034 ++++++
.../components/uni-datetime-picker/util.js | 453 +++
uni_modules/uni-datetime-picker/package.json | 87 +
uni_modules/uni-datetime-picker/readme.md | 21 +
uni_modules/uni-icons/changelog.md | 22 +
.../uni-icons/components/uni-icons/icons.js | 1169 ++++++
.../components/uni-icons/uni-icons.vue | 96 +
.../components/uni-icons/uniicons.css | 663 ++++
.../components/uni-icons/uniicons.ttf | Bin 0 -> 35760 bytes
uni_modules/uni-icons/package.json | 86 +
uni_modules/uni-icons/readme.md | 8 +
uni_modules/uni-notice-bar/changelog.md | 18 +
.../uni-notice-bar/uni-notice-bar.vue | 426 +++
uni_modules/uni-notice-bar/package.json | 87 +
uni_modules/uni-notice-bar/readme.md | 13 +
uni_modules/uni-popup/changelog.md | 68 +
.../components/uni-popup-dialog/keypress.js | 45 +
.../uni-popup-dialog/uni-popup-dialog.vue | 272 ++
.../uni-popup-message/uni-popup-message.vue | 143 +
.../uni-popup-share/uni-popup-share.vue | 187 +
.../components/uni-popup/i18n/en.json | 7 +
.../components/uni-popup/i18n/index.js | 8 +
.../components/uni-popup/i18n/zh-Hans.json | 7 +
.../components/uni-popup/i18n/zh-Hant.json | 7 +
.../components/uni-popup/keypress.js | 45 +
.../uni-popup/components/uni-popup/popup.js | 26 +
.../components/uni-popup/uni-popup.vue | 473 +++
uni_modules/uni-popup/package.json | 87 +
uni_modules/uni-popup/readme.md | 17 +
uni_modules/uni-rate/changelog.md | 20 +
.../uni-rate/components/uni-rate/uni-rate.vue | 393 ++
uni_modules/uni-rate/package.json | 87 +
uni_modules/uni-rate/readme.md | 107 +
uni_modules/uni-scss/changelog.md | 8 +
uni_modules/uni-scss/index.scss | 1 +
uni_modules/uni-scss/package.json | 82 +
uni_modules/uni-scss/readme.md | 4 +
uni_modules/uni-scss/styles/index.scss | 7 +
.../uni-scss/styles/setting/_border.scss | 3 +
.../uni-scss/styles/setting/_color.scss | 66 +
.../uni-scss/styles/setting/_radius.scss | 55 +
.../uni-scss/styles/setting/_space.scss | 56 +
.../uni-scss/styles/setting/_styles.scss | 167 +
.../uni-scss/styles/setting/_text.scss | 24 +
.../uni-scss/styles/setting/_variables.scss | 146 +
.../uni-scss/styles/tools/functions.scss | 19 +
uni_modules/uni-scss/theme.scss | 31 +
uni_modules/uni-scss/variables.scss | 62 +
uni_modules/uni-swipe-action/changelog.md | 33 +
.../uni-swipe-action-item/bindingx.js | 300 ++
.../components/uni-swipe-action-item/isPC.js | 12 +
.../uni-swipe-action-item/mpalipay.js | 193 +
.../uni-swipe-action-item/mpother.js | 257 ++
.../components/uni-swipe-action-item/mpwxs.js | 82 +
.../uni-swipe-action-item/render.js | 270 ++
.../uni-swipe-action-item.vue | 344 ++
.../components/uni-swipe-action-item/wx.wxs | 341 ++
.../uni-swipe-action/uni-swipe-action.vue | 60 +
uni_modules/uni-swipe-action/package.json | 87 +
uni_modules/uni-swipe-action/readme.md | 11 +
uni_modules/uni-swiper-dot/changelog.md | 12 +
.../uni-swiper-dot/uni-swiper-dot.vue | 218 ++
uni_modules/uni-swiper-dot/package.json | 87 +
uni_modules/uni-swiper-dot/readme.md | 11 +
uni_modules/uni-transition/changelog.md | 22 +
.../uni-transition/createAnimation.js | 131 +
.../uni-transition/uni-transition.vue | 286 ++
uni_modules/uni-transition/package.json | 84 +
uni_modules/uni-transition/readme.md | 11 +
uni_modules/uv-ui-tools/changelog.md | 76 +
.../components/uv-ui-tools/uv-ui-tools.vue | 6 +
uni_modules/uv-ui-tools/index.js | 79 +
uni_modules/uv-ui-tools/index.scss | 7 +
uni_modules/uv-ui-tools/libs/config/config.js | 34 +
uni_modules/uv-ui-tools/libs/css/color.scss | 32 +
uni_modules/uv-ui-tools/libs/css/common.scss | 100 +
.../uv-ui-tools/libs/css/components.scss | 23 +
.../uv-ui-tools/libs/css/variable.scss | 111 +
uni_modules/uv-ui-tools/libs/css/vue.scss | 40 +
.../libs/function/colorGradient.js | 134 +
.../uv-ui-tools/libs/function/debounce.js | 29 +
.../uv-ui-tools/libs/function/digit.js | 167 +
.../uv-ui-tools/libs/function/index.js | 734 ++++
.../uv-ui-tools/libs/function/platform.js | 75 +
uni_modules/uv-ui-tools/libs/function/test.js | 287 ++
.../uv-ui-tools/libs/function/throttle.js | 30 +
.../libs/luch-request/adapters/index.js | 132 +
.../luch-request/core/InterceptorManager.js | 51 +
.../libs/luch-request/core/Request.js | 201 ++
.../libs/luch-request/core/buildFullPath.js | 20 +
.../libs/luch-request/core/defaults.js | 33 +
.../libs/luch-request/core/dispatchRequest.js | 6 +
.../libs/luch-request/core/mergeConfig.js | 126 +
.../libs/luch-request/core/settle.js | 16 +
.../libs/luch-request/helpers/buildURL.js | 64 +
.../libs/luch-request/helpers/combineURLs.js | 14 +
.../luch-request/helpers/isAbsoluteURL.js | 14 +
.../uv-ui-tools/libs/luch-request/index.d.ts | 197 +
.../uv-ui-tools/libs/luch-request/index.js | 2 +
.../uv-ui-tools/libs/luch-request/utils.js | 135 +
.../libs/luch-request/utils/clone.js | 264 ++
uni_modules/uv-ui-tools/libs/mixin/button.js | 13 +
uni_modules/uv-ui-tools/libs/mixin/mixin.js | 172 +
uni_modules/uv-ui-tools/libs/mixin/mpMixin.js | 8 +
uni_modules/uv-ui-tools/libs/mixin/mpShare.js | 13 +
.../uv-ui-tools/libs/mixin/openType.js | 47 +
uni_modules/uv-ui-tools/libs/mixin/touch.js | 59 +
uni_modules/uv-ui-tools/libs/util/dayjs.js | 216 ++
uni_modules/uv-ui-tools/libs/util/route.js | 126 +
uni_modules/uv-ui-tools/package.json | 81 +
uni_modules/uv-ui-tools/readme.md | 23 +
uni_modules/uv-ui-tools/theme.scss | 43 +
uni_modules/wmf-code/README.md | 84 +
uni_modules/wmf-code/changelog.md | 108 +
uni_modules/wmf-code/common/helper.js | 105 +
.../components/w-barcode/w-barcode.vue | 203 ++
.../wmf-code/components/w-qrcode/w-qrcode.vue | 175 +
uni_modules/wmf-code/js_sdk/index.js | 1 +
uni_modules/wmf-code/package.json | 77 +
uni_modules/x-skeleton/changelog.md | 11 +
.../x-skeleton/x-skeleton-configs.js | 147 +
.../components/x-skeleton/x-skeleton.vue | 334 ++
uni_modules/x-skeleton/package.json | 84 +
uni_modules/x-skeleton/readme.md | 93 +
vue.config.js | 9 +
640 files changed, 130029 insertions(+)
create mode 100644 .gitignore
create mode 100644 .vscode/settings.json
create mode 100644 App.vue
create mode 100644 LICENSE
create mode 100644 README.md
create mode 100644 androidPrivacy.json
create mode 100644 changelog.md
create mode 100644 common/css/animation.css
create mode 100644 common/css/business.css
create mode 100644 common/css/lib.css
create mode 100644 common/css/page.css
create mode 100644 common/css/plugins.css
create mode 100644 common/css/theme.css
create mode 100644 common/js/common/base.js
create mode 100644 common/js/common/common.js
create mode 100644 common/js/common/share.js
create mode 100644 common/js/lib/base64.js
create mode 100644 components/activity-list/activity-list.vue
create mode 100644 components/app-admin/app-admin.vue
create mode 100644 components/ask-comments-goods/ask-comments-goods.vue
create mode 100644 components/badge/badge.vue
create mode 100644 components/binding-detail-list/binding-detail-list.vue
create mode 100644 components/binding-list/binding-list.vue
create mode 100644 components/blog-list/blog-list.vue
create mode 100644 components/bottom-line/bottom-line.vue
create mode 100644 components/buy-ordergoodsform/buy-ordergoodsform.vue
create mode 100644 components/cart-para-curve/cart-para-curve.vue
create mode 100644 components/cart/cart.vue
create mode 100644 components/categorylimit-warm-tips/categorylimit-warm-tips.vue
create mode 100644 components/choice-location/choice-location.vue
create mode 100644 components/common/common.vue
create mode 100644 components/copyright/copyright.vue
create mode 100644 components/countdown/countdown.vue
create mode 100644 components/coupon-card/coupon-card.vue
create mode 100644 components/diy/article-list.vue
create mode 100644 components/diy/article-tabs.vue
create mode 100644 components/diy/auxiliary-blank.vue
create mode 100644 components/diy/auxiliary-line.vue
create mode 100644 components/diy/carousel.vue
create mode 100644 components/diy/coupon.vue
create mode 100644 components/diy/custom.vue
create mode 100644 components/diy/data-magic.vue
create mode 100644 components/diy/data-tabs.vue
create mode 100644 components/diy/diy.vue
create mode 100644 components/diy/float-window.vue
create mode 100644 components/diy/footer.vue
create mode 100644 components/diy/goods-list.vue
create mode 100644 components/diy/goods-tabs.vue
create mode 100644 components/diy/header.vue
create mode 100644 components/diy/hot-zone.vue
create mode 100644 components/diy/img-magic.vue
create mode 100644 components/diy/modules/custom/data-group-rendering.vue
create mode 100644 components/diy/modules/custom/data-rendering.vue
create mode 100644 components/diy/modules/custom/model-custom-group.vue
create mode 100644 components/diy/modules/custom/model-icon.vue
create mode 100644 components/diy/modules/custom/model-image.vue
create mode 100644 components/diy/modules/custom/model-lines.vue
create mode 100644 components/diy/modules/custom/model-panel.vue
create mode 100644 components/diy/modules/custom/model-text.vue
create mode 100644 components/diy/modules/data-magic/custom/index.vue
create mode 100644 components/diy/modules/data-magic/magic-carousel.vue
create mode 100644 components/diy/modules/data-magic/product-list-show.vue
create mode 100644 components/diy/modules/data-magic/video/index.vue
create mode 100644 components/diy/modules/image-empty.vue
create mode 100644 components/diy/modules/subscript/index.vue
create mode 100644 components/diy/modules/tabs-view.vue
create mode 100644 components/diy/nav-group.vue
create mode 100644 components/diy/notice.vue
create mode 100644 components/diy/rich-text.vue
create mode 100644 components/diy/search.vue
create mode 100644 components/diy/seckill.vue
create mode 100644 components/diy/tabs-carousel.vue
create mode 100644 components/diy/tabs.vue
create mode 100644 components/diy/title.vue
create mode 100644 components/diy/user-info.vue
create mode 100644 components/diy/video.vue
create mode 100644 components/emoji-popup/emoji-popup.vue
create mode 100644 components/goods-batch-buy/goods-batch-buy.vue
create mode 100644 components/goods-buy/goods-buy.vue
create mode 100644 components/goods-comments/goods-comments.vue
create mode 100644 components/goods-list/goods-list.vue
create mode 100644 components/goods-spec-choice/goods-spec-choice.vue
create mode 100644 components/icon-nav/icon-nav.vue
create mode 100644 components/iconfont/iconfont.vue
create mode 100644 components/layout/layout.vue
create mode 100644 components/magic-list/magic-list.vue
create mode 100644 components/nav-back/nav-back.vue
create mode 100644 components/nav-more/nav-more.vue
create mode 100644 components/no-data/no-data.vue
create mode 100644 components/online-service/online-service.vue
create mode 100644 components/panel-content/panel-content.vue
create mode 100644 components/payment/payment.vue
create mode 100644 components/popup/popup.vue
create mode 100644 components/popupscreen/popupscreen.vue
create mode 100644 components/quick-nav/quick-nav.vue
create mode 100644 components/realstore-cart/realstore-cart.vue
create mode 100644 components/realstore-list/realstore-list.vue
create mode 100644 components/region-picker/region-picker.vue
create mode 100644 components/search/search.vue
create mode 100644 components/share-popup/share-popup.vue
create mode 100644 components/shop-list/shop-list.vue
create mode 100644 components/slider/slider.vue
create mode 100644 components/status-bar-height/status-bar-height.vue
create mode 100644 components/switch/switch.vue
create mode 100644 components/time-select/time-select.vue
create mode 100644 components/title/title.vue
create mode 100644 components/trn-nav/trn-nav.vue
create mode 100644 components/upload/upload.vue
create mode 100644 components/user-base/user-base.vue
create mode 100644 components/wholesale-rules/wholesale-rules.vue
create mode 100644 i18n_tools.config.js
create mode 100644 locale/en.json
create mode 100644 locale/index.js
create mode 100644 locale/zh.json
create mode 100644 main.js
create mode 100644 manifest.json
create mode 100644 node_modules/.package-lock.json
create mode 100644 node_modules/jweixin-module/README.md
create mode 100644 node_modules/jweixin-module/lib/index.js
create mode 100644 node_modules/jweixin-module/package.json
create mode 100644 pages.json
create mode 100644 pages/about/about.css
create mode 100644 pages/about/about.vue
create mode 100644 pages/article-category/article-category.css
create mode 100644 pages/article-category/article-category.vue
create mode 100644 pages/article-detail/article-detail.css
create mode 100644 pages/article-detail/article-detail.vue
create mode 100644 pages/buy/buy.css
create mode 100644 pages/buy/buy.vue
create mode 100644 pages/cart-page/cart-page.vue
create mode 100644 pages/cart/cart.vue
create mode 100644 pages/common/open-setting-location/open-setting-location.css
create mode 100644 pages/common/open-setting-location/open-setting-location.vue
create mode 100644 pages/customview/customview.vue
create mode 100644 pages/design/design.vue
create mode 100644 pages/diy/diy.vue
create mode 100644 pages/error/error.vue
create mode 100644 pages/extraction-address/extraction-address.css
create mode 100644 pages/extraction-address/extraction-address.vue
create mode 100644 pages/goods-category/goods-category.css
create mode 100644 pages/goods-category/goods-category.vue
create mode 100644 pages/goods-comment/goods-comment.css
create mode 100644 pages/goods-comment/goods-comment.vue
create mode 100644 pages/goods-detail/goods-detail.css
create mode 100644 pages/goods-detail/goods-detail.vue
create mode 100644 pages/goods-search-start/goods-search-start.css
create mode 100644 pages/goods-search-start/goods-search-start.vue
create mode 100644 pages/goods-search/goods-search.css
create mode 100644 pages/goods-search/goods-search.vue
create mode 100644 pages/index/index.css
create mode 100644 pages/index/index.vue
create mode 100644 pages/login/login.css
create mode 100644 pages/login/login.vue
create mode 100644 pages/logout/logout.css
create mode 100644 pages/logout/logout.vue
create mode 100644 pages/message/message.vue
create mode 100644 pages/password/password.css
create mode 100644 pages/password/password.vue
create mode 100644 pages/paytips/paytips.css
create mode 100644 pages/paytips/paytips.vue
create mode 100644 pages/personal/personal.css
create mode 100644 pages/personal/personal.vue
create mode 100644 pages/plugins/activity/detail/detail.css
create mode 100644 pages/plugins/activity/detail/detail.vue
create mode 100644 pages/plugins/activity/index/index.css
create mode 100644 pages/plugins/activity/index/index.vue
create mode 100644 pages/plugins/allocation/cashier/cashier.css
create mode 100644 pages/plugins/allocation/cashier/cashier.vue
create mode 100644 pages/plugins/antifakecode/index/index.css
create mode 100644 pages/plugins/antifakecode/index/index.vue
create mode 100644 pages/plugins/ask/comments/comments.vue
create mode 100644 pages/plugins/ask/components/ask-comments/ask-comments.vue
create mode 100644 pages/plugins/ask/detail/detail.css
create mode 100644 pages/plugins/ask/detail/detail.vue
create mode 100644 pages/plugins/ask/form/form.css
create mode 100644 pages/plugins/ask/form/form.vue
create mode 100644 pages/plugins/ask/goods-list/goods-list.css
create mode 100644 pages/plugins/ask/goods-list/goods-list.vue
create mode 100644 pages/plugins/ask/index/index.css
create mode 100644 pages/plugins/ask/index/index.vue
create mode 100644 pages/plugins/ask/user-detail/user-detail.vue
create mode 100644 pages/plugins/ask/user-list/user-list.css
create mode 100644 pages/plugins/ask/user-list/user-list.vue
create mode 100644 pages/plugins/binding/detail/detail.css
create mode 100644 pages/plugins/binding/detail/detail.vue
create mode 100644 pages/plugins/binding/index/index.css
create mode 100644 pages/plugins/binding/index/index.vue
create mode 100644 pages/plugins/blog/comments/comments.vue
create mode 100644 pages/plugins/blog/components/blog-comments/blog-comments.vue
create mode 100644 pages/plugins/blog/detail/detail.vue
create mode 100644 pages/plugins/blog/form/form.css
create mode 100644 pages/plugins/blog/form/form.vue
create mode 100644 pages/plugins/blog/index/index.css
create mode 100644 pages/plugins/blog/index/index.vue
create mode 100644 pages/plugins/blog/search/search.css
create mode 100644 pages/plugins/blog/search/search.vue
create mode 100644 pages/plugins/blog/user-list/user-list.css
create mode 100644 pages/plugins/blog/user-list/user-list.vue
create mode 100644 pages/plugins/brand/index/index.css
create mode 100644 pages/plugins/brand/index/index.vue
create mode 100644 pages/plugins/coin/cash-list/cash-list.css
create mode 100644 pages/plugins/coin/cash-list/cash-list.vue
create mode 100644 pages/plugins/coin/cash/cash.css
create mode 100644 pages/plugins/coin/cash/cash.vue
create mode 100644 pages/plugins/coin/collection/collection.css
create mode 100644 pages/plugins/coin/collection/collection.vue
create mode 100644 pages/plugins/coin/convert-list/convert-list.css
create mode 100644 pages/plugins/coin/convert-list/convert-list.vue
create mode 100644 pages/plugins/coin/convert/convert.css
create mode 100644 pages/plugins/coin/convert/convert.vue
create mode 100644 pages/plugins/coin/detail/detail.css
create mode 100644 pages/plugins/coin/detail/detail.vue
create mode 100644 pages/plugins/coin/recharge-list/recharge-list.css
create mode 100644 pages/plugins/coin/recharge-list/recharge-list.vue
create mode 100644 pages/plugins/coin/recharge-pay/recharge-pay.css
create mode 100644 pages/plugins/coin/recharge-pay/recharge-pay.vue
create mode 100644 pages/plugins/coin/recharge/recharge.css
create mode 100644 pages/plugins/coin/recharge/recharge.vue
create mode 100644 pages/plugins/coin/transaction-list/transaction-list.css
create mode 100644 pages/plugins/coin/transaction-list/transaction-list.vue
create mode 100644 pages/plugins/coin/transfer-list/transfer-list.css
create mode 100644 pages/plugins/coin/transfer-list/transfer-list.vue
create mode 100644 pages/plugins/coin/transfer/transfer.css
create mode 100644 pages/plugins/coin/transfer/transfer.vue
create mode 100644 pages/plugins/coin/user/user.css
create mode 100644 pages/plugins/coin/user/user.vue
create mode 100644 pages/plugins/coupon/detail/detail.vue
create mode 100644 pages/plugins/coupon/index/index.css
create mode 100644 pages/plugins/coupon/index/index.vue
create mode 100644 pages/plugins/coupon/shop/shop.css
create mode 100644 pages/plugins/coupon/shop/shop.vue
create mode 100644 pages/plugins/coupon/user/user.css
create mode 100644 pages/plugins/coupon/user/user.vue
create mode 100644 pages/plugins/delivery/logistics/logistics.css
create mode 100644 pages/plugins/delivery/logistics/logistics.vue
create mode 100644 pages/plugins/delivery/order-detail/order-detail.css
create mode 100644 pages/plugins/delivery/order-detail/order-detail.vue
create mode 100644 pages/plugins/delivery/order/order.css
create mode 100644 pages/plugins/delivery/order/order.vue
create mode 100644 pages/plugins/distribution/extraction-apply/extraction-apply.css
create mode 100644 pages/plugins/distribution/extraction-apply/extraction-apply.vue
create mode 100644 pages/plugins/distribution/extraction-order/extraction-order.css
create mode 100644 pages/plugins/distribution/extraction-order/extraction-order.vue
create mode 100644 pages/plugins/distribution/extraction-switch/extraction-switch.css
create mode 100644 pages/plugins/distribution/extraction-switch/extraction-switch.vue
create mode 100644 pages/plugins/distribution/extraction/extraction.css
create mode 100644 pages/plugins/distribution/extraction/extraction.vue
create mode 100644 pages/plugins/distribution/introduce/introduce.css
create mode 100644 pages/plugins/distribution/introduce/introduce.vue
create mode 100644 pages/plugins/distribution/map/map.css
create mode 100644 pages/plugins/distribution/map/map.vue
create mode 100644 pages/plugins/distribution/order-detail/order-detail.css
create mode 100644 pages/plugins/distribution/order-detail/order-detail.vue
create mode 100644 pages/plugins/distribution/order/order.css
create mode 100644 pages/plugins/distribution/order/order.vue
create mode 100644 pages/plugins/distribution/poster/poster.css
create mode 100644 pages/plugins/distribution/poster/poster.vue
create mode 100644 pages/plugins/distribution/profit-detail/profit-detail.vue
create mode 100644 pages/plugins/distribution/profit/profit.css
create mode 100644 pages/plugins/distribution/profit/profit.vue
create mode 100644 pages/plugins/distribution/promotion-order/promotion-order.css
create mode 100644 pages/plugins/distribution/promotion-order/promotion-order.vue
create mode 100644 pages/plugins/distribution/promotion-user/promotion-user.css
create mode 100644 pages/plugins/distribution/promotion-user/promotion-user.vue
create mode 100644 pages/plugins/distribution/recommend-detail/recommend-detail.css
create mode 100644 pages/plugins/distribution/recommend-detail/recommend-detail.vue
create mode 100644 pages/plugins/distribution/recommend-form/recommend-form.css
create mode 100644 pages/plugins/distribution/recommend-form/recommend-form.vue
create mode 100644 pages/plugins/distribution/recommend-list/recommend-list.vue
create mode 100644 pages/plugins/distribution/team/team.css
create mode 100644 pages/plugins/distribution/team/team.vue
create mode 100644 pages/plugins/distribution/user/user.css
create mode 100644 pages/plugins/distribution/user/user.vue
create mode 100644 pages/plugins/distribution/visit-form/visit-form.css
create mode 100644 pages/plugins/distribution/visit-form/visit-form.vue
create mode 100644 pages/plugins/distribution/visit-list/visit-list.css
create mode 100644 pages/plugins/distribution/visit-list/visit-list.vue
create mode 100644 pages/plugins/excellentbuyreturntocash/profit-detail/profit-detail.vue
create mode 100644 pages/plugins/excellentbuyreturntocash/profit/profit.css
create mode 100644 pages/plugins/excellentbuyreturntocash/profit/profit.vue
create mode 100644 pages/plugins/exchangerate/currency/currency.css
create mode 100644 pages/plugins/exchangerate/currency/currency.vue
create mode 100644 pages/plugins/express/detail/detail.css
create mode 100644 pages/plugins/express/detail/detail.vue
create mode 100644 pages/plugins/form/check/check.vue
create mode 100644 pages/plugins/giftcard/form/form.vue
create mode 100644 pages/plugins/giftcard/index/index.css
create mode 100644 pages/plugins/giftcard/index/index.vue
create mode 100644 pages/plugins/givegift/code/code.css
create mode 100644 pages/plugins/givegift/code/code.vue
create mode 100644 pages/plugins/givegift/gift/gift.css
create mode 100644 pages/plugins/givegift/gift/gift.vue
create mode 100644 pages/plugins/givegift/goods/goods.css
create mode 100644 pages/plugins/givegift/goods/goods.vue
create mode 100644 pages/plugins/givegift/receive/receive.css
create mode 100644 pages/plugins/givegift/receive/receive.vue
create mode 100644 pages/plugins/hospital/patient-list/patient-list.vue
create mode 100644 pages/plugins/hospital/patient/patient.css
create mode 100644 pages/plugins/hospital/patient/patient.vue
create mode 100644 pages/plugins/hospital/prescription/prescription.css
create mode 100644 pages/plugins/hospital/prescription/prescription.vue
create mode 100644 pages/plugins/intellectstools/goods-comments/goods-comments.css
create mode 100644 pages/plugins/intellectstools/goods-comments/goods-comments.vue
create mode 100644 pages/plugins/invoice/invoice-detail/invoice-detail.vue
create mode 100644 pages/plugins/invoice/invoice-saveinfo/invoice-saveinfo.vue
create mode 100644 pages/plugins/invoice/invoice/invoice.css
create mode 100644 pages/plugins/invoice/invoice/invoice.vue
create mode 100644 pages/plugins/invoice/order/order.css
create mode 100644 pages/plugins/invoice/order/order.vue
create mode 100644 pages/plugins/invoice/recharge/recharge.css
create mode 100644 pages/plugins/invoice/recharge/recharge.vue
create mode 100644 pages/plugins/label/detail/detail.css
create mode 100644 pages/plugins/label/detail/detail.vue
create mode 100644 pages/plugins/magic/detail/detail.vue
create mode 100644 pages/plugins/membershiplevelvip/buy/buy.css
create mode 100644 pages/plugins/membershiplevelvip/buy/buy.vue
create mode 100644 pages/plugins/membershiplevelvip/index/index.css
create mode 100644 pages/plugins/membershiplevelvip/index/index.vue
create mode 100644 pages/plugins/membershiplevelvip/member-code/member-code.css
create mode 100644 pages/plugins/membershiplevelvip/member-code/member-code.vue
create mode 100644 pages/plugins/membershiplevelvip/order-detail/order-detail.vue
create mode 100644 pages/plugins/membershiplevelvip/order/order.css
create mode 100644 pages/plugins/membershiplevelvip/order/order.vue
create mode 100644 pages/plugins/membershiplevelvip/poster/poster.css
create mode 100644 pages/plugins/membershiplevelvip/poster/poster.vue
create mode 100644 pages/plugins/membershiplevelvip/profit-detail/profit-detail.vue
create mode 100644 pages/plugins/membershiplevelvip/profit/profit.css
create mode 100644 pages/plugins/membershiplevelvip/profit/profit.vue
create mode 100644 pages/plugins/membershiplevelvip/team/team.css
create mode 100644 pages/plugins/membershiplevelvip/team/team.vue
create mode 100644 pages/plugins/membershiplevelvip/user/user.css
create mode 100644 pages/plugins/membershiplevelvip/user/user.vue
create mode 100644 pages/plugins/ordergoodsform/order/order.css
create mode 100644 pages/plugins/ordergoodsform/order/order.vue
create mode 100644 pages/plugins/orderresources/orderannex/orderannex.css
create mode 100644 pages/plugins/orderresources/orderannex/orderannex.vue
create mode 100644 pages/plugins/points/index/index.css
create mode 100644 pages/plugins/points/index/index.vue
create mode 100644 pages/plugins/points/scan/scan.css
create mode 100644 pages/plugins/points/scan/scan.vue
create mode 100644 pages/plugins/realstore/batchorder-list/batchorder-list.css
create mode 100644 pages/plugins/realstore/batchorder-list/batchorder-list.vue
create mode 100644 pages/plugins/realstore/check/check.vue
create mode 100644 pages/plugins/realstore/detail/detail.css
create mode 100644 pages/plugins/realstore/detail/detail.vue
create mode 100644 pages/plugins/realstore/favor/favor.css
create mode 100644 pages/plugins/realstore/favor/favor.vue
create mode 100644 pages/plugins/realstore/frequencycard-list/frequencycard-list.css
create mode 100644 pages/plugins/realstore/frequencycard-list/frequencycard-list.vue
create mode 100644 pages/plugins/realstore/frequencycard-used/frequencycard-used.vue
create mode 100644 pages/plugins/realstore/index/index.css
create mode 100644 pages/plugins/realstore/index/index.vue
create mode 100644 pages/plugins/realstore/orderallot-detail/orderallot-detail.css
create mode 100644 pages/plugins/realstore/orderallot-detail/orderallot-detail.vue
create mode 100644 pages/plugins/realstore/orderallot-list/orderallot-list.css
create mode 100644 pages/plugins/realstore/orderallot-list/orderallot-list.vue
create mode 100644 pages/plugins/realstore/search/search.css
create mode 100644 pages/plugins/realstore/search/search.vue
create mode 100644 pages/plugins/scanpay/index/index.css
create mode 100644 pages/plugins/scanpay/index/index.vue
create mode 100644 pages/plugins/scanpay/tips/tips.css
create mode 100644 pages/plugins/scanpay/tips/tips.vue
create mode 100644 pages/plugins/seckill/index/index.css
create mode 100644 pages/plugins/seckill/index/index.vue
create mode 100644 pages/plugins/shop/check/check.vue
create mode 100644 pages/plugins/shop/components/shop-header/shop-header.vue
create mode 100644 pages/plugins/shop/design/design.vue
create mode 100644 pages/plugins/shop/detail/detail.css
create mode 100644 pages/plugins/shop/detail/detail.vue
create mode 100644 pages/plugins/shop/favor/favor.css
create mode 100644 pages/plugins/shop/favor/favor.vue
create mode 100644 pages/plugins/shop/index/index.css
create mode 100644 pages/plugins/shop/index/index.vue
create mode 100644 pages/plugins/shop/license/license.vue
create mode 100644 pages/plugins/shop/search/search.css
create mode 100644 pages/plugins/shop/search/search.vue
create mode 100644 pages/plugins/signin/components/user-qrcode/user-qrcode.vue
create mode 100644 pages/plugins/signin/components/user-signin/user-signin.vue
create mode 100644 pages/plugins/signin/detail/detail.css
create mode 100644 pages/plugins/signin/detail/detail.vue
create mode 100644 pages/plugins/signin/user-coming-list/user-coming-list.css
create mode 100644 pages/plugins/signin/user-coming-list/user-coming-list.vue
create mode 100644 pages/plugins/signin/user-qrcode-detail/user-qrcode-detail.vue
create mode 100644 pages/plugins/signin/user-qrcode-saveinfo/user-qrcode-saveinfo.vue
create mode 100644 pages/plugins/signin/user/user.css
create mode 100644 pages/plugins/signin/user/user.vue
create mode 100644 pages/plugins/thirdpartylogin/index/index.css
create mode 100644 pages/plugins/thirdpartylogin/index/index.vue
create mode 100644 pages/plugins/wallet/cash-auth/cash-auth.css
create mode 100644 pages/plugins/wallet/cash-auth/cash-auth.vue
create mode 100644 pages/plugins/wallet/cash-create/cash-create.css
create mode 100644 pages/plugins/wallet/cash-create/cash-create.vue
create mode 100644 pages/plugins/wallet/components/transfer/transfer.vue
create mode 100644 pages/plugins/wallet/components/user-cash/user-cash.vue
create mode 100644 pages/plugins/wallet/components/user-recharge/user-recharge.vue
create mode 100644 pages/plugins/wallet/components/wallet-log/wallet-log.vue
create mode 100644 pages/plugins/wallet/payment-code/payment-code.css
create mode 100644 pages/plugins/wallet/payment-code/payment-code.vue
create mode 100644 pages/plugins/wallet/recharge/recharge.css
create mode 100644 pages/plugins/wallet/recharge/recharge.vue
create mode 100644 pages/plugins/wallet/transfer/transfer.css
create mode 100644 pages/plugins/wallet/transfer/transfer.vue
create mode 100644 pages/plugins/wallet/user-cash-detail/user-cash-detail.vue
create mode 100644 pages/plugins/wallet/user-recharge-detail/user-recharge-detail.vue
create mode 100644 pages/plugins/wallet/user-transfer-detail/user-transfer-detail.vue
create mode 100644 pages/plugins/wallet/user/user.css
create mode 100644 pages/plugins/wallet/user/user.vue
create mode 100644 pages/plugins/wallet/wallet-log-detail/wallet-log-detail.vue
create mode 100644 pages/plugins/weixinliveplayer/detail/detail.css
create mode 100644 pages/plugins/weixinliveplayer/detail/detail.vue
create mode 100644 pages/plugins/weixinliveplayer/index/index.css
create mode 100644 pages/plugins/weixinliveplayer/index/index.vue
create mode 100644 pages/plugins/weixinliveplayer/search/search.css
create mode 100644 pages/plugins/weixinliveplayer/search/search.vue
create mode 100644 pages/setup/setup.css
create mode 100644 pages/setup/setup.vue
create mode 100644 pages/user-address-save/user-address-save.css
create mode 100644 pages/user-address-save/user-address-save.vue
create mode 100644 pages/user-address/user-address.css
create mode 100644 pages/user-address/user-address.vue
create mode 100644 pages/user-favor/user-favor.css
create mode 100644 pages/user-favor/user-favor.vue
create mode 100644 pages/user-goods-browse/user-goods-browse.css
create mode 100644 pages/user-goods-browse/user-goods-browse.vue
create mode 100644 pages/user-goods-comments-form/user-goods-comments-form.css
create mode 100644 pages/user-goods-comments-form/user-goods-comments-form.vue
create mode 100644 pages/user-goods-comments/user-goods-comments.css
create mode 100644 pages/user-goods-comments/user-goods-comments.vue
create mode 100644 pages/user-integral/user-integral.css
create mode 100644 pages/user-integral/user-integral.vue
create mode 100644 pages/user-order-comments/user-order-comments.css
create mode 100644 pages/user-order-comments/user-order-comments.vue
create mode 100644 pages/user-order-detail/user-order-detail.css
create mode 100644 pages/user-order-detail/user-order-detail.vue
create mode 100644 pages/user-order/user-order.css
create mode 100644 pages/user-order/user-order.vue
create mode 100644 pages/user-orderaftersale-detail/user-orderaftersale-detail.css
create mode 100644 pages/user-orderaftersale-detail/user-orderaftersale-detail.vue
create mode 100644 pages/user-orderaftersale/user-orderaftersale.css
create mode 100644 pages/user-orderaftersale/user-orderaftersale.vue
create mode 100644 pages/user/user.css
create mode 100644 pages/user/user.vue
create mode 100644 pages/web-view/web-view.vue
create mode 100644 static/icon/iconfont.css
create mode 100644 static/images/black/tabbar/cart.png
create mode 100644 static/images/black/tabbar/category.png
create mode 100644 static/images/black/tabbar/home.png
create mode 100644 static/images/black/tabbar/user.png
create mode 100644 static/images/blue/tabbar/cart.png
create mode 100644 static/images/blue/tabbar/category.png
create mode 100644 static/images/blue/tabbar/home.png
create mode 100644 static/images/blue/tabbar/user.png
create mode 100644 static/images/brown/tabbar/cart.png
create mode 100644 static/images/brown/tabbar/category.png
create mode 100644 static/images/brown/tabbar/home.png
create mode 100644 static/images/brown/tabbar/user.png
create mode 100644 static/images/common/empty.png
create mode 100644 static/images/common/error.png
create mode 100644 static/images/common/image-empty.png
create mode 100644 static/images/common/round-error-icon.png
create mode 100644 static/images/common/round-success-icon.png
create mode 100644 static/images/common/tabbar/cart.png
create mode 100644 static/images/common/tabbar/category.png
create mode 100644 static/images/common/tabbar/home.png
create mode 100644 static/images/common/tabbar/user.png
create mode 100644 static/images/common/toast-error.png
create mode 100644 static/images/common/user.png
create mode 100644 static/images/common/video.png
create mode 100644 static/images/green/tabbar/cart.png
create mode 100644 static/images/green/tabbar/category.png
create mode 100644 static/images/green/tabbar/home.png
create mode 100644 static/images/green/tabbar/user.png
create mode 100644 static/images/orange/tabbar/cart.png
create mode 100644 static/images/orange/tabbar/category.png
create mode 100644 static/images/orange/tabbar/home.png
create mode 100644 static/images/orange/tabbar/user.png
create mode 100644 static/images/purple/tabbar/cart.png
create mode 100644 static/images/purple/tabbar/category.png
create mode 100644 static/images/purple/tabbar/home.png
create mode 100644 static/images/purple/tabbar/user.png
create mode 100644 static/images/red/tabbar/cart.png
create mode 100644 static/images/red/tabbar/category.png
create mode 100644 static/images/red/tabbar/home.png
create mode 100644 static/images/red/tabbar/user.png
create mode 100644 static/images/yellow/tabbar/cart.png
create mode 100644 static/images/yellow/tabbar/category.png
create mode 100644 static/images/yellow/tabbar/home.png
create mode 100644 static/images/yellow/tabbar/user.png
create mode 100644 template.h5.html
create mode 100644 uniCloud-aliyun/cloudfunctions/getPhoneNumber/index.js
create mode 100644 uniCloud-aliyun/cloudfunctions/getPhoneNumber/package.json
create mode 100644 uni_modules/mp-html/README.md
create mode 100644 uni_modules/mp-html/changelog.md
create mode 100644 uni_modules/mp-html/components/mp-html/mp-html.vue
create mode 100644 uni_modules/mp-html/components/mp-html/node/node.vue
create mode 100644 uni_modules/mp-html/components/mp-html/parser.js
create mode 100644 uni_modules/mp-html/package.json
create mode 100644 uni_modules/mp-html/static/app-plus/mp-html/js/handler.js
create mode 100644 uni_modules/mp-html/static/app-plus/mp-html/js/uni.webview.min.js
create mode 100644 uni_modules/mp-html/static/app-plus/mp-html/local.html
create mode 100644 uni_modules/sp-editor/changelog.md
create mode 100644 uni_modules/sp-editor/components/sp-editor/color-picker.vue
create mode 100644 uni_modules/sp-editor/components/sp-editor/editor-icon.css
create mode 100644 uni_modules/sp-editor/components/sp-editor/iconfont.ttf
create mode 100644 uni_modules/sp-editor/components/sp-editor/sp-editor.vue
create mode 100644 uni_modules/sp-editor/package.json
create mode 100644 uni_modules/sp-editor/readme.md
create mode 100644 uni_modules/uni-datetime-picker/changelog.md
create mode 100644 uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar-item.vue
create mode 100644 uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar.vue
create mode 100644 uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/en.json
create mode 100644 uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/index.js
create mode 100644 uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/zh-Hans.json
create mode 100644 uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/zh-Hant.json
create mode 100644 uni_modules/uni-datetime-picker/components/uni-datetime-picker/time-picker.vue
create mode 100644 uni_modules/uni-datetime-picker/components/uni-datetime-picker/uni-datetime-picker.vue
create mode 100644 uni_modules/uni-datetime-picker/components/uni-datetime-picker/util.js
create mode 100644 uni_modules/uni-datetime-picker/package.json
create mode 100644 uni_modules/uni-datetime-picker/readme.md
create mode 100644 uni_modules/uni-icons/changelog.md
create mode 100644 uni_modules/uni-icons/components/uni-icons/icons.js
create mode 100644 uni_modules/uni-icons/components/uni-icons/uni-icons.vue
create mode 100644 uni_modules/uni-icons/components/uni-icons/uniicons.css
create mode 100644 uni_modules/uni-icons/components/uni-icons/uniicons.ttf
create mode 100644 uni_modules/uni-icons/package.json
create mode 100644 uni_modules/uni-icons/readme.md
create mode 100644 uni_modules/uni-notice-bar/changelog.md
create mode 100644 uni_modules/uni-notice-bar/components/uni-notice-bar/uni-notice-bar.vue
create mode 100644 uni_modules/uni-notice-bar/package.json
create mode 100644 uni_modules/uni-notice-bar/readme.md
create mode 100644 uni_modules/uni-popup/changelog.md
create mode 100644 uni_modules/uni-popup/components/uni-popup-dialog/keypress.js
create mode 100644 uni_modules/uni-popup/components/uni-popup-dialog/uni-popup-dialog.vue
create mode 100644 uni_modules/uni-popup/components/uni-popup-message/uni-popup-message.vue
create mode 100644 uni_modules/uni-popup/components/uni-popup-share/uni-popup-share.vue
create mode 100644 uni_modules/uni-popup/components/uni-popup/i18n/en.json
create mode 100644 uni_modules/uni-popup/components/uni-popup/i18n/index.js
create mode 100644 uni_modules/uni-popup/components/uni-popup/i18n/zh-Hans.json
create mode 100644 uni_modules/uni-popup/components/uni-popup/i18n/zh-Hant.json
create mode 100644 uni_modules/uni-popup/components/uni-popup/keypress.js
create mode 100644 uni_modules/uni-popup/components/uni-popup/popup.js
create mode 100644 uni_modules/uni-popup/components/uni-popup/uni-popup.vue
create mode 100644 uni_modules/uni-popup/package.json
create mode 100644 uni_modules/uni-popup/readme.md
create mode 100644 uni_modules/uni-rate/changelog.md
create mode 100644 uni_modules/uni-rate/components/uni-rate/uni-rate.vue
create mode 100644 uni_modules/uni-rate/package.json
create mode 100644 uni_modules/uni-rate/readme.md
create mode 100644 uni_modules/uni-scss/changelog.md
create mode 100644 uni_modules/uni-scss/index.scss
create mode 100644 uni_modules/uni-scss/package.json
create mode 100644 uni_modules/uni-scss/readme.md
create mode 100644 uni_modules/uni-scss/styles/index.scss
create mode 100644 uni_modules/uni-scss/styles/setting/_border.scss
create mode 100644 uni_modules/uni-scss/styles/setting/_color.scss
create mode 100644 uni_modules/uni-scss/styles/setting/_radius.scss
create mode 100644 uni_modules/uni-scss/styles/setting/_space.scss
create mode 100644 uni_modules/uni-scss/styles/setting/_styles.scss
create mode 100644 uni_modules/uni-scss/styles/setting/_text.scss
create mode 100644 uni_modules/uni-scss/styles/setting/_variables.scss
create mode 100644 uni_modules/uni-scss/styles/tools/functions.scss
create mode 100644 uni_modules/uni-scss/theme.scss
create mode 100644 uni_modules/uni-scss/variables.scss
create mode 100644 uni_modules/uni-swipe-action/changelog.md
create mode 100644 uni_modules/uni-swipe-action/components/uni-swipe-action-item/bindingx.js
create mode 100644 uni_modules/uni-swipe-action/components/uni-swipe-action-item/isPC.js
create mode 100644 uni_modules/uni-swipe-action/components/uni-swipe-action-item/mpalipay.js
create mode 100644 uni_modules/uni-swipe-action/components/uni-swipe-action-item/mpother.js
create mode 100644 uni_modules/uni-swipe-action/components/uni-swipe-action-item/mpwxs.js
create mode 100644 uni_modules/uni-swipe-action/components/uni-swipe-action-item/render.js
create mode 100644 uni_modules/uni-swipe-action/components/uni-swipe-action-item/uni-swipe-action-item.vue
create mode 100644 uni_modules/uni-swipe-action/components/uni-swipe-action-item/wx.wxs
create mode 100644 uni_modules/uni-swipe-action/components/uni-swipe-action/uni-swipe-action.vue
create mode 100644 uni_modules/uni-swipe-action/package.json
create mode 100644 uni_modules/uni-swipe-action/readme.md
create mode 100644 uni_modules/uni-swiper-dot/changelog.md
create mode 100644 uni_modules/uni-swiper-dot/components/uni-swiper-dot/uni-swiper-dot.vue
create mode 100644 uni_modules/uni-swiper-dot/package.json
create mode 100644 uni_modules/uni-swiper-dot/readme.md
create mode 100644 uni_modules/uni-transition/changelog.md
create mode 100644 uni_modules/uni-transition/components/uni-transition/createAnimation.js
create mode 100644 uni_modules/uni-transition/components/uni-transition/uni-transition.vue
create mode 100644 uni_modules/uni-transition/package.json
create mode 100644 uni_modules/uni-transition/readme.md
create mode 100644 uni_modules/uv-ui-tools/changelog.md
create mode 100644 uni_modules/uv-ui-tools/components/uv-ui-tools/uv-ui-tools.vue
create mode 100644 uni_modules/uv-ui-tools/index.js
create mode 100644 uni_modules/uv-ui-tools/index.scss
create mode 100644 uni_modules/uv-ui-tools/libs/config/config.js
create mode 100644 uni_modules/uv-ui-tools/libs/css/color.scss
create mode 100644 uni_modules/uv-ui-tools/libs/css/common.scss
create mode 100644 uni_modules/uv-ui-tools/libs/css/components.scss
create mode 100644 uni_modules/uv-ui-tools/libs/css/variable.scss
create mode 100644 uni_modules/uv-ui-tools/libs/css/vue.scss
create mode 100644 uni_modules/uv-ui-tools/libs/function/colorGradient.js
create mode 100644 uni_modules/uv-ui-tools/libs/function/debounce.js
create mode 100644 uni_modules/uv-ui-tools/libs/function/digit.js
create mode 100644 uni_modules/uv-ui-tools/libs/function/index.js
create mode 100644 uni_modules/uv-ui-tools/libs/function/platform.js
create mode 100644 uni_modules/uv-ui-tools/libs/function/test.js
create mode 100644 uni_modules/uv-ui-tools/libs/function/throttle.js
create mode 100644 uni_modules/uv-ui-tools/libs/luch-request/adapters/index.js
create mode 100644 uni_modules/uv-ui-tools/libs/luch-request/core/InterceptorManager.js
create mode 100644 uni_modules/uv-ui-tools/libs/luch-request/core/Request.js
create mode 100644 uni_modules/uv-ui-tools/libs/luch-request/core/buildFullPath.js
create mode 100644 uni_modules/uv-ui-tools/libs/luch-request/core/defaults.js
create mode 100644 uni_modules/uv-ui-tools/libs/luch-request/core/dispatchRequest.js
create mode 100644 uni_modules/uv-ui-tools/libs/luch-request/core/mergeConfig.js
create mode 100644 uni_modules/uv-ui-tools/libs/luch-request/core/settle.js
create mode 100644 uni_modules/uv-ui-tools/libs/luch-request/helpers/buildURL.js
create mode 100644 uni_modules/uv-ui-tools/libs/luch-request/helpers/combineURLs.js
create mode 100644 uni_modules/uv-ui-tools/libs/luch-request/helpers/isAbsoluteURL.js
create mode 100644 uni_modules/uv-ui-tools/libs/luch-request/index.d.ts
create mode 100644 uni_modules/uv-ui-tools/libs/luch-request/index.js
create mode 100644 uni_modules/uv-ui-tools/libs/luch-request/utils.js
create mode 100644 uni_modules/uv-ui-tools/libs/luch-request/utils/clone.js
create mode 100644 uni_modules/uv-ui-tools/libs/mixin/button.js
create mode 100644 uni_modules/uv-ui-tools/libs/mixin/mixin.js
create mode 100644 uni_modules/uv-ui-tools/libs/mixin/mpMixin.js
create mode 100644 uni_modules/uv-ui-tools/libs/mixin/mpShare.js
create mode 100644 uni_modules/uv-ui-tools/libs/mixin/openType.js
create mode 100644 uni_modules/uv-ui-tools/libs/mixin/touch.js
create mode 100644 uni_modules/uv-ui-tools/libs/util/dayjs.js
create mode 100644 uni_modules/uv-ui-tools/libs/util/route.js
create mode 100644 uni_modules/uv-ui-tools/package.json
create mode 100644 uni_modules/uv-ui-tools/readme.md
create mode 100644 uni_modules/uv-ui-tools/theme.scss
create mode 100644 uni_modules/wmf-code/README.md
create mode 100644 uni_modules/wmf-code/changelog.md
create mode 100644 uni_modules/wmf-code/common/helper.js
create mode 100644 uni_modules/wmf-code/components/w-barcode/w-barcode.vue
create mode 100644 uni_modules/wmf-code/components/w-qrcode/w-qrcode.vue
create mode 100644 uni_modules/wmf-code/js_sdk/index.js
create mode 100644 uni_modules/wmf-code/package.json
create mode 100644 uni_modules/x-skeleton/changelog.md
create mode 100644 uni_modules/x-skeleton/components/x-skeleton/x-skeleton-configs.js
create mode 100644 uni_modules/x-skeleton/components/x-skeleton/x-skeleton.vue
create mode 100644 uni_modules/x-skeleton/package.json
create mode 100644 uni_modules/x-skeleton/readme.md
create mode 100644 vue.config.js
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..e31c20b
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,7 @@
+.DS_Store
+.hbuilderx
+*.log
+unpackage
+sitemap.json
+.prettierrc.cjs
+pages/diy/init_data.js
diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 0000000..7a73a41
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,2 @@
+{
+}
\ No newline at end of file
diff --git a/App.vue b/App.vue
new file mode 100644
index 0000000..714e2ea
--- /dev/null
+++ b/App.vue
@@ -0,0 +1,3160 @@
+
+
\ No newline at end of file
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..6610949
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2024 ShopXO免费开源商城 - uniapp手机端
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..3505d46
--- /dev/null
+++ b/README.md
@@ -0,0 +1,68 @@
+
+
+
+
+ShopXO企业级免费开源电商系统 - uniapp手机端
+
+
+
+```shell
+如果对您有帮助,您可以点右上角 “Star” 收藏一下 ,获取第一时间更新,谢谢!
+```
+
+
+
+------------------------------------------------------------------------
+
+#### 项目介绍
+* 后端支持依托于ShopXO免费开源电商系统开发的uniapp端主题源码
+* 支持可视化DIY拖拽装修,内置几十种标准组件,热区、魔方、自定义等等...
+* 默认内置8中搭配主色(可自行扩展更多配色)、自由快捷切换适应各大行业需求
+* 已支持小程序(微信、QQ、百度、支付宝、头条&抖音、快手)+ H5 + APP
+
+#### 使用教程
+`程序打包操作需要有一定的编程技术基础、如需帮助请到git平台提issues寻求帮助`
+* 打包教程 [https://doc.shopxo.net/article/1/293727233598554112.html](https://doc.shopxo.net/article/1/293727233598554112.html)
+
+1. 先安装ShopXO免费开源系统 [http://install.shopxo.net/](http://install.shopxo.net/)
+2. 将该源码导入HBuilderX开发工具、顶部工具栏 `运行->运行到小程序模拟器->(根据支持平台自行选择、如 微信开发者工具)`
+3. App.vue中修改 request_url 和 static_url 地址为自己的商城地址即可使用
+4. 主题默认为红色(red),如更改主题 App.vue文件中修改 default_theme 默认主题标识,也可以到商店搜索【默认主题样式】远程控制主题配色
+5. 发布、HBuilderX开发工具、顶部工具栏 `发行->(根据支持平台自行选择、如 微信开发者工具)`
+
+#### 官方QQ群、答案`shopxo.net`
+* 官方uniapp群:679303149
+
+#### 体验码
+
+
+
+#### 当前项目源代码平台
+* Gitee:[https://gitee.com/zongzhige/shopxo-uniapp](https://gitee.com/zongzhige/shopxo-uniapp)
+* GitHub:[https://github.com/gongfuxiang/shopxo-uniapp](https://github.com/gongfuxiang/shopxo-uniapp)
+* Coding:[https://zongzhige.coding.net/public/shopxo/uniapp/git](https://zongzhige.coding.net/public/shopxo/uniapp/git)
+* GitCode:[https://gitcode.net/zongzhige/shopxo-uniapp](https://gitcode.net/zongzhige/shopxo-uniapp)
+* uni-app:[https://ext.dcloud.net.cn/plugin?id=6380](https://ext.dcloud.net.cn/plugin?id=6380)
+
+#### ShopXO后端源代码平台
+* Gitee:[https://gitee.com/zongzhige/shopxo](https://gitee.com/zongzhige/shopxo)
+* GitHub:[https://github.com/gongfuxiang/shopxo](https://github.com/gongfuxiang/shopxo)
+* Coding:[https://zongzhige.coding.net/public/shopxo/shopxo/git](https://zongzhige.coding.net/public/shopxo/shopxo/git)
+* GitCode:[https://gitcode.net/zongzhige/shopxo](https://gitcode.net/zongzhige/shopxo)
+
+#### DIY装修源代码平台
+* Gitee:[https://gitee.com/zongzhige/shopxo-diy](https://gitee.com/zongzhige/shopxo-diy)
+* GitHub:[https://github.com/gongfuxiang/shopxo-diy](https://github.com/gongfuxiang/shopxo-diy)
+* GitCode:[https://gitcode.net/zongzhige/shopxo-diy](https://gitcode.net/zongzhige/shopxo-diy)
+
+#### API接口文档
+* [https://doc.shopxo.net/article/2.html](https://doc.shopxo.net/article/2.html)
+
+#### 小程序支持多种配色
+
+
+#### 小程序效果图片
+
+
+#### 小程序DIY装修
+
\ No newline at end of file
diff --git a/androidPrivacy.json b/androidPrivacy.json
new file mode 100644
index 0000000..1662371
--- /dev/null
+++ b/androidPrivacy.json
@@ -0,0 +1,35 @@
+{
+ "version" : "1",
+ "prompt" : "template",
+ "title" : "服务协议和隐私政策",
+ "message" : " 请你务必审慎阅读、充分理解“服务协议”和“隐私政策”各条款,包括但不限于:为了更好的向你提供服务,我们需要收集你的设备标识、操作日志等信息用于分析、优化应用性能。
你可阅读《服务协议》和《隐私政策》了解详细信息。如果你同意,请点击下面按钮开始接受我们的服务。",
+ "buttonAccept" : "同意并接受",
+ "buttonRefuse" : "暂不同意",
+ "hrefLoader" : "system|default",
+ "backToExit" : "false",
+ "second" : {
+ "title" : "确认提示",
+ "message" : " 进入应用前,你需先同意《服务协议》和《隐私政策》,否则将退出应用。",
+ "buttonAccept" : "同意并继续",
+ "buttonRefuse" : "退出应用"
+ },
+ "disagreeMode" : {
+ "support" : false,
+ "loadNativePlugins" : false,
+ "visitorEntry" : false,
+ "showAlways" : true
+ },
+ "styles" : {
+ "backgroundColor" : "#fff",
+ "borderRadius" : "6px",
+ "title" : {
+ "color" : "#333"
+ },
+ "buttonAccept" : {
+ "color" : "#52C41A"
+ },
+ "buttonRefuse" : {
+ "color" : "#f02720"
+ }
+ }
+}
diff --git a/changelog.md b/changelog.md
new file mode 100644
index 0000000..8b61842
--- /dev/null
+++ b/changelog.md
@@ -0,0 +1,423 @@
+## v6.5.0(2025-03-05)
+1. DIY新增数据选项卡、自定义增强优化
+2. DIY浮动导航支持快捷导航
+3. 订单单号支持复制
+4. 在线客服企业微信客服适配h5处理
+5. 多商户首页支持分类筛选
+6. 商品、文章、活动配置、组合搭配、博客、门店、多商户支持分享图片
+7. 商品详情购买按钮增加链接和复制事件
+8. 门店类型选择优化
+9. 支持同城模式
+10. 新增问诊开方支持购物车
+11. 优惠券新增详情
+
+
+## v6.4.0(2024-12-25)
+1. 支付宝小程序兼容性优化
+2. DIY支持新特性和细节优化
+3. 问答支持富文本
+4. 博客详情无数据错误修复
+5. 门店支持最近选择、地图搜索选择、当前门店切换、支持强制选择门店
+6. 开票支持钱包充值
+7. 用户中心菜单支持未登录展示
+8. 基础信息填写支持授权即提示、并支持手机号码一键绑定
+9. 支付组件优化
+10. 系统扫码默认走商品搜索,门店详情扫码无效修复
+11. 积分商城首页优化
+12. 下单支持填写联系人、联系电话、配送时间
+13. 新增微信小程序收货组件确认
+14. 订单支持订单资源插件
+15. 扫码登录地址解析错误优化
+16. 底部菜单判断优化
+17. app评分优化
+
+
+## v6.3.0(2024-10-22)
+1. 新增DIY装修,可以自由设计模板
+2. 底部菜单后台DIY管理、并保留原生
+3. 商品足迹,增加收藏支持加入购物车
+4. 商品评论优化
+5. 初始化配置优化
+6. 扫码细节优化,适配h5
+7. 多商户支持二级分类、头部分离优化
+8. 全站走大圆角风格
+9. 新增公共commom组件、支持onshow事件
+10. 微信隐私提示、app管理、用户基础使用提到公共层
+11. 定位独立为组件
+12. 新增系统扫码统一接口
+13. 新增协议
+14. 新增送礼插件
+15. 商品详情导航优化
+16. 支付优化
+17. 充值支付方式未选中修复
+18. 文章,门店优化
+19. 多商户和门店新增核销
+20. 礼品卡卡密数据展示优化,新增扫码兑换
+21. 多语言优化
+22. 优惠券细节优化
+
+
+
+## v6.2.0.5(2024-07-11)
+1. 门店基础模式优化支持(基础、商品、基础+商品)
+2. 文章增加封面支持
+
+
+
+## v6.2.0.4(2024-07-10)
+1. 商品详情更多门店追踪商品
+
+
+
+## v6.2.0.3(2024-07-09)
+1. 多商户和门店新增核销
+
+
+
+## v6.2.0.2(2024-07-06)
+1. 礼品卡卡密数据展示优化
+2. 礼品卡新增扫码兑换
+
+
+
+## v6.2.0.1(2024-07-05)
+1. 修复安卓app下多语言切换无效问题
+
+
+
+## v6.2.0(2024-07-04)
+1. 新增礼品卡
+2. 搜索需要登录优化
+3. 登录input优化
+4. 支持多语言
+5. 增加企业微信客服支持
+6. 增加app版本更新
+7. 增加app评分提示
+8. 增加关于我们页面
+9. 钱包提现增加手续费
+10. 首页商品魔方白色模式错误修复
+11. 基础模式支持商品展示
+12. 店铺简介改为富文本编辑器
+13. 商品规格只有一级初始化优化
+14. 购物车页面底部导航高度优化
+15. 支持防伪码扫码
+16. 批量下单商品规格图片支持放大查看
+17. 新增骨架屏
+18. 页面加载层优化
+19. 排序和导航搜索展示加载
+20. 订单售后页面客服优化
+21. 订单开票加载错误修复
+22. 新增获取用户当前位置
+23. 订单售后详情入口地址错误修复
+24. 其他细节优化
+25. 门店和多商户客服展示优化
+26. 门店新增基础模式
+27. 首页中间广告展示优化
+28. 独立购物车页面左上角返回按钮颜色错误修复
+29. 订单和门店订单快递信息未正常展示修复
+30. 钱包优化字段错误修复
+31. 商品详情问答优化展示错误修复,及首页加载优化
+32. 购物车滑动删除收藏数据类型错误修复
+33. 设置页面未登录也可以进入
+34. app新增打开权限控制管理
+
+
+
+## v6.1.0(2024-04-25)
+1. 秒杀首页无数据报错修复
+2. 商品页面批发展示优化
+3. 积分商城首页优
+4. 多商户和多门店客服样式优化
+5. 多商户领券和组合搭配优化
+6. 门店下单优化
+7. 商品页面门店模式下底部操作按钮新增加载
+8. 加载层logo默认读取后台配置
+9. 优化支付宝小程序自定义页面标题
+10. 第三方账户绑定去掉小程序入口
+11. 魔方新增更多样式
+12. 底部名称直接读取站点名称
+13. 商品、博文轮播图片模式优化
+14. 商品页批发属性未定义错误修复
+15. 虚拟币页面加载细节优化
+
+
+
+## v6.0.0(2024-04-15)
+1. 地址导入错误修复
+2. 商品支持指定规格选中
+3. 支付app优化,首页标题优化
+4. 商品规格点击支持展示模式
+5. 积分商城扫码领取积分
+6. 购物车顶部导航优化,适配支付宝小程序
+7. 选择系统地址优化
+8. 购物车,分类优化
+9. 物流查询支持多包裹
+10. 下单运费支持多运费选择
+11. 商品是否展示和符号及单位适配
+12. 多语言切换优化
+13. 首页汇率切换模仿价格不改变原因修复
+14. paypal支付支持
+15. 无网络提示优化
+16. 博客上传图片错误,首页顶部背景色,分享地址优化
+17. 组件优化公共和局部组件
+18. 增加虚拟币插件(可转账、转换、充值、提现、支付)
+19. 登录和手机绑定优化
+20. 支持密码修改
+21. 支持绑定邮箱
+22. 支持绑定第三方登录(微信、qq、支付宝)
+23. 修复店铺布局错乱问题
+24. 分包预加载优化
+25. 打开商品速度优化
+26. 首页打开速度优化
+27. 购物车支持优惠明细查看
+28. 地址一键导入错误修复
+29. 多语言兼容头条/抖音小程序
+30. pages支持多语言切换
+31. 商品支持指定规格选中
+
+
+
+## v5.0.0(2024-01-19)
+1. 支持APP(IOS+Android)
+2. 支持多语言(中文、繁体、英文、西班牙)
+3. 购物车支持优惠预计算展示
+4. 购物车支持门店购物车双向切换
+5. 商品页支持门店购物车展示
+6. 门店详情支持默认下单类型选择提示
+7. 支持博文发布
+8. 新增商品评论
+9. 支持订单商品表单
+10. 新增下单备注预选择
+11. 汇率切换支持图标
+12. 订单再次购买支持回购和加购物车选择
+13. APP登录支持(微信、QQ、苹果、谷歌、本机手机)
+14. 商品分类页面带排序
+15. 订单仅之前的支付方式可支付
+16. 下单积分自定义
+17. 首页支持地理位置选择
+18. h5下首页搜搜框宽度错位优化
+19. 地址复制错别字优化
+20. 问答分享地址优化
+21. 钱包充值页面空修复,问答评论优化
+22. 博客评价开关优化
+23. 用户中心样式优化
+24. 分类页面H5优化
+25. 兼容支付宝小程序样式
+
+
+
+## v4.0.0(2023-11-10)
+1. 手机端全新UI、极致体验优化
+2. 首页轮播支持背景色自动切换
+3. 分配页面支持全部分配查看
+4. 钱包支持转账
+5. 新增扫码登录及付款
+6. 新增商品魔方
+7. 购物车新增商品展示
+8. 问答支持评论和点赞
+9. 客服和快捷导航优化
+10. 商品详情分享和收藏优化
+
+
+## v3.0.3(2023-09-18)
+1. 组合搭配支持展示商品
+2. 商品列表去除封面错误提示
+
+
+## v3.0.2(2023-09-11)
+1. 用户基础信息填写,昵称判断有误修复
+2. 订单售后退货地址错误修复
+3. 新增微信小程序隐私弹窗说明
+
+
+## v3.0.1(2023-09-03)
+1. 用户基础信息web端错误修复
+2. 关闭按钮多端兼容性处理
+3. 下单页面积分使用提示优化
+
+
+## v3.0.0(2023-08-28)
+1. 新增微信小程序可以提示完善头像及昵称
+2. ipad模型下uniapp顶部错位
+3. 分销支持订单信息插件及数据统计GMV维度、我的团队新增搜索条件
+4. 秒杀适配v3.0新版本
+5. 购物车列表默认选中
+6. 购物车抛物线优化、搜索页面新增页面搜索框,分类页面支持搜索进入独立页面
+7. 组合搭配支持首页展示和组建封装
+8. 数据列表读取避免重复请求
+9. 分类页面支持标签展示
+10. 多商户支持评分、资质查看
+11. 开票默认值优化
+12. form表单支付错误处理
+13. 购物车无效商品支持选择删除
+14. 快捷加购错误修复
+15. 批量下单数量更新价格错误修复
+16. 单页打开领取优惠券提示
+17. 分包优化
+
+
+## v2.3.3(2023-04-10)
+* 商品列表使用统一组件
+* 商品参数新增弹窗展示
+* 初始访问登录页面优化
+* 公共url打开支持地图、电话、外部小程序协议方式
+* 适配手机底部横线
+* 轮播兼容iphone圆角失效问题
+* 用户中心菜单支持列表展示样式
+* 搜索页面支持九方格和列表展示样式
+* 分类支持参数指定跳转
+* icon导航图标支持纯图片
+* 分类和门店详情适配规格起购数及限购数
+* 起购数和限购数提升 到商品规格级别
+* 地址新增编号快速搜索选择
+* 订单售后页面新增客服展示
+* 购买和加购分离统一组件
+* 提现初始错误修复
+* 立即购买支持多商品
+* 积分使用兑换不足提示
+* 博客新增评论、点赞
+* 新增组合搭配
+* 新增列表快捷加入购物车
+* 商品列表新增错误提示
+* 商家详情新增搜索全站开关控制
+* 门店详情新增扫码开关控制
+* 新增多规格批量下单
+* 插件分包处理
+
+
+## v2.3.2(2022-11-30)
+* 门店详情支持多规格直接加购
+* 分类页面支持多规格直接加购+购物车操作
+* 新增会员码
+* 新增钱包付款码
+* 新增个人资料修改
+* 新增手机号码修改
+* 新增账号注销
+* 新增条码二维码生成组件
+* 新增用户ID展示
+* 购物车分离优化
+* 适配微信小程序登录新规
+* 可视化新增图文、图片魔方、自定义html组件,商品支持左图右文样式
+* 下单时间优化、支持默认提示
+
+
+## v2.3.1(2022-10-23)
+* 支付宝获取地图权限优化
+* 头条小程序分类不铺满问题修复
+* 优化商品分类滑动方案
+* 位置选择优化
+
+
+## v2.3.0(2022-08-16)
+* 左右滚动最后一个元素显示不全修复
+* 适配paypal支付
+* 会员购买支付优化
+* 去除头条小程序自定义导航
+* 新增虚拟订单快速提交订单
+* 头条小程序支持一键获取手机号码登录
+* 多商户首页支持自动模式
+* 优惠券支持多商户
+* 商品错误情况下新增返回按钮
+* 限时秒杀优化
+* 博客搜索页面分享优化
+
+
+## v2.2.9(2022-07-11)
+* 首页插件数据支持按顺序渲染
+* 商品分类支持商品列表模式展示
+* 商品详情支持默认选中第一个有效规格
+* 商品详情快捷加购自动返回
+* 下单地址限制优化
+* 多商户首页支持多种样式展示
+* 商品url地址使用后端生成、购买导航新增url事件、左侧返回优化
+* 登录绑定手机返回优化
+* 搜索页面优化、避免返回事件重复加载
+
+
+## v2.2.8(2022-05-20)
+* 活动配置首页推荐支持(图文、九方格、左右滚动)样式展示
+* 多商户新增店铺认证资质展示
+* 门店详情支持二级分类
+* 可视化数据处理错误修复
+* 退出仅清除用户信息、微信自动登录强制绑定账号循环修复
+* 主题色样式class错误修复
+* 适配快手小程序
+
+
+## v2.2.7(2022-04-22)
+* 用户地址支持地理位置选择和地址信息智能识别
+* 登录返回上一页,h5支持微信自动登录
+* 门店首页新增地理位置选择弹窗、门店详情优化
+* 商品详情页面导航返回逻辑优化
+* 首页搜索和导航固定控制优化
+* 博客详情新增分享入口
+* 门店详情新增返回按钮关闭开关(适合独立打包)
+
+
+## v2.2.6(2022-04-07)
+* 集成新的客服系统、商品页调整为底部导航入口
+* 下单可直接使用门店次卡消费
+* 门店详情数据改为分页模式、提高效率
+* 商品详情新增相关门店列表入口
+* 商品详情底部导航购物车新增可控开关
+* 商品详情页提示优化
+* 新增可关闭原始购买功能、仅可进入门店购买
+* 标签详情分享地址id为空修复
+* 支持设置默认下单类型
+* 新增商品详情购物车展示开关(App.vue中设置)
+* 新增分享及转发使用页面设置的默认图片及系统默认图片开关(App.vue中设置)
+
+
+## v2.2.5(2022-03-10)
+* 基础组件类库更新
+* 商品详情新增智能工具插件信息提示
+* 订单取消后隐藏支付按钮,细节优化
+* 登录加提现优化
+* 去除微信圈子组件
+* 分享默认地址优化
+* 新增门店独立首页和搜索页
+* 新增分享及转发使用页面设置的图片开关
+
+
+## v2.2.4(2022-02-16)
+* 商品海报配置优化
+* 博客支持首页展示及优化
+* 新增门店列表和详情
+* 商品支持自定义返回
+* 支持自定义购买模式
+* 适配第三方登录插件
+* 下单支持0元不用选择支付方式
+* 下单页面支持指定时间选择
+* 系统参数读取优化
+
+
+## v2.2.3(2021-12-13)
+* 整体适配H5端
+* 订单、钱包、会员等级支付优化适配
+* 支持(账号、手机、邮箱)登录注册方式
+* 分享逻辑优化全局处理
+* 分销新增上级用户、阶梯返佣提示
+* 新增独立新增错误页面
+* 适配第三方登录插件
+* 支持线下支付自定义信息展示
+* 规格切换购买数量错误修复
+* 富文本详情支持视频、超链接、图片预览
+
+
+## v2.2.2(2021-11-23)
+* 限时秒杀插件支持独立首页
+* 活动配置插件支持优惠价格设定
+* 标签插件
+* 中间广告插件
+* 弹屏广告插件
+* 哀悼插件
+* 文章支持分类页面
+* 博客插件
+* 分销、会员等级增强版、钱包全面支持小程序
+* 用户授权获取用户信息API
+* 可视化索引读取错误修复
+* 支持菜鸟物流查询
+
+
+## v2.2.1(2021-10-24)
+* 支持微信小程序(首页、分类、购物车、用户中心、商品搜索、商品详情、订单确认、授权登录、订单管理、订单售后、商品收藏、商品足迹、直播、签到、积分商城、多商户、钱包、批发)
\ No newline at end of file
diff --git a/common/css/animation.css b/common/css/animation.css
new file mode 100644
index 0000000..65f6184
--- /dev/null
+++ b/common/css/animation.css
@@ -0,0 +1,712 @@
+
+/*
+* 垂直放大
+*/
+.scale-up-ver-bottom {
+ -webkit-animation: scale-up-ver-bottom 1s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;
+ animation: scale-up-ver-bottom 1s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;
+}
+
+.scale-up-ver-bottom-infinite {
+ -webkit-animation: scale-up-ver-bottom 1s cubic-bezier(0.390, 0.575, 0.565, 1.000) infinite both;
+ animation: scale-up-ver-bottom 1s cubic-bezier(0.390, 0.575, 0.565, 1.000) infinite both;
+}
+@keyframes scale-up-ver-bottom {
+ 0% {
+ -webkit-transform: scaleY(0.4);
+ transform: scaleY(0.4);
+ -webkit-transform-origin: 50%;
+ transform-origin: 50%;
+ }
+ 80% {
+ -webkit-transform: scaleY(1);
+ transform: scaleY(1);
+ -webkit-transform-origin: 50%;
+ transform-origin: 50%;
+ }
+ 85% {
+ -webkit-transform: rotate(-8deg);
+ transform: rotate(-8deg);
+ }
+ 95% {
+ -webkit-transform: rotate(8deg);
+ transform: rotate(8deg);
+ }
+ 100% {
+ -webkit-transform: rotate(0);
+ transform: rotate(0);
+ }
+}
+/*
+* 交替垂直放大
+*/
+.scale-up-ver-bottom-alternate {
+ -webkit-animation: scale-up-ver-bottom-alternate 1s cubic-bezier(0.390, 0.575, 0.565, 1.000) alternate both;
+ animation: scale-up-ver-bottom-alternate 1s cubic-bezier(0.390, 0.575, 0.565, 1.000) alternate both;
+}
+.scale-up-ver-bottom-alternate-infinite {
+ -webkit-animation: scale-up-ver-bottom-alternate 1s cubic-bezier(0.390, 0.575, 0.565, 1.000) infinite alternate both;
+ animation: scale-up-ver-bottom-alternate 1s cubic-bezier(0.390, 0.575, 0.565, 1.000) infinite alternate both;
+}
+@keyframes scale-up-ver-bottom-alternate {
+ 0% {
+ -webkit-transform: scaleY(0.4);
+ transform: scaleY(0.4);
+ -webkit-transform-origin: 0% 100%;
+ transform-origin: 0% 100%;
+ }
+ 100% {
+ -webkit-transform: scaleY(1);
+ transform: scaleY(1);
+ -webkit-transform-origin: 0% 100%;
+ transform-origin: 0% 100%;
+ }
+}
+/*
+* 中间区域放大
+*/
+.scale-up-ver-center {
+ -webkit-animation: scale-up-ver-center 1s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;
+ animation: scale-up-ver-center 1s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;
+}
+.scale-up-ver-center-infinite {
+ -webkit-animation: scale-up-ver-center 1s cubic-bezier(0.390, 0.575, 0.565, 1.000) infinite alternate both;
+ animation: scale-up-ver-center 1s cubic-bezier(0.390, 0.575, 0.565, 1.000) infinite alternate both;
+}
+
+@keyframes scale-up-ver-center {
+ 0% {
+ -webkit-transform: scaleY(0.4);
+ transform: scaleY(0.4);
+ }
+ 100% {
+ -webkit-transform: scaleY(1);
+ transform: scaleY(1);
+ }
+}
+
+/*
+* 淡出
+.
+*/fade-out-fwd {
+ -webkit-animation: fade-out-fwd 2s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
+ animation: fade-out-fwd 2s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
+}
+.fade-out-fwd-infinite {
+ -webkit-animation: fade-out-fwd 2s cubic-bezier(0.250, 0.460, 0.450, 0.940) infinite both;
+ animation: fade-out-fwd 2s cubic-bezier(0.250, 0.460, 0.450, 0.940) infinite both;
+}
+@keyframes fade-out-fwd {
+ 0% {
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0);
+ opacity: 1;
+ }
+ 100% {
+ -webkit-transform: translateZ(80px);
+ transform: translateZ(80px);
+ opacity: 0;
+ }
+}
+/*
+* 淡入
+*/
+.fade-in-bck {
+ -webkit-animation: fade-in-bck 2s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;
+ animation: fade-in-bck 2s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;
+}
+.fade-in-bck-infinite {
+ -webkit-animation: fade-in-bck 2s cubic-bezier(0.390, 0.575, 0.565, 1.000) infinite both;
+ animation: fade-in-bck 2s cubic-bezier(0.390, 0.575, 0.565, 1.000) infinite both;
+}
+/*
+* 淡入淡出
+*/
+.fade-in-bck-alternate {
+ -webkit-animation: fade-in-bck 2s cubic-bezier(0.390, 0.575, 0.565, 1.000) alternate both;
+ animation: fade-in-bck 2s cubic-bezier(0.390, 0.575, 0.565, 1.000) alternate both;
+}
+.fade-in-bck-alternate-infinite {
+ -webkit-animation: fade-in-bck 2s cubic-bezier(0.390, 0.575, 0.565, 1.000) infinite alternate both;
+ animation: fade-in-bck 2s cubic-bezier(0.390, 0.575, 0.565, 1.000) infinite alternate both;
+}
+@keyframes fade-in-bck {
+ 0% {
+ -webkit-transform: translateZ(80px);
+ transform: translateZ(80px);
+ opacity: 0;
+ }
+ 100% {
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0);
+ opacity: 1;
+ }
+}
+/*
+* 文字铺开
+*/
+.tracking-in-expand {
+ -webkit-animation: tracking-in-expand 2s cubic-bezier(0.215, 0.610, 0.355, 1.000) both;
+ animation: tracking-in-expand 2s cubic-bezier(0.215, 0.610, 0.355, 1.000) both;
+}
+
+.tracking-in-expand-infinite {
+ -webkit-animation: tracking-in-expand 2s cubic-bezier(0.215, 0.610, 0.355, 1.000) infinite both;
+ animation: tracking-in-expand 2s cubic-bezier(0.215, 0.610, 0.355, 1.000) infinite both;
+}
+
+@keyframes tracking-in-expand {
+ 0% {
+ letter-spacing: -0.5em;
+ opacity: 0;
+ }
+ 40% {
+ opacity: 0.6;
+ }
+ 100% {
+ opacity: 1;
+ }
+}
+
+/*
+* 心跳
+*/
+.heartbeat {
+ -webkit-animation: heartbeat 1s ease-in-out both;
+ animation: heartbeat 1s ease-in-out both;
+}
+
+.heartbeat-infinite {
+ -webkit-animation: heartbeat 1s ease-in-out infinite both;
+ animation: heartbeat 1s ease-in-out infinite both;
+}
+
+@keyframes heartbeat {
+ from {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ -webkit-transform-origin: center center;
+ transform-origin: center center;
+ -webkit-animation-timing-function: ease-out;
+ animation-timing-function: ease-out;
+ }
+ 10% {
+ -webkit-transform: scale(0.91);
+ transform: scale(0.91);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ }
+ 17% {
+ -webkit-transform: scale(0.98);
+ transform: scale(0.98);
+ -webkit-animation-timing-function: ease-out;
+ animation-timing-function: ease-out;
+ }
+ 33% {
+ -webkit-transform: scale(0.87);
+ transform: scale(0.87);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ }
+ 45% {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ -webkit-animation-timing-function: ease-out;
+ animation-timing-function: ease-out;
+ }
+}
+
+/*
+* 脉动
+*/
+.pulsate-bck {
+ -webkit-animation: pulsate-bck 1s ease-in-out both;
+ animation: pulsate-bck 1s ease-in-out both;
+}
+
+.pulsate-bck-infinite {
+ -webkit-animation: pulsate-bck 1s ease-in-out infinite both;
+ animation: pulsate-bck 1s ease-in-out infinite both;
+}
+
+@keyframes pulsate-bck {
+ 0% {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ }
+ 50% {
+ -webkit-transform: scale(0.9);
+ transform: scale(0.9);
+ }
+ 100% {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ }
+}
+
+/*
+* 向上弹跳
+*/
+.bounce-top {
+ -webkit-animation: bounce-top 1.5s both;
+ animation: bounce-top 1.5s both;
+}
+.bounce-top-infinite {
+ -webkit-animation: bounce-top 1.5s infinite both;
+ animation: bounce-top 1.5s infinite both;
+}
+
+@keyframes bounce-top {
+ 0%, 30%, 60%, 100% {
+ -webkit-transform: translateY(0);
+ transform: translateY(0);
+ -webkit-animation-timing-function: ease-out;
+ animation-timing-function: ease-out;
+ }
+ 15% {
+ -webkit-transform: translateY(-40px);
+ transform: translateY(-40px);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ }
+ 45% {
+ -webkit-transform: translateY(-20px);
+ transform: translateY(-20px);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ }
+ 75% {
+ -webkit-transform: translateY(-8px);
+ transform: translateY(-8px);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ }
+}
+
+/*
+* 向下弹跳
+*/
+.bounce-bottom {
+ -webkit-animation: bounce-bottom 1.5s both;
+ animation: bounce-bottom 1.5s both;
+}
+.bounce-bottom-infinite {
+ -webkit-animation: bounce-bottom 1.5s infinite both;
+ animation: bounce-bottom 1.5s infinite both;
+}
+
+@keyframes bounce-bottom {
+ 0%, 30%, 60%, 100% {
+ -webkit-transform: translateY(0);
+ transform: translateY(0);
+ -webkit-animation-timing-function: ease-out;
+ animation-timing-function: ease-out;
+ }
+ 15% {
+ -webkit-transform: translateY(40px);
+ transform: translateY(40px);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ }
+ 45% {
+ -webkit-transform: translateY(20px);
+ transform: translateY(20px);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ }
+ 75% {
+ -webkit-transform: translateY(8px);
+ transform: translateY(8px);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ }
+}
+
+/*
+* 向左弹跳
+*/
+.bounce-left {
+ -webkit-animation: bounce-left 1.5s both;
+ animation: bounce-left 1.5s both;
+}
+.bounce-left-infinite {
+ -webkit-animation: bounce-left 1.5s infinite both;
+ animation: bounce-left 1.5s infinite both;
+}
+
+@keyframes bounce-left {
+ 0%, 30%, 60%, 100% {
+ -webkit-transform: translateX(0);
+ transform: translateX(0);
+ -webkit-animation-timing-function: ease-out;
+ animation-timing-function: ease-out;
+ }
+ 15% {
+ -webkit-transform: translateX(-40px);
+ transform: translateX(-40px);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ }
+ 45% {
+ -webkit-transform: translateX(-20px);
+ transform: translateX(-20px);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ }
+ 75% {
+ -webkit-transform: translateX(-8px);
+ transform: translateX(-8px);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ }
+}
+/*
+* 向右弹跳
+*/
+.bounce-right {
+ -webkit-animation: bounce-right 1.5s both;
+ animation: bounce-right 1.5s both;
+}
+.bounce-right-infinite {
+ -webkit-animation: bounce-right 1.5s infinite both;
+ animation: bounce-right 1.5s infinite both;
+}
+
+@keyframes bounce-right {
+ 0%, 30%, 60%, 100% {
+ -webkit-transform: translateX(0);
+ transform: translateX(0);
+ -webkit-animation-timing-function: ease-out;
+ animation-timing-function: ease-out;
+ }
+ 15% {
+ -webkit-transform: translateX(40px);
+ transform: translateX(40px);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ }
+ 45% {
+ -webkit-transform: translateX(20px);
+ transform: translateX(20px);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ }
+ 75% {
+ -webkit-transform: translateX(8px);
+ transform: translateX(8px);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ }
+}
+/*
+* 左侧弹跳
+*/
+.bounce-in-left {
+ -webkit-animation: bounce-in-left 2s both;
+ animation: bounce-in-left 2s both;
+}
+.bounce-in-left-infinite {
+ -webkit-animation: bounce-in-left 2s infinite both;
+ animation: bounce-in-left 2s infinite both;
+}
+
+@keyframes bounce-in-left {
+ 0% {
+ -webkit-transform: translateX(-500px);
+ transform: translateX(-500px);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ opacity: 0;
+ }
+ 38% {
+ -webkit-transform: translateX(0);
+ transform: translateX(0);
+ -webkit-animation-timing-function: ease-out;
+ animation-timing-function: ease-out;
+ opacity: 1;
+ }
+ 55% {
+ -webkit-transform: translateX(-68px);
+ transform: translateX(-68px);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ }
+ 72% {
+ -webkit-transform: translateX(0);
+ transform: translateX(0);
+ -webkit-animation-timing-function: ease-out;
+ animation-timing-function: ease-out;
+ }
+ 81% {
+ -webkit-transform: translateX(-28px);
+ transform: translateX(-28px);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ }
+ 90% {
+ -webkit-transform: translateX(0);
+ transform: translateX(0);
+ -webkit-animation-timing-function: ease-out;
+ animation-timing-function: ease-out;
+ }
+ 95% {
+ -webkit-transform: translateX(-8px);
+ transform: translateX(-8px);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ }
+ 100% {
+ -webkit-transform: translateX(0);
+ transform: translateX(0);
+ -webkit-animation-timing-function: ease-out;
+ animation-timing-function: ease-out;
+ }
+}
+
+/*
+* 翻转
+*/
+.flip-in-diag-2-tl {
+ -webkit-animation: flip-in-diag-2-tl 2s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
+ animation: flip-in-diag-2-tl 2s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
+}
+.flip-in-diag-2-tl-infinite {
+ -webkit-animation: flip-in-diag-2-tl 2s cubic-bezier(0.250, 0.460, 0.450, 0.940) infinite both;
+ animation: flip-in-diag-2-tl 2s cubic-bezier(0.250, 0.460, 0.450, 0.940) infinite both;
+}
+
+@keyframes flip-in-diag-2-tl {
+ 0% {
+ -webkit-transform: rotate3d(-1, 1, 0, 80deg);
+ transform: rotate3d(-1, 1, 0, 80deg);
+ opacity: 0;
+ }
+ 100% {
+ -webkit-transform: rotate3d(1, 1, 0, 0deg);
+ transform: rotate3d(1, 1, 0, 0deg);
+ opacity: 1;
+ }
+}
+
+/*
+* 从左滑动
+*/
+.slide-in-left {
+ -webkit-animation: slide-in-left 2s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
+ animation: slide-in-left 2s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
+}
+
+.slide-in-left-infinite {
+ -webkit-animation: slide-in-left 2s cubic-bezier(0.250, 0.460, 0.450, 0.940) infinite both;
+ animation: slide-in-left 2s cubic-bezier(0.250, 0.460, 0.450, 0.940) infinite both;
+}
+
+@keyframes slide-in-left {
+ 0% {
+ -webkit-transform: translateX(-500px);
+ transform: translateX(-500px);
+ opacity: 0;
+ }
+ 100% {
+ -webkit-transform: translateX(0);
+ transform: translateX(0);
+ opacity: 1;
+ }
+}
+
+/*
+* 在fwd中心滑动
+*/
+.slide-in-fwd-center {
+ -webkit-animation: slide-in-fwd-center 2s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
+ animation: slide-in-fwd-center 2s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
+}
+
+.slide-in-fwd-center-infinite {
+ -webkit-animation: slide-in-fwd-center 2s cubic-bezier(0.250, 0.460, 0.450, 0.940) infinite both;
+ animation: slide-in-fwd-center 2s cubic-bezier(0.250, 0.460, 0.450, 0.940) infinite both;
+}
+
+@keyframes slide-in-fwd-center {
+ 0% {
+ -webkit-transform: translateZ(-1400px);
+ transform: translateZ(-1400px);
+ opacity: 0;
+ }
+ 100% {
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0);
+ opacity: 1;
+ }
+ }
+/*
+* 左前轮旋转
+*/
+.swirl-in-left-fwd {
+ -webkit-animation: swirl-in-left-fwd 2s ease-out both;
+ animation: swirl-in-left-fwd 2s ease-out both;
+}
+.swirl-in-left-fwd-infinite {
+ -webkit-animation: swirl-in-left-fwd 2s ease-out infinite both;
+ animation: swirl-in-left-fwd 2s ease-out infinite both;
+}
+@keyframes swirl-in-left-fwd {
+ 0% {
+ -webkit-transform: rotate(-540deg) scale(0);
+ transform: rotate(-540deg) scale(0);
+ -webkit-transform-origin: 0 50%;
+ transform-origin: 0 50%;
+ opacity: 0;
+ }
+ 100% {
+ -webkit-transform: rotate(0) scale(1);
+ transform: rotate(0) scale(1);
+ -webkit-transform-origin: 0 50%;
+ transform-origin: 0 50%;
+ opacity: 1;
+ }
+}
+/*
+* 摇动
+*/
+.shake-bottom {
+ -webkit-animation: shake-bottom 1s cubic-bezier(0.455, 0.030, 0.515, 0.955) both;
+ animation: shake-bottom 1s cubic-bezier(0.455, 0.030, 0.515, 0.955) both;
+}
+.shake-bottom-infinite {
+ -webkit-animation: shake-bottom 1s cubic-bezier(0.455, 0.030, 0.515, 0.955) infinite both;
+ animation: shake-bottom 1s cubic-bezier(0.455, 0.030, 0.515, 0.955) infinite both;
+}
+@keyframes shake-bottom {
+ 0% {
+ -webkit-transform: scale(1) rotate(0deg);
+ transform: scale(1) rotate(0deg);
+ -webkit-transform-origin: 50%;
+ transform-origin: 50%;
+ }
+ 80% {
+ -webkit-transform: scale(1.2);
+ transform: scale(1.2);
+ -webkit-transform-origin: 50%;
+ transform-origin: 50%;
+ }
+ 85% {
+ -webkit-transform: rotate(-16deg);
+ transform: rotate(-16deg);
+ }
+ 95% {
+ -webkit-transform: rotate(16deg);
+ transform: rotate(16deg);
+ }
+ 100% {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ -webkit-transform-origin: 50%;
+ transform-origin: 50%;
+ }
+ }
+/*
+* 震动
+*/
+.vibrate {
+ -webkit-animation: vibrate 0.3s linear both;
+ animation: vibrate 0.3s linear both;
+}
+.vibrate-infinite {
+ -webkit-animation: vibrate 0.3s linear infinite both;
+ animation: vibrate 0.3s linear infinite both;
+}
+
+@keyframes vibrate {
+ 0% {
+ -webkit-transform: translate(0);
+ transform: translate(0);
+ }
+ 20% {
+ -webkit-transform: translate(2px, -2px);
+ transform: translate(2px, -2px);
+ }
+ 40% {
+ -webkit-transform: translate(2px, 2px);
+ transform: translate(2px, 2px);
+ }
+ 60% {
+ -webkit-transform: translate(-2px, 2px);
+ transform: translate(-2px, 2px);
+ }
+ 80% {
+ -webkit-transform: translate(-2px, -2px);
+ transform: translate(-2px, -2px);
+ }
+ 100% {
+ -webkit-transform: translate(0);
+ transform: translate(0);
+ }
+}
+/*
+* 模糊显示
+*/
+.text-focus-in {
+ -webkit-animation: text-focus-in 2s cubic-bezier(0.550, 0.085, 0.680, 0.530) both;
+ animation: text-focus-in 2s cubic-bezier(0.550, 0.085, 0.680, 0.530) both;
+}
+.text-focus-in-infinite {
+ -webkit-animation: text-focus-in 2s cubic-bezier(0.550, 0.085, 0.680, 0.530) infinite both;
+ animation: text-focus-in 2s cubic-bezier(0.550, 0.085, 0.680, 0.530) infinite both;
+}
+
+@keyframes text-focus-in {
+ 0% {
+ -webkit-filter: blur(12px);
+ filter: blur(12px);
+ opacity: 0;
+ }
+ 100% {
+ -webkit-filter: blur(0px);
+ filter: blur(0px);
+ opacity: 1;
+ }
+}
+
+/*
+* 果冻
+*/
+.jello-horizontal {
+ -webkit-animation: jello-horizontal 0.9s both;
+ animation: jello-horizontal 0.9s both;
+}
+.jello-horizontal-infinite {
+ -webkit-animation: jello-horizontal 0.9s infinite both;
+ animation: jello-horizontal 0.9s infinite both;
+}
+@keyframes jello-horizontal {
+ 0% {
+ -webkit-transform: scale3d(1, 1, 1);
+ transform: scale3d(1, 1, 1);
+ }
+ 30% {
+ -webkit-transform: scale3d(1.25, 0.75, 1);
+ transform: scale3d(1.25, 0.75, 1);
+ }
+ 40% {
+ -webkit-transform: scale3d(0.75, 1.25, 1);
+ transform: scale3d(0.75, 1.25, 1);
+ }
+ 50% {
+ -webkit-transform: scale3d(1.15, 0.85, 1);
+ transform: scale3d(1.15, 0.85, 1);
+ }
+ 65% {
+ -webkit-transform: scale3d(0.95, 1.05, 1);
+ transform: scale3d(0.95, 1.05, 1);
+ }
+ 75% {
+ -webkit-transform: scale3d(1.05, 0.95, 1);
+ transform: scale3d(1.05, 0.95, 1);
+ }
+ 100% {
+ -webkit-transform: scale3d(1, 1, 1);
+ transform: scale3d(1, 1, 1);
+ }
+ }
+
\ No newline at end of file
diff --git a/common/css/business.css b/common/css/business.css
new file mode 100644
index 0000000..3f4fbcb
--- /dev/null
+++ b/common/css/business.css
@@ -0,0 +1,55 @@
+/*
+* 面板信息 - 文本
+*/
+.panel-item .panel-content .item:last-child {
+ border: 0 !important;
+ padding-bottom: 0 !important;
+}
+.panel-item .panel-content .item .title {
+ width: 25%;
+}
+.panel-item .panel-content .item .content {
+ width: calc(75% - 52rpx);
+ min-height: 46rpx;
+ word-wrap: break-word;
+ word-break: normal;
+}
+.panel-item .panel-content .item .title,
+.panel-item .panel-content .item .content {
+ line-height: 46rpx;
+}
+.panel-item-only .panel-content .item .content {
+ width: 100%;
+}
+
+/*
+* 面板信息 - 图片
+*/
+.panel-item .panel-content-images .item {
+ margin: 20rpx 20rpx 0 0;
+}
+.panel-item .panel-content-images .item:last-child {
+ margin-right: 0;
+}
+.panel-item .panel-content-images .item image {
+ width: 120rpx;
+ height: 120rpx !important;
+}
+
+/**
+ * 地址边线
+ */
+.address-divider {
+ height: 4px;
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAD4AAAAECAYAAADWIIyPAAAAkklEQVR42mP4jwR+7tr1/4OzM1Xwt46O/6SA3Yd//HeLeU0V3DXjE0H7GGCMvw8f/v/o5UUVT39KTPz/78cPoj398Omf/75Jb6ji6ZSyd/9//PxHnMdBjvyUlEQVT4MC7++DB0R7GuTIlPJ3VPE0KPAePvlDlL1gj3/r6qJaEv+5YwdJSbxn5meqJfGdh74TbS8A1dn662xhNdIAAAAASUVORK5CYII=");
+ background-repeat-y: no-repeat;
+}
+
+/**
+ * 支付html弹窗
+ */
+.popup-pay-html-content {
+ max-height: 80vh;
+ overflow-y: scroll;
+ overflow-x: hidden;
+}
\ No newline at end of file
diff --git a/common/css/lib.css b/common/css/lib.css
new file mode 100644
index 0000000..9e8302e
--- /dev/null
+++ b/common/css/lib.css
@@ -0,0 +1,1267 @@
+/**
+ * 公共类样式
+ */
+.margin-0 {
+ margin: 0 !important;
+}
+
+.margin-xsss {
+ margin: 2rpx;
+}
+
+.margin-xss {
+ margin: 4rpx;
+}
+
+.margin-xs {
+ margin: 6rpx;
+}
+
+.margin-sm {
+ margin: 12rpx;
+}
+
+.margin,
+.margin-default {
+ margin: 24rpx;
+}
+
+.margin-lg {
+ margin: 32rpx;
+}
+
+.margin-xl {
+ margin: 36rpx;
+}
+
+.margin-xxl {
+ margin: 40rpx;
+}
+
+.margin-xxxl {
+ margin: 48rpx;
+}
+
+.margin-xxxxl {
+ margin: 56rpx;
+}
+
+.margin-top-xsss {
+ margin-top: 2rpx;
+}
+
+.margin-top-xss {
+ margin-top: 4rpx;
+}
+
+.margin-top-xs {
+ margin-top: 6rpx;
+}
+
+.margin-top-sm {
+ margin-top: 12rpx;
+}
+
+.margin-top,
+.margin-top-default {
+ margin-top: 24rpx;
+}
+
+.margin-top-lg {
+ margin-top: 32rpx;
+}
+
+.margin-top-xl {
+ margin-top: 36rpx;
+}
+
+.margin-top-xxl {
+ margin-top: 40rpx;
+}
+
+.margin-top-xxxl {
+ margin-top: 48rpx;
+}
+
+.margin-top-xxxxl {
+ margin-top: 56rpx;
+}
+
+.margin-right-xsss {
+ margin-right: 2rpx;
+}
+
+.margin-right-xss {
+ margin-right: 4rpx;
+}
+
+.margin-right-xs {
+ margin-right: 6rpx;
+}
+
+.margin-right-sm {
+ margin-right: 12rpx;
+}
+
+.margin-right,
+.margin-right-default {
+ margin-right: 24rpx;
+}
+
+.margin-right-lg {
+ margin-right: 32rpx;
+}
+
+.margin-right-xl {
+ margin-right: 36rpx;
+}
+
+.margin-right-xxl {
+ margin-right: 40rpx;
+}
+
+.margin-right-xxxl {
+ margin-right: 48rpx;
+}
+
+.margin-right-xxxxl {
+ margin-right: 56rpx;
+}
+
+.margin-left-xsss {
+ margin-left: 2rpx;
+}
+
+.margin-left-xss {
+ margin-left: 4rpx;
+}
+
+.margin-left-xs {
+ margin-left: 6rpx;
+}
+
+.margin-left-sm {
+ margin-left: 12rpx;
+}
+
+.margin-left,
+.margin-left-default {
+ margin-left: 24rpx;
+}
+
+.margin-left-lg {
+ margin-left: 32rpx;
+}
+
+.margin-left-xl {
+ margin-left: 36rpx;
+}
+
+.margin-left-xxl {
+ margin-left: 40rpx;
+}
+
+.margin-left-xxxl {
+ margin-left: 48rpx;
+}
+
+.margin-left-xxxxl {
+ margin-left: 56rpx;
+}
+
+.margin-bottom-xsss {
+ margin-bottom: 2rpx;
+}
+
+.margin-bottom-xss {
+ margin-bottom: 4rpx;
+}
+
+.margin-bottom-xs {
+ margin-bottom: 6rpx;
+}
+
+.margin-bottom-sm {
+ margin-bottom: 12rpx;
+}
+
+.margin-bottom,
+.margin-bottom-default {
+ margin-bottom: 24rpx;
+}
+
+.margin-bottom-lg {
+ margin-bottom: 32rpx;
+}
+
+.margin-bottom-xl {
+ margin-bottom: 36rpx;
+}
+
+.margin-bottom-xxl {
+ margin-bottom: 40rpx;
+}
+
+.margin-bottom-xxxl {
+ margin-bottom: 48rpx;
+}
+
+.margin-bottom-xxxxl {
+ margin-bottom: 56rpx;
+}
+
+.margin-vertical-0 {
+ margin-top: 0 !important;
+ margin-bottom: 0 !important;
+}
+
+.margin-vertical-xsss {
+ margin-top: 2rpx;
+ margin-bottom: 2rpx;
+}
+
+.margin-vertical-xss {
+ margin-top: 4rpx;
+ margin-bottom: 4rpx;
+}
+
+.margin-vertical-xs {
+ margin-top: 6rpx;
+ margin-bottom: 6rpx;
+}
+
+.margin-vertical-sm {
+ margin-top: 12rpx;
+ margin-bottom: 12rpx;
+}
+
+.margin-vertical,
+.margin-vertical-default {
+ margin-top: 24rpx;
+ margin-bottom: 24rpx;
+}
+
+.margin-vertical-lg {
+ margin-top: 32rpx;
+ margin-bottom: 32rpx;
+}
+
+.margin-vertical-xl {
+ margin-top: 36rpx;
+ margin-bottom: 36rpx;
+}
+
+.margin-vertical-xxl {
+ margin-top: 40rpx;
+ margin-bottom: 40rpx;
+}
+
+.margin-vertical-xxxl {
+ margin-top: 48rpx;
+ margin-bottom: 48rpx;
+}
+
+.margin-vertical-xxxxl {
+ margin-top: 56rpx;
+ margin-bottom: 56rpx;
+}
+
+.margin-horizontal-0 {
+ margin-left: 0 !important;
+ margin-right: 0 !important;
+}
+
+.margin-horizontal-xsss {
+ margin-left: 2rpx;
+ margin-right: 2rpx;
+}
+
+.margin-horizontal-xss {
+ margin-left: 4rpx;
+ margin-right: 4rpx;
+}
+
+.margin-horizontal-xs {
+ margin-left: 6rpx;
+ margin-right: 6rpx;
+}
+
+.margin-horizontal-sm {
+ margin-left: 12rpx;
+ margin-right: 12rpx;
+}
+
+.margin-horizontal,
+.margin-horizontal-default {
+ margin-left: 24rpx;
+ margin-right: 24rpx;
+}
+
+.margin-horizontal-lg {
+ margin-left: 32rpx;
+ margin-right: 32rpx;
+}
+
+.margin-horizontal-xl {
+ margin-left: 36rpx;
+ margin-right: 36rpx;
+}
+
+.margin-horizontal-xxl {
+ margin-left: 40rpx;
+ margin-right: 40rpx;
+}
+
+.margin-horizontal-xxxl {
+ margin-left: 48rpx;
+ margin-right: 48rpx;
+}
+
+.margin-horizontal-xxxxl {
+ margin-left: 56rpx;
+ margin-right: 56rpx;
+}
+
+.padding-0 {
+ padding: 0 !important;
+}
+
+.padding-xsss {
+ padding: 2rpx;
+}
+
+.padding-xss {
+ padding: 4rpx;
+}
+
+.padding-xs {
+ padding: 6rpx;
+}
+
+.padding-sm {
+ padding: 12rpx;
+}
+
+.padding,
+.padding-default {
+ padding: 24rpx;
+}
+
+.padding-lg {
+ padding: 32rpx;
+}
+
+.padding-xl {
+ padding: 36rpx;
+}
+
+.padding-xxl {
+ padding: 40rpx;
+}
+
+.padding-xxxl {
+ padding: 48rpx;
+}
+
+.padding-xxxxl {
+ padding: 56rpx;
+}
+
+.padding-top-0 {
+ padding-top: 0 !important;
+}
+
+.padding-top-xsss {
+ padding-top: 2rpx;
+}
+
+.padding-top-xss {
+ padding-top: 4rpx;
+}
+
+.padding-top-xs {
+ padding-top: 6rpx;
+}
+
+.padding-top-sm {
+ padding-top: 12rpx;
+}
+
+.padding-top,
+.padding-top-default {
+ padding-top: 24rpx;
+}
+
+.padding-top-lg {
+ padding-top: 32rpx;
+}
+
+.padding-top-xl {
+ padding-top: 36rpx;
+}
+
+.padding-top-xxl {
+ padding-top: 40rpx;
+}
+
+.padding-top-xxxl {
+ padding-top: 48rpx;
+}
+
+.padding-top-xxxxl {
+ padding-top: 56rpx;
+}
+
+.padding-right-0 {
+ padding-right: 0 !important;
+}
+
+.padding-right-xsss {
+ padding-right: 2rpx;
+}
+
+.padding-right-xss {
+ padding-right: 4rpx;
+}
+
+.padding-right-xs {
+ padding-right: 6rpx;
+}
+
+.padding-right-sm {
+ padding-right: 12rpx;
+}
+
+.padding-right,
+.padding-right-default {
+ padding-right: 24rpx;
+}
+
+.padding-right-lg {
+ padding-right: 32rpx;
+}
+
+.padding-right-xl {
+ padding-right: 36rpx;
+}
+
+.padding-right-xxl {
+ padding-right: 40rpx;
+}
+
+.padding-right-xxxl {
+ padding-right: 48rpx;
+}
+
+.padding-right-xxxxl {
+ padding-right: 56rpx;
+}
+
+.padding-left-0 {
+ padding-left: 0 !important;
+}
+
+.padding-left-xsss {
+ padding-left: 2rpx;
+}
+
+.padding-left-xss {
+ padding-left: 4rpx;
+}
+
+.padding-left-xs {
+ padding-left: 6rpx;
+}
+
+.padding-left-sm {
+ padding-left: 12rpx;
+}
+
+.padding-left,
+.padding-left-default {
+ padding-left: 24rpx;
+}
+
+.padding-left-lg {
+ padding-left: 32rpx;
+}
+
+.padding-left-xl {
+ padding-left: 36rpx;
+}
+
+.padding-left-xxl {
+ padding-left: 40rpx;
+}
+
+.padding-left-xxxl {
+ padding-left: 48rpx;
+}
+
+.padding-left-xxxxl {
+ padding-left: 56rpx;
+}
+
+.padding-bottom-0 {
+ padding-bottom: 0 !important;
+}
+
+.padding-bottom-xsss {
+ padding-bottom: 2rpx;
+}
+
+.padding-bottom-xss {
+ padding-bottom: 4rpx;
+}
+
+.padding-bottom-xs {
+ padding-bottom: 6rpx;
+}
+
+.padding-bottom-sm {
+ padding-bottom: 12rpx;
+}
+
+.padding-bottom,
+.padding-bottom-default {
+ padding-bottom: 24rpx;
+}
+
+.padding-bottom-lg {
+ padding-bottom: 32rpx;
+}
+
+.padding-bottom-xl {
+ padding-bottom: 36rpx;
+}
+
+.padding-bottom-xxl {
+ padding-bottom: 40rpx;
+}
+
+.padding-bottom-xxxl {
+ padding-bottom: 48rpx;
+}
+
+.padding-bottom-xxxxl {
+ padding-bottom: 56rpx;
+}
+
+.padding-vertical-0 {
+ padding-top: 0 !important;
+ padding-bottom: 0 !important;
+}
+
+.padding-vertical-xsss {
+ padding-top: 2rpx;
+ padding-bottom: 2rpx;
+}
+
+.padding-vertical-xss {
+ padding-top: 4rpx;
+ padding-bottom: 4rpx;
+}
+
+.padding-vertical-xs {
+ padding-top: 6rpx;
+ padding-bottom: 6rpx;
+}
+
+.padding-vertical-sm {
+ padding-top: 12rpx;
+ padding-bottom: 12rpx;
+}
+
+.padding-vertical,
+.padding-vertical-default {
+ padding-top: 24rpx;
+ padding-bottom: 24rpx;
+}
+
+.padding-vertical-lg {
+ padding-top: 32rpx;
+ padding-bottom: 32rpx;
+}
+
+.padding-vertical-xl {
+ padding-top: 36rpx;
+ padding-bottom: 36rpx;
+}
+
+.padding-vertical-xxl {
+ padding-top: 40rpx;
+ padding-bottom: 40rpx;
+}
+
+.padding-vertical-xxxl {
+ padding-top: 48rpx;
+ padding-bottom: 48rpx;
+}
+
+.padding-vertical-xxxxl {
+ padding-top: 56rpx;
+ padding-bottom: 56rpx;
+}
+
+.padding-horizontal-0 {
+ padding-left: 0 !important;
+ padding-right: 0 !important;
+}
+
+.padding-horizontal-xsss {
+ padding-left: 2rpx;
+ padding-right: 2rpx;
+}
+
+.padding-horizontal-xss {
+ padding-left: 4rpx;
+ padding-right: 4rpx;
+}
+
+.padding-horizontal-xs {
+ padding-left: 6rpx;
+ padding-right: 6rpx;
+}
+
+.padding-horizontal-sm {
+ padding-left: 12rpx;
+ padding-right: 12rpx;
+}
+
+.padding-horizontal,
+.padding-horizontal-default {
+ padding-left: 24rpx;
+ padding-right: 24rpx;
+}
+
+.padding-horizontal-lg {
+ padding-left: 32rpx;
+ padding-right: 32rpx;
+}
+
+.padding-horizontal-xl {
+ padding-left: 36rpx;
+ padding-right: 36rpx;
+}
+
+.padding-horizontal-xxl {
+ padding-left: 40rpx;
+ padding-right: 40rpx;
+}
+
+.padding-horizontal-xxxl {
+ padding-left: 48rpx;
+ padding-right: 48rpx;
+}
+
+.padding-horizontal-xxxxl {
+ padding-left: 56rpx;
+ padding-right: 56rpx;
+}
+
+/**
+ * 字体大小
+ */
+.text-size-xsss {
+ font-size: 18rpx !important;
+}
+
+.text-size-xss {
+ font-size: 20rpx !important;
+}
+
+.text-size-xs {
+ font-size: 24rpx !important;
+}
+
+.text-size-sm {
+ font-size: 26rpx !important;
+}
+
+.text-size-md {
+ font-size: 28rpx !important;
+}
+
+.text-size,
+.text-size-default {
+ font-size: 32rpx !important;
+}
+
+.text-size-lg {
+ font-size: 36rpx !important;
+}
+
+.text-size-xl {
+ font-size: 48rpx !important;
+}
+
+.text-size-xxl {
+ font-size: 64rpx !important;
+}
+
+.text-size-xxxl {
+ font-size: 84rpx !important;
+}
+
+.text-size-40 {
+ font-size: 80rpx !important;
+}
+
+/**
+ * 高度
+ */
+.ht-auto {
+ height: auto;
+}
+
+.ht-0 {
+ height: 0 !important;
+}
+
+.ht-xs {
+ height: 24rpx;
+}
+
+.ht-sm {
+ height: 26rpx;
+}
+
+.ht-md {
+ height: 28rpx;
+}
+
+.ht,
+.ht-default {
+ height: 32rpx;
+}
+
+.ht-lg {
+ height: 36rpx;
+}
+
+.ht-xl {
+ height: 48rpx;
+}
+
+.ht-xxl {
+ height: 64rpx;
+}
+
+.ht-xxxl {
+ height: 84rpx;
+}
+
+/**
+ * 行间距
+ */
+.lh-il {
+ line-height: initial;
+}
+
+.lh-0 {
+ line-height: 0 !important;
+}
+
+.lh-xs {
+ line-height: 24rpx;
+}
+
+.lh-sm {
+ line-height: 26rpx;
+}
+
+.lh-md {
+ line-height: 28rpx;
+}
+
+.lh,
+.lh-default {
+ line-height: 32rpx;
+}
+
+.lh-lg {
+ line-height: 36rpx;
+}
+
+.lh-xl {
+ line-height: 48rpx;
+}
+
+.lh-xxl {
+ line-height: 64rpx;
+}
+
+.lh-xxxl {
+ line-height: 84rpx;
+}
+
+/**
+ * 细微偏移量
+ */
+.top-0-xs {
+ top: -2rpx;
+}
+.top-0-sm {
+ top: -4rpx;
+}
+.top-0-md {
+ top: -6rpx;
+}
+.top-0-lg {
+ top: -8rpx;
+}
+
+.top-0-xl {
+ top: -10rpx;
+}
+
+.top-0-xxl {
+ top: -12rpx;
+}
+
+.top-0-xxxl {
+ top: -16rpx;
+}
+
+.top-0-xxxxl {
+ top: -20rpx;
+}
+
+.top-0-xxxxxl {
+ top: -24rpx;
+}
+.top-0 {
+ top: 0;
+}
+
+.top-xs {
+ top: 2rpx;
+}
+
+.top-sm {
+ top: 4rpx;
+}
+
+.top-md {
+ top: 6rpx;
+}
+
+.top-lg {
+ top: 8rpx;
+}
+
+.top-xl {
+ top: 10rpx;
+}
+
+.top-xxl {
+ top: 12rpx;
+}
+
+.top-xxxl {
+ top: 16rpx;
+}
+
+.top-xxxxl {
+ top: 20rpx;
+}
+
+.top-xxxxxl {
+ top: 24rpx;
+}
+
+.left-0-xs {
+ left: -2rpx;
+}
+
+.left-0-sm {
+ left: -4rpx;
+}
+
+.left-0-md {
+ left: -6rpx;
+}
+
+.left-0-lg {
+ left: -8rpx;
+}
+
+.left-0-xl {
+ left: -10rpx;
+}
+
+.left-0-xxl {
+ left: -12rpx;
+}
+
+.left-0-xxxl {
+ left: -16rpx;
+}
+
+.left-0-xxxxl {
+ left: -20rpx;
+}
+
+.left-0-xxxxxl {
+ left: 24rpx;
+}
+.left-0 {
+ left: 0;
+}
+
+.left-xs {
+ left: 2rpx;
+}
+
+.left-sm {
+ left: 4rpx;
+}
+
+.left-md {
+ left: 6rpx;
+}
+
+.left-lg {
+ left: 8rpx;
+}
+
+.left-xl {
+ left: 10rpx;
+}
+
+.left-xxl {
+ left: 12rpx;
+}
+
+.left-xxxl {
+ left: 16rpx;
+}
+
+.left-xxxxl {
+ left: 20rpx;
+}
+
+.left-xxxxxl {
+ left: 24rpx;
+}
+
+.bottom-0-xs {
+ bottom: -2rpx;
+}
+
+.bottom-0-sm {
+ bottom: -4rpx;
+}
+
+.bottom-0-md {
+ bottom: -6rpx;
+}
+
+.bottom-0-lg {
+ bottom: -8rpx;
+}
+
+.bottom-0-xl {
+ bottom: -10rpx;
+}
+
+.bottom-0-xxl {
+ bottom: -12rpx;
+}
+
+.bottom-0-xxxl {
+ bottom: -16rpx;
+}
+
+.bottom-0-xxxxl {
+ bottom: -20rpx;
+}
+
+.bottom-0-xxxxxl {
+ bottom: -24rpx;
+}
+
+.bottom-0 {
+ bottom: 0;
+}
+
+.bottom-xs {
+ bottom: 2rpx;
+}
+
+.bottom-sm {
+ bottom: 4rpx;
+}
+
+.bottom-md {
+ bottom: 6rpx;
+}
+
+.bottom-lg {
+ bottom: 8rpx;
+}
+
+.bottom-xl {
+ bottom: 10rpx;
+}
+
+.bottom-xxl {
+ bottom: 12rpx;
+}
+
+.bottom-xxxl {
+ bottom: 16rpx;
+}
+
+.bottom-xxxxl {
+ bottom: 20rpx;
+}
+
+.bottom-xxxxxl {
+ bottom: 24rpx;
+}
+
+.right-0-xs {
+ right: -2rpx;
+}
+
+.right-0-sm {
+ right: -4rpx;
+}
+
+.right-0-md {
+ right: -6rpx;
+}
+
+.right-0-lg {
+ right: -8rpx;
+}
+
+.right-0-xl {
+ right: -10rpx;
+}
+
+.right-0-xxl {
+ right: -12rpx;
+}
+
+.right-0-xxxl {
+ right: -16rpx;
+}
+
+.right-0-xxxxl {
+ right: -20rpx;
+}
+
+.right-0-xxxxxl {
+ right: -24rpx;
+}
+
+.right-0 {
+ right: 0;
+}
+
+.right-xs {
+ right: 2rpx;
+}
+
+.right-sm {
+ right: 4rpx;
+}
+
+.right-md {
+ right: 6rpx;
+}
+
+.right-lg {
+ right: 8rpx;
+}
+
+.right-xl {
+ right: 10rpx;
+}
+
+.right-xxl {
+ right: 12rpx;
+}
+
+.right-xxxl {
+ right: 16rpx;
+}
+
+.right-xxxxl {
+ right: 20rpx;
+}
+
+.right-xxxxxl {
+ right: 24rpx;
+}
+
+/**
+ * gap
+ */
+.gap-2 {
+ gap: 4rpx;
+}
+.gap-3 {
+ gap: 6rpx;
+}
+.gap-4 {
+ gap: 8rpx;
+}
+
+.gap-5 {
+ gap: 10rpx;
+}
+
+.gap-8 {
+ gap: 16rpx;
+}
+
+.gap-10 {
+ gap: 20rpx;
+}
+
+.gap-12 {
+ gap: 24rpx;
+}
+
+.gap-16 {
+ gap: 32rpx;
+}
+.gap-20 {
+ gap: 40rpx;
+}
+
+.pr-4 {
+ padding: 8rpx;
+}
+.pr-15 {
+ padding-right: 30rpx;
+}
+.plr-11 {
+ padding-left: 22rpx;
+ padding-right: 22rpx;
+}
+
+.ptb-5 {
+ padding-top: 10rpx;
+ padding-bottom: 10rpx;
+}
+
+.ptb-15 {
+ padding-top: 30rpx;
+ padding-bottom: 30rpx;
+}
+
+.mlr-10 {
+ margin-left: 20rpx;
+ margin-right: 20rpx;
+}
+
+/**
+ * 主要类样式
+ */
+.margin-main {
+ margin: 24rpx;
+}
+.margin-top-main {
+ margin-top: 24rpx;
+}
+.margin-right-main {
+ margin-right: 24rpx;
+}
+.margin-bottom-main {
+ margin-bottom: 24rpx;
+}
+.margin-left-main {
+ margin-left: 24rpx;
+}
+.margin-horizontal-main {
+ margin-left: 24rpx;
+ margin-right: 24rpx;
+}
+.margin-vertical-main {
+ margin-top: 24rpx;
+ margin-bottom: 24rpx;
+}
+.padding-main {
+ padding: 24rpx;
+}
+.padding-top-main {
+ padding-top: 24rpx;
+}
+.padding-right-main {
+ padding-right: 24rpx;
+}
+.padding-bottom-main {
+ padding-bottom: 24rpx;
+}
+.padding-left-main {
+ padding-left: 24rpx;
+}
+.padding-horizontal-main {
+ padding-left: 24rpx;
+ padding-right: 24rpx;
+}
+.padding-vertical-main {
+ padding-top: 24rpx;
+ padding-bottom: 24rpx;
+}
+.border-radius-main {
+ border-radius: 16rpx;
+}
+.border-radius-left-main {
+ border-top-left-radius: 16rpx;
+ border-bottom-left-radius: 16rpx;
+}
+.border-radius-right-main {
+ border-top-right-radius: 16rpx;
+ border-bottom-right-radius: 16rpx;
+}
+.border-radius-top-main {
+ border-top-left-radius: 16rpx;
+ border-top-right-radius: 16rpx;
+}
+.border-radius-bottom-main {
+ border-bottom-left-radius: 16rpx;
+ border-bottom-right-radius: 16rpx;
+}
+.border-radius-xs {
+ border-radius: 4rpx;
+}
+.border-radius-left-xs {
+ border-top-left-radius: 4rpx;
+ border-bottom-left-radius: 4rpx;
+}
+.border-radius-right-xs {
+ border-top-right-radius: 4rpx;
+ border-bottom-right-radius: 4rpx;
+}
+.border-radius-top-xs {
+ border-top-left-radius: 4rpx;
+ border-top-right-radius: 4rpx;
+}
+.border-radius-bottom-xs {
+ border-bottom-left-radius: 4rpx;
+ border-bottom-right-radius: 4rpx;
+}
+.border-radius-sm {
+ border-radius: 8rpx;
+}
+.border-radius-left-sm {
+ border-top-left-radius: 8rpx;
+ border-bottom-left-radius: 8rpx;
+}
+.border-radius-right-sm {
+ border-top-right-radius: 8rpx;
+ border-bottom-right-radius: 8rpx;
+}
+.border-radius-top-sm {
+ border-top-left-radius: 8rpx;
+ border-top-right-radius: 8rpx;
+}
+.border-radius-bottom-sm {
+ border-bottom-left-radius: 8rpx;
+ border-bottom-right-radius: 8rpx;
+}
\ No newline at end of file
diff --git a/common/css/page.css b/common/css/page.css
new file mode 100644
index 0000000..6d58ee3
--- /dev/null
+++ b/common/css/page.css
@@ -0,0 +1,1420 @@
+/* #ifdef H5 */
+body {
+ background: #333 !important;
+}
+page {
+ min-height: 100%;
+}
+a {
+ text-decoration: none;
+}
+
+/**
+ * 页面宽度最大1600rpx、并居中
+ */
+page,
+iframe,
+.uni-page-head,
+.uni-tabbar,
+.open-location,
+.home-top-nav-content,
+.search-content-fixed,
+.trn-nav-top,
+.goods-buy-nav,
+.popup-bottom,
+.popup-top,
+.quick-movable-container,
+.online-service-movable-container,
+.bottom-fixed,
+.buy-nav,
+.plugins-popupscreen .content,
+.cart-buy-nav,
+.bg-img,
+.pa-w,
+.plugins-realstore-cart-content,
+.tabs-content,
+.header-around,
+.plugins-realstore-detail-base-mode-nav {
+ max-width: 1600rpx !important;
+ margin: 0 auto !important;
+}
+.plugins-realstore-buy-type-choice,
+.plugins-categorylimit-warm-tips-content {
+ max-width: 1400rpx !important;
+ margin: 0 auto !important;
+}
+.trn-nav-top,
+.nav-more-view,
+.quick-movable-container,
+.online-service-movable-container,
+.plugins-realstore-cart-content,
+.plugins-realstore-detail-base-mode-nav {
+ left: auto !important;
+}
+iframe,
+.bottom-fixed {
+ right: 0 !important;
+}
+.web-html-content iframe {
+ width: 100% !important;
+ max-height: 500rpx !important;
+}
+@media only screen and (min-width: 1600rpx) {
+ .cart-buy-nav,
+ .goods-buy-nav {
+ left: calc(50% - 780rpx) !important;
+ width: 1560rpx !important;
+ }
+}
+
+/**
+ * 隐藏导航栏内容、仅展示返回按钮
+ */
+uni-page-head {
+ position: absolute;
+ margin-top: -1999998rpx;
+ z-index: 99;
+}
+.uni-page-head-bd {
+ display: none !important;
+}
+.uni-page-head-btn {
+ position: fixed;
+ left: auto;
+ bottom: 320rpx;
+ background: rgba(0, 0, 0, 0.6);
+ box-shadow: 0 0 20rpx rgb(0 0 0 / 30%);
+ margin: 0 0 0 20rpx;
+ border-radius: 100rpx;
+ width: 62rpx;
+ height: 62rpx;
+ text-align: center;
+ padding: 4rpx 6rpx 0 0;
+}
+.uni-page-head-btn .uni-btn-icon {
+ color: #fff !important;
+}
+.uni-app--showtabbar uni-page-wrapper,
+uni-page-head[uni-page-head-type=default]~uni-page-wrapper {
+ height: calc(100% - var(--window-bottom)) !important;
+}
+
+/* #endif */
+
+/**
+ * 公共样式、框架样式覆盖
+ */
+page {
+ background: #f8f8f8;
+ color: #4a4a4a;
+}
+
+input[type="text"],
+input[type="number"],
+input[type="idcard"],
+input[type="digit"],
+textarea {
+ appearance: none;
+ -webkit-appearance: none;
+ border-radius: 10rpx;
+ box-sizing: border-box;
+}
+
+page,
+textarea,
+.a-textarea-control textarea {
+ font-size: 28rpx;
+}
+
+button:after,
+button:before {
+ border: 0;
+ border-radius: 0;
+}
+
+/**
+ * 模块分割间距
+ */
+.spacing {
+ padding-top: 20rpx;
+}
+.spacing-mt-10 {
+ margin-top: 20rpx;
+}
+.spacing-mb-10 {
+ margin-bottom: 20rpx;
+}
+.spacing-mb {
+ margin-bottom: 24rpx;
+}
+.spacing-mt {
+ margin-top: 24rpx;
+}
+
+/**
+ * 常用样式
+ */
+.max-w {
+ max-width: 100%;
+}
+.max-h {
+ max-height: 100%;
+}
+.min-w {
+ min-width: 100%;
+}
+.min-h {
+ min-height: 100%;
+}
+.fl {
+ float: left;
+}
+.fr {
+ float: right;
+}
+.min-wh {
+ min-width: 100vw !important;
+}
+.min-ht {
+ min-height: 100vh !important;
+}
+.wh {
+ width: 100vw !important;
+}
+.ht {
+ height: 100vh !important;
+}
+.wh-auto {
+ width: 100% !important;
+}
+.ht-auto {
+ height: 100% !important;
+}
+.tc {
+ text-align: center;
+}
+.tl {
+ text-align: left;
+}
+.tr {
+ text-align: right;
+}
+.oh {
+ overflow: hidden;
+}
+.oa {
+ overflow: auto;
+}
+.ou {
+ overflow: unset !important;
+}
+.dis-none {
+ display: none !important;
+}
+.dis-block {
+ display: block !important;
+}
+.dis-inline {
+ display: inline !important;
+}
+.dis-inline-block {
+ display: inline-block !important;
+}
+.dis-inline-grid {
+ display: inline-grid;
+}
+.va-t {
+ vertical-align: top;
+}
+.va-m {
+ vertical-align: middle;
+}
+.va-b {
+ vertical-align: text-bottom;
+}
+.pf {
+ position: fixed;
+}
+.pa {
+ position: absolute;
+}
+.pr {
+ position: relative;
+}
+.ps {
+ position: sticky;
+}
+.z-i {
+ z-index: 1 !important;
+}
+.z-i-deep {
+ z-index: 2 !important;
+}
+.z-i-deep-must {
+ z-index: 999 !important;
+}
+.bs-bb {
+ box-sizing: border-box;
+}
+.radius-0 {
+ border-radius: 0 !important;
+}
+.radius {
+ border-radius: 10rpx !important;
+}
+.radius-md {
+ border-radius: 16rpx !important;
+}
+.radius-lg {
+ border-radius: 32rpx !important;
+}
+.round {
+ border-radius: 100rpx !important;
+}
+.circle {
+ border-radius: 50% !important;
+}
+.fw-b {
+ font-weight: 500;
+}
+.fw-n {
+ font-weight: 400;
+}
+.auto {
+ margin: 0 auto;
+}
+.cp {
+ /* #ifdef H5 */
+ cursor: pointer;
+ /* #endif */
+}
+
+/**
+ * 透明度
+ */
+.opacity-min {
+ opacity: 0.3;
+}
+.opacity {
+ opacity: 0.6;
+}
+.opacity-max {
+ opacity: 0.8;
+}
+
+/**
+ * 底部浮动
+ */
+.bottom-fixed {
+ position: fixed;
+ left: 0;
+ bottom: 0;
+ width: 100%;
+ box-sizing: border-box;
+ z-index: 2;
+ padding: 20rpx;
+}
+.bottom-fixed .item {
+ box-shadow: 0rpx 4rpx 8rpx 0px rgba(0, 0, 0, 0.16);
+}
+
+/**
+ * 底部右侧浮动+号
+ */
+.buttom-right-submit {
+ position: fixed;
+ bottom: 50rpx;
+ right: 50rpx;
+ width: 100rpx;
+ height: 100rpx;
+ line-height: 86rpx;
+ box-shadow: 0 0 20rpx 4rpx #c4c4c4;
+ font-size: 76rpx;
+}
+
+/**
+ * 兼容底部横线底部内边距
+ */
+.bottom-line-exclude {
+ /* #ifndef APP */
+ padding-bottom: calc(env(safe-area-inset-bottom) - 40rpx);
+ /* #endif */
+}
+
+/**
+ * 页面底部浮动、增加底部边距
+ */
+.page-bottom-fixed {
+ padding-bottom: 120rpx !important;
+}
+
+/**
+ * 价格
+ */
+.sales-price {
+ color: #E22C08;
+ font-weight: bold;
+ font-size: 28rpx;
+}
+.original-price {
+ color: #999;
+ font-size: 24rpx;
+ text-decoration: line-through;
+}
+
+/**
+ * 边框 灰色(四边)、红色、黄色、绿色、灰色、无边线
+ */
+.br {
+ border: 2rpx solid #EEEEEE !important;
+}
+.br-b {
+ border-bottom: 2rpx solid #EEEEEE !important;
+}
+.br-t {
+ border-top: 2rpx solid #EEEEEE !important;
+}
+.br-l {
+ border-left: 2rpx solid #EEEEEE !important;
+}
+.br-r {
+ border-right: 2rpx solid #EEEEEE !important;
+}
+.br-f5 {
+ border: 2rpx solid #f5f5f5 !important;
+}
+.br-b-f5 {
+ border-bottom: 2rpx solid #f5f5f5 !important;
+}
+.br-t-f5 {
+ border-top: 2rpx solid #f5f5f5 !important;
+}
+.br-l-f5 {
+ border-left: 2rpx solid #f5f5f5 !important;
+}
+.br-r-f5 {
+ border-right: 2rpx solid #f5f5f5 !important;
+}
+
+
+.br-f9 {
+ border: 2rpx solid #f9f9f9 !important;
+}
+.br-b-f9 {
+ border-bottom: 2rpx solid #f9f9f9 !important;
+}
+.br-t-f9 {
+ border-top: 2rpx solid #f9f9f9 !important;
+}
+.br-l-f9 {
+ border-left: 2rpx solid #f9f9f9 !important;
+}
+.br-r-f9 {
+ border-right: 2rpx solid #f9f9f9 !important;
+}
+.br-e {
+ border: 2rpx solid #eeeeee !important;
+}
+.br-b-e {
+ border-bottom: 2rpx solid #eeeeee !important;
+}
+.br-t-e {
+ border-top: 2rpx solid #eeeeee !important;
+}
+.br-l-e {
+ border-left: 2rpx solid #eeeeee !important;
+}
+.br-r-e {
+ border-right: 2rpx solid #eeeeee !important;
+}
+.br-c {
+ border: solid 2rpx #cccccc !important;
+}
+.br-b-c {
+ border-bottom: 2rpx solid #cccccc !important;
+}
+.br-t-c {
+ border-top: 2rpx solid #cccccc !important;
+}
+.br-l-c {
+ border-left: 2rpx solid #cccccc !important;
+}
+.br-r-c {
+ border-right: 2rpx solid #cccccc !important;
+}
+
+.br-white {
+ border: 2rpx solid #FFF !important;
+}
+.br-red {
+ border: 2rpx solid #E22C08 !important;
+}
+.br-yellow {
+ border: 2rpx solid #f6c133 !important;
+}
+.br-green {
+ border: 2rpx solid #52C41A !important;
+}
+.br-grey {
+ border: solid 2rpx #dddddd !important;
+}
+.br-grey-d {
+ border: solid 2rpx #dddddd !important;
+}
+.br-grey-f5 {
+ border: solid 2rpx #f5f5f5 !important;
+}
+.br-grey-f7 {
+ border: solid 2rpx #f7f7f7 !important;
+}
+.br-grey-9 {
+ border: solid 2rpx #999999 !important;
+}
+.br-blue {
+ border: solid 2rpx #2196F3 !important;
+}
+.br-black {
+ border: solid 2rpx #333333 !important;
+}
+.br-base {
+ border: solid 2rpx #666 !important;
+}
+.br-0 {
+ border: 0 !important;
+ box-shadow: none;
+}
+.br-top-shadow {
+ box-shadow: 0rpx -4rpx 10rpx 0rpx rgba(0, 0, 0, 0.03);
+}
+
+/**
+ * 虚线边框、灰色(四边)、红色、黄色、绿色、灰色
+ */
+.br-dashed {
+ border: dashed 2rpx #EEEEEE !important;
+}
+.br-b-dashed {
+ border-bottom: dashed 2rpx #EEEEEE !important;
+}
+.br-t-dashed {
+ border-top: dashed 2rpx #EEEEEE !important;
+}
+.br-l-dashed {
+ border-left: dashed 2rpx #EEEEEE !important;
+}
+.br-r-dashed {
+ border-right: dashed 2rpx #EEEEEE !important;
+}
+.br-dashed-red {
+ border: dashed 2rpx #E22C08 !important;
+}
+.br-dashed-yellow {
+ border: dashed 2rpx #f6c133 !important;
+}
+.br-dashed-green {
+ border: dashed 2rpx #1AAD19 !important;
+}
+.br-dashed-grey {
+ border: dashed 2rpx #d6d6d6 !important;
+}
+
+/**
+ * 统一颜色
+ * 文本价格色、基础色、白色、黑色、灰色、浅灰色、红色、黄色、绿色、蓝色
+ */
+.cr-price {
+ color: #E22C08;
+}
+.cr-base {
+ color: #666 !important;
+}
+.cr-white {
+ color: #fff !important;
+}
+.cr-black {
+ color: #333 !important;
+}
+.cr-grey,
+.cr-grey-9 {
+ color: #999 !important;
+}
+.cr-grey-c {
+ color: #ccc !important;
+}
+.cr-grey-d {
+ color: #ddd !important;
+}
+.cr-grey-white {
+ color: #e7e7e7 !important;
+}
+.cr-red {
+ color: #E22C08 !important;
+}
+.cr-yellow {
+ color: #f6c133 !important;
+}
+.cr-orange {
+ color: #F37B1D !important;
+}
+.cr-green {
+ color: #1AAD19 !important;
+}
+.cr-blue {
+ color: #2196F3 !important;
+}
+.cr-blue-dark {
+ color: #B3BFCB !important;
+}
+
+/**
+ * 统一背景色
+ * 白色、绿色、红色、黄色、灰色
+ */
+.bg-white {
+ background-color: #fff !important;
+}
+.bg-green {
+ background-color: #1AAD19 !important;
+}
+.bg-red {
+ background-color: #E64340 !important;
+}
+.bg-yellow {
+ background-color: #f6c133 !important;
+}
+.bg-grey {
+ background-color: #d6d6d6 !important;
+}
+.bg-grey-d {
+ background-color: #dddddd !important;
+}
+.bg-grey-e {
+ background-color: #eeeeee !important;
+}
+.bg-grey-f5 {
+ background-color: #f5f5f5 !important;
+}
+.bg-grey-f7 {
+ background-color: #f7f7f7 !important;
+}
+.bg-grey-f8 {
+ background-color: #f8f8f8 !important;
+}
+.bg-grey-f9 {
+ background-color: #f9f9f9 !important;
+}
+.bg-base {
+ background-color: #f5f5f5 !important;
+}
+.bg-blue {
+ background-color: #2196F3 !important;
+}
+.bg-black {
+ background-color: #333333 !important;
+}
+.bg-white-disabled,
+button[disabled].bg-white {
+ background-color: #fff !important;
+ color: #ccc !important;
+}
+.bg-green-disabled,
+button[disabled].bg-green {
+ background-color: #94de94 !important;
+ color: #d5f5d5 !important;
+}
+.bg-red-disabled,
+button[disabled].bg-red {
+ background-color: #ffbaba !important;
+ color: #ffdfdf !important;
+}
+.bg-yellow-disabled,
+button[disabled].bg-yellow {
+ background-color: #fff1cb !important;
+ color: #fbd777 !important;
+}
+.bg-grey-disabled,
+button[disabled].bg-grey {
+ background-color: #ececec !important;
+ color: #ababab !important;
+}
+
+/**
+ * 表单
+ */
+.form-container .form-gorup {
+ padding: 24rpx;
+}
+.form-container .form-gorup .form-gorup-item-left {
+ float: left;
+ padding-right: 20rpx;
+}
+.form-container .form-gorup .form-gorup-item-right {
+ float: right;
+ padding-left: 20rpx;
+ border-left: 2rpx solid #f7f7f7;
+}
+.form-container .form-gorup .form-gorup-item-left,
+.form-container .form-gorup .form-gorup-item-right {
+ width: calc(50% - 20rpx - 2rpx);
+}
+.form-container .form-gorup-submit {
+ padding: 20rpx 0;
+}
+.form-container .form-gorup:not(.form-gorup-submit) {
+ background: #fff;
+}
+.form-container .form-group-tips,
+.form-container .form-group-tips-must {
+ margin-left: 6rpx;
+ font-size: 24rpx;
+ color: #ccc;
+}
+.form-container .form-group-tips-must {
+ color: #f00;
+}
+.form-container .form-gorup input,
+.form-container .form-gorup textarea,
+.form-container .form-gorup .picker,
+.form-container .form-gorup .form-gorup-value {
+ border-radius: 0;
+ width: 100%;
+ box-sizing: border-box;
+ font-size: 28rpx;
+}
+.form-container .form-gorup input,
+.form-container .form-gorup .picker,
+.form-container .form-gorup .radio-gorup,
+.form-container .form-gorup .form-gorup-value {
+ height: 70rpx;
+ line-height: 70rpx;
+}
+.form-container .form-gorup textarea {
+ padding: 0;
+ height: 150rpx !important;
+ margin-top: 20rpx;
+}
+.form-container .form-gorup-text {
+ padding: 20rpx 10rpx;
+}
+.form-container .form-gorup .switch {
+ margin: 30rpx 0 20rpx 0;
+}
+.form-container .form-gorup .radio-gorup .radio radio {
+ transform: scale(0.7);
+}
+.form-container .form-gorup .radio-gorup .radio:not(:last-child) {
+ margin-right: 50rpx;
+}
+.form-container .form-gorup.row {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ width: 100%;
+}
+.form-container .form-gorup.row .form-gorup-title {
+ width: 180rpx;
+}
+
+/**
+ * 表单图片上传
+ */
+.form-container-upload .form-gorup-title {
+ margin-bottom: 20rpx;
+}
+.form-container-upload .form-upload-data .item {
+ margin: 10rpx 10rpx 0 0;
+ position: relative;
+}
+.form-container-upload .form-upload-data .delete-icon {
+ position: absolute;
+ top: 0;
+ right: 0;
+ color: #e5e5e5;
+ background-color: #d9534f;
+ padding: 5rpx 18rpx;
+ font-size: 36rpx;
+ border: 2rpx solid #eee;
+ border-radius: 50rpx;
+ line-height: 44rpx;
+ z-index: 1;
+}
+.form-container-upload .form-upload-data image {
+ width: 140rpx;
+ height: 140rpx;
+ padding: 5rpx;
+ border: 2rpx solid #eee;
+ display: block;
+ border-radius: 10rpx;
+}
+
+/**
+ * 箭头符号
+ */
+.arrow-right {
+ background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAYAAACpSkzOAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAGqADAAQAAAABAAAAGgAAAABMybYKAAACJElEQVRIDWNgGAWDPQQYCTkwNTXVhZmZ2RKIp02dOvUtIfW45JlwSSCJp3NwcDT9/ft3S0ZGhg6SOElMghYBfdL47du306ysrBZAk3empaUFkGQDVDEzIU1nzpx5ZWxsvP7////SQEutgXSIiYnJV19f35MHDhz4T0g/TJ6gRSCFZ8+e/aaoqLiRjY3tDxMTkx3QQs9Pnz7JmJmZHQY65AfMMHw0wcSArhmYOIJBCQMYlGK/fv06ArQ4Zfr06TfR1aHzifIRsqZz585dNzU13f/7928LdnZ2U2Ai8QMG7Q2gr+8gq0Nnk+wjmAFZWVkSf/78mQL0WTCQBgVfhaSk5OSGhoZ/MDXINMk+gmk+ffr0F15e3nWCgoL/gMFnD8TeX758YQXG2T6YGmSaYPJGVozOBqa6P8BUeB0o/h0Ybwz//v1TQFcD47PAGKTSoaGhzEDf1AJ9Us3IyMgCjLO5wPgqw2UOWRbl5uaKAlPcZBYWlnBg/PwCGl4yY8aMPqCFOPMVyYkBWDLoAg1eAExxRkBfPAUGXebMmTM34/IJTJwki9LT0/2BrgblISmgj44DDUkBWnINZhg+miiLgEmW6dmzZ2VASxqBwcUGDK5FQLqIlNKcoEXJyclCQB/0AVNVPNCCv0BXN7x796599erVIDbRgGBiALp8IjA+Yn78+PESaGoOMKjWEG06kkKC+QgY2Zd//vy5DZhHPMi1BMm+UeYgDgEAf6bHwBiHBjoAAAAASUVORK5CYII=');
+ background-size: 26rpx 26rpx;
+ background-repeat: no-repeat;
+ background-position: center right;
+}
+.arrow-bottom {
+ background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABRklEQVRYR+2UsUrFMBSGT9LBN3AQR4vQNO0gPoA6Cy5XZ1ddfZbr6nwdXFwVH8AlJacg2cTFN7BLjkQQwtW2STvcJRlL8/8fX3LCYMOLbbgfEkAykAwkA4MGEHEhhLif81gZY3bzPP/oy+gFQMSCiJCIjqSUL1MgjDFbXdd9AcB1WZbL/zIGDWitVwCwmAKhlNrOsuyTMYYAcC6EaKMB3IZfCMbYiRDiOcQEIu4RkRkrd1lBU+CZOJVSPg5BNE1zwDl/DSkPBvBNENGFlNIdzZ+FiMdE9BRaHgXgQ1hrL6uquvMJ2rY9s9Y+xJRHA/gQnPOroihu3Tc3rkS0ii2fBLB2MW8A4H1q+WQAH+InZGTUhi5t0BT0BWitDQDsMMYO++Z8bGxnAbhwpdR+XddvY0XRT/HUwNh9sw3EFq7/nwCSgWQgGfgGWR6PIRYTYskAAAAASUVORK5CYII=');
+ background-size: 38rpx 38rpx;
+ background-repeat: no-repeat;
+ background-position: center right;
+}
+
+/**
+ * 信息提示、加载页面图片
+ */
+.data-loding image {
+ width: 120rpx;
+ height: 120rpx;
+ background-size: 80% 80% !important;
+}
+
+/**
+ * 元素漂出可视页面
+ */
+.drift {
+ position: fixed;
+ left: -2000rpx;
+}
+
+/**
+ * 导航分割
+ */
+.spacing-nav-title {
+ margin-bottom: 20rpx
+}
+.spacing-nav-title .text-wrapper {
+ display: inline-block;
+ font-size: 32rpx;
+ font-weight: 500;
+ color: #333;
+}
+
+/**
+ * 关键字标签展示
+ */
+.word-list .word-icon {
+ border-radius: 4rpx;
+ border: 2rpx solid #FFCAC0;
+ color: #FFCAC0;
+ padding: 0 12rpx;
+ line-height: 40rpx;
+}
+.word-list .word-icon:not(:last-child) {
+ margin-right: 20rpx;
+}
+.word-list image {
+ max-width: 100%;
+ margin: 0 auto;
+}
+
+/**
+ * 文字超出部分使用省略号
+ */
+.single-text {
+ -o-text-overflow: ellipsis;
+ text-overflow: ellipsis;
+ overflow: hidden;
+ white-space: nowrap;
+ max-width: 100%;
+}
+.multi-text {
+ max-width: 100%;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ line-clamp: 2;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+ min-height: 76rpx;
+ line-height: 38rpx;
+ font-size: 28rpx;
+ white-space: initial;
+}
+.text-line-1 {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 1;
+ /* 添加标准属性以增加兼容性 */
+ line-clamp: 1;
+ -webkit-box-orient: vertical;
+ word-break: break-word;
+ overflow-wrap: break-word;
+ word-wrap: break-word;
+}
+.text-line-2 {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ /* 添加标准属性以增加兼容性 */
+ line-clamp: 2;
+ -webkit-box-orient: vertical;
+ word-break: break-word;
+ overflow-wrap: break-word;
+ word-wrap: break-word;
+}
+.text-line-3 {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 3;
+ /* 添加标准属性以增加兼容性 */
+ line-clamp: 3;
+ -webkit-box-orient: vertical;
+ word-break: break-word;
+ overflow-wrap: break-word;
+ word-wrap: break-word;
+}
+/**
+ * 文字超出部分换行
+ */
+.warp {
+ word-break: break-all;
+}
+/**
+ * 文字不换行
+ */
+.nowrap {
+ white-space: nowrap;
+}
+
+/**
+ * 基础导航
+ */
+.nav-base {
+ height: 80rpx;
+ line-height: 80rpx;
+}
+.nav-base .item {
+ /* #ifdef H5 */
+ cursor: pointer;
+ /* #endif */
+}
+
+/**
+ * 导航下划线
+ */
+.nav-active-line {
+ position: relative;
+}
+.nav-active-line::before {
+ content: '';
+ width: 24rpx;
+ height: 6rpx;
+ background: transparent;
+ border-radius: 6rpx;
+ position: absolute;
+ left: 50%;
+ bottom: 0;
+ transform: translateX(-50%);
+}
+
+/**
+ * 滚动页面高度
+ */
+.scroll-box {
+ height: 100vh;
+}
+
+/**
+ * 存在基础导航
+ */
+.scroll-box-ece-nav {
+ height: calc(100vh - 80rpx);
+}
+
+/**
+ * 滚动水平左右滑动
+ */
+.scroll-view-horizontal {
+ white-space: nowrap;
+ box-sizing: border-box;
+ width: 100%;
+}
+
+/**
+ * 滚动水平左右滑动内容宽度处理
+ */
+.rolling-horizontal .scroll-view-horizontal {
+ width: calc(100% + 20rpx);
+}
+
+/**
+ * 公共操作栏按钮样式
+ */
+.item-operation button:not(:first-child) {
+ margin-left: 20rpx;
+}
+.item-operation button {
+ padding: 0 35rpx;
+ height: 58rpx;
+ line-height: 58rpx;
+ display: inline-flex;
+ align-items: center;
+}
+
+/**
+ * 单页预览
+ */
+.single-page-top {
+ padding-top: 110rpx;
+}
+
+/**
+ * 上一篇、下一篇
+ */
+.last-next-data .item {
+ width: calc(100% - 120rpx);
+}
+
+/**
+ * 商品列表
+ */
+.goods-list .cart-badge-icon {
+ top: -18rpx;
+ right: 8rpx;
+}
+.goods-list .error-msg {
+ position: absolute;
+ top: 0;
+ left: 0;
+ background: rgb(253 253 253 / 60%);
+ z-index: 1;
+ filter: blur(0.6rpx);
+}
+.goods-data-grid-list .item .error-msg,
+.goods-data-rolling-list .item .error-msg {
+ border-bottom-left-radius: 0 !important;
+ border-bottom-right-radius: 0 !important;
+}
+
+/**
+ * 商品列表 - 列表
+ */
+.goods-data-list .error-msg,
+.goods-data-list .goods-img {
+ width: 190rpx !important;
+ height: 190rpx !important;
+}
+.goods-data-list .base {
+ width: calc(100% - 220rpx);
+}
+.goods-data-list .base .base-bottom {
+ width: calc(100% - 60rpx);
+}
+.goods-data-list .error-msg {
+ top: 24rpx;
+ left: 24rpx;
+ line-height: 190rpx;
+}
+
+/*
+ * 商品列表 - 滚动
+ */
+.goods-data-rolling-list .swiper {
+ height: 310rpx !important;
+}
+.goods-data-rolling-list .item .error-msg,
+.goods-data-rolling-list .item .goods-img {
+ height: 210rpx !important;
+}
+.goods-data-rolling-list .item .error-msg {
+ line-height: 210rpx;
+}
+
+/**
+ * 商品列表 - 九方格
+ */
+
+.goods-data-grid-list .item {
+ width: calc(50% - 12rpx);
+ padding-bottom: 24rpx;
+ margin-bottom: 24rpx;
+}
+.goods-data-grid-list .item:nth-of-type(2n + 1) {
+ margin-right: 12rpx;
+}
+.goods-data-grid-list .item:nth-of-type(2n) {
+ margin-left: 12rpx;
+}
+.goods-data-grid-list .item .error-msg {
+ line-height: 341rpx;
+}
+.goods-data-grid-list .item .open-grid-btn {
+ width: calc(100% - 80rpx);
+ min-height: 50rpx;
+ line-height: 50rpx;
+}
+
+/**
+ * 头部客服信息弹窗
+ */
+/**
+* 客服
+*/
+.header-service .item:first-child {
+ border-top: 0 !important;
+}
+.header-service .qrcode .item:not(:last-child) {
+ margin-right: 40rpx;
+}
+.header-service image {
+ width: 200rpx;
+ height: 200rpx;
+}
+.header-service .chat-info image {
+ width: 40rpx;
+ height: 40rpx;
+}
+
+/**
+ * flex 布局
+ */
+.flex-row {
+ display: flex;
+ flex-direction: row;
+}
+.flex-col {
+ display: flex;
+ flex-direction: column;
+}
+.jc-sb {
+ justify-content: space-between;
+}
+.jc-c {
+ justify-content: center;
+}
+.jc-sa {
+ justify-content: space-around;
+}
+.jc-e {
+ justify-content: flex-end;
+}
+.align-c {
+ align-items: center;
+}
+.align-e {
+ align-items: flex-end;
+}
+.align-s {
+ align-items: flex-start;
+}
+.align-b {
+ align-items: baseline;
+}
+.flex-wrap {
+ flex-wrap: wrap;
+}
+.flex-nowrap {
+ flex-wrap: nowrap;
+}
+.flex-1 {
+ flex: 1;
+}
+.flex-2 {
+ flex: 2;
+}
+.flex-3 {
+ flex: 3;
+}
+.self-c {
+ align-self: center;
+}
+.self-b {
+ align-self: baseline;
+}
+.self-s {
+ align-self: flex-start;
+}
+.self-e {
+ align-self: flex-end;
+}
+.flex-shrink {
+ flex-shrink: 0;
+}
+.flex-shrink-1 {
+ flex-shrink: 0;
+}
+.flex-width {
+ width: 0;
+}
+.flex-width-half {
+ width: 50%;
+}
+.flex-width-half-half {
+ width: 25%;
+}
+
+/**
+ * css伪类文本之间的分割线 | ——
+*/
+.divider-l,
+.divider-r,
+.divider-t,
+.divider-b,
+.divider-l-f5,
+.divider-r-f5,
+.divider-t-f5,
+.divider-b-f5,
+.divider-l-d,
+.divider-r-d,
+.divider-t-d,
+.divider-b-d {
+ position: relative;
+}
+.divider-l-f5::before,
+.divider-r-f5::after,
+.divider-t-f5::before,
+.divider-b-f5::after {
+ background: #f5f5f5 !important;
+}
+.divider-l-d::before,
+.divider-r-d::after,
+.divider-t-d::before,
+.divider-b-d::after {
+ background: #dddddd !important;
+}
+.divider-l::before,
+.divider-l-f5::before,
+.divider-l-d::before {
+ content: '';
+ width: 2rpx;
+ height: 65%;
+ position: absolute;
+ left: 0;
+ top: 50%;
+ transform: translateY(-50%);
+ background: #EEEEEE;
+}
+.divider-r::after,
+.divider-r-f5::after,
+.divider-r-d::after {
+ content: '';
+ width: 2rpx;
+ height: 65%;
+ position: absolute;
+ right: 0;
+ top: 50%;
+ transform: translateY(-50%);
+ background: #EEEEEE;
+}
+.divider-t::before,
+.divider-t-f5::before,
+.divider-t-d::before {
+ content: '';
+ width: 100%;
+ height: 2rpx;
+ position: absolute;
+ top: 0;
+ background: #EEEEEE;
+}
+.divider-b::after,
+.divider-b-f5::after,
+.divider-b-d::after {
+ content: '';
+ width: 100%;
+ height: 2rpx;
+ position: absolute;
+ bottom: 0;
+ background: #EEEEEE;
+}
+
+/**
+ * 标题左侧边线
+*/
+.title-left-border {
+ position: relative;
+ padding-left: 20rpx;
+}
+.title-left-border::before {
+ content: '';
+ width: 8rpx;
+ height: 32rpx;
+ border-radius: 6rpx;
+ position: absolute;
+ top: 50%;
+ left: 0;
+ transform: translateY(-50%);
+}
+
+/**
+ * 导航菜单左侧边线
+ */
+.nav-left-border {
+ position: relative;
+ padding-left: 20rpx;
+}
+.nav-left-border::before {
+ content: '';
+ width: 6rpx;
+ height: 40rpx;
+ border-radius: 6rpx;
+ position: absolute;
+ top: 50%;
+ left: 0;
+ transform: translateY(-50%);
+}
+/**
+ * 延迟动画
+ */
+.animate-linear {
+ transition: all 0.3s linear;
+}
+
+/**
+ * 呼吸
+ */
+/* */
+.breathe {
+ background-color: #FF7C74;
+ border-radius: 100%;
+ width: 12rpx;
+ height: 12rpx;
+ position: relative;
+}
+.breathe::before,
+.breathe::after {
+ content: '';
+ background-color: rgba(255, 124, 116, 0.7);
+ border-radius: 50%;
+ position: absolute;
+ animation: loading 2s infinite ease-in-out;
+}
+.breathe::before {
+ width: 24rpx;
+ height: 24rpx;
+ top: -6rpx;
+ left: -6rpx;
+}
+.breathe::after {
+ width: 36rpx;
+ height: 36rpx;
+ top: -12rpx;
+ left: -12rpx;
+}
+
+@keyframes loading {
+ 0% {
+ opacity: 0.5;
+ -webkit-transform: scale(1);
+ }
+
+ 50% {
+ opacity: 0.7;
+ -webkit-transform: scale(1.12);
+ }
+
+ 100% {
+ opacity: 0.5;
+ -webkit-transform: scale(1);
+ }
+}
+
+/**
+ * 扩散效果
+ */
+/* */
+.spread {
+ background-color: #FF7C74;
+ height: 16rpx;
+ width: 16rpx;
+ border-radius: 100%;
+ position: relative;
+ z-index: 1;
+}
+.spread .ring {
+ position: absolute;
+ background-color: inherit;
+ height: 100%;
+ width: 100%;
+ border-radius: 100%;
+ opacity: .8;
+ /* 速度为1.5 * 层数 = 实际运行速度,速度修改则 animation-delay 属性也修改相同速度 */
+ animation: pulsing 4.5s ease-out infinite;
+}
+
+/* 速度为1*层数 */
+.spread .ring:nth-of-type(1) {
+ -webkit-animation-delay: -1.5s;
+ animation-delay: -1.5s;
+}
+
+/* 速度为1*层数 */
+.spread .ring:nth-of-type(2) {
+ -webkit-animation-delay: -3s;
+ animation-delay: -3s;
+}
+
+@keyframes pulsing {
+ 100% {
+ transform: scale(3);
+ opacity: 0
+ }
+}
+
+/**
+ * 通知
+ */
+.uni-noticebar {
+ padding: 0 !important;
+ margin: 0 !important;
+}
+
+
+/**
+ * 顶部搜索按钮宽度
+ */
+.top-search-width {
+ width: calc(100% - 250rpx) !important;
+ /* #ifdef MP-ALIPAY */
+ width: calc(100% - 290rpx) !important;
+ /* #endif */
+}
+
+/**
+ * 小程序端距离顶部位置的控制
+ */
+.weixin-nav-padding-top {
+ /* #ifndef H5 */
+ padding-top: calc(var(--status-bar-height) + 10rpx);
+ /* #endif */
+}
+
+/* 数字和文字超出范围不整体换行 */
+.text-word-break {
+ word-break: break-all;
+ overflow-wrap: break-word;
+ word-wrap: break-word;
+}
+/* 指示器上下显示 */
+.indicator_up_down_location {
+ position: absolute;
+ z-index: 1;
+ padding-top: 20rpx;
+ padding-bottom: 20rpx;
+ display: flex;
+ flex-direction: column;
+}
+.indicator_up_down_location .dot-item {
+ margin: 6rpx 0;
+}
+/* 指示器左右显示 */
+.indicator_about_location {
+ position: absolute;
+ z-index: 1;
+ padding-right: 20rpx;
+ padding-left: 20rpx;
+ display: flex;
+}
+.indicator_about_location .dot-item {
+ margin: 0 6rpx;
+}
\ No newline at end of file
diff --git a/common/css/plugins.css b/common/css/plugins.css
new file mode 100644
index 0000000..448992d
--- /dev/null
+++ b/common/css/plugins.css
@@ -0,0 +1,265 @@
+/*
+ * 优惠劵
+ */
+.plugins-coupon-container .item {
+ overflow: hidden;
+ height: 180rpx;
+}
+.plugins-coupon-container .v-left {
+ width: calc(100% - 140rpx);
+ padding: 30rpx 0 30rpx 20rpx;
+ box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ -webkit-box-sizing: border-box;
+}
+.plugins-coupon-container .v-left .base .symbol {
+ font-family: Verdana, Tahoma;
+}
+.plugins-coupon-container .v-left .base .price {
+ font-weight: 700;
+ font-family: arial;
+ font-size: 76rpx;
+}
+.plugins-coupon-container .v-left .base .unit {
+ margin-left: 5rpx;
+}
+.plugins-coupon-container .v-left .base .desc {
+ margin-left: 20rpx;
+}
+.plugins-coupon-container .v-left .base-tips,
+.plugins-coupon-container .v-left .base-time {
+ margin-top: 10rpx;
+}
+.plugins-coupon-container .v-right {
+ width: 140rpx;
+ height: 180rpx;
+ color: #fff;
+ font-weight: 500;
+ position: relative;
+ text-align: center;
+}
+.plugins-coupon-container .v-right:before {
+ content: '';
+ display: inline-block;
+ height: 100%;
+ vertical-align: middle;
+}
+.plugins-coupon-container .v-right .circle {
+ display: block;
+ position: absolute;
+ left: -1px;
+ top: -3px;
+ width: 3px;
+ height: 180rpx;
+ background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAACpCAYAAADur4c3AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3NpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo3MjUzYzIwOS04ZWNlLTRlNTctODQ4OC01ZDExOTkwOGNkYmMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MTM1QzgxREZGRDI5MTFFNTg3QjhGRUQ1MDY5OURERUQiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MTM1QzgxREVGRDI5MTFFNTg3QjhGRUQ1MDY5OURERUQiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NTJiNzVkOGUtZDc2Yi00MzEzLWFmNmYtYTJkNTRlYTI4YTY1IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjcyNTNjMjA5LThlY2UtNGU1Ny04NDg4LTVkMTE5OTA4Y2RiYyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pvy+vnQAAAEqSURBVHjaYvz//z8DDDAxIAFyOVeBOAHEYfyPMDsLmXMfmfMT2YADDP8h4CEQq4A4aUDMA1LNSKZDXwJxGcg1yJaWIXOeInO+IxuwA+acK0AsA+IEADEbic7hhPOAer4DcQcQMyNb2oLMeYVsADcyZwPMObuBWBTEsQFpI9E54sjO+QvEc0F+YoHKJgHxJ2TnvEM2gBmZswrmnA1AzAXiaJPhHC1k58BNQ3bBTGTOR2QD/iJzFsH8Mw/kHxBHggzn2KA7BxzWyC5Yisz5imwACmc2LLY7QbEN4nCS4ZwAIGZFds5lUEpEdsF6nKn3PTJnAsiAV0BcBsSM5GamFCDmQXYOOJ8iu2Anzrz9HKU8ABlwDYgTKcnbo0XNaFEzWtQgipqOYVLUAAQYAKPWa4c8cIHnAAAAAElFTkSuQmCC) no-repeat;
+}
+.plugins-coupon-container .item-disabled .v-right {
+ background: #dfdfdf !important;
+ color: #c0c0c0 !important;
+ cursor: no-drop !important;
+}
+
+/**
+ * 标签
+ */
+.plugins-label {
+ z-index: 2;
+ box-sizing: border-box;
+ white-space: initial;
+ max-width: 100%;
+}
+.plugins-label-text {
+ padding: 10rpx 10rpx 0 10rpx;
+}
+.plugins-label .lv:not(:last-child) {
+ margin-right: 10rpx;
+}
+.plugins-label .lv {
+ margin-bottom: 10rpx;
+}
+.plugins-label-img.plugins-label-bottom-left .lv,
+.plugins-label-img.plugins-label-bottom-center .lv,
+.plugins-label-img.plugins-label-bottom-right .lv {
+ margin-bottom: 0;
+ margin-top: 10rpx;
+}
+.plugins-label .lv view {
+ padding: 4rpx 12rpx;
+ -webkit-box-shadow: 0px 1px 2px -1px rgb(0 0 0 / 60%);
+ box-shadow: 0px 1px 2px -1px rgb(0 0 0 / 60%);
+}
+.plugins-label-img image {
+ width: 80rpx !important;
+ height: 80rpx !important;
+}
+.plugins-label-top-left {
+ left: 0;
+ top: 0;
+}
+.plugins-label-top-center {
+ left: 0;
+ top: 0;
+ width: 100%;
+ text-align: center;
+}
+.plugins-label-top-right {
+ top: 0;
+ right: 0;
+}
+.plugins-label-bottom-left,
+.plugins-label-bottom-center,
+.plugins-label-bottom-right {
+ bottom: calc(100% - 380rpx);
+}
+.plugins-label-bottom-left {
+ left: 0;
+}
+.plugins-label-bottom-center {
+ width: 100%;
+ text-align: center;
+}
+.plugins-label-bottom-right {
+ right: 0;
+}
+
+/**
+ * 商品列表标签处理
+ */
+.goods-data-rolling-list .plugins-label-bottom-left,
+.goods-data-rolling-list .plugins-label-bottom-center,
+.goods-data-rolling-list .plugins-label-bottom-right {
+ bottom: calc(100% - 240rpx) !;
+}
+.goods-data-list .plugins-label-bottom-left,
+.goods-data-list .plugins-label-bottom-center,
+.goods-data-list .plugins-label-bottom-right {
+ bottom: 0;
+}
+
+/**
+ * 灰度样式
+ */
+.grayscale {
+ filter: grayscale(100%);
+ -webkit-filter: grayscale(100%);
+ -moz-filter: grayscale(100%);
+ -ms-filter: grayscale(100%);
+ -o-filter: grayscale(100%);
+}
+
+
+/**
+ * 博客 - 列表
+ */
+.plugins-blog-list .blog-img {
+ width: 200rpx !important;
+ height: 170rpx !important;
+}
+.plugins-blog-list .base {
+ width: calc(100% - 220rpx);
+}
+
+/*
+ * 博客 - 滚动
+ */
+.plugins-blog-rolling-list swiper,
+.plugins-blog-rolling-list .item .blog-img {
+ height: 180rpx !important;
+}
+.plugins-blog-rolling-list .item .blog-title {
+ left: 0;
+ bottom: 0;
+ width: calc(100% - 26rpx);
+ background-color: rgba(0, 0, 0, .5);
+}
+
+/**
+ * 博客 - 九方格
+ */
+.plugins-blog-grid-list .item {
+ width: calc(50% - 10rpx);
+ float: left;
+ padding-bottom: 10rpx;
+ margin-bottom: 20rpx;
+}
+.plugins-blog-grid-list .item:nth-of-type(2n + 1) {
+ margin-right: 10rpx;
+}
+.plugins-blog-grid-list .item:nth-of-type(2n) {
+ margin-left: 10rpx;
+}
+.plugins-blog-grid-list .item .blog-img {
+ width: 100%;
+ height: 220rpx !important;
+}
+
+/**
+* 门店 - 数据列表
+*/
+.plugins-realstore-data-list .item .address-content {
+ width: calc(100% - 150rpx);
+}
+
+.plugins-realstore-data-list .item .address-distance {
+ right: 20rpx;
+ bottom: 18rpx;
+}
+
+.plugins-realstore-data-list .item .icon-list {
+ right: 24rpx;
+ top: 36rpx;
+}
+.plugins-realstore-data-list .item .icon-list .icon-item {
+ width: 46rpx;
+ height: 46rpx;
+ line-height: 46rpx;
+}
+.plugins-realstore-data-list .item .icon-item .badge-icon {
+ top: -10px;
+ right: 2px;
+}
+.plugins-realstore-data-list .item .icon-list .icon-item {
+ background: rgba(226, 44, 8, 0.08);
+ border-radius: 8rpx;
+ color: #E46248;
+}
+.plugins-realstore-data-list .item .icon-list .icon-item:not(:last-child) {
+ margin-right: 26rpx;
+}
+.plugins-realstore-data-list .item .logo {
+ width: 100rpx;
+ height: 100rpx !important;
+}
+.plugins-realstore-data-list .item .base-right {
+ padding-left: 14rpx;
+}
+.plugins-realstore-data-list .item .base-right .title {
+ width: calc(100% - 110rpx);
+}
+
+/**
+ * 多商户 - 数据列表
+ */
+.plugins-shop-data-list .item .logo {
+ width: 100rpx;
+ height: 100rpx !important;
+}
+.plugins-shop-data-list .item .item-right-icon {
+ position: absolute;
+ right: 12px;
+ top: 50%;
+ transform: translateY(-50%);
+}
+.plugins-shop-data-list .item .right-content {
+ padding-left: 14rpx;
+ margin-right: 50rpx;
+}
+.plugins-shop-data-list .item .auth-icon .icon {
+ width: 28rpx;
+ height: 28rpx !important;
+ margin-right: 10rpx;
+}
+.plugins-shop-data-list .item .desc {
+ min-height: 72rpx;
+ line-height: 36rpx;
+}
\ No newline at end of file
diff --git a/common/css/theme.css b/common/css/theme.css
new file mode 100644
index 0000000..2dda8ce
--- /dev/null
+++ b/common/css/theme.css
@@ -0,0 +1,838 @@
+/******************** 红色 ********************/
+/**
+ * 边线 搭配色、次主色、主色
+ */
+.theme-red .border-color-main-pair {
+ border-color: #F6C133 !important;
+}
+.theme-red .border-color-main-light {
+ border-color: #ffdbe2 !important;
+}
+.theme-red .border-color-main {
+ border-color: #ff0036 !important;
+}
+
+/**
+ * 边框 搭配色、次主色、主色
+ */
+.theme-red .br-main-pair {
+ border: 1px solid #F6C133 !important;
+}
+.theme-red .br-main-light {
+ border: solid 1px #ffdbe2 !important;
+}
+.theme-red .br-main {
+ border: 1px solid #ff0036 !important;
+}
+
+/**
+ * 虚线边框 搭配色、次主色、主色
+ */
+.theme-red .br-dashed-main-pair {
+ border: dashed 1px #F6C133 !important;
+}
+.theme-red .br-dashed-main-light {
+ border: dashed 1px #ffdbe2 !important;
+}
+.theme-red .br-dashed-main {
+ border: dashed 1px #ff0036 !important;
+}
+
+/**
+ * 文本颜色 搭配色、次主色、主色
+ */
+.theme-red .cr-main-pair {
+ color: #F6C133 !important;
+}
+.theme-red .cr-main-light {
+ color: #ffdbe2 !important;
+}
+.theme-red .cr-main {
+ color: #ff0036 !important;
+}
+
+/**
+ * 背景色 搭配色、次主色、主色
+ */
+.theme-red .bg-main-pair {
+ background-color: #F6C133 !important;
+}
+.theme-red .bg-main-light {
+ background-color: #ffdbe2 !important;
+}
+.theme-red .bg-main {
+ background-color: #ff0036 !important;
+}
+
+/**
+ * 导航伪类背景色
+ */
+.theme-red .nav-active-line::before {
+ background: #ff0036;
+}
+.theme-red button[disabled].bg-main-pair {
+ background-color: #d0cbca !important;
+ border-color: #d0cbca !important;
+ color: #eaeaea !important;
+}
+.theme-red button[disabled].bg-main-light {
+ background-color: #ffe9ed !important;
+ border-color: #ffe9ed !important;
+ color: #ffa5b7 !important;
+}
+.theme-red button[disabled].bg-main {
+ background-color: #ffa7ba !important;
+ border-color: #ffa7ba !important;
+ color: #fff5f7 !important;
+}
+
+/**
+ * 标题左侧边线
+*/
+.theme-red .title-left-border::before {
+ background: linear-gradient(180deg, #ff0036 0%, #ffdbe2 100%);
+}
+
+/**
+ * 导航菜单左侧边线
+ */
+.theme-red .nav-left-border::before {
+ background: #ff0036;
+}
+
+
+
+
+/******************** 黄色 ********************/
+/**
+ * 边线 搭配色、次主色、主色
+ */
+.theme-yellow .border-color-main-pair {
+ border-color: #FF0036 !important;
+}
+.theme-yellow .border-color-main-light {
+ border-color: #ffebd2 !important;
+}
+.theme-yellow .border-color-main {
+ border-color: #f6c133 !important;
+}
+
+/**
+ * 边框 搭配色、次主色、主色
+ */
+.theme-yellow .br-main-pair {
+ border: 1px solid #FF0036 !important;
+}
+.theme-yellow .br-main-light {
+ border: solid 1px #ffebd2 !important;
+}
+.theme-yellow .br-main {
+ border: 1px solid #f6c133 !important;
+}
+
+/**
+ * 虚线边框 搭配色、次主色、主色
+ */
+.theme-yellow .br-dashed-main-pair {
+ border: dashed 1px #FF0036 !important;
+}
+.theme-yellow .br-dashed-main-light {
+ border: dashed 1px #ffebd2 !important;
+}
+.theme-yellow .br-dashed-main {
+ border: dashed 1px #f6c133 !important;
+}
+
+/**
+ * 文本颜色 搭配色、次主色、主色
+ */
+.theme-yellow .cr-main-pair {
+ color: #FF0036 !important;
+}
+.theme-yellow .cr-main-light {
+ color: #ffebd2 !important;
+}
+.theme-yellow .cr-main {
+ color: #f6c133 !important;
+}
+
+/**
+ * 导航伪类背景色
+ */
+.theme-yellow .nav-active-line::before {
+ background: #f6c133;
+}
+
+/**
+ * 背景色 搭配色、次主色、主色
+ */
+.theme-yellow .bg-main-pair {
+ background-color: #FF0036 !important;
+}
+.theme-yellow .bg-main-light {
+ background-color: #ffebd2 !important;
+}
+.theme-yellow .bg-main {
+ background-color: #f6c133 !important;
+}
+.theme-yellow button[disabled].bg-main-pair {
+ background-color: #b5a29c !important;
+ border-color: #b5a29c !important;
+ color: #8c766f !important;
+}
+.theme-yellow button[disabled].bg-main-light {
+ background-color: #fbebd6 !important;
+ border-color: #fbebd6 !important;
+ color: #ffcc40 !important;
+}
+.theme-yellow button[disabled].bg-main {
+ background-color: #fdd178 !important;
+ border-color: #fdd178 !important;
+ color: #fff7e7 !important;
+}
+
+/**
+ * 标题左侧边线
+*/
+.theme-yellow .title-left-border::before {
+ background: linear-gradient(180deg, #f6c133 0%, #ffebd2 100%);
+}
+
+/**
+ * 导航菜单左侧边线
+ */
+.theme-yellow .nav-left-border::before {
+ background: #f6c133;
+}
+
+
+
+
+
+/******************** 黑色 ********************/
+/**
+ * 边线 搭配色、次主色、主色
+ */
+.theme-black .border-color-main-pair {
+ border-color: #D3B881 !important;
+}
+.theme-black .border-color-main-light {
+ border-color: #dcdcdc !important;
+}
+.theme-black .border-color-main {
+ border-color: #333333 !important;
+}
+
+/**
+ * 边框 搭配色、次主色、主色
+ */
+.theme-black .br-main-pair {
+ border: 1px solid #D3B881 !important;
+}
+.theme-black .br-main-light {
+ border: solid 1px #dcdcdc !important;
+}
+.theme-black .br-main {
+ border: 1px solid #333333 !important;
+}
+
+/**
+ * 虚线边框 搭配色、次主色、主色
+ */
+.theme-black .br-dashed-main-pair {
+ border: dashed 1px #D3B881 !important;
+}
+.theme-black .br-dashed-main-light {
+ border: dashed 1px #dcdcdc !important;
+}
+.theme-black .br-dashed-main {
+ border: dashed 1px #333333 !important;
+}
+
+/**
+ * 文本颜色 搭配色、次主色、主色
+ */
+.theme-black .cr-main-pair {
+ color: #D3B881 !important;
+}
+.theme-black .cr-main-light {
+ color: #dcdcdc !important;
+}
+.theme-black .cr-main {
+ color: #333333 !important;
+}
+
+/**
+ * 背景色 搭配色、次主色、主色
+ */
+.theme-black .bg-main-pair {
+ background-color: #D3B881 !important;
+}
+.theme-black .bg-main-light {
+ background-color: #dcdcdc !important;
+}
+.theme-black .bg-main {
+ background-color: #333333 !important;
+}
+
+/**
+ * 导航伪类背景色
+ */
+.theme-black .nav-active-line::before {
+ background: #333333;
+}
+.theme-black button[disabled].bg-main-pair {
+ background-color: #bdece8 !important;
+ border-color: #bdece8 !important;
+ color: #edfbf9 !important;
+}
+.theme-black button[disabled].bg-main-light {
+ background-color: #efefef !important;
+ border-color: #efefef !important;
+ color: #b7b7b7 !important;
+}
+.theme-black button[disabled].bg-main {
+ background-color: #c7c7c7 !important;
+ border-color: #c7c7c7 !important;
+ color: #e2e2e2 !important;
+}
+
+/**
+ * 标题左侧边线
+*/
+.theme-black .title-left-border::before {
+ background: linear-gradient(180deg, #333333 0%, #dcdcdc 100%);
+}
+
+/**
+ * 导航菜单左侧边线
+ */
+.theme-black .nav-left-border::before {
+ background: #333333;
+}
+
+
+
+
+
+/******************** 绿色 ********************/
+/**
+ * 边线 搭配色、次主色、主色
+ */
+.theme-green .border-color-main-pair {
+ border-color: #20A5A2 !important;
+}
+.theme-green .border-color-main-light {
+ border-color: #cce8d2 !important;
+}
+.theme-green .border-color-main {
+ border-color: #20a53a !important;
+}
+
+/**
+ * 边框 搭配色、次主色、主色
+ */
+.theme-green .br-main-pair {
+ border: 1px solid #20A5A2 !important;
+}
+.theme-green .br-main-light {
+ border: solid 1px #cce8d2 !important;
+}
+.theme-green .br-main {
+ border: 1px solid #20a53a !important;
+}
+
+/**
+ * 虚线边框 搭配色、次主色、主色
+ */
+.theme-green .br-dashed-main-pair {
+ border: dashed 1px #20A5A2 !important;
+}
+.theme-green .br-dashed-main-light {
+ border: dashed 1px #cce8d2 !important;
+}
+.theme-green .br-dashed-main {
+ border: dashed 1px #20a53a !important;
+}
+
+/**
+ * 文本颜色 搭配色、次主色、主色
+ */
+.theme-green .cr-main-pair {
+ color: #20A5A2 !important;
+}
+.theme-green .cr-main-light {
+ color: #cce8d2 !important;
+}
+.theme-green .cr-main {
+ color: #20a53a !important;
+}
+
+/**
+ * 背景色 搭配色、次主色、主色
+ */
+.theme-green .bg-main-pair {
+ background-color: #20A5A2 !important;
+}
+.theme-green .bg-main-light {
+ background-color: #cce8d2 !important;
+}
+.theme-green .bg-main {
+ background-color: #20a53a !important;
+}
+
+/**
+ * 导航伪类背景色
+ */
+.theme-green .nav-active-line::before {
+ background: #20a53a;
+}
+.theme-green button[disabled].bg-main-pair {
+ background-color: #cfaae2 !important;
+ border-color: #cfaae2 !important;
+ color: #e6deea !important;
+}
+.theme-green button[disabled].bg-main-light {
+ background-color: #daeade !important;
+ border-color: #daeade !important;
+ color: #9dcaa6 !important;
+}
+.theme-green button[disabled].bg-main {
+ background-color: #a8c5ae !important;
+ border-color: #a8c5ae !important;
+ color: #d8eadc !important;
+}
+
+/**
+ * 标题左侧边线
+*/
+.theme-green .title-left-border::before {
+ background: linear-gradient(180deg, #20a53a 0%, #cce8d2 100%);
+}
+
+/**
+ * 导航菜单左侧边线
+ */
+.theme-green .nav-left-border::before {
+ background: #20a53a;
+}
+
+
+
+
+/******************** 橙色 ********************/
+/**
+ * 边线 搭配色、次主色、主色
+ */
+.theme-orange .border-color-main-pair {
+ border-color: #F6C133 !important;
+}
+.theme-orange .border-color-main-light {
+ border-color: #fde4d1 !important;
+}
+.theme-orange .border-color-main {
+ border-color: #fe6f04 !important;
+}
+
+/**
+ * 边框 搭配色、次主色、主色
+ */
+.theme-orange .br-main-pair {
+ border: 1px solid #F6C133 !important;
+}
+.theme-orange .br-main-light {
+ border: solid 1px #fde4d1 !important;
+}
+.theme-orange .br-main {
+ border: 1px solid #fe6f04 !important;
+}
+
+/**
+ * 虚线边框 搭配色、次主色、主色
+ */
+.theme-orange .br-dashed-main-pair {
+ border: dashed 1px #F6C133 !important;
+}
+.theme-orange .br-dashed-main-light {
+ border: dashed 1px #fde4d1 !important;
+}
+.theme-orange .br-dashed-main {
+ border: dashed 1px #fe6f04 !important;
+}
+
+/**
+ * 文本颜色 搭配色、次主色、主色
+ */
+.theme-orange .cr-main-pair {
+ color: #F6C133 !important;
+}
+.theme-orange .cr-main-light {
+ color: #fde4d1 !important;
+}
+.theme-orange .cr-main {
+ color: #fe6f04 !important;
+}
+
+/**
+ * 背景色 搭配色、次主色、主色
+ */
+.theme-orange .bg-main-pair {
+ background-color: #F6C133 !important;
+}
+.theme-orange .bg-main-light {
+ background-color: #fde4d1 !important;
+}
+.theme-orange .bg-main {
+ background-color: #fe6f04 !important;
+}
+
+/**
+ * 导航伪类背景色
+ */
+.theme-orange .nav-active-line::before {
+ background: #fe6f04;
+}
+.theme-orange button[disabled].bg-main-pair {
+ background-color: #b5a29c !important;
+ border-color: #b5a29c !important;
+ color: #8c766f !important;
+}
+.theme-orange button[disabled].bg-main-light {
+ background-color: #fbe9dc !important;
+ border-color: #fbe9dc !important;
+ color: #f7c49e !important;
+}
+.theme-orange button[disabled].bg-main {
+ background-color: #f7cdad !important;
+ border-color: #f7cdad !important;
+ color: #f7efea !important;
+}
+
+/**
+ * 标题左侧边线
+*/
+.theme-orange .title-left-border::before {
+ background: linear-gradient(180deg, #fe6f04 0%, #fde4d1 100%);
+}
+
+/**
+ * 导航菜单左侧边线
+ */
+.theme-orange .nav-left-border::before {
+ background: #fe6f04;
+}
+
+
+
+
+/******************** 蓝色 ********************/
+/**
+ * 边线 搭配色、次主色、主色
+ */
+.theme-blue .border-color-main-pair {
+ border-color: #16CEFF !important;
+}
+.theme-blue .border-color-main-light {
+ border-color: #d1e4ff !important;
+}
+.theme-blue .border-color-main {
+ border-color: #1677ff !important;
+}
+
+/**
+ * 边框 搭配色、次主色、主色
+ */
+.theme-blue .br-main-pair {
+ border: 1px solid #16CEFF !important;
+}
+.theme-blue .br-main-light {
+ border: solid 1px #d1e4ff !important;
+}
+.theme-blue .br-main {
+ border: 1px solid #1677ff !important;
+}
+
+/**
+ * 虚线边框 搭配色、次主色、主色
+ */
+.theme-blue .br-dashed-main-pair {
+ border: dashed 1px #16CEFF !important;
+}
+.theme-blue .br-dashed-main-light {
+ border: dashed 1px #d1e4ff !important;
+}
+.theme-blue .br-dashed-main {
+ border: dashed 1px #1677ff !important;
+}
+
+/**
+ * 文本颜色 搭配色、次主色、主色
+ */
+.theme-blue .cr-main-pair {
+ color: #16CEFF !important;
+}
+.theme-blue .cr-main-light {
+ color: #d1e4ff !important;
+}
+.theme-blue .cr-main {
+ color: #1677ff !important;
+}
+
+/**
+ * 背景色 搭配色、次主色、主色
+ */
+.theme-blue .bg-main-pair {
+ background-color: #16CEFF !important;
+}
+.theme-blue .bg-main-light {
+ background-color: #d1e4ff !important;
+}
+.theme-blue .bg-main {
+ background-color: #1677ff !important;
+}
+
+/**
+ * 导航伪类背景色
+ */
+.theme-blue .nav-active-line::before {
+ background: #1677ff;
+}
+.theme-blue button[disabled].bg-main-pair {
+ background-color: #efcbf5 !important;
+ border-color: #efcbf5 !important;
+ color: #faf1fb !important;
+}
+.theme-blue button[disabled].bg-main-light {
+ background-color: #e3eefd !important;
+ border-color: #e3eefd !important;
+ color: #b9d3f7 !important;
+}
+.theme-blue button[disabled].bg-main {
+ background-color: #bcd3f5 !important;
+ border-color: #bcd3f5 !important;
+ color: #eef4fd !important;
+}
+
+/**
+ * 标题左侧边线
+*/
+.theme-blue .title-left-border::before {
+ background: linear-gradient(180deg, #1677ff 0%, #d1e4ff 100%);
+}
+
+/**
+ * 导航菜单左侧边线
+ */
+.theme-blue .nav-left-border::before {
+ background: #1677ff;
+}
+
+
+
+
+/******************** 棕色 ********************/
+/**
+ * 边线 搭配色、次主色、主色
+ */
+.theme-brown .border-color-main-pair {
+ border-color: #8B1313 !important;
+}
+.theme-brown .border-color-main-light {
+ border-color: #eadcd2 !important;
+}
+.theme-brown .border-color-main {
+ border-color: #8B4513 !important;
+}
+
+/**
+ * 边框 搭配色、次主色、主色
+ */
+.theme-brown .br-main-pair {
+ border: 1px solid #8B1313 !important;
+}
+.theme-brown .br-main-light {
+ border: solid 1px #eadcd2 !important;
+}
+.theme-brown .br-main {
+ border: 1px solid #8B4513 !important;
+}
+
+/**
+ * 虚线边框 搭配色、次主色、主色
+ */
+.theme-brown .br-dashed-main-pair {
+ border: dashed 1px #8B1313 !important;
+}
+.theme-brown .br-dashed-main-light {
+ border: dashed 1px #eadcd2 !important;
+}
+.theme-brown .br-dashed-main {
+ border: dashed 1px #8B4513 !important;
+}
+
+/**
+ * 文本颜色 搭配色、次主色、主色
+ */
+.theme-brown .cr-main-pair {
+ color: #8B1313 !important;
+}
+.theme-brown .cr-main-light {
+ color: #eadcd2 !important;
+}
+.theme-brown .cr-main {
+ color: #8B4513 !important;
+}
+
+/**
+ * 背景色 搭配色、次主色、主色
+ */
+.theme-brown .bg-main-pair {
+ background-color: #8B1313 !important;
+}
+.theme-brown .bg-main-light {
+ background-color: #eadcd2 !important;
+}
+.theme-brown .bg-main {
+ background-color: #8B4513 !important;
+}
+
+/**
+ * 导航伪类背景色
+ */
+.theme-brown .nav-active-line::before {
+ background: #8B4513;
+}
+.theme-brown button[disabled].bg-main-pair {
+ background-color: #a6ded9 !important;
+ border-color: #a6ded9 !important;
+ color: #dff1ef !important;
+}
+.theme-brown button[disabled].bg-main-light {
+ background-color: #f1e6de !important;
+ border-color: #f1e6de !important;
+ color: #d6bdad !important;
+}
+.theme-brown button[disabled].bg-main {
+ background-color: #e4cdbc !important;
+ border-color: #e4cdbc !important;
+ color: #f9f4f0 !important;
+}
+
+/**
+ * 标题左侧边线
+*/
+.theme-brown .title-left-border::before {
+ background: linear-gradient(180deg, #8B4513 0%, #eadcd2 100%);
+}
+
+/**
+ * 导航菜单左侧边线
+ */
+.theme-brown .nav-left-border::before {
+ background: #8B4513;
+}
+
+
+
+
+/******************** 紫色 ********************/
+/**
+ * 边线 搭配色、次主色、主色
+ */
+.theme-purple .border-color-main-pair {
+ border-color: #3C8CEC !important;
+}
+.theme-purple .border-color-main-light {
+ border-color: #d6cbfb !important;
+}
+.theme-purple .border-color-main {
+ border-color: #623cec !important;
+}
+
+/**
+ * 边框 搭配色、次主色、主色
+ */
+.theme-purple .br-main-pair {
+ border: 1px solid #3C8CEC !important;
+}
+.theme-purple .br-main-light {
+ border: solid 1px #d6cbfb !important;
+}
+.theme-purple .br-main {
+ border: 1px solid #623cec !important;
+}
+
+/**
+ * 虚线边框 搭配色、次主色、主色
+ */
+.theme-purple .br-dashed-main-pair {
+ border: dashed 1px #3C8CEC !important;
+}
+.theme-purple .br-dashed-main-light {
+ border: dashed 1px #d6cbfb !important;
+}
+.theme-purple .br-dashed-main {
+ border: dashed 1px #623cec !important;
+}
+
+/**
+ * 文本颜色 搭配色、次主色、主色
+ */
+.theme-purple .cr-main-pair {
+ color: #3C8CEC !important;
+}
+.theme-purple .cr-main-light {
+ color: #d6cbfb !important;
+}
+.theme-purple .cr-main {
+ color: #623cec !important;
+}
+
+/**
+ * 背景色 搭配色、次主色、主色
+ */
+.theme-purple .bg-main-pair {
+ background-color: #3C8CEC !important;
+}
+.theme-purple .bg-main-light {
+ background-color: #d6cbfb !important;
+}
+.theme-purple .bg-main {
+ background-color: #623cec !important;
+}
+
+/**
+ * 导航伪类背景色
+ */
+.theme-purple .nav-active-line::before {
+ background: #623cec;
+}
+.theme-purple button[disabled].bg-main-pair {
+ background-color: #d8aed8 !important;
+ border-color: #d8aed8 !important;
+ color: #efe4ef !important;
+}
+.theme-purple button[disabled].bg-main-light {
+ background-color: #dcd6f1 !important;
+ border-color: #dcd6f1 !important;
+ color: #b2a7dc !important;
+}
+.theme-purple button[disabled].bg-main {
+ background-color: #bdb0ef !important;
+ border-color: #bdb0ef !important;
+ color: #e7e4f1 !important;
+}
+
+/**
+ * 标题左侧边线
+*/
+.theme-purple .title-left-border::before {
+ background: linear-gradient(180deg, #623cec 0%, #d6cbfb 100%);
+}
+
+/**
+ * 导航菜单左侧边线
+ */
+.theme-purple .nav-left-border::before {
+ background: #623cec;
+}
\ No newline at end of file
diff --git a/common/js/common/base.js b/common/js/common/base.js
new file mode 100644
index 0000000..026cc26
--- /dev/null
+++ b/common/js/common/base.js
@@ -0,0 +1,82 @@
+export default {
+ methods: {
+ //转义符换成普通字符
+ escape2Html(str) {
+ if (!str) return str;
+ var arrEntities = {
+ 'lt': '<',
+ 'gt': '>',
+ 'nbsp': ' ',
+ 'amp': '&',
+ 'quot': '"'
+ };
+ return str.replace(/&(lt|gt|nbsp|amp|quot);/ig, function(all, t) {
+ return arrEntities[t];
+ });
+ },
+ //普通字符转换成转义符
+ html2Escape(sHtml) {
+ if (!sHtml) return sHtml;
+ return sHtml.replace(/[<>&"]/g, function(c) {
+ return {
+ '<': '<',
+ '>': '>',
+ '&': '&',
+ '"': '"'
+ } [c];
+ });
+ },
+ //setData polyfill 勿删!!! (用于转换后的uniapp的项目能直接使用this.setData()函数)
+ setData: function(obj, callback) {
+ let that = this;
+ const handleData = (tepData, tepKey, afterKey) => {
+ var tepData2 = tepData;
+ tepKey = tepKey.split('.');
+ tepKey.forEach(item => {
+ if (tepData[item] === null || tepData[item] === undefined) {
+ let reg = /^[0-9]+$/;
+ tepData[item] = reg.test(afterKey) ? [] : {};
+ tepData2 = tepData[item];
+ } else {
+ tepData2 = tepData[item];
+ }
+ });
+ return tepData2;
+ };
+ const isFn = function(value) {
+ return typeof value == 'function' || false;
+ };
+ Object.keys(obj).forEach(function(key) {
+ let val = obj[key];
+ key = key.replace(/\]/g, '').replace(/\[/g, '.');
+ let front, after;
+ let index_after = key.lastIndexOf('.');
+ if (index_after != -1) {
+ after = key.slice(index_after + 1);
+ front = handleData(that, key.slice(0, index_after), after);
+ } else {
+ after = key;
+ front = that;
+ }
+ if (front.$data && front.$data[after] === undefined) {
+ Object.defineProperty(front, after, {
+ get() {
+ return front.$data[after];
+ },
+ set(newValue) {
+ front.$data[after] = newValue;
+ that.hasOwnProperty("$forceUpdate") && that.$forceUpdate();
+ },
+ enumerable: true,
+ configurable: true
+ });
+ front[after] = val;
+ } else {
+ that.$set(front, after, val);
+ }
+ });
+ this.$forceUpdate();
+ isFn(callback) && this.$nextTick(callback);
+ }
+ }
+}
\ No newline at end of file
diff --git a/common/js/common/common.js b/common/js/common/common.js
new file mode 100644
index 0000000..7353c95
--- /dev/null
+++ b/common/js/common/common.js
@@ -0,0 +1,653 @@
+const app = getApp();
+// 数据的默认值,避免没有值的时候报错
+export const old_radius = { radius: 0, radius_top_left: 0, radius_top_right: 0, radius_bottom_left: 0, radius_bottom_right: 0 };
+export const old_padding = { padding: 0, padding_top: 0, padding_bottom: 0, padding_left: 0, padding_right: 0 };
+export const old_margin = { margin: 0, margin_top: 0, margin_bottom: 0, margin_left: 0, margin_right: 0 };
+export const old_border_and_box_shadow = { border_is_show: '0', border_color: '#FF3F3F', border_style: 'solid',border_size: { padding: 1, padding_top: 1, padding_right: 1, padding_bottom: 1, padding_left: 1, }, box_shadow_color: '', box_shadow_x: 0, box_shadow_y: 0, box_shadow_blur: 0, box_shadow_spread: 0 };
+
+/**
+ * 判断一个对象是否为空。
+ *
+ * 为空的定义是对象的键的数量为0。这适用于任何对象,包括普通对象、数组(视为对象)等。
+ * 该函数不直接使用`Object.keys(obj).length === 0`进行判断,而是通过封装这个逻辑来提供一个独立的、可重用的函数。
+ * 这样做可以增加代码的可读性和可维护性,并且抽象了对象为空的检查,使得调用者不需要关心具体的实现细节。
+ *
+ * @param obj 要检查的对象。可以是任何类型的对象,包括数组。
+ * @returns 如果对象为空,则返回true;否则返回false。
+ */
+export function is_obj_empty(obj) {
+ return Object.keys(obj).length === 0;
+}
+
+export const border_width = (style) => {
+ if (!style) { return 0; }
+ if (style.border_is_show == '1') {
+ const { padding_left = 0, padding_right = 0 } = style.border_size || {};
+ return padding_left + padding_right;
+ } else {
+ return 0;
+ }
+}
+
+/**
+ * 根据指定的条件类型和值,判断字段值是否满足条件
+ * @param fieldValue 字段值,可以是任何类型
+ * @param type 条件类型,如'contains', 'is-empty', 'greater-than'等
+ * @param value 用于比较的值,可以是数字或字符串
+ * @returns 返回一个布尔值,表示字段值是否满足指定的条件
+ */
+export const custom_condition_judg = (fieldValue, type, value) => {
+ // 处理 null 或 undefined 的情况
+ if (fieldValue == null) {
+ return true;
+ }
+
+ // 提前计算并缓存转换结果
+ const stringValue = String(fieldValue);
+ const valueStr = String(value);
+ const numberValue = Number(value);
+ switch (type) {
+ case 'contains':
+ case 'does-not-contain':
+ // 处理包含和不包含的逻辑, 如果值为空,直接返回为空
+ if (!isEmpty(valueStr)) {
+ const result = stringValue.includes(valueStr);
+ return type === 'contains' ? result : !result;
+ } else {
+ return true;
+ }
+ case 'is-empty':
+ case 'is-not-empty':
+ // 处理为空和不为空的逻辑
+ const is_Empty = ['', '{}', '[]'].includes(stringValue.trim()) || (Array.isArray(fieldValue) && fieldValue.length === 0);
+ return type === 'is-empty' ? is_Empty : !is_Empty;
+ case 'greater-than':
+ case 'less-than':
+ case 'equal':
+ // 根据字段值的类型,进行数字间的比较
+ if (typeof fieldValue === 'number') {
+ return compare_numbers(fieldValue, numberValue, type);
+ } else if (Array.isArray(fieldValue) || typeof fieldValue === 'string') {
+ // 如果字段值是数组或字符串,比较数组长度和指定值
+ const valueLength = fieldValue?.length || 0;
+ return compare_numbers(valueLength, numberValue, type);
+ } else if (typeof fieldValue === 'object') {
+ // 如果字段值是对象,比较对象的属性值
+ const numericFieldValue = Object.keys(fieldValue)?.length || 0;
+ return compare_numbers(numericFieldValue, numberValue, type);
+ }
+ default:
+ return true;
+ }
+}
+
+/**
+ * 比较两个数字的大小
+ * @param a 第一个数字
+ * @param b 第二个数字
+ * @param type 比较类型,如'greater-than', 'less-than', 'equal'等
+ * @returns 根据比较类型返回比较结果
+ */
+const compare_numbers = (a, b, type) => {
+ switch (type) {
+ case 'greater-than': return a > b;
+ case 'less-than': return a < b;
+ case 'equal': return a === b;
+ default: return false;
+ }
+}
+
+/**
+ * 根据新的样式对象计算指示器的位置样式
+ *
+ * 此函数根据指示器的新位置和当前位置以及底部距离来生成相应的CSS样式
+ * 它处理的是一个包含指示器位置信息的对象,并返回一个字符串形式的CSS样式
+ *
+ * @param new_style 包含指示器新位置和当前位置及底部距离的样式对象
+ * @returns 返回计算出的指示器位置CSS样式字符串
+ */
+export const get_indicator_location = (new_style) => {
+ // 解构指示器的位置信息
+ const { indicator_new_location = '', indicator_location = '', indicator_bottom = 0 } = new_style;
+ let styles = '';
+ // 根据指示器的新位置是水平方向(left或right)还是垂直方向(默认)来决定如何设置样式
+ if (['left', 'right'].includes(indicator_new_location)) {
+ // 如果是水平方向,根据指示器的当前位置设置top、center或bottom样式
+ if (indicator_location == 'flex-start') {
+ styles += `top: 0px;`;
+ } else if (indicator_location == 'center') {
+ styles += `top: 50%; transform: translateY(-50%);`;
+ } else {
+ styles += `bottom: 0px;`;
+ }
+ } else {
+ // 如果是垂直方向,根据指示器的当前位置设置left、center或right样式
+ if (indicator_location == 'flex-start') {
+ styles += `left: 0px;`;
+ } else if (indicator_location == 'center') {
+ styles += `left: 50%; transform: translateX(-50%);`;
+ } else {
+ styles += `right: 0px;`;
+ }
+ }
+ // 如果有位置的处理,就使用指示器的位置处理,否则的话就用下边距处理
+ styles += `${ !isEmpty(indicator_new_location) ? `${indicator_new_location}: ${ indicator_bottom }px;` : `bottom: ${ indicator_bottom }px;` }`;
+ // 返回计算出的指示器位置样式
+ return styles;
+}
+
+/**
+ * 判断给定条件是否符合资格,主要用于自定义内部各个组件是否符合显示条件
+ * @param field_list 字段列表,包含各个字段的数据
+ * @param condition 条件数据,包括字段、类型和值
+ * @param props 额外属性,包含自定义组和数据源等信息
+ * @returns 返回一个布尔值,表示是否符合条件
+ */
+export const get_is_eligible = (field_list, condition, sourceList, isCustom, isCustomGroup, customGroupFieldId) => {
+ try {
+ // 条件加特殊标识,避免选择的时候出现重复的
+ let new_field = condition.field;
+ // 如果包含{|},则取第一个字段
+ if (condition.field.includes('{|}')) {
+ new_field = condition.field.split('{|}')[0];
+ }
+ // 获取对应条件字段的字段数据
+ let option = {};
+ if (field_list) {
+ // 判断是否是自定义组并且 自定义组选则了对应的数据源
+ if (isCustomGroup && !isEmpty(customGroupFieldId)) {
+ // 取出对应自定义组的内容
+ const group_option_list = field_list.find(item => item.field === customGroupFieldId);
+ // 取出自定义组内部数据源参数的详细数据
+ const new_field_list = group_option_list?.data || [];
+ // 通过对应条件,筛选出对应的数据
+ option = new_field_list.find(item => item.field === new_field);
+ } else {
+ option = field_list.find(item => item.field === new_field);
+ }
+ }
+ // 找不到对应的字段,就直接返回为成功,条件不存在
+ if (!isEmpty(option)) {
+ // 获取到字段的真实数据, option的使用主要是为了获取的他的中间参数和前缀,后缀等拼接在一起
+ const field_value = custom_condition_data(new_field || '', option || {}, sourceList, isCustom);
+ // 判断条件字段是否为空并且是显示面板才会生效,则直接返回true
+ if (!isEmpty(new_field) && !isEmpty(condition.type)) {
+ return custom_condition_judg(field_value, condition.type, condition.value);
+ } else {
+ return true;
+ }
+ } else {
+ return true;
+ }
+ } catch (error) {
+ return true; // 或者根据业务需求返回适当的默认值
+ }
+}
+
+/**
+ * 根据数据源ID和配置选项来处理和返回特定格式的数据
+ *
+ * @param data_source_id 数据源ID字符串,可以包含多个用分号分隔的ID
+ * @param option 配置选项,包含数据处理的额外参数
+ * @param sourceList 数据源列表,用于查找和处理数据
+ * @param isCustom 是否为自定义模式,用于确定数据处理的方式
+ * @returns 返回处理后的数据字符串
+ */
+export const custom_condition_data = (data_source_id, option, sourceList, isCustom) => {
+ let data_value = '';
+ if (data_source_id.includes(';')) {
+ // 当数据源ID包含多个用分号分隔的ID时
+ // 取出所有的字段,使用;分割
+ const ids = data_source_id.split(';');
+ let text = '';
+ // 遍历每个ID,处理数据并合并
+ ids.forEach((item, index) => {
+ text += data_handling(item, sourceList, isCustom) + (index != ids.length - 1 ? (option?.join || '') : '');
+ });
+ data_value = text;
+ } else {
+ // 不输入商品, 文章和品牌时,从外层处理数据
+ // 当数据源ID不包含分号时,直接处理数据
+ data_value = data_handling(data_source_id, sourceList, isCustom);
+ }
+ // 如果数据是undefined或者null,则设置为空字符串
+ if (data_value == null) {
+ data_value = '';
+ }
+ // 根据配置选项,添加前缀和后缀到处理后的数据
+ return Array.isArray(data_value) || typeof data_value === "object" ? data_value : ((option?.first || '') + data_value + (option?.last || ''));
+}
+
+/**
+ * 数据处理函数
+ * 该函数根据数据源ID和一个数据对象,返回对应的图标路径
+ * 主要用于从复杂的数据结构中提取图标信息,根据是否是自定义图标,
+ * 从不同的数据层级中获取信息
+ *
+ * @param data_source_id 数据源ID,用于定位图标在数据结构中的位置
+ * @param sourceList 包含图标数据的对象,可以是多层嵌套结构
+ * @param isCustom 布尔值,指示是否为自定义图标,影响数据获取的方式
+ * @returns 返回找到的图标路径,如果没有找到或数据为空,则返回空值
+ */
+const data_handling = (data_source_id, sourceList, isCustom) => {
+ // 不输入商品, 文章和品牌时,从外层处理数据
+ let new_data = get_nested_property(sourceList, data_source_id);
+ // 如果是商品,品牌,文章的图片, 其他的切换为从data中取数据
+ if (!isEmpty(sourceList.data) && isCustom) {
+ new_data = get_nested_property(sourceList.data, data_source_id);
+ }
+ return new_data;
+}
+
+/**
+ * 获取嵌套对象的属性值
+ *
+ * 该函数旨在通过指定的属性路径获取嵌套对象中的属性值它接受一个对象和一个属性路径字符串作为参数,
+ * 并返回对应路径的属性值如果输入的路径无效或对象中不存在该路径,则返回空字符串
+ *
+ * @param {Object} obj - 要从中获取属性的嵌套对象
+ * @param {string} path - 属性路径,使用点号分隔的字符串表示
+ * @returns {string} - 返回指定路径的属性值,如果路径无效则返回空字符串
+ */
+export function get_nested_property(obj, path) {
+ // 检查路径参数是否为字符串且非空,若不满足条件则返回空字符串
+ if (typeof path !== 'string' || !path) return '';
+
+ // 将属性路径字符串拆分为属性键数组
+ const keys = path.split('.');
+
+ // 使用reduce方法遍历属性键数组,逐层访问对象属性
+ // 如果当前对象存在且拥有下一个属性键,则继续访问;否则返回空字符串
+ return keys.reduce((o, key) => (o != null && o[key] != null ? o[key] : ''), obj) ?? '';
+}
+
+/**
+ * 根据数据源链接ID和属性源列表生成自定义链接
+ *
+ * @param {string} data_source_link_id - 数据源链接ID,可以是单个ID或多个ID以分号分隔
+ * @param {object} propSourceList - 包含数据源的属性列表
+ * @param {object} source_link_option - 链接生成的可选配置,包括首尾添加的字符串和连接符
+ * @returns {string} 生成的自定义链接URL
+ */
+export function get_custom_link(data_source_link_id, propSourceList, source_link_option) {
+ let url = '';
+ if (!data_source_link_id) {
+ return '';
+ }
+ // 判断数据源链接ID是否包含分号,包含则表示有多个ID
+ if (data_source_link_id.includes(';')) {
+ // 分割数据源链接ID,处理多个ID
+ const ids = data_source_link_id.split(';');
+ let source_url = '';
+ // 遍历每个ID,获取对应的属性值并拼接成URL
+ ids.forEach((item, index) => {
+ // 判断数据源列表是否为空
+ if (!isEmpty(propSourceList.data)) {
+ // 从数据源列表的data属性中获取嵌套属性值,并使用指定的连接符连接
+ source_url += get_nested_property(propSourceList.data, item) + (index != ids.length -1 ? (source_link_option?.join || '') : '');
+ } else {
+ // 直接从数据源列表中获取嵌套属性值,并使用指定的连接符连接
+ source_url += get_nested_property(propSourceList, item) + (index != ids.length -1 ? (source_link_option?.join || '') : '');
+ }
+ });
+ url = source_url;
+ } else {
+ // 处理单个ID的情况
+ if (!isEmpty(propSourceList.data)) {
+ // 从数据源列表的data属性中获取嵌套属性值作为URL
+ url = get_nested_property(propSourceList.data, data_source_link_id);
+ } else {
+ // 直接从数据源列表中获取嵌套属性值作为URL
+ url = get_nested_property(propSourceList, data_source_link_id);
+ }
+ }
+ // 返回最终的URL,添加首尾的可选字符串
+ return (source_link_option?.first || '') + url + (source_link_option?.last || '');
+}
+
+/**
+ * 指示器的样式
+ *
+ * @param style_object 样式对象
+ * @returns 返回对应的值
+ */
+export function get_indicator_style(style_object) {
+ const { indicator_radius, indicator_style, indicator_size, color, indicator_new_location } = style_object;
+ let styles = '';
+ if (!isEmpty(indicator_radius)) {
+ styles += radius_computer(indicator_radius);
+ }
+ // 数字类型的指示器
+ if (indicator_style == 'num') {
+ styles += `color: ${color || '#DDDDDD'};`;
+ styles += `font-size: ${indicator_size * 2}rpx;`;
+ } else if (indicator_style == 'elliptic') {
+ // 宽的指示器,按照宽高1:3 来计算
+ styles += `background: ${color || '#DDDDDD'};`;
+ if (['left', 'right'].includes(indicator_new_location)) {
+ styles += `width: ${indicator_size * 2 }rpx; height: ${indicator_size * 6}rpx;`;
+ } else {
+ styles += `width: ${indicator_size * 6}rpx; height: ${indicator_size * 2}rpx;`;
+ }
+ } else {
+ // 圆点指示器
+ styles += `background: ${color || '#DDDDDD'};`;
+ styles += `width: ${indicator_size * 2}rpx; height: ${indicator_size * 2}rpx;`;
+ }
+ return styles;
+}
+/**
+ * 指示器的位置处理
+ *
+ * @param style_object 样式对象
+ * @returns 返回对应的值
+ */
+export function get_indicator_location_style(style_object) {
+ const { indicator_new_location, indicator_location, indicator_bottom } = style_object;
+ let styles = '';
+ if (['left', 'right'].includes(indicator_new_location)) {
+ if (indicator_location == 'flex-start') {
+ styles += `top: 0px;`;
+ } else if (indicator_location == 'center') {
+ styles += `top: 50%; transform: translateY(-50%);`;
+ } else {
+ styles += `bottom: 0px;`;
+ }
+ } else {
+ if (indicator_location == 'flex-start') {
+ styles += `left: 0px;`;
+ } else if (indicator_location == 'center') {
+ styles += `left: 50%; transform: translateX(-50%);`;
+ } else {
+ styles += `right: 0px;`;
+ }
+ }
+ // 如果有位置的处理,就使用指示器的位置处理,否则的话就用下边距处理
+ styles += `${ !isEmpty(indicator_new_location) ? `${indicator_new_location}: ${ indicator_bottom }px;` : `bottom: ${ indicator_bottom }px;` }`;
+ return styles;
+};
+
+/**
+ * 判断对象数组等是否为空。
+ */
+export function isEmpty(value) {
+ return (
+ value === null ||
+ value === undefined ||
+ value === '' ||
+ value === NaN ||
+ (Array.isArray(value) && value.length === 0) ||
+ (typeof value === 'object' && Object.keys(value).length === 0)
+ )
+}
+/**
+ * 检查给定的参数是否为对象
+ *
+ * 此函数用于精确地验证一个变量是否为对象类型它通过以下步骤实现:
+ * 1. 特殊处理 `null` 值,因为 `null` 在 JavaScript 中被当作对象处理,但实质上它不是
+ * 2. 使用 `typeof` 操作符初步判断变量是否为对象
+ * 3. 使用 `Object.prototype.toString.call(obj)` 方法精确判断变量是否为普通的对象
+ *
+ * @param obj 未知类型的参数,待检查是否为对象
+ * @returns 如果参数是对象,则返回 true;否则返回 false
+ */
+export function is_obj(obj) {
+ // 特殊处理 null值,因为 typeof null 返回 "object",但 null 并不是我们要检查的对象
+ if (obj === null) return false;
+ // 使用 typeof 排除非对象类型
+ if (typeof obj !== 'object') return false;
+ // 确认是普通对象
+ return Object.prototype.toString.call(obj) === '[object Object]';
+}
+/**
+ * 渐变色的方法
+ * color_list: [] 渐变色的存储
+ * direction 渐变色的角度
+ * @param {string[], string} path
+ * @returns {string}
+ */
+export function gradient_computer(new_style, is_return_all = true) {
+ let color_list = new_style.color_list;
+ let direction = new_style.direction;
+ return gradient_handle(color_list, direction, is_return_all);
+}
+/**
+ * 根据给定的颜色列表和方向生成一个线性渐变的CSS样式字符串。
+ *
+ * @param color_list 颜色列表,包含渐变中的各个颜色值。
+ * @param direction 渐变的方向,可以是角度或其他CSS支持的渐变方向。
+ * @param is_return_all 是否返回所有样式,包括渐变类型、颜色列表和方向。默认为false,只返回渐变样式。
+ * @returns 返回一个字符串,包含生成的线性渐变样式。
+ */
+export function gradient_handle(color_list, direction, is_return_all = true) {
+ let container_common_styles = ``;
+ if (color_list && color_list.length > 0) {
+ if (is_return_all) {
+ container_common_styles += `background:`;
+ }
+ container_common_styles += `linear-gradient(${direction || '180deg'},`;
+ const new_color_list = JSON.parse(JSON.stringify(color_list));
+ new_color_list.forEach((item, index) => {
+ container_common_styles += `${item.color ? item.color : 'rgb(255 255 255 / 0%)'}`;
+ if (color_list.length == 1) {
+ container_common_styles += ` ${item.color_percentage || 0}%, ${item.color ? item.color : 'rgb(255 255 255 / 0%)'} 100%`;
+ } else {
+ if (typeof item.color_percentage === 'number') {
+ if (index == color_list.length - 1) {
+ container_common_styles += ` ${item.color_percentage}%`;
+ } else {
+ container_common_styles += ` ${item.color_percentage}%,`;
+ }
+ } else {
+ if (index == color_list.length - 1) {
+ container_common_styles += ` 100%`;
+ } else if (index == 0) {
+ container_common_styles += ` 0%,`;
+ } else {
+ container_common_styles += ` ${(100 / color_list.length) * index}%,`;
+ }
+ }
+ }
+ });
+ container_common_styles += `)`;
+ if (is_return_all) {
+ container_common_styles += `;`;
+ }
+ }
+ return container_common_styles;
+}
+/**
+ * 设置内边距的方法
+ * new_style: 内边距的集合
+ * @param {string[], string} path
+ * @returns {string}
+ */
+export function padding_computer(new_style, scale = 1, is_custom = false, index) {
+ if (new_style) {
+ if (!is_custom) {
+ let padding_top = '';
+ if (index == 0) {
+ // 状态栏高度
+ var bar_height = parseInt(app.globalData.get_system_info('statusBarHeight', 0));
+ // #ifdef MP-TOUTIAO
+ bar_height = 0;
+ // #endif
+ let sticky_top = 0;
+ // #ifdef MP
+ sticky_top = bar_height + 5 + 10;
+ // #endif
+ // #ifdef H5 || MP-TOUTIAO
+ sticky_top = bar_height + 7 + 10;
+ // #endif
+ // #ifdef APP
+ sticky_top = bar_height + 0 + 10;
+ // #endif
+ padding_top = `padding-top:calc(${new_style.padding_top * 2 || 0}rpx + ${sticky_top}px);`;
+ }
+ return `padding: ${new_style.padding_top * 2 || 0}rpx ${new_style.padding_right * 2 || 0}rpx ${new_style.padding_bottom * 2 || 0}rpx ${new_style.padding_left * 2 || 0}rpx;` + padding_top;
+ } else {
+ return `padding: ${new_style.padding_top * scale || 0}px ${new_style.padding_right * scale || 0}px ${new_style.padding_bottom * scale || 0}px ${new_style.padding_left * scale || 0}px;`;
+ }
+ } else {
+ return '';
+ }
+}
+/**
+ * 设置外边距的方法
+ * new_style: 外边距的集合
+ * @param {string[], string} path
+ * @returns {string}
+ */
+export function margin_computer(new_style) {
+ return `margin: ${new_style.margin_top * 2 || 0}rpx ${new_style.margin_right * 2 || 0}rpx ${new_style.margin_bottom * 2 || 0}rpx ${new_style.margin_left * 2 || 0}rpx;`;
+}
+/**
+ * 设置圆角的方法
+ * new_style: 外边距的集合
+ * @param {string[], string} path
+ * @returns {string}
+ */
+export function radius_computer(new_style, scale = 1, is_custom = false) {
+ if (new_style) {
+ if (!is_custom) {
+ return `border-radius: ${new_style.radius_top_left * 2 || 0}rpx ${new_style.radius_top_right * 2 || 0}rpx ${new_style.radius_bottom_right * 2 || 0}rpx ${new_style.radius_bottom_left * 2 || 0}rpx;`;
+ } else {
+ return `border-radius: ${new_style.radius_top_left * scale || 0}px ${new_style.radius_top_right * scale || 0}px ${new_style.radius_bottom_right * scale || 0}px ${new_style.radius_bottom_left * scale || 0}px;`;
+ }
+ } else {
+ return '';
+ }
+}
+/**
+ * 设置阴影样式
+ * new_style: 外边距的集合
+ * @param {string[], string} path
+ * @returns {string}
+ */
+export function box_shadow_computer(new_style) {
+ return `box-shadow: ${new_style.box_shadow_x * 2 || 0}rpx ${new_style.box_shadow_y * 2 || 0}rpx ${new_style.box_shadow_blur * 2 || 0}rpx ${new_style.box_shadow_spread * 2 || 0}rpx ${new_style.box_shadow_color || 'rgba(0,0,0,0)'};`;
+}
+/**
+ * 设置阴影样式
+ * new_style: 外边距的集合
+ * @param {string[], string} path
+ * @returns {string}
+ */
+export function background_computer(new_style) {
+ if (new_style.background_img.length > 0) {
+ let url_styke = '';
+ if (new_style.background_img_style == '1') {
+ url_styke = 'background-repeat: repeat;';
+ } else if (new_style.background_img_style == '2') {} else {
+ url_styke = `background-repeat: no-repeat;background-position: center;`;
+ }
+ switch (new_style.background_img_style) {
+ case '1':
+ url_styke = `background-repeat: no-repeat;background-position: bottom;background-size: 100% auto;`;
+ break;
+ case '2':
+ url_styke = `background-repeat: no-repeat;background-position: center;background-size: 100% auto;`;
+ break;
+ case '3':
+ url_styke = 'background-repeat: repeat;';
+ break;
+ case '4':
+ url_styke = 'background-size: cover;background-position: center;';
+ break;
+ default:
+ url_styke = `background-repeat: no-repeat;background-position: top;background-size: 100% auto;`;
+ break;
+ }
+ return `background-image:url(${new_style.background_img[0].url});${url_styke}`;
+ } else {
+ return '';
+ }
+}
+
+/**
+ * 计算并返回边框的样式字符串
+ *
+ * 此函数根据传入的新样式对象,决定是否显示边框以及边框的样式细节
+ * 如果边框需要显示,函数会构造相应的边框样式字符串,包括边框的宽度、样式和颜色;
+ * 如果边框不需要显示,则返回空字符串
+ *
+ * @param {Object} new_style - 新样式对象,包含边框的相关属性
+ * @returns {String} 边框样式字符串或空字符串
+ */
+export const border_computer = (new_style) => {
+ // 从新样式对象中解构边框的相关属性,并设置默认值
+ const { border_is_show = '0', border_color = '', border_style = 'solid', border_size = { padding: 0, padding_bottom: 0, padding_left: 0, padding_right: 0, padding_top: 0 } } = new_style;
+
+ // 根据边框是否需要显示的标志,决定是否构造并返回边框样式字符串
+ if (border_is_show == '1') {
+ return `border-width: ${border_size.padding_top}px ${border_size.padding_right}px ${border_size.padding_bottom}px ${border_size.padding_left}px;border-style: ${ border_style };border-color: ${border_color};`
+ }
+
+ // 如果边框不需要显示,返回空字符串
+ return '';
+};
+
+/**
+ * 计算并组合组件的常用样式。
+ *
+ * 该函数通过调用一系列特定样式的计算函数,来组装一个组件的常用样式字符串。
+ * 这些样式包括渐变色、内边距、外边距、圆角和阴影等,为组件提供了一套完整的外观定义。
+ *
+ * @param new_style 组件的新样式对象,包含了需要计算的样式属性。
+ * @param scale 一个缩放比例,用于控制样式的缩放,默认为1。
+ * @param scale 用于控制样式的缩放比例,默认为1,表示不进行缩放。
+ * @param is_custom 一个布尔值,用于判断是否为自定义样式,默认为false。
+ * @param index 用于标识组件的索引,默认为0。
+ * @returns 返回一个字符串,包含了计算后的样式定义,可以被直接应用于组件的样式属性。
+ */
+export function common_styles_computer(new_style) {
+ return gradient_computer(new_style) + margin_computer(new_style) + radius_computer(new_style) + box_shadow_computer(new_style) + border_computer(new_style) + `overflow:hidden;`;
+}
+export function common_img_computer(new_style, index, bool) {
+ return padding_computer(new_style, 1, false, index, bool) + background_computer(new_style) + `overflow:hidden;box-sizing: border-box;`;
+}
+/**
+ * 生成一个随机数学字符串。
+ * @returns {string} 一个6位的36进制随机字符串。
+ */
+export function get_math() {
+ // 通过Math.random()生成随机数,并转换为36进制的字符串
+ let randomString = Math.random().toString(36);
+ // 确保随机字符串至少有6位,因为substring(2)可能会使短于6位的字符串产生错误。
+ // 如果字符串长度不足6位,通过padStart将其前面填充为0,直到长度达到6位。
+ randomString = randomString.length >= 6 ? randomString : randomString.padStart(6, '0');
+ // 截取掉随机字符串开头的'0.'部分,获得最终的6位随机字符串。
+ return randomString.substring(2);
+}
+/**
+ * 将大小计算成百分比
+ *
+ * @param num 当前的大小或位置。
+ * @param size 容器的大小。
+ * @returns 计算后的百分比值,含4位小数
+ */
+export const percentage_count = (num, container_size) => {
+ const marks = (num / container_size) * 100;
+ return marks.toFixed(4) + '%';
+};
+
+/**
+ * 计算当前偏移量
+ *
+ * @param size 当前的组件的大小宽或者高。
+ * @param location 容器的位置的偏移量。
+ * @param container_size 对应位置的容器的大小
+ * @returns 偏移量
+ */
+export const location_compute = (size, location, container_size) => {
+ if (size + location >= container_size) {
+ const deviation = container_size - size;
+ if (deviation >= 0) {
+ return deviation;
+ } else {
+ return 0;
+ }
+ } else {
+ return location;
+ }
+};
\ No newline at end of file
diff --git a/common/js/common/share.js b/common/js/common/share.js
new file mode 100644
index 0000000..e86c8ce
--- /dev/null
+++ b/common/js/common/share.js
@@ -0,0 +1,47 @@
+export default {
+ data(){
+ return {
+ // 设置默认的分享参数、页面可自定义以下数据
+ // 如果页面不设置share,就触发这个默认的分享
+ // 标题、关键字、描述、地址、参数、封面图片、视频
+ share_info: {
+ title: '',
+ kds: '',
+ desc: '',
+ path: '',
+ query: '',
+ img: '',
+ video: ''
+ }
+ }
+ },
+
+ // 分享给好友
+ onShareAppMessage() {
+ var app = getApp();
+ var share = app.globalData.share_content_handle(this.share_info || {});
+ var data = {
+ title: share.title,
+ desc: share.desc,
+ path: share.path + share.query
+ }
+ if(app.globalData.data.is_share_use_image == 1) {
+ data['imageUrl'] = share.img;
+ }
+ return data;
+ },
+
+ // 分享朋友圈
+ onShareTimeline() {
+ var app = getApp();
+ var share = app.globalData.share_content_handle(this.share_info || {});
+ var data = {
+ title: share.title,
+ query: ((share.query || null) != null && share.query.substr(0, 1) == '?') ? share.query.slice(1) : share.query
+ };
+ if(app.globalData.data.is_share_use_image == 1) {
+ data['imageUrl'] = share.img;
+ }
+ return data;
+ }
+}
\ No newline at end of file
diff --git a/common/js/lib/base64.js b/common/js/lib/base64.js
new file mode 100644
index 0000000..5e1e77a
--- /dev/null
+++ b/common/js/lib/base64.js
@@ -0,0 +1,8 @@
+/**
+ * Minified by jsDelivr using Terser v5.7.1.
+ * Original file: /npm/js-base64@3.7.2/base64.js
+ *
+ * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
+ */
+!function(t,n){var r,e;"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(r=t.Base64,(e=n()).noConflict=function(){return t.Base64=r,e},t.Meteor&&(Base64=e),t.Base64=e)}("undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:this,(function(){"use strict";var t,n="3.7.2",r="function"==typeof atob,e="function"==typeof btoa,o="function"==typeof Buffer,u="function"==typeof TextDecoder?new TextDecoder:void 0,i="function"==typeof TextEncoder?new TextEncoder:void 0,f=Array.prototype.slice.call("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="),c=(t={},f.forEach((function(n,r){return t[n]=r})),t),a=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,d=String.fromCharCode.bind(String),s="function"==typeof Uint8Array.from?Uint8Array.from.bind(Uint8Array):function(t,n){return void 0===n&&(n=function(t){return t}),new Uint8Array(Array.prototype.slice.call(t,0).map(n))},l=function(t){return t.replace(/=/g,"").replace(/[+\/]/g,(function(t){return"+"==t?"-":"_"}))},h=function(t){return t.replace(/[^A-Za-z0-9\+\/]/g,"")},p=function(t){for(var n,r,e,o,u="",i=t.length%3,c=0;c255||(e=t.charCodeAt(c++))>255||(o=t.charCodeAt(c++))>255)throw new TypeError("invalid character found");u+=f[(n=r<<16|e<<8|o)>>18&63]+f[n>>12&63]+f[n>>6&63]+f[63&n]}return i?u.slice(0,i-3)+"===".substring(i):u},y=e?function(t){return btoa(t)}:o?function(t){return Buffer.from(t,"binary").toString("base64")}:p,A=o?function(t){return Buffer.from(t).toString("base64")}:function(t){for(var n=[],r=0,e=t.length;r>>6)+d(128|63&n):d(224|n>>>12&15)+d(128|n>>>6&63)+d(128|63&n);var n=65536+1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320);return d(240|n>>>18&7)+d(128|n>>>12&63)+d(128|n>>>6&63)+d(128|63&n)},B=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,x=function(t){return t.replace(B,g)},C=o?function(t){return Buffer.from(t,"utf8").toString("base64")}:i?function(t){return A(i.encode(t))}:function(t){return y(x(t))},m=function(t,n){return void 0===n&&(n=!1),n?l(C(t)):C(t)},v=function(t){return m(t,!0)},U=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,F=function(t){switch(t.length){case 4:var n=((7&t.charCodeAt(0))<<18|(63&t.charCodeAt(1))<<12|(63&t.charCodeAt(2))<<6|63&t.charCodeAt(3))-65536;return d(55296+(n>>>10))+d(56320+(1023&n));case 3:return d((15&t.charCodeAt(0))<<12|(63&t.charCodeAt(1))<<6|63&t.charCodeAt(2));default:return d((31&t.charCodeAt(0))<<6|63&t.charCodeAt(1))}},w=function(t){return t.replace(U,F)},S=function(t){if(t=t.replace(/\s+/g,""),!a.test(t))throw new TypeError("malformed base64.");t+="==".slice(2-(3&t.length));for(var n,r,e,o="",u=0;u>16&255):64===e?d(n>>16&255,n>>8&255):d(n>>16&255,n>>8&255,255&n);return o},E=r?function(t){return atob(h(t))}:o?function(t){return Buffer.from(t,"base64").toString("binary")}:S,D=o?function(t){return s(Buffer.from(t,"base64"))}:function(t){return s(E(t),(function(t){return t.charCodeAt(0)}))},R=function(t){return D(T(t))},z=o?function(t){return Buffer.from(t,"base64").toString("utf8")}:u?function(t){return u.decode(D(t))}:function(t){return w(E(t))},T=function(t){return h(t.replace(/[-_]/g,(function(t){return"-"==t?"+":"/"})))},Z=function(t){return z(T(t))},j=function(t){return{value:t,enumerable:!1,writable:!0,configurable:!0}},I=function(){var t=function(t,n){return Object.defineProperty(String.prototype,t,j(n))};t("fromBase64",(function(){return Z(this)})),t("toBase64",(function(t){return m(this,t)})),t("toBase64URI",(function(){return m(this,!0)})),t("toBase64URL",(function(){return m(this,!0)})),t("toUint8Array",(function(){return R(this)}))},O=function(){var t=function(t,n){return Object.defineProperty(Uint8Array.prototype,t,j(n))};t("toBase64",(function(t){return b(this,t)})),t("toBase64URI",(function(){return b(this,!0)})),t("toBase64URL",(function(){return b(this,!0)}))},P={version:n,VERSION:"3.7.2",atob:E,atobPolyfill:S,btoa:y,btoaPolyfill:p,fromBase64:Z,toBase64:m,encode:m,encodeURI:v,encodeURL:v,utob:x,btou:w,decode:Z,isValid:function(t){if("string"!=typeof t)return!1;var n=t.replace(/\s+/g,"").replace(/={0,2}$/,"");return!/[^\s0-9a-zA-Z\+/]/.test(n)||!/[^\s0-9a-zA-Z\-_]/.test(n)},fromUint8Array:b,toUint8Array:R,extendString:I,extendUint8Array:O,extendBuiltins:function(){I(),O()},Base64:{}};return Object.keys(P).forEach((function(t){return P.Base64[t]=P[t]})),P}));
+//# sourceMappingURL=/sm/79de78edcfa94236e4c8354f91262971e185c3633bb865b6fc17942e93a40207.map
\ No newline at end of file
diff --git a/components/activity-list/activity-list.vue b/components/activity-list/activity-list.vue
new file mode 100644
index 0000000..d1d8038
--- /dev/null
+++ b/components/activity-list/activity-list.vue
@@ -0,0 +1,71 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/app-admin/app-admin.vue b/components/app-admin/app-admin.vue
new file mode 100644
index 0000000..fd3d74c
--- /dev/null
+++ b/components/app-admin/app-admin.vue
@@ -0,0 +1,242 @@
+
+
+
+
+
+
+
+ {{update_data.name}}
+ v{{update_data.version_new}}
+
+
+ {{item}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{app_version_info}}
+
+ {{$t('common.already_latest_text')}}
+ {{$t('common.to_update_text')}}(v{{update_data.version_new}})
+ {{$t('common.to_star_text')}}
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/components/ask-comments-goods/ask-comments-goods.vue b/components/ask-comments-goods/ask-comments-goods.vue
new file mode 100644
index 0000000..7234f5a
--- /dev/null
+++ b/components/ask-comments-goods/ask-comments-goods.vue
@@ -0,0 +1,103 @@
+
+
+
+
+
+
+
+ {{$t('ask-comments-goods.ask-comments-goods.g6mc44')}}
+
+
+
+
+
diff --git a/components/badge/badge.vue b/components/badge/badge.vue
new file mode 100644
index 0000000..a6e8286
--- /dev/null
+++ b/components/badge/badge.vue
@@ -0,0 +1,55 @@
+
+
+
+
+ {{(propNumber > 99) ? '99+' : propNumber}}
+
+
+
+
+
+
\ No newline at end of file
diff --git a/components/binding-detail-list/binding-detail-list.vue b/components/binding-detail-list/binding-detail-list.vue
new file mode 100644
index 0000000..5f8173d
--- /dev/null
+++ b/components/binding-detail-list/binding-detail-list.vue
@@ -0,0 +1,98 @@
+
+
+
+
+
+
+
+
+ {{bv.title}}
+
+ {{$t('detail.detail.6026t4')}}
+ {{propCurrencySymbol}}{{bv.estimate_discount_price}}
+
+
+
+
+
+
+
+ {{propCurrencySymbol}}{{bv.estimate_price}}
+ {{propCurrencySymbol}}{{bv.estimate_original_price}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/components/binding-list/binding-list.vue b/components/binding-list/binding-list.vue
new file mode 100644
index 0000000..e992fa7
--- /dev/null
+++ b/components/binding-list/binding-list.vue
@@ -0,0 +1,173 @@
+
+
+
+
+
+
+
+
+
+ {{ item.title }}
+
+ {{ propCurrencySymbol }}
+ {{ item.estimate_price }}
+
+
+ {{$t('detail.detail.6026t4')}}
+
+ {{ propCurrencySymbol }}
+ {{ item.estimate_discount_price }}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ gv.title }}
+
+ {{ gv.show_price_symbol }}{{ gv.price }}
+ {{ gv.show_price_unit }}
+
+ {{$t('detail.detail.6026t4')}}{{ gv.show_price_symbol }}{{ gv.discount_price }}
+
+
+
+
+
+
+
+ {{ (item.is_home_show_goods || 0) == 1 ? $t('binding-list.binding-list.2u4v35') : $t('binding-list.binding-list.91d60h') }}{{ item.type_name }}{{$t('recommend-list.recommend-list.x74z3o')}}
+
+
+
+
+
+
+
+
+
+
diff --git a/components/blog-list/blog-list.vue b/components/blog-list/blog-list.vue
new file mode 100644
index 0000000..e910229
--- /dev/null
+++ b/components/blog-list/blog-list.vue
@@ -0,0 +1,99 @@
+
+
+
+
+
+
+
+
+ {{ floor.title }}
+ {{ floor.vice_title }}
+
+ {{$t('common.more')}}
+
+
+
+
+
+
+
+
+
+
+ {{ item.title }}
+ {{ item.add_time_date_cn }}
+ {{item.describe}}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.title }}
+ {{ item.add_time_date_cn }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.title }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/bottom-line/bottom-line.vue b/components/bottom-line/bottom-line.vue
new file mode 100644
index 0000000..03c556c
--- /dev/null
+++ b/components/bottom-line/bottom-line.vue
@@ -0,0 +1,56 @@
+
+
+
+
+
+ {{propMsg || $t('bottom-line.bottom-line.44bct2')}}
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/components/buy-ordergoodsform/buy-ordergoodsform.vue b/components/buy-ordergoodsform/buy-ordergoodsform.vue
new file mode 100644
index 0000000..d1c5bef
--- /dev/null
+++ b/components/buy-ordergoodsform/buy-ordergoodsform.vue
@@ -0,0 +1,187 @@
+
+
+
+
+ {{item.title}}
+
+ {{item.content}}
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/components/cart-para-curve/cart-para-curve.vue b/components/cart-para-curve/cart-para-curve.vue
new file mode 100644
index 0000000..0e59cfe
--- /dev/null
+++ b/components/cart-para-curve/cart-para-curve.vue
@@ -0,0 +1,125 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/components/cart/cart.vue b/components/cart/cart.vue
new file mode 100644
index 0000000..25d038e
--- /dev/null
+++ b/components/cart/cart.vue
@@ -0,0 +1,1690 @@
+
+
+
+
+
+
+
+
+
+ {{ $t('cart.cart.v37ow8') }}
+ {{ $t('cart.cart.09gl3g') }}
+
+
+
+
+
+
+
+
+
+
+ {{ plugins_realstore_info.name }}
+ ({{ plugins_realstore_info.distance }})
+
+
+
+
+
+ {{ plugins_realstore_info.buy_use_type_list[plugins_realstore_buy_use_type_active_index]['name'] }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.error_msg }}
+
+
+
+
+
+
+
+
+ {{ item.title }}
+
+
+
+ ;
+ {{ sv.value }}
+
+
+
+
+
+
+
+
+ {{ item.show_price_symbol }}
+ {{ item.price }}
+
+ {{ item.show_price_unit }}
+
+
+
+
+ -
+
+ +
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ data_list_loding_msg || $t('cart.cart.j8on74') }}
+
+
+
+
+
+
+
+
+
+ {{item}}
+
+
+
+
+
+
+
+ {{ $t('goods-detail.goods-detail.v2974w') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('common.del') }}
+ {{ $t('cart.cart.pxjwv8') }}
+
+
+
+ {{ $t('buy.buy.wx78ju') }}
+
+ {{ buy_currency_symbol }}
+ {{ total_price }}
+
+
+
+
+
+ {{ $t('cart.cart.3kr74b') }}{{ buy_currency_symbol }}{{ preferential_price }}
+
+
+
+ {{ $t('cart.cart.n76213') }}{{ buy_currency_symbol }}{{ increase_price }}
+
+
+ {{ $t('cart.cart.4tbj4s') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.error_msg }}
+
+
+
+ {{ currency_symbol }}{{ item.price }}
+ x{{ item.stock }}
+
+
+
+
+
+
+
+ {{ $t('buy.buy.g2vt78') }}{{ goods_count }}{{ $t('cart.cart.miti3i') }}
+
+
+
+
+
+
+ {{ $t('cart.cart.t41i4x') }}
+ {{ buy_currency_symbol }}{{ all_total_price }}
+
+
+
+ {{ $t('cart.cart.9s0l57') }}
+ {{ buy_currency_symbol }}{{ preferential_price }}
+
+
+
+
+
+ {{ $t('cart.cart.qh35gz') }}
+ {{ buy_currency_symbol }}{{ increase_price }}
+
+
+
+
+
+ {{ items.name }}
+ {{ items.alias }}
+
+
+ {{ item.name }}
+ {{ item.tips }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('cart.cart.7gdej1') }}
+
+
+
+
+
+
+
+
+
+ {{ item.name }}
+ ({{ item.distance }})
+
+
+
+
+
+
+
+
+ {{ $t('common.view_more') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ (plugins_hospital_prescription_data || null) != null ? (plugins_hospital_prescription_data.title || '') : '' }}
+
+
+
+
+
+
+
+
+ {{item.name}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/categorylimit-warm-tips/categorylimit-warm-tips.vue b/components/categorylimit-warm-tips/categorylimit-warm-tips.vue
new file mode 100644
index 0000000..dca1071
--- /dev/null
+++ b/components/categorylimit-warm-tips/categorylimit-warm-tips.vue
@@ -0,0 +1,54 @@
+
+
+
+
+
+
+ {{propData.warm_tips_alert_msg}}
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/components/choice-location/choice-location.vue b/components/choice-location/choice-location.vue
new file mode 100644
index 0000000..0436458
--- /dev/null
+++ b/components/choice-location/choice-location.vue
@@ -0,0 +1,169 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ location.text || '' }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/common/common.vue b/components/common/common.vue
new file mode 100644
index 0000000..44614d7
--- /dev/null
+++ b/components/common/common.vue
@@ -0,0 +1,250 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ title }}{{$t('common.warm_tips')}}
+
+
+ {{$t('agreement.agreement.w38e3v')}}{{ title }}{{$t('agreement.agreement.hjn568')}}
+ {{ privacy_content }}
+
+
+
+ 《{{ title }}{{$t('agreement.agreement.iy7863')}}
+
+
+ 《{{ title }}{{$t('agreement.agreement.jwi8n1')}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/components/copyright/copyright.vue b/components/copyright/copyright.vue
new file mode 100644
index 0000000..0e77343
--- /dev/null
+++ b/components/copyright/copyright.vue
@@ -0,0 +1,33 @@
+
+
+
+ {{application_title}} {{version}}
+
+
+
+
+
\ No newline at end of file
diff --git a/components/countdown/countdown.vue b/components/countdown/countdown.vue
new file mode 100644
index 0000000..bc48bde
--- /dev/null
+++ b/components/countdown/countdown.vue
@@ -0,0 +1,211 @@
+
+
+
+
+ {{ msec }}
+ {{ propSecondDs }}
+
+ {{ second }}
+ {{ propMinuteDs }}
+ {{ minute }}
+ {{ propHourDs }}
+ {{ hour }}
+
+ {{ propMsg || this.$t('index.index.443683') }}
+
+
+
+
diff --git a/components/coupon-card/coupon-card.vue b/components/coupon-card/coupon-card.vue
new file mode 100644
index 0000000..70d70f8
--- /dev/null
+++ b/components/coupon-card/coupon-card.vue
@@ -0,0 +1,230 @@
+
+
+
+
+
+
+ {{ currency_symbol }}
+ {{ propData.discount_value }}
+ {{ propData.type_unit }}
+
+ {{ propData.desc }}
+
+
+
+ {{ propData.use_limit_type_name }}
+ {{ propStartTime }}-{{ propEndTime }}
+
+
+ {{ propData.process_data.msg }}
+
+
+
+ {{ propData.process_data.msg }}
+
+
+ {{ propData.expire_tips }}
+
+
+
+ {{ propStatusOperableName || this.$t('coupon-card.coupon-card.m9316y') }}
+ {{ propStatusOperableName || this.$t('coupon-card.coupon-card.m9316y') }}
+ {{ propStatusOperableName || this.$t('coupon-card.coupon-card.m9316y') }}
+
+
+ {{ propStatusOperableName || this.$t('coupon-card.coupon-card.m9316y') }}
+
+
+
+
+
+
+
+
+ {{$t('coupon-card.coupon-card.j318xx')}}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/diy/article-list.vue b/components/diy/article-list.vue
new file mode 100644
index 0000000..7784af4
--- /dev/null
+++ b/components/diy/article-list.vue
@@ -0,0 +1,430 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.new_title ? item.new_title : item.data.title }}
+ {{ item.data.describe || '' }}
+
+
+ {{ field_show.includes('0') ? item.data.add_time : '' }}
+
+
+
+ {{ item.data.access_count ? item.data.access_count : '' }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.new_title ? item.new_title : item.data.title }}
+
+
+
+
+
+
+ {{ item.new_title ? item.new_title : item.data.title }}
+ {{ item.data.describe || '' }}
+
+
+ {{ field_show.includes('0') ? item.data.add_time : '' }}
+
+
+
+ {{ item.data.access_count ? item.data.access_count : '' }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/diy/article-tabs.vue b/components/diy/article-tabs.vue
new file mode 100644
index 0000000..cfc7138
--- /dev/null
+++ b/components/diy/article-tabs.vue
@@ -0,0 +1,264 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/diy/auxiliary-blank.vue b/components/diy/auxiliary-blank.vue
new file mode 100644
index 0000000..973d869
--- /dev/null
+++ b/components/diy/auxiliary-blank.vue
@@ -0,0 +1,64 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/diy/auxiliary-line.vue b/components/diy/auxiliary-line.vue
new file mode 100644
index 0000000..b3fa1c1
--- /dev/null
+++ b/components/diy/auxiliary-line.vue
@@ -0,0 +1,64 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/diy/carousel.vue b/components/diy/carousel.vue
new file mode 100644
index 0000000..e316d6c
--- /dev/null
+++ b/components/diy/carousel.vue
@@ -0,0 +1,371 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.video_title }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.video_title }}
+
+
+
+
+
+
+
+
+
+ {{ actived_index + 1 }}
+ /{{ form.carousel_list.length }}
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/diy/coupon.vue b/components/diy/coupon.vue
new file mode 100644
index 0000000..c089e54
--- /dev/null
+++ b/components/diy/coupon.vue
@@ -0,0 +1,1013 @@
+
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+ {{ currency_symbol }}
+ {{ item.discount_value }}
+ 折
+
+
+ {{ item.status_operable_name }}
+
+
+
+
+
+
+
+
+ {{ currency_symbol }}
+ {{ item.discount_value }}
+ 折
+
+ {{ item.name }}
+ {{ item.desc }}
+
+ {{ item.status_operable_name }}
+
+
+
+
+
+
+
+
+
+ {{ currency_symbol }}
+ {{ item.discount_value }}
+ 折
+
+
+
+ {{ item.name }}
+ {{ item.use_limit_type_name }}
+ (限领{{ item.limit_send_count }}张)
+
+
+
+
+
+ {{ item.status_operable_name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.type_name }}
+
+
+
+ {{ currency_symbol }}
+ {{ item.discount_value }}
+ 折
+
+ {{ item.name }}
+
+
+
+
+
+
+ {{ content_title }}
+ {{ content_desc }}
+
+ {{ data_list.filter((item) => item.status_type == 0).length > 0 ? '立即领取' : '不可领取' }}
+
+
+
+
+
+
+
+
+
+
+ {{ currency_symbol }}
+ {{ item.discount_value }}
+ 折
+
+ {{ item.name }}
+
+
+ {{ item.status_operable_name }}
+
+
+
+
+
+
+
+
+
+
+
+ {{ currency_symbol }}
+ {{ item.discount_value }}
+ 折
+
+ {{ item.name }}
+
+
+
+
+ {{ item.status_operable_name }}
+
+
+
+
+
+
+
+
+
+
+
+ {{ currency_symbol }}
+ {{ item.discount_value }}
+ 折
+
+ {{ item.name }}
+
+
+
+ {{ item.status_operable_name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/diy/custom.vue b/components/diy/custom.vue
new file mode 100644
index 0000000..07f04b4
--- /dev/null
+++ b/components/diy/custom.vue
@@ -0,0 +1,337 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ actived_index + 1 }}
+ /{{ data_source_content_list.length }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/diy/data-magic.vue b/components/diy/data-magic.vue
new file mode 100644
index 0000000..1778d55
--- /dev/null
+++ b/components/diy/data-magic.vue
@@ -0,0 +1,434 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.data_content.heading_title || '' }}
+
+
+
+
+
+
+
+ {{ item.data_content.subtitle || '' }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.actived_index + 1 }}/{{ item.data_content.list.length }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.data_content.heading_title || '' }}
+
+
+
+
+
+
+
+ {{ item.data_content.subtitle || '' }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.actived_index + 1 }}
+ /{{ item.data_content.list.length }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/diy/data-tabs.vue b/components/diy/data-tabs.vue
new file mode 100644
index 0000000..a1eccfe
--- /dev/null
+++ b/components/diy/data-tabs.vue
@@ -0,0 +1,334 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/diy/diy.vue b/components/diy/diy.vue
new file mode 100644
index 0000000..14c6cc8
--- /dev/null
+++ b/components/diy/diy.vue
@@ -0,0 +1,784 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/components/diy/float-window.vue b/components/diy/float-window.vue
new file mode 100644
index 0000000..6099a38
--- /dev/null
+++ b/components/diy/float-window.vue
@@ -0,0 +1,164 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/diy/footer.vue b/components/diy/footer.vue
new file mode 100644
index 0000000..d62d8aa
--- /dev/null
+++ b/components/diy/footer.vue
@@ -0,0 +1,201 @@
+
+
+
+
+
+
diff --git a/components/diy/goods-list.vue b/components/diy/goods-list.vue
new file mode 100644
index 0000000..4da750e
--- /dev/null
+++ b/components/diy/goods-list.vue
@@ -0,0 +1,607 @@
+
+
+
+
+
+
+
+
+
+ {{ item.title }}
+
+ {{ item.show_price_symbol }}
+ {{ item.min_price }}
+ {{ item.show_price_unit }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.title }}
+ {{ item.simple_desc }}
+
+
+ {{ icon_data.name }}
+
+
+
+
+
+ {{ item.show_price_symbol }}
+ {{ item.min_price }}
+ {{ item.show_price_unit }}
+
+
+
+
+ {{ item.show_original_price_symbol }}{{ item.min_original_price }}
+
+ {{ item.show_original_price_unit }}
+
+
+
+
+
+
+
+ 已售{{ item.sales_count || 0 }}件
+
+
+
+
+
+
+ {{ form.shop_button_text }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.show_price_symbol }}
+ {{ item.min_price }}
+ {{ item.show_price_unit }}
+
+
+
+
+ {{ item.show_original_price_symbol }}{{ item.min_original_price }}
+
+ {{ item.show_original_price_unit }}
+
+
+
+
+
+
+ {{ form.shop_button_text }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.title }}
+ {{ item.simple_desc }}
+
+
+ {{ icon_data.name }}
+
+
+
+
+
+ {{ item.show_price_symbol }}
+ {{ item.min_price }}
+ {{ item.show_price_unit }}
+
+
+
+
+ {{ item.show_original_price_symbol }}{{ item.min_original_price }}
+
+ {{ item.show_original_price_unit }}
+
+
+
+
+
+
+ {{ form.shop_button_text }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/diy/goods-tabs.vue b/components/diy/goods-tabs.vue
new file mode 100644
index 0000000..36998a8
--- /dev/null
+++ b/components/diy/goods-tabs.vue
@@ -0,0 +1,253 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/diy/header.vue b/components/diy/header.vue
new file mode 100644
index 0000000..50b4fb7
--- /dev/null
+++ b/components/diy/header.vue
@@ -0,0 +1,420 @@
+
+
+
+
+
+
+
diff --git a/components/diy/hot-zone.vue b/components/diy/hot-zone.vue
new file mode 100644
index 0000000..16bdac9
--- /dev/null
+++ b/components/diy/hot-zone.vue
@@ -0,0 +1,122 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/diy/img-magic.vue b/components/diy/img-magic.vue
new file mode 100644
index 0000000..e3068b9
--- /dev/null
+++ b/components/diy/img-magic.vue
@@ -0,0 +1,228 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/diy/modules/custom/data-group-rendering.vue b/components/diy/modules/custom/data-group-rendering.vue
new file mode 100644
index 0000000..1cfd712
--- /dev/null
+++ b/components/diy/modules/custom/data-group-rendering.vue
@@ -0,0 +1,279 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/components/diy/modules/custom/data-rendering.vue b/components/diy/modules/custom/data-rendering.vue
new file mode 100644
index 0000000..41a1bce
--- /dev/null
+++ b/components/diy/modules/custom/data-rendering.vue
@@ -0,0 +1,290 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/components/diy/modules/custom/model-custom-group.vue b/components/diy/modules/custom/model-custom-group.vue
new file mode 100644
index 0000000..15e837d
--- /dev/null
+++ b/components/diy/modules/custom/model-custom-group.vue
@@ -0,0 +1,378 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ actived_index + 1 }}
+ /{{ data_source_content_list.length }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/diy/modules/custom/model-icon.vue b/components/diy/modules/custom/model-icon.vue
new file mode 100644
index 0000000..cebaa72
--- /dev/null
+++ b/components/diy/modules/custom/model-icon.vue
@@ -0,0 +1,161 @@
+
+
+
+
+
+
+
diff --git a/components/diy/modules/custom/model-image.vue b/components/diy/modules/custom/model-image.vue
new file mode 100644
index 0000000..04c98f9
--- /dev/null
+++ b/components/diy/modules/custom/model-image.vue
@@ -0,0 +1,178 @@
+
+
+
+
+
+
+
diff --git a/components/diy/modules/custom/model-lines.vue b/components/diy/modules/custom/model-lines.vue
new file mode 100644
index 0000000..18beb8e
--- /dev/null
+++ b/components/diy/modules/custom/model-lines.vue
@@ -0,0 +1,94 @@
+
+
+
+
+
diff --git a/components/diy/modules/custom/model-panel.vue b/components/diy/modules/custom/model-panel.vue
new file mode 100644
index 0000000..8ae1ac9
--- /dev/null
+++ b/components/diy/modules/custom/model-panel.vue
@@ -0,0 +1,133 @@
+
+
+
+
+
+
+
diff --git a/components/diy/modules/custom/model-text.vue b/components/diy/modules/custom/model-text.vue
new file mode 100644
index 0000000..bb93ff7
--- /dev/null
+++ b/components/diy/modules/custom/model-text.vue
@@ -0,0 +1,236 @@
+
+
+
+
+
+
+
+ {{ text_title }}
+
+
+
+
+
+
diff --git a/components/diy/modules/data-magic/custom/index.vue b/components/diy/modules/data-magic/custom/index.vue
new file mode 100644
index 0000000..5c7ac5b
--- /dev/null
+++ b/components/diy/modules/data-magic/custom/index.vue
@@ -0,0 +1,304 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/diy/modules/data-magic/magic-carousel.vue b/components/diy/modules/data-magic/magic-carousel.vue
new file mode 100644
index 0000000..059976d
--- /dev/null
+++ b/components/diy/modules/data-magic/magic-carousel.vue
@@ -0,0 +1,142 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/diy/modules/data-magic/product-list-show.vue b/components/diy/modules/data-magic/product-list-show.vue
new file mode 100644
index 0000000..279cbff
--- /dev/null
+++ b/components/diy/modules/data-magic/product-list-show.vue
@@ -0,0 +1,233 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.title || '' }}
+
+ {{ item.show_price_symbol || '' }}
+ {{ item.min_price || '' }}
+
+ {{ item.show_price_unit || '' }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.show_price_symbol || ''}}{{ item.min_price || ''}}
+
+ {{ item.show_price_unit || ''}}
+
+
+
+ {{ item.title || '' }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.title || '' }}
+
+ {{ item.show_price_symbol || ''}}{{ item.min_price || '' }}
+
+ {{ item.show_price_unit || ''}}
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/diy/modules/data-magic/video/index.vue b/components/diy/modules/data-magic/video/index.vue
new file mode 100644
index 0000000..9b4daee
--- /dev/null
+++ b/components/diy/modules/data-magic/video/index.vue
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/components/diy/modules/image-empty.vue b/components/diy/modules/image-empty.vue
new file mode 100644
index 0000000..c5bc752
--- /dev/null
+++ b/components/diy/modules/image-empty.vue
@@ -0,0 +1,79 @@
+
+
+
+
+
+
+
+
diff --git a/components/diy/modules/subscript/index.vue b/components/diy/modules/subscript/index.vue
new file mode 100644
index 0000000..62ba332
--- /dev/null
+++ b/components/diy/modules/subscript/index.vue
@@ -0,0 +1,98 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ form.subscript_text }}
+
+
+
+
+
+
+
+
diff --git a/components/diy/modules/tabs-view.vue b/components/diy/modules/tabs-view.vue
new file mode 100644
index 0000000..06631b3
--- /dev/null
+++ b/components/diy/modules/tabs-view.vue
@@ -0,0 +1,592 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.title }}
+
+ {{ item.desc }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 全部选项卡
+
+
+
+
+
+ {{ item.title }}
+
+
+
+
+
+
+ {{ $t('nav-more.nav-more.h9g4b1') }}
+
+
+
+
+
+
+
+
+
diff --git a/components/diy/nav-group.vue b/components/diy/nav-group.vue
new file mode 100644
index 0000000..0a902c2
--- /dev/null
+++ b/components/diy/nav-group.vue
@@ -0,0 +1,248 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item1.title }}
+
+
+
+
+
+
+
+ {{ actived_index + 1 }}
+ /{{ nav_content_list.length }}
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/diy/notice.vue b/components/diy/notice.vue
new file mode 100644
index 0000000..1eb52ef
--- /dev/null
+++ b/components/diy/notice.vue
@@ -0,0 +1,211 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ form_content.title || '公告' }}
+
+
+
+
+ {{ item.notice_title }}
+
+
+
+
+ {{ form_content.right_title }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ form_content.title }}
+
+
+ {{ form_content.right_title }}
+
+
+
+
+
+
+ {{ index + 1 }}
+ {{ item.notice_title }}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/diy/rich-text.vue b/components/diy/rich-text.vue
new file mode 100644
index 0000000..3264df3
--- /dev/null
+++ b/components/diy/rich-text.vue
@@ -0,0 +1,73 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/diy/search.vue b/components/diy/search.vue
new file mode 100644
index 0000000..3d18f33
--- /dev/null
+++ b/components/diy/search.vue
@@ -0,0 +1,327 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.value }}
+
+
+
+
+
+ {{ form.tips }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ form.search_tips }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/diy/seckill.vue b/components/diy/seckill.vue
new file mode 100644
index 0000000..5a5ca06
--- /dev/null
+++ b/components/diy/seckill.vue
@@ -0,0 +1,643 @@
+
+
+
+
+
+
+
+
+
+ {{ form.title_text }}
+
+ |
+
+ {{ seckill_time.time_first_text }}
+
+
+
+
+ {{ item.value }}
+ :
+
+
+ {{ item.value }}
+ :
+
+
+
+
+
+ 已结束
+
+
+
+ {{ form.button_text }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.title }}
+ {{ item.simple_desc }}
+
+
+
+
+
+
+
+ {{ form.seckill_pirce_title ? form.seckill_pirce_title : ''}}
+ {{ item.show_price_symbol }}
+ {{ item.min_price }}
+ {{ item.show_price_unit }}
+
+
+
+ {{ item.show_original_price_symbol }}{{ item.min_original_price }}
+
+ {{ item.show_original_price_unit }}
+
+
+
+
+
+
+ {{ form.shop_button_text }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.title }}
+ {{ item.simple_desc }}
+
+
+
+
+
+
+
+ {{ form.seckill_pirce_title ? form.seckill_pirce_title : ''}}
+ {{ item.show_price_symbol }}
+ {{ item.min_price }}
+ {{ item.show_price_unit }}
+
+
+
+ {{ item.show_original_price_symbol }}{{ item.min_original_price }}
+
+ {{ item.show_original_price_unit }}
+
+
+
+
+
+
+ {{ form.shop_button_text }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/diy/tabs-carousel.vue b/components/diy/tabs-carousel.vue
new file mode 100644
index 0000000..22ec567
--- /dev/null
+++ b/components/diy/tabs-carousel.vue
@@ -0,0 +1,231 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/diy/tabs.vue b/components/diy/tabs.vue
new file mode 100644
index 0000000..926299a
--- /dev/null
+++ b/components/diy/tabs.vue
@@ -0,0 +1,270 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/diy/title.vue b/components/diy/title.vue
new file mode 100644
index 0000000..7a6615c
--- /dev/null
+++ b/components/diy/title.vue
@@ -0,0 +1,143 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ form.title }}
+ {{ form.subtitle }}
+
+
+
+
+
+ {{ item.title }}
+
+
+
+ {{ form.right_title }}
+
+
+
+
+ {{ form.subtitle }}
+
+
+
+
+
+
+
+
diff --git a/components/diy/user-info.vue b/components/diy/user-info.vue
new file mode 100644
index 0000000..5c87bf8
--- /dev/null
+++ b/components/diy/user-info.vue
@@ -0,0 +1,164 @@
+
+
+
+
+
+
+
+
+
+ {{ (user_info.user || null) !== null ? user_info.user.user_name_view : user.user_name_view }}
+ ID:{{ user_info.user.number_code }}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.value }}
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
diff --git a/components/diy/video.vue b/components/diy/video.vue
new file mode 100644
index 0000000..42d4181
--- /dev/null
+++ b/components/diy/video.vue
@@ -0,0 +1,86 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/emoji-popup/emoji-popup.vue b/components/emoji-popup/emoji-popup.vue
new file mode 100644
index 0000000..eeda676
--- /dev/null
+++ b/components/emoji-popup/emoji-popup.vue
@@ -0,0 +1,95 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/components/goods-batch-buy/goods-batch-buy.vue b/components/goods-batch-buy/goods-batch-buy.vue
new file mode 100644
index 0000000..3ba32af
--- /dev/null
+++ b/components/goods-batch-buy/goods-batch-buy.vue
@@ -0,0 +1,576 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.name }}
+ {{ propCurrencySymbol }}{{ item.base.price }}
+
+ {{$t('goods-batch-buy.goods-batch-buy.dsfd98')}}
+
+ -
+
+ +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+ {{ propCurrencySymbol }}{{ item.base.price }}
+
+ {{$t('goods-batch-buy.goods-batch-buy.dsfd98')}}
+
+ -
+
+ +
+
+
+
+
+
+
+
+
+
+ {{$t('buy.buy.g2vt78')}}
+ {{ base_data.kind }}
+ {{$t('goods-batch-buy.goods-batch-buy.9ectyf')}}
+ {{ base_data.quantity }}
+ {{ goods.inventory_unit }}
+
+ {{$t('goods-batch-buy.goods-batch-buy.geq82x')}}{{ propCurrencySymbol }}{{ base_data.amount_money }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{$t('goods-batch-buy.goods-batch-buy.ypby1k')}}
+
+
+
+
+
+
+
+
diff --git a/components/goods-buy/goods-buy.vue b/components/goods-buy/goods-buy.vue
new file mode 100644
index 0000000..45dbd78
--- /dev/null
+++ b/components/goods-buy/goods-buy.vue
@@ -0,0 +1,945 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ goods.show_price_symbol }}{{ goods_spec_base_price }}
+ {{ goods.show_price_unit }}
+
+ {{ goods.show_original_price_symbol }}{{ goods_spec_base_original_price }}{{ goods.show_original_price_unit }}
+
+
+ {{ $t('goods-detail.goods-detail.1s79t4') }}
+ {{ goods_spec_base_inventory }}
+ {{ goods.inventory_unit }}
+
+
+
+
+ {{ $t('goods-buy.goods-buy.ufdm25') }}
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
+ {{ $t('goods-buy.goods-buy.737wzz') }}
+
+ -
+
+ +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/goods-comments/goods-comments.vue b/components/goods-comments/goods-comments.vue
new file mode 100644
index 0000000..88b49fd
--- /dev/null
+++ b/components/goods-comments/goods-comments.vue
@@ -0,0 +1,127 @@
+
+
+
+
+
+
+
+
+ {{$t('goods-comments.goods-comments.1p1r2e')}}
+
+
+
+
+
+
diff --git a/components/goods-list/goods-list.vue b/components/goods-list/goods-list.vue
new file mode 100644
index 0000000..30b638b
--- /dev/null
+++ b/components/goods-list/goods-list.vue
@@ -0,0 +1,395 @@
+
+
+
+
+
+ {{ data.title }}
+ {{ data.vice_title }}
+
+ {{ $t('common.more') }}
+
+
+
+
+
+
+
+
+
+
+ {{ item.title }}
+ {{ item.simple_desc }}
+
+
+
+ {{ item.price_icon }}
+ {{ item.show_price_symbol }}
+ {{ item[propPriceField] }}
+ {{ item.show_price_unit }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ lv.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.title }}
+
+
+
+ {{ item.price_icon }}
+ {{ item.show_price_symbol }}
+ {{ item[propPriceField] }}
+ {{ item.show_price_unit }}
+
+
+
+
+ {{ grid_btn_config.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ lv.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.title }}
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.price_icon }}
+ {{ item.show_price_symbol }}
+ {{ item[propPriceField] }}
+ {{ item.show_price_unit }}
+
+
+
+
+
+
+
+
+
+
+ {{ lv.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/goods-spec-choice/goods-spec-choice.vue b/components/goods-spec-choice/goods-spec-choice.vue
new file mode 100644
index 0000000..55721e7
--- /dev/null
+++ b/components/goods-spec-choice/goods-spec-choice.vue
@@ -0,0 +1,362 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.name}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/components/icon-nav/icon-nav.vue b/components/icon-nav/icon-nav.vue
new file mode 100644
index 0000000..61770c5
--- /dev/null
+++ b/components/icon-nav/icon-nav.vue
@@ -0,0 +1,140 @@
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
diff --git a/components/iconfont/iconfont.vue b/components/iconfont/iconfont.vue
new file mode 100644
index 0000000..42b0cc9
--- /dev/null
+++ b/components/iconfont/iconfont.vue
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+
+
+
diff --git a/components/layout/layout.vue b/components/layout/layout.vue
new file mode 100644
index 0000000..bf22616
--- /dev/null
+++ b/components/layout/layout.vue
@@ -0,0 +1,1359 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.title}}
+ {{item.desc}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.title}}
+ {{item.desc}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.title}}
+ {{item.desc}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.title}}
+
+
+ {{currency_symbol}}{{item.price}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.title}}
+
+
+ {{currency_symbol}}{{item.price}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.title}}
+
+
+ {{currency_symbol}}{{item.price}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{vss.config.title}}
+
+
+ {{vss.config.title_vice}}
+
+
+
+ {{vss.config.title_more}} >
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/components/magic-list/magic-list.vue b/components/magic-list/magic-list.vue
new file mode 100644
index 0000000..be53e13
--- /dev/null
+++ b/components/magic-list/magic-list.vue
@@ -0,0 +1,246 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ items.title }}
+
+
+
+
+
+
+ {{ items.describe }}
+
+
+
+
+
+
+
+
+ {{ gv.show_price_symbol }}
+ {{ gv.min_price }}
+ {{ gv.show_price_unit }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ items.title }}
+
+
+
+
+
+
+
+
+
+
+ {{ $t('common.more') }}
+
+
+
+
+ {{items.describe}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/nav-back/nav-back.vue b/components/nav-back/nav-back.vue
new file mode 100644
index 0000000..0f4f23a
--- /dev/null
+++ b/components/nav-back/nav-back.vue
@@ -0,0 +1,107 @@
+
+
+
+
+ {{ propName }}
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/nav-more/nav-more.vue b/components/nav-more/nav-more.vue
new file mode 100644
index 0000000..562036b
--- /dev/null
+++ b/components/nav-more/nav-more.vue
@@ -0,0 +1,101 @@
+
+
+
+ {{ $t('common.more_null') }}
+
+
+
+
+
+ {{ $t('recommend-form.recommend-form.7gc30l') }}
+
+
+
+
+ {{ $t('nav-more.nav-more.h9g4b1') }}
+
+
+
+
+
+
+
+
+
+
diff --git a/components/no-data/no-data.vue b/components/no-data/no-data.vue
new file mode 100644
index 0000000..d541904
--- /dev/null
+++ b/components/no-data/no-data.vue
@@ -0,0 +1,329 @@
+
+
+
+
+ {{$t('no-data.no-data.1u202v')}}
+ {{$t('no-data.no-data.imw8f1')}}{{title}}{{$t('no-data.no-data.q87572')}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{title}}
+
+
+
+
+
+
+
+
+
+
+
+ {{propMsg || $t('form.form.bniyyt')}}
+
+
+
+
+
+
+
+
+ {{propMsg || $t('common.no_relevant_data_tips')}}
+
+
+
+
+
+
diff --git a/components/online-service/online-service.vue b/components/online-service/online-service.vue
new file mode 100644
index 0000000..e806654
--- /dev/null
+++ b/components/online-service/online-service.vue
@@ -0,0 +1,444 @@
+
+
+
+
+
+
+
+
+ {{$t('online-service.online-service.4l6k22')}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/components/panel-content/panel-content.vue b/components/panel-content/panel-content.vue
new file mode 100644
index 0000000..e25c203
--- /dev/null
+++ b/components/panel-content/panel-content.vue
@@ -0,0 +1,173 @@
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+ {{ data[item.field] }}
+
+
+
+
+
+
+
+ {{ $t('common.view_more') }}
+
+
+
+
+
+
+
+
+ {{ propTitle }}
+
+
+
+
+ {{ item.name }}
+
+
+
+
+ {{ data[item.field] }}
+
+
+
+
+
+
+
+ {{ $t('common.view_more') }}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/payment/payment.vue b/components/payment/payment.vue
new file mode 100644
index 0000000..0e29fbd
--- /dev/null
+++ b/components/payment/payment.vue
@@ -0,0 +1,922 @@
+
+
+
+
+
+
+ {{$t('payment.payment.973g2e')}}
+
+
+ {{ popup_view_pay_data.name }}
+
+ {{ popup_view_pay_data.msg }}
+
+
+ {{$t('payment.payment.z3y296')}}
+
+
+
+
+
+
+
+ {{$t('payment.payment.iu792d')}}
+
+
+ {{ propCurrencySymbol }}
+ {{ propPayPrice }}
+
+
+
+
+
+
+
+ {{ item.name }}
+ ({{ item.tips }})
+
+
+
+
+
+
+
+
+
+
+
+ {{$t('payment.payment.058a46')}}
+
+
+
+
+
+
+
+
+
+
+ {{$t('common.payment_in_text')}}
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/components/popup/popup.vue b/components/popup/popup.vue
new file mode 100644
index 0000000..d8e591d
--- /dev/null
+++ b/components/popup/popup.vue
@@ -0,0 +1,214 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/popupscreen/popupscreen.vue b/components/popupscreen/popupscreen.vue
new file mode 100644
index 0000000..a73d391
--- /dev/null
+++ b/components/popupscreen/popupscreen.vue
@@ -0,0 +1,131 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/components/quick-nav/quick-nav.vue b/components/quick-nav/quick-nav.vue
new file mode 100644
index 0000000..b096886
--- /dev/null
+++ b/components/quick-nav/quick-nav.vue
@@ -0,0 +1,265 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/realstore-cart/realstore-cart.vue b/components/realstore-cart/realstore-cart.vue
new file mode 100644
index 0000000..da99bff
--- /dev/null
+++ b/components/realstore-cart/realstore-cart.vue
@@ -0,0 +1,1117 @@
+
+
+
+
+
+
+
+
+
+
+
+ {{$t('goods-category.goods-category.ico62g')}}
+
+ {{$t('realstore-cart.realstore-cart.v437n6')}}
+
+ {{$t('realstore-cart.realstore-cart.6bmc34')}}({{info.buy_use_type_list[buy_use_type_active_index]['name']}})
+
+
+
+
+
+
+
+
+
+ {{$t('common.clear')}}
+
+
+
+
+
+
+
+
+
+ {{ goods.title }}
+
+
+ ;
+ {{ sv.value }}
+
+
+
+
+ {{ propCurrencySymbol }}{{ goods.price }}
+
+
+
+
+ {{ goods.stock }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{$t('realstore-cart.realstore-cart.v437n6')}}
+
+ {{$t('realstore-cart.realstore-cart.6bmc34')}}{{info.buy_use_type_list[buy_use_type_active_index]['name']}})
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ propCurrencySymbol }}
+ {{ (cart || null) == null ? '0.00' : (cart.total_price || '0.00') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{$t('realstore-cart.realstore-cart.d1kk7x')}}
+
+
+
+
+
+
+
+
+ {{item.name}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/components/realstore-list/realstore-list.vue b/components/realstore-list/realstore-list.vue
new file mode 100644
index 0000000..6c7a1c4
--- /dev/null
+++ b/components/realstore-list/realstore-list.vue
@@ -0,0 +1,233 @@
+
+
+
+
+
+
+
+
+
+
+ {{ item.alias }}
+ {{ item.name }}
+
+
+
+
+
+ {{ item.status_info.msg }}
+
+ {{ item.status_info.time }}
+
+
+
+
+
+
+
+
+
+
+ {{ item.province_name }}{{ item.city_name }}{{ item.county_name }}{{ item.address }}
+
+ {{$t('extraction-address.extraction-address.42v8tv')}}{{ item.distance }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/region-picker/region-picker.vue b/components/region-picker/region-picker.vue
new file mode 100644
index 0000000..9859378
--- /dev/null
+++ b/components/region-picker/region-picker.vue
@@ -0,0 +1,234 @@
+
+
+
+
+ {{$t('common.cancel')}}
+ {{$t('common.confirm')}}
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
diff --git a/components/search/search.vue b/components/search/search.vue
new file mode 100644
index 0000000..3558b61
--- /dev/null
+++ b/components/search/search.vue
@@ -0,0 +1,262 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/share-popup/share-popup.vue b/components/share-popup/share-popup.vue
new file mode 100644
index 0000000..ef416ab
--- /dev/null
+++ b/components/share-popup/share-popup.vue
@@ -0,0 +1,299 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/shop-list/shop-list.vue b/components/shop-list/shop-list.vue
new file mode 100644
index 0000000..efb8622
--- /dev/null
+++ b/components/shop-list/shop-list.vue
@@ -0,0 +1,94 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.name}}
+
+ {{item.describe}}
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/components/slider/slider.vue b/components/slider/slider.vue
new file mode 100644
index 0000000..5299288
--- /dev/null
+++ b/components/slider/slider.vue
@@ -0,0 +1,158 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/status-bar-height/status-bar-height.vue b/components/status-bar-height/status-bar-height.vue
new file mode 100644
index 0000000..4037368
--- /dev/null
+++ b/components/status-bar-height/status-bar-height.vue
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/components/switch/switch.vue b/components/switch/switch.vue
new file mode 100644
index 0000000..45a40ac
--- /dev/null
+++ b/components/switch/switch.vue
@@ -0,0 +1,186 @@
+
+
+
+
+ {{ propSwitchList[0] || this.$t('switch.switch.924s7v') }}
+
+
+ {{ propSwitchList[1] || this.$t('switch.switch.g142o6') }}
+
+
+
+
+
+
+
+
diff --git a/components/time-select/time-select.vue b/components/time-select/time-select.vue
new file mode 100644
index 0000000..66d5269
--- /dev/null
+++ b/components/time-select/time-select.vue
@@ -0,0 +1,554 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/title/title.vue b/components/title/title.vue
new file mode 100644
index 0000000..bd3479a
--- /dev/null
+++ b/components/title/title.vue
@@ -0,0 +1,62 @@
+
+
+
+
+ {{propTitle}}
+ {{propViceTitle}}
+
+ {{propMore || this.$t('common.more')}}
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/components/trn-nav/trn-nav.vue b/components/trn-nav/trn-nav.vue
new file mode 100644
index 0000000..6a83036
--- /dev/null
+++ b/components/trn-nav/trn-nav.vue
@@ -0,0 +1,90 @@
+
+
+
+ {{propTitle}}
+
+
+
+
+
+
diff --git a/components/upload/upload.vue b/components/upload/upload.vue
new file mode 100644
index 0000000..f096d55
--- /dev/null
+++ b/components/upload/upload.vue
@@ -0,0 +1,157 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{$t('upload.upload.b33f08')}}
+
+
+
+
+
+
diff --git a/components/user-base/user-base.vue b/components/user-base/user-base.vue
new file mode 100644
index 0000000..929a830
--- /dev/null
+++ b/components/user-base/user-base.vue
@@ -0,0 +1,485 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/wholesale-rules/wholesale-rules.vue b/components/wholesale-rules/wholesale-rules.vue
new file mode 100644
index 0000000..42256f3
--- /dev/null
+++ b/components/wholesale-rules/wholesale-rules.vue
@@ -0,0 +1,169 @@
+
+
+
+
+
+
+
+
+ {{propCurrencySymbol}}
+ {{item.range_val}}
+ {{item.arr.unit}}
+
+ {{item.range_msg}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.range_msg }}
+ {{propCurrencySymbol}}
+ {{ item.range_val }}
+ {{ item.arr.unit }}
+
+
+
+
+
+
+ {{$t('goods-detail.goods-detail.m3op38')}}
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/i18n_tools.config.js b/i18n_tools.config.js
new file mode 100644
index 0000000..d8fbdb9
--- /dev/null
+++ b/i18n_tools.config.js
@@ -0,0 +1,12 @@
+
+module.exports = {
+ entry: [''], // 提取、还原、遗漏扫描入口文件夹,可以配置多个,默认是 src
+ outDir: 'lang', // i18n 输出文件夹 默认是 src/locales
+ outShow: 2, //输出文件展示结构 1 扁平化结构 2树级结构 默认扁平化
+ exclude: ['lang'], // 不提取的文件夹, 默认是 ['src/locales']
+ extensions: ['.vue', '.js', '.ts'], // 提取的文件后缀名,默认是 ['.js', '.vue', '.ts']
+ filename: 'zh', // 输出的文件名,默认为 zh_cn
+ extname: 'json', // 输出的文件后缀名默认为 js ,支持json和js(js格式为 module.exports = {} 或 export default {}),
+ // langList: ['en', 'spa', 'cht'] // 翻译目标语言列表,默认是 ['en'] 具体语种请自行查看。注意:使用不同的翻译接口,需要更换对应的语言编码,腾讯翻译、火山翻译、谷歌翻译语言编码大致相同,百度要特别注意,与上述3种翻译有不同的语言编码
+ langList: ['en'] // 翻译目标语言列表,默认是 ['en'] 具体语种请自行查看。注意:使用不同的翻译接口,需要更换对应的语言编码,腾讯翻译、火山翻译、谷歌翻译语言编码大致相同,百度要特别注意,与上述3种翻译有不同的语言编码
+}
\ No newline at end of file
diff --git a/locale/en.json b/locale/en.json
new file mode 100644
index 0000000..d846222
--- /dev/null
+++ b/locale/en.json
@@ -0,0 +1,1935 @@
+{
+ "language": {
+ "zh": "Simplified Chinese",
+ "en": "English"
+ },
+ "common": {
+ "home": "Home",
+ "category": "Category",
+ "cart": "Cart",
+ "my": "My",
+ "confirm": "Confirm",
+ "cancel": "Cancel",
+ "not_yet": "Not yet",
+ "save": "Preserve",
+ "add": "Add",
+ "copy": "Copy",
+ "del": "Delete",
+ "del_record": "Delete record",
+ "del_success": "Delete successful",
+ "del_fail": "Delete failed",
+ "edit": "Edit",
+ "link": "Link",
+ "gift": "Gift",
+ "image": "Image",
+ "video": "Video",
+ "file": "File",
+ "more": "More",
+ "more_null": "",
+ "view_more": "View more",
+ "search": "Search",
+ "num": "quantity",
+ "order": "order form",
+ "service": "service",
+ "please_input": "Please enter",
+ "settlement": "balance",
+ "confirm_sub": "Confirm submission",
+ "submit_payment": "Submit payment",
+ "my_want_receive": "I want to claim it",
+ "clear": "empty",
+ "all": "All",
+ "share": "Share",
+ "return": "Return",
+ "view_text": "Check",
+ "detail_text": "Detail",
+ "refresh_text": "Refresh",
+ "yes_text": "Yes",
+ "no_text": "NO",
+ "place_order_text": "Place Order",
+ "processing_in_text": "Processing",
+ "loading_in_text": "Loading",
+ "upload_in_text": "Uploading",
+ "auth_in_text": "Authorizing",
+ "warm_tips": "Kind reminder",
+ "no_relevant_data_tips": "No relevant data available",
+ "internet_error_tips": "The internet has wandered off~",
+ "sub_error_retry_tips": "Submission failed, please try again!",
+ "not_more_list_data_tips": "No more list data available",
+ "login_in_text": "Logging in",
+ "sending_in_text": "Sending",
+ "payment_in_text": "Payment in progress",
+ "sending": "Sending",
+ "scan_name": "Scan it",
+ "not_have_name": "not have",
+ "note": "Remarks",
+ "recommend_code_name": "Recommend code",
+ "now_update_text": "Update Now",
+ "already_latest_text": "It is already the latest",
+ "to_update_text": "Go update",
+ "to_star_text": "To star",
+ "use_time": "Usage time",
+ "add_time": "Add time",
+ "upd_time": "Update time",
+ "receive_time": "Receiving time",
+ "service_time": "service time ",
+ "apply_time": "Application time",
+ "verification_text": "Verification code",
+ "verification_message": "Please enter the verification code",
+ "verification_mobile_message": "Please enter the verification code or mobile number",
+ "unique_message": "The unique identifier is empty",
+ "not_supported_scan_tips": "H5 webpage does not support scanning codes",
+ "copy_link": "Copy link"
+ },
+ "client": {
+ "weixin": "WeChat",
+ "alipay": "Alipay",
+ "baidu": "Baidu",
+ "qq": "QQ",
+ "toutiao": "Headlines/Tiktok",
+ "kuaishou": "Kwai"
+ },
+ "pages": {
+ "goods-category": "Product classification",
+ "cart": "shopping cart",
+ "user": "User Center",
+ "cart-page": "shopping cart",
+ "buy": "acknowledgement of order",
+ "web-view": "",
+ "login": "Login",
+ "paytips": "Secure payment",
+ "goods-search": "Product search",
+ "goods-search-start": "Product search",
+ "goods-detail": "Product details",
+ "goods-comment": "Product evaluation",
+ "user-address": "My address",
+ "user-address-save": "Address editing",
+ "user-order": "My order",
+ "user-order-detail": "Order details",
+ "user-order-comments": "Order evaluation",
+ "user-favor": "Product Collection",
+ "user-goods-comments": "Product reviews",
+ "user-goods-comments-form": "Product Editing",
+ "message": "news",
+ "user-integral": "Points details",
+ "user-goods-browse": "My Tracks",
+ "user-orderaftersale": "Refund/After sales",
+ "user-orderaftersale-detail": "After sales of orders",
+ "extraction-address": "Self pickup address",
+ "customview-customview": "Custom Page",
+ "design": "",
+ "diy": "",
+ "error": "Kind reminder",
+ "article-category": "All articles",
+ "article-detail": "Article details",
+ "setup": "set up",
+ "password": "password modify",
+ "personal": "personal data",
+ "logout": "Account cancellation",
+ "about": "About Us",
+ "plugins-seckill-index": "Limited time flash sale",
+ "plugins-coupon-index": "Coupon Collection Center",
+ "plugins-coupon-detail": "Coupon",
+ "plugins-coupon-shop": "Shop Coupon Collection Center",
+ "plugins-coupon-user": "My coupons",
+ "plugins-membershiplevelvip-index": "Member VIP",
+ "plugins-membershiplevelvip-buy": "Activate membership",
+ "plugins-membershiplevelvip-user": "My Members",
+ "plugins-membershiplevelvip-order": "Open an order",
+ "plugins-membershiplevelvip-order-detail": "Order details",
+ "plugins-membershiplevelvip-profit": "Revenue details",
+ "plugins-membershiplevelvip-profit-detail": "Revenue details",
+ "plugins-membershiplevelvip-poster": "Promotion rewards",
+ "plugins-membershiplevelvip-team": "My team",
+ "plugins-membershiplevelvip-member-code": "Membership code",
+ "plugins-distribution-user": "My Distribution",
+ "plugins-distribution-order": "Distribution orders",
+ "plugins-distribution-order-detail": "Order details",
+ "plugins-distribution-profit": "Revenue details",
+ "plugins-distribution-profit-detail": "Revenue details",
+ "plugins-distribution-team": "My team",
+ "plugins-distribution-map": "Customer distribution",
+ "plugins-distribution-recommend-list": "My Recommended Treasure",
+ "plugins-distribution-recommend-detail": "Recommended Treasure Details",
+ "plugins-distribution-recommend-form": "Recommended Treasure Add/Edit",
+ "plugins-distribution-poster": "Promotion rewards",
+ "plugins-distribution-extraction": "Pickup point",
+ "plugins-distribution-extraction-apply": "Pickup point info",
+ "plugins-distribution-extraction-order": "Pickup order",
+ "plugins-distribution-extraction-switch": "Pickup point switching",
+ "plugins-distribution-introduce": "Level Introduction",
+ "plugins-distribution-promotion-user": "Promote users",
+ "plugins-distribution-promotion-order": "Promote orders",
+ "plugins-distribution-visit-list": "Customer visits",
+ "plugins-distribution-visit-form": "Customer visit addition/editing",
+ "plugins-wallet-user": "My wallet",
+ "plugins-wallet-recharge": "Recharge",
+ "plugins-wallet-cash-auth": "Withdrawal of balance",
+ "plugins-wallet-cash-create": "Withdrawal of balance",
+ "plugins-wallet-wallet-log-detail": "Details",
+ "plugins-wallet-user-recharge-detail": "Recharge details",
+ "plugins-wallet-user-cash-detail": "Withdrawal details",
+ "plugins-wallet-user-transfer-detail": "Transfer details",
+ "plugins-wallet-payment-code": "Wallet payment code",
+ "plugins-wallet-transfer": "Transfer",
+ "plugins-excellentbuyreturntocash-profit": "Details of Yougou cashback",
+ "plugins-excellentbuyreturntocash-profit-detail": "Details of Yougou cashback",
+ "plugins-weixinliveplayer-index": "direct seeding",
+ "plugins-weixinliveplayer-search": "Live streaming list",
+ "plugins-weixinliveplayer-detail": "Live streaming details",
+ "plugins-exchangerate-currency": "Currency switching",
+ "plugins-invoice-invoice": "Invoice List",
+ "plugins-invoice-invoice-detail": "Invoice details",
+ "plugins-invoice-invoice-saveinfo": "Invoice editing",
+ "plugins-invoice-order": "Order invoicing",
+ "plugins-invoice-recharge": "Recharge invoice",
+ "plugins-signin-user": "Sign in",
+ "plugins-signin-detail": "Sign in",
+ "plugins-signin-user-qrcode-detail": "Sign in code details",
+ "plugins-signin-user-qrcode-saveinfo": "Sign in code editing",
+ "plugins-signin-user-coming-list": "User check-in",
+ "plugins-points-index": "Points Mall",
+ "plugins-points-scan": "Scan the QR code to claim points",
+ "plugins-brand-index": "brand",
+ "plugins-shop-index": "All stores",
+ "plugins-shop-detail": "Store homepage",
+ "plugins-shop-search": "Store Product Search",
+ "plugins-shop-favor": "Store favorites",
+ "plugins-shop-license": "Business qualifications",
+ "plugins-shop-check": "Order verification",
+ "plugins-activity-index": "All activities",
+ "plugins-activity-detail": "Event details",
+ "plugins-label-detail": "Label details",
+ "plugins-blog-index": "Blog",
+ "plugins-blog-search": "Blog search",
+ "plugins-blog-detail": "Blog details",
+ "plugins-blog-comments": "Comment List",
+ "plugins-blog-user-list": "My post",
+ "plugins-blog-form": "Posting a blog post",
+ "plugins-express-detail": "Logistics details",
+ "plugins-realstore-index": "store",
+ "plugins-realstore-search": "Store Search",
+ "plugins-realstore-detail": "Store details",
+ "plugins-realstore-favor": "Store Collection",
+ "plugins-realstore-orderallot-list": "Store orders",
+ "plugins-realstore-orderallot-detail": "Store Order Details",
+ "plugins-realstore-batchorder-list": "Batch orders",
+ "plugins-realstore-frequencycard-list": "Secondary card",
+ "plugins-realstore-frequencycard-used": "Secondary Card Usage Record",
+ "plugins-realstore-check": "Order verification",
+ "plugins-binding-index": "Combination and matching",
+ "plugins-binding-detail": "Combination and matching details",
+ "plugins-delivery-order": "Delivery order",
+ "plugins-delivery-order-detail": "Order details",
+ "plugins-delivery-logistics": "Logistics info",
+ "plugins-ask-index": "Q&A",
+ "plugins-ask-detail": "Q&A details",
+ "plugins-ask-form": "I need to ask a question",
+ "plugins-ask-user-detail": "Question details",
+ "plugins-ask-user-list": "My question",
+ "plugins-ask-goods-list": "Q&A section",
+ "plugins-ask-comments": "All Q&A",
+ "plugins-intellectstools-goods-comments": "Product evaluation",
+ "plugins-scanpay-index": "Scan code payment",
+ "plugins-scanpay-tips": "Payment results",
+ "plugins-thirdpartylogin-index": "Authorized login",
+ "plugins-magic-detail": "details",
+ "plugins-ordergoodsform-order": "Product Form",
+ "plugins-coin-user": "Virtual currency",
+ "plugins-coin-recharge": "Recharge",
+ "plugins-coin-convert": "conversion",
+ "plugins-coin-cash": "Withdrawal",
+ "plugins-coin-detail": "detail",
+ "plugins-coin-transfer-accounts-detail": "Transfer details",
+ "plugins-coin-transaction-detail": "Transaction details",
+ "plugins-coin-cash-detail": "Withdrawal details",
+ "plugins-coin-convert-detail": "Conversion details",
+ "plugins-coin-collection": "Collection",
+ "plugins-coin-recharge-pay": "Recharge payment",
+ "plugins-coin-recharge-detail": "Recharge details",
+ "plugins-coin-transfer": "Transfer",
+ "plugins-coin-transfer-list": "Transfer details",
+ "plugins-coin-transaction-list": "Transaction details",
+ "plugins-coin-cash-list": "Withdrawal details",
+ "plugins-coin-convert-list": "Conversion details",
+ "plugins-coin-recharge-list": "Recharge details",
+ "plugins-antifakecode-index": "Authentic inquiry",
+ "plugins-giftcard-index": "My gift card",
+ "plugins-giftcard-form": "Gift card redemption",
+ "plugins-givegift-goods": "Buying Gifts",
+ "plugins-givegift-receive": "Gift collection",
+ "plugins-givegift-gift": "My gift",
+ "plugins-givegift-code": "Gift Link",
+ "plugins-orderresources-orderannex": "Order Resources",
+ "plugins-hospital-patient": "Add/Edit Patient",
+ "plugins-hospital-patient-list": "Patient List",
+ "plugins-hospital-prescription": "Consultation and prescription"
+ },
+ "login": {
+ "login": {
+ "725312": "Account password login",
+ "tfl656": "Confirm Binding",
+ "483nho": "Return to previous page",
+ "31r6p2": "Mobile verification code",
+ "8fghjs": "Get your phone number",
+ "p3kxy2": "Get your phone number and log in with one click",
+ "54l805": "Bind existing account",
+ "q11t73": "Register an account and bind it",
+ "s51ed9": "Successfully logged in, please click to return to the previous page",
+ "e77788": "Login account will be automatically bound",
+ "1i4o86": "user",
+ "su75o5": "cancel",
+ "n2pv70": "Account",
+ "1p7843": "phone",
+ "p54kf1": "mailbox",
+ "3i05ly": "Temporarily closed login",
+ "nddg2x": "Read and agree",
+ "2v11we": "《Service Agreement》",
+ "l3r4vr": "And",
+ "myno2x": "《Privacy Policy》",
+ "i1deai": "Confirm login",
+ "t75ee8": "New User Registration",
+ "9d8gqi": "Retrieve password",
+ "tvl242": "Authorization to automatically log in",
+ "9q27d8": "Other login methods",
+ "t59dho": "Temporarily closed registration",
+ "hvunf8": "Confirm Registration",
+ "zy8tc4": "Log in now",
+ "7z29x2": "Confirm submission",
+ "b347k4": "Register Now",
+ "836o8e": "Confirm login authorization to provide you with better service",
+ "pgyv78": "There is an error in the basic data. If it is not automatically loaded, please manually click to load!",
+ "6fe6ra": "Load basic data",
+ "28k91h": "Mobile phone number",
+ "t3951j": "Verification code",
+ "qe8a37": "User name/phone/email",
+ "08fchn": "Login password",
+ "db1rf4": "E-mail",
+ "6yfr9g": "login/register",
+ "d178m0": "Mobile/email",
+ "9wx3ch": "Set login password",
+ "s665h5": "Obtain verification code",
+ "jw378f": "Authorized User Information",
+ "np9177": "Bind phone",
+ "tgsa4d": "Bind email",
+ "876tdf": "Bind account",
+ "87yui2": "Bind successful",
+ "158yg2": "Login with mobile verification code",
+ "r329eu": "Email verification code login",
+ "39hn6v": "Account password registration",
+ "z13km0": "Mobile verification code registration",
+ "jc0w0o": "Email verification code registration",
+ "8tmyuc": "Password retrieval",
+ "5p23c6": "Login successful",
+ "btu2c1": "Please agree to the agreement first",
+ "no8ts6": "Used to improve member info",
+ "3nmrg2": "privilege grant failed",
+ "tghjer": "Please obtain a mobile phone number",
+ "4c5n8o": "Please fill in your phone number",
+ "xak8g1": "Please fill in the email address",
+ "ku05ty": "Please fill in your phone or email address",
+ "7r5h37": "Please enter a valid verification code",
+ "24mvbh": "Please fill in the account number",
+ "s36mk5": "Sending",
+ "6881q7": "Sending",
+ "n24i5u": "surplus",
+ "4306xr": "second",
+ "6gojnd": "The internet has wandered off~",
+ "01xmab": "Please fill in the verification code",
+ "prqvf1": "Authorization ID cannot be empty",
+ "4ci850": "Processing",
+ "yvj88j": "Please enter your phone number",
+ "yo6x3p": "Please enter an email address",
+ "n7vh75": "Please enter an account",
+ "277w03": "Please enter the password",
+ "cesl5d": "Please enter the verification code",
+ "c5wa4u": "Logging in",
+ "g30ew7": "Registering",
+ "h0515x": "Please enter your phone or email address",
+ "wysg7k": "Please set password",
+ "4wc3hr": "Incorrect protocol type",
+ "x0nxxf": "Protocol URL address is incorrect",
+ "05h35f": "Loading",
+ "d76tgh": "If it is not automatically loaded, please manually click load!",
+ "li9573": "Login method not processed"
+ }
+ },
+ "user-order-detail": {
+ "user-order-detail": {
+ "346376": "Shipping Services",
+ "7lp6gw": "View Location",
+ "7f8p26": "Product Information",
+ "423rmr": "common",
+ "41ty94": "Total pieces",
+ "xcj552": "element",
+ "7xtnjt": "Unconfigured data",
+ "7dikfm": "Pickup info",
+ "0876xf": "Express delivery info",
+ "o38952": "Pickup code:",
+ "0f26j2": "Order Information",
+ "ct34n5": "Extended Data",
+ "y9woor": "Key Information",
+ "hpq62x": "The pickup code does not exist. Please contact the administrator",
+ "io6p5k": "Order Mode",
+ "n18sd2": "Order number",
+ "yghjkf": "Order Goods",
+ "yxwu8n": "Order Status",
+ "23qj7m": "Payment status",
+ "vg4jb1": "Order unit price",
+ "2y7l13": "Total order price",
+ "6ub2j0": "Discount amount",
+ "8b18q8": "Increase amount",
+ "516tlr": "Payment amount",
+ "0e1sfs": "Payment method",
+ "12d445": "Express delivery company",
+ "2byl8l": "Express tracking number",
+ "2b5fc8": "guest book ",
+ "h2c78h": "Creation time",
+ "9vivhl": "Confirmation time",
+ "wn83rn": "Payment time",
+ "1674dc": "Delivery time",
+ "0i938r": "Receiving time",
+ "1jpv4n": "Cancel time",
+ "8o2of3": "Closing time",
+ "5k6k56": "Parameter error",
+ "i876o3": "Incorrect address",
+ "567ygf": "service information",
+ "67ujfr": "Service duration",
+ "gsfw4d": "Service Name",
+ "6ygfew": "Service Mobile"
+ }
+ },
+ "setup": {
+ "setup": {
+ "x81v6d": "Replace phone",
+ "j6skqh": "Click to replace",
+ "dfg4wf": "Click to bind",
+ "r7jz13": "update language",
+ "42mba7": "Address",
+ "5eltza": "Click to manage",
+ "t60222": "Invoices",
+ "izg78g": "Click to go",
+ "377uwg": "Permission settings",
+ "5493ui": "Clear cache",
+ "f53166": "Click to clear",
+ "656fv1": "Service phone",
+ "f25wcx": "Click to call",
+ "11k15d": "Account cancel",
+ "48r261": "Logout and can't recover.",
+ "tghrf2": "About Us",
+ "07o10b": "Please bind your phone first",
+ "nwt4o1": "Please log in first",
+ "utnr7g": "Service phone",
+ "87ytgh": "Unbind",
+ "5u59b1": "Change email",
+ "v8438r": "Change password"
+ }
+ },
+ "article-category": {
+ "article-category": {
+ "gxra15": "View volume"
+ }
+ },
+ "article-detail": {
+ "article-detail": {
+ "728374": "Time:",
+ "j92ru0": "Browsing:",
+ "281s4a": "Previous article:",
+ "uq5814": "Next article:"
+ }
+ },
+ "buy": {
+ "buy": {
+ "70u2vy": "to",
+ "o7722q": "consult a map",
+ "876tgh": "shipping method",
+ "45ovhs": "Coupons",
+ "58rs1a": "Store Secondary Card",
+ "33fugm": "apply",
+ "4di4i2": "Points",
+ "q7jq76": "Quick input",
+ "wx78ju": "Total:",
+ "4884hk": "place order",
+ "2c3i88": "Do not use coupons",
+ "8vqfp3": "Do not use secondary cards",
+ "0pgsrm": "second",
+ "g2vt78": "Selected",
+ "inyxpx": "choice",
+ "l1c8q6": "Display type does not allow submission of orders",
+ "6rk813": "Please select a shipping address",
+ "wq7gnb": "Please select a pickup address",
+ "553mxo": "Please select a coupon",
+ "80y7sv": "Deduction",
+ "2rhko1": "Leave a message",
+ "718tux": "Enter my order",
+ "p7e91u": "Incorrect product info",
+ "4is2ak": "Enter store order",
+ "s7rr5s": "time",
+ "1fi842": "Select time",
+ "q8u066": "Please select a time",
+ "df3raf": "My Name",
+ "hjwerf": "My Phone",
+ "8fghje": "Please fill in your name and phone number",
+ "hw4l5m": "Optional coupons",
+ "5iuqow": "",
+ "4rb08b": "There are currently no available coupons available",
+ "3740ur": "Please select an address",
+ "71kidy": "Please select payment method",
+ "r79t77": "Submitting",
+ "31616e": "The current mode does not allow the use of addresses",
+ "g7dk3f": "Card type selection",
+ "0s1k23": "Active",
+ "ntm2z5": "All orders",
+ "b3dyo7": "lifelong",
+ "5lr84j": "Purchase duration not configured",
+ "5x86n3": "Member level not configured",
+ "bmueac": "Please select the duration of activation",
+ "64ml60": "Incorrect activation duration"
+ }
+ },
+ "agreement": {
+ "agreement": {
+ "w38e3v": "Dear user, in order to provide you with better service, we would like to offer you",
+ "hjn568": "Before using the mini program, you need to click on [Agree] and read the following agreement content to indicate that you fully understand, agree to, and understand the rules of the relevant agreement in this warm reminder. This includes providing a page display, product or service that better suits your needs in the location info you open, such as recommending products or related store and ranking info to you on the homepage.",
+ "iy7863": "Service User Agreement",
+ "jwi8n1": "Privacy Policy",
+ "062co8": "Disagree",
+ "60t34e": "agree"
+ }
+ },
+ "open-setting-location": {
+ "open-setting-location": {
+ "407106": "]Permissions",
+ "61wezw": "Enable corresponding permission services",
+ "6vev38": "Get[",
+ "lult41": "position info",
+ "65q4b3": "Open the settings page",
+ "hwn386": "Location selection failed"
+ }
+ },
+ "customview": {
+ "customview": {
+ "726k7y": "Enter product name to search for"
+ }
+ },
+ "error": {
+ "error": {
+ "u697ih": "Abnormal error"
+ }
+ },
+ "extraction-address": {
+ "extraction-address": {
+ "42v8tv": "Distance from you"
+ }
+ },
+ "goods-category": {
+ "goods-category": {
+ "ico62g": "Selected product",
+ "44f1ww": "Go settle",
+ "7e4m68": "No subcategory data",
+ "5pj8ip": "Please select the product first",
+ "x69aow": "All",
+ "at5p35": "sales volume",
+ "283ot0": "heat",
+ "g2u3lf": "price",
+ "5p4ksj": "new",
+ "gy7y0w": "Products of different specifications need to be reduced in the shopping cart",
+ "x46kbv": "The cart ID is incorrect",
+ "z1eh3v": "Restricted purchase",
+ "1ox23z": "Quantity unchanged",
+ "o6i1w2": "After picking for so long, do you really want to clear it?"
+ }
+ },
+ "goods-comment": {
+ "goods-comment": {
+ "dfmjxd": "Rate",
+ "1qh8s8": "There is currently no rating available"
+ }
+ },
+ "goods-detail": {
+ "goods-detail": {
+ "1s79t4": "inventory",
+ "w3jma9": "coupon",
+ "u401fi": "specifications",
+ "317jp2": "Related stores",
+ "dfge45": "Store Introduction",
+ "567uhg": "Store products",
+ "znz76d": "Evaluation",
+ "1rqkjt": "Positive review rate",
+ "6k7808": "I want to evaluate",
+ "k5u755": "Q&A",
+ "q8e577": "View all answers",
+ "7ulh8b": "Ask question",
+ "l7dzv2": "Product parameters",
+ "2j44o2": "Product details",
+ "27wudx": "No detailed data available at the moment",
+ "v2974w": "Guess you like it",
+ "0gx41x": "No parameter data",
+ "m3op38": "No wholesale info",
+ "96y691": "No coupon info available",
+ "gwwf19": "No relevant store info available",
+ "8ej346": "No relevant service info available",
+ "775ppk": "Limited time flash sale",
+ "35f378": "Suspend sales",
+ "6brk57": "Please select a specification",
+ "dco1sc": "Favor",
+ "bogx42": "price",
+ "3kdgjl": "Sales price",
+ "by7052": "Already ",
+ "tq1976": "The URL value is empty",
+ "uyghj2": "Copy value is empty",
+ "98v424": "Store data is incorrect",
+ "721e2h": "Event not processed("
+ }
+ },
+ "goods-search": {
+ "goods-search": {
+ "j8o278": "Filter out",
+ "t9nikq": "Piece of data",
+ "pxk051": "clear",
+ "4eerty": "origin",
+ "6n8316": "brand",
+ "v6e5b7": "attribute"
+ }
+ },
+ "index": {
+ "index": {
+ "443683": "Ended",
+ "516559": "Activity rules",
+ "t8bll8": "",
+ "t8bll9": "News",
+ "s5r784": "Latest purchase",
+ "1c17n3": "Returned",
+ "75l3l2": "Unreturned",
+ "17vy72": "Missing tab data!",
+ "i78v36": "Returning to the store",
+ "lkld04": "Comment:",
+ "r6vv25": "Like:",
+ "6rsqp1": "All",
+ "pot64x": "Popular",
+ "8t4j95": "Recommended products",
+ "lk0i6c": "My coupon",
+ "p4872s": "Coupon Collection Center",
+ "tbo22p": "Join",
+ "z88r5s": "Get details of member points",
+ "b46kge": "Currently available",
+ "t26j9z": "integral",
+ "srd2ch": "original",
+ "u5642g": "Integral rule",
+ "qbi72m": "Got it",
+ "i73nwk": "Points details",
+ "f3l1xt": "Product exchange",
+ "4v5nq5": "exchange",
+ "t3d917": "Select location",
+ "c5273j": "Enter store name",
+ "1vf378": "Latest stores",
+ "1e582h": "Add notes",
+ "7w75zb": "confirm",
+ "6941e7": "Collection",
+ "t1o84g": "Please enter the consumption amount",
+ "872w3v": "We are about to start a robbery",
+ "399f6c": "Second price reduction",
+ "f69r4i": "The internet has deviated a bit~00home",
+ "slf50q": "Authorized login",
+ "rmv185": "If it is not my own operation, please ignore the application",
+ "n0vnl6": "Successfully logged in",
+ "63g4m1": "New Live"
+ }
+ },
+ "logout": {
+ "logout": {
+ "u10002": "Confirm cancellation",
+ "9vfzz4": "After account cancellation, it cannot be restored. Are you sure to continue?"
+ }
+ },
+ "paytips": {
+ "paytips": {
+ "679rxu": "Payment successful",
+ "jifuu8": "Go back to the homepage",
+ "d8m853": "Processing",
+ "6y488i": "Payment failed",
+ "e732we": "Payment canceled",
+ "13v11t": "Network connection error",
+ "u1153p": "Payment result unknown",
+ "6mpsl7": "User cancels payment",
+ "59u769": "Other abnormal errors"
+ }
+ },
+ "personal": {
+ "personal": {
+ "cw1d8p": "Avatar",
+ "gw8br3": "nickname",
+ "jibx42": "birthday",
+ "6m33c4": "Detailed address",
+ "x2fofv": "Gender",
+ "44112i": "Nickname of 1-16",
+ "85404s": "Please select your birthday",
+ "re674n": "Address can be up to 30 long"
+ }
+ },
+ "detail": {
+ "detail": {
+ "324777": "To",
+ "455787": "recommendation",
+ "b4f3nw": "Activity products",
+ "ans2p4": "More activities",
+ "5knxg6": "No related products available",
+ "kt41ki": "Message time:",
+ "e6ga1y": "browse",
+ "ng628i": "Administrator's reply",
+ "7rg4bb": "Reply time:",
+ "p7o522": "My question",
+ "6026t4": "save",
+ "32171c": "Invalid",
+ "27pmj3": "Buy Now",
+ "9624hp": "Select specifications",
+ "8618mj": "Please select the number",
+ "09e3bx": "Product specifications",
+ "40298g": "Section",
+ "5kbjoy": "Item unavailable",
+ "jsj3u8": "Please select at least",
+ "jksm81": "Items",
+ "1j6yxy": "Related products",
+ "e439j9": "Bowen",
+ "j5owf1": "There is currently no logistics info available",
+ "025362": "Co owned",
+ "0av5r9": "Related products",
+ "53m44k": "The label data does not exist",
+ "dor2v9": "Business hours:",
+ "688i26": "Map",
+ "r4124d": "Service:",
+ "54k10s": "Long press WeChat for consultation",
+ "vj4nom": "Long press line to consult",
+ "q42ger": "Product search",
+ "8q6345": "Please enter product keywords",
+ "rdxjvh": "Person sign in, total",
+ "15i191": "Integral, total",
+ "8ua11k": "organize a team",
+ "25x8ij": "Signed in",
+ "mvj266": "Sign in immediately",
+ "31lky7": "My check-in",
+ "p07k62": "today",
+ "96bwp0": "today",
+ "we522y": "not",
+ "mqmxbt": "Sign in and obtain",
+ "sx6u43": "Rule Description",
+ "6qk085": "Successful check-in",
+ "ndp2k3": "Congratulations on obtaining",
+ "7itw5w": "Use Now",
+ "6w8t3g": "day",
+ "xtcy73": "one",
+ "w2p2d9": "two",
+ "xt8596": "three",
+ "13s18l": "four",
+ "n5rm3q": "five",
+ "3d23mc": "six",
+ "73rb8q": "year",
+ "zill36": "month",
+ "y2217b": "Sign in",
+ "4u64dg": "Live streaming status",
+ "y2639j": "Start time",
+ "fa8h7j": "poster",
+ "eg25j9": "Enter live",
+ "86g7e1": "No WeChat app installed",
+ "9d3o6w": "Please open it in the WeChat mini program",
+ "6xvl35": "Generating",
+ "fn3w01": "release",
+ "4w20tq": "Operation type:",
+ "s101d1": "Number of operations:",
+ "e30wj1": "Original quantity:",
+ "jdour8": "Latest quantity:",
+ "7fhy2u": "View more details",
+ "yvmu0z": "account details "
+ }
+ },
+ "form": {
+ "form": {
+ "s14osm": "Add image(",
+ "2f52v3": "Anonymous publishing",
+ "4yd066": "Submit",
+ "qt0q5u": "Please provide a detailed description of the problem, and we will answer it as soon as possible!",
+ "bniyyt": "Handling errors",
+ "8l3ul5": "User not logged in",
+ "5v5bjs": "Please fill in the content",
+ "043a10": "Is it enabled",
+ "5hn8k3": "cover photo",
+ "xy87t8": "describe",
+ "kvr2i3": "SEO Title",
+ "l87ju1": "SEO keywords",
+ "5487bt": "SEO Description",
+ "4vku7u": "Post classification",
+ "4cbom4": "Please select",
+ "4h814w": "Pack up more",
+ "lfwj0g": "Expand more",
+ "2e5rv3": "Uploading, please wait a moment",
+ "v19gg8": "Please enter a title",
+ "gu3x97": "Please select a category",
+ "adiq70": "Please enter the content"
+ }
+ },
+ "goods-list": {
+ "goods-list": {
+ "27nkjm": "Questions from",
+ "00n7i3": "ask",
+ "rw12i7": "answer",
+ "278qr1": "View All",
+ "8y3cc7": "Answers",
+ "aem3e6": "Put away the answer",
+ "nr77jf": "There is currently no source of goods available"
+ }
+ },
+ "user-detail": {
+ "user-detail": {
+ "o92ral": "Question details",
+ "k5867n": "contacts",
+ "gfe703": "Contact phone number",
+ "uy6lrz": "title",
+ "7cufw6": "content",
+ "u411r2": "Reply content",
+ "teo6qd": "Reply time"
+ }
+ },
+ "search": {
+ "search": {
+ "723rbx": "Actually, searching is very simple ^ _ ^!",
+ "e415ir": "not begin",
+ "46g3i2": "Living",
+ "v60305": "Paused",
+ "660us5": "Actually, searching is very simple ^ _ ^!",
+ "ic9b89": "Please enter search keywords"
+ }
+ },
+ "user-list": {
+ "user-list": {
+ "yhvl2q": "Are you sure you want to delete this post?"
+ }
+ },
+ "shop": {
+ "shop": {
+ "4q9oe2": "Received"
+ }
+ },
+ "user": {
+ "user": {
+ "981200": "Rebate Overview",
+ "s3y4ji": "not used",
+ "pggs6s": "Used",
+ "528t26": "Expired",
+ "3ks1wi": "You currently do not have any coupons~",
+ "b5cnj1": "Pickup point",
+ "4rj120": "Superior user",
+ "567lwz": "modify",
+ "67y36w": "Basic statistics",
+ "rjye50": "people",
+ "q822fj": "Rebate statistics",
+ "xjxb2v": "Go promote",
+ "25f97u": "query",
+ "iynkpl": "Please enter user info to search first!",
+ "2344s8": "application",
+ "nk3cpq": "Enter user ID/first name/nickname/membership code/mobile phone/email",
+ "dcbt21": "custom",
+ "4141u2": "Searching",
+ "f5rny5": "Please search for users first",
+ "n4orgk": "Activate membership",
+ "k614v7": "Renewal of membership",
+ "65cc6z": "Continuous activation",
+ "76dcx6": "Promote customers",
+ "95s1ez": "Are you sure to continue with the renewal based on the original duration and fees?",
+ "mgx9x4": "freeze",
+ "424v6n": "Gifts",
+ "29f6n5": "Transfer",
+ "8752a4": "Withdrawal",
+ "91h03v": "Payment code",
+ "ki1nor": "Tel Service",
+ "2k0227": "Exit",
+ "3q4p8k": "Collection",
+ "57xw84": "Tracks",
+ "k78280": "Points",
+ "9u8e61": "Pay",
+ "66714e": "Shipping",
+ "aa1ri3": "Sales",
+ "67p34x": "balance"
+ }
+ },
+ "logistics": {
+ "logistics": {
+ "dxu6ql": "Delivery time:",
+ "5542tq": "Delivery has not started yet",
+ "895ug2": "Delivery time:",
+ "76q0ii": "Not yet delivered"
+ }
+ },
+ "order": {
+ "order": {
+ "725882": "Enter order number/recipient/recipient phone number",
+ "865029": "Abnormal cause",
+ "jhgfd1": "Shipping info",
+ "hbvwq4": "Receipt info",
+ "71n22h": "Single ID",
+ "232ygr": "Order number",
+ "7dxbm5": "Phone",
+ "ra8222": "Address",
+ "75ie9c": "details",
+ "021438": "Start delivery",
+ "ip4xo5": "Redelivery",
+ "51q275": "Complete delivery",
+ "fb6dge": "abnormal",
+ "46q2z7": "Upload photos",
+ "o11d44": "Up to upload",
+ "9cvj96": "Submission completed",
+ "eyir7g": "Submit exception",
+ "q4c8j0": "Description can be up to 200 characters long",
+ "g23kyj": "The reason for the anomaly can be up to 200 characters long",
+ "psi67g": "Unable to recover or continue after deletion?",
+ "s5cpq5": "Are you sure to start shipping the order?",
+ "13j20t": "In delivery",
+ "7ltibl": "Please upload photos",
+ "c69064": "Delivered",
+ "hun5n3": "Please fill in the reason",
+ "pjb15r": "Unpay",
+ "s8g966": "Paid",
+ "q820hx": "receive",
+ "15lr5l": "Completed",
+ "330m76": "Source terminal",
+ "p3scy0": "The avatar address is incorrect",
+ "o411h6": "Merge invoicing",
+ "15k32o": "Please select data first",
+ "3fr155": "The element parameter ID is incorrect",
+ "1i873j": "pay",
+ "1k98tk": "Canceled",
+ "6390gk": "Closed",
+ "vvxct1": "Opening order number",
+ "vjfki8": "Opening duration",
+ "pn78ns": "After cancellation, it cannot be restored. Are you sure you want to continue?",
+ "93j3zq": "No form data"
+ }
+ },
+ "order-detail": {
+ "order-detail": {
+ "9er1pc": "Basic info",
+ "36op8f": "Order number",
+ "ygvc34": "Merchant name",
+ "x3ge6c": "Order amount",
+ "v52n5r": "refund amount",
+ "8n1f72": "Product quantity",
+ "2443o1": "Delivery status",
+ "342sfz": "Delivery time",
+ "2dw4gd": "Completion time",
+ "r3bg45": "Complete description",
+ "521pp4": "Complete photos",
+ "u745i8": "Abnormal time",
+ "5fq8pr": "Dispatch time",
+ "21ift9": "Update time",
+ "9153qn": "Order time",
+ "pyw6xg": "User profile picture",
+ "2d766e": "User nickname",
+ "w78rgm": "Order time",
+ "rn4hhi": "type"
+ }
+ },
+ "extraction": {
+ "extraction": {
+ "suna53": "Apply Now",
+ "j0o47u": "The application info is currently under review",
+ "60601g": "Pickup point info",
+ "48rp75": "Edit Information",
+ "641gp7": "Pickup order statistics",
+ "wcv68q": "View pickup orders",
+ "53h4fj": "Pending",
+ "wq25fk": "Processed",
+ "864dtt": "The current status has also been terminated, and the data can be re edited and submitted for review.",
+ "11825x": "Application info review failed",
+ "w6hg74": "Reason:"
+ }
+ },
+ "extraction-apply": {
+ "extraction-apply": {
+ "u439pg": "Logo image",
+ "bflosr": "Suggest 300x300px",
+ "9t81k8": "alias",
+ "cy87k6": "Provinces cities and districts",
+ "liqbru": "Please select a province first",
+ "r4q86m": "Please select a city first",
+ "47v7m0": "geographical position",
+ "8831v6": "Please select a geographical location",
+ "5y2yzu": "Attention: Editing info will be re reviewed before it can take effect",
+ "wt1w0m": "The alias format can be up to 16 characters long",
+ "73efnt": "Contact format between 2-16 characters",
+ "qixk24": "Landline or mobile phone",
+ "gxo73a": "Detailed address format between 1 and 80 characters",
+ "s3h5o3": "Please select a province",
+ "4s4s15": "Please select a city",
+ "fk4gw5": "Please select district/county",
+ "4s229b": "Please bind your phone number first",
+ "m3xdif": "Please authorize user info first",
+ "h8f437": "Data acquisition failed",
+ "fo7y6c": "Province acquisition failed",
+ "b6qg7b": "City acquisition failed",
+ "5s5734": "District/County acquisition failed",
+ "q15b4n": "Please fill in the contact person",
+ "3or25c": "Please fill in the contact phone number",
+ "m99d2g": "Please select a province",
+ "03587o": "Please select a city",
+ "pt8436": "Please select a district or county",
+ "v1g617": "Please provide detailed address",
+ "rm14pu": "The data needs to be re reviewed before it can take effect"
+ }
+ },
+ "extraction-order": {
+ "extraction-order": {
+ "2y7lq1": "Picking up goods",
+ "3m038g": "Pickup code",
+ "xb4044": "search criteria",
+ "suo4oz": "Please enter the pickup code",
+ "kuqvlv": "Order number/pickup code",
+ "znufs8": "Please enter the pickup code",
+ "hbj4y7": "Incorrect operation data"
+ }
+ },
+ "extraction-switch": {
+ "extraction-switch": {
+ "w94x36": "distance",
+ "613b58": "Data error"
+ }
+ },
+ "introduce": {
+ "introduce": {
+ "017d67": "Level certificate",
+ "el4ib2": "Rebate ratio",
+ "syf66q": "First level",
+ "q4t9kl": "second level",
+ "e5os6e": "Level 3",
+ "d7kle4": "Level rules",
+ "5t5vzi": "Unconditional"
+ }
+ },
+ "map": {
+ "map": {
+ "ivy154": "Total number of orders placed",
+ "557z8x": "View orders"
+ }
+ },
+ "poster": {
+ "poster": {
+ "673605": "Click to copy the link address",
+ "rbdj4b": "Poster sharing",
+ "m54q3e": "After saving the poster, send it to WeChat friends/groups, QQ friends/groups, share it on social media, Weibo, etc. for promotion, and easily earn rebates!",
+ "b5i123": "View long press save",
+ "hk8c9p": "Regenerate",
+ "9y4bwq": "QR code sharing",
+ "h212v8": "After saving the QR code, send it to WeChat friends/groups, QQ friends/groups, share it on social media, Weibo, etc. for promotion, and easily earn rebates!",
+ "j3qv45": "View QR code, long press save",
+ "r534xd": "Link sharing",
+ "vn36y7": "Copy the following link, send it to WeChat friends/groups, QQ friends/groups, share it on social media, Weibo, etc. for promotion, and easily earn rebates!",
+ "eu3j21": "The promotional image address is incorrect"
+ }
+ },
+ "profit": {
+ "profit": {
+ "3c7zmg": "To be effective",
+ "67o785": "To be settled",
+ "l5knxu": "Settled",
+ "utg512": "Revenue amount",
+ "6a7t71": "Current level",
+ "19a8l6": "Order details",
+ "4r88cp": "Immediate settlement",
+ "8jqr78": "In effect",
+ "nk58v6": "Effective amount",
+ "vuvz6g": "Refund amount",
+ "5c7sof": "Order ID is incorrect",
+ "7y47sb": "Rebate amount"
+ }
+ },
+ "profit-detail": {
+ "profit-detail": {
+ "kn8yye": "Settlement status",
+ "x28rw5": "Order payment status",
+ "b7v892": "Add time",
+ "jkrvf3": "Settlement time",
+ "3jg81h": "Rebate rules"
+ }
+ },
+ "promotion-order": {
+ "promotion-order": {
+ "6rs63v": "Total GMV of newly added customers",
+ "iwa646": "Orders",
+ "2p5215": "Total GMV of orders"
+ }
+ },
+ "promotion-user": {
+ "promotion-user": {
+ "62c8m1": "mobile",
+ "i2rf31": "User orders",
+ "o6qi74": "Promote users",
+ "kx7595": "Consumed users",
+ "2ey5t1": "Unconsumed users",
+ "852zib": "New customers added",
+ "h8mx3e": "New customers (valid)",
+ "fvbq25": "New customers (need to repurchase)",
+ "2g7enc": "Consumer orders",
+ "32bf15": "Consumption amount",
+ "76748p": "Last order time",
+ "u43380": "Subordinate orders",
+ "8n4tr3": "Lower level consumption",
+ "1gc3ny": "Last order time for subordinates",
+ "3l1187": "Subordinate users",
+ "g5332w": "No order placed",
+ "8i641g": "Ordered"
+ }
+ },
+ "recommend-detail": {
+ "recommend-detail": {
+ "265vyu": "Starting purchase",
+ "2sis3v": "Inventory quantity"
+ }
+ },
+ "recommend-form": {
+ "recommend-form": {
+ "57zrl5": "icon",
+ "3vk50b": "Suggest 100 * 100px",
+ "5ws7m3": "Related products",
+ "q536vp": "remove",
+ "27goz3": "+Select product",
+ "6rlju7": "Current Display",
+ "q4qr64": "Title format: 1~60 characters",
+ "29au77": "Description format can be up to 200 characters long",
+ "203itn": "Category",
+ "h5v45f": "Please enter the product name",
+ "20m5gj": "Please search for data first!",
+ "7gc30l": "Classify All",
+ "yd3833": "Please fill in the title",
+ "31k41l": "Please select the product",
+ "e5k407": "Searching",
+ "145ci4": "Selection successful",
+ "ocg49p": "Selection list already exists"
+ }
+ },
+ "recommend-list": {
+ "recommend-list": {
+ "x74z3o": "commodity",
+ "78n1ly": "access",
+ "54d418": "After deletion, it cannot be restored. Are you sure to continue?",
+ "w9460o": "No"
+ }
+ },
+ "team": {
+ "team": {
+ "784249": "Registration time:",
+ "i040fg": "reverse",
+ "2ny6k1": "Order placement time:",
+ "2i4k79": "Whether to place an order:",
+ "3l538c": "Reset",
+ "pcaom3": "start time",
+ "iee9bp": "End time",
+ "6h2l64": "Joined at"
+ }
+ },
+ "visit-form": {
+ "visit-form": {
+ "0su017": "Visit content",
+ "6l81lz": "Visiting photos",
+ "e9r65a": "Visit content, up to 230 characters long",
+ "6f63it": "Please select a customer",
+ "5k455y": "Please fill in the visit details",
+ "56vk4m": "Please upload visit photos"
+ }
+ },
+ "visit-list": {
+ "visit-list": {
+ "q76du4": "Visit description",
+ "4z367h": "Visiting pictures"
+ }
+ },
+ "goods-comments": {
+ "goods-comments": {
+ "31ees6": "Product rating",
+ "6p942c": "Please enter your review",
+ "pe5p52": "Please select a rating",
+ "1wut9j": "Please enter a review",
+ "s65197": "Administrator's reply:",
+ "1p1r2e": "This product has not been reviewed yet~"
+ }
+ },
+ "invoice": {
+ "invoice": {
+ "p3dmd2": "Order invoicing",
+ "bh8yt3": "Recharge invoice",
+ "l3832z": "Business type",
+ "hoenw8": "Application type",
+ "j04kjc": "Invoice type",
+ "fvuc4p": "Invoice amount",
+ "y724c7": "Invoice header"
+ }
+ },
+ "invoice-detail": {
+ "invoice-detail": {
+ "s70kj4": "Application Information",
+ "1s2f0g": "Electronic invoice",
+ "4tu3v3": "You can click on the invoice name and copy it, then go to the browser to open the address and download the invoice.",
+ "rrfex6": "state",
+ "p73963": "Invoice content",
+ "41qbu6": "Name of the bank where the enterprise opens the account",
+ "3a9459": "Enterprise account opening",
+ "2g7t23": "Enterprise contact phone number",
+ "6k6sov": "Registered address of the enterprise",
+ "7159m0": "Recipient Name",
+ "f2222p": "Recipient's phone number",
+ "q8l3zj": "Recipient address",
+ "rpdwd3": "Reason for rejection",
+ "2000a0": "Express name"
+ }
+ },
+ "invoice-saveinfo": {
+ "invoice-saveinfo": {
+ "x8hhiv": "Unified social credit code or tax identification number for enterprises",
+ "t3i3e3": "Please select invoice type",
+ "k31t2s": "Please select the application type",
+ "i73t3c": "Please select invoice content",
+ "x461e0": "Invoice header, up to 200 characters long",
+ "924cag": "Unified social credit code or tax identification number for enterprises, with a maximum of 160 characters",
+ "ymvw6b": "Enterprise account opening bank name, up to 200 characters",
+ "664qc7": "Enterprise account opening, with a maximum of 160 characters",
+ "bbseo1": "Enterprise contact phone number 6-15 characters",
+ "85735j": "Registered address of the enterprise, with a maximum of 230 characters",
+ "gsc7dy": "The recipient's name format should be between 2 and 30 characters",
+ "bp8822": "Recipient's phone number is 6-15 characters long",
+ "u7h724": "Recipient address, up to 230 characters",
+ "d3qbe1": "Email, up to 60 characters",
+ "vaw647": "Remarks can be up to 230 characters long",
+ "89815t": "Invoicing",
+ "004t56": "Add",
+ "dl11n1": "The invoice amount must be greater than 0",
+ "r13p43": "Please fill in the invoice header, with a maximum of 200 characters",
+ "ws4wbb": "Please fill in the unified social credit code or tax identification number of the enterprise, with a maximum of 160 characters",
+ "87itn8": "Please fill in the name of the company's account opening bank, with a maximum of 200 characters",
+ "01lw93": "Please fill in the enterprise account number, with a maximum of 160 characters",
+ "414ihr": "Please fill in the company's contact phone number, which is 6-15 characters long",
+ "g3yh32": "Please fill in the registered address of the company, with a maximum of 230 characters",
+ "4xy6xi": "Please fill in the recipient's name format between 2 and 30 characters",
+ "quhnk0": "Please fill in the recipient's phone number, which should be 6-15 characters long",
+ "kq77u3": "Please provide the recipient's address, with a maximum of 230 characters"
+ }
+ },
+ "member-code": {
+ "member-code": {
+ "oc4x18": "If you encounter a scan failure, please turn the screen to the brightest position and scan the code again",
+ "26bu38": "Membership code",
+ "x58gqu": "Wallet payment code",
+ "yj6g3a": "Go log in",
+ "kx4yk8": "The membership code is empty"
+ }
+ },
+ "batchorder-list": {
+ "batchorder-list": {
+ "25sh5e": "In progress"
+ }
+ },
+ "frequencycard-list": {
+ "frequencycard-list": {
+ "cgy327": "Usage records",
+ "954ewh": "Effective",
+ "8x98g7": "suspend",
+ "5n3ums": "finish",
+ "n36x3w": "close",
+ "cx75t7": "Available times",
+ "3m1w12": "Used times",
+ "89t8am": "Starting time"
+ }
+ },
+ "frequencycard-used": {
+ "frequencycard-used": {
+ "538686": "Deduction frequency",
+ "xjmepo": "Description",
+ "aod4pc": "Operators"
+ }
+ },
+ "orderallot-detail": {
+ "orderallot-detail": {
+ "81jvw1": "Order type"
+ }
+ },
+ "orderallot-list": {
+ "orderallot-list": {
+ "w2w2w4": "Receiving goods",
+ "6m73j2": "batch",
+ "b13k5r": "Secondary card",
+ "w2t242": "logistics",
+ "285ir2": "In service",
+ "x5l17j": "Received",
+ "o3ouqv": "Please confirm that the goods have been received or completed, and cannot be restored after operation. Are you sure to continue?"
+ }
+ },
+ "tips": {
+ "tips": {
+ "0azfc3": "Total payment amount",
+ "579u02": "end page"
+ }
+ },
+ "design": {
+ "design": {
+ "882220": "To {shop. close_weekname}, {shop. open-time}}-",
+ "ay7m42": "Search All",
+ "21kak7": "Online Service",
+ "745kx2": "branch",
+ "wtx1l8": "View product categories",
+ "83occ4": "There is currently no data available",
+ "ses9m2": "Please enter the keywords of the product you are searching for",
+ "i7725u": "Search",
+ "gv16tj": "to"
+ }
+ },
+ "user-coming-list": {
+ "user-coming-list": {
+ "xkwnl8": "Reward points",
+ "sq4379": "Sign in time"
+ }
+ },
+ "user-qrcode-detail": {
+ "user-qrcode-detail": {
+ "b5ilz3": "Heaven, flip",
+ "22zc5y": "-{detail. specificed_time_reward. timeend}}, additional reward",
+ "18680z": "Double the reward for consecutive attendance",
+ "dupsnc": "continuity",
+ "c8e5of": "times",
+ "37bh73": "Additional rewards during designated time periods",
+ "6l7r99": "time interval",
+ "mjfygy": "Inviter Rewards",
+ "pb2e32": "Invitee rewards",
+ "do23j6": "Contact Name",
+ "5k2ibd": "Contact phone number",
+ "911a61": "Contact address"
+ }
+ },
+ "user-qrcode-saveinfo": {
+ "user-qrcode-saveinfo": {
+ "xa2k42": "Contact name format between 2 and 30 characters",
+ "e9ko33": "Contact phone number 6-15 characters",
+ "bbxaw6": "Contact address, up to 230 characters",
+ "jw2h8l": "Sign in code",
+ "84g5t6": "Please fill in the contact name format between 2 and 30 characters",
+ "1tilke": "Please fill in the contact phone number, which should be 6-15 characters long",
+ "5m2752": "Please fill in the contact address, with a maximum of 230 characters"
+ }
+ },
+ "cash-auth": {
+ "cash-auth": {
+ "b39a25": "Choose identity authentication method",
+ "582q6x": "Please select an authentication account",
+ "d318op": "Please enter the security verification code",
+ "0j8388": "Operation prompt",
+ "59iipw": "1. Please select“",
+ "8qcte7": "Bind email",
+ "t8y3r7": "'Or'",
+ "5wbuuy": "One way is to obtain the security verification code and input it correctly.",
+ "r569wz": "2. If you have not bound your phone or your email has expired, you can bind your phone and complete the verification by receiving SMS from your phone.",
+ "35837l": "3. If you have not bound your email or it has expired, you can bind your email and complete the verification by receiving the email.",
+ "q2a553": "4. Please input the verification code correctly below. If you cannot see it clearly, you can click on the image to replace it. After completing the input, proceed to the next step.",
+ "lh6bjr": "5. After receiving the security verification code, please complete the verification within 10 minutes.",
+ "ob4gn0": "6. After successful security verification, please complete the cash application within 30 minutes.",
+ "d2ng16": "Bind phone number",
+ "l2i4s8": "Current effective amount",
+ "27b4w5": "Minimum cash amount",
+ "2hc312": "Verification code format with 4 digits",
+ "5dcsbd": "Please choose the authentication method"
+ }
+ },
+ "cash-create": {
+ "cash-create": {
+ "qg404q": "Withdrawal amount",
+ "9ugssd": "Handling fees",
+ "5o1q52": "Gift amount cannot be withdrawn",
+ "iaw845": "Withdrawable amount",
+ "1dbkw2": "Available amount",
+ "162f7o": "Total amount of gifts",
+ "yu2raf": "Withdrawal method",
+ "5mmir5": "Payment platform",
+ "14n20v": "It is strongly recommended to give priority to filling in the names of the four state-owned banks (Bank of China, China Construction Bank, Industrial and Commercial Bank of China and Agricultural Bank of China). Please fill in the detailed names of the branches of the deposit banks. For virtual accounts such as Alipay, Tenpay and WeChat, you can fill in the corresponding names directly.",
+ "36756z": "Receiving account",
+ "748r3i": "Bank account or virtual account (Alipay, Tenpay, WeChat, etc.)",
+ "1xtff6": "Name of account holder",
+ "445m7n": "The real name of the account holder of the receiving account",
+ "858o54": "Security verification has timed out. Please verify again before proceeding",
+ "ke15x5": "Return to reapply for cash",
+ "cymbdz": "Withdrawal amount, minimum",
+ "27ky42": ", highest",
+ "u2rnlw": "The format of the payment platform is between 1 and 60 characters",
+ "s72t44": "The format of the receiving account should be between 1 and 60 characters",
+ "f4605e": "The format of the account holder's name is between 1 to 30 characters",
+ "6t7x9u": "Please fill in the cash amount",
+ "thjid2": "Please choose a withdrawal method",
+ "vbr59h": "Please fill in the payment platform",
+ "0mn186": "Please fill in the receiving account number",
+ "c7h4mu": "Please fill in the name of the account holder",
+ "724kn8": "Withdrawals cannot be lower than",
+ "duo0ts": "Withdrawal cannot be greater than",
+ "678iu2": "Estimated handling fee"
+ }
+ },
+ "payment-code": {
+ "payment-code": {
+ "b74qxe": ")Automatically refresh payment code in seconds"
+ }
+ },
+ "recharge": {
+ "recharge": {
+ "3shyx4": "Account balance",
+ "60k2v3": "Select recharge amount",
+ "qbw1x2": "money",
+ "x27b25": "Recharge Now",
+ "4fm61g": "Recharge instructions",
+ "otwkjn": "Recharge",
+ "23zwpz": "other",
+ "73f4v9": "Please enter the recharge amount",
+ "lh6k86": "Recharge address",
+ "e5rblc": "Coin charging network",
+ "eb6722": "Choose recharge coins",
+ "k1e7hs": "Other quantities",
+ "e8n7ul": "Recharge instructions:",
+ "0i541i": "Please enter the recharge quantity",
+ "5q02ar": "Please select or enter the recharge quantity"
+ }
+ },
+ "transfer": {
+ "transfer": {
+ "2q274j": "Transfer amount",
+ "9xe2bl": "My balance:",
+ "t53ary": "Please enter user ID/name/code/mobile phone/email",
+ "g22y5v": "Please enter the transfer amount",
+ "2bwh7h": "Please enter transfer remarks info",
+ "1aijp1": "Please enter the receiving account number",
+ "x4mzo9": "Please enter the correct receiving account",
+ "678uyg": "Transfer order number",
+ "4g21cu": "Payee",
+ "t36tk2": "Transfer remarks",
+ "b4m5p3": "Transfer currency",
+ "3i4h4z": "Transfer immediately",
+ "d15853": "Please enter the transfer currency"
+ }
+ },
+ "user-cash-detail": {
+ "user-cash-detail": {
+ "e8a3e8": "Withdrawal number",
+ "wyad6w": "Withdrawal status",
+ "j5s3u6": "Transfer platform",
+ "53k647": "Transfer Name",
+ "m556tl": "Transfer account",
+ "i308o1": "Payment amount",
+ "451xxt": "Payment time"
+ }
+ },
+ "user-recharge-detail": {
+ "user-recharge-detail": {
+ "ch84a8": "Recharge order number",
+ "dq5v2u": "Recharge status",
+ "7272ia": "Recharge amount"
+ }
+ },
+ "user-transfer-detail": {
+ "user-transfer-detail": {
+ "x17599": "Transfer time"
+ }
+ },
+ "wallet-log-detail": {
+ "wallet-log-detail": {
+ "tdf3wo": "Operation type",
+ "744os7": "Amount type",
+ "ruq60b": "Operation amount",
+ "4q7pfq": "Original amount",
+ "r814ne": "Latest amount",
+ "0ghn6g": "Change Description",
+ "i2kze7": "Operation time"
+ }
+ },
+ "user-address": {
+ "user-address": {
+ "e8qg73": "default",
+ "3i4x2r": "Add new address",
+ "1rwt3l": "Import System Address",
+ "7r29v8": "Consignee:",
+ "2nmsi1": "Contact phone number:",
+ "s150l6": "Shipping address:"
+ }
+ },
+ "user-address-save": {
+ "user-address-save": {
+ "231435": "label",
+ "620370": "The address ID is incorrect",
+ "5yhgps": "name",
+ "h8f148": "region",
+ "13rpdw": "Click to select geographical location",
+ "mb7cjx": "retrieval",
+ "4rc269": "address",
+ "s3o1p5": "Scan",
+ "42l857": "Address Pasting Board",
+ "g43klm": "default address",
+ "3w7r14": "ID card name",
+ "0y1vl6": "ID No",
+ "761ek6": "ID card photo",
+ "c811s5": "Please fill in the original ID card for shooting, with clear images",
+ "wii4sp": "Contact person 2~16",
+ "65507o": "Landline or mobile phone",
+ "he685s": "Number",
+ "vdkv32": "Detailed address of 1-80",
+ "b32r6v": "Paste the entire address segment, automatically split the name, phone number, and address",
+ "l6vjlm": "Please enter the label name",
+ "c73v42": "Please fill in your real name",
+ "c742c8": "Please fill in the ID number number",
+ "t1loj5": "home",
+ "6t396c": "company",
+ "34rqp8": "school",
+ "2pey0m": "Province info failed",
+ "7w01kd": "The form name type is incorrect",
+ "z687lv": "Please enter the address info first",
+ "lrlmxf": "Please fill in your ID card name",
+ "0x8i97": "Please fill in the ID card number",
+ "224l36": "Please upload a photo of the front of your ID card",
+ "glf52g": "Please upload a photo of the back of your ID card",
+ "wkfi45": "Please enter data"
+ }
+ },
+ "user-order": {
+ "user-order": {
+ "twc3r7": "comment",
+ "lp1v28": "Urge and urge",
+ "ht65c9": "Suborder",
+ "9l47b6": "form",
+ "fyuikn": "resources",
+ "3l2jr5": "buy-back",
+ "7571p2": "Merge payments",
+ "hp123x": "To be picked up",
+ "f5qqhu": "Successfully urged",
+ "a3c81d": "Add cart",
+ "5o756f": "Direct purchase"
+ }
+ },
+ "user-order-comments": {
+ "user-order-comments": {
+ "uboc44": "anonymous",
+ "r9r3h0": "Does the baby meet your expectations? Let's talk about its advantages and shortcomings in beauty",
+ "si255j": "Very poor",
+ "42b0x1": "difference",
+ "72mov3": "commonly",
+ "16cmv6": "good",
+ "e4i88f": "Very good",
+ "021i2d": "Your comment will be presented anonymously",
+ "h2ci83": "Your comment will be presented in the form of a nickname",
+ "34ne4c": "Please rate first",
+ "x6fwbf": "There are still no ratings left",
+ "8f303u": "Please fill in the comment content",
+ "39y6ym": "Comment content should be between 6 and 230 characters long",
+ "488j15": "Each comment image cannot exceed 3 images"
+ }
+ },
+ "user-orderaftersale": {
+ "user-orderaftersale": {
+ "10c251": "Returns",
+ "3wggcu": "To be confirmed",
+ "1kcn16": "To be returned",
+ "2kzi0t": "Pending review",
+ "1p5456": "Rejected"
+ }
+ },
+ "user-orderaftersale-detail": {
+ "user-orderaftersale-detail": {
+ "uuhf62": "Immediate return",
+ "00je4f": "Return address:",
+ "4y2c1l": "voucher",
+ "bprwq9": "Reason for refund",
+ "85pnkf": "Number of items",
+ "84upo4": "Quantity cannot be greater than",
+ "1252if": "Cannot be greater than",
+ "9p6b1y": "Refund instructions",
+ "4y9355": "Upload credentials",
+ "1l42ms": "Upload up to 3 images",
+ "21icul": "Please select the reason",
+ "9kvu52": "Please enter the refund amount",
+ "4f8u0c": "Refund instructions can be up to 200 characters long",
+ "6d14hq": "Please enter the courier name",
+ "8tt862": "Please enter the tracking number",
+ "50cm8m": "Refund type",
+ "17j4cy": "current state",
+ "r2oy43": "Reason for application",
+ "c53k23": "Return quantity",
+ "5t586p": "Refund method",
+ "bifwmx": "Return time",
+ "8n414b": "Review time",
+ "23v6rp": "Please select the operation type",
+ "dn3423": "Please select the quantity of returns",
+ "c9e2ms": "Please fill in the courier name",
+ "ld10pm": "Please fill in the courier tracking number"
+ }
+ },
+ "ask-comments": {
+ "ask-comments": {
+ "2zlnb5": "Comment(",
+ "du7rcv": "Like(",
+ "6l6vz7": "word",
+ "3fcnme": "Reply(",
+ "ymmd24": "Replies",
+ "dfhg54": "View more replies",
+ "5401r1": "Comments",
+ "4l77wt": "View more comments",
+ "8sjar6": "Reply@",
+ "m67961": "Looking forward to your speech",
+ "3o1rq6": "The maximum input character limit has been exceeded"
+ }
+ },
+ "ask-comments-goods": {
+ "ask-comments-goods": {
+ "xl51n6": "Answers",
+ "g6mc44": "If you have any questions, please ask other classmates~"
+ }
+ },
+ "binding-list": {
+ "binding-list": {
+ "kh7951": "buy",
+ "2u4v35": "Put it away",
+ "91d60h": "launch"
+ }
+ },
+ "bottom-line": {
+ "bottom-line": {
+ "44bct2": "I have a bottom line"
+ }
+ },
+ "cart": {
+ "cart": {
+ "v37ow8": "mall",
+ "09gl3g": "store",
+ "wb5465": "Go for a stroll",
+ "pxjwv8": "Select All",
+ "3kr74b": "on sale:",
+ "n76213": "Add:",
+ "4tbj4s": "detail",
+ "7gdej1": "Nearby stores",
+ "h63814": "No store info available",
+ "t41i4x": "Amount details",
+ "miti3i": "Items",
+ "9s0l57": "Co reduction",
+ "qh35gz": "Co addition",
+ "j8on74": "The cart is empty",
+ "31h34v": "Consult immediately",
+ "2wfu7o": "Please bind your phone number",
+ "3v6ulk": "After choosing for so long, do you really want to delete it?",
+ "8q2yej": "Please slide the data you want to operate on first",
+ "9g81jk": "Data does not exist",
+ "8tt78i": "Add to Favorites",
+ "87rfg3": "Cancel collection",
+ "346c25": "Collection successful",
+ "21051p": "Collection failed",
+ "3sy0mp": "Please select the product first"
+ }
+ },
+ "copyright": {
+ "copyright": {
+ "5g8tdz": "Powered by Xiaotao Chinese Store"
+ }
+ },
+ "coupon-card": {
+ "coupon-card": {
+ "j318xx": "There is currently no type parameter available",
+ "m9316y": "Go ahead and use it"
+ }
+ },
+ "goods-batch-buy": {
+ "goods-batch-buy": {
+ "9ectyf": "species",
+ "geq82x": "Amount:",
+ "ypby1k": "No relevant info available",
+ "7tp1tc": "Incorrect operation event type",
+ "dsfd98": "Out of stock"
+ }
+ },
+ "goods-buy": {
+ "goods-buy": {
+ "ufdm25": "Incorrect specification data",
+ "737wzz": "Purchase quantity",
+ "4maexq": "Incorrect operation event type("
+ }
+ },
+ "nav-more": {
+ "nav-more": {
+ "h9g4b1": "Click to collapse"
+ }
+ },
+ "no-data": {
+ "no-data": {
+ "1u202v": "Temporarily no network connection",
+ "imw8f1": "Please check if the system settings ->cellular mobile network allow it【",
+ "q87572": "】APP uses cellular mobile network or wireless local area network"
+ }
+ },
+ "online-service": {
+ "online-service": {
+ "4l6k22": "Service"
+ }
+ },
+ "payment": {
+ "payment": {
+ "973g2e": "No payment info",
+ "z3y296": "Try clicking to pay",
+ "iu792d": "Payment details",
+ "25r53g": "Pay",
+ "058a46": "No payment method available",
+ "x6d585": "Please select the payment method first",
+ "011cj4": "Will the payment fee be deducted immediately after the operation, confirm to continue?",
+ "7ihx9u": "Incorrect payment method",
+ "e1f54e": "Requesting",
+ "vhx5dv": "Wrong payment type",
+ "597s8b": "The payment component interface cannot be empty",
+ "t4d687": "Payment service not configured",
+ "bv637f": "Payment undefined",
+ "4dszme": "Please use real machine operation, or the basic version of the mini program is too low!",
+ "k2i010": "After successful payment, please do not make duplicate payments. If the order status is not successful, please contact customer service for assistance",
+ "2rw3qh": "The payment method has not been adapted yet",
+ "sdfs31": "Has the payment been completed?"
+ }
+ },
+ "realstore-cart": {
+ "realstore-cart": {
+ "v437n6": "Do you have any purchased items?",
+ "6bmc34": "Switch",
+ "d1kk7x": "Please select the order type",
+ "2dc65q": "Please add the product first",
+ "50lf68": "Loading",
+ "b27ln3": "Add cart",
+ "47h2a0": "Request failed, please try again!",
+ "miv944": "start",
+ "20epzm": "Product data incorrect",
+ "8tzr7l": "Incorrect store info",
+ "87tty2": "Choice store",
+ "76rfgh": "Choose another store",
+ "r67uyg": "Enter store"
+ }
+ },
+ "share-popup": {
+ "share-popup": {
+ "h04xiy": "One click sharing with friends and group chat",
+ "rhs2c5": "One click sharing with WeChat friends and group chat",
+ "mv9l10": "One click sharing to WeChat Moments",
+ "f08y38": "One click share to WeChat favorites",
+ "1242w9": "One click sharing to QQ friends and spaces",
+ "1oh013": "Click to copy the address and share it with friends or group chat",
+ "dcp2qu": "Generate posters and share them on social media, friends, and group chats"
+ }
+ },
+ "user-qrcode": {
+ "user-qrcode": {
+ "8p57v3": "Team up check-in"
+ }
+ },
+ "switch": {
+ "switch": {
+ "924s7v": "open",
+ "g142o6": "shut",
+ "447u86": "prompt",
+ "8w5ok6": "Are you sure you want to adjust it to {0}?"
+ }
+ },
+ "time-select": {
+ "time-select": {
+ "8k5rr7": "Sunday",
+ "17353c": "Monday",
+ "40rmq4": "Tuesday",
+ "q35g41": "Wednesday",
+ "v213l8": "Thursday",
+ "8q3q2x": "Friday",
+ "9605m5": "Saturday",
+ "h7l2xj": "Daily(",
+ "cq522p": "Today(",
+ "ub264m": "Tomorrow("
+ }
+ },
+ "upload": {
+ "upload": {
+ "b33f08": "Upload"
+ }
+ },
+ "user-base": {
+ "user-base": {
+ "g5663y": "Get your",
+ "913g4e": "Get users",
+ "yujeaf": "Improve personal information, mainly used to provide users with a recognizable user center interface",
+ "o19lj3": "Enter a nickname of 1-16 characters",
+ "8u9on2": "Alipay users",
+ "t8i9l4": "Baidu users",
+ "0imw74": "Headline users",
+ "27q5af": "QQ users",
+ "211pk4": "Kwai users",
+ "5x8o43": "WeChat users",
+ "gzc3y4": "Please upload your profile picture",
+ "lro9u7": "Please fill in your nickname"
+ }
+ },
+ "user-cash": {
+ "user-cash": {
+ "3v1gzc": "Unpay",
+ "t7gtu0": "Paid",
+ "x47iu3": "Fail Pay"
+ }
+ },
+ "user-recharge": {
+ "user-recharge": {
+ "8y9dki": "Go pay"
+ }
+ },
+ "wallet-log": {
+ "wallet-log": {
+ "9p865e": "reduce",
+ "1nm6c2": "increase"
+ }
+ },
+ "shopxo-uniapp": {
+ "app": {
+ "47b5d1": "Xiaotao Chinese Store",
+ "5a7r0v": "One click login with local phone number",
+ "33k281": "I have read and agree",
+ "8l688n": "And log in with your local phone number",
+ "28r5dr": "Service Agreement",
+ "lb493k": "Privacy Policy",
+ "ch1pd2": "Failed to call up the local phone number component",
+ "5y1c52": "The event value format is incorrect",
+ "t754n6": "Prompt message is empty alert",
+ "iq66pg": "Please copy the address to the webpage map for viewing!",
+ "v2j475": "Incorrect coordinates",
+ "3m1gbe": "Uuid cache failed",
+ "1244fe": "Unknown data",
+ "r5ts62": "Copy successful",
+ "r539kf": "Copy content is empty",
+ "qm8548": "The image address is empty",
+ "gbiac6": "Please open authorization",
+ "3eqv71": "Please go to the mini program to use the complete service",
+ "08cg8y": "The customer service address is incorrect",
+ "0gwt7z": "Clear successful",
+ "87yghj": "Logout successful",
+ "di6v5t": "Please obtain authorization first",
+ "nu5058": "Geographic location selection is not supported!",
+ "4v6q86": "No location selected",
+ "tghyu3": "current location"
+ }
+ },
+ "password": {
+ "password": {
+ "338433": "Please confirm the new password",
+ "xyekjf": "Confirm modifications",
+ "4e24j1": "Please enter the current password",
+ "1lwiaz": "Please enter a new password",
+ "3pp6t7": "Confirm new password"
+ }
+ },
+ "cash": {
+ "cash": {
+ "zmhf3n": "Withdrawable currency",
+ "f6p4hm": "Withdrawal quantity",
+ "6oc6e7": "All withdrawals",
+ "ucg8e2": "Withdrawal address",
+ "h9i16y": "Withdrawal network",
+ "1g49wo": "No network data",
+ "42b37m": "Apply for withdrawal",
+ "i1f373": "Please enter the withdrawal address",
+ "g05p4g": "Please enter withdrawal note info",
+ "en6vsa": "Network data is empty, please contact customer service!",
+ "w01qjc": "Please enter the withdrawal quantity"
+ }
+ },
+ "cash-list": {
+ "cash-list": {
+ "e6pffe": "Withdrawal number:",
+ "2w20g2": "Platform:",
+ "23ii8s": "Recharge network:",
+ "714g2h": "Recharge address:",
+ "1o8838": "Withdrawal currency:",
+ "s7l616": "Account type",
+ "t66tu3": "Withdrawal type",
+ "311tt2": "Network type",
+ "n74r94": "account",
+ "2g251t": "network",
+ "8hrc73": "Are you sure to delete this withdrawal order"
+ }
+ },
+ "collection": {
+ "collection": {
+ "856g12": "copy",
+ "9p43lu": "Scan to initiate a transfer to the other party. Please verify your account carefully before confirming the transfer!"
+ }
+ },
+ "convert": {
+ "convert": {
+ "o56h58": "Balance:",
+ "4kcix6": "convert now",
+ "327y2v": "Transfer out and receive selection cannot be the same",
+ "vyjy7s": "Please enter the conversion currency"
+ }
+ },
+ "convert-list": {
+ "convert-list": {
+ "733518": "Transfer to account:",
+ "8813rd": "Conversion order number:",
+ "c374ec": "Transfer out balance:",
+ "6mxu85": "Transfer out account:",
+ "6347mw": "Latest Currency:",
+ "9oy325": "Remarks:",
+ "q48666": "Initiate account",
+ "47646p": "Receiving account"
+ }
+ },
+ "recharge-list": {
+ "recharge-list": {
+ "6b9399": "Recharge order number:",
+ "epd531": "Recharged coins:",
+ "l5g8m1": "Are you sure to delete this recharge order"
+ }
+ },
+ "recharge-pay": {
+ "recharge-pay": {
+ "lutmsv": "Payment voucher",
+ "1a5vqk": "(Upload up to 10 images)",
+ "wu49vk": "Payment remarks",
+ "95pfkd": "Please enter a note",
+ "v5fok8": "Please upload the voucher"
+ }
+ },
+ "transaction-list": {
+ "transaction-list": {
+ "1mf6wj": "Currency type:",
+ "2w1o1l": "Operation currency:",
+ "jgx0cf": "Original currency:",
+ "7cv11k": "Description:",
+ "cu39n5": "Currency type"
+ }
+ },
+ "transfer-list": {
+ "transfer-list": {
+ "69rnx6": "Transfer order number:",
+ "4aj248": "Payee:",
+ "m2r55k": "Transfer currency:",
+ "9g8lyb": "Transfer remarks:"
+ }
+ },
+ "user-goods-comments": {
+ "user-goods-comments": {
+ "58804r": "Is it displayed",
+ "jnk6da": "Do you want to reply",
+ "yyjemb": "Anonymous or not",
+ "0nhrj0": "Comment content"
+ }
+ },
+ "giftcard-index": {
+ "giftcard-index": {
+ "87ytyh": "Card type",
+ "hfg2fg": "Cami key",
+ "fyjnsd": "Card security data",
+ "87yyj3": "Redemption time",
+ "8tfgh2": "Card exchange",
+ "6redfg": "Use data",
+ "fu3rf1": "Please enter the card password key"
+ }
+ },
+ "givegift-gift": {
+ "givegift-gift": {
+ "8yghjd": "Unlimited collection",
+ "567uye": "Message reminder",
+ "rtyu33": "Message prompt, maximum format of 200 characters",
+ "34rrr3": "Leave a message for Ta to express gratitude!"
+ }
+ }
+}
\ No newline at end of file
diff --git a/locale/index.js b/locale/index.js
new file mode 100644
index 0000000..7b1392a
--- /dev/null
+++ b/locale/index.js
@@ -0,0 +1,18 @@
+import VueI18n from 'vue-i18n';
+import Vue from 'vue';
+
+import zh from './zh.json';
+import en from './en.json';
+
+let i18nConfig = {
+ locale: uni.getLocale(),
+ silentTranslationWarn: true,
+ messages: {
+ "zh": zh,
+ "en": en
+ }
+}
+Vue.use(VueI18n)
+const i18n = new VueI18n(i18nConfig)
+Vue.prototype._i18n = i18n
+export default i18n
diff --git a/locale/zh.json b/locale/zh.json
new file mode 100644
index 0000000..947e55d
--- /dev/null
+++ b/locale/zh.json
@@ -0,0 +1,1917 @@
+{
+ "language": {
+ "zh": "简体中文",
+ "en": "英语"
+ },
+ "common": {
+ "home": "首页",
+ "category": "分类",
+ "cart": "购物车",
+ "my": "我的",
+ "confirm": "确认",
+ "cancel": "取消",
+ "not_yet": "暂不",
+ "save": "保存",
+ "add": "新增",
+ "copy": "复制",
+ "del": "删除",
+ "del_record": "删除记录",
+ "del_success": "删除成功",
+ "del_fail": "删除失败",
+ "edit": "编辑",
+ "link": "链接",
+ "gift": "礼物",
+ "image": "图片",
+ "video": "视频",
+ "file": "文件",
+ "more": "更多",
+ "more_null": "更 多",
+ "view_more": "查看更多",
+ "search": "搜索",
+ "num": "数量",
+ "order": "订单",
+ "service": "服务",
+ "please_input": "请输入",
+ "settlement": "结算",
+ "confirm_sub": "确认提交",
+ "submit_payment": "提交支付",
+ "my_want_receive": "我要领取",
+ "clear": "清空",
+ "all": "全部",
+ "share": "分享",
+ "return": "返回",
+ "view_text": "查看",
+ "detail_text": "详情",
+ "refresh_text": "刷新",
+ "yes_text": "是",
+ "no_text": "否",
+ "place_order_text": "下单",
+ "processing_in_text": "处理中...",
+ "loading_in_text": "加载中...",
+ "upload_in_text": "上传中...",
+ "auth_in_text": "授权中...",
+ "login_in_text": "登录中...",
+ "sending_in_text": "发送中...",
+ "payment_in_text": "支付中...",
+ "sending": "发送中",
+ "warm_tips": "温馨提示",
+ "no_relevant_data_tips": "没有相关数据",
+ "internet_error_tips": "网络开小差了哦~",
+ "sub_error_retry_tips": "提交失败,请重试!",
+ "not_more_list_data_tips": "无更多列表数据",
+ "scan_name": "扫一扫",
+ "not_have_name": "没有",
+ "note": "备注",
+ "recommend_code_name": "推荐码",
+ "now_update_text": "立即更新",
+ "already_latest_text": "已是最新",
+ "to_update_text": "去更新",
+ "to_star_text": "去评分",
+ "use_time": "使用时间",
+ "add_time": "添加时间",
+ "upd_time": "更新时间",
+ "receive_time": "接收时间",
+ "service_time": "服务时间",
+ "apply_time": "申请时间",
+ "verification_text": "核销码",
+ "verification_message": "请输入核销码",
+ "verification_mobile_message": "请输入核销码或手机",
+ "unique_message": "唯一标识为空",
+ "not_supported_scan_tips": "H5网页不支持扫码",
+ "copy_link": "复制链接"
+ },
+ "client": {
+ "weixin": "微信",
+ "alipay": "支付宝",
+ "baidu": "百度",
+ "qq": "QQ",
+ "toutiao": "头条/抖音",
+ "kuaishou": "快手"
+ },
+ "pages": {
+ "goods-category": "商品分类",
+ "cart": "购物车",
+ "user": "用户中心",
+ "cart-page": "购物车",
+ "buy": "订单确认",
+ "web-view": "",
+ "login": "登录",
+ "paytips": "安全支付",
+ "goods-search": "商品搜索",
+ "goods-search-start": "商品搜索",
+ "goods-detail": "商品详情",
+ "goods-comment": "商品评价",
+ "user-address": "我的地址",
+ "user-address-save": "地址编辑",
+ "user-order": "我的订单",
+ "user-order-detail": "订单详情",
+ "user-order-comments": "订单评价",
+ "user-favor": "商品收藏",
+ "user-goods-comments": "商品评论",
+ "user-goods-comments-form": "商品编辑",
+ "message": "消息",
+ "user-integral": "积分明细",
+ "user-goods-browse": "我的足迹",
+ "user-orderaftersale": "退款/售后",
+ "user-orderaftersale-detail": "订单售后",
+ "extraction-address": "自提地址",
+ "common-open-setting-location": "",
+ "common-agreement": "",
+ "customview-customview": "自定义页面",
+ "design": "",
+ "diy": "",
+ "error": "温馨提示",
+ "article-category": "所有文章",
+ "article-detail": "文章详情",
+ "setup": "设置",
+ "personal": "个人资料",
+ "password": "密码修改",
+ "logout": "账号注销",
+ "about": "关于我们",
+ "plugins-seckill-index": "限时秒杀",
+ "plugins-coupon-index": "领券中心",
+ "plugins-coupon-detail": "优惠券",
+ "plugins-coupon-shop": "店铺领券中心",
+ "plugins-coupon-user": "我的卡券",
+ "plugins-membershiplevelvip-index": "会员VIP",
+ "plugins-membershiplevelvip-buy": "开通会员",
+ "plugins-membershiplevelvip-user": "我的会员",
+ "plugins-membershiplevelvip-order": "开通订单",
+ "plugins-membershiplevelvip-order-detail": "订单详情",
+ "plugins-membershiplevelvip-profit": "收益明细",
+ "plugins-membershiplevelvip-profit-detail": "收益详情",
+ "plugins-membershiplevelvip-poster": "推广奖励",
+ "plugins-membershiplevelvip-team": "我的团队",
+ "plugins-membershiplevelvip-member-code": "会员码",
+ "plugins-distribution-user": "我的分销",
+ "plugins-distribution-order": "分销订单",
+ "plugins-distribution-order-detail": "订单详情",
+ "plugins-distribution-profit": "收益明细",
+ "plugins-distribution-profit-detail": "收益详情",
+ "plugins-distribution-team": "我的团队",
+ "plugins-distribution-map": "客户分布",
+ "plugins-distribution-recommend-list": "我的推荐宝",
+ "plugins-distribution-recommend-detail": "推荐宝详情",
+ "plugins-distribution-recommend-form": "推荐宝添加/编辑",
+ "plugins-distribution-poster": "推广奖励",
+ "plugins-distribution-extraction": "取货点",
+ "plugins-distribution-extraction-apply": "取货点信息",
+ "plugins-distribution-extraction-order": "取货订单",
+ "plugins-distribution-extraction-switch": "取货点切换",
+ "plugins-distribution-introduce": "等级介绍",
+ "plugins-distribution-promotion-user": "推广用户",
+ "plugins-distribution-promotion-order": "推广订单",
+ "plugins-distribution-visit-list": "客户拜访",
+ "plugins-distribution-visit-form": "客户拜访新增/编辑",
+ "plugins-wallet-user": "我的钱包",
+ "plugins-wallet-recharge": "充值",
+ "plugins-wallet-cash-auth": "余额提现",
+ "plugins-wallet-cash-create": "余额提现",
+ "plugins-wallet-wallet-log-detail": "明细详情",
+ "plugins-wallet-user-recharge-detail": "充值详情",
+ "plugins-wallet-user-cash-detail": "提现详情",
+ "plugins-wallet-user-transfer-detail": "转账详情",
+ "plugins-wallet-payment-code": "钱包付款码",
+ "plugins-wallet-transfer": "转账",
+ "plugins-excellentbuyreturntocash-profit": "优购返现明细",
+ "plugins-excellentbuyreturntocash-profit-detail": "优购返现详情",
+ "plugins-weixinliveplayer-index": "直播",
+ "plugins-weixinliveplayer-search": "直播列表",
+ "plugins-weixinliveplayer-detail": "直播详情",
+ "plugins-exchangerate-currency": "货币切换",
+ "plugins-invoice-invoice": "开票列表",
+ "plugins-invoice-invoice-detail": "发票详情",
+ "plugins-invoice-invoice-saveinfo": "开票编辑",
+ "plugins-invoice-order": "订单开票",
+ "plugins-invoice-recharge": "充值开票",
+ "plugins-signin-user": "签到",
+ "plugins-signin-detail": "签到",
+ "plugins-signin-user-qrcode-detail": "签到码详情",
+ "plugins-signin-user-qrcode-saveinfo": "签到码编辑",
+ "plugins-signin-user-coming-list": "用户签到",
+ "plugins-points-index": "积分商城",
+ "plugins-points-scan": "扫码领积分",
+ "plugins-brand-index": "品牌",
+ "plugins-shop-index": "所有店铺",
+ "plugins-shop-detail": "店铺首页",
+ "plugins-shop-search": "店铺商品搜索",
+ "plugins-shop-design": "",
+ "plugins-shop-favor": "店铺收藏",
+ "plugins-shop-license": "工商资质",
+ "plugins-shop-check": "订单核销",
+ "plugins-activity-index": "所有活动",
+ "plugins-activity-detail": "活动详情",
+ "plugins-label-detail": "标签详情",
+ "plugins-blog-index": "博客",
+ "plugins-blog-search": "博文搜索",
+ "plugins-blog-detail": "博文详情",
+ "plugins-blog-comments": "评论列表",
+ "plugins-blog-user-list": "我的帖子",
+ "plugins-blog-form": "发布博文",
+ "plugins-express-detail": "物流详情",
+ "plugins-realstore-index": "门店",
+ "plugins-realstore-search": "门店搜索",
+ "plugins-realstore-detail": "门店详情",
+ "plugins-realstore-favor": "门店收藏",
+ "plugins-realstore-orderallot-list": "门店订单",
+ "plugins-realstore-orderallot-detail": "门店订单详情",
+ "plugins-realstore-batchorder-list": "批次订单",
+ "plugins-realstore-frequencycard-list": "次卡",
+ "plugins-realstore-frequencycard-used": "次卡使用记录",
+ "plugins-realstore-check": "订单核销",
+ "plugins-binding-index": "组合搭配",
+ "plugins-binding-detail": "组合搭配详情",
+ "plugins-delivery-order": "配送订单",
+ "plugins-delivery-order-detail": "订单详情",
+ "plugins-delivery-logistics": "物流信息",
+ "plugins-ask-index": "问答",
+ "plugins-ask-detail": "问答详情",
+ "plugins-ask-form": "我要提问",
+ "plugins-ask-user-detail": "提问详情",
+ "plugins-ask-user-list": "我的提问",
+ "plugins-ask-goods-list": "问答专区",
+ "plugins-ask-comments": "全部问答",
+ "plugins-intellectstools-goods-comments": "商品评价",
+ "plugins-scanpay-index": "扫码付款",
+ "plugins-scanpay-tips": "支付结果",
+ "plugins-thirdpartylogin-index": "授权登录",
+ "plugins-magic-detail": "详情",
+ "plugins-ordergoodsform-order": "商品表单",
+ "plugins-coin-user": "虚拟币",
+ "plugins-coin-recharge": "充值",
+ "plugins-coin-recharge-pay": "充值支付",
+ "plugins-coin-convert": "转换",
+ "plugins-coin-cash": "提现",
+ "plugins-coin-detail": "明细",
+ "plugins-coin-transfer": "转账",
+ "plugins-coin-transfer-list": "转账明细",
+ "plugins-coin-transaction-list": "交易明细",
+ "plugins-coin-cash-list": "提现明细",
+ "plugins-coin-convert-list": "转换明细",
+ "plugins-coin-recharge-list": "充值明细",
+ "plugins-coin-collection": "收款",
+ "plugins-antifakecode-index": "正品查询",
+ "plugins-giftcard-index": "我的礼品卡",
+ "plugins-giftcard-form": "礼品卡兑换",
+ "plugins-givegift-goods": "购买礼品",
+ "plugins-givegift-receive": "礼品领取",
+ "plugins-givegift-gift": "我的送礼",
+ "plugins-givegift-code": "礼品链接",
+ "plugins-orderresources-orderannex": "订单资源",
+ "plugins-hospital-patient": "就诊人添加/编辑",
+ "plugins-hospital-patient-list": "就诊人列表",
+ "plugins-hospital-prescription": "问诊开方"
+ },
+ "login": {
+ "login": {
+ "725312": "账号密码登录",
+ "tfl656": "确认绑定",
+ "483nho": "返回上一页",
+ "31r6p2": "手机验证码",
+ "8fghjs": "获取手机号码",
+ "p3kxy2": "获取手机号码一键登录",
+ "54l805": "绑定已有账号",
+ "q11t73": "注册账号并绑定",
+ "s51ed9": "已成功登录、请点击返回上一页",
+ "e77788": "登录帐号将自动绑定",
+ "1i4o86": "用户",
+ "n2pv70": "账号",
+ "1p7843": "手机",
+ "p54kf1": "邮箱",
+ "3i05ly": "暂时关闭了登录",
+ "nddg2x": "阅读并同意",
+ "2v11we": "《服务协议》",
+ "l3r4vr": "与",
+ "myno2x": "《隐私权政策》",
+ "i1deai": "确认登录",
+ "t75ee8": "新用户注册",
+ "9d8gqi": "找回密码",
+ "tvl242": "授权自动登录",
+ "9q27d8": "其他登录方式",
+ "t59dho": "暂时关闭了注册",
+ "hvunf8": "确认注册",
+ "zy8tc4": "立即登录",
+ "b347k4": "立即注册",
+ "836o8e": "确认登录授权,为您提供更优质的服务",
+ "pgyv78": "基础数据加载中...",
+ "d76tgh": "如未自动加载则请手动点击加载!",
+ "6fe6ra": "加载基础数据",
+ "28k91h": "手机号码",
+ "t3951j": "验证码",
+ "qe8a37": "用户名/手机/邮箱",
+ "08fchn": "登录密码",
+ "db1rf4": "电子邮箱",
+ "6yfr9g": "登录/注册",
+ "d178m0": "手机/邮箱",
+ "9wx3ch": "设置登录密码",
+ "s665h5": "获取验证码",
+ "jw378f": "授权用户信息",
+ "np9177": "绑定手机",
+ "tgsa4d": "绑定邮箱",
+ "876tdf": "绑定账户",
+ "87yui2": "绑定成功",
+ "158yg2": "手机验证码登录",
+ "r329eu": "邮箱验证码登录",
+ "39hn6v": "账号密码注册",
+ "z13km0": "手机验证码注册",
+ "jc0w0o": "邮箱验证码注册",
+ "8tmyuc": "密码找回",
+ "5p23c6": "登录成功",
+ "btu2c1": "请先同意协议",
+ "no8ts6": "用于完善会员资料",
+ "3nmrg2": "授权失败",
+ "tghjer": "请获取手机号码",
+ "4c5n8o": "请填写手机号码",
+ "xak8g1": "请填写电子邮箱",
+ "ku05ty": "请填写手机或邮箱",
+ "7r5h37": "请输入有效验证码",
+ "24mvbh": "请填写账号",
+ "n24i5u": "剩余",
+ "4306xr": "秒",
+ "01xmab": "请填写验证码",
+ "prqvf1": "授权id不能为空",
+ "yvj88j": "请输入手机号码",
+ "yo6x3p": "请输入电子邮箱",
+ "n7vh75": "请输入账号",
+ "277w03": "请输入密码",
+ "cesl5d": "请输入验证码",
+ "c5wa4u": "登录中...",
+ "g30ew7": "注册中...",
+ "h0515x": "请输入手机或邮箱",
+ "wysg7k": "请设置密码",
+ "4wc3hr": "协议类型有误",
+ "x0nxxf": "协议url地址有误",
+ "li9573": "登录方式未处理"
+ }
+ },
+ "user-order-detail": {
+ "user-order-detail": {
+ "346376": "出货服务",
+ "7lp6gw": "查看位置",
+ "7f8p26": "商品信息",
+ "423rmr": "共",
+ "41ty94": "件 合计",
+ "7xtnjt": "未配置数据",
+ "7dikfm": "取货信息",
+ "0876xf": "快递信息",
+ "o38952": "取货码:",
+ "0f26j2": "订单信息",
+ "ct34n5": "扩展数据",
+ "y9woor": "密钥信息",
+ "hpq62x": "取货码不存在、请联系管理员",
+ "io6p5k": "订单模式",
+ "n18sd2": "订单编号",
+ "yghjkf": "订单商品",
+ "yxwu8n": "订单状态",
+ "23qj7m": "支付状态",
+ "vg4jb1": "订单单价",
+ "2y7l13": "订单总价",
+ "6ub2j0": "优惠金额",
+ "8b18q8": "增加金额",
+ "516tlr": "支付金额",
+ "0e1sfs": "支付方式",
+ "12d445": "快递公司",
+ "2byl8l": "快递单号",
+ "2b5fc8": "用户留言",
+ "h2c78h": "创建时间",
+ "9vivhl": "确认时间",
+ "wn83rn": "支付时间",
+ "1674dc": "发货时间",
+ "0i938r": "收货时间",
+ "1jpv4n": "取消时间",
+ "8o2of3": "关闭时间",
+ "5k6k56": "参数有误",
+ "i876o3": "地址有误",
+ "567ygf": "服务信息",
+ "67ujfr": "服务时长",
+ "gsfw4d": "服务人姓名",
+ "6ygfew": "服务人手机"
+ }
+ },
+ "setup": {
+ "setup": {
+ "x81v6d": "更换手机",
+ "j6skqh": "点击更换",
+ "dfg4wf": "点击绑定",
+ "r7jz13": "修改语言",
+ "42mba7": "地址管理",
+ "5eltza": "点击管理",
+ "t60222": "发票管理",
+ "izg78g": "点击前往",
+ "377uwg": "权限设置",
+ "5493ui": "清除缓存",
+ "f53166": "点击清除",
+ "656fv1": "客服电话",
+ "f25wcx": "点击拨打",
+ "11k15d": "账号注销",
+ "48r261": "注销后无法恢复",
+ "tghrf2": "关于我们",
+ "07o10b": "请先绑定手机",
+ "nwt4o1": "请先登录",
+ "utnr7g": "客服电话有误",
+ "87ytgh": "解绑",
+ "5u59b1": "更换邮箱",
+ "v8438r": "更换密码"
+ }
+ },
+ "article-category": {
+ "article-category": {
+ "gxra15": "浏览量"
+ }
+ },
+ "article-detail": {
+ "article-detail": {
+ "728374": "时间:",
+ "j92ru0": "浏览:",
+ "281s4a": "上一篇:",
+ "uq5814": "下一篇:"
+ }
+ },
+ "buy": {
+ "buy": {
+ "70u2vy": " 至 ",
+ "o7722q": "查看地图",
+ "876tgh": "运送方式",
+ "45ovhs": "优惠劵",
+ "58rs1a": "门店次卡",
+ "33fugm": "使用",
+ "4di4i2": "个积分",
+ "q7jq76": "快捷输入",
+ "wx78ju": "合计:",
+ "4884hk": "提交订单",
+ "2c3i88": "不使用优惠劵",
+ "8vqfp3": "不使用次卡",
+ "0pgsrm": "次",
+ "g2vt78": "已选",
+ "inyxpx": "选择",
+ "l1c8q6": "展示型不允许提交订单",
+ "6rk813": "请选择收货地址",
+ "wq7gnb": "请选择取货地址",
+ "553mxo": "请选择优惠券",
+ "80y7sv": "抵扣",
+ "2rhko1": "留言",
+ "718tux": "进入我的订单",
+ "p7e91u": "商品信息有误",
+ "4is2ak": "进入门店订单",
+ "s7rr5s": "时间",
+ "1fi842": "选择时间",
+ "q8u066": "请选择时间",
+ "df3raf": "我的姓名",
+ "hjwerf": "我的电话",
+ "8fghje": "请填写姓名和电话",
+ "hw4l5m": "可选优惠劵",
+ "5iuqow": "张",
+ "4rb08b": "暂无可用优惠劵",
+ "3740ur": "请选择地址",
+ "71kidy": "请选择支付方式",
+ "r79t77": "提交中...",
+ "31616e": "当前模式不允许使用地址",
+ "g7dk3f": "卡种选择",
+ "0s1k23": "立即开通",
+ "ntm2z5": "所有订单",
+ "b3dyo7": "终身",
+ "5lr84j": "购买时长未配置",
+ "5x86n3": "未配置会员等级",
+ "bmueac": "请选择开通时长",
+ "64ml60": "开通时长有误"
+ }
+ },
+ "agreement": {
+ "agreement": {
+ "w38e3v": "尊敬的用户、为了向您提供更优质的服务,在您使用",
+ "hjn568": "小程序前,您需要通过点击【同意】并阅读以下协议内容以表示您充分知悉、理解并同意本温馨提示的相关协议的各项规则,包括我们会在您开启的位置信息提供更契合您需求的页面展示、产品或服务,比如首页向您推荐商品或相关门店及排行榜信息。",
+ "iy7863": "服务用户协议》",
+ "jwi8n1": "隐私权政策》",
+ "062co8": "不同意",
+ "60t34e": "同意"
+ }
+ },
+ "open-setting-location": {
+ "open-setting-location": {
+ "407106": "]权限",
+ "61wezw": "开启相应的权限服务",
+ "6vev38": "获取[",
+ "lult41": "位置信息",
+ "65q4b3": "打开设置页",
+ "hwn386": "位置选择失败"
+ }
+ },
+ "customview": {
+ "customview": {
+ "726k7y": "输入商品名称搜索"
+ }
+ },
+ "error": {
+ "error": {
+ "u697ih": "异常错误"
+ }
+ },
+ "extraction-address": {
+ "extraction-address": {
+ "42v8tv": "距您"
+ }
+ },
+ "goods-category": {
+ "goods-category": {
+ "ico62g": "已选商品",
+ "44f1ww": "去结算",
+ "7e4m68": "没有子分类数据",
+ "5pj8ip": "请先选购商品",
+ "x69aow": "综合",
+ "at5p35": "销量",
+ "283ot0": "热度",
+ "g2u3lf": "价格",
+ "5p4ksj": "最新",
+ "gy7y0w": "不同规格的商品需在购物车减购",
+ "x46kbv": "购物车id有误",
+ "z1eh3v": "限购",
+ "1ox23z": "数量未改变",
+ "o6i1w2": "挑了这么久,真的要清空吗?"
+ }
+ },
+ "goods-comment": {
+ "goods-comment": {
+ "dfmjxd": "综合评分",
+ "1qh8s8": "暂无评分"
+ }
+ },
+ "goods-detail": {
+ "goods-detail": {
+ "1s79t4": "库存",
+ "w3jma9": "优惠券",
+ "u401fi": "规格",
+ "317jp2": "相关门店",
+ "dfge45": "门店介绍",
+ "567uhg": "门店商品",
+ "znz76d": "商品评价",
+ "1rqkjt": "好评率",
+ "6k7808": "我要评价",
+ "k5u755": "问答",
+ "q8e577": "查看全部回答",
+ "7ulh8b": "我要提问",
+ "l7dzv2": "商品参数",
+ "2j44o2": "商品详情",
+ "27wudx": "暂无详情数据",
+ "v2974w": "猜你喜欢",
+ "0gx41x": "无参数数据",
+ "m3op38": "无批发信息",
+ "96y691": "无优惠券信息",
+ "gwwf19": "无相关门店信息",
+ "8ej346": "无相关服务信息",
+ "775ppk": "限时秒杀",
+ "35f378": "暂停销售",
+ "6brk57": "请选择规格",
+ "dco1sc": "收藏",
+ "bogx42": "售价",
+ "3kdgjl": "销售价",
+ "by7052": "已",
+ "tq1976": "url值为空",
+ "uyghj2": "复制值为空",
+ "98v424": "门店数据有误",
+ "721e2h": "事件未处理("
+ }
+ },
+ "goods-search": {
+ "goods-search": {
+ "j8o278": "筛选出",
+ "t9nikq": "条数据",
+ "pxk051": "清除",
+ "4eerty": "产地",
+ "6n8316": "品牌",
+ "v6e5b7": "属性"
+ }
+ },
+ "index": {
+ "index": {
+ "443683": "已结束",
+ "516559": "活动规则",
+ "t8bll8": "最新",
+ "t8bll9": "资讯",
+ "s5r784": "最新购买",
+ "1c17n3": "已回",
+ "75l3l2": "未回",
+ "17vy72": "缺失tab数据!",
+ "i78v36": "回到店铺",
+ "lkld04": "评论:",
+ "r6vv25": "点赞:",
+ "6rsqp1": "所有",
+ "pot64x": "热门",
+ "8t4j95": "推荐商品",
+ "lk0i6c": "我的优惠券",
+ "p4872s": "领券中心",
+ "tbo22p": "加入会员",
+ "z88r5s": "获知会员积分详情",
+ "b46kge": "当前可用",
+ "t26j9z": "积分",
+ "srd2ch": "原始",
+ "u5642g": "积分规则",
+ "qbi72m": "知道了",
+ "i73nwk": "积分明细",
+ "f3l1xt": "商品兑换",
+ "4v5nq5": "兑换",
+ "t3d917": "选择位置",
+ "c5273j": "输入门店名称",
+ "1vf378": "最新门店",
+ "1e582h": "添加备注",
+ "7w75zb": "确定",
+ "6941e7": "收款",
+ "t1o84g": "请输入消费金额",
+ "872w3v": "即将开抢",
+ "399f6c": "秒杀价",
+ "f69r4i": "网络开小差了哦~00home",
+ "slf50q": "授权登录",
+ "rmv185": "若非本人操作,请忽略申请",
+ "n0vnl6": "已登录成功",
+ "63g4m1": "最新直播"
+ }
+ },
+ "logout": {
+ "logout": {
+ "u10002": "确认注销",
+ "9vfzz4": "账号注销后不可恢复、确定继续吗?"
+ }
+ },
+ "paytips": {
+ "paytips": {
+ "679rxu": "支付成功",
+ "jifuu8": "回到首页",
+ "d8m853": "正在处理中",
+ "6y488i": "支付失败",
+ "e732we": "已取消支付",
+ "13v11t": "网络连接出错",
+ "u1153p": "支付结果未知",
+ "6mpsl7": "用户取消支付",
+ "59u769": "其它异常错误"
+ }
+ },
+ "personal": {
+ "personal": {
+ "cw1d8p": "头像",
+ "gw8br3": "昵称",
+ "jibx42": "生日",
+ "6m33c4": "详细地址",
+ "x2fofv": "性别",
+ "44112i": "昵称1~16个字符",
+ "85404s": "请选择生日",
+ "re674n": "详细地址最多30个字符"
+ }
+ },
+ "detail": {
+ "detail": {
+ "324777": "至",
+ "455787": "推荐",
+ "b4f3nw": "活动商品",
+ "ans2p4": "更多活动",
+ "5knxg6": "没有相关商品",
+ "kt41ki": "留言时间:",
+ "e6ga1y": "浏览",
+ "ng628i": "管理员回复",
+ "7rg4bb": "回复时间:",
+ "p7o522": "我的提问",
+ "6026t4": "节省",
+ "32171c": "已失效",
+ "27pmj3": "立即购买",
+ "9624hp": "选择规格",
+ "8618mj": "请选择第",
+ "09e3bx": "个商品规格",
+ "40298g": "第",
+ "5kbjoy": "个商品不可用",
+ "jsj3u8": "请至少选择",
+ "jksm81": "个商品",
+ "1j6yxy": "相关商品",
+ "e439j9": "博文",
+ "j5owf1": "暂无物流信息",
+ "025362": "共有",
+ "0av5r9": "条相关商品",
+ "53m44k": "标签数据不存在",
+ "dor2v9": "营业时间:",
+ "688i26": "导航",
+ "r4124d": "客服:",
+ "54k10s": "长按微信咨询",
+ "vj4nom": "长按line咨询",
+ "q42ger": "商品搜索",
+ "8q6345": "请输入商品关键字",
+ "rdxjvh": "人签到,共",
+ "15i191": "积分,共",
+ "8ua11k": "组队",
+ "25x8ij": "已签到",
+ "mvj266": "立即签到",
+ "31lky7": "我的签到",
+ "p07k62": "今天",
+ "96bwp0": "今日",
+ "we522y": "未",
+ "mqmxbt": "签到,获得",
+ "sx6u43": "规则说明",
+ "6qk085": "签到成功",
+ "ndp2k3": "恭喜您获得",
+ "7itw5w": "立即使用",
+ "6w8t3g": "日",
+ "xtcy73": "一",
+ "w2p2d9": "二",
+ "xt8596": "三",
+ "13s18l": "四",
+ "n5rm3q": "五",
+ "3d23mc": "六",
+ "73rb8q": "年",
+ "zill36": "月",
+ "y2217b": "签到",
+ "4u64dg": "直播状态",
+ "y2639j": "开播时间",
+ "fa8h7j": "海报",
+ "eg25j9": "进入直播",
+ "86g7e1": "未安装微信APP",
+ "9d3o6w": "请在微信小程序中打开",
+ "6xvl35": "生成中...",
+ "fn3w01": "发布",
+ "4w20tq": "操作类型:",
+ "s101d1": "操作数量:",
+ "e30wj1": "原始数量:",
+ "jdour8": "最新数量:",
+ "7fhy2u": "查看更多明细",
+ "yvmu0z": "账户详情"
+ }
+ },
+ "form": {
+ "form": {
+ "s14osm": "添加图片(",
+ "2f52v3": "匿名发布",
+ "4yd066": "提交",
+ "qt0q5u": "请详细描述问题,我们将尽快为您解答!",
+ "bniyyt": "处理错误",
+ "8l3ul5": "用户未登录",
+ "5v5bjs": "请填写内容",
+ "043a10": "是否启用",
+ "5hn8k3": "封面图片",
+ "xy87t8": "描述",
+ "kvr2i3": "SEO标题",
+ "l87ju1": "SEO关键字",
+ "5487bt": "SEO描述",
+ "4vku7u": "帖子分类",
+ "4cbom4": "请选择",
+ "4h814w": "收起更多",
+ "lfwj0g": "展开更多",
+ "2e5rv3": "上传中请稍后",
+ "v19gg8": "请输入标题",
+ "gu3x97": "请选择分类",
+ "adiq70": "请输入内容"
+ }
+ },
+ "goods-list": {
+ "goods-list": {
+ "27nkjm": "的提问",
+ "00n7i3": "问",
+ "rw12i7": "答",
+ "278qr1": "查看全部",
+ "8y3cc7": "个回答",
+ "aem3e6": "收起回答",
+ "nr77jf": "暂无货源"
+ }
+ },
+ "user-detail": {
+ "user-detail": {
+ "o92ral": "提问详情",
+ "k5867n": "联系人",
+ "gfe703": "联系电话",
+ "uy6lrz": "标题",
+ "7cufw6": "内容",
+ "u411r2": "回复内容",
+ "teo6qd": "回复时间"
+ }
+ },
+ "search": {
+ "search": {
+ "723rbx": "其实搜索很简单^_^ !",
+ "e415ir": "未开始",
+ "46g3i2": "直播中",
+ "v60305": "暂停中",
+ "660us5": "其实搜索很简单 ^_^!",
+ "ic9b89": "请输入搜索关键字"
+ }
+ },
+ "user-list": {
+ "user-list": {
+ "yhvl2q": "确定要删除这条帖子吗?"
+ }
+ },
+ "shop": {
+ "shop": {
+ "4q9oe2": "已领取"
+ }
+ },
+ "user": {
+ "user": {
+ "981200": "返利概况",
+ "s3y4ji": "未使用",
+ "pggs6s": "已使用",
+ "528t26": "已过期",
+ "3ks1wi": "您暂无优惠券哦~",
+ "b5cnj1": "取货点",
+ "4rj120": "上级用户",
+ "567lwz": "修改",
+ "67y36w": "基础统计",
+ "rjye50": "人",
+ "q822fj": "返佣统计",
+ "xjxb2v": "去推广",
+ "25f97u": "查询",
+ "iynkpl": "请先输入用户信息搜索!",
+ "2344s8": "申请",
+ "nk3cpq": "输入用户ID/名/昵称/会员码/手机/邮箱",
+ "dcbt21": "自定义",
+ "4141u2": "查询中...",
+ "f5rny5": "请先搜索用户",
+ "n4orgk": "开通会员",
+ "k614v7": "续费会员",
+ "65cc6z": "连续开通",
+ "76dcx6": "推广客户",
+ "95s1ez": "按照原时长和费用续费,确定继续吗?",
+ "mgx9x4": "冻结",
+ "424v6n": "赠送",
+ "29f6n5": "转账",
+ "8752a4": "提现",
+ "91h03v": "付款码",
+ "ki1nor": "电话客服",
+ "2k0227": "退出账号",
+ "3q4p8k": "商品收藏",
+ "57xw84": "我的足迹",
+ "k78280": "我的积分",
+ "9u8e61": "待付款",
+ "66714e": "待发货",
+ "aa1ri3": "退款/售后",
+ "67p34x": "余额"
+ }
+ },
+ "logistics": {
+ "logistics": {
+ "dxu6ql": "配送时间:",
+ "5542tq": "未开始配送",
+ "895ug2": "送达时间:",
+ "76q0ii": "还没有送达"
+ }
+ },
+ "order": {
+ "order": {
+ "725882": "输入订单号/收件人/收件电话",
+ "865029": "异常原因",
+ "jhgfd1": "发货信息",
+ "hbvwq4": "收货信息",
+ "71n22h": "单ID",
+ "232ygr": "单号",
+ "7dxbm5": "电话",
+ "ra8222": "地址",
+ "75ie9c": "详情",
+ "021438": "开始配送",
+ "ip4xo5": "再次配送",
+ "51q275": "完成配送",
+ "fb6dge": "异常",
+ "46q2z7": "上传照片",
+ "o11d44": "最多上传",
+ "9cvj96": "提交完成",
+ "eyir7g": "提交异常",
+ "q4c8j0": "描述最多200个字符",
+ "g23kyj": "异常原因最多200个字符",
+ "psi67g": "删除后不可恢复、继续吗?",
+ "s5cpq5": "确定开始配送订单吗?",
+ "13j20t": "配送中",
+ "7ltibl": "请上传照片",
+ "c69064": "已配送",
+ "hun5n3": "请填写原因",
+ "pjb15r": "待支付",
+ "s8g966": "已支付",
+ "q820hx": "待收货",
+ "15lr5l": "已完成",
+ "330m76": "来源终端",
+ "p3scy0": "头像地址有误",
+ "o411h6": "合并开票",
+ "15k32o": "请先选择数据",
+ "3fr155": "元素参数id有误",
+ "1i873j": "支付",
+ "1k98tk": "已取消",
+ "6390gk": "已关闭",
+ "vvxct1": "开通单号",
+ "vjfki8": "开通时长",
+ "pn78ns": "取消后不可恢复,确定继续吗?",
+ "93j3zq": "无表单数据"
+ }
+ },
+ "order-detail": {
+ "order-detail": {
+ "9er1pc": "基础信息",
+ "36op8f": "订单号",
+ "ygvc34": "商户名称",
+ "x3ge6c": "订单金额",
+ "v52n5r": "退款金额",
+ "8n1f72": "商品数量",
+ "2443o1": "配送状态",
+ "342sfz": "配送时间",
+ "2dw4gd": "完成时间",
+ "r3bg45": "完成描述",
+ "521pp4": "完成照片",
+ "u745i8": "异常时间",
+ "5fq8pr": "派单时间",
+ "9153qn": "订单时间",
+ "pyw6xg": "用户头像",
+ "2d766e": "用户昵称",
+ "w78rgm": "下单时间",
+ "rn4hhi": "类型"
+ }
+ },
+ "extraction": {
+ "extraction": {
+ "suna53": "立即申请",
+ "j0o47u": "申请信息正在审核中...",
+ "60601g": "取货点信息",
+ "48rp75": "编辑信息",
+ "641gp7": "取货订单统计",
+ "wcv68q": "查看取货订单",
+ "53h4fj": "待处理",
+ "wq25fk": "已处理",
+ "864dtt": "当前状态也解约,可重新编辑数据提交审核。",
+ "11825x": "申请信息审核失败",
+ "w6hg74": "原因:"
+ }
+ },
+ "extraction-apply": {
+ "extraction-apply": {
+ "u439pg": "logo图片",
+ "bflosr": "建议300x300px",
+ "9t81k8": "别名",
+ "cy87k6": "省市区",
+ "liqbru": "请先选择省份",
+ "r4q86m": "请先选择城市",
+ "47v7m0": "地理位置",
+ "8831v6": "请选择地理位置",
+ "5y2yzu": "注意:编辑信息将重新审核后方可生效",
+ "wt1w0m": "别名格式最多 16 个字符",
+ "73efnt": "联系人格式 2~16 个字符之间",
+ "qixk24": "座机 或 手机",
+ "gxo73a": "详细地址格式 1~80 个字符之间",
+ "s3h5o3": "请选择省",
+ "4s4s15": "请选择市",
+ "fk4gw5": "请选择区/县",
+ "4s229b": "请先绑定手机号码",
+ "m3xdif": "请先授权用户信息",
+ "h8f437": "获取数据失败",
+ "fo7y6c": "省份获取失败",
+ "b6qg7b": "城市获取失败",
+ "5s5734": "区/县获取失败",
+ "q15b4n": "请填写联系人",
+ "3or25c": "请填写联系电话",
+ "m99d2g": "请选择省份",
+ "03587o": "请选择城市",
+ "pt8436": "请选择区县",
+ "v1g617": "请填写详细地址",
+ "rm14pu": "数据需重新审核后方可生效"
+ }
+ },
+ "extraction-order": {
+ "extraction-order": {
+ "2y7lq1": "取货",
+ "3m038g": "取货码",
+ "xb4044": "搜索条件",
+ "suo4oz": "请输入取货码",
+ "kuqvlv": "订单号/取货码",
+ "znufs8": "请输入取件码",
+ "hbj4y7": "操作数据有误"
+ }
+ },
+ "extraction-switch": {
+ "extraction-switch": {
+ "w94x36": "距离",
+ "613b58": "数据有误"
+ }
+ },
+ "introduce": {
+ "introduce": {
+ "017d67": "等级证书",
+ "el4ib2": "返佣比例",
+ "syf66q": "一级",
+ "q4t9kl": "二级",
+ "e5os6e": "三级",
+ "d7kle4": "等级规则",
+ "5t5vzi": "无条件"
+ }
+ },
+ "map": {
+ "map": {
+ "ivy154": "下单总数",
+ "557z8x": "查看订单"
+ }
+ },
+ "poster": {
+ "poster": {
+ "673605": "点击复制链接地址",
+ "rbdj4b": "海报分享",
+ "m54q3e": "保存海报后,发送给微信好友/群、QQ好友/群,分享到分朋友圈,微博等进行推广,轻轻松松赚返利!",
+ "b5i123": "查看长按保存",
+ "hk8c9p": "生成",
+ "9y4bwq": "二维码分享",
+ "h212v8": "保存二维码后,发送给微信好友/群、QQ好友/群,分享到分朋友圈,微博等进行推广,轻轻松松赚返利!",
+ "j3qv45": "查看二维码长按保存",
+ "r534xd": "链接分享",
+ "vn36y7": "复制以下链接,发送给微信好友/群、QQ好友/群,分享到分朋友圈,微博等进行推广,轻轻松松赚返利!",
+ "eu3j21": "宣传图片地址有误"
+ }
+ },
+ "profit": {
+ "profit": {
+ "3c7zmg": "待生效",
+ "67o785": "待结算",
+ "l5knxu": "已结算",
+ "utg512": "收益金额",
+ "6a7t71": "当前级别",
+ "19a8l6": "订单详情",
+ "4r88cp": "立即结算",
+ "8jqr78": "生效中",
+ "nk58v6": "有效金额",
+ "vuvz6g": "返现金额",
+ "5c7sof": "订单id有误",
+ "7y47sb": "返佣金额"
+ }
+ },
+ "profit-detail": {
+ "profit-detail": {
+ "kn8yye": "结算状态",
+ "x28rw5": "订单支付状态",
+ "jkrvf3": "结算时间",
+ "3jg81h": "返佣规则"
+ }
+ },
+ "promotion-order": {
+ "promotion-order": {
+ "6rs63v": "新增客户总GMV",
+ "iwa646": "订单总数",
+ "2p5215": "订单总GMV"
+ }
+ },
+ "promotion-user": {
+ "promotion-user": {
+ "62c8m1": "电话",
+ "i2rf31": "用户订单",
+ "o6qi74": "推广用户",
+ "kx7595": "已消费用户",
+ "2ey5t1": "未消费用户",
+ "852zib": "新增客户",
+ "h8mx3e": "新增客户(有效)",
+ "fvbq25": "新增客户(需复购)",
+ "2g7enc": "消费订单",
+ "32bf15": "消费金额",
+ "76748p": "最后下单时间",
+ "u43380": "下级订单",
+ "8n4tr3": "下级消费",
+ "1gc3ny": "下级最后下单时间",
+ "3l1187": "下级用户",
+ "g5332w": "未下单",
+ "8i641g": "已下单"
+ }
+ },
+ "recommend-detail": {
+ "recommend-detail": {
+ "265vyu": "起购",
+ "2sis3v": "库存数量"
+ }
+ },
+ "recommend-form": {
+ "recommend-form": {
+ "57zrl5": "图标",
+ "3vk50b": "建议100*100px",
+ "5ws7m3": "关联商品",
+ "q536vp": "移除",
+ "27goz3": "+ 选择商品",
+ "6rlju7": "当前展示",
+ "q4qr64": "标题格式1~60个字符",
+ "29au77": "描述格式最多200个字符",
+ "203itn": "商品分类",
+ "h5v45f": "请输入商品名称",
+ "20m5gj": "请先搜索数据!",
+ "7gc30l": "全部分类",
+ "yd3833": "请填写标题",
+ "31k41l": "请选择商品",
+ "e5k407": "搜索中...",
+ "145ci4": "选择成功",
+ "ocg49p": "已存在选择列表"
+ }
+ },
+ "recommend-list": {
+ "recommend-list": {
+ "x74z3o": "商品",
+ "78n1ly": "访问",
+ "54d418": "删除后不可恢复,确定继续吗?",
+ "w9460o": "不了"
+ }
+ },
+ "team": {
+ "team": {
+ "784249": "注册时间:",
+ "i040fg": "反向",
+ "2ny6k1": "下单时间:",
+ "2i4k79": "是否下单:",
+ "3l538c": "重置",
+ "pcaom3": "开始时间",
+ "iee9bp": "结束时间",
+ "6h2l64": "加入时间"
+ }
+ },
+ "visit-form": {
+ "visit-form": {
+ "0su017": "拜访内容",
+ "6l81lz": "拜访照片",
+ "e9r65a": "拜访内容,最多230个字符",
+ "6f63it": "请选择客户",
+ "5k455y": "请填写拜访内容",
+ "56vk4m": "请上传拜访照片"
+ }
+ },
+ "visit-list": {
+ "visit-list": {
+ "q76du4": "拜访描述",
+ "4z367h": "拜访图片"
+ }
+ },
+ "goods-comments": {
+ "goods-comments": {
+ "31ees6": "商品评分",
+ "6p942c": "请输入您的评价",
+ "pe5p52": "请选择评分",
+ "1wut9j": "请输入评价",
+ "s65197": "管理员回复:",
+ "1p1r2e": "此商品暂时还没有评价哦~"
+ }
+ },
+ "invoice": {
+ "invoice": {
+ "p3dmd2": "订单开票",
+ "bh8yt3": "充值开票",
+ "l3832z": "业务类型",
+ "hoenw8": "申请类型",
+ "j04kjc": "发票类型",
+ "fvuc4p": "发票金额",
+ "y724c7": "发票抬头"
+ }
+ },
+ "invoice-detail": {
+ "invoice-detail": {
+ "s70kj4": "申请信息",
+ "1s2f0g": "电子发票",
+ "4tu3v3": "可点击发票名称复制后、到浏览器打开地址下载发票。",
+ "rrfex6": "状态",
+ "p73963": "发票内容",
+ "41qbu6": "企业开户行名称",
+ "3a9459": "企业开户帐号",
+ "2g7t23": "企业联系电话",
+ "6k6sov": "企业注册地址",
+ "7159m0": "收件人姓名",
+ "f2222p": "收件人电话",
+ "q8l3zj": "收件人地址",
+ "rpdwd3": "拒绝原因",
+ "2000a0": "快递名称"
+ }
+ },
+ "invoice-saveinfo": {
+ "invoice-saveinfo": {
+ "x8hhiv": "企业统一社会信用代码或纳税识别号",
+ "t3i3e3": "请选择发票类型",
+ "k31t2s": "请选择申请类型",
+ "i73t3c": "请选择发票内容",
+ "x461e0": "发票抬头、最多200个字符",
+ "924cag": "企业统一社会信用代码或纳税识别号、最多160个字符",
+ "ymvw6b": "企业开户行名称、最多200个字符",
+ "664qc7": "企业开户帐号、最多160个字符",
+ "bbseo1": "企业联系电话 6~15 个字符",
+ "85735j": "企业注册地址、最多230个字符",
+ "gsc7dy": "收件人姓名格式 2~30 个字符之间",
+ "bp8822": "收件人电话 6~15 个字符",
+ "u7h724": "收件人地址、最多230个字符",
+ "d3qbe1": "电子邮箱、最多60个字符",
+ "vaw647": "备注最多230个字符",
+ "89815t": "开票",
+ "004t56": "添加",
+ "dl11n1": "发票金额必须大于0",
+ "r13p43": "请填写发票抬头、最多200个字符",
+ "ws4wbb": "请填写企业统一社会信用代码或纳税识别号、最多160个字符",
+ "87itn8": "请填写企业开户行名称、最多200个字符",
+ "01lw93": "请填写企业开户帐号、最多160个字符",
+ "414ihr": "请填写企业联系电话 6~15 个字符",
+ "g3yh32": "请填写企业注册地址、最多230个字符",
+ "4xy6xi": "请填写收件人姓名格式 2~30 个字符之间",
+ "quhnk0": "请填写收件人电话 6~15 个字符",
+ "kq77u3": "请填写收件人地址、最多230个字符"
+ }
+ },
+ "member-code": {
+ "member-code": {
+ "oc4x18": "如遇到扫码失败请将屏幕调至最亮重新扫码",
+ "26bu38": "会员码",
+ "x58gqu": "钱包付款码",
+ "yj6g3a": "去登录",
+ "kx4yk8": "会员码为空"
+ }
+ },
+ "batchorder-list": {
+ "batchorder-list": {
+ "25sh5e": "进行中"
+ }
+ },
+ "frequencycard-list": {
+ "frequencycard-list": {
+ "cgy327": "使用记录",
+ "954ewh": "有效",
+ "8x98g7": "暂停",
+ "5n3ums": "结束",
+ "n36x3w": "关闭",
+ "cx75t7": "可用次数",
+ "3m1w12": "已用次数",
+ "89t8am": "起始时间"
+ }
+ },
+ "frequencycard-used": {
+ "frequencycard-used": {
+ "538686": "扣除次数",
+ "xjmepo": "描述说明",
+ "aod4pc": "操作人员"
+ }
+ },
+ "orderallot-detail": {
+ "orderallot-detail": {
+ "81jvw1": "订单类型"
+ }
+ },
+ "orderallot-list": {
+ "orderallot-list": {
+ "w2w2w4": "收货",
+ "6m73j2": "批次",
+ "b13k5r": "次卡",
+ "w2t242": "物流",
+ "285ir2": "服务中",
+ "x5l17j": "已接收",
+ "o3ouqv": "请确认已收到货物或已完成,操作后不可恢复,确定继续吗?"
+ }
+ },
+ "tips": {
+ "tips": {
+ "0azfc3": "支付总额",
+ "579u02": "退出页面"
+ }
+ },
+ "design": {
+ "design": {
+ "882220": "至{{shop.close_week_name}},{{shop.open_time}}-",
+ "ay7m42": "搜全站",
+ "21kak7": "在线客服",
+ "745kx2": "分",
+ "wtx1l8": "查看商品分类",
+ "83occ4": "暂无数据",
+ "ses9m2": "请输入您搜索的商品关键字",
+ "i7725u": "搜本店",
+ "gv16tj": "至"
+ }
+ },
+ "user-coming-list": {
+ "user-coming-list": {
+ "xkwnl8": "奖励积分",
+ "sq4379": "签到时间"
+ }
+ },
+ "user-qrcode-detail": {
+ "user-qrcode-detail": {
+ "b5ilz3": "天,翻",
+ "22zc5y": " - {{ detail.specified_time_reward.time_end }},额外奖励 ",
+ "18680z": "连续签到翻倍奖励",
+ "dupsnc": "连续",
+ "c8e5of": "倍",
+ "37bh73": "指定时段额外奖励",
+ "6l7r99": "时段",
+ "mjfygy": "邀请人奖励",
+ "pb2e32": "受邀人奖励",
+ "do23j6": "联系人姓名",
+ "5k2ibd": "联系人电话",
+ "911a61": "联系人地址"
+ }
+ },
+ "user-qrcode-saveinfo": {
+ "user-qrcode-saveinfo": {
+ "xa2k42": "联系人姓名格式 2~30 个字符之间",
+ "e9ko33": "联系人电话 6~15 个字符",
+ "bbxaw6": "联系人地址、最多230个字符",
+ "jw2h8l": "签到码",
+ "84g5t6": "请填写联系人姓名格式 2~30 个字符之间",
+ "1tilke": "请填写联系人电话 6~15 个字符",
+ "5m2752": "请填写联系人地址、最多230个字符"
+ }
+ },
+ "cash-auth": {
+ "cash-auth": {
+ "b39a25": "选择身份认证方式",
+ "582q6x": "请选择认证账号",
+ "d318op": "请输入安全验证码",
+ "0j8388": "操作提示",
+ "59iipw": "1. 请选择 “",
+ "8qcte7": "绑定邮箱",
+ "t8y3r7": "“ 或 ”",
+ "5wbuuy": "“ 方式其一作为安全校验码的获取方式并正确输入。",
+ "r569wz": "2. 如果您未绑定手机或者邮箱已失效,可以绑定手机后通过接收手机短信完成验证。",
+ "35837l": "3. 如果您未绑定邮箱或者已失效,可以绑定邮箱后通过接收邮件完成验证。",
+ "q2a553": "4. 请正确输入下方图形验证码,如看不清可点击图片进行更换,输入完成后进行下一步操作。",
+ "lh6bjr": "5. 收到安全验证码后,请在10分钟内完成验证。",
+ "ob4gn0": "6. 安全验证成功后,请在30分钟内完成提现申请。",
+ "d2ng16": "绑定手机号码",
+ "l2i4s8": "当前有效金额",
+ "27b4w5": "提现最低金额",
+ "2hc312": "验证码格式 4 位数字",
+ "5dcsbd": "请选择认证方式"
+ }
+ },
+ "cash-create": {
+ "cash-create": {
+ "qg404q": "提现金额",
+ "9ugssd": "手续费",
+ "5o1q52": "赠送金额不可提现",
+ "iaw845": "可提现金额",
+ "1dbkw2": "可用金额",
+ "162f7o": "赠送总额",
+ "yu2raf": "提现方式",
+ "5mmir5": "收款平台",
+ "14n20v": "强烈建议优先填写国有4大银行(中国银行、中国建设银行、中国工商银行和中国农业银行) 请填写详细的开户银行分行名称,虚拟账户如支付宝、财付通、微信 直接填写 相应的名称 即可。",
+ "36756z": "收款账号",
+ "748r3i": "银行账号或虚拟账号(支付宝、财付通、微信等账号)",
+ "1xtff6": "开户人姓名",
+ "445m7n": "收款账号的开户人真实姓名",
+ "858o54": "安全验证已超时,请重新验证再操作",
+ "ke15x5": "返回重新申请提现",
+ "cymbdz": "提现金额,最低",
+ "27ky42": ",最高",
+ "u2rnlw": "收款平台格式 1~60 个字符之间",
+ "s72t44": "收款账号格式 1~60 个字符之间",
+ "f4605e": "开户人姓名格式 1~30 个字符之间",
+ "6t7x9u": "请填写提现金额",
+ "thjid2": "请选择提现方式",
+ "vbr59h": "请填写收款平台",
+ "0mn186": "请填写收款账号",
+ "c7h4mu": "请填写开户人姓名",
+ "724kn8": "提现不能低于",
+ "duo0ts": "提现不能大于",
+ "678iu2": "预计手续费"
+ }
+ },
+ "payment-code": {
+ "payment-code": {
+ "b74qxe": ")秒后自动刷新付款码"
+ }
+ },
+ "recharge": {
+ "recharge": {
+ "3shyx4": "账号余额",
+ "60k2v3": "选择充值金额",
+ "qbw1x2": "金额",
+ "x27b25": "立即充值",
+ "4fm61g": "充值说明",
+ "otwkjn": "充值",
+ "23zwpz": "其他",
+ "73f4v9": "请输入充值金额",
+ "lh6k86": "充币地址",
+ "e5rblc": "充币网络",
+ "eb6722": "选择充值币",
+ "k1e7hs": "其他数量",
+ "e8n7ul": "充值说明:",
+ "0i541i": "请输入充值数量",
+ "5q02ar": "请选择或输入充值数量"
+ }
+ },
+ "transfer": {
+ "transfer": {
+ "2q274j": "转账金额",
+ "9xe2bl": "我的余额:",
+ "t53ary": "请输入用户ID/名/码/手机/邮箱",
+ "g22y5v": "请输入转账金额",
+ "2bwh7h": "请输入转账备注信息",
+ "1aijp1": "请输入收款账号",
+ "x4mzo9": "请输入正确的收款账号",
+ "678uyg": "转账单号",
+ "4g21cu": "收款人",
+ "t36tk2": "转账备注",
+ "b4m5p3": "转账币",
+ "3i4h4z": "立即转账",
+ "d15853": "请输入转账币"
+ }
+ },
+ "user-cash-detail": {
+ "user-cash-detail": {
+ "e8a3e8": "提现单号",
+ "wyad6w": "提现状态",
+ "j5s3u6": "转账平台",
+ "53k647": "转账姓名",
+ "m556tl": "转账账户",
+ "i308o1": "打款金额",
+ "451xxt": "打款时间"
+ }
+ },
+ "user-recharge-detail": {
+ "user-recharge-detail": {
+ "ch84a8": "充值单号",
+ "dq5v2u": "充值状态",
+ "7272ia": "充值金额"
+ }
+ },
+ "user-transfer-detail": {
+ "user-transfer-detail": {
+ "x17599": "转账时间"
+ }
+ },
+ "wallet-log-detail": {
+ "wallet-log-detail": {
+ "tdf3wo": "操作类型",
+ "744os7": "金额类型",
+ "ruq60b": "操作金额",
+ "4q7pfq": "原始金额",
+ "r814ne": "最新金额",
+ "0ghn6g": "变更说明",
+ "i2kze7": "操作时间"
+ }
+ },
+ "user-address": {
+ "user-address": {
+ "e8qg73": "默认",
+ "3i4x2r": "添加新地址",
+ "1rwt3l": "导入系统地址",
+ "7r29v8": "收货人:",
+ "2nmsi1": "联系电话:",
+ "s150l6": "收货地址:"
+ }
+ },
+ "user-address-save": {
+ "user-address-save": {
+ "231435": "标签",
+ "620370": "地址ID有误",
+ "5yhgps": "姓名",
+ "h8f148": "地区",
+ "13rpdw": "点击选择地理位置",
+ "mb7cjx": "检索",
+ "4rc269": "地址",
+ "s3o1p5": "识别",
+ "42l857": "地址粘贴板",
+ "g43klm": "设为默认地址",
+ "3w7r14": "身份证姓名",
+ "0y1vl6": "身份证号码",
+ "761ek6": "身份证照片",
+ "c811s5": "请填使用身份证原件进行拍摄,图片清晰",
+ "wii4sp": "联系人2~16个字符",
+ "65507o": "座机或手机",
+ "he685s": "地址编号",
+ "vdkv32": "详细地址1~80个字符",
+ "b32r6v": "粘贴整段地址,自动拆分姓名、电话及地址",
+ "l6vjlm": "请输入标签名称",
+ "c73v42": "请填写真实姓名",
+ "c742c8": "请填写身份证号",
+ "t1loj5": "家",
+ "6t396c": "公司",
+ "34rqp8": "学校",
+ "2pey0m": "省份信息失败",
+ "7w01kd": "表单名称类型有误",
+ "z687lv": "请先输入地址信息",
+ "lrlmxf": "请填写身份证姓名",
+ "0x8i97": "请填写身份证号码",
+ "224l36": "请上传身份证正面照片",
+ "glf52g": "请上传身份证背面照片",
+ "wkfi45": "请输入数据"
+ }
+ },
+ "user-order": {
+ "user-order": {
+ "twc3r7": "评论",
+ "lp1v28": "催催",
+ "ht65c9": "子单",
+ "9l47b6": "表单",
+ "fyuikn": "资源",
+ "3l2jr5": "回购",
+ "7571p2": "合并支付",
+ "hp123x": "待取货",
+ "f5qqhu": "催促成功",
+ "a3c81d": "加购物车",
+ "5o756f": "直接购买"
+ }
+ },
+ "user-order-comments": {
+ "user-order-comments": {
+ "uboc44": "匿名",
+ "r9r3h0": "宝贝满足你的期待吗?说说它的优点和美中不足的地方吧",
+ "si255j": "非常差",
+ "42b0x1": "差",
+ "72mov3": "一般",
+ "16cmv6": "好",
+ "e4i88f": "非常好",
+ "021i2d": "你写的评论会以匿名的形式展现",
+ "h2ci83": "你写的评论会以昵称的形式展现",
+ "34ne4c": "请先评分",
+ "x6fwbf": "还有未评分",
+ "8f303u": "请填写评论内容",
+ "39y6ym": "评论内容 6~230 个字符之间",
+ "488j15": "每项评论图片不能超过3张"
+ }
+ },
+ "user-orderaftersale": {
+ "user-orderaftersale": {
+ "10c251": "退货",
+ "3wggcu": "待确认",
+ "1kcn16": "待退货",
+ "2kzi0t": "待审核",
+ "1p5456": "已拒绝"
+ }
+ },
+ "user-orderaftersale-detail": {
+ "user-orderaftersale-detail": {
+ "uuhf62": "立即退货",
+ "00je4f": "退货地址:",
+ "4y2c1l": "凭证",
+ "bprwq9": "退款原因",
+ "85pnkf": "商品件数",
+ "84upo4": "数量不能大于",
+ "1252if": "不能大于",
+ "9p6b1y": "退款说明",
+ "4y9355": "上传凭证",
+ "1l42ms": "最多上传3张图片",
+ "21icul": "请选择原因",
+ "9kvu52": "请输入退款金额",
+ "4f8u0c": "退款说明最多200个字符",
+ "6d14hq": "请输入快递名称",
+ "8tt862": "请输入快递单号",
+ "50cm8m": "退款类型",
+ "17j4cy": "当前状态",
+ "r2oy43": "申请原因",
+ "c53k23": "退货数量",
+ "5t586p": "退款方式",
+ "bifwmx": "退货时间",
+ "8n414b": "审核时间",
+ "23v6rp": "请选择操作类型",
+ "dn3423": "请选择退货数量",
+ "c9e2ms": "请填写快递名称",
+ "ld10pm": "请填写快递单号"
+ }
+ },
+ "ask-comments": {
+ "ask-comments": {
+ "2zlnb5": "评论(",
+ "du7rcv": "点赞(",
+ "6l6vz7": "字",
+ "3fcnme": "回复(",
+ "ymmd24": "条回复",
+ "dfhg54": "查看更多回复",
+ "5401r1": "条评论",
+ "4l77wt": "查看更多评论",
+ "8sjar6": "回复 @",
+ "m67961": "期待您的发言...",
+ "3o1rq6": "已超过最大输入字符限制"
+ }
+ },
+ "ask-comments-goods": {
+ "ask-comments-goods": {
+ "xl51n6": "条回答",
+ "g6mc44": "有疑问就问问其他同学吧~"
+ }
+ },
+ "binding-list": {
+ "binding-list": {
+ "kh7951": "购买",
+ "2u4v35": "收起",
+ "91d60h": "展开"
+ }
+ },
+ "bottom-line": {
+ "bottom-line": {
+ "44bct2": "我是有底线的"
+ }
+ },
+ "cart": {
+ "cart": {
+ "v37ow8": "商城",
+ "09gl3g": "门店",
+ "wb5465": "去逛逛",
+ "pxjwv8": "全选",
+ "3kr74b": "优惠:",
+ "n76213": "增加:",
+ "4tbj4s": "查看明细",
+ "7gdej1": "附近门店",
+ "h63814": "无门店信息",
+ "t41i4x": "金额明细",
+ "miti3i": "件商品",
+ "9s0l57": "共减",
+ "qh35gz": "共加",
+ "j8on74": "购物车空空如也",
+ "31h34v": "立即咨询",
+ "2wfu7o": "请绑定手机号码",
+ "3v6ulk": "挑了这么久,真的要删除吗?",
+ "8q2yej": "请先滑动要操作的数据",
+ "9g81jk": "数据不存在",
+ "8tt78i": "加入收藏",
+ "87rfg3": "取消收藏",
+ "346c25": "收藏成功",
+ "21051p": "收藏失败",
+ "3sy0mp": "请先选择商品"
+ }
+ },
+ "coupon-card": {
+ "coupon-card": {
+ "j318xx": "暂无type参数",
+ "m9316y": "去使用"
+ }
+ },
+ "goods-batch-buy": {
+ "goods-batch-buy": {
+ "9ectyf": "种",
+ "geq82x": "金额:",
+ "ypby1k": "无相关信息",
+ "7tp1tc": "操作事件类型有误",
+ "dsfd98": "无库存"
+ }
+ },
+ "goods-buy": {
+ "goods-buy": {
+ "ufdm25": "规格数据有误",
+ "737wzz": "购买数量",
+ "4maexq": "操作事件类型有误("
+ }
+ },
+ "nav-more": {
+ "nav-more": {
+ "h9g4b1": "点击收起"
+ }
+ },
+ "no-data": {
+ "no-data": {
+ "1u202v": "暂时无网络连接",
+ "imw8f1": "请您检查是否系统设置->蜂窝移动网络中是否允许【",
+ "q87572": "】APP使用蜂窝移动网络或无线局域网"
+ }
+ },
+ "online-service": {
+ "online-service": {
+ "4l6k22": "客服"
+ }
+ },
+ "payment": {
+ "payment": {
+ "973g2e": "无支付信息",
+ "z3y296": "尝试点击去支付",
+ "iu792d": "付款详情",
+ "25r53g": "立即付款",
+ "058a46": "没有支付方式",
+ "x6d585": "请先选择支付方式",
+ "011cj4": "操作后将立即扣除支付费用、确认继续吗?",
+ "7ihx9u": "支付方式有误",
+ "e1f54e": "请求中...",
+ "vhx5dv": "支付类型有误",
+ "597s8b": "支付组件接口不能为空",
+ "t4d687": "支付服务未配置",
+ "bv637f": "支付未定义",
+ "4dszme": "请使用真机操作、或小程序基础版本太低!",
+ "k2i010": "支付成功后、请不要重复支付、如果订单状态未成功请联系客服处理",
+ "2rw3qh": "支付方式还未适配",
+ "sdfs31": "是否已完成支付?"
+ }
+ },
+ "realstore-cart": {
+ "realstore-cart": {
+ "v437n6": "没有已加购的商品?",
+ "6bmc34": "切换",
+ "d1kk7x": "请选择下单类型",
+ "2dc65q": "请先加购商品",
+ "50lf68": "加载中",
+ "b27ln3": "加入购物车",
+ "47h2a0": "请求失败,请重试!",
+ "miv944": "起步",
+ "20epzm": "商品数据有误",
+ "8tzr7l": "门店信息有误",
+ "87tty2": "选择门店",
+ "76rfgh": "选择其他门店",
+ "r67uyg": "进入门店"
+ }
+ },
+ "share-popup": {
+ "share-popup": {
+ "h04xiy": "一键分享给好友、群聊",
+ "rhs2c5": "一键分享给微信好友、群聊",
+ "mv9l10": "一键分享给微信朋友圈",
+ "f08y38": "一键分享到微信收藏夹",
+ "1242w9": "一键分享到QQ好友、空间",
+ "1oh013": "点击复制地址分享给好友、群聊",
+ "dcp2qu": "生成海报,分享到朋友圈、好友及群聊"
+ }
+ },
+ "user-qrcode": {
+ "user-qrcode": {
+ "8p57v3": "组队签到"
+ }
+ },
+ "switch": {
+ "switch": {
+ "924s7v": "开",
+ "g142o6": "关",
+ "447u86": "提示",
+ "8w5ok6": "您确定要将其调整为{0}吗?"
+ }
+ },
+ "time-select": {
+ "time-select": {
+ "8k5rr7": "周日",
+ "17353c": "周一",
+ "40rmq4": "周二",
+ "q35g41": "周三",
+ "v213l8": "周四",
+ "8q3q2x": "周五",
+ "9605m5": "周六",
+ "h7l2xj": "日(",
+ "cq522p": "今天(",
+ "ub264m": "明天("
+ }
+ },
+ "upload": {
+ "upload": {
+ "b33f08": "上传图片"
+ }
+ },
+ "user-base": {
+ "user-base": {
+ "g5663y": "获取您的",
+ "913g4e": "获取用户",
+ "yujeaf": "完善个人资料,主要用于向用户提供 具有辨识度的用户中心界面",
+ "o19lj3": "输入昵称1~16个字符",
+ "8u9on2": "支付宝用户",
+ "t8i9l4": "百度用户",
+ "0imw74": "头条用户",
+ "27q5af": "QQ用户",
+ "211pk4": "快手用户",
+ "5x8o43": "微信用户",
+ "gzc3y4": "请上传头像",
+ "lro9u7": "请填写昵称"
+ }
+ },
+ "user-cash": {
+ "user-cash": {
+ "3v1gzc": "未打款",
+ "t7gtu0": "已打款",
+ "x47iu3": "打款失败"
+ }
+ },
+ "user-recharge": {
+ "user-recharge": {
+ "8y9dki": "去支付"
+ }
+ },
+ "wallet-log": {
+ "wallet-log": {
+ "9p865e": "减少",
+ "1nm6c2": "增加"
+ }
+ },
+ "shopxo-uniapp": {
+ "app": {
+ "5a7r0v": "本机号码一键登录",
+ "33k281": "我已阅读并同意",
+ "8l688n": "并使用本机号码登录",
+ "28r5dr": "服务协议",
+ "lb493k": "隐私权政策",
+ "ch1pd2": "本机号码组件调起失败",
+ "5y1c52": "事件值格式有误",
+ "t754n6": "提示信息为空 alert",
+ "iq66pg": "请复制地址到网页地图中查看!",
+ "v2j475": "坐标有误",
+ "3m1gbe": "uuid缓存失败",
+ "1244fe": "未知数据",
+ "r5ts62": "复制成功",
+ "r539kf": "复制内容为空",
+ "qm8548": "图片地址为空",
+ "gbiac6": "请打开授权",
+ "3eqv71": "请前往小程序使用完整服务",
+ "08cg8y": "客服地址有误",
+ "0gwt7z": "清除成功",
+ "87yghj": "退出成功",
+ "di6v5t": "请先获取授权",
+ "nu5058": "不支持地理位置选择!",
+ "4v6q86": "未选择位置",
+ "tghyu3": "当前位置"
+ }
+ },
+ "password": {
+ "password": {
+ "338433": "请确认新密码",
+ "xyekjf": "确认修改",
+ "4e24j1": "请输入当前密码",
+ "1lwiaz": "请输入新密码",
+ "3pp6t7": "确认新密码"
+ }
+ },
+ "cash": {
+ "cash": {
+ "zmhf3n": "可提现币",
+ "f6p4hm": "提现数量",
+ "6oc6e7": "全部提现",
+ "ucg8e2": "提币地址",
+ "h9i16y": "提币网络",
+ "1g49wo": "无网络数据",
+ "42b37m": "申请提现",
+ "i1f373": "请输入提币地址",
+ "g05p4g": "请输入提现备注信息",
+ "en6vsa": "网络数据为空、请联系客服!",
+ "w01qjc": "请输入提现数量"
+ }
+ },
+ "cash-list": {
+ "cash-list": {
+ "e6pffe": "提现单号:",
+ "2w20g2": "平台:",
+ "23ii8s": "充值网络:",
+ "714g2h": "充值地址:",
+ "1o8838": "提现币:",
+ "s7l616": "账户种类",
+ "t66tu3": "提现类型",
+ "311tt2": "网络类型",
+ "n74r94": "账户",
+ "2g251t": "网络",
+ "8hrc73": "确定删除这条提现订单吗"
+ }
+ },
+ "collection": {
+ "collection": {
+ "856g12": "复制",
+ "9p43lu": "扫一扫向对方发起转账,请核对认真账户后再确认转账!"
+ }
+ },
+ "convert": {
+ "convert": {
+ "o56h58": "余额:",
+ "4kcix6": "立即转换",
+ "327y2v": "转出和接收选择不能相同",
+ "vyjy7s": "请输入转换币"
+ }
+ },
+ "convert-list": {
+ "convert-list": {
+ "733518": "转入账户:",
+ "8813rd": "转换单号:",
+ "c374ec": "转出余额:",
+ "6mxu85": "转出账户:",
+ "6347mw": "最新币:",
+ "9oy325": "备注:",
+ "q48666": "发起账户",
+ "47646p": "接收账户"
+ }
+ },
+ "recharge-list": {
+ "recharge-list": {
+ "6b9399": "充值单号:",
+ "epd531": "充值币:",
+ "l5g8m1": "确定删除这条充值订单吗"
+ }
+ },
+ "recharge-pay": {
+ "recharge-pay": {
+ "lutmsv": "支付凭证",
+ "1a5vqk": "(最多上传10张图)",
+ "wu49vk": "支付备注",
+ "95pfkd": "请输入备注",
+ "v5fok8": "请上传凭证"
+ }
+ },
+ "transaction-list": {
+ "transaction-list": {
+ "1mf6wj": "币类型:",
+ "2w1o1l": "操作币:",
+ "jgx0cf": "原始币:",
+ "7cv11k": "描述:",
+ "cu39n5": "币类型"
+ }
+ },
+ "transfer-list": {
+ "transfer-list": {
+ "69rnx6": "转账单号:",
+ "4aj248": "收款人:",
+ "m2r55k": "转账币:",
+ "9g8lyb": "转账备注:"
+ }
+ },
+ "user-goods-comments": {
+ "user-goods-comments": {
+ "58804r": "是否显示",
+ "jnk6da": "是否回复",
+ "yyjemb": "是否匿名",
+ "0nhrj0": "评论内容"
+ }
+ },
+ "giftcard-index": {
+ "giftcard-index": {
+ "87ytyh": "卡密类型",
+ "hfg2fg": "卡密key",
+ "fyjnsd": "卡密数据",
+ "87yyj3": "兑换时间",
+ "8tfgh2": "卡密兑换",
+ "6redfg": "使用数据",
+ "fu3rf1": "请输入卡密key"
+ }
+ },
+ "givegift-gift": {
+ "givegift-gift": {
+ "8yghjd": "不限领取",
+ "567uye": "留言提示",
+ "rtyu33": "留言提示,格式最多200个字符",
+ "34rrr3": "给Ta留言表示感谢!"
+ }
+ }
+}
\ No newline at end of file
diff --git a/main.js b/main.js
new file mode 100644
index 0000000..3ee9879
--- /dev/null
+++ b/main.js
@@ -0,0 +1,25 @@
+import Vue from 'vue';
+import App from './App';
+
+// 全局mixins
+import base from './common/js/common/base';
+import share from './common/js/common/share';
+
+// 多语言引入并初始化
+import i18n from './locale/index'
+
+// 全局icon组件
+import iconfont from './components/iconfont/iconfont.vue'
+Vue.component("iconfont", iconfont);
+
+Vue.mixin(base);
+Vue.mixin(share);
+
+Vue.config.productionTip = false;
+App.mpType = 'app';
+
+const app = new Vue({
+ i18n,
+ ...App
+});
+app.$mount();
\ No newline at end of file
diff --git a/manifest.json b/manifest.json
new file mode 100644
index 0000000..9240948
--- /dev/null
+++ b/manifest.json
@@ -0,0 +1,259 @@
+{
+ "name" : "ShopXO",
+ "appid" : "__UNI__50E3C11",
+ "description" : "ShopXO开源商城、MIT协议、可商用、可二次开发、满足99%电商运营需求",
+ "versionName" : "1.0.0",
+ "versionCode" : 100,
+ "transformPx" : false,
+ "app-plus" : {
+ "usingComponents" : true,
+ "nvueCompiler" : "uni-app",
+ "compilerVersion" : 3,
+ "splashscreen" : {
+ "alwaysShowBeforeRender" : true,
+ "waiting" : true,
+ "autoclose" : true,
+ "delay" : 0
+ },
+ "modules" : {
+ "Payment" : {},
+ "Barcode" : {},
+ "OAuth" : {},
+ "Maps" : {},
+ "Geolocation" : {},
+ "Share" : {},
+ "VideoPlayer" : {},
+ "Camera" : {}
+ },
+ "distribute" : {
+ "android" : {
+ "permissions" : [
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ ""
+ ],
+ "targetSdkVersion" : 30,
+ "minSdkVersion" : 23
+ },
+ "ios" : {
+ "dSYMs" : false,
+ "privacyDescription" : {
+ "NSPhotoLibraryUsageDescription" : "获取用户手机相册用于提供相册图片素材",
+ "NSPhotoLibraryAddUsageDescription" : "将图片保存至手机相册",
+ "NSCameraUsageDescription" : "获取用户手机相册用于快捷拍照功能",
+ "NSLocationWhenInUseUsageDescription" : "该应用需要您的地理位置,以便为你提供当前位置信息",
+ "NSLocationAlwaysUsageDescription" : "该应用需要您的地理位置,以便为你提供当前位置信息",
+ "NSLocationAlwaysAndWhenInUseUsageDescription" : "该应用需要持续获取用户地理位置,以便为您提供实时的位置信息"
+ }
+ },
+ "sdkConfigs" : {
+ "payment" : {
+ "alipay" : {
+ "__platform__" : [ "ios", "android" ]
+ },
+ "weixin" : {
+ "__platform__" : [ "ios", "android" ],
+ "appid" : "wx3bac19ff90c0a976",
+ "UniversalLinks" : "https://d1.shopxo.vip/.well-known/"
+ },
+ "paypal" : {
+ "__platform__" : [ "ios", "android" ],
+ "returnURL_ios" : "com.shopxo.mm://paypal",
+ "returnURL_android" : "com.shopxo.mm://paypal"
+ }
+ },
+ "ad" : {},
+ "oauth" : {
+ "univerify" : {},
+ "apple" : {},
+ "weixin" : {
+ "appid" : "wx3bac19ff90c0a976",
+ "appsecret" : "91f132b39c5c575fe61b04993c57c734",
+ "UniversalLinks" : "https://d1.shopxo.vip/.well-known/"
+ },
+ "qq" : {
+ "appid" : "102076195",
+ "UniversalLinks" : "https://d1.shopxo.vip/.well-known/"
+ },
+ "google" : {
+ "clientid" : "510187709509-fq3t5grcfh81t4ub491tiadrtfjbaes1.apps.googleusercontent.com"
+ }
+ },
+ "maps" : {
+ "amap" : {
+ "name" : "amapu9VF72Gg",
+ "appkey_ios" : "f55e9099897821681f5c74051e4527bd",
+ "appkey_android" : "ebe9f1d84f8ceb8b3c4ba6ead2bfa78b"
+ }
+ },
+ "geolocation" : {
+ "system" : {
+ "__platform__" : [ "ios", "android" ]
+ }
+ },
+ "share" : {
+ "weixin" : {
+ "appid" : "wx3bac19ff90c0a976",
+ "UniversalLinks" : "https://d1.shopxo.vip/.well-known/"
+ },
+ "qq" : {
+ "appid" : "102076195",
+ "UniversalLinks" : "https://d1.shopxo.vip/.well-known/"
+ }
+ },
+ "push" : {}
+ },
+ "icons" : {
+ "android" : {
+ "hdpi" : "unpackage/res/icons/72x72.png",
+ "xhdpi" : "unpackage/res/icons/96x96.png",
+ "xxhdpi" : "unpackage/res/icons/144x144.png",
+ "xxxhdpi" : "unpackage/res/icons/192x192.png"
+ },
+ "ios" : {
+ "appstore" : "unpackage/res/icons/1024x1024.png",
+ "ipad" : {
+ "app" : "unpackage/res/icons/76x76.png",
+ "app@2x" : "unpackage/res/icons/152x152.png",
+ "notification" : "unpackage/res/icons/20x20.png",
+ "notification@2x" : "unpackage/res/icons/40x40.png",
+ "proapp@2x" : "unpackage/res/icons/167x167.png",
+ "settings" : "unpackage/res/icons/29x29.png",
+ "settings@2x" : "unpackage/res/icons/58x58.png",
+ "spotlight" : "unpackage/res/icons/40x40.png",
+ "spotlight@2x" : "unpackage/res/icons/80x80.png"
+ },
+ "iphone" : {
+ "app@2x" : "unpackage/res/icons/120x120.png",
+ "app@3x" : "unpackage/res/icons/180x180.png",
+ "notification@2x" : "unpackage/res/icons/40x40.png",
+ "notification@3x" : "unpackage/res/icons/60x60.png",
+ "settings@2x" : "unpackage/res/icons/58x58.png",
+ "settings@3x" : "unpackage/res/icons/87x87.png",
+ "spotlight@2x" : "unpackage/res/icons/80x80.png",
+ "spotlight@3x" : "unpackage/res/icons/120x120.png"
+ }
+ }
+ },
+ "splashscreen" : {
+ "useOriginalMsgbox" : true
+ }
+ }
+ },
+ "quickapp" : {},
+ "mp-weixin" : {
+ "requiredPrivateInfos" : [
+ "chooseLocation",
+ "getLocation",
+ "chooseAddress",
+ "onLocationChange",
+ "startLocationUpdate",
+ "startLocationUpdateBackground"
+ ],
+ "appid" : "wxda7779770f53e901",
+ "setting" : {
+ "urlCheck" : false,
+ "es6" : true,
+ "minified" : true,
+ "ignoreDevUnusedFiles" : false,
+ "ignoreUploadUnusedFiles" : false
+ },
+ "usingComponents" : true,
+ "permission" : {
+ "scope.userLocation" : {
+ "desc" : "你的位置将用于小程序中相应业务位置服务使用"
+ }
+ },
+ "__usePrivacyCheck__" : true,
+ "plugins" : {
+ // 腾讯地图路线规划插件(需要到小程序后台设置->第三方设置->插件管理里面添加【腾讯位置服务路线规划】插件,教程 https://mp.weixin.qq.com/wxopen/plugindevdoc?appid=wx50b5593e81dd937a)
+ // "routePlan" : {
+ // "version" : "1.0.19",
+ // "provider" : "wx50b5593e81dd937a"
+ // },
+ // 直播(需要到小程序后台设置->第三方设置->插件管理里面添加【小程序直播组件】插件,教程 https://mp.weixin.qq.com/wxopen/pluginbasicprofile?action=intro&appid=wx2b03c6e691cd7370)
+ // "live-player-plugin" : {
+ // "version" : "1.3.5",
+ // "provider" : "wx2b03c6e691cd7370"
+ // }
+ }
+ },
+ "mp-alipay" : {
+ "usingComponents" : true,
+ "appid" : "2021001173639600"
+ },
+ "mp-baidu" : {
+ "usingComponents" : true,
+ "appid" : "",
+ "setting" : {
+ "urlCheck" : false
+ }
+ },
+ "mp-toutiao" : {
+ "usingComponents" : true,
+ "appid" : "ttfb628ddf6458b04f",
+ "setting" : {
+ "urlCheck" : false
+ }
+ },
+ "networkTimeout" : {
+ "request" : 10000,
+ "downloadFile" : 10000
+ },
+ "mp-qq" : {
+ "appid" : "1110736292",
+ "setting" : {
+ "urlCheck" : false
+ },
+ "permission" : {
+ "scope.userLocation" : {
+ "desc" : "你的位置将用于小程序中相应业务位置服务使用"
+ }
+ }
+ },
+ "mp-kuaishou" : {
+ "appid" : "ks669910446353970565"
+ },
+ "h5" : {
+ "sdkConfigs" : {
+ "maps" : {
+ "qqmap" : {
+ "key" : "56SBZ-PCC3G-US2QM-IXYFE-4DE5H-GRBDK"
+ }
+ }
+ },
+ "devServer" : {
+ "https" : false,
+ "port" : 8082
+ },
+ "router" : {
+ "mode" : "hash",
+ "base" : "./"
+ },
+ "title" : "ShopXO",
+ "template" : "template.h5.html"
+ },
+ "vueVersion" : "2",
+ "locale" : "auto"
+}
diff --git a/node_modules/.package-lock.json b/node_modules/.package-lock.json
new file mode 100644
index 0000000..c57de32
--- /dev/null
+++ b/node_modules/.package-lock.json
@@ -0,0 +1,12 @@
+{
+ "name": "shopxo-uniapp",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {
+ "node_modules/jweixin-module": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/jweixin-module/-/jweixin-module-1.6.0.tgz",
+ "integrity": "sha512-dGk9cf+ipipHmtzYmKZs5B2toX+p4hLyllGLF6xuC8t+B05oYxd8fYoaRz0T30U2n3RUv8a4iwvjhA+OcYz52w=="
+ }
+ }
+}
diff --git a/node_modules/jweixin-module/README.md b/node_modules/jweixin-module/README.md
new file mode 100644
index 0000000..7c91d7b
--- /dev/null
+++ b/node_modules/jweixin-module/README.md
@@ -0,0 +1,30 @@
+# jweixin-module
+
+微信JS-SDK
+
+## 安装
+
+### NPM
+
+```shell
+npm install jweixin-module --save
+```
+
+### UMD
+
+```http
+https://unpkg.com/jweixin-module/out/index.js
+```
+
+## 使用
+
+```js
+var jweixin = require('jweixin-module')
+jweixin.ready(function(){
+ // TODO
+});
+```
+
+## 完整API
+
+>[微信JS-SDK说明文档](https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115)
diff --git a/node_modules/jweixin-module/lib/index.js b/node_modules/jweixin-module/lib/index.js
new file mode 100644
index 0000000..1b5014b
--- /dev/null
+++ b/node_modules/jweixin-module/lib/index.js
@@ -0,0 +1 @@
+!function(e,n){"function"==typeof define&&(define.amd||define.cmd)?define(function(){return n(e)}):n(e,!0)}(window,function(o,e){if(!o.jWeixin){var n,c={config:"preVerifyJSAPI",onMenuShareTimeline:"menu:share:timeline",onMenuShareAppMessage:"menu:share:appmessage",onMenuShareQQ:"menu:share:qq",onMenuShareWeibo:"menu:share:weiboApp",onMenuShareQZone:"menu:share:QZone",previewImage:"imagePreview",getLocation:"geoLocation",openProductSpecificView:"openProductViewWithPid",addCard:"batchAddCard",openCard:"batchViewCard",chooseWXPay:"getBrandWCPayRequest",openEnterpriseRedPacket:"getRecevieBizHongBaoRequest",startSearchBeacons:"startMonitoringBeacons",stopSearchBeacons:"stopMonitoringBeacons",onSearchBeacons:"onBeaconsInRange",consumeAndShareCard:"consumedShareCard",openAddress:"editAddress"},a=function(){var e={};for(var n in c)e[c[n]]=n;return e}(),i=o.document,t=i.title,r=navigator.userAgent.toLowerCase(),s=navigator.platform.toLowerCase(),d=!(!s.match("mac")&&!s.match("win")),u=-1!=r.indexOf("wxdebugger"),l=-1!=r.indexOf("micromessenger"),p=-1!=r.indexOf("android"),f=-1!=r.indexOf("iphone")||-1!=r.indexOf("ipad"),m=(n=r.match(/micromessenger\/(\d+\.\d+\.\d+)/)||r.match(/micromessenger\/(\d+\.\d+)/))?n[1]:"",g={initStartTime:L(),initEndTime:0,preVerifyStartTime:0,preVerifyEndTime:0},h={version:1,appId:"",initTime:0,preVerifyTime:0,networkType:"",isPreVerifyOk:1,systemType:f?1:p?2:-1,clientVersion:m,url:encodeURIComponent(location.href)},v={},S={_completes:[]},y={state:0,data:{}};O(function(){g.initEndTime=L()});var I=!1,_=[],w={config:function(e){B("config",v=e);var t=!1!==v.check;O(function(){if(t)M(c.config,{verifyJsApiList:C(v.jsApiList),verifyOpenTagList:C(v.openTagList)},function(){S._complete=function(e){g.preVerifyEndTime=L(),y.state=1,y.data=e},S.success=function(e){h.isPreVerifyOk=0},S.fail=function(e){S._fail?S._fail(e):y.state=-1};var t=S._completes;return t.push(function(){!function(){if(!(d||u||v.debug||m<"6.0.2"||h.systemType<0)){var i=new Image;h.appId=v.appId,h.initTime=g.initEndTime-g.initStartTime,h.preVerifyTime=g.preVerifyEndTime-g.preVerifyStartTime,w.getNetworkType({isInnerInvoke:!0,success:function(e){h.networkType=e.networkType;var n="https://open.weixin.qq.com/sdk/report?v="+h.version+"&o="+h.isPreVerifyOk+"&s="+h.systemType+"&c="+h.clientVersion+"&a="+h.appId+"&n="+h.networkType+"&i="+h.initTime+"&p="+h.preVerifyTime+"&u="+h.url;i.src=n}})}}()}),S.complete=function(e){for(var n=0,i=t.length;n
+
+
+
+
+
+
+
+ {{title}}
+
+
+
+ {{describe}}
+
+
+ {{ $t('login.login.2v11we') }}
+ {{ $t('login.login.myno2x') }}
+
+
+
+ Copyright 2018-{{year}} by {{title}}
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/article-category/article-category.css b/pages/article-category/article-category.css
new file mode 100644
index 0000000..842d67e
--- /dev/null
+++ b/pages/article-category/article-category.css
@@ -0,0 +1,8 @@
+.data-list .item-cover .cover {
+ width: 180rpx;
+ height: 180rpx;
+}
+.data-list .item-cover .base-right,
+.data-list .item-cover .base-right-bottom{
+ width: calc(100% - 200rpx);
+}
\ No newline at end of file
diff --git a/pages/article-category/article-category.vue b/pages/article-category/article-category.vue
new file mode 100644
index 0000000..6782b41
--- /dev/null
+++ b/pages/article-category/article-category.vue
@@ -0,0 +1,284 @@
+
+
+
+
+ {{$t('common.all')}}
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.title }}
+ {{item.describe}}
+
+ {{ item.add_time }}
+ {{$t('article-category.article-category.gxra15')}}{{ item.access_count }}
+
+
+
+
+ {{ item.title }}
+
+ {{ item.add_time }}
+ {{$t('article-category.article-category.gxra15')}}{{ item.access_count }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/article-detail/article-detail.css b/pages/article-detail/article-detail.css
new file mode 100644
index 0000000..119e42c
--- /dev/null
+++ b/pages/article-detail/article-detail.css
@@ -0,0 +1,3 @@
+.last-next-data .item {
+ width: calc(100% - 120rpx);
+}
\ No newline at end of file
diff --git a/pages/article-detail/article-detail.vue b/pages/article-detail/article-detail.vue
new file mode 100644
index 0000000..916f25f
--- /dev/null
+++ b/pages/article-detail/article-detail.vue
@@ -0,0 +1,162 @@
+
+
+
+
+ {{ data.title }}
+
+
+ {{$t('article-detail.article-detail.728374')}}
+ {{ data.add_time }}
+
+
+ {{$t('article-detail.article-detail.j92ru0')}}
+ {{ data.access_count }}
+
+
+
+
+
+
+
+
+
+
+ {{$t('article-detail.article-detail.281s4a')}}
+ {{ last_next.last.title }}
+
+
+ {{$t('article-detail.article-detail.uq5814')}}
+ {{ last_next.next.title }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/buy/buy.css b/pages/buy/buy.css
new file mode 100644
index 0000000..46dd7a0
--- /dev/null
+++ b/pages/buy/buy.css
@@ -0,0 +1,255 @@
+/**
+* 地址
+*/
+.address-base,
+.address-detail {
+ padding-right: 40rpx;
+ ;
+}
+.address-detail .text {
+ width: calc(100% - 40rpx);
+}
+.address-alias,
+.goods-group-alias,
+.goods-group-map-submit {
+ padding: 0 15rpx;
+ line-height: 40rpx;
+}
+
+/**
+* 商品
+*/
+.goods-group-icon {
+ width: 30rpx;
+ height: 30rpx;
+}
+.goods-group-title {
+ font-weight: bold;
+ vertical-align: middle;
+}
+.goods-group-alias {
+ border: 1px solid #3bb4f2;
+ color: #3bb4f2;
+}
+.goods-image {
+ width: 168rpx;
+ height: 168rpx;
+ margin-right: 20rpx;
+}
+.buy-number {
+ right: 0;
+ bottom: 0;
+}
+.goods-base {
+ min-height: 168rpx;
+ margin-left: 180rpx;
+}
+
+/**
+* 导航
+*/
+.bottom-fixed .nav-base {
+ width: 60%;
+}
+.bottom-fixed .nav-submit {
+ width: 40%;
+}
+.bottom-fixed .nav-submit .btn {
+ height: 70rpx;
+ line-height: 70rpx;
+}
+
+/**
+* 支付方式
+*/
+.payment-list .item-content {
+ padding: 20rpx 0;
+}
+.payment-list .item-content .icon {
+ width: 40rpx;
+ height: 40rpx !important;
+}
+.pay-tips {
+ height: 32rpx;
+ line-height: 32rpx;
+ display: inline-block;
+ position: absolute;
+ top: 12rpx;
+ color: #fff;
+ padding: 0 12rpx;
+ border-radius: 16rpx 0 16rpx 0;
+ font-size: 20rpx;
+ background: #D8D8D8 linear-gradient(107deg, #FC6F31 0%, #E22C08 100%);
+}
+
+/**
+* 扩展数据
+*/
+.extension-list {
+ background-color: #ffffeb;
+ border: 1px solid #ffe2cf;
+}
+.extension-list .item:not(:last-child) {
+ border-bottom: 1px dashed #ffe2cf;
+}
+.extension-list .item .text-tips {
+ color: #ff8f44;
+}
+
+/**
+* 留言
+*/
+.content-textarea-container .content {
+ height: 100rpx;
+}
+.content-textarea-container .textarea-view,
+.content-textarea-container .textarea {
+ height: 100% !important;
+}
+.content-textarea-container .textarea {
+ padding: 5rpx 0;
+}
+
+/**
+* 销售+自提 模式选择
+*/
+.buy-site-model .item {
+ padding: 25rpx 0;
+ width: 50%;
+}
+.buy-site-model.count-3 .item {
+ width: 33.33%;
+}
+.buy-site-model.count-4 .item {
+ width: 25%;
+}
+.buy-site-model.count-5 .item {
+ width: 20%;
+}
+
+/**
+ * 数据列表项
+ */
+.buy-data-item,
+.buy-data-item .right-value {
+ line-height: 80rpx;
+}
+.buy-data-item .right-value {
+ width: calc(100% - 260rpx);
+}
+.buy-data-item .right-value .right-value-content {
+ width: calc(100% - 32rpx);
+}
+
+/*
+* 插件样式区域
+*/
+/*
+* 优惠劵
+*/
+.plugins-coupon-popup {
+ padding-top: 20rpx;
+}
+.plugins-coupon-popup .close {
+ margin-right: 20rpx;
+}
+.plugins-coupon-container {
+ max-height: 80vh;
+ overflow-y: scroll;
+ overflow-x: hidden;
+}
+.plugins-coupon-container .item,
+.plugins-coupon-container .v-right,
+.plugins-coupon-container .v-right .circle {
+ height: 230rpx;
+}
+.plugins-coupon-container .not-use-tips {
+ color: #f7b240;
+ font-size: 32rpx;
+}
+
+/*
+* 积分
+*/
+.plugins-points-buy-container {
+ padding: 20rpx;
+}
+.plugins-points-buy-container .select .sales-price {
+ margin-left: 30rpx;
+ font-size: 28rpx;
+ font-weight: 400;
+}
+.plugins-points-buy-container .desc {
+ color: #F37B1D;
+}
+
+.plugins-points-use-value {
+ border-top-right-radius: 0 !important;
+ border-bottom-right-radius: 0 !important;
+ width: 130rpx;
+ height: 38rpx;
+ line-height: 38rpx;
+}
+
+.plugins-points-use-submit {
+ border-top-left-radius: 0 !important;
+ border-bottom-left-radius: 0 !important;
+ height: 42rpx !important;
+ line-height: 42rpx !important;
+}
+
+/**
+ * 门店次卡-页面选择
+ */
+.plugins-realstore-container-view .image {
+ width: 34rpx;
+ height: 34rpx !important;
+}
+
+/*
+ * 门店次卡-弹窗选择
+ */
+.plugins-realstore-container {
+ max-height: 80vh;
+ overflow-y: scroll;
+ overflow-x: hidden;
+}
+.plugins-realstore-container .item {
+ overflow: hidden;
+ height: 220rpx;
+}
+.plugins-realstore-container .v-left {
+ width: calc(100% - 140rpx);
+ padding: 30rpx 0 30rpx 20rpx;
+ box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ -webkit-box-sizing: border-box;
+}
+.plugins-realstore-container .v-left .base {
+ font-family: arial;
+ color: #D2364C;
+}
+.plugins-realstore-container .v-right {
+ width: 140rpx;
+ height: 220rpx;
+ font-weight: 500;
+}
+.plugins-realstore-container .v-right:before {
+ content: '';
+ display: inline-block;
+ height: 100%;
+ vertical-align: middle;
+}
+.plugins-realstore-container .item-disabled .v-right {
+ background: #dfdfdf !important;
+ color: #c0c0c0 !important;
+ cursor: no-drop !important;
+}
+
+
+/**
+ * 留言快捷选择 - 智能工具箱
+ */
+.plugins-intellectstools-data-note-fast .note-fast-data-list {
+ width: calc(100% - 112rpx);
+}
\ No newline at end of file
diff --git a/pages/buy/buy.vue b/pages/buy/buy.vue
new file mode 100644
index 0000000..1fe835b
--- /dev/null
+++ b/pages/buy/buy.vue
@@ -0,0 +1,1275 @@
+
+
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+ {{ address.alias }}
+ {{ address.name }}
+ {{ address.tel }}
+
+
+
+
+
+ {{ address.province_name || '' }}{{ address.city_name || '' }}{{ address.county_name || '' }}{{ address.address || '' }}
+
+
+
+ {{ (buy_site_model_value == 2) ? $t('buy.buy.wq7gnb') : $t('buy.buy.6rk813') }}
+
+
+
+
+
+
+
+
+
+ {{ buy_datetime_info.title }}
+
+
+ {{ buy_datetime_info.placeholder }}
+ {{ buy_datetime_info.value }}
+
+
+
+
+
+
+
+
+
+ {{$t('buy.buy.df3raf')}}
+
+
+
+ {{$t('buy.buy.hjwerf')}}
+
+
+
+
+
+
+
+
+
+
+
+ {{ group.name }}
+ {{ group.alias }}
+
+
+
+ {{ $t('buy.buy.o7722q') }}
+
+
+
+
+
+
+
+
+
+
+ {{ item.title }}
+
+
+ ;
+ {{ spec.value }}
+
+
+
+
+ {{ item.show_price_symbol }}{{ item.price }}
+ {{ item.show_price_unit }}
+
+
+ {{ item.show_original_price_symbol }}{{ item.original_price }}{{ item.show_original_price_unit }}
+
+ x{{ item.stock }}
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('buy.buy.876tgh') }}
+
+
+
+ {{ group.plugins_freightfee_data.default.fee_name }}
+
+
+
+
+
+
+
+
+
+ {{ $t('buy.buy.45ovhs') }}
+
+ {{ (plugins_choice_coupon_value || null) != null && (plugins_choice_coupon_value[group.id] || null) != null ? plugins_choice_coupon_value[group.id] : $t('buy.buy.553mxo') }}
+
+
+
+
+
+
+
+
+
+ {{ $t('buy.buy.58rs1a') }}
+
+ x{{ item.stock }}
+
+ {{ item.tips_msg }}
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.name }}
+ {{ item.tips }}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ plugins_points_data.use_msg_tips }}
+
+
+ {{ $t('buy.buy.33fugm') }}
+
+
+ {{ $t('buy.buy.4di4i2') }}
+
+
+ -{{ currency_symbol }}{{ plugins_points_data.discount_price }}
+
+
+
+
+
+ {{ plugins_points_data.usable_msg_tips }}
+
+
+ {{ plugins_points_data.not_msg_tips }}
+
+
+
+
+
+
+
+ {{ user_note_value || $t('buy.buy.2rhko1') }}
+
+
+ {{ $t('buy.buy.q7jq76') }}
+
+
+
+ {{ item }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.platform_name }}
+
+ {{ item.default_symbol }} {{ item.default_coin }}
+ {{ item.platform_symbol }} {{ item.normal_coin }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.name }}
+ {{ item.tips }}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item}}
+
+
+
+
+
+
+
+
+
+ {{ $t('buy.buy.wx78ju') }}
+ {{ currency_symbol }}{{ total_price }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('buy.buy.8vqfp3') }}
+
+
+
+
+
+
+ {{ item.valid_number }}
+ {{ $t('buy.buy.0pgsrm') }}
+ {{ item.name }}
+
+ {{ item.describe }}
+ {{ item.start_time }}{{ $t('buy.buy.70u2vy') }}{{ item.end_time }}
+
+
+ {{ $t('buy.buy.g2vt78') }}
+
+
+ {{ $t('buy.buy.inyxpx') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/cart-page/cart-page.vue b/pages/cart-page/cart-page.vue
new file mode 100644
index 0000000..8c027e1
--- /dev/null
+++ b/pages/cart-page/cart-page.vue
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/cart/cart.vue b/pages/cart/cart.vue
new file mode 100644
index 0000000..0da63ae
--- /dev/null
+++ b/pages/cart/cart.vue
@@ -0,0 +1,63 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/common/open-setting-location/open-setting-location.css b/pages/common/open-setting-location/open-setting-location.css
new file mode 100644
index 0000000..6faa539
--- /dev/null
+++ b/pages/common/open-setting-location/open-setting-location.css
@@ -0,0 +1,41 @@
+page {
+ background: #fbfbfb;
+}
+.open-setting-view {
+ background: hsla(0, 0%, 0%, 0.1);
+ position: fixed;
+ top: 0;
+ /* #ifdef H5 */
+ top: calc(88rpx + env(safe-area-inset-top));
+ /* #endif */
+ left: 0;
+ width: 100%;
+ height: 100%;
+ text-align: center;
+ z-index: 1000000;
+}
+.open-setting-view .content {
+ margin: 0 auto;
+ width: 360rpx;
+ height: 200rpx;
+ padding: 50rpx;
+ border-radius: 12rpx;
+ margin-top: 70%;
+ position: relative;
+}
+.open-setting-view .content button {
+ margin-top: 15rpx;
+}
+.open-setting-view .content .value {
+ margin-top: 5rpx;
+}
+.open-setting-view .content .value text {
+ font-weight: 500;
+ color: #333;
+}
+.open-setting-loding {
+ padding-top: 35%;
+}
+.open-setting-loding image {
+ margin: 0 auto;
+}
\ No newline at end of file
diff --git a/pages/common/open-setting-location/open-setting-location.vue b/pages/common/open-setting-location/open-setting-location.vue
new file mode 100644
index 0000000..58a6d1b
--- /dev/null
+++ b/pages/common/open-setting-location/open-setting-location.vue
@@ -0,0 +1,149 @@
+
+
+
+
+ {{$t('open-setting-location.open-setting-location.61wezw')}}
+ {{$t('open-setting-location.open-setting-location.6vev38')}}{{$t('open-setting-location.open-setting-location.lult41')}}{{$t('open-setting-location.open-setting-location.407106')}}
+
+
+ {{$t('common.return')}}
+
+
+
+
+
+
+ {{$t('common.return')}}
+
+
+ {{ error_msg }}
+
+
+
+
diff --git a/pages/customview/customview.vue b/pages/customview/customview.vue
new file mode 100644
index 0000000..b936901
--- /dev/null
+++ b/pages/customview/customview.vue
@@ -0,0 +1,146 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/design/design.vue b/pages/design/design.vue
new file mode 100644
index 0000000..a0fa6a7
--- /dev/null
+++ b/pages/design/design.vue
@@ -0,0 +1,193 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/diy/diy.vue b/pages/diy/diy.vue
new file mode 100644
index 0000000..d0db251
--- /dev/null
+++ b/pages/diy/diy.vue
@@ -0,0 +1,208 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/error/error.vue b/pages/error/error.vue
new file mode 100644
index 0000000..c311a3e
--- /dev/null
+++ b/pages/error/error.vue
@@ -0,0 +1,66 @@
+
+
+
+
+
+
+ {{params.msg}}
+ {{$t('error.error.u697ih')}}
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/extraction-address/extraction-address.css b/pages/extraction-address/extraction-address.css
new file mode 100644
index 0000000..9043aad
--- /dev/null
+++ b/pages/extraction-address/extraction-address.css
@@ -0,0 +1,15 @@
+.address-logo {
+ width: 140rpx;
+ height: 140rpx !important;
+}
+.address .item-icon {
+ width: 25rpx;
+ height: 28rpx !important;
+}
+.address-alias {
+ padding: 0 10rpx;
+}
+.address .text {
+ line-height: 44rpx;
+ width: calc(100% - 35rpx);
+}
\ No newline at end of file
diff --git a/pages/extraction-address/extraction-address.vue b/pages/extraction-address/extraction-address.vue
new file mode 100644
index 0000000..7d73894
--- /dev/null
+++ b/pages/extraction-address/extraction-address.vue
@@ -0,0 +1,255 @@
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.alias }}
+ {{ item.name }}
+ {{ item.tel }}
+
+
+
+ {{ item.province_name || "" }}{{ item.city_name || "" }}{{ item.county_name || "" }}{{ item.address || "" }}
+
+
+
+
+
+ {{$t('extraction-address.extraction-address.42v8tv')}}{{ item.distance_value }}{{ item.distance_unit }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/goods-category/goods-category.css b/pages/goods-category/goods-category.css
new file mode 100644
index 0000000..3f049f6
--- /dev/null
+++ b/pages/goods-category/goods-category.css
@@ -0,0 +1,335 @@
+/**
+ * 头部背景
+ */
+.goods-top-bg {
+ height: calc(320rpx + var(--status-bar-height) + 5px);
+ /* #ifdef H5 */
+ height: 286rpx;
+ /* #endif */
+ background-color: #f5f5f5;
+}
+.goods-top-search-bg {
+ background-color: #f5f5f5;
+}
+
+/**
+ * 导航搜索、内容区域
+ */
+.nav-search {
+ padding-right: 250rpx;
+ /* #ifdef MP-ALIPAY */
+ padding-right: 255rpx;
+ padding-left: 80rpx;
+ /* #endif */
+ /* #ifdef H5 || MP-TOUTIAO || APP */
+ padding-right: 20rpx;
+ /* #endif */
+ /* #ifdef H5 */
+ padding-top: 20rpx !important;
+ /* #endif */
+ padding-bottom: 20rpx;
+ height: 64rpx;
+ z-index: 5;
+}
+.nav-more-top {
+ /* #ifdef H5 || APP */
+ top: 135rpx !important;
+ /* #endif */
+}
+
+/**
+* 左侧导航
+*/
+.left-nav {
+ width: 200rpx;
+ background-color: #f5f5f5;
+ height: 100%;
+}
+.left-nav .item {
+ height: 80rpx;
+ line-height: 80rpx;
+ padding: 0 10rpx;
+ background: #f5f5f5;
+}
+.left-nav .nav-active {
+ background: #fff;
+ font-weight: 500;
+}
+
+/**
+* 右侧内容
+*/
+.right-container {
+ width: calc(100% - 200rpx);
+ height: 100%;
+ top: 0;
+ right: 0;
+ background: #f5f5f5;
+}
+.content-item {
+ width: calc(100% / 3);
+}
+.content-item .content {
+ padding: 28rpx;
+}
+.content-item .text {
+ font-weight: 600;
+}
+.content-item .icon {
+ width: 92rpx;
+ height: 92rpx;
+}
+.content-item.two-img .icon {
+ width: 104rpx;
+ height: 104rpx;
+}
+.content-item.two-img .content {
+ padding: 26rpx 0;
+}
+.model-one .content-item:nth-child(3n) {
+ border-right: 0;
+}
+.model-one .content .desc {
+ min-height: 52rpx;
+ line-height: 26rpx;
+}
+.model-one .content {
+ height: 240rpx;
+}
+.one-content image {
+ height: 120rpx;
+}
+.text-random-1,
+.text-random-2,
+.text-random-3,
+.text-random-4,
+.text-random-5,
+.text-random-6,
+.text-random-7,
+.text-random-8,
+.text-random-9 {
+ position: relative;
+}
+.text-random-1::before,
+.text-random-2::before,
+.text-random-3::before,
+.text-random-4::before,
+.text-random-5::before,
+.text-random-6::before,
+.text-random-7::before,
+.text-random-8::before,
+.text-random-9::before {
+ content: '';
+ width: 126rpx;
+ height: 12rpx;
+ border-radius: 6rpx;
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ opacity: 0.6;
+}
+.text-random-1::before {
+ background: linear-gradient(90deg, #F2C3A5 0%, rgba(255, 255, 255, 0) 100%);
+}
+.text-random-2::before {
+ background: linear-gradient(90deg, #FF9BBB 0%, rgba(255, 255, 255, 0) 100%);
+}
+.text-random-3::before {
+ background: linear-gradient(90deg, #EAC5A9 0%, rgba(255, 255, 255, 0) 100%);
+}
+.text-random-4::before {
+ background: linear-gradient(90deg, #F7BEBE 0%, rgba(255, 255, 255, 0) 100%);
+}
+.text-random-5::before {
+ background: linear-gradient(90deg, #F2DC86 0%, rgba(255, 255, 255, 0) 100%);
+}
+.text-random-6::before {
+ background: linear-gradient(90deg, #98B7E8 0%, rgba(255, 255, 255, 0) 100%);
+}
+.text-random-7::before {
+ background: linear-gradient(90deg, #CD92F3 0%, rgba(255, 255, 255, 0) 100%);
+}
+.text-random-8::before {
+ background: linear-gradient(90deg, #5EEA7C 0%, rgba(255, 255, 255, 0) 100%);
+}
+.text-random-9::before {
+ background: linear-gradient(90deg, #E67A7A 0%, rgba(255, 255, 255, 0) 100%);
+}
+
+
+/**
+ * 商品列表模式
+ */
+.category-content {
+ height: 100vh;
+ /* #ifdef MP-WEIXIN || MP-BAIDU || MP-QQ || MP-KUAISHOU || MP-ALIPAY || APP */
+ height: calc(100vh - 134rpx - var(--window-bottom));
+ /* #endif */
+ /* #ifdef H5 */
+ height: calc(100vh - 104rpx - var(--window-bottom));
+ /* #endif */
+}
+.category-content.goods-model {
+ padding-top: 182rpx;
+}
+.top-nav {
+ height: 182rpx;
+ top: 0;
+ left: 0;
+ z-index: 4;
+}
+.top-nav-scroll {
+ width: calc(100% - 70rpx);
+}
+.top-nav .icon-content {
+ width: 92rpx;
+ height: 92rpx;
+ padding: 1px;
+}
+.top-nav-scroll .item:first-of-type {
+ padding-left: 16rpx;
+}
+.top-nav .item {
+ padding: 20rpx 4rpx;
+}
+.nav-list-more {
+ width: 100%;
+ max-height: 550rpx;
+ overflow-y: auto;
+}
+.nav-list-more image {
+ width: 92rpx;
+ height: 92rpx;
+ border-radius: 50%;
+ margin-bottom: 10rpx;
+}
+.nav-list-more .item {
+ width: 20%;
+ padding: 20rpx 0;
+}
+.goods-right-content {
+ width: calc(100% - 200rpx);
+ height: calc(100% - 182rpx);
+ top: 182rpx;
+ right: 0;
+}
+.right-content-actual .item {
+ padding-bottom: 20rpx;
+}
+.right-content-actual .item:not(:last-of-type) {
+ border-bottom: 1px solid #eee;
+}
+.right-content-actual .item .plugins-label-img {
+ border-top-left-radius: 10rpx;
+}
+.goods-right-content.category-one-subset-content {
+ width: 100%;
+}
+.goods-list-top-nav {
+ position: sticky;
+ top: 0;
+ right: 0;
+ z-index: 3;
+}
+.nav-sort-content .sort-item {
+ height: 80rpx;
+ line-height: 80rpx;
+ width: 20%;
+}
+.nav-sort-content .sort-item .sort-icon {
+ width: 26rpx;
+ height: 26rpx !important;
+}
+.goods-list .goods-img {
+ width: 160rpx;
+ height: 160rpx !important;
+}
+.goods-list .goods-base {
+ width: calc(100% - 200rpx);
+ padding-right: 20rpx;
+}
+.goods-list .goods-base-content {
+ min-height: 100rpx;
+}
+.goods-list .goods-base .simple-desc {
+ line-height: 30rpx;
+ min-height: 30rpx;
+ max-height: 58rpx;
+}
+.goods-list .goods-base .sales-price {
+ width: calc(100% - 140rpx);
+}
+.goods-list .goods-base .buy-number {
+ min-width: 32rpx;
+}
+
+/**
+ * 底部导航
+ */
+.botton-nav {
+ width: calc(100% - 60rpx);
+ left: auto;
+ bottom: 20rpx;
+ z-index: 2;
+ margin-left: 20rpx;
+ box-shadow: 0rpx 4rpx 8rpx 0px rgba(0, 0, 0, 0.16);
+ line-height: 84rpx;
+ height: 84rpx;
+}
+.botton-nav .btn {
+ height: 70rpx;
+ line-height: 70rpx;
+}
+.botton-nav .cart .badge-icon {
+ top: -20rpx;
+ right: -2rpx;
+}
+
+/**
+ * 购物车
+ */
+.cart-mask {
+ left: 0;
+ top: 0;
+ background: rgb(0, 0, 0, 0.6);
+ z-index: 5;
+}
+.cart-content {
+ left: auto;
+ bottom: 150rpx;
+ width: calc(100% - 40rpx);
+ z-index: 6;
+ max-width: calc(800px - 40rpx);
+ margin-left: 20rpx;
+}
+.cart-content .cart-list {
+ max-height: 60vh;
+}
+.cart-content .cart-list .goods-img {
+ width: 132rpx;
+ height: 132rpx !important;
+}
+.cart-content .cart-list .goods-base {
+ padding-right: 0;
+ padding-left: 24rpx;
+}
+.cart-content .cart-list .goods-base-content {
+ min-height: 60rpx;
+}
+
+/**
+ * 无数据
+ */
+.no-data {
+ z-index: 101;
+}
+
+/*
+ * 隐藏滚动条
+ */
+scroll-view ::-webkit-scrollbar {
+ display: none;
+ width: 0;
+ height: 0;
+ color: transparent;
+}
\ No newline at end of file
diff --git a/pages/goods-category/goods-category.vue b/pages/goods-category/goods-category.vue
new file mode 100644
index 0000000..6096174
--- /dev/null
+++ b/pages/goods-category/goods-category.vue
@@ -0,0 +1,1393 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.name }}
+ {{ item.describe }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('common.all') }}
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+ {{ $t('common.all') }}
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.title }}
+ {{ item.simple_desc }}
+
+
+
+
+ {{ item.show_price_symbol }}
+ {{ item.min_price }}
+
+ {{ item.show_price_unit }}
+
+
+
+
+
+
+
+ {{ item.buy_number }}
+
+
+
+
+
+
+ {{ item.error_msg }}
+
+
+
+
+
+
+
+
+
+
+ {{ lv.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ data_content.vice_name }}
+
+ {{ data_content.describe }}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ v.name }}
+
+
+
+
+
+
+
+
+
+
+ {{ v.name }}
+ {{ v.describe }}
+
+ {{ $t('common.more') }}
+
+
+
+
+
+
+ {{ vs.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('goods-category.goods-category.ico62g') }}
+
+
+
+
+ {{ $t('common.clear') }}
+
+
+
+
+
+
+
+
+ {{ goods.title }}
+
+
+ ;
+ {{ sv.value }}
+
+
+
+
+ {{ currency_symbol }}{{ goods.price }}
+
+
+
+
+
+
+ {{ goods.stock }}
+
+
+
+
+
+
+ {{ goods.error_msg }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ currency_symbol }}
+ {{ (cart || null) == null ? 0 : cart.total_price || 0 }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/goods-comment/goods-comment.css b/pages/goods-comment/goods-comment.css
new file mode 100644
index 0000000..93e8f71
--- /dev/null
+++ b/pages/goods-comment/goods-comment.css
@@ -0,0 +1,52 @@
+/*
+ * 评分
+ */
+.score-container .score {
+ width: 180rpx;
+ border-right: 1px solid #eee;
+}
+.score-container .score .value {
+ font-weight: bold;
+ font-size: 60rpx;
+ line-height: 60rpx;
+ margin-top: 10rpx;
+}
+.progress {
+ overflow: hidden;
+ height: 40rpx;
+ background-color: #eee;
+ margin-left: 24rpx;
+}
+.progress .cr-grey {
+ font-size: 24rpx;
+ line-height: 40rpx;
+}
+.progress-bar {
+ float: left;
+ width: 0;
+ height: 100%;
+ font-size: 24rpx;
+ line-height: 40rpx;
+ color: #fff;
+ text-align: center;
+ background-color: #0e90d2;
+}
+.progress-bar-danger {
+ background-color: #dd514c;
+}
+.progress-bar-warning {
+ background-color: #F37B1D;
+}
+.progress-bar-secondary {
+ background-color: #3bb4f2;
+}
+.progress-bar-success {
+ background-color: #5eb95e;
+}
+
+/*
+ * 列表
+ */
+.scroll-box {
+ height: calc(100vh - 148rpx);
+}
\ No newline at end of file
diff --git a/pages/goods-comment/goods-comment.vue b/pages/goods-comment/goods-comment.vue
new file mode 100644
index 0000000..2ee293d
--- /dev/null
+++ b/pages/goods-comment/goods-comment.vue
@@ -0,0 +1,254 @@
+
+
+
+
+
+
+
+
+
+
+
+ {{$t('goods-comment.goods-comment.dfmjxd')}}
+ {{ goods_score.avg || "0.0" }}
+
+
+
+
+ {{ item.name }}
+
+
+ {{$t('goods-comment.goods-comment.1qh8s8')}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/goods-detail/goods-detail.css b/pages/goods-detail/goods-detail.css
new file mode 100644
index 0000000..8e64496
--- /dev/null
+++ b/pages/goods-detail/goods-detail.css
@@ -0,0 +1,578 @@
+.page {
+ padding-bottom: 130rpx;
+}
+
+/**
+ * 顶部导航内容
+ */
+.top-nav-left-icon {
+ top: 28px;
+ z-index: 11;
+}
+.top-nav-left-icon {
+ left: auto;
+ margin-left: 20rpx;
+}
+.top-nav-left-icon .icon {
+ background: rgb(255 255 255 / 70%);
+ width: 25px;
+ height: 25px;
+ line-height: 25px;
+ display: block;
+ float: left;
+ text-align: center;
+ padding: 3px;
+}
+.top-nav {
+ position: absolute;
+ bottom: 0;
+ width: calc(100% - 40rpx);
+ /* #ifdef H5 || APP */
+ bottom: 6px;
+ padding-bottom: 5px;
+ /* #endif */
+}
+.top-nav-content {
+ margin: 0 auto;
+ width: 310rpx;
+ margin-left: calc(50% - 170rpx);
+}
+.top-nav-content text {
+ font-size: 30rpx;
+ /* #ifdef H5 || APP */
+ font-size: 14px;
+ /* #endif */
+}
+.top-nav-content text:not(:last-child) {
+ margin-right: 30rpx;
+}
+.top-nav-content .nav-active {
+ font-weight: 500;
+ padding-bottom: 2rpx;
+ border-style: solid;
+ border-width: 0 0 2px 0;
+}
+
+/**
+ * 顶部更多导航
+ */
+.nav-more-view {
+ position: fixed;
+ z-index: 20;
+ top: 62px;
+ left: 20rpx;
+}
+.nav-more-view .triangle {
+ width: 0;
+ height: 0;
+ border-width: 0 5px 5px 5px;
+ border-style: solid;
+ border-color: transparent transparent rgb(0 0 0 / 0.7) transparent;
+ top: -5px;
+ left: calc(20rpx + 42px);
+}
+.nav-more-view .content {
+ background: rgb(0 0 0 / 0.7);
+}
+.nav-more-view .content .item {
+ font-size: 12px;
+}
+.nav-more-view .content .item:not(:last-child) {
+ border-bottom: 1px solid #585858;
+}
+
+/**
+ * 相册
+ */
+.goods-photo .swiper,
+.goods-photo .swiper-item {
+ height: 55vh !important;
+ display: block;
+}
+
+/**
+ * 购买操作导航
+ */
+.goods-buy-nav .btn-items .btn {
+ height: 70rpx;
+ line-height: 70rpx;
+ padding: 0 10rpx;
+ margin-right: 15rpx;
+ position: relative;
+}
+.goods-buy-nav .image {
+ width: 40rpx;
+ height: 40rpx;
+ margin: 10rpx 0 5rpx 0;
+}
+.goods-buy-nav .dis-block {
+ margin-top: -10rpx;
+}
+.goods-buy-nav .badge-icon {
+ position: absolute;
+ top: 2rpx;
+ left: calc(50% + 25rpx);
+ z-index: 1;
+}
+.goods-buy-nav-btn-number-0 .btn,
+.goods-buy-nav-btn-number-1 .btn {
+ width: calc(100% - 15rpx) !important;
+}
+.goods-buy-nav-btn-number-2 .btn {
+ width: calc(50% - 15rpx) !important;
+}
+.goods-buy-nav-btn-number-3 .btn {
+ width: calc(33.33% - 15rpx) !important;
+}
+.goods-buy-nav-btn-number-4 .btn {
+ width: calc(25% - 15rpx) !important;
+}
+.goods-buy-nav-btn-number-5 .btn {
+ width: calc(20% - 15rpx) !important;
+}
+.goods-buy-nav-btn-number-6 .btn {
+ width: calc(16.66% - 15rpx) !important;
+}
+.goods-buy-nav-btn-number-7 .btn {
+ width: calc(14.28% - 15rpx) !important;
+}
+.goods-buy-nav-btn-number-8 .btn {
+ width: calc(12.5% - 15rpx) !important;
+}
+.goods-buy-nav-btn-number-9 .btn {
+ width: calc(11.11% - 15rpx) !important;
+}
+.goods-buy-nav-btn-number-10 .btn {
+ width: calc(10% - 15rpx) !important;
+}
+
+/**
+ * 商品基础
+ */
+.goods-base-content .goods-title-content {
+ position: relative;
+ min-height: 86rpx;
+}
+.goods-base-content .goods-title-content .goods-title {
+ font-size: 30rpx;
+ line-height: 40rpx;
+ font-weight: bold;
+ width: calc(100% - 200rpx);
+}
+.goods-base-content image {
+ width: 40rpx;
+ height: 40rpx;
+}
+.goods-base-content .collect {
+ width: 76rpx;
+}
+
+/**
+* 视频
+*/
+.goods-video {
+ width: 100%;
+ top: 0;
+ left: 0;
+ z-index: 1;
+}
+.goods-video video {
+ width: 100%;
+ height: 55vh !important;
+}
+.goods-video-submit {
+ left: 50rpx;
+ top: auto;
+ bottom: 60rpx;
+ z-index: 2;
+}
+.goods-video-submit image {
+ width: 80rpx;
+ height: 80rpx !important;
+}
+
+/**
+ * 基础价格信息
+ */
+.goods-base-price,
+.price-content,
+.goods-base-right-opt {
+ min-height: 145rpx;
+}
+.price-content {
+ width: calc(100% - 200rpx);
+}
+.goods-base-right-opt {
+ width: 200rpx;
+}
+.price-content,
+.goods-base-right-opt {
+ box-sizing: border-box;
+ position: relative;
+ height: 100%;
+}
+.goods-base-right-opt image {
+ width: 40rpx;
+ height: 40rpx;
+}
+.goods-base-right-opt .collect {
+ width: 76rpx;
+}
+.price-content .price-icon {
+ padding: 0px 8rpx;
+ color: #fff;
+ border: 1px solid #FF5722;
+ background: #FF5722;
+ font-size: 24rpx;
+}
+.price-content .sales-price {
+ font-size: 42rpx;
+}
+.price-content .item:not(:last-child) {
+ margin-bottom: 10rpx;
+}
+
+/**
+ * app独立内容
+ */
+.goods-detail-app .content-items view {
+ padding: 15rpx 10rpx;
+ line-height: 44rpx;
+ font-size: 32rpx;
+}
+
+/**
+ * 价格信息与秒杀结合
+ */
+.countdown-content {
+ width: 38%;
+}
+.countdown-content .time-title {
+ font-size: 38rpx;
+ margin-bottom: 10rpx;
+}
+.goods-base-price-countdown {
+ background: #e84742 !important;
+}
+.goods-base-price-countdown .price-content {
+ background: #f9534e;
+ background-repeat: no-repeat;
+ background-size: 100% 100%;
+ width: 60%;
+ min-height: 164rpx;
+}
+.goods-base-price-countdown .price-content .price-icon {
+ border-color: #fff;
+ color: #fff;
+ background: transparent;
+}
+.goods-base-price-countdown .price-content .sales-price,
+.goods-base-price-countdown .price-content .sales-price-unit,
+.goods-base-price-countdown .price-content .points-price-value,
+.goods-base-price-countdown .price-content .points-price-unit {
+ color: #fff !important;
+}
+.goods-base-price-countdown .price-content .original-price,
+.goods-base-price-countdown .price-content .unit{
+ color: #ffcece !important;
+}
+.price-content .price-icon.seckill {
+ position: absolute;
+ right: 20rpx;
+ bottom: 20rpx;
+ margin-right: 0;
+}
+
+/*
+* 商品参数
+*/
+.parameters-base .content-item .item {
+ color: #666;
+}
+.goods-parameters .content-item .item {
+ padding: 8rpx 10rpx;
+ width: calc(50% - 20rpx);
+}
+.goods-parameters .content-item .item .name {
+ margin-right: 10rpx;
+}
+.goods-parameters .content-item .item:nth-child(2n-1) {
+ float: left;
+}
+.goods-parameters .content-item .item:nth-child(2n) {
+ float: right;
+}
+
+/**
+ * 商品参数弹窗
+ */
+.popup-params-container {
+ max-height: 80vh;
+ overflow-y: scroll;
+ overflow-x: hidden;
+}
+.popup-params-container .item .name {
+ width: 220rpx;
+}
+.popup-params-container .item .value {
+ width: calc(100% - 240rpx);
+}
+
+/*
+* 标题icon
+*/
+.goods-title-icon-item {
+ background: #666;
+ color: #fff;
+ padding: 0 8rpx;
+ line-height: 26rpx;
+ font-weight: 400;
+}
+
+/*
+* 面板
+*/
+.goods-panel-container {
+ background: #fffbfc;
+ color: #d2354c;
+}
+.goods-panel-container view {
+ padding: 15rpx 0;
+}
+.goods-panel-container view:not(:first-child) {
+ border-top: 1px dashed #fff1f2;
+}
+
+/**
+* 购买记录 - 插件
+*/
+.plugins-salerecords-tips,
+.plugins-salerecords-tips-top-left,
+.plugins-salerecords-tips-top-right,
+.plugins-salerecords-tips-bottom-left,
+.plugins-salerecords-tips-bottom-right,
+.plugins-salerecords-tips-top-center,
+.plugins-salerecords-tips-bottom-center {
+ position: fixed;
+ left: calc(50% - 170rpx);
+ top: 50%;
+ background: rgb(0 0 0 / 60%);
+ border-radius: 60rpx;
+ padding: 8rpx 20rpx;
+ color: #fff;
+ z-index: 50;
+ -webkit-box-shadow: 0 8px 10px rgb(0 0 0 / 20%);
+ -moz-box-shadow: 0 8px 10px rgba(0, 0, 0, 0.2);
+ box-shadow: 0 8px 10px rgb(0 0 0 / 20%);
+}
+.plugins-salerecords-tips image,
+.plugins-salerecords-tips-top-left image,
+.plugins-salerecords-tips-top-right image,
+.plugins-salerecords-tips-bottom-left image,
+.plugins-salerecords-tips-bottom-right image,
+.plugins-salerecords-tips-top-center image,
+.plugins-salerecords-tips-bottom-center image {
+ width: 50rpx;
+ height: 50rpx;
+ border-radius: 50%;
+}
+.plugins-salerecords-tips-top-left {
+ left: 5%;
+ top: 13%;
+}
+.plugins-salerecords-tips-top-right {
+ right: 5%;
+ top: 13%;
+ left: auto;
+}
+.plugins-salerecords-tips-top-center {
+ top: 13%;
+}
+
+/* #ifdef MP-ALIPAY */
+.plugins-salerecords-tips-top-left {
+ top: 5%;
+}
+.plugins-salerecords-tips-top-right {
+ top: 5%;
+}
+.plugins-salerecords-tips-top-center {
+ top: 5%;
+}
+
+/* #endif */
+.plugins-salerecords-tips-bottom-left {
+ left: 5%;
+ bottom: 10%;
+ top: auto;
+}
+.plugins-salerecords-tips-bottom-right {
+ right: 5%;
+ bottom: 10%;
+ left: auto;
+ top: auto;
+}
+.plugins-salerecords-tips-bottom-center {
+ bottom: 10%;
+ top: auto;
+}
+
+/*
+* 优惠劵 - 插件
+*/
+.coupon-padding {
+ padding: 2rpx;
+}
+.mini-coupon {
+ position: relative;
+ display: inline-block;
+ height: 40rpx;
+ line-height: 40rpx;
+ border-radius: 4rpx;
+ padding: 0 16rpx;
+}
+.mini-coupon::before,
+.mini-coupon::after {
+ content: '';
+ width: 14rpx;
+ height: 14rpx;
+ border-radius: 50%;
+ background-color: #fff;
+ position: absolute;
+ top: 50%;
+ transform: translateY(-50%);
+}
+.mini-coupon::before {
+ left: -8rpx;
+}
+.mini-coupon::after {
+ right: -8rpx;
+}
+.mini-coupon-br::before,
+.mini-coupon-br::after {
+ border: 1px solid #FE5500;
+}
+.coupon-srcoll {
+ white-space: nowrap;
+ overflow-x: auto;
+}
+.coupon-srcoll::-webkit-scrollbar {
+ width: 0;
+ height: 0;
+ display: none;
+}
+.received-coupon {
+ background: #FFEBE0;
+ border: 2rpx solid #FE5500;
+ color: #FE5500;
+}
+.not-received-coupon {
+ background: #FE5500;
+ border: 2rpx solid #FE5500;
+ color: #fff;
+}
+.received-coupon .divider-l::before {
+ background: red;
+}
+.not-received-coupon .divider-l::before {
+ background: #fff;
+}
+.plugins-coupon-container-view .item-title {
+ min-width: 70rpx;
+}
+.plugins-coupon-container-view .item:not(:last-child) {
+ margin-right: 10rpx;
+}
+.plugins-coupon-container {
+ max-height: 50vh;
+ overflow-y: scroll;
+ overflow-x: hidden;
+ margin-top: 20rpx;
+}
+.plugins-coupon-container .v-left {
+ padding: 20rpx 10rpx 20rpx 20rpx;
+}
+.plugins-coupon-container .item:not(:last-child) {
+ margin-bottom: 20rpx;
+}
+.plugins-coupon-container .item,
+.plugins-coupon-container .v-right,
+.plugins-coupon-container .v-right .circle {
+ height: 175rpx;
+}
+.plugins-coupon-container .v-left .base .price {
+ font-size: 46rpx;
+}
+
+/**
+ * 标签 - 插件
+ */
+.plugins-label navigator:not(:last-child) {
+ margin-right: 20rpx;
+}
+.plugins-label navigator {
+ margin-bottom: 20rpx;
+}
+.plugins-label-top-left,
+.plugins-label-top-center,
+.plugins-label-top-right {
+ top: calc(var(--status-bar-height) + 130rpx);
+}
+.plugins-label-text {
+ padding: 20rpx 20rpx 0 20rpx;
+}
+.plugins-label-bottom-left,
+.plugins-label-bottom-center,
+.plugins-label-bottom-right {
+ bottom: 0;
+}
+
+/**
+ * 智能工具 - 插件
+ */
+.plugins-intellectstools-base-bottom-container .notice-content {
+ padding: 10rpx 20rpx;
+ background: #fff1f0;
+ border-color: #ffe2e0;
+ color: #dd514c;
+}
+.plugins-intellectstools-content-top-container {
+ background: #daeeff;
+ color: #2b6e8f;
+ border: 1px solid #c9e9ff;
+}
+.plugins-intellectstools-content-top-container .panel-content .item:first-child {
+ padding-top: 0 !important;
+}
+.plugins-intellectstools-content-top-container .panel-title,
+.plugins-intellectstools-content-top-container .panel-content .item:not(:last-child) {
+ border-bottom: 1px solid #c8e4fb !important;
+}
+
+/**
+ * 门店 - 插件
+ */
+.plugins-realstore-popup {
+ max-height: 80vh;
+ overflow-y: scroll;
+ overflow-x: hidden;
+ margin-top: 20rpx;
+}
+
+/**
+ * 商品服务 - 插件
+ */
+.plugins-goodsservice-view-container .item image {
+ width: 32rpx;
+ height: 32rpx !important;
+}
+.plugins-goodsservice-container .item image {
+ width: 70rpx;
+ height: 70rpx !important;
+}
+.plugins-goodsservice-container .item .left {
+ width: 80rpx;
+}
+.plugins-goodsservice-container .item .right {
+ width: calc(100% - 90rpx);
+}
\ No newline at end of file
diff --git a/pages/goods-detail/goods-detail.vue b/pages/goods-detail/goods-detail.vue
new file mode 100644
index 0000000..8ef30d9
--- /dev/null
+++ b/pages/goods-detail/goods-detail.vue
@@ -0,0 +1,1511 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ lv.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ show_field_price_text }}
+
+ {{ goods.show_price_symbol }}{{ goods_spec_base_price }}
+ {{ goods.show_price_unit }}
+
+
+ {{ goods.show_original_price_symbol }}{{ goods_spec_base_original_price }}{{ goods.show_original_price_unit }}
+
+
+ {{ goods.plugins_points_data.points_value }}
+ {{goods.plugins_points_data.points_unit}}
+
+
+
+
+
+
+
+
+
+ {{ plugins_seckill_data.goods_detail_title || $t('goods-detail.goods-detail.775ppk') }}
+
+
+
+
+
+
+
+
+
+ {{ nav_favor_button_info.text }}
+
+
+
+
+ {{$t('common.share')}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+ {{ goods.title }}
+
+
+
+
+
+ {{$t('common.share')}}
+
+
+
+
+ {{ nav_favor_button_info.text }}
+
+
+
+
+ {{ goods.simple_desc }}
+
+
+
+
+
+
+ {{$t('goods-detail.goods-detail.1s79t4')}}
+ {{ goods.inventory }}
+
+
+ {{$t('goods-category.goods-category.283ot0')}}
+ {{ goods.access_count }}
+
+
+ {{$t('goods-category.goods-category.at5p35')}}
+ {{ goods.sales_count }}
+
+
+
+
+
+
+
+
+ {{ item }}
+
+
+
+
+
+
+
+
+
+ {{ plugins_intellectstools_data.base_bottom.title }}
+ {{ plugins_intellectstools_data.base_bottom.msg }}
+
+
+
+
+
+ {{$t('goods-detail.goods-detail.w3jma9')}}
+
+
+
+
+
+
+ {{ item.desc || item.name }}
+ {{ item.status_operable_name }}
+
+
+
+
+
+
+ {{$t('user-order-detail.user-order-detail.423rmr')}}{{ plugins_coupon_data.data.length }}{{$t('buy.buy.5iuqow')}}
+
+
+
+
+
+
+
+ {{$t('goods-detail.goods-detail.u401fi')}}
+
+ {{ goods_spec_selected_text }}
+
+
+
+
+
+
+
+
+
+
+ ,
+ {{ item.value }}
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{$t('goods-detail.goods-detail.317jp2')}}
+ {{$t('common.more')}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ plugins_intellectstools_data.content_top.title }}
+
+
+
+ {{ item }}
+
+
+
+
+
+
+
+
+ {{$t('goods-detail.goods-detail.l7dzv2')}}
+
+
+
+
+
+
+ {{ item.name }}:
+ {{ item.value }}
+
+
+
+
+ 查看全部参数 >>
+
+
+
+
+
+
+
+
+ {{$t('goods-detail.goods-detail.2j44o2')}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ items }}
+
+
+
+
+
+ {{$t('goods-detail.goods-detail.27wudx')}}
+
+
+
+
+
+
+
+ {{$t('goods-detail.goods-detail.v2974w')}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{$t('common.return')}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
+
+ {{$t('common.cart')}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{$t('goods-detail.goods-detail.96y691')}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.name }}
+ {{ item.describe }}
+
+
+
+
+
+ {{$t('goods-detail.goods-detail.8ej346')}}
+
+
+
+
+
+
+
+
+ {{ plugins_salerecords_tips_content.tips }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/goods-search-start/goods-search-start.css b/pages/goods-search-start/goods-search-start.css
new file mode 100644
index 0000000..fd58511
--- /dev/null
+++ b/pages/goods-search-start/goods-search-start.css
@@ -0,0 +1,16 @@
+.ranking-list .ranking-item {
+ width: 65vw;
+}
+.ranking-list .goods-list .goods-image {
+ width: 100rpx;
+ height: 100rpx;
+}
+.ranking-list .goods-list .goods-title {
+ width: calc(100% - 120rpx);
+}
+.ranking-list .goods-list .single-text {
+ width: 59vw;
+}
+.ranking-list .goods-list .icon {
+ width: 38rpx;
+}
\ No newline at end of file
diff --git a/pages/goods-search-start/goods-search-start.vue b/pages/goods-search-start/goods-search-start.vue
new file mode 100644
index 0000000..80fe0d0
--- /dev/null
+++ b/pages/goods-search-start/goods-search-start.vue
@@ -0,0 +1,208 @@
+
+
+
+
+
+
+
+
+
+
+
+ 历史搜索
+
+
+
+
+
+
+ {{item}}
+
+
+
+
+
+ 热门搜索
+
+
+ {{item}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.name}}
+
+
+
+
+
+
+
+ {{index2+1}}
+
+ {{item2.title}}
+
+
+
+
+ {{index2+1}}
+
+
+ {{item2.title}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/goods-search/goods-search.css b/pages/goods-search/goods-search.css
new file mode 100644
index 0000000..defcd4d
--- /dev/null
+++ b/pages/goods-search/goods-search.css
@@ -0,0 +1,156 @@
+/**
+ * 顶部搜索
+ */
+.top-search-input {
+ padding-right: 80rpx;
+}
+.top-search-right {
+ top: 20rpx;
+ right: 20rpx;
+}
+.top-search-submit {
+ line-height: 66rpx;
+ height: 66rpx;
+}
+.top-search-right .badge-icon {
+ top: -4px;
+ right: 10rpx;
+}
+
+/**
+* 排序导航
+*/
+.nav-sort-content .item {
+ height: 80rpx;
+ line-height: 80rpx;
+ width: calc(20% - 33.33rpx);
+}
+.nav-sort-content .item .icon {
+ width: 26rpx;
+ height: 26rpx !important;
+}
+.screening-submit,
+.show-type-submit {
+ width: 46rpx;
+ height: 46rpx !important;
+ top: 20rpx;
+}
+.screening-submit {
+ right: 82rpx;
+}
+.show-type-submit {
+ right: 16rpx;
+}
+
+/**
+* 商品列表
+*/
+.scroll-box {
+ height: calc(100vh - 176rpx);
+}
+.data-list .item {
+ width: calc(50% - 10rpx);
+}
+.data-list .item:nth-child(2n) {
+ float: right;
+}
+.data-list .item:nth-child(2n+1) {
+ float: left;
+}
+.data-list .item .goods-img {
+ width: 100%;
+ height: 380rpx !important;
+}
+
+/**
+* 条件
+*/
+.search-map {
+ height: calc(100vh - 160rpx);
+ overflow-y: scroll;
+ overflow-x: hidden;
+}
+.search-map,
+.search-map .search-submit {
+ width: 660rpx;
+}
+.map-keywords {
+ padding: 0 20rpx;
+ line-height: 66rpx;
+ height: 66rpx;
+ font-size: 26rpx;
+ box-sizing: border-box;
+}
+.map-nav text:first-child {
+ font-weight: bold;
+}
+.map-nav .arrow-bottom {
+ top: 0;
+ right: 10rpx;
+ padding-right: 46rpx;
+}
+.map-item {
+ line-height: 66rpx;
+}
+.map-content {
+ line-height: 60rpx;
+}
+.map-content .item {
+ margin-bottom: 20rpx;
+}
+.map-text-item .item,
+.map-images-text-item .item {
+ padding: 0 15rpx;
+ border: 1px solid transparent;
+}
+.map-images-text-item .item {
+ vertical-align: middle;
+ border: 1px solid #eee;
+ width: 150rpx;
+ height: 72rpx;
+ line-height: 72rpx;
+}
+.map-images-text-item .item image {
+ width: 150rpx;
+ height: calc(100% - 8rpx);
+ display: block;
+ margin: 0 auto;
+ margin-top: 4rpx;
+}
+.search-map .search-submit {
+ left: 0;
+ bottom: 0;
+}
+.search-map .search-submit button {
+ height: 80rpx;
+ line-height: 80rpx;
+}
+
+/**
+* 品牌基础信息
+*/
+.brand-info {
+ height: 160rpx;
+}
+.brand-info image,
+.brand-info .info-logo-empty {
+ width: 300rpx;
+ height: 130rpx;
+ border: 1px solid #eee;
+}
+.brand-info .info-logo-empty {
+ line-height: 130rpx;
+ font-weight: bold;
+}
+.brand-info .info-right {
+ width: calc(100% - 330rpx);
+}
+.brand-info .info-name {
+ line-height: 56rpx;
+ font-weight: bold;
+}
+.brand-info .info-desc {
+ font-size: 28rpx;
+ line-height: 40rpx;
+ min-height: 80rpx;
+}
\ No newline at end of file
diff --git a/pages/goods-search/goods-search.vue b/pages/goods-search/goods-search.vue
new file mode 100644
index 0000000..957dbfe
--- /dev/null
+++ b/pages/goods-search/goods-search.vue
@@ -0,0 +1,816 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.name}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/index/index.css b/pages/index/index.css
new file mode 100644
index 0000000..8416dd0
--- /dev/null
+++ b/pages/index/index.css
@@ -0,0 +1,168 @@
+/**
+ * 顶部内容
+ */
+.home-top-nav-content {
+ background-repeat: no-repeat;
+ background-size: 100% auto;
+ padding-top: calc(var(--status-bar-height) + 5px);
+}
+.home-top-nav {
+ min-height: 56rpx;
+ /* #ifdef MP-ALIPAY */
+ padding-left: 60rpx;
+ /* #endif */
+}
+.home-top-nav-location {
+ max-width: calc(100% - 200rpx);
+}
+.home-top-nav-logo {
+ text-align: left;
+ height: 56rpx;
+}
+.home-top-nav-logo-image {
+ width: 56rpx;
+ height: 100% !important;
+}
+.home-top-nav-logo-title {
+ font-weight: bold;
+ font-size: 42rpx;
+ /* #ifdef H5 || MP-TOUTIAO || APP */
+ font-size: 24px;
+ /* #endif */
+}
+
+/**
+ * 右侧图标导航
+ */
+/* #ifdef H5 || APP */
+.nav-top-right-icon {
+ line-height: 56rpx;
+}
+.nav-top-right-icon .item:not(:last-child) {
+ margin-right: 40rpx;
+}
+.nav-top-right-icon .badge-icon {
+ top: -10px;
+ right: 2px;
+}
+/* #endif */
+
+/**
+ * 搜索
+ */
+.search-fixed-seat {
+ padding-top: 78rpx;
+}
+.search-fixed-seat.nav-enable-search {
+ padding-top: 146rpx;
+}
+.search-content-fixed {
+ position: fixed !important;
+ top: 0;
+ z-index: 11;
+ width: 100%;
+}
+.search-content-fixed-content {
+ background-repeat: no-repeat;
+ background-size: 100% auto;
+ background-position: top;
+ padding-bottom: 6rpx;
+ /* #ifdef H5 */
+ padding-top: 15rpx !important;
+ /* #endif */
+}
+.search-content-fixed-content.nav-enable-search {
+ padding-bottom: 24rpx;
+}
+
+/* #ifdef H5 || MP-TOUTIAO */
+.search-content-fixed .nav-top-right-icon {
+ top: 8px !important;
+}
+/* #endif */
+
+/**
+ * 推荐文章
+ */
+.article-list .new-icon {
+ width: 130rpx !important;
+ height: 42rpx !important;
+}
+.article-list .right-content {
+ width: calc(100% - 150rpx);
+}
+.article-list .right-content swiper {
+ height: 40rpx;
+}
+.notice {
+ margin: 20rpx 0 14rpx 0;
+}
+
+/*
+ * 限时秒杀 - 插件
+ */
+
+.plugins-seckill-data {
+ background-size: 100% auto;
+ background-repeat: no-repeat;
+ background-position: top;
+ background-color: #fff;
+
+}
+.plugins-seckill-data .icon {
+ max-width: 140rpx;
+ max-height: 34rpx;
+}
+.plugins-seckill-data .goods-list .swiper {
+ height: 310rpx !important;
+}
+.plugins-seckill-data .goods-list .item .goods-img {
+ width: 100%;
+ height: 210rpx;
+}
+.plugins-seckill-data .goods-list .goods-base .icon {
+ right: 20rpx;
+ bottom: 13rpx;
+}
+
+/**
+ * 购买记录 - 插件
+ */
+.plugins-salerecords swiper {
+ height: 506rpx;
+}
+.plugins-salerecords image {
+ width: 40rpx !important;
+ height: 40rpx !important;
+ border-radius: 50%;
+}
+.plugins-salerecords .item-content {
+ width: 24%;
+}
+.plugins-salerecords .item-content:nth-child(1) {
+ width: 36%;
+}
+.plugins-salerecords .item-content:nth-child(2) {
+ width: 40%;
+}
+
+/**
+ * 标签 - 秒杀单独修改样式
+ */
+.plugins-seckill-data .plugins-label-bottom-left,
+.plugins-seckill-data .plugins-label-bottom-center,
+.plugins-seckill-data .plugins-label-bottom-right {
+ bottom: calc(100% - 240rpx);
+}
+
+/**
+ * 首页中间广告- 插件
+ */
+.plugins-homemiddleadv {
+ display: flex;
+ flex-wrap: wrap;
+ gap: 20rpx;
+}
+.plugins-homemiddleadv .item {
+ flex: 1 1 calc(50% - 20rpx);
+}
\ No newline at end of file
diff --git a/pages/index/index.vue b/pages/index/index.vue
new file mode 100644
index 0000000..dff2f97
--- /dev/null
+++ b/pages/index/index.vue
@@ -0,0 +1,665 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ application_title }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ @onicon="search_icon_event" propIcon="icon-scan" :propIsIconOnEvent="true"
+
+ >
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('index.index.t8bll8') }}{{ $t('index.index.t8bll9') }}
+
+
+
+
+
+ [{{ item.article_category_name }}]
+ {{ item.title }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('common.more') }}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ plugins_realstore_data.base.home_data_list_title }}
+ {{ $t('common.more') }}
+
+
+
+
+
+
+
+ {{ plugins_shop_data.base.home_data_list_title }}
+ {{ $t('common.more') }}
+
+
+
+
+
+
+
+ {{ plugins_binding_data.base.home_data_list_title }}
+ {{ $t('common.more') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ floor.name }}
+ {{ floor.describe }}
+
+ {{ $t('common.more') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ plugins_salerecords_data.base.home_bottom_title || $t('index.index.s5r784') }}
+ {{ plugins_salerecords_data.base.home_bottom_desc }}
+
+
+
+
+
+
+
+
+
+ {{ item.user.user_name_view }}
+ -{{ item.user.province }}
+
+
+
+
+ {{ item.title }}
+
+
+
+ {{ item.add_time }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/login/login.css b/pages/login/login.css
new file mode 100644
index 0000000..aa6c1e8
--- /dev/null
+++ b/pages/login/login.css
@@ -0,0 +1,137 @@
+page {
+ background: #fff;
+}
+
+/**
+ * 基础
+ */
+.content .icon {
+ width: 130rpx;
+ height: 130rpx !important;
+}
+.dom-content {
+ min-height: 100vh;
+}
+
+/**
+ * 表单内容
+ */
+.form-content {
+ padding: 34rpx;
+}
+.form-content .form-item,
+.form-content .code,
+.form-content .verify {
+ height: 50px;
+ line-height: 50px;
+ background: #F9F9F9;
+ border-radius: 25px;
+ border: 0;
+}
+.form-content .code input,
+.form-content .verify input {
+ height: 50px;
+ line-height: 50px;
+}
+.form-content .form-item,
+.form-content .code input,
+.form-content .verify input {
+ padding: 0 36rpx;
+ box-sizing: border-box;
+}
+.form-content .form-item ::v-deep .input-placeholder,
+.form-content .form-item ::v-deep .uni-input-input,
+.form-content .form-item ::v-deep .input-placeholder,
+.form-content .code input ::v-deep .input-placeholder,
+.form-content .verify input ::v-deep .input-placeholder {
+ font-size: 30rpx;
+}
+.form-content .code input,
+.form-content .verify input {
+ width: 63%;
+}
+.form-content .form-item ::v-deep .uni-input-input:-webkit-autofill {
+ /* //这个地方的颜色是字体颜色,可以根据实际情况修改 */
+ /* -webkit-text-fill-color: #ededed !important; */
+ /* //设置input输入框的背景颜色为透明色 */
+ -webkit-box-shadow: 0 0 0px 1000px #f9f9f9 inset !important;
+ /* //设置input输入框的背景颜色为透明色 */
+ background-color: #f9f9f9;
+ background-image: none;
+ transition: background-color 50000s ease-in-out 0s;
+}
+.form-content .code ::v-deep .uni-input-input:-webkit-autofill {
+ /* //设置input输入框的背景颜色为透明色 */
+ background-color: #f9f9f9;
+ background-image: none;
+ transition: background-color 50000s ease-in-out 0s;
+}
+.form-content .code .verify-submit {
+ padding: 0 12px;
+ height: 28px;
+ line-height: 28px;
+ top: 11px;
+ right: 36rpx;
+}
+.form-content .verify .verify-image {
+ width: 35%;
+ height: 50px;
+ line-height: 50px;
+ top: 0;
+ right: 36rpx;
+}
+.opt-type-list text:not(:last-child) {
+ margin-right: 50rpx;
+}
+
+/**
+ * 第三方登录 - 插件
+ */
+.plugins-thirdpartylogin .item {
+ width: 76rpx;
+ height: 76rpx;
+ padding: 5rpx;
+}
+.plugins-thirdpartylogin .item:not(:last-child) {
+ margin-right: 54rpx;
+}
+.plugins-thirdpartylogin .item image {
+ width: 50rpx !important;
+ height: 50rpx !important;
+}
+.plugins-thirdpartylogin .item.more-submit image {
+ width: 76rpx !important;
+ height: 76rpx !important;
+}
+.plugins-thirdpartylogin-bind image {
+ width: 40rpx !important;
+ height: 40rpx !important;
+}
+.plugins-thirdpartylogin-bind button {
+ line-height: 40rpx;
+}
+.popup-login .content,
+.popup-login .footer .cancel-btn {
+ border-radius: 32rpx;
+}
+.popup-login .content .item:not(:last-child) {
+ border-bottom: 1px solid #eee;
+}
+.popup-login .content .item image {
+ width: 36rpx !important;
+ height: 36rpx !important;
+}
+.popup-login .content .item .login-width {
+ width: 180rpx;
+}
+
+/**
+ * 多语言
+ */
+.popup-language {
+ height: 100vh;
+}
+.popup-language .list {
+ height: calc(100vh - 95rpx);
+ overflow-y: auto;
+}
\ No newline at end of file
diff --git a/pages/login/login.vue b/pages/login/login.vue
new file mode 100644
index 0000000..825c992
--- /dev/null
+++ b/pages/login/login.vue
@@ -0,0 +1,1758 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ language }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ user.user_name_view || '' }}
+
+
+
+
+
+
+
+
+
+
+ {{ $t('login.login.54l805') }}
+
+
+
+ {{ $t('login.login.q11t73') }}
+
+
+
+
+ {{ $t('login.login.s51ed9') }}
+
+
+
+
+
+
+
+
+ {{ user.user_name_view || '' }}
+
+
+
+
+
+
+
+
+
+
+ {{ error_msg }}
+
+
+
+
+
+
+ {{ plugins_thirdpartylogin_user.nickname }}
+
+
+ {{ $t('login.login.e77788') }}{{ plugins_thirdpartylogin_user.platform_name }}{{ $t('login.login.1i4o86') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('login.login.836o8e') }}
+
+
+
+
+
+
+
+ {{ $t('login.login.nddg2x') }}
+ {{ $t('login.login.2v11we') }}
+ {{ $t('login.login.l3r4vr') }}
+ {{ $t('login.login.myno2x') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('login.login.9q27d8') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('login.login.pgyv78') }}
+ {{ $t('login.login.d76tgh') }}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/logout/logout.css b/pages/logout/logout.css
new file mode 100644
index 0000000..f8ec71f
--- /dev/null
+++ b/pages/logout/logout.css
@@ -0,0 +1,3 @@
+.bottom-fixed button {
+ width: calc(50% - 10rpx);
+}
\ No newline at end of file
diff --git a/pages/logout/logout.vue b/pages/logout/logout.vue
new file mode 100644
index 0000000..a00dffe
--- /dev/null
+++ b/pages/logout/logout.vue
@@ -0,0 +1,166 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/message/message.vue b/pages/message/message.vue
new file mode 100644
index 0000000..1e5afcd
--- /dev/null
+++ b/pages/message/message.vue
@@ -0,0 +1,193 @@
+
+
+
+
+
+
+ {{item.title}}
+ {{item.add_time_time}}
+
+ {{item.detail}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/password/password.css b/pages/password/password.css
new file mode 100644
index 0000000..92782ee
--- /dev/null
+++ b/pages/password/password.css
@@ -0,0 +1,20 @@
+.password {
+ height: 100vh;
+ background: #fff;
+}
+
+.password .form-item {
+ height: 100rpx;
+ line-height: 100rpx;
+ background: #F9F9F9;
+ border-radius: 50rpx;
+ border: 0;
+ padding: 0 36rpx;
+ font-size: 30rpx;
+}
+
+.eyes {
+ right: 32rpx;
+ top: calc(50% - 12rpx);
+ z-index: 2;
+}
\ No newline at end of file
diff --git a/pages/password/password.vue b/pages/password/password.vue
new file mode 100644
index 0000000..4464cc5
--- /dev/null
+++ b/pages/password/password.vue
@@ -0,0 +1,157 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/paytips/paytips.css b/pages/paytips/paytips.css
new file mode 100644
index 0000000..cfb7837
--- /dev/null
+++ b/pages/paytips/paytips.css
@@ -0,0 +1,21 @@
+page {
+ background: #fff;
+}
+.content {
+ padding-top: 15%;
+}
+.content .pay-icon {
+ width: 200rpx;
+ height: 200rpx !important;
+ margin: 60rpx auto;
+}
+.btn-box {
+ margin-top: 150rpx;
+}
+.btn-box button {
+ height: 80rpx;
+ line-height: 80rpx;
+ padding-top: 0;
+ padding-bottom: 0;
+ width: 300rpx;
+}
\ No newline at end of file
diff --git a/pages/paytips/paytips.vue b/pages/paytips/paytips.vue
new file mode 100644
index 0000000..c47c732
--- /dev/null
+++ b/pages/paytips/paytips.vue
@@ -0,0 +1,120 @@
+
+
+
+
+
+ {{ params.msg || $t('paytips.paytips.679rxu') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/personal/personal.css b/pages/personal/personal.css
new file mode 100644
index 0000000..2c8e3fe
--- /dev/null
+++ b/pages/personal/personal.css
@@ -0,0 +1,11 @@
+.user-avatar {
+ width: 80rpx;
+ height: 80rpx !important;
+}
+
+/**
+ * 表单排版
+ */
+.form-container .form-gorup:not(:last-child) {
+ border-bottom: 2rpx solid #F5F5F5;
+}
\ No newline at end of file
diff --git a/pages/personal/personal.vue b/pages/personal/personal.vue
new file mode 100644
index 0000000..55aaf9a
--- /dev/null
+++ b/pages/personal/personal.vue
@@ -0,0 +1,266 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/activity/detail/detail.css b/pages/plugins/activity/detail/detail.css
new file mode 100644
index 0000000..fc34e99
--- /dev/null
+++ b/pages/plugins/activity/detail/detail.css
@@ -0,0 +1,17 @@
+/**
+* 基础
+*/
+.base-container {
+ height: 280rpx;
+ background-size: cover;
+ background-position: center;
+}
+.base-container .text {
+ top: 0;
+ left: 0;
+ background: rgb(0 0 0 / 35%);
+ padding: 100rpx 20rpx 20rpx 20rpx;
+}
+.word-content .word-icon:not(:last-child) {
+ margin-right: 20rpx;
+}
\ No newline at end of file
diff --git a/pages/plugins/activity/detail/detail.vue b/pages/plugins/activity/detail/detail.vue
new file mode 100644
index 0000000..bac657f
--- /dev/null
+++ b/pages/plugins/activity/detail/detail.vue
@@ -0,0 +1,193 @@
+
+
+
+
+
+
+ {{ data.describe }}
+
+
+
+
+
+
+ {{ kv }}
+
+
+
+
+
+
+
+
+ {{$t('detail.detail.b4f3nw')}}
+ {{ data.vice_title }}
+
+ {{$t('detail.detail.ans2p4')}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/activity/index/index.css b/pages/plugins/activity/index/index.css
new file mode 100644
index 0000000..0e15393
--- /dev/null
+++ b/pages/plugins/activity/index/index.css
@@ -0,0 +1,12 @@
+/**
+* 数据列表
+*/
+.data-list {
+ display: flex;
+ flex-flow: row wrap;
+ justify-content: space-between;
+}
+
+.data-list .item {
+ width: calc(50% - 10rpx);
+}
\ No newline at end of file
diff --git a/pages/plugins/activity/index/index.vue b/pages/plugins/activity/index/index.vue
new file mode 100644
index 0000000..59fa306
--- /dev/null
+++ b/pages/plugins/activity/index/index.vue
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+ {{$t('common.all')}}
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/plugins/allocation/cashier/cashier.css b/pages/plugins/allocation/cashier/cashier.css
new file mode 100644
index 0000000..72469d8
--- /dev/null
+++ b/pages/plugins/allocation/cashier/cashier.css
@@ -0,0 +1,6 @@
+.page {
+ height: 100vh;
+}
+.page > .content {
+ padding-top: 20%;
+}
\ No newline at end of file
diff --git a/pages/plugins/allocation/cashier/cashier.vue b/pages/plugins/allocation/cashier/cashier.vue
new file mode 100644
index 0000000..9581b9c
--- /dev/null
+++ b/pages/plugins/allocation/cashier/cashier.vue
@@ -0,0 +1,177 @@
+
+
+
+
+
+
+ {{payment_currency_symbol}}
+ {{data.pay_price}}
+
+
+ {{pay_msg}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/plugins/antifakecode/index/index.css b/pages/plugins/antifakecode/index/index.css
new file mode 100644
index 0000000..7d7a51f
--- /dev/null
+++ b/pages/plugins/antifakecode/index/index.css
@@ -0,0 +1,19 @@
+/**
+ * 基础
+ */
+.page-content {
+ background: #fff;
+}
+.scan-button {
+ background: linear-gradient( 270deg, #F1E6C1 0%, #DBC583 100%);
+ max-width: 300rpx;
+}
+.scan-button text {
+ color: #CC2121;
+}
+/**
+ * 扫码按钮增加页面底部间距
+ */
+.page-bottom-fixed {
+ padding-bottom: 100rpx !important;
+}
\ No newline at end of file
diff --git a/pages/plugins/antifakecode/index/index.vue b/pages/plugins/antifakecode/index/index.vue
new file mode 100644
index 0000000..1101471
--- /dev/null
+++ b/pages/plugins/antifakecode/index/index.vue
@@ -0,0 +1,151 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{data.data.scan_first_tips}}
+
+
+
+
+ {{data.data.scan_last_tips}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/plugins/ask/comments/comments.vue b/pages/plugins/ask/comments/comments.vue
new file mode 100644
index 0000000..78d4c04
--- /dev/null
+++ b/pages/plugins/ask/comments/comments.vue
@@ -0,0 +1,129 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/ask/components/ask-comments/ask-comments.vue b/pages/plugins/ask/components/ask-comments/ask-comments.vue
new file mode 100644
index 0000000..3bc8d00
--- /dev/null
+++ b/pages/plugins/ask/components/ask-comments/ask-comments.vue
@@ -0,0 +1,579 @@
+
+
+
+
+ {{$t('user-order-detail.user-order-detail.423rmr')}}{{ data.comments_count || 0 }}{{$t('goods-list.goods-list.8y3cc7')}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/ask/detail/detail.css b/pages/plugins/ask/detail/detail.css
new file mode 100644
index 0000000..59266f4
--- /dev/null
+++ b/pages/plugins/ask/detail/detail.css
@@ -0,0 +1,46 @@
+.admin-img {
+ width: 68rpx;
+ height: 68rpx !important;
+}
+
+/**
+ * 商品链接
+ */
+.goods-link .img {
+ width: 80rpx;
+ height: 80rpx;
+}
+
+.goods-link .title {
+ min-height: 40rpx;
+ line-height: 40rpx;
+}
+
+
+/**
+ * 猜你喜欢
+ */
+.guess-like {
+ position: relative;
+ text-align: center;
+ display: inline-block;
+}
+
+.guess-like::before,
+.guess-like::after {
+ content: "";
+ width: 76px;
+ height: 1px;
+ background: #dddddd;
+ position: absolute;
+ top: 50%;
+ transform: translateY(-50%);
+}
+
+.guess-like::before {
+ left: calc(100% + 20rpx);
+}
+
+.guess-like::after {
+ right: calc(100% + 20rpx);
+}
\ No newline at end of file
diff --git a/pages/plugins/ask/detail/detail.vue b/pages/plugins/ask/detail/detail.vue
new file mode 100644
index 0000000..5a9085a
--- /dev/null
+++ b/pages/plugins/ask/detail/detail.vue
@@ -0,0 +1,244 @@
+
+
+
+
+
+
+ {{ info.title }}
+
+ {{ $t('detail.detail.kt41ki') }}{{ info.add_time_date }}
+ ·
+ {{ info.access_count || '0' }}{{ $t('detail.detail.e6ga1y') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ info.goods.title }}
+
+ {{ currency_symbol }}{{ info.goods.price }}
+ {{ currency_symbol }}{{ info.goods.original_price }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('detail.detail.ng628i') }}
+
+ {{ $t('detail.detail.7rg4bb') }}{{ info.reply_time_date }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('goods-detail.goods-detail.v2974w') }}
+
+
+
+
+
+
+
+
+
+ {{ $t('goods-detail.goods-detail.7ulh8b') }}
+
+
+ {{ $t('detail.detail.p7o522') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/ask/form/form.css b/pages/plugins/ask/form/form.css
new file mode 100644
index 0000000..0b43036
--- /dev/null
+++ b/pages/plugins/ask/form/form.css
@@ -0,0 +1,3 @@
+.form-container .form-gorup .textarea-height {
+ min-height: 200rpx !important;
+}
\ No newline at end of file
diff --git a/pages/plugins/ask/form/form.vue b/pages/plugins/ask/form/form.vue
new file mode 100644
index 0000000..dd3f4c0
--- /dev/null
+++ b/pages/plugins/ask/form/form.vue
@@ -0,0 +1,318 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/ask/goods-list/goods-list.css b/pages/plugins/ask/goods-list/goods-list.css
new file mode 100644
index 0000000..4044385
--- /dev/null
+++ b/pages/plugins/ask/goods-list/goods-list.css
@@ -0,0 +1,23 @@
+
+
+.question .title{
+ width: 40rpx;
+ height: 40rpx;
+ line-height: 40rpx;
+ background: #fd9525;
+ border-radius: 4rpx;
+}
+.question .avatar,
+.ask .avatar {
+ width: 80rpx;
+ height: 80rpx;
+ border-radius: 4rpx;
+ background: #F5F5F5;
+}
+.ask .title{
+ width: 40rpx;
+ height: 40rpx;
+ line-height: 40rpx;
+ background: #99BB12;
+ border-radius: 4rpx;
+}
\ No newline at end of file
diff --git a/pages/plugins/ask/goods-list/goods-list.vue b/pages/plugins/ask/goods-list/goods-list.vue
new file mode 100644
index 0000000..7a107df
--- /dev/null
+++ b/pages/plugins/ask/goods-list/goods-list.vue
@@ -0,0 +1,332 @@
+
+
+
+
+
+
+ {{ item.name }}{{$t('goods-list.goods-list.27nkjm')}}
+ {{ item.add_time_date }}
+
+
+
+ {{$t('goods-list.goods-list.00n7i3')}}
+
+
+
+
+
+
+
+
+
+
+ {{$t('goods-list.goods-list.rw12i7')}}
+
+
+
+
+
+
+
+
+
+ {{ it.content }}
+
+
+
+
+
+
+
+
+
+ {{$t('common.view_more')}}
+ {{$t('goods-list.goods-list.278qr1')}}{{ item.hide_comments_list_num || item.comments_count }}{{$t('goods-list.goods-list.8y3cc7')}}
+
+
+
+ {{$t('goods-list.goods-list.aem3e6')}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/ask/index/index.css b/pages/plugins/ask/index/index.css
new file mode 100644
index 0000000..eb9cdf0
--- /dev/null
+++ b/pages/plugins/ask/index/index.css
@@ -0,0 +1,38 @@
+.scroll-box {
+ height: calc(100vh - 40px);
+}
+
+.status .ask-status {
+ padding: 4rpx 10rpx;
+}
+
+.ask-bg-green {
+ background-color: #5FB95E;
+}
+
+.ask-bg-yellow {
+ background-color: #FAAD14;
+}
+
+.status .num {
+ margin-left: 16rpx;
+}
+
+.ask-hot {
+ width: 32rpx;
+ height: 32rpx;
+ line-height: 32rpx;
+ color: #FFB868;
+}
+
+.hot-bg-0 {
+ background: linear-gradient(150deg, #FC6761 0%, #ED4540 100%);
+}
+
+.hot-bg-1 {
+ background: linear-gradient(150deg, #FFA12A 0%, #FF8605 100%);
+}
+
+.hot-bg-2 {
+ background: linear-gradient(150deg, #FFCE90 0%, #FFAA4E 100%);
+}
\ No newline at end of file
diff --git a/pages/plugins/ask/index/index.vue b/pages/plugins/ask/index/index.vue
new file mode 100644
index 0000000..8496314
--- /dev/null
+++ b/pages/plugins/ask/index/index.vue
@@ -0,0 +1,324 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+ {{ index + 1 }}
+
+
+ {{ item.title }}
+
+
+
+
+ {{ item.is_reply === '1' ? $t('index.index.1c17n3') : $t('index.index.75l3l2') }}
+
+ {{ item.add_time_date }}
+ ·
+ {{ item.access_count || '0' }}{{ $t('detail.detail.e6ga1y') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('goods-detail.goods-detail.7ulh8b') }}
+
+
+ {{ $t('detail.detail.p7o522') }}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/ask/user-detail/user-detail.vue b/pages/plugins/ask/user-detail/user-detail.vue
new file mode 100644
index 0000000..6080459
--- /dev/null
+++ b/pages/plugins/ask/user-detail/user-detail.vue
@@ -0,0 +1,146 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/ask/user-list/user-list.css b/pages/plugins/ask/user-list/user-list.css
new file mode 100644
index 0000000..99985ae
--- /dev/null
+++ b/pages/plugins/ask/user-list/user-list.css
@@ -0,0 +1,3 @@
+.ask-status {
+ padding: 4rpx 10rpx;
+}
\ No newline at end of file
diff --git a/pages/plugins/ask/user-list/user-list.vue b/pages/plugins/ask/user-list/user-list.vue
new file mode 100644
index 0000000..ef574dd
--- /dev/null
+++ b/pages/plugins/ask/user-list/user-list.vue
@@ -0,0 +1,237 @@
+
+
+
+
+
+
+ {{ item.add_time_time }}
+ {{ item.is_reply_name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/binding/detail/detail.css b/pages/plugins/binding/detail/detail.css
new file mode 100644
index 0000000..f3224f0
--- /dev/null
+++ b/pages/plugins/binding/detail/detail.css
@@ -0,0 +1,87 @@
+/**
+* 商品列表
+*/
+.data-list .item .goods-img {
+ width: 160rpx;
+ height: 160rpx !important;
+}
+
+.data-list .item .binding-check {
+ width: 40rpx;
+}
+
+.data-list .item .spec-choice {
+ height: 40rpx;
+ line-height: 40rpx;
+ padding: 0 34rpx 0 20rpx;
+}
+
+.data-list .item .cart-badge-icon {
+ top: -16rpx;
+ right: 0;
+}
+
+.lose-efficacy {
+ z-index: 1;
+ background: rgba(255, 255, 255, 0.6);
+}
+
+.lose-efficacy .rotate {
+ width: 130rpx;
+ transform: rotate(-30deg);
+}
+
+.lose-efficacy .rotate-img {
+ width: 100%;
+ transform: rotate(30deg);
+}
+
+.lose-efficacy .rotate-text {
+ margin-left: 18rpx;
+ top: 50%;
+ transform: translateY(-50%);
+ opacity: 0.7;
+}
+
+/**
+ * 导航
+ */
+.bottom-fixed .left-price {
+ width: calc(100% - 270rpx);
+}
+
+.bottom-fixed .right-button {
+ width: 240rpx;
+}
+
+.bottom-fixed .right-button .btn {
+ height: 80rpx;
+ line-height: 78rpx;
+}
+
+.bottom-fixed .left-price .discount-icon {
+ border-top-right-radius: 30rpx;
+ border-bottom-left-radius: 30rpx;
+ background-image: linear-gradient(45deg, #a3f9a3, #248828, #8bc34a, #d2374c, #9c27b0);
+ background-size: 400%;
+ animation: gradient 5s ease infinite;
+ padding: 0 16rpx;
+}
+
+.sales-price .price {
+ font-size: 40rpx;
+}
+
+@keyframes gradient {
+ 0% {
+ background-position: 0% 50%;
+ }
+
+ 50% {
+ background-position: 100% 50%;
+ }
+
+ 100% {
+ background-position: 0% 50%;
+ }
+}
\ No newline at end of file
diff --git a/pages/plugins/binding/detail/detail.vue b/pages/plugins/binding/detail/detail.vue
new file mode 100644
index 0000000..7f991c8
--- /dev/null
+++ b/pages/plugins/binding/detail/detail.vue
@@ -0,0 +1,415 @@
+
+
+
+
+
+
+ {{ data.title }}
+
+
+
+
+
+
+
+
+ {{ item.title }}
+
+
+
+
+
+ {{ item.show_price_symbol }}
+ {{ item.price }}
+
+ {{ item.show_price_unit }}
+
+ {{$t('detail.detail.6026t4')}}{{ currency_symbol }}
+ {{ item.discount_price }}
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.inventory }}{{ item.inventory_unit }}
+
+
+ {{ item.spec_choice_text || $t('detail.detail.9624hp') }}
+
+
+
+ {{ item.error_msg }}
+
+
+
+
+
+ {{$t('detail.detail.32171c')}}
+
+
+
+
+
+
+
+
+
+
+
+ {{ currency_symbol }}
+
+
+ {{ data.estimate_price }}
+
+
+
+ {{$t('detail.detail.6026t4')}}
+
+
+ {{ currency_symbol }}
+
+ {{ data.estimate_discount_price }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/binding/index/index.css b/pages/plugins/binding/index/index.css
new file mode 100644
index 0000000..ca98e45
--- /dev/null
+++ b/pages/plugins/binding/index/index.css
@@ -0,0 +1,7 @@
+.page {
+ padding-bottom: 100rpx;
+}
+
+.back-icon {
+ top: -6rpx;
+}
\ No newline at end of file
diff --git a/pages/plugins/binding/index/index.vue b/pages/plugins/binding/index/index.vue
new file mode 100644
index 0000000..3d182b9
--- /dev/null
+++ b/pages/plugins/binding/index/index.vue
@@ -0,0 +1,284 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/blog/comments/comments.vue b/pages/plugins/blog/comments/comments.vue
new file mode 100644
index 0000000..ef93964
--- /dev/null
+++ b/pages/plugins/blog/comments/comments.vue
@@ -0,0 +1,129 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/blog/components/blog-comments/blog-comments.vue b/pages/plugins/blog/components/blog-comments/blog-comments.vue
new file mode 100644
index 0000000..ee97b08
--- /dev/null
+++ b/pages/plugins/blog/components/blog-comments/blog-comments.vue
@@ -0,0 +1,587 @@
+
+
+
+
+ {{$t('user-order.user-order.twc3r7')}}{{ data.comments_count || '' }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/blog/detail/detail.vue b/pages/plugins/blog/detail/detail.vue
new file mode 100644
index 0000000..4545a0e
--- /dev/null
+++ b/pages/plugins/blog/detail/detail.vue
@@ -0,0 +1,245 @@
+
+
+
+
+
+ {{ info.title }}
+
+
+ {{ $t('article-detail.article-detail.728374') }}
+ {{ info.add_time }}
+
+
+ {{ $t('article-detail.article-detail.j92ru0') }}
+ {{ info.access_count }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('article-detail.article-detail.281s4a') }}
+ {{ last_next.last.title }}
+
+
+ {{ $t('article-detail.article-detail.uq5814') }}
+ {{ last_next.next.title }}
+
+
+
+
+
+ {{ $t('detail.detail.455787') }}{{ blog_main_name }}
+ {{ $t('common.more') }}
+
+
+
+
+
+ {{ item.title }}
+ {{ item.add_time_date_cn }}
+ {{ item.describe }}
+
+
+
+
+
+
+
+
+ {{ $t('detail.detail.1j6yxy') }}
+ {{ $t('common.more') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{$t('detail.detail.fn3w01')}}{{ blog_main_name }}
+
+
+ {{$t('common.my')}}{{ blog_main_name }}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/blog/form/form.css b/pages/plugins/blog/form/form.css
new file mode 100644
index 0000000..3ed6c16
--- /dev/null
+++ b/pages/plugins/blog/form/form.css
@@ -0,0 +1,11 @@
+.sp-editor {
+ height: 500rpx;
+}
+
+.more {
+ transition: all 0.3s ease-in-out;
+}
+.p-content {
+ max-height: 50vh;
+ overflow-y: auto;
+}
\ No newline at end of file
diff --git a/pages/plugins/blog/form/form.vue b/pages/plugins/blog/form/form.vue
new file mode 100644
index 0000000..8a9b766
--- /dev/null
+++ b/pages/plugins/blog/form/form.vue
@@ -0,0 +1,450 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/blog/index/index.css b/pages/plugins/blog/index/index.css
new file mode 100644
index 0000000..5c4f568
--- /dev/null
+++ b/pages/plugins/blog/index/index.css
@@ -0,0 +1,42 @@
+/*
+* 分类
+*/
+.nav-list {
+ height: 38rpx;
+ line-height: 38rpx;
+ width: calc(100% - 155rpx);
+}
+
+/**
+ * 推荐博文
+ */
+.right-list .item .blog-title {
+ width: calc(100% - 210rpx);
+}
+
+/**
+ * 分类导航
+ */
+.nav-blog-category .item {
+ width: calc(50% - 10rpx);
+}
+.nav-blog-category .item:nth-child(odd) {
+ float: left;
+}
+.nav-blog-category .item:nth-child(even) {
+ float: right;
+}
+.nav-blog-category .item .icon,
+.nav-blog-category .item .icon-text {
+ width: 74rpx;
+ height: 74rpx !important;
+}
+.nav-blog-category .item .icon-text {
+ line-height: 72rpx;
+ font-size: 48rpx;
+ background: #e6f2f8;
+ color: #3f51b5;
+}
+.nav-blog-category .item .right-base {
+ width: calc(100% - 84rpx);
+}
\ No newline at end of file
diff --git a/pages/plugins/blog/index/index.vue b/pages/plugins/blog/index/index.vue
new file mode 100644
index 0000000..76a9a17
--- /dev/null
+++ b/pages/plugins/blog/index/index.vue
@@ -0,0 +1,280 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.name.substr(0, 1) }}
+
+
+ {{ item.name }}
+ ({{ item.blog_data.day_comments_count }})
+
+
+ {{ blog_main_name }}: {{ item.blog_data.blog_count }}
+ {{ $t('index.index.lkld04') }}{{ item.blog_data.comments_count }}
+ {{ $t('index.index.r6vv25') }}{{ item.blog_data.give_thumbs_count }}
+
+
+
+
+
+
+
+
+
+ {{ $t('index.index.6rsqp1') }}{{ blog_main_name }}
+ {{ $t('common.more') }}
+
+
+
+
+
+
+
+
+
+ {{ item.title }}
+ {{ item.add_time_date_cn }}
+ {{ item.describe }}
+
+
+
+
+
+
+
+
+ {{ $t('index.index.pot64x') }}{{ blog_main_name }}
+ {{ $t('common.more') }}
+
+
+
+
+
+
+
+
+ {{ item.title }}
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('detail.detail.455787') }}{{ blog_main_name }}
+ {{ $t('common.more') }}
+
+
+
+
+ {{ item.title }}
+ {{ $t('detail.detail.e6ga1y') }}{{ item.access_count }}{{ $t('buy.buy.0pgsrm') }}
+
+
+
+
+
+
+
+
+ {{ $t('index.index.8t4j95') }}
+ {{ $t('common.more') }}
+
+
+
+
+
+
+
+
+
+ {{$t('detail.detail.fn3w01')}}{{ blog_main_name }}
+
+
+ {{$t('common.my')}}{{ blog_main_name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/blog/search/search.css b/pages/plugins/blog/search/search.css
new file mode 100644
index 0000000..26e9f4c
--- /dev/null
+++ b/pages/plugins/blog/search/search.css
@@ -0,0 +1,31 @@
+/**
+ * 搜索
+ */
+.search-keywords icon {
+ left: 30rpx;
+ top: calc(50% - 6px);
+ z-index: 1;
+}
+.search-keywords input {
+ font-size: 26rpx;
+ padding: 0 30rpx 0 76rpx;
+ box-sizing: border-box;
+ height: 30px;
+ line-height: 30px;
+ background: #f0f0f0;
+}
+
+/**
+* 分类导航
+*/
+.nav-list {
+ height: 80rpx;
+ line-height: 80rpx;
+}
+
+/**
+* 数据列表
+*/
+.scroll-box {
+ height: calc(100vh - 110rpx - 30px);
+}
\ No newline at end of file
diff --git a/pages/plugins/blog/search/search.vue b/pages/plugins/blog/search/search.vue
new file mode 100644
index 0000000..faa6f64
--- /dev/null
+++ b/pages/plugins/blog/search/search.vue
@@ -0,0 +1,342 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('common.all') }}
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.title }}
+ {{ item.add_time_date_cn }}
+ {{ item.describe }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{$t('detail.detail.fn3w01')}}{{ blog_main_name }}
+
+
+ {{$t('common.my')}}{{ blog_main_name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/blog/user-list/user-list.css b/pages/plugins/blog/user-list/user-list.css
new file mode 100644
index 0000000..680732d
--- /dev/null
+++ b/pages/plugins/blog/user-list/user-list.css
@@ -0,0 +1,37 @@
+.blog-img {
+ width: 236rpx;
+ height: 182rpx;
+}
+
+.badge {
+ display: inline-block;
+ height: 32rpx;
+ line-height: 32rpx;
+ border-radius: 18rpx;
+ font-size: 10px;
+ padding: 0 16rpx;
+}
+
+.badge.success {
+ color: #52C41A;
+ background: rgb(82 196 26 / 10%);
+}
+
+.badge.info {
+ color: #999;
+ background: #f4f4f4;
+}
+
+.badge.error {
+ color: #E22C08;
+ background: rgba(226, 45, 8, 0.1);
+}
+
+.add-icon {
+ height: 80rpx;
+ line-height: 76rpx;
+ margin-right: 6rpx;
+}
+.multi-text {
+ min-height: auto;
+}
\ No newline at end of file
diff --git a/pages/plugins/blog/user-list/user-list.vue b/pages/plugins/blog/user-list/user-list.vue
new file mode 100644
index 0000000..154f485
--- /dev/null
+++ b/pages/plugins/blog/user-list/user-list.vue
@@ -0,0 +1,281 @@
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.title }}
+ {{ item.date }}
+ {{ item.status_name }}
+
+
+
+
+
+
+ {{$t('common.edit')}}
+
+
+
+ {{$t('common.del')}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/brand/index/index.css b/pages/plugins/brand/index/index.css
new file mode 100644
index 0000000..9ede5cc
--- /dev/null
+++ b/pages/plugins/brand/index/index.css
@@ -0,0 +1,64 @@
+/**
+* 分类导航
+*/
+
+.nav-list {
+ width: calc(100% - 70rpx);
+}
+
+.nav-list .item:first-of-type {
+ margin-left: 16rpx;
+}
+
+.nav-list .item {
+ padding: 20rpx 4rpx;
+}
+
+.nav-list image {
+ width: 92rpx;
+ height: 92rpx;
+ margin: 0 15rpx;
+ border-radius: 50%;
+ margin-bottom: 10rpx;
+}
+
+.nav-list-more {
+ width: 100%;
+ max-height: 550rpx;
+ overflow-y: auto;
+}
+
+.nav-list-more image {
+ width: 92rpx;
+ height: 92rpx;
+ border-radius: 50%;
+ margin-bottom: 10rpx;
+}
+
+.nav-list-more .item {
+ width: 20%;
+ padding: 20rpx 0;
+}
+
+/**
+* 数据列表
+*/
+.data-list .item {
+ width: calc(50% - 10rpx);
+ margin-bottom: 20rpx;
+ text-align: center;
+}
+
+.data-list .item:nth-child(2n) {
+ float: right;
+}
+
+.data-list .item:nth-child(2n+1) {
+ float: left;
+}
+
+.data-list .item image {
+ padding-top: 24rpx;
+ width: calc(100% - 48rpx);
+ height: 160rpx !important;
+}
\ No newline at end of file
diff --git a/pages/plugins/brand/index/index.vue b/pages/plugins/brand/index/index.vue
new file mode 100644
index 0000000..c798433
--- /dev/null
+++ b/pages/plugins/brand/index/index.vue
@@ -0,0 +1,224 @@
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/coin/cash-list/cash-list.css b/pages/plugins/coin/cash-list/cash-list.css
new file mode 100644
index 0000000..3de89b7
--- /dev/null
+++ b/pages/plugins/coin/cash-list/cash-list.css
@@ -0,0 +1,32 @@
+.cash .nav {
+ z-index: 102;
+}
+
+.scroll-box {
+ height: calc(100vh - 88rpx);
+}
+
+.convert-group-row .title {
+ min-width: 140rpx;
+}
+
+.recharge-del-btn {
+ padding: 0 60rpx;
+ font-size: 28rpx;
+ margin: 0 0 0 20rpx;
+ color: #0079ff !important;
+ background-color: #fff;
+ border: 2rpx solid #0079ff;
+}
+
+.recharge-del-btn:active {
+ opacity: 0.7;
+}
+
+/*
+ * 钱包弹窗
+*/
+.popup_accounts_container .item {
+ background-color: #f4f4f4;
+ border-radius: 30rpx;
+}
\ No newline at end of file
diff --git a/pages/plugins/coin/cash-list/cash-list.vue b/pages/plugins/coin/cash-list/cash-list.vue
new file mode 100644
index 0000000..2c36512
--- /dev/null
+++ b/pages/plugins/coin/cash-list/cash-list.vue
@@ -0,0 +1,518 @@
+
+
+
+
+
+ {{ accounts_name !== null && accounts_name !== $t('common.all') ? accounts_name : $t('cash-list.cash-list.n74r94') }}
+
+
+
+ {{ recharge_status_name !== null && recharge_status_name !== $t('common.all') ? recharge_status_name : $t('invoice-detail.invoice-detail.rrfex6') }}
+
+
+
+ {{ network_name !== null && network_name !== $t('common.all') ? network_name : $t('cash-list.cash-list.2g251t') }}
+
+
+
+
+
+
+
+
+ {{ item.add_time }}
+ {{ item.status_name }}
+
+
+
+ {{$t('cash-list.cash-list.e6pffe')}}
+ {{ item.cash_no }}
+
+
+ {{$t('cash-list.cash-list.2w20g2')}}
+ {{ item.platform_name }}
+
+
+ {{$t('cash-list.cash-list.23ii8s')}}
+ {{ item.network_name }}
+
+
+ {{$t('cash-list.cash-list.714g2h')}}
+ {{ item.address }}
+
+
+ {{$t('cash-list.cash-list.1o8838')}}
+ {{ item.coin }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{$t('cash-list.cash-list.s7l616')}}
+
+
+ {{ $t('nav-more.nav-more.h9g4b1') }}
+
+
+
+
+
+
+
+ {{$t('cash-list.cash-list.t66tu3')}}
+
+
+ {{ $t('nav-more.nav-more.h9g4b1') }}
+
+
+
+
+
+
+
+ {{$t('cash-list.cash-list.311tt2')}}
+
+
+ {{ $t('nav-more.nav-more.h9g4b1') }}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/coin/cash/cash.css b/pages/plugins/coin/cash/cash.css
new file mode 100644
index 0000000..22b2b32
--- /dev/null
+++ b/pages/plugins/coin/cash/cash.css
@@ -0,0 +1,118 @@
+/*
+ * 顶部
+*/
+.cash .title {
+ background: radial-gradient(60% 70% at 90% 79%, rgba(33, 125, 239, 0.85) 0%, #A6C8F3 100%);
+ padding-top: 130rpx;
+ /* #ifndef H5 */
+ padding-top: calc(var(--status-bar-height) + 5px + 130rpx);
+ /* #endif */
+ padding-bottom: 180rpx;
+}
+
+.coin-dropdown {
+ --height: 48rpx;
+ height: var(--height);
+ line-height: var(--height);
+ padding: 0 64rpx 0 32rpx;
+ background: rgba(255, 255, 255, 0.23);
+ border-radius: 12px;
+}
+
+.coin-dropdown-icon {
+ right: 36rpx;
+ top: 2rpx;
+ padding: 0;
+}
+
+.cash .detail {
+ --height: 64rpx;
+ height: var(--height);
+ line-height: var(--height);
+ background: rgba(255, 255, 255, 0.34);
+ border-radius: 200rpx 0 0 200rpx;
+ padding: 0 32rpx;
+ margin-top: 40rpx;
+}
+
+.cash .text {
+ color: #EBF3FF;
+}
+
+/*
+ * 内容
+*/
+.cash .content {
+ margin-top: -200rpx;
+ border-radius: 32rpx 32rpx 0 0;
+ min-height: calc(100vh - 528rpx);
+ /* #ifndef H5 */
+ min-height: calc(100vh - 528rpx - var(--status-bar-height) - 5px);
+ /* #endif */
+}
+.cash .recharge-content-input-bg,
+.cash .content-input-bg {
+ background-color: #fafafc;
+}
+
+.cash .price-item {
+ --size: -10rpx;
+ margin-left: var(--size);
+ margin-right: var(--size);
+ width: calc(100% - var(--size));
+}
+
+.cash .price-list {
+ background: #F5F7F9;
+ border: 2rpx solid #F5F7F9;
+ border-radius: 16rpx;
+ padding: 20rpx 0;
+ margin: 18rpx 10rpx;
+ width: calc((100% / 3) - 24rpx);
+}
+
+.cash .price-img {
+ --size: 36rpx;
+ width: var(--size);
+ height: var(--size) !important;
+}
+
+.cash-btn {
+ background: linear-gradient(107deg, #31B4FC 0%, #0842E2 100%);
+ transition: all 0.3s ease-in-out;
+}
+
+.cash-btn:active {
+ background: linear-gradient(107deg, #168ACA 0%, #022A97 100%);
+}
+
+.cash .content-tips .item::before {
+ content: '';
+ width: 12rpx;
+ height: 12rpx;
+ border-radius: 12rpx;
+ background: #30B3FC;
+ position: absolute;
+ left: 0;
+ top: 12rpx;
+}
+
+.coin-content-list-img {
+ --size: 28rpx;
+ width: var(--size);
+ height: var(--size) !important;
+}
+
+/*
+ * 虚拟币弹窗
+*/
+.popup_coin_status_container .scroll-y {
+ height: 40vh;
+ overflow-y: auto;
+}
+
+.coin-list-img {
+ --size: 40rpx;
+ width: var(--size);
+ height: var(--size) !important;
+}
\ No newline at end of file
diff --git a/pages/plugins/coin/cash/cash.vue b/pages/plugins/coin/cash/cash.vue
new file mode 100644
index 0000000..1fa7ad8
--- /dev/null
+++ b/pages/plugins/coin/cash/cash.vue
@@ -0,0 +1,362 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ accounts.platform_name }}
+
+
+
+
+ {{$t('cash.cash.zmhf3n')}}
+
+
+ {{ accounts.normal_coin }}
+ {{ accounts.default_symbol }} {{ accounts.default_coin }}
+
+
+ {{$t('pages.plugins-coin-cash-list')}}
+
+
+
+
+
+ {{$t('cash.cash.f6p4hm')}}
+
+
+ {{$t('cash.cash.6oc6e7')}}
+
+
+
+ {{$t('cash.cash.ucg8e2')}}
+
+
+
+
+
+ {{$t('cash.cash.h9i16y')}}
+
+
+
+ {{ network_list[network_list_index]['name'] }}
+
+
+
+ {{$t('cash.cash.1g49wo')}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.platform_name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/coin/collection/collection.css b/pages/plugins/coin/collection/collection.css
new file mode 100644
index 0000000..eeb4597
--- /dev/null
+++ b/pages/plugins/coin/collection/collection.css
@@ -0,0 +1,19 @@
+.collection .qrcode {
+ margin-bottom: 80rpx;
+ margin-top: 52rpx;
+}
+
+.collection .code {
+ margin-bottom: 52rpx;
+}
+
+.collection .code .num {
+ padding: 20rpx 28rpx;
+ word-break: break-all;
+ text-align: left;
+}
+
+.collection .code .copy {
+ padding: 40rpx;
+ color: #635BFF;
+}
\ No newline at end of file
diff --git a/pages/plugins/coin/collection/collection.vue b/pages/plugins/coin/collection/collection.vue
new file mode 100644
index 0000000..5e06b64
--- /dev/null
+++ b/pages/plugins/coin/collection/collection.vue
@@ -0,0 +1,87 @@
+
+
+
+
+
+
+
+
+
+
+ {{ params.accounts_key }}
+ {{$t('collection.collection.856g12')}}
+
+
+
+
+
+
+ {{$t('collection.collection.9p43lu')}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/coin/convert-list/convert-list.css b/pages/plugins/coin/convert-list/convert-list.css
new file mode 100644
index 0000000..69707d2
--- /dev/null
+++ b/pages/plugins/coin/convert-list/convert-list.css
@@ -0,0 +1,18 @@
+.convert .nav {
+ z-index: 102;
+}
+.scroll-box {
+ height: calc(100vh - 88rpx);
+}
+
+.convert-group-row .title {
+ min-width: 140rpx;
+}
+
+/*
+ * 钱包弹窗
+*/
+.popup_accounts_container .item {
+ background-color: #f4f4f4;
+ border-radius: 30rpx;
+}
\ No newline at end of file
diff --git a/pages/plugins/coin/convert-list/convert-list.vue b/pages/plugins/coin/convert-list/convert-list.vue
new file mode 100644
index 0000000..17ca2e7
--- /dev/null
+++ b/pages/plugins/coin/convert-list/convert-list.vue
@@ -0,0 +1,408 @@
+
+
+
+
+
+ {{ send_accounts_name !== null && send_accounts_name !== $t('common.all') ? send_accounts_name : $t('convert-list.convert-list.q48666') }}
+
+
+
+ {{ receive_accounts_name !== null && receive_accounts_name !== $t('common.all') ? receive_accounts_name : $t('convert-list.convert-list.47646p') }}
+
+
+
+
+
+
+
+
+ {{ item.add_time }}
+
+
+
+ {{$t('convert-list.convert-list.8813rd')}}
+ {{ item.convert_no }}
+
+
+ {{$t('convert-list.convert-list.c374ec')}}
+ {{ item.convert_value }}
+
+
+ {{$t('convert-list.convert-list.6mxu85')}}
+ {{ item.send_accounts_id }}
+
+
+ {{$t('convert-list.convert-list.733518')}}
+ {{ item.receive_accounts_id }}
+
+
+ {{$t('convert-list.convert-list.6347mw')}}
+ {{ item.coin }}
+
+
+ {{$t('convert-list.convert-list.9oy325')}}
+ {{ item.note }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{$t('convert-list.convert-list.q48666')}}
+
+
+ {{ $t('nav-more.nav-more.h9g4b1') }}
+
+
+
+
+
+
+
+ {{$t('convert-list.convert-list.47646p')}}
+
+
+ {{ $t('nav-more.nav-more.h9g4b1') }}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/coin/convert/convert.css b/pages/plugins/coin/convert/convert.css
new file mode 100644
index 0000000..9b105a3
--- /dev/null
+++ b/pages/plugins/coin/convert/convert.css
@@ -0,0 +1,77 @@
+.coin-dropdown {
+ --height: 72rpx;
+ height: var(--height);
+ line-height: var(--height);
+ padding: 0 52rpx 0 20rpx;
+ background: #F6F6F6;
+ border-radius: 36rpx;
+ width: 180rpx;
+}
+
+.coin-dropdown-icon {
+ right: 24rpx;
+ top: 2rpx;
+ padding: 0;
+}
+
+.coin-list-img {
+ --size: 40rpx;
+ width: var(--size);
+ height: var(--size) !important;
+}
+
+.coin-num {
+ --height: 72rpx;
+ display: inline-block;
+}
+
+.num.input-br {
+ border: 2rpx solid #F6F6F6;
+}
+
+.coin-num .num {
+ height: var(--height);
+ line-height: var(--height);
+ padding: 0 20rpx 0 20rpx;
+ border-radius: 36rpx;
+ width: 196rpx;
+}
+
+.coin-center-convert {
+ --size: 82rpx;
+ left: 50%;
+ transform: translateX(-50%);
+ margin-top: -54rpx;
+ width: var(--size);
+ height: var(--size);
+ border: 2rpx solid #e1e1e1;
+ border-radius: 50%;
+ background-color: #fff;
+}
+
+.convert-icon {
+ transition: all 0.5s ease-in-out;
+}
+
+.convert_true {
+ transform: rotate3d(1, 0, 0, 180deg);
+}
+
+.convert_false {
+ transform: rotate3d(1, 0, 0, 0deg);
+}
+
+.convert-btn {
+ background: linear-gradient(107deg, #31B4FC 0%, #0842E2 100%);
+ transition: all 0.3s ease-in-out;
+}
+
+.convert-btn:active {
+ background: linear-gradient(107deg, #168ACA 0%, #022A97 100%);
+}
+
+.coin-content-list-img {
+ --size: 36rpx;
+ width: var(--size);
+ height: var(--size) !important;
+}
\ No newline at end of file
diff --git a/pages/plugins/coin/convert/convert.vue b/pages/plugins/coin/convert/convert.vue
new file mode 100644
index 0000000..dafd808
--- /dev/null
+++ b/pages/plugins/coin/convert/convert.vue
@@ -0,0 +1,342 @@
+
+
+
+
+
+
+
+
+
+
+ {{ accounts_list[send_accounts_id_index]['platform_name'] }}
+
+
+
+
+
+ {{$t('convert.convert.o56h58')}}{{ accounts_list[send_accounts_id_index]['platform_symbol'] }} {{ accounts_list[send_accounts_id_index]['normal_coin'] }}
+
+
+
+
+ {{ accounts_list[send_accounts_id_index]['platform_symbol'] }} {{ accounts_list[send_accounts_id_index]['default_coin'] }}
+
+
+
+
+
+
+
+
+
+ {{ accounts_list[receive_accounts_id_index]['platform_name'] }}
+
+
+
+
+
+ {{$t('convert.convert.o56h58')}}{{ accounts_list[receive_accounts_id_index]['platform_symbol'] }} {{ accounts_list[receive_accounts_id_index]['normal_coin'] }}
+
+
+
+
+ {{ accounts_list[receive_accounts_id_index]['platform_symbol'] }} {{ accounts_list[receive_accounts_id_index]['default_coin'] }}
+
+
+
+
+ {{ default_value || 0 }} * {{ accounts_list[send_accounts_id_index]['platform_rate'] }} = {{ Math.round(default_value * accounts_list[receive_accounts_id_index]['platform_rate'] * 100) / 100 }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.platform_name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/coin/detail/detail.css b/pages/plugins/coin/detail/detail.css
new file mode 100644
index 0000000..2ad8926
--- /dev/null
+++ b/pages/plugins/coin/detail/detail.css
@@ -0,0 +1,56 @@
+/*
+ * 顶部
+*/
+.coin-title {
+ background: radial-gradient(60% 70% at 90% 79%, rgba(33, 125, 239, 0.41) 0%, rgba(222, 237, 255, 0.56) 100%);
+ padding-top: 130rpx;
+ /* #ifndef H5 */
+ padding-top: calc(var(--status-bar-height) + 5px + 130rpx);
+ /* #endif */
+ border-bottom-left-radius: 60rpx;
+ border-bottom-right-radius: 60rpx;
+}
+
+.coin-oprate-list {
+ --size: 76rpx;
+ height: var(--size);
+ border-radius: 32rpx;
+}
+
+/*
+ * 内容
+*/
+.coin-content .coin-item {
+ max-height: calc(100vh - 688rpx);
+ /* #ifndef H5 */
+ max-height: calc(100vh - 688rpx - var(--status-bar-height) - 5px);
+ /* #endif */
+ overflow-y: auto;
+}
+
+.coin-content-list-img {
+ --size: 80rpx;
+ width: var(--size);
+ height: var(--size) !important;
+}
+
+/*
+ * 虚拟币弹窗
+*/
+.popup_coin_status_container .scroll-y {
+ height: 40vh;
+ overflow-y: auto;
+}
+
+.coin-list-img {
+ --size: 40rpx;
+ width: var(--size);
+ height: var(--size) !important;
+}
+
+/*
+ * 明细弹窗
+*/
+.popup_user_detail_container .item {
+ background: #EFF0F1;
+}
\ No newline at end of file
diff --git a/pages/plugins/coin/detail/detail.vue b/pages/plugins/coin/detail/detail.vue
new file mode 100644
index 0000000..eb1c5d3
--- /dev/null
+++ b/pages/plugins/coin/detail/detail.vue
@@ -0,0 +1,348 @@
+
+
+
+
+
+
+
+
+
+
+
+ {{ accounts.platform_name }}
+
+
+
+
+
+ {{ is_price_show ? accounts.normal_coin : '***' }}
+ {{ accounts.default_symbol }} {{ accounts.default_coin }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+ {{ item.coin_type_name }}
+ {{ item.add_time }}
+
+
+
+ {{$t('detail.detail.4w20tq')}}
+ {{ item.operate_type_name }}
+
+
+ {{$t('detail.detail.s101d1')}}
+ {{ item.operate_coin }}
+
+
+ {{$t('detail.detail.e30wj1')}}
+ {{ item.original_coin }}
+
+
+ {{$t('detail.detail.jdour8')}}
+ {{ item.latest_coin }}
+
+
+
+
+ {{$t('detail.detail.7fhy2u')}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.platform_name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{$t('pages.plugins-coin-detail')}}
+
+
+
+
+
+
+ {{$t('pages.plugins-coin-recharge-list')}}
+
+
+ {{$t('pages.plugins-coin-transfer-list')}}
+
+
+ {{$t('pages.plugins-coin-transaction-list')}}
+
+
+ {{$t('pages.plugins-coin-cash-list')}}
+
+
+ {{$t('pages.plugins-coin-convert-list')}}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/coin/recharge-list/recharge-list.css b/pages/plugins/coin/recharge-list/recharge-list.css
new file mode 100644
index 0000000..87aa760
--- /dev/null
+++ b/pages/plugins/coin/recharge-list/recharge-list.css
@@ -0,0 +1,42 @@
+.convert .nav {
+ z-index: 102;
+}
+
+.scroll-box {
+ height: calc(100vh - 88rpx);
+}
+
+.recharge-apy-btn,
+.recharge-del-btn {
+ padding: 0 60rpx;
+ font-size: 28rpx;
+ margin: 0 0 0 20rpx;
+}
+
+.recharge-apy-btn:active,
+.recharge-del-btn:active {
+ opacity: 0.7;
+}
+
+.recharge-del-btn {
+ color: #0079ff !important;
+ background-color: #fff;
+ border: 2rpx solid #0079ff;
+}
+
+.recharge-apy-btn {
+ background: linear-gradient(107deg, #31B4FC 0%, #0842E2 100%), #0079FF;
+ color: #fff !important;
+}
+
+.convert-group-row .title {
+ min-width: 140rpx;
+}
+
+/*
+ * 钱包弹窗
+*/
+.popup_accounts_container .item {
+ background-color: #f4f4f4;
+ border-radius: 30rpx;
+}
\ No newline at end of file
diff --git a/pages/plugins/coin/recharge-list/recharge-list.vue b/pages/plugins/coin/recharge-list/recharge-list.vue
new file mode 100644
index 0000000..141317e
--- /dev/null
+++ b/pages/plugins/coin/recharge-list/recharge-list.vue
@@ -0,0 +1,523 @@
+
+
+
+
+
+ {{ accounts_name !== null && accounts_name !== $t('common.all') ? accounts_name : $t('cash-list.cash-list.n74r94') }}
+
+
+
+ {{ recharge_status_name !== null && recharge_status_name !== $t('common.all') ? recharge_status_name : $t('invoice-detail.invoice-detail.rrfex6') }}
+
+
+
+ {{ network_name !== null && network_name !== $t('common.all') ? network_name : $t('cash-list.cash-list.2g251t') }}
+
+
+
+
+
+
+
+
+ {{ item.status_name }}
+ {{ item.add_time }}
+
+
+
+ {{$t('recharge-list.recharge-list.6b9399')}}
+ {{ item.recharge_no }}
+
+
+ {{$t('cash-list.cash-list.2w20g2')}}
+ {{ item.platform_name }}
+
+
+ {{$t('cash-list.cash-list.23ii8s')}}
+ {{ item.network_name }}
+
+
+ {{$t('cash-list.cash-list.714g2h')}}
+ {{ item.address }}
+
+
+ {{$t('recharge-list.recharge-list.epd531')}}
+ {{ item.coin }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{$t('cash-list.cash-list.s7l616')}}
+
+
+ {{ $t('nav-more.nav-more.h9g4b1') }}
+
+
+
+
+
+
+
+ {{$t('cash-list.cash-list.t66tu3')}}
+
+
+ {{ $t('nav-more.nav-more.h9g4b1') }}
+
+
+
+
+
+
+
+ {{$t('cash-list.cash-list.311tt2')}}
+
+
+ {{ $t('nav-more.nav-more.h9g4b1') }}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/coin/recharge-pay/recharge-pay.css b/pages/plugins/coin/recharge-pay/recharge-pay.css
new file mode 100644
index 0000000..379fc04
--- /dev/null
+++ b/pages/plugins/coin/recharge-pay/recharge-pay.css
@@ -0,0 +1,105 @@
+.coin-dropdown {
+ --height: 72rpx;
+ height: var(--height);
+ line-height: var(--height);
+ padding: 0 52rpx 0 20rpx;
+ background: #F6F6F6;
+ border-radius: 36rpx;
+ width: 168rpx;
+}
+
+.coin-dropdown-icon {
+ right: 24rpx;
+ top: 2rpx;
+ padding: 0;
+}
+
+.coin-list-img {
+ --size: 40rpx;
+ width: var(--size);
+ height: var(--size) !important;
+}
+
+.coin-num {
+ --height: 72rpx;
+ display: inline-block;
+}
+
+.num.input-br {
+ border: 2rpx solid #F6F6F6;
+}
+
+.coin-num .num {
+ height: var(--height);
+ line-height: var(--height);
+ padding: 0 20rpx 0 20rpx;
+ border-radius: 36rpx;
+ width: 196rpx;
+}
+
+.coin-center-convert {
+ --size: 82rpx;
+ left: 50%;
+ transform: translateX(-50%);
+ margin-top: -54rpx;
+ width: var(--size);
+ height: var(--size);
+ border: 2rpx solid #e1e1e1;
+ border-radius: 50%;
+ background-color: #fff;
+}
+
+.convert-icon {
+ transition: all 0.5s ease-in-out;
+}
+
+.convert_true {
+ transform: rotate3d(1, 0, 0, 180deg);
+}
+
+.convert_false {
+ transform: rotate3d(1, 0, 0, 0deg);
+}
+
+.convert-btn {
+ background: linear-gradient(107deg, #31B4FC 0%, #0842E2 100%);
+ transition: all 0.3s ease-in-out;
+}
+
+.convert-btn:active {
+ background: linear-gradient(107deg, #168ACA 0%, #022A97 100%);
+}
+
+.coin-content-list-img {
+ --size: 36rpx;
+ width: var(--size);
+ height: var(--size) !important;
+}
+
+.convert-group-row .title {
+ min-width: 140rpx;
+}
+
+.cancel-btn,
+.submit-btn {
+ width: 50%;
+ height: 88rpx;
+ line-height: 88rpx;
+ font-size: 32rpx;
+}
+
+.cancel-btn:active,
+.submit-btn:active {
+ opacity: 0.7;
+}
+
+.cancel-btn {
+ border: 2rpx solid #0079FF;
+ background-color: transparent;
+ color: #0079FF !important;
+}
+
+.submit-btn {
+ background: linear-gradient(107deg, #3AB1F3 0%, #3C6BF7 100%);
+ color: #fff !important;
+}
\ No newline at end of file
diff --git a/pages/plugins/coin/recharge-pay/recharge-pay.vue b/pages/plugins/coin/recharge-pay/recharge-pay.vue
new file mode 100644
index 0000000..11646da
--- /dev/null
+++ b/pages/plugins/coin/recharge-pay/recharge-pay.vue
@@ -0,0 +1,243 @@
+
+
+
+
+
+
+
+ {{$t('recharge-list.recharge-list.6b9399')}}
+ {{ accounts.recharge_no }}
+
+
+ {{$t('cash-list.cash-list.714g2h')}}
+ {{ accounts.address }}
+
+
+ {{$t('cash-list.cash-list.23ii8s')}}
+ {{ accounts.network_name }}
+
+
+ {{$t('recharge-list.recharge-list.epd531')}}
+ {{ accounts.coin }}
+
+
+ {{$t('cash-list.cash-list.2w20g2')}}
+ {{ accounts.platform_name }}
+
+
+ {{$t('cash-list.cash-list.2w20g2')}}
+ {{ accounts.add_time }}
+
+
+
+
+
+ {{$t('recharge-pay.recharge-pay.lutmsv')}}
+ {{$t('recharge-pay.recharge-pay.1a5vqk')}}
+
+
+
+
+
+ {{$t('recharge-pay.recharge-pay.wu49vk')}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/coin/recharge/recharge.css b/pages/plugins/coin/recharge/recharge.css
new file mode 100644
index 0000000..e978c19
--- /dev/null
+++ b/pages/plugins/coin/recharge/recharge.css
@@ -0,0 +1,137 @@
+/*
+ * 顶部
+*/
+.recharge-title {
+ background: radial-gradient(60% 70% at 90% 79%, rgba(33, 125, 239, 0.85) 0%, #A6C8F3 100%);
+ padding-top: 130rpx;
+ /* #ifndef H5 */
+ padding-top: calc(var(--status-bar-height) + 5px + 130rpx);
+ /* #endif */
+}
+
+.coin-dropdown {
+ --height: 48rpx;
+ display: inline-block;
+ height: var(--height);
+ line-height: var(--height);
+ padding: 0 64rpx 0 32rpx;
+ background: rgba(255, 255, 255, 0.23);
+ border-radius: 12px;
+}
+
+.coin-dropdown-icon {
+ right: -36rpx;
+ top: 2rpx;
+ padding: 0;
+}
+
+.recharge-qrcode {
+ background-color: #fff;
+ border-radius: 40rpx;
+ text-align: center;
+ padding: 20rpx;
+}
+
+.recharge-qrcode .img {
+ width: 160rpx !important;
+ height: 160rpx !important;
+}
+
+/*
+ * 内容
+*/
+.recharge-content {
+ margin-top: -32rpx;
+ border-radius: 32rpx 32rpx 0 0;
+ min-height: calc(100vh - 528rpx);
+ /* #ifndef H5 */
+ min-height: calc(100vh - 528rpx - var(--status-bar-height) - 5px);
+ /* #endif */
+}
+
+.recharge-content-input-bg {
+ background-color: #fafafc;
+}
+
+.recharge-price-item {
+ --size: -10rpx;
+ margin-left: var(--size);
+ margin-right: var(--size);
+ width: calc(100% - var(--size));
+}
+
+.recharge-price-list {
+ background: #F5F7F9;
+ border: 2rpx solid #F5F7F9;
+ border-radius: 16rpx;
+ padding: 20rpx 0;
+ margin: 18rpx 10rpx;
+ width: calc((100% / 3) - 24rpx);
+}
+
+.recharge-price-badge {
+ background: linear-gradient(107deg, #8A18DF 0%, #8D17DD 100%), #D8D8D8;
+ border-radius: 16rpx 0px 16rpx 0px;
+ padding: 2rpx 20rpx;
+ position: absolute;
+ left: 0;
+ top: -20rpx;
+ max-width: calc(100% - 20px);
+}
+
+.recharge-price-list.active {
+ background: rgba(8, 140, 226, 0.06);
+ border-radius: 8px;
+ border: 1px solid #2FB0FB;
+}
+
+.recharge-price-name {
+ font-size: 44rpx;
+}
+
+.recharge-price-img {
+ --size: 36rpx;
+ width: var(--size);
+ height: var(--size) !important;
+}
+
+.recharge-btn {
+ background: linear-gradient(107deg, #31B4FC 0%, #0842E2 100%);
+ transition: all 0.3s ease-in-out;
+}
+
+.recharge-btn:active {
+ background: linear-gradient(107deg, #168ACA 0%, #022A97 100%);
+}
+
+.recharge-content-tips .item::before {
+ content: '';
+ width: 12rpx;
+ height: 12rpx;
+ border-radius: 12rpx;
+ background: #30B3FC;
+ position: absolute;
+ left: 0;
+ top: 12rpx;
+}
+
+.coin-content-list-img {
+ --size: 28rpx;
+ width: var(--size);
+ height: var(--size) !important;
+}
+
+/*
+ * 虚拟币弹窗
+*/
+.popup_coin_status_container .scroll-y {
+ height: 40vh;
+ overflow-y: auto;
+ padding-right: 20rpx;
+}
+
+.coin-list-img {
+ --size: 40rpx;
+ width: var(--size);
+ height: var(--size) !important;
+}
\ No newline at end of file
diff --git a/pages/plugins/coin/recharge/recharge.vue b/pages/plugins/coin/recharge/recharge.vue
new file mode 100644
index 0000000..9121dda
--- /dev/null
+++ b/pages/plugins/coin/recharge/recharge.vue
@@ -0,0 +1,338 @@
+
+
+
+
+
+
+
+
+
+
+
+ {{ accounts.platform_name }}
+
+
+
+
+
+ {{ accounts.normal_coin }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{$t('recharge.recharge.lh6k86')}}
+
+ {{ accounts.platform_data.recharge_address }}
+
+
+
+
+
+
+ {{$t('recharge.recharge.e5rblc')}}
+
+
+
+ {{ network_list[network_list_index]['name'] }}
+
+
+
+ {{$t('cash.cash.1g49wo')}}
+
+
+
+ {{$t('recharge.recharge.eb6722')}}
+
+
+
+
+
+ {{ item.value }}
+
+ 10000
+ {{ item.tips }}
+
+
+
+
+
+ {{$t('recharge.recharge.k1e7hs')}}
+
+
+
+
+
+
+
+ {{$t('recharge.recharge.e8n7ul')}}
+
+ {{ item }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.platform_name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/coin/transaction-list/transaction-list.css b/pages/plugins/coin/transaction-list/transaction-list.css
new file mode 100644
index 0000000..21b544d
--- /dev/null
+++ b/pages/plugins/coin/transaction-list/transaction-list.css
@@ -0,0 +1,18 @@
+.transaction .nav {
+ z-index: 102;
+}
+.scroll-box {
+ height: calc(100vh - 88rpx);
+}
+
+.convert-group-row .title {
+ min-width: 140rpx;
+}
+
+/*
+ * 钱包弹窗
+*/
+.popup_accounts_container .item {
+ background-color: #f4f4f4;
+ border-radius: 30rpx;
+}
\ No newline at end of file
diff --git a/pages/plugins/coin/transaction-list/transaction-list.vue b/pages/plugins/coin/transaction-list/transaction-list.vue
new file mode 100644
index 0000000..a7d066e
--- /dev/null
+++ b/pages/plugins/coin/transaction-list/transaction-list.vue
@@ -0,0 +1,537 @@
+
+
+
+
+
+ {{ accounts_name !== null && accounts_name !== $t('common.all') ? accounts_name : $t('cash-list.cash-list.n74r94') }}
+
+
+
+ {{ operate_type_name !== null && operate_type_name !== $t('common.all') ? operate_type_name : $t('wallet-log-detail.wallet-log-detail.tdf3wo') }}
+
+
+
+ {{ business_type_name !== null && business_type_name !== $t('common.all') ? business_type_name : $t('invoice.invoice.l3832z') }}
+
+
+
+ {{ coin_type_name !== null && coin_type_name !== $t('common.all') ? coin_type_name : $t('transaction-list.transaction-list.cu39n5') }}
+
+
+
+
+
+
+
+
+ {{ item.business_type_name }}
+ {{ item.add_time }}
+
+
+
+ {{$t('transaction-list.transaction-list.1mf6wj')}}
+ {{ item.coin_type_name }}
+
+
+ {{$t('detail.detail.4w20tq')}}
+ {{ item.operate_type_name }}
+
+
+ {{$t('transaction-list.transaction-list.2w1o1l')}}
+ {{ item.operate_coin }}
+
+
+ {{$t('transaction-list.transaction-list.jgx0cf')}}
+ {{ item.original_coin }}
+
+
+ {{$t('convert-list.convert-list.6347mw')}}
+ {{ item.latest_coin }}
+
+
+ {{$t('transaction-list.transaction-list.7cv11k')}}
+ {{ item.msg }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{$t('cash-list.cash-list.s7l616')}}
+
+
+ {{ $t('nav-more.nav-more.h9g4b1') }}
+
+
+
+
+
+
+
+ {{$t('wallet-log-detail.wallet-log-detail.tdf3wo')}}
+
+
+ {{ $t('nav-more.nav-more.h9g4b1') }}
+
+
+
+
+
+
+
+ {{$t('invoice.invoice.l3832z')}}
+
+
+ {{ $t('nav-more.nav-more.h9g4b1') }}
+
+
+
+
+
+
+
+ {{$t('transaction-list.transaction-list.cu39n5')}}
+
+
+ {{ $t('nav-more.nav-more.h9g4b1') }}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/coin/transfer-list/transfer-list.css b/pages/plugins/coin/transfer-list/transfer-list.css
new file mode 100644
index 0000000..025b1d2
--- /dev/null
+++ b/pages/plugins/coin/transfer-list/transfer-list.css
@@ -0,0 +1,18 @@
+.transfer-accounts .nav {
+ z-index: 102;
+}
+.scroll-box {
+ height: calc(100vh - 88rpx);
+}
+
+.convert-group-row .title {
+ min-width: 140rpx;
+}
+
+/*
+ * 钱包弹窗
+*/
+.popup_accounts_container .item {
+ background-color: #f4f4f4;
+ border-radius: 30rpx;
+}
\ No newline at end of file
diff --git a/pages/plugins/coin/transfer-list/transfer-list.vue b/pages/plugins/coin/transfer-list/transfer-list.vue
new file mode 100644
index 0000000..e889580
--- /dev/null
+++ b/pages/plugins/coin/transfer-list/transfer-list.vue
@@ -0,0 +1,342 @@
+
+
+
+
+
+ {{ accounts_name !== null && accounts_name !== $t('common.all') ? accounts_name : $t('cash-list.cash-list.n74r94') }}
+
+
+
+
+
+
+
+
+ {{$t('user-transfer-detail.user-transfer-detail.x17599')}}
+ {{ item.add_time }}
+
+
+
+ {{$t('transfer-list.transfer-list.69rnx6')}}
+ {{ item.transfer_no }}
+
+
+ {{$t('transfer-list.transfer-list.4aj248')}}
+ {{ item.receive_user.username }}
+
+
+ {{$t('transfer-list.transfer-list.m2r55k')}}
+ {{ item.coin }}
+
+
+ {{$t('transfer-list.transfer-list.9g8lyb')}}
+ {{ item.note }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{$t('cash-list.cash-list.s7l616')}}
+
+
+ {{ $t('nav-more.nav-more.h9g4b1') }}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/coin/transfer/transfer.css b/pages/plugins/coin/transfer/transfer.css
new file mode 100644
index 0000000..416d47a
--- /dev/null
+++ b/pages/plugins/coin/transfer/transfer.css
@@ -0,0 +1,19 @@
+.note {
+ background-color: #fafafc;
+}
+
+.accounts-btn,
+.transfer-btn {
+ background: linear-gradient(107deg, #31B4FC 0%, #0842E2 100%);
+}
+
+.accounts-btn,
+.transfer-btn:active {
+ background: linear-gradient(107deg, #168ACA 0%, #022A97 100%);
+}
+
+.coin-content-list-img {
+ --size: 80rpx;
+ width: var(--size);
+ height: var(--size) !important;
+}
\ No newline at end of file
diff --git a/pages/plugins/coin/transfer/transfer.vue b/pages/plugins/coin/transfer/transfer.vue
new file mode 100644
index 0000000..8629080
--- /dev/null
+++ b/pages/plugins/coin/transfer/transfer.vue
@@ -0,0 +1,260 @@
+
+
+
+
+
+
+
+
+
+
+ {{ accounts.platform_name }}
+
+ {{ accounts.platform_symbol }} {{ accounts.normal_coin }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{$t('transfer.transfer.b4m5p3')}}
+
+
+ {{$t('transfer.transfer.9xe2bl')}}{{ accounts.platform_symbol }} {{ accounts.default_coin }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/coin/user/user.css b/pages/plugins/coin/user/user.css
new file mode 100644
index 0000000..1b0ec7f
--- /dev/null
+++ b/pages/plugins/coin/user/user.css
@@ -0,0 +1,43 @@
+/*
+ * 顶部
+*/
+.coin-title {
+ background-size: 100% auto;
+ padding-top: 130rpx;
+ /* #ifndef H5 */
+ padding-top: calc(var(--status-bar-height) + 5px + 130rpx);
+ /* #endif */
+ border-bottom-left-radius: 60rpx;
+ border-bottom-right-radius: 60rpx;
+}
+
+.coin-operate-list {
+ --size: 96rpx;
+ width: var(--size);
+ height: var(--size);
+ border-radius: 32rpx;
+}
+
+/*
+ * 内容
+*/
+.coin-content .coin-item {
+ max-height: calc(100vh - 688rpx);
+ /* #ifndef H5 */
+ max-height: calc(100vh - 688rpx - var(--status-bar-height) - 5px);
+ /* #endif */
+ overflow-y: auto;
+}
+
+.coin-content-list-img {
+ --size: 80rpx;
+ width: var(--size);
+ height: var(--size) !important;
+}
+
+/*
+ * 明细弹窗
+*/
+.popup_user_detail_container .item {
+ background: #EFF0F1;
+}
\ No newline at end of file
diff --git a/pages/plugins/coin/user/user.vue b/pages/plugins/coin/user/user.vue
new file mode 100644
index 0000000..6cbd4ff
--- /dev/null
+++ b/pages/plugins/coin/user/user.vue
@@ -0,0 +1,257 @@
+
+
+
+
+
+
+
+
+ {{$t('user.user.67p34x')}}
+ {{ is_price_show ? accounts_summary : '***' }}
+
+
+
+
+
+
+
+
+
+
+ {{$t('recharge.recharge.otwkjn')}}
+
+
+
+
+
+ {{$t('pages.plugins-coin-convert')}}
+
+
+
+
+
+ {{$t('user.user.8752a4')}}
+
+
+
+
+
+ {{$t('pages.plugins-coin-detail')}}
+
+
+
+
+
+
+
+
+
+ {{ item.platform_name }}
+
+
+ {{ item.platform_symbol }} {{ item.normal_coin }}
+ {{ item.default_symbol }} {{ item.default_coin }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{$t('pages.plugins-coin-detail')}}
+
+
+
+
+
+
+ {{$t('pages.plugins-coin-recharge-list')}}
+
+
+ {{$t('pages.plugins-coin-transfer-list')}}
+
+
+ {{$t('pages.plugins-coin-transaction-list')}}
+
+
+ {{$t('pages.plugins-coin-cash-list')}}
+
+
+ {{$t('pages.plugins-coin-convert-list')}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/coupon/detail/detail.vue b/pages/plugins/coupon/detail/detail.vue
new file mode 100644
index 0000000..35e9179
--- /dev/null
+++ b/pages/plugins/coupon/detail/detail.vue
@@ -0,0 +1,206 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/plugins/coupon/index/index.css b/pages/plugins/coupon/index/index.css
new file mode 100644
index 0000000..16affab
--- /dev/null
+++ b/pages/plugins/coupon/index/index.css
@@ -0,0 +1,38 @@
+/**
+ * 领券中心
+ */
+.plugins-coupon-container {
+ padding-top: 408rpx;
+ height: calc(100vh - 500rpx - var(--status-bar-height) - 5px);
+ /* #ifdef H5 */
+ padding-top: 408rpx;
+ height: calc(100vh - 560rpx);
+ /* #endif */
+}
+
+.coupon-content {
+ border-top: 42rpx solid #fff;
+ border-radius: 32rpx 32rpx 0 0;
+ min-height: calc(100% - 42rpx);
+}
+
+.coupon-content .item {
+ padding: 0 24rpx 24rpx 24rpx;
+}
+
+.popup-btn {
+ border: 2rpx solid #FF6E01;
+ color: #FF6E01;
+ border-radius: 22px;
+ font-size: 32rpx;
+ padding: 20rpx 0;
+}
+
+@media screen and (min-width: 960px) {
+ .plugins-coupon-container {
+ /* #ifdef H5 */
+ padding-top: 450px;
+ height: calc(100vh - 525px);
+ /* #endif */
+ }
+}
\ No newline at end of file
diff --git a/pages/plugins/coupon/index/index.vue b/pages/plugins/coupon/index/index.vue
new file mode 100644
index 0000000..8e9cb3f
--- /dev/null
+++ b/pages/plugins/coupon/index/index.vue
@@ -0,0 +1,231 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/coupon/shop/shop.css b/pages/plugins/coupon/shop/shop.css
new file mode 100644
index 0000000..7146199
--- /dev/null
+++ b/pages/plugins/coupon/shop/shop.css
@@ -0,0 +1,11 @@
+/**
+ * 领券中心
+ */
+.coupon-content .item {
+ padding: 0 24rpx 24rpx 24rpx;
+}
+
+.popup-bottom {
+ box-shadow: inset 0px 1px 3px 0px rgba(0, 0, 0, 0.08);
+ z-index: 2;
+}
\ No newline at end of file
diff --git a/pages/plugins/coupon/shop/shop.vue b/pages/plugins/coupon/shop/shop.vue
new file mode 100644
index 0000000..2aa81e1
--- /dev/null
+++ b/pages/plugins/coupon/shop/shop.vue
@@ -0,0 +1,231 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/coupon/user/user.css b/pages/plugins/coupon/user/user.css
new file mode 100644
index 0000000..988e523
--- /dev/null
+++ b/pages/plugins/coupon/user/user.css
@@ -0,0 +1,15 @@
+/*
+* 导航
+*/
+.nav-base .item {
+ width: 33.33%;
+}
+
+/*
+* 数据列表
+*/
+.plugins-coupon-container .item,
+.plugins-coupon-container .v-right,
+.plugins-coupon-container .v-right .circle {
+ height: 230rpx;
+}
\ No newline at end of file
diff --git a/pages/plugins/coupon/user/user.vue b/pages/plugins/coupon/user/user.vue
new file mode 100644
index 0000000..eeea467
--- /dev/null
+++ b/pages/plugins/coupon/user/user.vue
@@ -0,0 +1,197 @@
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/delivery/logistics/logistics.css b/pages/plugins/delivery/logistics/logistics.css
new file mode 100644
index 0000000..dc2b76f
--- /dev/null
+++ b/pages/plugins/delivery/logistics/logistics.css
@@ -0,0 +1,20 @@
+.map-container {
+ height: 100vh;
+}
+.team {
+ left: 20rpx;
+ bottom: calc(env(safe-area-inset-bottom) + 20rpx);
+ width: calc(100% - 40rpx);
+ background-color: rgb(255 255 255 / 0.85);
+}
+.team .base .avatar {
+ width: 80rpx;
+ height: 80rpx;
+}
+.team .tel {
+ right: 20rpx;
+ top: calc(50% - 27rpx);
+ line-height: 54rpx;
+ height: 54rpx;
+ width: 54rpx;
+}
\ No newline at end of file
diff --git a/pages/plugins/delivery/logistics/logistics.vue b/pages/plugins/delivery/logistics/logistics.vue
new file mode 100644
index 0000000..18aa740
--- /dev/null
+++ b/pages/plugins/delivery/logistics/logistics.vue
@@ -0,0 +1,169 @@
+
+
+
+
+
+
+
+
+
+ {{team.idcard_name}}
+
+
+
+
+
+
+
+ {{$t('logistics.logistics.dxu6ql')}}
+ {{start_delivery_time}}
+ {{$t('logistics.logistics.5542tq')}}
+
+
+ {{$t('logistics.logistics.895ug2')}}
+ {{success_delivery_time}}
+ {{$t('logistics.logistics.76q0ii')}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/plugins/delivery/order-detail/order-detail.css b/pages/plugins/delivery/order-detail/order-detail.css
new file mode 100644
index 0000000..f07a58c
--- /dev/null
+++ b/pages/plugins/delivery/order-detail/order-detail.css
@@ -0,0 +1,48 @@
+/*
+* 商品信息
+*/
+.goods-base {
+ min-height: 160rpx;
+ margin-left: 180rpx;
+}
+.goods .goods-item:last-child {
+ border-bottom: 0;
+}
+.goods-image {
+ width: 160rpx;
+ height: 160rpx;
+}
+
+/*
+* 地址信息
+*/
+.address-base,
+.address-detail {
+ padding: 10rpx 0;
+}
+.address-detail .icon {
+ width: 30rpx;
+ height: 35rpx !important;
+}
+.address-detail .text {
+ width: calc(100% - 40rpx);
+}
+.address-detail .text {
+ line-height: 36rpx;
+}
+.address-alias,
+.address-map-submit {
+ padding: 0 15rpx;
+ line-height: 40rpx;
+}
+
+/**
+ * 图片列表
+ */
+.images-list .item-images {
+ width: 80rpx;
+ height: 80rpx;
+}
+.images-list .item-images:not(:last-child) {
+ margin-right: 10rpx;
+}
\ No newline at end of file
diff --git a/pages/plugins/delivery/order-detail/order-detail.vue b/pages/plugins/delivery/order-detail/order-detail.vue
new file mode 100644
index 0000000..3ae63b3
--- /dev/null
+++ b/pages/plugins/delivery/order-detail/order-detail.vue
@@ -0,0 +1,261 @@
+
+
+
+
+
+
+ {{$t('order.order.jhgfd1')}}
+
+ {{detail.warehouse_address.alias}}
+ {{detail.warehouse_address.name}}
+ {{detail.warehouse_address.tel}}
+
+
+
+
+ {{detail.warehouse_address.address_info}}
+ {{$t('user-order-detail.user-order-detail.7lp6gw')}}
+
+
+
+
+
+
+
+ {{$t('order.order.hbvwq4')}}
+
+ {{detail.user_address.alias}}
+ {{detail.user_address.name}}
+ {{detail.user_address.tel}}
+
+ {{detail.user_address.appoint_time}}
+
+
+
+ {{detail.user_address.address_info}}
+ {{$t('user-order-detail.user-order-detail.7lp6gw')}}
+
+
+
+
+
+
+
+ {{$t('order-detail.order-detail.9er1pc')}}
+
+
+ {{item.name}}
+
+
+
+
+
+
+
+
+
+
+ {{item.value}}
+
+
+ {{item.value}}
+
+
+
+
+
+
+
+
+
+ {{$t('user-order-detail.user-order-detail.7f8p26')}}
+
+
+
+
+ {{item.title}}
+
+
+ ;
+ {{sv.value}}
+
+
+
+ {{detail.currency_data.currency_symbol}}{{item.price}}
+ x{{item.buy_number}}
+
+ {{item.orderaftersale_btn_text}}
+
+
+
+
+ {{$t('user-order-detail.user-order-detail.423rmr')}}{{detail.buy_number_count}}{{$t('user-order-detail.user-order-detail.41ty94')}}{{detail.currency_data.currency_symbol}}{{detail.total_price}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/plugins/delivery/order/order.css b/pages/plugins/delivery/order/order.css
new file mode 100644
index 0000000..1d2ebf3
--- /dev/null
+++ b/pages/plugins/delivery/order/order.css
@@ -0,0 +1,62 @@
+/*
+* 头部
+*/
+.header {
+ height: 160rpx;
+}
+.nav-base .item {
+ width: 20%;
+}
+.nav-base .item .badge-icon {
+ top: -18rpx;
+ left: calc(50% + 52rpx);
+ z-index: 1;
+}
+.nav-search .search-keywords {
+ margin-right: 80rpx;
+}
+.nav-search .map-submit {
+ top: 0;
+ right: 20rpx;
+}
+
+/**
+ * 数据列表
+ */
+.scroll-box {
+ height: calc(100vh - 160rpx);
+}
+.data-list .address-info {
+ width: calc(100% - 58rpx);
+ word-wrap: break-word;
+ word-break: break-all;
+}
+.data-list .address-info .icon-item {
+ right: 0;
+ top: -6rpx;
+ line-height: 54rpx;
+ height: 54rpx;
+ width: 54rpx;
+}
+
+/**
+ * 地图
+ */
+.map-container {
+ height: calc(100vh - 160rpx);
+}
+.map-container .map-markers-active-data {
+ background-color: rgb(255 255 255 / 0.85);
+ width: calc(100% - 40rpx);
+ left: 20rpx;
+ bottom: 20rpx;
+ line-height: 58rpx;
+ box-shadow: 0 0 20rpx rgba(50,55,58,0.2);
+}
+.map-container .map-markers-active-data .map-send-icon {
+ right: 0;
+ top: calc(50% - 22rpx);
+ line-height: 54rpx;
+ height: 54rpx;
+ width: 54rpx;
+}
\ No newline at end of file
diff --git a/pages/plugins/delivery/order/order.vue b/pages/plugins/delivery/order/order.vue
new file mode 100644
index 0000000..aa121ab
--- /dev/null
+++ b/pages/plugins/delivery/order/order.vue
@@ -0,0 +1,853 @@
+
+
+
+
+
+
+
+
+
+
+ {{ item.add_time_concise || item.add_time }}
+ {{ item.status_name }}
+
+
+
+
+ {{$t('order.order.232ygr')}}
+ {{ item.main_order_no }}
+
+
+ {{$t('order.order.71n22h')}}
+ {{ item.main_order_id }}
+
+
+
+ {{$t('order.order.jhgfd1')}}
+
+
+ {{item.warehouse_address.name}}
+ {{item.warehouse_address.tel}}
+ {{item.merchant_name}}
+
+
+
+ {{ item.warehouse_address.address_info }}
+
+
+
+
+
+
+
+
+ {{$t('order.order.hbvwq4')}}
+
+
+ {{item.user_address.name}}
+ {{item.user_address.tel}}
+
+
+ {{item.user_address.extraction_contact_name}}
+ {{item.user_address.extraction_contact_tel}}
+
+ {{item.user_address.appoint_time}}
+
+
+ {{ item.user_address.address_info }}
+
+
+
+
+
+
+
+
+ {{ item.describe }}
+ {{$t('extraction-address.extraction-address.42v8tv')}}{{ item.distance }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{$t('order.order.71n22h')}}:
+ {{item.main_order_id}}
+
+
+ {{$t('order.order.232ygr')}}:
+ {{item.main_order_no}}
+
+
+ {{$t('order.order.ra8222')}}:
+ {{ item.user_address.address_info }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/plugins/distribution/extraction-apply/extraction-apply.css b/pages/plugins/distribution/extraction-apply/extraction-apply.css
new file mode 100644
index 0000000..2639e93
--- /dev/null
+++ b/pages/plugins/distribution/extraction-apply/extraction-apply.css
@@ -0,0 +1,16 @@
+/*
+* 三级联动
+*/
+.select-address {
+ box-sizing: border-box;
+ height: 70rpx;
+ line-height: 70rpx;
+ padding: 0 10rpx;
+}
+.select-address .section {
+ width: 33.33%;
+ box-sizing: border-box;
+}
+.select-address .section:not(:first-child) {
+ padding: 0 5rpx;
+}
\ No newline at end of file
diff --git a/pages/plugins/distribution/extraction-apply/extraction-apply.vue b/pages/plugins/distribution/extraction-apply/extraction-apply.vue
new file mode 100644
index 0000000..8940865
--- /dev/null
+++ b/pages/plugins/distribution/extraction-apply/extraction-apply.vue
@@ -0,0 +1,605 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/distribution/extraction-order/extraction-order.css b/pages/plugins/distribution/extraction-order/extraction-order.css
new file mode 100644
index 0000000..025fa04
--- /dev/null
+++ b/pages/plugins/distribution/extraction-order/extraction-order.css
@@ -0,0 +1,23 @@
+/*
+* 导航
+*/
+.nav-base .item {
+ width: 33.33%;
+}
+
+/*
+* 搜索
+*/
+.search-drag {
+ width: 35px;
+ height: 35px;
+ line-height: 48px;
+ background: hsla(0, 0%, 0%, 0.01);
+ margin-top: calc(100vh - 260rpx);
+ margin-left: calc(50% - 17px);
+ box-shadow: 0px 3rpx 16rpx rgba(0, 0, 0, 0.2);
+ padding: 5px;
+ /* #ifdef H5 */
+ line-height: 26px;
+ /* #endif */
+}
\ No newline at end of file
diff --git a/pages/plugins/distribution/extraction-order/extraction-order.vue b/pages/plugins/distribution/extraction-order/extraction-order.vue
new file mode 100644
index 0000000..698d593
--- /dev/null
+++ b/pages/plugins/distribution/extraction-order/extraction-order.vue
@@ -0,0 +1,414 @@
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+ {{ item.add_time }}
+ {{ item.status_name }}
+
+
+
+
+ {{ fv.name }}
+ {{ item[fv.field] }}
+ {{ fv.unit }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{$t('extraction-order.extraction-order.3m038g')}}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{$t('extraction-order.extraction-order.xb4044')}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/distribution/extraction-switch/extraction-switch.css b/pages/plugins/distribution/extraction-switch/extraction-switch.css
new file mode 100644
index 0000000..b7c8b34
--- /dev/null
+++ b/pages/plugins/distribution/extraction-switch/extraction-switch.css
@@ -0,0 +1,15 @@
+.address-logo {
+ width: 140rpx;
+ height: 140rpx !important;
+}
+.address .item-icon {
+ width: 30rpx;
+ height: 35rpx !important;
+}
+.address-alias {
+ padding: 0 10rpx;
+}
+.address .text {
+ line-height: 44rpx;
+ width: calc(100% - 40rpx);
+}
\ No newline at end of file
diff --git a/pages/plugins/distribution/extraction-switch/extraction-switch.vue b/pages/plugins/distribution/extraction-switch/extraction-switch.vue
new file mode 100644
index 0000000..05c90c7
--- /dev/null
+++ b/pages/plugins/distribution/extraction-switch/extraction-switch.vue
@@ -0,0 +1,299 @@
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.alias }}
+ {{ item.name }}
+ {{ item.tel }}
+
+
+
+ {{ item.province_name || "" }}{{ item.city_name || "" }}{{ item.county_name || "" }}{{ item.address || "" }}
+
+
+
+
+
+ {{$t('extraction-switch.extraction-switch.w94x36')}}
+ {{ item.distance_value }}
+ {{ item.distance_unit }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/distribution/extraction/extraction.css b/pages/plugins/distribution/extraction/extraction.css
new file mode 100644
index 0000000..981bb82
--- /dev/null
+++ b/pages/plugins/distribution/extraction/extraction.css
@@ -0,0 +1,7 @@
+.alias {
+ padding: 2rpx 10rpx;
+}
+.statistics .item {
+ width: 50%;
+ box-sizing: border-box;
+}
\ No newline at end of file
diff --git a/pages/plugins/distribution/extraction/extraction.vue b/pages/plugins/distribution/extraction/extraction.vue
new file mode 100644
index 0000000..afb8316
--- /dev/null
+++ b/pages/plugins/distribution/extraction/extraction.vue
@@ -0,0 +1,241 @@
+
+
+
+
+
+
+
+
+ {{ item }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{$t('extraction.extraction.j0o47u')}}
+
+
+
+
+
+
+
+
+
+
+
+ {{$t('extraction.extraction.60601g')}}
+ {{$t('extraction.extraction.48rp75')}}
+
+
+
+ {{ extraction.alias }}
+ {{ extraction.province_name }}{{ extraction.city_name }}{{ extraction.county_name }}{{ extraction.address }}
+
+
+
+
+
+
+ {{$t('extraction.extraction.641gp7')}}
+ {{$t('extraction.extraction.wcv68q')}}
+
+
+
+
+ {{$t('extraction.extraction.53h4fj')}}
+ {{ statistical.order_wait || 0 }}
+
+
+ {{$t('extraction.extraction.wq25fk')}}
+ {{ statistical.order_already || 0 }}
+
+
+
+
+
+
+
+ {{ item }}
+
+
+
+
+
+
+ {{$t('extraction.extraction.864dtt')}}
+
+
+
+
+
+ {{$t('extraction.extraction.11825x')}}
+
+ {{$t('extraction.extraction.w6hg74')}}
+ {{ extraction.fail_reason }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/distribution/introduce/introduce.css b/pages/plugins/distribution/introduce/introduce.css
new file mode 100644
index 0000000..bba33c0
--- /dev/null
+++ b/pages/plugins/distribution/introduce/introduce.css
@@ -0,0 +1,4 @@
+.panel-item .level-icon {
+ width: 50rpx;
+ height: 50rpx !important;
+}
\ No newline at end of file
diff --git a/pages/plugins/distribution/introduce/introduce.vue b/pages/plugins/distribution/introduce/introduce.vue
new file mode 100644
index 0000000..c2732a2
--- /dev/null
+++ b/pages/plugins/distribution/introduce/introduce.vue
@@ -0,0 +1,177 @@
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+ {{$t('introduce.introduce.017d67')}}
+
+
+
+
+
+ {{$t('introduce.introduce.el4ib2')}}
+
+ {{$t('introduce.introduce.syf66q')}}{{ item.level_rate_one }}%
+ {{$t('introduce.introduce.q4t9kl')}}{{ item.level_rate_two }}%
+ {{$t('introduce.introduce.e5os6e')}}{{ item.level_rate_three }}%
+
+
+
+ {{$t('introduce.introduce.d7kle4')}}
+
+
+ {{ item.rules_msg_list.name }}
+
+
+
+
+ {{ rv.name }}
+ {{ rv.value }}
+
+
+
+
+ {{$t('introduce.introduce.5t5vzi')}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/distribution/map/map.css b/pages/plugins/distribution/map/map.css
new file mode 100644
index 0000000..0c92be6
--- /dev/null
+++ b/pages/plugins/distribution/map/map.css
@@ -0,0 +1,38 @@
+.map-container {
+ height: 60vh;
+}
+.map-container .map-center-icon {
+ top: calc(50% - 30rpx);
+ left: calc(50% - 30rpx);
+ width: 60rpx;
+ height: 60rpx;
+}
+
+.user-container {
+ height: 40vh;
+ padding-bottom: calc(env(safe-area-inset-bottom) - 20rpx);
+}
+.user-container .item.active {
+ background: #f2f2f2;
+}
+.user-container .item .avatar {
+ width: 140rpx;
+ height: 140rpx;
+}
+.user-container .item .base {
+ width: calc(100% - 160rpx);
+ height: 140rpx;
+}
+.user-container .item .base-top .view-name {
+ width: calc(100% - 200rpx);
+}
+.user-container .item .base-bottom .address {
+ width: calc(100% - 110rpx);
+}
+.user-container .item .base-top-icon .dis-inline-block:not(:last-child) {
+ margin-right: 30rpx;
+}
+.user-container .item .order-submit {
+ padding: 0rpx 20rpx !important;
+ line-height: 40rpx !important;
+}
\ No newline at end of file
diff --git a/pages/plugins/distribution/map/map.vue b/pages/plugins/distribution/map/map.vue
new file mode 100644
index 0000000..d1e8a34
--- /dev/null
+++ b/pages/plugins/distribution/map/map.vue
@@ -0,0 +1,313 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.user_name_view}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.address}}
+
+
+
+
+
+
+
+
+
+
+ {{$t('map.map.ivy154')}}
+ {{item.order_count}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/plugins/distribution/order-detail/order-detail.css b/pages/plugins/distribution/order-detail/order-detail.css
new file mode 100644
index 0000000..b8ac8ac
--- /dev/null
+++ b/pages/plugins/distribution/order-detail/order-detail.css
@@ -0,0 +1,45 @@
+/**
+ * 头像
+ */
+.avatar {
+ width: 45rpx;
+ height: 45rpx;
+}
+
+/*
+* 商品信息
+*/
+.goods-base {
+ min-height: 160rpx;
+ margin-left: 180rpx;
+}
+.goods .goods-item:last-child {
+ border-bottom: 0;
+}
+.goods-image {
+ width: 160rpx;
+ height: 160rpx;
+}
+
+/*
+* 地址信息
+*/
+.address-base,
+.address-detail {
+ padding: 10rpx 0;
+}
+.address-detail .icon {
+ width: 30rpx;
+ height: 35rpx !important;
+}
+.address-detail .text {
+ width: calc(100% - 40rpx);
+}
+.address-detail .text {
+ line-height: 36rpx;
+}
+.address-alias,
+.address-map-submit {
+ padding: 0 15rpx;
+ line-height: 40rpx;
+}
\ No newline at end of file
diff --git a/pages/plugins/distribution/order-detail/order-detail.vue b/pages/plugins/distribution/order-detail/order-detail.vue
new file mode 100644
index 0000000..f0468c7
--- /dev/null
+++ b/pages/plugins/distribution/order-detail/order-detail.vue
@@ -0,0 +1,219 @@
+
+
+
+
+
+
+
+ {{ detail.address_data.alias }}
+ {{ detail.address_data.name }}
+ {{ detail.address_data.tel }}
+
+
+
+
+ {{ detail.address_data.province_name }}{{ detail.address_data.city_name }}{{ detail.address_data.county_name }}{{ detail.address_data.address }}
+
+
+
+
+
+
+
+ {{$t('order-detail.order-detail.9er1pc')}}
+
+
+ {{$t('order-detail.order-detail.pyw6xg')}}
+
+
+
+
+
+ {{ item.name }}
+ {{ item.value }}
+
+
+
+
+
+
+ {{$t('user-order-detail.user-order-detail.7f8p26')}}
+
+
+
+
+ {{ item.title }}
+
+
+ ;
+ {{ sv.value }}
+
+
+
+ {{ detail.currency_data.currency_symbol }}{{ item.price }}
+ x{{ item.buy_number }}
+
+ {{ item.orderaftersale_btn_text }}
+
+
+
+
+ {{$t('user-order-detail.user-order-detail.423rmr')}}{{ detail.buy_number_count }}{{$t('user-order-detail.user-order-detail.41ty94')}}{{ detail.currency_data.currency_symbol }}{{ detail.total_price }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/distribution/order/order.css b/pages/plugins/distribution/order/order.css
new file mode 100644
index 0000000..017c31a
--- /dev/null
+++ b/pages/plugins/distribution/order/order.css
@@ -0,0 +1,14 @@
+/*
+* 导航
+*/
+.nav-base .item {
+ width: 16.66%;
+}
+
+/*
+* 列表
+*/
+.data-list .item .base .avatar {
+ width: 40rpx;
+ height: 40rpx !important;
+}
\ No newline at end of file
diff --git a/pages/plugins/distribution/order/order.vue b/pages/plugins/distribution/order/order.vue
new file mode 100644
index 0000000..d811c20
--- /dev/null
+++ b/pages/plugins/distribution/order/order.vue
@@ -0,0 +1,280 @@
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+ {{ item.user_name_view || "" }}
+ {{ item.order_status_name }}
+
+
+
+
+ {{ fv.name }}
+ {{ item[fv.field] }}
+ {{ fv.unit }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/distribution/poster/poster.css b/pages/plugins/distribution/poster/poster.css
new file mode 100644
index 0000000..2353c39
--- /dev/null
+++ b/pages/plugins/distribution/poster/poster.css
@@ -0,0 +1,10 @@
+.share .title {
+ border-style: solid;
+ border-width: 0 0 0 3px;
+}
+.submit-double .item {
+ width: 48%;
+}
+.submit-double .item button {
+ width: 46%;
+}
\ No newline at end of file
diff --git a/pages/plugins/distribution/poster/poster.vue b/pages/plugins/distribution/poster/poster.vue
new file mode 100644
index 0000000..985dfb8
--- /dev/null
+++ b/pages/plugins/distribution/poster/poster.vue
@@ -0,0 +1,225 @@
+
+
+
+
+
+ {{$t('poster.poster.rbdj4b')}}
+ {{$t('poster.poster.m54q3e')}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{$t('poster.poster.9y4bwq')}}
+ {{$t('poster.poster.h212v8')}}
+
+
+
+
+
+
+
+
+
+
+ {{$t('poster.poster.r534xd')}}
+ {{$t('poster.poster.vn36y7')}}
+ {{ user_share_url }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/distribution/profit-detail/profit-detail.vue b/pages/plugins/distribution/profit-detail/profit-detail.vue
new file mode 100644
index 0000000..9c72e03
--- /dev/null
+++ b/pages/plugins/distribution/profit-detail/profit-detail.vue
@@ -0,0 +1,140 @@
+
+
+
+
+
+
+
+ {{ item.name }}
+ {{ item.value }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/distribution/profit/profit.css b/pages/plugins/distribution/profit/profit.css
new file mode 100644
index 0000000..170b1f8
--- /dev/null
+++ b/pages/plugins/distribution/profit/profit.css
@@ -0,0 +1,6 @@
+/*
+* 导航
+*/
+.nav-base .item {
+ width: 20%;
+}
\ No newline at end of file
diff --git a/pages/plugins/distribution/profit/profit.vue b/pages/plugins/distribution/profit/profit.vue
new file mode 100644
index 0000000..0b5a3d2
--- /dev/null
+++ b/pages/plugins/distribution/profit/profit.vue
@@ -0,0 +1,262 @@
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+ {{ item.add_time }}
+ {{ item.status_name }}
+
+
+
+
+ {{ fv.name }}
+ {{ item[fv.field] }}
+ {{ fv.unit }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/distribution/promotion-order/promotion-order.css b/pages/plugins/distribution/promotion-order/promotion-order.css
new file mode 100644
index 0000000..2624fbd
--- /dev/null
+++ b/pages/plugins/distribution/promotion-order/promotion-order.css
@@ -0,0 +1,14 @@
+/*
+* 导航
+*/
+.nav-base .item {
+ width: 33.33%;
+}
+
+/*
+* 列表
+*/
+.data-list .item .base .avatar {
+ width: 40rpx;
+ height: 40rpx !important;
+}
\ No newline at end of file
diff --git a/pages/plugins/distribution/promotion-order/promotion-order.vue b/pages/plugins/distribution/promotion-order/promotion-order.vue
new file mode 100644
index 0000000..0f0da66
--- /dev/null
+++ b/pages/plugins/distribution/promotion-order/promotion-order.vue
@@ -0,0 +1,276 @@
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+ {{ item.user_name_view || "" }}
+ {{ item.order_status_name }}
+
+
+
+
+ {{ fv.name }}
+ {{ item[fv.field] }}
+ {{ fv.unit }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/distribution/promotion-user/promotion-user.css b/pages/plugins/distribution/promotion-user/promotion-user.css
new file mode 100644
index 0000000..7002fcc
--- /dev/null
+++ b/pages/plugins/distribution/promotion-user/promotion-user.css
@@ -0,0 +1,17 @@
+/*
+* 列表
+*/
+.data-list .item .base .avatar {
+ width: 40rpx;
+ height: 40rpx !important;
+}
+
+/*
+ * 隐藏滚动条
+ */
+ scroll-view ::-webkit-scrollbar {
+ display: none;
+ width: 0;
+ height: 0;
+ color: transparent;
+}
\ No newline at end of file
diff --git a/pages/plugins/distribution/promotion-user/promotion-user.vue b/pages/plugins/distribution/promotion-user/promotion-user.vue
new file mode 100644
index 0000000..08c78e9
--- /dev/null
+++ b/pages/plugins/distribution/promotion-user/promotion-user.vue
@@ -0,0 +1,310 @@
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
+ {{ item.user_name_view || "" }}
+ {{ item.add_time }}
+
+
+
+
+ {{ fv.name }}
+ {{ item[fv.field] || fv.default }}
+ {{ fv.unit }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/distribution/recommend-detail/recommend-detail.css b/pages/plugins/distribution/recommend-detail/recommend-detail.css
new file mode 100644
index 0000000..20143bf
--- /dev/null
+++ b/pages/plugins/distribution/recommend-detail/recommend-detail.css
@@ -0,0 +1,66 @@
+/**
+* 基础
+*/
+.base-container .icon {
+ width: 50rpx;
+ height: 50rpx;
+}
+.base-container .title {
+ width: calc(100% - 240rpx);
+}
+.base-container .share-submit {
+ line-height: 50rpx;
+ height: 50rpx;
+}
+
+/**
+* 商品列表
+*/
+.data-list .item .goods-img {
+ width:170rpx;
+ height: 170rpx !important;
+}
+.data-list .item .right-base {
+ width: calc(100% - 190rpx);
+}
+.data-list .item .spec-text {
+ width: calc(100% - 240rpx);
+}
+
+/**
+ * 数量操作
+ */
+.data-list .item .number-content {
+ right: 20rpx;
+ bottom: 20rpx;
+ border: 1px solid #f0f0f0;
+}
+.data-list .item .number-content .number-submit {
+ width: 60rpx;
+ font-weight: bold;
+}
+.data-list .item .number-content input {
+ width: 50px;
+ border-width: 0 1px 0 1px;
+ border-style: solid;
+ border-color: #f0f0f0;
+}
+.data-list .item .number-content .number-submit,
+.data-list .item .number-content input {
+ padding: 0;
+ height: 50rpx;
+ line-height: 50rpx;
+}
+
+/**
+ * 导航
+ */
+.nav-button {
+ box-shadow: 0 -2px 6px #e2e2e2;
+}
+.nav-button .left-price {
+ width: calc(100% - 270rpx);
+}
+.nav-button .right-button {
+ width: 250rpx;
+}
\ No newline at end of file
diff --git a/pages/plugins/distribution/recommend-detail/recommend-detail.vue b/pages/plugins/distribution/recommend-detail/recommend-detail.vue
new file mode 100644
index 0000000..2abaa27
--- /dev/null
+++ b/pages/plugins/distribution/recommend-detail/recommend-detail.vue
@@ -0,0 +1,381 @@
+
+
+
+
+
+
+
+ {{ data.title }}
+
+
+
+
+
+
+
+
+
+
+ {{ item.goods.title }}
+
+ {{ currency_symbol }}{{ item.goods.price }}
+ {{ currency_symbol }}{{ item.goods.original_price }}
+ {{ item.goods.inventory }}{{ item.goods.inventory_unit }}
+
+
+
+ {{ item.spec_text_view }}
+
+ -
+
+ +
+
+
+ {{ item.goods.error_msg }}
+
+
+
+
+
+
+
+
+
+
+ {{ currency_symbol }}{{ data.total_price }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/distribution/recommend-form/recommend-form.css b/pages/plugins/distribution/recommend-form/recommend-form.css
new file mode 100644
index 0000000..140cce3
--- /dev/null
+++ b/pages/plugins/distribution/recommend-form/recommend-form.css
@@ -0,0 +1,36 @@
+/**
+ * 商品列表
+ */
+.view-goods-list image {
+ width: 130rpx;
+ height: 130rpx;
+}
+.view-goods-list .base {
+ width: calc(100% - 150rpx);
+}
+.view-goods-list .operate-submit {
+ right: 0;
+ bottom: 0;
+}
+
+/**
+ * 商品选择弹窗
+ */
+.popup-goods-choice-container .nav-search {
+ height: 90rpx;
+}
+.popup-goods-choice-container .nav-search .item {
+ width: calc(50% - 140rpx);
+ height: 60rpx;
+ line-height: 60rpx;
+}
+.popup-goods-choice-container .nav-search input.item,
+.popup-goods-choice-container .nav-search button {
+ height: 64rpx;
+ line-height: 64rpx;
+}
+.popup-goods-choice-container .view-goods-list {
+ height: 80vh;
+ overflow-y: scroll;
+ overflow-x: hidden;
+}
\ No newline at end of file
diff --git a/pages/plugins/distribution/recommend-form/recommend-form.vue b/pages/plugins/distribution/recommend-form/recommend-form.vue
new file mode 100644
index 0000000..5513497
--- /dev/null
+++ b/pages/plugins/distribution/recommend-form/recommend-form.vue
@@ -0,0 +1,582 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/distribution/recommend-list/recommend-list.vue b/pages/plugins/distribution/recommend-list/recommend-list.vue
new file mode 100644
index 0000000..108e18a
--- /dev/null
+++ b/pages/plugins/distribution/recommend-list/recommend-list.vue
@@ -0,0 +1,309 @@
+
+
+
+
+
+
+
+ {{ item.add_time }}
+ {{ item.is_enable_text }}
+
+
+
+
+ {{ fv.name }}
+ {{ item[fv.field] }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/plugins/distribution/team/team.css b/pages/plugins/distribution/team/team.css
new file mode 100644
index 0000000..cb4783c
--- /dev/null
+++ b/pages/plugins/distribution/team/team.css
@@ -0,0 +1,32 @@
+/**
+ * 搜索导航
+ */
+.nav-search .multiple-picker {
+ width: calc(100% - 240rpx);
+}
+.nav-search .multiple-picker .item {
+ width: calc(50% - 24rpx);
+}
+.nav-search .multiple-picker .uni-date .uni-date__x-input {
+ font-size: 24rpx;
+ height: 55rpx;
+ line-height: 55rpx;
+}
+.nav-search .search-submit-list {
+ right: 20rpx;
+ bottom: 15rpx;
+}
+.nav-search .search-submit-list button {
+ line-height: 42rpx !important;
+}
+
+/*
+* 列表
+*/
+.scroll-box {
+ height: calc(100vh - 228rpx);
+}
+.data-list .item .base .avatar {
+ width: 40rpx;
+ height: 40rpx !important;
+}
\ No newline at end of file
diff --git a/pages/plugins/distribution/team/team.vue b/pages/plugins/distribution/team/team.vue
new file mode 100644
index 0000000..cc63177
--- /dev/null
+++ b/pages/plugins/distribution/team/team.vue
@@ -0,0 +1,376 @@
+
+
+
+
+
+ {{$t('team.team.784249')}}
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+ {{$t('team.team.2ny6k1')}}
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+ {{$t('team.team.2i4k79')}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.user_name_view || "" }}
+ {{ item.add_time }}
+
+
+
+
+ {{ fv.name }}
+ {{ item[fv.field] || fv.default }}
+ {{ fv.unit }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/distribution/user/user.css b/pages/plugins/distribution/user/user.css
new file mode 100644
index 0000000..3d9dba3
--- /dev/null
+++ b/pages/plugins/distribution/user/user.css
@@ -0,0 +1,122 @@
+/*
+* 头部
+*/
+.head-img {
+ width: 116rpx;
+ height: 116rpx;
+}
+
+.head-bottom {
+ height: 48rpx;
+}
+
+.head-item .level-item {
+ padding: 0 20rpx;
+ height: 48rpx;
+ line-height: 48rpx;
+ background-color: #FF8AA1;
+}
+
+.head-item .level-icon {
+ width: 26rpx;
+ height: 26rpx !important;
+}
+
+.head-base {
+ right: 0;
+ top: 74%;
+ transform: translateY(-50%);
+}
+
+.head-base button {
+ height: 52rpx;
+ line-height: 52rpx;
+ background: rgba(0, 0, 0, 0.3);
+ border-radius: 200rpx 0 0 200rpx;
+ padding: 0 40rpx 0 26rpx;
+ margin: 0;
+}
+
+/**
+ * 上级用户
+ */
+.superior {
+ padding: 0 54rpx;
+}
+
+.superior-item {
+ background: rgba(255, 72, 110, 0.51);
+ height: 90rpx;
+ line-height: 90rpx;
+ padding: 0 24rpx;
+}
+
+.superior .superior-content image {
+ width: 56rpx !important;
+ height: 56rpx !important;
+}
+
+/**
+ * 统计数据
+ */
+.stats-container-4 .item {
+ width: 25%;
+}
+
+.stats-container .stats-switch-submit {
+ height: 52rpx;
+ line-height: 52rpx;
+ padding: 0 44rpx 0 22rpx;
+}
+
+.popup-time-container .quit-time .item {
+ width: 25%;
+}
+
+.count-img {
+ width: 60rpx;
+ height: 60rpx !important;
+}
+
+.anti-mercenary-count {
+ padding: 20rpx 40rpx;
+}
+
+.promotion-size {
+ font-size: 44rpx;
+}
+
+/*
+* 导航
+*/
+.nav.nav-bottom {
+ padding-bottom: 170rpx;
+}
+
+.nav .item {
+ padding: 32rpx 20rpx;
+}
+
+.nav .item image {
+ width: 100rpx;
+ height: 100rpx;
+}
+
+/*
+* 推广按钮
+*/
+.promotion-btn {
+ height: 80rpx;
+ line-height: 80rpx;
+}
+
+/**
+ * 修改用户上级
+ */
+.user-search .custom-info {
+ height: 100rpx;
+}
+.user-search .custom-info .custom-avatar {
+ width: 50rpx;
+ height: 50rpx;
+}
\ No newline at end of file
diff --git a/pages/plugins/distribution/user/user.vue b/pages/plugins/distribution/user/user.vue
new file mode 100644
index 0000000..5649998
--- /dev/null
+++ b/pages/plugins/distribution/user/user.vue
@@ -0,0 +1,688 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ nickname }}
+
+
+ {{$t('common.recommend_code_name')}}
+ {{user_referrer}}
+
+
+
+
+
+
+
+
+
+ {{ user_level.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{$t('user.user.4rj120')}}
+
+
+
+ {{ superior.user_name_view }}
+
+ {{$t('user.user.567lwz')}}
+
+
+
+
+
+
+
+
+ {{$t('user.user.67y36w')}}
+
+
+
+
+
+
+
+ {{ item.value }}
+ {{$t('user.user.rjye50')}}
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ child.name }}
+
+ {{ child.first }}
+ {{ child.value }}
+ {{ child.unit }}
+
+
+
+
+
+ {{ cdata.name }}
+
+
+
+
+
+
+
+
+
+
+
+ {{$t('user.user.q822fj')}}
+
+
+
+
+ {{ item.name }}
+
+ {{ currency_symbol }}
+ {{ item.value }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.title }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ profit_ladder.msg }}
+ {{$t('user.user.xjxb2v')}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/distribution/visit-form/visit-form.css b/pages/plugins/distribution/visit-form/visit-form.css
new file mode 100644
index 0000000..3299f69
--- /dev/null
+++ b/pages/plugins/distribution/visit-form/visit-form.css
@@ -0,0 +1,7 @@
+.user-search .custom-info {
+ height: 58rpx;
+}
+.user-search .custom-info .custom-avatar {
+ width: 50rpx;
+ height: 50rpx;
+}
\ No newline at end of file
diff --git a/pages/plugins/distribution/visit-form/visit-form.vue b/pages/plugins/distribution/visit-form/visit-form.vue
new file mode 100644
index 0000000..b7bcd62
--- /dev/null
+++ b/pages/plugins/distribution/visit-form/visit-form.vue
@@ -0,0 +1,399 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/plugins/distribution/visit-list/visit-list.css b/pages/plugins/distribution/visit-list/visit-list.css
new file mode 100644
index 0000000..e7de647
--- /dev/null
+++ b/pages/plugins/distribution/visit-list/visit-list.css
@@ -0,0 +1,5 @@
+.data-list .base .custom-avatar,
+.data-list .content .item-images {
+ width: 50rpx;
+ height: 50rpx;
+}
\ No newline at end of file
diff --git a/pages/plugins/distribution/visit-list/visit-list.vue b/pages/plugins/distribution/visit-list/visit-list.vue
new file mode 100644
index 0000000..bad27d7
--- /dev/null
+++ b/pages/plugins/distribution/visit-list/visit-list.vue
@@ -0,0 +1,300 @@
+
+
+
+
+
+
+
+
+
+ {{item.custom_user.user_name_view}}
+
+ {{item.add_time}}
+
+
+
+
+ {{ fv.name }}
+
+
+
+
+
+ {{ item[fv.field] }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/plugins/excellentbuyreturntocash/profit-detail/profit-detail.vue b/pages/plugins/excellentbuyreturntocash/profit-detail/profit-detail.vue
new file mode 100644
index 0000000..90d9c90
--- /dev/null
+++ b/pages/plugins/excellentbuyreturntocash/profit-detail/profit-detail.vue
@@ -0,0 +1,142 @@
+
+
+
+
+
+
+
+ {{ item.name }}
+ {{ item.value }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/excellentbuyreturntocash/profit/profit.css b/pages/plugins/excellentbuyreturntocash/profit/profit.css
new file mode 100644
index 0000000..1fc0fba
--- /dev/null
+++ b/pages/plugins/excellentbuyreturntocash/profit/profit.css
@@ -0,0 +1,6 @@
+/*
+* 导航
+*/
+.nav-base .item {
+ width: 16.66%;
+}
\ No newline at end of file
diff --git a/pages/plugins/excellentbuyreturntocash/profit/profit.vue b/pages/plugins/excellentbuyreturntocash/profit/profit.vue
new file mode 100644
index 0000000..9ff93cc
--- /dev/null
+++ b/pages/plugins/excellentbuyreturntocash/profit/profit.vue
@@ -0,0 +1,318 @@
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+ {{ item.add_time }}
+ {{ item.status_name }}
+
+
+
+
+ {{ fv.name }}
+ {{ item[fv.field] }}
+ {{ fv.unit }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/exchangerate/currency/currency.css b/pages/plugins/exchangerate/currency/currency.css
new file mode 100644
index 0000000..2b654d3
--- /dev/null
+++ b/pages/plugins/exchangerate/currency/currency.css
@@ -0,0 +1,15 @@
+.data-list .item {
+ height: 104rpx;
+ line-height: 104rpx;
+}
+.data-list .item .icon {
+ width: 100rpx !important;
+ height: 100rpx !important;
+}
+.data-list .item .checked {
+ top: 0;
+ right: 0;
+ width: 50rpx;
+ height: 38rpx;
+ border-bottom-left-radius: 100rpx;
+}
\ No newline at end of file
diff --git a/pages/plugins/exchangerate/currency/currency.vue b/pages/plugins/exchangerate/currency/currency.vue
new file mode 100644
index 0000000..a1a0978
--- /dev/null
+++ b/pages/plugins/exchangerate/currency/currency.vue
@@ -0,0 +1,187 @@
+
+
+
+
+
+
+
+ {{item.name}}
+ {{item.symbol}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/plugins/express/detail/detail.css b/pages/plugins/express/detail/detail.css
new file mode 100644
index 0000000..fa629e6
--- /dev/null
+++ b/pages/plugins/express/detail/detail.css
@@ -0,0 +1,10 @@
+.express-icon {
+ width: 85rpx;
+ height: 85rpx !important;
+}
+.express-data .i {
+ top: -15rpx;
+ left: -15rpx;
+ border: 6rpx solid #fff;
+ padding: 10rpx;
+}
\ No newline at end of file
diff --git a/pages/plugins/express/detail/detail.vue b/pages/plugins/express/detail/detail.vue
new file mode 100644
index 0000000..f3461e0
--- /dev/null
+++ b/pages/plugins/express/detail/detail.vue
@@ -0,0 +1,165 @@
+
+
+
+
+
+ {{ item.show_name }}
+
+
+
+
+
+
+
+
+ {{ express_info.name }}
+ {{ express_info.number }}
+
+
+ {{ express_info.note }}
+ {{ express_info.msg }}
+
+
+
+
+ {{ item.desc }}
+ {{ item.time }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/form/check/check.vue b/pages/plugins/form/check/check.vue
new file mode 100644
index 0000000..1c7f4fa
--- /dev/null
+++ b/pages/plugins/form/check/check.vue
@@ -0,0 +1,309 @@
+
+
+
+
+
+
+ {{$t('realstore-cart.realstore-cart.6bmc34')}}{{data == null ? '' : '('+data.title+')'}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.title }}
+ {{ item.describe }}
+
+
+
+
+
+
+ {{$t('common.no_relevant_data_tips')}}
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/plugins/giftcard/form/form.vue b/pages/plugins/giftcard/form/form.vue
new file mode 100644
index 0000000..bddc249
--- /dev/null
+++ b/pages/plugins/giftcard/form/form.vue
@@ -0,0 +1,184 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/plugins/giftcard/index/index.css b/pages/plugins/giftcard/index/index.css
new file mode 100644
index 0000000..5189be8
--- /dev/null
+++ b/pages/plugins/giftcard/index/index.css
@@ -0,0 +1,3 @@
+.secret-value-data .value-title {
+ width: calc(100% - 160rpx);
+}
\ No newline at end of file
diff --git a/pages/plugins/giftcard/index/index.vue b/pages/plugins/giftcard/index/index.vue
new file mode 100644
index 0000000..cf9e4b0
--- /dev/null
+++ b/pages/plugins/giftcard/index/index.vue
@@ -0,0 +1,272 @@
+
+
+
+
+
+
+
+
+ {{ $t('giftcard-index.giftcard-index.87ytyh') }}:
+ {{ item.data_type_name }}
+
+
+ {{ $t('giftcard-index.giftcard-index.hfg2fg') }}:
+ {{ item.secret_key }}
+
+
+ {{ $t('giftcard-index.giftcard-index.fyjnsd') }}:
+ {{ item.secret_value_text }}
+ {{ $t('common.view_text') }}
+ {{ $t('common.view_text') }}
+ {{ $t('common.view_text') }}
+
+
+ {{$t('giftcard-index.giftcard-index.fyjnsd')}}
+
+
+ {{items.title}}
+ {{(item.use_data || null) == null ? $t('common.place_order_text') : $t('common.view_text') }}
+
+
+ {{ $t('common.no_relevant_data_tips') }}
+
+
+
+ {{ fv.name }}:
+ {{ item[fv.field] }}
+ {{ fv.unit }}
+
+
+
+ {{$t('giftcard-index.giftcard-index.6redfg')}}
+
+
+ {{$t('user-order-detail.user-order-detail.n18sd2')}}:
+ {{uv.order_no}}
+
+
+ {{$t('user-order-detail.user-order-detail.yghjkf')}}:
+ {{uv.goods_title}}
+
+
+ {{$t('common.use_time')}}:
+ {{uv.use_time}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/plugins/givegift/code/code.css b/pages/plugins/givegift/code/code.css
new file mode 100644
index 0000000..58e77df
--- /dev/null
+++ b/pages/plugins/givegift/code/code.css
@@ -0,0 +1,7 @@
+/**
+ * 用户
+ */
+.user-images {
+ width: 40rpx;
+ height: 40rpx;
+}
\ No newline at end of file
diff --git a/pages/plugins/givegift/code/code.vue b/pages/plugins/givegift/code/code.vue
new file mode 100644
index 0000000..08a9193
--- /dev/null
+++ b/pages/plugins/givegift/code/code.vue
@@ -0,0 +1,294 @@
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+ {{item.use_user.user_name_view}}
+
+ {{ item.status_name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/plugins/givegift/gift/gift.css b/pages/plugins/givegift/gift/gift.css
new file mode 100644
index 0000000..fcf737c
--- /dev/null
+++ b/pages/plugins/givegift/gift/gift.css
@@ -0,0 +1,17 @@
+/**
+ * 商品
+ */
+.goods-images {
+ width: 76rpx;
+ height: 76rpx;
+}
+.goods-title {
+ width: calc(100% - 90rpx);
+}
+
+/**
+ * 编辑表单
+ */
+.form-container .message-tips {
+ width: calc(100% - 200rpx) !important;
+}
\ No newline at end of file
diff --git a/pages/plugins/givegift/gift/gift.vue b/pages/plugins/givegift/gift/gift.vue
new file mode 100644
index 0000000..0bd82e0
--- /dev/null
+++ b/pages/plugins/givegift/gift/gift.vue
@@ -0,0 +1,607 @@
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+ {{ item.add_time }}
+ {{ item.status_name }}
+
+
+
+
+ {{item.goods.title}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/plugins/givegift/goods/goods.css b/pages/plugins/givegift/goods/goods.css
new file mode 100644
index 0000000..c7463fe
--- /dev/null
+++ b/pages/plugins/givegift/goods/goods.css
@@ -0,0 +1,23 @@
+.goods-buy-number {
+ height: 70rpx;
+}
+.number-content {
+ background: #eee;
+ border: 1px solid #eee;
+}
+.number-content .number-submit {
+ width: 80rpx;
+ font-weight: bold;
+}
+.number-content input {
+ width: 50px;
+}
+.number-content .number-submit,
+.number-content input {
+ padding: 0;
+ height: 60rpx;
+ line-height: 60rpx;
+}
+.right-width .fr {
+ width: calc(100% - 190rpx);
+}
\ No newline at end of file
diff --git a/pages/plugins/givegift/goods/goods.vue b/pages/plugins/givegift/goods/goods.vue
new file mode 100644
index 0000000..02cf589
--- /dev/null
+++ b/pages/plugins/givegift/goods/goods.vue
@@ -0,0 +1,369 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/givegift/receive/receive.css b/pages/plugins/givegift/receive/receive.css
new file mode 100644
index 0000000..847aa83
--- /dev/null
+++ b/pages/plugins/givegift/receive/receive.css
@@ -0,0 +1,4 @@
+.user-avatar {
+ width: 46rpx;
+ height: 46rpx;
+}
\ No newline at end of file
diff --git a/pages/plugins/givegift/receive/receive.vue b/pages/plugins/givegift/receive/receive.vue
new file mode 100644
index 0000000..4fc606f
--- /dev/null
+++ b/pages/plugins/givegift/receive/receive.vue
@@ -0,0 +1,233 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/hospital/patient-list/patient-list.vue b/pages/plugins/hospital/patient-list/patient-list.vue
new file mode 100644
index 0000000..5a61396
--- /dev/null
+++ b/pages/plugins/hospital/patient-list/patient-list.vue
@@ -0,0 +1,215 @@
+
+
+
+
+
+
+
+
+
+
+ {{item.name}}
+
+ |
+ {{item.gender_name}}
+
+
+ |
+ {{item.age_name}}
+
+
+ {{item.idcard}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/plugins/hospital/patient/patient.css b/pages/plugins/hospital/patient/patient.css
new file mode 100644
index 0000000..64a4a15
--- /dev/null
+++ b/pages/plugins/hospital/patient/patient.css
@@ -0,0 +1,3 @@
+.health-tips {
+ width: calc(100% - 100rpx);
+}
\ No newline at end of file
diff --git a/pages/plugins/hospital/patient/patient.vue b/pages/plugins/hospital/patient/patient.vue
new file mode 100644
index 0000000..0ef00db
--- /dev/null
+++ b/pages/plugins/hospital/patient/patient.vue
@@ -0,0 +1,506 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 过敏史
+
+
+
+
+
+
+ 疾病史
+
+
+
+
+
+ 肝功能异常
+
+
+
+ 肾功能异常
+
+
+
+ 妊娠哺乳
+
+
+ {{hospital_pregnancy_list[health.pregnancy || 0].name}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/plugins/hospital/prescription/prescription.css b/pages/plugins/hospital/prescription/prescription.css
new file mode 100644
index 0000000..58f5879
--- /dev/null
+++ b/pages/plugins/hospital/prescription/prescription.css
@@ -0,0 +1,7 @@
+.buy-goods-list .goods-images {
+ width: 60rpx;
+ height: 60rpx;
+}
+.buy-goods-list .goods-title {
+ width: calc(100% - 300rpx);
+}
\ No newline at end of file
diff --git a/pages/plugins/hospital/prescription/prescription.vue b/pages/plugins/hospital/prescription/prescription.vue
new file mode 100644
index 0000000..a18f148
--- /dev/null
+++ b/pages/plugins/hospital/prescription/prescription.vue
@@ -0,0 +1,319 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{patient_tips}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/plugins/intellectstools/goods-comments/goods-comments.css b/pages/plugins/intellectstools/goods-comments/goods-comments.css
new file mode 100644
index 0000000..3225a39
--- /dev/null
+++ b/pages/plugins/intellectstools/goods-comments/goods-comments.css
@@ -0,0 +1,15 @@
+.avatar {
+ width: 80rpx;
+ height: 80rpx;
+}
+.input-height {
+ min-height: 200rpx;
+}
+.sub-btn {
+ padding: 40rpx 66rpx;
+}
+.sub-btn button {
+ height: 88rpx;
+ line-height: 88rpx;
+ padding: 0;
+}
\ No newline at end of file
diff --git a/pages/plugins/intellectstools/goods-comments/goods-comments.vue b/pages/plugins/intellectstools/goods-comments/goods-comments.vue
new file mode 100644
index 0000000..6be1c13
--- /dev/null
+++ b/pages/plugins/intellectstools/goods-comments/goods-comments.vue
@@ -0,0 +1,231 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/invoice/invoice-detail/invoice-detail.vue b/pages/plugins/invoice/invoice-detail/invoice-detail.vue
new file mode 100644
index 0000000..af5e77f
--- /dev/null
+++ b/pages/plugins/invoice/invoice-detail/invoice-detail.vue
@@ -0,0 +1,142 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.title }}
+
+ {{$t('invoice-detail.invoice-detail.4tu3v3')}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/invoice/invoice-saveinfo/invoice-saveinfo.vue b/pages/plugins/invoice/invoice-saveinfo/invoice-saveinfo.vue
new file mode 100644
index 0000000..2098034
--- /dev/null
+++ b/pages/plugins/invoice/invoice-saveinfo/invoice-saveinfo.vue
@@ -0,0 +1,438 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/invoice/invoice/invoice.css b/pages/plugins/invoice/invoice/invoice.css
new file mode 100644
index 0000000..ed4fbb7
--- /dev/null
+++ b/pages/plugins/invoice/invoice/invoice.css
@@ -0,0 +1,15 @@
+/*
+* 导航
+*/
+.scroll-box-ece-nav.top-notice {
+ height: calc(100vh - 154rpx);
+}
+
+/*
+* 发票内容
+*/
+.item-operation .btn {
+ padding: 0 48rpx;
+ height: 60rpx;
+ line-height: 60rpx;
+}
\ No newline at end of file
diff --git a/pages/plugins/invoice/invoice/invoice.vue b/pages/plugins/invoice/invoice/invoice.vue
new file mode 100644
index 0000000..fb4dcd0
--- /dev/null
+++ b/pages/plugins/invoice/invoice/invoice.vue
@@ -0,0 +1,358 @@
+
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+ {{ item.add_time }}
+ {{ item.status_name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/invoice/order/order.css b/pages/plugins/invoice/order/order.css
new file mode 100644
index 0000000..f79006f
--- /dev/null
+++ b/pages/plugins/invoice/order/order.css
@@ -0,0 +1,11 @@
+/*
+* 列表
+*/
+.select-scroll-box {
+ height: calc(100vh - 186rpx);
+}
+
+.data-list .item .select-icon {
+ width: 35rpx;
+ height: 35rpx !important;
+}
\ No newline at end of file
diff --git a/pages/plugins/invoice/order/order.vue b/pages/plugins/invoice/order/order.vue
new file mode 100644
index 0000000..ea803cb
--- /dev/null
+++ b/pages/plugins/invoice/order/order.vue
@@ -0,0 +1,272 @@
+
+
+
+
+
+
+
+
+
+
+ {{ item.order_no }}
+ {{ item.pay_price }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/invoice/recharge/recharge.css b/pages/plugins/invoice/recharge/recharge.css
new file mode 100644
index 0000000..f79006f
--- /dev/null
+++ b/pages/plugins/invoice/recharge/recharge.css
@@ -0,0 +1,11 @@
+/*
+* 列表
+*/
+.select-scroll-box {
+ height: calc(100vh - 186rpx);
+}
+
+.data-list .item .select-icon {
+ width: 35rpx;
+ height: 35rpx !important;
+}
\ No newline at end of file
diff --git a/pages/plugins/invoice/recharge/recharge.vue b/pages/plugins/invoice/recharge/recharge.vue
new file mode 100644
index 0000000..09681a5
--- /dev/null
+++ b/pages/plugins/invoice/recharge/recharge.vue
@@ -0,0 +1,272 @@
+
+
+
+
+
+
+
+
+
+
+ {{ item.recharge_no }}
+ {{ item.pay_money }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/label/detail/detail.css b/pages/plugins/label/detail/detail.css
new file mode 100644
index 0000000..d585ff5
--- /dev/null
+++ b/pages/plugins/label/detail/detail.css
@@ -0,0 +1,32 @@
+/**
+ * 基础信息
+ */
+.label-info {
+ height: 40rpx;
+}
+
+/**
+* 排序导航
+*/
+.nav-sort-content .item {
+ height: 80rpx;
+ line-height: 80rpx;
+ width: 16%;
+}
+.nav-sort-content .item .icon {
+ width: 30rpx;
+ height: 30rpx !important;
+}
+.show-type-submit {
+ width: 50rpx;
+ height: 50rpx !important;
+ top: 15rpx;
+ right: 16rpx;
+}
+
+/**
+* 商品列表
+*/
+.scroll-box {
+ height: calc(100vh - 150rpx);
+}
\ No newline at end of file
diff --git a/pages/plugins/label/detail/detail.vue b/pages/plugins/label/detail/detail.vue
new file mode 100644
index 0000000..4d34648
--- /dev/null
+++ b/pages/plugins/label/detail/detail.vue
@@ -0,0 +1,352 @@
+
+
+
+
+
+ {{ label.name }}
+ {{$t('detail.detail.025362')}}{{ data_total }}{{$t('detail.detail.0av5r9')}}
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/magic/detail/detail.vue b/pages/plugins/magic/detail/detail.vue
new file mode 100644
index 0000000..76e6387
--- /dev/null
+++ b/pages/plugins/magic/detail/detail.vue
@@ -0,0 +1,168 @@
+
+
+
+
+
+
+
+
+ {{ data.title }}
+ {{ data.describe }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/plugins/membershiplevelvip/buy/buy.css b/pages/plugins/membershiplevelvip/buy/buy.css
new file mode 100644
index 0000000..c825851
--- /dev/null
+++ b/pages/plugins/membershiplevelvip/buy/buy.css
@@ -0,0 +1,64 @@
+/**
+* 导航
+*/
+.nav {
+ height: 80rpx;
+ line-height: 80rpx;
+}
+
+.nav.average-1 .item {
+ width: calc(100% - 80rpx);
+}
+
+.nav.average-2 .item {
+ width: calc(50% - 80rpx);
+}
+
+.nav.average-3 .item {
+ width: calc((100% / 3) - 80rpx);
+}
+
+/**
+ * 分割线
+ */
+.divider::before,
+.divider::after {
+ content: '';
+ width: 100rpx;
+ height: 2rpx;
+ background: #333333;
+ position: absolute;
+ top: 50%;
+ transform: translateY(-50%);
+}
+
+.divider::before {
+ left: -120rpx;
+}
+
+.divider::after {
+ right: -120rpx;
+}
+
+/**
+* 内容
+*/
+.data-list .list {
+ width: calc((100% / 3) - 24rpx);
+}
+
+.data-list .list .item {
+ background: #F7F7F7;
+ border-radius: 8px 40px 8px 8px;
+ padding: 50rpx 32rpx 20rpx 32rpx;
+ border: 1px solid #F7F7F7;
+}
+
+.data-list .list .item.active {
+ border-color: #F1513C;
+ background-color: #FEF0E8;
+}
+
+.data-list .list .item .price {
+ margin-top: 16rpx;
+}
\ No newline at end of file
diff --git a/pages/plugins/membershiplevelvip/buy/buy.vue b/pages/plugins/membershiplevelvip/buy/buy.vue
new file mode 100644
index 0000000..fe9e46a
--- /dev/null
+++ b/pages/plugins/membershiplevelvip/buy/buy.vue
@@ -0,0 +1,312 @@
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+ {{$t('buy.buy.g7dk3f')}}
+
+
+
+
+
+
+
+
+
+
+
+ {{ (rules.number || null) == null ? $t('buy.buy.b3dyo7') : rules.value }}
+ {{ rules.unit }}
+
+ {{ rules.desc }}
+
+ {{ currency_symbol }}
+ {{ rules.price }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{$t('buy.buy.ntm2z5')}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/membershiplevelvip/index/index.css b/pages/plugins/membershiplevelvip/index/index.css
new file mode 100644
index 0000000..96554e5
--- /dev/null
+++ b/pages/plugins/membershiplevelvip/index/index.css
@@ -0,0 +1,50 @@
+/**
+* banner
+*/
+.vip-bg {
+ width: calc(100% + 8rpx);
+ margin: 0 -4rpx;
+}
+
+.banner .title-img {
+ width: 476rpx;
+ margin-top: 64rpx;
+}
+
+.banner-title {
+ color: #f9d681;
+}
+
+.banner-buy {
+ background-size: 100%;
+ background-color: transparent;
+ border: 0;
+ color: #88651F !important;
+ width: 308rpx;
+ height: 94rpx;
+ line-height: 94rpx !important;
+ font-size: 44rpx;
+ box-sizing: content-box;
+}
+
+/**
+* 等级介绍
+*/
+.head-top {
+ padding-top: calc(94rpx + var(--status-bar-height) + 5px);
+ /* #ifdef H5 */
+ padding-top: 94rpx;
+ /* #endif */
+}
+
+.data-list .item {
+ width: calc(100% / 3);
+ margin-bottom: 20rpx;
+ color: #88651F;
+ padding: 0 20rpx;
+}
+
+.data-list .item image {
+ width: 130rpx;
+ height: 130rpx !important;
+}
\ No newline at end of file
diff --git a/pages/plugins/membershiplevelvip/index/index.vue b/pages/plugins/membershiplevelvip/index/index.vue
new file mode 100644
index 0000000..f19d4b8
--- /dev/null
+++ b/pages/plugins/membershiplevelvip/index/index.vue
@@ -0,0 +1,181 @@
+
+
+
+
+
+
+
+
+
+
+ {{ data_base.banner_top_title }}
+
+
+
+
+
+
+
+
+
+ {{ item.name }}
+ {{ item.desc }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/membershiplevelvip/member-code/member-code.css b/pages/plugins/membershiplevelvip/member-code/member-code.css
new file mode 100644
index 0000000..2b4f3ae
--- /dev/null
+++ b/pages/plugins/membershiplevelvip/member-code/member-code.css
@@ -0,0 +1,12 @@
+.brcode {
+ width: 660rpx;
+ padding-top: 60rpx;
+}
+.qrcode {
+ width: 450rpx;
+ margin-top: 60rpx;
+ padding: 50rpx;
+}
+.bottom-fixed .btn {
+ width: 50%;
+}
\ No newline at end of file
diff --git a/pages/plugins/membershiplevelvip/member-code/member-code.vue b/pages/plugins/membershiplevelvip/member-code/member-code.vue
new file mode 100644
index 0000000..cc263af
--- /dev/null
+++ b/pages/plugins/membershiplevelvip/member-code/member-code.vue
@@ -0,0 +1,190 @@
+
+
+
+
+
+
+
+
+ {{ member_code }}
+
+
+
+
+
+
+
+
+ {{$t('member-code.member-code.oc4x18')}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/membershiplevelvip/order-detail/order-detail.vue b/pages/plugins/membershiplevelvip/order-detail/order-detail.vue
new file mode 100644
index 0000000..3a8cc1d
--- /dev/null
+++ b/pages/plugins/membershiplevelvip/order-detail/order-detail.vue
@@ -0,0 +1,140 @@
+
+
+
+
+
+
+
+ {{ item.name }}
+ {{ item.value }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/membershiplevelvip/order/order.css b/pages/plugins/membershiplevelvip/order/order.css
new file mode 100644
index 0000000..170b1f8
--- /dev/null
+++ b/pages/plugins/membershiplevelvip/order/order.css
@@ -0,0 +1,6 @@
+/*
+* 导航
+*/
+.nav-base .item {
+ width: 20%;
+}
\ No newline at end of file
diff --git a/pages/plugins/membershiplevelvip/order/order.vue b/pages/plugins/membershiplevelvip/order/order.vue
new file mode 100644
index 0000000..4c9a6e0
--- /dev/null
+++ b/pages/plugins/membershiplevelvip/order/order.vue
@@ -0,0 +1,472 @@
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+ {{ item.add_time }}
+ {{ item.status_name }}
+
+
+
+
+ {{ fv.name }}
+ {{ item[fv.field] }}
+ {{ fv.unit }}
+ {{ item[fv.unit_field] }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/membershiplevelvip/poster/poster.css b/pages/plugins/membershiplevelvip/poster/poster.css
new file mode 100644
index 0000000..8eb220a
--- /dev/null
+++ b/pages/plugins/membershiplevelvip/poster/poster.css
@@ -0,0 +1,7 @@
+.share .title {
+ border-style: solid;
+ border-width: 0 0 0 3px;
+}
+.submit-double button {
+ width: 48%;
+}
\ No newline at end of file
diff --git a/pages/plugins/membershiplevelvip/poster/poster.vue b/pages/plugins/membershiplevelvip/poster/poster.vue
new file mode 100644
index 0000000..6c62e2c
--- /dev/null
+++ b/pages/plugins/membershiplevelvip/poster/poster.vue
@@ -0,0 +1,162 @@
+
+
+
+
+
+ {{$t('poster.poster.9y4bwq')}}
+ {{$t('poster.poster.h212v8')}}
+
+
+
+
+
+
+
+
+
+
+ {{$t('poster.poster.r534xd')}}
+ {{$t('poster.poster.vn36y7')}}
+ {{ user_share_url }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/membershiplevelvip/profit-detail/profit-detail.vue b/pages/plugins/membershiplevelvip/profit-detail/profit-detail.vue
new file mode 100644
index 0000000..4128a49
--- /dev/null
+++ b/pages/plugins/membershiplevelvip/profit-detail/profit-detail.vue
@@ -0,0 +1,137 @@
+
+
+
+
+
+
+
+ {{ item.name }}
+ {{ item.value }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/membershiplevelvip/profit/profit.css b/pages/plugins/membershiplevelvip/profit/profit.css
new file mode 100644
index 0000000..3f3dbac
--- /dev/null
+++ b/pages/plugins/membershiplevelvip/profit/profit.css
@@ -0,0 +1,6 @@
+/*
+* 导航
+*/
+.nav-base .item {
+ width: 25%;
+}
\ No newline at end of file
diff --git a/pages/plugins/membershiplevelvip/profit/profit.vue b/pages/plugins/membershiplevelvip/profit/profit.vue
new file mode 100644
index 0000000..382bef4
--- /dev/null
+++ b/pages/plugins/membershiplevelvip/profit/profit.vue
@@ -0,0 +1,260 @@
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+ {{ item.add_time }}
+ {{ item.status_name }}
+
+
+
+
+ {{ fv.name }}
+ {{ item[fv.field] }}
+ {{ fv.unit }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/membershiplevelvip/team/team.css b/pages/plugins/membershiplevelvip/team/team.css
new file mode 100644
index 0000000..a078c42
--- /dev/null
+++ b/pages/plugins/membershiplevelvip/team/team.css
@@ -0,0 +1,7 @@
+/*
+* 列表
+*/
+.data-list .item .base .avatar {
+ width: 40rpx;
+ height: 40rpx !important;
+}
\ No newline at end of file
diff --git a/pages/plugins/membershiplevelvip/team/team.vue b/pages/plugins/membershiplevelvip/team/team.vue
new file mode 100644
index 0000000..b484b5d
--- /dev/null
+++ b/pages/plugins/membershiplevelvip/team/team.vue
@@ -0,0 +1,231 @@
+
+
+
+
+
+
+
+ {{ item.user_name_view || "" }}
+ {{ item.add_time }}
+
+
+
+
+ {{ fv.name }}
+ {{ item[fv.field] }}
+ {{ fv.unit }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/membershiplevelvip/user/user.css b/pages/plugins/membershiplevelvip/user/user.css
new file mode 100644
index 0000000..af99e60
--- /dev/null
+++ b/pages/plugins/membershiplevelvip/user/user.css
@@ -0,0 +1,104 @@
+/*
+* 头部
+*/
+.head-item image {
+ width: 116rpx;
+ height: 116rpx !important;
+}
+
+.head-base .level-icon {
+ width: 30rpx;
+ height: 30rpx !important;
+ left: 16rpx;
+ top: 50%;
+ transform: translateY(-50%);
+}
+
+.vip-btn {
+ right: 0;
+ top: 50%;
+ transform: translateY(-50%);
+}
+
+.submit-buy {
+ /* height: 52rpx;
+ line-height: 52rpx; */
+ padding: 0 44rpx 0 24rpx;
+ background-color: rgba(0, 0, 0, 0.15) !important;
+ border-radius: 200rpx 0 0 200rpx;
+}
+
+.submit-buy .right-icon {
+ top: 64%;
+ /* #ifdef H5 */
+ top: 50%;
+ /* #endif */
+ transform: translateY(-50%);
+}
+
+.vip-badge {
+ height: 44rpx;
+ line-height: 44rpx;
+ padding: 0 16rpx 0 51rpx;
+ color: #FFAF36;
+}
+
+/*
+* 推广客户
+*/
+.promotion .item {
+ padding: 28rpx 20rpx;
+}
+
+.promotion .item:first-child {
+ background-color: #EAFEF7;
+}
+
+.promotion .item:last-child {
+ background-color: #EBF7FF;
+}
+
+.promotion .item .num {
+ font-size: 48rpx;
+}
+
+.promotion image {
+ width: 68rpx;
+ height: 68rpx !important;
+}
+
+.rebate .item .price {
+ font-size: 44rpx;
+}
+
+/*
+* 导航
+*/
+.nav .item {
+ padding: 32rpx 20rpx;
+}
+
+.nav .item image {
+ width: 100rpx;
+ height: 100rpx;
+}
+
+/*
+* 提示信息
+*/
+.tips-container .tips-item {
+ padding: 0 10rpx;
+}
+
+.tips-container .not-opening-vip-desc {
+ background: #def2fd;
+ border: 1px solid #cfeeff;
+ color: #1490d2;
+ padding: 10rpx;
+ font-size: 26rpx;
+ border-radius: 2px;
+}
+
+.uni-noticebar {
+ margin: 0 !important;
+}
\ No newline at end of file
diff --git a/pages/plugins/membershiplevelvip/user/user.vue b/pages/plugins/membershiplevelvip/user/user.vue
new file mode 100644
index 0000000..e6f4f85
--- /dev/null
+++ b/pages/plugins/membershiplevelvip/user/user.vue
@@ -0,0 +1,359 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ nickname }}
+
+
+
+
+
+
+
+ {{ user_vip.level_name }}
+
+
+ |
+ {{ user_vip.permanent_value }}{{ user_vip.permanent_unit }}
+
+
+
+ |
+ {{ user_vip.surplus_time_number }}{{ user_vip.surplus_time_unit }}
+
+
+
+
+
+
+
+ {{ user_vip.level_name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{$t('user.user.76dcx6')}}
+
+
+
+
+
+
+
+ {{ item.value }}
+ {{$t('user.user.rjye50')}}
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+ {{$t('user.user.981200')}}
+
+
+
+
+
+ {{ item.first }}
+
+
+ {{ item.value }}
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.title }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/ordergoodsform/order/order.css b/pages/plugins/ordergoodsform/order/order.css
new file mode 100644
index 0000000..1ab6523
--- /dev/null
+++ b/pages/plugins/ordergoodsform/order/order.css
@@ -0,0 +1,14 @@
+/*
+* 商品信息
+*/
+.goods .goods-base {
+ min-height: 160rpx;
+ margin-left: 180rpx;
+}
+.goods .goods-item:last-child {
+ border-bottom: 0;
+}
+.goods .goods-image {
+ width: 160rpx;
+ height: 160rpx;
+}
\ No newline at end of file
diff --git a/pages/plugins/ordergoodsform/order/order.vue b/pages/plugins/ordergoodsform/order/order.vue
new file mode 100644
index 0000000..f0f168f
--- /dev/null
+++ b/pages/plugins/ordergoodsform/order/order.vue
@@ -0,0 +1,156 @@
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.title }}
+ {{ item.spec_text }}
+
+ {{ item.currency_data.currency_symbol }}{{ item.price }}
+ x{{ item.buy_number }}
+
+
+
+
+
+
+
+ {{$t('order.order.93j3zq')}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/plugins/orderresources/orderannex/orderannex.css b/pages/plugins/orderresources/orderannex/orderannex.css
new file mode 100644
index 0000000..3bcc6eb
--- /dev/null
+++ b/pages/plugins/orderresources/orderannex/orderannex.css
@@ -0,0 +1,18 @@
+.images-data-list .item {
+ gap: 40rpx 20rpx;
+}
+.images-data-list .item-content {
+ width: calc(25% - 21rpx);
+ height: 200rpx;
+}
+.images-data-list .item .image,
+.video-data-list .item .video {
+ height: calc(100% - 40rpx);
+}
+.video-data-list .item {
+ gap: 50rpx 20rpx;
+}
+.video-data-list .item-content {
+ width: 100%;
+ height: 440rpx;
+}
\ No newline at end of file
diff --git a/pages/plugins/orderresources/orderannex/orderannex.vue b/pages/plugins/orderresources/orderannex/orderannex.vue
new file mode 100644
index 0000000..b77f5a6
--- /dev/null
+++ b/pages/plugins/orderresources/orderannex/orderannex.vue
@@ -0,0 +1,169 @@
+
+
+
+
+
+ {{$t('common.image')}}
+
+
+
+ {{$t('common.copy_link')}}
+
+
+
+
+
+
+ {{$t('common.video')}}
+
+
+
+ {{$t('common.copy_link')}}
+
+
+
+
+
+
+ {{$t('common.file')}}
+
+
+ {{item.title}}
+ {{$t('common.copy_link')}}
+
+
+
+
+
+
+ {{$t('common.note')}}
+ {{data.note}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/plugins/points/index/index.css b/pages/plugins/points/index/index.css
new file mode 100644
index 0000000..59d6f2f
--- /dev/null
+++ b/pages/plugins/points/index/index.css
@@ -0,0 +1,85 @@
+/**
+* 顶部
+*/
+.points-content {
+ padding-top: 350rpx;
+}
+
+.points-user {
+ padding: 28rpx;
+}
+
+.points-user .avatar {
+ width: 100rpx;
+ height: 100rpx;
+}
+
+.points-user .share-submit {
+ width: 112rpx;
+ height: 52rpx;
+ line-height: 52rpx;
+ padding: 0;
+ background: #D8D8D8 linear-gradient(93deg, #FF9747 0%, #FF6E01 100%);
+ border-radius: 200rpx 0 0 200rpx;
+ top: 54rpx;
+ right: 0;
+}
+
+.points-integral {
+ padding: 28rpx 28rpx 0 28rpx;
+}
+
+.points-integral .item .list {
+ border-bottom: 2rpx solid #eee;
+ padding: 30rpx 0;
+}
+
+.points-integral .item .list:last-of-type {
+ border: 0;
+}
+
+/**
+ * 积分规则
+ */
+.rule-btn {
+ top: 140rpx;
+ width: 148rpx;
+ height: 52rpx;
+ padding: 0;
+ line-height: 52rpx;
+ background: rgba(0, 0, 0, 0.3);
+ border-radius: 200rpx 0 0 200rpx;
+}
+
+.rule {
+ padding: 56rpx 24rpx;
+ max-height: 50vh;
+}
+
+.rule .item {
+ padding-bottom: 100rpx;
+ max-height: calc(50vh - 164rpx);
+}
+
+.rule button {
+ margin: 20rpx 70rpx 42rpx 70rpx;
+ height: 80rpx;
+ line-height: 80rpx;
+}
+
+/**
+* 媒体查询
+*/
+@media only screen and (min-width:960px) {
+ .points-content {
+ /* #ifdef H5 */
+ padding-top: 51%;
+ /* #endif */
+ }
+
+ .rule-btn {
+ /* #ifdef H5 */
+ top: 11%;
+ /* #endif */
+ }
+}
\ No newline at end of file
diff --git a/pages/plugins/points/index/index.vue b/pages/plugins/points/index/index.vue
new file mode 100644
index 0000000..8ba7ca6
--- /dev/null
+++ b/pages/plugins/points/index/index.vue
@@ -0,0 +1,363 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{$t('login.login.zy8tc4')}}
+ {{$t('index.index.z88r5s')}}
+
+
+
+
+
+ {{ user.user_name_view }}
+
+ {{$t('index.index.b46kge')}}
+ {{ user_integral.integral || 0 }}
+ {{$t('index.index.t26j9z')}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{$t('index.index.srd2ch')}}{{ item.original_integral }}
+ /{{$t('goods-category.goods-category.5p4ksj')}}{{ item.new_integral }}
+
+ {{ item.add_time_time }}
+
+
+ {{ item.msg }}
+ {{ item.type == 1 ? '+' : '-' }} {{ item.operation_integral }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{$t('index.index.u5642g')}}
+
+ {{ item }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/points/scan/scan.css b/pages/plugins/points/scan/scan.css
new file mode 100644
index 0000000..bbf88f5
--- /dev/null
+++ b/pages/plugins/points/scan/scan.css
@@ -0,0 +1,25 @@
+/**
+ * 基础
+ */
+.page-content {
+ background: #fff;
+}
+.scan-button {
+ background: linear-gradient( 270deg, #F1E6C1 0%, #DBC583 100%);
+ max-width: 300rpx;
+}
+.scan-button text {
+ color: #CC2121;
+}
+/**
+ * 扫码提示页面则使用黄色背景
+ */
+.page-content.page-bottom-fixed {
+ background: #FEEEC8;
+}
+/**
+ * 登录和扫码按钮增加页面底部间距
+ */
+.page-bottom-fixed {
+ padding-bottom: 100rpx !important;
+}
\ No newline at end of file
diff --git a/pages/plugins/points/scan/scan.vue b/pages/plugins/points/scan/scan.vue
new file mode 100644
index 0000000..6be6de6
--- /dev/null
+++ b/pages/plugins/points/scan/scan.vue
@@ -0,0 +1,195 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{data.msg}}
+
+
+
+
+ {{data.msg}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/plugins/realstore/batchorder-list/batchorder-list.css b/pages/plugins/realstore/batchorder-list/batchorder-list.css
new file mode 100644
index 0000000..170b1f8
--- /dev/null
+++ b/pages/plugins/realstore/batchorder-list/batchorder-list.css
@@ -0,0 +1,6 @@
+/*
+* 导航
+*/
+.nav-base .item {
+ width: 20%;
+}
\ No newline at end of file
diff --git a/pages/plugins/realstore/batchorder-list/batchorder-list.vue b/pages/plugins/realstore/batchorder-list/batchorder-list.vue
new file mode 100644
index 0000000..5ff454a
--- /dev/null
+++ b/pages/plugins/realstore/batchorder-list/batchorder-list.vue
@@ -0,0 +1,273 @@
+
+
+
+
+
+ {{ item.name }}
+ {{ item.name }}
+
+
+
+
+
+
+
+
+ {{ item.add_time }}
+ {{ item.status_name }}({{ item.is_under_line_text }})
+
+
+ {{ item.name }}
+ {{ item.describe }}
+
+
+
+
+
+ {{ fv.name }}
+ {{ detail[fv.field] }}
+ {{ fv.unit }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/realstore/check/check.vue b/pages/plugins/realstore/check/check.vue
new file mode 100644
index 0000000..78c1fd2
--- /dev/null
+++ b/pages/plugins/realstore/check/check.vue
@@ -0,0 +1,157 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/plugins/realstore/detail/detail.css b/pages/plugins/realstore/detail/detail.css
new file mode 100644
index 0000000..c7a61c2
--- /dev/null
+++ b/pages/plugins/realstore/detail/detail.css
@@ -0,0 +1,163 @@
+page {
+ background: #fff;
+}
+
+/**
+ * 头部内容
+ */
+.header-content {
+ margin-top: 20rpx;
+ box-shadow: 0 0 8px rgb(0 0 0 / 6%);
+ min-height: 242rpx;
+}
+.header-content .address-content {
+ max-width: calc(100% - 100rpx);
+}
+.header-content .icon-list {
+ right: 20rpx;
+ bottom: 20rpx;
+}
+.header-content .icon-list .icon-item {
+ width: 50rpx;
+ height: 50rpx;
+ line-height: 50rpx;
+}
+.header-content .icon-list .icon-item.red {
+ background-color: rgba(226, 44, 8, 0.08);
+}
+.header-content .icon-list .icon-item.green {
+ background-color: #EEF9E9;
+}
+.header-content .icon-item .badge-icon {
+ top: -10px;
+ right: 2px;
+}
+.header-content .icon-list .icon-item:not(:last-child) {
+ margin-right: 15rpx;
+}
+.header-content .logo {
+ width: 100rpx;
+}
+.header-content .base-right .title-length-limit {
+ max-width: calc(100% - 100rpx);
+}
+.header-content .base-right .title-length-limit .title-content.switch {
+ max-width: calc(100% - 44rpx);
+}
+.header-content .base-right .use-type-icon {
+ border-top-left-radius: 8rpx;
+ border-bottom-left-radius: 8rpx;
+ right: 0;
+ padding: 5rpx 10rpx 5rpx 20rpx;
+}
+
+/**
+ * 桌码
+ */
+.tablecode {
+ background: rgb(255 255 255 / 60%);
+ padding: 2rpx 20rpx;
+ /* #ifdef MP-ALIPAY || MP-TOUTIAO */
+ margin-top: 15rpx;
+ /* #endif */
+}
+
+/**
+* 左侧导航
+*/
+.left-content-actual {
+ padding-bottom: 160rpx;
+}
+.left-content {
+ width: 186rpx;
+}
+.left-content .item {
+ height: 80rpx;
+ line-height: 80rpx;
+ padding: 0 10rpx;
+ overflow: hidden;
+}
+.left-content .badge-icon {
+ top: -16rpx;
+ right: 26rpx;
+}
+
+/**
+* 右侧内容
+*/
+.right-content-actual {
+ padding-bottom: calc(145rpx + env(safe-area-inset-bottom));
+}
+.right-content-actual.base-mode-goods {
+ padding-bottom: calc(40rpx + env(safe-area-inset-bottom));
+}
+.goods-list-top-nav {
+ position: sticky;
+ top: 0;
+ right: 0;
+ z-index: 3;
+}
+.nav-sort-content .sort-item {
+ height: 80rpx;
+ line-height: 80rpx;
+ width: 20%;
+}
+.nav-sort-content .sort-item .sort-icon {
+ width: 26rpx;
+ height: 26rpx !important;
+}
+.goods-list .goods-img {
+ width: 160rpx;
+ height: 160rpx !important;
+}
+.goods-list .goods-base-content {
+ min-height: 100rpx;
+}
+.goods-list .goods-base .simple-desc {
+ line-height: 30rpx;
+ min-height: 30rpx;
+ max-height: 58rpx;
+}
+.goods-list .goods-base .sales-price {
+ width: calc(100% - 140rpx);
+}
+.goods-list .goods-base .buy-number {
+ min-width: 32rpx;
+}
+.goods-list .goods-item.item-highlight {
+ box-shadow: 0rpx 8rpx 12rpx 0px rgba(0, 0, 0, 0.06);
+ background: #F7FBF6 !important;
+}
+
+/**
+ * 独立模式下底部操作导航
+ */
+.button-list {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+.button-list .item {
+ height: 70rpx;
+ padding: 0 40rpx;
+}
+.button-list .button-left {
+ display: flex;
+ width: 50%;
+ justify-content: space-evenly;
+}
+.button-list .button-right {
+ display: flex;
+ width: 50%;
+}
+.button-list .button-right button {
+ line-height: 70rpx;
+ padding: 0;
+}
+
+/**
+ * 阴影效果
+ */
+.box-shadow {
+ box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.05);
+}
\ No newline at end of file
diff --git a/pages/plugins/realstore/detail/detail.vue b/pages/plugins/realstore/detail/detail.vue
new file mode 100644
index 0000000..b193c92
--- /dev/null
+++ b/pages/plugins/realstore/detail/detail.vue
@@ -0,0 +1,1110 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.name }}
+ {{ item.name }}
+
+
+
+
+
+ {{$t('goods-detail.goods-detail.dfge45')}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{$t('common.all')}}
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.name}}
+
+
+
+
+
+
+
+ {{$t('common.all')}}
+
+ {{ cv.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.title }}
+ {{ item.simple_desc }}
+
+
+
+ {{ item.show_price_symbol }}
+ {{ item.min_price }}
+ {{ item.show_price_unit }}
+
+
+
+
+
+
+
+ {{ item.buy_number }}
+
+
+
+
+
+
+ {{ item.is_error_msg }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{$t('detail.detail.688i26')}}
+
+
+
+
+
+
+ {{$t('common.share')}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/realstore/favor/favor.css b/pages/plugins/realstore/favor/favor.css
new file mode 100644
index 0000000..59b5e28
--- /dev/null
+++ b/pages/plugins/realstore/favor/favor.css
@@ -0,0 +1,8 @@
+.base {
+ min-height: 140rpx;
+ margin-left: 160rpx;
+}
+.logo {
+ width: 140rpx;
+ height: 140rpx;
+}
\ No newline at end of file
diff --git a/pages/plugins/realstore/favor/favor.vue b/pages/plugins/realstore/favor/favor.vue
new file mode 100644
index 0000000..cb3c3f1
--- /dev/null
+++ b/pages/plugins/realstore/favor/favor.vue
@@ -0,0 +1,262 @@
+
+
+
+
+
+
+
+
+ {{item.realstore_info.name}}
+ {{item.realstore_info.describe}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/plugins/realstore/frequencycard-list/frequencycard-list.css b/pages/plugins/realstore/frequencycard-list/frequencycard-list.css
new file mode 100644
index 0000000..170b1f8
--- /dev/null
+++ b/pages/plugins/realstore/frequencycard-list/frequencycard-list.css
@@ -0,0 +1,6 @@
+/*
+* 导航
+*/
+.nav-base .item {
+ width: 20%;
+}
\ No newline at end of file
diff --git a/pages/plugins/realstore/frequencycard-list/frequencycard-list.vue b/pages/plugins/realstore/frequencycard-list/frequencycard-list.vue
new file mode 100644
index 0000000..a0b9aa2
--- /dev/null
+++ b/pages/plugins/realstore/frequencycard-list/frequencycard-list.vue
@@ -0,0 +1,279 @@
+
+
+
+
+
+ {{ item.name }}
+ {{ item.name }}
+
+
+
+
+
+
+
+
+ {{ item.add_time }}
+ {{ item.status_name }}({{ item.is_under_line_text }})
+
+
+ {{ item.name }}
+ {{ item.describe }}
+
+
+
+
+ {{ fv.name }}
+ {{ item[fv.field] }}
+ {{ fv.unit }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/realstore/frequencycard-used/frequencycard-used.vue b/pages/plugins/realstore/frequencycard-used/frequencycard-used.vue
new file mode 100644
index 0000000..13e1f6b
--- /dev/null
+++ b/pages/plugins/realstore/frequencycard-used/frequencycard-used.vue
@@ -0,0 +1,217 @@
+
+
+
+
+
+
+ {{ item.add_time }}
+
+
+
+
+ {{ fv.name }}
+ {{ item[fv.field] }}
+ {{ fv.unit }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/realstore/index/index.css b/pages/plugins/realstore/index/index.css
new file mode 100644
index 0000000..753de30
--- /dev/null
+++ b/pages/plugins/realstore/index/index.css
@@ -0,0 +1,76 @@
+/**
+* 头部
+*/
+page {
+ background-color: #F7EDE1;
+}
+
+/**
+* 位置和搜索
+*/
+.nav-location {
+ line-height: 95rpx;
+}
+.nav-location .icon-arrow-down {
+ top: 34rpx;
+}
+.nav-search {
+ margin-top: 80rpx;
+}
+
+/**
+* 位置选择提示
+*/
+.choice-location-tips {
+ background: rgba(0, 0, 0, 0.6);
+ top: 0;
+ left: 0;
+ z-index: 2;
+}
+
+.choice-location-tips .content {
+ margin-top: 30%;
+ width: 520rpx;
+}
+
+.choice-location-tips .content .close {
+ top: 20rpx;
+ right: 20rpx;
+}
+
+/**
+ * 已选门店
+ */
+.user-choice-realstore .logo {
+ width: 100rpx;
+}
+.user-choice-realstore .address-content {
+ max-width: calc(100% - 100rpx);
+}
+.user-choice-realstore .checked {
+ top: 0;
+ right: 0;
+ width: 50rpx;
+ height: 38rpx;
+ border-bottom-left-radius: 100rpx;
+}
+
+
+/**
+* 媒体查询
+*/
+@media only screen and (min-width:960px) {
+ .realstore-nav-bg {
+ /* #ifdef H5 */
+ background-size: cover;
+ /* #endif */
+ }
+}
+
+@media only screen and (max-width:960px) {
+ .realstore-nav-bg {
+ /* #ifdef H5 */
+ background-size: auto 100%;
+ /* #endif */
+ }
+}
\ No newline at end of file
diff --git a/pages/plugins/realstore/index/index.vue b/pages/plugins/realstore/index/index.vue
new file mode 100644
index 0000000..91c05b5
--- /dev/null
+++ b/pages/plugins/realstore/index/index.vue
@@ -0,0 +1,461 @@
+
+
+
+
+
+
+
+
+
+
+
+ {{data_base.home_not_choice_realstore_msg}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ user_choice_realstore.alias }}
+ {{ user_choice_realstore.name }}
+
+
+
+
+
+
+ {{ user_choice_realstore.province_name }}{{ user_choice_realstore.city_name }}{{ user_choice_realstore.county_name }}{{ user_choice_realstore.address }}
+
+
+ {{$t('detail.detail.688i26')}}
+
+
+
+
+
+
+ {{$t('detail.detail.dor2v9')}}{{ user_choice_realstore.status_info.time }}
+ {{$t('extraction-address.extraction-address.42v8tv')}}{{ user_choice_realstore.distance }}
+
+
+
+
+ {{data_base.home_already_choice_realstore_msg}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ data_base.home_choice_location_msg }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/realstore/orderallot-detail/orderallot-detail.css b/pages/plugins/realstore/orderallot-detail/orderallot-detail.css
new file mode 100644
index 0000000..01917bc
--- /dev/null
+++ b/pages/plugins/realstore/orderallot-detail/orderallot-detail.css
@@ -0,0 +1,73 @@
+/*
+* 地址信息
+*/
+.address-base,
+.address-detail {
+ padding: 10rpx 0;
+}
+.address-detail .icon {
+ width: 30rpx;
+ height: 35rpx !important;
+}
+.address-detail .text {
+ width: calc(100% - 40rpx);
+}
+.address-detail .text {
+ line-height: 36rpx;
+}
+.no-address {
+ height: 85rpx;
+ line-height: 85rpx;
+}
+.address-alias,
+.address-map-submit {
+ padding: 0 15rpx;
+ line-height: 40rpx;
+}
+.address-map-submit {
+
+}
+
+/*
+* 商品信息
+*/
+.goods-base {
+ min-height: 160rpx;
+ margin-left: 180rpx;
+}
+.goods .goods-item:last-child {
+ border-bottom: 0;
+}
+.goods-image {
+ width: 160rpx;
+ height: 160rpx;
+}
+.orderaftersale-btn-text {
+ right: 0;
+ bottom: 0;
+ z-index: 1;
+}
+
+/*
+* 虚拟销售信息
+*/
+.site-fictitious .panel-content .tips-value {
+ color: #f37b1d;
+ background-color: #fff2e9;
+ border-color: #ffebdb;
+}
+.site-fictitious .panel-content .left-image {
+ width: 80rpx;
+ height: 80rpx;
+}
+.site-fictitious .panel-content .right-value {
+ width: calc(100% - 100rpx);
+}
+
+/*
+* 自提信息
+*/
+.site-extraction .panel-content .qrcode {
+ width: 260rpx;
+ height: 260rpx;
+}
\ No newline at end of file
diff --git a/pages/plugins/realstore/orderallot-detail/orderallot-detail.vue b/pages/plugins/realstore/orderallot-detail/orderallot-detail.vue
new file mode 100644
index 0000000..098926a
--- /dev/null
+++ b/pages/plugins/realstore/orderallot-detail/orderallot-detail.vue
@@ -0,0 +1,274 @@
+
+
+
+
+
+
+
+ {{ detail.address_data.alias }}
+ {{ detail.address_data.name }}
+ {{ detail.address_data.tel }}
+
+
+
+
+ {{ detail.address_data.province_name }}{{ detail.address_data.city_name }}{{ detail.address_data.county_name }}{{ detail.address_data.address }}
+ {{$t('user-order-detail.user-order-detail.7lp6gw')}}
+
+
+
+
+
+
+
+ {{$t('user-order-detail.user-order-detail.7f8p26')}}
+
+
+
+
+ {{ item.title }}
+
+
+ ;
+ {{ sv.value }}
+
+
+
+ {{ detail.currency_data.currency_symbol }}{{ item.price }}
+ x{{ item.buy_number }}
+
+
+
+
+
+ {{$t('user-order-detail.user-order-detail.423rmr')}}{{ detail.buy_number_count }}{{$t('user-order-detail.user-order-detail.41ty94')}}{{ detail.currency_data.currency_symbol }}{{ detail.total_price }}
+
+
+
+
+
+ {{ site_fictitious.title || item.fictitious_goods_title }}
+
+
+
+
+
+
+
+ {{item.spec_text}}
+
+ {{$t('user-order-detail.user-order-detail.7xtnjt')}}
+
+
+
+
+
+
+
+ {{$t('user-order-detail.user-order-detail.7dikfm')}}
+
+
+ {{$t('user-order-detail.user-order-detail.o38952')}}
+ {{ detail.extraction_data.code || $t("user-order-detail.user-order-detail.hpq62x") }}
+
+
+
+
+
+
+
+ {{$t('user-order-detail.user-order-detail.0f26j2')}}
+
+
+ {{ item.name }}
+
+ {{ item.value }}
+ {{$t('common.copy')}}
+
+ {{ item.value }}
+
+
+
+
+
+
+ {{$t('user-order-detail.user-order-detail.0876xf')}}
+
+
+
+ {{$t('user-order-detail.user-order-detail.12d445')}}
+ {{item.express_name}}
+
+
+ {{$t('user-order-detail.user-order-detail.2byl8l')}}
+
+ {{item.express_number}}
+ {{$t('common.copy')}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/realstore/orderallot-list/orderallot-list.css b/pages/plugins/realstore/orderallot-list/orderallot-list.css
new file mode 100644
index 0000000..c98a7d8
--- /dev/null
+++ b/pages/plugins/realstore/orderallot-list/orderallot-list.css
@@ -0,0 +1,18 @@
+/*
+* 导航
+*/
+.nav-base .item {
+ width: 16.66%;
+}
+
+/*
+* 列表
+*/
+.goods-base {
+ min-height: 160rpx;
+ margin-left: 180rpx;
+}
+.goods-image {
+ width: 160rpx;
+ height: 160rpx;
+}
\ No newline at end of file
diff --git a/pages/plugins/realstore/orderallot-list/orderallot-list.vue b/pages/plugins/realstore/orderallot-list/orderallot-list.vue
new file mode 100644
index 0000000..17cd387
--- /dev/null
+++ b/pages/plugins/realstore/orderallot-list/orderallot-list.vue
@@ -0,0 +1,526 @@
+
+
+
+
+
+ {{ item.name }}
+ {{ item.name }}
+
+
+
+
+
+
+
+
+ {{ item.order_allot_no }}
+ {{ item.status_name }}({{ item.is_under_line_text }})
+
+
+
+
+
+ {{ detail.title }}
+
+
+ ;
+ {{ sv.value }}
+
+
+
+ {{ item.currency_data.currency_symbol }}{{ detail.price }}
+ x{{ detail.buy_number }}
+
+
+
+
+
+ {{$t('user-order-detail.user-order-detail.423rmr')}}{{ item.buy_number_count }}{{$t('user-order-detail.user-order-detail.41ty94')}}{{ item.currency_data.currency_symbol }}{{ item.total_price }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/realstore/search/search.css b/pages/plugins/realstore/search/search.css
new file mode 100644
index 0000000..13e64b4
--- /dev/null
+++ b/pages/plugins/realstore/search/search.css
@@ -0,0 +1,37 @@
+/**
+* 位置和搜索
+*/
+.nav-location {
+ max-width: 260rpx;
+ height: 56rpx;
+ line-height: 56rpx;
+}
+.nav-search {
+ width: calc(100% - 260rpx);
+}
+.nav-search.map {
+ width: 100%;
+}
+
+/**
+* 数据列表
+*/
+.scroll-box {
+ height: calc(100vh - 180rpx);
+}
+.scroll-box.map {
+ height: calc(100vh - 682rpx);
+}
+
+/**
+* 地图
+*/
+.map-container {
+ height: 500rpx;
+}
+.map-container .map-center-icon {
+ top: calc(50% - 30rpx);
+ left: calc(50% - 30rpx);
+ width: 60rpx;
+ height: 60rpx;
+}
\ No newline at end of file
diff --git a/pages/plugins/realstore/search/search.vue b/pages/plugins/realstore/search/search.vue
new file mode 100644
index 0000000..77d6c1f
--- /dev/null
+++ b/pages/plugins/realstore/search/search.vue
@@ -0,0 +1,495 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{$t('common.all')}}
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/scanpay/index/index.css b/pages/plugins/scanpay/index/index.css
new file mode 100644
index 0000000..152283a
--- /dev/null
+++ b/pages/plugins/scanpay/index/index.css
@@ -0,0 +1,134 @@
+.scanpay-logo {
+ width: 92rpx;
+ height: 92rpx !important;
+}
+
+.badge {
+ min-width: 50rpx;
+ height: 32rpx;
+ line-height: 32rpx;
+ background: #D5D5D5;
+ border-radius: 4rpx;
+ padding: 0 12rpx;
+ font-size: 22rpx;
+}
+
+.unit {
+ font-size: 42rpx;
+}
+
+.img-pay {
+ width: 40rpx;
+}
+
+.pay-scroll {
+ max-height: calc(100vh - 1102rpx);
+ min-height: 140rpx;
+ overflow-y: auto;
+}
+
+::-webkit-scrollbar {
+ display: none;
+ ;
+}
+
+.sub-key {
+ background-color: transparent !important;
+ box-shadow: none !important;
+ padding: 0;
+}
+
+.title-padding {
+ padding: 16rpx;
+}
+
+/**
+ * 页面底部浮动、增加底部边距
+ */
+.page-pay-fixed {
+ padding-bottom: calc(536rpx + env(safe-area-inset-bottom) - 40rpx);
+ /* #ifdef H5 */
+ padding-bottom: 536rpx !important;
+ /* #endif */
+}
+
+.edit-width {
+ min-width: 50rpx;
+}
+
+.key-1 {
+ padding: 26rpx 0;
+}
+
+.repair {
+ margin-left: -2rpx;
+}
+
+.fw-n {
+ font-weight: 400;
+}
+
+.sub-key-content .key-num {
+ transition: all 0.15s ease-in-out;
+}
+
+.sub-key-content .key-num:active {
+ background-color: rgba(0, 0, 0, 0.1) !important;
+}
+
+.sub-key-content .key-num.sub:active {
+ background-color: rgba(230, 67, 64, 0.85) !important;
+}
+
+/* 弹框 */
+.dialog-container {
+ width: 600rpx;
+ border-radius: 22rpx;
+ background-color: #fff;
+}
+
+.dialog-title {
+ display: flex;
+ flex-direction: row;
+ justify-content: center;
+ padding-top: 30rpx;
+ font-size: 32rpx;
+ text-align: center;
+}
+
+.dialog-content {
+ display: flex;
+ flex-direction: row;
+ justify-content: center;
+ align-items: center;
+ padding: 40rpx;
+}
+
+.dialog-input {
+ flex: 1;
+ font-size: 28rpx;
+ border: 2rpx #eee solid;
+ height: 80rpx;
+ line-height: 80rpx;
+ min-height: 80rpx;
+ padding: 0 20rpx;
+ border-radius: 10rpx;
+ color: #555;
+ background: #F1F1F1;
+ box-sizing: unset !important;
+}
+
+.dialog-btn-group {
+ display: flex;
+ flex-direction: row;
+}
+
+.dialog-btn {
+ display: flex;
+ flex: 1;
+ flex-direction: row;
+ justify-content: center;
+ align-items: center;
+ height: 90rpx;
+ font-size: 32rpx;
+}
\ No newline at end of file
diff --git a/pages/plugins/scanpay/index/index.vue b/pages/plugins/scanpay/index/index.vue
new file mode 100644
index 0000000..531e71b
--- /dev/null
+++ b/pages/plugins/scanpay/index/index.vue
@@ -0,0 +1,463 @@
+
+
+
+
+
+
+
+
+ {{ data.scanpay_info.name }}
+ {{ data.scanpay_info.alias }}
+
+
+
+
+
+ {{$t('promotion-user.promotion-user.32bf15')}}
+
+
+ {{ currency_symbol }}
+ {{ form.price || '0.00' }}
+
+
+
+
+
+ {{$t('user-order-detail.user-order-detail.0e1sfs')}}
+
+
+
+
+ {{ item.name }}
+ ({{ item.tips }}
+
+
+
+
+
+ {{$t('common.more')}}
+
+
+
+
+
+
+
+ {{$t('index.index.1e582h')}}
+
+
+
+ {{ form.note }}
+ {{$t('user.user.567lwz')}}
+
+
+
+
+
+
+ {{$t('common.note')}}
+
+
+
+
+
+ {{$t('common.cancel')}}
+ {{$t('index.index.7w75zb')}}
+
+
+
+
+
+
+ 1
+ 2
+ 3
+
+
+
+
+
+
+
+ 4
+ 5
+ 6
+
+
+ 7
+ 8
+ 9
+
+
+ 0
+ .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/plugins/scanpay/tips/tips.css b/pages/plugins/scanpay/tips/tips.css
new file mode 100644
index 0000000..4d25e63
--- /dev/null
+++ b/pages/plugins/scanpay/tips/tips.css
@@ -0,0 +1,3 @@
+.user-title-img {
+ width: 200rpx;
+}
\ No newline at end of file
diff --git a/pages/plugins/scanpay/tips/tips.vue b/pages/plugins/scanpay/tips/tips.vue
new file mode 100644
index 0000000..31d45e4
--- /dev/null
+++ b/pages/plugins/scanpay/tips/tips.vue
@@ -0,0 +1,167 @@
+
+
+
+
+
+
+
+
+
+ {{ data.scanpay_info.name }}
+
+
+ {{$t('user-order-detail.user-order-detail.yxwu8n')}}
+ {{ data.order_info.status == 1 ? $t('paytips.paytips.679rxu') : $t('paytips.paytips.6y488i')+pay_fail_msg }}
+
+
+ {{$t('user-order-detail.user-order-detail.n18sd2')}}
+ {{ data.order_info.order_no }}
+
+
+ {{$t('tips.tips.0azfc3')}}
+ {{ currency_symbol }}{{ data.order_info.pay_price }}
+
+
+
+
+
+
+
+ {{$t('paytips.paytips.6y488i')}}{{ pay_fail_msg }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/seckill/index/index.css b/pages/plugins/seckill/index/index.css
new file mode 100644
index 0000000..08a33e2
--- /dev/null
+++ b/pages/plugins/seckill/index/index.css
@@ -0,0 +1,66 @@
+/**
+ * 秒杀导航
+ */
+.title {
+ width: 142rpx;
+}
+
+.seckill-right-title {
+ padding-right: 40rpx;
+}
+
+.nav_seckill .item {
+ width: 176rpx;
+ padding: 26rpx 0;
+ opacity: 0.5;
+ flex-basis: 176rpx;
+ flex-shrink: 0;
+ white-space: nowrap;
+}
+
+.nav_seckill .item.active {
+ opacity: 1;
+}
+
+.nav_seckill .item .time {
+ line-height: 50rpx;
+}
+
+.nav_seckill .item .state {
+ margin-top: 4rpx;
+ padding: 0 14rpx;
+ display: inline-flex;
+}
+
+.nav_seckill .item.active .state {
+ font-size: 22rpx;
+ background-color: #fff;
+}
+
+/**
+ * 规则弹窗
+ */
+.rule {
+ padding: 42rpx 26rpx;
+ max-height: 50vh;
+}
+
+.rule .item {
+ padding-bottom: 100rpx;
+ max-height: calc(50vh - 164rpx);
+}
+
+.rule button {
+ margin: 20rpx 70rpx 42rpx 70rpx;
+ height: 80rpx;
+ line-height: 80rpx;
+}
+
+/**
+ * 内容
+ */
+.scroll-y {
+ /* #ifdef H5 */
+ height: calc(100vh - 248rpx) !important;
+ /* #endif */
+}
\ No newline at end of file
diff --git a/pages/plugins/seckill/index/index.vue b/pages/plugins/seckill/index/index.vue
new file mode 100644
index 0000000..4ff7c82
--- /dev/null
+++ b/pages/plugins/seckill/index/index.vue
@@ -0,0 +1,313 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.name }}
+ {{ item.time.msg }}
+
+
+
+
+
+
+
+
+
+
+ {{ time_first_text }}
+
+
+
+
+
+
+
+
+ {{$t('index.index.516559')}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{$t('index.index.516559')}}
+
+ {{ item }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/shop/check/check.vue b/pages/plugins/shop/check/check.vue
new file mode 100644
index 0000000..e959b76
--- /dev/null
+++ b/pages/plugins/shop/check/check.vue
@@ -0,0 +1,157 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/plugins/shop/components/shop-header/shop-header.vue b/pages/plugins/shop/components/shop-header/shop-header.vue
new file mode 100644
index 0000000..5e45624
--- /dev/null
+++ b/pages/plugins/shop/components/shop-header/shop-header.vue
@@ -0,0 +1,468 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{$t('recommend-form.recommend-form.203itn')}}
+
+
+
+
+
+ {{ item.name }}
+
+
+ {{ item.name }}
+
+
+ {{ items.name }}
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+ {{ item2.name }}
+
+
+
+
+
+ {{$t('design.design.83occ4')}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/shop/design/design.vue b/pages/plugins/shop/design/design.vue
new file mode 100644
index 0000000..6e91f0e
--- /dev/null
+++ b/pages/plugins/shop/design/design.vue
@@ -0,0 +1,159 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/plugins/shop/detail/detail.css b/pages/plugins/shop/detail/detail.css
new file mode 100644
index 0000000..be9f5f5
--- /dev/null
+++ b/pages/plugins/shop/detail/detail.css
@@ -0,0 +1,125 @@
+/**
+* 搜索
+*/
+.search {
+ border: 2rpx solid;
+ padding: 2rpx;
+}
+
+.search button {
+ width: 140rpx;
+ height: 56rpx;
+ line-height: 56rpx;
+ padding: 0;
+}
+
+.search input {
+ height: 56rpx;
+ line-height: 56rpx;
+}
+
+.search-btn {
+ width: 148rpx;
+}
+
+.search-btn button {
+ width: 100%;
+ padding: 0;
+ height: 64rpx;
+ line-height: 64rpx;
+}
+
+/**
+* 头部
+*/
+.header {
+ padding: 20rpx 24rpx;
+ font-size: 24rpx;
+}
+
+.shop-logo {
+ width: 90rpx;
+}
+
+.base-bottom image {
+ width: 28rpx;
+ height: 28rpx;
+}
+
+.header .base {
+ width: calc(100% - 110rpx);
+}
+
+.shop-title {
+ line-height: 40rpx;
+}
+
+/**
+* 导航
+*/
+.nav .nav-scroll {
+ float: right;
+ width: calc(100% - 172rpx);
+}
+
+.nav .nav-scroll .item.par {
+ height: 56rpx;
+ line-height: 56rpx;
+ white-space: nowrap;
+}
+
+.nav .item {
+ padding: 0 20rpx;
+}
+
+.nav-shop-category {
+ padding-right: 32rpx !important;
+ background-size: 28rpx 28rpx;
+ height: 56rpx;
+ line-height: 56rpx;
+}
+
+.nav .nav-items {
+ left: calc(50% - 212rpx);
+ top: 322rpx;
+ z-index: 1;
+ border-radius: 0 0 8rpx 8rpx;
+ box-shadow: 0 12rpx 12rpx rgb(0 0 0 / 10%);
+}
+
+.nav .nav-items .item {
+ padding: 20rpx;
+}
+
+/**
+* 导航商品分类
+*/
+.nav-category {
+ z-index: 1;
+ box-shadow: 0 12rpx 12rpx rgb(0 0 0 / 10%);
+ border-bottom-right-radius: 8rpx;
+ margin-top: 70rpx;
+}
+
+.nav-category .category-scroll {
+ max-height: 600rpx;
+}
+
+.nav-category .item {
+ padding: 20rpx;
+}
+
+/**
+* 商品分类切换
+*/
+.shop-category-list .item {
+ margin: 20rpx 0;
+}
+
+.shop-category-list .item {
+ margin-left: 20rpx;
+}
+
+.shop-category-list .item:last-child {
+ margin-right: 20rpx;
+}
\ No newline at end of file
diff --git a/pages/plugins/shop/detail/detail.vue b/pages/plugins/shop/detail/detail.vue
new file mode 100644
index 0000000..27b4773
--- /dev/null
+++ b/pages/plugins/shop/detail/detail.vue
@@ -0,0 +1,240 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/plugins/shop/favor/favor.css b/pages/plugins/shop/favor/favor.css
new file mode 100644
index 0000000..59b5e28
--- /dev/null
+++ b/pages/plugins/shop/favor/favor.css
@@ -0,0 +1,8 @@
+.base {
+ min-height: 140rpx;
+ margin-left: 160rpx;
+}
+.logo {
+ width: 140rpx;
+ height: 140rpx;
+}
\ No newline at end of file
diff --git a/pages/plugins/shop/favor/favor.vue b/pages/plugins/shop/favor/favor.vue
new file mode 100644
index 0000000..bc3f67d
--- /dev/null
+++ b/pages/plugins/shop/favor/favor.vue
@@ -0,0 +1,257 @@
+
+
+
+
+
+
+
+
+ {{item.shop_info.name}}
+ {{item.shop_info.describe}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/plugins/shop/index/index.css b/pages/plugins/shop/index/index.css
new file mode 100644
index 0000000..881020b
--- /dev/null
+++ b/pages/plugins/shop/index/index.css
@@ -0,0 +1,20 @@
+/**
+* 数据列表
+*/
+.data-list .item {
+ width: calc(50% - 10rpx);
+ margin-bottom: 20rpx;
+}
+
+.data-list .item:nth-child(2n) {
+ float: right;
+}
+
+.data-list .item:nth-child(2n+1) {
+ float: left;
+}
+
+.data-list .item .logo {
+ width: 100%;
+ height: 160rpx !important;
+}
\ No newline at end of file
diff --git a/pages/plugins/shop/index/index.vue b/pages/plugins/shop/index/index.vue
new file mode 100644
index 0000000..0d5045c
--- /dev/null
+++ b/pages/plugins/shop/index/index.vue
@@ -0,0 +1,317 @@
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.describe }}
+
+
+ {{$t('recommend-list.recommend-list.x74z3o')}}{{ item.goods_count }}
+ {{$t('goods-category.goods-category.at5p35')}}{{ item.goods_sales_count }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/shop/license/license.vue b/pages/plugins/shop/license/license.vue
new file mode 100644
index 0000000..e647ce9
--- /dev/null
+++ b/pages/plugins/shop/license/license.vue
@@ -0,0 +1,129 @@
+
+
+
+
+
+ {{ data.title }}
+ {{ data.sub_title }}
+
+
+
+
+
+ {{ item }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/shop/search/search.css b/pages/plugins/shop/search/search.css
new file mode 100644
index 0000000..71c1f88
--- /dev/null
+++ b/pages/plugins/shop/search/search.css
@@ -0,0 +1,76 @@
+/**
+* 排序导航
+*/
+.nav-sort-content .item {
+ height: 80rpx;
+ line-height: 80rpx;
+ width: calc(20% - 33.33rpx);
+}
+.nav-sort-content .item .icon {
+ width: 30rpx;
+ height: 30rpx !important;
+}
+.screening-submit {
+ width: 50rpx;
+ height: 50rpx;
+ top: 15rpx;
+ right: 80rpx !important;
+}
+.show-type-submit {
+ width: 50rpx;
+ height: 50rpx !important;
+ top: 15rpx;
+ right: 16rpx;
+}
+
+/**
+* 条件
+*/
+.search-map {
+ height: calc(100vh - 180rpx);
+ overflow-y: scroll;
+ overflow-x: hidden;
+}
+.search-map,
+.search-map .search-submit {
+ width: 660rpx;
+}
+.map-keywords {
+ padding: 0 20rpx;
+ line-height: 66rpx;
+ height: 66rpx;
+ font-size: 26rpx;
+ box-sizing: border-box;
+}
+.map-nav text:first-child {
+ font-weight: bold;
+}
+.map-nav .arrow-bottom {
+ top: 0;
+ right: 10rpx;
+ padding-right: 46rpx;
+}
+.map-item {
+ line-height: 66rpx;
+}
+.map-content {
+ line-height: 50rpx;
+}
+.map-content .item {
+ margin-bottom: 20rpx;
+}
+.map-content .item:not(:last-child) {
+ margin-right: 20rpx;
+}
+.map-text-item .item {
+ padding: 0 15rpx;
+ border: 1px solid transparent;
+}
+.search-map .search-submit {
+ left: 0;
+ bottom: 0;
+}
+.search-map .search-submit .btn {
+ height: 80rpx;
+ line-height: 80rpx;
+}
\ No newline at end of file
diff --git a/pages/plugins/shop/search/search.vue b/pages/plugins/shop/search/search.vue
new file mode 100644
index 0000000..becb4b5
--- /dev/null
+++ b/pages/plugins/shop/search/search.vue
@@ -0,0 +1,567 @@
+
+
+
+
+
+
+
+ {{item.name}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/plugins/signin/components/user-qrcode/user-qrcode.vue b/pages/plugins/signin/components/user-qrcode/user-qrcode.vue
new file mode 100644
index 0000000..da4e74f
--- /dev/null
+++ b/pages/plugins/signin/components/user-qrcode/user-qrcode.vue
@@ -0,0 +1,225 @@
+
+
+
+
+
+
+
+ {{ item.add_time }}
+ {{ item.is_enable_name }}
+
+
+
+
+ {{ fv.name }}:
+ {{ item[fv.field] }}
+ {{ fv.unit }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/signin/components/user-signin/user-signin.vue b/pages/plugins/signin/components/user-signin/user-signin.vue
new file mode 100644
index 0000000..309e136
--- /dev/null
+++ b/pages/plugins/signin/components/user-signin/user-signin.vue
@@ -0,0 +1,203 @@
+
+
+
+
+
+
+
+
+ {{ fv.name }}
+ {{ item[fv.field] }}
+ {{ fv.unit }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/signin/detail/detail.css b/pages/plugins/signin/detail/detail.css
new file mode 100644
index 0000000..607f69f
--- /dev/null
+++ b/pages/plugins/signin/detail/detail.css
@@ -0,0 +1,197 @@
+/**
+* 签到
+*/
+.signin-container {
+ min-height: 100vh;
+ background-color: rgb(255 209 133);
+}
+
+.signin-opration-group {
+ top: calc(156rpx + var(--status-bar-height) + 5px);
+ right: -2rpx;
+}
+
+.share,
+.team {
+ margin-bottom: 36rpx;
+ background: linear-gradient(90deg, rgba(255, 255, 255, 0.72) 0%, rgba(255, 255, 255, 0) 100%);
+ box-shadow: 0 4rpx 8rpx 0 rgba(0, 61, 196, 0.51);
+ border-radius: 32rpx 0 0 32rpx;
+}
+
+.signin-opration-group .content {
+ margin: 2rpx;
+ padding: 12rpx 12rpx 12rpx 36rpx;
+ background: #2A82E1;
+ border-radius: 32rpx 0 0 32rpx;
+ color: #fff;
+ font-size: 28rpx;
+ line-height: normal;
+}
+
+.content .iconfont {
+ margin-right: 4rpx;
+}
+
+.signin-btn {
+ margin: -120rpx;
+}
+
+.signin-btn .content {
+ min-width: 216rpx;
+ padding: 12rpx 48rpx;
+ display: inline-flex;
+ justify-content: center;
+ align-items: center;
+ background: linear-gradient(98deg, #FF9734 0%, #FF1304 100%);
+ box-shadow: 0 4rpx 8rpx 0 rgba(185, 110, 22, 0.66);
+ border-radius: 44rpx;
+ border: 4rpx solid #FFE99B;
+ font-size: 40rpx;
+}
+
+.calendar-title {
+ color: #C48746;
+ padding: 24rpx;
+ background: #FEEBAF;
+ border-radius: 24rpx 24rpx 0 0;
+}
+
+.calendar-week {
+ line-height: 76rpx;
+ height: 76rpx;
+ background: #FEF6F8;
+}
+
+.calendar-days {
+ padding-bottom: 52rpx;
+ border-radius: 0 0 24rpx 24rpx;
+}
+
+.calendar-days .list {
+ width: calc(100% / 7);
+ height: 84rpx;
+ line-height: 84rpx;
+}
+
+.calendar-link-left,
+.calendar-link-right {
+ position: absolute;
+ top: -52rpx;
+ width: 24rpx;
+}
+
+.calendar-link-left {
+ left: 28rpx;
+}
+
+.calendar-link-right {
+ right: 28rpx;
+}
+
+.calendar-foot .content {
+ padding: 30rpx 40rpx;
+ border-radius: 24rpx;
+ color: #C48746;
+}
+
+.notice-content {
+ padding: 18rpx 24rpx;
+ color: #C48746;
+ background-color: #FEE6BC;
+}
+
+.notice-content .title {
+ height: 40rpx;
+}
+
+.notice-content .content {
+ line-height: 40rpx;
+}
+
+/**
+* 签到成功提示
+*/
+.coming-tips-container {
+ width: 100%;
+ height: 100%;
+ z-index: 1050;
+ position: fixed;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ background: rgb(0 0 0 / 0.6);
+}
+
+.coming-content {
+ position: fixed;
+ left: 50%;
+ top: 50%;
+ transform: translate(-50%, -50%);
+}
+
+.coming-item {
+ width: 572rpx;
+ height: 446rpx;
+ margin: 0 auto;
+ position: relative;
+ background: linear-gradient(135deg, #EBE7F8 0%, #FEE3D0 51%, #FFEBE7 100%);
+ border-radius: 20px;
+ border: 1px solid #FCF7CC;
+}
+
+.coming-content image {
+ width: 292rpx;
+ left: 50%;
+ top: -90rpx;
+ transform: translateX(-50%);
+}
+
+.coming-content .title {
+ font-size: 42rpx;
+ color: #8D2407;
+ padding-top: 136rpx;
+}
+
+.coming-content .desc {
+ font-size: 28rpx;
+ margin-top: 18rpx;
+ color: #BC7059;
+ margin-bottom: 52rpx;
+}
+
+.coming-content .use-btn {
+ background: linear-gradient(180deg, #FF956B 0%, #FF2D0A 100%);
+ border-radius: 48rpx;
+ border: 2rpx solid #ffac78;
+ width: 294rpx;
+ height: 96rpx;
+ line-height: 96rpx;
+ margin: 0 auto;
+}
+
+.coming-content .close-sub {
+ bottom: -150rpx;
+ left: 50%;
+ transform: translateX(-50%);
+}
+
+/**
+* 媒体查询
+*/
+@media only screen and (min-width:960px) {
+ .signin-btn .content {
+ /* #ifdef H5 */
+ font-size: 64rpx;
+ border-radius: 128rpx;
+ padding: 24rpx 168rpx;
+ /* #endif */
+ }
+
+ .signin-btn {
+ /* #ifdef H5 */
+ margin: -240rpx;
+ /* #endif */
+ }
+}
\ No newline at end of file
diff --git a/pages/plugins/signin/detail/detail.vue b/pages/plugins/signin/detail/detail.vue
new file mode 100644
index 0000000..aac1bcf
--- /dev/null
+++ b/pages/plugins/signin/detail/detail.vue
@@ -0,0 +1,462 @@
+
+
+
+
+
+
+
+
+
+
+ {{$t('common.share')}}
+
+
+
+
+
+ {{$t('detail.detail.8ua11k')}}
+
+
+
+
+
+ {{$t('detail.detail.25x8ij')}}
+ {{$t('detail.detail.mvj266')}}
+
+
+
+
+
+
+
+
+ {{ calendar }}
+
+
+
+ {{$t('detail.detail.31lky7')}}
+
+
+
+
+ {{ item }}
+
+
+
+
+
+
+
+
+
+
+ {{$t('detail.detail.p07k62')}}
+
+
+
+
+
+
+
+
+ {{ col.num }}
+
+
+
+
+
+
+
+
+
+
+ {{$t('detail.detail.sx6u43')}}
+
+ {{ item }}
+
+
+
+
+
+
+ {{$t('index.index.8t4j95')}}
+ {{$t('common.more')}}
+
+
+
+
+
+
+
+
+
+
+ {{$t('detail.detail.6qk085')}}
+ {{$t('detail.detail.ndp2k3')}}{{ coming_integral }}{{$t('index.index.t26j9z')}}
+ {{$t('detail.detail.7itw5w')}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/signin/user-coming-list/user-coming-list.css b/pages/plugins/signin/user-coming-list/user-coming-list.css
new file mode 100644
index 0000000..90c4874
--- /dev/null
+++ b/pages/plugins/signin/user-coming-list/user-coming-list.css
@@ -0,0 +1,4 @@
+.data-list .item .avatar {
+ width: 50rpx;
+ height: 50rpx;
+}
\ No newline at end of file
diff --git a/pages/plugins/signin/user-coming-list/user-coming-list.vue b/pages/plugins/signin/user-coming-list/user-coming-list.vue
new file mode 100644
index 0000000..1be410b
--- /dev/null
+++ b/pages/plugins/signin/user-coming-list/user-coming-list.vue
@@ -0,0 +1,230 @@
+
+
+
+
+
+
+
+
+ {{ item.user.user_name_view || "" }}
+
+
+
+
+ {{ fv.name }}
+ {{ item[fv.field] }}
+ {{ fv.unit }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/signin/user-qrcode-detail/user-qrcode-detail.vue b/pages/plugins/signin/user-qrcode-detail/user-qrcode-detail.vue
new file mode 100644
index 0000000..4901aba
--- /dev/null
+++ b/pages/plugins/signin/user-qrcode-detail/user-qrcode-detail.vue
@@ -0,0 +1,163 @@
+
+
+
+
+
+ {{$t('order-detail.order-detail.9er1pc')}}
+
+
+ {{ item.name }}
+ {{ item.value }}
+
+
+
+
+
+
+ {{$t('user-qrcode-detail.user-qrcode-detail.18680z')}}
+
+
+ {{$t('user-qrcode-detail.user-qrcode-detail.dupsnc')}}{{ item.number }}{{$t('user-qrcode-detail.user-qrcode-detail.b5ilz3')}}{{ item.value }}{{$t('user-qrcode-detail.user-qrcode-detail.c8e5of')}}
+
+
+
+
+
+
+ {{$t('user-qrcode-detail.user-qrcode-detail.37bh73')}}
+
+
+ {{$t('user-qrcode-detail.user-qrcode-detail.6l7r99')}}{{ detail.specified_time_reward.time_start }}{{$t('user-qrcode-detail.user-qrcode-detail.22zc5y')}}{{ detail.specified_time_reward.value }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/signin/user-qrcode-saveinfo/user-qrcode-saveinfo.vue b/pages/plugins/signin/user-qrcode-saveinfo/user-qrcode-saveinfo.vue
new file mode 100644
index 0000000..4b5dc16
--- /dev/null
+++ b/pages/plugins/signin/user-qrcode-saveinfo/user-qrcode-saveinfo.vue
@@ -0,0 +1,232 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/signin/user/user.css b/pages/plugins/signin/user/user.css
new file mode 100644
index 0000000..809b87f
--- /dev/null
+++ b/pages/plugins/signin/user/user.css
@@ -0,0 +1,7 @@
+/*
+* 导航
+*/
+.nav .item {
+ height: 74rpx;
+ line-height: 74rpx;
+}
\ No newline at end of file
diff --git a/pages/plugins/signin/user/user.vue b/pages/plugins/signin/user/user.vue
new file mode 100644
index 0000000..5607b57
--- /dev/null
+++ b/pages/plugins/signin/user/user.vue
@@ -0,0 +1,172 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.title }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/thirdpartylogin/index/index.css b/pages/plugins/thirdpartylogin/index/index.css
new file mode 100644
index 0000000..4055207
--- /dev/null
+++ b/pages/plugins/thirdpartylogin/index/index.css
@@ -0,0 +1,7 @@
+page {
+ background: #fff;
+}
+.user-avatar {
+ width: 180rpx;
+ height: 180rpx !important;
+}
\ No newline at end of file
diff --git a/pages/plugins/thirdpartylogin/index/index.vue b/pages/plugins/thirdpartylogin/index/index.vue
new file mode 100644
index 0000000..b3cd2c9
--- /dev/null
+++ b/pages/plugins/thirdpartylogin/index/index.vue
@@ -0,0 +1,150 @@
+
+
+
+
+ {{user.user_name_view}}
+
+
+ {{$t('index.index.slf50q')}}{{application_title}}
+ {{$t('index.index.rmv185')}}
+
+
+
+
+
+
+
+
+
+ {{$t('index.index.n0vnl6')}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/plugins/wallet/cash-auth/cash-auth.css b/pages/plugins/wallet/cash-auth/cash-auth.css
new file mode 100644
index 0000000..9da9327
--- /dev/null
+++ b/pages/plugins/wallet/cash-auth/cash-auth.css
@@ -0,0 +1,8 @@
+.verify-sub {
+ width: 35%;
+ height: 70rpx;
+ line-height: 70rpx !important;
+ top: 62rpx;
+ right: 20rpx;
+ z-index: 2;
+}
\ No newline at end of file
diff --git a/pages/plugins/wallet/cash-auth/cash-auth.vue b/pages/plugins/wallet/cash-auth/cash-auth.vue
new file mode 100644
index 0000000..527fc60
--- /dev/null
+++ b/pages/plugins/wallet/cash-auth/cash-auth.vue
@@ -0,0 +1,311 @@
+
+
+
+
+
+
+
+ {{$t('cash-auth.cash-auth.0j8388')}}
+
+ {{$t('cash-auth.cash-auth.59iipw')}}{{$t('cash-auth.cash-auth.8qcte7')}}{{$t('cash-auth.cash-auth.t8y3r7')}}{{$t('login.login.np9177')}}{{$t('cash-auth.cash-auth.5wbuuy')}}
+ {{$t('cash-auth.cash-auth.r569wz')}}
+ {{$t('cash-auth.cash-auth.35837l')}}
+ {{$t('cash-auth.cash-auth.q2a553')}}
+ {{$t('cash-auth.cash-auth.lh6bjr')}}
+ {{$t('cash-auth.cash-auth.ob4gn0')}}
+
+
+
+
+
+
+
+
+
+
+ {{$t('cash-auth.cash-auth.l2i4s8')}}
+ {{ user_wallet.normal_money }}
+
+
+ {{$t('cash-auth.cash-auth.27b4w5')}}
+ {{ data_base.cash_minimum_amount }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/wallet/cash-create/cash-create.css b/pages/plugins/wallet/cash-create/cash-create.css
new file mode 100644
index 0000000..1ebd1e1
--- /dev/null
+++ b/pages/plugins/wallet/cash-create/cash-create.css
@@ -0,0 +1,6 @@
+/*
+ * 验证过期
+ */
+.overdue {
+ padding-top: 30%;
+}
\ No newline at end of file
diff --git a/pages/plugins/wallet/cash-create/cash-create.vue b/pages/plugins/wallet/cash-create/cash-create.vue
new file mode 100644
index 0000000..7e00091
--- /dev/null
+++ b/pages/plugins/wallet/cash-create/cash-create.vue
@@ -0,0 +1,332 @@
+
+
+
+
+
+
+
+
+ {{$t('cash-create.cash-create.858o54')}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/plugins/wallet/components/transfer/transfer.vue b/pages/plugins/wallet/components/transfer/transfer.vue
new file mode 100644
index 0000000..46258a9
--- /dev/null
+++ b/pages/plugins/wallet/components/transfer/transfer.vue
@@ -0,0 +1,222 @@
+
+
+
+
+
+
+
+ {{ item.add_time }}
+ {{item.receive_user.user_name_view}}
+
+
+
+
+ {{ fv.name }}:
+ {{ item[fv.field] }}
+ {{ fv.unit }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/wallet/components/user-cash/user-cash.vue b/pages/plugins/wallet/components/user-cash/user-cash.vue
new file mode 100644
index 0000000..f61ed96
--- /dev/null
+++ b/pages/plugins/wallet/components/user-cash/user-cash.vue
@@ -0,0 +1,248 @@
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+ {{ item.add_time }}
+ {{ item.status_name }}
+
+
+
+
+ {{ fv.name }}:
+ {{ item[fv.field] }}
+ {{ fv.unit }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/wallet/components/user-recharge/user-recharge.vue b/pages/plugins/wallet/components/user-recharge/user-recharge.vue
new file mode 100644
index 0000000..a2ff95c
--- /dev/null
+++ b/pages/plugins/wallet/components/user-recharge/user-recharge.vue
@@ -0,0 +1,428 @@
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+ {{ item.add_time }}
+ {{ item.status_name }}
+
+
+
+
+ {{ fv.name }}:
+ {{ item[fv.field] }}
+ {{ fv.unit }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/wallet/components/wallet-log/wallet-log.vue b/pages/plugins/wallet/components/wallet-log/wallet-log.vue
new file mode 100644
index 0000000..6fc90a4
--- /dev/null
+++ b/pages/plugins/wallet/components/wallet-log/wallet-log.vue
@@ -0,0 +1,248 @@
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+ {{ item.add_time }}
+
+
+
+
+ {{ fv.name }}:
+ {{ item[fv.field] }}
+ {{ fv.unit }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/wallet/payment-code/payment-code.css b/pages/plugins/wallet/payment-code/payment-code.css
new file mode 100644
index 0000000..2b4f3ae
--- /dev/null
+++ b/pages/plugins/wallet/payment-code/payment-code.css
@@ -0,0 +1,12 @@
+.brcode {
+ width: 660rpx;
+ padding-top: 60rpx;
+}
+.qrcode {
+ width: 450rpx;
+ margin-top: 60rpx;
+ padding: 50rpx;
+}
+.bottom-fixed .btn {
+ width: 50%;
+}
\ No newline at end of file
diff --git a/pages/plugins/wallet/payment-code/payment-code.vue b/pages/plugins/wallet/payment-code/payment-code.vue
new file mode 100644
index 0000000..417fcab
--- /dev/null
+++ b/pages/plugins/wallet/payment-code/payment-code.vue
@@ -0,0 +1,230 @@
+
+
+
+
+
+
+
+
+ {{ payment_code }}
+
+
+
+
+
+
+
+
+ {{$t('member-code.member-code.oc4x18')}}
+
+
+ ({{ scheduled_value }}{{$t('payment-code.payment-code.b74qxe')}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/wallet/recharge/recharge.css b/pages/plugins/wallet/recharge/recharge.css
new file mode 100644
index 0000000..fab72aa
--- /dev/null
+++ b/pages/plugins/wallet/recharge/recharge.css
@@ -0,0 +1,69 @@
+/**
+ * 充值头部
+ */
+.wallet-price {
+ padding: 104rpx 40rpx 0 40rpx;
+}
+
+.wallet-price .unit {
+ font-size: 42rpx;
+}
+
+.wallet-price .price {
+ font-size: 80rpx;
+}
+
+/**
+ * 充值内容
+ */
+.recharge-content {
+ border-radius: 32rpx 32rpx 0 0;
+ padding: 48rpx 28rpx;
+}
+
+.recharge-price-list {
+ width: calc(100% / 3 - 24rpx);
+ height: 140rpx;
+ line-height: 140rpx;
+ padding: 18rpx 12rpx;
+}
+
+.recharge-price-content {
+ background: #F5F7F9;
+ border: 1px solid #F5F7F9;
+ transition: all 0.3s ease-in-out;
+}
+
+.recharge-price-content.active {
+ background: rgba(226, 44, 8, 0.06);
+ color: #E22C08;
+ border: 1px solid #E22C08;
+}
+
+.recharge-price-content .tips {
+ height: 32rpx;
+ line-height: 32rpx;
+ padding: 0 20rpx;
+ background: #D8D8D8 linear-gradient(107deg, #FC6F31 0%, #E22C08 100%);
+ border-radius: 16rpx 0 16rpx 0;
+ top: -16rpx;
+}
+
+.form-container .custom-price {
+ background: #F5F7F9 !important;
+}
+
+.form-container input {
+ height: 80rpx !important;
+ line-height: 80rpx !important;
+}
+
+.circle-poiont {
+ width: 6px;
+ height: 6px;
+}
+
+.recharge-desc-title,
+.recharge-desc-content {
+ padding-bottom: 16rpx;
+}
\ No newline at end of file
diff --git a/pages/plugins/wallet/recharge/recharge.vue b/pages/plugins/wallet/recharge/recharge.vue
new file mode 100644
index 0000000..8166e29
--- /dev/null
+++ b/pages/plugins/wallet/recharge/recharge.vue
@@ -0,0 +1,291 @@
+
+
+
+
+
+
+
+
+
+ {{$t('recharge.recharge.3shyx4')}}
+
+ {{ currency_symbol }}
+ {{ user_wallet.normal_money }}
+
+
+
+
+ {{$t('recharge.recharge.60k2v3')}}
+
+
+
+ {{ item.tips }}
+
+ {{ currency_symbol }}
+ {{ item.value }}
+
+
+
+
+
+
+
+ {{preset_data.length > 0 ? $t('recharge.recharge.23zwpz') : $t('recharge.recharge.otwkjn')}}{{$t('recharge.recharge.qbw1x2')}}
+
+
+
+
+
+
+
+ {{$t('recharge.recharge.4fm61g')}}
+
+
+ {{ item }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/wallet/transfer/transfer.css b/pages/plugins/wallet/transfer/transfer.css
new file mode 100644
index 0000000..163137b
--- /dev/null
+++ b/pages/plugins/wallet/transfer/transfer.css
@@ -0,0 +1,15 @@
+.img {
+ width: 60rpx;
+ height: 60rpx;
+}
+
+.buy-submit {
+ height: 88rpx;
+ line-height: 88rpx;
+}
+
+.error-msg {
+ color: #FF6C6C;
+ height: 34rpx;
+ line-height: 34rpx;
+}
\ No newline at end of file
diff --git a/pages/plugins/wallet/transfer/transfer.vue b/pages/plugins/wallet/transfer/transfer.vue
new file mode 100644
index 0000000..e97c987
--- /dev/null
+++ b/pages/plugins/wallet/transfer/transfer.vue
@@ -0,0 +1,232 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/wallet/user-cash-detail/user-cash-detail.vue b/pages/plugins/wallet/user-cash-detail/user-cash-detail.vue
new file mode 100644
index 0000000..f2ce04f
--- /dev/null
+++ b/pages/plugins/wallet/user-cash-detail/user-cash-detail.vue
@@ -0,0 +1,143 @@
+
+
+
+
+
+
+
+ {{ item.name }}
+ {{ item.value }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/wallet/user-recharge-detail/user-recharge-detail.vue b/pages/plugins/wallet/user-recharge-detail/user-recharge-detail.vue
new file mode 100644
index 0000000..f1c82b3
--- /dev/null
+++ b/pages/plugins/wallet/user-recharge-detail/user-recharge-detail.vue
@@ -0,0 +1,137 @@
+
+
+
+
+
+
+
+ {{ item.name }}
+ {{ item.value }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/wallet/user-transfer-detail/user-transfer-detail.vue b/pages/plugins/wallet/user-transfer-detail/user-transfer-detail.vue
new file mode 100644
index 0000000..ff107a1
--- /dev/null
+++ b/pages/plugins/wallet/user-transfer-detail/user-transfer-detail.vue
@@ -0,0 +1,136 @@
+
+
+
+
+
+
+
+ {{ item.name }}
+ {{ item.value }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/wallet/user/user.css b/pages/plugins/wallet/user/user.css
new file mode 100644
index 0000000..f15f0d1
--- /dev/null
+++ b/pages/plugins/wallet/user/user.css
@@ -0,0 +1,87 @@
+/*
+* 基础
+*/
+.wallet-bg {
+ /* #ifdef H5 || APP */
+ top: -80rpx !important;
+ /* #endif */
+}
+
+.wallet-head .content {
+ border-radius: 24rpx;
+ padding: 24rpx;
+}
+
+.transfer-accounts {
+ border: 2rpx solid #fff;
+ height: 48rpx;
+ line-height: 48rpx;
+ padding: 0 28rpx;
+}
+
+.transfer-icon {
+ position: relative;
+ top: 6rpx;
+}
+
+.content-padding-1 {
+ padding: 2rpx;
+ left: -4rpx;
+ right: -4rpx;
+ top: -4rpx;
+}
+
+.filter-blur {
+ backdrop-filter: blur(40rpx);
+}
+
+.filter-blur-child {
+ top: 0;
+ bottom: 0;
+ filter: blur(0rpx);
+}
+
+.effective {
+ font-size: 72rpx;
+}
+
+.freeze,
+.give {
+ font-size: 42rpx;
+ text-shadow: 0px 1px 4px rgba(234, 44, 44, 0.46);
+}
+
+/*
+* 导航
+*/
+.nav .active {
+ width: 64px;
+ height: 4px;
+ bottom: 0;
+}
+
+/**
+* 媒体查询
+*/
+@media only screen and (min-width:960px) {
+ .wallet-bg {
+ /* #ifdef H5 */
+ top: -540rpx !important;
+ /* #endif */
+ }
+
+ .filter-blur-child {
+ /* #ifdef H5 */
+ left: -30rpx;
+ top: -30px;
+ right: -30px;
+ bottom: -30px;
+ /* #endif */
+ }
+
+ .wallet-child-bg {
+ /* #ifdef H5 */
+ height: 100% !important;
+ /* #endif */
+ }
+}
\ No newline at end of file
diff --git a/pages/plugins/wallet/user/user.vue b/pages/plugins/wallet/user/user.vue
new file mode 100644
index 0000000..673fbfe
--- /dev/null
+++ b/pages/plugins/wallet/user/user.vue
@@ -0,0 +1,296 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{$t('frequencycard-list.frequencycard-list.954ewh')}}
+ {{ is_price_show ? user_wallet.normal_money || '0.00' : '***' }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{$t('user.user.mgx9x4')}}
+ {{ is_price_show ? user_wallet.frozen_money || '0.00' : '***' }}
+
+
+ {{$t('user.user.424v6n')}}
+ {{ is_price_show ? user_wallet.give_money || '0.00' : '***' }}
+
+
+
+
+ {{$t('user.user.29f6n5')}}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.title }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/wallet/wallet-log-detail/wallet-log-detail.vue b/pages/plugins/wallet/wallet-log-detail/wallet-log-detail.vue
new file mode 100644
index 0000000..f3b257d
--- /dev/null
+++ b/pages/plugins/wallet/wallet-log-detail/wallet-log-detail.vue
@@ -0,0 +1,138 @@
+
+
+
+
+
+
+
+ {{ item.name }}
+ {{ item.value }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/weixinliveplayer/detail/detail.css b/pages/plugins/weixinliveplayer/detail/detail.css
new file mode 100644
index 0000000..185afbf
--- /dev/null
+++ b/pages/plugins/weixinliveplayer/detail/detail.css
@@ -0,0 +1,49 @@
+/**
+* 内容
+*/
+.base .item .item-icon {
+ width: 35rpx;
+ height: 35rpx !important;
+}
+
+.base .item .status {
+ color: #999;
+}
+
+.base .item .status-0 {
+ color: #0e90d2;
+}
+
+.base .item .status-1 {
+ color: #5eb95e;
+}
+
+.base .item .status-2 {
+ color: #F37B1D;
+}
+
+/**
+* 导航
+*/
+.nav button image {
+ width: 32rpx;
+ height: 32rpx !important;
+}
+
+.nav button.share-friend-submit,
+.nav button.share-poster-submit {
+ width: calc(30% - 20rpx);
+}
+
+.nav button.share-friend-submit {
+ background: #1bad18;
+}
+
+.nav button.share-poster-submit {
+ background: #6367f0;
+}
+
+.nav button.player-submit {
+ width: calc(40% - 40rpx);
+ background: #d2364c;
+}
\ No newline at end of file
diff --git a/pages/plugins/weixinliveplayer/detail/detail.vue b/pages/plugins/weixinliveplayer/detail/detail.vue
new file mode 100644
index 0000000..c6ae801
--- /dev/null
+++ b/pages/plugins/weixinliveplayer/detail/detail.vue
@@ -0,0 +1,282 @@
+
+
+
+
+
+
+
+ {{ detail.name }}
+
+
+
+
+
+
+
+ {{$t('detail.detail.4u64dg')}}
+
+ {{ detail.status_name }}
+
+
+
+
+ {{$t('detail.detail.y2639j')}}
+
+ {{ detail.start_time }} - {{ detail.end_time }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/plugins/weixinliveplayer/index/index.css b/pages/plugins/weixinliveplayer/index/index.css
new file mode 100644
index 0000000..6d7a720
--- /dev/null
+++ b/pages/plugins/weixinliveplayer/index/index.css
@@ -0,0 +1,93 @@
+/**
+ * 标题
+ */
+.player-title-icon {
+ width: 46rpx;
+ height: 44rpx;
+}
+
+/**
+* 数据列表
+*/
+.data-list .item image {
+ width: 208rpx;
+ height: 210rpx !important;
+}
+
+.live-content {
+ background: rgba(0, 0, 0, 0.2);
+ width: 40rpx;
+ height: 40rpx;
+ z-index: 1;
+}
+
+.live-action {
+ height: calc(100% - 20rpx);
+ padding: 10rpx 8rpx;
+}
+
+.live-1,
+.live-2,
+.live-3 {
+ width: 0;
+ border: 2rpx solid #fff;
+ height: 4rpx;
+ background-color: #fff;
+ border-radius: 6rpx 6rpx 0 0;
+}
+
+.live-1 {
+ animation: move 1s ease-in-out 0s infinite alternate;
+}
+
+.live-2 {
+ animation: move 1s ease-in-out 0.8s infinite alternate;
+}
+
+.live-3 {
+ animation: move 1s ease-in-out 0.4s infinite alternate;
+}
+
+@keyframes move {
+ 0% {
+ height: 4rpx;
+ }
+
+ 50% {
+ height: 20rpx;
+ }
+
+ 100% {
+ height: 10rpx;
+ }
+}
+
+.data-list .item .expire {
+ opacity: 0.7;
+}
+
+.data-list .item .base {
+ padding: 24rpx 24rpx 24rpx 16rpx;
+}
+
+.data-list .ite .status-0 {
+ color: #FFCACA;
+}
+
+.data-list .item .status-1 {
+ color: #FF6E51;
+}
+
+.data-list .item .status-2 {
+ color: #999999;
+}
+
+.data-list .item .status-3 {
+ color: #DDDDDD;
+}
+
+.data-list .item .status-4,
+.data-list .item .status-5,
+.data-list .item .status-6 {
+ color: #DDDDDD;
+}
\ No newline at end of file
diff --git a/pages/plugins/weixinliveplayer/index/index.vue b/pages/plugins/weixinliveplayer/index/index.vue
new file mode 100644
index 0000000..ab56414
--- /dev/null
+++ b/pages/plugins/weixinliveplayer/index/index.vue
@@ -0,0 +1,209 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{$t('index.index.63g4m1')}}
+
+ {{$t('common.more')}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.name}}
+
+
+
+ {{item.start_time}} - {{item.end_time}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.status_name}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/plugins/weixinliveplayer/search/search.css b/pages/plugins/weixinliveplayer/search/search.css
new file mode 100644
index 0000000..1ec4bab
--- /dev/null
+++ b/pages/plugins/weixinliveplayer/search/search.css
@@ -0,0 +1,83 @@
+/*
+* 导航
+*/
+.nav {
+ height: 74rpx;
+ line-height: 74rpx;
+}
+
+.nav .item {
+ width: 20%;
+}
+
+/**
+* 数据列表
+*/
+.data-list .item image {
+ width: 208rpx;
+ height: 210rpx !important;
+}
+
+.live-content {
+ background: rgba(0, 0, 0, 0.2);
+ width: 40rpx;
+ height: 40rpx;
+ z-index: 1;
+}
+
+.live-action {
+ height: calc(100% - 20rpx);
+ padding: 10rpx 8rpx;
+}
+
+.live-1,
+.live-2,
+.live-3 {
+ width: 0;
+ border: 2rpx solid #fff;
+ height: 4rpx;
+ background-color: #fff;
+ border-radius: 6rpx 6rpx 0 0;
+}
+
+.live-1 {
+ animation: move 1s ease-in-out 0s infinite alternate;
+}
+
+.live-2 {
+ animation: move 1s ease-in-out 0.8s infinite alternate;
+}
+
+.live-3 {
+ animation: move 1s ease-in-out 0.4s infinite alternate;
+}
+
+.data-list .item .expire {
+ opacity: 0.7;
+}
+
+.data-list .item .base {
+ padding: 24rpx 24rpx 24rpx 16rpx;
+}
+
+.data-list .ite .status-0 {
+ color: #FFCACA;
+}
+
+.data-list .item .status-1 {
+ color: #FF6E51;
+}
+
+.data-list .item .status-2 {
+ color: #999999;
+}
+
+.data-list .item .status-3 {
+ color: #DDDDDD;
+}
+
+.data-list .item .status-4,
+.data-list .item .status-5,
+.data-list .item .status-6 {
+ color: #DDDDDD;
+}
\ No newline at end of file
diff --git a/pages/plugins/weixinliveplayer/search/search.vue b/pages/plugins/weixinliveplayer/search/search.vue
new file mode 100644
index 0000000..685d99f
--- /dev/null
+++ b/pages/plugins/weixinliveplayer/search/search.vue
@@ -0,0 +1,300 @@
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+ {{ item.start_time }} - {{ item.end_time }}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.status_name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/setup/setup.css b/pages/setup/setup.css
new file mode 100644
index 0000000..41557f0
--- /dev/null
+++ b/pages/setup/setup.css
@@ -0,0 +1,19 @@
+.panel-item .item:not(:first-child) {
+ border-top: 1px solid #f5f5f5 !important;
+}
+.user-avatar {
+ width: 80rpx;
+ height: 80rpx !important;
+}
+
+/**
+ * 多语言
+ */
+.popup-language {
+ height: 100vh;
+}
+
+.popup-language .list {
+ height: calc(100vh - 95rpx);
+ overflow-y: auto;
+}
\ No newline at end of file
diff --git a/pages/setup/setup.vue b/pages/setup/setup.vue
new file mode 100644
index 0000000..baa5a86
--- /dev/null
+++ b/pages/setup/setup.vue
@@ -0,0 +1,336 @@
+
+
+
+
+
+
+
+
+ {{ user.user_name_view || $t('login.login.6yfr9g') }}
+
+
+
+
+
+ {{ $t('setup.setup.x81v6d') }}
+ {{ user.mobile_security || '' }} {{ (user.mobile_security || null) == null ? $t('setup.setup.dfg4wf') : $t('setup.setup.j6skqh') }}
+
+
+ {{$t('setup.setup.5u59b1')}}
+ {{ user.email_security || '' }} {{ (user.email_security || null) == null ? $t('setup.setup.dfg4wf') : $t('setup.setup.j6skqh') }}
+
+
+ {{$t('setup.setup.v8438r')}}
+ {{ $t('setup.setup.j6skqh') }}
+
+
+
+
+
+
+
+
+ {{item.name}}
+ {{ $t('setup.setup.dfg4wf') }}
+
+
+
+
+ {{item.name}}
+
+ {{item.bind_nickname}}
+ {{ $t('setup.setup.87ytgh') }}
+
+
+
+
+
+
+
+ {{ $t('setup.setup.r7jz13') }}
+ {{ language }}
+
+
+
+
+
+
+ {{ $t('setup.setup.42mba7') }}
+ {{ $t('setup.setup.5eltza') }}
+
+
+ {{ $t('setup.setup.t60222') }}
+ {{ $t('setup.setup.izg78g') }}
+
+
+
+
+
+
+
+
+ {{ $t('setup.setup.377uwg') }}
+ {{ $t('setup.setup.5eltza') }}
+
+
+
+ {{ $t('setup.setup.5493ui') }}
+ {{ $t('setup.setup.f53166') }}
+
+
+ {{ $t('setup.setup.656fv1') }}
+ {{ common_app_customer_service_tel || '' }} {{ $t('setup.setup.f25wcx') }}
+
+
+ {{ $t('setup.setup.11k15d') }}
+ {{ $t('setup.setup.48r261') }}
+
+
+ {{ $t('setup.setup.tghrf2') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/user-address-save/user-address-save.css b/pages/user-address-save/user-address-save.css
new file mode 100644
index 0000000..2006c00
--- /dev/null
+++ b/pages/user-address-save/user-address-save.css
@@ -0,0 +1,159 @@
+/*
+* 表单
+*/
+.form-container .form-gorup .form-gorup-title {
+ width: 120rpx;
+ font-weight: 500;
+}
+
+/*
+* 三级联动
+*/
+.select-address {
+ box-sizing: border-box;
+ height: 70rpx;
+ line-height: 70rpx;
+ padding: 0 10rpx;
+}
+
+.select-address .section {
+ width: 33.33%;
+ box-sizing: border-box;
+}
+
+.select-address .section:not(:first-child) {
+ padding: 0 5rpx;
+}
+
+/**
+ * 地址信息
+ */
+.address-value {
+ padding-right: 110rpx;
+}
+
+.intelligent-identification .btn {
+ width: 96rpx;
+ height: 44rpx;
+ line-height: 44rpx;
+}
+
+/*
+* 身份信息
+*/
+.idcard-container .form-gorup-title {
+ width: 200rpx !important;
+}
+
+.idcard-container .form-upload-data .item .image {
+ width: 256rpx;
+ height: 170rpx;
+ border: 1px dashed #c2c2c2;
+}
+
+/**
+ * 地址编号搜索
+ */
+.code-search {
+ width: 220rpx;
+}
+
+.code-search .code-input {
+ width: 100% !important;
+ border-radius: 50rpx !important;
+ padding-right: 106rpx;
+}
+
+.code-search .code-input,
+.code-search .btn {
+ height: 50rpx !important;
+ min-height: 50rpx !important;
+ line-height: 48rpx !important;
+}
+
+.code-search .btn {
+ top: 0;
+ right: 0;
+ border-radius: 50rpx !important;
+ padding: 0 !important;
+ width: 100rpx !important;
+}
+
+/**
+ * 智能识别
+ */
+.intelligent-identification {
+ transition-property: height;
+ transition-duration: .3s;
+ will-change: height;
+}
+
+/**
+ * 别名
+ */
+.alias-title {
+ width: 100rpx;
+}
+
+.alias-btn {
+ width: 120rpx;
+ height: 48rpx;
+ line-height: 48rpx;
+ border-radius: 13px;
+ text-align: center;
+ margin-right: 24rpx;
+}
+
+.alias-add .input-alias {
+ height: 48rpx;
+ line-height: 48rpx;
+ width: 100% !important;
+ border-radius: 50rpx !important;
+ padding-left: 24rpx;
+ padding-right: 105rpx;
+}
+
+.alias-add .btn {
+ height: 48rpx !important;
+ min-height: 48rpx !important;
+ line-height: 48rpx !important;
+ top: 0;
+ right: 0;
+ border-radius: 50rpx !important;
+ padding: 0 !important;
+ width: 100rpx !important;
+}
+
+.alias-edit .btn {
+ margin: 0;
+ height: 48rpx !important;
+ min-height: 48rpx !important;
+ line-height: 48rpx !important;
+ padding: 0 24rpx;
+}
+
+.alias-edit .btn:first-child {
+ border-top-left-radius: 50rpx;
+ border-bottom-left-radius: 50rpx;
+}
+
+.alias-edit .btn:last-child {
+ border-top-right-radius: 50rpx;
+ border-bottom-right-radius: 50rpx;
+}
+
+.default-title {
+ width: 200rpx !important;
+}
+
+.label-edit-right {
+ padding-right: 130rpx;
+}
+
+/**
+ * 底部保存按钮
+ */
+.bottom-line-exclude .btn {
+ height: 88rpx;
+ line-height: 88rpx;
+}
\ No newline at end of file
diff --git a/pages/user-address-save/user-address-save.vue b/pages/user-address-save/user-address-save.vue
new file mode 100644
index 0000000..947a50c
--- /dev/null
+++ b/pages/user-address-save/user-address-save.vue
@@ -0,0 +1,861 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/user-address/user-address.css b/pages/user-address/user-address.css
new file mode 100644
index 0000000..ea1b323
--- /dev/null
+++ b/pages/user-address/user-address.css
@@ -0,0 +1,22 @@
+.default-address {
+ display: inline-block;
+ padding: 0 10rpx;
+ height: 32rpx;
+ line-height: 32rpx;
+ background: #FFEFC2;
+ color: #B77717;
+}
+
+.address-alias {
+ display: inline-block;
+ padding: 0 10rpx;
+ height: 32rpx;
+ line-height: 32rpx;
+}
+
+/**
+ * 底部按钮
+ */
+.bottom-fixed .submit-list .btn {
+ width: calc(50% - 10rpx);
+}
\ No newline at end of file
diff --git a/pages/user-address/user-address.vue b/pages/user-address/user-address.vue
new file mode 100644
index 0000000..883cb8c
--- /dev/null
+++ b/pages/user-address/user-address.vue
@@ -0,0 +1,349 @@
+
+
+
+
+
+
+
+ {{$t('user-address.user-address.e8qg73')}}
+ {{ item.alias }}
+
+ {{ item.province_name || '' }}{{ item.city_name || '' }}{{ item.county_name || '' }}{{ item.address || '' }}
+
+
+
+ {{ item.name }}
+ {{ item.tel }}
+ {{$t('extraction-switch.extraction-switch.w94x36')}}{{ item.distance_value }}{{ item.distance_unit }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/user-favor/user-favor.css b/pages/user-favor/user-favor.css
new file mode 100644
index 0000000..3744111
--- /dev/null
+++ b/pages/user-favor/user-favor.css
@@ -0,0 +1,8 @@
+.goods-base {
+ min-height: 160rpx;
+ margin-left: 180rpx;
+}
+.goods-image {
+ width: 160rpx;
+ height: 160rpx;
+}
\ No newline at end of file
diff --git a/pages/user-favor/user-favor.vue b/pages/user-favor/user-favor.vue
new file mode 100644
index 0000000..b0162e8
--- /dev/null
+++ b/pages/user-favor/user-favor.vue
@@ -0,0 +1,329 @@
+
+
+
+
+
+
+
+
+ {{item.title}}
+
+
+ {{item.show_price_symbol}}{{item.price}}
+ {{item.show_price_unit}}
+
+ {{item.show_price_symbol}}{{item.original_price}}{{item.show_original_price_unit}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/user-goods-browse/user-goods-browse.css b/pages/user-goods-browse/user-goods-browse.css
new file mode 100644
index 0000000..3744111
--- /dev/null
+++ b/pages/user-goods-browse/user-goods-browse.css
@@ -0,0 +1,8 @@
+.goods-base {
+ min-height: 160rpx;
+ margin-left: 180rpx;
+}
+.goods-image {
+ width: 160rpx;
+ height: 160rpx;
+}
\ No newline at end of file
diff --git a/pages/user-goods-browse/user-goods-browse.vue b/pages/user-goods-browse/user-goods-browse.vue
new file mode 100644
index 0000000..dc8455f
--- /dev/null
+++ b/pages/user-goods-browse/user-goods-browse.vue
@@ -0,0 +1,364 @@
+
+
+
+
+
+
+
+
+ {{item.title}}
+
+
+ {{item.show_price_symbol}}{{item.price}}
+ {{item.show_price_unit}}
+
+ {{item.show_price_symbol}}{{item.original_price}}{{item.show_original_price_unit}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/user-goods-comments-form/user-goods-comments-form.css b/pages/user-goods-comments-form/user-goods-comments-form.css
new file mode 100644
index 0000000..6e9119e
--- /dev/null
+++ b/pages/user-goods-comments-form/user-goods-comments-form.css
@@ -0,0 +1,11 @@
+.avatar {
+ width: 80rpx;
+ height: 80rpx;
+}
+.input-height {
+ min-height: 200rpx;
+}
+.sub-btn .btn {
+ height: 88rpx;
+ line-height: 88rpx;
+}
\ No newline at end of file
diff --git a/pages/user-goods-comments-form/user-goods-comments-form.vue b/pages/user-goods-comments-form/user-goods-comments-form.vue
new file mode 100644
index 0000000..51fd871
--- /dev/null
+++ b/pages/user-goods-comments-form/user-goods-comments-form.vue
@@ -0,0 +1,223 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/user-goods-comments/user-goods-comments.css b/pages/user-goods-comments/user-goods-comments.css
new file mode 100644
index 0000000..274603e
--- /dev/null
+++ b/pages/user-goods-comments/user-goods-comments.css
@@ -0,0 +1,4 @@
+.goods-img {
+ width: 40rpx;
+ height: 40rpx;
+}
\ No newline at end of file
diff --git a/pages/user-goods-comments/user-goods-comments.vue b/pages/user-goods-comments/user-goods-comments.vue
new file mode 100644
index 0000000..c6c26ef
--- /dev/null
+++ b/pages/user-goods-comments/user-goods-comments.vue
@@ -0,0 +1,280 @@
+
+
+
+
+
+
+
+ {{ item.add_time_time }}
+ {{ item.rating_text }}
+
+
+
+
+ {{$t('user-order-detail.user-order-detail.7f8p26')}}
+
+
+ {{ item.goods.title }}
+
+
+
+
+
+ {{ fv.name }}
+ {{ item[fv.field] || '' }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/user-integral/user-integral.css b/pages/user-integral/user-integral.css
new file mode 100644
index 0000000..dc4f967
--- /dev/null
+++ b/pages/user-integral/user-integral.css
@@ -0,0 +1,8 @@
+.points-integral .list {
+ border-bottom: 2rpx solid #eee;
+ padding: 30rpx 0;
+}
+
+.points-integral .list:last-of-type {
+ border: 0;
+}
\ No newline at end of file
diff --git a/pages/user-integral/user-integral.vue b/pages/user-integral/user-integral.vue
new file mode 100644
index 0000000..8437b2d
--- /dev/null
+++ b/pages/user-integral/user-integral.vue
@@ -0,0 +1,191 @@
+
+
+
+
+
+
+
+ {{$t('index.index.srd2ch')}}{{item.original_integral}}
+ /{{$t('goods-category.goods-category.5p4ksj')}}{{item.new_integral}}
+
+ {{item.add_time_time}}
+
+
+ {{item.msg}}
+ {{item.type == 1 ? '+' : '-'}} {{item.operation_integral}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/user-order-comments/user-order-comments.css b/pages/user-order-comments/user-order-comments.css
new file mode 100644
index 0000000..f3c1e6b
--- /dev/null
+++ b/pages/user-order-comments/user-order-comments.css
@@ -0,0 +1,21 @@
+.goods-image {
+ width: 80rpx;
+ height: 80rpx;
+}
+.item-base .xingxing-icon {
+ width: 60rpx;
+ height: 60rpx;
+ margin: 0 15rpx;
+}
+.form-content textarea {
+ height: 160rpx !important;
+ min-height: 160rpx !important;
+}
+.form-container-upload .form-upload-data image {
+ width: 100rpx;
+ height: 100rpx;
+}
+.form-container-upload .upload-icon {
+ width: 110rpx;
+ height: 110rpx;
+}
\ No newline at end of file
diff --git a/pages/user-order-comments/user-order-comments.vue b/pages/user-order-comments/user-order-comments.vue
new file mode 100644
index 0000000..0f99100
--- /dev/null
+++ b/pages/user-order-comments/user-order-comments.vue
@@ -0,0 +1,421 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/user-order-detail/user-order-detail.css b/pages/user-order-detail/user-order-detail.css
new file mode 100644
index 0000000..e71eaec
--- /dev/null
+++ b/pages/user-order-detail/user-order-detail.css
@@ -0,0 +1,66 @@
+/*
+* 地址信息
+*/
+.address-detail .icon {
+ width: 30rpx;
+ height: 35rpx !important;
+}
+.address-detail .text {
+ width: calc(100% - 40rpx);
+}
+.address-detail .text {
+ line-height: 36rpx;
+}
+.no-address {
+ height: 85rpx;
+ line-height: 85rpx;
+}
+.address-alias,
+.address-map-submit {
+ padding: 0 15rpx;
+ line-height: 40rpx;
+}
+
+/*
+* 商品信息
+*/
+.goods-base {
+ min-height: 160rpx;
+ margin-left: 180rpx;
+}
+.goods .goods-item:last-child {
+ border-bottom: 0;
+}
+.goods-image {
+ width: 160rpx;
+ height: 160rpx;
+}
+.orderaftersale-btn-text {
+ right: 0;
+ bottom: 0;
+ z-index: 1;
+}
+
+/*
+* 虚拟销售信息
+*/
+.site-fictitious .panel-content .tips-value {
+ color: #f37b1d;
+ background-color: #fff2e9;
+ border-color: #ffebdb;
+}
+.site-fictitious .panel-content .left-image {
+ width: 80rpx;
+ height: 80rpx;
+}
+.site-fictitious .panel-content .right-value {
+ width: calc(100% - 100rpx);
+}
+
+/*
+* 自提信息
+*/
+.site-extraction .panel-content .qrcode {
+ width: 260rpx;
+ height: 260rpx;
+}
\ No newline at end of file
diff --git a/pages/user-order-detail/user-order-detail.vue b/pages/user-order-detail/user-order-detail.vue
new file mode 100644
index 0000000..78ea960
--- /dev/null
+++ b/pages/user-order-detail/user-order-detail.vue
@@ -0,0 +1,349 @@
+
+
+
+
+
+
+
+ {{ detail.address_data.alias }}
+ {{ detail.address_data.name }}
+ {{ detail.address_data.tel }}
+
+
+
+
+ {{ detail.address_data.province_name }}{{ detail.address_data.city_name }}{{ detail.address_data.county_name }}{{ detail.address_data.address }}
+ {{$t('user-order-detail.user-order-detail.7lp6gw')}}
+
+
+
+
+ {{detail.address_data.extraction_contact_name}}
+ {{detail.address_data.extraction_contact_tel}}
+
+ {{detail.address_data.appoint_time}}
+
+
+
+
+
+
+ {{$t('user-order-detail.user-order-detail.7f8p26')}}
+
+
+
+
+ {{ item.title }}
+
+
+ ;
+ {{ sv.value }}
+
+
+
+ {{ detail.currency_data.currency_symbol }}{{ item.price }}
+ x{{ item.buy_number }}
+
+ {{ item.orderaftersale_btn_text }}
+
+
+
+
+ {{$t('user-order-detail.user-order-detail.423rmr')}}{{ detail.buy_number_count }}{{$t('user-order-detail.user-order-detail.41ty94')}}{{ detail.currency_data.currency_symbol }}{{ detail.total_price }}
+
+
+
+
+
+ {{$t('user-order-detail.user-order-detail.567ygf')}}
+
+
+ {{$t('user-order-detail.user-order-detail.gsfw4d')}}
+ {{ detail.service_data.service_name }}
+
+
+ {{$t('user-order-detail.user-order-detail.6ygfew')}}
+
+ {{ detail.service_data.service_mobile }}
+ {{$t('common.copy')}}
+
+
+
+ {{$t('user-order-detail.user-order-detail.67ujfr')}}
+ {{ detail.service_data.service_duration_minute_text }}
+
+
+ {{$t('common.service_time')}}
+
+ {{ detail.service_data.service_start_time }}
+ {{ detail.service_data.service_end_time }}
+
+
+
+
+
+
+
+ {{ site_fictitious.title || $t('user-order-detail.user-order-detail.y9woor') }}
+
+
+
+
+
+
+
+ {{item.spec_text}}
+
+ {{$t('user-order-detail.user-order-detail.7xtnjt')}}
+
+
+
+
+
+
+
+ {{$t('user-order-detail.user-order-detail.7dikfm')}}
+
+
+
+ {{$t('user-order-detail.user-order-detail.o38952')}}
+ {{ detail.extraction_data.code || $t('user-order-detail.user-order-detail.hpq62x') }}
+
+
+
+
+
+
+ {{$t('user-order-detail.user-order-detail.0f26j2')}}
+
+
+ {{ item.name }}
+
+ {{ item.value }}
+ {{$t('common.copy')}}
+
+ {{ item.value }}
+
+
+
+
+
+
+ {{$t('user-order-detail.user-order-detail.0876xf')}}
+
+
+
+ {{$t('user-order-detail.user-order-detail.12d445')}}
+ {{item.express_name}}
+
+
+ {{$t('user-order-detail.user-order-detail.2byl8l')}}
+
+ {{item.express_number}}
+ {{$t('common.copy')}}
+
+
+
+ {{$t('common.note')}}:
+ {{item.note}}
+
+
+
+
+
+
+
+ {{$t('user-order-detail.user-order-detail.ct34n5')}}
+
+
+ {{ item.name }}
+ :{{ item.tips }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/user-order/user-order.css b/pages/user-order/user-order.css
new file mode 100644
index 0000000..fcdbe4f
--- /dev/null
+++ b/pages/user-order/user-order.css
@@ -0,0 +1,50 @@
+/*
+* 导航
+*/
+.nav-base .item {
+ width: 16.66%;
+}
+
+.order-scroll {
+ height: calc(100vh - 80rpx);
+}
+
+/*
+* 列表
+*/
+.goods-base {
+ min-height: 160rpx;
+ margin-left: 180rpx;
+}
+
+.goods-image {
+ width: 160rpx;
+ height: 160rpx;
+}
+
+.warehouse-group-icon {
+ width: 30rpx;
+ height: 30rpx;
+}
+
+.orderaftersale-btn-text {
+ right: 0;
+ bottom: 0;
+ z-index: 1;
+}
+
+/**
+* 支付方式
+*/
+.payment-list .item {
+ width: 50%;
+}
+
+.payment-list .item-content {
+ padding: 20rpx 10rpx;
+}
+
+.payment-list .item-content image {
+ width: 50rpx;
+ height: 50rpx !important;
+}
\ No newline at end of file
diff --git a/pages/user-order/user-order.vue b/pages/user-order/user-order.vue
new file mode 100644
index 0000000..4e93e2c
--- /dev/null
+++ b/pages/user-order/user-order.vue
@@ -0,0 +1,830 @@
+
+
+
+
+
+ {{ item.name }}
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.warehouse_name }}
+
+ {{ item.status_name }}({{ item.is_under_line_text }})
+
+
+
+
+
+ {{ detail.title }}
+
+
+ ;
+ {{ sv.value }}
+
+
+
+ {{ item.currency_data.currency_symbol }}{{ detail.price }}
+ x{{ detail.buy_number }}
+
+ {{
+ detail.orderaftersale_btn_text
+ }}
+
+
+
+
+ {{$t('user-order-detail.user-order-detail.423rmr')}}{{ item.buy_number_count }}{{$t('user-order-detail.user-order-detail.41ty94')}}{{ item.currency_data.currency_symbol }}{{ item.total_price }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/user-orderaftersale-detail/user-orderaftersale-detail.css b/pages/user-orderaftersale-detail/user-orderaftersale-detail.css
new file mode 100644
index 0000000..7327131
--- /dev/null
+++ b/pages/user-orderaftersale-detail/user-orderaftersale-detail.css
@@ -0,0 +1,63 @@
+/**
+* 商品
+*/
+.goods-base {
+ min-height: 160rpx;
+ margin-left: 180rpx;
+}
+.goods-image {
+ width: 160rpx;
+ height: 160rpx;
+}
+.buy-number {
+ right: 0;
+ bottom: 0;
+}
+
+/**
+* 类型选择
+*/
+.choose-type .choose-item {
+ width: calc(50% - 60rpx);
+ -webkit-transition: border-color .2s ease-in;
+ -moz-transition: border-color .2s ease-in;
+ -ms-transition: border-color .2s ease-in;
+ -o-transition: border-color .2s ease-in;
+ transition: border-color .2s ease-in;
+}
+
+/*
+* 售后信息
+*/
+.msg-tips {
+ background: #caecff;
+ color: #0090dc;
+}
+.msg-tips-warning {
+ background-color: #ffe1ca;
+ color: #f37b1d;
+}
+.msg-tips-success {
+ background-color: #c0efbf;
+ color: #1AAD19;
+}
+.msg-tips-danger {
+ background-color: #ffe0de;
+ color: #dd514c;
+}
+.msg-tips .msg-a {
+ color: #d2354c;
+}
+.msg-tips-danger .msg-a {
+ color: #136ed9;
+}
+
+/*
+* 退货地址
+*/
+.msg-tips button {
+ height: 60rpx;
+ line-height: 60rpx;
+ padding: 0 20rpx;
+ font-size: 24rpx;
+}
\ No newline at end of file
diff --git a/pages/user-orderaftersale-detail/user-orderaftersale-detail.vue b/pages/user-orderaftersale-detail/user-orderaftersale-detail.vue
new file mode 100644
index 0000000..51bc20b
--- /dev/null
+++ b/pages/user-orderaftersale-detail/user-orderaftersale-detail.vue
@@ -0,0 +1,830 @@
+
+
+
+
+
+
+
+
+
+ {{ order_data.items.title }}
+
+
+ ;
+ {{ sv.value }}
+
+
+
+ {{ order_data.currency_data.currency_symbol }}{{ order_data.items.price }}
+ x{{ order_data.items.buy_number }}
+
+
+
+
+
+
+
+
+ {{ plugins_intellectstools_data.service_msg }}
+
+
+
+
+
+
+
+ {{ new_aftersale_data.tips_msg.title }}
+ {{$t('common.view_text')}} >>
+
+
+
+
+
+
+
+ {{$t('user-orderaftersale-detail.user-orderaftersale-detail.00je4f')}}
+
+
+ {{ return_goods_address.name }}
+ {{ return_goods_address.tel }}
+
+ {{ return_goods_address.address }}
+
+
+
+
+
+ {{ new_aftersale_data.tips_msg.title }}
+ {{$t('common.view_text')}} >>
+
+
+
+
+
+
+ {{$t('invoice-detail.invoice-detail.s70kj4')}}
+
+
+ {{ item.name }}
+
+ {{ new_aftersale_data[item.field] || '' }}
+ {{$t('common.copy')}}
+
+ {{ new_aftersale_data[item.field] || '' }}
+
+
+
+
+
+
+ {{$t('user-order-detail.user-order-detail.0876xf')}}
+
+
+ {{ item.name }}
+ {{ new_aftersale_data[item.field] || "" }}
+
+
+
+
+
+
+ {{$t('user-orderaftersale-detail.user-orderaftersale-detail.4y2c1l')}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.name }}
+ {{ item.desc }}
+
+
+
+
+
+
+
+ {{$t('user-orderaftersale-detail.user-orderaftersale-detail.bprwq9')}}*
+
+
+ {{ form_reason_index == null ? $t("user-orderaftersale-detail.user-orderaftersale-detail.21icul") : reason_data_list[form_reason_index] }}
+
+
+
+
+
+ {{$t('user-orderaftersale-detail.user-orderaftersale-detail.85pnkf')}}{{$t('user-orderaftersale-detail.user-orderaftersale-detail.84upo4')}}{{ returned_data.returned_quantity }}
+
+
+
+
+ {{$t('order-detail.order-detail.v52n5r')}}{{$t('user-orderaftersale-detail.user-orderaftersale-detail.1252if')}}{{ returned_data.refund_price }}
+
+
+
+
+ {{$t('user-orderaftersale-detail.user-orderaftersale-detail.9p6b1y')}}
+
+
+
+
+ {{$t('user-orderaftersale-detail.user-orderaftersale-detail.4y9355')}}{{$t('user-orderaftersale-detail.user-orderaftersale-detail.1l42ms')}}
+
+
+
+ x
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{$t('invoice-detail.invoice-detail.2000a0')}}*
+
+
+
+ {{$t('user-order-detail.user-order-detail.2byl8l')}}*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/user-orderaftersale/user-orderaftersale.css b/pages/user-orderaftersale/user-orderaftersale.css
new file mode 100644
index 0000000..d6ded5c
--- /dev/null
+++ b/pages/user-orderaftersale/user-orderaftersale.css
@@ -0,0 +1,27 @@
+/*
+* 导航
+*/
+.nav-base .item {
+ width: 14.28%;
+}
+
+/*
+* 列表
+*/
+.goods-base {
+ min-height: 160rpx;
+ margin-left: 180rpx;
+}
+.goods-title {
+ line-height: 36rpx;
+}
+.list-item .goods-item:not(:last-child) {
+ border-bottom: 1px dashed #efefef;
+}
+.goods-item {
+ padding: 20rpx 10rpx;
+}
+.goods-image {
+ width: 160rpx;
+ height: 160rpx;
+}
\ No newline at end of file
diff --git a/pages/user-orderaftersale/user-orderaftersale.vue b/pages/user-orderaftersale/user-orderaftersale.vue
new file mode 100644
index 0000000..327b421
--- /dev/null
+++ b/pages/user-orderaftersale/user-orderaftersale.vue
@@ -0,0 +1,368 @@
+
+
+
+
+
+ {{ item.name }}
+ {{ item.name }}
+
+
+
+
+
+
+
+
+ {{ item.add_time }}
+ {{ item.status_text }}
+
+
+
+
+ {{ item.order_data.items.title }}
+
+
+ ;
+ {{ sv.value }}
+
+
+
+ {{ item.order_data.currency_data.currency_symbol }}{{ item.order_data.items.price }}
+ x{{ item.order_data.items.buy_number }}
+
+
+
+
+ {{ item.type_text }}
+ /
+ {{ item.reason }}
+
+ /
+ {{ item.order_data.currency_data.currency_symbol }}{{ item.price }}
+
+
+ /
+ {{ item.number }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/user/user.css b/pages/user/user.css
new file mode 100644
index 0000000..7ea4f71
--- /dev/null
+++ b/pages/user/user.css
@@ -0,0 +1,156 @@
+/**
+ * 顶部内容
+ */
+.top-content {
+ background-repeat: no-repeat;
+ background-size: 100% auto;
+ width: 100%;
+ min-height: 300rpx;
+}
+.top-content .content .user-top {
+ /* #ifdef MP-WEIXIN || MP-BAIDU || MP-QQ || MP-KUAISHOU || MP-ALIPAY || H5 || APP */
+ padding-top: var(--status-bar-height);
+ /* #endif */
+}
+
+/**
+ * 头部
+ */
+.head-base {
+ padding: 40rpx 40rpx 22rpx 40rpx;
+ /* #ifdef MP-WEIXIN || MP-BAIDU || MP-QQ || MP-KUAISHOU || MP-ALIPAY || H5 || APP */
+ padding-top: 120rpx;
+ /* #endif */
+}
+.head-base .head-id {
+ height: 36rpx;
+ line-height: 36rpx;
+ background: linear-gradient(90deg, #FFE3DC 0%, #FF9F67 100%);
+}
+.head-avatar {
+ width: 116rpx;
+ height: 116rpx !important;
+}
+.head-base .base-info {
+ max-width: 340rpx;
+}
+
+/**
+ * 头部右上角
+ */
+.head-right {
+ z-index: 10;
+}
+.head-right .item .badge-icon {
+ top: -10px;
+ right: -2px;
+}
+
+/**
+ * 会员码
+ */
+.qrcode-content {
+ height: 108rpx;
+ line-height: 108rpx;
+ background-size: 100% 100%;
+ color: #FEF6CF;
+}
+.qrcode-content.divider-r::after {
+ right: 50%;
+ height: 30%;
+ background: #FEF6CF;
+}
+.qrcode .icon {
+ width: 48rpx;
+ margin-right: 18rpx;
+ position: relative;
+ top: 6rpx;
+}
+.qrcode .iconfont {
+ top: calc(50% - 10rpx);
+ right: 48rpx;
+}
+
+/**
+ * 底部内容
+ */
+.user-bottom {
+ padding: 20rpx 24rpx;
+ border-radius: 8px 8px 0px 0px;
+}
+
+.user-bottom.box-shadow {
+ box-shadow: 0px -8px 8px 2px rgba(0, 0, 0, 0.2);
+}
+
+/**
+ * 行内导航列表
+ */
+.nav-content .nav-all-order-goods {
+ width: 138rpx;
+ padding: 16rpx 16rpx 16rpx 12rpx;
+}
+.nav-content .nav-all-order-goods::before {
+ content: '';
+ width: 26rpx;
+ height: 130rpx;
+ background-image: url(data:image/png;base64,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);
+ background-size: 100% auto;
+ background-repeat: no-repeat;
+ background-position: center left;
+ position: absolute;
+ left: -10rpx;
+ top: 50%;
+ transform: translateY(-50%);
+}
+.nav-list .nav-item {
+ box-sizing: border-box;
+}
+.nav-list .nav-item .item-icon {
+ width: 40rpx;
+ height: 40rpx;
+}
+.nav-list .nav-item .item-desc {
+ margin-right: 50rpx;
+ margin-top: 2rpx;
+ width: calc(100% - 300rpx);
+}
+.nav-list .nav-item .item-arrow {
+ width: 25rpx;
+}
+.nav-list-sub {
+ padding: 16rpx 16rpx 16rpx 0;
+}
+.nav-content .nav-all-order-goods .item .item-icon,
+.nav-list-sub .item .item-icon {
+ width: 56rpx;
+ height: 56rpx;
+}
+.nav-list-sub .item .badge-icon {
+ top: -2px;
+ left: calc(50% + 35rpx);
+ z-index: 1;
+}
+
+/**
+ * 聚合导航
+ */
+.nav-box .nav-item {
+ box-sizing: border-box;
+ width: 25%;
+}
+.nav-box .nav-item .item-icon {
+ width: 52rpx;
+ height: 52rpx !important;
+}
+.nav-box .nav-item .item-desc {
+ margin-right: 50rpx;
+ margin-top: 2rpx;
+ width: calc(100% - 300rpx);
+}
+.service-nav .show-type-submit {
+ width: 50rpx;
+ height: 50rpx !important;
+ top: 18rpx;
+ right: 20rpx;
+}
\ No newline at end of file
diff --git a/pages/user/user.vue b/pages/user/user.vue
new file mode 100644
index 0000000..b39fcb0
--- /dev/null
+++ b/pages/user/user.vue
@@ -0,0 +1,546 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ nickname }}
+
+ ID
+ {{ user.number_code }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.count }}
+ {{ item.name }}
+
+
+
+
+
+
+
+
+ {{ $t('member-code.member-code.26bu38') }}
+
+
+
+
+ {{ $t('user.user.91h03v') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ items.name }}
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.name }}
+ {{ item.desc }}
+
+
+
+
+
+
+
+ {{ nav_logout_data.name }}
+
+
+
+
+
+
+ {{ $t('user.user.ki1nor') }}
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+ {{ nav_logout_data.name }}
+
+
+
+
+ {{ $t('user.user.ki1nor') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/web-view/web-view.vue b/pages/web-view/web-view.vue
new file mode 100644
index 0000000..418475f
--- /dev/null
+++ b/pages/web-view/web-view.vue
@@ -0,0 +1,58 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/static/icon/iconfont.css b/static/icon/iconfont.css
new file mode 100644
index 0000000..49e03bb
--- /dev/null
+++ b/static/icon/iconfont.css
@@ -0,0 +1,834 @@
+@font-face {
+ font-family: "iconfont"; /* Project id 4227145 */
+ src:
+ url('data:font/ttf;charset=utf-8;base64,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5sYAAObGAAAAowAA5scAAObHAAAAsAAA5sgAAObIAAAArwAA5skAAObJAAAArgAA5soAAObKAAAArAAA5ssAAObLAAAArQAA5s0AAObNAAAAqwAA5s4AAObOAAAAnQAA5s8AAObPAAAAqQAA5tAAAObQAAAAqgAA5tIAAObSAAAApgAA5tMAAObTAAAApwAA5tQAAObUAAAAqAAA5tUAAObVAAAApAAA5tYAAObWAAAApQAA5tcAAObXAAAAogAA5tgAAObYAAAAoQAA5tkAAObZAAAAoAAA5toAAObaAAAAngAA5tsAAObbAAAAnwAA5twAAObcAAAAnAAA5t0AAObdAAAAmwAA5t4AAObeAAAAmQAA5t8AAObfAAAAmgAA5uAAAObgAAAAlwAA5uEAAObhAAAAmAAA5uIAAObiAAAAlgAA5uMAAObjAAAAlQAA5uQAAObkAAAAlAAA5uUAAOblAAAAkwAA5uYAAObmAAAAkgAA5ucAAObnAAAAjgAA5ugAAOboAAAAjwAA5ukAAObpAAAAkAAA5uoAAObqAAAAkQAA5usAAObrAAAAjQAA5uwAAObsAAAAjAAA5u0AAObtAAAAigAA5u4AAObuAAAAiwAA5u8AAObvAAAAhwAA5vAAAObwAAAAiAAA5vEAAObxAAAAiQAA5vIAAObyAAAAegAA5vMAAObzAAAAhgAA5wcAAOcHAAAAIAAA5xcAAOcXAAAAggAA5xgAAOcYAAAAgwAA5xkAAOcZAAAAhAAA5xoAAOcaAAAAhQAA5xsAAOcbAAAAfwAA5xwAAOccAAAAgAAA5x0AAOcdAAAAgQAA5x4AAOceAAAAfgAA5x8AAOcfAAAAfQAA5yAAAOcgAAAASQAA5ykAAOcpAAAAfAAA5ysAAOcrAAAAXAAA5y0AAOctAAAAIQAA5zcAAOc3AAAASAAA5zgAAOc4AAAARgAA5z8AAOc/AAAARwAA50EAAOdBAAAAWwAA50UAAOdFAAAAcAAA50oAAOdKAAAAbAAA51IAAOdSAAAALgAA51MAAOdTAAAALwAA51QAAOdUAAAAKAAA51UAAOdVAAAAJQAA51YAAOdWAAAAJgAA51cAAOdXAAAAJwAA51gAAOdYAAAAKQAA51kAAOdZAAAAKgAA51oAAOdaAAAAKwAA51sAAOdbAAAALAAA51wAAOdcAAAALQAA510AAOddAAAAMAAA518AAOdfAAAAMQAA52AAAOdgAAAAMgAA52EAAOdhAAAAMwAA52IAAOdiAAAANAAA52MAAOdjAAAANQAA52QAAOdkAAAANgAA52UAAOdlAAAANwAA52YAAOdmAAAAOAAA52cAAOdnAAAAOQAA52gAAOdoAAAAOgAA52kAAOdpAAAAOwAA52oAAOdqAAAAPAAA52sAAOdrAAAAPQAA52wAAOdsAAAAPgAA520AAOdtAAAAPwAA524AAOduAAAAQAAA528AAOdvAAAAQQAA53EAAOdxAAAAdwAA53IAAOdyAAAAQgAA53MAAOdzAAAAQwAA53QAAOd0AAAARAAA53UAAOd1AAAARQAA53YAAOd2AAAASgAA53cAAOd3AAAASwAA53gAAOd4AAAAdgAA53kAAOd5AAAAIwAA53oAAOd6AAAATAAA53sAAOd7AAAATQAA53wAAOd8AAAATgAA530AAOd9AAAATwAA534AAOd+AAAAUAAA538AAOd/AAAAUQAA54AAAOeAAAAAUgAA54EAAOeBAAAAUwAA54IAAOeCAAAAVAAA54MAAOeDAAAAVQAA54QAAOeEAAAAVgAA54UAAOeFAAAAVwAA54YAAOeGAAAAXQAA54cAAOeHAAAAWAAA54gAAOeIAAAAWQAA54kAAOeJAAAAXgAA54oAAOeKAAAAXwAA54sAAOeLAAAAYAAA54wAAOeMAAAAYQAA540AAOeNAAAAYgAA544AAOeOAAAAYwAA548AAOePAAAAZAAA55AAAOeQAAAAZQAA55EAAOeRAAAAWgAA55IAAOeSAAAAZgAA55MAAOeTAAAAZwAA55QAAOeUAAAAaAAA55UAAOeVAAAAaQAA55YAAOeWAAAAagAA55cAAOeXAAAAbQAA55gAAOeYAAAAdQAA55kAAOeZAAAAbwAA55oAAOeaAAAAcQAA55sAAOebAAAAJAAA55wAAOecAAAAcgAA550AAOedAAAAcwAA554AAOeeAAAAIgAA558AAOefAAAAGwAA56AAAOegAAAAHgAA56EAAOehAAAAHQAA56IAAOeiAAAAHAAA56MAAOejAAAAGQAA56QAAOekAAAAGgAA56UAAOelAAAAGAAA56YAAOemAAAAFwAA56cAAOenAAAAFQAA56gAAOeoAAAAFgAA56kAAOepAAAAEwAA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AXsBfAF9AX4BfwGAAYEBggGDAYQBhQGGAYcBiAGJAYoBiwGMAY0BjgGPAZABkQGSAZMBlAGVAZYBlwGYAZkBmgGbAZwBnQGeAZ8BoAGhAaIBowGkAaUBpgGnAagBqQGqAasBrAGtAa4BrwGwAbEBsgGzAbQBtQG2AbcBuAG5AboBuwG8Ab0BvgG/AcABwQHCAcMBxAHFAcYBxwHIAckBygHLAcwBzQHOAc8ABmNhbWVyYQpsZWZ0LWFycm93Emhpc3RvcmljYWwtcmVjb3JkcwtyaWdodC1hcnJvdwhncm91cGluZxBtb3JlLWZvdXItcGllY2VzC2xpc3Qtd2lkZ2V0CnNldHRsZW1lbnQKdXNlci1ncm91cApzaG9wLXNldHVwEHRyaWFuZ2xlLWxldmVsLTMJbG9nLWNoZWNrCm1lbnUtc2V0dXAKbGlzdC1hbmdsZQpsaXN0LXNldHVwCGRvd24tZ2FwFWFycm93LXJpZ2h0LWJnLXJhZGl1cwZtYXJnaW4NbWVudS1jYXRlZ29yeQxtYXAtbG9jYXRpb24HdW5pZmllZAVhbG9uZQRjaGF0FGFycm93LXJpZ2h0LWJnLXJvdW5kCGRlbGV0ZS1vBm1vcmUtbwVsYWJlbARmaXJlBnRvcC11cAlib3R0b20tdXAGZG9tYWluDGRvd25sb2FkLWJ0bgt1cGxvYWQtZmlsZQVwYW5lbARkb3duAnVwBGxlZnQFcmVzZXQKcmFkaXVzLWwtdAVyaWdodApyYWRpdXMtci1iDGFycm93LWJvdHRvbQhlbGxpcHRpYwVvdXQtdAdlbnRlci1yBHRpbGULc3ByZWFkLW92ZXIHZW50ZXItbAdlbnRlci1iBnNlYXJjaAZtaWRkbGUGY2VudGVyB2VudGVyLXQFY2xvc2UEZWRpdAR0ZXh0DmF1eGlsaWFyeS1saW5lA2ltZwVvdXQtbAVvdXQtYgNkZWwEZHJhZwVvdXQtcgpsaW5lLXBvaW50BWRlbC1vBGxpbmUMY2xvc2UtZmlsbHVwCnJhZGl1cy1yLXQKcmFkaXVzLWwtYglhcnJvdy10b3AKYXJyb3ctbGVmdAthcnJvdy1yaWdodANhZGQJZXllLWNsb3NlA2V5ZQZ0cnVlLW8JZXJyb3ItaW1nBmZvbGRlcgRmaWxlAnZmBXZpZGVvA3ppcANpcGEFZXhjZWwDdnNkA2FwawR3b3JkA3BkZgNwcHQEY2FydAR0cnVlBnVwbG9hZARzaHUyBWhlbmcyBWEtNHg0CHp1bzF5b3UyBHNodTMKc2hhbmcyeGlhMRR6dW8xeW91c2hhbmcxeW91eGlhMgpzaGFuZzF4aWEyCHRpYW56aWdlCnNoYW5nMnhpYTMIenVvMnlvdTEFYS0xZ2UDZXhlA3R4dA9hcnJvdy1yaWdodC1kYmwEdGlwcwZlZGl0LW8IZWxsaXBzaXMNYXJyb3ctcmlnaHQtbw1jbG9zZS1yb3VuZC1vCWEtbWlhb3NoYQZqaW56aGkGdHViaWFvCGNsZWFuaW5nBmJvZmFuZw5jaGVja2VkLXNtb290aAlnaWZ0LWZpbmUHZW5sYXJnZQxlbmxhcmdlLWZvdXIOZW5sYXJnZS1ib3JkZXINbWFwLW5hdmlnYXRvcglkb3duLW1hcmsGc2lnaC1vBGNvcHkOdHJhbnNmZXItY291bnQKY29sbGVjdGlvbgdjb252ZXJ0BGNhc2gIcmVjaGFyZ2UJY29udmVydC1vBmRldGFpbAVzdG9yZQRzdGFyCGxvY2F0aW9uB21lc3NhZ2UObG9naW4tbGFuZ3VhZ2UQbG9naW4tZG93bi1hcnJvdwZkZWxldGUHY2hlY2tlZBBtZW51LWNhcnQtZmlsbHVwEG1lbnUtdXNlci1maWxsdXAUbWVudS1jYXRlZ29yeS1maWxsdXAQbWVudS1ob21lLWZpbGx1cAxwYXltZW50LWZhaWwSa2V5Ym9hcmQtYmFja3NwYWNlCHRyYW5zZmVyCXd5dHctc2N0cAt0aW1pbmctdGltZQhiaWxsZm9sZAhsb2ctbGlzdA9lZGl0LWJlbG93LWxpbmUIbGlzdC1kb3QJZ2l2ZWFsaWtlBXNoYXJlDm1lc3NhZ2Utc3F1YXJlC2dpdmVhbGlrZS1vCGV5ZS1oYWxmCGNhcnQtYWRkCndkaHktZ2FvamkGcXJjb2RlCXdkZngtcHRmeAl3ZGZ4LWdqZngReHpkei10aWFuamlhYmlhb3EMeHpkei1kaW5nd2VpC3dkZHotYmlhbmppC2JqZHotZ3VhbmJpBHNjYW4Pd29kZXFpYW5iYW8tZXllD21lbmRpYW4tZGluZ3dlaQx6aGlmdS15aXh1YW4NemhpZnUtd2VpeHVhbgdjbG9zZS1vE2thaXRvbmdodWl5LWRpbmdkYW4MbWlhb3NoYS1oZGd6Cm1lbmRpYW4tc2MMbWVuZGlhbi1rZWZ1EnFpYW5kYW8tdGFuY2d1YW5iaQxzaGFyZS1zcXVhcmUMcWlhbmRhby13ZHFkDXFpYW5kYW8tenVkdWkRYXJyb3ctcmlnaHQtcm91bmQOcWlhbmRhby15aXh1YW4NemhpYm8tc2hpeGlhbwhjYXJ0LWRlYwhjYXJ0LWluYw1jYXRlZ29yeS1tb3JlCnpoaWJvLXRpbWUGcHAtYWxsDHBsYXllci1wYXVzZQpwbGF5ZXItZW5kA3RlbARzZW5kDXRlbC1iZy1zcXVhcmUOc2VuZC1iZy1zcXVhcmUEdGltZQttYXAtYWRkcmVzcwZub3RpY2UKc2VhcmNoLW1heAVzZXR1cARiZWxsCW1lbnUtdXNlcgltZW51LWhvbWUJbWVudS1jYXJ0AAAA') format('truetype');
+}
+
+.iconfont {
+ font-family: "iconfont" !important;
+ font-size: 16px;
+ font-style: normal;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+
+.icon-camera:before {
+ content: "\e7bb";
+}
+
+.icon-left-arrow:before {
+ content: "\e7b4";
+}
+
+.icon-historical-records:before {
+ content: "\e7b9";
+}
+
+.icon-right-arrow:before {
+ content: "\e7ba";
+}
+
+.icon-grouping:before {
+ content: "\e7d6";
+}
+
+.icon-more-four-pieces:before {
+ content: "\e7b8";
+}
+
+.icon-list-widget:before {
+ content: "\e7ad";
+}
+
+.icon-settlement:before {
+ content: "\e7ae";
+}
+
+.icon-user-group:before {
+ content: "\e7af";
+}
+
+.icon-shop-setup:before {
+ content: "\e7b0";
+}
+
+.icon-triangle-level-3:before {
+ content: "\e7b1";
+}
+
+.icon-log-check:before {
+ content: "\e7b2";
+}
+
+.icon-menu-setup:before {
+ content: "\e7b3";
+}
+
+.icon-list-angle:before {
+ content: "\e7b5";
+}
+
+.icon-list-setup:before {
+ content: "\e7b7";
+}
+
+.icon-down-gap:before {
+ content: "\e7ac";
+}
+
+.icon-arrow-right-bg-radius:before {
+ content: "\e7ab";
+}
+
+.icon-margin:before {
+ content: "\e7aa";
+}
+
+.icon-menu-category:before {
+ content: "\e7a9";
+}
+
+.icon-map-location:before {
+ content: "\e8ad";
+}
+
+.icon-unified:before {
+ content: "\e7a7";
+}
+
+.icon-alone:before {
+ content: "\e7a8";
+}
+
+.icon-chat:before {
+ content: "\e7a6";
+}
+
+.icon-arrow-right-bg-round:before {
+ content: "\e7a5";
+}
+
+.icon-delete-o:before {
+ content: "\e7a3";
+}
+
+.icon-more-o:before {
+ content: "\e7a4";
+}
+
+.icon-label:before {
+ content: "\e79f";
+}
+
+.icon-fire:before {
+ content: "\e7a2";
+}
+
+.icon-top-up:before {
+ content: "\e7a1";
+}
+
+.icon-bottom-up:before {
+ content: "\e7a0";
+}
+
+.icon-domain:before {
+ content: "\e7cf";
+}
+
+.icon-download-btn:before {
+ content: "\e707";
+}
+
+.icon-upload-file:before {
+ content: "\e72d";
+}
+
+.icon-panel:before {
+ content: "\e79e";
+}
+
+.icon-down:before {
+ content: "\e779";
+}
+
+.icon-up:before {
+ content: "\e79b";
+}
+
+.icon-left:before {
+ content: "\e755";
+}
+
+.icon-reset:before {
+ content: "\e756";
+}
+
+.icon-radius-l-t:before {
+ content: "\e757";
+}
+
+.icon-right:before {
+ content: "\e754";
+}
+
+.icon-radius-r-b:before {
+ content: "\e758";
+}
+
+.icon-arrow-bottom:before {
+ content: "\e759";
+}
+
+.icon-elliptic:before {
+ content: "\e75a";
+}
+
+.icon-out-t:before {
+ content: "\e75b";
+}
+
+.icon-enter-r:before {
+ content: "\e75c";
+}
+
+.icon-tile:before {
+ content: "\e752";
+}
+
+.icon-spread-over:before {
+ content: "\e753";
+}
+
+.icon-enter-l:before {
+ content: "\e75d";
+}
+
+.icon-enter-b:before {
+ content: "\e75f";
+}
+
+.icon-search:before {
+ content: "\e760";
+}
+
+.icon-middle:before {
+ content: "\e761";
+}
+
+.icon-center:before {
+ content: "\e762";
+}
+
+.icon-enter-t:before {
+ content: "\e763";
+}
+
+.icon-close:before {
+ content: "\e764";
+}
+
+.icon-edit:before {
+ content: "\e765";
+}
+
+.icon-text:before {
+ content: "\e766";
+}
+
+.icon-auxiliary-line:before {
+ content: "\e767";
+}
+
+.icon-img:before {
+ content: "\e768";
+}
+
+.icon-out-l:before {
+ content: "\e769";
+}
+
+.icon-out-b:before {
+ content: "\e76a";
+}
+
+.icon-del:before {
+ content: "\e76b";
+}
+
+.icon-drag:before {
+ content: "\e76c";
+}
+
+.icon-out-r:before {
+ content: "\e76d";
+}
+
+.icon-line-point:before {
+ content: "\e76e";
+}
+
+.icon-del-o:before {
+ content: "\e76f";
+}
+
+.icon-line:before {
+ content: "\e772";
+}
+
+.icon-close-fillup:before {
+ content: "\e773";
+}
+
+.icon-radius-r-t:before {
+ content: "\e774";
+}
+
+.icon-radius-l-b:before {
+ content: "\e775";
+}
+
+.icon-arrow-top:before {
+ content: "\e738";
+}
+
+.icon-arrow-left:before {
+ content: "\e73f";
+}
+
+.icon-arrow-right:before {
+ content: "\e737";
+}
+
+.icon-add:before {
+ content: "\e720";
+}
+
+.icon-eye-close:before {
+ content: "\e776";
+}
+
+.icon-eye:before {
+ content: "\e777";
+}
+
+.icon-true-o:before {
+ content: "\e77a";
+}
+
+.icon-error-img:before {
+ content: "\e77b";
+}
+
+.icon-folder:before {
+ content: "\e77c";
+}
+
+.icon-file:before {
+ content: "\e77d";
+}
+
+.icon-vf:before {
+ content: "\e77e";
+}
+
+.icon-video:before {
+ content: "\e77f";
+}
+
+.icon-zip:before {
+ content: "\e780";
+}
+
+.icon-ipa:before {
+ content: "\e781";
+}
+
+.icon-excel:before {
+ content: "\e782";
+}
+
+.icon-vsd:before {
+ content: "\e783";
+}
+
+.icon-apk:before {
+ content: "\e784";
+}
+
+.icon-word:before {
+ content: "\e785";
+}
+
+.icon-pdf:before {
+ content: "\e787";
+}
+
+.icon-ppt:before {
+ content: "\e788";
+}
+
+.icon-cart:before {
+ content: "\e791";
+}
+
+.icon-true:before {
+ content: "\e741";
+}
+
+.icon-upload:before {
+ content: "\e72b";
+}
+
+.icon-shu2:before {
+ content: "\e786";
+}
+
+.icon-heng2:before {
+ content: "\e789";
+}
+
+.icon-a-4x4:before {
+ content: "\e78a";
+}
+
+.icon-zuo1you2:before {
+ content: "\e78b";
+}
+
+.icon-shu3:before {
+ content: "\e78c";
+}
+
+.icon-shang2xia1:before {
+ content: "\e78d";
+}
+
+.icon-zuo1youshang1youxia2:before {
+ content: "\e78e";
+}
+
+.icon-shang1xia2:before {
+ content: "\e78f";
+}
+
+.icon-tianzige:before {
+ content: "\e790";
+}
+
+.icon-shang2xia3:before {
+ content: "\e792";
+}
+
+.icon-zuo2you1:before {
+ content: "\e793";
+}
+
+.icon-a-1ge:before {
+ content: "\e794";
+}
+
+.icon-exe:before {
+ content: "\e795";
+}
+
+.icon-txt:before {
+ content: "\e796";
+}
+
+.icon-arrow-right-dbl:before {
+ content: "\e7b6";
+}
+
+.icon-tips:before {
+ content: "\e74a";
+}
+
+.icon-edit-o:before {
+ content: "\e797";
+}
+
+.icon-ellipsis:before {
+ content: "\e635";
+}
+
+.icon-arrow-right-o:before {
+ content: "\e799";
+}
+
+.icon-close-round-o:before {
+ content: "\e745";
+}
+
+.icon-a-miaosha:before {
+ content: "\e79a";
+}
+
+.icon-jinzhi:before {
+ content: "\e79c";
+}
+
+.icon-tubiao:before {
+ content: "\e79d";
+}
+
+.icon-cleaning:before {
+ content: "\e64d";
+}
+
+.icon-bofang:before {
+ content: "\e798";
+}
+
+.icon-checked-smooth:before {
+ content: "\e778";
+}
+
+.icon-gift-fine:before {
+ content: "\e771";
+}
+
+.icon-enlarge:before {
+ content: "\e60d";
+}
+
+.icon-enlarge-four:before {
+ content: "\e602";
+}
+
+.icon-enlarge-border:before {
+ content: "\e6f2";
+}
+
+.icon-map-navigator:before {
+ content: "\10183";
+}
+
+.icon-down-mark:before {
+ content: "\e729";
+}
+
+.icon-sigh-o:before {
+ content: "\e71f";
+}
+
+.icon-copy:before {
+ content: "\e71e";
+}
+
+.icon-transfer-count:before {
+ content: "\e71b";
+}
+
+.icon-collection:before {
+ content: "\e71c";
+}
+
+.icon-convert:before {
+ content: "\e71d";
+}
+
+.icon-cash:before {
+ content: "\e717";
+}
+
+.icon-recharge:before {
+ content: "\e718";
+}
+
+.icon-convert-o:before {
+ content: "\e719";
+}
+
+.icon-detail:before {
+ content: "\e71a";
+}
+
+.icon-store:before {
+ content: "\e6f3";
+}
+
+.icon-star:before {
+ content: "\e6ef";
+}
+
+.icon-location:before {
+ content: "\e6f0";
+}
+
+.icon-message:before {
+ content: "\e6f1";
+}
+
+.icon-login-language:before {
+ content: "\e6ed";
+}
+
+.icon-login-down-arrow:before {
+ content: "\e6ee";
+}
+
+.icon-delete:before {
+ content: "\e6ec";
+}
+
+.icon-checked:before {
+ content: "\e6eb";
+}
+
+.icon-menu-cart-fillup:before {
+ content: "\e6e7";
+}
+
+.icon-menu-user-fillup:before {
+ content: "\e6e8";
+}
+
+.icon-menu-category-fillup:before {
+ content: "\e6e9";
+}
+
+.icon-menu-home-fillup:before {
+ content: "\e6ea";
+}
+
+.icon-payment-fail:before {
+ content: "\e6e6";
+}
+
+.icon-keyboard-backspace:before {
+ content: "\e6e5";
+}
+
+.icon-transfer:before {
+ content: "\e6e4";
+}
+
+.icon-wytw-sctp:before {
+ content: "\e6e3";
+}
+
+.icon-timing-time:before {
+ content: "\e6e2";
+}
+
+.icon-billfold:before {
+ content: "\e6e0";
+}
+
+.icon-log-list:before {
+ content: "\e6e1";
+}
+
+.icon-edit-below-line:before {
+ content: "\e6de";
+}
+
+.icon-list-dot:before {
+ content: "\e6df";
+}
+
+.icon-givealike:before {
+ content: "\e6dd";
+}
+
+.icon-share:before {
+ content: "\e6dc";
+}
+
+.icon-message-square:before {
+ content: "\e6ce";
+}
+
+.icon-givealike-o:before {
+ content: "\e6da";
+}
+
+.icon-eye-half:before {
+ content: "\e6db";
+}
+
+.icon-cart-add:before {
+ content: "\e6d9";
+}
+
+.icon-wdhy-gaoji:before {
+ content: "\e6d8";
+}
+
+.icon-qrcode:before {
+ content: "\e6d7";
+}
+
+.icon-wdfx-ptfx:before {
+ content: "\e6c6";
+}
+
+.icon-wdfx-gjfx:before {
+ content: "\e6d5";
+}
+
+.icon-xzdz-tianjiabiaoq:before {
+ content: "\e6d6";
+}
+
+.icon-xzdz-dingwei:before {
+ content: "\e6d2";
+}
+
+.icon-wddz-bianji:before {
+ content: "\e6d3";
+}
+
+.icon-bjdz-guanbi:before {
+ content: "\e6d4";
+}
+
+.icon-scan:before {
+ content: "\e6cf";
+}
+
+.icon-wodeqianbao-eye:before {
+ content: "\e6d0";
+}
+
+.icon-mendian-dingwei:before {
+ content: "\e6cd";
+}
+
+.icon-zhifu-yixuan:before {
+ content: "\e6ca";
+}
+
+.icon-zhifu-weixuan:before {
+ content: "\e6cb";
+}
+
+.icon-close-o:before {
+ content: "\e6c9";
+}
+
+.icon-kaitonghuiy-dingdan:before {
+ content: "\e6c8";
+}
+
+.icon-miaosha-hdgz:before {
+ content: "\e6c7";
+}
+
+.icon-mendian-sc:before {
+ content: "\e6c4";
+}
+
+.icon-mendian-kefu:before {
+ content: "\e6c5";
+}
+
+.icon-qiandao-tancguanbi:before {
+ content: "\e6c3";
+}
+
+.icon-share-square:before {
+ content: "\e6bd";
+}
+
+.icon-qiandao-wdqd:before {
+ content: "\e6be";
+}
+
+.icon-qiandao-zudui:before {
+ content: "\e6bf";
+}
+
+.icon-arrow-right-round:before {
+ content: "\e6c0";
+}
+
+.icon-qiandao-yixuan:before {
+ content: "\e6c1";
+}
+
+.icon-zhibo-shixiao:before {
+ content: "\e6bb";
+}
+
+.icon-cart-dec:before {
+ content: "\e6ba";
+}
+
+.icon-cart-inc:before {
+ content: "\e6b9";
+}
+
+.icon-category-more:before {
+ content: "\e6b7";
+}
+
+.icon-zhibo-time:before {
+ content: "\e6b3";
+}
+
+.icon-pp-all:before {
+ content: "\e6b4";
+}
+
+.icon-player-pause:before {
+ content: "\e6b5";
+}
+
+.icon-player-end:before {
+ content: "\e6b6";
+}
+
+.icon-tel:before {
+ content: "\e6b1";
+}
+
+.icon-send:before {
+ content: "\e6b2";
+}
+
+.icon-tel-bg-square:before {
+ content: "\e6ac";
+}
+
+.icon-send-bg-square:before {
+ content: "\e6ad";
+}
+
+.icon-time:before {
+ content: "\e6ae";
+}
+
+.icon-map-address:before {
+ content: "\e6af";
+}
+
+.icon-notice:before {
+ content: "\e6a8";
+}
+
+.icon-search-max:before {
+ content: "\e6a9";
+}
+
+.icon-setup:before {
+ content: "\e6a6";
+}
+
+.icon-bell:before {
+ content: "\e6a7";
+}
+
+.icon-menu-user:before {
+ content: "\e6a2";
+}
+
+.icon-menu-home:before {
+ content: "\e6a4";
+}
+
+.icon-menu-cart:before {
+ content: "\e6a3";
+}
+
diff --git a/static/images/black/tabbar/cart.png b/static/images/black/tabbar/cart.png
new file mode 100644
index 0000000000000000000000000000000000000000..064d042e6d35a06f29b720ccb2af4aa2af533dd5
GIT binary patch
literal 965
zcmeAS@N?(olHy`uVBq!ia0vp^Iv~u!3?wz9Rv9xeFy;mLgt!8^uCA`Z!NLCi{$5^Q
zKr$gA!O_t%Gcz+bHrCVA)7{-YE-nrzXk%j&9UX0LZJm;mVqswcl(Mq2N=ixsiUY~e
z&`_XwLqmg|on25+5KsZo%;e-`phlodAPMC9`ue)LxdGM3#KZu(PEJlhtAPgk`1k^A-U|=B70YJlnp#kv@kPBo0NpEj&pn*UwKyFxA7{nt$yMX2ceFt#{&~{*G0DTR#
z(Z$6DXtKGvInd=m+b75<9s!1UYDth^FvHceEj8>bH28o2dUase)V}tHoHR>wU1ecz
z)<3Tw-MzJW#)Ul~?-A-Me>dMKlAJ+}M8Kah>=(t(Vbtl|sL4elCCL>$rK-nm4yYk26m_
zHODts#wv2%l=lr$d#69$#Jl2J=-OW)$7eD2-F`i5%g=lJoyvaqAAWe@rP8hw^WA=3
zowH=0?CJFu^LmO4`TSy*oL8#)>#Q|TNx8ydyYjAiUYa|WJ)Y4NDJ$tOo_thdj*^Vb
z!`h~<%}u>xXB6&~o!ntP`}DI1Dbn$aEL#%a<}G+6^C*8$--2XyQE`F871m~#I{QNY
z1a*il+BEIN4f(S!#sy0rmm2*$qj6L1ae~xK`TWD@o?raf)3d+z$J&opZGCaCl07$P
zZhN-v;S0OA?XwgVcsHF$(7x91$6clMZBwO~-#$KD?qe?U*V3G(316^#FxAtb^aEqx
zhitZ_@SZKf3P;bV%v6z?bG3Xix5uXvl}uSV^9h32CjFdM$)<6EJ#UNJ;)^D0WVhOV
zXGmSYEYLP?&aK3y``VxX2(>Cm=@ObENE$*$VeUHy;siOG=@oj7j
hLykXZ3w6uQl&~g9#V!G+^pr@O1TaS?83{1OWX-iBSLm
literal 0
HcmV?d00001
diff --git a/static/images/black/tabbar/category.png b/static/images/black/tabbar/category.png
new file mode 100644
index 0000000000000000000000000000000000000000..f154eb0cf5fd5654efe82e2ac4b04f5e166e7415
GIT binary patch
literal 876
zcmeAS@N?(olHy`uVBq!ia0vp^Iv~u!3?wz9Rv81S{{cQBu0T2v45Ff<($dnryu6~L
zqeDYOot>SNl9DVeEP!k`H@D>EWOH-#l#~=8>FVlgZ*T7h20$%9k+`_HfPes?G9WuX
zJ|1Wu(43Hvkl^584-XHZI8a$cM1+%*lc}j`YHBJ_y|uNqiHQl&SfB!+E}#OSl#7cC
z&>T-sPoPCW?Pg|XiHV6pK|w&%fG$Z-PX~$s%?GNnv9SRfn2?YFWB_des)3jfG#2PQ
zpa@Vs(2+n-0qu&3i2)i8Gzw^!t*tH4M?mv|z5|+bE`7EXFbJGWg8YIRVimbqV`AlG
ze*WCIbIFp*%GlUY2VGrhZ|@)9zJ2=)1n+?0F%Vq5c;Uc-{d@Lo-@d&W2;$-*BO|>X
z94=m19i9RVX2zSIE{-7{=AUi8R7!p*+fe8#K^EF3TQe!n+4_OwKgq3WLho7c3Q
zSwHD@%#$5Ahwt?R?y{jBldvDoWw&hu&2!FjeT_e2MsE_S>9
zZfoZ2E25`t-xg{LR7b_?Zz+{)tu_g9oV!HH_X6LK4|8=U==xl9X?=9~z!TvgTdpV`
zovR?h!fe<0gtubzBfg`|-IWRV%3hrlQ`$DSOY*hBONsc+S^=p=cRkl@-Ah&TU68pl
zwo6|kd!yL=FRvKq<(!BQh{=_l(xN?co!7>lo2LqDZFXIB|JC#bAN+nDdDc|IJ^R$$
ziVFqu*MjP&&fIk-bk#Mvm>DVJ{|jbW-hDbv=AGE)AC*@O<7AIVZt6RD_4W4T9p6_c
zpIlmX;B?5^d(!+jepvGzuW>qe?90{MC4J}jvx%55JhtnP#_L_X1J?>miL`3B9WjvM
zlkMtuo-8wAbI8O;viG0JR&2k*cXZ!T9)o1-E@f^(cP{%+e>)yUIc+iTK&
zpQcx@*&XSy`m^%M>o0aGhCZ$`QPq!L6n0O%>h~MZoy#}pKKypt^iSMBX0ez5wStV^
RKLw^422WQ%mvv4FO#mj=e%$~7
literal 0
HcmV?d00001
diff --git a/static/images/black/tabbar/home.png b/static/images/black/tabbar/home.png
new file mode 100644
index 0000000000000000000000000000000000000000..c8599f273f9a9ec6376ac019aab4b3d32a726586
GIT binary patch
literal 774
zcmeAS@N?(olHy`uVBq!ia0vp^Iv~u!3?wz9Rv9xeFfs-Bgt!8^v9Yny(b4ho@rj9v
z2?+^lX=%yH$)={Jsi~=!mX;0<4lXV(o}Qle_V#XWZa`UASJ#x36elMqpcXSTGoT2N
z>+I|t78V91fm~}a0BW?cvB}KLOixb-YRu2i2O0=e4^(4iWn~8jK#M}b04NSr4CexE
zx3#qeS^+c(sLR~k94M8Plw@IH0dx{jrMtU3(AhyjK>+~)K0ZD`yZrq8fa-xx1^OZ?
zD$2{tD?B_rBqRjra-chb<^UZT85s$5B+z7_AwV;Mwg8Q7*ws1{7z(x}L4LsuKmYtT
zCEw6o0oKUmZU|P8|o=3@&Eer`sK6xckbN2a%TVjy}P$;
zTCt?RuP4Y^&}wU&05Dj~JY5_^EKc8@dcCO0LB!$h-Xr%GcfQ>Fy@8`kK%n`@|NWC#
z%ie9`%8Q%)c<#>Y#_s7g1ss3*h3@VSSvBqC-(_#(qxe?J?XI=nGVPjBZ>p`jMDDQ|
zp{$#^nSU-Wv8dzE+Z?{DcjfGiIcw9KZrv5Go&1~s{!?y1lAT-_CL
zy&)np;LeeY`#)aWd$qNTO;$jf%k@l|VQbqF7S_EnnzzlR-YE8+h*NrfX#%fv+YDt@
z^d%kT;KP(`ieco_&WfA}GX3GG%fc`eW+T#~rs$bc~BNcJgy7R*Pr|haCoDUcE
S-U$RoC4;A{pUXO@geCyL`#0GD
literal 0
HcmV?d00001
diff --git a/static/images/black/tabbar/user.png b/static/images/black/tabbar/user.png
new file mode 100644
index 0000000000000000000000000000000000000000..65f90eea56bec9b8d3e7fc9ec54a33851eb04408
GIT binary patch
literal 740
zcmeAS@N?(olHy`uVBq!ia0vp^Iv~u!3?wz9Rv9xeFbW3vgt!8^p`oEsQBe^Q5wWqc
zc6N4FR#reZ5SW^p1_lPk#l@wirCC^5`1|_@1OzxbIzkjDCnuYmn*$XC#UmplZEbB+
zQd0c<{D3NfhB!MrdwF?zdwVA)CVF~$0!4tP0Y!i$&^jOq6bBmXt>DmOQ`q@*NQSJ$ARAfSPn
znVHei(HR*TKrYY(ARB0YSXda)NkBC~T|nmneFSv8y}doqI-s+G?gTm#Xfn_ipcO#x
z0F4D|Ulw874h$5xk|4ie1|fFo#u{D4Uq63*e)sC(sZ%Ep@7U2)o0psr7wBeh{Nwwl
zr;i?9zkK1?(W6KA@7S~s$cEiwLwuf691gWJZ_#WBR<
z^xaG8`ArTI2R^#5+1zIp?f&*&_4~U_Nuo2G?*DK8Qgrde)aQNI-|G7xV*RIhyy5@C
z+U=9i=g3@{bTKnK+a$F2#M0M+4r!he;ksc?7w$zZ%bY2eda1Pgw%%;TpZaloF7U5r
z)Vt}vhFQ<>NXdsEbKsJos44fB9L>|^O$CcSAA(>&+oW2P}ir4PD9dD@B@nLaKOE@5`Mlw2nC%WolP;G?gPZpi<>
zxj39N!b0dEm=W(HYB^CK$ZnJ5jQHT|=l`$C-`Q0WFv05AImfVYq$X
zbjhwY6K2Xj4YoNpm-TV%)JdT;d2EeB(xiDqGp7Dst^H-m@+y%?gL#b~BQL7ioK;@T
oYI`8Rcki6Gld}5{%YS43{pD6t$`{rEV9YRhy85}Sb4q9e0C_bkK>z>%
literal 0
HcmV?d00001
diff --git a/static/images/blue/tabbar/cart.png b/static/images/blue/tabbar/cart.png
new file mode 100644
index 0000000000000000000000000000000000000000..55a4e1872087600fb92a1aa7953f89ca862a9853
GIT binary patch
literal 1001
zcmWlX4N%i%9LI;;QHOCr3JKc6!B`{Ip(aei6B_6i>^6qNh9mS~1r!9CyT!|1_`}>l
z5I5#v!Wb*%?Mh-4@gfjj7Z?+%rEo$F(ny$KKp0@Zp8wtRe!u7Y`~1GoqvEhnxViee
z5(or0=1E38nuGEFvNIZ~f|f%Bf>SOhHX#~qk5@uSDI8J5d)2_u0OJZ!6p&O8r>;SO
z6q3xqt%0}I5UPe4E$|F@VMQ{1W&T0@nZma!6|dvK%6-fS3??uO
z*WhS5E=wv&zk7zE1jbV%e)1;l9Jq!zb=RSiMK5UT@5
z6|Q;sBJP8~6p)Q5*FhzY6m=O-8ea>fBHRkH6o>^lKfex!eHI=e(}m~b**pSfD{vVd
zrF1uG-8VP>oF33ue3T)eA3U&q>-p^DKzB!jPOB=B6%|UdMCXJ8F5_MLTR{}kt6Lju
zt1Hiz9FFKxXml0I?%64t228lnjD{^_{C3pBkRf&CjbOF!S5nve{q1uiEz
ziim2N(D~Ajo3sa(Rp6Q1-7oY_wcH;{HQY!sI`?$RGjo4Bn;+)+>rXPpFfoM-H5oc$RN%vx|@JVJmmcJ!i+fND)aM
zk4)~Og+XWaqVG-bZ)yvUR1QDE27>iB;{V-Q`s-&OlC_y+k7C{RLLXg@Z(DEfW>5{w
zg~wf}9CNkUBPMctwmIFu7~Um*xZN?@qez)5j?oQH=568mH#e={~&$;7kB?woBuY7{~vt+UZVd>mH#Y+{}_1xUZVe0oBtwy|5~5_
zGl~BkdjDRc|4EepEr$OXdH*km|6HK|8F~L-qW@N$|5~2^K#>18ivJyb|6ij2F^K;d
zdjBhe|5Ka)C4m1+mj6MI|6rv5Tc7_Nd;b`C{}^}wLy`YNk^dZb|0aO{DuVwWeE%7F
z|4*3zNR<=R-FG-oBu+Q|093@FNXhEo&Pk6|4Ehq
zKac-jq5tfLF696K07G3iP{O8~OS3x}ENB(urb=}qd
zYw51{SDBi7$(9%9`51xbjK41Gv*vMaCM_0MnZKV_em^0l3i}#w)&G^{bL1K(Q*E
zAI}wx_k2nUAf>52jIX{32izS{cLhkUt&mM}mCULx2NGwiJs3(hvNOWXWCt1M^QZzlAT1+
zJ-~e=&g=19#<-y|2{5TUjJ-y~Yj|vlDPk`s_A-_PUJ!UZ<}*+{#=U@Y3vjEc9>(iE
zN(rE(sdbD`x`cWD`G|t&pu&0VGBt
zjqRZ$oO6gOEn4L9cWdP)c9%|6HN}CV~H0p8rRb|1O39AbtNSga2Nn|6r#7Fp2*gdH-CY|6HK|
z8F~LAe*amY{}*`wAb$TchW}rp|0#q29ee*?qyJx`|0jX}8+iX5eE%YT|0sh08-4#i
zj{ixO|22vKPMH5WjQ>NC|2vKUH;ex*g#RRe|3;JlF^B&^kpC}+|0;w3Sf2kgi2qic
z|4WwtMUwwioBvXp|6QT~D1!f5pZ_L-{~>+<9ee*!ng1Gj|02mqT>t<8HFQ!=Qvmu7
z1PJ`=G4Sr|;CmbRUUxj*#(X(nazJ5p>E^a8ROf`@d`N)B<~GQ=NBRDc
zqd)9JtW!S4-de2hOjfY38~bvjf%5gID_N9dqBs&qj)*AtM0Zer@3~{k9zglS11PsW
zfU-i*N?U=DNoX^@g0dt@iljhb!JVC~tWhM5%CJEAsi7=WG+BedlB?HqbVqEtVJYO<**{_NJCs0S%%YkyR~AsNsp?oALsWw(Eu$(+4P_yrF4ToZg_akjgCAoi
z1RoMPnE{KL;YJV5Zbl&eX^Z>T-k0O#kHihQlvagS@$y5!_hznu5o00000
LNkvXXu0mjfTBMJL
literal 0
HcmV?d00001
diff --git a/static/images/blue/tabbar/user.png b/static/images/blue/tabbar/user.png
new file mode 100644
index 0000000000000000000000000000000000000000..0b8577bec97bafcd4f99f3e550027603ec651074
GIT binary patch
literal 787
zcmW-edo0^g6vu009-YSw8OFSqT0Lv3@hqx}6-75jwMN92En%~vXi;ygiYil&&f||Q
z@d!d=3yEj3#h3-llwtFj1hHi%SqV8IFNzt
zcywu;MY#2$6tuF$!U~0a*m3
z3J9qKb_ayFKtdbX@FDUAFqZW-PmVZuvo$RkK
z&CVzk<8pa-SF@y)mz#DkGRT*3cJ}*t|J(NF$EnFtdG9N!w6a_v;Adn!;ILV&U=MpE
z9esCAWcVsEv_NvS$K2ZDGGolofd93#$PE`_IHBYo+WJMfhy@cG3?*2`8;vD%=D){{
zk_f5SPZE>e$q?XU{F6IqZCsz(h#kC`Uil?|(e)UgzI94;C}Pj_q>*|Py5Ap-`loj=
zZPi#Y<7yv
zbxWg`jbGZ=&g3Ro703^8ht-@P=CSD=0e{K74Q~ab{zBgytj?TbY7F1=?6a-p)9%(g
zX-R0iQIC6pZkEC)Xkb@8yzzd&)$(jVNe62YsYkI)5$>ptQ0()!+Bes%);mcfbscTd
z6V@(W3%tyO<{hm_R#K~M%DD0A(2$b7>XGZuTXEWUTqmtjh_T3rVQ3V3V7EWJ@E;1n
BjDr9G
literal 0
HcmV?d00001
diff --git a/static/images/brown/tabbar/cart.png b/static/images/brown/tabbar/cart.png
new file mode 100644
index 0000000000000000000000000000000000000000..0ea8ae6477b50986a6291d41f7ca2a9543abd307
GIT binary patch
literal 942
zcmV;f15x~mP)|8n$94o>3d9S|zw?E}>K%q*WfPS|OcK8na*}vtT8rS09>A
z8JJEPq*ou3OBlCeC%0oL!E7#;Oc%3XC67lHolzT*NENtbD4kFop;R4@NEMVz7pz+%
zwP7Z+U?!AI7o$}kvR)*eQ5&&eB$i7TyJaY}U?r+rB9TcIkVh4vR2;WrCbC~8kxCby
zR3Da28I?>Jxn(M(SRRf>6scMuxMe7zRUEcrCY(_msaYbkU?sU^D3eSUo>CjNVkNa<
zC8k#&rdS`gVkVGE7LiI8jz<-m`@nHXDYd6DUwVWlS>x7Whs+Q8KhVr
zluQ_=Ss|xeBD!TOqEsE3P8pdP#Ts@7phtyo>3c=OBbwLA+1~@u3aLi
zSsiN_F00E*&L_t(I%hl6o
zZ-P)1fZ@{?YTeq_YWLoI@4fflih{K*T0znOpI#Miyuc-V^~p`(9NzGO1gKS4o&6!(
zad)w}F=sbk8t5z*XTdJ#g`&)XZI_DjWIJZMl~n)8Y|G=z+fpdByt1;o+K4zA(|ROj
zs{L?s-556uDItZ9V9-8kc>P^mBg6%Cs_zH%bxXV?7LS#o8+7n>Tp!0Q@Qq~L#Ao;n
zI(+G>!E>`d)^xExAM0b;Ubc5v+x6+w
zE}KIqt0~X^2$;I=NRV=g+%(XHhsk_@EDRQ0ixa~Rzu$2@6qsIU18WP8fC~?6Lnl^!
znb@4pa1{>
literal 0
HcmV?d00001
diff --git a/static/images/brown/tabbar/category.png b/static/images/brown/tabbar/category.png
new file mode 100644
index 0000000000000000000000000000000000000000..5001226b7e48fcd5783ee0e3724a7c0bc5b81a15
GIT binary patch
literal 888
zcmV-;1Bd*HP)d=^NfxzXCaGB=ol+aOV7Z
zj7JlaNfwMo6S!k1s8}GMQXGy)6}n|8not{!MHIPYC#qQ>w__)#SRbHN9gs*ByJsn?
zTOf@`7P4U_l}#F%P#d#kD3eSWjz<-aM-;neEv{W6tXmrAk
z%6=J6Se=vFP~cEUr5}n;s9UA3$Q8P)Fzkk1GNWDMCuwvgN(F#INp=ku?|jHS0X!*c
zhsDdC5g#4;Mdu#io?H__hVEq+cNAs;W>v@HcLj`9$Kxz}Db%t?<*XZfy@z$rz
z1Hgl#wpe_eBvBHPNhlhCmLS|8v)GClaTLcUIx~{6fMLc0)jX+!s5JT<%*ii049
zi?uI`!EewQtF;U12JQVXZ{*3UOn$lw{p^w1w}Er!2~_BxQW4!5Z*M&B+xsR%w}H-(
z-3^P4HyM186lJh@lS}8#ahxJR(UId#7CQAN>nv`U1Ceud=aMS7fzb>G!C=B3edX?<
zBNO0m0!MGIq-i=xu|3tO(@s+a{R*}Muk{-GjiYPsu8%g*)#`1SUVZ?B$Mm9}l4805
O0000DWX;#$!|lbS|FEA8I491nob#!Nf)QXHL88=FuXlS&t>S|PDs
zBe-KHo>CjNVI{U=CYMbZl}s0>SRa~C8IVX7jz$!^WGJp&B9TcJs*El`0000vbW%=J
z0QwI7{O<|<1pW5w-+MAHAshVY;@sEL%*VdEv$Ld)iHT-YH~RGK>*w6m%)h&+q>p!T
zTSGH1C9FZHsQ>^0iAh93R5;7sl-F{CKoo`*ONhPqZhG$tilPD%5gWY!yX4Sz7u)7G
z`S@qf*`IHi;R1aB1Ge)Jjh5rgZ`{w@wMDc`ce@vBmuHsZ#*G!GoIa+8A6Lc-VmM^q
z54-6*iNt^_e#kw`O1spVz3y8?lO#>jwupV~aockfZEh>DxaUY`TV?9@&Cz^h0Sm;L
zjj+c}6-UP?rpZ^k5|<)mxr5Wk82sFb=rR!}5OIe#k{c5$F(hApQ^_DXGp2*&6OJ2m
zV+eN;Ql^9DJ{>IgEc(4Z#GU{Q++lgqql4sAo?q|_6Buaso(Y)_mSqcG<{_};Tdln8
z1FYVRlJxhvnb^p%3&R>y)rVoF2)60Z9-&fdtD_l7L>hLCr4jRYg@G
zsyS~MA0kn}Zs^PD&Ns>iVs?e3=U@9$4Q)(vPbs%c*6ixK`pWwLEI*U5`x4uNu+RVi
N002ovPDHLkV1g!QPbUBX
literal 0
HcmV?d00001
diff --git a/static/images/brown/tabbar/user.png b/static/images/brown/tabbar/user.png
new file mode 100644
index 0000000000000000000000000000000000000000..b55d46a5daf4875067778b89c3a225d7c08f9bd2
GIT binary patch
literal 824
zcmV-81IPS{P)UnQee93YnoKYH@PZ^|E9*#y7
ztz06tVJ4eU8oFgDk4F`zS0A}#C!kXts8}ESMRzX%002UCQchC<5e0!D$+eg*8VLIN
z^z-Q7$;Q06t%`$xa%p2=UQtFr6#4k}^6Kg2;@8*E&dSBZ!?3HVpPQPAfO~msNH{hz
zDq4ZXo&W#=f=NU{R5;7s(&tjbKokYwYd{bzRFRIo_udOhfFuy4SHbsx3NIUjY}f_=
z>NjWRT;Tl341xb4{FupR2C$4f#(Crni;XjG*V?r)
zobh>kpxUltemV+Fq4GerTphqN?iA-gA!EI)V~j>y0w%~ne#32lb-@(E
z3=6PC_Dk<9^JhKkN%6;@Wr1;K74H282Xrz!k%_Kp2M(9Re~SX2Nwrq=14zU1%DCQo9oEU4Tx}DGBlm
zW^g#raE(9P#Fh2iR*_en@9(JpF4MiRxX{mHQnlQp8DWwqR;0!U*(moMJ~KC=sH2O4
zfvLmO#W5t}@Y@?V^Hv*(v_9l*Q`t7N-9h2=l`XOF|JSG=o+u-<-RI$=(EZv+&i0>~
zCb%-vkpAc1GJDjlA69!9i_VIhg@`VoMAQ4r{Z#+S9+Xx3|V4qRz%}-*)rGoL>t*
zJrBv>^Nr)X-D=hs6sVjoPd
zT{x#8H@QppqLkg$Tkh*3lOM{J@OGY_@KbQPl(FHWDD8>aQasUq)=R#=KE0wb=iq$l
zZ1H`qzanQUFJZeTVQ;SC!&tbW>+q#1`5}gFzP<^Iq{`=PoE2kw?%$sB$I|V$ExdD;
z4ObuH<260!bh{wJ_087&6@_9+C$?&RG+ZqEWCHI#$$xVv$42b?*>p44)3mSc*srC$
z%vQIjo9_E~{l`(>^gR0tLMyp
z+w(&9J!IRlEb(ZGy5o)HvfP=6V(d(xt*Co(H@2Ux-~QmH<;PSOb$t(RZ!5a8HuPO^
zt4@{ap1sfJo|pSJ#iaUg+@ZyLs<;fL6ZX&Y+I5)el6l3J_xC&&P2DxS}5{*N;|1Rs`$+&-DXp&X-PvLa$`
lDt|lU1QUa6@2>oiUwt;@=+4!43xH{v!PC{xWt~$(696Np(eeNQ
literal 0
HcmV?d00001
diff --git a/static/images/common/error.png b/static/images/common/error.png
new file mode 100644
index 0000000000000000000000000000000000000000..cd88d8c194d7775e1fc676b53160f8e07088ac3e
GIT binary patch
literal 845
zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!CIt9|xB}_hw{PFMa|c2~7(h0h
z3zvcj-o1MlSq)s-ty{N%;+Rs89z8-6hj6c5y9Ut+T1vTJ-DkbAb=i!*);Ph>lcQa%%^f}-
zy~e=6Wb5hT7!q;#ZRpLUM+Q74dXpw_dvSPjgj?PUiu(Wm{@Se@GIEcH&$srU^wFm!
zwf}_vml@YSrfgra+<2rpiHcSHHs;a
z>Ee>oC+g*P$FkiU8wyX=d!C%MGursR#8LkFydNWPS#vsYpPw-=^4G&lr`%RlTBUP`
zSO2pU^3Ub1&rH<~@UG2P&v}{hmm}`RyRP`v8i%(}?3x{KRHw^)u~oL7?I~Zsg>U-z
zj0Pba?MCj~lDY2+&)oZDd+WeKIo^<*o1Z2Iw7KtS`LS&2qopsuZ91@zIot4actNhT
z688kQNmn!ql6Ds}NG!isizl
zYnvwb`8{BgZJ2Kq{V{s_$6b3AJ{-&4Ew8y+Y1)b>k=4iUy=V-6re*okVU1zO=5H;V
zkCd=kr25S`Uo%J5hN+cVcVWvkZ)+xlJIpS}WvkZNG|Dcue#&sRaCXs$Z#N2V?hCvX
z?*DFE=HR4y_o9oYAJ4VVTQJYD@<
J);T3K0RSI3zHk5l
literal 0
HcmV?d00001
diff --git a/static/images/common/image-empty.png b/static/images/common/image-empty.png
new file mode 100644
index 0000000000000000000000000000000000000000..c24ea3fc6966087293f02c1ca34cef3d524be383
GIT binary patch
literal 5439
zcmds5`9G9j*k%^{7=tAHGKk8SeVOe0zKyMrWr{FJ*}_O6TVxBNl-(c=W2+(25Gvbb
z>#=9ezNLDn@89tL@P6JO&Njne&iC8L|5+17fe`FjQ0=8=5n(vLr_@9GYp#Vr3SIt-5qyuvfE{%JfOl@-hW
zF_k8y`sD-aS1g@{3`p#;C@su2t)7s@{+YC*SON(~mf-pkO*u9o9+eKdEUh$%0#>za
z%*I3uTs}^PXT;J;8&aH27;gZ3JXRo8Dr}L##Z;0OR(K6;B4h~SA@X_nNs5)=hW)e{
z7mT#PxuUl&y`n~mfSt$jQDMRHwXd?Mo!8O+uXT>Ifo?wA-%;n4*gD665+`kPvM^hN
zWetQlwV#nLT!S7Ct-XJbR9+D)f$SiGC_wL}1mB0JiQ8f{$&(KZh1da9gd>;T@%6S}
zx1X^a>5^7RqXj!o3_05MB`yp|ap+NWAT*ctpkbyqZPOOC!G@K`!ZJ`d=eQ7s6pJSt
zHNu~fK_&yszc*^e6-`QbL4#1~@Zu&9zC)d@*#MrIZvyOcvB}_Kv`=kqgo%(aU_+}UzocAodrXwv3O7(Sz+dGwCaqF)70h*g$_iQX
zQYnc*kn%m5HU9Dh`|j;1&QCAc@1n{m(A@me3QLi
z9h=ck+nI2SWD3X7+e-3@@cukc}|c!?8@{gOPLoRTZE}?
z4ql%F_diprQI`)Voa?h7g$%Bojj=tXxMYdb9{eIw6gCa$OLkpt{g6IYDuuY2x
zv=Mtta_k`ZXjIgr1wDcNH$8hofEkb(w6On61ynb9(4hBsQ%O_jF(%gn8nE`OB^i2@
z)8K~VsE+Uf(w7G2s>4}z{LJD1_U*a;RU?Z;XfxC2-0eJp!uk2#lfE1|`|MvaAPc$x
zsoSN&T72_#2)>+7jd29Ab!lEc^U1j%mGSHpX<7`pxwas})?(^Zxi#=^NWWBveRi2h
zAZUUJfJ_QPoMs7ZKDF+gK2dIJmuXqKTE~g|HGmi!
z?-$4pT1Oc}ARvYw4R|Q+YBs7JWu#PoNFn@s!H^}7)$bf>H7PkmC9exQC++MXA5(cr
zH&5yn#2N9KL=bs7bOFagB^&wpN}K;9Zr+dCGm1tLtX$WBzAR?i>hF{)5^s6V^83v6
zeLDOPMn@Yry$H1Ob|~#zskrBdlOnPr-8&^}p(#Lw=|%OMy5Qvn%4@|-BA0p0HR_KQ
z8cXk1nVrUUsG#xv4Or?~N#6hcRQ58+Ll!21FQ%yip>w9aZ~CcRw4??=0wAid#!_
zxp_xXq(#<(_3H+p?H(>mYE-AZFm0w%xcR)P$3`BDrJ4IHn%~ddjVx*oG*16mT`B(Q
zRg8yHBOggsq#NzHk!@SGwdOKN%Y)x{Lq%P8Gyz;M)!1sF)l=z_&dGtarf=
zixWoC7B@)mIp5ING)T6Wwrz+onCqj`eft^ZE=v-qlmjco?4p^%FG3>lV*l+Z3>i`Iw#6JIWAKf8S)1tzyjTOPK~T
z8gWelt8b-j*C;0?m@cvHsk>9@r8$?9KU83ol;z$?hll8zIkRP$lqN0f)fcB;%DAy-
z*Wmv6*2E7P8A~2wyAdybm^&lH6Nr4+|1wh|C=}Rjw-ZSV93!csNZrx@__0%prp3y_8DH#1sb<>vZ3cIb!=h1)Kcmo|Ym|`xMG-~Iw3!))!E67W4
zj*?nb2(?A;%LNy&?hIl%fxb>PQlJiFC+E=oC{O}?1&n%@8>V!ehl
z6*KtcgwKyM_GU9#@ULQm>sr5FQNXgMI_kB{c3r07Quk^j*v}1=JnAsU`*lz@&hV%t
zETIGYoDzfX>*h>0t(;cNYDXX+vftNo5GiSbezt5R8gQ;C_xm?gqcW~WWwxI5A
z)0f&&9u>nS`@lXz;&yHtWn)l0XuN)iqiu4%M;cZL4yjW1MnH#>OL}SBDldM0FQ=Ui
zFK2HEYor^To4wWOAega`{I(cN^7TzdI*e2~ngz=f@*YriCv(D1v}vkQPETChrRJxV
znh{4PR*U;jA32MZ;TpZzCL4vREQq+q<}Q=$pI?7qQJj7ZUQieBP97N{oiTo=zhQtp
z+Y=Y)a_dW;BB=j9ZIOSCmUh=GR@dM?k{X=;kvlq_`{}m?%pKwHml8t_y~opxW#w>a
z$d8{lJdL@YFTlb35RYhc+acj{cK?gW-k9AwQU7WP5$ry~cqW0r
z05p}JK!21Vc~Cyn>T`cxv4K%WOIDQNXbhF=M(CmhLs~SK!Od!!^Aga?z?o~p7Th~d
z6m&(G(I!WyU|W>jBJlegsn^h`M|DKrrfY?i^zl=z+r5*HH@BN+Akl7_yu-estugx*
zQNh9N@Y}6{YWTxMnbD}3AHF{==%v@{P~qMBipA&!RWrm2V}T=WXP3rWt8;R9{!{yl
zlvKW;26_w_Ggob?KLvS<5^)1#Q4)rrsRoyQ{Jg-db
ze(h15>*Zvrw-j$)6A$P*ty-Wjfd)*V%uD-?vmh`AH0~%9*)tz@a~E!kS)$9K{Mf&4
z?XMJ*Z9jn3ljZ;loK`9aNBrx8e|f213dDfW=?iYcD#HHn`F{>=VZWY4d;^pH%OH(v
z2hVx$7`d-LS!7~mJUM!^kw=xWrINkfaspCJWy`bk1gV(Jrf6>RGm)cP&ivDVwL#%g
zuM44f*T51Y*#;bc#o~T9-XQX(USySk6$EE>pWjI8n#K-9z;QAV@TYl>b$qRhAhBL@
z*(jw84t$+#1PaN-|?~(gO{QWm^B@P)`;!Hcis9s%;u>wF!%oCS;@%aQy%UV%t86
zN_+k#>$l$HLV}H)w?SyLWrt4-nnty?W@E3y{7)ZEpI
zCf1~z%RUIk^vWfEtTBi`3#AO(-5d2!CPn`4j{3gr;$J)HkztR!9CRyA@}atV+Vhz#
zQ?_}RGT-U|dPrgn&q25Yy?Tl?K?>`ER89t%4b%s%q9Wb$@A*AjN1@WPH>SP|>0Xc`
zfI(zUq?7<_{`k=HtynK}z)YaPooVkN&9fr?qd$#>oV{(Rx`ft$x20!4KSd{;!S&Bm
z;@7|UTSxuP^+6j3AH5{4Ji(aqAPV?(PSx~6@0$Ne`yMmaslU09&Re?nB1m_m$B&u@j>SQjzFTs?Zl
zIrUxEoV8;G(wM4FZz6n{m|ee6jkGR)&N{J2`c@ybkrKOi?2LfDv!BD$o!0Kf#wNU@
z>bHmOWKMRK-_YALo?{V$LR#&L<&U7#r*T(c15;qkXanQTk1N-f8QF-^+(1jXQf4G@
zOI=CWlH%Mi4f^NiPv1f}*yG9Z6*TgDkmJU$v!_nC^ZkH}C?#R$oT}OLIHsVk$3tzq
z^~Ej#PsYVmXp2HNy-KaM00rhVTu4ut`(YD&-f-CN7rAsTZDip6C9JE@u}^n(OX
zj+6`sk2OZ*JK!)jo%J|sD$A)97xHgyO6BhRD7F~eSeWVwhv73+eQbH|_ft4r8rErFInY@#&Z?qG$dB0{C4GjkH@jQ`gM~Y^sA7W0s4Xa*ZA(g}X>91z
z&kKRl*bG<6xZT~@QpGH-F^CE{lCJSMVyV@MIbfK%Aoxx9QIh1nQF~Ai16v)-uc^uS
zw+(3Gg2JL~S0fFpf`_YOcB~|5Z)>r{MD);0nTrT9*hvU{N-AahqyRMx&DP3+7-`s4
z&pF!Cvz&vuf<%s;(ij4U+sIzwP8B(fAmnC^eNYv-c!eA83M!k)(kEL3G-(_SyGp&{
zbQSplY(fb3qhHUZ@FM35Za*^xniT7O?0lcZi84T5{2fqGMUMuU3mxMZCeHu_>ithh
zbtb~}C0000*P)t-s0002k
z90b@M1>X<=*d7Mj8wJ=N1=t-0*d7Jg9R}AJ0N5P`*&PMg9tGDO1=t=1*&PGe90k}O
z2G<@2*d7Jg9Rt`N2K43-aR2}S7IachQvg7~5P&f7VDGRX(4TOi&rp!x;BQZPS%&8T
z00hHHL_t(|+RaTBwCY+BhX0PdYa?9RzY8E>@@KptgfY$
z)BM0BrL46T^c|@CDBZjXC@q7Yin0Z3hJE2`GbQE+W_JiEV5a{{KDKX&WeIT@`u
zj$Urry4DYf2lNB=<}IQOy{S9lH;g2@+8i&z*T2cDT}S;bqR#XM?cSbdDGX)bG`m~Q
z?q6o$+C?wMch?!X2=?+ntjY8o&9lDzpl3^vj0`=%`i)>(uz@EeKVpRAcf>|#xMpYr
zam0w?mg1r0y8MAMF_?5mP?y#Ep0eSaH6B$e|44^mgn}e~Y=6EPpdf+2Iv
zL60jwumQLS3c^*52yFrOvy0dOF-I$CLzTzyJLINk6|!&D845!D!H|Adh!dV2lLJO5
z2=E7T8n(Q8cfpX0_fQbSUxgeBFMfyY9It@Sk2ivQb1zE_1x$Xji`yeP8zP1R7C%a4
zji`)#4>wT2;RkAD9+mPQRI37&!H+ojkrgURQ*coXexO4AHNpiF6)^Y#vjiesfUN-h
zC@K@2z`+Ih3cznE4&9mw5RnW8Onzja^$$-u3Unervauk$D9KP@!5@$1e`sU`o&pX(
za+;;c!dC@=A85ZT0Q^wE6>xjcXL3$KiA%Mx>BNp16M8xMOjsgh4
z%ZSU*RUn@aV7-oqAN*Ve%hq!WlFES}l2R48rvQ{>9Dcy2Do|?zTK-`1^A%v>2APP#
z&r^USF%Bjie!c=6OqQdW-0K5jut3YE2*NEJ
zG_Ae>G_C%pw%u~^LZyL>CeCWzcH8C_Xsefna;QH}Y2RCfz;;`Gpt8_^w$!@s7{UMT
zYt45e!5SFgn?K_Ll<>?SGL?r!OY9sdbFKoo!KCOUjA#R#g#L5|a|srlPz-A)vM@dDzW#hmQNX`c~~H-RJ$#
ztPUJ_gov%OQVCtV;xm`PWgYpvX{}|EkxxMMb29p)=rO~XfNNKvqN;im$sSmI+0pMt
xm#(CSQJQUTBeh`dJb(QE=@(MUUR&XbgMS5J{8+@y5X}Gp002ovPDHLkV1lS{e@XxV
literal 0
HcmV?d00001
diff --git a/static/images/common/round-success-icon.png b/static/images/common/round-success-icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..9cc73b21cc503245f574f8aa9b8d037a71755367
GIT binary patch
literal 1265
zcmVC0000yP)t-s0000?
zuTV>`P)x5-P_Ix+uTV^{P)e^*O0Q5$uTV>_P)M&(Os`N&uTV>`P)n~+ORrE&uTV{{
zQB1E;QuWVY0000JbW%=J06_4-5YT{NFrcs?P~ecCaBn{=gV=)r00dDG&U)4rAs}t%*FAgH8A6f+fru=a*;22y9+#gOwbnh^*@#
zU(B9|X*Zh;&zbUOzx$xime6H*LQrg9mKcHx`Q}$ok&UOyorcHuqBnv80fgkU%Vf5yT7r*80-JC`jOUq8MC)f-aUjcv($H;}24c
z!gSZ7ajL)%1@Vj&;{1FC;bf-N>VJc%02lvym*D>l1zpSmq^JaW?gkS1uNLTZh$AAk
z8Z;*1n>uAgMHuzf%7cP+DnfpZgmo?LMP>MPh5w-}Z36g{AdkJ{DXQan=<5={R!4Va
z0$tSuql2w)fY@kz{B#54N5Bnt8UQ9hE})7AkYvA^03kObL6^n^%YFpHC|0=Nf^1=K
zEHS4qxxnqSBa&dz@nfif*}I`ab}kFM93_5)o!YrXsK&3{x7DwFivd-O|8r=tI=#7M
zUxEL`xqD$;H$fq=8wD8A0tuWwTQXIzd1jZ4g%9%;YS$sn~*bDdKKs2On*T@
zhoVgeKVN`F*{B>p1dQj40j$|aSCAj$67f7lS4*cTMkeeIAb?%GMUAtt04P{2gP$Sb
zLjj*30^o#aFxy$=i_Z@M@h}8Dj(%ADfQ<@>D~R*+6A?h0f)5r8{!{^8^w&}cXuyMi
zWK_6TV%jW`ufS%V@oc7FUr#)Iay))4iz#hM<`mdC{8*9&tj$st@c1$C#AUhZcIV*^
z{8{zNF|sjSJoIz&BT*Q3PoN6ad;Qkj0{Fnue6e
zi(l=AJzHFEci04ET!>e)*va^5$l@c~X&PH&(mf%bkYZ3(uq7uXMxX<29ROa#g+O63`DK
zvhzF#qDkwoEua5I)9Wt`&sJ@}fb&-ypM4OOAmgpy-Q*Yq+~#)*M%)AW*8aa}tvy+p
bH|swD<$}jr{oMIz00000NkvXXu0mjf>406Z
literal 0
HcmV?d00001
diff --git a/static/images/common/tabbar/cart.png b/static/images/common/tabbar/cart.png
new file mode 100644
index 0000000000000000000000000000000000000000..6782acce5ae03591b468e5ac8d659314d5fbd2f6
GIT binary patch
literal 633
zcmeAS@N?(olHy`uVBq!ia0vp^Iv~u!3?wz9Rv81St^l79S0HVI1kB9LjKRRv)YQ__
z62dkI0|*;PA}Kd<1_Ov7oP?+ZDgznw+^Nf^aU7@vHNi9MCnoB|(0{42wjz
zR@!`cGS%Uk{a|u8!sp)<=IRA|NmZgIxM2urR(~a%U42HFOfWZB7Z6O
z>`=RKy~Zy#!FDEkD#f`Q*9+*S>WS5ynO4sF@Nb`@aA~!GcbuWp$*{KPr4LREGQabh
z9R5LR)7G{WafZ_h`#T#?a3vUet(&^$Ghg14lk1a~wI0o>l)S)WJUjpAv;k%
zG@1YV1Ac#-UC#tEKK+yXG41l@Td)3j+|#<*(roQ>=RvKPU0}xDJ-#P3UuG~TeD3%&
zUGA&6-pv5J`tp5?-KQ3|lxZA)u+p?5X>r#5QxgJgb9Tmksd?7_tK-YjsP0bVlv_Hx
zp3VKc%J=gP$J`C;3yj|6aE01<9h020@x>9*9rpsOKAGz`9uXHV;|-Xz=Gx~q*^}8A
zrWTo&%{@Kg(c{w@tMsfFernqEk?)i8Y5#h0`Nb#howSepzSAdp`uY0Tj%t^48dm8u
y9+*Gvd&6fFeU@!Lm({-h_mkH<8dhgo&nQ)7E>nNwd<-zw7(8A5T-G@yGywomZUTn@
literal 0
HcmV?d00001
diff --git a/static/images/common/tabbar/category.png b/static/images/common/tabbar/category.png
new file mode 100644
index 0000000000000000000000000000000000000000..dab409be5fd33e39bf4497e90ad8d55b68af2a31
GIT binary patch
literal 468
zcmeAS@N?(olHy`uVBq!ia0vp^Iv~u!3?wz9Rv7~+zW|>QS0HTy2F5U8YikQ+!Ucg0
zQ&UqQX=Y{yQ37N`6ad9xnxJ%+A#VuKM9GpMzhH(K$FIBQas7O7aA}3Ryj1GDD;GC5
zd+WXoJu7-NjDdks#?!?y#NzbTsi(I!EAY4~D=0ASyFKs!|BKphn_d`9UU%DAG0#be
zmHF=mxr5dWpD!4`Zj)^I{IKx5tn4bEe+zP?iXNX8KOppLpS;P2TTO4cUOaS3WGwht
zXJMm!{C4-o;=Ug(kG+@#R_EGov1RAY*Y0-6I45^{t%~cCyp`fV(sqA$;=3$Z`aWgO
zEmP?il}@4QN7u0Ldtj6Npp(<0gD)Y;EFn$WYI{4chYRNosZ+BSPn~nDC?VMG@WQp4
zQ%xlg^apC1<~I1Ts`BPs?tJv(bX8c~#U=6b-!7fG<|BS{uiwm&NTbr9c`x-=?+SL`
zwW&m8nNF=^lM#!)#*dOkzJj^iUnq3;y{P}amSwHOg%p;z-WMcTb;B>6alL-z{VV=E
X_cR3`Ud)gK1}1~2tDnm{r-UW|GrP4>
literal 0
HcmV?d00001
diff --git a/static/images/common/tabbar/home.png b/static/images/common/tabbar/home.png
new file mode 100644
index 0000000000000000000000000000000000000000..5145831241e9404f3b7b1a56ffe4ead1d981c0ad
GIT binary patch
literal 604
zcmeAS@N?(olHy`uVBq!ia0vp^Iv~u!3?wz9Rv81S$pJngu0Yzv#KagCSXx?ITU&d0
zc%TX!LsY`m!x?a8KoN6ua|#0eM`0d^_2^Yv*O*&l^*wo1schTUfMM+S?`?H#;ThP
z42+(hE{-7dxuc
zc1LHve8O+h%VoO8zrgsHyr#
z?0GIm>C+A$7%j>!9@)w8ruFB_Gpzn)(XVA4|FAwtJzKD*)3u)Ko|Unv*H*p2NqV4gie#@G_Y{1xH@O1Ta
JS?83{1OOq+<^2Ev
literal 0
HcmV?d00001
diff --git a/static/images/common/toast-error.png b/static/images/common/toast-error.png
new file mode 100644
index 0000000000000000000000000000000000000000..f96952362134c16b9381bf9bee7319ccd73e4c7e
GIT binary patch
literal 572
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
literal 0
HcmV?d00001
diff --git a/static/images/common/video.png b/static/images/common/video.png
new file mode 100644
index 0000000000000000000000000000000000000000..cd19bfc08242cb9e3b21bb3eec99b99de8d0d19c
GIT binary patch
literal 3997
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
literal 0
HcmV?d00001
diff --git a/static/images/green/tabbar/category.png b/static/images/green/tabbar/category.png
new file mode 100644
index 0000000000000000000000000000000000000000..afeeeb2744f455fd387fced8004dc12bd07098db
GIT binary patch
literal 927
zcmV;Q17Q4#P)WU$UVcr8HPOPA$y(W$e#T$C=2+(ywpnnkgdZT
z;cgDMP>o8p7b#U5OQV>xSMFZVNG&xK5Ht+N$OyOg!X0Igsn|DwcrF@Uql?2gub8_s
zk`$jQu5~4fd4POTb~TDi?=lYn4=Gim*tSC6Exuvh0^C}{;fG~YjMBDj9KPBafQ&6W
zi(yS3Z?G!9dJBl|uG6jG_N^MeH?sNv70Zz2$0CKz`U#2)SAl!lLh8tx!
z1Vu;&h*RJ7T^ygSYgwkUYc41Bry$UGea~m$vO3S*{Hhn>d%HR$P%c-3zzaMtILgK@
zdxY00gOy7KWbz9$NFkSWxdL+wdH8`@o4L#lM@)UbBbO
z7T=PbGj}ej#U~)@p_#r-89V%yyOWITAW-UaW6pGZ
ztaGOyk7MTQ3M6@~ZnJ)U|5~`~{dHDuS0CZ$@*jc4`@tII=p_IE002ovPDHLkV1k42
BpWy%i
literal 0
HcmV?d00001
diff --git a/static/images/green/tabbar/home.png b/static/images/green/tabbar/home.png
new file mode 100644
index 0000000000000000000000000000000000000000..b74047c9d968caec1cb0915f6ceeae9768667983
GIT binary patch
literal 917
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
N@O1TaS?83{1OWWPy`%sD
literal 0
HcmV?d00001
diff --git a/static/images/orange/tabbar/home.png b/static/images/orange/tabbar/home.png
new file mode 100644
index 0000000000000000000000000000000000000000..1e18d0238693a490137958df8b0959a0a2e9fb49
GIT binary patch
literal 844
zcmV-S1GD^zP)<%kUam9IRAhk|Djd?fF1vH3IBf{|Cvqyfg}HZ9RHY0|9~L>eH;InO8;;L|CmYt
zb`Sr6Ape_B|9lw#atr^OPyd-u|9BSvatZ%)3IBEv|A;RCjX3{a3T
zEB}*0|A{dFfg}HlGyi`e|BE&Mg(?4;O#hKS|8@}nmPr4VMgNpT|9TexmrDM46aRuG
z|9cq!fFk~J2>*2r|8oofc@+PQH}4Ozp8x;=Ky*@0Qvd||{rfQq{rl_CdmH`z{P^(g
z=;hqn*UZ4ay0f#5iHT-6F)kz^5DyLX^YHBJ;oslf$iJwkq@j;@aa&bVL*y^P4*&oG
zo=HSOR5;7smDf_jP!vTI6qI7`(xnLY-U|c>M5L$~2nzrI8J@`vJNGg`eAP93=A5&$
zUNV!JNdE&lzUB3v`?J4s6YE_Q@1wK(wAUSQD?7OUZ;q|NB-L~IC9v{5-VOMg!}!O!
zJ1b1kn>xjs;oXt$!=ldU={<^Wv7Q*=###e)s6~8sZgR|0y<9Z*G%o>LA6k&-~=(qSJjCaRl_)ee5h%LW|+`IVUxk`1;`6+
z6RoXLgh^OCWJOWhN}HmL2lBk4)RY>agJ2zYTUOPYYRh!+&`BNS97D~i6gCMOTnD+5
za|ZHU#Ti?EaR&115Npxs+HeQCp9lSXzrRgiq-Ps9g%-#&c>%XXxcNqqi##*3M99-c
z0m#%hiVcc6r%@8MpF1S+y$4-di6Rz=#n9;3f{}opXCRi
W2^@Hc^PJKE0000E;G8V`H3Qn*Aaa%P1cN+bl?f1V*C-x|5IH4S4sYF)B4|}`oBT(
zf2ZO9TIv7YM*mwiL52fuuagHkb#~DIMS=etg#J%*1i5*t>;Eav|EGEUpYHX)-}?VV
zd!U+sKu-Z(RU-{@Ina@10{`n3K(@^A`By3Szd{(~uQnZ^$^WXQKz=C~1bMSr^?#2!
z$o+-v|NCt@^`6`ShL=l8kY6x^5Ucc$lQVLRv=ur2{`~yz{+W}Jojuzd&XN
zPv!GxMG3juFXiSxGplQRBv+_q>D}TGb>o=#mTbp2f3}?}yuI^R$5Qt=o6!90g}0Wd
zEdN?#xTfGy$lA#4pn}E6cD_qiKE|$k)^d~Esti#XU+=<4T&G#B?S7=}Og)}1uTy!>
zUeid&>wuV+(%u!1XMEHwNcqa>8qOvY_uyt|Nb@4T$J!4zwT3u*=RSN;#l-ZjpxZ>b
zvE%)ni;_`i4_SOWUBGVnEynH#_x$U*^4C4g#L`|xy_ejzcO7SZ)o1H+W%b@YpCk2C
zfBU9PvvafHmk%
z=o2;#{*7)s6I-KGpZGU~s!8b>|7iaG{X_p>rUhz`_mswdQvk*igQu&X%Q~loCIH6m
BfqMV|
literal 0
HcmV?d00001
diff --git a/static/images/purple/tabbar/cart.png b/static/images/purple/tabbar/cart.png
new file mode 100644
index 0000000000000000000000000000000000000000..8eaa69fed09570460defca2c46f9306f9892983a
GIT binary patch
literal 1017
zcmVh-dkOVfb}Z^l(k`hiUqJS@nr(`hZ{ek8u2rZv22>_K0cub5Qe+aQk{$
z^lL}&b5QbyX83AF?_@pfbyD+xUH6S`{Aok)cT@CyT=#og_H$72e_!`#L-3Mx{eE2b
zZcFluZ2W#)_j_9RbyM_gM(}`K`fyG0ZAkEhWB7t$_kUgXbW!tqSoMKm_jp$HYDVvc
zW%zkl^lL}(a!>MZO7MMK^>>G@{Mo%h-vwZZTn_H
z?vHW&ds*~oL+`4zd~*N*0AF-cPE!EY&4hdgC%ULC68_$@m4|?RX*oA9BMuAv`SS7V
z=i=JFx2TzxlaGsve{F1QW@24hQc_1mDjod%{QUd*`1kei=;q_n(a_4lz`whw9kB-g~>Z
zWn%%cSW7A6fA_TB-n5sI{^}>+tD6H
z0G4$(8cSf6ZMbpqvwLoSX?5)^7z~9%8yj6{)7JXY7cKRE^KC+txx6lxk74puudnIx
zhq3m?*z5UARq3*%!NzEcIex;aN?ZxUvHhzq=D5t2IZRor1f6%7>ZfTZbl_T<
zao9&k?Ow;E|ELE#TeeR|=n!^zJKgsvit?9EBZ~4N0&OkIvit>zsEj)N>F|5G=BJar
nRvWQFdrto{P|?MG7u;*Nx{&y^#n~6$00000NkvXXu0mjf`TQGg
literal 0
HcmV?d00001
diff --git a/static/images/purple/tabbar/category.png b/static/images/purple/tabbar/category.png
new file mode 100644
index 0000000000000000000000000000000000000000..7119d5bdd069202c25cd5fa4d2ec963e807d8d18
GIT binary patch
literal 897
zcmV-{1AhF8P)XZn6y_ijq@h;RR6J??f?^nhLWf?@b_PV;0w?S5VNbyM?>Z~SIK
z?v8N%XG8FLS@n5X^@3pdbW!tqTJ@1~|7Jn%k#YTwas7;L{AWV%i){ORTJ~u}?sHM{
zk#hZmWB6}O@nk*jk#hZsYWiwL?qfaejc@yYUG{WR^kzWrkaGNvaQuvI`+ZyWcU1Fd
zLhWTg?vZl*i){OBNbhJu@qkVLXF={|KkS8N`E5z?iE8?5M(=M-@ql3Wa!&GRLhgcM
z_-RD%hiCbIUG`-_?u>2wV?OPOX!?9x_KR%#byD+mQSy#&`*Tq8k8u2UQ}Ze13eo@o
z06uh5PE!CJ1YKQRAzcdl_4B^Iyt=xiq?}zp@P}ztPBW9qRBPe_mSu)?kYC?uE>=JPzP_auUayzF$~l-!v+!*XfgO;MHFokgH5fk3%%9hZVF
zyTaT`)(LT)3k71RcUj+ee8=%ismP^Dc#YD}-l-syUR~C8y&-L(G*B(Crs4O%V`!RI
zmyc0L_4yd;?e>&W6o0T7s_k1<+TwgVnqrNRTy*Plp~E^?Ku{dT$gzi#i@PFlw64Sw
zbxX3-co-M@-97~yuFw~$8#pYn0b{=}QwOLg)IJZl6D$BMB;C)#!vr)Oj_qL^3kM#4
z7YyH{Fq`p*!NbRIGLHa{33bfFWg+c1+ulk8q_<>O=HcdsWm`6u74#eGZY)aVH=4ky
zS`^RnC}-@GduGL`fWP)bU-xfJ
z@{4TxkaGNwar|sY@QiKyfnoS@P4a3)@MuKukaqueQTTC9_I6JHk8u2DK<#8b>~m1^
za8B@LK<04
zMet`q?`T5ybyD+sSoMBg_IOtGZAtKaTJ>;E@q%LbcU1FpQ1XCZ_i07%j&J*fWcY|_
z`f^V4i*5UbX84M0`iE%wZ%pxQNAG=H_JLveWIyd_LhgoV`DQ`xk8%8?35KNr00202
zQchC<`tJz+5BcuvWq>p@e
zaa&bVLoXXVgIvY{00E3iL_t(I%iWXLa)MA4MU5r)-Zjzm-Ydm|SOTJ8NdEs@a^S+b
zfFgNK*6bP1ESJvsK&Y-9VBUlMxD9&Bk*$ZTkvJsSvNc<0;Rw0liHT=W(ua8POySG!*t
zEL;p01DO3Rb)0`KKG@DljQ(!?BZwx(H={s~F^)6Lh#A2ce=ruP6Bq%;Am}jWg^ln6
z4-*I&vwSc#Ch*pm;IKi@V%%rhKHG<}{$Q;3gTa{NIF(aP;DD_^Rg6V07#e#hHX22*
z!+5A^Lv0AtOwJ?lHeL`X4nPGiDMnZalbP>=D>%*l?QB$Ve)?ARsC7}q6fF3n+*L72#}ODX5_zbEzYUVN&=PW0OI032f0rMgWc-HY
Sg9J4I0000