用户工作台快捷入口.md 2.3 KB

用户工作台快捷入口(user_workbench_shortcut)

与控制台首页 screenconsole 中「快捷入口」区域对接的后端为:

  • 基路径:/api/system/user_workbench_shortcut/
  • 列表(当前用户、按 sortid 升序)GET 无路径参数
  • 新增POST(与当前用户、租户自动绑定,不可代他人建)
  • 单条/更新/删除GET|PUT|PATCH|DELETE /api/system/user_workbench_shortcut/{id}/

前端约定

  1. 列表响应体可能被包在 data 中,为 数组分页 { results: [] };解析见 userWorkbenchShortcutApi.tsunwrapShortcutListData
  2. 每条记录需能解析出与侧栏一致的路由 pathweb_path / link / url 等别名字段由适配层读取,绝对 URL 会取 pathname 再与菜单 id 匹配)槽位 sort(0~4 或 1~5)是否「常用」/ 橙色高亮(与 index.vue 里「标记为常用」单选、即 highlightIndex 一致:写入时 is_frequentis_active同一条上为 true,其余槽为 false读列表时在 getFrequentFromRow 中把 is_frequentis_active 等一并当作「是否常用」判断;若你方将 is_active 仅用于启用/未删除且五条均为 true,则不要用该字段表示常用,从 getFrequentFromRow 的键列表中去掉 is_active,仅在写入时删除 is_active 或恒传 true,按你方实际含义改 quickEntryServerAdapter.ts),以及展示用名称linkicon(见 resolveShortcutDisplayName / resolveShortcutLink / resolveShortcutIcon)。
  3. 具体字段名以你们序列化器为准;若与约定不一致,只改 quickEntryServerAdapter.ts 中的 WORKBENCH_SHORTCUT_WRITEgetShortcutPathFromRow / getShortcutNameFromRow / getShortcutIconFromRow 的读取逻辑,勿在多个页面里硬编码。
  4. 保存时:有 id 的槽位用 PATCH 同一路径,无 id 的用 POST;不主动批量删除,除非后续产品要求「以服务端为唯一全量集」并单独实现同步删除策略。

降级

  • GET 无数据、解析失败或请求异常时,仍使用原逻辑:按本地缓存 screenconsole_quick_entry_v2 与侧栏可访问菜单的默认/填充规则生成五项。