├── README.md ├── static ├── cart.png ├── gift.png ├── home.png ├── logo.png ├── menu.png ├── mine.png ├── shop.png ├── uni.ttf ├── coffee.png ├── noData.png ├── order.png ├── start.png ├── wallet.png ├── business.png ├── cart-active.png ├── cart-nodata.png ├── home-active.png ├── menu-active.png ├── mine-active.png └── order-active.png ├── main.js ├── pages ├── mine │ ├── invoice │ │ ├── record.vue │ │ ├── explain.vue │ │ ├── index.vue │ │ ├── title.vue │ │ ├── open.vue │ │ ├── title-add.vue │ │ └── open-info.vue │ ├── wallet │ │ └── index.vue │ ├── coupon │ │ └── index.vue │ ├── feedback │ │ ├── details.vue │ │ ├── about.vue │ │ ├── list.vue │ │ └── feedback.vue │ ├── message.vue │ ├── cash │ │ └── index.vue │ ├── personal │ │ ├── change-name.vue │ │ └── list.vue │ ├── address │ │ ├── list.vue │ │ ├── add.vue │ │ └── edit.vue │ └── index.vue ├── home │ ├── presented.vue │ └── index.vue ├── login │ └── login.vue ├── order │ └── index.vue ├── cart │ └── index.vue └── menu │ ├── index-backup.vue │ ├── data.json │ └── index.vue ├── App.vue ├── components ├── uni-icon.vue ├── uni-popup.vue └── popup.vue ├── store └── index.js ├── common ├── common.css └── uni.css ├── manifest.json └── pages.json /README.md: -------------------------------------------------------------------------------- 1 | # shop 2 | 一个基于uni-app的商城app 3 | -------------------------------------------------------------------------------- /static/cart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18510247960/shop/HEAD/static/cart.png -------------------------------------------------------------------------------- /static/gift.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18510247960/shop/HEAD/static/gift.png -------------------------------------------------------------------------------- /static/home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18510247960/shop/HEAD/static/home.png -------------------------------------------------------------------------------- /static/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18510247960/shop/HEAD/static/logo.png -------------------------------------------------------------------------------- /static/menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18510247960/shop/HEAD/static/menu.png -------------------------------------------------------------------------------- /static/mine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18510247960/shop/HEAD/static/mine.png -------------------------------------------------------------------------------- /static/shop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18510247960/shop/HEAD/static/shop.png -------------------------------------------------------------------------------- /static/uni.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18510247960/shop/HEAD/static/uni.ttf -------------------------------------------------------------------------------- /static/coffee.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18510247960/shop/HEAD/static/coffee.png -------------------------------------------------------------------------------- /static/noData.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18510247960/shop/HEAD/static/noData.png -------------------------------------------------------------------------------- /static/order.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18510247960/shop/HEAD/static/order.png -------------------------------------------------------------------------------- /static/start.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18510247960/shop/HEAD/static/start.png -------------------------------------------------------------------------------- /static/wallet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18510247960/shop/HEAD/static/wallet.png -------------------------------------------------------------------------------- /static/business.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18510247960/shop/HEAD/static/business.png -------------------------------------------------------------------------------- /static/cart-active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18510247960/shop/HEAD/static/cart-active.png -------------------------------------------------------------------------------- /static/cart-nodata.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18510247960/shop/HEAD/static/cart-nodata.png -------------------------------------------------------------------------------- /static/home-active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18510247960/shop/HEAD/static/home-active.png -------------------------------------------------------------------------------- /static/menu-active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18510247960/shop/HEAD/static/menu-active.png -------------------------------------------------------------------------------- /static/mine-active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18510247960/shop/HEAD/static/mine-active.png -------------------------------------------------------------------------------- /static/order-active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18510247960/shop/HEAD/static/order-active.png -------------------------------------------------------------------------------- /main.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import App from './App' 3 | import store from './store' 4 | 5 | Vue.config.productionTip = false 6 | Vue.prototype.$store = store 7 | 8 | App.mpType = 'app' 9 | 10 | const app = new Vue({ 11 | ...App 12 | }) 13 | app.$mount() 14 | -------------------------------------------------------------------------------- /pages/mine/invoice/record.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 23 | 24 | 26 | -------------------------------------------------------------------------------- /App.vue: -------------------------------------------------------------------------------- 1 | 14 | 15 | 20 | -------------------------------------------------------------------------------- /pages/mine/wallet/index.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 23 | 24 | 27 | -------------------------------------------------------------------------------- /pages/mine/coupon/index.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 23 | 24 | 27 | -------------------------------------------------------------------------------- /pages/mine/invoice/explain.vue: -------------------------------------------------------------------------------- 1 | 11 | 12 | 21 | 22 | 26 | -------------------------------------------------------------------------------- /components/uni-icon.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 33 | 34 | -------------------------------------------------------------------------------- /pages/mine/feedback/details.vue: -------------------------------------------------------------------------------- 1 | 9 | 10 | 30 | 31 | 37 | -------------------------------------------------------------------------------- /pages/mine/message.vue: -------------------------------------------------------------------------------- 1 | 12 | 13 | 33 | 34 | 43 | -------------------------------------------------------------------------------- /pages/mine/invoice/index.vue: -------------------------------------------------------------------------------- 1 | 12 | 13 | 48 | 49 | 54 | -------------------------------------------------------------------------------- /pages/mine/feedback/about.vue: -------------------------------------------------------------------------------- 1 | 14 | 15 | 31 | 32 | 68 | -------------------------------------------------------------------------------- /pages/mine/cash/index.vue: -------------------------------------------------------------------------------- 1 | 12 | 13 | 40 | 41 | 49 | -------------------------------------------------------------------------------- /store/index.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import Vuex from 'vuex' 3 | 4 | Vue.use(Vuex) 5 | 6 | const store = new Vuex.Store({ 7 | state: { 8 | hasLogin: false, 9 | userHeadimg: "/static/logo.png", 10 | userName: "", 11 | gender: "男", 12 | addressList: [], 13 | cartList: [], 14 | total: 0 15 | }, 16 | mutations: { 17 | login(state) { 18 | state.hasLogin = true; 19 | }, 20 | logout(state) { 21 | state.hasLogin = false; 22 | }, 23 | changeHeadimg(state,newUrl){ 24 | state.userHeadimg = newUrl; 25 | }, 26 | changeUserName(state,newName){ 27 | state.userName = newName; 28 | }, 29 | changeGender(state,gender){ 30 | state.gender = gender; 31 | }, 32 | changeAddress(state,newAddress){ 33 | state.addressList.push(newAddress) 34 | }, 35 | editAddress(state,obj){ 36 | state.addressList[obj.num] = obj.d; 37 | }, 38 | removeAddress(state,i){ 39 | state.addressList.splice(i,1) 40 | }, 41 | addCart(state,newCart){ 42 | for(var i = 0; i 2 | 3 | 4 | 5 | 6 | {{item.name}} 7 | 8 | 9 | 10 | 11 | 12 | 13 | 关于我们 14 | 15 | 16 | 21 | 22 | 23 | 24 | 25 | 72 | 73 | 78 | -------------------------------------------------------------------------------- /pages/home/presented.vue: -------------------------------------------------------------------------------- 1 | 15 | 16 | 44 | 45 | 55 | -------------------------------------------------------------------------------- /pages/mine/personal/change-name.vue: -------------------------------------------------------------------------------- 1 | 13 | 14 | 61 | 62 | 71 | -------------------------------------------------------------------------------- /common/common.css: -------------------------------------------------------------------------------- 1 | body{background-color: #f4f5f6;} 2 | /*清除浮动*/ 3 | .clearfix:after,.clearfix:before{content:""; display:block; clear:both;} /*兼容ie9+*/ 4 | .clearfix:after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0;} 5 | 6 | .pr{position: relative;} 7 | .pa{position: absolute;} 8 | .bor-none{border: none;} 9 | 10 | /* 按钮 */ 11 | .button{width: 690upx;height: 80upx;line-height: 80upx;margin-top: 28upx;font-size: 28upx;background-color: #89afd6;color: #fff;} 12 | .button-hover{background-color: #5c8abf;} 13 | .button:after{border: none;} 14 | .button[disabled]:not([type]){background-color: #b8cfe6;color: #fff;} 15 | 16 | .state{color: #999;text-align: center;margin-top: 20upx;} 17 | /* 引入阿里巴巴矢量图icon */ 18 | @font-face { 19 | font-family: iconfont; 20 | font-weight: normal; 21 | font-style: normal; 22 | src: url('https://at.alicdn.com/t/font_970138_1lwoiloo2y6.ttf') format('truetype'); 23 | } 24 | 25 | .iconfont { 26 | font-family: "iconfont"; 27 | font-size: 36upx; 28 | font-style: normal; 29 | -webkit-font-smoothing: antialiased; 30 | -moz-osx-font-smoothing: grayscale; 31 | } 32 | 33 | 34 | .icon-liwu:before { content: "\e657"; } 35 | 36 | .icon-kafei:before { content: "\e6aa"; } 37 | 38 | .icon-qunfengyijianfankui:before { content: "\e7c4"; } 39 | 40 | .icon-yijianfankui:before { content: "\e637"; } 41 | 42 | .icon-qiye:before { content: "\e724"; } 43 | 44 | .icon-hongbao1:before { content: "\e610"; } 45 | 46 | .icon-liwu1:before { content: "\e65b"; } 47 | 48 | .icon-youhuiquan:before { content: "\e69b"; } 49 | 50 | .icon-yaoqing:before { content: "\e683"; } 51 | 52 | .icon-xiaoxi:before { content: "\e682"; } 53 | 54 | .icon-fapiaosel:before { content: "\e623"; } 55 | 56 | .icon-zhanghuziliao:before { content: "\e6a8"; } 57 | 58 | .icon-daohanglan-05:before { content: "\e639"; } 59 | 60 | .icon-zanwuchiyouzhongdingdan:before { content: "\e766"; } 61 | 62 | .icon-icon-test:before { content: "\e638"; } 63 | 64 | .icon-dingdan:before { content: "\e608"; } 65 | 66 | .icon-shouye:before { content: "\e6d9"; } 67 | 68 | .icon-mn_yonghuziliao_fill:before { content: "\e600"; } 69 | 70 | .icon-coffee:before { content: "\e622"; } 71 | 72 | .icon-youhuiquan1:before { content: "\e61f"; } 73 | 74 | .icon-qianbao:before { content: "\e60f"; } -------------------------------------------------------------------------------- /pages/mine/address/list.vue: -------------------------------------------------------------------------------- 1 | 19 | 20 | 46 | 47 | 60 | -------------------------------------------------------------------------------- /pages/mine/invoice/title.vue: -------------------------------------------------------------------------------- 1 | 19 | 20 | 46 | 47 | 60 | -------------------------------------------------------------------------------- /components/uni-popup.vue: -------------------------------------------------------------------------------- 1 | 10 | 11 | 48 | 99 | -------------------------------------------------------------------------------- /pages/mine/invoice/open.vue: -------------------------------------------------------------------------------- 1 | 18 | 19 | 63 | 64 | 75 | -------------------------------------------------------------------------------- /pages/login/login.vue: -------------------------------------------------------------------------------- 1 | 15 | 16 | 79 | 80 | 94 | -------------------------------------------------------------------------------- /pages/mine/invoice/title-add.vue: -------------------------------------------------------------------------------- 1 | 19 | 20 | 94 | 95 | 108 | -------------------------------------------------------------------------------- /pages/mine/invoice/open-info.vue: -------------------------------------------------------------------------------- 1 | 50 | 51 | 75 | 76 | 93 | -------------------------------------------------------------------------------- /pages/order/index.vue: -------------------------------------------------------------------------------- 1 | 29 | 30 | 89 | 90 | 108 | -------------------------------------------------------------------------------- /pages/mine/personal/list.vue: -------------------------------------------------------------------------------- 1 | 44 | 45 | 102 | 103 | 119 | -------------------------------------------------------------------------------- /pages/mine/feedback/feedback.vue: -------------------------------------------------------------------------------- 1 |