diff --git a/plugins/addon/theme_configurator/template/admin/index.html b/plugins/addon/theme_configurator/template/admin/index.html index d8f3696..179ac8a 100644 --- a/plugins/addon/theme_configurator/template/admin/index.html +++ b/plugins/addon/theme_configurator/template/admin/index.html @@ -839,29 +839,15 @@ if (!data) { return showMessage(this, "error", "上传失败:未获取到响应数据"); } - let url = data.url || data.save_name || ""; + // 优先使用后端返回的 image_url,其次 url,最后才是 save_name + let url = data.image_url || data.url || data.save_name || ""; if (!url) { return showMessage(this, "error", "上传失败:未获取到文件地址"); } - // 非绝对地址的情况,按智简魔方上传规则补全到 /upload/common/default/... 这类路径 - if (!/^https?:\/\//i.test(url)) { - // 已包含 /upload/ 的,仅补前导 / - if (url.indexOf("/upload/") === 0) { - // ok - } else if (url.indexOf("upload/") === 0) { - url = "/" + url; - } else if (url.indexOf("/common/") === 0) { - url = "/upload" + url; - } else if (url.indexOf("common/") === 0) { - url = "/upload/" + url; - } else if (url.charAt(0) !== "/") { - // 兜底:直接视为 /upload/ 下的相对路径 - url = "/upload/" + url; - } else { - // 已经是 /xxx 但不含 /upload/,同样前面补 /upload - url = "/upload" + url; - } + // 相对路径前面补一个 /,保持站点根路径 + if (!/^https?:\/\//i.test(url) && url.charAt(0) !== "/") { + url = "/" + url; } this.setConfigByPath(path, url);