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