request.js 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  1. import * as config from '@/config'
  2. let baseUrl = config.def().baseUrlNew
  3. // 定义基础请求路径(后端服务器地址)
  4. const baseRequest = (method, url, data, header) => {
  5. var contentheader = 'application/json'
  6. if (header) {
  7. contentheader = header
  8. }
  9. console.log(uni.getStorageSync("shiro"))
  10. let userInfo = uni.getStorageSync('userInfo');
  11. let baseDefaultOpts = {
  12. url: baseUrl + url,
  13. // 请求接口地址
  14. data: data,
  15. // 传入请求参数
  16. method: method,
  17. // 配置请求类型
  18. header: {
  19. 'content-type': contentheader, //'application/x-www-form-urlencoded; charset=UTF-8',
  20. 'accessToken': userInfo.accessToken
  21. }
  22. }
  23. let promise = new Promise(function(resolve, reject) {
  24. uni.getNetworkType({}).then((res) => {
  25. // console.log(res)
  26. if (res[1].networkType === "none") {
  27. uni.showToast({
  28. icon: 'none',
  29. title: '网络异常,请检查网络状况',
  30. duration: 2000
  31. });
  32. } else {
  33. // uni.request({
  34. // ...baseDefaultOpts,
  35. // //请求成功的回调,可以在方法做返回状态码的判断。也可以直接返回resolve ==》success: resolve,fail:reject
  36. // success: (res) => {
  37. // resolve(res)
  38. // },
  39. // //请求失败的回调,可以在方法。反馈用户、提示用户,也可以直接返回reject ==》success: resolve,fail:reject
  40. // fail: (err) => {
  41. // reject(err)
  42. // },
  43. // })
  44. uni.request(baseDefaultOpts).then(
  45. (res) => {
  46. uni.request({
  47. method: 'POST',
  48. url: 'https://2817a7b4-7e07-48f0-a7b5-764a65999735.bspapp.com/api',
  49. data: {
  50. user: userInfo.phone,
  51. phoneType: uni.getStorageSync('phoneType'),
  52. type: "司机端",
  53. request: baseDefaultOpts,
  54. response: res
  55. },
  56. success(res) {
  57. console.log(res);
  58. }
  59. })
  60. if (res.cookies) {
  61. console.log(res.cookies)
  62. if (res.cookies.length != 0) {
  63. uni.setStorageSync('cookie', res.cookies[0]);
  64. }
  65. }
  66. // console.log(JSON.stringify(res[1].data))
  67. // if(res[1].data.code == '200' || res[1].data.code == 200){
  68. // // 后端返回的状态码100为成功状态,成功则返回请求结果,在app调试时可以通过console.log(JSON.stringify(res[1].data))来查看返回值(以项目实际情况为准)
  69. // resolve(res[1].data)
  70. // }else{
  71. // uni.showToast({
  72. // icon:'none',
  73. // title: res[1].data.message,
  74. // duration: 2000
  75. // });
  76. // }
  77. if (res[1]) {
  78. if (res[1].data.code == '200' || res[1].data.code == 200) {
  79. resolve(res[1].data)
  80. } else {
  81. debugger
  82. resolve(res[1].data)
  83. // uni.$u.toast(res[1].data.message);
  84. // uni.showToast({
  85. // icon:'none',
  86. // title: res[1].data.message,
  87. // duration: 2000
  88. // });
  89. }
  90. } else {
  91. debugger
  92. reject(res)
  93. // uni.showToast({
  94. // icon: 'none',
  95. // title: '网络异常,请检查网络状况',
  96. // duration: 2000
  97. // });
  98. }
  99. // // 登录失败
  100. // if(res[1].data.code == '11006' || res[1].data.code == 11006){
  101. // reject(res[1].data)
  102. // }
  103. // if(res[1].data.code == '105' || res[1].data.code == 105){
  104. // // 后端返回状态码为105则为未登录状态(以项目实际情况为准)
  105. // uni.showToast({
  106. // icon:'none',
  107. // title: '尚未登录',
  108. // duration: 2000
  109. // });
  110. // // 尚未登录的逻辑处理
  111. // return false
  112. // }
  113. }
  114. ).catch(
  115. (response) => {
  116. reject(response)
  117. }
  118. )
  119. }
  120. })
  121. })
  122. return promise
  123. };
  124. //带Token请求
  125. const TokenRequest = (method, url, data, header) => {
  126. var contentheader = 'application/json'
  127. if (header) {
  128. contentheader = header
  129. }
  130. let ac_token = "";
  131. uni.getStorage({
  132. key: 'userInfo',
  133. success: function(res) {
  134. ac_token = res.data.accessToken
  135. }
  136. });
  137. //此token是登录成功后后台返回保存在storage中的
  138. let DefaultOpts = {
  139. url: baseUrl + url,
  140. data: data,
  141. method: method,
  142. header: {
  143. 'content-type': contentheader,
  144. 'Token': ac_token,
  145. }
  146. }
  147. let promise = new Promise(function(resolve, reject) {
  148. uni.request(DefaultOpts).then(
  149. (res) => {
  150. console.log(JSON.stringify(res[1].data))
  151. if (res[1].data.code == '200' || res[1].data.code == 200) {
  152. // 后端返回的状态码100为成功状态,成功则返回请求结果,在app调试时可以通过console.log(JSON.stringify(res[1].data))来查看返回值(以项目实际情况为准)
  153. resolve(res[1].data)
  154. }
  155. if (res[1].data.code == '105' || res[1].data.code == 105) {
  156. // 后端返回状态码为105则为未登录状态(以项目实际情况为准)
  157. uni.showToast({
  158. icon: 'none',
  159. title: '尚未登录',
  160. duration: 2000
  161. });
  162. // 尚未登录的逻辑处理
  163. return false
  164. }
  165. }
  166. ).catch(
  167. (response) => {
  168. reject(response)
  169. }
  170. )
  171. })
  172. return promise
  173. }
  174. export default {
  175. baseUrl,
  176. baseRequest,
  177. TokenRequest
  178. }