api.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  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) => {
  33. console.log(err);
  34. },
  35. });
  36. });
  37. };
  38. // 图片请求
  39. export const requestFile = (uri, method, data, type) => {
  40. // 请求地址
  41. let baseUrl = getDomain(uri, type);
  42. return new Promise((resolve, reject) => {
  43. uni.uploadFile({
  44. url: `https://broadcast.waityou24.cn/${uri}`,
  45. filePath: data,
  46. name: 'file',
  47. formData: {},
  48. success: (res) => toResolve(resolve, res),
  49. error: (e) => toReject(reject, e),
  50. })
  51. });
  52. };
  53. const toResolve = (resolve, result) => {
  54. if (result.statusCode === 200) resolve(result.data);
  55. };
  56. const toReject = (reject, result) => {
  57. reject(result);
  58. };