code init
This commit is contained in:
@@ -0,0 +1,450 @@
|
||||
/**
|
||||
* @description: axios二次封装
|
||||
* @author: chenxiaoxi
|
||||
* @date: 2018-09-04 11:29:34
|
||||
*/
|
||||
import axios from 'axios'
|
||||
import router from '@/router'
|
||||
import store from '@/store'
|
||||
import {Message} from 'element-ui'
|
||||
export const CancelToken = axios.CancelToken
|
||||
// import 'element-ui/lib/theme-chalk/index.css'
|
||||
const _axios = axios.create({
|
||||
baseURL: '/'
|
||||
})
|
||||
|
||||
/**
|
||||
* @description: FormData
|
||||
* @author: xx
|
||||
* @date: 2018-08-14 16:57:48
|
||||
*/
|
||||
let formData = (data) => {
|
||||
let _formData = new FormData()
|
||||
for (let i in data) {
|
||||
_formData.append(i, data[i])
|
||||
}
|
||||
return _formData
|
||||
}
|
||||
_axios.defaults.timeout = 60000
|
||||
_axios.defaults.headers['Content-type'] = 'application/json'
|
||||
window._axiosPromiseArr = []
|
||||
/**
|
||||
* @description: axios请求拦截器
|
||||
* liuyan
|
||||
*/
|
||||
_axios.interceptors.request.use(
|
||||
config => {
|
||||
// 记录接口请求
|
||||
// config.cancelToken = new axios.CancelToken(cancel => {
|
||||
// // window._axiosPromiseArr.push({ cancel })
|
||||
// })
|
||||
return config
|
||||
},
|
||||
error => {
|
||||
return Promise.reject(error.response)
|
||||
})
|
||||
/**
|
||||
* @description: axios响应拦截器
|
||||
* liuyan
|
||||
*/
|
||||
_axios.interceptors.response.use(
|
||||
res => {
|
||||
return res
|
||||
},
|
||||
error => {
|
||||
// 登录超时
|
||||
if (error.response.data.path === '/a/login' && store.state.isTimeOut === false) {
|
||||
for (let key in store.state) {
|
||||
if (key !== 'isTimeOut' && key !== 'laws_urm' && key !== 'laws_prm') {
|
||||
store.state[key] = ''
|
||||
}
|
||||
}
|
||||
Message.warning('登录超时,请重新登录')
|
||||
router.push('/login')
|
||||
store.state.isTimeOut = true
|
||||
}
|
||||
})
|
||||
function api () {
|
||||
return store.getters.getTypeFlag === 'CloudRepository' ? '/busApi/' : '/api/'
|
||||
}
|
||||
export default {
|
||||
_axios,
|
||||
/**
|
||||
* @description: post方法
|
||||
* @config: {
|
||||
* _this : this (vue原型)
|
||||
* loading: data中定义的 loading('字符串格式 例如data定义的myloading config:{ _this: this, loading: 'myloading' }')
|
||||
* }
|
||||
* @author: xx
|
||||
* @date: 2018-08-14 16:59:56
|
||||
*/
|
||||
post (url, param, config, thenFun, exeFun) {
|
||||
var _formData = formData(param)
|
||||
// 参数包含this
|
||||
let _this = config._this || false
|
||||
// 参数包含loading
|
||||
let loading = config.loading || false
|
||||
// 是否显示操作提示
|
||||
let showTips = config.showTips === undefined ? true : config.showTips
|
||||
if (_this) {
|
||||
_this[loading] = true
|
||||
}
|
||||
_axios.post(api() + url + '?' + new Date().getTime(), _formData).then(res => {
|
||||
if (_this && loading) { _this[loading] = false }
|
||||
if (res.data.ok !== undefined && showTips) {
|
||||
let type = res.data.ok ? 'success' : 'warning'
|
||||
if (_this) {
|
||||
if (res.data.message !== '') {
|
||||
_this.$message[type](res.data.message)
|
||||
}
|
||||
}
|
||||
}
|
||||
thenFun.call(this, res.data)
|
||||
}).catch(err => {
|
||||
if (_this && loading) {
|
||||
_this[loading] = false
|
||||
// _this.$Notice.error({
|
||||
// title: '错误',
|
||||
// desc: '网络连接错误'
|
||||
// })
|
||||
}
|
||||
exeFun.call(this, err)
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* @description: post方法(json格式提交)
|
||||
* @config: {
|
||||
* _this : this (vue原型)
|
||||
* loading: data中定义的 loading('字符串格式 例如data定义的myloading config:{ _this: this, loading: 'myloading' }')
|
||||
* }
|
||||
* @author: xx
|
||||
* @date: 2018-08-14 16:59:56
|
||||
*/
|
||||
postData (url, param, config, thenFun, exeFun) {
|
||||
// 参数包含this
|
||||
let _this = config._this || false
|
||||
// 参数包含loading
|
||||
let loading = config.loading || false
|
||||
// 是否显示操作提示
|
||||
let showTips = config.showTips === undefined ? true : config.showTips
|
||||
if (_this) {
|
||||
_this[loading] = true
|
||||
}
|
||||
_axios.post(api() + url + '?' + new Date().getTime(), param).then(res => {
|
||||
if (_this && loading) { _this[loading] = false }
|
||||
if (res.data.ok !== undefined && showTips) {
|
||||
let type = res.data.ok ? 'success' : 'warning'
|
||||
if (_this && res.data.message !== '') {
|
||||
_this.$message[type](res.data.message)
|
||||
}
|
||||
}
|
||||
thenFun.call(this, res.data)
|
||||
}).catch(err => {
|
||||
if (_this && loading) {
|
||||
_this[loading] = false
|
||||
// _this.$Notice.error({
|
||||
// title: '错误',
|
||||
// desc: '网络连接错误'
|
||||
// })
|
||||
}
|
||||
exeFun.call(this, err)
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* @description: $get方法(使用post方法获取数据)
|
||||
* @config: {
|
||||
* _this : this (vue原型)
|
||||
* loading: data中定义的 loading('字符串格式 例如data定义的myloading config:{ _this: this, loading: 'myloading' }')
|
||||
* }
|
||||
* @author: xx
|
||||
* @date: 2018-08-14 16:59:56
|
||||
*/
|
||||
$get (url, param, config, thenFun, exeFun) {
|
||||
var _formData = formData(param)
|
||||
// 参数包含this
|
||||
let _this = config._this || false
|
||||
// 参数包含loading
|
||||
let loading = config.loading || false
|
||||
if (_this) {
|
||||
_this[loading] = true
|
||||
}
|
||||
_axios.post(api() + url + '?' + new Date().getTime(), _formData).then(res => {
|
||||
if (_this && loading) { _this[loading] = false }
|
||||
thenFun.call(this, res.data)
|
||||
}).catch(err => {
|
||||
if (_this && loading) {
|
||||
_this[loading] = false
|
||||
// _this.$Notice.error({
|
||||
// title: '错误',
|
||||
// desc: '网络连接错误'
|
||||
// })
|
||||
}
|
||||
exeFun.call(this, err)
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* @description: get方法
|
||||
* @config: {
|
||||
* _this : this (vue原型)
|
||||
* loading: data中定义的 loading('字符串格式 例如data定义的myloading config:{ _this: this, loading: 'myloading' }')
|
||||
* }
|
||||
* @author: xx
|
||||
* @date: 2018-08-14 16:59:56
|
||||
*/
|
||||
get (url, param, config, thenFun, exeFun) {
|
||||
// 参数包含this
|
||||
let _this = config._this || false
|
||||
// 参数包含loading
|
||||
let loading = config.loading || false
|
||||
if (_this) {
|
||||
_this[loading] = true
|
||||
}
|
||||
|
||||
_axios.get(api() + url + '?_t=' + new Date().getTime(), { params: param, cancelToken: config.cancelToken }).then(res => {
|
||||
if (_this && loading) { _this[loading] = false }
|
||||
// 返回data对象
|
||||
if (res.ok !== undefined) {
|
||||
if (res.ok) {
|
||||
thenFun.call(this, res.data)
|
||||
}
|
||||
} else {
|
||||
// 返回data数组
|
||||
thenFun.call(this, res.data)
|
||||
}
|
||||
}).catch(err => {
|
||||
if (_this && loading) {
|
||||
_this[loading] = false
|
||||
}
|
||||
if (exeFun) {
|
||||
exeFun.call(this, err)
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* @description: put方法
|
||||
* @author: chenxiaoxi
|
||||
* @date: 2018-09-06 13:28:37
|
||||
*/
|
||||
put (url, param, config, thenFun, exeFun) {
|
||||
var _formData = formData(param)
|
||||
// 参数包含this
|
||||
let _this = config._this || false
|
||||
// 参数包含loading
|
||||
let loading = config.loading || false
|
||||
if (_this) {
|
||||
_this[loading] = true
|
||||
}
|
||||
_axios.put(api() + url, _formData).then(res => {
|
||||
if (_this && loading) { _this[loading] = false }
|
||||
thenFun.call(this, res.data)
|
||||
}).catch(err => {
|
||||
if (_this && loading) {
|
||||
_this[loading] = false
|
||||
}
|
||||
exeFun.call(this, err)
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* @description: put方法(json提交)
|
||||
* @author: chenxiaoxi
|
||||
* @date: 2018-09-06 13:28:37
|
||||
*/
|
||||
putData (url, param, config, thenFun, exeFun) {
|
||||
// 参数包含this
|
||||
let _this = config._this || false
|
||||
// 参数包含loading
|
||||
let loading = config.loading || false
|
||||
if (_this) {
|
||||
_this[loading] = true
|
||||
}
|
||||
_axios.put(api() + url + '?' + new Date().getTime(), param).then(res => {
|
||||
if (_this && loading) { _this[loading] = false }
|
||||
if (res.data.ok !== undefined) {
|
||||
let type = res.data.ok ? 'success' : 'warning'
|
||||
if (_this && res.data.message !== '') {
|
||||
_this.$message[type](res.data.message)
|
||||
}
|
||||
}
|
||||
thenFun.call(this, res.data)
|
||||
}).catch(err => {
|
||||
if (_this && loading) {
|
||||
_this[loading] = false
|
||||
// _this.$Notice.error({
|
||||
// title: '错误',
|
||||
// desc: '网络连接错误'
|
||||
// })
|
||||
}
|
||||
exeFun.call(this, err)
|
||||
})
|
||||
},
|
||||
/**
|
||||
* @description: delete方法
|
||||
* @author: chenxiaoxi
|
||||
* @date: 2018-09-14 09:55:30
|
||||
*/
|
||||
delete (url, param, config, thenFun, exeFun) {
|
||||
// 参数包含this
|
||||
let _this = config._this || false
|
||||
// 参数包含loading
|
||||
let loading = config.loading || false
|
||||
if (_this) {
|
||||
_this[loading] = true
|
||||
}
|
||||
_axios.delete(api() + url + '?' + new Date().getTime(), {
|
||||
params: param
|
||||
}).then(res => {
|
||||
if (_this && loading) { _this[loading] = false }
|
||||
if (res.data.ok !== undefined) {
|
||||
let type = res.data.ok ? 'success' : 'warning'
|
||||
if (_this) { if (res.data.message !== '') { _this.$message[type](res.data.message) } }
|
||||
thenFun.call(this, res.data)
|
||||
}
|
||||
}).catch(err => {
|
||||
if (_this && loading) {
|
||||
_this[loading] = false
|
||||
// _this.$Notice.error({
|
||||
// title: '错误',
|
||||
// desc: '网络连接错误'
|
||||
// })
|
||||
}
|
||||
exeFun.call(this, err)
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* @description: delete方法(字符串)
|
||||
* @author: chenxiaoxi
|
||||
* @date: 2018-09-29 16:21:41
|
||||
*/
|
||||
deleteStr (url, param, config, thenFun, exeFun) {
|
||||
// 参数包含this
|
||||
let _this = config._this || false
|
||||
// 参数包含loading
|
||||
let loading = config.loading || false
|
||||
if (_this) {
|
||||
_this[loading] = true
|
||||
}
|
||||
_axios.delete(api() + url + '?' + new Date().getTime()).then(res => {
|
||||
if (_this && loading) { _this[loading] = false }
|
||||
if (res.data.ok !== undefined) {
|
||||
let type = res.data.ok ? 'success' : 'warning'
|
||||
if (_this) { if (res.data.message !== '') { _this.$message[type](res.data.message) } }
|
||||
thenFun.call(this, res.data)
|
||||
}
|
||||
}).catch(err => {
|
||||
if (_this && loading) {
|
||||
_this[loading] = false
|
||||
// _this.$Notice.error({
|
||||
// title: '错误',
|
||||
// desc: '网络连接错误'
|
||||
// })
|
||||
}
|
||||
exeFun.call(this, err)
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* @description: 自定义请求类型
|
||||
* @params: type为请求类型
|
||||
* @author: chenxiaoxi
|
||||
* @date: 2018-09-25 14:51:19
|
||||
*/
|
||||
ajax (type, url, param, config, thenFun, exeFun) {
|
||||
// 参数包含this
|
||||
let _this = config._this || false
|
||||
// 参数包含loading
|
||||
let loading = config.loading || false
|
||||
if (_this) {
|
||||
_this[loading] = true
|
||||
}
|
||||
_axios[type](api() + url + '?' + new Date().getTime(), param).then(res => {
|
||||
if (_this && loading) { _this[loading] = false }
|
||||
if (res.data.ok !== undefined) {
|
||||
let type = res.data.ok ? 'success' : 'warning'
|
||||
if (_this) { if (res.data.message !== '') { _this.$message[type](res.data.message) } }
|
||||
if (res.data.ok) {
|
||||
thenFun.call(this, res.data)
|
||||
}
|
||||
}
|
||||
}).catch(err => {
|
||||
if (_this && loading) {
|
||||
_this[loading] = false
|
||||
// _this.$Notice.error({
|
||||
// title: '错误',
|
||||
// desc: '网络连接错误'
|
||||
// })
|
||||
}
|
||||
exeFun.call(this, err)
|
||||
})
|
||||
},
|
||||
/**
|
||||
* @description: 请求云端动态get方法
|
||||
* @config: {
|
||||
* _this : this (vue原型)
|
||||
* loading: data中定义的 loading('字符串格式 例如data定义的myloading config:{ _this: this, loading: 'myloading' }')
|
||||
* }
|
||||
* @author: xx
|
||||
* @date: 2018-08-14 16:59:56
|
||||
*/
|
||||
getMsgDynamicInfo (url, param, config, thenFun, exeFun) {
|
||||
// 参数包含this
|
||||
let _this = config._this || false
|
||||
// 参数包含loading
|
||||
let loading = config.loading || false
|
||||
if (_this) {
|
||||
_this[loading] = true
|
||||
}
|
||||
_axios.get('/busApi/' + url + '?' + new Date().getTime(), { params: param }).then(res => {
|
||||
if (_this && loading) { _this[loading] = false }
|
||||
// 返回data对象
|
||||
if (res.ok !== undefined) {
|
||||
if (res.ok) {
|
||||
thenFun.call(this, res.data)
|
||||
}
|
||||
} else {
|
||||
// 返回data数组
|
||||
thenFun.call(this, res.data)
|
||||
}
|
||||
}).catch(err => {
|
||||
if (_this && loading) {
|
||||
_this[loading] = false
|
||||
// _this.$Notice.error({
|
||||
// title: '错误',
|
||||
// desc: '网络连接错误'
|
||||
// })
|
||||
}
|
||||
exeFun.call(this, err)
|
||||
})
|
||||
},
|
||||
start (param, config, thenFun, exeFun) {
|
||||
// 参数包含this
|
||||
let _this = config._this || false
|
||||
// 参数包含loading
|
||||
let loading = config.loading || false
|
||||
if (_this) {
|
||||
_this[loading] = true
|
||||
}
|
||||
_axios.get(`/bat-wkflow/activiti_define_start?id=11`, {}).then(res => {
|
||||
if (_this && loading) { _this[loading] = false }
|
||||
// 返回data对象
|
||||
if (res.ok !== undefined) {
|
||||
if (res.ok) {
|
||||
thenFun.call(this, res.data)
|
||||
}
|
||||
} else {
|
||||
// 返回data数组
|
||||
thenFun.call(this, res.data)
|
||||
}
|
||||
}).catch(err => {
|
||||
if (_this && loading) {
|
||||
_this[loading] = false
|
||||
}
|
||||
exeFun.call(this, err)
|
||||
})
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user