From 40014df75122c4a6f7e34db0bbac27e90052e921 Mon Sep 17 00:00:00 2001 From: mk <2403457699@qq.com> Date: Thu, 10 Aug 2023 16:57:37 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E4=BA=8C=E6=AC=A1=E5=B0=81=E8=A3=85message?= =?UTF-8?q?=E7=BB=84=E4=BB=B6=EF=BC=8C=E5=A6=82=E6=9E=9C=E8=B4=A6=E5=8F=B7?= =?UTF-8?q?=E5=86=8D=E5=88=AB=E5=A4=84=E7=99=BB=E5=BD=95=E6=88=96=E8=80=85?= =?UTF-8?q?=E7=99=BB=E5=BD=95=E8=B6=85=E6=97=B6=E6=8F=90=E7=A4=BA=E5=B9=B6?= =?UTF-8?q?=E9=80=80=E5=9B=9E=E7=99=BB=E5=BD=95=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/js/ajax.js | 8 ++++++- src/js/dai/request-bipass.js | 2 +- src/js/dai/request.js | 16 ++++++++------ src/js/dai/request2.js | 16 ++++++++++---- src/main.js | 12 ++++++++++ src/router/index.js | 26 ++++++++++++++++------ src/utils/message.js | 33 ++++++++++++++++++++++++++++ src/utils/request.js | 16 ++++++++++++++ src/views/main-shuju/main-navbar.vue | 1 - src/views/main.vue | 1 + 10 files changed, 110 insertions(+), 21 deletions(-) create mode 100644 src/utils/message.js diff --git a/src/js/ajax.js b/src/js/ajax.js index d4b4a7cc4..2d1b63c03 100644 --- a/src/js/ajax.js +++ b/src/js/ajax.js @@ -5,6 +5,7 @@ import router from "@/router"; import qs from "qs"; import { clearLoginInfo } from "@/utils"; import isPlainObject from "lodash/isPlainObject"; +import {message} from "@/utils/message.js"; import Vue from "vue"; @@ -89,7 +90,12 @@ axios.interceptors.response.use( (response) => { const code = [10007, 401, 10001, 10005]; if (code.includes(response.data.code)) { - // debugger; + // console.log('登录失效'); + message({ + message: response.data.msg || "未知错误", + type: 'error', + duration: 2 * 1000 + }) clearLoginInfo(); router.replace({ name: "login" }); diff --git a/src/js/dai/request-bipass.js b/src/js/dai/request-bipass.js index 260796b87..2587d5c07 100644 --- a/src/js/dai/request-bipass.js +++ b/src/js/dai/request-bipass.js @@ -3,7 +3,7 @@ ---------------------------------------------------------------*/ import axios from "axios"; import curry from "dai-js/tools/curry"; -import { Message } from "element-ui"; +import {message} from "@/utils/message.js"; import { clearLoginInfo } from "@/utils"; axios.defaults.withCredentials = true; diff --git a/src/js/dai/request.js b/src/js/dai/request.js index 83809fa38..c1ed79ac2 100644 --- a/src/js/dai/request.js +++ b/src/js/dai/request.js @@ -3,7 +3,7 @@ ---------------------------------------------------------------*/ import axios from "axios"; import curry from "dai-js/tools/curry"; -import { Message } from "element-ui"; +import {message} from "@/utils/message.js"; import { clearLoginInfo } from "@/utils"; axios.defaults.withCredentials=true @@ -28,7 +28,6 @@ const request = curry( } url = processUrl(url); - const succFn = (res) => { // log(`[request成功] ${url}`, data, res); let retData = { @@ -42,12 +41,16 @@ const request = curry( console.log(res,'request1'); if (res.data.code > 8000 && res.data.code < 10000) { - Message.error(res.data.msg); + message({ + message: res.data.msg || "未知错误", + type: 'error', + duration: 2 * 1000 + }) } if (res.data.code == 10005 || res.data.code == 10006 || res.data.code == 10007) { // 10005 token为空 10006登陆超时 10007别处登录 console.log("登录失效"); - Message.error(res.data.msg); + // Message.error(res.data.msg); clearLoginInfo(); return next({ name: "login", @@ -58,12 +61,11 @@ const request = curry( }; const failFn = (err) => { - // log(`[request失败] ${url}`, data, err); - + // console.log(`[request失败] ${url}`, data, err) reslove( Object.assign({}, returnIniData, { httpCode: "9999", //访问出现意外 - msg: "网络错误", + msg: err.data.msg, }) ); }; diff --git a/src/js/dai/request2.js b/src/js/dai/request2.js index 5f1eff388..75fba7d70 100644 --- a/src/js/dai/request2.js +++ b/src/js/dai/request2.js @@ -3,7 +3,7 @@ ---------------------------------------------------------------*/ import axios from "axios"; import curry from "dai-js/tools/curry"; -import { Message } from "element-ui"; +import {message} from "@/utils/message.js"; import { clearLoginInfo } from "@/utils"; axios.defaults.withCredentials=true @@ -42,12 +42,20 @@ const request = curry( console.log(res,'request2'); if (res.data.code > 8000 && res.data.code < 10000) { - Message.error(res.data.msg); + message({ + message: res.data.msg || "未知错误", + type: 'error', + duration: 2 * 1000 + }) } if (res.code == 10005 || res.code == 10006 || res.code == 10007) { // 10005 token为空 10006登陆超时 10007别处登录 console.log("登录失效"); - Message.error(res.data.msg); + message({ + message: res.data.msg || "未知错误", + type: 'error', + duration: 2 * 1000 + }) clearLoginInfo(); return next({ name: "login", @@ -63,7 +71,7 @@ const request = curry( reslove( Object.assign({}, returnIniData, { httpCode: "9999", //访问出现意外 - msg: "网络错误", + msg: err.data.msg, }) ); }; diff --git a/src/main.js b/src/main.js index 6d87163b5..b8b3a8e84 100644 --- a/src/main.js +++ b/src/main.js @@ -1,3 +1,12 @@ +/* + * @Author: mk 2403457699@qq.com + * @Date: 2022-12-16 09:05:10 + * @LastEditors: mk 2403457699@qq.com + * @LastEditTime: 2023-08-10 16:49:19 + * @Description: 全局挂载提示信息,避免同时出现多条信息 + * + * + */ import Vue from "vue"; import Element from "element-ui"; @@ -7,6 +16,8 @@ import router from "@/router"; import "@/icons"; import "@/element-ui/theme/index.css"; import "@/assets/scss/aui.scss"; +import {message} from "@/utils/message.js"; + //按钮 import http from "@/utils/request"; @@ -46,6 +57,7 @@ Vue.use(Element, { i18n: (key, value) => i18n.t(key, value), }); +Vue.prototype.$message = message // 弹窗底部滚动问题 弹窗需配合v-if使用 Vue.directive("fixed", { inserted() { diff --git a/src/router/index.js b/src/router/index.js index 2c2cb8de4..f1dcdf5e2 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -5,6 +5,7 @@ import { isURL } from "@/utils/validate"; import store from "@/js/store"; +import {message} from "@/utils/message.js"; Vue.use(Router); const CUSTOMER = process.env.VUE_APP_CUSTOMER; // 页面路由(独立页面) @@ -433,7 +434,11 @@ router.beforeEach((to, from, next) => { if (res.code == 10005 || res.code == 10006 || res.code == 10007) { // 10005 token为空 10006登陆超时 10007别处登录 console.log("登录失效"); - Vue.prototype.$message.error(res.msg); + message({ + message: res.msg || "未知错误", + type: 'error', + duration: 2 * 1000 + }) return next({ name: "login", }); @@ -444,7 +449,8 @@ router.beforeEach((to, from, next) => { ...to, replace: true, }); - }).catch(() => { + }).catch((err) => { + console.log(err); next({ name: "login", }); @@ -452,10 +458,15 @@ router.beforeEach((to, from, next) => { http.get("gov/access/menu/navDigitalCommunityNew").then(({ data: res }) => { + console.log(res); if (res.code == 10005 || res.code == 10006 || res.code == 10007) { // 10005 token为空 10006登陆超时 10007别处登录 console.log("登录失效"); - Vue.prototype.$message.error(res.msg); + message({ + message: res.msg || "未知错误", + type: 'error', + duration: 2 * 1000 + }) return next({ name: "login", }); @@ -468,10 +479,11 @@ router.beforeEach((to, from, next) => { ...to, replace: true, }); - }).catch(() => { - // next({ - // name: "login", - // }); + }).catch((err) => { + console.log(err); + next({ + name: "login", + }); }); }); /** diff --git a/src/utils/message.js b/src/utils/message.js new file mode 100644 index 000000000..3fb7d21cd --- /dev/null +++ b/src/utils/message.js @@ -0,0 +1,33 @@ +/* + * @Author: mk 2403457699@qq.com + * @Date: 2023-08-10 16:44:07 + * @LastEditors: mk 2403457699@qq.com + * @LastEditTime: 2023-08-10 16:55:35 + * @Description: 二次封装message组件,避免一次弹出多个 + * + * + */ +import { Message } from 'element-ui' + +// 避免出现多个报错信息弹窗 +let messageInstance = null +const resetMessage = (options) => { + if (messageInstance) { + // 先把第一条信息关闭,再弹出第二条信息 + messageInstance.close() + } + messageInstance = Message(options) +} + +// 重新定义 message.success 等 4个方法 +['error', 'success', 'info', 'warning'].forEach(type => { + resetMessage[type] = options => { + options = { + type: type, + message: options + } + return resetMessage(options) + } +}) + +export const message = resetMessage diff --git a/src/utils/request.js b/src/utils/request.js index 202ef6183..c83accde3 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -1,3 +1,14 @@ +/* + * @Author: mk 2403457699@qq.com + * @Date: 2023-03-18 11:24:39 + * @LastEditors: mk 2403457699@qq.com + * @LastEditTime: 2023-08-10 16:34:23 + * @Description: 请求拦截中添加 + * + * + */ +import {message} from "@/utils/message.js"; + import axios from 'axios' import Cookies from 'js-cookie' import router from '@/router' @@ -57,6 +68,11 @@ http.interceptors.response.use(response => { const code = [10007, 401, 10001, 10005] if (code.includes(response.data.code)) { clearLoginInfo() + message({ + message: response.data.msg || "未知错误", + type: 'error', + duration: 2 * 1000 + }) // localStorage.setItem('userType', 'work') // let userType = localStorage.getItem("userType"); // if (userType === 'work'){ diff --git a/src/views/main-shuju/main-navbar.vue b/src/views/main-shuju/main-navbar.vue index b69a329da..afbb1ef9b 100644 --- a/src/views/main-shuju/main-navbar.vue +++ b/src/views/main-shuju/main-navbar.vue @@ -241,7 +241,6 @@ export default { this.$message.error(res.msg); } } - clearLoginInfo(); this.$router.push({ name: "login" }); diff --git a/src/views/main.vue b/src/views/main.vue index 278b8e9b6..f8d8f7d69 100644 --- a/src/views/main.vue +++ b/src/views/main.vue @@ -165,6 +165,7 @@ export default { ); } } else { + clearLoginInfo(); this.$router.push({ name: "login" }); } From 8c123f4915259c75d42cd22bb31df525217c533b Mon Sep 17 00:00:00 2001 From: mk <2403457699@qq.com> Date: Thu, 10 Aug 2023 17:15:25 +0800 Subject: [PATCH 2/6] log --- src/js/dai/request2.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/js/dai/request2.js b/src/js/dai/request2.js index 75fba7d70..fae90e098 100644 --- a/src/js/dai/request2.js +++ b/src/js/dai/request2.js @@ -39,7 +39,6 @@ const request = curry( // if(typeof Vue.$afterRequestHook == 'function'){ // retData = Vue.$afterRequestHook(retData); // } - console.log(res,'request2'); if (res.data.code > 8000 && res.data.code < 10000) { message({ From 72ac82021c2a6ebdbeedddb70a21cfe2c000cd3e Mon Sep 17 00:00:00 2001 From: mk <2403457699@qq.com> Date: Thu, 10 Aug 2023 17:51:43 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=BD=91=E7=BB=9C?= =?UTF-8?q?=E9=94=99=E8=AF=AF=E6=8F=90=E7=A4=BA=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/js/dai/request-bipass.js | 2 +- src/js/dai/request.js | 3 +-- src/js/epmet-result-resolver.js | 34 +++++++++++++++++++++++++++------ src/utils/request.js | 2 +- 4 files changed, 31 insertions(+), 10 deletions(-) diff --git a/src/js/dai/request-bipass.js b/src/js/dai/request-bipass.js index 2587d5c07..461e75474 100644 --- a/src/js/dai/request-bipass.js +++ b/src/js/dai/request-bipass.js @@ -60,7 +60,7 @@ const request = curry((method, uri, data = {}, params = {}) => { reslove( Object.assign({}, returnIniData, { httpCode: "9999", //访问出现意外 - msg: "网络错误", + msg: err, }) ); }; diff --git a/src/js/dai/request.js b/src/js/dai/request.js index c1ed79ac2..24676be2f 100644 --- a/src/js/dai/request.js +++ b/src/js/dai/request.js @@ -38,7 +38,6 @@ const request = curry( // if(typeof Vue.$afterRequestHook == 'function'){ // retData = Vue.$afterRequestHook(retData); // } - console.log(res,'request1'); if (res.data.code > 8000 && res.data.code < 10000) { message({ @@ -65,7 +64,7 @@ const request = curry( reslove( Object.assign({}, returnIniData, { httpCode: "9999", //访问出现意外 - msg: err.data.msg, + msg:err, }) ); }; diff --git a/src/js/epmet-result-resolver.js b/src/js/epmet-result-resolver.js index 783b03209..e589db19f 100644 --- a/src/js/epmet-result-resolver.js +++ b/src/js/epmet-result-resolver.js @@ -1,3 +1,12 @@ +/* + * @Author: mk 2403457699@qq.com + * @Date: 2023-07-17 09:46:32 + * @LastEditors: mk 2403457699@qq.com + * @LastEditTime: 2023-08-10 17:49:44 + * @Description: 更改提示信息,修改前是统一提示网络错误 + * + * + */ /** * 解析epmet后台返回结果,并且执行传入的逻辑 * @param success_processor 正常返回执行的函数,代表要对data做何种操作。第一个参数是 @@ -36,12 +45,25 @@ export function EpmetResultResolver(env) { this.fail_processor(); } - // 弹出消息 - if (code < 8000) { - this._env.$message.error('服务器开小差了...') - } else { - this._env.$message.error(msg) - } + const errorMessages = { + 10007: '当前帐号已在别处登录', + 10006: '登陆超时,请重新登录', + 10005: 'token为空,请重新登录' + }; + + const errorCode = response.data.code; + + if (errorMessages.hasOwnProperty(errorCode)) { + this._env.$message.error(errorMessages[errorCode]); + } else { + this._env.$message.error(msg); + } + + // // 弹出消息 + // if (code < 8000) { + // this._env.$message.error('服务器开小差了...') + // } else { + // } return; } diff --git a/src/utils/request.js b/src/utils/request.js index c83accde3..3696ebe00 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -2,7 +2,7 @@ * @Author: mk 2403457699@qq.com * @Date: 2023-03-18 11:24:39 * @LastEditors: mk 2403457699@qq.com - * @LastEditTime: 2023-08-10 16:34:23 + * @LastEditTime: 2023-08-10 17:50:49 * @Description: 请求拦截中添加 * * From d82df3d7d29a81ab2f1a268330e1fcf257c7f479 Mon Sep 17 00:00:00 2001 From: mk <2403457699@qq.com> Date: Thu, 10 Aug 2023 17:57:52 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E5=85=9A=E6=94=AF?= =?UTF-8?q?=E9=83=A8=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/components/resiForm.vue | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/src/views/components/resiForm.vue b/src/views/components/resiForm.vue index b232432be..779e978f2 100644 --- a/src/views/components/resiForm.vue +++ b/src/views/components/resiForm.vue @@ -1304,7 +1304,6 @@ export default { this.getMarriageDict() this.getResideDict() this.getSpouseDict() - this.getBranchlist() this.getPartyDict() this.getResidentDict() this.getHousing() @@ -1946,20 +1945,7 @@ export default { console.log(error,'获取民族字典'); } }, - async getBranchlist(){ - try { - const { data } = await this.$http.post('resi/partymember/icPartyOrg/branchlist',{formCode: "resi_base_info"}) - this.footerInputList.forEach(c => { - for(let i of c.children){ - if(i.formName == 'partyOrgId' ){ - i.opction = data.data - } - } - }) - } catch (error) { - console.log(error,'获取支部字典'); - } - }, + getTreeData (data) { if (!Array.isArray(data)) return []; let arr = data.map((item) => { From 047f5c3531671e725abc971c610cc14d68c99f41 Mon Sep 17 00:00:00 2001 From: mk <2403457699@qq.com> Date: Fri, 11 Aug 2023 09:22:08 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E8=AF=B7=E6=B1=82=E6=8A=A5=E9=94=99?= =?UTF-8?q?=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/js/dai/request-bipass.js | 2 +- src/js/dai/request.js | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/js/dai/request-bipass.js b/src/js/dai/request-bipass.js index 461e75474..7db7fe119 100644 --- a/src/js/dai/request-bipass.js +++ b/src/js/dai/request-bipass.js @@ -60,7 +60,7 @@ const request = curry((method, uri, data = {}, params = {}) => { reslove( Object.assign({}, returnIniData, { httpCode: "9999", //访问出现意外 - msg: err, + msg: '网络错误', }) ); }; diff --git a/src/js/dai/request.js b/src/js/dai/request.js index 24676be2f..19cbc73fb 100644 --- a/src/js/dai/request.js +++ b/src/js/dai/request.js @@ -48,7 +48,11 @@ const request = curry( } if (res.data.code == 10005 || res.data.code == 10006 || res.data.code == 10007) { // 10005 token为空 10006登陆超时 10007别处登录 - console.log("登录失效"); + message({ + message: res.data.msg, + type: 'error', + duration: 2 * 1000 + }) // Message.error(res.data.msg); clearLoginInfo(); return next({ @@ -58,9 +62,9 @@ const request = curry( reslove(retData); }; - const failFn = (err) => { // console.log(`[request失败] ${url}`, data, err) + console.log(err); reslove( Object.assign({}, returnIniData, { httpCode: "9999", //访问出现意外 From 8c7164cc010254c9d40f9c8c7b29be2b7ada1bb4 Mon Sep 17 00:00:00 2001 From: mk <2403457699@qq.com> Date: Fri, 11 Aug 2023 09:25:17 +0800 Subject: [PATCH 6/6] =?UTF-8?q?request2=E6=96=87=E4=BB=B6=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/js/dai/request2.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/js/dai/request2.js b/src/js/dai/request2.js index fae90e098..8ea616692 100644 --- a/src/js/dai/request2.js +++ b/src/js/dai/request2.js @@ -51,7 +51,7 @@ const request = curry( // 10005 token为空 10006登陆超时 10007别处登录 console.log("登录失效"); message({ - message: res.data.msg || "未知错误", + message: res.data.msg, type: 'error', duration: 2 * 1000 }) @@ -66,11 +66,10 @@ const request = curry( const failFn = (err) => { // log(`[request失败] ${url}`, data, err); - reslove( Object.assign({}, returnIniData, { httpCode: "9999", //访问出现意外 - msg: err.data.msg, + msg: '网络错误', }) ); };