dsh-folia 2.4.4 → 2.4.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/client.js +46 -6
- package/package.json +1 -1
package/lib/client.js
CHANGED
|
@@ -16294,12 +16294,23 @@ window.__ModuleLoader__.load({
|
|
|
16294
16294
|
} else if (kind === "activate") {
|
|
16295
16295
|
setNote({
|
|
16296
16296
|
kind: "ok",
|
|
16297
|
-
text: weT("已切换到「") + label + weT("
|
|
16298
|
-
//
|
|
16299
|
-
//
|
|
16300
|
-
// 不自动刷:用户可能正在输入,突然刷新会打断。
|
|
16297
|
+
text: weT("已切换到「") + label + weT("」,正在刷新界面…"),
|
|
16298
|
+
// 皮肤中心**只在页面加载时**应用皮肤:它的 `POST /v2/active` 也只写状态文件,
|
|
16299
|
+
// 不重绘。所以"真的换肤"只有重新加载这一页一条路 —— 见下面的自动跳转。
|
|
16301
16300
|
reload: true,
|
|
16302
16301
|
});
|
|
16302
|
+
// 一次点击就完成:这里自动重新加载,不再让用户点第二次。
|
|
16303
|
+
// 用 `location.replace(href)` 而非 `reload()`:桌面壳里 reload 有时被吞掉
|
|
16304
|
+
//(表现正是"点了没反应"),硬跳转更容易生效,且 replace 不往历史里塞条目。
|
|
16305
|
+
try {
|
|
16306
|
+
setTimeout(function tryApply() {
|
|
16307
|
+
try {
|
|
16308
|
+
window.location.replace(window.location.href);
|
|
16309
|
+
} catch (e1) {
|
|
16310
|
+
try { window.location.reload(); } catch (e2) { /* 交给手动按钮 */ }
|
|
16311
|
+
}
|
|
16312
|
+
}, 700);
|
|
16313
|
+
} catch { /* 环境不支持 → 手动按钮兜底 */ }
|
|
16303
16314
|
// 不再整表重拉:本地标记已经对了,省掉那 600 ms 的"没反应"窗口。
|
|
16304
16315
|
} else if (kind === "remove") {
|
|
16305
16316
|
setNote({ kind: "ok", text: weT("已删除:") + label });
|
|
@@ -16373,6 +16384,32 @@ window.__ModuleLoader__.load({
|
|
|
16373
16384
|
));
|
|
16374
16385
|
}
|
|
16375
16386
|
|
|
16387
|
+
// ⚠️ **壁纸在台时皮肤不会生效** —— 这是皮肤中心写死的行为,不是我们的 bug:
|
|
16388
|
+
// · host 侧:peer(= 本插件)持久化的壁纸选择非空时,它从文档里**扣住**皮肤;
|
|
16389
|
+
// · client 侧:它盯 `body[data-we-wallpaper]`,只要那个标记在,就把皮肤让位
|
|
16390
|
+
// (源码注释:`an active WE wallpaper suppresses skin media`)。
|
|
16391
|
+
// 于是"点了使用但界面没变"最可能的原因就是**壁纸还开着**。这里直接读那个标记,
|
|
16392
|
+
// 命中就把话说清楚,并告诉用户该先做什么。
|
|
16393
|
+
let wallpaperOn = false;
|
|
16394
|
+
try {
|
|
16395
|
+
wallpaperOn = Boolean(document.body && document.body.hasAttribute("data-we-wallpaper"));
|
|
16396
|
+
} catch { /* 拿不到 DOM 就当没有 */ }
|
|
16397
|
+
if (wallpaperOn) {
|
|
16398
|
+
children.push(React.createElement("div", {
|
|
16399
|
+
key: "wpwarning",
|
|
16400
|
+
className: "we-picker__hint",
|
|
16401
|
+
style: {
|
|
16402
|
+
margin: "4px 0 10px",
|
|
16403
|
+
padding: "7px 10px",
|
|
16404
|
+
borderRadius: "8px",
|
|
16405
|
+
background: "rgba(255,196,120,0.12)",
|
|
16406
|
+
color: "#ffd08a",
|
|
16407
|
+
lineHeight: 1.5,
|
|
16408
|
+
},
|
|
16409
|
+
}, weT("⚠️ 当前有壁纸在台:皮肤会被壁纸让位,切换不会生效。")
|
|
16410
|
+
+ weT(" 先到「壁纸」页签点「清除」,再回来切换皮肤。")));
|
|
16411
|
+
}
|
|
16412
|
+
|
|
16376
16413
|
if (error) {
|
|
16377
16414
|
children.push(React.createElement("div", {
|
|
16378
16415
|
key: "err",
|
|
@@ -16400,8 +16437,11 @@ window.__ModuleLoader__.load({
|
|
|
16400
16437
|
className: "we-picker__btn we-picker__btn--primary",
|
|
16401
16438
|
style: { fontSize: "11.5px", padding: "3px 10px" },
|
|
16402
16439
|
onClick: () => {
|
|
16403
|
-
//
|
|
16404
|
-
|
|
16440
|
+
// 与自动那条路一致:优先硬跳转,退而 reload。只重载前端页面 ——
|
|
16441
|
+
// 对话与设置都在宿主侧,不会丢。
|
|
16442
|
+
try { window.location.replace(window.location.href); } catch {
|
|
16443
|
+
try { window.location.reload(); } catch { /* 极端环境刷不动就让用户手动重启 */ }
|
|
16444
|
+
}
|
|
16405
16445
|
},
|
|
16406
16446
|
title: weT("重新加载界面以应用新皮肤(对话与设置都在宿主侧,不会丢)"),
|
|
16407
16447
|
}, weT("立即生效"))
|