api.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. import config from "../common/config";
  2. const getDomain = (uri, type) => {
  3. const {
  4. serverUrl,
  5. wechatUrl
  6. } = config;
  7. // 自定义
  8. if (uri.includes("http")) return uri;
  9. // 微信
  10. if (uri.startsWith("/wechat/api")) return wechatUrl + uri;
  11. // 地址前缀
  12. else if (type) return serverUrl + `/projectadmin/${type}/api/` + uri;
  13. // 常规
  14. return serverUrl + "/projectadmin/api/" + uri;
  15. };
  16. // 常规请求
  17. export const requestBase = async (uri, method = "GET", data, type) => {
  18. // 请求地址
  19. let baseUrl = getDomain(uri, type);
  20. // 请求头
  21. let header = {};
  22. // 用户信息
  23. let token = "";
  24. if (token) header.token = token;
  25. return new Promise((resolve, reject) => {
  26. uni.request({
  27. url: baseUrl,
  28. method,
  29. data,
  30. header,
  31. success: (res) => toResolve(resolve, res),
  32. fail: (err) => toReject(reject, err),
  33. });
  34. });
  35. };
  36. // 图片请求
  37. export const requestFile = (uri, method, data, type) => {
  38. // 请求地址
  39. let baseUrl = getDomain(uri, type);
  40. return new Promise((resolve, reject) => {
  41. uni.uploadFile({
  42. url: `https://broadcast.waityou24.cn/${uri}`,
  43. filePath: data,
  44. name: 'file',
  45. formData: {},
  46. success: (res) => toResolve(resolve, res),
  47. error: (e) => toReject(reject, e),
  48. })
  49. });
  50. };
  51. const toResolve = (resolve, result) => {
  52. if (result.statusCode === 200) resolve(result.data);
  53. };
  54. const toReject = (reject, result) => {
  55. reject(result);
  56. };