| @@ -14,145 +14,156 @@ const service = axios.create({ | |||
| // 超时 | |||
| 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 | |||