| New file |
| | |
| | | import axios from "axios"; |
| | | // import URL from "../config/index"; |
| | | import { Message } from "element-ui"; |
| | | import allTits from "../assets/lan/tits.js"; |
| | | import { signatureGenerate } from '@/utils/crypto' |
| | | // import router from "../router.js"; |
| | | axios.defaults.timeout = 15000; |
| | | axios.defaults.baseURL = URL.BASE_URL; |
| | | //http request 拦截器 |
| | | axios.interceptors.request.use( |
| | | (config) => { |
| | | const token = localStorage.getItem("spToken"); |
| | | // config.data = JSON.stringify(config.data); |
| | | // config.headers = { |
| | | // 'Content-Type':'application/x-www-form-urlencoded' |
| | | // } |
| | | if (token) { |
| | | if (config.method == "get") { |
| | | config.params.token = token; |
| | | } else if (config.data == "post") { |
| | | config.params.token = token; |
| | | } |
| | | } |
| | | const signature = signatureGenerate(); |
| | | config.headers["Sign"] = signature.signature; |
| | | config.headers["Systemrandom"] = signature.systemRandom; |
| | | config.headers["Tissuepaper"] = signature.timestamp; |
| | | return config; |
| | | }, |
| | | (error) => { |
| | | return Promise.reject(error); |
| | | } |
| | | ); |
| | | |
| | | //http response 拦截器 |
| | | axios.interceptors.response.use( |
| | | (response) => { |
| | | if (response.data.code != 0) { |
| | | var localLan = "", |
| | | lanTits = ""; |
| | | //判断语言 |
| | | if (localStorage.getItem("localLan")) { |
| | | localLan = localStorage.getItem("localLan"); |
| | | if (localLan == "en") { |
| | | lanTits = "tits_en"; |
| | | } else if (localLan == "zh-CN") { |
| | | lanTits = "tits_zh-CN"; |
| | | } else if (localLan == "cht") { |
| | | lanTits = "tits_CN"; |
| | | } else if (localLan == "ko") { |
| | | lanTits = "tits_Korean"; |
| | | } else if (localLan == "fr") { |
| | | lanTits = "tits_fr"; |
| | | } else if (localLan == "de") { |
| | | lanTits = "tits_de"; |
| | | } else if (localLan == "it") { |
| | | lanTits = "tits_it"; |
| | | } |
| | | } |
| | | //403 |
| | | if (response.data.code == "403") { |
| | | console.log('routerrouterrouterrouterrouterrouterrouterrouterrouterrouterrouter',router) |
| | | let lang = localStorage.getItem('localLan') |
| | | localStorage.clear() |
| | | localStorage.removeItem("username"); |
| | | localStorage.removeItem("spToken"); |
| | | localStorage.removeItem("vuex"); |
| | | localStorage.setItem('localLan', lang) |
| | | // router.beforeEach((to, from, next) => { |
| | | // //会在任意路由跳转前执行,next一定要记着执行,不然路由不能跳转了 |
| | | // console.log('beforeEach') |
| | | // console.log(to,from) |
| | | // // |
| | | // next() |
| | | // }) |
| | | // router.push("/login"); |
| | | location.reload() |
| | | } |
| | | if (allTits[lanTits][response.data.msg]) { |
| | | Message(allTits[lanTits][response.data.msg]); |
| | | } else { |
| | | Message(response.data.msg); |
| | | } |
| | | } |
| | | return response; |
| | | }, |
| | | (error) => { |
| | | return Promise.reject(error); |
| | | } |
| | | ); |
| | | |
| | | /** |
| | | * 封装get方法 |
| | | * @param url |
| | | * @param data |
| | | * @returns {Promise} |
| | | */ |
| | | export function fetch(url, params = {}) { |
| | | return new Promise((resolve, reject) => { |
| | | axios |
| | | .get(url, { |
| | | params: params, |
| | | }) |
| | | .then((response) => { |
| | | resolve(response.data); |
| | | }) |
| | | .catch((err) => { |
| | | reject(err); |
| | | }); |
| | | }); |
| | | } |
| | | |
| | | /** |
| | | * 封装post请求 |
| | | * @param url |
| | | * @param data |
| | | * @returns {Promise} |
| | | */ |
| | | |
| | | export function post(url, data = {}) { |
| | | return new Promise((resolve, reject) => { |
| | | axios.post(url, data).then( |
| | | (response) => { |
| | | resolve(response.data); |
| | | }, |
| | | (err) => { |
| | | reject(err); |
| | | } |
| | | ); |
| | | }); |
| | | } |
| | | |
| | | /** |
| | | * 封装patch请求 |
| | | * @param url |
| | | * @param data |
| | | * @returns {Promise} |
| | | */ |
| | | |
| | | export function patch(url, data = {}) { |
| | | return new Promise((resolve, reject) => { |
| | | axios.patch(url, data).then( |
| | | (response) => { |
| | | resolve(response.data); |
| | | }, |
| | | (err) => { |
| | | reject(err); |
| | | } |
| | | ); |
| | | }); |
| | | } |
| | | |
| | | /** |
| | | * 封装put请求 |
| | | * @param url |
| | | * @param data |
| | | * @returns {Promise} |
| | | */ |
| | | |
| | | export function put(url, data = {}) { |
| | | return new Promise((resolve, reject) => { |
| | | axios.put(url, data).then( |
| | | (response) => { |
| | | resolve(response.data); |
| | | }, |
| | | (err) => { |
| | | reject(err); |
| | | } |
| | | ); |
| | | }); |
| | | } |
| | | export default { fetch, patch, put, post }; |