api.js 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. import config from '../config.js';
  2. const getDomain = (uri, method, type) => {
  3. // let system = config.system;
  4. let url = config.serverUrl;
  5. if (type && type == 'file') return url + `/files` + uri;
  6. if (type && type == 'integral') {
  7. let integral = `/point/zr/v1/api` + uri;
  8. if (config.wx_dev) integral = url + `${config.wx_dev}` + integral;
  9. else integral = url + integral;
  10. return integral
  11. }
  12. if (type && type == 'group') {
  13. let group = `/point/group/v1/api` + uri;
  14. if (config.wx_dev) group = url + `${config.wx_dev}` + group;
  15. else group = url + group;
  16. return group
  17. }
  18. if (uri.startsWith('/wechat/api')) return url + uri;
  19. let general = `/point/v1/api` + uri;
  20. if (config.wx_dev) general = url + `${config.wx_dev}` + general;
  21. else general = url + general;
  22. return general;
  23. // if (type && type == 'file') return url + `/files` + uri;
  24. // if (type && type == 'integral') {
  25. // let integral_1 = `/point/zr/v1/api` + uri;
  26. // if (config.wx_dev) return url + `${config.wx_dev}` + integral_1;
  27. // else return url + integral_1;
  28. // }
  29. // if (type && type == 'group') {
  30. // let group_1 = `/point/group/v1/api` + uri;
  31. // if (config.wx_dev) return url + `${config.wx_dev}` + group_1;
  32. // else return url + group_1;
  33. // }
  34. // if (uri.startsWith('/wechat/api')) return url + uri;
  35. // else {
  36. // if (system.uniPlatform == 'app') {
  37. // return url + `/point/v1/api` + uri;
  38. // } else if (system.uniPlatform == 'mp-weixin') {
  39. // // if (wx_env.envVersion == 'develop' || wx_env.envVersion == 'trial') {
  40. // // return url + `${config.wx_dev}/point/v1/api` + uri;
  41. // // } else if (wx_env.envVersion == 'release') {
  42. // // return url + '/point/v1/api' + uri;
  43. // // }
  44. // }
  45. // }
  46. };
  47. // 获取token
  48. const getToken = () => {
  49. try {
  50. const value = uni.getStorageSync('token');
  51. if (value) return value;
  52. } catch {}
  53. };
  54. // 获取请求key
  55. const getRequestKey = (views) => {
  56. let baseUrl = getDomain('/util/crk');
  57. return new Promise((resolve, reject) => {
  58. uni.request({
  59. url: baseUrl,
  60. method: 'POST',
  61. header: {
  62. views
  63. },
  64. success: (res) => {
  65. if (res.data && res.data.data) resolve(res.data.data);
  66. else reject();
  67. },
  68. fail: (err) => {
  69. console.error(err)
  70. reject(err);
  71. },
  72. });
  73. });
  74. };
  75. export const requestBase = async (uri, method = 'GET', data, type) => {
  76. let baseUrl = getDomain(uri, method, type);
  77. let token = getToken();
  78. let header = {};
  79. let views = JSON.stringify({
  80. uri,
  81. method
  82. });
  83. views = encodeURIComponent(views)
  84. if (method !== 'GET') {
  85. let rk = await getRequestKey(views);
  86. header.rk = rk;
  87. header.views = views;
  88. }
  89. if (token) header.token = token;
  90. return new Promise((resolve, reject) => {
  91. uni.request({
  92. url: baseUrl,
  93. method: method || 'GET',
  94. data: data || {},
  95. header,
  96. success: (res) => {
  97. resolve(res.data);
  98. },
  99. fail: (err) => {
  100. console.log(err);
  101. uni.showToast({
  102. title: '请求接口失败',
  103. icon: 'fail',
  104. });
  105. reject(err.data);
  106. },
  107. });
  108. });
  109. };
  110. export const requestFile = (uri, method, data, type) => {
  111. let baseUrl = getDomain(uri, method, type);
  112. return new Promise((resolve, reject) => {
  113. uni.uploadFile({
  114. url: baseUrl,
  115. filePath: data,
  116. name: method || 'file',
  117. formData: {},
  118. success: (res) => {
  119. let data = JSON.parse(res.data);
  120. if (data.errcode != '0') {
  121. return uni.showToast({
  122. title: data.errmsg,
  123. icon: 'error',
  124. });
  125. }
  126. resolve(data);
  127. },
  128. fail: (err) => {
  129. let data = JSON.parse(err.data);
  130. uni.showToast({
  131. title: '请求接口失败',
  132. icon: 'fail',
  133. });
  134. reject(data);
  135. },
  136. });
  137. });
  138. };