MeowOS
d12164305d
feat(panel, PANEL_ENHANCE_PLAN 批1-A): 访问级 4 位 PIN 鉴权 + 后端只读端点 power/overview/ams/svcd + audio 电平键
鉴权(用户定案:访问面板即需登录):
- PANEL.pin 存 sha256+salt(salt:hex,绝不含明文);与未来锁屏 PIN 同源预留 system.pin(g_sets 注记)。
- 未设 PIN → /api/auth/setup 首次设置流程;未设 PIN 前读/写端点全拦(require_auth 无条件,登录/设置流程除外)。
- token 128bit(16B→32hex) 只存进程内存(重启自然失效),3 天固定不滑动续期,多会话并存。
- 连错 5 次 PIN 锁 5 分钟(429 LOCKED,status 透出 lock_remaining_ms)。
- 旧密码机制 panel.auth_enabled/panel.auth_pass 兼容迁移:未设 PIN 时可暂用旧密码登录(status=legacy),设 PIN 后以 PIN 为准。
新只读端点(均需 PIN 会话):
- /api/power: meow_powermgr MSG_PM_QUERY(0xD0)→RESULT(0xD1) battery/estimate/breakdown,confidence 原样透传。
- /api/audio: 补 rms/peak/lvlseq(追加键,ABI 兼容),抽 audio_fill() 供 overview 复用。
- /api/ams: am list 解析 App 表(pkg/name/state/pid/launches/crashes/last_kind/last_code)。
- /api/svcd: meow_svcd status all 解析服务表(name/state/pid/restart/backoff_ms/trigger/src/exit/exec)。
- /api/overview: 单线程后端只暴露聚合——perf/power/audio/net/ams/svcd 六源顺序 fan-out,任一源失败该子块 available:false,绝不假数据。
前端最小支撑:登录页(PIN 输入+首次设置双态)+ 401 自动跳登录 + token 存 localStorage 随请求带 X-MeowToken(后端亦认 Authorization: Bearer)。
红线:仅新增读级端点,未加任何写端点(音量/路由/策略等);本任务不含批1-B 页面。
md5: meowpanel 3696e85b5eaf111f530c5c39fa68886e(mipsel 静态)/ meowpanel_host 3180e4f87e77db8717597619097805eb。
验证:host+mips -Werror 0 warning;假 IPC/am/svcd 桩六源聚合(含 power 宕机降级)PASS;PIN 全流程(设置→登录→连错5次锁→token 过期)PASS;qemu-mipsel 冒烟 PASS。
2026-09-01 21:30:41 +08:00
..
2026-09-01 18:28:07 +08:00
2026-08-31 13:28:07 +08:00
2026-09-01 16:08:01 +08:00
2026-09-01 16:08:01 +08:00
2026-09-01 19:40:29 +08:00
2026-09-01 16:08:01 +08:00
2026-08-31 04:39:34 +08:00
2026-09-01 20:40:46 +08:00
2026-09-01 21:24:35 +08:00
2026-09-01 16:21:12 +08:00
2026-08-31 22:40:08 +08:00
2026-08-31 19:30:32 +08:00
2026-08-31 03:11:35 +08:00
2026-09-01 03:25:01 +08:00
2026-09-01 19:47:44 +08:00
2026-08-31 13:28:07 +08:00
2026-08-31 15:36:45 +08:00
2026-09-01 16:08:01 +08:00
2026-09-01 21:30:41 +08:00
2026-09-01 18:28:07 +08:00
2026-09-01 21:06:57 +08:00
2026-09-01 20:30:16 +08:00
2026-09-01 11:06:01 +08:00
2026-08-30 01:12:34 +08:00
2026-08-30 01:12:34 +08:00
2026-08-30 03:27:24 +08:00
2026-08-30 01:12:34 +08:00
2026-08-30 01:12:34 +08:00
2026-08-30 01:12:34 +08:00
2026-08-30 03:27:24 +08:00
2026-08-30 01:12:34 +08:00
2026-08-30 01:12:34 +08:00
2026-08-30 03:27:24 +08:00
2026-08-30 03:27:24 +08:00
2026-08-30 01:12:34 +08:00
2026-08-30 01:12:34 +08:00