index.js 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. // 根域名
  2. var baseUrl = 'http://121.28.24.104:13898/app/';
  3. // var baseUrl = 'http://192.168.1.59:8080';
  4. // var baseUrl = 'http://192.168.1.52:8080';
  5. module.exports = (vm) => {
  6. // 初始化请求配置:config 为默认全局配置
  7. uni.$u.http.setConfig((config) => {
  8. config.baseURL = baseUrl; /* 根域名 */
  9. // 配置请求头信息
  10. config.header = {
  11. // 'content-type': 'application/x-www-form-urlencoded;charset=UTF-8',
  12. // 'content-type': 'application/json;charset=utf-8',
  13. };
  14. config.method = 'GET'; //支持post、get、put、delete
  15. config.dataType = 'json'; // 设置为json,返回后会对数据进行一次JSON.parse()
  16. config.timeout = 60000;
  17. return config
  18. })
  19. // 请求拦截
  20. uni.$u.http.interceptors.request.use((config) => { // 可使用async await 做异步操作
  21. // 初始化请求拦截器时,会执行此方法,此时data为undefined,赋予默认{}
  22. config.data = config.data || {};
  23. config.header['content-Type']=config.header['content-Type']==undefined?'application/json;charset=utf-8':config.header['content-Type']
  24. // 设置token
  25. // const token = getApp().globalData.token || '';
  26. const token = uni.getStorageSync('token') || '';
  27. config.header['Authorization'] ='Bearer ' + token
  28. // 设置设备端类型
  29. // config.header['os'] = uni.$u.os() || '';
  30. return config;
  31. }, config => { // 可使用async await 做异步操作
  32. return Promise.reject(config)
  33. })
  34. // 响应拦截
  35. uni.$u.http.interceptors.response.use((response) => {
  36. /* 对响应成功做点什么 可使用async await 做异步操作*/
  37. const res = response.data;
  38. // console.log(res)`
  39. // res为服务端返回值,可能有code,result等字段
  40. if (res.code == 200) {
  41. return res;
  42. } else if (res.code == 400) {
  43. uni.$u.toast(res.msg)
  44. return false;
  45. } else if (res.code == 401) {
  46. // 401为token失效
  47. // uni.setStorageSync('token', ''); // 缓存token
  48. uni.$u.toast(res.msg)
  49. // setTimeout(() => {
  50. // vm.$u.route('/pages/login/login')
  51. uni.clearStorageSync()
  52. uni.reLaunch({
  53. url:"/pages/login/login"
  54. })
  55. // }, 1500)
  56. return false;
  57. } else if (res.code == 405) {
  58. // 405为token为空
  59. return false;
  60. } else if (res.code == 1) {
  61. uni.$u.toast(res.msg)
  62. return false;
  63. } else if (res.code == undefined) {
  64. return res;
  65. } else {
  66. // 如果需要catch返回,则进行reject
  67. return Promise.reject(res)
  68. }
  69. }, (response) => {
  70. // 对响应错误做点什么 (statusCode !== 200)
  71. uni.showToast({
  72. title:"网络异常,请稍后重试",
  73. icon:"none"
  74. })
  75. return Promise.reject(response)
  76. })
  77. }