From f187e9dea78eaab5b158652b010187c51be2a799 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E5=BE=81?= Date: Fri, 13 May 2022 11:03:38 +0800 Subject: [PATCH 1/2] =?UTF-8?q?fix:=E4=BF=AE=E5=A4=8D=E7=A7=92=E6=9D=80?= =?UTF-8?q?=E5=80=92=E8=AE=A1=E6=97=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/goods/detail/_id.vue | 37 ++++++++++++++++++++----------------- 1 file changed, 20 insertions(+), 17 deletions(-) diff --git a/pages/goods/detail/_id.vue b/pages/goods/detail/_id.vue index 0701396..eefa848 100644 --- a/pages/goods/detail/_id.vue +++ b/pages/goods/detail/_id.vue @@ -60,9 +60,9 @@ class="main__details-skill flex flex-right flex-middle" > 距结束仅剩 - {{ getSurplus.lefth }} - {{ getSurplus.leftm }} - {{ getSurplus.lefts }} + {{ surplus.lefth }} + {{ surplus.leftm }} + {{ surplus.lefts }}
@@ -83,9 +83,9 @@ > 即将开始秒杀
- {{ getSurplus.lefth }} - {{ getSurplus.leftm }} - {{ getSurplus.lefts }} + {{ surplus.lefth }} + {{ surplus.leftm }} + {{ surplus.lefts }}
{{ getBeginTime() }}
@@ -195,6 +195,9 @@ export default { productActivityVO: {}, }, surplus: {}, + timer: null, + startTime: "", + endTime: "", }; }, async created() { @@ -211,21 +214,21 @@ export default { !vm.detailData.productActivityVO.isStartActivity && vm.isToday() ) { - let startTime = new Date( + vm.startTime = new Date( vm.detailData.productActivityVO.currentTime ).getTime(); - let endTime = new Date( + vm.endTime = new Date( vm.detailData.productActivityVO.activityStartTime ).getTime(); - vm.setSurplus(startTime, endTime); + vm.setSurplus(); } else if (vm.detailData.productActivityVO.isStartActivity) { - let startTime = new Date( + vm.startTime = new Date( vm.detailData.productActivityVO.currentTime ).getTime(); - let endTime = new Date( + vm.endTime = new Date( vm.detailData.productActivityVO.activityEndTime ).getTime(); - vm.setSurplus(startTime, endTime); + vm.setSurplus(); } }, computed: { @@ -276,15 +279,15 @@ export default { leftObj["lefts"] = Math.floor((leftObj["lefttime"] / 1000) % 60); //计算秒数 return leftObj; }, - setSurplus(startTime, endTime) { + setSurplus() { let vm = this; - vm.surplus = getSurplus(startTime, endTime); + vm.surplus = vm.getSurplus(vm.startTime, vm.endTime); if (vm.timer) { return false; } vm.timer = setInterval(() => { vm.startTime += 1000; - vm.surplus = getSurplus(vm.startTime, vm.endTime); + vm.surplus = vm.getSurplus(vm.startTime, vm.endTime); if (vm.surplus.lefttime <= 0) { clearInterval(vm.timer); location.reload(); @@ -542,9 +545,9 @@ export default { &-msg { width: 714px; - height: 127px; + min-height: 127px; background: #f8f8f8; - padding: 30px 20px 0; + padding: 30px 20px; .msg-txt { font-size: 14px; font-family: Microsoft YaHei-Regular, Microsoft YaHei; From 9dcde1aac820806770cb4dda5d1d0033df91c2b7 Mon Sep 17 00:00:00 2001 From: xiaoguang Date: Fri, 13 May 2022 11:18:22 +0800 Subject: [PATCH 2/2] =?UTF-8?q?feat:=20=E9=80=80=E5=87=BA=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E8=B0=83=E7=94=A8=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/BsLogin.vue | 8 +++++++- layouts/module/header/HeaderInfoBar.vue | 2 +- plugins/api/account.js | 4 ++++ plugins/axiosTk.js | 6 +++--- store/index.js | 8 +++++++- 5 files changed, 22 insertions(+), 6 deletions(-) diff --git a/components/BsLogin.vue b/components/BsLogin.vue index 17e4000..df04795 100644 --- a/components/BsLogin.vue +++ b/components/BsLogin.vue @@ -147,11 +147,17 @@ export default { Message.error("请勾选同意《用户协议》和《隐私协议》"); return; } - const { result } = await ApiPostLogin({ + const { result, error } = await ApiPostLogin({ ...this.form, clientId: 1, systemId: 3, }); + if (error !== null) { + Message.error( + error.message || "登录失败,请检查手机号或验证码是否正确" + ); + return; + } if (result) { this.dialogTableVisible = false; this.$store.commit("setToken", result.token); diff --git a/layouts/module/header/HeaderInfoBar.vue b/layouts/module/header/HeaderInfoBar.vue index 0a7fc93..cd18b8d 100644 --- a/layouts/module/header/HeaderInfoBar.vue +++ b/layouts/module/header/HeaderInfoBar.vue @@ -122,7 +122,7 @@ export default { this.$router.push("/account/address"); break; case MENU_VALUE.LOGON_OUT: - this.$store.commit("setLoginOut"); + this.$store.dispatch("logout"); } }, diff --git a/plugins/api/account.js b/plugins/api/account.js index 6f78f56..835d0e7 100644 --- a/plugins/api/account.js +++ b/plugins/api/account.js @@ -31,6 +31,10 @@ export const ApiPutUser = (data) => * @param {*} data */ export const ApiPostLogin = (data) => ToAsyncAwait(axios.post(`${BASE_URL}/user/login`, data)); +/** + * 退出登录 + */ + export const ApiPostLogout = () => ToAsyncAwait(axiosTk.get(`${BASE_URL}/user/logout`)); /** * 获取手机验证码 * @param {*} params diff --git a/plugins/axiosTk.js b/plugins/axiosTk.js index bf532a4..b108c06 100644 --- a/plugins/axiosTk.js +++ b/plugins/axiosTk.js @@ -16,15 +16,15 @@ export default function ({$axios, store, route}, inject) { config.headers.Authorization = store.state.token; return config; }); - $axiosTk.onResponse(response => { + $axiosTk.onResponse(async response => { const result = response.data; if(response.status === 200){ if(result.code === 'SUCCESS'){ return result.data; } if(result.code === 'TOKEN_FAIL'){ - alert('这里要弹登录') - store.commit('setLoginOut'); + await store.dispatch('logout'); + store.commit('setLoginVisible'); return result; } return Promise.reject(result); diff --git a/store/index.js b/store/index.js index 18f385f..a1b5578 100644 --- a/store/index.js +++ b/store/index.js @@ -6,7 +6,7 @@ * @Description: file content */ import { TOKEN_KEY } from "@/constants"; -import { ApiGetCurrentUser } from "@/plugins/api/account"; +import { ApiGetCurrentUser, ApiPostLogout } from "@/plugins/api/account"; const ONE_DAY = 86400000; // 一天的毫秒数 24 * 60 * 60 * 1000; const state = () => ({ @@ -48,6 +48,12 @@ const actions = { commit("setUserInfo", result); } }, + + // 退出登录 + async logout({ commit }) { + await ApiPostLogout(); + commit("setLoginOut"); + }, }; export { state, mutations, actions };