summaryrefslogtreecommitdiff
path: root/UI source code/dns_mapping_ui-master/src/utils/request.js
diff options
context:
space:
mode:
authorunknown <[email protected]>2022-06-24 17:11:23 +0800
committerunknown <[email protected]>2022-06-24 17:11:23 +0800
commit8565e1bb597b481447d33bac6d8c48c2c45215de (patch)
treea4f10c8f7f85a1a8b5c947f7d0d2f967d808a9c4 /UI source code/dns_mapping_ui-master/src/utils/request.js
parent8165dfcc7bdb0b2e6f1c05f8e7c93553c0e7911e (diff)
upload UI source codeHEADmain
Diffstat (limited to 'UI source code/dns_mapping_ui-master/src/utils/request.js')
-rw-r--r--UI source code/dns_mapping_ui-master/src/utils/request.js88
1 files changed, 88 insertions, 0 deletions
diff --git a/UI source code/dns_mapping_ui-master/src/utils/request.js b/UI source code/dns_mapping_ui-master/src/utils/request.js
new file mode 100644
index 0000000..ce7fd1b
--- /dev/null
+++ b/UI source code/dns_mapping_ui-master/src/utils/request.js
@@ -0,0 +1,88 @@
+import axios from 'axios'
+import router from '@/router/routers'
+import { Notification } from 'element-ui'
+import store from '../store'
+import { getToken } from '@/utils/auth'
+import Config from '@/settings'
+import Cookies from 'js-cookie'
+
+// 创建axios实例
+const service = axios.create({
+ baseURL: process.env.NODE_ENV === 'production' ? process.env.VUE_APP_BASE_API : '/', // api 的 base_url
+ timeout: Config.timeout // 请求超时时间
+})
+
+// request拦截器
+service.interceptors.request.use(
+ config => {
+ if (getToken()) {
+ config.headers['Authorization'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改
+ }
+ config.headers['Content-Type'] = 'application/json'
+ return config
+ },
+ error => {
+ Promise.reject(error)
+ }
+)
+
+// response 拦截器
+service.interceptors.response.use(
+ response => {
+ return response.data
+ },
+ error => {
+ // 兼容blob下载出错json提示
+ if (error.response.data instanceof Blob && error.response.data.type.toLowerCase().indexOf('json') !== -1) {
+ const reader = new FileReader()
+ reader.readAsText(error.response.data, 'utf-8')
+ reader.onload = function(e) {
+ const errorMsg = JSON.parse(reader.result).message
+ Notification.error({
+ title: errorMsg,
+ duration: 5000
+ })
+ }
+ } else {
+ let code = 0
+ try {
+ code = error.response.data.status
+ } catch (e) {
+ if (error.toString().indexOf('Error: timeout') !== -1) {
+ Notification.error({
+ title: '网络请求超时',
+ duration: 5000
+ })
+ return Promise.reject(error)
+ }
+ }
+ console.log(code)
+ if (code) {
+ if (code === 401) {
+ store.dispatch('LogOut').then(() => {
+ // 用户登录界面提示
+ Cookies.set('point', 401)
+ location.reload()
+ })
+ } else if (code === 403) {
+ router.push({ path: '/401' })
+ } else {
+ const errorMsg = error.response.data.message
+ if (errorMsg !== undefined) {
+ Notification.error({
+ title: errorMsg,
+ duration: 5000
+ })
+ }
+ }
+ } else {
+ Notification.error({
+ title: '接口请求失败',
+ duration: 5000
+ })
+ }
+ }
+ return Promise.reject(error)
+ }
+)
+export default service