123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148 |
- import axios from 'axios'
- import store from './store'
- import { Message } from 'element-ui'
- // export const BASE_URL = 'https://api.xyyxt.net' //release
- // export const BASE_URL = 'http://42.192.164.187:19005' //test
- // export const BASE_URL = 'https://test.xyyxt.net' //预发布
- // export const BASE_URL = 'http://192.168.1.7:5055' //dev
- // export const BASE_URL = 'http://120.79.166.78:19012' //测试-外网
- // export const BASE_URL = 'http://42.192.164.187:19005' //test
- export const BASE_URL = 'http://192.168.1.222:5055' //测试
- export const tenantId = '867735392558919680'
- //图片上传api
- // export const BASE_IMG_URL = 'https://file.xyyxt.net/' //release
- export const BASE_IMG_URL = 'https://file-dev.xyyxt.net/' //test
- import tools from './common/tools'
- import router from './router'
- // 创建 axios 实例
- const request = axios.create({
- baseURL: BASE_URL,
- timeout: 10000 // 请求超时时间
- })
- // 错误处理函数
- const err = (error) => {
- if (error.response) {
- const data = error.response.data
- // const token = Vue.ls.get(ACCESS_TOKEN)
- if (error.response.status === 403) {
- }
- if (error.response.status === 401) {
- }
- }
- return Promise.reject(error)
- }
- // request interceptor(请求拦截器)
- request.interceptors.request.use(config => {
- const token = tools.getToken()
- if (token && !config.noToken) {
- config.headers['AuthorizationToken'] = 'WX ' + token // 让每个请求携带自定义 token 请根据实际情况自行修改
- }
- config.headers['TenantId'] = tenantId
- return config
- }, err)
- // response interceptor(接收拦截器)
- request.interceptors.response.use(async (response) => {
- const res = response.data
- const code = res.code || 200;
- if (code !== 200) {
- if (code == 401) {
- let userAccount = tools.getUserAccount();
- if (!userAccount) {
- // Message({
- // message: `登录失效,重新登录`,
- // type: "error",
- // });
- // setTimeout(() => {
- console.log('1231231')
- store.commit('setCurrentRouter', router.currentRoute)
- localStorage.removeItem('user_account')
- localStorage.removeItem('token')
- router.push({
- path: '/login'
- })
- return Promise.reject(res)
- // }, 1000);
- } else {
- let res = await refreshToken(response.config)
- return res
- }
- } else if (code == 500) {
- // Message({
- // message: res.msg,
- // type: "error",
- // });
- // localStorage.removeItem('user_account')
- // localStorage.removeItem('token')
- // console.log('222222')
- // router.push({
- // path: '/login'
- // })
- return Promise.reject(res)
- } else {
- return Promise.reject(res)
- }
- } else {
- return res
- }
- }, err)
- async function refreshToken(response) {
- let userAccount = tools.getUserAccount();
- var datas = {
- url: '/refreshToken/' + userAccount,
- method: 'get',
- noToken: true
- }
- const res = await request(datas)
- if (res.code === 200) {
- localStorage.setItem('token', res.data.token)
- var userInfo = {
- url: '/app/user/getInfo',
- method: 'get',
- params: {fromPlat: 2}, // 来源平台 1小程序 2PC网站
- }
- const resUser = await request(userInfo)
- if (resUser.data.code === 200) {
- store.state.userInfo = resUser.data
- localStorage.setItem('user_account', userAccount)
- num = 1;
- }
- let onset = await request(response)
- return onset
- } else {
- // Message({
- // message: `登录失效,重新登录`,
- // type: "error",
- // });
- // setTimeout(() => {
- localStorage.removeItem('user_account')
- localStorage.removeItem('token')
- console.log('33333')
- store.commit('setCurrentRouter', router.currentRoute)
- router.push({
- path: '/login'
- })
- // }, 1000);
- }
- }
- export default request
|