mirror of
https://github.com/kuaifan/dootask.git
synced 2026-08-01 19:05:55 +00:00
插件/微应用可在自己的菜单入口显示数字或红点角标,插件未打开也生效。 - 后端:新增 app_badges 表 + AppBadge 模型 + Module/Badge 业务编排 + AppsController(badge__set 应用密钥鉴权 / badge__clear 用户鉴权) - 每应用独立密钥 APP_SECRET:按 appid 持久化于 appstore config.yml,鉴权校验 - 推送:复用 PushTask 下发 appBadge WS 消息;microapp_menu 附带初始角标 - 前端:appBadges Vuex module + WS 处理 + 三处菜单渲染(应用卡片/主菜单入口/ 父『应用』入口聚合)+ 移动端 Tabbar + 打开即清(badge_clear_on_open) - 用户离职级联清理;同步 ai-kb 角标知识
2.5 KiB
2.5 KiB
id, title, type, feature, scope, locale, aliases, related_tools, related_pages, prerequisites, negative, last_verified
| id | title | type | feature | scope | locale | aliases | related_tools | related_pages | prerequisites | negative | last_verified | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| micro-app.badge.concept | 插件/微应用菜单角标 | concept | micro-app | end-user | zh |
|
|
|
v1.8.45 |
插件/微应用菜单角标
定义
插件/微应用可以在自己的菜单上显示「角标」——一个数字或一个小红点,用来提醒用户有待处理事项。角标真值由插件决定,DooTask 主程序只负责存储、下发与实时推送。
展示位置
- 应用中心卡片:对应插件/微应用卡片右上角显示数字或红点
- 主导航平铺入口:被平铺到左侧主菜单的单个插件入口显示其角标
- 父『应用』入口(聚合):左侧「应用」一级入口与移动端底部「应用」标签显示聚合角标
- 聚合规则:总数 = 工作报告未读数 + 所有插件角标数字之和
- 总数 > 0 显示数字(超过 999 显示 999+);总数为 0 时若任一插件存在红点则显示红点
关键属性(菜单配置 menu_items)
- key:菜单稳定标识,用于定位某个菜单的角标;留空时表示该应用的第一个菜单
- badge_clear_on_open:是否在该菜单被打开时自动清零
true:打开对应应用菜单时角标自动清除false(默认):永不自动清零,角标的增减完全由插件控制
自动清零
当菜单设置了 badge_clear_on_open: true,用户打开该菜单时,前端会立即本地清零并调用接口持久化清除;多端会通过实时推送保持一致。
实时性
角标变化通过 WebSocket 实时推送给在线用户;离线用户在下次进入时由应用菜单接口随初始数据一同同步,无需额外请求。
生命周期
- 应用被卸载:该应用的全部角标清除
- 用户离职:该用户的全部角标清除
相关
- 微应用菜单:micro-app.menu.concept
- 微应用权限(角标只发给对该应用菜单可见的用户):micro-app.permission.concept
- 在哪能看到:micro-app.entry.menu-map