From 4215394641deebf9cf8bf63d658b125ed5d63b92 Mon Sep 17 00:00:00 2001 From: Kinplemelon Date: Thu, 8 Aug 2024 15:04:43 +0800 Subject: [PATCH] feat(module): support view usage for username quota --- src/api/modules.js | 4 + src/assets/module_icon/username_quota.png | Bin 0 -> 7253 bytes src/i18n/Modules.js | 8 ++ src/views/Modules/ModuleDetail.vue | 9 ++- .../UsernameQuota/UsernameQuota.vue | 69 ++++++++++++++++++ 5 files changed, 89 insertions(+), 1 deletion(-) create mode 100644 src/assets/module_icon/username_quota.png create mode 100644 src/views/Modules/components/UsernameQuota/UsernameQuota.vue diff --git a/src/api/modules.js b/src/api/modules.js index c4fdc960..ec1b1f0a 100644 --- a/src/api/modules.js +++ b/src/api/modules.js @@ -141,4 +141,8 @@ export function queryNodeAuditLogs(node, params) { return http.get(`/nodes/${node}/audits`, { params }) } +export function queryUsernameQuotaUsage(params) { + return http.get(`/quota/usernames`, { params }) +} + export default {} diff --git a/src/assets/module_icon/username_quota.png b/src/assets/module_icon/username_quota.png new file mode 100644 index 0000000000000000000000000000000000000000..c144dea2ed1fab2a17afcfb52d4e4b42f754d14e GIT binary patch literal 7253 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 Gu>S#a>(K}R literal 0 HcmV?d00001 diff --git a/src/i18n/Modules.js b/src/i18n/Modules.js index 2d37e3b5..1981fd6a 100644 --- a/src/i18n/Modules.js +++ b/src/i18n/Modules.js @@ -522,4 +522,12 @@ export default { zh: '指定过滤条件实时输出 DEBUG 级别日志,用于调试和排查错误。', en: 'Specify filter conditions to output DEBUG level logs in real-time for debugging and troubleshooting.', }, + numberOfSessions: { + zh: '会话数', + en: 'Number of Sessions', + }, + usage: { + zh: '使用详情', + en: 'Usage', + }, } diff --git a/src/views/Modules/ModuleDetail.vue b/src/views/Modules/ModuleDetail.vue index 747a465c..77200eda 100644 --- a/src/views/Modules/ModuleDetail.vue +++ b/src/views/Modules/ModuleDetail.vue @@ -69,6 +69,11 @@ +