├── .env.test
├── .gitignore
├── README.md
├── babel.config.js
├── package-lock.json
├── package.json
├── public
├── favicon.ico
├── imgs
│ ├── ads
│ │ ├── ads-1.png
│ │ ├── ads-2.jpg
│ │ ├── ads-3.png
│ │ └── ads-4.jpg
│ ├── banner-1.png
│ ├── detail
│ │ ├── icon-loc.png
│ │ ├── item-price.jpeg
│ │ ├── phone-1.jpg
│ │ ├── phone-2.jpg
│ │ ├── phone-3.jpg
│ │ └── phone-4.jpg
│ ├── icon-15day.png
│ ├── icon-7day.png
│ ├── icon-add.png
│ ├── icon-arrow.png
│ ├── icon-cart-checked.png
│ ├── icon-cart-hover.png
│ ├── icon-cart.png
│ ├── icon-close.png
│ ├── icon-down.png
│ ├── icon-gou.png
│ ├── icon-loc.png
│ ├── icon-no-data.png
│ ├── icon-post.png
│ ├── icon-search.png
│ ├── icon-setting.png
│ ├── item-box-1.png
│ ├── item-box-2.png
│ ├── item-box-3.jpg
│ ├── item-box-4.jpg
│ ├── loading-svg
│ │ ├── loading-balls.svg
│ │ ├── loading-bars.svg
│ │ ├── loading-bubbles.svg
│ │ ├── loading-cubes.svg
│ │ ├── loading-cylon-red.svg
│ │ ├── loading-cylon.svg
│ │ ├── loading-spin.svg
│ │ ├── loading-spinning-bubbles.svg
│ │ └── loading-spokes.svg
│ ├── login-bg.jpg
│ ├── login-logo.png
│ ├── logo-footer.png
│ ├── logo-mi.png
│ ├── mi-home.png
│ ├── mi-logo.png
│ ├── mix-alpha.jpg
│ ├── nav-img
│ │ ├── nav-1.png
│ │ ├── nav-2.png
│ │ ├── nav-3-1.jpg
│ │ ├── nav-3-2.jpg
│ │ ├── nav-3-3.png
│ │ ├── nav-3-4.jpg
│ │ ├── nav-3-5.jpg
│ │ ├── nav-3-6.png
│ │ ├── nav-3.png
│ │ ├── nav-4.png
│ │ ├── nav-5.png
│ │ ├── nav-6-1.webp
│ │ ├── nav-6-2.png
│ │ ├── nav-6-3.webp
│ │ ├── nav-6-4.webp
│ │ ├── nav-6-5.png
│ │ ├── nav-6-6.png
│ │ └── nav-6.png
│ ├── pay
│ │ ├── icon-ali.png
│ │ ├── icon-qrcode.png
│ │ ├── icon-scan.png
│ │ └── icon-wechat.png
│ ├── product
│ │ ├── gallery-1.png
│ │ ├── gallery-2.png
│ │ ├── gallery-3.png
│ │ ├── gallery-4.png
│ │ ├── gallery-5.jpg
│ │ ├── gallery-6.jpg
│ │ ├── product-bg-1.png
│ │ ├── product-bg-2.png
│ │ ├── product-bg-3.png
│ │ └── video.mp4
│ └── slider
│ │ ├── slide-1.jpg
│ │ ├── slide-2.jpg
│ │ ├── slide-3.jpg
│ │ ├── slide-4.jpg
│ │ └── slide-5.jpg
├── index.html
└── mock
│ └── user
│ └── login.json
├── src
├── App.vue
├── api
│ └── index.js
├── assets
│ └── scss
│ │ ├── base.scss
│ │ ├── button.scss
│ │ ├── config.scss
│ │ ├── mixin.scss
│ │ ├── modal.scss
│ │ └── reset.scss
├── components
│ ├── Loading.vue
│ ├── Modal.vue
│ ├── NavFooter.vue
│ ├── NavHeader.vue
│ ├── NoData.vue
│ ├── OrderHeader.vue
│ ├── ProductParam.vue
│ ├── ScanPayCode.vue
│ └── serviceBar.vue
├── env.js
├── main.js
├── mock
│ └── api.js
├── pages
│ ├── alipay.vue
│ ├── cart.vue
│ ├── detail.vue
│ ├── home.vue
│ ├── index.vue
│ ├── login.vue
│ ├── order.vue
│ ├── orderConfirm.vue
│ ├── orderList.vue
│ ├── orderPay.vue
│ ├── product.vue
│ └── register.vue
├── router.js
├── storage
│ └── index.js
├── store
│ ├── action.js
│ ├── index.js
│ └── mutations.js
└── util
│ └── index.js
└── vue.config.js
/.env.test:
--------------------------------------------------------------------------------
1 | NODE_ENV='test'
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules
3 | /dist
4 |
5 | # local env files
6 | .env.local
7 | .env.*.local
8 |
9 | # Log files
10 | npm-debug.log*
11 | yarn-debug.log*
12 | yarn-error.log*
13 |
14 | # Editor directories and files
15 | .idea
16 | .vscode
17 | *.suo
18 | *.ntvs*
19 | *.njsproj
20 | *.sln
21 | *.sw?
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # mall
2 |
3 | ## Project setup
4 | ```
5 | npm install
6 | ```
7 |
8 | ### Compiles and hot-reloads for development
9 | ```
10 | npm run serve
11 | ```
12 |
13 | ### Compiles and minifies for production
14 | ```
15 | npm run build
16 | ```
17 |
18 | ### Lints and fixes files
19 | ```
20 | npm run lint
21 | ```
22 |
23 | ### Customize configuration
24 | See [Configuration Reference](https://cli.vuejs.org/config/).
25 |
--------------------------------------------------------------------------------
/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | presets: [
3 | '@vue/cli-plugin-babel/preset'
4 | ],
5 | "plugins": [
6 | [
7 | "component",
8 | {
9 | "libraryName": "element-ui",
10 | "styleLibraryName": "theme-chalk"
11 | }
12 | ]
13 | ]
14 | }
15 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "mall",
3 | "version": "0.1.0",
4 | "private": true,
5 | "scripts": {
6 | "serve": "vue-cli-service serve --mode=development",
7 | "test": "vue-cli-service serve --mode=test",
8 | "build": "vue-cli-service build --mode=production",
9 | "lint": "vue-cli-service lint"
10 | },
11 | "dependencies": {
12 | "@babel/plugin-syntax-dynamic-import": "^7.8.3",
13 | "axios": "^0.19.2",
14 | "core-js": "^3.6.4",
15 | "qrcode": "^1.4.4",
16 | "vue": "^2.6.11",
17 | "vue-router": "^3.1.6",
18 | "vuex": "^3.3.0"
19 | },
20 | "devDependencies": {
21 | "@vue/cli-plugin-babel": "^4.3.0",
22 | "@vue/cli-plugin-eslint": "^4.3.0",
23 | "@vue/cli-service": "^4.3.0",
24 | "babel-eslint": "^10.1.0",
25 | "babel-plugin-component": "^1.1.1",
26 | "element-ui": "^2.13.1",
27 | "eslint": "^6.7.2",
28 | "eslint-plugin-vue": "^6.2.2",
29 | "jsonp": "^0.2.1",
30 | "mockjs": "^1.1.0",
31 | "node-sass": "^4.14.0",
32 | "sass-loader": "^8.0.2",
33 | "vue-awesome-swiper": "^3.1.3",
34 | "vue-axios": "^2.1.5",
35 | "vue-cookie": "^1.1.4",
36 | "vue-lazyload": "^1.3.3",
37 | "vue-template-compiler": "^2.6.11"
38 | },
39 | "eslintConfig": {
40 | "root": true,
41 | "env": {
42 | "node": true
43 | },
44 | "extends": [
45 | "plugin:vue/essential",
46 | "eslint:recommended"
47 | ],
48 | "parserOptions": {
49 | "parser": "babel-eslint"
50 | },
51 | "rules": {}
52 | },
53 | "browserslist": [
54 | "> 1%",
55 | "last 2 versions",
56 | "not dead"
57 | ]
58 | }
59 |
--------------------------------------------------------------------------------
/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/favicon.ico
--------------------------------------------------------------------------------
/public/imgs/ads/ads-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/ads/ads-1.png
--------------------------------------------------------------------------------
/public/imgs/ads/ads-2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/ads/ads-2.jpg
--------------------------------------------------------------------------------
/public/imgs/ads/ads-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/ads/ads-3.png
--------------------------------------------------------------------------------
/public/imgs/ads/ads-4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/ads/ads-4.jpg
--------------------------------------------------------------------------------
/public/imgs/banner-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/banner-1.png
--------------------------------------------------------------------------------
/public/imgs/detail/icon-loc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/detail/icon-loc.png
--------------------------------------------------------------------------------
/public/imgs/detail/item-price.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/detail/item-price.jpeg
--------------------------------------------------------------------------------
/public/imgs/detail/phone-1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/detail/phone-1.jpg
--------------------------------------------------------------------------------
/public/imgs/detail/phone-2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/detail/phone-2.jpg
--------------------------------------------------------------------------------
/public/imgs/detail/phone-3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/detail/phone-3.jpg
--------------------------------------------------------------------------------
/public/imgs/detail/phone-4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/detail/phone-4.jpg
--------------------------------------------------------------------------------
/public/imgs/icon-15day.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/icon-15day.png
--------------------------------------------------------------------------------
/public/imgs/icon-7day.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/icon-7day.png
--------------------------------------------------------------------------------
/public/imgs/icon-add.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/icon-add.png
--------------------------------------------------------------------------------
/public/imgs/icon-arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/icon-arrow.png
--------------------------------------------------------------------------------
/public/imgs/icon-cart-checked.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/icon-cart-checked.png
--------------------------------------------------------------------------------
/public/imgs/icon-cart-hover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/icon-cart-hover.png
--------------------------------------------------------------------------------
/public/imgs/icon-cart.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/icon-cart.png
--------------------------------------------------------------------------------
/public/imgs/icon-close.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/icon-close.png
--------------------------------------------------------------------------------
/public/imgs/icon-down.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/icon-down.png
--------------------------------------------------------------------------------
/public/imgs/icon-gou.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/icon-gou.png
--------------------------------------------------------------------------------
/public/imgs/icon-loc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/icon-loc.png
--------------------------------------------------------------------------------
/public/imgs/icon-no-data.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/icon-no-data.png
--------------------------------------------------------------------------------
/public/imgs/icon-post.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/icon-post.png
--------------------------------------------------------------------------------
/public/imgs/icon-search.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/icon-search.png
--------------------------------------------------------------------------------
/public/imgs/icon-setting.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/icon-setting.png
--------------------------------------------------------------------------------
/public/imgs/item-box-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/item-box-1.png
--------------------------------------------------------------------------------
/public/imgs/item-box-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/item-box-2.png
--------------------------------------------------------------------------------
/public/imgs/item-box-3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/item-box-3.jpg
--------------------------------------------------------------------------------
/public/imgs/item-box-4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/item-box-4.jpg
--------------------------------------------------------------------------------
/public/imgs/loading-svg/loading-balls.svg:
--------------------------------------------------------------------------------
1 |
15 |
--------------------------------------------------------------------------------
/public/imgs/loading-svg/loading-bars.svg:
--------------------------------------------------------------------------------
1 |
18 |
--------------------------------------------------------------------------------
/public/imgs/loading-svg/loading-bubbles.svg:
--------------------------------------------------------------------------------
1 |
15 |
--------------------------------------------------------------------------------
/public/imgs/loading-svg/loading-cubes.svg:
--------------------------------------------------------------------------------
1 |
15 |
--------------------------------------------------------------------------------
/public/imgs/loading-svg/loading-cylon-red.svg:
--------------------------------------------------------------------------------
1 |
12 |
--------------------------------------------------------------------------------
/public/imgs/loading-svg/loading-cylon.svg:
--------------------------------------------------------------------------------
1 |
12 |
--------------------------------------------------------------------------------
/public/imgs/loading-svg/loading-spin.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/public/imgs/loading-svg/loading-spinning-bubbles.svg:
--------------------------------------------------------------------------------
1 |
30 |
--------------------------------------------------------------------------------
/public/imgs/loading-svg/loading-spokes.svg:
--------------------------------------------------------------------------------
1 |
27 |
--------------------------------------------------------------------------------
/public/imgs/login-bg.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/login-bg.jpg
--------------------------------------------------------------------------------
/public/imgs/login-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/login-logo.png
--------------------------------------------------------------------------------
/public/imgs/logo-footer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/logo-footer.png
--------------------------------------------------------------------------------
/public/imgs/logo-mi.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/logo-mi.png
--------------------------------------------------------------------------------
/public/imgs/mi-home.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/mi-home.png
--------------------------------------------------------------------------------
/public/imgs/mi-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/mi-logo.png
--------------------------------------------------------------------------------
/public/imgs/mix-alpha.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/mix-alpha.jpg
--------------------------------------------------------------------------------
/public/imgs/nav-img/nav-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/nav-img/nav-1.png
--------------------------------------------------------------------------------
/public/imgs/nav-img/nav-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/nav-img/nav-2.png
--------------------------------------------------------------------------------
/public/imgs/nav-img/nav-3-1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/nav-img/nav-3-1.jpg
--------------------------------------------------------------------------------
/public/imgs/nav-img/nav-3-2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/nav-img/nav-3-2.jpg
--------------------------------------------------------------------------------
/public/imgs/nav-img/nav-3-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/nav-img/nav-3-3.png
--------------------------------------------------------------------------------
/public/imgs/nav-img/nav-3-4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/nav-img/nav-3-4.jpg
--------------------------------------------------------------------------------
/public/imgs/nav-img/nav-3-5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/nav-img/nav-3-5.jpg
--------------------------------------------------------------------------------
/public/imgs/nav-img/nav-3-6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/nav-img/nav-3-6.png
--------------------------------------------------------------------------------
/public/imgs/nav-img/nav-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/nav-img/nav-3.png
--------------------------------------------------------------------------------
/public/imgs/nav-img/nav-4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/nav-img/nav-4.png
--------------------------------------------------------------------------------
/public/imgs/nav-img/nav-5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/nav-img/nav-5.png
--------------------------------------------------------------------------------
/public/imgs/nav-img/nav-6-1.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/nav-img/nav-6-1.webp
--------------------------------------------------------------------------------
/public/imgs/nav-img/nav-6-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/nav-img/nav-6-2.png
--------------------------------------------------------------------------------
/public/imgs/nav-img/nav-6-3.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/nav-img/nav-6-3.webp
--------------------------------------------------------------------------------
/public/imgs/nav-img/nav-6-4.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/nav-img/nav-6-4.webp
--------------------------------------------------------------------------------
/public/imgs/nav-img/nav-6-5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/nav-img/nav-6-5.png
--------------------------------------------------------------------------------
/public/imgs/nav-img/nav-6-6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/nav-img/nav-6-6.png
--------------------------------------------------------------------------------
/public/imgs/nav-img/nav-6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/nav-img/nav-6.png
--------------------------------------------------------------------------------
/public/imgs/pay/icon-ali.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/pay/icon-ali.png
--------------------------------------------------------------------------------
/public/imgs/pay/icon-qrcode.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/pay/icon-qrcode.png
--------------------------------------------------------------------------------
/public/imgs/pay/icon-scan.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/pay/icon-scan.png
--------------------------------------------------------------------------------
/public/imgs/pay/icon-wechat.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/pay/icon-wechat.png
--------------------------------------------------------------------------------
/public/imgs/product/gallery-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/product/gallery-1.png
--------------------------------------------------------------------------------
/public/imgs/product/gallery-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/product/gallery-2.png
--------------------------------------------------------------------------------
/public/imgs/product/gallery-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/product/gallery-3.png
--------------------------------------------------------------------------------
/public/imgs/product/gallery-4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/product/gallery-4.png
--------------------------------------------------------------------------------
/public/imgs/product/gallery-5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/product/gallery-5.jpg
--------------------------------------------------------------------------------
/public/imgs/product/gallery-6.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/product/gallery-6.jpg
--------------------------------------------------------------------------------
/public/imgs/product/product-bg-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/product/product-bg-1.png
--------------------------------------------------------------------------------
/public/imgs/product/product-bg-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/product/product-bg-2.png
--------------------------------------------------------------------------------
/public/imgs/product/product-bg-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/product/product-bg-3.png
--------------------------------------------------------------------------------
/public/imgs/product/video.mp4:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/product/video.mp4
--------------------------------------------------------------------------------
/public/imgs/slider/slide-1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/slider/slide-1.jpg
--------------------------------------------------------------------------------
/public/imgs/slider/slide-2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/slider/slide-2.jpg
--------------------------------------------------------------------------------
/public/imgs/slider/slide-3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/slider/slide-3.jpg
--------------------------------------------------------------------------------
/public/imgs/slider/slide-4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/slider/slide-4.jpg
--------------------------------------------------------------------------------
/public/imgs/slider/slide-5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/public/imgs/slider/slide-5.jpg
--------------------------------------------------------------------------------
/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | <%= htmlWebpackPlugin.options.title %>
9 |
10 |
11 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/public/mock/user/login.json:
--------------------------------------------------------------------------------
1 | {
2 | "status": 0,
3 | "data": {
4 | "id": 12,
5 | "username": "admin",
6 | "email": "admin@51purse.com",
7 | "phone": null,
8 | "role": 0,
9 | "createTime": 1479048325000,
10 | "updateTime": 1479048325000
11 | }
12 | }
--------------------------------------------------------------------------------
/src/App.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
41 |
42 |
48 |
--------------------------------------------------------------------------------
/src/api/index.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/src/api/index.js
--------------------------------------------------------------------------------
/src/assets/scss/base.scss:
--------------------------------------------------------------------------------
1 | @import './mixin.scss';
2 | .container {
3 | width: 1226px;
4 | margin: 0 auto;
5 | }
6 |
7 | a {
8 | img {
9 | width: 100%;
10 | height: 100%;
11 | }
12 | }
13 | input {
14 | outline: none;
15 | box-sizing: border-box;
16 | font-size: 14px;
17 | }
18 | .fl {
19 | float: left;
20 | }
21 | .fr {
22 | float: right;
23 | }
24 | .clearfix::before, .clearfix::after {
25 | content: '';
26 | display: table;
27 | }
28 | .clearfix::after {
29 | clear: both;
30 | }
31 |
32 |
33 | // 公共logo部分
34 | .header-logo {
35 | width: 55px;
36 | height: 55px;
37 | background-color: #f60;
38 | .logo-icon {
39 | display: inline-block;
40 | width: 110px;
41 | height: 55px;
42 |
43 | &::before {
44 | content: "";
45 | @include bgImg(55px, 55px, "/imgs/mi-logo.png", 55px);
46 | transition: margin 0.2s;
47 | }
48 |
49 | &::after {
50 | content: "";
51 | @include bgImg(55px, 55px, "/imgs/mi-home.png", 55px);
52 | }
53 |
54 | &:hover::before {
55 | margin-left: -55px;
56 | transition: margin 0.2s;
57 | }
58 | }
59 | }
--------------------------------------------------------------------------------
/src/assets/scss/button.scss:
--------------------------------------------------------------------------------
1 | .btn {
2 | display: inline-block;
3 | width: 110px;
4 | line-height: 30px;
5 | text-align: center;
6 | background-color: $colorA;
7 | color: $colorG;
8 | border: none;
9 | cursor: pointer;
10 | }
11 |
12 | .btn-default {
13 | background-color: #b0b0b0;
14 | color: $colorG;
15 | }
16 |
17 | .btn-large {
18 | width: 202px;
19 | @include hl(50px, 50px);
20 | font-size: $fontH;
21 | }
22 | .btn-huge {
23 | width: 300px;
24 | @include hl(54px, 54px);
25 | font-size: $fontI;
26 | }
27 |
28 | .btn-group {
29 | @include wh(100%, auto);
30 | margin: 0 auto;
31 | .btn{
32 | margin-right: 20px;
33 | &:last-child{
34 | margin-right: 0;
35 | }
36 | }
37 | .cancel-btn {
38 | background-color: #b0b0b0;
39 | }
40 | }
--------------------------------------------------------------------------------
/src/assets/scss/config.scss:
--------------------------------------------------------------------------------
1 | /*
2 | 样式规范表
3 | */
4 | $min-width:1226px; //容器安全区域宽度
5 |
6 | // 常规字体大小设置
7 | $fontA: 80px; //产品站大标题
8 | $fontB: 38px; //产品站标题
9 | $fontC: 28px; //导航标题
10 | $fontD: 26px; //产品站副标题
11 | $fontE: 24px;
12 | $fontF: 22px;
13 | $fontG: 20px; //用在较为重要的文字、操作按钮
14 | $fontH: 18px; //用于大多数文字
15 | $fontI: 16px; //用于辅助性文字
16 | $fontJ: 14px; //用于一般文字
17 | $fontK: 12px; //系统默认大小
18 |
19 | // 常规配色设置
20 | $colorA: #FF6600 !default; //用于需要突出和强调的文字、按钮和icon
21 | $colorB: #333333 !default; //用于较为重要的文字信息、内页标题等
22 | $colorC: #666666 !default; //用于普通段落信息 引导词
23 | $colorD: #999999 !default; //用于辅助、次要的文字信息、普通按钮的描边
24 | $colorE: #cccccc !default; //用于特别弱的文字
25 | $colorF: #d7d7d7 !default; //用于列表分割线、标签秒变
26 | $colorG: #ffffff !default; //用于导航栏文字、按钮文字、白色背景
27 | $colorH: #e5e5e5 !default; //用于上下模块分割线
28 | $colorI: #000000 !default; //纯黑色背景,用于遮罩层
29 | $colorJ: #F5F5F5 !default; //弹框标题背景色
30 | $colorK: #FFFAF7 !default; //订单标题背景色
--------------------------------------------------------------------------------
/src/assets/scss/mixin.scss:
--------------------------------------------------------------------------------
1 | // flex布局复用
2 | @mixin flex($hov:space-between, $col:center ) {
3 | display: flex;
4 | justify-content: $hov;
5 | align-items: $col;
6 | }
7 |
8 | // 背景图片复用
9 | @mixin bgImg($w:0, $h:0, $src:'', $size: contain) {
10 | display: inline-block;
11 | width: $w;
12 | height: $h;
13 | background: url($src) no-repeat center;
14 | background-size: $size;
15 | }
16 |
17 | // 设定宽高
18 | @mixin wh($w:100%, $h:100%) {
19 | width: $w;
20 | height: $h;
21 | }
22 |
23 | // 设定定位
24 | @mixin position($pos:absolute, $top:0, $left:0) {
25 | position: $pos;
26 | top: $top;
27 | left: $left;
28 | }
29 |
30 | // 设定定位
31 | @mixin positionR($pos:absolute, $bottom:0, $right:0) {
32 | position: $pos;
33 | bottom: $bottom;
34 | right: $right;
35 | }
36 |
37 | // 设定图片定位
38 | @mixin positionImg($pos:absolute, $top:0, $right:0, $w:100%, $h:100%, $img:'') {
39 | position: $pos;
40 | top: $top;
41 | right: $right;
42 | width: $w;
43 | height: $h;
44 | background: url($img) no-repeat center;
45 | background-size: contain;
46 | }
47 | @mixin positionImgLeft($pos:absolute, $top:0, $left:0, $w:100%, $h:100%, $img:'') {
48 | position: $pos;
49 | top: $top;
50 | left: $left;
51 | width: $w;
52 | height: $h;
53 | background: url($img) no-repeat center;
54 | background-size: contain;
55 | }
56 |
57 | // 设定高和行高
58 | @mixin hl($height:100%, $line-height: 100%) {
59 | height: $height;
60 | line-height: $line-height;
61 | }
62 |
63 | // 设定高度和字体大小
64 | @mixin hf($h, $f) {
65 | height: $h;
66 | font-size: $f;
67 | }
68 |
69 | // 设定边框
70 | @mixin bd($big:1px, $line:solid, $color:#e5e5e5) {
71 | border: $big $line $color;
72 | }
73 |
74 | // 图片/高度
75 | @mixin bgh($img, $h:0) {
76 | background: url($img) no-repeat center;
77 | height: $h;
78 | }
--------------------------------------------------------------------------------
/src/assets/scss/modal.scss:
--------------------------------------------------------------------------------
1 | .modal {
2 | z-index: 99;
3 | @include wh(100%, 100%);
4 | @include position(fixed);
5 | transition: all .5s;
6 | .mask {
7 | @include wh(100%, 100%);
8 | @include position(fixed);
9 | background-color: $colorI;
10 | opacity: .5;
11 | }
12 |
13 | &.slide-enter-active {
14 | top: 0;
15 | }
16 | &.slide-leave-active {
17 | top: -100%;
18 | }
19 | &.slide-enter {
20 | top: -100%;
21 | }
22 |
23 | .modal-dialog {
24 | @include position(absolute, 40%, 50%);
25 | @include wh(660px, auto);
26 | background-color: $colorG;
27 | transform: translate(-50%, -50%);
28 |
29 | .modal-header {
30 | @include hl(60px, 60px);
31 | background-color: $colorJ;
32 | font-size: $fontI;
33 | padding: 0 25px;
34 |
35 | .icon-close {
36 | @include positionImg(absolute, 23px, 25px, 14px, 14px, '/imgs/icon-close.png');
37 | transition: all .5s;
38 | &:hover {
39 | transform: scale(1.5);
40 | }
41 | }
42 | }
43 |
44 | .modal-body {
45 | padding: 42px 40px 54px;
46 | font-size: $fontJ;
47 | }
48 |
49 | .modal-footer {
50 | @include hl(82px, 82px);
51 | text-align: center;
52 | background-color: $colorJ;
53 | }
54 | }
55 | }
--------------------------------------------------------------------------------
/src/assets/scss/reset.scss:
--------------------------------------------------------------------------------
1 | body,div,p,h1,h2,h3,h4,h5,h6,ul,li,dl,dt,a,input,button,textarea,select{
2 | margin: 0;
3 | padding: 0;
4 | outline: none;
5 | }
6 | html,body{
7 | font-family:Helvetica Neue,Helvetica,Arial,Microsoft Yahei,Hiragino Sans GB,Heiti SC,WenQuanYi Micro Hei,sans-serif;
8 | color: #333333;
9 | background-color: #ffffff;
10 | min-width: 1226px;
11 | font-size: 12px;
12 | }
13 | a{
14 | text-decoration: none;
15 | }
16 | ul,li{
17 | list-style: none;
18 | }
19 | input{
20 | font: normal;
21 | }
22 | input:focus,a:focus{
23 | outline: none;
24 | }
25 |
--------------------------------------------------------------------------------
/src/components/Loading.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |

