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[]参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
tabs | ChatShellTabConfig[] | 是 | 待编辑或待提交的 Tab 列表 |
返回值
| 类型 | 说明 |
|---|---|
EditableChatShellTab[] | 带 _localId 的表格行,便于 Vue v-for 稳定 key |
ChatShellTabConfig[] | 去除 _localId 并 trim/规范化布尔可选字段后的落库结构 |
void | resetChatShellTabEditorLocalIds 重置模块内 id 序列 |
工作原理
toEditableChatShellTabs:为每项分配递增_localId(tab-1、tab-2…),并补全desktopNav/mobile默认值。- 表格编辑:Admin 侧直接修改
EditableChatShellTab数组,_localId不参与业务逻辑。 stripEditableChatShellTabs:提交前去掉_localId,trim 字符串字段,将 false/undefined 的可选布尔字段压缩为落库所需形状。resetChatShellTabEditorLocalIds:关闭弹窗或「恢复默认」时调用,避免_localId序列无限增长。