| @@ -14,145 +14,156 @@ const service = axios.create({ | |||||
| // 超时 | // 超时 | ||||
| timeout: 100000 | timeout: 100000 | ||||
| }) | }) | ||||
| // request拦截器 | |||||
| service.interceptors.request.use(config => { | |||||
| // Toast.loading({ | |||||
| // message: '加载中...', | |||||
| // forbidClick: true, | |||||
| // duration: 0 | |||||
| // }); | |||||
| // 是否需要设置 token | |||||
| const isToken = (config.headers || {}).isToken === false | |||||
| if (getToken() && !isToken) { | |||||
| config.headers['Authorization'] = 'Bearer ' + getToken() // 让每个请求携带自定义token 请根据实际情况自行修改 | |||||
| } | |||||
| // get请求映射params参数 | |||||
| if (config.method === 'get' && config.params) { | |||||
| let url = config.url + '?'; | |||||
| for (const propName of Object.keys(config.params)) { | |||||
| const value = config.params[propName]; | |||||
| var part = encodeURIComponent(propName) + "="; | |||||
| if (value !== null && typeof (value) !== "undefined") { | |||||
| if (typeof value === 'object') { | |||||
| for (const key of Object.keys(value)) { | |||||
| let params = propName + '[' + key + ']'; | |||||
| var subPart = encodeURIComponent(params) + "="; | |||||
| url += subPart + encodeURIComponent(value[key]) + "&"; | |||||
| let requestInterceptor; | |||||
| if(requestInterceptor === undefined){ | |||||
| // request拦截器 | |||||
| requestInterceptor = service.interceptors.request.use(config => { | |||||
| // Toast.loading({ | |||||
| // message: '加载中...', | |||||
| // forbidClick: true, | |||||
| // duration: 0 | |||||
| // }); | |||||
| // 是否需要设置 token | |||||
| const isToken = (config.headers || {}).isToken === false | |||||
| if (getToken() && !isToken) { | |||||
| config.headers['Authorization'] = 'Bearer ' + getToken() // 让每个请求携带自定义token 请根据实际情况自行修改 | |||||
| } | |||||
| // get请求映射params参数 | |||||
| if (config.method === 'get' && config.params) { | |||||
| let url = config.url + '?'; | |||||
| for (const propName of Object.keys(config.params)) { | |||||
| const value = config.params[propName]; | |||||
| var part = encodeURIComponent(propName) + "="; | |||||
| if (value !== null && typeof (value) !== "undefined") { | |||||
| if (typeof value === 'object') { | |||||
| for (const key of Object.keys(value)) { | |||||
| let params = propName + '[' + key + ']'; | |||||
| var subPart = encodeURIComponent(params) + "="; | |||||
| url += subPart + encodeURIComponent(value[key]) + "&"; | |||||
| } | |||||
| } else { | |||||
| url += part + encodeURIComponent(value) + "&"; | |||||
| } | } | ||||
| } else { | |||||
| url += part + encodeURIComponent(value) + "&"; | |||||
| } | } | ||||
| } | } | ||||
| url = url.slice(0, -1); | |||||
| config.params = {}; | |||||
| config.url = url; | |||||
| } | } | ||||
| url = url.slice(0, -1); | |||||
| config.params = {}; | |||||
| config.url = url; | |||||
| } | |||||
| return config | |||||
| }, error => { | |||||
| console.log(error) | |||||
| Promise.reject(error) | |||||
| }) | |||||
| return config | |||||
| }, error => { | |||||
| console.log(error) | |||||
| Promise.reject(error) | |||||
| }) | |||||
| } | |||||
| // 响应拦截器 | // 响应拦截器 | ||||
| service.interceptors.response.use(res => { | |||||
| Toast.clear(); | |||||
| // 未设置状态码则默认成功状态 | |||||
| const code = res.data.code || 200; | |||||
| // 获取错误信息 | |||||
| const msg = errorCode[code] || res.data.msg || errorCode['default'] | |||||
| let responseInterceptor; | |||||
| let gqnum = 0; | |||||
| if(responseInterceptor === undefined){ | |||||
| responseInterceptor = service.interceptors.response.use(res => { | |||||
| console.info(responseInterceptor); | |||||
| Toast.clear(); | |||||
| // 未设置状态码则默认成功状态 | |||||
| const code = res.data.code || 200; | |||||
| // 获取错误信息 | |||||
| const msg = errorCode[code] || res.data.msg || errorCode['default'] | |||||
| console.info(gqnum); | |||||
| if (code === 401 && gqnum === 0) { | |||||
| console.info(11111111) | |||||
| gqnum++; | |||||
| Dialog.confirm({ | |||||
| title: '系统提示', | |||||
| message: '登录状态已过期,请重新登录', | |||||
| confirmButtonText: '重新登录', | |||||
| cancelButtonText: '取消' | |||||
| }) | |||||
| .then(() => { | |||||
| store.dispatch('LogOut').then(() => { | |||||
| try { | |||||
| let loginUrl = Cookies.get("_Login_url"); | |||||
| if(loginUrl && loginUrl.indexOf("onlineHomeLogin") !== -1) { | |||||
| window.location.href = loginUrl; | |||||
| return; | |||||
| } | |||||
| } catch (e) { console.log(e); } | |||||
| if (window.location.href.indexOf('/lawEnforcement') != -1) { | |||||
| // 农业执法 | |||||
| window.location.href = '/lawEnforcement/login'; | |||||
| return; | |||||
| }else if (window.location.href.indexOf('/authenticRight') != -1) { | |||||
| // 确权回头看 | |||||
| window.location.href = '/authenticRight/login'; | |||||
| return; | |||||
| }else if (window.location.href.indexOf('/homesteadSurvey') != -1) { | |||||
| // 宅基地调查 | |||||
| window.location.href = '/homesteadLogin'; | |||||
| return; | |||||
| }else if (window.location.href.indexOf('/yinnong') != -1) { | |||||
| // 事项审批 | |||||
| window.location.href = '/yinnongLogin'; | |||||
| return; | |||||
| }else if (window.location.href.indexOf('/sunVillage_info/') != -1) { | |||||
| // 阳光村务 | |||||
| window.location.href = '/sunVillage_info/login'; | |||||
| return; | |||||
| }else if (window.location.href.indexOf('/homestead/') != -1) { | |||||
| // 两清三化 | |||||
| window.location.href = '/homestead/login'; | |||||
| return; | |||||
| }else if (window.location.href.indexOf('/agriculturalTrusteeship') != -1){ | |||||
| // 生产托管 | |||||
| window.location.href = '/agriculturalTrusteeship/login'; | |||||
| return; | |||||
| } else if (window.location.href.indexOf('/contracted') != -1){ | |||||
| // 土地确权 | |||||
| window.location.href = '/contracted/login'; | |||||
| return; | |||||
| }else{ | |||||
| // 产权交易 | |||||
| window.location.href = '/login'; | |||||
| } | |||||
| if (code === 401) { | |||||
| Dialog.confirm({ | |||||
| title: '系统提示', | |||||
| message: '登录状态已过期,请重新登录', | |||||
| confirmButtonText: '重新登录', | |||||
| cancelButtonText: '取消' | |||||
| }) | |||||
| }) | |||||
| } else if (code === 500) { | |||||
| Dialog.alert({ type: 'warning', message: msg }); | |||||
| return Promise.reject(new Error(msg)) | |||||
| } else if (code !== 200 && code !== 401) { | |||||
| Dialog.alert({ type: 'warning', message: msg }); | |||||
| return Promise.reject('error') | |||||
| } else { | |||||
| return res.data | |||||
| } | |||||
| }, | |||||
| error => { | |||||
| console.log('err' + error) | |||||
| let { message } = error; | |||||
| if (message == "Network Error") { | |||||
| message = "后端接口连接异常"; | |||||
| } | |||||
| else if (message.includes("timeout")) { | |||||
| message = "系统接口请求超时"; | |||||
| } | |||||
| else if (message.includes("Request failed with status code")) { | |||||
| message = "系统接口" + message.substr(message.length - 3) + "异常"; | |||||
| } | |||||
| Toast.clear(); | |||||
| // Message({ | |||||
| // message: message, | |||||
| // type: 'error', | |||||
| // duration: 5 * 1000 | |||||
| // }) | |||||
| Dialog.alert({ type: 'warning', message: message }); | |||||
| return Promise.reject(error) | |||||
| }) | }) | ||||
| .then(() => { | |||||
| store.dispatch('LogOut').then(() => { | |||||
| try { | |||||
| let loginUrl = Cookies.get("_Login_url"); | |||||
| if(loginUrl && loginUrl.indexOf("onlineHomeLogin") !== -1) { | |||||
| window.location.href = loginUrl; | |||||
| return; | |||||
| } | |||||
| } catch (e) { console.log(e); } | |||||
| // 农业执法 | |||||
| if (window.location.href.indexOf('/lawEnforcement') != -1) { | |||||
| window.location.href = '/lawEnforcement/login'; | |||||
| return; | |||||
| } | |||||
| // 确权回头看 | |||||
| if (window.location.href.indexOf('/authenticRight') != -1) { | |||||
| window.location.href = '/authenticRight/login'; | |||||
| return; | |||||
| } | |||||
| // 宅基地调查 | |||||
| if (window.location.href.indexOf('/homesteadSurvey') != -1) { | |||||
| window.location.href = '/homesteadLogin'; | |||||
| return; | |||||
| } | |||||
| // 事项审批 | |||||
| if (window.location.href.indexOf('/yinnong') != -1) { | |||||
| window.location.href = '/yinnongLogin'; | |||||
| return; | |||||
| } | |||||
| // 阳光村务 | |||||
| if (window.location.href.indexOf('/sunVillage_info/') != -1) { | |||||
| window.location.href = '/sunVillage_info/login'; | |||||
| return; | |||||
| } | |||||
| // 两清三化 | |||||
| if (window.location.href.indexOf('/homestead/') != -1) { | |||||
| window.location.href = '/homestead/login'; | |||||
| return; | |||||
| } | |||||
| // 生产托管 | |||||
| if (window.location.href.indexOf('/agriculturalTrusteeship') != -1){ | |||||
| window.location.href = '/agriculturalTrusteeship/login'; | |||||
| return; | |||||
| } | |||||
| // 土地确权 | |||||
| if (window.location.href.indexOf('/contracted') != -1){ | |||||
| window.location.href = '/contracted/login'; | |||||
| return; | |||||
| } | |||||
| // 产权交易 | |||||
| window.location.href = '/login'; | |||||
| }) | |||||
| }) | |||||
| } else if (code === 500) { | |||||
| Dialog.alert({ type: 'warning', message: msg }); | |||||
| return Promise.reject(new Error(msg)) | |||||
| } else if (code !== 200) { | |||||
| Dialog.alert({ type: 'warning', message: msg }); | |||||
| return Promise.reject('error') | |||||
| } else { | |||||
| return res.data | |||||
| } | |||||
| }, | |||||
| error => { | |||||
| console.log('err' + error) | |||||
| let { message } = error; | |||||
| if (message == "Network Error") { | |||||
| message = "后端接口连接异常"; | |||||
| } | |||||
| else if (message.includes("timeout")) { | |||||
| message = "系统接口请求超时"; | |||||
| } | |||||
| else if (message.includes("Request failed with status code")) { | |||||
| message = "系统接口" + message.substr(message.length - 3) + "异常"; | |||||
| } | |||||
| Toast.clear(); | |||||
| // Message({ | |||||
| // message: message, | |||||
| // type: 'error', | |||||
| // duration: 5 * 1000 | |||||
| // }) | |||||
| Dialog.alert({ type: 'warning', message: message }); | |||||
| return Promise.reject(error) | |||||
| } | |||||
| ) | |||||
| } | |||||
| // // 取消请求拦截器 | |||||
| // instance.interceptors.request.eject(requestInterceptor); | |||||
| // // 取消响应拦截器 | |||||
| // instance.interceptors.response.eject(responseInterceptor); | |||||
| export default service | export default service | ||||