request.js 3.9 KB

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