@liujitcn/kratos-admin-bi 0.0.0-stage → 0.1.6

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 (166) hide show
  1. package/README.md +43 -2
  2. package/dist/package/declarations/index.d.ts +1 -0
  3. package/dist/package/declarations/src/api/bi/admin/v1/bi_card.d.ts +18 -0
  4. package/dist/package/declarations/src/api/bi/admin/v1/bi_card.js +46 -0
  5. package/dist/package/declarations/src/api/bi/admin/v1/bi_dashboard.d.ts +17 -0
  6. package/dist/package/declarations/src/api/bi/admin/v1/bi_dashboard.js +30 -0
  7. package/dist/package/declarations/src/api/bi/admin/v1/bi_query.d.ts +11 -0
  8. package/dist/package/declarations/src/api/bi/admin/v1/bi_query.js +41 -0
  9. package/dist/package/declarations/src/api/bi/admin/v1/bi_query_record.d.ts +10 -0
  10. package/dist/package/declarations/src/api/bi/admin/v1/bi_query_record.js +14 -0
  11. package/dist/package/declarations/src/api/bi/admin/v1/bi_source.d.ts +26 -0
  12. package/dist/package/declarations/src/api/bi/admin/v1/bi_source.js +46 -0
  13. package/dist/package/declarations/src/bi-core.d.ts +17 -0
  14. package/dist/package/declarations/src/bi-core.js +22 -0
  15. package/dist/package/declarations/src/bi-dashboard-schema.d.ts +31 -0
  16. package/dist/package/declarations/src/bi-dashboard-schema.js +39 -0
  17. package/dist/package/declarations/src/bi-messages.d.ts +247 -0
  18. package/dist/package/declarations/src/bi-messages.js +247 -0
  19. package/dist/package/declarations/src/bi-response.d.ts +10 -0
  20. package/dist/package/declarations/src/bi-response.js +33 -0
  21. package/dist/package/declarations/src/bi-vue.d.ts +10 -0
  22. package/dist/package/declarations/src/bi-vue.js +10 -0
  23. package/dist/package/declarations/src/card-schema.d.ts +30 -0
  24. package/dist/package/declarations/src/card-schema.js +87 -0
  25. package/dist/package/declarations/src/components/BiCardChartEditor.vue.d.ts +17 -0
  26. package/dist/package/declarations/src/components/BiCardChartEditor.vue.js +527 -0
  27. package/dist/package/declarations/src/components/BiCardFormDialog.vue.d.ts +20 -0
  28. package/dist/package/declarations/src/components/BiCardFormDialog.vue.js +495 -0
  29. package/dist/package/declarations/src/components/BiCardLibrary.vue.d.ts +3 -0
  30. package/dist/package/declarations/src/components/BiCardLibrary.vue.js +807 -0
  31. package/dist/package/declarations/src/components/BiCardVisualization.vue.d.ts +10 -0
  32. package/dist/package/declarations/src/components/BiCardVisualization.vue.js +97 -0
  33. package/dist/package/declarations/src/components/BiChart.vue.d.ts +20 -0
  34. package/dist/package/declarations/src/components/BiChart.vue.js +112 -0
  35. package/dist/package/declarations/src/components/BiDashboard.vue.d.ts +9 -0
  36. package/dist/package/declarations/src/components/BiDashboard.vue.js +81 -0
  37. package/dist/package/declarations/src/components/BiDashboardMenuDialog.vue.d.ts +12 -0
  38. package/dist/package/declarations/src/components/BiDashboardMenuDialog.vue.js +252 -0
  39. package/dist/package/declarations/src/components/BiDataCard.vue.d.ts +36 -0
  40. package/dist/package/declarations/src/components/BiDataCard.vue.js +372 -0
  41. package/dist/package/declarations/src/components/BiDesigner.vue.d.ts +17 -0
  42. package/dist/package/declarations/src/components/BiDesigner.vue.js +666 -0
  43. package/dist/package/declarations/src/components/BiSourceModelDialog.vue.d.ts +17 -0
  44. package/dist/package/declarations/src/components/BiSourceModelDialog.vue.js +2118 -0
  45. package/dist/package/declarations/src/components/BiWorkbenchPreview.vue.d.ts +7 -0
  46. package/dist/package/declarations/src/components/BiWorkbenchPreview.vue.js +176 -0
  47. package/dist/package/declarations/src/components/source-model-layout.d.ts +3 -0
  48. package/dist/package/declarations/src/components/source-model-layout.js +66 -0
  49. package/dist/package/declarations/src/dataset/index.d.ts +7 -0
  50. package/dist/package/declarations/src/dataset/index.js +25 -0
  51. package/dist/package/declarations/src/dataset/labels.d.ts +2 -0
  52. package/dist/package/declarations/src/dataset/labels.js +21 -0
  53. package/dist/package/declarations/src/dataset/transform.d.ts +20 -0
  54. package/dist/package/declarations/src/dataset/transform.js +173 -0
  55. package/dist/package/declarations/src/engine/chart-types.d.ts +14 -0
  56. package/dist/package/declarations/src/engine/chart-types.js +37 -0
  57. package/dist/package/declarations/src/engine/echarts.d.ts +16 -0
  58. package/dist/package/declarations/src/engine/echarts.js +491 -0
  59. package/dist/package/declarations/src/engine/types.d.ts +36 -0
  60. package/dist/package/declarations/src/engine/types.js +20 -0
  61. package/dist/package/declarations/src/env.d.ts +17 -0
  62. package/dist/package/declarations/src/env.js +67 -0
  63. package/dist/package/declarations/src/index.d.ts +1 -0
  64. package/dist/package/declarations/src/index.js +1 -0
  65. package/dist/package/declarations/src/locales/en-US.json +254 -0
  66. package/dist/package/declarations/src/locales/generated.d.ts +1021 -0
  67. package/dist/package/declarations/src/locales/generated.js +13 -0
  68. package/dist/package/declarations/src/locales/ja-JP.json +254 -0
  69. package/dist/package/declarations/src/locales/zh-CN.json +254 -0
  70. package/dist/package/declarations/src/locales/zh-TW.json +254 -0
  71. package/dist/package/declarations/src/module.d.ts +2 -0
  72. package/dist/package/declarations/src/module.js +9 -0
  73. package/dist/package/declarations/src/rpc/bi/admin/v1/bi_card.d.ts +145 -0
  74. package/dist/package/declarations/src/rpc/bi/admin/v1/bi_card.js +6 -0
  75. package/dist/package/declarations/src/rpc/bi/admin/v1/bi_dashboard.d.ts +107 -0
  76. package/dist/package/declarations/src/rpc/bi/admin/v1/bi_dashboard.js +6 -0
  77. package/dist/package/declarations/src/rpc/bi/admin/v1/bi_query.d.ts +157 -0
  78. package/dist/package/declarations/src/rpc/bi/admin/v1/bi_query.js +6 -0
  79. package/dist/package/declarations/src/rpc/bi/admin/v1/bi_query_record.d.ts +83 -0
  80. package/dist/package/declarations/src/rpc/bi/admin/v1/bi_query_record.js +15 -0
  81. package/dist/package/declarations/src/rpc/bi/admin/v1/bi_source.d.ts +301 -0
  82. package/dist/package/declarations/src/rpc/bi/admin/v1/bi_source.js +6 -0
  83. package/dist/package/declarations/src/rpc/common/v1/types.d.ts +60 -0
  84. package/dist/package/declarations/src/rpc/common/v1/types.js +6 -0
  85. package/dist/package/declarations/src/schema/layout.d.ts +7 -0
  86. package/dist/package/declarations/src/schema/layout.js +52 -0
  87. package/dist/package/declarations/src/schema/types.d.ts +83 -0
  88. package/dist/package/declarations/src/schema/types.js +1 -0
  89. package/dist/package/declarations/src/theme/index.d.ts +29 -0
  90. package/dist/package/declarations/src/theme/index.js +83 -0
  91. package/dist/package/declarations/src/theme/palettes.d.ts +7 -0
  92. package/dist/package/declarations/src/theme/palettes.js +28 -0
  93. package/dist/package/declarations/src/theme/presets.d.ts +73 -0
  94. package/dist/package/declarations/src/theme/presets.js +235 -0
  95. package/dist/package/declarations/src/views/card/index.vue.d.ts +3 -0
  96. package/dist/package/declarations/src/views/card/index.vue.js +18 -0
  97. package/dist/package/declarations/src/views/dashboard/index.vue.d.ts +3 -0
  98. package/dist/package/declarations/src/views/dashboard/index.vue.js +107 -0
  99. package/dist/package/declarations/src/views/designer/index.vue.d.ts +3 -0
  100. package/dist/package/declarations/src/views/designer/index.vue.js +332 -0
  101. package/dist/package/declarations/src/views/manage/index.vue.d.ts +3 -0
  102. package/dist/package/declarations/src/views/manage/index.vue.js +325 -0
  103. package/dist/package/declarations/src/views/query/index.vue.d.ts +3 -0
  104. package/dist/package/declarations/src/views/query/index.vue.js +876 -0
  105. package/dist/package/declarations/src/views/source/index.vue.d.ts +3 -0
  106. package/dist/package/declarations/src/views/source/index.vue.js +343 -0
  107. package/dist/package/declarations/src/views/workbench/index.vue.d.ts +3 -0
  108. package/dist/package/declarations/src/views/workbench/index.vue.js +362 -0
  109. package/dist/package/src/api/bi/admin/v1/bi_card.ts +67 -0
  110. package/dist/package/src/api/bi/admin/v1/bi_dashboard.ts +51 -0
  111. package/dist/package/src/api/bi/admin/v1/bi_query.ts +55 -0
  112. package/dist/package/src/api/bi/admin/v1/bi_query_record.ts +25 -0
  113. package/dist/package/src/api/bi/admin/v1/bi_source.ts +80 -0
  114. package/dist/package/src/bi-core.ts +43 -0
  115. package/dist/package/src/bi-dashboard-schema.ts +69 -0
  116. package/dist/package/src/bi-messages.ts +249 -0
  117. package/dist/package/src/bi-response.ts +39 -0
  118. package/dist/package/src/bi-vue.ts +13 -0
  119. package/dist/package/src/card-schema.ts +111 -0
  120. package/dist/package/src/components/BiCardChartEditor.vue +139 -0
  121. package/dist/package/src/components/BiCardFormDialog.vue +289 -0
  122. package/dist/package/src/components/BiCardLibrary.vue +310 -0
  123. package/dist/package/src/components/BiCardVisualization.vue +95 -0
  124. package/dist/package/src/components/BiChart.vue +134 -0
  125. package/dist/package/src/components/BiDashboard.vue +53 -0
  126. package/dist/package/src/components/BiDashboardMenuDialog.vue +177 -0
  127. package/dist/package/src/components/BiDataCard.vue +231 -0
  128. package/dist/package/src/components/BiDesigner.vue +287 -0
  129. package/dist/package/src/components/BiSourceModelDialog.vue +846 -0
  130. package/dist/package/src/components/BiWorkbenchPreview.vue +131 -0
  131. package/dist/package/src/components/source-model-layout.ts +62 -0
  132. package/dist/package/src/dataset/index.ts +28 -0
  133. package/dist/package/src/dataset/labels.ts +19 -0
  134. package/dist/package/src/dataset/transform.ts +189 -0
  135. package/dist/package/src/engine/chart-types.ts +44 -0
  136. package/dist/package/src/engine/echarts.ts +568 -0
  137. package/dist/package/src/engine/types.ts +60 -0
  138. package/dist/package/src/env.ts +82 -0
  139. package/dist/package/src/index.ts +1 -0
  140. package/dist/package/src/locales/en-US.json +254 -0
  141. package/dist/package/src/locales/generated.ts +16 -0
  142. package/dist/package/src/locales/ja-JP.json +254 -0
  143. package/dist/package/src/locales/zh-CN.json +254 -0
  144. package/dist/package/src/locales/zh-TW.json +254 -0
  145. package/dist/package/src/module.ts +12 -0
  146. package/dist/package/src/rpc/bi/admin/v1/bi_card.ts +169 -0
  147. package/dist/package/src/rpc/bi/admin/v1/bi_dashboard.ts +126 -0
  148. package/dist/package/src/rpc/bi/admin/v1/bi_query.ts +187 -0
  149. package/dist/package/src/rpc/bi/admin/v1/bi_query_record.ts +98 -0
  150. package/dist/package/src/rpc/bi/admin/v1/bi_source.ts +338 -0
  151. package/dist/package/src/rpc/common/v1/types.ts +77 -0
  152. package/dist/package/src/schema/layout.ts +54 -0
  153. package/dist/package/src/schema/types.ts +103 -0
  154. package/dist/package/src/styles.scss +1 -0
  155. package/dist/package/src/theme/index.ts +108 -0
  156. package/dist/package/src/theme/palettes.ts +34 -0
  157. package/dist/package/src/theme/presets.ts +278 -0
  158. package/dist/package/src/views/card/index.vue +5 -0
  159. package/dist/package/src/views/dashboard/index.vue +58 -0
  160. package/dist/package/src/views/designer/index.vue +164 -0
  161. package/dist/package/src/views/manage/index.vue +276 -0
  162. package/dist/package/src/views/query/index.vue +593 -0
  163. package/dist/package/src/views/source/index.vue +214 -0
  164. package/dist/package/src/views/workbench/index.vue +208 -0
  165. package/package.json +67 -3
  166. package/tsconfig.json +12 -0
