AnotherTFRequest.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. import { ANOTHER_TF_INTERFACE } from '../config'
  2. import { T_STORAGE_KEY } from '../constant'
  3. import store from '../store'
  4. const request = (base_url) => function (url, data = {}, method = 'GET', cb, header = {}) {
  5. return new Promise((resolve, reject) => {
  6. header['Content-Type'] = 'application/json'
  7. const res = uni.getStorageSync(T_STORAGE_KEY) || {}
  8. if (res.token) header.Authorization = res.token
  9. if (res.ssoUserInfo && res.ssoUserInfo.token) header['satoken-user'] = res.ssoUserInfo.token
  10. // showLoading()
  11. uni.request({
  12. url: base_url + url,
  13. data,
  14. method,
  15. header,
  16. success: (res) => {
  17. // console.log('拦截器', JSON.stringify(res))
  18. // console.log('拦截器', res)
  19. // hideLoading()
  20. if (res.statusCode == 200) {
  21. if ((res.data.code === '200') || (res.data.code === '')) {
  22. resolve(res.data)
  23. } else if ((res.data.code === '20004') || (res.data.code === '20005') || (res.data.code == 40005)) {
  24. uni.showModal({
  25. title: '提示',
  26. content: '账号未登录,请重新登陆!',
  27. success(res) {
  28. if (res.confirm) {
  29. store.dispatch('auth/logoutAction')
  30. setTimeout(() => {
  31. uni.navigateTo({
  32. url: '/pages/login/login'
  33. })
  34. }, 1000)
  35. } else if (res.cancel) {
  36. // uni.navigateBack();
  37. }
  38. }
  39. })
  40. reject(res.data)
  41. } else {
  42. uni.showToast({
  43. title: res.data.message,
  44. icon: 'none'
  45. })
  46. reject(res.data)
  47. }
  48. } else {
  49. reject(res)
  50. }
  51. },
  52. fail: (res) => {
  53. // hideLoading()
  54. reject(res)
  55. },
  56. complete: () => {
  57. cb && typeof cb === 'function' && cb()
  58. }
  59. })
  60. })
  61. }
  62. export const AnotherTFRequest = request(ANOTHER_TF_INTERFACE)