@liujitcn/kratos-admin-system 0.0.20 → 0.0.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/README.md +51 -50
  2. package/dist/package/declarations/src/api/system/base_language.d.ts +51 -0
  3. package/dist/package/declarations/src/api/system/base_translation.d.ts +7 -0
  4. package/dist/package/declarations/src/api/system/code_gen_i18n.d.ts +8 -0
  5. package/dist/package/declarations/src/components/DynamicTranslationCell.vue.d.ts +39 -0
  6. package/dist/package/declarations/src/components/DynamicTranslationEditor.vue.d.ts +23 -0
  7. package/dist/package/declarations/src/components/dynamicTranslation.d.ts +44 -0
  8. package/dist/package/declarations/src/rpc/system/admin/v1/base_config.d.ts +5 -0
  9. package/dist/package/declarations/src/rpc/system/admin/v1/base_dict.d.ts +79 -0
  10. package/dist/package/declarations/src/rpc/system/admin/v1/base_language.d.ts +114 -0
  11. package/dist/package/declarations/src/rpc/system/admin/v1/base_menu.d.ts +40 -0
  12. package/dist/package/declarations/src/rpc/system/admin/v1/base_translation.d.ts +102 -0
  13. package/dist/package/declarations/src/rpc/system/admin/v1/code_gen.d.ts +2 -0
  14. package/dist/package/declarations/src/rpc/system/admin/v1/code_gen_column.d.ts +7 -0
  15. package/dist/package/declarations/src/rpc/system/admin/v1/code_gen_table.d.ts +13 -0
  16. package/dist/package/declarations/src/views/tool/code-gen/components/CodeGenLocaleEditor.vue.d.ts +23 -0
  17. package/dist/package/declarations/src/views/tool/code-gen/config.d.ts +7 -7
  18. package/dist/package/declarations/src/views/tool/language/index.vue.d.ts +3 -0
  19. package/dist/package/src/api/base/ai_message.ts +7 -12
  20. package/dist/package/src/api/base/sse.ts +3 -1
  21. package/dist/package/src/api/system/base_language.ts +137 -0
  22. package/dist/package/src/api/system/base_translation.ts +22 -0
  23. package/dist/package/src/api/system/code_gen_column.ts +17 -3
  24. package/dist/package/src/api/system/code_gen_i18n.ts +18 -0
  25. package/dist/package/src/api/system/code_gen_table.ts +12 -4
  26. package/dist/package/src/components/DynamicTranslationCell.vue +176 -0
  27. package/dist/package/src/components/DynamicTranslationEditor.vue +166 -0
  28. package/dist/package/src/components/dynamicTranslation.ts +86 -0
  29. package/dist/package/src/locales/README.md +28 -0
  30. package/dist/package/src/locales/en-US.json +929 -0
  31. package/dist/package/src/locales/es-ES.json +928 -0
  32. package/dist/package/src/locales/fr-FR.json +928 -0
  33. package/dist/package/src/locales/ja-JP.json +929 -0
  34. package/dist/package/src/locales/ko-KR.json +928 -0
  35. package/dist/package/src/locales/zh-CN.json +929 -0
  36. package/dist/package/src/locales/zh-TW.json +928 -0
  37. package/dist/package/src/module.ts +19 -1
  38. package/dist/package/src/rpc/system/admin/v1/base_config.ts +5 -0
  39. package/dist/package/src/rpc/system/admin/v1/base_dict.ts +81 -0
  40. package/dist/package/src/rpc/system/admin/v1/base_language.ts +135 -0
  41. package/dist/package/src/rpc/system/admin/v1/base_menu.ts +41 -0
  42. package/dist/package/src/rpc/system/admin/v1/base_translation.ts +117 -0
  43. package/dist/package/src/rpc/system/admin/v1/code_gen.ts +5 -1
  44. package/dist/package/src/rpc/system/admin/v1/code_gen_column.ts +8 -0
  45. package/dist/package/src/rpc/system/admin/v1/code_gen_table.ts +15 -0
  46. package/dist/package/src/views/ai/chat/components/AiMarkdown.vue +1 -6
  47. package/dist/package/src/views/ai/chat/components/ChatPanel.vue +70 -53
  48. package/dist/package/src/views/ai/chat/components/SessionPanel.vue +20 -9
  49. package/dist/package/src/views/ai/chat/components/XSender.vue +36 -23
  50. package/dist/package/src/views/ai/chat/index.vue +55 -39
  51. package/dist/package/src/views/ai/chat/message.ts +18 -17
  52. package/dist/package/src/views/base/api/index.vue +121 -83
  53. package/dist/package/src/views/base/area/index.vue +81 -31
  54. package/dist/package/src/views/base/config/index.vue +272 -78
  55. package/dist/package/src/views/base/dept/index.vue +110 -61
  56. package/dist/package/src/views/base/dict/index.vue +137 -58
  57. package/dist/package/src/views/base/dict/item.vue +147 -61
  58. package/dist/package/src/views/base/job/index.vue +134 -81
  59. package/dist/package/src/views/base/job/log.vue +21 -22
  60. package/dist/package/src/views/base/log/index.vue +68 -46
  61. package/dist/package/src/views/base/menu/index.vue +257 -156
  62. package/dist/package/src/views/base/migration/index.vue +49 -29
  63. package/dist/package/src/views/base/post/index.vue +128 -59
  64. package/dist/package/src/views/base/role/index.vue +145 -78
  65. package/dist/package/src/views/base/tenant/index.vue +132 -63
  66. package/dist/package/src/views/base/user/components/dept-tree.vue +2 -1
  67. package/dist/package/src/views/base/user/index.vue +192 -112
  68. package/dist/package/src/views/profile/components/base.vue +44 -27
  69. package/dist/package/src/views/profile/components/password.vue +43 -27
  70. package/dist/package/src/views/profile/components/security.vue +89 -53
  71. package/dist/package/src/views/profile/index.vue +10 -9
  72. package/dist/package/src/views/tool/api-doc/index.vue +6 -2
  73. package/dist/package/src/views/tool/code-gen/code-preview/index.vue +30 -14
  74. package/dist/package/src/views/tool/code-gen/columns/index.vue +382 -273
  75. package/dist/package/src/views/tool/code-gen/columns/option-copy.ts +1 -6
  76. package/dist/package/src/views/tool/code-gen/components/CodeGenLocaleEditor.vue +118 -0
  77. package/dist/package/src/views/tool/code-gen/components/CodeGenProgressDialog.vue +65 -36
  78. package/dist/package/src/views/tool/code-gen/components/CodePreviewPane.vue +8 -5
  79. package/dist/package/src/views/tool/code-gen/config.ts +114 -77
  80. package/dist/package/src/views/tool/code-gen/preview/data.ts +19 -17
  81. package/dist/package/src/views/tool/code-gen/preview/index.vue +96 -58
  82. package/dist/package/src/views/tool/code-gen/proto/index.vue +110 -62
  83. package/dist/package/src/views/tool/code-gen/table/index.vue +197 -117
  84. package/dist/package/src/views/tool/language/index.vue +256 -0
  85. package/dist/package/src/views/tool/project-doc/index.vue +17 -15
  86. package/package.json +6 -2
