api.js 1.4 KB

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