4 |
5 |
6 |
11 |
--------------------------------------------------------------------------------
/src/components/Modal.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
10 |
11 |
12 |
13 |
21 |
22 |
23 |
24 |
25 |
26 |
51 |
52 |
--------------------------------------------------------------------------------
/src/components/NavFooter.vue:
--------------------------------------------------------------------------------
1 |
2 |
21 |
22 |
23 |
24 |
29 |
30 |
--------------------------------------------------------------------------------
/src/components/NavHeader.vue:
--------------------------------------------------------------------------------
1 |
2 |
99 |
100 |
101 |
102 |
230 |
231 |
--------------------------------------------------------------------------------
/src/components/NoData.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |

4 |
当前暂无提交的订单记录.
5 |
6 |
7 |
8 |
13 |
14 |
--------------------------------------------------------------------------------
/src/components/OrderHeader.vue:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 |
18 |
35 |
36 |
--------------------------------------------------------------------------------
/src/components/ProductParam.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {{title}}
6 |
7 |
13 |
14 |
15 |
16 |
17 |
18 |
43 |
44 |
--------------------------------------------------------------------------------
/src/components/ScanPayCode.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
微信支付
8 |
9 |
10 |
请使用微信扫一扫
11 |
二维码完成支付
12 |
13 |
14 |
15 |
16 |
17 |
28 |
--------------------------------------------------------------------------------
/src/components/serviceBar.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | - 预约维修服务
6 | - 7天无理由退货
7 | - 15天免费换货
8 | - 满150元包邮
9 |
10 |
11 |
12 |
13 |
14 |
15 |
20 |
21 |
--------------------------------------------------------------------------------
/src/env.js:
--------------------------------------------------------------------------------
1 | let baseURL;
2 | switch (process.env.NODE_ENV) {
3 | case 'development':
4 | baseURL = 'http://dev-mall-pre.springboot.cn/api';
5 | break;
6 | case 'test':
7 | baseURL = 'http://test-mall-pre.springboot.cn/api';
8 | break;
9 | case 'prod':
10 | baseURL = 'http://prod-mall-pre.springboot.cn/api';
11 | break;
12 | default:
13 | baseURL = 'http://mall-pre.springboot.cn/api';
14 | }
15 |
16 | export default {
17 | baseURL
18 | }
--------------------------------------------------------------------------------
/src/main.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import router from './router'
3 | import axios from 'axios'
4 | import VueAxios from 'vue-axios'
5 | import VueLazyLoad from 'vue-lazyload'
6 | import VueCookie from 'vue-cookie'
7 | import store from './store'
8 | import { Message } from 'element-ui'
9 | import 'element-ui/lib/theme-chalk/index.css';
10 | import App from './App.vue'
11 | // import env from './env'
12 |
13 | // mock开关
14 | const mock = false;
15 | if (mock) {
16 | require('./mock/api');
17 | }
18 |
19 | // 根据前端的跨域方式做调整 /a/b : /api/a/b => /a/b
20 | axios.defaults.baseURL = '/api';
21 | axios.defaults.timeout = 8000;
22 | // 根据环境变量获取不同的请求地址
23 | // axios.defaults.baseURL = env.baseURL;
24 |
25 | // 接口错误拦截
26 | axios.interceptors.response.use(function(response) {
27 | let res = response.data;
28 | let path = location.hash;
29 | if (res.status === 0) {
30 | return res.data;
31 | } else if (res.status === 10) {
32 | if (path != '#/index') {
33 | window.location.href = '/#/login';
34 | }
35 | return Promise.reject(res);
36 | } else {
37 | this.$message.warning(res.msg);
38 | return Promise.reject(res);
39 | }
40 | }, (error) => {
41 | let res = error.response;
42 | Message.error(res.data.message);
43 | return Promise.reject(error);
44 | })
45 | Vue.use(VueAxios, axios);
46 | Vue.use(VueLazyLoad, {
47 | loading: '/imgs/loading-svg/loading-bars.svg'
48 | });
49 | Vue.use(VueCookie);
50 | Vue.prototype.$message = Message;
51 | Vue.config.productionTip = false
52 |
53 | new Vue({
54 | router,
55 | store,
56 | render: h => h(App),
57 | }).$mount('#app')
58 |
59 |
--------------------------------------------------------------------------------
/src/mock/api.js:
--------------------------------------------------------------------------------
1 | import Mock from 'mockjs'
2 | Mock.mock('/api/user/login', {
3 | "status": 0,
4 | "data": {
5 | "id": 12,
6 | "username": "admin",
7 | "email": "admin@51purse.com",
8 | "phone": null,
9 | "role": 0,
10 | "createTime": 1479048325000,
11 | "updateTime": 1479048325000
12 | }
13 | })
--------------------------------------------------------------------------------
/src/pages/alipay.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 请谨防钓鱼链接或诈骗电话,了解更多
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
49 |
--------------------------------------------------------------------------------
/src/pages/cart.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 温馨提示:产品是否购买成功,以最终下单为准哦,请尽快结算
6 |
7 |
8 |
9 |
10 |
11 |
12 | -
13 | 全选
14 |
15 | - 商品名称
16 | - 单价
17 | - 数量
18 | - 小计
19 | - 操作
20 |
21 |
43 |
44 |
45 |
46 |
继续购物
47 | 共
48 |
{{cartProductList.length}}件商品,已选择
49 |
{{checkedNum}}件
50 |
51 |
52 | 合计:
53 |
{{cartTotalPrice}}元
54 |
去结算
55 |
56 |
57 |
58 |
59 |
60 |
61 |
71 |
72 | 你确定要删除此商品吗?
73 |
74 |
75 |
76 |
77 |
78 |
79 |
196 |
197 |
--------------------------------------------------------------------------------
/src/pages/detail.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
24 |
25 |
{{product.name}}
26 |
27 | 相机全新升级 / 960帧超慢动作 / 手持超级夜景 / 全球首款双频GPS / 骁龙845处理器 / 红
28 |
外人脸解锁 / AI变焦双摄 / 三星 AMOLED 屏
29 |
30 |
小米自营
31 |
32 | {{product.price}}
33 | 2999元
34 |
35 |
36 |
37 |
38 |
北京 北京市 朝阳区 安定门街道
39 |
有现货
40 |
41 |
42 |
选择版本
43 |
6GB+64GB 全网通
44 |
4GB+64GB 移动4G
45 |
46 |
47 |
选择颜色
48 |
49 |
50 | 深空灰
51 |
52 |
53 |
54 |
55 |
小米9 {{version === 1 ? '6GB+64GB 全网通' : '4GB+64GB 移动4G'}} 深灰色
56 |
{{product.price}}
57 |
58 |
总计:{{product.price}}元
59 |
60 |
63 |
64 |
65 |
66 |
67 |
68 |
价格说明
69 |
70 |