package/README.md CHANGED
@@ -34,7 +34,8 @@ packages/modules/system
34
34
  | `src/index.ts` | npm 主入口,导出 System 模块和 AI 扩展契约。 |
35
35
  | `src/module.ts` | 注册 System 页面、AI 顶部入口、个人中心菜单和路由行为。 |
36
36
  | `src/ai.ts` | 定义 AI 流程卡片扩展名称、类型和读取入口。 |
37
- | `src/components/Ai.vue` | System 提供的 AI 顶部工具入口。 |
37
+ | `src/components/Ai.vue` | System 提供的 AI 顶部工具入口。 |
38
+ | `src/components/DynamicTranslationCell.vue` | 翻译资源列表单元格,悬停预览当前语言之外的内容。 |
38
39
  | `src/rpc/**/*.ts` | System 页面与 API 自包含的 RPC 类型。 |
39
40
  | `src/typings/*.d.ts` | 声明 System 页面使用的 Markdown 和 Swagger 模块。 |
40
41
  | `package.json` | 声明依赖以及公开的模块入口、API 和 RPC 子路径。 |
@@ -44,53 +45,53 @@ packages/modules/system
44
45
 
45
46
  ## API 文件
46
47
 
47
- | 路径 | 作用 |
48
- | ----------------------------- | ----------------------------------------- |
49
- | `src/api/base/ai_message.ts` | AI 消息请求。 |
50
- | `src/api/base/ai_session.ts` | AI 会话请求。 |
51
- | `src/api/base/ai_tool.ts` | AI 工具请求。 |
52
- | `src/api/base/oauth.ts` | 个人中心账号绑定请求。 |
53
- | `src/api/base/sse.ts` | AI 与业务流式响应订阅。 |
54
- | `src/api/system/auth.ts` | 个人中心认证请求。 |
55
- | `src/api/system/base_*.ts` | System 基础资源管理请求。 |
56
- | `src/api/system/code_gen*.ts` | 代码生成、字段、Proto、表和进度订阅请求。 |
57
- | `src/api/system/project_document.ts` | 多项目文档树与详情请求。 |
48
+ | 路径 | 作用 |
49
+ | ------------------------------------ | ----------------------------------------- |
50
+ | `src/api/base/ai_message.ts` | AI 消息请求。 |
51
+ | `src/api/base/ai_session.ts` | AI 会话请求。 |
52
+ | `src/api/base/ai_tool.ts` | AI 工具请求。 |
53
+ | `src/api/base/oauth.ts` | 个人中心账号绑定请求。 |
54
+ | `src/api/base/sse.ts` | AI 与业务流式响应订阅。 |
55
+ | `src/api/system/auth.ts` | 个人中心认证请求。 |
56
+ | `src/api/system/base_*.ts` | System 基础资源管理请求。 |
57
+ | `src/api/system/code_gen*.ts` | 代码生成、字段、Proto、表和进度订阅请求。 |
58
+ | `src/api/system/project_document.ts` | 多项目文档树与详情请求。 |
58
59
 
59
60
  ## 页面文件组
