From 7cb1bdace47f3f9fea3cd7fd010c9717ffe60d08 Mon Sep 17 00:00:00 2001 From: MeowOS Date: Tue, 1 Sep 2026 03:40:28 +0800 Subject: [PATCH] =?UTF-8?q?meowpanel:=20=E6=96=B0=E5=A2=9E=20/api/audio?= =?UTF-8?q?=EF=BC=88audiod=20MSG=5FAUDIO=5FQUERY=E2=86=92STATE=20=E9=80=8F?= =?UTF-8?q?=E4=BC=A0,=20=E4=B8=8D=E5=9C=A8=E6=97=B6=20available:false?= =?UTF-8?q?=EF=BC=89+=20=E5=89=8D=E7=AB=AF=E3=80=8C=E9=9F=B3=E9=A2=91?= =?UTF-8?q?=E3=80=8D=E9=A1=B5(5s=E8=BD=AE=E8=AF=A2=E5=8F=AA=E8=AF=BB)?= =?UTF-8?q?=E4=B8=8E=E3=80=8C=E5=AD=97=E4=BD=93=E3=80=8D=E9=A1=B5(?= =?UTF-8?q?=E5=88=97=E8=A1=A8/=E4=B8=8A=E4=BC=A0=E8=BF=9B=E5=BA=A6?= =?UTF-8?q?=E6=80=81/=E5=AF=BC=E5=87=BA/409=E5=86=B2=E7=AA=81=E7=A1=AE?= =?UTF-8?q?=E8=AE=A4force=E9=87=8D=E8=AF=95);=20=E5=90=8E=E7=AB=AF=20md5?= =?UTF-8?q?=20015f9cf1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- patch_v2/meowpanel/README.md | 36 ++++++- patch_v2/meowpanel/meowpanel | Bin 218508 -> 220668 bytes patch_v2/meowpanel/meowpanel.c | 76 ++++++++++++++- patch_v2/meowpanel/meowpanel_host | Bin 147480 -> 147760 bytes patch_v2/meowpanel/web/index.html | 8 ++ patch_v2/meowpanel/web/meowpanel.js | 140 +++++++++++++++++++++++++++- 6 files changed, 253 insertions(+), 7 deletions(-) diff --git a/patch_v2/meowpanel/README.md b/patch_v2/meowpanel/README.md index 0903d27..e75307d 100644 --- a/patch_v2/meowpanel/README.md +++ b/patch_v2/meowpanel/README.md @@ -28,7 +28,7 @@ cd /home/Aska/Project/R3ProII/patch_v2/meowpanel - 两分支均以 `-Os -Wall -Wextra` 复核,**0 warning**(`-Werror` 亦通过)。 - 产出(本次构建实测): - `meowpanel`:mipsel 静态,`ELF 32-bit LSB executable, MIPS, MIPS32 rel2, statically linked, stripped`, - 体积约 **218 KB**(固件阈值内)。md5:`51ffc183403aa20e0d19d0f811c300b7`(本次含字体库 tar.gz 导入/导出 + 排序修复)。 + 体积约 **218 KB**(固件阈值内)。md5:`015f9cf1c12e36d133b01cf6b6648edd`(本次含 `/api/audio` 音频状态端点 + 前端「音频」「字体」页)。 - `meowpanel_host`:aarch64 动态链接(宿主编译,仅供调试),体积约 **148 KB**。 - 依赖:仅 libc + Linux 内核头(`linux/input.h`),零第三方库(设备无 python3/lua)。鉴权用**内联 SHA-256**(拷贝自 `meow_verify/sha256.c` 公有领域参考写法,前缀 `mp_sha256_*` 避免符号冲突;**未改 `meow_verify/` 目录**)。 @@ -112,6 +112,7 @@ http://.local:8080/ | GET | `/api/fonts` | 字体库列表(扫描 `MeowOS/fonts///` 三件套齐) | ✅(无卡→503) | | POST | `/api/fonts/import` | 上传字体库 `.tar.gz`(multipart `file`,可带 `?force=1` 覆盖) | ✅(缺件/坏json/穿越→400,冲突→409,超限→413) | | GET | `/api/fonts/export` | 导出 `//` 三件套为 `.tar.gz`(`?family=&weight=`) | ✅(缺件→404) | +| GET | `/api/audio` | 音频状态快照:meow_audiod IPC `MSG_AUDIO_QUERY→STATE` 透传(当前流/路由/音量/underrun,见 §5.12) | ✅(audiod 不在→`available:false`,不报错) | | GET | `/api/apps` | 扫描 `MeowAPPs/` 读 `app.json` | ✅ | | GET | `/api/apps/:pkg` | 应用详情 | ✅ | | POST | `/api/apps/install` | 经 `nyai install`(multipart 或 path) | ✅ | @@ -306,6 +307,27 @@ http://.local:8080/ 再导入→逐字节一致;GNU tar/`tarfile` 均能读;目录穿越 `../`/绝对路径/软链成员/缺件/坏 font.json/多出条目/ 子目录包裹/非 gzip——全部拒绝;打包文件名 `-.font.tar.gz`。见 §7 宿主测试备注。 +### 5.12 音频状态(`/api/audio`,新增,AUDIOD_DESIGN §8 面板对接) +- **数据源**:`meow_audiod` 独占音频守护(板载进固件,svcd 托管;HibyOS 模式按门控不启动)。 + 后端连 `/usr/data/meow_audio.sock`(可被 `--sock-audio` / env `MEOW_AUDIO_SOCK` 覆盖,宿主/qemu 测试用, + 与 audiod CLI 同 env),发 `MSG_AUDIO_QUERY`(0x00C7) 空负载,收 `MSG_AUDIO_STATE`(0x00C8) 文本帧 + (`active=.. app=.. sid=.. rate=.. ch=.. fmt=.. written=.. played=.. underrun=.. paused=.. route_mode=.. port=.. vol=..`, + 空格分隔 k=v、NUL 结尾)。**audiod 无 MSG_HELLO 握手**(见 meow_audio.c CLI),与 perf/power/launcher 路径不同。 +- **响应**:解析 k=v 为 JSON——`{available:true, active, app, sid, rate, ch, fmt, written_frames, played_frames, + underrun, paused, route_mode("auto"/"manual"), port, vol}`;`port` 为 amixer numid=9 路由口 + (0=空闲 1=lineout 2=3.5 3=4.4 4=Type-C SPDIF;宿主无 amixer 时为 -1)。 +- **audiod 不在**(socket 缺失/连接拒/超时/非预期应答)→ HTTP 200 `{"available":false}`,**不报错**(面板音频页显示 + 「audiod 不可用」)。只读端点;不放测试音(真机乱响风险,tone 留给 CLI `meow_audio tone`)。 +- **前端**:「音频」页(`web/#/audio`)5s 轮询展示——当前流(app/rate/ch/fmt/已写帧/已播放帧/underrun/暂停态)+ + 路由口 + 音量 + audiod 可用性;切页即停轮询。 + +### 5.13 字体管理页(前端 `web/#/fonts`,新增) +- 后端 `/api/fonts*` 三端点(§5.11,agent-243 落地)的专属页面:表格列出 family/weight/name/tier/glyph_count, + 行内「导出」(busy 防连点「打包中…」)+ 顶部「上传字体库 .tar.gz」(导入中禁用按钮=进度态)+「刷新」。 +- 上传遇 **409 CONFLICT**(同 family/weight 已存在)→ 弹确认框,确认后带 `?force=1` 重试;成功 toast 带 + `family/weight` 与 `warning`(sha256 不符仅提示)/`hint`。 +- 设置页原「字体库」卡保留(同一后端,互不影响)。 + --- ## 6. 与协议的出入(「实现为准 + 原因」,供回改 MEOWPANEL_PROTOCOL.md) @@ -345,6 +367,10 @@ http://.local:8080/ 上限 32MB,`?force=1` 覆盖)/`/api/fonts/export`(导出,GET,`-.font.tar.gz`)。前两者由前端设置页「字体库」卡接入。 还修正了 `/api/files` 排序:**目录优先 + 名称自然排序**(数字感知 track2.local:8080/ ``` patch_v2/meowpanel/ -├── meowpanel.c # 后端源码(约 4560 行,-Wall -Wextra 0 warning;含可选鉴权/内联 SHA-256/实时画面+增量帧/触摸注入/通知 IPC 实时化/字体库 tar.gz 导入导出/自然排序) +├── meowpanel.c # 后端源码(约 4650 行,-Wall -Wextra 0 warning;含可选鉴权/内联 SHA-256/实时画面+增量帧/触摸注入/通知 IPC 实时化/字体库 tar.gz 导入导出/自然排序/audiod 状态快照) ├── mp_jpeg.c # 最小 baseline JPEG 编码器(顺序 DCT + 4:2:0 + 标准 Huffman,整数定点,无 libm,-Wall -Wextra 0 warning) ├── mp_jpeg.h # mp_jpeg.c 接口(RGB565 → 内存 JPEG) ├── build_meowpanel.sh # 交叉编译 + host 分支(-Wall -Wextra 0 warning;meowpanel.c + mp_jpeg.c) -├── meowpanel # 交叉产物(mipsel 静态,约 218 KB,md5 51ffc183…) +├── meowpanel # 交叉产物(mipsel 静态,约 218 KB,md5 015f9cf1…) ├── meowpanel_host # 宿主编译(本机 ld,调试用) ├── services.d/ │ └── meowpanel.conf # 部署到 TF 卡 MeowOS/services.d/meowpanel.conf ├── web/ # 前端(已存在;部署时拷到后端同目录) -│ ├── index.html # 含登录页 overlay + 设置密码对话框 +│ ├── index.html # 含登录页 overlay + 设置密码对话框 + 音频/字体导航 │ ├── meowpanel.css # 含登录页样式 -│ └── meowpanel.js # API 客户端带 token/401 登录、设置页鉴权卡片 +│ └── meowpanel.js # API 客户端带 token/401 登录、设置页鉴权卡片、音频页(5s轮询)/字体页 └── README.md # 本文件 ``` diff --git a/patch_v2/meowpanel/meowpanel b/patch_v2/meowpanel/meowpanel index babe7344ccdc1added8c3968a0aaa809ea938cfd..693a7c44048b2985df3ea89440ec0041fdd5e262 100755 GIT binary patch delta 74936 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 QhNR2yG>yke+-7$8e-i}Q*#H0l delta 72615 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/notificat #define PERF_SOCK "/usr/data/meow_perf.sock" #define POWER_SOCK "/usr/data/meow_power.sock" #define LAUNCHER_SOCK "/usr/data/meow_ipc.sock" /* launcher 主 IPC(通知活跃集查询/撤清) */ +#define AUDIO_SOCK "/usr/data/meow_audio.sock" /* meow_audiod 状态快照(MSG_AUDIO_QUERY→STATE) */ #define NYAI_PATH "/usr/bin/nyai" /* 固件内置(权威) */ #define NYAI_PATH_CARD "/usr/data/mnt/sd_0/MeowOS/opt/bin/nyai" /* 旧卡上路径(回退) */ #define BOOT_DEFAULT_FILE "/data/meow_boot_default" @@ -123,6 +124,7 @@ static const char *g_sensitive_names[] = { static const char *g_sock_perf = PERF_SOCK; static const char *g_sock_power = POWER_SOCK; static const char *g_sock_launcher = LAUNCHER_SOCK; +static const char *g_sock_audio = AUDIO_SOCK; /* ---------------- 增量帧缓存(GET /api/screen.jpeg?delta=1,阶段 C 增强) ---------------- * 服务端缓存上一帧紧凑 RGB565,按 8×8 块比对,只编码变化块(外接 bbox 子图)并以响应头回传偏移。 @@ -908,6 +910,72 @@ done: return rc; } +/* ---------------- 音频状态:meow_audiod IPC(MSG_AUDIO_QUERY→MSG_AUDIO_STATE) ---------------- + * audiod 无 MSG_HELLO 握手(见 patch_v2/meow_audiod/meow_audio.c CLI:直连发空负载 QUERY, + * 收 STATE 文本帧——"k=v" 空格分隔、NUL 结尾)。audiod 不在/超时/应答异常一律回 + * {"available":false}(HTTP 200,不报错)——面板音频页据此显示「audiod 不可用」。 + * socket 可被 env MEOW_AUDIO_SOCK / --sock-audio 覆盖(宿主/qemu 测试用,与 audiod CLI 同 env)。 */ +static const char *audio_kv(const char *txt, const char *key, char *out, size_t cap) +{ + size_t kl = strlen(key); + const char *p = txt; + while (p && *p) { + if (!strncmp(p, key, kl) && p[kl] == '=') { + p += kl + 1; + size_t n = strcspn(p, " \t\n"); + if (n >= cap) n = cap - 1; + memcpy(out, p, n); + out[n] = 0; + return out; + } + p = strchr(p, ' '); + if (p) p++; + } + out[0] = 0; + return NULL; +} +static long long audio_kv_ll(const char *txt, const char *key, long long defv) +{ + char b[64]; + if (!audio_kv(txt, key, b, sizeof b) || !b[0]) return defv; + return strtoll(b, NULL, 10); +} + +static int api_audio(int sock) +{ + int fd = ipc_connect_tmo(g_sock_audio, IPC_TIMEOUT_MS); + if (fd < 0) return send_json(sock, 200, "{\"available\":false}"); + uint8_t buf[MEOW_IPC_MAX]; + uint16_t type = 0; uint32_t rid = 0; + int n = -1; + if (send_frame(fd, MSG_AUDIO_QUERY, 5, NULL, 0) == 0) + n = recv_frame(fd, &type, &rid, buf, sizeof buf - 1); + close(fd); + if (n <= 0 || type != MSG_AUDIO_STATE) + return send_json(sock, 200, "{\"available\":false}"); + buf[n] = 0; + const char *txt = (const char *)buf; + char app[MEOW_APP_ID_MAX + 8], fmt[32], rmode[16]; + audio_kv(txt, "app", app, sizeof app); + audio_kv(txt, "fmt", fmt, sizeof fmt); + audio_kv(txt, "route_mode", rmode, sizeof rmode); + sbuf_t s = {0}; + sA(&s, "{\"available\":true,\"active\":%lld,\"app\":", audio_kv_ll(txt, "active", 0)); + sA_str(&s, app); + sA(&s, ",\"sid\":%lld,\"rate\":%lld,\"ch\":%lld,\"fmt\":", + audio_kv_ll(txt, "sid", 0), audio_kv_ll(txt, "rate", 0), audio_kv_ll(txt, "ch", 0)); + sA_str(&s, fmt); + sA(&s, ",\"written_frames\":%lld,\"played_frames\":%lld,\"underrun\":%lld,\"paused\":%lld,\"route_mode\":", + audio_kv_ll(txt, "written", 0), audio_kv_ll(txt, "played", 0), + audio_kv_ll(txt, "underrun", 0), audio_kv_ll(txt, "paused", 0)); + sA_str(&s, rmode); + sA(&s, ",\"port\":%lld,\"vol\":%lld}", + audio_kv_ll(txt, "port", -1), audio_kv_ll(txt, "vol", -1)); + int rc = send_json(sock, 200, s.b ? s.b : ""); + sbuf_free(&s); + return rc; +} + /* ---------------- 路径安全 ---------------- */ static int tf_present(void) { @@ -4385,6 +4453,9 @@ static int handle(int sock, req_t *r) if (!strcmp(r->method, "GET") && !strcmp(p, "/api/fonts")) return api_fonts_list(sock); if (!strcmp(r->method, "GET") && !strcmp(p, "/api/fonts/export")) return api_fonts_export(sock, r); + /* ---- 音频状态(meow_audiod 快照,只读) ---- */ + if (!strcmp(r->method, "GET") && !strcmp(p, "/api/audio")) return api_audio(sock); + /* ---- 实时画面(阶段 C) ---- */ if (!strcmp(r->method, "GET") && !strcmp(p, "/api/screen.jpeg")) return api_screen_jpeg(sock, r); @@ -4513,10 +4584,11 @@ int main(int argc, char **argv) else if (!strcmp(argv[i], "--sock-perf") && i + 1 < argc) g_sock_perf = argv[++i]; else if (!strcmp(argv[i], "--sock-power") && i + 1 < argc) g_sock_power = argv[++i]; else if (!strcmp(argv[i], "--sock-launcher") && i + 1 < argc) g_sock_launcher = argv[++i]; + else if (!strcmp(argv[i], "--sock-audio") && i + 1 < argc) g_sock_audio = argv[++i]; else if (!strcmp(argv[i], "--sock") && i + 1 < argc) { g_sock_perf = argv[++i]; g_sock_power = g_sock_perf; } else if (!strcmp(argv[i], "-h") || !strcmp(argv[i], "--help")) { printf("MeowPanel backend %s\n", PANEL_VERSION); - printf("usage: meowpanel [-p PORT] [--sock-perf P] [--sock-power P] [--sock-launcher P]\n"); + printf("usage: meowpanel [-p PORT] [--sock-perf P] [--sock-power P] [--sock-launcher P] [--sock-audio P]\n"); return 0; } } @@ -4527,6 +4599,8 @@ int main(int argc, char **argv) if (env && env[0]) g_sock_power = env; env = getenv("MEOW_IPC_LAUNCHER_SOCK"); if (env && env[0]) g_sock_launcher = env; + env = getenv("MEOW_AUDIO_SOCK"); + if (env && env[0]) g_sock_audio = env; /* 与 audiod CLI 同 env(宿主/qemu 测试用) */ env = getenv("MEOW_SETTINGS_FILE"); if (env && env[0]) g_settings_file = env; /* 设置文件覆盖(宿主测试用;设备默认 /usr/data/meow/settings.conf) */ diff --git a/patch_v2/meowpanel/meowpanel_host b/patch_v2/meowpanel/meowpanel_host index fadde8466c95760e2a8de6f6c1d58e6e5841b85c..62db04a473c913d4d8b48be24164c669f60f8f0e 100755 GIT binary patch delta 55820 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 delta 55034 zcmafc34Bw<_W!*%Z7F-(q)j*4q-6~|w9vAqWff7eR6sx|6cu+6R0Jg{@Z3P{I2Ev{ z6mX$=F7W|MT?@GI5H(apRF-sMQ3MKYX#>>!zh~~fCFJS<_udC{?{{X-oH=vm%$YMY zx9%0K*E?Gm#zkgG;(vDaM_Ql3Y;R>rPsr-K{wt~P^xrW2%R8^W=bcwXKK(a5S}oR( zN6O|%?`1WY_p+MH%QNNKQQl=5+Vaa?a@UkUXR2`UZ;e4ES!3WA<(sYlRC7s$nyrM- zQIg{vHDBG}TTr_A@Qm(ZA4GlpPU!DxTl?OB&)mNJT!$F`zLF)E@C!;extRAinB`IU zZ(sRt@%$QRKt2`!we!euGcPyf$(7t1V&;XdW98}m){wsP4qgyqmbX#~?hffEKOmkm zLSp4~9vM1L{#Lv%2p!KO+QxEEXrA0CDE=z&ys&=qFwVmI%H8-b{MW)SgpHHKMB1cQ zd2%!5<$GJ9WOyuZY85NbBu?a?D2H6dv+(?dc>YTKmy41m$a@$Z_TdM@`^uZR-1;$j zAHUE#R^+J_^}jFvn}@Vmq|D|SsAGPcSa}aGXfs=0D^l+hb-gD_#qq4RedU9EVcXeq z?zRJM-;%dE+P|wfLM27}zXZ*YrN7X@)BzU!TgTQyMZzSL)^V~FBGqf@NS3yV^iU}o z=~QOBcn^_m+WSuNZjjQoca@&fLJzvuf#^tv5b+~f_<;zsW51@z3pAC~Q*Y_7>XkDH z-+8NwmjvOTYWUV5e6B`kXAu5KA3?_<9S%y+33-F?Jz52|L3m7Gl_9BC9W8nTe$(=Y z2jQnQJVM}(Yx2-5jtwdx=cpBQ55f~Qe0&hD)0q^6Cu{lh0&&zYrD+KZ0uz7_*6<}k zxLw1YLAYM=GeP(*TK@Gx_<$+0MD z!bx=Wzq}w^r!zkY|4pN_BnThi&UhLAXxma1ee`W5{tj zC_!&o_{Hl*trLm}!b2yklCT8foiyAYgr{iucolcF^nDL4VOmgup&Gs<2-gWYgK)c+ zzc2{T)o}N9IQm~FwDY4Z)P6?jr3)D(p4gkl@67pYFi5`?eO==8fDcSt&+N!KSxI-zMn_-h)W z`9Zi&=b0c}r&Ab&|3}b){*?qJ=!D9HaGlWJAbgL;(BU9l*P*5$T&E*lg5*g5^)9H; z2t`mr0A8ix{ep0vP(~1bLd!os2(Q=h`2n~Xe>$NB0SUxFxHj21gYZU;P+<^$MZ?zz z;i0#w%3BhIqh59VZw*R_)e7tk!gULHI0)~f<@W~R=^9=egpbwmh(^ctqSgt;HeQe4 zpcUvIgwN3M@jm|2A!()T+5*2qymY{?WwF2FP@Cps@7li+!;r1Y0 zmqcC=uG5(>aOj^t{7z_umIM{h-ShQ9_(d&$Nf7SSaCZ>iMsxK%fjH^EPUvu80`Lx6 zfzv^_-m-At^`h44LsK#hX5MDA#b6A4#NG-ox#jpAQW-Vc7Pyv@ls5}U_X!-XB;bXK( z$Pq}42|&Ynr_N@c*tuQ%egSA(eiP7%Kt7s(7#LB*Td600;AT;+2U zSvDA21x8jaR+#HA|GMkbhqa_XDkIOU3Ol?znw9YO1LH?}R_#~V`k*3$RJcJDlkziI zA=1$nkK{J6=fR7VDDBAG9mx*u=64P366TTqG%yEe1LN_S5yBqhABe|iLfAw6fOxD4 zVR!S$G;_MIwNxZsT$!^`k?t#yrQ8O*Z$e8fQb-v!Sz0xOO+yuVva}sy&9ur=+Dv{& zn%OZwTFNycmlZ-Tk)1hX!PG&NCPt*ZoJ_kUr4MPNz86p@sw>B(_Ml&A-l%vMt5&3?bRvaQ`msqgYv(z}Ou zR9`l6>!8Gl4wA2)au`)`tpM9dzTXKntKez^$A@X4A;CqooT#G&!TCxmzkv%B~QgHj!tK&YDvD*b6Bn-x@|D2#1`&}65x!fP

