index.js 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. // import store from '@/store/index.js'
  2. import Vue from 'vue'
  3. import {
  4. saveUrl,
  5. interceptor
  6. } from '@/utils/loginUtils.js';
  7. // const bu = 'http://tests.nqr.ds888.work' // 'https://www.bzdzfw.xyz'
  8. // const bu = "https://" + window.location.host;
  9. const bu = "https://www.chaomangdao.com";
  10. var Fly = require("flyio/dist/npm/wx");
  11. var request = new Fly();
  12. // #ifdef H5
  13. if (process.env.NODE_ENV === 'development') {
  14. request.config.baseURL = '/api';
  15. } else {
  16. request.config.baseURL = bu;
  17. }
  18. // #endif
  19. // #ifndef H5
  20. request.config.baseURL = bu;
  21. // #endif
  22. // request.config.baseURL = 'http://sl.ysxapp.cn/admin.php/api/';
  23. Vue.prototype.$Fly = request
  24. Vue.prototype.$url = bu
  25. const url = bu
  26. request.interceptors.request.use((request) => {
  27. if (request.body && request.body.msg) {
  28. uni.showLoading({
  29. title: request.body.msg || ''
  30. })
  31. }
  32. const token = uni.getStorageSync('token') || '';
  33. request.headers["token"] = token;
  34. // request.headers["Content-Type"] = 'application/x-www-form-urlencoded'
  35. // 防止缓存
  36. if (request.method === 'POST') {
  37. request.body = {
  38. ...request.body,
  39. // token, // body 添加自定义token
  40. // _t: getNowFormatDate()
  41. }
  42. } else if (request.method === 'GET') {
  43. request.params = {
  44. // _t: getNowFormatDate(),
  45. // token, // body 添加自定义token
  46. ...request.params
  47. }
  48. }
  49. return request
  50. })
  51. request.interceptors.response.use(function(response) { //不要使用箭头函数,否则调用this.lock()时,this指向不对
  52. uni.hideLoading();
  53. let errmsg = '';
  54. const data = response.data;
  55. if (!data || typeof data !== 'object') {
  56. // errmsg = '服务器响应格式错误';
  57. // uni.showToast({
  58. // title: errmsg,
  59. // icon: 'none'
  60. // })
  61. } else {
  62. let {
  63. code,
  64. msg
  65. } = data
  66. if (code == 401 || code == 502) { //判断code 217|218 表示没有用户id,需要重新授权登
  67. uni.showModal({
  68. title: "登陆",
  69. content: '您未登录!是否马上登录?',
  70. success: (e) => {
  71. // 判断是否点击确认按钮
  72. if (e.confirm) {
  73. // 保存当前页面地址
  74. saveUrl()
  75. // 跳转页面
  76. interceptor()
  77. }
  78. }
  79. })
  80. uni.setStorageSync('isLogin', 1)
  81. return
  82. } else if (code == 0 || code == 400) {
  83. uni.showToast({
  84. title: data.msg,
  85. icon: 'none'
  86. })
  87. }
  88. }
  89. return response.data; //只返回业务数据部分
  90. }, function(err) {
  91. let errmsg = err.message;
  92. switch (err.status) {
  93. case 0:
  94. errmsg = "网络连接错误";
  95. uni.showToast({
  96. title: errmsg,
  97. icon: 'none'
  98. })
  99. break;
  100. case 401:
  101. uni.redirectTo({
  102. url: '/pages/Login/Login'
  103. })
  104. break;
  105. default:
  106. uni.showToast({
  107. title: errmsg,
  108. icon: 'none'
  109. })
  110. }
  111. return err; //只返回业务数据部分
  112. })
  113. export default request
  114. // ------------------当前时间格式化 S------------------------------------------
  115. function getNowFormatDate() {
  116. var date = new Date();
  117. var seperator1 = "-";
  118. var seperator2 = ":";
  119. var year = date.getFullYear();
  120. var month = date.getMonth() + 1;
  121. var strDate = date.getDate();
  122. if (month >= 1 && month <= 9) {
  123. month = "0" + month;
  124. }
  125. if (strDate >= 0 && strDate <= 9) {
  126. strDate = "0" + strDate;
  127. }
  128. var currentdate = year + seperator1 + month + seperator1 + strDate +
  129. " " + date.getHours() + seperator2 + date.getMinutes() +
  130. seperator2 + date.getSeconds();
  131. return currentdate;
  132. }
  133. // ------------------当前时间格式化 E------------------------------------------