request.js 3.3 KB

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