From 4483592f0f05b3dbff58baab5615065c89eb586b Mon Sep 17 00:00:00 2001 From: mason369 <1960638223@qq.com> Date: Thu, 19 Jan 2023 17:10:06 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E6=9B=B4=E6=96=B0=E9=A6=96=E9=A1=B5?= =?UTF-8?q?=E7=BB=84=E4=BB=B6=E3=80=81=E5=95=86=E5=93=81=E8=AF=A6=E6=83=85?= =?UTF-8?q?=EF=BC=8C=E4=BF=AE=E5=A4=8D=E7=99=BB=E5=BD=95=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E6=A3=80=E6=B5=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package-lock.json | 4 +- package.json | 2 +- src/App.vue | 14 +- src/assets/scss/global.scss | 2 +- src/components/Login.vue | 6 +- src/components/TopBar.vue | 62 +++-- src/components/home/JfTitle.vue | 49 ++++ src/components/home/List.vue | 125 +++++++++ src/request/api.js | 9 + src/request/request.js | 5 + src/router/routes.js | 7 + src/store/index.js | 3 +- src/store/userInfo/index.js | 45 ++++ src/views/Details.vue | 21 ++ src/views/Home.vue | 456 ++++++-------------------------- 15 files changed, 408 insertions(+), 402 deletions(-) create mode 100644 src/components/home/JfTitle.vue create mode 100644 src/components/home/List.vue create mode 100644 src/store/userInfo/index.js create mode 100644 src/views/Details.vue diff --git a/package-lock.json b/package-lock.json index 82015fb..a33489a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "knock-ding-yanxuan", - "version": "1.4.0", + "version": "1.0.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "knock-ding-yanxuan", - "version": "1.4.0", + "version": "1.0.0", "dependencies": { "axios": "^1.2.2", "core-js": "^3.8.3", diff --git a/package.json b/package.json index 64da3da..0ff5791 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "knock-ding-yanxuan", - "version": "1.4.0", + "version": "1.0.0", "private": true, "scripts": { "serve": "vue-cli-service serve", diff --git a/src/App.vue b/src/App.vue index d229489..abd5bd3 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,7 +1,7 @@ diff --git a/src/components/home/JfTitle.vue b/src/components/home/JfTitle.vue new file mode 100644 index 0000000..2a2c939 --- /dev/null +++ b/src/components/home/JfTitle.vue @@ -0,0 +1,49 @@ + + + + + diff --git a/src/components/home/List.vue b/src/components/home/List.vue new file mode 100644 index 0000000..7e49100 --- /dev/null +++ b/src/components/home/List.vue @@ -0,0 +1,125 @@ + + + + + diff --git a/src/request/api.js b/src/request/api.js index dcf9a0a..74cd3b0 100644 --- a/src/request/api.js +++ b/src/request/api.js @@ -4,6 +4,9 @@ import qs from "qs"; //精品推荐 export const reqGetRecommended = () => request.get("/products/recommend"); +//热门兑换 +export const reqGetHot = () => request.get("/products/hot"); + //短信验证码 export const reqGetSmsCode = (params) => request.post("/sendSMS", qs.stringify( params )); @@ -15,3 +18,9 @@ export const reqQrcodeLogin = (params) => request.post("/wechatUsers/PCLogin", q //绑定手机号 export const reqBindPhone = (params) => request.post("/wechatUsers/binding", qs.stringify( params )); + +//获取用户信息 +export const reqGetUserInfo = () => request.get("/shop/userProfiles"); + +//商品详情 +export const reqGetDetail = (id) => request.get(`/products/${id}`); diff --git a/src/request/request.js b/src/request/request.js index 723c11a..3f4bebd 100644 --- a/src/request/request.js +++ b/src/request/request.js @@ -15,6 +15,11 @@ instance.interceptors.request.use( (config) => { //请求拦截器中,展示进度条 NProgress.start(); + //有没有token + const token = sessionStorage.getItem("token"); + if (token) { + config.headers["x-auth-token"] = token; + } return config; }, (error) => { diff --git a/src/router/routes.js b/src/router/routes.js index 0f72d60..bdd9030 100644 --- a/src/router/routes.js +++ b/src/router/routes.js @@ -37,5 +37,12 @@ export default [ component: () => import(/* webpackChunkName: "free" */ "@/views/Free"), name: "free" + }, + //详情页 + { + path : "/detail", + component: () => + import(/* webpackChunkName: "detail" */ "@/views/Details"), + name: "detail" } ]; diff --git a/src/store/index.js b/src/store/index.js index 11434f6..453eeac 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -2,7 +2,8 @@ import Vue from "vue"; import Vuex from "vuex"; import isShowLoginModal from "@/store/isShowLoginModal"; import loginStatus from "@/store/loginStatus"; +import userInfo from "@/store/userInfo"; Vue.use(Vuex); -export default new Vuex.Store({ modules: { isShowLoginModal, loginStatus } }); +export default new Vuex.Store({modules: { isShowLoginModal, loginStatus, userInfo }}); diff --git a/src/store/userInfo/index.js b/src/store/userInfo/index.js new file mode 100644 index 0000000..039a2c0 --- /dev/null +++ b/src/store/userInfo/index.js @@ -0,0 +1,45 @@ +import { reqGetUserInfo } from "@/request/api"; + +export default { + namespaced: true, + actions : { + // 获取用户信息 + async asyncGetUserInfo({ commit }) { + let { data: res } = await reqGetUserInfo(); + commit("setUserInfo", res); + } + }, + mutations: { + // 用户信息 + setUserInfo(state, userInfo) { + state.userInfo = userInfo.userInfo; + state.cartTotal = userInfo.cartTotal; + }, + initUserInfo(state) { + (state.cartTotal = 0), + //用户信息 + (state.userInfo = { + //用户昵称 + nickName: "游客", + //鸡腿数 + coin : 0, + //头像 + headImg : require("../../assets/img/userImg.f8bbec5e.png") + }); + } + }, + //登录状态 + state: { + //购物车数量 + cartTotal: 0, + //用户信息 + userInfo : { + //用户昵称 + nickName: "游客", + //鸡腿数 + coin : 0, + //头像 + headImg : require("../../assets/img/userImg.f8bbec5e.png") + } + } +}; diff --git a/src/views/Details.vue b/src/views/Details.vue new file mode 100644 index 0000000..c0c8499 --- /dev/null +++ b/src/views/Details.vue @@ -0,0 +1,21 @@ + + + + + diff --git a/src/views/Home.vue b/src/views/Home.vue index 688240b..6af2725 100644 --- a/src/views/Home.vue +++ b/src/views/Home.vue @@ -1,402 +1,110 @@ -