20260917165839
This commit is contained in:
1 parent
182ed86966
commit
38e1e66c3b
108 files changed
+2497
-1215
No files matched your search
@@ -370,8 +370,9 @@ query
|
||||
},
|
||||
{
|
||||
"type": "group",
|
||||
"id": "group1",
|
||||
"title": "费用信息",
|
||||
"i18n": "group.cw_fee.amount",
|
||||
"i18n": "group.cw_fee.view.group1",
|
||||
"children": [
|
||||
{ "field": "mx_amount", "width": 120, "format": "money" },
|
||||
{ "field": "mx_currency", "width": 90 }
|
||||
@@ -389,8 +390,9 @@ query
|
||||
"children": [
|
||||
{
|
||||
"type": "group",
|
||||
"id": "group1",
|
||||
"title": "基础信息",
|
||||
"i18n": "group.sea_main.basic",
|
||||
"i18n": "group.sea_main.edit.group1",
|
||||
"children": [
|
||||
{
|
||||
"type": "row",
|
||||
@@ -442,6 +444,20 @@ query
|
||||
}
|
||||
```
|
||||
|
||||
### 6.4 分组节点 id 与资源键
|
||||
|
||||
`view`、`edit` 的 JSON 里,分组节点(`type: "group"`)用 `id` 表达稳定身份;层级由 `children` 嵌套表达,顺序由数组顺序表达,分组不建独立表(见本节开头的 `s_field_group`)。
|
||||
|
||||
```text
|
||||
"id": "group1" 按 schema 类型独立编号(view 与 edit 各自从 group1 开始)
|
||||
```
|
||||
|
||||
- **唯一范围**:分组 id 只在单个 `b_schema_json` 内唯一。列表的 `group1` 与表单的 `group1` 是两处不同分组,互不引用,因此也不做模块内跨 schema 全局唯一。
|
||||
- **稳定优先**:编号一旦分配不再重排,删除分组留下的空洞允许存在(重排会改身份,进而改资源键)。
|
||||
- **取号规则**:新建分组取该配置内已用编号里最小的未用正整数;同时保留 `s_i18n` 中该模块同 schema 已存在的分组键编号,避免新分组捡到已删除分组的编号、连带继承其残留译文。
|
||||
- **老数据兼容**:`id` 缺失或重复的节点由归一化补齐(先序、取最小可用编号),非 `group{n}` 的自定义 id 视为已占用并原样保留。归一化必须是确定性纯函数——加载后要与基线比较,若补号依赖外部上下文,同一份数据两次归一化结果会不同而被误判为未保存改动。
|
||||
- **资源键**:分组标题的资源键为 `group.{模块编码}.{schema 类型}.{分组编号}`(如 `group.cw_fee.view.group1`),由 id 派生而非人工填写;节点上的 `i18n` 手填优先,未填时按此规则派生,使分组标题无需手工登记即进入多语言受管清单。schema 类型必须入键,否则列表与表单的同号分组会互相覆盖译文。
|
||||
|
||||
## 7. 用户个性化(个人层)
|
||||
|
||||
个人配置是两层继承的最上层,只保存相对系统默认(`s_module_schema`)的偏离量,不复制完整模块配置。与 `s_module_schema` 统一使用 `b_schema_type` + `b_schema_json`,按 schema 类型分别存一条。
|
||||
@@ -623,11 +639,13 @@ create index ix_s_i18n_locale
|
||||
| `module.` | 模块名称或模块业务文案 | `module.sea.name` |
|
||||
| `menu.` | 菜单名称 | `menu.main.title` |
|
||||
| `field.` | 字段名称 | `field.sea.b_no` |
|
||||
| `group.` | 列表/表单布局分组标题 | `group.sea.basic` |
|
||||
| `group.` | 列表/表单布局分组标题 | `group.sea.view.group1` |
|
||||
| `action.` | 动作动词(按钮 + 权限共用) | `action.insert` |
|
||||
|
||||
资源键一旦投入使用原则上不可修改;模块、菜单或字段删除时,由业务层根据已知资源键清理对应翻译行。
|
||||
|
||||
`module.*`、`menu.*`、`field.*`、`action.*` 由业务编码派生,不需要人工填写;`group.*` 的编号段取自界面配置里分组节点的 `id`,未手填节点 `i18n` 时同样由 id 派生,规则见 6.4 节。模块管理页登记的分组译文在表单渲染时按同一规则解析(节点缺失 id 的老数据由归一化补齐后同样能取到译文)。
|
||||
|
||||
`action.*` 保存通用的动作动词资源键(例如 `action.insert`、`action.update`、`action.audit`),按钮文案和权限点名称共用同一翻译,同一动词只维护一份;动作动词是通用词,不按模块或对象分段。
|
||||
|
||||
## 12. 日志
|
||||
|
||||
Reference in new issue
Block a user