提交 2edf5820 authored 作者: zyx's avatar zyx

代码标准稳定版,开始把原来系统登录进行接入

上级 78c7476b
......@@ -66,6 +66,17 @@ export default class API {
.then(beforeSuccess.bind(this), beforeFail.bind(this))
}
setConfirm (titleStr, btnStr, msgStr) {
return MessageBox.confirm(msgStr, titleStr, {
confirmButtonText: btnStr,
type: 'warning',
showClose: false,
closeOnPressEscape: false,
closeOnClickModal: false,
showCancelButton: false
})
}
/**
* 统一处理request success操作,在实现业务逻辑前进行统一处理。
* 注意:如果不能满足需求,可在接口定义处重新实现
......@@ -79,10 +90,7 @@ export default class API {
if (data && data.code !== undefined) {
if (data.code !== 0) {
if (!/account\/get-user-info/gi.test(res.config.url)) {
Message({
type: 'error',
message: data.msg
})
Message({ type: 'error', message: data.msg })
}
return null
} else if (data.code === 0) {
......@@ -92,21 +100,11 @@ export default class API {
return data
} else if (status === 403 && !/\/getinfo$/gi.test(res.config.url)) {
/* 不带 code 参数,老接口模型 */
MessageBox.confirm('登录状态已过期, 请重新登录。', '提示', {
confirmButtonText: '确定',
type: 'warning',
showClose: false,
closeOnPressEscape: false,
closeOnClickModal: false,
showCancelButton: false
}).then(() => {
this.setConfirm('提示', '确定', '登录状态已过期, 请重新登录。').then(() => {
/* 重新刷新当前页 */
window.location.reload()
}).catch(() => {
Message({
type: 'info',
message: '操作已取消,将不再记录任何数据操作,除非重新登录'
})
Message({ type: 'info', message: '操作已取消,将不再记录任何数据操作,除非重新登录' })
})
} else if (status !== 200 && data.message) {
throw new Error(data.message)
......@@ -121,12 +119,27 @@ export default class API {
* @param {[object]} res 如果未到达 response 阶段,则无res.response
*/
_reqFail (res) {
debugger
let err = null
if (res.code === 'ECONNABORTED') {
err = new Error('网络超时,请稍后重试')
} else if (res.response) {
err = new Error(JSON.stringify(res.response))
/* 不带 code 参数,老接口模型 */
if (res.response.data) {
if (!/\/getinfo$/gi.test(res.config.url) && res.response.data.status === 403) {
this.setConfirm('提示', '确定', '登录状态已过期, 请重新登录。').then(() => {
/* 重新刷新当前页 */
window.location.reload()
}).catch(() => {
Message({ type: 'info', message: '已取消,将不再记录任何数据操作,除非重新登录' })
})
}
} else if (res.response.data.status === 401 && res.response.data.message) {
this.setConfirm('提示', '关闭', res.response.data.message).then(() => {
/* 重新刷新当前页 */
window.location.reload()
})
}
err = new Error(JSON.stringify(res.response.data))
} else {
err = new Error('msg:' + res.message + 'stack:' + res.stack)
err.code = 500
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论