request.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  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. // uni.onNetworkStatusChange(res => { $store.commit('device/NETWORKTYPE_CHANGE', res.networkType) }) // 网络类型变化监听
  9. // uni.getNetworkType({ success(res) { $store.commit('device/NETWORKTYPE_CHANGE', res.networkType) }}) // 获取网络类型
  10. const request = uni_request({
  11. timeout: 123456,
  12. baseURL: `http://api.app.cliu.cc/api`,
  13. })
  14. request.interceptors.request.use(config => {
  15. config.header.Authorization = 'Bearer ' + uni.getStorageSync('token')
  16. return config
  17. })
  18. request.interceptors.response.use((response, ...args) => { // 拦截器
  19. uni.hideLoading()
  20. uni.$emit('HIDELOADING') // 隐藏加载
  21. uni.stopPullDownRefresh() // 停止下拉刷新
  22. if (response.statusCode === 200) {
  23. if (+response.data.code === 202) {
  24. uni.$emit('TOAST', response.data.message)
  25. }
  26. } else if (response.statusCode === 401) { // 服务器响应不为 200 的统一处理方法
  27. // uni.$emit('TOAST', '登录信息过期,请重新登录')
  28. uni.$emit('RELAUNCH')
  29. } else {
  30. // uni.$emit('TOAST', `网络好像出了点问题:${response.statusCode}/${args[1]}`)
  31. }
  32. return response
  33. })
  34. request.onerror = (...args) => { // 请求失败统一处理方法
  35. uni.hideLoading()
  36. uni.$emit('HIDELOADING') // 隐藏加载
  37. uni.stopPullDownRefresh() // 停止下拉刷新
  38. // uni.$emit('TOAST', `网络好像出了点问题`)
  39. }
  40. export default request