├── static ├── .gitkeep ├── img │ ├── code.png │ ├── demo1.jpeg │ └── demo2.jpeg └── css │ └── reset.css ├── _config.yml ├── .eslintignore ├── .gitignore ├── config ├── prod.env.js ├── dev.env.js └── index.js ├── src ├── common │ ├── stylus │ │ ├── index.styl │ │ ├── base.styl │ │ ├── mixin.styl │ │ └── icon.styl │ └── fonts │ │ ├── sell-icon.eot │ │ ├── sell-icon.ttf │ │ ├── sell-icon.woff │ │ └── sell-icon.svg ├── components │ ├── header │ │ ├── img │ │ │ ├── brand@2x.png │ │ │ ├── brand@3x.png │ │ │ ├── bulletin@2x.png │ │ │ ├── bulletin@3x.png │ │ │ ├── invoice_1@2x.png │ │ │ ├── invoice_1@3x.png │ │ │ ├── invoice_2@2x.png │ │ │ ├── invoice_2@3x.png │ │ │ ├── special_1@2x.png │ │ │ ├── special_1@3x.png │ │ │ ├── special_2@2x.png │ │ │ ├── special_2@3x.png │ │ │ ├── decrease_1@2x.png │ │ │ ├── decrease_1@3x.png │ │ │ ├── decrease_2@2x.png │ │ │ ├── decrease_2@3x.png │ │ │ ├── discount_1@2x.png │ │ │ ├── discount_1@3x.png │ │ │ ├── discount_2@2x.png │ │ │ ├── discount_2@3x.png │ │ │ ├── guarantee_1@2x.png │ │ │ ├── guarantee_1@3x.png │ │ │ ├── guarantee_2@2x.png │ │ │ └── guarantee_2@3x.png │ │ └── header.vue │ ├── star │ │ ├── img │ │ │ ├── star24_half@2x.png │ │ │ ├── star24_half@3x.png │ │ │ ├── star24_off@2x.png │ │ │ ├── star24_off@3x.png │ │ │ ├── star24_on@2x.png │ │ │ ├── star24_on@3x.png │ │ │ ├── star36_half@2x.png │ │ │ ├── star36_half@3x.png │ │ │ ├── star36_off@2x.png │ │ │ ├── star36_off@3x.png │ │ │ ├── star36_on@2x.png │ │ │ ├── star36_on@3x.png │ │ │ ├── star48_half@2x.png │ │ │ ├── star48_half@3x.png │ │ │ ├── star48_off@2x.png │ │ │ ├── star48_off@3x.png │ │ │ ├── star48_on@2x.png │ │ │ └── star48_on@3x.png │ │ └── star.vue │ ├── iconMap │ │ ├── img │ │ │ ├── decrease_3@2x.png │ │ │ ├── decrease_3@3x.png │ │ │ ├── decrease_4@2x.png │ │ │ ├── decrease_4@3x.png │ │ │ ├── discount_3@2x.png │ │ │ ├── discount_3@3x.png │ │ │ ├── discount_4@2x.png │ │ │ ├── discount_4@3x.png │ │ │ ├── invoice_3@2x.png │ │ │ ├── invoice_3@3x.png │ │ │ ├── invoice_4@2x.png │ │ │ ├── invoice_4@3x.png │ │ │ ├── special_3@2x.png │ │ │ ├── special_3@3x.png │ │ │ ├── special_4@2x.png │ │ │ ├── special_4@3x.png │ │ │ ├── guarantee_3@2x.png │ │ │ ├── guarantee_3@3x.png │ │ │ ├── guarantee_4@2x.png │ │ │ └── guarantee_4@3x.png │ │ └── iconMap.vue │ ├── food │ │ └── food.vue │ ├── backdrop │ │ └── backdrop.vue │ ├── cartcontrol │ │ └── cartcontrol.vue │ ├── seller │ │ └── seller.vue │ ├── goods │ │ └── goods.vue │ ├── ratings │ │ └── ratings.vue │ ├── foodDetail │ │ └── foodDetail.vue │ └── shopCart │ │ └── shopCart.vue ├── filter │ └── time.js ├── main.js └── App.vue ├── dist ├── static │ ├── img │ │ ├── code.png │ │ ├── demo1.jpeg │ │ └── demo2.jpeg │ ├── js │ │ ├── manifest.8e906dc5f39167adddb9.js │ │ ├── manifest.8e906dc5f39167adddb9.js.map │ │ └── app.92037e455e96de43fd58.js │ └── css │ │ ├── reset.css │ │ └── app.2ca30d6e0c2974c62f07a817ba379f36.css.map └── index.html ├── .babelrc ├── .editorconfig ├── index.html ├── .github └── workflows │ └── nodejs.yml ├── .eslintrc.js ├── README.md └── package.json /static/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | theme: jekyll-theme-cayman -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | build/*.js 2 | config/*.js 3 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules/ 3 | resource/ 4 | npm-debug.log 5 | -------------------------------------------------------------------------------- /config/prod.env.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | NODE_ENV: '"production"' 3 | } 4 | -------------------------------------------------------------------------------- /src/common/stylus/index.styl: -------------------------------------------------------------------------------- 1 | @import "./base" 2 | @import "./icon" 3 | @import "./mixin" 4 | -------------------------------------------------------------------------------- /static/img/code.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/static/img/code.png -------------------------------------------------------------------------------- /static/img/demo1.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/static/img/demo1.jpeg -------------------------------------------------------------------------------- /static/img/demo2.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/static/img/demo2.jpeg -------------------------------------------------------------------------------- /dist/static/img/code.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/dist/static/img/code.png -------------------------------------------------------------------------------- /dist/static/img/demo1.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/dist/static/img/demo1.jpeg -------------------------------------------------------------------------------- /dist/static/img/demo2.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/dist/static/img/demo2.jpeg -------------------------------------------------------------------------------- /.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["es2015", "stage-2"], 3 | "plugins": ["transform-runtime"], 4 | "comments": false 5 | } 6 | -------------------------------------------------------------------------------- /src/common/fonts/sell-icon.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/common/fonts/sell-icon.eot -------------------------------------------------------------------------------- /src/common/fonts/sell-icon.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/common/fonts/sell-icon.ttf -------------------------------------------------------------------------------- /src/common/fonts/sell-icon.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/common/fonts/sell-icon.woff -------------------------------------------------------------------------------- /src/components/header/img/brand@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/components/header/img/brand@2x.png -------------------------------------------------------------------------------- /src/components/header/img/brand@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/components/header/img/brand@3x.png -------------------------------------------------------------------------------- /src/components/header/img/bulletin@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/components/header/img/bulletin@2x.png -------------------------------------------------------------------------------- /src/components/header/img/bulletin@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/components/header/img/bulletin@3x.png -------------------------------------------------------------------------------- /src/components/header/img/invoice_1@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/components/header/img/invoice_1@2x.png -------------------------------------------------------------------------------- /src/components/header/img/invoice_1@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/components/header/img/invoice_1@3x.png -------------------------------------------------------------------------------- /src/components/header/img/invoice_2@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/components/header/img/invoice_2@2x.png -------------------------------------------------------------------------------- /src/components/header/img/invoice_2@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/components/header/img/invoice_2@3x.png -------------------------------------------------------------------------------- /src/components/header/img/special_1@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/components/header/img/special_1@2x.png -------------------------------------------------------------------------------- /src/components/header/img/special_1@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/components/header/img/special_1@3x.png -------------------------------------------------------------------------------- /src/components/header/img/special_2@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/components/header/img/special_2@2x.png -------------------------------------------------------------------------------- /src/components/header/img/special_2@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/components/header/img/special_2@3x.png -------------------------------------------------------------------------------- /src/components/star/img/star24_half@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/components/star/img/star24_half@2x.png -------------------------------------------------------------------------------- /src/components/star/img/star24_half@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/components/star/img/star24_half@3x.png -------------------------------------------------------------------------------- /src/components/star/img/star24_off@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/components/star/img/star24_off@2x.png -------------------------------------------------------------------------------- /src/components/star/img/star24_off@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/components/star/img/star24_off@3x.png -------------------------------------------------------------------------------- /src/components/star/img/star24_on@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/components/star/img/star24_on@2x.png -------------------------------------------------------------------------------- /src/components/star/img/star24_on@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/components/star/img/star24_on@3x.png -------------------------------------------------------------------------------- /src/components/star/img/star36_half@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/components/star/img/star36_half@2x.png -------------------------------------------------------------------------------- /src/components/star/img/star36_half@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/components/star/img/star36_half@3x.png -------------------------------------------------------------------------------- /src/components/star/img/star36_off@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/components/star/img/star36_off@2x.png -------------------------------------------------------------------------------- /src/components/star/img/star36_off@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/components/star/img/star36_off@3x.png -------------------------------------------------------------------------------- /src/components/star/img/star36_on@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/components/star/img/star36_on@2x.png -------------------------------------------------------------------------------- /src/components/star/img/star36_on@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/components/star/img/star36_on@3x.png -------------------------------------------------------------------------------- /src/components/star/img/star48_half@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/components/star/img/star48_half@2x.png -------------------------------------------------------------------------------- /src/components/star/img/star48_half@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/components/star/img/star48_half@3x.png -------------------------------------------------------------------------------- /src/components/star/img/star48_off@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/components/star/img/star48_off@2x.png -------------------------------------------------------------------------------- /src/components/star/img/star48_off@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/components/star/img/star48_off@3x.png -------------------------------------------------------------------------------- /src/components/star/img/star48_on@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/components/star/img/star48_on@2x.png -------------------------------------------------------------------------------- /src/components/star/img/star48_on@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/components/star/img/star48_on@3x.png -------------------------------------------------------------------------------- /src/components/header/img/decrease_1@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/components/header/img/decrease_1@2x.png -------------------------------------------------------------------------------- /src/components/header/img/decrease_1@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/components/header/img/decrease_1@3x.png -------------------------------------------------------------------------------- /src/components/header/img/decrease_2@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/components/header/img/decrease_2@2x.png -------------------------------------------------------------------------------- /src/components/header/img/decrease_2@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/components/header/img/decrease_2@3x.png -------------------------------------------------------------------------------- /src/components/header/img/discount_1@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/components/header/img/discount_1@2x.png -------------------------------------------------------------------------------- /src/components/header/img/discount_1@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/components/header/img/discount_1@3x.png -------------------------------------------------------------------------------- /src/components/header/img/discount_2@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/components/header/img/discount_2@2x.png -------------------------------------------------------------------------------- /src/components/header/img/discount_2@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/components/header/img/discount_2@3x.png -------------------------------------------------------------------------------- /src/components/header/img/guarantee_1@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/components/header/img/guarantee_1@2x.png -------------------------------------------------------------------------------- /src/components/header/img/guarantee_1@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/components/header/img/guarantee_1@3x.png -------------------------------------------------------------------------------- /src/components/header/img/guarantee_2@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/components/header/img/guarantee_2@2x.png -------------------------------------------------------------------------------- /src/components/header/img/guarantee_2@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/components/header/img/guarantee_2@3x.png -------------------------------------------------------------------------------- /src/components/iconMap/img/decrease_3@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/components/iconMap/img/decrease_3@2x.png -------------------------------------------------------------------------------- /src/components/iconMap/img/decrease_3@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/components/iconMap/img/decrease_3@3x.png -------------------------------------------------------------------------------- /src/components/iconMap/img/decrease_4@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/components/iconMap/img/decrease_4@2x.png -------------------------------------------------------------------------------- /src/components/iconMap/img/decrease_4@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/components/iconMap/img/decrease_4@3x.png -------------------------------------------------------------------------------- /src/components/iconMap/img/discount_3@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/components/iconMap/img/discount_3@2x.png -------------------------------------------------------------------------------- /src/components/iconMap/img/discount_3@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/components/iconMap/img/discount_3@3x.png -------------------------------------------------------------------------------- /src/components/iconMap/img/discount_4@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/components/iconMap/img/discount_4@2x.png -------------------------------------------------------------------------------- /src/components/iconMap/img/discount_4@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/components/iconMap/img/discount_4@3x.png -------------------------------------------------------------------------------- /src/components/iconMap/img/invoice_3@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/components/iconMap/img/invoice_3@2x.png -------------------------------------------------------------------------------- /src/components/iconMap/img/invoice_3@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/components/iconMap/img/invoice_3@3x.png -------------------------------------------------------------------------------- /src/components/iconMap/img/invoice_4@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/components/iconMap/img/invoice_4@2x.png -------------------------------------------------------------------------------- /src/components/iconMap/img/invoice_4@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/components/iconMap/img/invoice_4@3x.png -------------------------------------------------------------------------------- /src/components/iconMap/img/special_3@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/components/iconMap/img/special_3@2x.png -------------------------------------------------------------------------------- /src/components/iconMap/img/special_3@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/components/iconMap/img/special_3@3x.png -------------------------------------------------------------------------------- /src/components/iconMap/img/special_4@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/components/iconMap/img/special_4@2x.png -------------------------------------------------------------------------------- /src/components/iconMap/img/special_4@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/components/iconMap/img/special_4@3x.png -------------------------------------------------------------------------------- /src/components/iconMap/img/guarantee_3@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/components/iconMap/img/guarantee_3@2x.png -------------------------------------------------------------------------------- /src/components/iconMap/img/guarantee_3@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/components/iconMap/img/guarantee_3@3x.png -------------------------------------------------------------------------------- /src/components/iconMap/img/guarantee_4@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/components/iconMap/img/guarantee_4@2x.png -------------------------------------------------------------------------------- /src/components/iconMap/img/guarantee_4@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LeaderAndMaster/vue2-element/HEAD/src/components/iconMap/img/guarantee_4@3x.png -------------------------------------------------------------------------------- /config/dev.env.js: -------------------------------------------------------------------------------- 1 | var merge = require('webpack-merge') 2 | var prodEnv = require('./prod.env') 3 | 4 | module.exports = merge(prodEnv, { 5 | NODE_ENV: '"development"' 6 | }) 7 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | indent_style = space 6 | indent_size = 2 7 | end_of_line = lf 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | -------------------------------------------------------------------------------- /src/filter/time.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import moment from 'moment' 3 | 4 | Vue.filter('time', function(value, formatString) { 5 | formatString = formatString || 'YYYY-MM-DD HH:mm'; 6 | return moment(value).format(formatString); 7 | }) 8 | -------------------------------------------------------------------------------- /src/common/stylus/base.styl: -------------------------------------------------------------------------------- 1 | body,html{ 2 | font-weight: 200 3 | } 4 | 5 | .clearfix 6 | display: inline-block; 7 | &:after 8 | display: block; 9 | content: '' 10 | height: 0 11 | line-height: 0 12 | clear: both; 13 | visibility: hidden; 14 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | sell 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/components/food/food.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 15 | 16 | 27 | -------------------------------------------------------------------------------- /src/common/stylus/mixin.styl: -------------------------------------------------------------------------------- 1 | border-1px($color) 2 | position relative 3 | &:after 4 | display block 5 | position: absolute; 6 | left: 0 7 | bottom: 0 8 | width: 100% 9 | border-top: 1px solid $color 10 | content: '' 11 | 12 | bg-image($url) 13 | background-image: url('img/'+$url+'@2x.png') 14 | @media(-webkit-min-device-pixel-ratio:3),(min-device-pixel-ratio:3){ 15 | background-image: url('img/'+$url+'@3x.png') 16 | } 17 | -------------------------------------------------------------------------------- /.github/workflows/nodejs.yml: -------------------------------------------------------------------------------- 1 | name: Node CI 2 | 3 | on: [push] 4 | 5 | jobs: 6 | build: 7 | 8 | runs-on: ubuntu-latest 9 | 10 | strategy: 11 | matrix: 12 | node-version: [8.x, 10.x, 12.x] 13 | 14 | steps: 15 | - uses: actions/checkout@v1 16 | - name: Use Node.js ${{ matrix.node-version }} 17 | uses: actions/setup-node@v1 18 | with: 19 | node-version: ${{ matrix.node-version }} 20 | - name: npm install, build, and test 21 | run: | 22 | npm ci 23 | npm run build 24 | 25 | env: 26 | CI: true 27 | -------------------------------------------------------------------------------- /src/components/backdrop/backdrop.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 15 | 16 | 31 | -------------------------------------------------------------------------------- /dist/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | sell 7 | 8 | 10 | 11 | 12 | 13 |
14 | -------------------------------------------------------------------------------- /src/components/iconMap/iconMap.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 16 | 17 | 36 | -------------------------------------------------------------------------------- /dist/static/js/manifest.8e906dc5f39167adddb9.js: -------------------------------------------------------------------------------- 1 | !function(e){function t(r){if(n[r])return n[r].exports;var a=n[r]={exports:{},id:r,loaded:!1};return e[r].call(a.exports,a,a.exports,t),a.loaded=!0,a.exports}var r=window.webpackJsonp;window.webpackJsonp=function(o,c){for(var p,l,s=0,i=[];s vue2.0、vuex、vue-router、axios、webpack、eslint、better-scroll 4 | 5 | 6 | ## 演示 7 | 8 |
在线演示戳我
9 | 10 |
11 | 12 |
扫二维码在手机上查看效果更好
13 |
14 | 15 | ## 项目截图 16 | 17 |
18 | 19 | 20 |
21 | 22 | ## 要是能给作者买杯咖啡就更好了(谢谢^-^) 23 | 24 |
25 | 26 | ## 安装步骤 27 | 28 | ``` bash 29 | # install dependencies 30 | npm install 31 | 32 | # serve with hot reload at localhost:8080 33 | npm run dev 34 | 35 | # build for production with minification 36 | npm run build 37 | ``` 38 | -------------------------------------------------------------------------------- /src/main.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import App from './App' 3 | import VueRouter from 'vue-router' 4 | import goods from 'components/goods/goods' 5 | import ratings from 'components/ratings/ratings' 6 | import seller from 'components/seller/seller' 7 | import vueTap from 'v-tap' 8 | import fastclick from 'fastclick' 9 | import Vuex from 'vuex' 10 | 11 | Vue.use(vueTap) 12 | Vue.use(VueRouter) 13 | Vue.use(Vuex) 14 | 15 | const store = new Vuex.Store({ 16 | state: { 17 | count: 0 18 | }, 19 | // 添加的商品元素 20 | addCartEl: {}, 21 | mutations: { 22 | increment(state) { 23 | state.count++ 24 | } 25 | } 26 | }) 27 | const router = new VueRouter({ 28 | routes: [{ 29 | path: '/goods', 30 | component: goods 31 | }, { 32 | path: '/ratings', 33 | component: ratings 34 | }, { 35 | path: '/seller', 36 | component: seller 37 | }], 38 | linkActiveClass: 'active' 39 | }) 40 | new Vue({ 41 | router, 42 | store, 43 | template: '', 44 | components: { 45 | App 46 | }, 47 | data: { 48 | eventHub: new Vue() 49 | } 50 | }).$mount('#app') 51 | 52 | router.push('goods') 53 | -------------------------------------------------------------------------------- /config/index.js: -------------------------------------------------------------------------------- 1 | // see http://vuejs-templates.github.io/webpack for documentation. 2 | var path = require('path') 3 | 4 | module.exports = { 5 | build: { 6 | env: require('./prod.env'), 7 | index: path.resolve(__dirname, '../dist/index.html'), 8 | assetsRoot: path.resolve(__dirname, '../dist'), 9 | assetsSubDirectory: 'static', 10 | assetsPublicPath: '/', 11 | productionSourceMap: true, 12 | // Gzip off by default as many popular static hosts such as 13 | // Surge or Netlify already gzip all static assets for you. 14 | // Before setting to `true`, make sure to: 15 | // npm install --save-dev compression-webpack-plugin 16 | productionGzip: false, 17 | productionGzipExtensions: ['js', 'css'] 18 | }, 19 | dev: { 20 | env: require('./dev.env'), 21 | port: 8080, 22 | assetsSubDirectory: 'static', 23 | assetsPublicPath: '/', 24 | proxyTable: {}, 25 | // CSS Sourcemaps off by default because relative paths are "buggy" 26 | // with this option, according to the CSS-Loader README 27 | // (https://github.com/webpack/css-loader#sourcemaps) 28 | // In our experience, they generally work as expected, 29 | // just be aware of this issue when enabling this option. 30 | cssSourceMap: false 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/App.vue: -------------------------------------------------------------------------------- 1 | 20 | 21 | 41 | 42 | 65 | -------------------------------------------------------------------------------- /src/common/stylus/icon.styl: -------------------------------------------------------------------------------- 1 | @font-face 2 | font-family: 'sell-icon' 3 | src: url('common/fonts/sell-icon.eot?nowozp') 4 | src: url('common/fonts/sell-icon.eot?nowozp#iefix') format('embedded-opentype'), 5 | url('common/fonts/sell-icon.ttf?nowozp') format('truetype'), 6 | url('common/fonts/sell-icon.woff?nowozp') format('woff'), 7 | url('common/fonts/sell-icon.svg?nowozp#sell-icon') format('svg') 8 | font-weight: normal 9 | font-style: normal 10 | 11 | 12 | [class^="icon-"], [class*=" icon-"] 13 | /* use !important to prevent issues with browser extensions that change fonts */ 14 | font-family: 'sell-icon' !important 15 | speak: none 16 | font-style: normal 17 | font-weight: normal 18 | font-variant: normal 19 | text-transform: none 20 | line-height: 1 21 | 22 | /* Better Font Rendering =========== */ 23 | -webkit-font-smoothing: antialiased 24 | -moz-osx-font-smoothing: grayscale 25 | 26 | 27 | .icon-arrow_lift:before 28 | content: "\e900" 29 | 30 | .icon-check_circle:before 31 | content: "\e901" 32 | 33 | .icon-close:before 34 | content: "\e902" 35 | 36 | .icon-favorite:before 37 | content: "\e903" 38 | 39 | .icon-keyboard_arrow_right:before 40 | content: "\e904" 41 | 42 | .icon-remove_circle_outline:before 43 | content: "\e905" 44 | 45 | .icon-shopping_cart:before 46 | content: "\e906" 47 | 48 | .icon-thumb_down:before 49 | content: "\e907" 50 | 51 | .icon-thumb_up:before 52 | content: "\e908" 53 | 54 | .icon-add_circle:before 55 | content: "\1f4" 56 | -------------------------------------------------------------------------------- /static/css/reset.css: -------------------------------------------------------------------------------- 1 | /** 2 | * Eric Meyer's Reset CSS v2.0 (http://meyerweb.com/eric/tools/css/reset/) 3 | * http://cssreset.com 4 | */ 5 | 6 | html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, menu, nav, output, ruby, section, summary, time, mark, audio, video, input { 7 | margin: 0; 8 | padding: 0; 9 | border: 0; 10 | font-size: 100%; 11 | font-weight: normal; 12 | vertical-align: baseline; 13 | } 14 | 15 | .divider { 16 | height: 16px; 17 | width: 100%; 18 | background: #f3f5f7; 19 | border-top: 1px solid rgba(7, 17, 27, 0.1); 20 | border-bottom: 1px solid rgba(7, 17, 27, 0.1); 21 | } 22 | 23 | 24 | /* HTML5 display-role reset for older browsers */ 25 | 26 | article, aside, details, figcaption, figure, footer, header, menu, nav, section { 27 | display: block; 28 | } 29 | 30 | body { 31 | line-height: 1; 32 | } 33 | 34 | blockquote, q { 35 | quotes: none; 36 | } 37 | 38 | blockquote:before, blockquote:after, q:before, q:after { 39 | content: none; 40 | } 41 | 42 | table { 43 | border-collapse: collapse; 44 | border-spacing: 0; 45 | } 46 | 47 | 48 | /* custom */ 49 | 50 | a { 51 | color: #7e8c8d; 52 | text-decoration: none; 53 | -webkit-backface-visibility: hidden; 54 | } 55 | 56 | li { 57 | list-style: none; 58 | } 59 | 60 | ::-webkit-scrollbar { 61 | width: 5px; 62 | height: 5px; 63 | } 64 | 65 | ::-webkit-scrollbar-track-piece { 66 | background-color: rgba(0, 0, 0, 0.2); 67 | -webkit-border-radius: 6px; 68 | } 69 | 70 | ::-webkit-scrollbar-thumb:vertical { 71 | height: 5px; 72 | background-color: rgba(125, 125, 125, 0.7); 73 | -webkit-border-radius: 6px; 74 | } 75 | 76 | ::-webkit-scrollbar-thumb:horizontal { 77 | width: 5px; 78 | background-color: rgba(125, 125, 125, 0.7); 79 | -webkit-border-radius: 6px; 80 | } 81 | 82 | html, body { 83 | width: 100%; 84 | } 85 | 86 | body { 87 | -webkit-text-size-adjust: none; 88 | -webkit-tap-highlight-color: rgba(0, 0, 0, 0); 89 | } 90 | -------------------------------------------------------------------------------- /dist/static/css/reset.css: -------------------------------------------------------------------------------- 1 | /** 2 | * Eric Meyer's Reset CSS v2.0 (http://meyerweb.com/eric/tools/css/reset/) 3 | * http://cssreset.com 4 | */ 5 | 6 | html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, menu, nav, output, ruby, section, summary, time, mark, audio, video, input { 7 | margin: 0; 8 | padding: 0; 9 | border: 0; 10 | font-size: 100%; 11 | font-weight: normal; 12 | vertical-align: baseline; 13 | } 14 | 15 | .divider { 16 | height: 16px; 17 | width: 100%; 18 | background: #f3f5f7; 19 | border-top: 1px solid rgba(7, 17, 27, 0.1); 20 | border-bottom: 1px solid rgba(7, 17, 27, 0.1); 21 | } 22 | 23 | 24 | /* HTML5 display-role reset for older browsers */ 25 | 26 | article, aside, details, figcaption, figure, footer, header, menu, nav, section { 27 | display: block; 28 | } 29 | 30 | body { 31 | line-height: 1; 32 | } 33 | 34 | blockquote, q { 35 | quotes: none; 36 | } 37 | 38 | blockquote:before, blockquote:after, q:before, q:after { 39 | content: none; 40 | } 41 | 42 | table { 43 | border-collapse: collapse; 44 | border-spacing: 0; 45 | } 46 | 47 | 48 | /* custom */ 49 | 50 | a { 51 | color: #7e8c8d; 52 | text-decoration: none; 53 | -webkit-backface-visibility: hidden; 54 | } 55 | 56 | li { 57 | list-style: none; 58 | } 59 | 60 | ::-webkit-scrollbar { 61 | width: 5px; 62 | height: 5px; 63 | } 64 | 65 | ::-webkit-scrollbar-track-piece { 66 | background-color: rgba(0, 0, 0, 0.2); 67 | -webkit-border-radius: 6px; 68 | } 69 | 70 | ::-webkit-scrollbar-thumb:vertical { 71 | height: 5px; 72 | background-color: rgba(125, 125, 125, 0.7); 73 | -webkit-border-radius: 6px; 74 | } 75 | 76 | ::-webkit-scrollbar-thumb:horizontal { 77 | width: 5px; 78 | background-color: rgba(125, 125, 125, 0.7); 79 | -webkit-border-radius: 6px; 80 | } 81 | 82 | html, body { 83 | width: 100%; 84 | } 85 | 86 | body { 87 | -webkit-text-size-adjust: none; 88 | -webkit-tap-highlight-color: rgba(0, 0, 0, 0); 89 | } 90 | -------------------------------------------------------------------------------- /src/components/cartcontrol/cartcontrol.vue: -------------------------------------------------------------------------------- 1 | 18 | 19 | 50 | 51 | 89 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sell", 3 | "version": "1.0.0", 4 | "description": "sell app", 5 | "author": "", 6 | "private": true, 7 | "scripts": { 8 | "dev": "node build/dev-server.js", 9 | "build": "node build/build.js", 10 | "lint": "eslint --ext .js,.vue src" 11 | }, 12 | "dependencies": { 13 | "axios": "^0.21.1", 14 | "babel-runtime": "^6.9.0", 15 | "better-scroll": "^0.1.10", 16 | "eslint-config-standard": "^6.2.1", 17 | "fastclick": "^1.0.6", 18 | "iscroll": "^5.2.0", 19 | "moment": "^2.17.1", 20 | "stylus": "^0.54.5", 21 | "v-tap": "^2.0.2", 22 | "vue": "^2.1.0", 23 | "vue-resource": "^1.0.3", 24 | "vue-router": "^2.1.1", 25 | "vue-scroll": "^2.0.1", 26 | "vuex": "^2.1.1", 27 | "webpack": "^1.14.0" 28 | }, 29 | "devDependencies": { 30 | "autoprefixer": "^6.4.0", 31 | "babel-core": "^6.0.0", 32 | "babel-eslint": "^7.0.0", 33 | "babel-loader": "^6.0.0", 34 | "babel-plugin-transform-runtime": "^6.0.0", 35 | "babel-preset-es2015": "^6.0.0", 36 | "babel-preset-stage-2": "^6.0.0", 37 | "babel-register": "^6.0.0", 38 | "better-scroll": "^0.1.10", 39 | "chalk": "^1.1.3", 40 | "connect-history-api-fallback": "^1.1.0", 41 | "css-loader": "^0.25.0", 42 | "eslint": "^4.18.2", 43 | "eslint-config-standard": "^6.1.0", 44 | "eslint-friendly-formatter": "^2.0.5", 45 | "eslint-loader": "^1.5.0", 46 | "eslint-plugin-html": "^1.7.0", 47 | "eslint-plugin-promise": "^2.0.1", 48 | "eslint-plugin-standard": "^2.0.1", 49 | "eventsource-polyfill": "^0.9.6", 50 | "express": "^4.13.3", 51 | "extract-text-webpack-plugin": "^1.0.1", 52 | "file-loader": "^0.9.0", 53 | "function-bind": "^1.0.2", 54 | "html-webpack-plugin": "^2.8.1", 55 | "http-proxy-middleware": "^0.17.2", 56 | "json-loader": "^0.5.4", 57 | "opn": "^4.0.2", 58 | "ora": "^0.3.0", 59 | "semver": "^5.3.0", 60 | "shelljs": "^0.7.4", 61 | "stylus-loader": "^2.1.1", 62 | "url-loader": "^0.5.7", 63 | "vue-loader": "^10.0.0", 64 | "vue-style-loader": "^1.0.0", 65 | "vue-template-compiler": "^2.1.0", 66 | "webpack": "^1.13.2", 67 | "webpack-dev-middleware": "^1.8.3", 68 | "webpack-hot-middleware": "^2.12.2", 69 | "webpack-merge": "^0.14.1" 70 | }, 71 | "engines": { 72 | "node": ">= 4.0.0", 73 | "npm": ">= 3.0.0" 74 | } 75 | } 76 | -------------------------------------------------------------------------------- /src/components/star/star.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 45 | 46 | 97 | -------------------------------------------------------------------------------- /src/common/fonts/sell-icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Generated by IcoMoon 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /src/components/seller/seller.vue: -------------------------------------------------------------------------------- 1 | 131 | 132 | 205 | 206 | 254 | -------------------------------------------------------------------------------- /src/components/goods/goods.vue: -------------------------------------------------------------------------------- 1 | 48 | 49 | 150 | 151 | 257 | -------------------------------------------------------------------------------- /dist/static/js/manifest.8e906dc5f39167adddb9.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sources":["webpack:///static/js/manifest.8e906dc5f39167adddb9.js","webpack:///webpack/bootstrap b2523d2fbae50086f06d"],"names":["modules","__webpack_require__","moduleId","installedModules","exports","module","id","loaded","call","parentJsonpFunction","window","chunkIds","moreModules","chunkId","i","callbacks","length","installedChunks","push","apply","Object","prototype","hasOwnProperty","shift","0","e","callback","undefined","head","document","getElementsByTagName","script","createElement","type","charset","async","src","p","1","2","appendChild","m","c"],"mappings":"CAAS,SAAUA,GCqCnB,QAAAC,GAAAC,GAGA,GAAAC,EAAAD,GACA,MAAAC,GAAAD,GAAAE,OAGA,IAAAC,GAAAF,EAAAD,IACAE,WACAE,GAAAJ,EACAK,QAAA,EAUA,OANAP,GAAAE,GAAAM,KAAAH,EAAAD,QAAAC,IAAAD,QAAAH,GAGAI,EAAAE,QAAA,EAGAF,EAAAD,QAxDA,GAAAK,GAAAC,OAAA,YACAA,QAAA,sBAAAC,EAAAC,GAIA,IADA,GAAAV,GAAAW,EAAAC,EAAA,EAAAC,KACQD,EAAAH,EAAAK,OAAoBF,IAC5BD,EAAAF,EAAAG,GACAG,EAAAJ,IACAE,EAAAG,KAAAC,MAAAJ,EAAAE,EAAAJ,IACAI,EAAAJ,GAAA,CAEA,KAAAX,IAAAU,GACAQ,OAAAC,UAAAC,eAAAd,KAAAI,EAAAV,KACAF,EAAAE,GAAAU,EAAAV,GAIA,KADAO,KAAAE,EAAAC,GACAG,EAAAC,QACAD,EAAAQ,QAAAf,KAAA,KAAAP,EACA,IAAAW,EAAA,GAEA,MADAT,GAAA,KACAF,EAAA,GAKA,IAAAE,MAKAc,GACAO,EAAA,EA6BAvB,GAAAwB,EAAA,SAAAZ,EAAAa,GAEA,OAAAT,EAAAJ,GACA,MAAAa,GAAAlB,KAAA,KAAAP,EAGA,IAAA0B,SAAAV,EAAAJ,GACAI,EAAAJ,GAAAK,KAAAQ,OACI,CAEJT,EAAAJ,IAAAa,EACA,IAAAE,GAAAC,SAAAC,qBAAA,WACAC,EAAAF,SAAAG,cAAA,SACAD,GAAAE,KAAA,kBACAF,EAAAG,QAAA,QACAH,EAAAI,OAAA,EAEAJ,EAAAK,IAAAnC,EAAAoC,EAAA,aAAAxB,EAAA,KAAyEyB,EAAA,uBAAAC,EAAA,wBAAsD1B,GAAA,MAC/He,EAAAY,YAAAT,KAKA9B,EAAAwC,EAAAzC,EAGAC,EAAAyC,EAAAvC,EAGAF,EAAAoC,EAAA","file":"static/js/manifest.8e906dc5f39167adddb9.js","sourcesContent":["/******/ (function(modules) { // webpackBootstrap\n/******/ \t// install a JSONP callback for chunk loading\n/******/ \tvar parentJsonpFunction = window[\"webpackJsonp\"];\n/******/ \twindow[\"webpackJsonp\"] = function webpackJsonpCallback(chunkIds, moreModules) {\n/******/ \t\t// add \"moreModules\" to the modules object,\n/******/ \t\t// then flag all \"chunkIds\" as loaded and fire callback\n/******/ \t\tvar moduleId, chunkId, i = 0, callbacks = [];\n/******/ \t\tfor(;i < chunkIds.length; i++) {\n/******/ \t\t\tchunkId = chunkIds[i];\n/******/ \t\t\tif(installedChunks[chunkId])\n/******/ \t\t\t\tcallbacks.push.apply(callbacks, installedChunks[chunkId]);\n/******/ \t\t\tinstalledChunks[chunkId] = 0;\n/******/ \t\t}\n/******/ \t\tfor(moduleId in moreModules) {\n/******/ \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n/******/ \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n/******/ \t\t\t}\n/******/ \t\t}\n/******/ \t\tif(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules);\n/******/ \t\twhile(callbacks.length)\n/******/ \t\t\tcallbacks.shift().call(null, __webpack_require__);\n/******/ \t\tif(moreModules[0]) {\n/******/ \t\t\tinstalledModules[0] = 0;\n/******/ \t\t\treturn __webpack_require__(0);\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// object to store loaded and loading chunks\n/******/ \t// \"0\" means \"already loaded\"\n/******/ \t// Array means \"loading\", array contains callbacks\n/******/ \tvar installedChunks = {\n/******/ \t\t0:0\n/******/ \t};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/ \t// This file contains only the entry chunk.\n/******/ \t// The chunk loading function for additional chunks\n/******/ \t__webpack_require__.e = function requireEnsure(chunkId, callback) {\n/******/ \t\t// \"0\" is the signal for \"already loaded\"\n/******/ \t\tif(installedChunks[chunkId] === 0)\n/******/ \t\t\treturn callback.call(null, __webpack_require__);\n/******/\n/******/ \t\t// an array means \"currently loading\".\n/******/ \t\tif(installedChunks[chunkId] !== undefined) {\n/******/ \t\t\tinstalledChunks[chunkId].push(callback);\n/******/ \t\t} else {\n/******/ \t\t\t// start chunk loading\n/******/ \t\t\tinstalledChunks[chunkId] = [callback];\n/******/ \t\t\tvar head = document.getElementsByTagName('head')[0];\n/******/ \t\t\tvar script = document.createElement('script');\n/******/ \t\t\tscript.type = 'text/javascript';\n/******/ \t\t\tscript.charset = 'utf-8';\n/******/ \t\t\tscript.async = true;\n/******/\n/******/ \t\t\tscript.src = __webpack_require__.p + \"static/js/\" + chunkId + \".\" + {\"1\":\"2e5fdce87143a82cbf59\",\"2\":\"92037e455e96de43fd58\"}[chunkId] + \".js\";\n/******/ \t\t\thead.appendChild(script);\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/\";\n/******/ })\n/************************************************************************/\n/******/ ([]);\n\n\n// WEBPACK FOOTER //\n// static/js/manifest.8e906dc5f39167adddb9.js"," \t// install a JSONP callback for chunk loading\n \tvar parentJsonpFunction = window[\"webpackJsonp\"];\n \twindow[\"webpackJsonp\"] = function webpackJsonpCallback(chunkIds, moreModules) {\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, callbacks = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId])\n \t\t\t\tcallbacks.push.apply(callbacks, installedChunks[chunkId]);\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules);\n \t\twhile(callbacks.length)\n \t\t\tcallbacks.shift().call(null, __webpack_require__);\n \t\tif(moreModules[0]) {\n \t\t\tinstalledModules[0] = 0;\n \t\t\treturn __webpack_require__(0);\n \t\t}\n \t};\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// \"0\" means \"already loaded\"\n \t// Array means \"loading\", array contains callbacks\n \tvar installedChunks = {\n \t\t0:0\n \t};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId, callback) {\n \t\t// \"0\" is the signal for \"already loaded\"\n \t\tif(installedChunks[chunkId] === 0)\n \t\t\treturn callback.call(null, __webpack_require__);\n\n \t\t// an array means \"currently loading\".\n \t\tif(installedChunks[chunkId] !== undefined) {\n \t\t\tinstalledChunks[chunkId].push(callback);\n \t\t} else {\n \t\t\t// start chunk loading\n \t\t\tinstalledChunks[chunkId] = [callback];\n \t\t\tvar head = document.getElementsByTagName('head')[0];\n \t\t\tvar script = document.createElement('script');\n \t\t\tscript.type = 'text/javascript';\n \t\t\tscript.charset = 'utf-8';\n \t\t\tscript.async = true;\n\n \t\t\tscript.src = __webpack_require__.p + \"static/js/\" + chunkId + \".\" + {\"1\":\"2e5fdce87143a82cbf59\",\"2\":\"92037e455e96de43fd58\"}[chunkId] + \".js\";\n \t\t\thead.appendChild(script);\n \t\t}\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap b2523d2fbae50086f06d"],"sourceRoot":""} -------------------------------------------------------------------------------- /src/components/ratings/ratings.vue: -------------------------------------------------------------------------------- 1 | 142 | 143 | 210 | 211 | 291 | -------------------------------------------------------------------------------- /src/components/header/header.vue: -------------------------------------------------------------------------------- 1 | 71 | 72 | 103 | 104 | 307 | -------------------------------------------------------------------------------- /src/components/foodDetail/foodDetail.vue: -------------------------------------------------------------------------------- 1 | 67 | 68 | 145 | 146 | 319 | -------------------------------------------------------------------------------- /src/components/shopCart/shopCart.vue: -------------------------------------------------------------------------------- 1 | 61 | 62 | 225 | 226 | 394 | -------------------------------------------------------------------------------- /dist/static/js/app.92037e455e96de43fd58.js: -------------------------------------------------------------------------------- 1 | webpackJsonp([2,0],[function(t,s,e){(function(t){"use strict";function s(t){return t&&t.__esModule?t:{default:t}}var a=e(6),i=s(a),n=e(189),r=s(n),l=e(208),o=s(l),c=e(192),u=s(c),d=e(194),v=s(d),f=e(195),p=s(f),_=e(188),h=s(_),C=e(184),m=(s(C),e(210)),j=s(m);i.default.use(h.default),i.default.use(o.default),i.default.use(j.default);var g=new j.default.Store({state:{count:0},addCartEl:{},mutations:{increment:function(t){t.count++}}}),w=new o.default({routes:[{path:"/goods",component:u.default},{path:"/ratings",component:v.default},{path:"/seller",component:p.default}],linkActiveClass:"active"});console.log(t),new i.default({router:w,store:g,template:"",components:{App:r.default},data:{eventHub:new i.default}}).$mount("#app"),w.push("goods")}).call(s,e(8))},,,,,,,,,function(t,s,e){e(182);var a=e(3)(e(164),e(206),null,null);t.exports=a.exports},function(t,s,e){e(181);var a=e(3)(e(172),e(205),null,null);t.exports=a.exports},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(t,s,e){e(176);var a=e(3)(e(168),e(200),"data-v-5a232ec2",null);t.exports=a.exports},,,,,,,,,,,,,,,,,,function(t,s,e){"use strict";function a(t){return t&&t.__esModule?t:{default:t}}var i=e(6),n=a(i),r=e(1),l=a(r);n.default.filter("time",function(t,s){return s=s||"YYYY-MM-DD HH:mm",(0,l.default)(t).format(s)})},function(t,s,e){"use strict";function a(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(s,"__esModule",{value:!0});var i=e(193),n=a(i),r=e(5),l=a(r);s.default={data:function(){return{seller:{}}},created:function(){var t=this;l.default.get("static/data.json").then(function(s){t.seller=s.data.seller})},components:{"v-header":n.default}}},function(t,s){"use strict";Object.defineProperty(s,"__esModule",{value:!0}),s.default={props:{isShow:Boolean}}},function(t,s,e){"use strict";function a(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(s,"__esModule",{value:!0});var i=e(6),n=a(i);s.default={props:{food:Object},methods:{addCart:function(t){this.count++,t._constructed&&(this.food.count||n.default.set(this.food,"count",0),this.food.count++,this.$store.addCartEl=t.target,this.$root.eventHub.$emit("cart.add",t.target))},decreaseCart:function(){event._constructed&&this.food.count&&this.food.count--}}}},function(t,s,e){"use strict";function a(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(s,"__esModule",{value:!0}),e(161);var i=e(4),n=a(i),r=e(9),l=a(r);s.default={components:{cartcontrol:l.default},props:{food:Object},data:function(){return{showDetail:!1,classifyArr:[{name:"全部",count:this.food.ratings.length,active:!0},{name:"推荐",count:this.food.ratings.filter(function(t){return 0===t.rateType}).length,active:!1},{name:"吐槽",count:this.food.ratings.filter(function(t){return t.rateType}).length,active:!1}],evelflag:!0}},computed:{evelArr:function(){var t=this,s=0;return this.classifyArr.forEach(function(t,e){t.active&&(s=e)}),this.detailWrapper&&this.$nextTick(function(){t.detailWrapper.refresh()}),s?this.food.ratings.filter(function(e){return t.evelflag?e.rateType===s-1&&e.text:e.rateType===s-1}):this.food.ratings.filter(function(s){return!t.evelflag||s.text})}},methods:{showToggle:function(){var t=this;this.showDetail=!this.showDetail,this.showDetail&&this.$nextTick(function(){t._initScroll()})},_initScroll:function(){this.detailWrapper=new n.default(this.$refs.detailWrapper,{click:!0})},addCart:function(t){t._constructed&&(this.$set(this.food,"count",1),this.$root.eventHub.$emit("cart.add",t.target))},filterEvel:function(t){this.classifyArr.forEach(function(t){t.active=!1}),t.active=!0}}}},function(t,s,e){"use strict";function a(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(s,"__esModule",{value:!0});var i=e(143),n=a(i),r=e(4),l=a(r),o=e(196),c=a(o),u=e(9),d=a(u),v=e(191),f=a(v),p=e(5),_=a(p),h=e(6),C=a(h);new C.default;s.default={props:{seller:Object},created:function(){var t=this;_.default.get("static/data.json").then(function(s){t.goods=s.data.goods,t.$nextTick(function(){t._initScroll(),t._calculateHeight()})})},data:function(){return{goods:[],listHeight:[],foodsScrollY:0,selectedFood:""}},computed:{menuCurrentIndex:function(){for(var t=0,s=this.listHeight.length;t=e&&this.foodsScrollY0&&totalPrice)},payDesc:function(){var t=this.minPrice-this.totalPrice;return this.totalPrice?t>0?"还差¥"+t+"元":"去结算":"¥"+this.totalPrice+"起送"}},methods:{drop:function(t){for(var s=0,e=this.balls.length;s0,expression:"item.type>0"}],attrs:{iconType:s.type}}),t._v("\n "+t._s(s.name)+"\n ")],1)])}),0)]),t._v(" "),e("div",{ref:"foodsWrapper",staticClass:"foods-wrapper",attrs:{id:"wrapper"}},[e("ul",t._l(t.goods,function(s){return e("li",{staticClass:"food-list food-list-hook"},[e("h1",[t._v(t._s(s.name))]),t._v(" "),e("ul",t._l(s.foods,function(s){return e("li",{staticClass:"food-item",on:{click:function(e){return t.goDetail(s)}}},[e("div",{staticClass:"icon"},[e("img",{attrs:{width:"57",height:"57",src:s.icon}})]),t._v(" "),e("div",{staticClass:"content"},[e("h2",[t._v(t._s(s.name))]),t._v(" "),e("p",{directives:[{name:"show",rawName:"v-show",value:s.description,expression:"food.description"}],staticClass:"description"},[t._v(t._s(s.description))]),t._v(" "),e("div",{staticClass:"sell-info"},[e("span",{staticClass:"sellCount"},[t._v("月售"+t._s(s.sellCount)+"份")]),t._v(" "),e("span",{staticClass:"rating"},[t._v("好评率"+t._s(s.rating)+"%")])]),t._v(" "),e("div",{staticClass:"price"},[e("span",{staticClass:"newPrice"},[e("span",{staticClass:"unit"},[t._v("¥")]),t._v(t._s(s.price))]),t._v(" "),e("span",{directives:[{name:"show",rawName:"v-show",value:s.oldPrice,expression:"food.oldPrice"}],staticClass:"oldPrice"},[t._v("¥"+t._s(s.oldPrice))])]),t._v(" "),e("div",{staticClass:"cartcontrol-wrapper"},[e("cartcontrol",{attrs:{food:s}})],1)])])}),0)])}),0)]),t._v(" "),e("shopCart",{attrs:{deliveryPrice:t.seller.deliveryPrice,minPrice:t.seller.minPrice,selectFoods:t.selectFoods}}),t._v(" "),t.selectedFood?e("foodDetail",{ref:"myFood",attrs:{food:t.selectedFood}}):t._e()],1)},staticRenderFns:[]}},function(t,s){t.exports={render:function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("span",{staticClass:"iconMap",class:t.iconClassMap[t.iconType]})},staticRenderFns:[]}},function(t,s){t.exports={render:function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{ref:"ratingsWrapper",staticClass:"ratingsWrapper"},[e("div",{staticClass:"ratings-content"},[e("div",{staticClass:"info"},[e("div",{staticClass:"mark"},[e("div",{staticClass:"num"},[t._v(t._s(t.seller.score))]),t._v(" "),e("div",{staticClass:"text"},[t._v("综合评分")]),t._v(" "),e("div",{staticClass:"contrast"},[t._v("高于周边商家"+t._s(t.seller.rankRate)+"%")])]),t._v(" "),e("div",{staticClass:"stars"},[e("div",{staticClass:"serviceScore"},[e("span",{staticClass:"text"},[t._v("服务态度")]),t._v(" "),e("star",{attrs:{size:36,score:t.seller.serviceScore}}),t._v(" "),e("span",{staticClass:"num"},[t._v(t._s(t.seller.serviceScore))])],1),t._v(" "),e("div",{staticClass:"foodScore"},[e("span",{staticClass:"text"},[t._v("服务态度")]),t._v(" "),e("star",{attrs:{size:36,score:t.seller.foodScore}}),t._v(" "),e("span",{staticClass:"num"},[t._v(t._s(t.seller.foodScore))])],1),t._v(" "),e("div",{staticClass:"deliveryTime"},[e("span",{staticClass:"text"},[t._v("送达时间")]),t._v(" "),e("span",{staticClass:"time"},[t._v(t._s(t.seller.deliveryTime)+"分钟")])])])]),t._v(" "),e("div",{staticClass:"divider"}),t._v(" "),e("div",{staticClass:"evaluation"},[e("div",{staticClass:"classify"},t._l(t.classifyArr,function(s,a){return e("span",{staticClass:"item",class:{active:s.active,bad:2==a,badActive:s.active&&2==a},on:{click:function(e){return t.filterEvel(s)}}},[t._v("\n "+t._s(s.name)),e("span",{staticClass:"count"},[t._v(t._s(s.count))])])}),0),t._v(" "),e("div",{staticClass:"switch",on:{click:function(s){t.evelflag=!t.evelflag}}},[e("span",{staticClass:"icon-check_circle",class:{on:t.evelflag}}),t._v(" "),e("span",{staticClass:"text"},[t._v("只看有内容的评价")])]),t._v(" "),e("div",{staticClass:"evel-list"},[e("ul",t._l(t.evelArr,function(s){return e("li",{staticClass:"evel"},[e("div",{staticClass:"avatar"},[e("img",{attrs:{src:s.avatar,width:"28",height:"28"}})]),t._v(" "),e("div",{staticClass:"content"},[e("div",{staticClass:"user"},[e("span",{staticClass:"name"},[t._v(t._s(s.username))]),t._v(" "),e("span",{staticClass:"rateTime"},[t._v(t._s(t._f("time")(s.rateTime)))])]),t._v(" "),e("div",{staticClass:"star-wrapper"},[e("star",{attrs:{size:24,score:s.score}}),t._v(" "),e("span",{staticClass:"deliveryTime"},[t._v(t._s(s.deliveryTime)+"分钟送达")])],1),t._v(" "),e("div",{staticClass:"text"},[t._v("\n "+t._s(s.text)+"\n ")]),t._v(" "),e("div",{staticClass:"recommend"},[e("span",{directives:[{name:"show",rawName:"v-show",value:s.recommend.length,expression:"evel.recommend.length"}],staticClass:"icon icon-thumb_up"}),t._v(" "),t._l(s.recommend,function(s){return e("span",{staticClass:"dish"},[t._v(t._s(s))])})],2)])])}),0)])])])])},staticRenderFns:[]}},function(t,s){t.exports={render:function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",[e("v-header",{attrs:{seller:t.seller}}),t._v(" "),e("div",{staticClass:"tab"},[e("div",{staticClass:"tab-item"},[e("router-link",{attrs:{to:"/goods"}},[t._v("商品")])],1),t._v(" "),e("div",{staticClass:"tab-item"},[e("router-link",{attrs:{to:"/ratings"}},[t._v("评论")])],1),t._v(" "),e("div",{staticClass:"tab-item"},[e("router-link",{attrs:{to:"/seller"}},[t._v("商家")])],1)]),t._v(" "),e("keep-alive",[e("router-view",{attrs:{seller:t.seller}})],1)],1)},staticRenderFns:[]}},function(t,s){t.exports={render:function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("transition",{attrs:{name:"move"}},[e("div",{directives:[{name:"show",rawName:"v-show",value:t.showDetail,expression:"showDetail"}],ref:"detailWrapper",staticClass:"detailWrapper"},[e("div",{staticClass:"foodDetail"},[e("div",{staticClass:"back",on:{click:function(s){return t.showToggle()}}},[e("i",{staticClass:"icon-arrow_lift"})]),t._v(" "),e("img",{attrs:{src:t.food.image,height:"425",width:"100%"}}),t._v(" "),e("div",{staticClass:"info"},[e("div",{staticClass:"title"},[t._v(t._s(t.food.name))]),t._v(" "),e("div",{staticClass:"desc"},[e("span",[t._v("月售"+t._s(t.food.sellCount))]),t._v(" "),e("span",[t._v("好评率"+t._s(t.food.rating)+"%")])]),t._v(" "),e("div",{staticClass:"price"},[e("span",{staticClass:"unit"},[t._v("¥")]),t._v(t._s(t.food.price)+"\n "),e("span",{directives:[{name:"show",rawName:"v-show",value:t.food.oldPrice,expression:"food.oldPrice"}],staticClass:"oldPrice"},[t._v("¥"+t._s(t.food.oldPrice))])]),t._v(" "),e("div",{staticClass:"shopCart"},[e("transition",{attrs:{name:"fade"}},[e("div",{directives:[{name:"show",rawName:"v-show",value:!t.food.count,expression:"!food.count"}],staticClass:"text",on:{click:function(s){return t.addCart(s)}}},[t._v("加入购物车")])])],1),t._v(" "),e("cartcontrol",{attrs:{food:t.food}})],1),t._v(" "),e("div",{staticClass:"divider"}),t._v(" "),e("div",{staticClass:"desc"},[e("div",{staticClass:"title"},[t._v("商品介绍")]),t._v(" "),e("div",{staticClass:"content"},[t._v(t._s(t.food.info))])]),t._v(" "),e("div",{staticClass:"divider"}),t._v(" "),e("div",{staticClass:"evaluation"},[e("div",{staticClass:"title"},[t._v("\n 商品评价\n ")]),t._v(" "),e("div",{staticClass:"classify"},t._l(t.classifyArr,function(s,a){return e("span",{staticClass:"item",class:{active:s.active,bad:2==a,badActive:s.active&&2==a},on:{click:function(e){return t.filterEvel(s)}}},[t._v("\n "+t._s(s.name)),e("span",{staticClass:"count"},[t._v(t._s(s.count))])])}),0),t._v(" "),e("div",{staticClass:"switch",on:{click:function(s){t.evelflag=!t.evelflag}}},[e("span",{staticClass:"icon-check_circle",class:{on:t.evelflag}}),t._v(" "),e("span",{staticClass:"text"},[t._v("只看有内容的评价")])]),t._v(" "),e("div",{staticClass:"evel-list"},[e("ul",t._l(t.evelArr,function(s){return e("li",{staticClass:"evel"},[e("div",{staticClass:"userInfo"},[e("div",{staticClass:"time"},[t._v(t._s(t._f("time")(s.rateTime)))]),t._v(" "),e("div",{staticClass:"user"},[e("span",[t._v(t._s(s.username))]),t._v(" "),e("span",{staticClass:"avatar"},[e("img",{attrs:{src:s.avatar,width:"12",height:"12"}})])])]),t._v(" "),e("div",{staticClass:"content"},[e("span",{staticClass:"icon",class:s.rateType?"icon-thumb_down":"icon-thumb_up"}),t._v(" "),e("span",{staticClass:"text"},[t._v(t._s(s.text))])])])}),0)])])])])])},staticRenderFns:[]}},function(t,s){t.exports={render:function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("transition",{attrs:{name:"fade-backdrop"}},[e("div",{directives:[{name:"show",rawName:"v-show",value:t.isShow,expression:"isShow"}],staticClass:"backdrop"})])},staticRenderFns:[]}},function(t,s){t.exports={render:function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"star",class:t.starType},t._l(t.itemClasses,function(t){return e("span",{staticClass:"star-item",class:t,attrs:{"track-by":"$index"}})}),0)},staticRenderFns:[]}},function(t,s){t.exports={render:function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"cartcontrol"},[e("transition",{attrs:{name:"fadeRotate"}},[e("div",{directives:[{name:"show",rawName:"v-show",value:t.food.count>0,expression:"food.count>0"}],staticClass:"cart-decrease",on:{click:function(s){return s.stopPropagation(),s.preventDefault(),t.decreaseCart()}}},[e("span",{staticClass:"icon-remove_circle_outline inner"})])]),t._v(" "),e("div",{directives:[{name:"show",rawName:"v-show",value:t.food.count>0,expression:"food.count>0"}],staticClass:"cart-count"},[t._v("\n "+t._s(t.food.count)+"\n ")]),t._v(" "),e("div",{staticClass:"cart-add",on:{click:function(s){return s.stopPropagation(),s.preventDefault(),t.addCart(s)}}},[e("i",{staticClass:"icon-add_circle"})])],1)},staticRenderFns:[]}},function(t,s){t.exports={render:function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{},[e("div",{staticClass:"shopCart"},[e("div",{staticClass:"content"},[e("div",{staticClass:"content-left",on:{click:t.listToggle}},[e("div",{staticClass:"logo-wrapper"},[e("div",{directives:[{name:"show",rawName:"v-show",value:t.totalCount,expression:"totalCount"}],staticClass:"badge"},[t._v("\n "+t._s(t.totalCount)+"\n ")]),t._v(" "),e("div",{staticClass:"logo",class:{active:t.totalPrice}},[e("i",{staticClass:"icon-shopping_cart"})])]),t._v(" "),e("div",{staticClass:"price",class:{active:t.totalPrice}},[t._v("\n ¥"+t._s(t.totalPrice)+"\n ")]),t._v(" "),e("div",{staticClass:"desc"},[t._v("\n 另需要配送费¥"+t._s(t.deliveryPrice)+"元\n ")])]),t._v(" "),e("div",{staticClass:"content-right",class:{enough:t.totalPrice>=t.minPrice}},[t._v("\n "+t._s(t.payDesc)+"\n ")])]),t._v(" "),e("div",{staticClass:"ball-container"},t._l(t.balls,function(s,a){return e("transition",{attrs:{name:"drop"},on:{"before-enter":t.beforeEnter,enter:t.enter,"after-enter":t.afterEnter}},[e("div",{directives:[{name:"show",rawName:"v-show",value:s.show,expression:"ball.show"}],staticClass:"ball"},[e("div",{staticClass:"inner inner-hook"})])])}),1),t._v(" "),e("transition",{attrs:{name:"transHeight"}},[e("div",{directives:[{name:"show",rawName:"v-show",value:t.listShow,expression:"listShow"}],staticClass:"shopcart-list"},[e("div",{staticClass:"list-header"},[e("h1",{staticClass:"title"},[t._v("购物车")]),t._v(" "),e("span",{staticClass:"empty",on:{click:function(s){return t.setEmpty()}}},[t._v("清空")])]),t._v(" "),e("div",{ref:"foodlist",staticClass:"list-content"},[e("ul",t._l(t.selectFoods,function(s){return e("li",{staticClass:"food"},[e("span",{staticClass:"name"},[t._v(t._s(s.name))]),t._v(" "),e("div",{ 2 | staticClass:"price"},[e("span",[t._v("¥"+t._s(s.price*s.count))])]),t._v(" "),e("div",{staticClass:"cartcontrol-wrapper"},[e("cartcontrol",{attrs:{food:s}})],1)])}),0)])])])],1),t._v(" "),e("transition",{attrs:{name:"fade-backdrop"}},[e("div",{directives:[{name:"show",rawName:"v-show",value:t.showBackdrop,expression:"showBackdrop"}],staticClass:"backdrop",on:{click:t.hideBackdrop}})])],1)},staticRenderFns:[]}}]); 3 | //# sourceMappingURL=app.92037e455e96de43fd58.js.map -------------------------------------------------------------------------------- /dist/static/css/app.2ca30d6e0c2974c62f07a817ba379f36.css.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sources":["webpack:///webpack:///src/App.vue","webpack:///webpack:///src/components/header/header.vue","webpack:///webpack:///src/components/star/star.vue","webpack:///webpack:///src/components/goods/goods.vue","webpack:///webpack:///src/components/iconMap/iconMap.vue","webpack:///webpack:///src/components/shopCart/shopCart.vue","webpack:///webpack:///src/components/cartcontrol/cartcontrol.vue","webpack:///webpack:///src/components/backdrop/backdrop.vue","webpack:///webpack:///src/components/foodDetail/foodDetail.vue","webpack:///webpack:///src/components/ratings/ratings.vue","webpack:///webpack:///src/components/seller/seller.vue"],"names":[],"mappings":"AACA,UAEE,eAAiB,CAEnB,UACE,oBAAsB,CAExB,gBACE,cACA,WACA,SACA,cACA,WACA,iBAAmB,CAErB,WACE,sBACA,kCACA,wMACA,gBACA,iBAAmB,CAErB,iCAGE,gCACA,WACA,kBACA,gBACA,oBACA,oBACA,cAEA,mCACA,iCAAmC,CAErC,wBACE,eAAiB,CAEnB,0BACE,eAAiB,CAEnB,mBACE,eAAiB,CAEnB,sBACE,eAAiB,CAEnB,kCACE,eAAiB,CAEnB,mCACE,eAAiB,CAEnB,2BACE,eAAiB,CAEnB,wBACE,eAAiB,CAEnB,sBACE,eAAiB,CAEnB,wBACE,cAAgB,CAElB,KACE,oBACA,aACA,WACA,YACA,iBACA,iBAAmB,CAErB,WACE,cACA,kBACA,OACA,SACA,WACA,sCACA,UAAY,CAEd,eACE,WACI,OACJ,iBAAmB,CAErB,iBACE,cACA,eACA,aAAe,CAEjB,wBACE,eACA,aAAe,CAChB,+vdChGD,QACE,kBACA,4BACA,WACA,UACA,eAAiB,CAEnB,yBACE,kBACA,oBACA,aACA,4BACA,cAAgB,CAElB,qCACE,iBAAmB,CAErB,kCACE,gBAAkB,CAEpB,yCACE,iBACA,cAAgB,CAElB,gDACE,qBACA,mBACA,WACA,YACA,+CACA,0BACA,2BAA6B,CAE/B,qEACA,gDACI,8CAA0C,CAC7C,CAED,+CACE,gBACA,eACA,iBACA,eAAkB,CAEpB,+CACE,eACA,kBAAoB,CAEtB,kDACE,qBACA,mBACA,WACA,YACA,iBACA,0BACA,2BAA6B,CAE/B,2DACE,8CAA+C,CAEjD,qEACA,2DACI,8CAA+C,CAClD,CAED,2DACE,8CAA+C,CAEjD,qEACA,2DACI,8CAA+C,CAClD,CAED,4DACE,8CAAgD,CAElD,qEACA,4DACI,8CAAgD,CACnD,CAED,0DACE,8CAA8C,CAEhD,qEACA,0DACI,8CAA8C,CACjD,CAED,0DACE,+CAA8C,CAEhD,qEACA,0DACI,+CAA8C,CACjD,CAED,kDACE,iBACA,cAAgB,CAElB,wCACE,kBACA,WACA,YACA,cACA,YACA,iBACA,mBACA,gCACA,iBAAmB,CAErB,+CACE,mBACA,cAAgB,CAElB,mEACE,eACA,gBACA,gBAAkB,CAEpB,0BACE,kBACA,YACA,iBACA,sBACA,mBACA,gBACA,uBACA,2BAA8B,CAEhC,0CACE,qBACA,mBACA,eACA,WACA,YACA,gDACA,0BACA,2BAA6B,CAE/B,qEACA,0CACI,+CAA6C,CAChD,CAED,yCACE,eACA,sBACA,YAAc,CAEhB,qDACE,kBACA,eACA,WACA,OAAS,CAEX,oBACE,kBACA,MACA,OACA,WACA,YACA,kBACA,UAAY,CAEd,gBACE,eACA,MACA,OACA,YACA,WACA,YACA,4BACA,mCACQ,0BAA4B,CAEtC,gCACE,gBACA,UAAY,CAEd,6CACE,gBACA,mBAAqB,CAEvB,mDACE,eACA,gBACA,WACA,WACA,iBACA,iBAAmB,CAErB,2DACE,wBACA,iBAAmB,CAErB,oDACE,oBACA,aACA,UACA,kBAAyB,CAE3B,0DACE,qBACA,WACI,OACJ,WACA,8BACA,WAAa,CAEf,0DACE,eACA,eACA,eAAiB,CAEnB,uDACE,qBAAuB,CAEzB,qEACE,WACA,uBAAyB,CAE3B,2EACE,sBACA,eACA,gBACA,WACA,gBAAkB,CAEpB,2EACE,qBACA,mBACA,WACA,YACA,iBACA,0BACA,2BAA6B,CAE/B,oFACE,+CAA+C,CAEjD,qEACA,oFACI,+CAA+C,CAClD,CAED,oFACE,+CAA+C,CAEjD,qEACA,oFACI,+CAA+C,CAClD,CAED,qFACE,+CAAgD,CAElD,qEACA,qFACI,+CAAgD,CACnD,CAED,mFACE,+CAA8C,CAEhD,qEACA,mFACI,+CAA8C,CACjD,CAED,mFACE,+CAA8C,CAEhD,qEACA,mFACI,+CAA8C,CACjD,CAED,uDACE,eACA,eACA,gBACA,WACA,gBAAkB,CAEpB,8BACE,kBACA,WACA,YACA,oBACA,WACA,eACA,wBAA6B,CAE/B,oEAEE,sBAAyB,CAE3B,6DAEE,SAAW,CACZ,s75EC9SD,iBACE,qBACA,2BAA6B,CAE/B,yBACE,WACA,YACA,kBACA,yBAA2B,CAE7B,oCACE,cAAgB,CAElB,4BACE,8CAA8C,CAEhD,qEACA,4BACI,8CAA8C,CACjD,CAED,8BACE,8CAAgD,CAElD,qEACA,8BACI,8CAAgD,CACnD,CAED,6BACE,8CAA+C,CAEjD,qEACA,6BACI,8CAA+C,CAClD,CAED,yBACE,WACA,YACA,iBACA,yBAA2B,CAE7B,oCACE,cAAgB,CAElB,4BACE,8CAA8C,CAEhD,qEACA,4BACI,8CAA8C,CACjD,CAED,8BACE,8CAAgD,CAElD,qEACA,8BACI,8CAAgD,CACnD,CAED,6BACE,+CAA+C,CAEjD,qEACA,6BACI,+CAA+C,CAClD,CAED,yBACE,WACA,YACA,iBACA,yBAA2B,CAE7B,oCACE,cAAgB,CAElB,4BACE,+CAA8C,CAEhD,qEACA,4BACI,+CAA8C,CACjD,CAED,8BACE,+CAAgD,CAElD,qEACA,8BACI,+CAAgD,CACnD,CAED,6BACE,+CAA+C,CAEjD,qEACA,6BACI,+CAA+C,CAClD,CACA,w0tCCtGD,OACE,oBACA,aACA,kBACA,UACA,YACA,WACA,eAAiB,CAEnB,qBACE,kBACI,cACJ,WACA,mBACA,cAAgB,CAElB,yCACE,gBACA,gBACA,eAAiB,CAEnB,yEAEE,kBACA,cACA,YACA,iBACA,WACA,cAAgB,CAElB,2GAEE,YAAc,CAEhB,sCACE,kBACA,WACA,UACA,WACA,SACA,wCAA2C,CAE7C,2BACE,mBACA,sBACA,eACA,gBACA,mBACA,gBAAkB,CAEpB,oCACE,qBAAuB,CAEzB,sBACE,WACI,OACJ,cAAgB,CAElB,oCACE,YACA,iBACA,kBACA,eACA,cACA,mBACA,6BAA+B,CAEjC,iCACE,kBACA,oBACA,aACA,cACA,eACA,wCAA2C,CAE7C,uCACE,kBACI,aAAe,CAErB,4CACE,kBAAoB,CAEtB,0CACE,WACI,OACJ,iBAAmB,CAErB,6CACE,iBACA,eACA,iBACA,YACA,gBACA,aAAe,CAEjB,4GAEE,eACA,cACA,gBAAkB,CAEpB,kIAEE,gBAAkB,CAEpB,uDACE,eACA,kBACA,gBAAkB,CAEpB,iDACE,eACA,gBACA,gBAAkB,CAEpB,2DACE,eACA,aAAe,CAEjB,iEACE,eACA,eAAoB,CAEtB,2DACE,6BACA,cACA,gBAAkB,CAEpB,+DACE,kBACA,QACA,YACA,UAAY,CCpId,0BACE,qBACA,0BACA,4BACA,WACA,WAAa,CAEf,mCACE,8CAA+C,CAEjD,qEACA,mCACI,8CAA+C,CAClD,CAED,mCACE,8CAA+C,CAEjD,qEACA,mCACI,8CAA+C,CAClD,CAED,oCACE,8CAAgD,CAElD,qEACA,oCACI,8CAAgD,CACnD,CAED,kCACE,8CAA8C,CAEhD,qEACA,kCACI,8CAA8C,CACjD,CAED,kCACE,8CAA8C,CAEhD,qEACA,kCACI,8CAA8C,CACjD,CACA,wk9BC9CD,2BACE,eACA,OACA,SACA,WACA,YACA,UAAY,CAEd,oCACE,oBACA,aACA,kBAAoB,CAEtB,kDACE,WACI,OACJ,WAAa,CAEf,gEACE,qBACA,mBACA,kBACA,YACA,iBACA,kBACA,WACA,UACA,mBACA,cACA,YACA,sBACA,iBAAmB,CAErB,uEACE,kBACA,MACA,QACA,mBACA,WACA,WACA,YACA,iBACA,cACA,sCACA,gBACA,mBACA,iBAAmB,CAErB,sEACE,WACA,YACA,mBACA,kBACA,eACA,cACA,iBACA,eAAiB,CAEnB,6EACE,mBACA,UAAY,CAEd,yDACE,qBACA,mBACA,eACA,gBACA,mBACA,sBACA,yBACA,gBACA,iBACA,yCAA8C,CAEhD,gEACE,UAAY,CAEd,wDACE,kBACA,qBACA,mBACA,qBACA,eACA,yBACA,gBACA,gBAAkB,CAEpB,mDACE,mBACI,eACJ,eACA,gBACA,mBACA,yBACA,iBACA,iBAAmB,CAErB,0DACE,mBACA,UAAY,CAEd,iDACE,eACA,UACA,YACA,WAAa,CAEf,+HAEE,iDAA2D,CAE7D,6IAEE,WACA,YACA,kBACA,mBACA,yBAA4B,CAE9B,0CACE,kBACA,MACA,OACA,WACA,gBACA,iCACA,UAAY,CAEd,sIAEE,kBAAqB,CAEvB,+HAEE,uBAAgC,CAElC,uDACE,YACA,iBACA,mBACA,wCAA2C,CAE7C,8DACE,qBACA,eACA,gBACA,cACA,iBAAmB,CAErB,8DACE,kBACA,UACA,eACA,cACA,cAAgB,CAElB,wDACE,iBACA,eAAiB,CAEnB,8DACE,kBACA,oBACA,aACA,YACA,cACA,wCAA2C,CAE7C,oEACE,WACI,OACJ,eACA,cACA,iBACA,eAAiB,CAEnB,qEACE,eACA,gBACA,cACA,sBACA,gBAAkB,CAEpB,mFACE,eACA,cAAgB,CAElB,2BACE,eACA,MACA,SACA,OACA,QACA,4BACA,mCACQ,2BACR,UAAY,CAEd,4GAEE,sBAAyB,CAE3B,qGAEE,SAAW,CC5Mb,4BACE,qBACA,YACA,yBAA4B,CAE9B,mCACE,iBACA,eACA,cACA,yBAA4B,CAE9B,wGAEE,uBAAgC,CAElC,sHAEE,qBACA,mBAAqB,CAEvB,iGAEE,UACA,+BAAmC,CAErC,+GAEE,wBAA0B,CAE5B,yBAGE,eACA,cAEA,kBACA,aAAe,CAEjB,gDARE,qBACA,mBAGA,gBAAkB,CAWnB,uBAJC,eACA,cAEA,WAAa,CC5Cf,UACE,eACA,MACA,SACA,OACA,QACA,4BACA,mCACQ,2BACR,UAAY,CAEd,0EAEE,sBAAyB,CAE3B,mEAEE,SAAW,CCjBb,gCACE,eACA,OACA,MACA,YACA,WACA,gBACA,uBAA0B,CAE5B,oGAEE,uBAAgC,CAElC,6FAEE,+BAAmC,CAErC,mCACE,kBACA,WACA,SACA,SACA,eACA,YAAc,CAEhB,mCACE,kBACA,sBACA,WACA,YAAc,CAEhB,0CACE,eACA,gBACA,cACA,gBAAkB,CAEpB,yCACE,oBACA,aACA,UACA,gBACA,eACA,cACA,gBAAkB,CAEpB,yDACE,iBAAmB,CAErB,0CACE,oBACA,aACA,iBACA,eACA,gBACA,cACA,gBAAkB,CAEpB,gDACE,eACA,eAAoB,CAEtB,oDACE,kBACA,eACA,gBACA,cACA,gBAAkB,CAEpB,6CACE,kBACA,WACA,YACA,YACA,kBACA,SAAW,CAEb,mDACE,sBACA,YACA,iBACA,WACA,eACA,eACA,mBACA,kBAAoB,CAEtB,0IAEE,sBAAyB,CAE3B,mIAEE,SAAW,CAEb,gDACE,kBACA,WACA,WAAa,CAEf,mCACE,YAAc,CAEhB,0CACE,eACA,gBACA,cACA,iBAAmB,CAErB,4CACE,eACA,gBACA,cACA,iBACA,aAAe,CAEjB,yCACE,eACA,iBAAmB,CAErB,gDACE,kBACA,eACA,gBACA,aAAe,CAEjB,mDACE,eACA,cACA,wCAA2C,CAE7C,yDACE,qBACA,eACA,iBACA,iBACA,8BACA,cACA,gBAAkB,CAEpB,gEACE,cACA,gBAAkB,CAEpB,gEACE,WACA,kBAAoB,CAEtB,6DACE,4BAA+B,CAEjC,mEACE,kBAAoB,CAEtB,iDACE,eACA,WACA,yBACA,cACA,wCAA2C,CAE7C,oEACE,eACA,qBAAuB,CAEzB,uEACE,aAAe,CAEjB,oDACE,aAAe,CAEjB,0DACE,eACA,wCAA2C,CAE7C,oEACE,oBACA,aACA,cACA,eACA,gBAAkB,CAEpB,0EACE,WACI,MAAQ,CAEd,0EACE,WACI,OACJ,gBAAkB,CAEpB,sFACE,iBACA,iBAAmB,CAErB,mEACE,eAAiB,CAEnB,yEACE,eACA,gBAAkB,CAEpB,uFACE,aAAe,CAEjB,yFACE,aAAe,CAEjB,yEACE,eACA,cACA,iBACA,gBAAkB,CCpNpB,iCACE,kBACA,UACA,SACA,OACA,WACA,eAAiB,CAEnB,wCACE,oBACA,YAAc,CAEhB,8CACE,mBACI,eACJ,cACA,wCACA,iBAAmB,CAErB,mDACE,eACA,WACA,gBAAkB,CAEpB,oDACE,kBACA,eACA,cACA,gBAAkB,CAEpB,wDACE,eACA,cACA,iBACA,iBAAmB,CAErB,+CACE,iBAAmB,CAErB,oLAGE,oBACA,aACA,iBAAmB,CAErB,sMAGE,eACA,cACA,iBACA,iBAAmB,CAErB,mMAGE,eACA,iBACA,WACA,iBAAmB,CAErB,6DACE,eAAiB,CAEnB,mEACE,eACA,cACA,gBAAkB,CAEpB,8CACE,eACA,iBAAmB,CAErB,wDACE,oBACA,cACA,wCAA2C,CAE7C,8DACE,qBACA,eACA,iBACA,iBACA,8BACA,cACA,gBAAkB,CAEpB,qEACE,cACA,gBAAkB,CAEpB,qEACE,WACA,kBAAoB,CAEtB,kEACE,4BAA+B,CAEjC,wEACE,kBAAoB,CAEtB,sDACE,eACA,WACA,yBACA,cACA,wCAA2C,CAE7C,yEACE,eACA,qBAAuB,CAEzB,4EACE,aAAe,CAEjB,mDACE,oBACA,aACA,eACA,cACA,wCAA2C,CAE7C,2DACE,kBACI,cACJ,iBAAmB,CAErB,+DACE,iBAAmB,CAErB,4DACE,WACI,MAAQ,CAEd,kEACE,eACA,cACA,gBAAkB,CAEpB,4EACE,kBACA,gBACA,WACA,aAAe,CAEjB,0EACE,YACA,gBACA,iBAAmB,CAErB,gFACE,oBAAsB,CAExB,wFACE,eACA,iBACA,gBACA,aAAe,CAEjB,kEACE,eACA,cACA,gBAAkB,CAEpB,uEACE,eAAiB,CAEnB,6EACE,eACA,cACA,gBAAkB,CAEpB,6EACE,qBACA,cACA,cACA,iBACA,kCACA,gBACA,iBACA,mBACA,cAAgB,CCtLlB,iCACE,kBACA,UACA,SACA,OACA,WACA,eAAiB,CAEnB,uDACE,eACA,aAAe,CAEjB,8DACE,oBACA,wCAA2C,CAE7C,oEACE,eACA,cACA,gBAAkB,CAEpB,4EACE,gBACA,WAAa,CAEf,kFACE,qBACA,kBAAoB,CAEtB,gLAEE,qBACA,eACA,cACA,gBAAkB,CAEpB,wFACE,oBAAsB,CAExB,uEACE,kBACA,SACA,UACA,WACA,iBAAmB,CAErB,sFACE,eACA,iBACA,aAAe,CAEjB,6FACE,aAAe,CAEjB,6EACE,cACA,eACA,cACA,iBACA,eAAiB,CAEnB,+DACE,oBACA,YAAc,CAEhB,sEACE,WACI,OACJ,gBACA,kBACA,uCAA0C,CAE5C,iFACE,WAAa,CAEf,yEACE,eACA,cACA,iBACA,iBAAmB,CAErB,+EACE,eACA,cACA,iBACA,eAAiB,CAEnB,oFACE,kBACA,QACA,cAAgB,CAElB,6DACE,gBAAkB,CAEpB,uEACE,cACA,wCAA2C,CAE7C,0EACE,eACA,cACA,gBAAkB,CAEpB,gFACE,sBACA,eACA,gBACA,cACA,gBAAkB,CAEpB,2DACE,aAAe,CAEjB,iEACE,aACA,yCACA,WAAa,CAEf,0EACE,WACA,YACA,mBACA,gBAAkB,CAEpB,uEACE,eACA,gBACA,cACA,gBAAkB,CAEpB,8DACE,YACA,mBACA,eAAiB,CAEnB,iEACE,eACA,iBACA,kBAAoB,CAEtB,kEACE,gBAAkB,CAEpB,iEACE,cACA,oBACA,wCAA2C,CAE7C,+EACE,eACA,gBACA,cACA,iBACA,kBACA,wCAA2C,CAE7C,0FACE,WAAa","file":"static/css/app.2ca30d6e0c2974c62f07a817ba379f36.css","sourcesContent":["\nbody,\nhtml {\n font-weight: 200;\n}\n.clearfix {\n display: inline-block;\n}\n.clearfix:after {\n display: block;\n content: '';\n height: 0;\n line-height: 0;\n clear: both;\n visibility: hidden;\n}\n@font-face {\n font-family: 'sell-icon';\n src: url(\"common/fonts/sell-icon.eot?nowozp\");\n src: url(\"common/fonts/sell-icon.eot?nowozp#iefix\") format('embedded-opentype'), url(\"common/fonts/sell-icon.ttf?nowozp\") format('truetype'), url(\"common/fonts/sell-icon.woff?nowozp\") format('woff'), url(\"common/fonts/sell-icon.svg?nowozp#sell-icon\") format('svg');\n font-weight: normal;\n font-style: normal;\n}\n[class^=\"icon-\"],\n[class*=\" icon-\"] {\n/* use !important to prevent issues with browser extensions that change fonts */\n font-family: 'sell-icon' !important;\n speak: none;\n font-style: normal;\n font-weight: normal;\n font-variant: normal;\n text-transform: none;\n line-height: 1;\n/* Better Font Rendering =========== */\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n.icon-arrow_lift:before {\n content: \"\\e900\";\n}\n.icon-check_circle:before {\n content: \"\\e901\";\n}\n.icon-close:before {\n content: \"\\e902\";\n}\n.icon-favorite:before {\n content: \"\\e903\";\n}\n.icon-keyboard_arrow_right:before {\n content: \"\\e904\";\n}\n.icon-remove_circle_outline:before {\n content: \"\\e905\";\n}\n.icon-shopping_cart:before {\n content: \"\\e906\";\n}\n.icon-thumb_down:before {\n content: \"\\e907\";\n}\n.icon-thumb_up:before {\n content: \"\\e908\";\n}\n.icon-add_circle:before {\n content: \"\\1f4\";\n}\n.tab {\n display: -ms-flexbox;\n display: flex;\n width: 100%;\n height: 40px;\n line-height: 40px;\n position: relative;\n}\n.tab:after {\n display: block;\n position: absolute;\n left: 0;\n bottom: 0;\n width: 100%;\n border-top: 1px solid rgba(7,17,27,0.1);\n content: '';\n}\n.tab .tab-item {\n -ms-flex: 1;\n flex: 1;\n text-align: center;\n}\n.tab .tab-item a {\n display: block;\n font-size: 14px;\n color: #4d555d;\n}\n.tab .tab-item a.active {\n font-size: 14px;\n color: #f01414;\n}\n\n\n// WEBPACK FOOTER //\n// webpack:///src/App.vue","\n.header {\n position: relative;\n background: rgba(7,17,27,0.5);\n color: #fff;\n blur: 10px;\n overflow: hidden;\n}\n.header .content-wrapper {\n position: relative;\n display: -ms-flexbox;\n display: flex;\n padding: 24px 12px 18px 24px;\n font-size: 12px;\n}\n.header .content-wrapper .avatar img {\n border-radius: 2px;\n}\n.header .content-wrapper .content {\n margin-left: 16px;\n}\n.header .content-wrapper .content .title {\n margin: 2px 0 8px 0;\n font-size: 16px;\n}\n.header .content-wrapper .content .title .brand {\n display: inline-block;\n vertical-align: top;\n width: 30px;\n height: 18px;\n background-image: url(\"img/brand@2x.png\");\n background-size: 30px 18px;\n background-repeat: no-repeat;\n}\n@media (-webkit-min-device-pixel-ratio: 3), (min-device-pixel-ratio: 3) {\n.header .content-wrapper .content .title .brand {\n background-image: url(\"img/brand@3x.png\");\n}\n}\n.header .content-wrapper .content .title .name {\n margin-left: 6px;\n font-size: 16px;\n line-height: 18px;\n font-weight: bold;\n}\n.header .content-wrapper .content .description {\n font-size: 12px;\n margin-bottom: 10px;\n}\n.header .content-wrapper .content .supports .icon {\n display: inline-block;\n vertical-align: top;\n width: 12px;\n height: 12px;\n margin-right: 4px;\n background-size: 12px 12px;\n background-repeat: no-repeat;\n}\n.header .content-wrapper .content .supports .icon.decrease {\n background-image: url(\"img/decrease_1@2x.png\");\n}\n@media (-webkit-min-device-pixel-ratio: 3), (min-device-pixel-ratio: 3) {\n.header .content-wrapper .content .supports .icon.decrease {\n background-image: url(\"img/decrease_1@3x.png\");\n}\n}\n.header .content-wrapper .content .supports .icon.discount {\n background-image: url(\"img/discount_1@2x.png\");\n}\n@media (-webkit-min-device-pixel-ratio: 3), (min-device-pixel-ratio: 3) {\n.header .content-wrapper .content .supports .icon.discount {\n background-image: url(\"img/discount_1@3x.png\");\n}\n}\n.header .content-wrapper .content .supports .icon.guarantee {\n background-image: url(\"img/guarantee_1@2x.png\");\n}\n@media (-webkit-min-device-pixel-ratio: 3), (min-device-pixel-ratio: 3) {\n.header .content-wrapper .content .supports .icon.guarantee {\n background-image: url(\"img/guarantee_1@3x.png\");\n}\n}\n.header .content-wrapper .content .supports .icon.invoice {\n background-image: url(\"img/invoice_1@2x.png\");\n}\n@media (-webkit-min-device-pixel-ratio: 3), (min-device-pixel-ratio: 3) {\n.header .content-wrapper .content .supports .icon.invoice {\n background-image: url(\"img/invoice_1@3x.png\");\n}\n}\n.header .content-wrapper .content .supports .icon.special {\n background-image: url(\"img/special_1@2x.png\");\n}\n@media (-webkit-min-device-pixel-ratio: 3), (min-device-pixel-ratio: 3) {\n.header .content-wrapper .content .supports .icon.special {\n background-image: url(\"img/special_1@3x.png\");\n}\n}\n.header .content-wrapper .content .supports .text {\n line-height: 12px;\n font-size: 10px;\n}\n.header .content-wrapper .support-count {\n position: absolute;\n right: 12px;\n bottom: 18px;\n padding: 0 8px;\n height: 24px;\n line-height: 24px;\n border-radius: 14px;\n background-color: rgba(0,0,0,0.2);\n text-align: center;\n}\n.header .content-wrapper .support-count .count {\n vertical-align: top;\n font-size: 10px;\n}\n.header .content-wrapper .support-count .icon-keyboard_arrow_right {\n font-size: 10px;\n margin-left: 2px;\n line-height: 24px;\n}\n.header .bulletin-wrapper {\n position: relative;\n height: 28px;\n line-height: 28px;\n padding: 0 22px 0 12px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n background: rgba(7,17,27,0.2);\n}\n.header .bulletin-wrapper .bulletin-title {\n display: inline-block;\n vertical-align: top;\n margin-top: 8px;\n width: 22px;\n height: 12px;\n background-image: url(\"img/bulletin@2x.png\");\n background-size: 100% 100%;\n background-repeat: no-repeat;\n}\n@media (-webkit-min-device-pixel-ratio: 3), (min-device-pixel-ratio: 3) {\n.header .bulletin-wrapper .bulletin-title {\n background-image: url(\"img/bulletin@3x.png\");\n}\n}\n.header .bulletin-wrapper .bulletin-text {\n font-size: 10px;\n vertical-align: middle;\n margin: 0 4px;\n}\n.header .bulletin-wrapper .icon-keyboard_arrow_right {\n position: absolute;\n font-size: 10px;\n right: 12px;\n top: 8px;\n}\n.header .background {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n filter: blur(10px);\n z-index: -1;\n}\n.header .detail {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 100;\n width: 100%;\n height: 100%;\n background: rgba(7,17,27,0.8);\n -webkit-backdrop-filter: blur(10px);\n backdrop-filter: blur(10px);\n}\n.header .detail .detail-wrapper {\n min-height: 100%;\n width: 100%;\n}\n.header .detail .detail-wrapper .detail-main {\n margin-top: 64px;\n padding-bottom: 64px;\n}\n.header .detail .detail-wrapper .detail-main .name {\n font-size: 16px;\n font-weight: 700;\n width: 100%;\n color: #fff;\n line-height: 16px;\n text-align: center;\n}\n.header .detail .detail-wrapper .detail-main .star-wrapper {\n margin: 16px 11px 28px 0;\n text-align: center;\n}\n.header .detail .detail-wrapper .detail-main .title {\n display: -ms-flexbox;\n display: flex;\n width: 80%;\n margin: 0 auto 24px auto;\n}\n.header .detail .detail-wrapper .detail-main .title .line {\n display: inline-block;\n -ms-flex: 1;\n flex: 1;\n height: 1px;\n background: rgba(255,255,255,0.2);\n margin: auto;\n}\n.header .detail .detail-wrapper .detail-main .title .text {\n padding: 0 12px;\n font-size: 14px;\n font-weight: 700;\n}\n.header .detail .detail-wrapper .detail-main .supports {\n padding: 0 0 28px 36px;\n}\n.header .detail .detail-wrapper .detail-main .supports .support-item {\n color: #fff;\n padding: 0 6px 12px 16px;\n}\n.header .detail .detail-wrapper .detail-main .supports .support-item .text {\n vertical-align: middle;\n font-size: 12px;\n font-weight: 200;\n color: #fff;\n line-height: 12px;\n}\n.header .detail .detail-wrapper .detail-main .supports .support-item .icon {\n display: inline-block;\n vertical-align: top;\n width: 16px;\n height: 16px;\n margin-right: 6px;\n background-size: 100% 100%;\n background-repeat: no-repeat;\n}\n.header .detail .detail-wrapper .detail-main .supports .support-item .icon.decrease {\n background-image: url(\"img/decrease_2@2x.png\");\n}\n@media (-webkit-min-device-pixel-ratio: 3), (min-device-pixel-ratio: 3) {\n.header .detail .detail-wrapper .detail-main .supports .support-item .icon.decrease {\n background-image: url(\"img/decrease_2@3x.png\");\n}\n}\n.header .detail .detail-wrapper .detail-main .supports .support-item .icon.discount {\n background-image: url(\"img/discount_2@2x.png\");\n}\n@media (-webkit-min-device-pixel-ratio: 3), (min-device-pixel-ratio: 3) {\n.header .detail .detail-wrapper .detail-main .supports .support-item .icon.discount {\n background-image: url(\"img/discount_2@3x.png\");\n}\n}\n.header .detail .detail-wrapper .detail-main .supports .support-item .icon.guarantee {\n background-image: url(\"img/guarantee_2@2x.png\");\n}\n@media (-webkit-min-device-pixel-ratio: 3), (min-device-pixel-ratio: 3) {\n.header .detail .detail-wrapper .detail-main .supports .support-item .icon.guarantee {\n background-image: url(\"img/guarantee_2@3x.png\");\n}\n}\n.header .detail .detail-wrapper .detail-main .supports .support-item .icon.invoice {\n background-image: url(\"img/invoice_2@2x.png\");\n}\n@media (-webkit-min-device-pixel-ratio: 3), (min-device-pixel-ratio: 3) {\n.header .detail .detail-wrapper .detail-main .supports .support-item .icon.invoice {\n background-image: url(\"img/invoice_2@3x.png\");\n}\n}\n.header .detail .detail-wrapper .detail-main .supports .support-item .icon.special {\n background-image: url(\"img/special_2@2x.png\");\n}\n@media (-webkit-min-device-pixel-ratio: 3), (min-device-pixel-ratio: 3) {\n.header .detail .detail-wrapper .detail-main .supports .support-item .icon.special {\n background-image: url(\"img/special_2@3x.png\");\n}\n}\n.header .detail .detail-wrapper .detail-main .bulletin {\n padding: 0 48px;\n font-size: 12px;\n font-weight: 200;\n color: #fff;\n line-height: 24px;\n}\n.header .detail .detail-close {\n position: relative;\n width: 32px;\n height: 32px;\n margin: -64px auto 0 auto;\n clear: both;\n font-size: 32px;\n color: rgba(255,255,255,0.5);\n}\n.header .detail.fade-enter-active,\n.header .detail.fade-leave-active {\n transition: opacity 0.5s;\n}\n.header .detail.fade-enter,\n.header .detail.fade-leave-active {\n opacity: 0;\n}\n\n\n// WEBPACK FOOTER //\n// webpack:///src/components/header/header.vue","\n.star .star-item {\n display: inline-block;\n background-repeat: no-repeat;\n}\n.star.star-48 .star-item {\n width: 20px;\n height: 20px;\n margin-right: 22px;\n background-size: 100% 100%;\n}\n.star.star-48 .star-item:last-child {\n margin-right: 0;\n}\n.star.star-48 .star-item.on {\n background-image: url(\"img/star48_on@2x.png\");\n}\n@media (-webkit-min-device-pixel-ratio: 3), (min-device-pixel-ratio: 3) {\n.star.star-48 .star-item.on {\n background-image: url(\"img/star48_on@3x.png\");\n}\n}\n.star.star-48 .star-item.half {\n background-image: url(\"img/star48_half@2x.png\");\n}\n@media (-webkit-min-device-pixel-ratio: 3), (min-device-pixel-ratio: 3) {\n.star.star-48 .star-item.half {\n background-image: url(\"img/star48_half@3x.png\");\n}\n}\n.star.star-48 .star-item.off {\n background-image: url(\"img/star48_off@2x.png\");\n}\n@media (-webkit-min-device-pixel-ratio: 3), (min-device-pixel-ratio: 3) {\n.star.star-48 .star-item.off {\n background-image: url(\"img/star48_off@3x.png\");\n}\n}\n.star.star-36 .star-item {\n width: 15px;\n height: 15px;\n margin-right: 6px;\n background-size: 100% 100%;\n}\n.star.star-36 .star-item:last-child {\n margin-right: 0;\n}\n.star.star-36 .star-item.on {\n background-image: url(\"img/star36_on@2x.png\");\n}\n@media (-webkit-min-device-pixel-ratio: 3), (min-device-pixel-ratio: 3) {\n.star.star-36 .star-item.on {\n background-image: url(\"img/star36_on@3x.png\");\n}\n}\n.star.star-36 .star-item.half {\n background-image: url(\"img/star36_half@2x.png\");\n}\n@media (-webkit-min-device-pixel-ratio: 3), (min-device-pixel-ratio: 3) {\n.star.star-36 .star-item.half {\n background-image: url(\"img/star36_half@3x.png\");\n}\n}\n.star.star-36 .star-item.off {\n background-image: url(\"img/star36_off@2x.png\");\n}\n@media (-webkit-min-device-pixel-ratio: 3), (min-device-pixel-ratio: 3) {\n.star.star-36 .star-item.off {\n background-image: url(\"img/star36_off@3x.png\");\n}\n}\n.star.star-24 .star-item {\n width: 10px;\n height: 10px;\n margin-right: 3px;\n background-size: 100% 100%;\n}\n.star.star-24 .star-item:last-child {\n margin-right: 0;\n}\n.star.star-24 .star-item.on {\n background-image: url(\"img/star24_on@2x.png\");\n}\n@media (-webkit-min-device-pixel-ratio: 3), (min-device-pixel-ratio: 3) {\n.star.star-24 .star-item.on {\n background-image: url(\"img/star24_on@3x.png\");\n}\n}\n.star.star-24 .star-item.half {\n background-image: url(\"img/star24_half@2x.png\");\n}\n@media (-webkit-min-device-pixel-ratio: 3), (min-device-pixel-ratio: 3) {\n.star.star-24 .star-item.half {\n background-image: url(\"img/star24_half@3x.png\");\n}\n}\n.star.star-24 .star-item.off {\n background-image: url(\"img/star24_off@2x.png\");\n}\n@media (-webkit-min-device-pixel-ratio: 3), (min-device-pixel-ratio: 3) {\n.star.star-24 .star-item.off {\n background-image: url(\"img/star24_off@3x.png\");\n}\n}\n\n\n// WEBPACK FOOTER //\n// webpack:///src/components/star/star.vue","\n.goods {\n display: -ms-flexbox;\n display: flex;\n position: absolute;\n top: 174px;\n bottom: 46px;\n width: 100%;\n overflow: hidden;\n}\n.goods .menu-wrapper {\n -ms-flex: 0 0 80px;\n flex: 0 0 80px;\n width: 80px;\n background: #f3f5f7;\n margin-top: 2px;\n}\n.goods .menu-wrapper .menu-item-selected {\n background: #fff;\n font-weight: 700;\n margin-top: -1px;\n}\n.goods .menu-wrapper .menu-item,\n.goods .menu-wrapper .menu-item-selected {\n position: relative;\n display: table;\n height: 54px;\n line-height: 14px;\n width: 56px;\n padding: 0 12px;\n}\n.goods .menu-wrapper .menu-item:last-child:after,\n.goods .menu-wrapper .menu-item-selected:last-child:after {\n content: none;\n}\n.goods .menu-wrapper .menu-item:after {\n position: absolute;\n content: '';\n left: 12px;\n width: 56px;\n bottom: 0;\n border-bottom: 1px solid rgba(7,17,27,0.1);\n}\n.goods .menu-wrapper .text {\n display: table-cell;\n vertical-align: middle;\n font-size: 12px;\n font-weight: 200;\n white-space: normal;\n line-height: 14px;\n}\n.goods .menu-wrapper .text .iconMap {\n vertical-align: middle;\n}\n.goods .foods-wrapper {\n -ms-flex: 1;\n flex: 1;\n margin-top: 2px;\n}\n.goods .foods-wrapper .food-list h1 {\n height: 26px;\n line-height: 26px;\n padding-left: 12px;\n font-size: 12px;\n color: #93999f;\n background: #f3f5f7;\n border-left: 2px solid #d9dde1;\n}\n.goods .foods-wrapper .food-item {\n position: relative;\n display: -ms-flexbox;\n display: flex;\n margin: 0 18px;\n padding: 18px 0;\n border-bottom: 1px solid rgba(7,17,27,0.1);\n}\n.goods .foods-wrapper .food-item .icon {\n -ms-flex: 0 0 57px;\n flex: 0 0 57px;\n}\n.goods .foods-wrapper .food-item:last-child {\n border-bottom: none;\n}\n.goods .foods-wrapper .food-item .content {\n -ms-flex: 1;\n flex: 1;\n padding-left: 10px;\n}\n.goods .foods-wrapper .food-item .content h2 {\n margin: 2px 0 8px 0;\n font-size: 14px;\n line-height: 14px;\n height: 14px;\n font-weight: 700;\n color: #07111b;\n}\n.goods .foods-wrapper .food-item .content .sell-info,\n.goods .foods-wrapper .food-item .content .description {\n font-size: 10px;\n color: #93999f;\n line-height: 10px;\n}\n.goods .foods-wrapper .food-item .content .sell-info .sellCount,\n.goods .foods-wrapper .food-item .content .description .sellCount {\n margin-right: 4px;\n}\n.goods .foods-wrapper .food-item .content .description {\n font-size: 10px;\n margin-bottom: 8px;\n line-height: 12px;\n}\n.goods .foods-wrapper .food-item .content .price {\n font-size: 10px;\n font-weight: 700;\n line-height: 24px;\n}\n.goods .foods-wrapper .food-item .content .price .newPrice {\n font-size: 14px;\n color: #f01414;\n}\n.goods .foods-wrapper .food-item .content .price .newPrice .unit {\n font-size: 10px;\n font-weight: normal;\n}\n.goods .foods-wrapper .food-item .content .price .oldPrice {\n text-decoration: line-through;\n color: #93999f;\n padding-left: 4px;\n}\n.goods .foods-wrapper .food-item .content .cartcontrol-wrapper {\n position: absolute;\n right: 0;\n bottom: 12px;\n z-index: 20;\n}\n\n\n// WEBPACK FOOTER //\n// webpack:///src/components/goods/goods.vue","\n.iconMap[data-v-5a232ec2] {\n display: inline-block;\n background-size: 100% 100%;\n background-repeat: no-repeat;\n width: 12px;\n height: 12px;\n}\n.iconMap.decrease[data-v-5a232ec2] {\n background-image: url(\"img/decrease_4@2x.png\");\n}\n@media (-webkit-min-device-pixel-ratio: 3), (min-device-pixel-ratio: 3) {\n.iconMap.decrease[data-v-5a232ec2] {\n background-image: url(\"img/decrease_4@3x.png\");\n}\n}\n.iconMap.discount[data-v-5a232ec2] {\n background-image: url(\"img/discount_4@2x.png\");\n}\n@media (-webkit-min-device-pixel-ratio: 3), (min-device-pixel-ratio: 3) {\n.iconMap.discount[data-v-5a232ec2] {\n background-image: url(\"img/discount_4@3x.png\");\n}\n}\n.iconMap.guarantee[data-v-5a232ec2] {\n background-image: url(\"img/guarantee_4@2x.png\");\n}\n@media (-webkit-min-device-pixel-ratio: 3), (min-device-pixel-ratio: 3) {\n.iconMap.guarantee[data-v-5a232ec2] {\n background-image: url(\"img/guarantee_4@3x.png\");\n}\n}\n.iconMap.invoice[data-v-5a232ec2] {\n background-image: url(\"img/invoice_4@2x.png\");\n}\n@media (-webkit-min-device-pixel-ratio: 3), (min-device-pixel-ratio: 3) {\n.iconMap.invoice[data-v-5a232ec2] {\n background-image: url(\"img/invoice_4@3x.png\");\n}\n}\n.iconMap.special[data-v-5a232ec2] {\n background-image: url(\"img/special_4@2x.png\");\n}\n@media (-webkit-min-device-pixel-ratio: 3), (min-device-pixel-ratio: 3) {\n.iconMap.special[data-v-5a232ec2] {\n background-image: url(\"img/special_4@3x.png\");\n}\n}\n\n\n// WEBPACK FOOTER //\n// webpack:///src/components/iconMap/iconMap.vue","\n.shopCart[data-v-da57ef52] {\n position: fixed;\n left: 0;\n bottom: 0;\n width: 100%;\n height: 48px;\n z-index: 50;\n}\n.shopCart .content[data-v-da57ef52] {\n display: -ms-flexbox;\n display: flex;\n background: #141d27;\n}\n.shopCart .content .content-left[data-v-da57ef52] {\n -ms-flex: 1;\n flex: 1;\n height: 48px;\n}\n.shopCart .content .content-left .logo-wrapper[data-v-da57ef52] {\n display: inline-block;\n vertical-align: top;\n position: relative;\n height: 56px;\n line-height: 56px;\n border-radius: 50%;\n width: 56px;\n top: -10px;\n background: #141d27;\n margin: 0 12px;\n padding: 6px;\n box-sizing: border-box;\n text-align: center;\n}\n.shopCart .content .content-left .logo-wrapper .badge[data-v-da57ef52] {\n position: absolute;\n top: 0;\n right: 0;\n background: #f01414;\n color: #fff;\n width: 24px;\n height: 16px;\n line-height: 16px;\n font-size: 9px;\n box-shadow: 0px 4px 8px 0px rgba(0,0,0,0.4);\n font-weight: 700;\n border-radius: 16px;\n text-align: center;\n}\n.shopCart .content .content-left .logo-wrapper .logo[data-v-da57ef52] {\n width: 100%;\n height: 100%;\n background: #2b343c;\n border-radius: 50%;\n font-size: 24px;\n color: #80858a;\n line-height: 44px;\n font-weight: 700;\n}\n.shopCart .content .content-left .logo-wrapper .logo.active[data-v-da57ef52] {\n background: #00a0dc;\n color: #fff;\n}\n.shopCart .content .content-left .price[data-v-da57ef52] {\n display: inline-block;\n vertical-align: top;\n font-size: 16px;\n margin-top: 12px;\n padding-right: 12px;\n box-sizing: border-box;\n color: rgba(255,255,255,0.4);\n font-weight: 700;\n line-height: 24px;\n border-right: 1px solid rgba(255,255,255,0.1);\n}\n.shopCart .content .content-left .price.active[data-v-da57ef52] {\n color: #fff;\n}\n.shopCart .content .content-left .desc[data-v-da57ef52] {\n position: relative;\n display: inline-block;\n vertical-align: top;\n margin: 12px 0 0 12px;\n font-size: 10px;\n color: rgba(255,255,255,0.4);\n font-weight: 700;\n line-height: 24px;\n}\n.shopCart .content .content-right[data-v-da57ef52] {\n -ms-flex: 0 0 105px;\n flex: 0 0 105px;\n font-size: 12px;\n font-weight: 700;\n background: #2b343c;\n color: rgba(255,255,255,0.4);\n line-height: 48px;\n text-align: center;\n}\n.shopCart .content .content-right.enough[data-v-da57ef52] {\n background: #00b43c;\n color: #fff;\n}\n.shopCart .ball-container .ball[data-v-da57ef52] {\n position: fixed;\n left: 32px;\n bottom: 22px;\n z-index: 200;\n}\n.shopCart .ball-container .ball.drop-enter[data-v-da57ef52],\n.shopCart .ball-container .ball.drop-enter-active[data-v-da57ef52] {\n transition: all 0.4s cubic-bezier(0.49, -0.29, 0.75, 0.41);\n}\n.shopCart .ball-container .ball.drop-enter .inner[data-v-da57ef52],\n.shopCart .ball-container .ball.drop-enter-active .inner[data-v-da57ef52] {\n width: 16px;\n height: 16px;\n border-radius: 50%;\n background: #00a0dc;\n transition: all 0.4s linear;\n}\n.shopCart .shopcart-list[data-v-da57ef52] {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n background: #fff;\n transform: translate3d(0, -100%, 0);\n z-index: -1;\n}\n.shopCart .shopcart-list.transHeight-enter-active[data-v-da57ef52],\n.shopCart .shopcart-list.transHeight-leave-active[data-v-da57ef52] {\n transition: all 0.5s;\n}\n.shopCart .shopcart-list.transHeight-enter[data-v-da57ef52],\n.shopCart .shopcart-list.transHeight-leave-active[data-v-da57ef52] {\n transform: translate3d(0, 0, 0);\n}\n.shopCart .shopcart-list .list-header[data-v-da57ef52] {\n height: 40px;\n line-height: 40px;\n background: #f3f5f7;\n border-bottom: 1px solid rgba(7,17,27,0.1);\n}\n.shopCart .shopcart-list .list-header .title[data-v-da57ef52] {\n display: inline-block;\n font-size: 14px;\n font-weight: 200;\n color: #07111b;\n padding-left: 18px;\n}\n.shopCart .shopcart-list .list-header .empty[data-v-da57ef52] {\n position: absolute;\n right: 8px;\n font-size: 12px;\n color: #00a0dc;\n padding: 0 10px;\n}\n.shopCart .shopcart-list .list-content[data-v-da57ef52] {\n max-height: 217px;\n overflow: hidden;\n}\n.shopCart .shopcart-list .list-content .food[data-v-da57ef52] {\n position: relative;\n display: -ms-flexbox;\n display: flex;\n height: 48px;\n margin: 0 18px;\n border-bottom: 1px solid rgba(7,17,27,0.1);\n}\n.shopCart .shopcart-list .list-content .food .name[data-v-da57ef52] {\n -ms-flex: 1;\n flex: 1;\n font-size: 14px;\n color: #07111b;\n line-height: 48px;\n font-weight: 700;\n}\n.shopCart .shopcart-list .list-content .food .price[data-v-da57ef52] {\n font-size: 14px;\n font-weight: 700;\n color: #f01414;\n padding: 0 12px 0 18px;\n line-height: 48px;\n}\n.shopCart .shopcart-list .list-content .food .cartcontrol-wrapper[data-v-da57ef52] {\n font-size: 14px;\n margin-top: 6px;\n}\n.backdrop[data-v-da57ef52] {\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n background: rgba(7,17,27,0.6);\n -webkit-backdrop-filter: blur(10px);\n backdrop-filter: blur(10px);\n z-index: 40;\n}\n.backdrop.fade-backdrop-enter-active[data-v-da57ef52],\n.backdrop.fade-backdrop-leave-active[data-v-da57ef52] {\n transition: opacity 0.5s;\n}\n.backdrop.fade-backdrop-enter[data-v-da57ef52],\n.backdrop.fade-backdrop-leave-active[data-v-da57ef52] {\n opacity: 0;\n}\n\n\n// WEBPACK FOOTER //\n// webpack:///src/components/shopCart/shopCart.vue","\n.cartcontrol .cart-decrease {\n display: inline-block;\n padding: 6px;\n transition: all 0.4s linear;\n}\n.cartcontrol .cart-decrease .inner {\n line-height: 24px;\n font-size: 24px;\n color: #00a0dc;\n transition: all 0.4s linear;\n}\n.cartcontrol .cart-decrease.fadeRotate-enter-active,\n.cartcontrol .cart-decrease.fadeRotate-leave-active {\n transform: translate3d(0, 0, 0);\n}\n.cartcontrol .cart-decrease.fadeRotate-enter-active .inner,\n.cartcontrol .cart-decrease.fadeRotate-leave-active .inner {\n display: inline-block;\n transform: rotate(0);\n}\n.cartcontrol .cart-decrease.fadeRotate-enter,\n.cartcontrol .cart-decrease.fadeRotate-leave-active {\n opacity: 0;\n transform: translate3d(24px, 0, 0);\n}\n.cartcontrol .cart-decrease.fadeRotate-enter .inner,\n.cartcontrol .cart-decrease.fadeRotate-leave-active .inner {\n transform: rotate(180deg);\n}\n.cartcontrol .cart-count {\n display: inline-block;\n vertical-align: top;\n font-size: 10px;\n color: #93999f;\n line-height: 24px;\n text-align: center;\n padding: 6px 0;\n}\n.cartcontrol .cart-add {\n display: inline-block;\n vertical-align: top;\n font-size: 24px;\n color: #00a0dc;\n line-height: 24px;\n padding: 6px;\n}\n\n\n// WEBPACK FOOTER //\n// webpack:///src/components/cartcontrol/cartcontrol.vue","\n.backdrop {\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n background: rgba(7,17,27,0.6);\n -webkit-backdrop-filter: blur(10px);\n backdrop-filter: blur(10px);\n z-index: 40;\n}\n.backdrop.fade-backdrop-enter-active,\n.backdrop.fade-backdrop-leave-active {\n transition: opacity 0.5s;\n}\n.backdrop.fade-backdrop-enter,\n.backdrop.fade-backdrop-leave-active {\n opacity: 0;\n}\n\n\n// WEBPACK FOOTER //\n// webpack:///src/components/backdrop/backdrop.vue","\n.detailWrapper[data-v-7f596712] {\n position: fixed;\n left: 0;\n top: 0;\n bottom: 48px;\n width: 100%;\n background: #fff;\n transition: all 0.4s ease;\n}\n.detailWrapper.move-enter-avtive[data-v-7f596712],\n.detailWrapper.move-leave-active[data-v-7f596712] {\n transform: translate3d(0, 0, 0);\n}\n.detailWrapper.move-enter[data-v-7f596712],\n.detailWrapper.move-leave-active[data-v-7f596712] {\n transform: translate3d(100%, 0, 0);\n}\n.foodDetail .back[data-v-7f596712] {\n position: absolute;\n color: #fff;\n top: 12px;\n left: 6px;\n font-size: 20px;\n padding: 10px;\n}\n.foodDetail .info[data-v-7f596712] {\n position: relative;\n box-sizing: border-box;\n width: 100%;\n padding: 18px;\n}\n.foodDetail .info .title[data-v-7f596712] {\n font-size: 14px;\n font-weight: 700;\n color: #07111b;\n line-height: 14px;\n}\n.foodDetail .info .desc[data-v-7f596712] {\n display: -ms-flexbox;\n display: flex;\n padding: 0;\n padding-top: 8px;\n font-size: 10px;\n color: #93999f;\n line-height: 10px;\n}\n.foodDetail .info .desc span[data-v-7f596712]:last-child {\n padding-left: 12px;\n}\n.foodDetail .info .price[data-v-7f596712] {\n display: -ms-flexbox;\n display: flex;\n padding-top: 18px;\n font-size: 14px;\n font-weight: 700;\n color: #f01414;\n line-height: 24px;\n}\n.foodDetail .info .price .unit[data-v-7f596712] {\n font-size: 10px;\n font-weight: normal;\n}\n.foodDetail .info .price .oldPrice[data-v-7f596712] {\n padding-left: 12px;\n font-size: 10px;\n font-weight: normal;\n color: #93999f;\n line-height: 24px;\n}\n.foodDetail .info .shopCart[data-v-7f596712] {\n position: absolute;\n right: 18px;\n bottom: 18px;\n height: 24px;\n text-align: center;\n z-index: 2;\n}\n.foodDetail .info .shopCart .text[data-v-7f596712] {\n box-sizing: border-box;\n height: 100%;\n line-height: 24px;\n color: #fff;\n font-size: 10px;\n padding: 0 12px;\n border-radius: 12px;\n background: #00a0dc;\n}\n.foodDetail .info .shopCart .text.fade-enter-active[data-v-7f596712],\n.foodDetail .info .shopCart .text.fade-leave-active[data-v-7f596712] {\n transition: opacity 0.5s;\n}\n.foodDetail .info .shopCart .text.fade-enter[data-v-7f596712],\n.foodDetail .info .shopCart .text.fade-leave-active[data-v-7f596712] {\n opacity: 0;\n}\n.foodDetail .info .cartcontrol[data-v-7f596712] {\n position: absolute;\n right: 12px;\n bottom: 12px;\n}\n.foodDetail .desc[data-v-7f596712] {\n padding: 18px;\n}\n.foodDetail .desc .title[data-v-7f596712] {\n font-size: 14px;\n font-weight: 500;\n color: #07111b;\n margin-bottom: 6px;\n}\n.foodDetail .desc .content[data-v-7f596712] {\n font-size: 12px;\n font-weight: 200;\n color: #4d555d;\n line-height: 24px;\n padding: 0 8px;\n}\n.foodDetail .evaluation[data-v-7f596712] {\n padding: 18px 0;\n position: relative;\n}\n.foodDetail .evaluation .title[data-v-7f596712] {\n padding-left: 18px;\n font-size: 14px;\n font-weight: 500;\n color: #07111b;\n}\n.foodDetail .evaluation .classify[data-v-7f596712] {\n padding: 18px 0;\n margin: 0 18px;\n border-bottom: 1px solid rgba(7,17,27,0.1);\n}\n.foodDetail .evaluation .classify .item[data-v-7f596712] {\n display: inline-block;\n font-size: 12px;\n padding: 8px 12px;\n line-height: 16px;\n background: rgba(0,160,220,0.2);\n color: #4d555f;\n margin-right: 8px;\n}\n.foodDetail .evaluation .classify .item .count[data-v-7f596712] {\n font-size: 8px;\n padding-left: 2px;\n}\n.foodDetail .evaluation .classify .item.active[data-v-7f596712] {\n color: #fff;\n background: #00a9dc;\n}\n.foodDetail .evaluation .classify .item.bad[data-v-7f596712] {\n background: rgba(77,85,93,0.2);\n}\n.foodDetail .evaluation .classify .item.badActive[data-v-7f596712] {\n background: #4d555d;\n}\n.foodDetail .evaluation .switch[data-v-7f596712] {\n font-size: 12px;\n width: 100%;\n padding: 12px 0 12px 18px;\n color: #93999f;\n border-bottom: 1px solid rgba(7,17,27,0.1);\n}\n.foodDetail .evaluation .switch .icon-check_circle[data-v-7f596712] {\n font-size: 24px;\n vertical-align: middle;\n}\n.foodDetail .evaluation .switch .icon-check_circle.on[data-v-7f596712] {\n color: #00c850;\n}\n.foodDetail .evaluation .evel-list[data-v-7f596712] {\n margin: 0 18px;\n}\n.foodDetail .evaluation .evel-list .evel[data-v-7f596712] {\n padding: 16px 0;\n border-bottom: 1px solid rgba(7,17,27,0.1);\n}\n.foodDetail .evaluation .evel-list .evel .userInfo[data-v-7f596712] {\n display: -ms-flexbox;\n display: flex;\n color: #93999f;\n font-size: 10px;\n line-height: 12px;\n}\n.foodDetail .evaluation .evel-list .evel .userInfo .time[data-v-7f596712] {\n -ms-flex: 1;\n flex: 1;\n}\n.foodDetail .evaluation .evel-list .evel .userInfo .user[data-v-7f596712] {\n -ms-flex: 1;\n flex: 1;\n text-align: right;\n}\n.foodDetail .evaluation .evel-list .evel .userInfo .user .avatar img[data-v-7f596712] {\n padding-left: 6px;\n border-radius: 50%;\n}\n.foodDetail .evaluation .evel-list .evel .content[data-v-7f596712] {\n padding-top: 6px;\n}\n.foodDetail .evaluation .evel-list .evel .content .icon[data-v-7f596712] {\n font-size: 12px;\n line-height: 24px;\n}\n.foodDetail .evaluation .evel-list .evel .content .icon.icon-thumb_up[data-v-7f596712] {\n color: #00a0dc;\n}\n.foodDetail .evaluation .evel-list .evel .content .icon.icon-thumb_down[data-v-7f596712] {\n color: #93999f;\n}\n.foodDetail .evaluation .evel-list .evel .content .text[data-v-7f596712] {\n font-size: 12px;\n color: #07111b;\n line-height: 16px;\n padding-left: 4px;\n}\n\n\n// WEBPACK FOOTER //\n// webpack:///src/components/foodDetail/foodDetail.vue","\n.ratingsWrapper[data-v-69c14345] {\n position: absolute;\n top: 174px;\n bottom: 0;\n left: 0;\n width: 100%;\n overflow: hidden;\n}\n.ratings-content .info[data-v-69c14345] {\n display: -ms-flexbox;\n display: flex;\n}\n.ratings-content .info .mark[data-v-69c14345] {\n -ms-flex: 0 0 138px;\n flex: 0 0 138px;\n margin: 18px 0;\n border-right: 1px solid rgba(7,17,27,0.1);\n text-align: center;\n}\n.ratings-content .info .mark .num[data-v-69c14345] {\n font-size: 24px;\n color: #f90;\n line-height: 28px;\n}\n.ratings-content .info .mark .text[data-v-69c14345] {\n padding: 6px 0 8px 0;\n font-size: 12px;\n color: #07111b;\n line-height: 12px;\n}\n.ratings-content .info .mark .contrast[data-v-69c14345] {\n font-size: 10px;\n color: #07111b;\n line-height: 10px;\n margin-bottom: 6px;\n}\n.ratings-content .info .stars[data-v-69c14345] {\n padding: 18px 24px;\n}\n.ratings-content .info .stars .serviceScore[data-v-69c14345],\n.ratings-content .info .stars .foodScore[data-v-69c14345],\n.ratings-content .info .stars .deliveryTime[data-v-69c14345] {\n display: -ms-flexbox;\n display: flex;\n margin-bottom: 8px;\n}\n.ratings-content .info .stars .serviceScore .text[data-v-69c14345],\n.ratings-content .info .stars .foodScore .text[data-v-69c14345],\n.ratings-content .info .stars .deliveryTime .text[data-v-69c14345] {\n font-size: 12px;\n color: #07111b;\n line-height: 18px;\n margin-right: 12px;\n}\n.ratings-content .info .stars .serviceScore .num[data-v-69c14345],\n.ratings-content .info .stars .foodScore .num[data-v-69c14345],\n.ratings-content .info .stars .deliveryTime .num[data-v-69c14345] {\n font-size: 12px;\n line-height: 18px;\n color: #f90;\n padding-left: 12px;\n}\n.ratings-content .info .stars .deliveryTime[data-v-69c14345] {\n margin-bottom: 0;\n}\n.ratings-content .info .stars .deliveryTime .time[data-v-69c14345] {\n font-size: 12px;\n color: #93999f;\n line-height: 18px;\n}\n.ratings-content .evaluation[data-v-69c14345] {\n padding: 18px 0;\n position: relative;\n}\n.ratings-content .evaluation .classify[data-v-69c14345] {\n padding-bottom: 18px;\n margin: 0 18px;\n border-bottom: 1px solid rgba(7,17,27,0.1);\n}\n.ratings-content .evaluation .classify .item[data-v-69c14345] {\n display: inline-block;\n font-size: 12px;\n padding: 8px 12px;\n line-height: 16px;\n background: rgba(0,160,220,0.2);\n color: #4d555f;\n margin-right: 8px;\n}\n.ratings-content .evaluation .classify .item .count[data-v-69c14345] {\n font-size: 8px;\n padding-left: 2px;\n}\n.ratings-content .evaluation .classify .item.active[data-v-69c14345] {\n color: #fff;\n background: #00a9dc;\n}\n.ratings-content .evaluation .classify .item.bad[data-v-69c14345] {\n background: rgba(77,85,93,0.2);\n}\n.ratings-content .evaluation .classify .item.badActive[data-v-69c14345] {\n background: #4d555d;\n}\n.ratings-content .evaluation .switch[data-v-69c14345] {\n font-size: 12px;\n width: 100%;\n padding: 12px 0 12px 18px;\n color: #93999f;\n border-bottom: 1px solid rgba(7,17,27,0.1);\n}\n.ratings-content .evaluation .switch .icon-check_circle[data-v-69c14345] {\n font-size: 24px;\n vertical-align: middle;\n}\n.ratings-content .evaluation .switch .icon-check_circle.on[data-v-69c14345] {\n color: #00c850;\n}\n.ratings-content .evel-list .evel[data-v-69c14345] {\n display: -ms-flexbox;\n display: flex;\n padding: 18px 0;\n margin: 0 18px;\n border-bottom: 1px solid rgba(7,17,27,0.1);\n}\n.ratings-content .evel-list .evel .avatar[data-v-69c14345] {\n -ms-flex: 0 0 28px;\n flex: 0 0 28px;\n margin-right: 12px;\n}\n.ratings-content .evel-list .evel .avatar img[data-v-69c14345] {\n border-radius: 50%;\n}\n.ratings-content .evel-list .evel .content[data-v-69c14345] {\n -ms-flex: 1;\n flex: 1;\n}\n.ratings-content .evel-list .evel .content .user[data-v-69c14345] {\n font-size: 10px;\n color: #07111b;\n line-height: 12px;\n}\n.ratings-content .evel-list .evel .content .user .rateTime[data-v-69c14345] {\n position: absolute;\n font-weight: 200;\n right: 18px;\n color: #93999f;\n}\n.ratings-content .evel-list .evel .content .star-wrapper[data-v-69c14345] {\n font-size: 0;\n padding-top: 4px;\n margin-bottom: 6px;\n}\n.ratings-content .evel-list .evel .content .star-wrapper .star[data-v-69c14345] {\n display: inline-block;\n}\n.ratings-content .evel-list .evel .content .star-wrapper .deliveryTime[data-v-69c14345] {\n font-size: 10px;\n padding-left: 6px;\n font-weight: 200;\n color: #93999f;\n}\n.ratings-content .evel-list .evel .content .text[data-v-69c14345] {\n font-size: 12px;\n color: #07111b;\n line-height: 18px;\n}\n.ratings-content .evel-list .evel .content .recommend[data-v-69c14345] {\n padding-top: 4px;\n}\n.ratings-content .evel-list .evel .content .recommend .icon[data-v-69c14345] {\n font-size: 12px;\n color: #00a0dc;\n line-height: 16px;\n}\n.ratings-content .evel-list .evel .content .recommend .dish[data-v-69c14345] {\n display: inline-block;\n font-size: 9px;\n color: #93999f;\n line-height: 16px;\n border: 1px solid rgba(7,17,27,0.1);\n padding: 2px 6px;\n margin-right: 8px;\n white-space: normal;\n margin-top: 4px;\n}\n\n\n// WEBPACK FOOTER //\n// webpack:///src/components/ratings/ratings.vue","\n.seller-wrapper[data-v-3e464677] {\n position: absolute;\n top: 174px;\n bottom: 0;\n left: 0;\n width: 100%;\n overflow: hidden;\n}\n.seller-wrapper .seller-content .info[data-v-3e464677] {\n padding: 18px 0;\n margin: 0 18px;\n}\n.seller-wrapper .seller-content .info .title[data-v-3e464677] {\n padding-bottom: 18px;\n border-bottom: 1px solid rgba(7,17,27,0.1);\n}\n.seller-wrapper .seller-content .info .title .text[data-v-3e464677] {\n font-size: 14px;\n color: #07111b;\n line-height: 14px;\n}\n.seller-wrapper .seller-content .info .title .star-wrapper[data-v-3e464677] {\n padding-top: 8px;\n font-size: 0;\n}\n.seller-wrapper .seller-content .info .title .star-wrapper .star[data-v-3e464677] {\n display: inline-block;\n vertical-align: top;\n}\n.seller-wrapper .seller-content .info .title .star-wrapper .rate-count[data-v-3e464677],\n.seller-wrapper .seller-content .info .title .star-wrapper .sell-count[data-v-3e464677] {\n display: inline-block;\n font-size: 10px;\n color: #4d555d;\n line-height: 18px;\n}\n.seller-wrapper .seller-content .info .title .star-wrapper .rate-count[data-v-3e464677] {\n padding: 0 12px 0 8px;\n}\n.seller-wrapper .seller-content .info .title .collect[data-v-3e464677] {\n position: absolute;\n top: 18px;\n right: 8px;\n width: 50px;\n text-align: center;\n}\n.seller-wrapper .seller-content .info .title .collect .icon-favorite[data-v-3e464677] {\n font-size: 24px;\n line-height: 24px;\n color: #d4d6d9;\n}\n.seller-wrapper .seller-content .info .title .collect .icon-favorite.active[data-v-3e464677] {\n color: #f01414;\n}\n.seller-wrapper .seller-content .info .title .collect .text[data-v-3e464677] {\n display: block;\n font-size: 10px;\n color: #4d555d;\n line-height: 10px;\n padding-top: 4px;\n}\n.seller-wrapper .seller-content .info .remark[data-v-3e464677] {\n display: -ms-flexbox;\n display: flex;\n}\n.seller-wrapper .seller-content .info .remark .block[data-v-3e464677] {\n -ms-flex: 1;\n flex: 1;\n margin-top: 18px;\n text-align: center;\n border-right: 1px solid rgba(7,17,27,0.1);\n}\n.seller-wrapper .seller-content .info .remark .block[data-v-3e464677]:last-child {\n border: none;\n}\n.seller-wrapper .seller-content .info .remark .block h2[data-v-3e464677] {\n font-size: 10px;\n color: #93999f;\n line-height: 10px;\n margin-bottom: 4px;\n}\n.seller-wrapper .seller-content .info .remark .block .content[data-v-3e464677] {\n font-size: 10px;\n color: #07111b;\n line-height: 24px;\n font-weight: 200;\n}\n.seller-wrapper .seller-content .info .remark .block .content .num[data-v-3e464677] {\n position: relative;\n top: 2px;\n font-size: 24px;\n}\n.seller-wrapper .seller-content .activities[data-v-3e464677] {\n padding-top: 18px;\n}\n.seller-wrapper .seller-content .activities .bulletin[data-v-3e464677] {\n margin: 0 18px;\n border-bottom: 1px solid rgba(7,17,27,0.1);\n}\n.seller-wrapper .seller-content .activities .bulletin h1[data-v-3e464677] {\n font-size: 14px;\n color: #07111b;\n line-height: 14px;\n}\n.seller-wrapper .seller-content .activities .bulletin .content[data-v-3e464677] {\n padding: 8px 12px 16px 12px;\n font-size: 12px;\n font-weight: 200;\n color: #f01414;\n line-height: 24px;\n}\n.seller-wrapper .seller-content .supports[data-v-3e464677] {\n margin: 0 18px;\n}\n.seller-wrapper .seller-content .supports .item[data-v-3e464677] {\n padding: 16px;\n border-bottom: 1px solid rgba(7,17,27,0.1);\n font-size: 0;\n}\n.seller-wrapper .seller-content .supports .item .iconMap[data-v-3e464677] {\n width: 16px;\n height: 16px;\n vertical-align: top;\n margin-right: 6px;\n}\n.seller-wrapper .seller-content .supports .item .text[data-v-3e464677] {\n font-size: 12px;\n font-weight: 200;\n color: #07111b;\n line-height: 16px;\n}\n.seller-wrapper .seller-content .seller-imgs[data-v-3e464677] {\n margin: 18px;\n white-space: nowrap;\n overflow: hidden;\n}\n.seller-wrapper .seller-content .seller-imgs h1[data-v-3e464677] {\n font-size: 14px;\n line-height: 14px;\n margin-bottom: 12px;\n}\n.seller-wrapper .seller-content .seller-imgs img[data-v-3e464677] {\n margin-right: 6px;\n}\n.seller-wrapper .seller-content .seller-info h1[data-v-3e464677] {\n margin: 0 18px;\n padding: 18px 0 12px 0;\n border-bottom: 1px solid rgba(7,17,27,0.1);\n}\n.seller-wrapper .seller-content .seller-info .info-list .info[data-v-3e464677] {\n font-size: 12px;\n font-weight: 200;\n color: #07111b;\n line-height: 16px;\n padding: 16px 12px;\n border-bottom: 1px solid rgba(7,17,27,0.1);\n}\n.seller-wrapper .seller-content .seller-info .info-list .info[data-v-3e464677]:last-child {\n border: none;\n}\n\n\n// WEBPACK FOOTER //\n// webpack:///src/components/seller/seller.vue"],"sourceRoot":""} --------------------------------------------------------------------------------