Restore login log management entry
This commit is contained in:
@@ -7388,6 +7388,51 @@
|
||||
"sys_dept_id": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "core.menu.model.Menu",
|
||||
"pk": "ai-agent-admin-system-login-log",
|
||||
"fields": {
|
||||
"application_id": null,
|
||||
"is_system": true,
|
||||
"parent_id": "2c03f7a0-f4b5-43a9-94",
|
||||
"name": "SystemLoginLog",
|
||||
"title": "menu-title.loginLog",
|
||||
"authCode": null,
|
||||
"path": "/system/login-log",
|
||||
"type": "menu",
|
||||
"component": "/_core/login-log/index",
|
||||
"redirect": null,
|
||||
"activePath": null,
|
||||
"query": null,
|
||||
"noBasicLayout": false,
|
||||
"icon": "lucide:history",
|
||||
"activeIcon": null,
|
||||
"order": 45,
|
||||
"hideInMenu": false,
|
||||
"hideChildrenInMenu": false,
|
||||
"hideInBreadcrumb": false,
|
||||
"hideInTab": false,
|
||||
"affixTab": false,
|
||||
"affixTabOrder": null,
|
||||
"keepAlive": false,
|
||||
"maxNumOfOpenTab": null,
|
||||
"fullPathKey": true,
|
||||
"link": null,
|
||||
"iframeSrc": null,
|
||||
"openInNewWindow": false,
|
||||
"badge": null,
|
||||
"badgeType": null,
|
||||
"badgeVariants": null,
|
||||
"id": "ai-agent-admin-system-login-log",
|
||||
"sort": 45,
|
||||
"is_deleted": false,
|
||||
"sys_create_datetime": "2026-06-10T00:00:00.000000",
|
||||
"sys_update_datetime": "2026-06-10T00:00:00.000000",
|
||||
"sys_creator_id": null,
|
||||
"sys_modifier_id": null,
|
||||
"sys_dept_id": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "core.menu.model.Menu",
|
||||
"pk": "c4b8daa0-7e1c-4039-9a",
|
||||
|
||||
@@ -27,6 +27,7 @@ const modules = import.meta.glob([
|
||||
'./langs/*/announcement.json',
|
||||
'./langs/*/authentication.json',
|
||||
'./langs/*/common.json',
|
||||
'./langs/*/loginLog.json',
|
||||
'./langs/*/menu.json',
|
||||
'./langs/*/menu-title.json',
|
||||
'./langs/*/message.json',
|
||||
|
||||
@@ -4,6 +4,14 @@
|
||||
"username": "Username",
|
||||
"userId": "User ID",
|
||||
"status": "Login Status",
|
||||
"loginType": "Login Type",
|
||||
"passwordLogin": "Password",
|
||||
"codeLogin": "Verification Code",
|
||||
"qrcodeLogin": "QR Code",
|
||||
"wechatLogin": "WeChat",
|
||||
"microsoftLogin": "Microsoft",
|
||||
"dingtalkLogin": "DingTalk",
|
||||
"feishuLogin": "Feishu",
|
||||
"statusSuccess": "Success",
|
||||
"statusFailed": "Failed",
|
||||
"failureReason": "Failure Reason",
|
||||
@@ -47,6 +55,7 @@
|
||||
"searchPlaceholder": "Please enter {0}",
|
||||
"selectPlaceholder": "Please select {0}",
|
||||
"selectStatus": "Please select login status",
|
||||
"selectLoginType": "Please select login type",
|
||||
"selectFailureReason": "Please select failure reason",
|
||||
"selectDeviceType": "Please select device type",
|
||||
"startTime": "Start Time",
|
||||
|
||||
@@ -4,6 +4,14 @@
|
||||
"username": "用户名",
|
||||
"userId": "用户ID",
|
||||
"status": "登录状态",
|
||||
"loginType": "登录方式",
|
||||
"passwordLogin": "密码登录",
|
||||
"codeLogin": "验证码登录",
|
||||
"qrcodeLogin": "二维码登录",
|
||||
"wechatLogin": "微信",
|
||||
"microsoftLogin": "微软",
|
||||
"dingtalkLogin": "钉钉",
|
||||
"feishuLogin": "飞书",
|
||||
"statusSuccess": "成功",
|
||||
"statusFailed": "失败",
|
||||
"failureReason": "失败原因",
|
||||
@@ -47,6 +55,7 @@
|
||||
"searchPlaceholder": "请输入{0}",
|
||||
"selectPlaceholder": "请选择{0}",
|
||||
"selectStatus": "请选择登录状态",
|
||||
"selectLoginType": "请选择登录方式",
|
||||
"selectFailureReason": "请选择失败原因",
|
||||
"selectDeviceType": "请选择设备类型",
|
||||
"startTime": "开始时间",
|
||||
|
||||
@@ -4,6 +4,14 @@
|
||||
"username": "用戶名",
|
||||
"userId": "用戶ID",
|
||||
"status": "登錄狀態",
|
||||
"loginType": "登錄方式",
|
||||
"passwordLogin": "密碼登錄",
|
||||
"codeLogin": "驗證碼登錄",
|
||||
"qrcodeLogin": "二維碼登錄",
|
||||
"wechatLogin": "微信",
|
||||
"microsoftLogin": "微軟",
|
||||
"dingtalkLogin": "釘釘",
|
||||
"feishuLogin": "飛書",
|
||||
"statusSuccess": "成功",
|
||||
"statusFailed": "失敗",
|
||||
"failureReason": "失敗原因",
|
||||
@@ -47,6 +55,7 @@
|
||||
"searchPlaceholder": "請輸入{0}",
|
||||
"selectPlaceholder": "請選擇{0}",
|
||||
"selectStatus": "請選擇登錄狀態",
|
||||
"selectLoginType": "請選擇登錄方式",
|
||||
"selectFailureReason": "請選擇失敗原因",
|
||||
"selectDeviceType": "請選擇設備類型",
|
||||
"startTime": "開始時間",
|
||||
|
||||
@@ -28,6 +28,7 @@ async function generateAccess(options: GenerateMenuAndRoutesOptions) {
|
||||
'../views/_core/dept/index.vue',
|
||||
'../views/_core/dict/index.vue',
|
||||
'../views/_core/fallback/**/*.vue',
|
||||
'../views/_core/login-log/index.vue',
|
||||
'../views/_core/menu/index.vue',
|
||||
'../views/_core/message/index.vue',
|
||||
'../views/_core/org-chart/index.vue',
|
||||
|
||||
@@ -41,17 +41,45 @@ export function getDeviceTypeOptions() {
|
||||
|
||||
export function getLoginTypeOptions() {
|
||||
return [
|
||||
{ label: '密码登录', value: 'password', type: 'info' as TagType },
|
||||
{ label: '验证码登录', value: 'code', type: 'info' as TagType },
|
||||
{ label: '二维码登录', value: 'qrcode', type: 'info' as TagType },
|
||||
{
|
||||
label: $t('loginLog.passwordLogin'),
|
||||
type: 'info' as TagType,
|
||||
value: 'password',
|
||||
},
|
||||
{
|
||||
label: $t('loginLog.codeLogin'),
|
||||
type: 'info' as TagType,
|
||||
value: 'code',
|
||||
},
|
||||
{
|
||||
label: $t('loginLog.qrcodeLogin'),
|
||||
type: 'info' as TagType,
|
||||
value: 'qrcode',
|
||||
},
|
||||
{ label: 'Gitee', value: 'gitee', type: 'success' as TagType },
|
||||
{ label: 'GitHub', value: 'github', type: 'success' as TagType },
|
||||
{ label: 'QQ', value: 'qq', type: 'success' as TagType },
|
||||
{ label: 'Google', value: 'google', type: 'success' as TagType },
|
||||
{ label: '微信', value: 'wechat', type: 'success' as TagType },
|
||||
{ label: '微软', value: 'microsoft', type: 'success' as TagType },
|
||||
{ label: '钉钉', value: 'dingtalk', type: 'success' as TagType },
|
||||
{ label: '飞书', value: 'feishu', type: 'success' as TagType },
|
||||
{
|
||||
label: $t('loginLog.wechatLogin'),
|
||||
type: 'success' as TagType,
|
||||
value: 'wechat',
|
||||
},
|
||||
{
|
||||
label: $t('loginLog.microsoftLogin'),
|
||||
type: 'success' as TagType,
|
||||
value: 'microsoft',
|
||||
},
|
||||
{
|
||||
label: $t('loginLog.dingtalkLogin'),
|
||||
type: 'success' as TagType,
|
||||
value: 'dingtalk',
|
||||
},
|
||||
{
|
||||
label: $t('loginLog.feishuLogin'),
|
||||
type: 'success' as TagType,
|
||||
value: 'feishu',
|
||||
},
|
||||
];
|
||||
}
|
||||
|
||||
@@ -96,9 +124,9 @@ export function useSearchFormSchema(): VbenFormSchema[] {
|
||||
{
|
||||
component: 'Select',
|
||||
fieldName: 'login_type',
|
||||
label: '登录方式',
|
||||
label: $t('loginLog.loginType'),
|
||||
componentProps: {
|
||||
placeholder: '请选择登录方式',
|
||||
placeholder: $t('loginLog.selectLoginType'),
|
||||
options: getLoginTypeOptions(),
|
||||
clearable: true,
|
||||
},
|
||||
@@ -123,7 +151,7 @@ export function useZqTableColumns(): Column[] {
|
||||
},
|
||||
{
|
||||
key: 'login_type',
|
||||
title: '登录方式',
|
||||
title: $t('loginLog.loginType'),
|
||||
width: 120,
|
||||
align: 'center' as const,
|
||||
slots: { default: 'cell-login_type' },
|
||||
|
||||
Reference in New Issue
Block a user