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