60
61
 
61
- | 路径 | 作用 |
62
- | -------------------------------------------------------------- | ------------------------- |
63
- | `src/views/ai/chat/` | AI 会话、消息和附件页面。 |
64
- | `src/views/base/api/index.vue` | API 资源管理页。 |
65
- | `src/views/base/area/index.vue` | 行政区域管理页。 |
66
- | `src/views/base/config/index.vue` | 系统配置管理页。 |
67
- | `src/views/base/dept/index.vue` | 部门管理页。 |
68
- | `src/views/base/dict/index.vue` | 字典类型管理页。 |
69
- | `src/views/base/dict/item.vue` | 字典项管理页。 |
70
- | `src/views/base/job/index.vue` | 定时任务管理页。 |
71
- | `src/views/base/job/log.vue` | 定时任务执行日志页。 |
72
- | `src/views/base/log/index.vue` | 系统日志页。 |
73
- | `src/views/base/menu/index.vue` | 菜单管理页。 |
74
- | `src/views/base/migration/index.vue` | 数据迁移管理页。 |
75
- | `src/views/base/post/index.vue` | 岗位管理页。 |
76
- | `src/views/base/role/index.vue` | 角色管理页。 |
77
- | `src/views/base/tenant/index.vue` | 租户管理页。 |
78
- | `src/views/base/user/index.vue` | 用户管理页。 |
79
- | `src/views/base/user/components/dept-tree.vue` | 用户页的部门树筛选组件。 |
80
- | `src/views/profile/` | 个人中心与安全设置页面。 |
81
- | `src/views/tool/api-doc/index.vue` | OpenAPI/Swagger 文档页。 |
62
+ | 路径 | 作用 |
63
+ | -------------------------------------------------------------- | ---------------------------------- |
64
+ | `src/views/ai/chat/` | AI 会话、消息和附件页面。 |
65
+ | `src/views/base/api/index.vue` | API 资源管理页。 |
66
+ | `src/views/base/area/index.vue` | 行政区域管理页。 |
67
+ | `src/views/base/config/index.vue` | 系统配置管理页。 |
68
+ | `src/views/base/dept/index.vue` | 部门管理页。 |
69
+ | `src/views/base/dict/index.vue` | 字典类型管理页。 |
70
+ | `src/views/base/dict/item.vue` | 字典项管理页。 |
71
+ | `src/views/base/job/index.vue` | 定时任务管理页。 |
72
+ | `src/views/base/job/log.vue` | 定时任务执行日志页。 |
73
+ | `src/views/base/log/index.vue` | 系统日志页。 |
74
+ | `src/views/base/menu/index.vue` | 菜单管理页。 |
75
+ | `src/views/base/migration/index.vue` | 数据迁移管理页。 |
76
+ | `src/views/base/post/index.vue` | 岗位管理页。 |
77
+ | `src/views/base/role/index.vue` | 角色管理页。 |
78
+ | `src/views/base/tenant/index.vue` | 租户管理页。 |
79
+ | `src/views/base/user/index.vue` | 用户管理页。 |
80
+ | `src/views/base/user/components/dept-tree.vue` | 用户页的部门树筛选组件。 |
81
+ | `src/views/profile/` | 个人中心与安全设置页面。 |
82
+ | `src/views/tool/api-doc/index.vue` | OpenAPI/Swagger 文档页。 |
82
83
  | `src/views/tool/project-doc/index.vue` | 多项目 Markdown 树形导航与阅读页。 |
83
- | `src/views/tool/code-gen/table/index.vue` | 代码生成数据表列表页。 |
84
- | `src/views/tool/code-gen/columns/index.vue` | 代码生成字段配置页。 |
85
- | `src/views/tool/code-gen/columns/option-copy.ts` | 字段选项复制规则。 |
86
- | `src/views/tool/code-gen/proto/index.vue` | Proto 生成配置页。 |
87
- | `src/views/tool/code-gen/preview/index.vue` | 代码生成预览入口。 |
88
- | `src/views/tool/code-gen/preview/capabilities.ts` | 预览文件能力和操作规则。 |
89
- | `src/views/tool/code-gen/preview/data.ts` | 预览树和文件数据转换。 |
90
- | `src/views/tool/code-gen/code-preview/index.vue` | 单个文件代码预览页。 |
91
- | `src/views/tool/code-gen/components/CodeGenProgressDialog.vue` | 代码生成进度弹窗。 |
92
- | `src/views/tool/code-gen/components/CodePreviewPane.vue` | 代码内容预览面板。 |
93
- | `src/views/tool/code-gen/config.ts` | 代码生成页面的公共配置。 |
84
+ | `src/views/tool/code-gen/table/index.vue` | 代码生成数据表列表页。 |
85
+ | `src/views/tool/code-gen/columns/index.vue` | 代码生成字段配置页。 |
86
+ | `src/views/tool/code-gen/columns/option-copy.ts` | 字段选项复制规则。 |
87
+ | `src/views/tool/code-gen/proto/index.vue` | Proto 生成配置页。 |
88
+ | `src/views/tool/code-gen/preview/index.vue` | 代码生成预览入口。 |
89
+ | `src/views/tool/code-gen/preview/capabilities.ts` | 预览文件能力和操作规则。 |
90
+ | `src/views/tool/code-gen/preview/data.ts` | 预览树和文件数据转换。 |
91
+ | `src/views/tool/code-gen/code-preview/index.vue` | 单个文件代码预览页。 |
92
+ | `src/views/tool/code-gen/components/CodeGenProgressDialog.vue` | 代码生成进度弹窗。 |
93
+ | `src/views/tool/code-gen/components/CodePreviewPane.vue` | 代码内容预览面板。 |
94
+ | `src/views/tool/code-gen/config.ts` | 代码生成页面的公共配置。 |
94
95
 
