├── .browserslistrc
├── .editorconfig
├── .env.development
├── .env.production
├── .env.test
├── .eslintrc.js
├── .gitignore
├── README-zh_CN.md
├── README.md
├── babel.config.js
├── package.json
├── postcss.config.js
├── public
├── favicon.ico
└── index.html
├── src
├── App.vue
├── assets
│ ├── WechatIMG117.jpeg
│ ├── icons
│ │ ├── left-green-white.png
│ │ ├── rown.png
│ │ └── tabbar
│ │ │ ├── cart.png
│ │ │ ├── cart_active.png
│ │ │ ├── classify.png
│ │ │ ├── classify_active.png
│ │ │ ├── home.png
│ │ │ ├── home_active.png
│ │ │ ├── mine.png
│ │ │ └── mine_active.png
│ ├── image
│ │ ├── back-show.png
│ │ ├── classifyNursing
│ │ │ ├── 商品详情-1.png
│ │ │ ├── 商品详情-2.png
│ │ │ ├── 商品详情-3.png
│ │ │ ├── 商品详情-4.png
│ │ │ ├── 商品详情-首页图.png
│ │ │ ├── 商品详情1-1.png
│ │ │ ├── 商品详情1-2.png
│ │ │ ├── 商品详情1-3.png
│ │ │ ├── 商品详情1-4.png
│ │ │ ├── 手表-1.png
│ │ │ ├── 手表-2.png
│ │ │ ├── 手表-3.png
│ │ │ ├── 手表-4.png
│ │ │ ├── 手表-5.png
│ │ │ ├── 手表-6.png
│ │ │ ├── 护理-1.png
│ │ │ ├── 护理-10.png
│ │ │ ├── 护理-11.png
│ │ │ ├── 护理-12.png
│ │ │ ├── 护理-2.png
│ │ │ ├── 护理-3.png
│ │ │ ├── 护理-4.png
│ │ │ ├── 护理-5.png
│ │ │ ├── 护理-6.png
│ │ │ ├── 护理-7.png
│ │ │ ├── 护理-9.png
│ │ │ ├── 水杯0.png
│ │ │ ├── 水杯1.png
│ │ │ ├── 水杯2.png
│ │ │ ├── 水杯3.png
│ │ │ ├── 水杯4.png
│ │ │ ├── 男鞋0.png
│ │ │ ├── 男鞋1.png
│ │ │ ├── 男鞋2.png
│ │ │ ├── 男鞋3.png
│ │ │ ├── 男鞋4.png
│ │ │ ├── 箱包0.png
│ │ │ ├── 箱包1.png
│ │ │ ├── 箱包2.png
│ │ │ ├── 箱包3.png
│ │ │ ├── 箱包4.png
│ │ │ ├── 美妆-1.png
│ │ │ ├── 美妆-10.png
│ │ │ ├── 美妆-11.png
│ │ │ ├── 美妆-2.png
│ │ │ ├── 美妆-3.png
│ │ │ ├── 美妆-4.png
│ │ │ ├── 美妆-5.png
│ │ │ ├── 美妆-6.png
│ │ │ ├── 美妆-7.png
│ │ │ ├── 美妆-8.png
│ │ │ ├── 美妆-9.png
│ │ │ ├── 运动装备-1.png
│ │ │ ├── 运动装备-10.png
│ │ │ ├── 运动装备-11.png
│ │ │ ├── 运动装备-12.png
│ │ │ ├── 运动装备-2.png
│ │ │ ├── 运动装备-3.png
│ │ │ ├── 运动装备-4.png
│ │ │ ├── 运动装备-5.png
│ │ │ ├── 运动装备-6.png
│ │ │ ├── 运动装备-7.png
│ │ │ ├── 运动装备-9.png
│ │ │ ├── 钟表-1.png
│ │ │ ├── 钟表-10.png
│ │ │ ├── 钟表-11.png
│ │ │ ├── 钟表-2.png
│ │ │ ├── 钟表-3.png
│ │ │ ├── 钟表-4.png
│ │ │ ├── 钟表-5.png
│ │ │ ├── 钟表-6.png
│ │ │ ├── 钟表-7.png
│ │ │ ├── 钟表-8.png
│ │ │ └── 钟表-9.png
│ │ ├── home
│ │ │ ├── banner5.jpg
│ │ │ ├── banner6.jpg
│ │ │ ├── banner7.jpg
│ │ │ ├── banner8.jpg
│ │ │ ├── demo1.png
│ │ │ ├── demo10.png
│ │ │ ├── demo11.png
│ │ │ ├── demo12.png
│ │ │ ├── demo13.png
│ │ │ ├── demo2.png
│ │ │ ├── demo3.png
│ │ │ ├── demo4.png
│ │ │ ├── demo5.png
│ │ │ ├── demo6.png
│ │ │ ├── demo7.png
│ │ │ ├── demo8.png
│ │ │ ├── demo9.png
│ │ │ ├── huawei1.png
│ │ │ ├── store-logo.png
│ │ │ ├── store-logo2.png
│ │ │ ├── store1.png
│ │ │ ├── store2.png
│ │ │ ├── store3.png
│ │ │ ├── store4.png
│ │ │ ├── store5.png
│ │ │ ├── store6.png
│ │ │ ├── test1.png
│ │ │ ├── test10.png
│ │ │ ├── test11.png
│ │ │ ├── test2.png
│ │ │ ├── test3.png
│ │ │ ├── test4.png
│ │ │ ├── test5.png
│ │ │ ├── test6.png
│ │ │ ├── test7.png
│ │ │ ├── test8.png
│ │ │ └── test9.png
│ │ ├── left_icon.png
│ │ ├── premiumRanking
│ │ │ ├── demo0.png
│ │ │ ├── demo1.png
│ │ │ ├── demo2.png
│ │ │ └── demo3.png
│ │ ├── product
│ │ │ ├── area-node-img.png
│ │ │ ├── area-node.png
│ │ │ ├── bule0.png
│ │ │ ├── bule1.png
│ │ │ ├── bule2.png
│ │ │ ├── err0.png
│ │ │ ├── err1.png
│ │ │ ├── err2.png
│ │ │ ├── gray-node-img.png
│ │ │ ├── header-good.png
│ │ │ ├── industry-node-img.png
│ │ │ ├── industry-node.png
│ │ │ ├── jd_logo.jpg
│ │ │ ├── municipal-node-img.png
│ │ │ ├── municipal-node.png
│ │ │ ├── rectangle-left.png
│ │ │ ├── rectangle-right.png
│ │ │ ├── share-apply.png
│ │ │ ├── share-node-img.png
│ │ │ ├── sharing-node.png
│ │ │ ├── spike0.png
│ │ │ ├── spike1.png
│ │ │ ├── spike2.png
│ │ │ ├── state-node-img.png
│ │ │ ├── state-node.png
│ │ │ ├── store-header.png
│ │ │ ├── store-headerM.png
│ │ │ ├── store-new.png
│ │ │ ├── super-node-img.png
│ │ │ ├── super-node.png
│ │ │ ├── watch0.png
│ │ │ ├── watch1.png
│ │ │ ├── watch2.png
│ │ │ └── 矩形 234.png
│ │ ├── setting
│ │ │ └── logo.png
│ │ ├── shopCart
│ │ │ ├── 购物车-1.png
│ │ │ ├── 购物车-2.png
│ │ │ ├── 购物车-3.png
│ │ │ ├── 购物车-4.png
│ │ │ ├── 购物车-5.png
│ │ │ ├── 购物车-6.png
│ │ │ └── 购物车-7.png
│ │ ├── top-logo.png
│ │ ├── wallet-right-white.png
│ │ ├── wallet-two-big.png
│ │ └── wallet-two-img.png
│ └── logo.png
├── components
│ ├── DropList
│ │ ├── index.js
│ │ └── index.vue
│ ├── ProgressBar
│ │ └── index.vue
│ ├── SvgIcon
│ │ └── index.vue
│ ├── index.js
│ ├── picker
│ │ └── index.vue
│ ├── popup
│ │ └── index.vue
│ ├── scroll
│ │ └── ListScroll.vue
│ └── tabbar
│ │ └── index.vue
├── icons
│ ├── index.js
│ └── svgs
│ │ ├── add.svg
│ │ ├── address-company.svg
│ │ ├── address-home.svg
│ │ ├── address-school.svg
│ │ ├── advertisement-pool.svg
│ │ ├── aircraft.svg
│ │ ├── alipay-icon.svg
│ │ ├── all-orders.svg
│ │ ├── anchor-point.svg
│ │ ├── arrow-down.svg
│ │ ├── arrow.svg
│ │ ├── be-delivered.svg
│ │ ├── bell-icon-blak.svg
│ │ ├── bell-icon.svg
│ │ ├── businessmen-stationed.svg
│ │ ├── calendar-wallet-order.svg
│ │ ├── chain-cat-boutique.svg
│ │ ├── chain-cat-member.svg
│ │ ├── close-popup.svg
│ │ ├── cm-area.svg
│ │ ├── coin-pay.svg
│ │ ├── collar-cm.svg
│ │ ├── consumption-pool.svg
│ │ ├── copy-link.svg
│ │ ├── correct.svg
│ │ ├── coupon-svg.svg
│ │ ├── courier.svg
│ │ ├── customer-service.svg
│ │ ├── dialog-close.svg
│ │ ├── feedback-svg.svg
│ │ ├── gray-btn.svg
│ │ ├── green-btn.svg
│ │ ├── heart-full.svg
│ │ ├── heart-null-black.svg
│ │ ├── heart-null.svg
│ │ ├── help-center.svg
│ │ ├── hot.svg
│ │ ├── icon-alertwarn.svg
│ │ ├── icon-delete.svg
│ │ ├── left-btn.svg
│ │ ├── logistics-logo.svg
│ │ ├── message-center.svg
│ │ ├── message-round.svg
│ │ ├── mini-right-btn.svg
│ │ ├── my-assets.svg
│ │ ├── my-complaint.svg
│ │ ├── my-reminder.svg
│ │ ├── node-application.svg
│ │ ├── node-pool.svg
│ │ ├── notice-wallet.svg
│ │ ├── order-info.svg
│ │ ├── pay-success.svg
│ │ ├── pending-pay.svg
│ │ ├── pending-receipt.svg
│ │ ├── point.svg
│ │ ├── pool-count.svg
│ │ ├── processbar.svg
│ │ ├── product-help.svg
│ │ ├── qq-icon.svg
│ │ ├── qq-space.svg
│ │ ├── question-mark.svg
│ │ ├── red-flag.svg
│ │ ├── right-arrow.svg
│ │ ├── search.svg
│ │ ├── setting.svg
│ │ ├── share-btn-black.svg
│ │ ├── share-btn.svg
│ │ ├── sharing-links.svg
│ │ ├── shipped.svg
│ │ ├── shipping-address.svg
│ │ ├── shopping-cart.svg
│ │ ├── sigh.svg
│ │ ├── therr-point.svg
│ │ ├── transparent-btn.svg
│ │ ├── wallet-balance-icon.svg
│ │ ├── wallet-balance.svg
│ │ ├── wallet-consumption-icon.svg
│ │ ├── wallet-consumption.svg
│ │ ├── wallet-four-big.svg
│ │ ├── wallet-four.svg
│ │ ├── wallet-one-big.svg
│ │ ├── wallet-one.svg
│ │ ├── wallet-order-message.svg
│ │ ├── wallet-right-arrow.svg
│ │ ├── wallet-right-gray-arrow.svg
│ │ ├── wallet-three-big.svg
│ │ ├── wallet-three.svg
│ │ ├── wallet-two-big.svg
│ │ ├── wallet-two.svg
│ │ ├── we-blog.svg
│ │ ├── we-char.svg
│ │ ├── we-chat-friends.svg
│ │ └── white-btn.svg
├── main.js
├── mock
│ ├── area.js
│ └── mock.js
├── plugins
│ └── axios.js
├── router
│ ├── index.js
│ └── modules
│ │ ├── aboutAs.js
│ │ ├── addAddress.js
│ │ ├── advertisementPool.js
│ │ ├── appeal.js
│ │ ├── appealDetail.js
│ │ ├── appealRecord.js
│ │ ├── areaNode.js
│ │ ├── balanceWallet.js
│ │ ├── brandSpike.js
│ │ ├── cancelOrder.js
│ │ ├── chainCatSpike.js
│ │ ├── changePassword.js
│ │ ├── cityNode.js
│ │ ├── consumerWallet.js
│ │ ├── consumptionPool.js
│ │ ├── countryRegion.js
│ │ ├── emailRegister.js
│ │ ├── emailRegisterTwo.js
│ │ ├── feedback.js
│ │ ├── forgetPassword.js
│ │ ├── foundGoodGoods.js
│ │ ├── helpCenter.js
│ │ ├── industryNode.js
│ │ ├── login.js
│ │ ├── loveShop.js
│ │ ├── messageCenter.js
│ │ ├── myFocus.js
│ │ ├── myWallet.js
│ │ ├── newProductLaunch.js
│ │ ├── nodeApplication.js
│ │ ├── nodePool.js
│ │ ├── order.js
│ │ ├── orderDetail.js
│ │ ├── pendingReceipt.js
│ │ ├── personInfo.js
│ │ ├── phoneNumberSetting.js
│ │ ├── phoneRegister.js
│ │ ├── phoneRegisterTwo.js
│ │ ├── premiumRanking.js
│ │ ├── product.js
│ │ ├── recommend.js
│ │ ├── search.js
│ │ ├── setting.js
│ │ ├── settingMail.js
│ │ ├── shippingAddress.js
│ │ ├── specialSpike.js
│ │ ├── stateNode.js
│ │ ├── storeDetail.js
│ │ ├── superNode.js
│ │ ├── tabbar.js
│ │ ├── toBeDelivered.js
│ │ ├── transactionDetails.js
│ │ └── viewLogistics.js
├── store
│ ├── index.js
│ └── modules
│ │ ├── cart.js
│ │ └── search.js
├── styles
│ ├── base.scss
│ ├── index.scss
│ └── mixin.scss
├── utils
│ ├── eventBus.js
│ └── util.js
└── views
│ ├── brandSpike
│ └── index.vue
│ ├── chainCatSpike
│ └── index.vue
│ ├── classify
│ ├── index.scss
│ ├── index.vue
│ └── recommend.vue
│ ├── error
│ ├── 404.vue
│ └── NoPermission.vue
│ ├── foundGoodGoods
│ └── index.vue
│ ├── home
│ ├── index.scss
│ └── index.vue
│ ├── index.vue
│ ├── login
│ └── index.vue
│ ├── loveShop
│ └── index.vue
│ ├── mine
│ ├── aboutAs.vue
│ ├── addAddress.vue
│ ├── changePassword.vue
│ ├── countryRegion.vue
│ ├── feedback.vue
│ ├── forgetPassword.vue
│ ├── helpCenter.vue
│ ├── index.vue
│ ├── messageCenter.vue
│ ├── personInfo.vue
│ ├── phoneNumberSetting.vue
│ ├── setInfo.vue
│ ├── setting.vue
│ ├── settingMail.vue
│ └── shippingAddress.vue
│ ├── myFocus
│ └── index.vue
│ ├── newProductLaunch
│ └── index.vue
│ ├── node
│ ├── areaNode.vue
│ ├── cityNode.vue
│ ├── industryNode.vue
│ ├── nodeApplication.vue
│ ├── stateNode.vue
│ └── superNode.vue
│ ├── order
│ ├── appeal.vue
│ ├── appealDetail.vue
│ ├── appealRecord.vue
│ ├── cancelOrder.vue
│ ├── index.vue
│ ├── orderDetail.vue
│ ├── pendingReceipt.vue
│ ├── toBeDelivered.vue
│ ├── transactionDetails.vue
│ └── viewLogistics.vue
│ ├── pool
│ ├── advertisementPool.vue
│ ├── consumptionPool.vue
│ └── nodePool.vue
│ ├── premiumRanking
│ └── index.vue
│ ├── product
│ └── index.vue
│ ├── register
│ ├── emailRegister.vue
│ ├── emailRegisterTwo.vue
│ ├── phoneRegister.vue
│ └── phoneRegisterTwo.vue
│ ├── search
│ └── index.vue
│ ├── shopCart
│ └── index.vue
│ ├── specialSpike
│ └── index.vue
│ ├── storeDetail
│ └── index.vue
│ └── wallet
│ ├── balanceWallet.vue
│ ├── consumerWallet.vue
│ └── myWallet.vue
├── vue.config.js
└── yarn.lock
/.browserslistrc:
--------------------------------------------------------------------------------
1 | > 1%
2 | last 2 versions
3 | not dead
4 |
--------------------------------------------------------------------------------
/.editorconfig:
--------------------------------------------------------------------------------
1 | [*.{js,jsx,ts,tsx,vue,json}]
2 | indent_style = space
3 | indent_size = 2
4 | trim_trailing_whitespace = true
5 | insert_final_newline = true
6 |
--------------------------------------------------------------------------------
/.env.development:
--------------------------------------------------------------------------------
1 | NODE_ENV = "development"
2 |
3 | VUE_APP_BASE_URL = "http://192.168.2.13:9070"
--------------------------------------------------------------------------------
/.env.production:
--------------------------------------------------------------------------------
1 | NODE_ENV = "production"
2 |
3 | VUE_APP_BASE_URL = "http://api.cmall.world"
--------------------------------------------------------------------------------
/.env.test:
--------------------------------------------------------------------------------
1 | NODE_ENV = "test"
2 | VUE_APP_BASE_URL = "https://easy-mock.com/mock/5c4c50b9888ef15de01bec2c/api"
--------------------------------------------------------------------------------
/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | root: true,
3 | env: {
4 | node: true
5 | },
6 | extends: [
7 | 'plugin:vue/vue3-essential',
8 | ],
9 | // '@vue/standard'
10 | parserOptions: {
11 | parser: 'babel-eslint'
12 | },
13 | rules: {
14 | 'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
15 | 'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off'
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules
3 | /dist
4 |
5 |
6 | # local env files
7 | .env.local
8 | .env.*.local
9 |
10 | # Log files
11 | npm-debug.log*
12 | yarn-debug.log*
13 | yarn-error.log*
14 | pnpm-debug.log*
15 |
16 | # Editor directories and files
17 | .idea
18 | .vscode
19 | *.suo
20 | *.ntvs*
21 | *.njsproj
22 | *.sln
23 | *.sw?
24 |
--------------------------------------------------------------------------------
/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | presets: [
3 | '@vue/cli-plugin-babel/preset'
4 | ]
5 | }
6 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "refactor-with-vue3",
3 | "version": "0.1.0",
4 | "private": true,
5 | "scripts": {
6 | "serve": "vue-cli-service serve",
7 | "build": "vue-cli-service build",
8 | "lint": "eslint --fix --ext .js,.vue src"
9 | },
10 | "dependencies": {
11 | "axios": "^1.7.4",
12 | "better-scroll": "^2.0.7",
13 | "core-js": "^3.6.5",
14 | "lib-flexible": "^0.3.2",
15 | "mitt": "^2.1.0",
16 | "vant": "^3.0.0",
17 | "vue": "^3.0.0",
18 | "vue-router": "^4.0.0-0",
19 | "vuex": "^4.0.0-0"
20 | },
21 | "devDependencies": {
22 | "@vue/cli-plugin-babel": "~4.5.0",
23 | "@vue/cli-plugin-eslint": "~4.5.0",
24 | "@vue/cli-plugin-router": "~4.5.0",
25 | "@vue/cli-plugin-vuex": "~4.5.0",
26 | "@vue/cli-service": "~4.5.0",
27 | "@vue/compiler-sfc": "^3.0.0",
28 | "@vue/eslint-config-standard": "^5.1.2",
29 | "babel-eslint": "^10.1.0",
30 | "eslint": "^6.7.2",
31 | "eslint-plugin-import": "^2.20.2",
32 | "eslint-plugin-node": "^11.1.0",
33 | "eslint-plugin-promise": "^4.2.1",
34 | "eslint-plugin-standard": "^4.0.0",
35 | "eslint-plugin-vue": "^7.0.0-0",
36 | "mockjs": "^1.1.0",
37 | "postcss-pxtorem": "^5.1.1",
38 | "sass": "^1.49.9",
39 | "sass-loader": "^8.0.2",
40 | "svg-sprite-loader": "^5.2.1",
41 | "vue-click-outside": "^1.1.0"
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/postcss.config.js:
--------------------------------------------------------------------------------
1 | /*
2 | * @version: v 1.0.0
3 | * @Github: https://github.com/GitHubGanKai
4 | * @Author: GitHubGanKai
5 | * @Date: 2020-12-27 20:36:26
6 | * @LastEditors: gankai
7 | * @LastEditTime: 2020-12-27 20:37:37
8 | * @FilePath: /refactor-with-vue3/postcss.config.js
9 | */
10 | module.exports = {
11 | plugins: {
12 | 'postcss-pxtorem': {
13 | rootValue: 37.5,
14 | propList: ['*']
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/public/favicon.ico
--------------------------------------------------------------------------------
/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | <%= htmlWebpackPlugin.options.title %>
9 |
10 |
11 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/src/App.vue:
--------------------------------------------------------------------------------
1 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
21 |
33 |
--------------------------------------------------------------------------------
/src/assets/WechatIMG117.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/WechatIMG117.jpeg
--------------------------------------------------------------------------------
/src/assets/icons/left-green-white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/icons/left-green-white.png
--------------------------------------------------------------------------------
/src/assets/icons/rown.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/icons/rown.png
--------------------------------------------------------------------------------
/src/assets/icons/tabbar/cart.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/icons/tabbar/cart.png
--------------------------------------------------------------------------------
/src/assets/icons/tabbar/cart_active.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/icons/tabbar/cart_active.png
--------------------------------------------------------------------------------
/src/assets/icons/tabbar/classify.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/icons/tabbar/classify.png
--------------------------------------------------------------------------------
/src/assets/icons/tabbar/classify_active.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/icons/tabbar/classify_active.png
--------------------------------------------------------------------------------
/src/assets/icons/tabbar/home.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/icons/tabbar/home.png
--------------------------------------------------------------------------------
/src/assets/icons/tabbar/home_active.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/icons/tabbar/home_active.png
--------------------------------------------------------------------------------
/src/assets/icons/tabbar/mine.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/icons/tabbar/mine.png
--------------------------------------------------------------------------------
/src/assets/icons/tabbar/mine_active.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/icons/tabbar/mine_active.png
--------------------------------------------------------------------------------
/src/assets/image/back-show.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/back-show.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/商品详情-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/商品详情-1.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/商品详情-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/商品详情-2.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/商品详情-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/商品详情-3.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/商品详情-4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/商品详情-4.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/商品详情-首页图.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/商品详情-首页图.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/商品详情1-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/商品详情1-1.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/商品详情1-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/商品详情1-2.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/商品详情1-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/商品详情1-3.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/商品详情1-4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/商品详情1-4.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/手表-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/手表-1.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/手表-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/手表-2.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/手表-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/手表-3.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/手表-4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/手表-4.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/手表-5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/手表-5.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/手表-6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/手表-6.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/护理-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/护理-1.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/护理-10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/护理-10.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/护理-11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/护理-11.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/护理-12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/护理-12.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/护理-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/护理-2.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/护理-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/护理-3.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/护理-4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/护理-4.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/护理-5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/护理-5.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/护理-6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/护理-6.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/护理-7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/护理-7.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/护理-9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/护理-9.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/水杯0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/水杯0.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/水杯1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/水杯1.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/水杯2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/水杯2.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/水杯3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/水杯3.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/水杯4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/水杯4.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/男鞋0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/男鞋0.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/男鞋1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/男鞋1.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/男鞋2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/男鞋2.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/男鞋3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/男鞋3.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/男鞋4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/男鞋4.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/箱包0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/箱包0.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/箱包1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/箱包1.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/箱包2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/箱包2.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/箱包3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/箱包3.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/箱包4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/箱包4.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/美妆-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/美妆-1.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/美妆-10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/美妆-10.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/美妆-11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/美妆-11.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/美妆-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/美妆-2.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/美妆-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/美妆-3.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/美妆-4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/美妆-4.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/美妆-5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/美妆-5.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/美妆-6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/美妆-6.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/美妆-7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/美妆-7.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/美妆-8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/美妆-8.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/美妆-9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/美妆-9.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/运动装备-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/运动装备-1.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/运动装备-10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/运动装备-10.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/运动装备-11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/运动装备-11.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/运动装备-12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/运动装备-12.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/运动装备-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/运动装备-2.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/运动装备-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/运动装备-3.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/运动装备-4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/运动装备-4.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/运动装备-5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/运动装备-5.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/运动装备-6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/运动装备-6.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/运动装备-7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/运动装备-7.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/运动装备-9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/运动装备-9.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/钟表-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/钟表-1.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/钟表-10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/钟表-10.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/钟表-11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/钟表-11.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/钟表-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/钟表-2.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/钟表-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/钟表-3.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/钟表-4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/钟表-4.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/钟表-5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/钟表-5.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/钟表-6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/钟表-6.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/钟表-7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/钟表-7.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/钟表-8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/钟表-8.png
--------------------------------------------------------------------------------
/src/assets/image/classifyNursing/钟表-9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/classifyNursing/钟表-9.png
--------------------------------------------------------------------------------
/src/assets/image/home/banner5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/home/banner5.jpg
--------------------------------------------------------------------------------
/src/assets/image/home/banner6.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/home/banner6.jpg
--------------------------------------------------------------------------------
/src/assets/image/home/banner7.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/home/banner7.jpg
--------------------------------------------------------------------------------
/src/assets/image/home/banner8.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/home/banner8.jpg
--------------------------------------------------------------------------------
/src/assets/image/home/demo1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/home/demo1.png
--------------------------------------------------------------------------------
/src/assets/image/home/demo10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/home/demo10.png
--------------------------------------------------------------------------------
/src/assets/image/home/demo11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/home/demo11.png
--------------------------------------------------------------------------------
/src/assets/image/home/demo12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/home/demo12.png
--------------------------------------------------------------------------------
/src/assets/image/home/demo13.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/home/demo13.png
--------------------------------------------------------------------------------
/src/assets/image/home/demo2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/home/demo2.png
--------------------------------------------------------------------------------
/src/assets/image/home/demo3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/home/demo3.png
--------------------------------------------------------------------------------
/src/assets/image/home/demo4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/home/demo4.png
--------------------------------------------------------------------------------
/src/assets/image/home/demo5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/home/demo5.png
--------------------------------------------------------------------------------
/src/assets/image/home/demo6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/home/demo6.png
--------------------------------------------------------------------------------
/src/assets/image/home/demo7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/home/demo7.png
--------------------------------------------------------------------------------
/src/assets/image/home/demo8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/home/demo8.png
--------------------------------------------------------------------------------
/src/assets/image/home/demo9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/home/demo9.png
--------------------------------------------------------------------------------
/src/assets/image/home/huawei1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/home/huawei1.png
--------------------------------------------------------------------------------
/src/assets/image/home/store-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/home/store-logo.png
--------------------------------------------------------------------------------
/src/assets/image/home/store-logo2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/home/store-logo2.png
--------------------------------------------------------------------------------
/src/assets/image/home/store1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/home/store1.png
--------------------------------------------------------------------------------
/src/assets/image/home/store2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/home/store2.png
--------------------------------------------------------------------------------
/src/assets/image/home/store3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/home/store3.png
--------------------------------------------------------------------------------
/src/assets/image/home/store4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/home/store4.png
--------------------------------------------------------------------------------
/src/assets/image/home/store5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/home/store5.png
--------------------------------------------------------------------------------
/src/assets/image/home/store6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/home/store6.png
--------------------------------------------------------------------------------
/src/assets/image/home/test1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/home/test1.png
--------------------------------------------------------------------------------
/src/assets/image/home/test10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/home/test10.png
--------------------------------------------------------------------------------
/src/assets/image/home/test11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/home/test11.png
--------------------------------------------------------------------------------
/src/assets/image/home/test2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/home/test2.png
--------------------------------------------------------------------------------
/src/assets/image/home/test3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/home/test3.png
--------------------------------------------------------------------------------
/src/assets/image/home/test4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/home/test4.png
--------------------------------------------------------------------------------
/src/assets/image/home/test5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/home/test5.png
--------------------------------------------------------------------------------
/src/assets/image/home/test6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/home/test6.png
--------------------------------------------------------------------------------
/src/assets/image/home/test7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/home/test7.png
--------------------------------------------------------------------------------
/src/assets/image/home/test8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/home/test8.png
--------------------------------------------------------------------------------
/src/assets/image/home/test9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/home/test9.png
--------------------------------------------------------------------------------
/src/assets/image/left_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/left_icon.png
--------------------------------------------------------------------------------
/src/assets/image/premiumRanking/demo0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/premiumRanking/demo0.png
--------------------------------------------------------------------------------
/src/assets/image/premiumRanking/demo1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/premiumRanking/demo1.png
--------------------------------------------------------------------------------
/src/assets/image/premiumRanking/demo2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/premiumRanking/demo2.png
--------------------------------------------------------------------------------
/src/assets/image/premiumRanking/demo3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/premiumRanking/demo3.png
--------------------------------------------------------------------------------
/src/assets/image/product/area-node-img.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/product/area-node-img.png
--------------------------------------------------------------------------------
/src/assets/image/product/area-node.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/product/area-node.png
--------------------------------------------------------------------------------
/src/assets/image/product/bule0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/product/bule0.png
--------------------------------------------------------------------------------
/src/assets/image/product/bule1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/product/bule1.png
--------------------------------------------------------------------------------
/src/assets/image/product/bule2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/product/bule2.png
--------------------------------------------------------------------------------
/src/assets/image/product/err0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/product/err0.png
--------------------------------------------------------------------------------
/src/assets/image/product/err1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/product/err1.png
--------------------------------------------------------------------------------
/src/assets/image/product/err2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/product/err2.png
--------------------------------------------------------------------------------
/src/assets/image/product/gray-node-img.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/product/gray-node-img.png
--------------------------------------------------------------------------------
/src/assets/image/product/header-good.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/product/header-good.png
--------------------------------------------------------------------------------
/src/assets/image/product/industry-node-img.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/product/industry-node-img.png
--------------------------------------------------------------------------------
/src/assets/image/product/industry-node.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/product/industry-node.png
--------------------------------------------------------------------------------
/src/assets/image/product/jd_logo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/product/jd_logo.jpg
--------------------------------------------------------------------------------
/src/assets/image/product/municipal-node-img.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/product/municipal-node-img.png
--------------------------------------------------------------------------------
/src/assets/image/product/municipal-node.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/product/municipal-node.png
--------------------------------------------------------------------------------
/src/assets/image/product/rectangle-left.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/product/rectangle-left.png
--------------------------------------------------------------------------------
/src/assets/image/product/rectangle-right.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/product/rectangle-right.png
--------------------------------------------------------------------------------
/src/assets/image/product/share-apply.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/product/share-apply.png
--------------------------------------------------------------------------------
/src/assets/image/product/share-node-img.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/product/share-node-img.png
--------------------------------------------------------------------------------
/src/assets/image/product/sharing-node.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/product/sharing-node.png
--------------------------------------------------------------------------------
/src/assets/image/product/spike0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/product/spike0.png
--------------------------------------------------------------------------------
/src/assets/image/product/spike1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/product/spike1.png
--------------------------------------------------------------------------------
/src/assets/image/product/spike2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/product/spike2.png
--------------------------------------------------------------------------------
/src/assets/image/product/state-node-img.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/product/state-node-img.png
--------------------------------------------------------------------------------
/src/assets/image/product/state-node.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/product/state-node.png
--------------------------------------------------------------------------------
/src/assets/image/product/store-header.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/product/store-header.png
--------------------------------------------------------------------------------
/src/assets/image/product/store-headerM.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/product/store-headerM.png
--------------------------------------------------------------------------------
/src/assets/image/product/store-new.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/product/store-new.png
--------------------------------------------------------------------------------
/src/assets/image/product/super-node-img.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/product/super-node-img.png
--------------------------------------------------------------------------------
/src/assets/image/product/super-node.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/product/super-node.png
--------------------------------------------------------------------------------
/src/assets/image/product/watch0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/product/watch0.png
--------------------------------------------------------------------------------
/src/assets/image/product/watch1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/product/watch1.png
--------------------------------------------------------------------------------
/src/assets/image/product/watch2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/product/watch2.png
--------------------------------------------------------------------------------
/src/assets/image/product/矩形 234.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/product/矩形 234.png
--------------------------------------------------------------------------------
/src/assets/image/setting/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/setting/logo.png
--------------------------------------------------------------------------------
/src/assets/image/shopCart/购物车-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/shopCart/购物车-1.png
--------------------------------------------------------------------------------
/src/assets/image/shopCart/购物车-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/shopCart/购物车-2.png
--------------------------------------------------------------------------------
/src/assets/image/shopCart/购物车-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/shopCart/购物车-3.png
--------------------------------------------------------------------------------
/src/assets/image/shopCart/购物车-4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/shopCart/购物车-4.png
--------------------------------------------------------------------------------
/src/assets/image/shopCart/购物车-5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/shopCart/购物车-5.png
--------------------------------------------------------------------------------
/src/assets/image/shopCart/购物车-6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/shopCart/购物车-6.png
--------------------------------------------------------------------------------
/src/assets/image/shopCart/购物车-7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/shopCart/购物车-7.png
--------------------------------------------------------------------------------
/src/assets/image/top-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/top-logo.png
--------------------------------------------------------------------------------
/src/assets/image/wallet-right-white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/wallet-right-white.png
--------------------------------------------------------------------------------
/src/assets/image/wallet-two-big.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/wallet-two-big.png
--------------------------------------------------------------------------------
/src/assets/image/wallet-two-img.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/image/wallet-two-img.png
--------------------------------------------------------------------------------
/src/assets/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekskai/vue3-jd-h5/d545a06ad3c4912f24324dbaae0f8ca42d24d94c/src/assets/logo.png
--------------------------------------------------------------------------------
/src/components/DropList/index.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import './index.css'
3 |
4 | export default Vue.component('DropList', {
5 | data() {
6 | return {
7 | top: (this.config.position && this.config.position.top) || null,
8 | right: (this.config.position && this.config.position.right) || null,
9 | bottom: (this.config.position && this.config.position.bottom) || null,
10 | left: (this.config.position && this.config.position.left) || null,
11 | width: this.config.width || null,
12 | list: this.config.list || [],
13 | isShow: this.config.isShow || false
14 | }
15 | },
16 | props: ['config'],
17 | methods: {
18 | show() {
19 | this.isShow = true
20 | },
21 | hidden() {
22 | this.isShow = false
23 | },
24 | Action(callback) {
25 | callback()
26 | this.hidden()
27 | }
28 | },
29 | template: `
30 |
36 | `
37 | })
--------------------------------------------------------------------------------
/src/components/DropList/index.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
19 |
25 |
26 | {{ item.text }}
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
68 |
69 |
110 |
--------------------------------------------------------------------------------
/src/components/ProgressBar/index.vue:
--------------------------------------------------------------------------------
1 |
10 |
11 |
12 |
13 |
14 |
15 |
已售{{ 55 }}%
16 |
17 |
18 |
19 |
20 |
21 |
33 |
34 |
66 |
--------------------------------------------------------------------------------
/src/components/SvgIcon/index.vue:
--------------------------------------------------------------------------------
1 |
10 |
11 |
14 |
15 |
16 |
48 |
49 |
58 |
--------------------------------------------------------------------------------
/src/components/index.js:
--------------------------------------------------------------------------------
1 | /*
2 | * @version: v 1.0.0
3 | * @Github: https://github.com/GitHubGanKai
4 | * @Author: GitHubGanKai
5 | * @Date: 2021-01-01 13:57:27
6 | * @LastEditors: gankai
7 | * @LastEditTime: 2021-01-02 13:27:58
8 | * @FilePath: /refactor-with-vue3/src/components/index.js
9 | */
10 |
11 | function capitalizeFirstLetter(str) {
12 | return str.charAt(0).toUpperCase() + str.slice(1)
13 | }
14 |
15 | function validateFileName(str) {
16 | return /^\S+\.vue$/.test(str) &&
17 | str.replace(/^\S+\/(\w+)\.vue$/, (rs, $1) => capitalizeFirstLetter($1))
18 | }
19 |
20 | const requireComponent = require.context('.', true, /\.vue$/)
21 |
22 | export default {
23 | install(app) {
24 | // 找到组件文件夹下以.vue命名的文件,如果文件名为index,那么取组件中的name作为注册的组件名
25 | requireComponent.keys().forEach(filePath => {
26 | const componentConfig = requireComponent(filePath)
27 | const fileName = validateFileName(filePath)
28 | const componentName = fileName.toLowerCase() === 'index' ?
29 | capitalizeFirstLetter(componentConfig.default.name) :
30 | fileName
31 | app.component(componentName, componentConfig.default || componentConfig)
32 | })
33 | }
34 | }
--------------------------------------------------------------------------------
/src/components/popup/index.vue:
--------------------------------------------------------------------------------
1 |
10 |
11 |
25 |
26 |
27 |
50 |
51 |
106 |
--------------------------------------------------------------------------------
/src/components/tabbar/index.vue:
--------------------------------------------------------------------------------
1 |
10 |
11 |
12 |
20 |
21 | 首页
22 |
23 |
24 | 分类
25 |
26 |
32 | 购物车
33 |
34 |
35 | 我
36 |
37 |
38 |
39 |
40 |
41 |
75 |
--------------------------------------------------------------------------------
/src/icons/index.js:
--------------------------------------------------------------------------------
1 | /*
2 | * @version: v 1.0.0
3 | * @Github: https://github.com/GitHubGanKai
4 | * @Author: GitHubGanKai
5 | * @Date: 2021-01-02 13:21:37
6 | * @LastEditors: gankai
7 | * @LastEditTime: 2021-01-02 13:26:38
8 | * @FilePath: /refactor-with-vue3/src/icons/index.js
9 | */
10 | import SvgIcon from '@/components/SvgIcon'
11 |
12 | const requireAll = requireContext => requireContext.keys().map(requireContext)
13 |
14 | export default {
15 | install(app) {
16 | app.component('svg-icon', SvgIcon);
17 | const req = require.context('./svgs/', false, /\.svg$/)
18 | requireAll(req)
19 | }
20 | }
--------------------------------------------------------------------------------
/src/icons/svgs/add.svg:
--------------------------------------------------------------------------------
1 |
22 |
--------------------------------------------------------------------------------
/src/icons/svgs/address-company.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/svgs/address-home.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/svgs/alipay-icon.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/svgs/all-orders.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/icons/svgs/anchor-point.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/icons/svgs/arrow-down.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/svgs/arrow.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/svgs/be-delivered.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/icons/svgs/bell-icon-blak.svg:
--------------------------------------------------------------------------------
1 |
11 |
--------------------------------------------------------------------------------
/src/icons/svgs/bell-icon.svg:
--------------------------------------------------------------------------------
1 |
11 |
--------------------------------------------------------------------------------
/src/icons/svgs/chain-cat-boutique.svg:
--------------------------------------------------------------------------------
1 |
32 |
--------------------------------------------------------------------------------
/src/icons/svgs/chain-cat-member.svg:
--------------------------------------------------------------------------------
1 |
31 |
--------------------------------------------------------------------------------
/src/icons/svgs/close-popup.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/svgs/cm-area.svg:
--------------------------------------------------------------------------------
1 |
32 |
--------------------------------------------------------------------------------
/src/icons/svgs/consumption-pool.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/icons/svgs/correct.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/svgs/coupon-svg.svg:
--------------------------------------------------------------------------------
1 |
30 |
--------------------------------------------------------------------------------
/src/icons/svgs/customer-service.svg:
--------------------------------------------------------------------------------
1 |
20 |
--------------------------------------------------------------------------------
/src/icons/svgs/dialog-close.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/icons/svgs/feedback-svg.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/icons/svgs/gray-btn.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/icons/svgs/green-btn.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/svgs/heart-full.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/icons/svgs/heart-null-black.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/icons/svgs/heart-null.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/icons/svgs/help-center.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/icons/svgs/hot.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/svgs/icon-alertwarn.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/svgs/icon-delete.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/svgs/left-btn.svg:
--------------------------------------------------------------------------------
1 |
24 |
--------------------------------------------------------------------------------
/src/icons/svgs/message-center.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/icons/svgs/message-round.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/icons/svgs/mini-right-btn.svg:
--------------------------------------------------------------------------------
1 |
21 |
--------------------------------------------------------------------------------
/src/icons/svgs/my-assets.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/icons/svgs/my-complaint.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/icons/svgs/my-reminder.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/icons/svgs/node-application.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/icons/svgs/node-pool.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/icons/svgs/notice-wallet.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/svgs/order-info.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/icons/svgs/pay-success.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/svgs/pending-pay.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/icons/svgs/point.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/svgs/processbar.svg:
--------------------------------------------------------------------------------
1 |
29 |
--------------------------------------------------------------------------------
/src/icons/svgs/product-help.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/icons/svgs/question-mark.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/icons/svgs/red-flag.svg:
--------------------------------------------------------------------------------
1 |
14 |
--------------------------------------------------------------------------------
/src/icons/svgs/right-arrow.svg:
--------------------------------------------------------------------------------
1 |
11 |
--------------------------------------------------------------------------------
/src/icons/svgs/search.svg:
--------------------------------------------------------------------------------
1 |
11 |
--------------------------------------------------------------------------------
/src/icons/svgs/share-btn-black.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/icons/svgs/share-btn.svg:
--------------------------------------------------------------------------------
1 |
14 |
--------------------------------------------------------------------------------
/src/icons/svgs/shipping-address.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/icons/svgs/sigh.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/icons/svgs/therr-point.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/icons/svgs/transparent-btn.svg:
--------------------------------------------------------------------------------
1 |
23 |
--------------------------------------------------------------------------------
/src/icons/svgs/wallet-one-big.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/icons/svgs/wallet-one.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/icons/svgs/wallet-order-message.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/icons/svgs/wallet-right-arrow.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/icons/svgs/wallet-right-gray-arrow.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/icons/svgs/wallet-two.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/icons/svgs/white-btn.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/main.js:
--------------------------------------------------------------------------------
1 | /*
2 | * @version: v 1.0.0
3 | * @Github: https://github.com/GitHubGanKai
4 | * @Author: GitHubGanKai
5 | * @Date: 2020-12-27 20:10:38
6 | * @LastEditors: gankai
7 | * @LastEditTime: 2021-01-02 13:39:04
8 | * @FilePath: /refactor-with-vue3/src/main.js
9 | */
10 | import { createApp } from 'vue'
11 | import Vant from 'vant'
12 | import 'lib-flexible/flexible'
13 | import App from './App.vue'
14 | import router from './router'
15 | import store from './store'
16 | import axios from "@/plugins/axios";
17 | import icons from '@/icons' // icon
18 | import components from '@/components' // icon
19 | import 'vant/lib/index.css' // 全局引入样式
20 | import './mock/mock'
21 | import eventBus from './utils/eventBus'
22 | import { registerPlugins } from './utils/util'
23 |
24 | const plugins = [Vant, store, router, axios, icons, components, eventBus]
25 | const app = createApp(App);
26 | app.use(registerPlugins(plugins))
27 | app.mount("#app")
28 |
--------------------------------------------------------------------------------
/src/router/index.js:
--------------------------------------------------------------------------------
1 | /*
2 | * @version: v 1.0.0
3 | * @Github: https://github.com/GitHubGanKai
4 | * @Author: GitHubGanKai
5 | * @Date: 2020-12-27 20:10:38
6 | * @LastEditors: gankai
7 | * @LastEditTime: 2021-01-03 15:53:33
8 | * @FilePath: /vue-jd-h5/src/router/index.js
9 | */
10 | import { createRouter, createWebHistory } from 'vue-router'
11 |
12 | const indexRouter = {
13 | path: '/',
14 | component: () => import('@/views/index'),
15 | redirect: '/index',
16 | children: []
17 | }
18 |
19 | const routes = [
20 | indexRouter,
21 | {
22 | path: '/nopermission',
23 | name: 'nopermission',
24 | meta: {
25 | index: 1
26 | },
27 | component: () => import('@/views/error/NoPermission')
28 | },
29 | {
30 | path: '/*',
31 | name: '404',
32 | meta: {
33 | index: 1
34 | },
35 | component: () => import('@/views/error/404')
36 | },
37 | ]
38 |
39 | const routerContext = require.context('./modules', true, /\.js$/)
40 | routerContext.keys().forEach(route => {
41 | const routerModule = routerContext(route)
42 | indexRouter.children = [...indexRouter.children, ...(routerModule.default || routerModule)]
43 | })
44 |
45 | export default createRouter({
46 | history: createWebHistory(process.env.BASE_URL),
47 | routes
48 | })
49 |
--------------------------------------------------------------------------------
/src/router/modules/aboutAs.js:
--------------------------------------------------------------------------------
1 | /*
2 | * @version: v 1.0.0
3 | * @Github: https://github.com/GitHubGanKai
4 | * @Author: GitHubGanKai
5 | * @Date: 2021-01-01 17:05:34
6 | * @LastEditors: gankai
7 | * @LastEditTime: 2021-01-02 14:28:56
8 | * @FilePath: /refactor-with-vue3/src/router/modules/aboutAs.js
9 | */
10 | export default [
11 | {
12 | path: '/setting/aboutAs',
13 | name: 'aboutAs',
14 | meta: {
15 | index: 13
16 | },
17 | component: () => import('@/views/mine/aboutAs.vue')
18 | }
19 | ]
--------------------------------------------------------------------------------
/src/router/modules/addAddress.js:
--------------------------------------------------------------------------------
1 | /*
2 | * @version: v 1.0.0
3 | * @Github: https://github.com/GitHubGanKai
4 | * @Author: GitHubGanKai
5 | * @Date: 2021-01-01 17:05:34
6 | * @LastEditors: gankai
7 | * @LastEditTime: 2021-01-02 14:28:44
8 | * @FilePath: /refactor-with-vue3/src/router/modules/addAddress.js
9 | */
10 | export default [
11 | {
12 | path: '/mine/addAddress',
13 | name: 'addAddress',
14 | meta: {
15 | index: 13
16 | },
17 | component: () => import('@/views/mine/addAddress.vue')
18 | }
19 | ]
--------------------------------------------------------------------------------
/src/router/modules/advertisementPool.js:
--------------------------------------------------------------------------------
1 | /*
2 | * @version: v 1.0.0
3 | * @Github: https://github.com/GitHubGanKai
4 | * @Author: GitHubGanKai
5 | * @Date: 2021-01-01 17:05:34
6 | * @LastEditors: gankai
7 | * @LastEditTime: 2021-01-02 14:29:11
8 | * @FilePath: /refactor-with-vue3/src/router/modules/advertisementPool.js
9 | */
10 | export default [{
11 | path: '/pool/advertisementPool',
12 | name: 'advertisementPool',
13 | meta: {
14 | index: 15
15 | },
16 | component: () => import('@/views/pool/advertisementPool.vue')
17 | }]
18 |
--------------------------------------------------------------------------------
/src/router/modules/appeal.js:
--------------------------------------------------------------------------------
1 | export default [
2 | {
3 | path: '/order/appeal',
4 | name: 'appeal',
5 | meta: {
6 | index: 3
7 | },
8 | component: () => import('@/views/order/appeal.vue')
9 | }
10 | ]
--------------------------------------------------------------------------------
/src/router/modules/appealDetail.js:
--------------------------------------------------------------------------------
1 | /*
2 | * @version: v 1.0.0
3 | * @Github: https://github.com/GitHubGanKai
4 | * @Author: GitHubGanKai
5 | * @Date: 2021-01-01 17:05:34
6 | * @LastEditors: gankai
7 | * @LastEditTime: 2021-01-02 14:29:35
8 | * @FilePath: /refactor-with-vue3/src/router/modules/appealDetail.js
9 | */
10 | export default [{
11 | path: '/order/appealDetail',
12 | name: 'appealDetail',
13 | meta: {
14 | index: 13
15 | },
16 | component: () => import('@/views/order/appealDetail.vue')
17 | }]
18 |
--------------------------------------------------------------------------------
/src/router/modules/appealRecord.js:
--------------------------------------------------------------------------------
1 | /*
2 | * @version: v 1.0.0
3 | * @Github: https://github.com/GitHubGanKai
4 | * @Author: GitHubGanKai
5 | * @Date: 2021-01-01 17:05:34
6 | * @LastEditors: gankai
7 | * @LastEditTime: 2021-01-02 14:29:50
8 | * @FilePath: /refactor-with-vue3/src/router/modules/appealRecord.js
9 | */
10 | export default [
11 | {
12 | path: '/order/appealRecord',
13 | name: 'appealRecord',
14 | meta: {
15 | index: 12
16 | },
17 | component: () => import('@/views/order/appealRecord.vue')
18 | }
19 | ]
20 |
--------------------------------------------------------------------------------
/src/router/modules/areaNode.js:
--------------------------------------------------------------------------------
1 | /*
2 | * @version: v 1.0.0
3 | * @Github: https://github.com/GitHubGanKai
4 | * @Author: GitHubGanKai
5 | * @Date: 2021-01-01 17:05:34
6 | * @LastEditors: gankai
7 | * @LastEditTime: 2021-01-02 14:30:21
8 | * @FilePath: /refactor-with-vue3/src/router/modules/areaNode.js
9 | */
10 | export default [{
11 | path: '/node/areaNode',
12 | name: 'areaNode',
13 | meta: {
14 | index: 15
15 | },
16 | component: () => import('@/views/node/areaNode.vue')
17 | }]
18 |
--------------------------------------------------------------------------------
/src/router/modules/balanceWallet.js:
--------------------------------------------------------------------------------
1 | /*
2 | * @version: v 1.0.0
3 | * @Github: https://github.com/GitHubGanKai
4 | * @Author: GitHubGanKai
5 | * @Date: 2021-01-01 17:05:34
6 | * @LastEditors: gankai
7 | * @LastEditTime: 2021-01-02 14:30:29
8 | * @FilePath: /refactor-with-vue3/src/router/modules/balanceWallet.js
9 | */
10 | export default [{
11 | path: '/wallet/balanceWallet',
12 | name: 'balanceWallet',
13 | meta: {
14 | index: 15
15 | },
16 | component: () => import('@/views/wallet/balanceWallet.vue')
17 | }]
18 |
--------------------------------------------------------------------------------
/src/router/modules/brandSpike.js:
--------------------------------------------------------------------------------
1 | // 发现好货
2 | export default [{
3 | path: '/brandSpike',
4 | name: 'brandSpike',
5 | meta: {
6 | index: 2
7 | },
8 | component: () => import('@/views/brandSpike/index')
9 | }]
10 |
--------------------------------------------------------------------------------
/src/router/modules/cancelOrder.js:
--------------------------------------------------------------------------------
1 | export default [{
2 | path: '/order/cancelOrder',
3 | name: 'cancelOrder',
4 | meta: {
5 | index: 11
6 | },
7 | component: () => import('@/views/order/cancelOrder.vue')
8 | }]
9 |
--------------------------------------------------------------------------------
/src/router/modules/chainCatSpike.js:
--------------------------------------------------------------------------------
1 | // 链猫秒杀
2 | export default [{
3 | path: '/chainCatSpike',
4 | name: 'chainCatSpike',
5 | meta: {
6 | index: 2
7 | },
8 | component: () => import('@/views/chainCatSpike/index')
9 | }]
10 |
--------------------------------------------------------------------------------
/src/router/modules/changePassword.js:
--------------------------------------------------------------------------------
1 | export default [{
2 | path: '/mine/changePassword',
3 | name: 'changePassword',
4 | meta: {
5 | index: 14
6 | },
7 | component: () => import('@/views/mine/changePassword.vue')
8 | }]
9 |
--------------------------------------------------------------------------------
/src/router/modules/cityNode.js:
--------------------------------------------------------------------------------
1 | export default [{
2 | path: '/node/cityNode',
3 | name: 'cityNode',
4 | meta: {
5 | index: 15
6 | },
7 | component: () => import('@/views/node/cityNode.vue')
8 | }]
9 |
--------------------------------------------------------------------------------
/src/router/modules/consumerWallet.js:
--------------------------------------------------------------------------------
1 | export default [{
2 | path: '/wallet/consumerWallet',
3 | name: 'consumerWallet',
4 | meta: {
5 | index: 15
6 | },
7 | component: () => import('@/views/wallet/consumerWallet.vue')
8 | }]
9 |
--------------------------------------------------------------------------------
/src/router/modules/consumptionPool.js:
--------------------------------------------------------------------------------
1 | export default [{
2 | path: '/pool/consumptionPool',
3 | name: 'consumptionPool',
4 | meta: {
5 | index: 15
6 | },
7 | component: () => import('@/views/pool/consumptionPool.vue')
8 | }]
9 |
--------------------------------------------------------------------------------
/src/router/modules/countryRegion.js:
--------------------------------------------------------------------------------
1 | export default [{
2 | path: '/mine/countryRegion',
3 | name: 'countryRegion',
4 | meta: {
5 | index: 15
6 | },
7 | component: () => import('@/views/mine/countryRegion.vue')
8 | }]
9 |
--------------------------------------------------------------------------------
/src/router/modules/emailRegister.js:
--------------------------------------------------------------------------------
1 | export default [
2 | {
3 | path: '/register/emailRegister',
4 | name: 'emailRegister',
5 | meta: {
6 | index: 2
7 | },
8 | component: () => import('@/views/register/emailRegister')
9 | }
10 | ]
11 |
--------------------------------------------------------------------------------
/src/router/modules/emailRegisterTwo.js:
--------------------------------------------------------------------------------
1 | export default [
2 | {
3 | path: '/register/emailRegisterTwo',
4 | name: 'emailRegisterTwo',
5 | meta: {
6 | index: 3
7 | },
8 | component: () => import('@/views/register/emailRegisterTwo')
9 | }
10 | ]
11 |
--------------------------------------------------------------------------------
/src/router/modules/feedback.js:
--------------------------------------------------------------------------------
1 | export default [{
2 | path: '/mine/feedback',
3 | name: 'feedback',
4 | meta: {
5 | index: 15
6 | },
7 | component: () => import('@/views/mine/feedback.vue')
8 | }]
9 |
--------------------------------------------------------------------------------
/src/router/modules/forgetPassword.js:
--------------------------------------------------------------------------------
1 | export default [{
2 | path: '/mine/forgetPassword',
3 | name: 'forgetPassword',
4 | meta: {
5 | index: 14
6 | },
7 | component: () => import('@/views/mine/forgetPassword.vue')
8 | }]
9 |
--------------------------------------------------------------------------------
/src/router/modules/foundGoodGoods.js:
--------------------------------------------------------------------------------
1 | // 发现好货
2 | export default [{
3 | path: '/foundGoodGoods',
4 | name: 'foundGoodGoods',
5 | meta: {
6 | index: 2
7 | },
8 | component: () => import('@/views/foundGoodGoods/index')
9 | }]
10 |
--------------------------------------------------------------------------------
/src/router/modules/helpCenter.js:
--------------------------------------------------------------------------------
1 | export default [{
2 | path: '/mine/helpCenter',
3 | name: 'helpCenter',
4 | meta: {
5 | index: 14
6 | },
7 | component: () => import('@/views/mine/helpCenter.vue')
8 | }]
9 |
--------------------------------------------------------------------------------
/src/router/modules/industryNode.js:
--------------------------------------------------------------------------------
1 | export default [{
2 | path: '/node/industryNode',
3 | name: 'industryNode',
4 | meta: {
5 | index: 15
6 | },
7 | component: () => import('@/views/node/industryNode.vue')
8 | }]
9 |
--------------------------------------------------------------------------------
/src/router/modules/login.js:
--------------------------------------------------------------------------------
1 | export default [
2 | {
3 | path: '/login',
4 | name: 'login',
5 | meta: {
6 | index: 2
7 | },
8 | component: () => import('@/views/login/index')
9 | }
10 | ]
11 |
--------------------------------------------------------------------------------
/src/router/modules/loveShop.js:
--------------------------------------------------------------------------------
1 |
2 | // 爱逛好店
3 | export default [{
4 | path: '/loveShop',
5 | name: 'loveShop',
6 | meta: {
7 | index: 2
8 | },
9 | component: () => import('@/views/loveShop/index')
10 | }]
11 |
--------------------------------------------------------------------------------
/src/router/modules/messageCenter.js:
--------------------------------------------------------------------------------
1 | export default [{
2 | path: '/mine/messageCenter',
3 | name: 'messageCenter',
4 | meta: {
5 | index: 14
6 | },
7 | component: () => import('@/views/mine/messageCenter.vue')
8 | }]
9 |
--------------------------------------------------------------------------------
/src/router/modules/myFocus.js:
--------------------------------------------------------------------------------
1 | // 发现好货
2 | export default [{
3 | path: '/myFocus',
4 | name: 'myFocus',
5 | meta: {
6 | index: 2
7 | },
8 | component: () => import('@/views/myFocus/index')
9 | }]
10 |
--------------------------------------------------------------------------------
/src/router/modules/myWallet.js:
--------------------------------------------------------------------------------
1 | export default [{
2 | path: '/wallet/myWallet',
3 | name: 'myWallet',
4 | meta: {
5 | index: 15
6 | },
7 | component: () => import('@/views/wallet/myWallet.vue')
8 | }]
9 |
--------------------------------------------------------------------------------
/src/router/modules/newProductLaunch.js:
--------------------------------------------------------------------------------
1 |
2 | // 爱逛好店
3 | export default [{
4 | path: '/newProductLaunch',
5 | name: 'newProductLaunch',
6 | meta: {
7 | index: 2
8 | },
9 | component: () => import('@/views/newProductLaunch/index')
10 | }]
11 |
--------------------------------------------------------------------------------
/src/router/modules/nodeApplication.js:
--------------------------------------------------------------------------------
1 | export default [{
2 | path: '/node/nodeApplication',
3 | name: 'nodeApplication',
4 | meta: {
5 | index: 15
6 | },
7 | component: () => import('@/views/node/nodeApplication.vue')
8 | }]
9 |
--------------------------------------------------------------------------------
/src/router/modules/nodePool.js:
--------------------------------------------------------------------------------
1 | export default [{
2 | path: '/pool/nodePool',
3 | name: 'nodePool',
4 | meta: {
5 | index: 15
6 | },
7 | component: () => import('@/views/pool/nodePool.vue')
8 | }]
9 |
--------------------------------------------------------------------------------
/src/router/modules/order.js:
--------------------------------------------------------------------------------
1 | export default [
2 | {
3 | path: '/order',
4 | name: 'order',
5 | meta: {
6 | index: 2
7 | },
8 | component: () => import('@/views/order/index.vue')
9 | }
10 | ]
--------------------------------------------------------------------------------
/src/router/modules/orderDetail.js:
--------------------------------------------------------------------------------
1 | export default [{
2 | path: '/order/orderDetail',
3 | name: 'home',
4 | meta: {
5 | index: 3
6 | },
7 | component: () => import('@/views/order/orderDetail.vue')
8 | }]
9 |
--------------------------------------------------------------------------------
/src/router/modules/pendingReceipt.js:
--------------------------------------------------------------------------------
1 | export default [
2 | {
3 | path: '/order/pendingReceipt',
4 | name: 'pendingReceipt',
5 | meta: {
6 | index: 11
7 | },
8 | component: () => import('@/views/order/pendingReceipt.vue')
9 | }
10 | ]
--------------------------------------------------------------------------------
/src/router/modules/personInfo.js:
--------------------------------------------------------------------------------
1 | export default [
2 | {
3 | path: '/mine/personInfo',
4 | name: 'personInfo',
5 | meta: {
6 | index: 13
7 | },
8 | component: () => import('@/views/mine/personInfo.vue')
9 | }
10 | ]
--------------------------------------------------------------------------------
/src/router/modules/phoneNumberSetting.js:
--------------------------------------------------------------------------------
1 | export default [{
2 | path: '/mine/phoneNumberSetting',
3 | name: 'phoneNumberSetting',
4 | meta: {
5 | index: 14
6 | },
7 | component: () => import('@/views/mine/phoneNumberSetting.vue')
8 | }]
9 |
--------------------------------------------------------------------------------
/src/router/modules/phoneRegister.js:
--------------------------------------------------------------------------------
1 | export default [
2 | {
3 | path: '/register/phoneRegister',
4 | name: 'phoneRegister',
5 | meta: {
6 | index: 2
7 | },
8 | component: () => import('@/views/register/phoneRegister')
9 | }
10 | ]
11 |
--------------------------------------------------------------------------------
/src/router/modules/phoneRegisterTwo.js:
--------------------------------------------------------------------------------
1 | export default [
2 | {
3 | path: '/register/phoneRegisterTwo',
4 | name: 'phoneRegisterTwo',
5 | meta: {
6 | index: 3
7 | },
8 | component: () => import('@/views/register/phoneRegisterTwo')
9 | }
10 | ]
11 |
--------------------------------------------------------------------------------
/src/router/modules/premiumRanking.js:
--------------------------------------------------------------------------------
1 | // 优品排行
2 | export default [{
3 | path: '/premiumRanking',
4 | name: 'premiumRanking',
5 | meta: {
6 | index: 2
7 | },
8 | component: () => import('@/views/premiumRanking/index')
9 | }]
10 |
--------------------------------------------------------------------------------
/src/router/modules/product.js:
--------------------------------------------------------------------------------
1 | /*
2 | * @version: v 1.0.0
3 | * @Github: https://github.com/GitHubGanKai
4 | * @Author: GitHubGanKai
5 | * @Date: 2021-01-01 17:05:34
6 | * @LastEditors: gankai
7 | * @LastEditTime: 2021-01-03 16:10:14
8 | * @FilePath: /vue-jd-h5/src/router/modules/product.js
9 | */
10 | export default [{
11 | path: '/classify/product',
12 | name: 'product',
13 | meta: {
14 | index: 25
15 | },
16 | component: () => import('@/views/product/index.vue')
17 | }]
18 |
--------------------------------------------------------------------------------
/src/router/modules/recommend.js:
--------------------------------------------------------------------------------
1 | export default [{
2 | path: 'classify/recommend',
3 | name: 'recommend',
4 | meta: {
5 | index: 12
6 | },
7 | component: () => import('@/views/classify/recommend.vue')
8 | }]
9 |
--------------------------------------------------------------------------------
/src/router/modules/search.js:
--------------------------------------------------------------------------------
1 | export default [
2 | {
3 | path: '/search',
4 | name: 'search',
5 | meta: {
6 | index: 17
7 | },
8 | component: () => import('@/views/search/index.vue')
9 | }
10 | ]
--------------------------------------------------------------------------------
/src/router/modules/setting.js:
--------------------------------------------------------------------------------
1 | export default [
2 | {
3 | path: '/mine/setting',
4 | name: 'setting',
5 | meta: {
6 | index: 12
7 | },
8 | component: () => import('@/views/mine/setting.vue')
9 | }
10 | ]
--------------------------------------------------------------------------------
/src/router/modules/settingMail.js:
--------------------------------------------------------------------------------
1 | export default [{
2 | path: '/mine/settingMail',
3 | name: 'settingMail',
4 | meta: {
5 | index: 14
6 | },
7 | component: () => import('@/views/mine/settingMail.vue')
8 | }]
9 |
--------------------------------------------------------------------------------
/src/router/modules/shippingAddress.js:
--------------------------------------------------------------------------------
1 | export default [
2 | {
3 | path: '/mine/shippingAddress',
4 | name: 'shippingAddress',
5 | meta: {
6 | index: 12
7 | },
8 | component: () => import('@/views/mine/shippingAddress.vue')
9 | }
10 | ]
11 |
12 |
13 |
--------------------------------------------------------------------------------
/src/router/modules/specialSpike.js:
--------------------------------------------------------------------------------
1 | // 特价秒杀
2 | export default [{
3 | path: '/specialSpike',
4 | name: 'specialSpike',
5 | meta: {
6 | index: 2
7 | },
8 | component: () => import('@/views/specialSpike/index')
9 | }]
10 |
--------------------------------------------------------------------------------
/src/router/modules/stateNode.js:
--------------------------------------------------------------------------------
1 | export default [{
2 | path: '/node/stateNode',
3 | name: 'stateNode',
4 | meta: {
5 | index: 15
6 | },
7 | component: () => import('@/views/node/stateNode.vue')
8 | }]
9 |
--------------------------------------------------------------------------------
/src/router/modules/storeDetail.js:
--------------------------------------------------------------------------------
1 | export default [
2 | {
3 | path:'/storeDetail',
4 | name:'storeDetail',
5 | meta: {
6 | index: 21
7 | },
8 | component: () => import('@/views/storeDetail/index.vue')
9 | }
10 | ]
--------------------------------------------------------------------------------
/src/router/modules/superNode.js:
--------------------------------------------------------------------------------
1 | export default [{
2 | path: '/node/superNode',
3 | name: 'superNode',
4 | meta: {
5 | index: 15
6 | },
7 | component: () => import('@/views/node/superNode.vue')
8 | }]
9 |
--------------------------------------------------------------------------------
/src/router/modules/tabbar.js:
--------------------------------------------------------------------------------
1 | /*
2 | * @version: v 1.0.0
3 | * @Github: https://github.com/GitHubGanKai
4 | * @Author: GitHubGanKai
5 | * @Date: 2021-01-01 17:05:34
6 | * @LastEditors: gankai
7 | * @LastEditTime: 2021-01-02 15:26:00
8 | * @FilePath: /refactor-with-vue3/src/router/modules/tabbar.js
9 | */
10 | export default [{
11 | path: '/index',
12 | name: 'index',
13 | meta: {
14 | index: 1
15 | },
16 | component: () => import('@/views/home/index.vue')
17 | },
18 | {
19 | path: '/classify',
20 | name: 'classify',
21 | meta: {
22 | index: 1
23 | },
24 | component: () => import('@/views/classify/index.vue')
25 | },
26 | {
27 | path: '/shopCart',
28 | name: 'shopCart',
29 | meta: {
30 | index: 1
31 | },
32 | component: () => import('@/views/shopCart/index.vue')
33 | },
34 | {
35 | path: '/mine',
36 | name: 'mine',
37 | meta: {
38 | index: 1
39 | },
40 | component: () => import('@/views/mine/index.vue')
41 | },
42 | ]
43 |
--------------------------------------------------------------------------------
/src/router/modules/toBeDelivered.js:
--------------------------------------------------------------------------------
1 | export default [
2 | {
3 | path: '/order/toBeDelivered',
4 | name: 'toBeDelivered',
5 | meta: {
6 | index: 11
7 | },
8 | component: () => import('@/views/order/toBeDelivered.vue')
9 | }
10 | ]
--------------------------------------------------------------------------------
/src/router/modules/transactionDetails.js:
--------------------------------------------------------------------------------
1 | export default [{
2 | path: '/order/transactionDetails',
3 | name: 'transactionDetails',
4 | meta: {
5 | index: 4
6 | },
7 | component: () => import('@/views/order/transactionDetails.vue')
8 | }]
9 |
--------------------------------------------------------------------------------
/src/router/modules/viewLogistics.js:
--------------------------------------------------------------------------------
1 | export default [
2 | {
3 | path: '/order/viewLogistics',
4 | name: 'viewLogistics',
5 | meta: {
6 | index: 12
7 | },
8 | component: () => import('@/views/order/viewLogistics.vue')
9 | }
10 | ]
--------------------------------------------------------------------------------
/src/store/index.js:
--------------------------------------------------------------------------------
1 | /*
2 | * @version: v 1.0.0
3 | * @Github: https://github.com/GitHubGanKai
4 | * @Author: GitHubGanKai
5 | * @Date: 2021-01-01 17:19:50
6 | * @LastEditors: gankai
7 | * @LastEditTime: 2021-01-02 20:35:02
8 | * @FilePath: /refactor-with-vue3/src/store/index.js
9 | */
10 |
11 | import { createStore } from 'vuex'
12 |
13 | import cart from './modules/cart'
14 | import search from './modules/search'
15 |
16 | export default createStore({
17 | modules: {
18 | cart,
19 | search
20 | },
21 | strict: process.env.NODE_ENV !== 'production'
22 | })
23 |
--------------------------------------------------------------------------------
/src/store/modules/cart.js:
--------------------------------------------------------------------------------
1 | const state = {
2 | items: [],
3 | name: 'test',
4 | count: 0,
5 | // cartArray: JSON.parse(localStorage.getItem('cartArray')) || [],
6 | checkoutStatus: null
7 | }
8 |
9 | // getters
10 | const getters = {
11 | // goodsCount(state) {
12 | // let count = 0
13 | // state.cartArray.forEach(it => {
14 | // count += it.count
15 | // })
16 | // return count
17 | // },
18 | cartProducts: (state, getters, rootState) => {
19 | return state.items.map(({
20 | id,
21 | quantity
22 | }) => {
23 | const product = rootState.products.all.find(product => product.id === id)
24 | return {
25 | title: product.title,
26 | price: product.price,
27 | quantity
28 | }
29 | })
30 | },
31 |
32 | cartTotalPrice: (state, getters) => {
33 | return getters.cartProducts.reduce((total, product) => {
34 | return total + product.price * product.quantity
35 | }, 0)
36 | }
37 | }
38 |
39 | // actions
40 | const actions = {
41 | checkout({
42 | commit,
43 | state
44 | }, products) {
45 | const savedCartItems = [...state.items]
46 | commit('setCheckoutStatus', null)
47 | commit('setCartItems', {
48 | items: []
49 | })
50 | },
51 |
52 | addProductToCart({
53 | state,
54 | commit
55 | }, product) {
56 | commit('setCheckoutStatus', null)
57 | if (product.inventory > 0) {
58 | const cartItem = state.items.find(item => item.id === product.id)
59 | if (!cartItem) {
60 | commit('pushProductToCart', {
61 | id: product.id
62 | })
63 | } else {
64 | commit('incrementItemQuantity', cartItem)
65 | }
66 | // remove 1 item from stock
67 | commit('products/decrementProductInventory', {
68 | id: product.id
69 | }, {
70 | root: true
71 | })
72 | }
73 | }
74 | }
75 |
76 | // mutations
77 | const mutations = {
78 | addToCart(state) {
79 | state.count++
80 | },
81 | pushProductToCart(state, {
82 | id
83 | }) {
84 | state.items.push({
85 | id,
86 | quantity: 1
87 | })
88 | },
89 |
90 | incrementItemQuantity(state, {
91 | id
92 | }) {
93 | const cartItem = state.items.find(item => item.id === id)
94 | cartItem.quantity++
95 | },
96 |
97 | setCartItems(state, {
98 | items
99 | }) {
100 | state.items = items
101 | },
102 |
103 | setCheckoutStatus(state, status) {
104 | state.checkoutStatus = status
105 | }
106 | }
107 |
108 | export default {
109 | namespaced: true,
110 | state,
111 | getters,
112 | actions,
113 | mutations
114 | }
115 |
--------------------------------------------------------------------------------
/src/store/modules/search.js:
--------------------------------------------------------------------------------
1 | import { setStore } from "../../utils/util";
2 | const state = {
3 | searchHistory: []
4 | }
5 | const getters = {}
6 | const mutations = {
7 | addHistory(state, searchHistory) {
8 | state.searchHistory.unshift(searchHistory)
9 | },
10 | setHistory(state, searchHistory) {
11 | state.searchHistory = searchHistory
12 | setStore('searchHistory', searchHistory)
13 | },
14 | }
15 | const actions = {}
16 |
17 | export default {
18 | namespaced: true,
19 | state,
20 | getters,
21 | actions,
22 | mutations
23 | }
24 |
--------------------------------------------------------------------------------
/src/styles/base.scss:
--------------------------------------------------------------------------------
1 | body,
2 | div,
3 | span,
4 | header,
5 | footer,
6 | nav,
7 | section,
8 | aside,
9 | article,
10 | ul,
11 | dl,
12 | dt,
13 | cite,
14 | dd,
15 | li,
16 | a,
17 | p,
18 | h1,
19 | h2,
20 | h3,
21 | h4,
22 | h5,
23 | h6,
24 | i,
25 | b,
26 | textarea,
27 | button,
28 | input,
29 | select,
30 | figure,
31 | figcaption {
32 | padding: 0;
33 | margin: 0;
34 | list-style: none;
35 | font-style: normal;
36 | text-decoration: none;
37 | border: none;
38 | font-family: "Microsoft Yahei", sans-serif;
39 | -webkit-tap-highlight-color: transparent;
40 | -webkit-font-smoothing: antialiased;
41 | -webkit-box-sizing: border-box;
42 | -moz-box-sizing: border-box;
43 | box-sizing: border-box;
44 |
45 | &:focus {
46 | outline: none;
47 | }
48 | }
49 |
50 | //移动端点击高亮
51 | html,
52 | body {
53 | -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
54 | }
55 |
56 | del {
57 | color: #949497;
58 | }
59 |
60 | input {
61 | border: none;
62 | outline: none;
63 | -webkit-appearance: none;
64 | -webkit-appearance: none;
65 | -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
66 | }
67 |
68 | textarea {
69 | border: none;
70 | outline: none;
71 | }
72 |
73 | button {
74 | border: none;
75 | outline: none;
76 | }
77 |
78 | a {
79 | text-decoration: none;
80 | color: #333;
81 | }
82 |
83 | li {
84 | list-style-type: none;
85 | }
86 |
87 | //解决端遮罩层穿透
88 | body.dialog-open {
89 | position: fixed;
90 | width: 100%;
91 | }
--------------------------------------------------------------------------------
/src/styles/index.scss:
--------------------------------------------------------------------------------
1 | @import './base.scss';
--------------------------------------------------------------------------------
/src/styles/mixin.scss:
--------------------------------------------------------------------------------
1 | @import './base.scss';
2 | $orange: #FF6B01;
3 | $red: #F63515;
4 | $bc: #F7F7F7;
5 | $fc:#fff;
6 |
7 | @mixin border-top-1px($color) {
8 | &:before {
9 | border-top: 1px solid $color;
10 | }
11 | }
12 |
13 | @mixin border-right-1px($color) {
14 | &:before {
15 | border-right: 1px solid $color;
16 | }
17 | }
18 |
19 | @mixin border-bottom-1px($color) {
20 | &:before {
21 | border-bottom: 1px solid $color;
22 | }
23 | }
24 |
25 | @mixin border-left-1px($color) {
26 | &:before {
27 | border-left: 1px solid $color;
28 | }
29 | }
30 |
31 | @mixin border-1px($color) {
32 | position: relative;
33 |
34 | &:after {
35 | content: '';
36 | pointer-events: none; //解决iphone上的点击无效Bug
37 | position: absolute;
38 | left: 0;
39 | top: 0;
40 | transform-origin: 0 0;
41 | border: 1px solid $color;
42 | }
43 | }
44 |
45 | //圆角
46 | @mixin borderRadius($radius) {
47 | -webkit-border-radius: $radius;
48 | -moz-border-radius: $radius;
49 | -ms-border-radius: $radius;
50 | -o-border-radius: $radius;
51 | border-radius: $radius;
52 | }
53 |
54 | //1px底部边框
55 | @mixin border-1px($color) {
56 | position: relative;
57 |
58 | &:after {
59 | display: block;
60 | position: absolute;
61 | left: 0;
62 | bottom: 0;
63 | width: 100%;
64 | border-top: 1px solid $color;
65 | content: '';
66 | }
67 | }
68 |
69 | //定位全屏
70 | @mixin allcover {
71 | position: absolute;
72 | top: 0;
73 | right: 0;
74 | }
75 |
76 | //定位上下左右居中
77 | @mixin center {
78 | position: absolute;
79 | top: 50%;
80 | left: 50%;
81 | transform: translate(-50%, -50%);
82 | }
83 |
84 | //定位上下居中
85 | @mixin ct {
86 | position: absolute;
87 | top: 50%;
88 | transform: translateY(-50%);
89 | }
90 |
91 | //定位左右居中
92 | @mixin cl {
93 | position: absolute;
94 | left: 50%;
95 | transform: translateX(-50%);
96 | }
97 |
98 | //宽高
99 | @mixin wh($width, $height) {
100 | width: $width;
101 | height: $height;
102 | }
103 |
104 | //字体大小、行高、字体
105 | @mixin font($size, $line-height, $family: 'Microsoft YaHei') {
106 | font: #{$size}/#{$line-height} $family;
107 | }
108 |
109 | //字体大小,颜色
110 | @mixin sc($size, $color) {
111 | font-size: $size;
112 | color: $color;
113 | }
114 |
115 | @mixin boxSizing {
116 | -webkit-box-sizing: border-box;
117 | -moz-box-sizing: border-box;
118 | box-sizing: border-box;
119 | }
120 |
121 | //flex 布局和 子元素 对其方式
122 | @mixin fj($type: space-between) {
123 | display: flex;
124 | justify-content: $type;
125 | }
--------------------------------------------------------------------------------
/src/utils/eventBus.js:
--------------------------------------------------------------------------------
1 | /*
2 | * @version: v 1.0.0
3 | * @Github: https://github.com/GitHubGanKai
4 | * @Author: GitHubGanKai
5 | * @Date: 2021-01-01 17:19:50
6 | * @LastEditors: gankai
7 | * @LastEditTime: 2021-01-02 15:39:38
8 | * @FilePath: /refactor-with-vue3/src/utils/eventBus.js
9 | */
10 | import { getCurrentInstance } from 'vue'
11 |
12 | class EventBus {
13 | constructor(app) {
14 | if (!this.handles) {
15 | Object.defineProperty(this, 'handles', {
16 | value: {},
17 | enumerable: false
18 | })
19 | }
20 | this.app = app
21 | // _uid和EventName的映射
22 | this.eventMapUid = {}
23 | }
24 | setEventMapUid(uid, eventName) {
25 | if (!this.eventMapUid[uid]) {
26 | this.eventMapUid[uid] = []
27 | }
28 | this.eventMapUid[uid].push(eventName)
29 | // 把每个_uid订阅的事件名字push到各自uid所属的数组里
30 | }
31 | $on(eventName, callback, vm) {
32 | // vm是在组件内部使用时组件当前的this用于取_uid
33 | if (!this.handles[eventName]) {
34 | this.handles[eventName] = []
35 | }
36 | this.handles[eventName].push(callback)
37 | this.setEventMapUid(vm._uid, eventName)
38 | }
39 | $emit() {
40 | let args = [...arguments]
41 | let eventName = args[0]
42 | let params = args.slice(1)
43 | if (this.handles[eventName]) {
44 | let len = this.handles[eventName].length
45 | for (let i = 0; i < len; i++) {
46 | this.handles[eventName][i](...params)
47 | }
48 | }
49 | }
50 | $offVmEvent(uid) {
51 | let currentEvents = this.eventMapUid[uid] || []
52 | currentEvents.forEach(event => {
53 | this.$off(event)
54 | })
55 | }
56 | $off(eventName) {
57 | delete this.handles[eventName]
58 | }
59 | }
60 |
61 | let $EventBus = {}
62 | $EventBus.install = (app) => {
63 | app.config.globalProperties.$eventBus = new EventBus(app)
64 | app.mixin({
65 | beforeUnmount() {
66 | const currentInstance = getCurrentInstance();
67 | // 拦截beforeUnmount钩子,自动销毁自身所有订阅的事件
68 | this.$eventBus.$offVmEvent(currentInstance._uid)
69 | }
70 | })
71 | }
72 | export default $EventBus
73 |
--------------------------------------------------------------------------------
/src/utils/util.js:
--------------------------------------------------------------------------------
1 | export const registerPlugins = (plugins) => {
2 | return {
3 | install(app) {
4 | plugins.forEach(plugin => {
5 | app.use(plugin)
6 | })
7 | }
8 | }
9 | }
10 |
11 | // 存储localStorage
12 | export const setStore = (name, content) => {
13 | if (!name) return
14 | localStorage.setItem(name, JSON.stringify(content))
15 | }
16 |
17 | // 获取localStorage
18 | export const getStore = name => {
19 | if (!name) return
20 | return JSON.parse(localStorage.getItem(name))
21 | }
22 |
23 | export function removeSpace(value) {
24 | return value.replace(/\s+/g, '')
25 | }
26 |
27 | export function formValidate(val, type) {
28 | const phoneReg = /(^1[3|4|5|7|8]\d{9}$)|(^09\d{8}$)/
29 | const emailReg = /^(\w-*\.*)+@(\w-?)+(\.\w{2,})+$/
30 | if (val === '') {
31 | return false
32 | } else {
33 | // 非空验证
34 | if (type === 'require') {
35 | return !!removeSpace(val)
36 | }
37 | if (type === 'phone') {
38 | return phoneReg.test(val)
39 | }
40 | if (type === 'email') {
41 | return emailReg.test(val)
42 | }
43 | }
44 | }
45 |
46 | // 获取url参数
47 | export function getUrlKey(name) {
48 | return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.href) || [, ''])[1].replace(/\+/g, '%20')) || null
49 | }
50 |
51 | // 数组去重
52 | export function dedupe(array) {
53 | return Array.from(new Set(array))
54 | }
55 |
56 | export const ModalHelper = ((bodyCls) => {
57 | let scrollTop
58 | return {
59 | afterOpen: function () {
60 | scrollTop = document.scrollingElement.scrollTop
61 | document.body.classList.add(bodyCls)
62 | document.body.style.top = -scrollTop + 'px'
63 | },
64 | beforeClose: function () {
65 | document.body.classList.remove(bodyCls)
66 | // scrollTop lost after set position:fixed, restore it back.
67 | document.scrollingElement.scrollTop = scrollTop
68 | }
69 | }
70 | })('dialog-open')
71 |
--------------------------------------------------------------------------------
/src/views/classify/index.scss:
--------------------------------------------------------------------------------
1 | @import "../../styles/mixin.scss";
2 | .classify {
3 | height: 100%;
4 | .home-header {
5 | font-size: 18px;
6 | color: #3a3a3a;
7 | font-weight: 600;
8 | text-align: center;
9 | line-height: 50px;
10 | background-color: #fff;
11 | }
12 | .search-wrap {
13 | @include fj;
14 | width: 100%;
15 | background: #fff;
16 | .nav-side-wrapper {
17 | width: 88px;
18 | height: 100%;
19 | overflow: hidden;
20 | overflow-y: scroll;
21 | .nav-side {
22 | width: 100%;
23 | @include boxSizing;
24 | background: #f8f8f8;
25 | li {
26 | width: 100%;
27 | height: 77px;
28 | text-align: center;
29 | font-weight: 600;
30 | font-size: 14px;
31 | display: flex;
32 | justify-content: center;
33 | align-items: center;
34 | color: #949497;
35 | flex-direction: column;
36 | &.active {
37 | color: #d8182d;
38 | border-left: 3px solid transparent;
39 | border-color: #d8182d;
40 | background: #fff;
41 | }
42 | }
43 | }
44 | }
45 | .search-content {
46 | width: 80%;
47 | height: 100%;
48 | padding: 0 16px;
49 | background: #fff;
50 | padding-bottom: 30px;
51 | @include boxSizing;
52 | .swiper-container {
53 | width: 100%;
54 | .swiper-slide {
55 | width: 100%;
56 | padding-top: 20px;
57 | .goods-title {
58 | font-size: 14px;
59 | color: #d8182d;
60 | font-weight: 600;
61 | padding-bottom: 10px;
62 | }
63 | .category-main-img {
64 | width: 100%;
65 | }
66 | .category-list {
67 | display: flex;
68 | flex-wrap: wrap;
69 | flex-shrink: 0;
70 | width: 100%;
71 | .catogory-title {
72 | width: 100%;
73 | font-size: 34px;
74 | font-weight: 500;
75 | padding: 40px 0;
76 | }
77 | .product-item {
78 | width: 33%;
79 | margin-bottom: 20px;
80 | text-align: center;
81 | font-size: 30px;
82 | .item-img {
83 | width: 65px;
84 | height: 80px;
85 | }
86 | .product-title {
87 | color: #3a3a3a;
88 | font-size: 11px;
89 | font-weight: 600;
90 | // width: 50%;
91 | white-space: nowrap;
92 | }
93 | }
94 | }
95 | }
96 | }
97 | }
98 | }
99 | }
100 |
--------------------------------------------------------------------------------
/src/views/error/404.vue:
--------------------------------------------------------------------------------
1 |
10 |
11 | 404
12 |
13 |
14 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/src/views/error/NoPermission.vue:
--------------------------------------------------------------------------------
1 |
10 |
11 | NoPermission
12 |
13 |
14 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/src/views/index.vue:
--------------------------------------------------------------------------------
1 |
10 |
11 |
12 |
13 |
14 |
19 |
20 |
28 |
--------------------------------------------------------------------------------
/src/views/mine/aboutAs.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
9 |
10 |

11 |
Chain Mall
12 |
版本1.0.1
13 |
14 |
15 |
16 |
17 |
27 |
28 |
92 |
--------------------------------------------------------------------------------
/src/views/mine/countryRegion.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
9 |
10 |
11 | Z
12 |
13 |
14 |
15 |
16 |
17 | G
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
67 |
68 |
111 |
--------------------------------------------------------------------------------
/src/views/mine/setInfo.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
9 |
10 |
11 |
12 |
20 |
21 |
49 |
--------------------------------------------------------------------------------
/src/views/mine/setting.vue:
--------------------------------------------------------------------------------
1 |
10 |
11 |
12 |
16 |
17 |
18 |
19 | -
20 | 消息提醒
21 |
22 |
23 | -
24 | 清除缓存
25 |
26 |
27 |
28 | 关于我们
29 |
30 |
31 |
32 |
33 |
退出登录
34 |
35 |
36 |
37 |
49 |
50 |
95 |
--------------------------------------------------------------------------------