|
@@ -274,21 +274,38 @@
|
|
|
);
|
|
);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- function loadPolicies(url, isFallback) {
|
|
|
|
|
- return fetch(url)
|
|
|
|
|
|
|
+ function loadPolicies(source) {
|
|
|
|
|
+ return fetch(source.url)
|
|
|
.then(function (response) {
|
|
.then(function (response) {
|
|
|
if (!response.ok) throw new Error("HTTP " + response.status);
|
|
if (!response.ok) throw new Error("HTTP " + response.status);
|
|
|
return response.json();
|
|
return response.json();
|
|
|
})
|
|
})
|
|
|
.then(function (data) {
|
|
.then(function (data) {
|
|
|
- applyPolicies(data, isFallback ? "local" : "remote");
|
|
|
|
|
|
|
+ applyPolicies(data, source.label);
|
|
|
});
|
|
});
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- loadPolicies(downloadURL, false).catch(function (err) {
|
|
|
|
|
- console.warn("[zhaoshang] 政策列表下载失败,尝试本地兜底:", err);
|
|
|
|
|
- loadPolicies(localFallbackURL, true).catch(function (fallbackErr) {
|
|
|
|
|
- console.warn("[zhaoshang] 本地政策列表也加载失败:", fallbackErr);
|
|
|
|
|
|
|
+ // 开发环境优先读本地副本:远端那份 327 条全都没有 data.市级政策id,
|
|
|
|
|
+ // 政策详情面板的「政策名称」会因此拼不出地址、点不开;本地这份有 261/262。
|
|
|
|
|
+ // 由 VITE_POLICY_LOCAL_FIRST 控制(仅 .env.development 为 true)
|
|
|
|
|
+ var localFirst = "%VITE_POLICY_LOCAL_FIRST%" === "true";
|
|
|
|
|
+ var sources = localFirst
|
|
|
|
|
+ ? [
|
|
|
|
|
+ { url: localFallbackURL, label: "local" },
|
|
|
|
|
+ { url: downloadURL, label: "remote" },
|
|
|
|
|
+ ]
|
|
|
|
|
+ : [
|
|
|
|
|
+ { url: downloadURL, label: "remote" },
|
|
|
|
|
+ { url: localFallbackURL, label: "local" },
|
|
|
|
|
+ ];
|
|
|
|
|
+
|
|
|
|
|
+ loadPolicies(sources[0]).catch(function (err) {
|
|
|
|
|
+ console.warn(
|
|
|
|
|
+ "[zhaoshang] 政策列表(" + sources[0].label + ")加载失败,尝试另一个来源:",
|
|
|
|
|
+ err
|
|
|
|
|
+ );
|
|
|
|
|
+ loadPolicies(sources[1]).catch(function (fallbackErr) {
|
|
|
|
|
+ console.warn("[zhaoshang] 政策列表两个来源都加载失败:", fallbackErr);
|
|
|
globalThis.policiesPublic = [];
|
|
globalThis.policiesPublic = [];
|
|
|
});
|
|
});
|
|
|
});
|
|
});
|