zcbot/web/static/js
caoqianming c1508d0df0 feat(web,docs): App 套壳 embed app 变体(relogin_url + fragment 注入)+ APP.md 对接文档(bump 0.58.53)
移动 App 方案:原生壳(WebView)+ 原生登录页,登录走 platform 自有接口
(/api/login/token → /api/login/external-login,实测打通,后者服务端换 zcbot JWT)。
顶层 WebView 无父窗口,iframe 的 postMessage 协议失效,泛化企微免登为 app 变体:
?embed=1&relogin_url=<绝对地址>#token=..&user_id=.. —— fragment 注入读完即清,
401/logout 时 location.replace(relogin_url),原生壳拦自定义 scheme 换新 token 重进。

- state.js: EMBED_RELOGIN_URL 解析+消毒(拦 javascript:/data: 等可执行 scheme)
- embed.js: 抽共用 readFragmentToken/gotoInitialTask,加 embedAppInit/embedAppRelogin
- auth.js: logout 分支序 wecom → app → iframe
- APP.md 新增(进入契约 + platform 登录链路 + 原生壳杂活清单 + H5 备选)
- EMBED.md 精简 243→约 120 行,指向 APP.md

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-21 14:59:16 +08:00
..
admin.js feat(ops): toolfail 聚集加时间分布,活跃/已安静一眼分(bump 0.58.14) 2026-07-13 09:27:40 +08:00
api.js feat(auth): JWT 滑动续签——活跃用户临期无感换 token,不再因 7d TTL 掉线(bump 0.58.39) 2026-07-18 10:21:35 +08:00
auth.js feat(web,docs): App 套壳 embed app 变体(relogin_url + fragment 注入)+ APP.md 对接文档(bump 0.58.53) 2026-07-21 14:59:16 +08:00
changelog.js feat(changelog): 用户版更新日志 CHANGELOG.md + /v1/changelog + 点版本号弹层(bump 0.55.0) 2026-07-09 16:49:26 +08:00
chat.js fix(ui,loop): salvage 成功提示降噪——黄色警告降为灰色 info 行(bump 0.58.50) 2026-07-21 08:47:44 +08:00
crons.js feat(ui): 页内弹框替代原生 alert/confirm/prompt——分 dialog/message 两族,复用改密码卡片样式(bump 0.58.42) 2026-07-19 09:38:31 +08:00
dialog.js feat(ui): 页内弹框替代原生 alert/confirm/prompt——分 dialog/message 两族,复用改密码卡片样式(bump 0.58.42) 2026-07-19 09:38:31 +08:00
dom.js feat(web): 移动端显示修复 + 对外品牌名 ZCBOT_BRAND_NAME(bump 0.45.0) 2026-07-07 10:44:26 +08:00
embed.js feat(web,docs): App 套壳 embed app 变体(relogin_url + fragment 注入)+ APP.md 对接文档(bump 0.58.53) 2026-07-21 14:59:16 +08:00
files.js feat(ui): 页内弹框替代原生 alert/confirm/prompt——分 dialog/message 两族,复用改密码卡片样式(bump 0.58.42) 2026-07-19 09:38:31 +08:00
format.js feat(context): §8.8 Phase 2 长会话中段折叠摘要 + 头部压缩指示环(bump 0.54.1) 2026-07-09 12:39:31 +08:00
layout.js refactor(dev): 前端模块化 Step 2(起)— 抽出 layout.js 2026-06-06 21:27:51 +08:00
main.js feat(procs): 后台进程 bg proc + 对话锁/完成通知 + seedance 续查(bump 0.56.0) 2026-07-10 16:47:11 +08:00
markdown.js refactor(dev): 前端模块化 Step 1 — dev.html 拆零构建 ES module(叶子优先) 2026-06-05 16:55:20 +08:00
media.js feat(ui): 页内弹框替代原生 alert/confirm/prompt——分 dialog/message 两族,复用改密码卡片样式(bump 0.58.42) 2026-07-19 09:38:31 +08:00
memory.js feat(memory): 双层记忆升级为 agent 自管 + 前端只读记忆面板 + bump 0.12.0 2026-06-13 12:20:08 +08:00
newtask.js fix(web): 修登录无反应(newtask.js 漏 import $)+ 补 favicon 2026-06-08 09:22:59 +08:00
preview.js fix(ui): 文件预览遮罩改整屏、消除"上暗下亮"割裂——输入区上浮为悬浮活动条继续可用(bump 0.58.43) 2026-07-19 21:05:15 +08:00
procs.js feat(ui): 页内弹框替代原生 alert/confirm/prompt——分 dialog/message 两族,复用改密码卡片样式(bump 0.58.42) 2026-07-19 09:38:31 +08:00
progress.js fix(web): 进度条自愈——回放层强制单调完成(d1285247 复盘,bump 0.36.2) 2026-07-03 11:16:34 +08:00
skills.js feat(ui): 页内弹框替代原生 alert/confirm/prompt——分 dialog/message 两族,复用改密码卡片样式(bump 0.58.42) 2026-07-19 09:38:31 +08:00
state.js feat(web,docs): App 套壳 embed app 变体(relogin_url + fragment 注入)+ APP.md 对接文档(bump 0.58.53) 2026-07-21 14:59:16 +08:00
wechat.js feat(ui): 页内弹框替代原生 alert/confirm/prompt——分 dialog/message 两族,复用改密码卡片样式(bump 0.58.42) 2026-07-19 09:38:31 +08:00