file.js 1.4 KB

12345678910111213141516171819202122232425262728293031
  1. "use strict";
  2. const common_vendor = require("../common/vendor.js");
  3. const settings_enums = require("../settings/enums.js");
  4. const settings_siteSetting = require("../settings/siteSetting.js");
  5. const utils_is = require("./is.js");
  6. function getFileUrl(url, planB = false) {
  7. if (url === "")
  8. return url;
  9. if (!utils_is.isString(url))
  10. return url;
  11. if (url.indexOf("/static") === 0)
  12. return url;
  13. if (/^(https|http):\/\//i.test(url) || /^(data|http|https):/i.test(url) || url.indexOf("http://") >= 0 || url.indexOf("https://") >= 0)
  14. return url;
  15. if (!/^\//.test(url) && !planB)
  16. url = `/orderFood/${url}`;
  17. url = url.replace(/\.+\//gi, "/").replace(/~+/gi, "/").replace(/\/+/gi, "/").replace(/\//, "").replace(/\\/g, "/");
  18. let prefix = common_vendor.index.getStorageSync(settings_enums.CDN_CACHE_KEY) || settings_siteSetting.DEFAULT_CDN_URL;
  19. if (planB)
  20. prefix = common_vendor.index.getStorageSync("CDN_UPLOAD") || settings_siteSetting.UPLOAD;
  21. const systemInfo = common_vendor.index.getSystemInfoSync();
  22. const platform = systemInfo.platform;
  23. if (url.split(".")[1] == "webp" && platform == "ios") {
  24. if (systemInfo.osVersion.split(".")[0] < "18" || systemInfo.osVersion.split(".")[0] == "18" && systemInfo.osVersion.split(".")[1] < "2") {
  25. url = url.split(".")[0] + ".jpg";
  26. }
  27. }
  28. return prefix + url;
  29. }
  30. exports.getFileUrl = getFileUrl;
  31. //# sourceMappingURL=../../.sourcemap/mp-weixin/utils/file.js.map