1 line
3.2 KiB
JSON
1 line
3.2 KiB
JSON
{"ast":null,"code":"import axios from \"axios\";\nimport $store from \"@/store\";\nimport { encrypt, decrypt } from \"@/utils/secret\";\nlet api = \"\";\nconst instance = axios.create({\n timeout: 6000,\n headers: {\n \"Content-Type\": \"application/json;charset=UTF-8\"\n }\n});\n\n//请求拦截器\ninstance.interceptors.request.use(config => {\n return config;\n}, error => {\n return Promise.reject(error);\n});\n\n//响应拦截器\ninstance.interceptors.response.use(response => {\n return response.data;\n}, error => {\n console.log(error);\n if (error.response) {\n switch (error.response.status) {\n case 401:\n error.message = \"未登录\";\n break;\n case 400:\n error.message = \"请求错误\";\n break;\n case 403:\n error.message = \"拒绝访问\";\n break;\n case 404:\n error.message = `请求地址出错: ${error.response.config.url}`;\n break;\n case 408:\n error.message = \"请求超时\";\n break;\n case 500:\n error.message = \"服务器内部错误\";\n break;\n case 501:\n error.message = \"服务未实现\";\n break;\n case 502:\n error.message = \"网关错误\";\n break;\n case 503:\n error.message = \"服务不可用\";\n break;\n case 504:\n error.message = \"网关超时\";\n break;\n case 505:\n error.message = \"HTTP版本不受支持\";\n break;\n default:\n error.message = \"连接服务器异常\";\n }\n } else {\n error.message = \"连接服务器失败\";\n }\n return Promise.reject(error.message);\n});\nconst config = url => {\n instance.defaults.baseURL = url;\n return new Promise((resolve, reject) => {\n instance.get().then(res => {\n api = res.apiUrl;\n resolve(res);\n }).catch(err => {\n reject(err);\n });\n });\n};\n\n// 封装get\nconst get = (url, params, option = {}) => {\n instance.defaults.baseURL = api || $store.state.config.apiUrl;\n if (option.responseType) {\n instance.defaults.responseType = option.responseType;\n }\n return new Promise((resolve, reject) => {\n const language = $store.state.config.$Type;\n const encryptData = encrypt(JSON.stringify({\n ...params,\n language\n })).toString();\n instance.get(url, {\n encryptData\n }).then(res => {\n resolve(res);\n }).catch(err => {\n reject(err);\n });\n });\n};\n// 封装post\nconst post = (url, params, option = {}) => {\n instance.defaults.baseURL = api || $store.state.config.apiUrl;\n if (option.responseType) {\n instance.defaults.responseType = option.responseType;\n }\n const language = $store.state.config.$Type;\n const encryptData = encrypt(JSON.stringify({\n ...params,\n language\n })).toString();\n return new Promise((resolve, reject) => {\n instance.post(url, {\n encryptData\n }).then(res => {\n res.Data = res.Data ? JSON.parse(decrypt(res.Data)) : {};\n resolve(res);\n }).catch(err => {\n reject(err);\n });\n });\n};\nexport { get, post, config };","map":null,"metadata":{},"sourceType":"module","externalDependencies":[]} |