request.js 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. //测试地址
  2. const baseUrl = 'http://api.dms.66km.com.cn/'
  3. //const baseUrl = 'http://192.168.0.122:20187/'
  4. //正式地址
  5. const http = (url = '', date = {}, type = 'POST', header = {
  6. }) => {
  7. return new Promise((resolve, reject) => {
  8. header={};
  9. const logodata = uni.getStorageSync("logodata");
  10. header['token']=logodata.token;
  11. header['uid']=logodata.uid;
  12. //header['token']='98A9FED8814B457288166BDF623F33D1';
  13. //header['uid']='39415962-C9D3-466D-A73F-5B5429A8DB2A';
  14. header['Content-Type']='application/x-www-form-urlencoded';
  15. //console.log(header)
  16. uni.request({
  17. method: type,
  18. url: baseUrl + url,
  19. data: date,
  20. header: header,
  21. dataType: 'json',
  22. }).then((response) => {
  23. /* setTimeout(function() {
  24. uni.hideLoading();
  25. }, 200); */
  26. let [error, res] = response;
  27. if(res.data.code==401||res.data.code==403){
  28. uni.showToast({
  29. title: res.data.msg,
  30. icon:'none',
  31. duration: 3000,
  32. });
  33. uni.clearStorageSync()
  34. uni.navigateTo({
  35. url:'../login/login'
  36. })
  37. }else if(res.data.code==409){
  38. // getToken(url,date,type,header)
  39. }
  40. resolve(res.data);
  41. }).catch(error => {
  42. let [err, res] = error;
  43. reject(err)
  44. })
  45. });
  46. }
  47. // 请求图片流
  48. const httpBinary = (url = '', date = {}, type = 'POST', header = {
  49. }) => {
  50. return new Promise((resolve, reject) => {
  51. header={};
  52. const logodata = uni.getStorageSync("logodata");
  53. header['token']=logodata.token;
  54. header['uid']=logodata.uid;
  55. //header['token']='98A9FED8814B457288166BDF623F33D1';
  56. //header['uid']='39415962-C9D3-466D-A73F-5B5429A8DB2A';
  57. header['Content-Type']='application/x-www-form-urlencoded';
  58. //console.log(header)
  59. uni.request({
  60. method: type,
  61. url: baseUrl + url,
  62. data: date,
  63. header: header,
  64. dataType: 'json',
  65. responseType: "arraybuffer",
  66. }).then((response) => {
  67. /* setTimeout(function() {
  68. uni.hideLoading();
  69. }, 200); */
  70. let [error, res] = response;
  71. if(res.data.code==401||res.data.code==403){
  72. uni.showToast({
  73. title: res.data.msg,
  74. icon:'none',
  75. duration: 3000,
  76. });
  77. uni.clearStorageSync()
  78. uni.navigateTo({
  79. url:'../login/login'
  80. })
  81. }else if(res.data.code==409){
  82. // getToken(url,date,type,header)
  83. }
  84. resolve(res.data);
  85. }).catch(error => {
  86. let [err, res] = error;
  87. reject(err)
  88. })
  89. });
  90. }
  91. function getToken(url,date,type,header){
  92. var header={};
  93. //var userId=uni.getStorageSync("devData").userId;
  94. //var devData=uni.getStorageSync("devData")
  95. header['Content-Type']='application/x-www-form-urlencoded';
  96. uni.request({
  97. method: "POST",
  98. url: baseUrl + '/sys/getTokenByUserID',
  99. data: {
  100. userId:userId
  101. },
  102. header: header,
  103. dataType: 'json',
  104. }).then((response) => {
  105. let [error, res] = response;
  106. var accessToken=res.data.data.accessToken.accessToken;
  107. devData.accessToken=accessToken;
  108. uni.setStorage({
  109. key: 'devData',
  110. data:devData,
  111. success: function () {
  112. refresh(url,date,type,header) //刷新接口
  113. }
  114. });
  115. // console.log(accessToken)
  116. }).catch(error => {
  117. })
  118. }
  119. function refresh(url,date,type,header){
  120. uni.request({
  121. method: type,
  122. url: baseUrl + url,
  123. data: date,
  124. header: header,
  125. dataType: 'json',
  126. }).then((response) => {
  127. setTimeout(function() {
  128. uni.hideLoading();
  129. }, 200);
  130. let [error, res] = response;
  131. if(res.data.code==403){
  132. uni.showToast({
  133. title: res.data.msg,
  134. icon:'none',
  135. duration: 3000,
  136. });
  137. uni.navigateTo({
  138. url:'../login/login'
  139. })
  140. }
  141. resolve(res.data);
  142. }).catch(error => {
  143. let [err, res] = error;
  144. reject(err)
  145. })
  146. }
  147. export default {
  148. http,baseUrl,httpBinary
  149. }