From bbb7f0be062150920fb4dc35c69635e8a93bbab0 Mon Sep 17 00:00:00 2001 From: guoxing <1369478551@qq.com> Date: Wed, 20 Dec 2023 16:20:52 +0800 Subject: [PATCH] 2023-12-20 --- src/utils/request.js | 209 ++++++++++++---------- src/views/marketingCard/pickupCardSet.vue | 33 +++- 2 files changed, 149 insertions(+), 93 deletions(-) diff --git a/src/utils/request.js b/src/utils/request.js index 194f41d..85b4f87 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -1,110 +1,139 @@ import axios from 'axios' import { - MessageBox, - Message + MessageBox, + Message } from 'element-ui' import store from '@/store' import { - getToken, - getStorage + getToken, + getStorage } from '@/utils/auth' - +import router from '@/router' // create an axios instance const service = axios.create({ - baseURL: process.env.VUE_APP_BASE_API, // url = base url + request url - // withCredentials: true, // send cookies when cross-domain requests - timeout: 30000 // request timeout + baseURL: process.env.VUE_APP_BASE_API, // url = base url + request url + // withCredentials: true, // send cookies when cross-domain requests + timeout: 30000 // request timeout }) - + var isLoging = false // request interceptor service.interceptors.request.use( - config => { - // do something before request is sent + config => { + // do something before request is sent - // if (store.getters.token) { - // // let each request carry token - // // ['X-Token'] is a custom headers key - // // please modify it according to the actual situation - // config.headers['X-Token'] = getToken() - // } - if (getStorage()) { - // let each request carry token - // ['X-Token'] is a custom headers key - // please modify it according to the actual situation - config.headers['token'] = getStorage() - } - return config - }, - error => { - // do something with request error - console.log(error) // for debug - return Promise.reject(error) - } + // if (store.getters.token) { + // // let each request carry token + // // ['X-Token'] is a custom headers key + // // please modify it according to the actual situation + // config.headers['X-Token'] = getToken() + // } + if (getStorage()) { + // let each request carry token + // ['X-Token'] is a custom headers key + // please modify it according to the actual situation + config.headers['token'] = getStorage() + } + return config + }, + error => { + // do something with request error + console.log(error) // for debug + return Promise.reject(error) + } ) // response interceptor service.interceptors.response.use( - /** - * If you want to get http information such as headers or status - * Please return response => response - */ + /** + * If you want to get http information such as headers or status + * Please return response => response + */ + + /** + * Determine the request status by custom code + * Here is just an example + * You can also judge the status by HTTP Status Code + */ + response => { + const res = response.data + const statusCode = response.status + console.log('statusCode>>>' + statusCode) + // if the custom code is not 20000, it is judged as an error. + + + + if (statusCode !== 200) { + Message({ + message: res.msg || response.message || 'Error', + type: 'error', + showClose: true, + duration: 5 * 1000 + }) + + // 50008: Illegal token; 50012: Other clients logged in; 50014: Token expired; + // if (statusCode === 401 || res.code === '5000' || res.code === 5000 || res.code === 50012 || res.code === + // 50014) { + // // to re-login + // MessageBox.confirm('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', { + // confirmButtonText: '重新登录', + // cancelButtonText: '取消', + // type: 'warning' + // }).then(() => { + // store.dispatch('logout').then(() => { + // location.href = '/#/login' + // // location.reload() + // }) + // }) + // } + return Promise.reject(new Error(res.message || 'Error')) + } else { + if (!res.success && res.success !== null && res.success !== undefined) { + Message({ + message: res.msg || 'Error', + type: 'error', + showClose: true, + duration: 5 * 1000 + }) + } + + if (res.code === '5000') { + // to re-login + console.log("aaa",isLoging); + + if (!isLoging) { + console.log("aaa2",isLoging); + isLoging = true + MessageBox.confirm('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', { + confirmButtonText: '重新登录', + cancelButtonText: '取消', + type: 'warning' + }).then(() => { + isLoging = false + router.push({ + path: '/login' + }) + done() + + }).catch(() => { + isLoging = false + }) - /** - * Determine the request status by custom code - * Here is just an example - * You can also judge the status by HTTP Status Code - */ - response => { - const res = response.data - const statusCode = response.status - console.log('statusCode>>>' + statusCode) - // if the custom code is not 20000, it is judged as an error. - if (statusCode !== 200) { - Message({ - message: res.msg || response.message || 'Error', - type: 'error', - showClose: true, - duration: 5 * 1000 - }) + } + } - // 50008: Illegal token; 50012: Other clients logged in; 50014: Token expired; - if (statusCode === 401 || res.code === '5000' || res.code === 5000 || res.code === 50012 || res.code === - 50014) { - // to re-login - MessageBox.confirm('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', { - confirmButtonText: '重新登录', - cancelButtonText: '取消', - type: 'warning' - }).then(() => { - store.dispatch('logout').then(() => { - location.href = 'http://120.46.131.15/#/login' - // location.reload() - }) - }) - } - return Promise.reject(new Error(res.message || 'Error')) - } else { - if (!res.success && res.success !== null && res.success !== undefined) { - Message({ - message: res.msg || 'Error', - type: 'error', - showClose: true, - duration: 5 * 1000 - }) - } - return res - } - }, - error => { - console.log('err' + error) // for debug - Message({ - message: error.message, - type: 'error', - showClose: true, - duration: 5 * 1000 - }) - return Promise.reject(error) - } + return res + } + }, + error => { + console.log('err' + error) // for debug + Message({ + message: error.message, + type: 'error', + showClose: true, + duration: 5 * 1000 + }) + return Promise.reject(error) + } ) -export default service +export default service \ No newline at end of file diff --git a/src/views/marketingCard/pickupCardSet.vue b/src/views/marketingCard/pickupCardSet.vue index a3635a9..4216e5a 100644 --- a/src/views/marketingCard/pickupCardSet.vue +++ b/src/views/marketingCard/pickupCardSet.vue @@ -115,9 +115,9 @@ - + - + @@ -174,6 +174,15 @@
+
+
+ 下载模版 +
+ + {{result}} +
+ +
起始日期: 选取文件 上传 + @click="submitUpload">导入
@@ -331,6 +340,7 @@ }, updateAction: process.env.VUE_APP_BASE_API + '/lpkgiftcard/getExcelInfo2', uploadFileList: [], + result:"", } }, created() { @@ -582,6 +592,8 @@ handleSuccess(resp, file, fileList) { + console.log("resp",resp); + if (resp.success) { this.$message({ showClose: true, @@ -596,6 +608,8 @@ message: resp.msg }) } + + this.result = resp.msg // console.log('handleSuccess----', resp) // const _this = this @@ -649,7 +663,20 @@ flex: 0.8; font-size: 18px; text-align: right; + + .item_text2 { + margin-right: 10px; + padding: 10px 15px; + font-size: 16px; + text-align: right; + background: #018AD2; + border-radius: 5px; + color: #fff; + } } + + + .item_input { flex: 4;