71 |
72 |
73 |
74 |
75 |
84 |
85 | 商品添加成功!
86 |
87 |
88 |
89 |
90 |
91 |
92 |
149 |
150 |
--------------------------------------------------------------------------------
/src/pages/home.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
21 |
22 |
--------------------------------------------------------------------------------
/src/pages/index.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 |
121 |
122 |
123 |
124 |
125 |
126 |
136 |
141 |
142 |
143 |
144 |
手机
145 |
146 |
151 |
152 |
153 |
154 |
新品
155 |
156 |
![]()
157 |
158 |
159 |
{{item.name}}
160 |
{{item.subtitle}}
161 |
{{item.price}}元
162 |
163 |
164 |
165 |
166 |
167 |
168 |
169 |
170 |
179 |
180 | 商品添加成功!
181 |
182 |
183 |
184 |
185 |
186 |
187 |
348 |
349 |
--------------------------------------------------------------------------------
/src/pages/login.vue:
--------------------------------------------------------------------------------
1 |
2 |
40 |
41 |
42 |
77 |
78 |
--------------------------------------------------------------------------------
/src/pages/order.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
30 |
31 |
35 |
--------------------------------------------------------------------------------
/src/pages/orderConfirm.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 请认真填写收货地址
6 |
7 |
8 |
50 |
51 |
52 |
53 |
54 |
收货地址
55 |
56 |
57 |
{{item.receiverName}}
58 |
{{item.receiverMobile}}
59 |
60 | {{item.receiverProvince+ ' ' +item.receiverCity+ ' ' + item.receiverDistrict+ ' ' +item.receiverAddress}}
61 |
62 | {{item.receiverZip}}
63 |
64 |
76 |
77 |
81 |
82 |
83 |
96 |
97 |
配送方式
98 | 包邮
99 |
100 |
101 |
发票
102 |
电子发票
103 |
个人
104 |
105 |
106 |
107 | 商品件数:
108 | {{count}}件
109 |
110 |
111 | 商品总价:
112 | {{cartTotalPrice}}
113 |
114 |
115 | 优惠活动:
116 | 0元
117 |
118 |
119 | 运费:
120 | 0元
121 |
122 |
123 | 应付总额:
124 | {{cartTotalPrice}}元
125 |
126 |
127 |
131 |
132 |
133 |
134 |
141 |
142 |
143 |
144 |
145 |
146 |
147 |
148 |
154 |
159 |
167 |
168 |
169 |
170 |
171 |
172 |
173 |
174 |
175 |
176 |
177 |
184 |
185 | 您确认要删除此地址吗?
186 |
187 |
188 |
189 |
190 |
191 |
192 |
338 |
339 |
--------------------------------------------------------------------------------
/src/pages/orderList.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 请谨防钓鱼链接或诈骗电话,了解更多>
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 | {{item.createTime}}
16 | |
17 | {{item.receiverName}}
18 | |
19 | 订单号:{{item.orderNo}}
20 | |
21 | {{item.paymentTypeDesc}}
22 |
23 |
24 | 应付金额:
25 | {{item.payment}}
26 | 元
27 |
28 |
29 |
30 |
31 |
32 |
33 |
![]()
34 |
35 |
36 |
{{order.productName}}
37 |
{{order.currentUnitPrice}} X {{order.quantity}}
38 |
39 |
40 |
41 |
44 |
47 |
48 |
49 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
125 |
126 |
--------------------------------------------------------------------------------
/src/pages/orderPay.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 请谨防钓鱼链接或诈骗电话,了解更多>
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
订单提交成功!去付款咯~
15 |
16 | 请在
17 | 30分内完成支付, 超时后将取消订单
18 |
19 |
收货信息:{{addressInfo}}
20 |
21 |
22 |
23 | 应付总额:
24 | 2599元
25 |
26 |
27 | 订单详情
28 |
29 |
30 |
31 |
32 |
33 |
34 |
订单号:
35 |
{{orderId}}
36 |
37 |
38 |
收货信息:
39 |
{{addressInfo}}
40 |
41 |
42 |
商品名称:
43 |
44 |
45 | -
46 |
47 | {{item.productName}}
48 |
49 |
50 |
51 |
52 |
53 |
发票信息:
54 |
电子发票 个人
55 |
56 |
57 |
58 |
59 |
选择以下支付方式付款
60 |
65 |
66 |
67 |
68 |
69 |
78 |
79 | 您确认是否完成支付?
80 |
81 |
82 |
83 |
84 |
85 |
86 |
188 |
189 |
--------------------------------------------------------------------------------
/src/pages/product.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
{{product.name}}
11 |
{{product.subtitle}}
12 |
13 | 全球首款双频 GP
14 | |
15 | 骁龙845
16 | |
17 | AI 变焦双摄
18 | |
19 | 红外人脸识别
20 |
21 |
22 |
23 | ¥
24 | {{product.price}}
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
小米8 AI变焦双摄拍摄
51 |
52 |
53 |
54 | 60帧超慢动作摄影
55 |
慢慢回味每一瞬间的精彩
56 |
57 |
58 | 后置960帧电影般超慢动作视频,将眨眼间的美妙展现得淋漓尽致!
59 |
更能AI 精准分析视频内容,15个场景智能匹配背景音效。
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
124 |
125 |
--------------------------------------------------------------------------------
/src/pages/register.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
注册小米帐号
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
29 |
30 |
31 |
32 |
57 |
58 |
59 |
--------------------------------------------------------------------------------
/src/router.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import Router from 'vue-router'
3 | import Home from './pages/home'
4 | import Index from './pages/index'
5 |
6 |
7 | Vue.use(Router);
8 |
9 | export default new Router({
10 | routes: [
11 | {
12 | path: '/',
13 | name: 'home',
14 | component: Home,
15 | redirect: '/index',
16 | children: [
17 | {
18 | path: '/index',
19 | name: 'index',
20 | component: Index,
21 | },
22 | {
23 | path: '/product/:id',
24 | name: 'product',
25 | component: () => import('./pages/product.vue')
26 | },
27 | {
28 | path: '/detail/:id',
29 | name: 'detail',
30 | component: () => import('./pages/detail.vue')
31 | }
32 | ]
33 | },
34 | {
35 | path: '/cart',
36 | name: 'cart',
37 | component: () => import('./pages/cart.vue')
38 | },
39 | {
40 | path: '/login',
41 | name: 'login',
42 | component: () => import('./pages/login.vue')
43 | },
44 | {
45 | path: '/register',
46 | name: 'register',
47 | component: () => import('./pages/register.vue'),
48 | },
49 | {
50 | path: '/order',
51 | name: 'order',
52 | component: () => import('./pages/order.vue'),
53 | children: [
54 | {
55 | path: 'list',
56 | name: 'order-list',
57 | component: () => import('./pages/orderList.vue')
58 | },
59 | {
60 | path: 'confirm',
61 | name: 'order-confirm',
62 | component: () => import('./pages/orderConfirm.vue')
63 | },
64 | {
65 | path: 'pay',
66 | name: 'order-pay',
67 | component: () => import('./pages/orderPay.vue')
68 | },
69 | {
70 | path: 'alipay',
71 | name: 'alipay',
72 | component: () => import('./pages/alipay.vue')
73 | }
74 | ]
75 | }
76 | ]
77 | })
78 |
--------------------------------------------------------------------------------
/src/storage/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Storage封装
3 | */
4 | const STORAGE_KEY = 'mall';
5 | export default{
6 | // 存储值
7 | setItem(key, value, module_name) {
8 | if (module_name) {
9 | let val = this.getItem(module_name);
10 | val[key] = value;
11 | this.setItem(module_name, val);
12 | } else {
13 | let val = this.getStorage();
14 | val[key] = value;
15 | window.sessionStorage.setItem(STORAGE_KEY, JSON.stringify(val))
16 | }
17 | },
18 | // 获取某一个模块下面的属性: user下面的userName
19 | getItem(key, module_name) {
20 | if (module_name){
21 | let val = this.getItem(module_name);
22 | if (val) return val[key];
23 | }
24 | return this.getStorage()[key];
25 | },
26 | getStorage() {
27 | return JSON.parse(window.sessionStorage.getItem(STORAGE_KEY) || '{}')
28 | },
29 | clear(key, module_name) {
30 | let val = this.getStorage();
31 | if (module_name) {
32 | if (!val[module_name]) return;
33 | delete val[module_name][key];
34 | } else {
35 | delete val[key]
36 | }
37 | window.sessionStorage.setItem(STORAGE_KEY, JSON.stringify(val))
38 | }
39 | }
--------------------------------------------------------------------------------
/src/store/action.js:
--------------------------------------------------------------------------------
1 | /**
2 | * 商城Vuex-actions
3 | */
4 | export default {
5 | saveUserName(context, username) {
6 | context.commit('saveUserName', username);
7 | },
8 | saveCartCount(context, count) {
9 | context.commit('saveCartCount', count);
10 | },
11 | }
--------------------------------------------------------------------------------
/src/store/index.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import Vuex from 'vuex'
3 | import mutations from './mutations'
4 | import actions from './action'
5 | Vue.use(Vuex);
6 |
7 | const state = {
8 | username: '', // 登录用户名
9 | cartCount: 0, // 购物车商品数量
10 | }
11 | export default new Vuex.Store({
12 | state,
13 | mutations,
14 | actions
15 | })
--------------------------------------------------------------------------------
/src/store/mutations.js:
--------------------------------------------------------------------------------
1 | /**
2 | * 商城Vuex-mutations
3 | */
4 | export default {
5 | saveUserName(state, username) {
6 | state.username = username;
7 | },
8 | saveCartCount(state, count) {
9 | state.cartCount = count;
10 | },
11 | }
--------------------------------------------------------------------------------
/src/util/index.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/it-beige/miMall/5d2ff3182dfcac7f2a223e94be45f39166da0f2a/src/util/index.js
--------------------------------------------------------------------------------
/vue.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | devServer: {
3 | host: 'localhost',
4 | port: 8080,
5 | proxy: {
6 | '/api': {
7 | target: 'http://mall-pre.springboot.cn',
8 | changeOrigin: true,
9 | pathRewrite: {
10 | '/api': ''
11 | }
12 | }
13 | }
14 | },
15 | productionSourceMap: false
16 | }
--------------------------------------------------------------------------------