fix: refresh stale ToolHub settings schema
This commit is contained in:
@@ -886,6 +886,40 @@ var ConfigManager = {
|
|||||||
if (sStr.indexOf("ENABLE_SNAP_TO_EDGE") < 0 || sStr.indexOf("ENABLE_ANIMATIONS") < 0 || sStr.indexOf("BALL_IDLE_ALPHA") < 0 || sStr.indexOf("PANEL_POS_GRAVITY") < 0 || sStr.indexOf("single_choice") < 0 || sStr.indexOf("ball_shortx_icon") < 0 || sStr.indexOf("ball_color") < 0 || sStr.indexOf("SETTINGS_THEME") < 0 || sStr.indexOf("BALL_BG_COLOR_HEX") < 0 || sStr.indexOf("BALL_ICON_SIZE_DP") < 0 || sStr.indexOf("TOOLAPP_BACK_EDGE_WIDTH_DP") < 0 || sStr.indexOf("TOOLAPP_BACK_COMMIT_DISTANCE_DP") < 0 || sStr.indexOf("TOOLAPP_BACK_PROGRESS_DISTANCE_DP") < 0) {
|
if (sStr.indexOf("ENABLE_SNAP_TO_EDGE") < 0 || sStr.indexOf("ENABLE_ANIMATIONS") < 0 || sStr.indexOf("BALL_IDLE_ALPHA") < 0 || sStr.indexOf("PANEL_POS_GRAVITY") < 0 || sStr.indexOf("single_choice") < 0 || sStr.indexOf("ball_shortx_icon") < 0 || sStr.indexOf("ball_color") < 0 || sStr.indexOf("SETTINGS_THEME") < 0 || sStr.indexOf("BALL_BG_COLOR_HEX") < 0 || sStr.indexOf("BALL_ICON_SIZE_DP") < 0 || sStr.indexOf("TOOLAPP_BACK_EDGE_WIDTH_DP") < 0 || sStr.indexOf("TOOLAPP_BACK_COMMIT_DISTANCE_DP") < 0 || sStr.indexOf("TOOLAPP_BACK_PROGRESS_DISTANCE_DP") < 0) {
|
||||||
needReset = true;
|
needReset = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 旧 schema.json 可能已经含有 key,但 UI 文案/范围仍是旧值;关键字段不一致时也强制刷新
|
||||||
|
var findSchemaItemByKey = function(arr, key) {
|
||||||
|
if (!arr) return null;
|
||||||
|
for (var i = 0; i < arr.length; i++) {
|
||||||
|
var it = arr[i];
|
||||||
|
if (it && it.key === key) return it;
|
||||||
|
var child = null;
|
||||||
|
if (it && it.children) child = findSchemaItemByKey(it.children, key);
|
||||||
|
if (!child && it && it.items) child = findSchemaItemByKey(it.items, key);
|
||||||
|
if (child) return child;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
};
|
||||||
|
var schemaItemDiffers = function(key, fields) {
|
||||||
|
var cur = findSchemaItemByKey(s, key);
|
||||||
|
var def = findSchemaItemByKey(ConfigManager.defaultSchema, key);
|
||||||
|
if (!cur || !def) return true;
|
||||||
|
for (var i = 0; i < fields.length; i++) {
|
||||||
|
var f = fields[i];
|
||||||
|
if (typeof def[f] !== "undefined" && String(cur[f]) !== String(def[f])) return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
};
|
||||||
|
if (!needReset) {
|
||||||
|
if (schemaItemDiffers("BALL_ICON_TINT_HEX", ["name", "type"]) ||
|
||||||
|
schemaItemDiffers("BALL_ICON_SIZE_DP", ["name", "type", "min", "max", "step"]) ||
|
||||||
|
schemaItemDiffers("BALL_BG_COLOR_HEX", ["name", "type"]) ||
|
||||||
|
schemaItemDiffers("TOOLAPP_BACK_EDGE_WIDTH_DP", ["name", "type", "min", "max", "step"]) ||
|
||||||
|
schemaItemDiffers("TOOLAPP_BACK_COMMIT_DISTANCE_DP", ["name", "type", "min", "max", "step"]) ||
|
||||||
|
schemaItemDiffers("TOOLAPP_BACK_PROGRESS_DISTANCE_DP", ["name", "type", "min", "max", "step"])) {
|
||||||
|
needReset = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
// # 仅当文件不存在时才标记为需要重置(新建),避免因读取失败导致覆盖
|
// # 仅当文件不存在时才标记为需要重置(新建),避免因读取失败导致覆盖
|
||||||
try {
|
try {
|
||||||
|
|||||||
@@ -2,8 +2,8 @@
|
|||||||
"alg": "SHA256withRSA",
|
"alg": "SHA256withRSA",
|
||||||
"files": {
|
"files": {
|
||||||
"th_01_base.js": {
|
"th_01_base.js": {
|
||||||
"sha256": "b1ff842821c7d7c8d40543f74ba54134289d7ff4bb412c439ee0e96756744f95",
|
"sha256": "6066fdd266c85adb6b2ca2168845fb4618f952256fcc3aeb1f133160b505fa15",
|
||||||
"size": 54166
|
"size": 55958
|
||||||
},
|
},
|
||||||
"th_02_core.js": {
|
"th_02_core.js": {
|
||||||
"sha256": "15bb9bfbd19a673d442e221b0a00a456ed5f87af2666b9c73b117d6223faeecd",
|
"sha256": "15bb9bfbd19a673d442e221b0a00a456ed5f87af2666b9c73b117d6223faeecd",
|
||||||
@@ -68,5 +68,5 @@
|
|||||||
},
|
},
|
||||||
"keyId": "toolhub-targets-2026-rsa3072",
|
"keyId": "toolhub-targets-2026-rsa3072",
|
||||||
"schema": 2,
|
"schema": 2,
|
||||||
"version": 20260518163640
|
"version": 20260518164547
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
alRPatTnVV9xdtK76WLorimRuW2Lx3XXOsFDdOukNr/r518G+GCfm1Q6PA8rDvdfPb32ujMtizTkSogiONUWE8nFMg/JSRQbFYClvJaNx+utHFSeJS0l9gSiGJFHnjNO0AXfw2+5Ya1040g8NxERYDpfhC4evUTjs8+l5mTu2jX9Wf6w1z+MqEHtCpPafCNBjgl9nIRV6fRKBul/WsdtfNJ+KwLEaBUMRfK/P97IkNHWwYk+v49paPcyATon3AgYzJP1jrMfZ9BP0IOaoJLNu2srFfY606VOF4kgDjOyp9GcLhCbH7TIZkQJkeqKFBIL0JGukIaY0aKm2A+ABexsaInti9l+vlwbh++5JnuB4+C+5ZGNqOkNC5zmtxf3fFuBRO9mLZ2esvffN2opH2Jffed3yn+O5pSNccsnfLFZ8bDsL+zmzxGwpnjkYFKU/PI+7Zj5CmJwNCNmCqaHlx4QTzhHhudygwzF31PKAlD10pBKNb0IMo9doupg/DblzpHe
|
KaDfDzHxHnW41gnd+x+uamSg0x1kQYMZKRCLgUMnOwFksc08+vq06eI+ElnZP7vPLXVEoo+avqjh7fxC4z1hIYfRvhWyhcHJ1NCaKjmdRgsORXGOP17YFnzS389Xk3hgPlidJU3VLhDgEUEa1Q2Wt4nQ+7fXZY1Lw4SUBU2Ovk02u9eIOxXPmEJ9lOnnuXS9OfiwOpwS7HKeVQQmPiBb0VPaQYeRBojYVCVgp6kCNedvpsyw1rd25oXPUOaJkvvDc1qKO7P+yGrI8QUe3e4bzFcXT555C6op6RBk5mEVsvlq0dZKZoK63BqCrQHQAoDzAONdJ0zPV+jjpb+P0sqK1ztMlupOJJN21C6EdaibHQ3ZcnV4Tep281z5+9wpiSgx5CbIvT10gjIJ+lJaT8yFQA14IkqoL2nyKccsPoLfBIqA9KrSiaK9COrRbvCMbBUMa0KgVELoBfb3puXBqczRD/wxXfQPmZFVWDucq0sW/sCt5F73JC/gUXcpmuVTFJeH
|
||||||
|
|||||||
Reference in New Issue
Block a user