request.js 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  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. let userInfo = uni.getStorageSync('userInfo');
  10. let baseDefaultOpts = {
  11. url: baseUrl + url,
  12. // 请求接口地址
  13. data: data,
  14. // 传入请求参数
  15. method: method,
  16. // 配置请求类型
  17. header: {
  18. 'content-type': contentheader ,//'application/x-www-form-urlencoded; charset=UTF-8',
  19. 'accessToken':userInfo.accessToken
  20. }
  21. }
  22. let promise = new Promise(function(resolve, reject) {
  23. uni.getNetworkType({}).then((res) => {
  24. console.log(res)
  25. if (res[1].networkType === "none") {
  26. uni.showToast({
  27. icon: 'none',
  28. title: '网络异常,请检查网络状况',
  29. duration: 2000
  30. });
  31. } else {
  32. uni.request(baseDefaultOpts).then(
  33. (res) => {
  34. debugger
  35. if (res.cookies) {
  36. console.log(res.cookies)
  37. if (res.cookies.length != 0) {
  38. uni.setStorageSync('cookie', res.cookies[0]);
  39. }
  40. }
  41. // console.log(JSON.stringify(res[1].data))
  42. // if(res[1].data.code == '200' || res[1].data.code == 200){
  43. // // 后端返回的状态码100为成功状态,成功则返回请求结果,在app调试时可以通过console.log(JSON.stringify(res[1].data))来查看返回值(以项目实际情况为准)
  44. // resolve(res[1].data)
  45. // }else{
  46. // uni.showToast({
  47. // icon:'none',
  48. // title: res[1].data.message,
  49. // duration: 2000
  50. // });
  51. // }
  52. if (res[1]) {
  53. if (res[1].data.code == '200' || res[1].data.code == 200) {
  54. resolve(res[1].data)
  55. }else{
  56. resolve(res[1].data)
  57. // uni.$u.toast(res[1].data.message);
  58. // uni.showToast({
  59. // icon:'none',
  60. // title: res[1].data.message,
  61. // duration: 2000
  62. // });
  63. }
  64. } else {
  65. reject(res)
  66. // uni.showToast({
  67. // icon: 'none',
  68. // title: '网络异常,请检查网络状况',
  69. // duration: 2000
  70. // });
  71. }
  72. // // 登录失败
  73. // if(res[1].data.code == '11006' || res[1].data.code == 11006){
  74. // reject(res[1].data)
  75. // }
  76. // if(res[1].data.code == '105' || res[1].data.code == 105){
  77. // // 后端返回状态码为105则为未登录状态(以项目实际情况为准)
  78. // uni.showToast({
  79. // icon:'none',
  80. // title: '尚未登录',
  81. // duration: 2000
  82. // });
  83. // // 尚未登录的逻辑处理
  84. // return false
  85. // }
  86. }
  87. ).catch(
  88. (response) => {
  89. reject(response)
  90. }
  91. )
  92. }
  93. })
  94. })
  95. return promise
  96. };
  97. //带Token请求
  98. const TokenRequest = (method, url, data, header) => {
  99. var contentheader = 'application/json'
  100. if (header) {
  101. contentheader = header
  102. }
  103. let ac_token = "";
  104. uni.getStorage({
  105. key: 'userInfo',
  106. success: function(res) {
  107. ac_token = res.data.accessToken
  108. }
  109. });
  110. //此token是登录成功后后台返回保存在storage中的
  111. let DefaultOpts = {
  112. url: baseUrl + url,
  113. data: data,
  114. method: method,
  115. header: {
  116. 'content-type': contentheader,
  117. 'Token': ac_token,
  118. }
  119. }
  120. let promise = new Promise(function(resolve, reject) {
  121. uni.request(DefaultOpts).then(
  122. (res) => {
  123. console.log(JSON.stringify(res[1].data))
  124. if (res[1].data.code == '200' || res[1].data.code == 200) {
  125. // 后端返回的状态码100为成功状态,成功则返回请求结果,在app调试时可以通过console.log(JSON.stringify(res[1].data))来查看返回值(以项目实际情况为准)
  126. resolve(res[1].data)
  127. }
  128. if (res[1].data.code == '105' || res[1].data.code == 105) {
  129. // 后端返回状态码为105则为未登录状态(以项目实际情况为准)
  130. uni.showToast({
  131. icon: 'none',
  132. title: '尚未登录',
  133. duration: 2000
  134. });
  135. // 尚未登录的逻辑处理
  136. return false
  137. }
  138. }
  139. ).catch(
  140. (response) => {
  141. reject(response)
  142. }
  143. )
  144. })
  145. return promise
  146. }
  147. export default {
  148. baseUrl,
  149. baseRequest,
  150. TokenRequest
  151. }