docs: annotate all shared frontend modules in Chinese
This commit is contained in:
1 parent
2be21c1c62
commit
408f8e5c98
55 files changed
+349
No files matched your search
@@ -1,5 +1,7 @@
|
||||
/** 浅色/深色/跟随系统三态主题,使用共享 Nuxt 状态与 html.app-dark 驱动组件和原生控件。 */
|
||||
import { computed } from "vue";
|
||||
import { useState } from "#app";
|
||||
// 存储不可用或值未知时安全回落 auto,不让浏览器隐私限制阻断页面初始化。
|
||||
function n(e) {
|
||||
try {
|
||||
let t = (e ?? globalThis.localStorage)?.getItem(`theme`);
|
||||
@@ -28,6 +30,7 @@ function s() {
|
||||
document.documentElement.classList.contains(`app-dark`),
|
||||
),
|
||||
l = () => window.matchMedia(`(prefers-color-scheme: dark)`);
|
||||
// 仅 auto 读取系统偏好;显式 light/dark 不受系统变化影响。
|
||||
function u() {
|
||||
c.value = s.value === `dark` || (s.value === `auto` && l().matches);
|
||||
}
|
||||
@@ -43,12 +46,14 @@ function s() {
|
||||
m = () => {
|
||||
s.value === `auto` && f();
|
||||
};
|
||||
// init 前先移除旧监听,dispose 供应用入口卸载时释放媒体查询监听。
|
||||
function h() {
|
||||
(p?.removeEventListener(`change`, m), (p = null));
|
||||
}
|
||||
function g() {
|
||||
(h(), (s.value = n()), f(), (p = l()), p.addEventListener(`change`, m));
|
||||
}
|
||||
// 调用方传入已知模式;持久化失败不影响当前页面切换。
|
||||
function _(e) {
|
||||
s.value = e;
|
||||
try {
|
||||
|
||||
Reference in new issue
Block a user