Skip to content

chatShellTabEditor

Admin 页配置表格用的 Chat 壳层 Tab 编辑辅助:为 Tab 行附加本地 _localId,并在提交前剥离为可落库的 ChatShellTabConfig

函数签名

typescript
type EditableChatShellTab = ChatShellTabConfig & { _localId: string }

function resetChatShellTabEditorLocalIds(): void
function toEditableChatShellTabs(tabs: ChatShellTabConfig[]): EditableChatShellTab[]
function stripEditableChatShellTabs(tabs: EditableChatShellTab[]): ChatShellTabConfig[]

参数

参数名类型必填说明
tabsChatShellTabConfig[]待编辑或待提交的 Tab 列表

返回值

类型说明
EditableChatShellTab[]_localId 的表格行,便于 Vue v-for 稳定 key
ChatShellTabConfig[]去除 _localId 并 trim/规范化布尔可选字段后的落库结构
voidresetChatShellTabEditorLocalIds 重置模块内 id 序列

工作原理

  1. toEditableChatShellTabs:为每项分配递增 _localIdtab-1tab-2…),并补全 desktopNav / mobile 默认值。
  2. 表格编辑:Admin 侧直接修改 EditableChatShellTab 数组,_localId 不参与业务逻辑。
  3. stripEditableChatShellTabs:提交前去掉 _localId,trim 字符串字段,将 false/undefined 的可选布尔字段压缩为落库所需形状。
  4. resetChatShellTabEditorLocalIds:关闭弹窗或「恢复默认」时调用,避免 _localId 序列无限增长。