api.js 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227
  1. import config from '../config.js';
  2. const getDomain = (uri, method, type) => {
  3. let url = config.serverUrl;
  4. if (type && type == 'file') return url + `/files` + uri;
  5. if (type && type == 'integral') {
  6. let integral = `/point/zr/v1/api` + uri;
  7. if (config.wx_dev) integral = url + `${config.wx_dev}` + integral;
  8. else integral = url + integral;
  9. return integral
  10. }
  11. if (type && type == 'group') {
  12. let group = `/point/group/v1/api` + uri;
  13. if (config.wx_dev) group = url + `${config.wx_dev}` + group;
  14. else group = url + group;
  15. return group
  16. }
  17. if (uri.startsWith('/wechat/api')) return url + uri;
  18. let general = `/point/v1/api` + uri;
  19. if (config.wx_dev) general = url + `${config.wx_dev}` + general;
  20. else general = url + general;
  21. return general;
  22. };
  23. // 获取token
  24. const getToken = () => {
  25. try {
  26. const value = uni.getStorageSync('token');
  27. if (value) return value;
  28. } catch {}
  29. };
  30. // 获取请求key
  31. const getRequestKey = (views) => {
  32. let baseUrl = getDomain('/util/crk');
  33. return new Promise((resolve, reject) => {
  34. uni.request({
  35. url: baseUrl,
  36. method: 'POST',
  37. header: {
  38. views
  39. },
  40. success: (res) => {
  41. if (res.data && res.data.data) resolve(res.data.data);
  42. else reject();
  43. },
  44. fail: (err) => {
  45. console.log(err);
  46. },
  47. });
  48. });
  49. };
  50. export const requestBase = async (uri, method = 'GET', data, type) => {
  51. let baseUrl = getDomain(uri, method, type);
  52. let token = getToken();
  53. let header = {};
  54. let views = JSON.stringify({
  55. uri,
  56. method
  57. });
  58. views = encodeURIComponent(views);
  59. if (token) header.token = token;
  60. if (method === 'GET') {
  61. return new Promise((resolve, reject) => {
  62. uni.request({
  63. url: baseUrl,
  64. method: method || 'GET',
  65. data: data || {},
  66. header,
  67. success: (res) => {
  68. resolve(res.data);
  69. },
  70. fail: (err) => {
  71. uni.showToast({
  72. title: '请求接口失败',
  73. icon: 'fail',
  74. });
  75. reject(err.data);
  76. },
  77. });
  78. });
  79. } else if (method === 'POST') {
  80. header.views = views;
  81. return new Promise((resolve, reject) => {
  82. // rk配置
  83. let rkbaseUrl = getDomain('/util/crk');
  84. let pages = getCurrentPages();
  85. let route = pages[pages.length - 1].$page.fullPath;
  86. uni.request({
  87. url: rkbaseUrl,
  88. method: 'POST',
  89. header: {
  90. views,
  91. Referer: route,
  92. },
  93. success: (rkres) => {
  94. if (rkres.data && rkres.data.data) header.rk = rkres.data.data;
  95. header.Referer = route;
  96. uni.request({
  97. url: baseUrl,
  98. method: 'POST',
  99. data: data || {},
  100. header,
  101. success: (res) => {
  102. resolve(res.data);
  103. },
  104. fail: (err) => {
  105. uni.showToast({
  106. title: '请求接口失败',
  107. icon: 'fail',
  108. });
  109. reject(err.data);
  110. },
  111. });
  112. },
  113. });
  114. // uni.request({
  115. // url: baseUrl,
  116. // method: method || 'GET',
  117. // data: data || {},
  118. // header,
  119. // success: (res) => {
  120. // resolve(res.data);
  121. // },
  122. // fail: (err) => {
  123. // uni.showToast({
  124. // title: '请求接口失败',
  125. // icon: 'fail',
  126. // });
  127. // reject(err.data);
  128. // },
  129. // });
  130. });
  131. // uni.request({
  132. // url: baseUrl,
  133. // method: 'POST',
  134. // header: {
  135. // views,
  136. // Referer: route,
  137. // },
  138. // success: (rkres) => {
  139. // if (rkres.data && rkres.data.data) {
  140. // header.rk = rkres.data.data;
  141. // }
  142. // return new Promise((resolve, reject) => {
  143. // uni.request({
  144. // url: baseUrl,
  145. // method: method || 'GET',
  146. // data: data || {},
  147. // header,
  148. // success: (res) => {
  149. // console.log(res);
  150. // resolve(res.data);
  151. // },
  152. // fail: (err) => {
  153. // uni.showToast({
  154. // title: '请求接口失败',
  155. // icon: 'fail',
  156. // });
  157. // reject(err.data);
  158. // },
  159. // });
  160. // });
  161. // },
  162. // fail: (rkerr) => {
  163. // console.log(rkerr);
  164. // },
  165. // });
  166. }
  167. // if (method !== 'GET') {
  168. // header.views = views;
  169. // // rk配置
  170. // let baseUrl = getDomain('/util/crk');
  171. // let test = await getRequestKey(views)
  172. // console.log(test);
  173. // console.log(header);
  174. // }
  175. // if (token) header.token = token;
  176. // return new Promise((resolve, reject) => {
  177. // uni.request({
  178. // url: baseUrl,
  179. // method: method || 'GET',
  180. // data: data || {},
  181. // header,
  182. // success: (res) => {
  183. // resolve(res.data);
  184. // },
  185. // fail: (err) => {
  186. // uni.showToast({
  187. // title: '请求接口失败',
  188. // icon: 'fail',
  189. // });
  190. // reject(err.data);
  191. // },
  192. // });
  193. // });
  194. };
  195. export const requestFile = (uri, method, data, type) => {
  196. let baseUrl = getDomain(uri, method, type);
  197. return new Promise((resolve, reject) => {
  198. uni.uploadFile({
  199. url: baseUrl,
  200. filePath: data,
  201. name: method || 'file',
  202. formData: {},
  203. success: (res) => {
  204. let data = JSON.parse(res.data);
  205. if (data.errcode != '0') {
  206. return uni.showToast({
  207. title: data.errmsg,
  208. icon: 'error',
  209. });
  210. }
  211. resolve(data);
  212. },
  213. fail: (err) => {
  214. let data = JSON.parse(err.data);
  215. uni.showToast({
  216. title: '请求接口失败',
  217. icon: 'fail',
  218. });
  219. reject(data);
  220. },
  221. });
  222. });
  223. };