95
96
  ## 接入
96
97
 
@@ -104,12 +105,12 @@ export const adminModules = [systemAdminModule];
104
105
 
105
106
  动态菜单组件路径必须包含模块前缀,例如:
106
107
 
107
- | 页面 | `component` |
108
- | -------- | --------------------------- |
109
- | 用户管理 | `system/base/user/index` |
110
- | 个人中心 | `system/profile/index` |
111
- | AI 助手 | `system/ai/chat/index` |
112
- | API 文档 | `system/tool/api-doc/index` |
108
+ | 页面 | `component` |
109
+ | -------- | ------------------------------- |
110
+ | 用户管理 | `system/base/user/index` |
111
+ | 个人中心 | `system/profile/index` |
112
+ | AI 助手 | `system/ai/chat/index` |
113
+ | API 文档 | `system/tool/api-doc/index` |
113
114
  | 项目文档 | `system/tool/project-doc/index` |
114
115
 
115
116
  不再兼容 `base/user/index`、`profile/index` 等无模块前缀路径。不同业务模块可以拥有同名 `views`,core 会按 `<module>/<view>` 解析,不发生覆盖。
@@ -0,0 +1,51 @@
1
+ import { type BaseLanguage, type BaseLanguageForm, type BaseLanguageService, type CreateBaseLanguageRequest, type DeleteBaseLanguageRequest, type GetBaseLanguageRequest, type OptionBaseLanguageRequest, type OptionBaseLanguageResponse, type PageBaseLanguageRequest, type PageBaseLanguageResponse, type SetBaseLanguageStatusRequest, type UpdateBaseLanguageRequest } from "@liujitcn/kratos-admin-system/rpc/system/admin/v1/base_language";
2
+ import { Status } from "@liujitcn/kratos-admin-system/rpc/common/v1/enum";
3
+ import type { Empty } from "@liujitcn/kratos-admin-system/rpc/google/protobuf/empty";
4
+ /** Admin语言服务。 */
5
+ export declare class BaseLanguageServiceImpl implements BaseLanguageService {
6
+ /** 查询语言选项。 */
7
+ OptionBaseLanguage(request?: OptionBaseLanguageRequest): Promise<OptionBaseLanguageResponse>;
8
+ /** 查询语言分页列表。 */
9
+ PageBaseLanguage(request: PageBaseLanguageRequest): Promise<PageBaseLanguageResponse>;
10
+ /** 查询语言详情。 */
11
+ GetBaseLanguage(request: GetBaseLanguageRequest): Promise<BaseLanguageForm>;
12
+ /** 创建语言。 */
13
+ CreateBaseLanguage(request: CreateBaseLanguageRequest): Promise<Empty>;
14
+ /** 更新语言。 */
15
+ UpdateBaseLanguage(request: UpdateBaseLanguageRequest): Promise<Empty>;
16
+ /** 删除语言。 */
17
+ DeleteBaseLanguage(request: DeleteBaseLanguageRequest): Promise<Empty>;
18
+ /** 设置语言启用状态。 */
19
+ SetBaseLanguageStatus(request: SetBaseLanguageStatusRequest): Promise<Empty>;
20
+ }
21
+ export declare const defBaseLanguageService: BaseLanguageServiceImpl;
22
+ /** 加载启用语言选项并在当前管理端会话内缓存。 */
23
+ export declare function loadEnabledBaseLanguages(force?: boolean): Promise<BaseLanguage[]>;
24
+ /** 返回响应式的启用语言选项。 */
25
+ export declare function useEnabledBaseLanguages(): {
26
+ languages: Readonly<globalThis.Ref<readonly {
27
+ readonly id: number;
28
+ readonly language_code: string;
29
+ readonly language_name: string;
30
+ readonly native_name: string;
31
+ readonly sort: number;
32
+ readonly is_primary: boolean;
33
+ readonly status: Status;
34
+ readonly created_at: string;
35
+ readonly updated_at: string;
36
+ }[], readonly {
37
+ readonly id: number;
38
+ readonly language_code: string;
39
+ readonly language_name: string;
40
+ readonly native_name: string;
41
+ readonly sort: number;
42
+ readonly is_primary: boolean;
43
+ readonly status: Status;
44
+ readonly created_at: string;
45
+ readonly updated_at: string;
46
+ }[]>>;
47
+ };
48
+ /** 返回当前缓存的启用语言选项快照。 */
49
+ export declare function getEnabledBaseLanguages(): BaseLanguage[];
50
+ /** 清除启用语言缓存,使下次使用时重新读取语言管理数据。 */
51
+ export declare function invalidateEnabledBaseLanguages(): void;
@@ -0,0 +1,7 @@
1
+ import type { BaseTranslationService, GenerateTranslationDraftRequest, GenerateTranslationDraftResponse } from "@liujitcn/kratos-admin-system/rpc/system/admin/v1/base_translation";
2
+ /** BaseTranslationServiceImpl Admin 动态翻译草稿服务。 */
3
+ export declare class BaseTranslationServiceImpl implements BaseTranslationService {
4
+ /** GenerateTranslationDraft 为已保存资源生成机器翻译草稿。 */
5
+ GenerateTranslationDraft(request: GenerateTranslationDraftRequest): Promise<GenerateTranslationDraftResponse>;
6
+ }
7
+ export declare const defBaseTranslationService: BaseTranslationServiceImpl;
@@ -0,0 +1,8 @@
1
+ import type { CodeGenLocaleConfig } from "@liujitcn/kratos-admin-system/rpc/system/admin/v1/base_translation";
2
+ /** 代码生成国际化配置的 JSON 兼容形态。 */
3
+ type CodeGenLocaleConfigRecord = Record<string, CodeGenLocaleConfig>;
4
+ /** 将 REST 响应中的 JSON 对象规范为生成 RPC 声明使用的 Map。 */
5
+ export declare function normalizeCodeGenLocaleConfigMap(value: unknown): Map<string, CodeGenLocaleConfig>;
6
+ /** 将代码生成国际化 Map 转为后端可反序列化的 JSON 对象。 */
7
+ export declare function serializeCodeGenLocaleConfigMap(value: unknown): CodeGenLocaleConfigRecord;
8
+ export {};
@@ -0,0 +1,39 @@
1
+ import { TranslationStatus } from "@liujitcn/kratos-admin-system/rpc/system/admin/v1/base_translation";
2
+ /** DynamicTranslationCellRecord 描述列表翻译预览所需的最小记录结构。 */
3
+ export interface DynamicTranslationCellRecord {
4
+ /** 语言区域。 */
5
+ locale: string;
6
+ /** 通用翻译文本,供系统配置使用。 */
7
+ text?: string;
8
+ /** 字典名称翻译。 */
9
+ name?: string;
10
+ /** 字典项标签翻译。 */
11
+ label?: string;
12
+ /** 菜单标题翻译。 */
13
+ title?: string;
14
+ /** 翻译审核状态。 */
15
+ translation_status?: TranslationStatus;
16
+ /** 中文源文是否已变化。 */
17
+ source_changed?: boolean;
18
+ }
19
+ /** DynamicTranslationCellProps 动态翻译列表单元格属性。 */
20
+ interface DynamicTranslationCellProps {
21
+ /** 资源源文。 */
22
+ source: string;
23
+ /** 非主语言翻译记录。 */
24
+ translations?: DynamicTranslationCellRecord[];
25
+ /** 源文所属语言,仅用于语言配置尚未加载时的回退。 */
26
+ sourceLocale?: string;
27
+ /** 从翻译记录中读取的文本字段。 */
28
+ textField?: "text" | "name" | "label" | "title";
29
+ /** 是否显示翻译状态标签。 */
30
+ showStatus?: boolean;
31
+ }
32
+ declare const __VLS_export: import("vue").DefineComponent<DynamicTranslationCellProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<DynamicTranslationCellProps> & Readonly<{}>, {
33
+ translations: DynamicTranslationCellRecord[];
34
+ sourceLocale: string;
35
+ textField: "text" | "name" | "label" | "title";
36
+ showStatus: boolean;
37
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
38
+ declare const _default: typeof __VLS_export;
39
+ export default _default;
@@ -0,0 +1,23 @@
1
+ import { BaseConfigTranslationField, TranslationResourceType } from "@liujitcn/kratos-admin-system/rpc/system/admin/v1/base_translation";
2
+ import { type DynamicTranslationValue } from "./dynamicTranslation";
3
+ /** DynamicTranslationEditorProps 动态翻译编辑器属性。 */
4
+ interface DynamicTranslationEditorProps {
5
+ modelValue: DynamicTranslationValue[];
6
+ resourceId: number;
7
+ resourceType: TranslationResourceType;
8
+ field?: BaseConfigTranslationField;
9
+ draftEnabled?: boolean;
10
+ maxlength?: number;
11
+ multiline?: boolean;
12
+ }
13
+ declare const __VLS_export: import("vue").DefineComponent<DynamicTranslationEditorProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
14
+ "update:modelValue": (value: DynamicTranslationValue[]) => any;
15
+ }, string, import("vue").PublicProps, Readonly<DynamicTranslationEditorProps> & Readonly<{
16
+ "onUpdate:modelValue"?: ((value: DynamicTranslationValue[]) => any) | undefined;
17
+ }>, {
18
+ draftEnabled: boolean;
19
+ maxlength: number;
20
+ multiline: boolean;
21
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
22
+ declare const _default: typeof __VLS_export;
23
+ export default _default;
@@ -0,0 +1,44 @@
1
+ import { TranslationStatus } from "@liujitcn/kratos-admin-system/rpc/system/admin/v1/base_translation";
2
+ /** DynamicTranslationValue 动态资源单语言翻译编辑状态。 */
3
+ export interface DynamicTranslationValue {
4
+ /** 语言代码。 */
5
+ locale: string;
6
+ text: string;
7
+ translation_status: TranslationStatus;
8
+ source_changed: boolean;
9
+ source_hash: string;
10
+ translation_provider: string;
11
+ translated_at: string;
12
+ id: number;
13
+ reviewed_by: number;
14
+ reviewed_at: string;
15
+ created_by: number;
16
+ updated_by: number;
17
+ created_at: string;
18
+ updated_at: string;
19
+ deleted_at: number;
20
+ }
21
+ /** DynamicTranslationRecord 描述三类动态资源翻译共有字段。 */
22
+ export interface DynamicTranslationRecord extends Omit<DynamicTranslationValue, "text"> {
23
+ title?: string;
24
+ name?: string;
25
+ label?: string;
26
+ }
27
+ /** DynamicLanguageOption 动态翻译编辑器显示的语言选项。 */
28
+ export interface DynamicLanguageOption {
29
+ /** 语言代码。 */
30
+ value: string;
31
+ /** 语言显示名称。 */
32
+ label: string;
33
+ }
34
+ /** 返回语言管理中启用且非主语言的翻译语言选项。 */
35
+ export declare function getEditableLanguageOptions(): DynamicLanguageOption[];
36
+ /** 返回语言管理中的语言显示名称。 */
37
+ export declare function getLanguageLabel(locale: string): string;
38
+ /** normalizeDynamicTranslations 将后端翻译记录补齐为全部非主语言编辑状态。 */
39
+ export declare function normalizeDynamicTranslations(records: DynamicTranslationRecord[] | undefined, textField: "title" | "name" | "label", locales?: string[]): DynamicTranslationValue[];
40
+ /** serializeDynamicTranslations 将编辑状态转换回后端资源翻译结构。 */
41
+ export declare function serializeDynamicTranslations(values: DynamicTranslationValue[], textField: "title" | "name" | "label"): Array<{
42
+ locale: string;
43
+ [key: string]: string;
44
+ }>;
@@ -2,6 +2,7 @@ import type { BaseConfigSite } from "../../../base/v1/enum";
2
2
  import type { Status } from "../../../common/v1/enum";
3
3
  import type { Empty } from "../../../google/protobuf/empty";
4
4
  import type { BaseConfigType } from "../../common/v1/enum";
5
+ import type { BaseConfigTranslation } from "./base_translation";
5
6
  /** 系统配置分页查询条件 */
6
7
  export interface PageBaseConfigRequest {
7
8
  /** 位置:枚举【BaseConfigSite】 */
@@ -45,6 +46,8 @@ export interface BaseConfigForm {
45
46
  key: string;
46
47
  /** 配置value */
47
48
  value: string;
49
+ /** 配置名称及文本/富文本值的多语言翻译 */
50
+ translations: BaseConfigTranslation[];
48
51
  /** 状态 */
49
52
  status: Status;
50
53
  }
@@ -87,6 +90,8 @@ export interface BaseConfig {
87
90
  key: string;
88
91
  /** 配置value */
89
92
  value: string;
93
+ /** 配置名称及文本/富文本值的多语言翻译 */
94
+ translations: BaseConfigTranslation[];
90
95
  /** 状态:枚举【Status】 */
91
96
  status: Status;
92
97
  /** 创建时间 */
@@ -1,5 +1,6 @@
1
1
  import type { Status } from "../../../common/v1/enum";
2
2
  import type { Empty } from "../../../google/protobuf/empty";
3
+ import type { TranslationStatus } from "./base_translation";
3
4
  /** 字典选项查询条件 */
4
5
  export interface OptionBaseDictRequest {
5
6
  }
@@ -79,6 +80,8 @@ export interface BaseDictForm {
79
80
  code: string;
80
81
  /** 字典名称 */
81
82
  name: string;
83
+ /** 非主语言翻译 */
84
+ translations: BaseDictTranslation[];
82
85
  /** 状态 */
83
86
  status: Status;
84
87
  }
@@ -101,6 +104,8 @@ export interface BaseDictItemForm {
101
104
  tag_type: string;
102
105
  /** 排序 */
103
106
  sort: number;
107
+ /** 非主语言翻译 */
108
+ translations: BaseDictItemTranslation[];
104
109
  /** 状态 */
105
110
  status: Status;
106
111
  }
@@ -156,6 +161,8 @@ export interface BaseDict {
156
161
  code: string;
157
162
  /** 字典名称 */
158
163
  name: string;
164
+ /** 非主语言翻译 */
165
+ translations: BaseDictTranslation[];
159
166
  /** 状态 */
160
167
  status: Status;
161
168
  /** 创建时间 */
@@ -177,6 +184,8 @@ export interface BaseDictItem {
177
184
  tag_type: string;
178
185
  /** 排序 */
179
186
  sort: number;
187
+ /** 非主语言翻译 */
188
+ translations: BaseDictItemTranslation[];
180
189
  /** 状态 */
181
190
  status: Status;
182
191
  /** 创建时间 */
@@ -184,6 +193,76 @@ export interface BaseDictItem {
184
193
  /** 更新时间 */
185
194
  updated_at: string;
186
195
  }
196
+ /** 字典翻译 */
197
+ export interface BaseDictTranslation {
198
+ /** 主键ID */
199
+ id: number;
200
+ /** 字典ID */
201
+ dict_id: number;
202
+ /** 语言代码 */
203
+ locale: string;
204
+ /** 字典名称 */
205
+ name: string;
206
+ /** 翻译状态 */
207
+ translation_status: TranslationStatus;
208
+ /** 中文源文SHA-256 */
209
+ source_hash: string;
210
+ /** 机器翻译提供方 */
211
+ translation_provider: string;
212
+ /** 最近机器翻译时间 */
213
+ translated_at: string;
214
+ /** 审核人ID */
215
+ reviewed_by: number;
216
+ /** 审核时间 */
217
+ reviewed_at: string;
218
+ /** 创建人ID */
219
+ created_by: number;
220
+ /** 更新人ID */
221
+ updated_by: number;
222
+ /** 创建时间 */
223
+ created_at: string;
224
+ /** 更新时间 */
225
+ updated_at: string;
226
+ /** 删除时间 */
227
+ deleted_at: number;
228
+ /** 中文源文是否已变化 */
229
+ source_changed: boolean;
230
+ }
231
+ /** 字典项翻译 */
232
+ export interface BaseDictItemTranslation {
233
+ /** 主键ID */
234
+ id: number;
235
+ /** 字典项ID */
236
+ dict_item_id: number;
237
+ /** 语言代码 */
238
+ locale: string;
239
+ /** 字典项标签 */
240
+ label: string;
241
+ /** 翻译状态 */
242
+ translation_status: TranslationStatus;
243
+ /** 中文源文SHA-256 */
244
+ source_hash: string;
245
+ /** 机器翻译提供方 */
246
+ translation_provider: string;
247
+ /** 最近机器翻译时间 */
248
+ translated_at: string;
249
+ /** 审核人ID */
250
+ reviewed_by: number;
251
+ /** 审核时间 */
252
+ reviewed_at: string;
253
+ /** 创建人ID */
254
+ created_by: number;
255
+ /** 更新人ID */
256
+ updated_by: number;
257
+ /** 创建时间 */
258
+ created_at: string;
259
+ /** 更新时间 */
260
+ updated_at: string;
261
+ /** 删除时间 */
262
+ deleted_at: number;
263
+ /** 中文源文是否已变化 */
264
+ source_changed: boolean;
265
+ }
187
266
  /** Admin字典服务 */
188
267
  export interface BaseDictService {
189
268
  /** 查询字典列表 */
@@ -0,0 +1,114 @@
1
+ import type { Status } from "../../../common/v1/enum";
2
+ import type { Empty } from "../../../google/protobuf/empty";
3
+ /** 语言选项查询条件 */
4
+ export interface OptionBaseLanguageRequest {
5
+ /** 是否只返回启用语言 */
6
+ enabled_only?: boolean | undefined;
7
+ }
8
+ /** 语言选项响应 */
9
+ export interface OptionBaseLanguageResponse {
10
+ /** 语言选项 */
11
+ base_languages: BaseLanguage[];
12
+ }
13
+ /** 语言分页查询条件 */
14
+ export interface PageBaseLanguageRequest {
15
+ /** 语言名称 */
16
+ language_name: string;
17
+ /** 语言代码 */
18
+ language_code: string;
19
+ /** 启用状态 */
20
+ status?: Status | undefined;
21
+ /** 当前页码 */
22
+ page_num: number;
23
+ /** 每页数量 */
24
+ page_size: number;
25
+ }
26
+ /** 语言分页响应 */
27
+ export interface PageBaseLanguageResponse {
28
+ /** 语言列表 */
29
+ base_languages: BaseLanguage[];
30
+ /** 总数 */
31
+ total: number;
32
+ }
33
+ /** 语言详情查询条件 */
34
+ export interface GetBaseLanguageRequest {
35
+ /** 语言ID */
36
+ id: number;
37
+ }
38
+ /** 语言表单 */
39
+ export interface BaseLanguageForm {
40
+ /** 语言ID */
41
+ id: number;
42
+ /** 标准语言代码 */
43
+ language_code: string;
44
+ /** 语言名称 */
45
+ language_name: string;
46
+ /** 本地语言名称 */
47
+ native_name: string;
48
+ /** 排序,值越小越靠前 */
49
+ sort: number;
50
+ /** 是否主语言 */
51
+ is_primary: boolean;
52
+ /** 启用状态 */
53
+ status: Status;
54
+ }
55
+ /** 语言 */
56
+ export interface BaseLanguage {
57
+ /** 语言ID */
58
+ id: number;
59
+ /** 标准语言代码 */
60
+ language_code: string;
61
+ /** 语言名称 */
62
+ language_name: string;
63
+ /** 本地语言名称 */
64
+ native_name: string;
65
+ /** 排序 */
66
+ sort: number;
67
+ /** 是否主语言 */
68
+ is_primary: boolean;
69
+ /** 启用状态 */
70
+ status: Status;
71
+ /** 创建时间 */
72
+ created_at: string;
73
+ /** 更新时间 */
74
+ updated_at: string;
75
+ }
76
+ /** 创建语言请求参数 */
77
+ export interface CreateBaseLanguageRequest {
78
+ /** 语言表单 */
79
+ base_language: BaseLanguageForm | undefined;
80
+ }
81
+ /** 更新语言请求参数 */
82
+ export interface UpdateBaseLanguageRequest {
83
+ /** 语言表单 */
84
+ base_language: BaseLanguageForm | undefined;
85
+ }
86
+ /** 删除语言请求参数 */
87
+ export interface DeleteBaseLanguageRequest {
88
+ /** 语言ID列表 */
89
+ id: string;
90
+ }
91
+ /** 设置语言状态请求参数 */
92
+ export interface SetBaseLanguageStatusRequest {
93
+ /** 语言ID */
94
+ id: number;
95
+ /** 启用状态 */
96
+ status: Status;
97
+ }
98
+ /** Admin语言管理服务 */
99
+ export interface BaseLanguageService {
100
+ /** 查询启用语言选项 */
101
+ OptionBaseLanguage(request: OptionBaseLanguageRequest): Promise<OptionBaseLanguageResponse>;
102
+ /** 查询语言分页列表 */
103
+ PageBaseLanguage(request: PageBaseLanguageRequest): Promise<PageBaseLanguageResponse>;
104
+ /** 查询语言详情 */
105
+ GetBaseLanguage(request: GetBaseLanguageRequest): Promise<BaseLanguageForm>;
106
+ /** 创建语言 */
107
+ CreateBaseLanguage(request: CreateBaseLanguageRequest): Promise<Empty>;
108
+ /** 更新语言 */
109
+ UpdateBaseLanguage(request: UpdateBaseLanguageRequest): Promise<Empty>;
110
+ /** 删除语言 */
111
+ DeleteBaseLanguage(request: DeleteBaseLanguageRequest): Promise<Empty>;
112
+ /** 设置语言状态 */
113
+ SetBaseLanguageStatus(request: SetBaseLanguageStatusRequest): Promise<Empty>;
114
+ }
@@ -2,6 +2,7 @@ import type { TreeOptionResponse } from "../../../common/v1/common";
2
2
  import type { Status } from "../../../common/v1/enum";
3
3
  import type { Empty } from "../../../google/protobuf/empty";
4
4
  import type { BaseMenuType } from "../../common/v1/enum";
5
+ import type { TranslationStatus } from "./base_translation";
5
6
  /** 菜单选项查询条件 */
6
7
  export interface OptionBaseMenuRequest {
7
8
  /** 父级菜单ID */
@@ -48,6 +49,8 @@ export interface BaseMenuForm {
48
49
  meta: BaseMenuMeta | undefined;
49
50
  /** 分配的API列表 */
50
51
  api: string[];
52
+ /** 非主语言翻译 */
53
+ translations: BaseMenuTranslation[];
51
54
  /** 排序 */
52
55
  sort: number;
53
56
  /** 状态 */
@@ -93,6 +96,8 @@ export interface BaseMenu {
93
96
  redirect: string;
94
97
  /** 路由元信息 */
95
98
  meta: BaseMenuMeta | undefined;
99
+ /** 非主语言翻译 */
100
+ translations: BaseMenuTranslation[];
96
101
  /** 排序 */
97
102
  sort: number;
98
103
  /** 状态 */
@@ -145,6 +150,41 @@ export interface BaseMenuParams {
145
150
  /** 参数value */
146
151
  value: string;
147
152
  }
153
+ /** 菜单翻译 */
154
+ export interface BaseMenuTranslation {
155
+ /** 主键ID */
156
+ id: number;
157
+ /** 菜单ID */
158
+ menu_id: number;
159
+ /** 语言代码 */
160
+ locale: string;
161
+ /** 菜单标题 */
162
+ title: string;
163
+ /** 翻译状态 */
164
+ translation_status: TranslationStatus;
165
+ /** 中文源文SHA-256 */
166
+ source_hash: string;
167
+ /** 机器翻译提供方 */
168
+ translation_provider: string;
169
+ /** 最近机器翻译时间 */
170
+ translated_at: string;
171
+ /** 审核人ID */
172
+ reviewed_by: number;
173
+ /** 审核时间 */
174
+ reviewed_at: string;
175
+ /** 创建人ID */
176
+ created_by: number;
177
+ /** 更新人ID */
178
+ updated_by: number;
179
+ /** 创建时间 */
180
+ created_at: string;
181
+ /** 更新时间 */
182
+ updated_at: string;
183
+ /** 删除时间 */
184
+ deleted_at: number;
185
+ /** 中文源文是否已变化 */
186
+ source_changed: boolean;
187
+ }
148
188
  /** Admin菜单管理服务 */
149
189
  export interface BaseMenuService {
150
190
  /** 查询菜单树形选择 */