request.js 3.0 KB

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