From 113aa290324bd9227a0c223576e3f36053a34988 Mon Sep 17 00:00:00 2001 From: Jiang Jiwen <125579488+JiwenJ@users.noreply.github.com> Date: Fri, 14 Jul 2023 17:43:56 +0800 Subject: [PATCH] Add files via upload --- Code/Frontend/src/App.vue | 18 + Code/Frontend/src/common/MFooter.vue | 256 +++++++++ Code/Frontend/src/common/MHeader.vue | 202 ++++++++ Code/Frontend/src/components/MyGoodsItem.vue | 105 ++++ Code/Frontend/src/components/Mypanel.vue | 56 ++ Code/Frontend/src/components/YButton.vue | 104 ++++ Code/Frontend/src/components/copy.vue | 64 +++ Code/Frontend/src/components/loading.vue | 18 + Code/Frontend/src/components/popup.vue | 114 +++++ Code/Frontend/src/components/shelf.vue | 59 +++ Code/Frontend/src/main.js | 16 + Code/Frontend/src/mock/index.js | 245 +++++++++ Code/Frontend/src/router/index.js | 58 +++ Code/Frontend/src/store/action.js | 3 + Code/Frontend/src/store/index.js | 20 + Code/Frontend/src/store/mutation-types.js | 8 + Code/Frontend/src/store/mutations.js | 54 ++ Code/Frontend/src/utils/storage.js | 26 + Code/Frontend/src/views/Category/KaoYan.vue | 123 +++++ Code/Frontend/src/views/Category/KeWai.vue | 122 +++++ Code/Frontend/src/views/Category/MianFei.vue | 130 +++++ Code/Frontend/src/views/Category/TongXiu.vue | 151 ++++++ Code/Frontend/src/views/Category/ZhuanYe.vue | 134 +++++ Code/Frontend/src/views/Drag/index.vue | 484 ++++++++++++++++++ .../Frontend/src/views/GoodsDetails/index.vue | 250 +++++++++ Code/Frontend/src/views/Home/AppNa.vue | 109 ++++ Code/Frontend/src/views/Home/HomeBanner.vue | 57 +++ Code/Frontend/src/views/Home/HomeBottom.vue | 52 ++ Code/Frontend/src/views/Home/HomeHot.vue | 78 +++ Code/Frontend/src/views/Home/HomeHot2.vue | 83 +++ Code/Frontend/src/views/Home/HomeHot3.vue | 92 ++++ Code/Frontend/src/views/Home/HomeProduct.vue | 158 ++++++ Code/Frontend/src/views/Home/PhotoWall.vue | 81 +++ Code/Frontend/src/views/Home/index.vue | 40 ++ Code/Frontend/src/views/Index.vue | 28 + Code/Frontend/src/views/Login/index.vue | 332 ++++++++++++ Code/Frontend/src/views/Register/index.vue | 292 +++++++++++ .../src/views/User/children/addressList.vue | 212 ++++++++ .../src/views/User/children/coupon.vue | 62 +++ .../src/views/User/children/exchange.vue | 289 +++++++++++ .../src/views/User/children/information.vue | 370 +++++++++++++ .../src/views/User/children/orderDetail.vue | 90 ++++ .../src/views/User/children/orderList.vue | 289 +++++++++++ .../Frontend/src/views/User/children/post.vue | 386 ++++++++++++++ .../src/views/User/children/support.vue | 104 ++++ Code/Frontend/src/views/User/user.vue | 146 ++++++ 46 files changed, 6170 insertions(+) create mode 100644 Code/Frontend/src/App.vue create mode 100644 Code/Frontend/src/common/MFooter.vue create mode 100644 Code/Frontend/src/common/MHeader.vue create mode 100644 Code/Frontend/src/components/MyGoodsItem.vue create mode 100644 Code/Frontend/src/components/Mypanel.vue create mode 100644 Code/Frontend/src/components/YButton.vue create mode 100644 Code/Frontend/src/components/copy.vue create mode 100644 Code/Frontend/src/components/loading.vue create mode 100644 Code/Frontend/src/components/popup.vue create mode 100644 Code/Frontend/src/components/shelf.vue create mode 100644 Code/Frontend/src/main.js create mode 100644 Code/Frontend/src/mock/index.js create mode 100644 Code/Frontend/src/router/index.js create mode 100644 Code/Frontend/src/store/action.js create mode 100644 Code/Frontend/src/store/index.js create mode 100644 Code/Frontend/src/store/mutation-types.js create mode 100644 Code/Frontend/src/store/mutations.js create mode 100644 Code/Frontend/src/utils/storage.js create mode 100644 Code/Frontend/src/views/Category/KaoYan.vue create mode 100644 Code/Frontend/src/views/Category/KeWai.vue create mode 100644 Code/Frontend/src/views/Category/MianFei.vue create mode 100644 Code/Frontend/src/views/Category/TongXiu.vue create mode 100644 Code/Frontend/src/views/Category/ZhuanYe.vue create mode 100644 Code/Frontend/src/views/Drag/index.vue create mode 100644 Code/Frontend/src/views/GoodsDetails/index.vue create mode 100644 Code/Frontend/src/views/Home/AppNa.vue create mode 100644 Code/Frontend/src/views/Home/HomeBanner.vue create mode 100644 Code/Frontend/src/views/Home/HomeBottom.vue create mode 100644 Code/Frontend/src/views/Home/HomeHot.vue create mode 100644 Code/Frontend/src/views/Home/HomeHot2.vue create mode 100644 Code/Frontend/src/views/Home/HomeHot3.vue create mode 100644 Code/Frontend/src/views/Home/HomeProduct.vue create mode 100644 Code/Frontend/src/views/Home/PhotoWall.vue create mode 100644 Code/Frontend/src/views/Home/index.vue create mode 100644 Code/Frontend/src/views/Index.vue create mode 100644 Code/Frontend/src/views/Login/index.vue create mode 100644 Code/Frontend/src/views/Register/index.vue create mode 100644 Code/Frontend/src/views/User/children/addressList.vue create mode 100644 Code/Frontend/src/views/User/children/coupon.vue create mode 100644 Code/Frontend/src/views/User/children/exchange.vue create mode 100644 Code/Frontend/src/views/User/children/information.vue create mode 100644 Code/Frontend/src/views/User/children/orderDetail.vue create mode 100644 Code/Frontend/src/views/User/children/orderList.vue create mode 100644 Code/Frontend/src/views/User/children/post.vue create mode 100644 Code/Frontend/src/views/User/children/support.vue create mode 100644 Code/Frontend/src/views/User/user.vue diff --git a/Code/Frontend/src/App.vue b/Code/Frontend/src/App.vue new file mode 100644 index 0000000..0e82966 --- /dev/null +++ b/Code/Frontend/src/App.vue @@ -0,0 +1,18 @@ + + + diff --git a/Code/Frontend/src/common/MFooter.vue b/Code/Frontend/src/common/MFooter.vue new file mode 100644 index 0000000..cedf48d --- /dev/null +++ b/Code/Frontend/src/common/MFooter.vue @@ -0,0 +1,256 @@ + + + + + + diff --git a/Code/Frontend/src/common/MHeader.vue b/Code/Frontend/src/common/MHeader.vue new file mode 100644 index 0000000..023e4f8 --- /dev/null +++ b/Code/Frontend/src/common/MHeader.vue @@ -0,0 +1,202 @@ + + + + + diff --git a/Code/Frontend/src/components/MyGoodsItem.vue b/Code/Frontend/src/components/MyGoodsItem.vue new file mode 100644 index 0000000..e55e219 --- /dev/null +++ b/Code/Frontend/src/components/MyGoodsItem.vue @@ -0,0 +1,105 @@ + + + + + \ No newline at end of file diff --git a/Code/Frontend/src/components/Mypanel.vue b/Code/Frontend/src/components/Mypanel.vue new file mode 100644 index 0000000..84c9983 --- /dev/null +++ b/Code/Frontend/src/components/Mypanel.vue @@ -0,0 +1,56 @@ + + + + + \ No newline at end of file diff --git a/Code/Frontend/src/components/YButton.vue b/Code/Frontend/src/components/YButton.vue new file mode 100644 index 0000000..02d0ce2 --- /dev/null +++ b/Code/Frontend/src/components/YButton.vue @@ -0,0 +1,104 @@ + + + + \ No newline at end of file diff --git a/Code/Frontend/src/components/copy.vue b/Code/Frontend/src/components/copy.vue new file mode 100644 index 0000000..af48977 --- /dev/null +++ b/Code/Frontend/src/components/copy.vue @@ -0,0 +1,64 @@ + + + + + + + diff --git a/Code/Frontend/src/components/loading.vue b/Code/Frontend/src/components/loading.vue new file mode 100644 index 0000000..ab766de --- /dev/null +++ b/Code/Frontend/src/components/loading.vue @@ -0,0 +1,18 @@ + + + diff --git a/Code/Frontend/src/components/popup.vue b/Code/Frontend/src/components/popup.vue new file mode 100644 index 0000000..5d26239 --- /dev/null +++ b/Code/Frontend/src/components/popup.vue @@ -0,0 +1,114 @@ + + + + + diff --git a/Code/Frontend/src/components/shelf.vue b/Code/Frontend/src/components/shelf.vue new file mode 100644 index 0000000..5f7e1d3 --- /dev/null +++ b/Code/Frontend/src/components/shelf.vue @@ -0,0 +1,59 @@ + + + diff --git a/Code/Frontend/src/main.js b/Code/Frontend/src/main.js new file mode 100644 index 0000000..2690608 --- /dev/null +++ b/Code/Frontend/src/main.js @@ -0,0 +1,16 @@ +import Vue from 'vue'; +import { createApp } from 'vue'; +import App from './App.vue'; +import router from './router/index.js'; +import ElementPlus from 'element-plus'; +import 'element-plus/dist/index.css'; +import store from './store/index'; +// import './mock'; +import axios from 'axios'; +import * as ElIcon from '@element-plus/icons-vue' +import { Button, Pagination, Checkbox, Icon, Autocomplete, Loading, Message, Notification, Steps, Step, Table, TableColumn, Input, Dialog, Select, Option } from 'element-plus' +const app = createApp(App); +Object.keys(ElIcon).forEach((key) => { + app.component(key, ElIcon[key])}) +app.use(router).use(ElementPlus).use(store); +app.mount('#app') \ No newline at end of file diff --git a/Code/Frontend/src/mock/index.js b/Code/Frontend/src/mock/index.js new file mode 100644 index 0000000..fc14bbd --- /dev/null +++ b/Code/Frontend/src/mock/index.js @@ -0,0 +1,245 @@ +import Mock from 'mockjs' +const Random = require('mockjs').Random; +Mock.setup({ + timeout:200 +}) +Mock.mock('/user/login',[ + { + "state": 1, + "name": "jjw", + "age":22, + "school":"NJU", + "gender":"男", + "personal":"明天会更好", + "phone":"12345678989", + "email":"1546631808@qq.com", + "id": 2 + } +]) +Mock.mock('/user/infoUpdate',[ + { + "state": 1, + "state": 1, + "name": "jjw", + "age":22, + "school":"NJU", + "gender":"男", + "personal":"明天会更好", + "phone":"12345678989", + "email":"1546631808@qq.com", + "id": 2 + } +]) + + +Mock.mock('/GoodsItem',[ + {"images":Random.image('200x200'),"name":"NJU","price":100}, + {"images":Random.image('200x200'),"name":"NJU","price":100}, + {"images":Random.image('200x200'),"name":"NJU","price":100}, + {"images":Random.image('200x200'),"name":"NJU","price":100}, + {"images":Random.image('200x200'),"name":"NJU","price":100}, + {"images":Random.image('200x200'),"name":"NJU","price":100}, + {"images":Random.image('200x200'),"name":"NJU","price":100}, + {"images":Random.image('200x200'),"name":"NJU","price":100} +]) +Mock.mock('/TongXiuList_shuxue',[ + {"picUrl":Random.image('200x200'),"name":"微积分一","goodsUrl":100}, + {"picUrl":Random.image('200x200'),"name":"微积分二","goodsUrl":100}, + {"picUrl":Random.image('200x200'),"name":"离散数学","goodsUrl":100}, + {"picUrl":Random.image('200x200'),"name":"大学数学","goodsUrl":100}, + // {"picUrl":Random.image('200x200'),"name":"线性代数","goodsUrl":100}, + // {"picUrl":Random.image('200x200'),"name":"解析几何","goodsUrl":100}, + // {"picUrl":Random.image('200x200'),"name":"高等代数","goodsUrl":100}, + // {"picUrl":Random.image('200x200'),"name":"概率论","goodsUrl":100}, +]) +Mock.mock('/TongXiuList_yingyu',[ + {"picUrl":Random.image('200x200'),"name":"微积分一","goodsUrl":100}, + {"picUrl":Random.image('200x200'),"name":"微积分二","goodsUrl":100}, + {"picUrl":Random.image('200x200'),"name":"离散数学","goodsUrl":100}, + {"picUrl":Random.image('200x200'),"name":"大学数学","goodsUrl":100}, +]) +Mock.mock('/TongXiuList_zhengzhi',[ + {"picUrl":Random.image('200x200'),"name":"微积分一","goodsUrl":100}, + {"picUrl":Random.image('200x200'),"name":"微积分二","goodsUrl":100}, + {"picUrl":Random.image('200x200'),"name":"离散数学","goodsUrl":100}, + {"picUrl":Random.image('200x200'),"name":"大学数学","goodsUrl":100}, +]) +// 专业课二手书板块数据申请 +Mock.mock('/ZhuanYeList_dike',[ + {"picUrl":Random.image('200x200'),"name":"微积分一","goodsUrl":100}, + {"picUrl":Random.image('200x200'),"name":"微积分二","goodsUrl":100}, + {"picUrl":Random.image('200x200'),"name":"离散数学","goodsUrl":100}, + {"picUrl":Random.image('200x200'),"name":"大学数学","goodsUrl":100}, +]) +Mock.mock('/ZhuanYeList_jike',[ + {"picUrl":Random.image('200x200'),"name":"微积分一","goodsUrl":100}, + {"picUrl":Random.image('200x200'),"name":"微积分二","goodsUrl":100}, + {"picUrl":Random.image('200x200'),"name":"离散数学","goodsUrl":100}, + {"picUrl":Random.image('200x200'),"name":"大学数学","goodsUrl":100}, +]) +// 课外二手书板块数据申请 +Mock.mock('/KeWaiList_xiaoshuo',[ + {"picUrl":Random.image('200x200'),"name":"微积分一","goodsUrl":100}, + {"picUrl":Random.image('200x200'),"name":"微积分二","goodsUrl":100}, + {"picUrl":Random.image('200x200'),"name":"离散数学","goodsUrl":100}, + {"picUrl":Random.image('200x200'),"name":"大学数学","goodsUrl":100}, +]) +Mock.mock('/KeWaiList_manhua',[ + {"picUrl":Random.image('200x200'),"name":"微积分一","goodsUrl":100}, + {"picUrl":Random.image('200x200'),"name":"微积分二","goodsUrl":100}, + {"picUrl":Random.image('200x200'),"name":"离散数学","goodsUrl":100}, + {"picUrl":Random.image('200x200'),"name":"大学数学","goodsUrl":100}, +]) +// 考研资料二手板块数据申请 +Mock.mock('/KaoYanList_shuxue',[ + {"picUrl":Random.image('200x200'),"name":"微积分一","goodsUrl":100}, + {"picUrl":Random.image('200x200'),"name":"微积分二","goodsUrl":100}, + {"picUrl":Random.image('200x200'),"name":"离散数学","goodsUrl":100}, + {"picUrl":Random.image('200x200'),"name":"大学数学","goodsUrl":100}, +]) +Mock.mock('/KaoYanList_zhengzhi',[ + {"picUrl":Random.image('200x200'),"name":"微积分一","goodsUrl":100}, + {"picUrl":Random.image('200x200'),"name":"微积分二","goodsUrl":100}, + {"picUrl":Random.image('200x200'),"name":"离散数学","goodsUrl":100}, + {"picUrl":Random.image('200x200'),"name":"大学数学","goodsUrl":100}, +]) +// 免费二手板块数据申请 +Mock.mock('/MianFeiList_jiaoke',[ + {"picUrl":Random.image('200x200'),"name":"微积分一","goodsUrl":100}, + {"picUrl":Random.image('200x200'),"name":"微积分二","goodsUrl":100}, + {"picUrl":Random.image('200x200'),"name":"离散数学","goodsUrl":100}, + {"picUrl":Random.image('200x200'),"name":"大学数学","goodsUrl":100}, +]) +Mock.mock('/MianFeiList_kewai',[ + {"picUrl":Random.image('200x200'),"name":"微积分一","goodsUrl":100}, + {"picUrl":Random.image('200x200'),"name":"微积分二","goodsUrl":100}, + {"picUrl":Random.image('200x200'),"name":"离散数学","goodsUrl":100}, + {"picUrl":Random.image('200x200'),"name":"大学数学","goodsUrl":100}, +]) +Mock.mock('/GoodsItemLeft',[ + {"images":Random.image('200x500')} +]) +// 详情页物品请求 +Mock.mock('/detailslist',[ + { + "price":"20", + "email": "1546631808@qq.com", + "phone":"152xxxxxxxx", + "time":"", + "statement":"去年在淘宝购入,使用一年,使用期间保护良好,书内记了很多笔记,可以在学习的时候参考", + "list":[ + {"img":Random.image('200x200')}, + {"img":Random.image('200x200')}, + {"img":Random.image('200x200')} + ] + }, + { + "price":"10", + "phone":"152xxxxxxxx", + "email": "1546631808@qq.com", + "time":"", + "statement":"前年上学的时候在学友书店买的,现在相对破旧,便宜出", + "list":[ + {"img":Random.image('200x200')}, + {"img":Random.image('200x200')}, + {"img":Random.image('200x200')} + ] + }, +]) + +Mock.mock('/usersinfo',[ + { + "name": "jjw" + } +]) +Mock.mock('/Mail/Send',[ + { + "state": 1 + } +]) + +Mock.mock('/Banner',[{"img":Random.image('1100x400')},{"img":Random.image('1100x400')}]) +Mock.mock('/hotlist1',[ + {"id":1,"listPicUrl":Random.image('265x265'),"name":"普通地质学","retailPrice":20,"conterPrice":50,"goodsUrl":100}, + {"id":2,"listPicUrl":Random.image('265x265'),"name":"普通地质学","retailPrice":20,"conterPrice":50,"goodsUrl":100}, + {"id":3,"listPicUrl":Random.image('265x265'),"name":"普通地质学","retailPrice":20,"conterPrice":50,"goodsUrl":100}, + {"id":4,"listPicUrl":Random.image('265x265'),"name":"普通地质学","retailPrice":20,"conterPrice":50,"goodsUrl":100} +]) +Mock.mock('/hotlist2',[ + {"id":1,"listPicUrl":Random.image('265x265'),"name":"普通地质学","retailPrice":20,"conterPrice":50,"goodsUrl":100}, + {"id":2,"listPicUrl":Random.image('265x265'),"name":"普通地质学","retailPrice":20,"conterPrice":50,"goodsUrl":100}, + {"id":3,"listPicUrl":Random.image('265x265'),"name":"普通地质学","retailPrice":20,"conterPrice":50,"goodsUrl":100}, + {"id":4,"listPicUrl":Random.image('265x265'),"name":"普通地质学","retailPrice":20,"conterPrice":50,"goodsUrl":100} +]) +Mock.mock('/hotlist3',[ + {"id":1,"listPicUrl":Random.image('265x265'),"name":"普通地质学","retailPrice":20,"conterPrice":50,"goodsUrl":100}, + {"id":2,"listPicUrl":Random.image('265x265'),"name":"普通地质学","retailPrice":20,"conterPrice":50,"goodsUrl":100}, + {"id":3,"listPicUrl":Random.image('265x265'),"name":"普通地质学","retailPrice":20,"conterPrice":50,"goodsUrl":100}, + {"id":4,"listPicUrl":Random.image('265x265'),"name":"普通地质学","retailPrice":20,"conterPrice":50,"goodsUrl":100} +]) +Mock.mock('/member/info', +[ + { + "ret":100, + "data": + { + "time":"@datetime", + "star1-5":1, + "name":"@cname", + "img":Random.image('100x100'), + "age":15, + "email":"1546631808@qq.com", + "address":"NJU" + }, + "goodList":[ + { + "time":"@datetime", + "productId": 11111, + "salePrice": 1000, + "productNum": 1, + "productImg":Random.image('100x100') + + }] +}, + { + "ret":100, + "data": + { + "time":"@datetime", + "star1-5":1, + "name":"@cname", + "img":Random.image('100x100'), + "age":15, + "email":"1546631808@qq.com", + "address":"NJU" + }, + "goodList":[ + { + "tieme":"@datetime", + "productId":"11111", + "salePrice": 1000, + "productNum": 1, + "productImg":Random.image('200x100') + + }] +} +] +); +Mock.mock('/user/getOrderList',[ + { + "img":"https://ooo.0o0.ooo/2018/07/13/5b48ac7766d98.png", + "time":"2023-01-02", + "name":"微积分", + "descr":"微积分是数学的一个分支,它涉及到变化率和物体随时间的变化", + "price":"100", + "number":1 + }, + { + "img":"https://ooo.0o0.ooo/2018/07/13/5b48ac7766d98.png", + "time":"2023-01-02", + "name":"微积分", + "descr":"微积分是数学的一个分支,它涉及到变化率和物体随时间的变化", + "price":"100", + "number":1 + }, +]) diff --git a/Code/Frontend/src/router/index.js b/Code/Frontend/src/router/index.js new file mode 100644 index 0000000..a335d44 --- /dev/null +++ b/Code/Frontend/src/router/index.js @@ -0,0 +1,58 @@ +import { createRouter,createWebHistory} from "vue-router"; +import Index from '@/views/Index' +import Login from '@/views/Login' +import Home from '@/views/Home' +import Register from '@/views/Register' +import GoodsDetails from '@/views/GoodsDetails' +import User from '@/views/User/user.vue' + +const information = () => import('../views/User/children/information.vue') +const orderList = () => import('../views/User/children/orderList.vue') +const addressList = () => import('../views/User/children/addressList.vue') +const coupon = () => import('../views/User/children/coupon.vue') +const support = () => import('../views/User/children/support.vue') +const post = () => import('../views/User/children/post.vue') +const KaoYan = () => import('../views/Category/KaoYan.vue') +const KeWai = () => import('../views/Category/KeWai.vue') +const MianFei = () => import('../views/Category/MianFei.vue') +const TongXiu = () => import('../views/Category/TongXiu.vue') +const ZhuanYe = () => import('../views/Category/ZhuanYe.vue') +const routes = [ + + { + path: '/', + redirect: '/home', + component:Index, + children:[ + {path:"/home",component:Home}, + {path:"/KeWai",component:KeWai}, + {path:"/KaoYan",component:KaoYan}, + {path:"/MianFei",component:MianFei}, + {path:"/TongXiu",component:TongXiu}, + {path:"/ZhuanYe",component:ZhuanYe}, + {path:"/goodsdetails",component:GoodsDetails} + ] + }, + {path: '/login', name: 'login', component: Login}, + {path: '/register', name: 'register', component: Register}, + { + path: '/user', + name: 'user', + component: User, + redirect: '/user/information', + children: [ + {path: 'information', name: '账户资料', component: information}, + {path: 'orderList', name: '我的订单', component: orderList}, + {path: 'coupon', name: '我的优惠', component: coupon}, + {path: 'support', name: '售后服务', component: support}, + {path: 'post', name: '我的上传', component: post} + ] + } +] +const router = createRouter({ + history:createWebHistory(), + routes +}); + +export default router; + diff --git a/Code/Frontend/src/store/action.js b/Code/Frontend/src/store/action.js new file mode 100644 index 0000000..fe99a97 --- /dev/null +++ b/Code/Frontend/src/store/action.js @@ -0,0 +1,3 @@ +export default { + +} diff --git a/Code/Frontend/src/store/index.js b/Code/Frontend/src/store/index.js new file mode 100644 index 0000000..73c25ee --- /dev/null +++ b/Code/Frontend/src/store/index.js @@ -0,0 +1,20 @@ +import Vuex from 'vuex' +import mutations from './mutations' +import action from './action' + + +const state = { + login: false, // 是否登录 + userInfo: null, // 用户名 + cartList: [], // 加入购物车列表 + userAllInfo: null, //数据库某个用户的全部信息,字典 + userId:-1, + + +} + +export default new Vuex.Store({ + state, + action, + mutations +}) diff --git a/Code/Frontend/src/store/mutation-types.js b/Code/Frontend/src/store/mutation-types.js new file mode 100644 index 0000000..1c4992b --- /dev/null +++ b/Code/Frontend/src/store/mutation-types.js @@ -0,0 +1,8 @@ +export const INIT_BUYCART = 'INIT_BUYCART' +export const ADD_CART = 'ADD_CART' +export const GET_USERINFO = 'GET_USERINFO' +export const RECORD_USERINFO = 'RECORD_USERINFO' +export const ADD_ANIMATION = 'ADD_ANIMATION' +export const SHOW_CART = 'SHOW_CART' +export const REDUCE_CART = 'REDUCE_CART' +export const EDIT_CART = 'EDIT_CART' diff --git a/Code/Frontend/src/store/mutations.js b/Code/Frontend/src/store/mutations.js new file mode 100644 index 0000000..869974f --- /dev/null +++ b/Code/Frontend/src/store/mutations.js @@ -0,0 +1,54 @@ +import { + INIT_BUYCART, + GET_USERINFO, + RECORD_USERINFO, + REDUCE_CART, +} from './mutation-types' +import { setStore, getStore } from '../utils/storage' +export default { + // 网页初始化时从本地缓存获取购物车数据 + [INIT_BUYCART] (state) { + let initCart = getStore('buyCart') + if (initCart) { + state.cartList = JSON.parse(initCart) + } + }, + + // 移除商品 + [REDUCE_CART] (state, {productId}) { + let cart = state.cartList + cart.forEach((item, i) => { + if (item.productId === productId) { + if (item.productNum > 1) { + item.productNum-- + } else { + cart.splice(i, 1) + } + } + }) + state.cartList = cart + // 存入localStorage + setStore('buyCart', state.cartList) + }, + // 修改购物车 + // 记录用户信息 + [RECORD_USERINFO] (state, info) { + state.userInfo = info + state.login = true + setStore('userInfo', info) + }, + // 获取用户信息 + [GET_USERINFO] (state, info) { + if (state.userInfo && (state.userInfo.username !== info.username)) { + return + } + if (!state.login) { + return + } + if (!info.message) { + state.userInfo = {...info} + } else { + state.userInfo = null + } + } +} diff --git a/Code/Frontend/src/utils/storage.js b/Code/Frontend/src/utils/storage.js new file mode 100644 index 0000000..59d1464 --- /dev/null +++ b/Code/Frontend/src/utils/storage.js @@ -0,0 +1,26 @@ +/** + * 存储localStorage + */ +export const setStore = (name, content) => { + if (!name) return + if (typeof content !== 'string') { + content = JSON.stringify(content) + } + window.localStorage.setItem(name, content) +} + +/** + * 获取localStorage + */ +export const getStore = name => { + if (!name) return + return window.localStorage.getItem(name) +} + +/** + * 删除localStorage + */ +export const removeStore = name => { + if (!name) return + window.localStorage.removeItem(name) +} diff --git a/Code/Frontend/src/views/Category/KaoYan.vue b/Code/Frontend/src/views/Category/KaoYan.vue new file mode 100644 index 0000000..79d1e8a --- /dev/null +++ b/Code/Frontend/src/views/Category/KaoYan.vue @@ -0,0 +1,123 @@ + + + + + \ No newline at end of file diff --git a/Code/Frontend/src/views/Category/KeWai.vue b/Code/Frontend/src/views/Category/KeWai.vue new file mode 100644 index 0000000..067ffee --- /dev/null +++ b/Code/Frontend/src/views/Category/KeWai.vue @@ -0,0 +1,122 @@ + + + + + diff --git a/Code/Frontend/src/views/Category/MianFei.vue b/Code/Frontend/src/views/Category/MianFei.vue new file mode 100644 index 0000000..0c5bf71 --- /dev/null +++ b/Code/Frontend/src/views/Category/MianFei.vue @@ -0,0 +1,130 @@ + + + + + diff --git a/Code/Frontend/src/views/Category/TongXiu.vue b/Code/Frontend/src/views/Category/TongXiu.vue new file mode 100644 index 0000000..8a22844 --- /dev/null +++ b/Code/Frontend/src/views/Category/TongXiu.vue @@ -0,0 +1,151 @@ + + + + + diff --git a/Code/Frontend/src/views/Category/ZhuanYe.vue b/Code/Frontend/src/views/Category/ZhuanYe.vue new file mode 100644 index 0000000..62bacf4 --- /dev/null +++ b/Code/Frontend/src/views/Category/ZhuanYe.vue @@ -0,0 +1,134 @@ + + + + + diff --git a/Code/Frontend/src/views/Drag/index.vue b/Code/Frontend/src/views/Drag/index.vue new file mode 100644 index 0000000..b79f4f0 --- /dev/null +++ b/Code/Frontend/src/views/Drag/index.vue @@ -0,0 +1,484 @@ + + + + + \ No newline at end of file diff --git a/Code/Frontend/src/views/GoodsDetails/index.vue b/Code/Frontend/src/views/GoodsDetails/index.vue new file mode 100644 index 0000000..ce97b63 --- /dev/null +++ b/Code/Frontend/src/views/GoodsDetails/index.vue @@ -0,0 +1,250 @@ + + + + + diff --git a/Code/Frontend/src/views/Home/AppNa.vue b/Code/Frontend/src/views/Home/AppNa.vue new file mode 100644 index 0000000..eb3c3df --- /dev/null +++ b/Code/Frontend/src/views/Home/AppNa.vue @@ -0,0 +1,109 @@ + + + + + \ No newline at end of file diff --git a/Code/Frontend/src/views/Home/HomeBanner.vue b/Code/Frontend/src/views/Home/HomeBanner.vue new file mode 100644 index 0000000..5c44a4c --- /dev/null +++ b/Code/Frontend/src/views/Home/HomeBanner.vue @@ -0,0 +1,57 @@ + +   + +  + \ No newline at end of file diff --git a/Code/Frontend/src/views/Home/HomeBottom.vue b/Code/Frontend/src/views/Home/HomeBottom.vue new file mode 100644 index 0000000..d4d603c --- /dev/null +++ b/Code/Frontend/src/views/Home/HomeBottom.vue @@ -0,0 +1,52 @@ + + + + \ No newline at end of file diff --git a/Code/Frontend/src/views/Home/HomeHot.vue b/Code/Frontend/src/views/Home/HomeHot.vue new file mode 100644 index 0000000..f911b22 --- /dev/null +++ b/Code/Frontend/src/views/Home/HomeHot.vue @@ -0,0 +1,78 @@ + + + + \ No newline at end of file diff --git a/Code/Frontend/src/views/Home/HomeHot2.vue b/Code/Frontend/src/views/Home/HomeHot2.vue new file mode 100644 index 0000000..1ad7668 --- /dev/null +++ b/Code/Frontend/src/views/Home/HomeHot2.vue @@ -0,0 +1,83 @@ + + + + + \ No newline at end of file diff --git a/Code/Frontend/src/views/Home/HomeHot3.vue b/Code/Frontend/src/views/Home/HomeHot3.vue new file mode 100644 index 0000000..5d5b113 --- /dev/null +++ b/Code/Frontend/src/views/Home/HomeHot3.vue @@ -0,0 +1,92 @@ + + + + + \ No newline at end of file diff --git a/Code/Frontend/src/views/Home/HomeProduct.vue b/Code/Frontend/src/views/Home/HomeProduct.vue new file mode 100644 index 0000000..f07788e --- /dev/null +++ b/Code/Frontend/src/views/Home/HomeProduct.vue @@ -0,0 +1,158 @@ + + + + + \ No newline at end of file diff --git a/Code/Frontend/src/views/Home/PhotoWall.vue b/Code/Frontend/src/views/Home/PhotoWall.vue new file mode 100644 index 0000000..b8d0031 --- /dev/null +++ b/Code/Frontend/src/views/Home/PhotoWall.vue @@ -0,0 +1,81 @@ + + + + + diff --git a/Code/Frontend/src/views/Home/index.vue b/Code/Frontend/src/views/Home/index.vue new file mode 100644 index 0000000..a695093 --- /dev/null +++ b/Code/Frontend/src/views/Home/index.vue @@ -0,0 +1,40 @@ + + + + \ No newline at end of file diff --git a/Code/Frontend/src/views/Index.vue b/Code/Frontend/src/views/Index.vue new file mode 100644 index 0000000..cad550a --- /dev/null +++ b/Code/Frontend/src/views/Index.vue @@ -0,0 +1,28 @@ + + + + + \ No newline at end of file diff --git a/Code/Frontend/src/views/Login/index.vue b/Code/Frontend/src/views/Login/index.vue new file mode 100644 index 0000000..f829d40 --- /dev/null +++ b/Code/Frontend/src/views/Login/index.vue @@ -0,0 +1,332 @@ + + + + + \ No newline at end of file diff --git a/Code/Frontend/src/views/Register/index.vue b/Code/Frontend/src/views/Register/index.vue new file mode 100644 index 0000000..a5b48d9 --- /dev/null +++ b/Code/Frontend/src/views/Register/index.vue @@ -0,0 +1,292 @@ + + + + + \ No newline at end of file diff --git a/Code/Frontend/src/views/User/children/addressList.vue b/Code/Frontend/src/views/User/children/addressList.vue new file mode 100644 index 0000000..16ca72f --- /dev/null +++ b/Code/Frontend/src/views/User/children/addressList.vue @@ -0,0 +1,212 @@ + + + + + \ No newline at end of file diff --git a/Code/Frontend/src/views/User/children/coupon.vue b/Code/Frontend/src/views/User/children/coupon.vue new file mode 100644 index 0000000..53278f3 --- /dev/null +++ b/Code/Frontend/src/views/User/children/coupon.vue @@ -0,0 +1,62 @@ + + + + + \ No newline at end of file diff --git a/Code/Frontend/src/views/User/children/exchange.vue b/Code/Frontend/src/views/User/children/exchange.vue new file mode 100644 index 0000000..055384d --- /dev/null +++ b/Code/Frontend/src/views/User/children/exchange.vue @@ -0,0 +1,289 @@ + + + + + \ No newline at end of file diff --git a/Code/Frontend/src/views/User/children/information.vue b/Code/Frontend/src/views/User/children/information.vue new file mode 100644 index 0000000..4683a6a --- /dev/null +++ b/Code/Frontend/src/views/User/children/information.vue @@ -0,0 +1,370 @@ + + + + + \ No newline at end of file diff --git a/Code/Frontend/src/views/User/children/orderDetail.vue b/Code/Frontend/src/views/User/children/orderDetail.vue new file mode 100644 index 0000000..31b3501 --- /dev/null +++ b/Code/Frontend/src/views/User/children/orderDetail.vue @@ -0,0 +1,90 @@ + + + + + \ No newline at end of file diff --git a/Code/Frontend/src/views/User/children/orderList.vue b/Code/Frontend/src/views/User/children/orderList.vue new file mode 100644 index 0000000..d6e1a12 --- /dev/null +++ b/Code/Frontend/src/views/User/children/orderList.vue @@ -0,0 +1,289 @@ + + + + + \ No newline at end of file diff --git a/Code/Frontend/src/views/User/children/post.vue b/Code/Frontend/src/views/User/children/post.vue new file mode 100644 index 0000000..eca43fc --- /dev/null +++ b/Code/Frontend/src/views/User/children/post.vue @@ -0,0 +1,386 @@ + + + + + \ No newline at end of file diff --git a/Code/Frontend/src/views/User/children/support.vue b/Code/Frontend/src/views/User/children/support.vue new file mode 100644 index 0000000..704a04c --- /dev/null +++ b/Code/Frontend/src/views/User/children/support.vue @@ -0,0 +1,104 @@ + + + + + \ No newline at end of file diff --git a/Code/Frontend/src/views/User/user.vue b/Code/Frontend/src/views/User/user.vue new file mode 100644 index 0000000..4864a42 --- /dev/null +++ b/Code/Frontend/src/views/User/user.vue @@ -0,0 +1,146 @@ + + + + + \ No newline at end of file