request.js 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. import Vue from 'vue'
  2. import uni_request from './uni_request.js'
  3. /*
  4. 线上appid wxd684a5cf4af0a810
  5. 线上接口地址 http://api.woaidakele.cn
  6. *** index 页面中跳转的url 对应页面 每次上线之前查看 onLoad 中是否注释判断代理公司才能注释的代码
  7. */
  8. const host = 'http://api.cl.jiuweiyun.cn' //正式环境
  9. // const host = 'http://www.agent-admin.com' //测试环境
  10. const port = 80
  11. // const port =8082
  12. const url = '/api'
  13. // uni.onNetworkStatusChange(res => { $store.commit('device/NETWORKTYPE_CHANGE', res.networkType) }) // 网络类型变化监听
  14. // uni.getNetworkType({ success(res) { $store.commit('device/NETWORKTYPE_CHANGE', res.networkType) }}) // 获取网络类型
  15. const request = uni_request({
  16. timeout: 123456,
  17. // baseURL: 'http://api.cl.jiuweiyun.cn/api',
  18. baseURL: `${host}:${port}${url}`,
  19. })
  20. request.interceptors.request.use(config => {
  21. // config.header.Authorization = 'Bearer ' + $store.state.app.token
  22. return config
  23. })
  24. request.interceptors.response.use((response, ...args) => { // 拦截器
  25. uni.hideLoading()
  26. uni.$emit('HIDELOADING') // 隐藏加载
  27. uni.stopPullDownRefresh() // 停止下拉刷新
  28. if (response.statusCode === 200) {
  29. if (+response.data.code === 202) {
  30. uni.$emit('TOAST', response.data.message)
  31. }
  32. } else if (response.statusCode === 401) { // 服务器响应不为 200 的统一处理方法
  33. uni.$emit('TOAST', '登录信息过期,请重新登录')
  34. uni.$emit('RELAUNCH')
  35. } else {
  36. // uni.$emit('TOAST', `网络好像出了点问题:${response.statusCode}/${args[1]}`)
  37. }
  38. return response
  39. })
  40. request.onerror = (...args) => { // 请求失败统一处理方法
  41. uni.hideLoading()
  42. uni.$emit('HIDELOADING') // 隐藏加载
  43. uni.stopPullDownRefresh() // 停止下拉刷新
  44. // uni.$emit('TOAST', `网络好像出了点问题`)
  45. }
  46. export default request