package/README.md CHANGED
@@ -1,3 +1,44 @@
1
- # Temporary Holding Version
1
+ # @liujitcn/kratos-admin-bi
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ kratos-admin 管理端 BI 分析模块,提供数据源建模、智能问数、查询记录、数据卡片、仪表盘设计与个人工作台。
4
+
5
+ ## 安装与接入
6
+
7
+ 在 Vue 3 + Vite 管理端项目中安装,与 core、System 保持相同版本:
8
+
9
+ ```bash
10
+ pnpm add @liujitcn/kratos-admin-core @liujitcn/kratos-admin-system @liujitcn/kratos-admin-bi
11
+ ```
12
+
13
+ 将模块加入宿主的模块加载清单,在 System 模块之后加载:
14
+
15
+ ```ts
16
+ {
17
+ packageName: "@liujitcn/kratos-admin-bi",
18
+ load: async () => (await import("@liujitcn/kratos-admin-bi")).biAdminModule
19
+ }
20
+ ```
21
+
22
+ 模块依赖 `@liujitcn/kratos-admin-core` 和 `@liujitcn/kratos-admin-system`。宿主需使用 core 的 Vite 配置扫描模块页面,并连接提供 BI API、菜单和权限的 kratos-admin 后端。
23
+
24
+ ## 目录与公开入口
25
+
26
+ - `src/api/bi/admin/v1`:BI 请求封装,对应 `./api/*`。
27
+ - `src/rpc`:由 Proto 生成的协议类型,对应 `./rpc/*`。
28
+ - `src/views`:数据源、问数、卡片、仪表盘和工作台页面,对应 `./views/*`。
29
+ - `src/components`:模块内部的图表、建模和仪表盘组件。
30
+ - `src/locales`:zh-CN、zh-TW、en-US、ja-JP 语言包,对应 `./locales/*`。
31
+ - `src/module.ts`:`biAdminModule` 定义,通过主入口或 `./module` 导出。
32
+ - `tests`:查询、图表、布局与响应处理测试。
33
+
34
+ ## 验证与打包
35
+
36
+ 在 `frontend/admin` 目录执行:
37
+
38
+ ```bash
39
+ pnpm --filter @liujitcn/kratos-admin-bi test
40
+ pnpm --filter @liujitcn/kratos-admin-bi type:check
41
+ pnpm --filter @liujitcn/kratos-admin-bi pack
42
+ ```
43
+
44
+ 打包自动执行现有 `build:package` 命令,生成 `dist/package` 中的源码和类型声明;发布时由 pnpm 将 workspace 依赖替换为对应版本。
@@ -0,0 +1 @@
1
+ export * from "./src/index";
@@ -0,0 +1,18 @@
1
+ import type { BiCard, BiCardService, BiWorkbench, DeleteBiCardRequest, DeleteBiCardResponse, GetBiCardDataRequest, GetBiWorkbenchRequest, PageBiCardRequest, PageBiCardResponse, SaveBiCardRequest, SaveBiWorkbenchRequest } from "../../../../rpc/bi/admin/v1/bi_card";
2
+ import type { BiQueryResult } from "../../../../rpc/bi/admin/v1/bi_query";
3
+ /** 数据卡片与个人工作台请求实现。 */
4
+ export declare class BiCardServiceImpl implements BiCardService {
5
+ /** 分页查询当前用户可见的卡片。 */
6
+ PageBiCard(request: PageBiCardRequest): Promise<PageBiCardResponse>;
7
+ /** 保存当前用户的数据卡片。 */
8
+ SaveBiCard(request: SaveBiCardRequest): Promise<BiCard>;
9
+ /** 删除当前用户的数据卡片。 */
10
+ DeleteBiCard(request: DeleteBiCardRequest): Promise<DeleteBiCardResponse>;
11
+ /** 按访问者权限执行卡片查询。 */
12
+ GetBiCardData(request: GetBiCardDataRequest): Promise<BiQueryResult>;
13
+ /** 获取个人工作台。 */
14
+ GetBiWorkbench(request: GetBiWorkbenchRequest): Promise<BiWorkbench>;
15
+ /** 保存个人工作台与收藏。 */
16
+ SaveBiWorkbench(request: SaveBiWorkbenchRequest): Promise<BiWorkbench>;
17
+ }
18
+ export declare const defBiCardService: BiCardServiceImpl;
@@ -0,0 +1,46 @@
1
+ import service from "@liujitcn/kratos-admin-core/request";
2
+ import { normalizeBiCard, normalizeBiWorkbench, normalizeBiQueryResult } from "../../../../bi-response";
3
+ const BI_CARD_URL = "/v1/admin/bi/card";
4
+ const BI_WORKBENCH_URL = "/v1/admin/bi/workbench";
5
+ /** 数据卡片与个人工作台请求实现。 */
6
+ export class BiCardServiceImpl {
7
+ /** 分页查询当前用户可见的卡片。 */
8
+ PageBiCard(request) {
9
+ return service({ url: BI_CARD_URL, method: "get", params: request }).then(result => ({
10
+ cards: (result.cards ?? []).map(normalizeBiCard),
11
+ total: result.total ?? 0,
12
+ counts: {
13
+ all: result.counts?.all ?? 0,
14
+ system: result.counts?.system ?? 0,
15
+ mine: result.counts?.mine ?? 0,
16
+ favorite: result.counts?.favorite ?? 0,
17
+ shared: result.counts?.shared ?? 0
18
+ }
19
+ }));
20
+ }
21
+ /** 保存当前用户的数据卡片。 */
22
+ SaveBiCard(request) {
23
+ return service({ url: BI_CARD_URL, method: "post", data: request }).then(normalizeBiCard);
24
+ }
25
+ /** 删除当前用户的数据卡片。 */
26
+ DeleteBiCard(request) {
27
+ return service({ url: `${BI_CARD_URL}/${request.id}`, method: "delete" });
28
+ }
29
+ /** 按访问者权限执行卡片查询。 */
30
+ GetBiCardData(request) {
31
+ return service({
32
+ url: `${BI_CARD_URL}/${request.id}/data`,
33
+ method: "get",
34
+ params: { range_days: request.range_days }
35
+ }).then(normalizeBiQueryResult);
36
+ }
37
+ /** 获取个人工作台。 */
38
+ GetBiWorkbench(request) {
39
+ return service({ url: BI_WORKBENCH_URL, method: "get", params: request }).then(normalizeBiWorkbench);
40
+ }
41
+ /** 保存个人工作台与收藏。 */
42
+ SaveBiWorkbench(request) {
43
+ return service({ url: BI_WORKBENCH_URL, method: "put", data: request }).then(normalizeBiWorkbench);
44
+ }
45
+ }
46
+ export const defBiCardService = new BiCardServiceImpl();
@@ -0,0 +1,17 @@
1
+ import type { BiDashboard, BiDashboardService, DeleteBiDashboardRequest, DeleteBiDashboardResponse, BiDashboardDataResponse, GetBiDashboardDataRequest, GetBiDashboardRequest, PageBiDashboardRequest, PageBiDashboardResponse, PublishBiDashboardRequest, SaveBiDashboardRequest } from "../../../../rpc/bi/admin/v1/bi_dashboard";
2
+ /** BI 仪表盘管理服务实现。 */
3
+ export declare class BiDashboardServiceImpl implements BiDashboardService {
4
+ /** 分页查询仪表盘。 */
5
+ PageBiDashboard(request: PageBiDashboardRequest): Promise<PageBiDashboardResponse>;
6
+ /** 查询仪表盘详情。 */
7
+ GetBiDashboard(request: GetBiDashboardRequest): Promise<BiDashboard>;
8
+ /** 保存仪表盘草稿。 */
9
+ SaveBiDashboard(request: SaveBiDashboardRequest): Promise<BiDashboard>;
10
+ /** 发布仪表盘草稿。 */
11
+ PublishBiDashboard(request: PublishBiDashboardRequest): Promise<BiDashboard>;
12
+ /** 删除仪表盘。 */
13
+ DeleteBiDashboard(request: DeleteBiDashboardRequest): Promise<DeleteBiDashboardResponse>;
14
+ /** 执行已发布仪表盘中的图表查询。 */
15
+ GetBiDashboardData(request: GetBiDashboardDataRequest): Promise<BiDashboardDataResponse>;
16
+ }
17
+ export declare const defBiDashboardService: BiDashboardServiceImpl;
@@ -0,0 +1,30 @@
1
+ import service from "@liujitcn/kratos-admin-core/request";
2
+ const BI_DASHBOARD_URL = "/v1/admin/bi/dashboard";
3
+ /** BI 仪表盘管理服务实现。 */
4
+ export class BiDashboardServiceImpl {
5
+ /** 分页查询仪表盘。 */
6
+ PageBiDashboard(request) {
7
+ return service({ url: BI_DASHBOARD_URL, method: "get", params: request });
8
+ }
9
+ /** 查询仪表盘详情。 */
10
+ GetBiDashboard(request) {
11
+ return service({ url: `${BI_DASHBOARD_URL}/${request.id}`, method: "get" });
12
+ }
13
+ /** 保存仪表盘草稿。 */
14
+ SaveBiDashboard(request) {
15
+ return service({ url: BI_DASHBOARD_URL, method: "post", data: request });
16
+ }
17
+ /** 发布仪表盘草稿。 */
18
+ PublishBiDashboard(request) {
19
+ return service({ url: `${BI_DASHBOARD_URL}/${request.id}/publish`, method: "post", data: request });
20
+ }
21
+ /** 删除仪表盘。 */
22
+ DeleteBiDashboard(request) {
23
+ return service({ url: `${BI_DASHBOARD_URL}/${request.id}`, method: "delete" });
24
+ }
25
+ /** 执行已发布仪表盘中的图表查询。 */
26
+ GetBiDashboardData(request) {
27
+ return service({ url: `${BI_DASHBOARD_URL}/${request.id}/data`, method: "get", params: { version: request.version } });
28
+ }
29
+ }
30
+ export const defBiDashboardService = new BiDashboardServiceImpl();
@@ -0,0 +1,11 @@
1
+ import type { AskBiQueryRequest, AskBiQueryResponse, BiQueryService, BiQueryResult, ListBiSourcesRequest, ListBiSourcesResponse, PreviewBiQueryRequest } from "../../../../rpc/bi/admin/v1/bi_query";
2
+ /** BI 语义查询服务实现。 */
3
+ export declare class BiQueryServiceImpl implements BiQueryService {
4
+ /** 查询当前用户可用的数据源目录。 */
5
+ ListBiSources(request: ListBiSourcesRequest): Promise<ListBiSourcesResponse>;
6
+ /** 预览一个语义查询。 */
7
+ PreviewBiQuery(request: PreviewBiQueryRequest): Promise<BiQueryResult>;
8
+ /** 根据自然语言生成语义查询并预览。 */
9
+ AskBiQuery(request: AskBiQueryRequest): Promise<AskBiQueryResponse>;
10
+ }
11
+ export declare const defBiQueryService: BiQueryServiceImpl;
@@ -0,0 +1,41 @@
1
+ import service from "@liujitcn/kratos-admin-core/request";
2
+ import { normalizeBiQuerySpec, normalizeBiQueryResult } from "../../../../bi-response";
3
+ const BI_QUERY_URL = "/v1/admin/bi";
4
+ /** BI 语义查询服务实现。 */
5
+ export class BiQueryServiceImpl {
6
+ /** 查询当前用户可用的数据源目录。 */
7
+ ListBiSources(request) {
8
+ return service({
9
+ url: `${BI_QUERY_URL}/sources`,
10
+ method: "get",
11
+ params: request
12
+ }).then(result => ({
13
+ sources: (result.sources ?? []).map(source => ({
14
+ ...source,
15
+ dimensions: source.dimensions ?? [],
16
+ measures: (source.measures ?? []).map(measure => ({ ...measure, aggregations: measure.aggregations ?? [] }))
17
+ }))
18
+ }));
19
+ }
20
+ /** 预览一个语义查询。 */
21
+ PreviewBiQuery(request) {
22
+ return service({
23
+ url: `${BI_QUERY_URL}/query/preview`,
24
+ method: "post",
25
+ data: request
26
+ }).then(normalizeBiQueryResult);
27
+ }
28
+ /** 根据自然语言生成语义查询并预览。 */
29
+ AskBiQuery(request) {
30
+ return service({
31
+ url: `${BI_QUERY_URL}/query/ask`,
32
+ method: "post",
33
+ data: request
34
+ }).then(response => ({
35
+ ...response,
36
+ query: response.query ? normalizeBiQuerySpec(response.query) : undefined,
37
+ result: response.result ? normalizeBiQueryResult(response.result) : undefined
38
+ }));
39
+ }
40
+ }
41
+ export const defBiQueryService = new BiQueryServiceImpl();
@@ -0,0 +1,10 @@
1
+ import type { BiQueryRecordService, GetBiQueryRequest, PageBiQueryRequest, PageBiQueryResponse } from "../../../../rpc/bi/admin/v1/bi_query_record";
2
+ import type { BiQueryRecord } from "../../../../rpc/bi/admin/v1/bi_query_record";
3
+ /** 智能问数记录管理服务实现。 */
4
+ export declare class BiQueryRecordServiceImpl implements BiQueryRecordService {
5
+ /** 分页查询智能问数记录。 */
6
+ PageBiQuery(request: PageBiQueryRequest): Promise<PageBiQueryResponse>;
7
+ /** 查询智能问数记录详情。 */
8
+ GetBiQuery(request: GetBiQueryRequest): Promise<BiQueryRecord>;
9
+ }
10
+ export declare const defBiQueryRecordService: BiQueryRecordServiceImpl;
@@ -0,0 +1,14 @@
1
+ import service from "@liujitcn/kratos-admin-core/request";
2
+ const BI_QUERY_URL = "/v1/admin/bi/query-record";
3
+ /** 智能问数记录管理服务实现。 */
4
+ export class BiQueryRecordServiceImpl {
5
+ /** 分页查询智能问数记录。 */
6
+ PageBiQuery(request) {
7
+ return service({ url: BI_QUERY_URL, method: "get", params: request });
8
+ }
9
+ /** 查询智能问数记录详情。 */
10
+ GetBiQuery(request) {
11
+ return service({ url: `${BI_QUERY_URL}/${request.id}`, method: "get" });
12
+ }
13
+ }
14
+ export const defBiQueryRecordService = new BiQueryRecordServiceImpl();
@@ -0,0 +1,26 @@
1
+ import type { BiSource, BiSourceForm, BiSourceService, ListBiSourceTablesRequest, ListBiSourceTablesResponse, CreateBiSourceRequest, DeleteBiSourceRequest, DeleteBiSourceResponse, GetBiSourceRequest, OptionBiSourceDatabaseRequest, OptionBiSourceDatabaseResponse, PageBiSourceRequest, PageBiSourceResponse, SetBiSourceStatusRequest, SaveBiSourceModelRequest, TestBiSourceRequest, TestBiSourceResponse, UpdateBiSourceRequest } from "../../../../rpc/bi/admin/v1/bi_source";
2
+ /** BI 数据源配置服务实现。 */
3
+ export declare class BiSourceServiceImpl implements BiSourceService {
4
+ /** 分页查询当前租户的数据源配置。 */
5
+ PageBiSource(request: PageBiSourceRequest): Promise<PageBiSourceResponse>;
6
+ /** 查询数据源配置详情。 */
7
+ GetBiSource(request: GetBiSourceRequest): Promise<BiSource>;
8
+ /** 创建数据源配置。 */
9
+ CreateBiSource(request: CreateBiSourceRequest): Promise<BiSource>;
10
+ /** 更新数据源配置。 */
11
+ UpdateBiSource(request: UpdateBiSourceRequest): Promise<BiSource>;
12
+ /** 删除数据源配置。 */
13
+ DeleteBiSource(request: DeleteBiSourceRequest): Promise<DeleteBiSourceResponse>;
14
+ /** 修改数据源启用状态。 */
15
+ SetBiSourceStatus(request: SetBiSourceStatusRequest): Promise<BiSource>;
16
+ /** 查询服务端已配置的数据库客户端选项。 */
17
+ OptionBiSourceDatabase(request: OptionBiSourceDatabaseRequest): Promise<OptionBiSourceDatabaseResponse>;
18
+ /** 测试数据源连接和表配置。 */
19
+ TestBiSource(request: TestBiSourceRequest): Promise<TestBiSourceResponse>;
20
+ /** 查询数据源中的表和字段结构。 */
21
+ ListBiSourceTables(request: ListBiSourceTablesRequest): Promise<ListBiSourceTablesResponse>;
22
+ /** 保存数据源语义模型。 */
23
+ SaveBiSourceModel(request: SaveBiSourceModelRequest): Promise<BiSource>;
24
+ }
25
+ export declare const defBiSourceService: BiSourceServiceImpl;
26
+ export type { BiSourceForm };
@@ -0,0 +1,46 @@
1
+ import service from "@liujitcn/kratos-admin-core/request";
2
+ const BI_SOURCE_URL = "/v1/admin/bi/source";
3
+ /** BI 数据源配置服务实现。 */
4
+ export class BiSourceServiceImpl {
5
+ /** 分页查询当前租户的数据源配置。 */
6
+ PageBiSource(request) {
7
+ return service({ url: BI_SOURCE_URL, method: "get", params: request });
8
+ }
9
+ /** 查询数据源配置详情。 */
10
+ GetBiSource(request) {
11
+ return service({ url: `${BI_SOURCE_URL}/${request.id}`, method: "get", params: request });
12
+ }
13
+ /** 创建数据源配置。 */
14
+ CreateBiSource(request) {
15
+ return service({ url: BI_SOURCE_URL, method: "post", data: request.source });
16
+ }
17
+ /** 更新数据源配置。 */
18
+ UpdateBiSource(request) {
19
+ return service({ url: `${BI_SOURCE_URL}/${request.source?.id ?? 0}`, method: "put", data: request.source });
20
+ }
21
+ /** 删除数据源配置。 */
22
+ DeleteBiSource(request) {
23
+ return service({ url: `${BI_SOURCE_URL}/${request.id}`, method: "delete", data: request });
24
+ }
25
+ /** 修改数据源启用状态。 */
26
+ SetBiSourceStatus(request) {
27
+ return service({ url: `${BI_SOURCE_URL}/${request.id}/status`, method: "put", data: { status: request.status } });
28
+ }
29
+ /** 查询服务端已配置的数据库客户端选项。 */
30
+ OptionBiSourceDatabase(request) {
31
+ return service({ url: `${BI_SOURCE_URL}/options/databases`, method: "get", params: request });
32
+ }
33
+ /** 测试数据源连接和表配置。 */
34
+ TestBiSource(request) {
35
+ return service({ url: `${BI_SOURCE_URL}/test`, method: "post", data: request.source });
36
+ }
37
+ /** 查询数据源中的表和字段结构。 */
38
+ ListBiSourceTables(request) {
39
+ return service({ url: `${BI_SOURCE_URL}/${request.id}/tables`, method: "get", params: request });
40
+ }
41
+ /** 保存数据源语义模型。 */
42
+ SaveBiSourceModel(request) {
43
+ return service({ url: `${BI_SOURCE_URL}/${request.id}/model`, method: "put", data: request.model });
44
+ }
45
+ }
46
+ export const defBiSourceService = new BiSourceServiceImpl();
@@ -0,0 +1,17 @@
1
+ /** BI 图表内核:真实结果的字段映射、数据转换、图表引擎、布局与主题。 */
2
+ export * from "./schema/types";
3
+ export { flowPlace } from "./schema/layout";
4
+ export { getColumns, toNumber, unique } from "./dataset";
5
+ export { BI_THEME_DARK, BI_THEME_LIGHT, detectDark, resolveTheme, watchDark } from "./theme";
6
+ export type { BiResolvedTheme } from "./theme";
7
+ export { BI_PALETTES, BI_PALETTE_KEYS, resolvePalette } from "./theme/palettes";
8
+ export { BI_DASHBOARD_THEMES, BI_SEMANTIC_COLORS, BI_THEME_PRESET_KEYS, getDashboardThemePreset, resolveDashboardTheme, resolveStageColors } from "./theme/presets";
9
+ export type { BiDashboardThemePreset, BiStageColors } from "./theme/presets";
10
+ export { applyFilters, aggregateRows, sortRows, transformRows, inferFieldType, formatNumber } from "./dataset/transform";
11
+ export type { BiFieldType } from "./dataset/transform";
12
+ export { createEchartsEngine, compileEcharts, installEchartsEngine } from "./engine/echarts";
13
+ export type { BiEChartsOption } from "./engine/echarts";
14
+ export { getEngine, hasEngine, registerEngine } from "./engine/types";
15
+ export type { BiChartEvent, ChartEngine, ChartHandle } from "./engine/types";
16
+ export { registerChartType, getChartTypes, getEngineForType } from "./engine/chart-types";
17
+ export { BI_MESSAGES_ZH, BI_MESSAGES_EN } from "./bi-messages";
@@ -0,0 +1,22 @@
1
+ /** BI 图表内核:真实结果的字段映射、数据转换、图表引擎、布局与主题。 */
2
+ // Schema 与缺省
3
+ export * from "./schema/types";
4
+ export { flowPlace } from "./schema/layout";
5
+ // 数据集解析
6
+ export { getColumns, toNumber, unique } from "./dataset";
7
+ // 主题
8
+ export { BI_THEME_DARK, BI_THEME_LIGHT, detectDark, resolveTheme, watchDark } from "./theme";
9
+ export { BI_PALETTES, BI_PALETTE_KEYS, resolvePalette } from "./theme/palettes";
10
+ export { BI_DASHBOARD_THEMES, BI_SEMANTIC_COLORS, BI_THEME_PRESET_KEYS, getDashboardThemePreset, resolveDashboardTheme, resolveStageColors } from "./theme/presets";
11
+ // 数据变换(过滤/聚合/排序/TopN + 字段类型推断 + 数值格式化)
12
+ export { applyFilters, aggregateRows, sortRows, transformRows, inferFieldType, formatNumber } from "./dataset/transform";
13
+ // 引擎
14
+ export { createEchartsEngine, compileEcharts, installEchartsEngine } from "./engine/echarts";
15
+ export { getEngine, hasEngine, registerEngine } from "./engine/types";
16
+ // 图型注册表(引擎适配器包扩展设计器图型)
17
+ export { registerChartType, getChartTypes, getEngineForType } from "./engine/chart-types";
18
+ // 文案包(纯数据)
19
+ export { BI_MESSAGES_ZH, BI_MESSAGES_EN } from "./bi-messages";
20
+ import { installEchartsEngine } from "./engine/echarts";
21
+ // 包加载即注册内置引擎
22
+ installEchartsEngine();
@@ -0,0 +1,31 @@
1
+ import type { BiCard } from "./rpc/bi/admin/v1/bi_card";
2
+ import type { BiDashboardDataResponse } from "./rpc/bi/admin/v1/bi_dashboard";
3
+ import type { BiQuerySpec } from "./rpc/bi/admin/v1/bi_query";
4
+ /** 仪表盘只保存名称、卡片引用与栅格位置,外观跟随管理端主题。 */
5
+ export interface DashboardLayout {
6
+ schemaVersion: 3;
7
+ name: string;
8
+ cards: DashboardCardLayout[];
9
+ }
10
+ /** 单张数据卡片的布局与服务端发布快照。 */
11
+ export interface DashboardCardLayout {
12
+ id: string;
13
+ card_id: number;
14
+ query_record_id?: number;
15
+ x?: number;
16
+ y?: number;
17
+ w: number;
18
+ h: number;
19
+ name?: string;
20
+ chart_type?: string;
21
+ chart_json?: string;
22
+ query?: BiQuerySpec;
23
+ }
24
+ /** 读取当前协议的仪表盘布局,不接收旧图表与数据集结构。 */
25
+ export declare function parseDashboardLayout(value: string): DashboardLayout;
26
+ /** 将发布快照还原成只读数据卡片,保留当次图表配置。 */
27
+ export declare function dashboardSnapshotCard(item: DashboardCardLayout): BiCard;
28
+ /** 按发布快照匹配真实查询结果,并补齐 HTTP 省略的空集合。 */
29
+ export declare function dashboardResults(data: BiDashboardDataResponse): Map<string, import("./rpc/bi/admin/v1/bi_query").BiQueryResult | undefined>;
30
+ /** 复用现有栅格算法整理卡片位置,避免拖动排序后互相覆盖。 */
31
+ export declare function reflowDashboardCards(cards: DashboardCardLayout[]): DashboardCardLayout[];
@@ -0,0 +1,39 @@
1
+ import { flowPlace } from "./schema/layout";
2
+ import { normalizeBiQueryResult, normalizeBiQuerySpec } from "./bi-response";
3
+ /** 读取当前协议的仪表盘布局,不接收旧图表与数据集结构。 */
4
+ export function parseDashboardLayout(value) {
5
+ if (!value)
6
+ return { schemaVersion: 3, name: "", cards: [] };
7
+ const layout = JSON.parse(value);
8
+ if (layout.schemaVersion !== 3 || !Array.isArray(layout.cards))
9
+ throw new Error("仪表盘布局格式无效");
10
+ return { schemaVersion: 3, name: layout.name, cards: layout.cards };
11
+ }
12
+ /** 将发布快照还原成只读数据卡片,保留当次图表配置。 */
13
+ export function dashboardSnapshotCard(item) {
14
+ return {
15
+ id: item.card_id,
16
+ tenant_id: 0,
17
+ project_id: 0,
18
+ owner_id: 0,
19
+ query_record_id: item.query_record_id || 0,
20
+ name: item.name || "",
21
+ source_code: item.query?.source_code || "",
22
+ query: item.query ? normalizeBiQuerySpec(item.query) : undefined,
23
+ chart_type: item.chart_type || "bar",
24
+ chart_json: item.chart_json || "",
25
+ refresh_seconds: 0,
26
+ is_shared: false,
27
+ updated_at: "",
28
+ category: "shared",
29
+ can_edit: false
30
+ };
31
+ }
32
+ /** 按发布快照匹配真实查询结果,并补齐 HTTP 省略的空集合。 */
33
+ export function dashboardResults(data) {
34
+ return new Map((data.cards ?? []).map(item => [item.item_id, item.result ? normalizeBiQueryResult(item.result) : undefined]));
35
+ }
36
+ /** 复用现有栅格算法整理卡片位置,避免拖动排序后互相覆盖。 */
37
+ export function reflowDashboardCards(cards) {
38
+ return flowPlace(cards.map(item => ({ ...item, x: undefined, y: undefined })), 12).map(item => ({ ...item, x: item.x ?? 0, y: item.y ?? 0 }));
39
+ }