@liujitcn/kratos-admin-system 0.0.32 → 0.0.34

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 (99) hide show
  1. package/dist/package/declarations/src/api/system/admin/v1/base_redact_output_policy.d.ts +19 -0
  2. package/dist/package/declarations/src/api/system/{base_redact_rule.d.ts → admin/v1/base_redact_rule.d.ts} +1 -1
  3. package/dist/package/declarations/src/api/system/admin/v1/base_redact_storage_policy.d.ts +19 -0
  4. package/dist/package/declarations/src/locales/generated.d.ts +292 -0
  5. package/dist/package/declarations/src/rpc/system/admin/v1/base_redact_output_policy.d.ts +135 -0
  6. package/dist/package/declarations/src/rpc/system/admin/v1/base_redact_rule.d.ts +0 -4
  7. package/dist/package/declarations/src/rpc/system/admin/v1/base_redact_storage_policy.d.ts +114 -0
  8. package/dist/package/src/api/system/admin/v1/base_redact_output_policy.ts +51 -0
  9. package/dist/package/src/api/system/{base_redact_rule.ts → admin/v1/base_redact_rule.ts} +1 -1
  10. package/dist/package/src/api/system/admin/v1/base_redact_storage_policy.ts +51 -0
  11. package/dist/package/src/locales/en-US.json +74 -1
  12. package/dist/package/src/locales/ja-JP.json +74 -1
  13. package/dist/package/src/locales/zh-CN.json +74 -1
  14. package/dist/package/src/locales/zh-TW.json +74 -1
  15. package/dist/package/src/rpc/base/v1/ai_message.ts +1 -1
  16. package/dist/package/src/rpc/base/v1/ai_session.ts +1 -1
  17. package/dist/package/src/rpc/base/v1/ai_tool.ts +1 -1
  18. package/dist/package/src/rpc/base/v1/config.ts +1 -1
  19. package/dist/package/src/rpc/base/v1/login.ts +1 -1
  20. package/dist/package/src/rpc/base/v1/notification.ts +1 -1
  21. package/dist/package/src/rpc/base/v1/oauth.ts +1 -1
  22. package/dist/package/src/rpc/base/v1/oauth_client.ts +1 -1
  23. package/dist/package/src/rpc/base/v1/sse.ts +1 -1
  24. package/dist/package/src/rpc/common/v1/analytics.ts +1 -1
  25. package/dist/package/src/rpc/common/v1/common.ts +1 -1
  26. package/dist/package/src/rpc/common/v1/enum.ts +1 -1
  27. package/dist/package/src/rpc/common/v1/types.ts +1 -1
  28. package/dist/package/src/rpc/google/protobuf/empty.ts +1 -1
  29. package/dist/package/src/rpc/google/protobuf/timestamp.ts +1 -1
  30. package/dist/package/src/rpc/system/admin/v1/auth.ts +1 -1
  31. package/dist/package/src/rpc/system/admin/v1/base_api.ts +1 -1
  32. package/dist/package/src/rpc/system/admin/v1/base_api_log.ts +1 -1
  33. package/dist/package/src/rpc/system/admin/v1/base_area.ts +1 -1
  34. package/dist/package/src/rpc/system/admin/v1/base_config.ts +1 -1
  35. package/dist/package/src/rpc/system/admin/v1/base_dashboard.ts +1 -1
  36. package/dist/package/src/rpc/system/admin/v1/base_data_access_log.ts +1 -1
  37. package/dist/package/src/rpc/system/admin/v1/base_dept.ts +1 -1
  38. package/dist/package/src/rpc/system/admin/v1/base_dict.ts +1 -1
  39. package/dist/package/src/rpc/system/admin/v1/base_dict_item.ts +1 -1
  40. package/dist/package/src/rpc/system/admin/v1/base_file.ts +1 -1
  41. package/dist/package/src/rpc/system/admin/v1/base_i18n.ts +1 -1
  42. package/dist/package/src/rpc/system/admin/v1/base_job.ts +1 -1
  43. package/dist/package/src/rpc/system/admin/v1/base_job_log.ts +1 -1
  44. package/dist/package/src/rpc/system/admin/v1/base_language.ts +1 -1
  45. package/dist/package/src/rpc/system/admin/v1/base_log.ts +1 -1
  46. package/dist/package/src/rpc/system/admin/v1/base_login_log.ts +1 -1
  47. package/dist/package/src/rpc/system/admin/v1/base_login_policy.ts +1 -1
  48. package/dist/package/src/rpc/system/admin/v1/base_menu.ts +1 -1
  49. package/dist/package/src/rpc/system/admin/v1/base_message.ts +1 -1
  50. package/dist/package/src/rpc/system/admin/v1/base_message_category.ts +1 -1
  51. package/dist/package/src/rpc/system/admin/v1/base_migration.ts +1 -1
  52. package/dist/package/src/rpc/system/admin/v1/base_operation_log.ts +1 -1
  53. package/dist/package/src/rpc/system/admin/v1/base_permission_log.ts +1 -1
  54. package/dist/package/src/rpc/system/admin/v1/base_policy_evaluation_log.ts +1 -1
  55. package/dist/package/src/rpc/system/admin/v1/base_post.ts +1 -1
  56. package/dist/package/src/rpc/system/admin/v1/base_redact_common.ts +1 -1
  57. package/dist/package/src/rpc/system/admin/v1/base_redact_output_policy.ts +157 -0
  58. package/dist/package/src/rpc/system/admin/v1/base_redact_rule.ts +1 -5
  59. package/dist/package/src/rpc/system/admin/v1/base_redact_storage_policy.ts +137 -0
  60. package/dist/package/src/rpc/system/admin/v1/base_role.ts +1 -1
  61. package/dist/package/src/rpc/system/admin/v1/base_session.ts +1 -1
  62. package/dist/package/src/rpc/system/admin/v1/base_table_archive.ts +1 -1
  63. package/dist/package/src/rpc/system/admin/v1/base_table_archive_record.ts +1 -1
  64. package/dist/package/src/rpc/system/admin/v1/base_table_archive_restore.ts +1 -1
  65. package/dist/package/src/rpc/system/admin/v1/base_table_backup.ts +1 -1
  66. package/dist/package/src/rpc/system/admin/v1/base_table_backup_record.ts +1 -1
  67. package/dist/package/src/rpc/system/admin/v1/base_table_backup_restore.ts +1 -1
  68. package/dist/package/src/rpc/system/admin/v1/base_table_source.ts +1 -1
  69. package/dist/package/src/rpc/system/admin/v1/base_tenant.ts +1 -1
  70. package/dist/package/src/rpc/system/admin/v1/base_third_account.ts +1 -1
  71. package/dist/package/src/rpc/system/admin/v1/base_user.ts +1 -1
  72. package/dist/package/src/rpc/system/admin/v1/cache.ts +1 -1
  73. package/dist/package/src/rpc/system/admin/v1/code_gen.ts +1 -1
  74. package/dist/package/src/rpc/system/admin/v1/code_gen_column.ts +1 -1
  75. package/dist/package/src/rpc/system/admin/v1/code_gen_proto.ts +1 -1
  76. package/dist/package/src/rpc/system/admin/v1/code_gen_table.ts +1 -1
  77. package/dist/package/src/rpc/system/admin/v1/common.ts +1 -1
  78. package/dist/package/src/rpc/system/admin/v1/oauth_client.ts +1 -1
  79. package/dist/package/src/rpc/system/admin/v1/ops_monitoring.ts +1 -1
  80. package/dist/package/src/rpc/system/admin/v1/project_document.ts +1 -1
  81. package/dist/package/src/rpc/system/admin/v1/runtime_log.ts +1 -1
  82. package/dist/package/src/rpc/system/common/v1/common.ts +1 -1
  83. package/dist/package/src/rpc/system/config/v1/system_config.ts +1 -1
  84. package/dist/package/src/views/base/redact-output-policy/index.vue +324 -0
  85. package/dist/package/src/views/base/redact-rule/index.vue +339 -29
  86. package/dist/package/src/views/base/redact-storage-policy/index.vue +276 -0
  87. package/package.json +2 -2
  88. package/dist/package/declarations/src/api/system/base_redact_field.d.ts +0 -20
  89. package/dist/package/declarations/src/api/system/base_redact_policy.d.ts +0 -19
  90. package/dist/package/declarations/src/rpc/system/admin/v1/base_redact_field.d.ts +0 -161
  91. package/dist/package/declarations/src/rpc/system/admin/v1/base_redact_policy.d.ts +0 -150
  92. package/dist/package/src/api/system/base_redact_field.ts +0 -25
  93. package/dist/package/src/api/system/base_redact_policy.ts +0 -24
  94. package/dist/package/src/rpc/system/admin/v1/base_redact_field.ts +0 -182
  95. package/dist/package/src/rpc/system/admin/v1/base_redact_policy.ts +0 -174
  96. package/dist/package/src/views/base/redact-field/index.vue +0 -59
  97. package/dist/package/src/views/base/redact-policy/index.vue +0 -92
  98. /package/dist/package/declarations/src/views/base/{redact-field → redact-output-policy}/index.vue.d.ts +0 -0
  99. /package/dist/package/declarations/src/views/base/{redact-policy → redact-storage-policy}/index.vue.d.ts +0 -0
