@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.
- package/dist/package/declarations/src/api/system/admin/v1/base_redact_output_policy.d.ts +19 -0
- package/dist/package/declarations/src/api/system/{base_redact_rule.d.ts → admin/v1/base_redact_rule.d.ts} +1 -1
- package/dist/package/declarations/src/api/system/admin/v1/base_redact_storage_policy.d.ts +19 -0
- package/dist/package/declarations/src/locales/generated.d.ts +292 -0
- package/dist/package/declarations/src/rpc/system/admin/v1/base_redact_output_policy.d.ts +135 -0
- package/dist/package/declarations/src/rpc/system/admin/v1/base_redact_rule.d.ts +0 -4
- package/dist/package/declarations/src/rpc/system/admin/v1/base_redact_storage_policy.d.ts +114 -0
- package/dist/package/src/api/system/admin/v1/base_redact_output_policy.ts +51 -0
- package/dist/package/src/api/system/{base_redact_rule.ts → admin/v1/base_redact_rule.ts} +1 -1
- package/dist/package/src/api/system/admin/v1/base_redact_storage_policy.ts +51 -0
- package/dist/package/src/locales/en-US.json +74 -1
- package/dist/package/src/locales/ja-JP.json +74 -1
- package/dist/package/src/locales/zh-CN.json +74 -1
- package/dist/package/src/locales/zh-TW.json +74 -1
- package/dist/package/src/rpc/base/v1/ai_message.ts +1 -1
- package/dist/package/src/rpc/base/v1/ai_session.ts +1 -1
- package/dist/package/src/rpc/base/v1/ai_tool.ts +1 -1
- package/dist/package/src/rpc/base/v1/config.ts +1 -1
- package/dist/package/src/rpc/base/v1/login.ts +1 -1
- package/dist/package/src/rpc/base/v1/notification.ts +1 -1
- package/dist/package/src/rpc/base/v1/oauth.ts +1 -1
- package/dist/package/src/rpc/base/v1/oauth_client.ts +1 -1
- package/dist/package/src/rpc/base/v1/sse.ts +1 -1
- package/dist/package/src/rpc/common/v1/analytics.ts +1 -1
- package/dist/package/src/rpc/common/v1/common.ts +1 -1
- package/dist/package/src/rpc/common/v1/enum.ts +1 -1
- package/dist/package/src/rpc/common/v1/types.ts +1 -1
- package/dist/package/src/rpc/google/protobuf/empty.ts +1 -1
- package/dist/package/src/rpc/google/protobuf/timestamp.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/auth.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/base_api.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/base_api_log.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/base_area.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/base_config.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/base_dashboard.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/base_data_access_log.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/base_dept.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/base_dict.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/base_dict_item.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/base_file.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/base_i18n.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/base_job.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/base_job_log.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/base_language.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/base_log.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/base_login_log.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/base_login_policy.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/base_menu.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/base_message.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/base_message_category.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/base_migration.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/base_operation_log.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/base_permission_log.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/base_policy_evaluation_log.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/base_post.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/base_redact_common.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/base_redact_output_policy.ts +157 -0
- package/dist/package/src/rpc/system/admin/v1/base_redact_rule.ts +1 -5
- package/dist/package/src/rpc/system/admin/v1/base_redact_storage_policy.ts +137 -0
- package/dist/package/src/rpc/system/admin/v1/base_role.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/base_session.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/base_table_archive.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/base_table_archive_record.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/base_table_archive_restore.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/base_table_backup.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/base_table_backup_record.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/base_table_backup_restore.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/base_table_source.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/base_tenant.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/base_third_account.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/base_user.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/cache.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/code_gen.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/code_gen_column.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/code_gen_proto.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/code_gen_table.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/common.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/oauth_client.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/ops_monitoring.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/project_document.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/runtime_log.ts +1 -1
- package/dist/package/src/rpc/system/common/v1/common.ts +1 -1
- package/dist/package/src/rpc/system/config/v1/system_config.ts +1 -1
- package/dist/package/src/views/base/redact-output-policy/index.vue +324 -0
- package/dist/package/src/views/base/redact-rule/index.vue +339 -29
- package/dist/package/src/views/base/redact-storage-policy/index.vue +276 -0
- package/package.json +2 -2
- package/dist/package/declarations/src/api/system/base_redact_field.d.ts +0 -20
- package/dist/package/declarations/src/api/system/base_redact_policy.d.ts +0 -19
- package/dist/package/declarations/src/rpc/system/admin/v1/base_redact_field.d.ts +0 -161
- package/dist/package/declarations/src/rpc/system/admin/v1/base_redact_policy.d.ts +0 -150
- package/dist/package/src/api/system/base_redact_field.ts +0 -25
- package/dist/package/src/api/system/base_redact_policy.ts +0 -24
- package/dist/package/src/rpc/system/admin/v1/base_redact_field.ts +0 -182
- package/dist/package/src/rpc/system/admin/v1/base_redact_policy.ts +0 -174
- package/dist/package/src/views/base/redact-field/index.vue +0 -59
- package/dist/package/src/views/base/redact-policy/index.vue +0 -92
- /package/dist/package/declarations/src/views/base/{redact-field → redact-output-policy}/index.vue.d.ts +0 -0
- /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>
|
|
File without changes
|
|
File without changes
|