&a?Le*q=7_J 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

R0>OgRI}3&a$nL0r$^;WM=j8{`MVK z_1J;->hS9NVfH!v7)Tx%VGoR{Mfaq~;A$B&613UKH&`PlgYJ;Tx;aTcJ<=W)V~*Ag z*2n|o*_^-`ER->M@NBlC%jJ!E@NATu!7Ay4t5{QW1{*I4`C*>jzoR(>z|M8YQTEWz zrp+3hl`W@?vIlfF+SFh}kbI7Kv-xi@Iz`rj@2EEaQ3C#@vSYqIRC@F6Y+0OdM|UuD zr6T!szCEminL8HC_sMFsxnFiDKz7V&q`z5La=M&cU>BfreFez7X(~nXea&`oL0Bel t1jKI-)?@#vbgBuu0g7L{$PF&LU&r#ET682v*17DV_T$53$I*7L{|C!18~XqN diff --git a/patch_v2/meowpanel/web/index.html b/patch_v2/meowpanel/web/index.html index ebaec0e..ba903df 100644 --- a/patch_v2/meowpanel/web/index.html +++ b/patch_v2/meowpanel/web/index.html @@ -29,6 +29,10 @@ 亮度·音量 + + ' + + '' + + '' + + '

加载字体库列表…

' + + '

上传 tar.gz(内含 font.png + font.idx + font.json,平铺三件套)→ 校验后解压到 ' + + 'MeowOS/fonts/<family>/<weight>/;同 family/weight 冲突时会要求确认覆盖。' + + '导入后进设备「设置 → 字体」页,列表自动重扫生效。

'; + loadFontsPage(); + } + async function loadFontsPage() { + const box = $('#fpage-list'); if (!box) return; + let d; + try { d = await api('GET', '/api/fonts'); } + catch (e) { box.innerHTML = '

字体库列表加载失败:' + esc(errText(e)) + '

'; return; } + const fs = (d && d.fonts) || []; + if (!fs.length) { box.innerHTML = '
暂无字库(TF 卡 MeowOS/fonts 下无完整三件套)
'; return; } + let h = ''; + fs.forEach(f => { + h += '' + + '' + + '' + + ''; + }); + box.innerHTML = h + '
familyweight名称tierglyph 数操作
' + esc(f.family || '') + '' + esc(f.weight || '') + '' + esc(f.name || '—') + '' + esc(f.tier || '—') + '' + (f.glyph_count ? Number(f.glyph_count).toLocaleString() : '—') + '
'; + } + async function importFontPage(files) { + if (!files || !files.length) return; + const f = files[0]; + const btn = $('#fpage-import'); + if (btn && btn.disabled) return; // 上传中防连点(进度态) + const fd = new FormData(); fd.append('file', f); + if (btn) { btn.disabled = true; btn.textContent = '导入中…'; } + toast('正在导入 ' + f.name + '…'); + let res = null; + try { res = await api('POST', '/api/fonts/import', fd); } + catch (err) { + if (err.code === 'CONFLICT') { + const ok = await confirmDlg('覆盖字库', '目标字库(同 family/weight)已存在,覆盖导入吗?', true); + if (ok) { + try { res = await api('POST', '/api/fonts/import?force=1', fd); } + catch (e2) { toast('导入失败:' + errText(e2)); } + } + } else toast('导入失败:' + errText(err)); + } + if (btn) { btn.disabled = false; btn.textContent = '上传字体库 .tar.gz'; } + if (res) { + toast('已导入 ' + (res.family || '') + '/' + (res.weight || '')); + if (res.warning) toast(res.warning); + else if (res.hint) toast(res.hint); + loadFontsPage(); + } + } + function bindFonts() { + const c = $('#content'); + c.addEventListener('click', function (e) { + if (e.target.closest('#fpage-import')) { const inp = $('#fpage-file'); if (inp) { inp.value = ''; inp.click(); } return; } + if (e.target.closest('#fpage-refresh')) { loadFontsPage(); return; } + const fe = e.target.closest('[data-fpexport]'); + if (fe) { + if (fe.dataset.busy) return; // 打包期间防连点 + fe.dataset.busy = '1'; + const old = fe.textContent; fe.textContent = '打包中…'; + const f = fe.dataset.fpexport, w = fe.dataset.fpweight; + doDownload('/api/fonts/export?family=' + encodeURIComponent(f) + '&weight=' + encodeURIComponent(w), + (f || 'font') + '-' + (w || 'regular') + '.font.tar.gz') + .finally(() => { delete fe.dataset.busy; fe.textContent = old; }); + return; + } + }); + c.addEventListener('change', function (e) { + if (e.target.id === 'fpage-file') importFontPage(e.target.files); + }); + } + /* ---------------- 5. 设置镜像页 ---------------- */ function settingControl(it) { const key = it.key; @@ -1050,8 +1185,10 @@ const ROUTES = { perf: { title: '实时性能', render: renderPerf, bind: null }, bright: { title: '亮度 · 音量', render: renderBright, bind: null }, + audio: { title: '音频状态', render: renderAudio, bind: null }, files: { title: '文件管理', render: renderFiles, bind: bindFiles }, apps: { title: 'MeowAPPs 管理', render: renderApps, bind: bindApps }, + fonts: { title: '字体管理', render: renderFontsPage, bind: bindFonts }, settings: { title: '设置镜像', render: renderSettings, bind: bindSettings }, remote: { title: '远程控制', render: renderRemote, bind: bindRemote }, screen: { title: '实时屏幕', render: renderScreen, bind: bindScreen }, @@ -1070,6 +1207,7 @@ const r = ROUTES[id] || ROUTES.perf; state.route = id; stopPerf(); + stopAudio(); stopScreenPoll(); $$('.nav-item').forEach(b => b.classList.toggle('active', b.dataset.route === id)); $('#page-title').textContent = r.title; @@ -1089,7 +1227,7 @@ bindNav(); bindThemeUi(); bindSlider(); - bindFiles(); bindApps(); bindSettings(); bindRemote(); bindScreen(); bindSystem(); bindLogs(); bindNotif(); + bindFiles(); bindApps(); bindFonts(); bindSettings(); bindRemote(); bindScreen(); bindSystem(); bindLogs(); bindNotif(); bindLogin(); bindPwDlg(); // 首次进入探鉴权状态:启用且无有效会话 → 登录页;否则直接进应用