request.js 2.8 KB

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