3 changed files with 2 additions and 174 deletions
@ -1,99 +0,0 @@
@@ -1,99 +0,0 @@
|
||||
/** |
||||
* axios封装 |
||||
* 请求拦截、响应拦截、错误统一处理 |
||||
*/ |
||||
import axios from 'axios'; |
||||
import router from '../../router'; |
||||
import vue from '../../main' |
||||
|
||||
export async function getAxiosInstance() { |
||||
var baseURL, instance |
||||
|
||||
baseURL = 'http://couy.xyz:3001/'; |
||||
|
||||
/** |
||||
* 请求失败后的错误统一处理 |
||||
* @param {Number} status 请求失败的状态码 |
||||
*/ |
||||
const errorHandle = (status, response) => { |
||||
// 状态码判断
|
||||
switch (status) { |
||||
// 401: 未登录状态,跳转登录页
|
||||
case 401: |
||||
vue.$store.commit("set_sys_info", { |
||||
msg: ` |
||||
😭${response.data.msg|| '服务器有点问题,请稍后重试'} |
||||
`,
|
||||
type: 'warning' |
||||
}); |
||||
break; |
||||
case 403: |
||||
vue.$store.commit("set_sys_info", { |
||||
msg: ` |
||||
😭${response.data.msg|| '服务器有点问题,请稍后重试'} |
||||
`,
|
||||
type: 'warning' |
||||
}); |
||||
break; |
||||
case 404: |
||||
vue.$store.commit("set_sys_info", { |
||||
msg: ` |
||||
😭${response.data.msg|| '服务器有点问题,请稍后重试'} |
||||
`,
|
||||
type: 'warning' |
||||
}); |
||||
break; |
||||
default: |
||||
vue.$store.commit("set_sys_info", { |
||||
msg: ` |
||||
😭${response.data.msg|| '服务器有点问题,请稍后重试'} |
||||
`,
|
||||
type: 'warning' |
||||
}); |
||||
} |
||||
} |
||||
|
||||
// 创建axios实例
|
||||
instance = axios.create({ |
||||
timeout: 1000 * 12 // 设置十二秒钟的请求超时限制
|
||||
// transformRequest: data => qs.stringify(data)
|
||||
}); |
||||
if (process.env.NODE_ENV == 'development') { |
||||
//开发环境
|
||||
instance.defaults.baseURL = baseURL; |
||||
} else if (process.env.NODE_ENV == 'debug') { |
||||
//debug
|
||||
instance.defaults.baseURL = baseURL; |
||||
} else if (process.env.NODE_ENV == 'production') { |
||||
//生产环境
|
||||
instance.defaults.baseURL = baseURL; |
||||
} |
||||
// 设置post请求头
|
||||
instance.defaults.headers.post['Content-Type'] = 'application/json;charset=UTF-8'; |
||||
|
||||
// 响应拦截器
|
||||
instance.interceptors.response.use( |
||||
// 请求成功
|
||||
res => res.status === 200 ? Promise.resolve(res) : Promise.reject(res), |
||||
// 请求失败
|
||||
error => { |
||||
const { |
||||
response |
||||
} = error; |
||||
if (response) { |
||||
// 请求已发出,但是不在2xx的范围
|
||||
errorHandle(response.status, response); |
||||
|
||||
return Promise.reject(response); |
||||
} else { |
||||
vue.$store.commit("set_sys_info", { |
||||
msg: ` |
||||
😭${response.data.msg|| '服务器有点问题,请稍后重试'} |
||||
`,
|
||||
type: 'warning' |
||||
}); |
||||
} |
||||
}); |
||||
|
||||
return instance |
||||
} |
@ -1,73 +0,0 @@
@@ -1,73 +0,0 @@
|
||||
/** |
||||
* vue组件通信 |
||||
* @author couy |
||||
* @param context 当前上下文环境(一般传this) |
||||
* @param componentName 需要查找的组件的组件名(特别注意需要该组件定义了name属性) |
||||
*/ |
||||
|
||||
export const assist = { |
||||
methods: { |
||||
// 由一个组件,向上找到最近的指定组件
|
||||
findComponentUpward(context, componentName) { |
||||
let parent = context.$parent; |
||||
let name = parent.$options.name; |
||||
|
||||
while (parent && (!name || [componentName].indexOf(name) < 0)) { |
||||
parent = parent.$parent; |
||||
if (parent) name = parent.$options.name; |
||||
} |
||||
return parent; |
||||
}, |
||||
// 由一个组件,向上找到所有的指定组件
|
||||
findComponentsUpward(context, componentName) { |
||||
let parents = []; |
||||
const parent = context.$parent; |
||||
|
||||
if (parent) { |
||||
if (parent.$options.name === componentName) parents.push(parent); |
||||
return parents.concat(this.findComponentsUpward(parent, componentName)); |
||||
} else { |
||||
return []; |
||||
} |
||||
}, |
||||
// 由一个组件,向下找到最近的指定组件
|
||||
findComponentDownward(context, componentName) { |
||||
const childrens = context.$children; |
||||
let children = null; |
||||
|
||||
if (childrens.length) { |
||||
for (const child of childrens) { |
||||
const name = child.$options.name; |
||||
|
||||
if (name === componentName) { |
||||
children = child; |
||||
break; |
||||
} else { |
||||
children = this.findComponentDownward(child, componentName); |
||||
if (children) break; |
||||
} |
||||
} |
||||
} |
||||
return children; |
||||
}, |
||||
// 由一个组件,向下找到所有指定的组件
|
||||
findComponentsDownward(context, componentName) { |
||||
return context.$children.reduce((components, child) => { |
||||
if (child.$options.name === componentName) components.push(child); |
||||
const foundChilds = this.findComponentsDownward(child, componentName); |
||||
return components.concat(foundChilds); |
||||
}, []); |
||||
}, |
||||
|
||||
|
||||
// 由一个组件,找到指定组件的兄弟组件
|
||||
findBrothersComponents(context, componentName, exceptMe = true) { |
||||
let res = context.$parent.$children.filter(item => { |
||||
return item.$options.name === componentName; |
||||
}); |
||||
let index = res.findIndex(item => item._uid === context._uid); |
||||
if (exceptMe) res.splice(index, 1); |
||||
return res; |
||||
} |
||||
} |
||||
}; |
Loading…
Reference in new issue