@@ -1,92 +0,0 @@
1
- <template>
2
- <div class="table-box page-box">
3
- <ProTable ref="table" row-key="id" :columns="columns" :header-actions="headerActions" :request-api="requestTable" />
4
- <FormDialog v-model="dialog.visible" ref="dialogRef" :title="t(dialog.titleKey)" width="560px" :model="form" :fields="fields" :rules="rules" @confirm="submit" @close="resetForm" />
5
- </div>
6
- </template>
7
-
8
- <script setup lang="ts">
9
- import { computed, reactive, ref, watch } from "vue";
10
- import { ElMessage, ElMessageBox } from "element-plus";
11
- import { CirclePlus, Delete, EditPen } from "@element-plus/icons-vue";
12
- import type { ColumnProps, EnumProps, HeaderActionProps, ProTableInstance } from "@liujitcn/kratos-admin-core/components/ProTable/interface";
13
- import ProTable from "@liujitcn/kratos-admin-core/components/ProTable";
14
- import FormDialog from "@liujitcn/kratos-admin-core/components/Dialog/FormDialog.vue";
15
- import type { ProFormField, ProFormOption } from "@liujitcn/kratos-admin-core/components/ProForm/interface";
16
- import { useAuthButtons } from "@liujitcn/kratos-admin-core/auth";
17
- import { buildPageRequest, normalizeSelectedIds } from "@liujitcn/kratos-admin-core/table";
18
- import { t } from "@liujitcn/kratos-admin-core";
19
- import { defBaseApiService } from "@liujitcn/kratos-admin-system/api/system/admin/v1/base_api";
20
- import { defBaseRedactFieldService } from "@liujitcn/kratos-admin-system/api/system/base_redact_field";
21
- import { defBaseRedactPolicyService } from "@liujitcn/kratos-admin-system/api/system/base_redact_policy";
22
- import { defBaseRedactRuleService } from "@liujitcn/kratos-admin-system/api/system/base_redact_rule";
23
- import type { BaseApi } from "@liujitcn/kratos-admin-system/rpc/system/admin/v1/base_api";
24
- import type { BaseRedactPolicy, BaseRedactPolicyForm, PageBaseRedactPolicyRequest } from "@liujitcn/kratos-admin-system/rpc/system/admin/v1/base_redact_policy";
25
- import { BaseRedactPolicyMode } from "@liujitcn/kratos-admin-system/rpc/system/admin/v1/base_redact_policy";
26
- import { BaseRedactDirection } from "@liujitcn/kratos-admin-system/rpc/system/admin/v1/base_redact_common";
27
- import { Status } from "@liujitcn/kratos-admin-system/rpc/common/v1/enum";
28
-
29
- defineOptions({ name: "BaseRedactPolicy", inheritAttrs: false });
30
- const { BUTTONS } = useAuthButtons();
31
- const table = ref<ProTableInstance>();
32
- const dialogRef = ref<InstanceType<typeof FormDialog>>();
33
- const apiOptions = ref<ProFormOption[]>([]);
34
- const fieldOptions = ref<ProFormOption[]>([]);
35
- const ruleOptions = ref<ProFormOption[]>([]);
36
- const dialog = reactive({ visible: false, titleKey: "common.action.create_resource" });
37
- const statusOptions = computed<ProFormOption[]>(() => [{ label: t("common.status.enabled"), value: Status.STATUS_ENABLE }, { label: t("common.status.disabled"), value: Status.STATUS_DISABLE }]);
38
- const directionOptions = computed<ProFormOption[]>(() => [{ label: t("system.base.redact_policy.direction.response"), value: BaseRedactDirection.BASE_REDACT_DIRECTION_RESPONSE }]);
39
- const modeOptions = computed<ProFormOption[]>(() => [{ label: t("system.base.redact_policy.mode.rule"), value: BaseRedactPolicyMode.BASE_REDACT_POLICY_MODE_RULE }, { label: t("system.base.redact_policy.mode.hide"), value: BaseRedactPolicyMode.BASE_REDACT_POLICY_MODE_HIDE }, { label: t("system.base.redact_policy.mode.full"), value: BaseRedactPolicyMode.BASE_REDACT_POLICY_MODE_FULL }]);
40
- const form = reactive<BaseRedactPolicyForm>({ id: 0, field_id: 0, rule_id: 0, scene_code: "*", operation: "", direction: BaseRedactDirection.BASE_REDACT_DIRECTION_RESPONSE, mode: BaseRedactPolicyMode.BASE_REDACT_POLICY_MODE_RULE, priority: 0, status: Status.STATUS_ENABLE, version: 1, remark: "" });
41
- const fields = computed<ProFormField[]>(() => [
42
- { prop: "operation", label: t("system.base.redact_policy.field.operation"), component: "select", props: { filterable: true }, options: apiOptions.value },
43
- { prop: "direction", label: t("system.base.redact_policy.field.direction"), component: "select", options: directionOptions.value },
44
- { prop: "field_id", label: t("system.base.redact_policy.field.field"), component: "select", props: { filterable: true }, options: fieldOptions.value },
45
- { prop: "rule_id", label: t("system.base.redact_policy.field.rule"), component: "select", props: { filterable: true, clearable: true }, options: ruleOptions.value, visible: () => form.mode === BaseRedactPolicyMode.BASE_REDACT_POLICY_MODE_RULE },
46
- { prop: "scene_code", label: t("system.base.redact_policy.field.scene_code"), component: "input", props: { disabled: true } },
47
- { prop: "mode", label: t("system.base.redact_policy.field.mode"), component: "select", options: modeOptions.value },
48
- { prop: "priority", label: t("system.base.redact_policy.field.priority"), component: "input-number", props: { min: 0, precision: 0, style: { width: "100%" } } },
49
- { prop: "version", label: t("system.base.redact_policy.field.version"), component: "input-number", props: { min: 1, precision: 0, style: { width: "100%" } } },
50
- { prop: "status", label: t("common.field.status"), component: "radio-group", options: statusOptions.value },
51
- { prop: "remark", label: t("common.field.remark"), component: "textarea" }
52
- ]);
53
- const rules = computed(() => ({ operation: [{ required: true, message: t("system.base.redact_policy.validation.operation"), trigger: "change" }], direction: [{ required: true, message: t("system.base.redact_policy.validation.direction"), trigger: "change" }], field_id: [{ required: true, message: t("system.base.redact_policy.validation.field"), trigger: "change" }], scene_code: [{ required: true, message: t("system.base.redact_policy.validation.scene"), trigger: "blur" }] }));
54
- const modeEnums = computed<EnumProps[]>(() => modeOptions.value);
55
- const columns = computed<ColumnProps[]>(() => [
56
- { type: "selection", width: 55 },
57
- { prop: "operation", label: t("system.base.redact_policy.field.operation"), minWidth: 300, search: { el: "input" } },
58
- { prop: "direction", label: t("system.base.redact_policy.field.direction"), width: 110, enum: directionOptions.value, isFilterEnum: true, search: { el: "select", enum: directionOptions.value } },
59
- { prop: "message_ref", label: t("system.base.redact_policy.field.message_ref"), minWidth: 220, search: { el: "input" } },
60
- { prop: "field_path", label: t("system.base.redact_policy.field.field_path"), minWidth: 130, search: { el: "input" } },
61
- { prop: "scene_code", label: t("system.base.redact_policy.field.scene_code"), width: 110, search: { el: "input" } },
62
- { prop: "mode", label: t("system.base.redact_policy.field.mode"), width: 110, enum: modeEnums.value, isFilterEnum: true, search: { el: "select", enum: modeEnums.value } },
63
- { prop: "rule_code", label: t("system.base.redact_policy.field.rule"), width: 150 },
64
- { prop: "version", label: t("system.base.redact_policy.field.version"), width: 80 },
65
- { prop: "status", label: t("common.field.status"), width: 100, cellType: "status", statusProps: { activeValue: Status.STATUS_ENABLE, inactiveValue: Status.STATUS_DISABLE, activeText: t("common.status.enabled"), inactiveText: t("common.status.disabled"), disabled: () => !BUTTONS.value["base:redact-policy:status"], beforeChange: scope => changeStatus(scope.row as BaseRedactPolicy) } },
66
- { prop: "actions", label: t("common.field.operation"), width: 140, fixed: "right", cellType: "actions", actions: [{ label: t("common.action.edit"), type: "primary", link: true, icon: EditPen, hidden: () => !BUTTONS.value["base:redact-policy:update"], onClick: scope => openDialog((scope.row as BaseRedactPolicy).id) }, { label: t("common.action.delete"), type: "danger", link: true, icon: Delete, hidden: () => !BUTTONS.value["base:redact-policy:delete"], onClick: scope => deleteItems(scope.row as BaseRedactPolicy) }] }
67
- ]);
68
- const headerActions = computed<HeaderActionProps[]>(() => [{ label: t("common.action.create"), type: "success", icon: CirclePlus, hidden: () => !BUTTONS.value["base:redact-policy:create"], onClick: () => openDialog() }, { label: t("common.action.delete"), type: "danger", icon: Delete, hidden: () => !BUTTONS.value["base:redact-policy:delete"], disabled: scope => !scope.selectedList.length, onClick: scope => deleteItems(scope.selectedList as BaseRedactPolicy[]) }]);
69
-
70
- /** 请求策略分页列表。 */
71
- async function requestTable(params: PageBaseRedactPolicyRequest) { const data = await defBaseRedactPolicyService.PageBaseRedactPolicy(buildPageRequest(params)); return { data: { list: data.base_redact_policies ?? [], total: data.total } }; }
72
- /** 加载接口和规则选项。 */
73
- async function loadOptions() { const [apisResult, rulesResult] = await Promise.all([defBaseApiService.OptionBaseApi({ include_public: true }), defBaseRedactRuleService.OptionBaseRedactRule({ keyword: "" })]); apiOptions.value = (apisResult.base_apis ?? []).map((item: BaseApi) => ({ label: `${item.service_name} / ${item.operation} (${item.method} ${item.path})`, value: item.operation })); ruleOptions.value = rulesResult.list ?? []; await loadFieldOptions(); }
74
- /** 按当前接口和方向加载可选字段。 */
75
- async function loadFieldOptions() { if (!form.operation) { fieldOptions.value = []; form.field_id = 0; return; } const result = await defBaseRedactFieldService.OptionBaseRedactField({ keyword: "", operation: form.operation, direction: form.direction }); fieldOptions.value = result.list ?? []; if (!fieldOptions.value.some(item => item.value === form.field_id)) form.field_id = 0; }
76
- /** 打开策略编辑弹窗。 */
77
- async function openDialog(id?: number) { resetForm(); await loadOptions(); dialog.titleKey = id ? "common.action.edit_resource" : "common.action.create_resource"; dialog.visible = true; if (id) Object.assign(form, await defBaseRedactPolicyService.GetBaseRedactPolicy({ id })); }
78
- /** 重置策略表单。 */
79
- function resetForm() { dialog.visible = false; dialogRef.value?.resetFields(); Object.assign(form, { id: 0, field_id: 0, rule_id: 0, scene_code: "*", operation: "", direction: BaseRedactDirection.BASE_REDACT_DIRECTION_RESPONSE, mode: BaseRedactPolicyMode.BASE_REDACT_POLICY_MODE_RULE, priority: 0, status: Status.STATUS_ENABLE, version: 1, remark: "" }); }
80
- /** 提交策略表单。 */
81
- function submit() { dialogRef.value?.validate()?.then(async valid => { if (!valid) return; const payload = JSON.parse(JSON.stringify(form)) as BaseRedactPolicyForm; if (payload.mode !== BaseRedactPolicyMode.BASE_REDACT_POLICY_MODE_RULE) payload.rule_id = 0; if (payload.id) await defBaseRedactPolicyService.UpdateBaseRedactPolicy({ base_redact_policy: payload }); else await defBaseRedactPolicyService.CreateBaseRedactPolicy({ base_redact_policy: payload }); ElMessage.success(t(payload.id ? "common.message.update_success" : "common.message.create_success", { resource: t("system.base.redact_policy.title") })); resetForm(); table.value?.getTableList(); }); }
82
- /** 切换策略状态。 */
83
- async function changeStatus(row: BaseRedactPolicy) { const next = row.status === Status.STATUS_ENABLE ? Status.STATUS_DISABLE : Status.STATUS_ENABLE; try { await ElMessageBox.confirm(t("common.dialog.status_change", { action: t(next === Status.STATUS_ENABLE ? "common.status.enabled" : "common.status.disabled"), resource: t("system.base.redact_policy.title"), field: t("system.base.redact_policy.field.message_ref"), value: row.message_ref })); await defBaseRedactPolicyService.SetBaseRedactPolicyStatus({ id: row.id, status: next }); table.value?.getTableList(); return true; } catch { return false; } }
84
- /** 删除策略绑定。 */
85
- function deleteItems(selected?: BaseRedactPolicy | BaseRedactPolicy[] | number | string | Array<number | string>) { const items = Array.isArray(selected) ? selected.filter((item): item is BaseRedactPolicy => typeof item === "object") : selected && typeof selected === "object" ? [selected] : []; const ids = items.length ? items.map(item => item.id) : normalizeSelectedIds(selected as number | string | Array<number | string>); if (!ids.length) { ElMessage.warning(t("common.message.select_delete_item")); return; } ElMessageBox.confirm(t("common.dialog.delete_selected", { resource: t("system.base.redact_policy.title") }), t("common.title.warning"), { type: "warning" }).then(async () => { await defBaseRedactPolicyService.DeleteBaseRedactPolicy({ id: ids.join(",") }); ElMessage.success(t("common.message.delete_success", { resource: t("system.base.redact_policy.title") })); table.value?.getTableList(); }); }
86
-
87
- watch([() => form.operation, () => form.direction], () => { void loadFieldOptions(); });
88
- </script>
89
-
90
- <style scoped lang="scss">
91
- .page-box { padding: 20px; }
92
- </style>