Merge pull request #14 from 1014TaoTao/dev

feat(operation_log): 新增登录位置和处理时间字段
This commit is contained in:
1014TaoTao
2025-05-18 18:52:21 +08:00
committed by GitHub
16 changed files with 273 additions and 223 deletions
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
from datetime import datetime
from sqlalchemy import Column, ForeignKey, String, Integer, Text, DateTime
from sqlalchemy import Column, ForeignKey, String, Integer, Text, DateTime, Float
from sqlalchemy.orm import relationship
from app.core.base_model import ModelBase
@@ -17,10 +17,12 @@ class OperationLogModel(ModelBase):
request_method = Column(String(10), nullable=True, comment="请求方式", index=True)
request_payload = Column(Text, nullable=True, comment="请求体")
request_ip = Column(String(50), nullable=True, comment="请求IP地址")
login_location=Column(String(255), nullable=True, comment="登录位置")
request_os = Column(String(64), nullable=True, comment="操作系统")
request_browser = Column(String(64), nullable=True, comment="浏览器")
response_code = Column(Integer, nullable=True, comment="响应状态码")
response_json = Column(Text, nullable=True, comment="响应体")
process_time = Column(Float, nullable=True, comment="处理时间")
# 审计字段
description = Column(Text, nullable=True, comment="备注说明")
@@ -12,10 +12,12 @@ class OperationLogCreateSchema(BaseModel):
request_method: Optional[str] = Field(default=None, description="请求方法")
request_payload: Optional[str] = Field(default=None, description="请求负载")
request_ip: Optional[str] = Field(default=None, description="请求 IP 地址")
login_location: Optional[str] = Field(default=None, description="登录位置")
request_os: Optional[str] = Field(default=None, description="请求操作系统")
request_browser: Optional[str] = Field(default=None, description="请求浏览器")
response_code: Optional[int] = Field(default=None, description="响应状态码")
response_json: Optional[str] = Field(default=None, description="响应 JSON 数据")
process_time: Optional[float] = Field(default=None, description="处理时间")
description: Optional[str] = Field(default=None, max_length=255, description="备注")
creator_id: Optional[int] = Field(default=None, description="创建人ID")
@@ -66,10 +66,12 @@ class OperationLogService:
'request_method': '请求方式',
'request_payload': '请求参数',
'request_ip': '操作地址',
'login_location': '登录位置',
'request_os': '操作系统',
'request_browser': '浏览器',
'response_json': '返回参数',
'response_code': '操作状态',
'response_code': '相应状态',
'process_time': '处理时间',
'description': '备注',
'created_at': '创建时间',
'updated_at': '更新时间',
+5 -4
View File
@@ -172,11 +172,12 @@ class Settings(BaseSettings):
# ================================================= #
# ***************** 演示模型配置 ***************** #
# ================================================= #
DEMO_ENABLE: bool = False # 是否开启演示模式
DEMO_ENABLE: bool # 是否开启演示模式
DEMO_WHITE_LIST_PATH: List[str] = [ # 演示白名单
"/system/auth/login",
"/system/auth/token/refresh",
"/system/auth/captcha/get"
"/api/v1/system/auth/login",
"/api/v1/system/auth/token/refresh",
"/api/v1/system/auth/captcha/get",
"/api/v1/system/auth/logout",
]
DEMO_BLACK_LIST_PATH: List[str] = [ # 演示黑名单
"/auth/login"
+2 -8
View File
@@ -79,15 +79,9 @@ class DemoEnvMiddleware(BaseHTTPMiddleware):
if settings.DEMO_ENABLE and request.method != "GET":
path = request.scope.get("path")
if path in settings.DEMO_BLACK_LIST_PATH:
return ErrorResponse(
msg="演示环境,该接口已被禁用",
status=status.HTTP_403_FORBIDDEN
)
return ErrorResponse(msg="演示环境,禁止操作",)
elif path not in settings.DEMO_WHITE_LIST_PATH:
return ErrorResponse(
msg="演示环境,禁止修改操作",
status=status.HTTP_403_FORBIDDEN
)
return ErrorResponse(msg="演示环境,禁止操作",)
return await call_next(request)
+15 -3
View File
@@ -1,5 +1,6 @@
# -*- coding: utf-8 -*-
import time
from typing import Any, Callable, Coroutine
from fastapi import Request, Response
from fastapi.routing import APIRoute
@@ -10,6 +11,7 @@ from app.api.v1.schemas.system.operation_log_schema import OperationLogCreateSch
from app.api.v1.services.system.operation_log_service import OperationLogService
from app.core.database import session_connect
from app.config.setting import settings
from app.utils.ip_local_util import IpLocalUtil
"""
在 FastAPI 中,route_class 参数用于自定义路由的行为。
@@ -23,6 +25,7 @@ class OperationLogRoute(APIRoute):
original_route_handler = super().get_route_handler()
async def custom_route_handler(request: Request) -> Response:
start_time = time.time()
# 请求前的处理
response: Response = await original_route_handler(request)
@@ -53,22 +56,31 @@ class OperationLogRoute(APIRoute):
payload = str(oper_param)
response_data = response.body if "application/json" in response.headers.get("Content-Type", "") else b"{}"
process_time = time.time() - start_time
async with session_connect() as session:
async with session.begin():
auth = AuthSchema(db=session)
# 获取当前用户ID,如果是登录接口则为空
current_user_id = request.scope.get("user_id") if "user_id" in request.scope else None
login_location = None
current_user_id = None
if "user_id" in request.scope:
current_user_id = request.scope.get("user_id")
if request.url.path == '/api/v1/system/auth/login':
# 只有登录的才会获取登录地址
login_location = IpLocalUtil.get_ip_location(request.client.host)
await OperationLogService.create_log_service(data=OperationLogCreateSchema(
request_path = request.url.path,
request_method = request.method,
request_payload = payload,
request_ip = request.client.host,
login_location=login_location,
request_os = user_agent.os.family,
request_browser = user_agent.browser.family,
response_code = response.status_code,
response_json = response_data.decode(),
process_time = process_time,
description = route.summary,
creator_id = current_user_id
), auth = auth)
+3 -3
View File
@@ -2,9 +2,9 @@
{
"id": 1,
"title": "FastAPI Vue Admin",
"favicon": "http://localhost:8000/api/v1/static/image/favicon.ico",
"logo": "http://localhost:8000/api/v1/static/image/logo.png",
"background": "http://localhost:8000/api/v1/static/image/background.png",
"favicon": "http://localhost:8001/api/v1/static/image/favicon.ico",
"logo": "http://localhost:8001/api/v1/static/image/logo.png",
"background": "http://localhost:8001/api/v1/static/image/background.png",
"description": "FastAPI Vue Admin 是完全开源的权限管理系统",
"copyright": "Copyright © 2021-2025 fastapi-vue-admin.com 版权所有",
"keep_record": "晋ICP备18005113号-3",
+20 -20
View File
@@ -36,7 +36,7 @@ class IpLocalUtil:
return "未知"
# 内网IP直接返回
if ip == '127.0.0.1' or ip.startswith('192.168.') or ip.startswith('10.') or ip.startswith('172.'):
if ip == '127.0.0.1' or ip == 'localhost':
return '内网IP'
try:
@@ -46,25 +46,25 @@ class IpLocalUtil:
timeout=5
)
if ip_result.status_code == 200:
data = ip_result.json().get('data', {})
prov = data.get('prov', '')
city = data.get('city', '')
if prov or city:
return f'{prov}-{city}'
# 备用淘宝API
response = requests.get(
f"http://ip.taobao.com/service/getIpInfo.php?ip={ip}",
timeout=5
)
if response.status_code == 200:
data = response.json().get('data', {})
country = data.get('country', '')
region = data.get('region', '')
city = data.get('city', '')
return f"{country}{region}{city}"
data = ip_result.json().get('data', {})
# "continent": "亚洲",
# "country": "中国",
# "zipcode": "710061",
# "owner": "中国移动",
# "isp": "中国移动",
# "adcode": "610113",
# "prov": "陕西省",
# "city": "西安市",
# "district": "雁塔区"
country = data.get('country', '未知国家')
owner = data.get('owner', '未知运营商')
prov = data.get('prov', '未知省份')
city = data.get('city', '未知城市')
district = data.get('district', '未知地区')
return f'{owner}】-{country}-{prov}-{city}-{district}'
except Exception as e:
logger.error(f"获取IP归属地失败: {e}")
return "未知"
return "未知"
Binary file not shown.
+2
View File
@@ -26,6 +26,8 @@ DOCS_URL = "/docs" # Swagger UI路径
REDOC_URL = "/redoc" # ReDoc路径
ROOT_PATH = "/api/v1" # API路由前缀
DEMO_ENABLE = False # 是否启用演示模式
# 数据库配置
DB_DRIVER = "sqlite" # sqlite、mysql、postgresql
+2
View File
@@ -26,6 +26,8 @@ DOCS_URL = "/docs" # Swagger UI路径
REDOC_URL = "/redoc" # ReDoc路径
ROOT_PATH = "/api/v1" # API路由前缀
DEMO_ENABLE = True # 是否启用演示模式
# 数据库配置
DB_DRIVER = "mysql" # sqlite、mysql、postgresql
File diff suppressed because one or more lines are too long
@@ -1016,10 +1016,12 @@ CREATE TABLE public.system_operation_log (
request_method character varying(10),
request_payload text,
request_ip character varying(50),
login_location character varying(255),
request_os character varying(64),
request_browser character varying(64),
response_code integer,
response_json text,
process_time double precision,
description text,
created_at timestamp without time zone,
updated_at timestamp without time zone,
@@ -1071,6 +1073,13 @@ COMMENT ON COLUMN public.system_operation_log.request_payload IS '请求体';
COMMENT ON COLUMN public.system_operation_log.request_ip IS '请求IP地址';
--
-- Name: COLUMN system_operation_log.login_location; Type: COMMENT; Schema: public; Owner: tao
--
COMMENT ON COLUMN public.system_operation_log.login_location IS '登录位置';
--
-- Name: COLUMN system_operation_log.request_os; Type: COMMENT; Schema: public; Owner: tao
--
@@ -1099,6 +1108,13 @@ COMMENT ON COLUMN public.system_operation_log.response_code IS '响应状态码'
COMMENT ON COLUMN public.system_operation_log.response_json IS '响应体';
--
-- Name: COLUMN system_operation_log.process_time; Type: COMMENT; Schema: public; Owner: tao
--
COMMENT ON COLUMN public.system_operation_log.process_time IS '处理时间';
--
-- Name: COLUMN system_operation_log.description; Type: COMMENT; Schema: public; Owner: tao
--
@@ -1744,7 +1760,7 @@ ALTER TABLE ONLY public.system_users ALTER COLUMN id SET DEFAULT nextval('public
--
COPY public.system_config (id, title, favicon, logo, background, copyright, keep_record, help_url, privacy_url, clause_url, code_url, description, created_at, updated_at, creator_id) FROM stdin;
1 FastAPI Vue Admin http://localhost:8000/api/v1/static/image/favicon.ico http://localhost:8000/api/v1/static/image/logo.png http://localhost:8000/api/v1/static/image/background.png Copyright © 2021-2025 fastapi-vue-admin.com ICP备18005113号-3 https://gitee.com/tao__tao/fastapi_vue3_admin.git https://gitee.com/tao__tao/fastapi_vue3_admin/blob/master/LICENSE https://gitee.com/tao__tao/fastapi_vue3_admin/blob/master/LICENSE https://gitee.com/tao__tao/fastapi_vue3_admin.git FastAPI Vue Admin 2025-04-15 19:03:45.917465 2025-04-15 19:03:45.917466 1
1 FastAPI Vue Admin http://8.137.99.5:8001/api/v1/static/image/favicon.ico http://8.137.99.5:8001/api/v1/static/image/logo.png http://8.137.99.5:8001/api/v1/static/image/background.png Copyright © 2021-2025 fastapi-vue-admin.com ICP备18005113号-3 https://gitee.com/tao__tao/fastapi_vue3_admin.git https://gitee.com/tao__tao/fastapi_vue3_admin/blob/master/LICENSE https://gitee.com/tao__tao/fastapi_vue3_admin/blob/master/LICENSE https://gitee.com/tao__tao/fastapi_vue3_admin.git FastAPI Vue Admin 2025-05-18 18:28:07.914297 2025-05-18 18:28:07.914298 1
\.
@@ -1753,17 +1769,17 @@ COPY public.system_config (id, title, favicon, logo, background, copyright, keep
--
COPY public.system_dept (id, name, "order", parent_id, available, description, created_at, updated_at) FROM stdin;
1 1 \N t 2025-04-15 19:03:45.888171 2025-04-15 19:03:45.888175
2 西 1 1 t 西 2025-04-15 19:03:45.888175 2025-04-15 19:03:45.888176
3 2 1 t 2025-04-15 19:03:45.888176 2025-04-15 19:03:45.888177
4 1 2 t 2025-04-15 19:03:45.888177 2025-04-15 19:03:45.888177
5 2 2 t 2025-04-15 19:03:45.888178 2025-04-15 19:03:45.888178
6 3 2 t 2025-04-15 19:03:45.888179 2025-04-15 19:03:45.888179
7 1 3 t 2025-04-15 19:03:45.888179 2025-04-15 19:03:45.88818
8 2 3 t 2025-04-15 19:03:45.88818 2025-04-15 19:03:45.88818
9 3 3 t 2025-04-15 19:03:45.888181 2025-04-15 19:03:45.888181
10 4 3 t 2025-04-15 19:03:45.888181 2025-04-15 19:03:45.888182
11 5 3 t 2025-04-15 19:03:45.888182 2025-04-15 19:03:45.888182
1 1 \N t 2025-05-18 18:28:07.885848 2025-05-18 18:28:07.885852
2 西 1 1 t 西 2025-05-18 18:28:07.885853 2025-05-18 18:28:07.885853
3 2 1 t 2025-05-18 18:28:07.885854 2025-05-18 18:28:07.885854
4 1 2 t 2025-05-18 18:28:07.885854 2025-05-18 18:28:07.885855
5 2 2 t 2025-05-18 18:28:07.885855 2025-05-18 18:28:07.885855
6 3 2 t 2025-05-18 18:28:07.885856 2025-05-18 18:28:07.885856
7 1 3 t 2025-05-18 18:28:07.885856 2025-05-18 18:28:07.885857
8 2 3 t 2025-05-18 18:28:07.885857 2025-05-18 18:28:07.885857
9 3 3 t 2025-05-18 18:28:07.885858 2025-05-18 18:28:07.885858
10 4 3 t 2025-05-18 18:28:07.885859 2025-05-18 18:28:07.885859
11 5 3 t 2025-05-18 18:28:07.885859 2025-05-18 18:28:07.88586
\.
@@ -1772,48 +1788,48 @@ COPY public.system_dept (id, name, "order", parent_id, available, description, c
--
COPY public.system_dict_data (id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, available, description, created_at, updated_at, creator_id) FROM stdin;
1 1 0 sys_user_sex blue \N t t 2025-04-15 19:03:45.922912 2025-04-15 19:03:45.922913 1
2 2 1 sys_user_sex pink \N f t 2025-04-15 19:03:45.922913 2025-04-15 19:03:45.922914 1
3 3 2 sys_user_sex red \N f t 2025-04-15 19:03:45.922914 2025-04-15 19:03:45.922915 1
4 4 0 sys_show_hide btn btn-success btn-xs primary t t 2025-04-15 19:03:45.922915 2025-04-15 19:03:45.922915 1
5 2 1 sys_show_hide danger f t 2025-04-15 19:03:45.922916 2025-04-15 19:03:45.922916 1
6 1 0 sys_normal_disable primary t t 2025-04-15 19:03:45.922917 2025-04-15 19:03:45.922917 1
7 2 1 sys_normal_disable danger f t 2025-04-15 19:03:45.922917 2025-04-15 19:03:45.922918 1
8 1 0 sys_job_status primary t t 2025-04-15 19:03:45.922918 2025-04-15 19:03:45.922918 1
9 2 1 sys_job_status danger f t 2025-04-15 19:03:45.922919 2025-04-15 19:03:45.922919 1
10 1 (Memory) default sys_job_group \N t t 2025-04-15 19:03:45.92292 2025-04-15 19:03:45.92292 1
11 2 sqlalchemy sys_job_group \N f t 2025-04-15 19:03:45.92292 2025-04-15 19:03:45.922921 1
12 3 redis redis sys_job_group \N f t reids分组 2025-04-15 19:03:45.922921 2025-04-15 19:03:45.922921 1
13 1 default sys_job_executor \N f t 线 2025-04-15 19:03:45.922922 2025-04-15 19:03:45.922922 1
14 2 processpool sys_job_executor \N f t 2025-04-15 19:03:45.922922 2025-04-15 19:03:45.922923 1
15 1 true sys_yes_no primary t t 2025-04-15 19:03:45.922923 2025-04-15 19:03:45.922923 1
16 2 false sys_yes_no danger f t 2025-04-15 19:03:45.922924 2025-04-15 19:03:45.922924 1
17 1 1 sys_notice_type blue warning t t 2025-04-15 19:03:45.922924 2025-04-15 19:03:45.922925 1
18 2 2 sys_notice_type orange success f t 2025-04-15 19:03:45.922925 2025-04-15 19:03:45.922926 1
19 1 0 sys_notice_status primary t t 2025-04-15 19:03:45.922926 2025-04-15 19:03:45.922926 1
20 2 1 sys_notice_status danger f t 2025-04-15 19:03:45.922927 2025-04-15 19:03:45.922927 1
21 99 0 sys_oper_type info f t 2025-04-15 19:03:45.922927 2025-04-15 19:03:45.922928 1
22 1 1 sys_oper_type info f t 2025-04-15 19:03:45.922928 2025-04-15 19:03:45.922928 1
23 2 2 sys_oper_type info f t 2025-04-15 19:03:45.922929 2025-04-15 19:03:45.922929 1
24 3 3 sys_oper_type danger f t 2025-04-15 19:03:45.922929 2025-04-15 19:03:45.92293 1
25 4 4 sys_oper_type primary f t 2025-04-15 19:03:45.92293 2025-04-15 19:03:45.92293 1
26 5 5 sys_oper_type warning f t 2025-04-15 19:03:45.922931 2025-04-15 19:03:45.922931 1
27 6 6 sys_oper_type warning f t 2025-04-15 19:03:45.922932 2025-04-15 19:03:45.922932 1
28 7 退 7 sys_oper_type danger f t 退 2025-04-15 19:03:45.922932 2025-04-15 19:03:45.922933 1
29 8 8 sys_oper_type warning f t 2025-04-15 19:03:45.922933 2025-04-15 19:03:45.922933 1
30 9 9 sys_oper_type danger f t 2025-04-15 19:03:45.922934 2025-04-15 19:03:45.922934 1
31 1 0 sys_common_status primary f t 2025-04-15 19:03:45.922934 2025-04-15 19:03:45.922935 1
32 2 1 sys_common_status danger f t 2025-04-15 19:03:45.922935 2025-04-15 19:03:45.922935 1
33 1 scheduler_test.job sys_job_function \N t t 2025-04-15 19:03:45.922936 2025-04-15 19:03:45.922936 1
34 1 (date) date sys_job_trigger \N t t 2025-04-15 19:03:45.922936 2025-04-15 19:03:45.922937 1
35 2 (interval) interval sys_job_trigger \N f t 2025-04-15 19:03:45.922937 2025-04-15 19:03:45.922937 1
36 3 cron表达式 cron sys_job_trigger \N f t 2025-04-15 19:03:45.922938 2025-04-15 19:03:45.922938 1
37 1 (default) default sys_dictdata_list_class \N t t 2025-04-15 19:03:45.922938 2025-04-15 19:03:45.922939 1
38 2 (primary) primary sys_dictdata_list_class \N f t 2025-04-15 19:03:45.922939 2025-04-15 19:03:45.92294 1
39 3 (success) success sys_dictdata_list_class \N f t 2025-04-15 19:03:45.92294 2025-04-15 19:03:45.92294 1
40 4 (info) info sys_dictdata_list_class \N f t 2025-04-15 19:03:45.922941 2025-04-15 19:03:45.922941 1
41 5 (warning) warning sys_dictdata_list_class \N f t 2025-04-15 19:03:45.922941 2025-04-15 19:03:45.922942 1
42 6 (danger) danger sys_dictdata_list_class \N f t 2025-04-15 19:03:45.922942 2025-04-15 19:03:45.922942 1
1 1 0 sys_user_sex blue \N t t 2025-05-18 18:28:07.919332 2025-05-18 18:28:07.919333 1
2 2 1 sys_user_sex pink \N f t 2025-05-18 18:28:07.919333 2025-05-18 18:28:07.919333 1
3 3 2 sys_user_sex red \N f t 2025-05-18 18:28:07.919334 2025-05-18 18:28:07.919334 1
4 4 0 sys_show_hide btn btn-success btn-xs primary t t 2025-05-18 18:28:07.919335 2025-05-18 18:28:07.919335 1
5 2 1 sys_show_hide danger f t 2025-05-18 18:28:07.919335 2025-05-18 18:28:07.919336 1
6 1 0 sys_normal_disable primary t t 2025-05-18 18:28:07.919336 2025-05-18 18:28:07.919336 1
7 2 1 sys_normal_disable danger f t 2025-05-18 18:28:07.919337 2025-05-18 18:28:07.919337 1
8 1 0 sys_job_status primary t t 2025-05-18 18:28:07.919337 2025-05-18 18:28:07.919337 1
9 2 1 sys_job_status danger f t 2025-05-18 18:28:07.919338 2025-05-18 18:28:07.919338 1
10 1 (Memory) default sys_job_group \N t t 2025-05-18 18:28:07.919338 2025-05-18 18:28:07.919339 1
11 2 sqlalchemy sys_job_group \N f t 2025-05-18 18:28:07.919339 2025-05-18 18:28:07.919339 1
12 3 redis redis sys_job_group \N f t reids分组 2025-05-18 18:28:07.91934 2025-05-18 18:28:07.91934 1
13 1 default sys_job_executor \N f t 线 2025-05-18 18:28:07.91934 2025-05-18 18:28:07.919341 1
14 2 processpool sys_job_executor \N f t 2025-05-18 18:28:07.919341 2025-05-18 18:28:07.919341 1
15 1 true sys_yes_no primary t t 2025-05-18 18:28:07.919342 2025-05-18 18:28:07.919342 1
16 2 false sys_yes_no danger f t 2025-05-18 18:28:07.919342 2025-05-18 18:28:07.919343 1
17 1 1 sys_notice_type blue warning t t 2025-05-18 18:28:07.919343 2025-05-18 18:28:07.919343 1
18 2 2 sys_notice_type orange success f t 2025-05-18 18:28:07.919344 2025-05-18 18:28:07.919344 1
19 1 0 sys_notice_status primary t t 2025-05-18 18:28:07.919344 2025-05-18 18:28:07.919345 1
20 2 1 sys_notice_status danger f t 2025-05-18 18:28:07.919345 2025-05-18 18:28:07.919345 1
21 99 0 sys_oper_type info f t 2025-05-18 18:28:07.919346 2025-05-18 18:28:07.919346 1
22 1 1 sys_oper_type info f t 2025-05-18 18:28:07.919346 2025-05-18 18:28:07.919347 1
23 2 2 sys_oper_type info f t 2025-05-18 18:28:07.919347 2025-05-18 18:28:07.919347 1
24 3 3 sys_oper_type danger f t 2025-05-18 18:28:07.919348 2025-05-18 18:28:07.919348 1
25 4 4 sys_oper_type primary f t 2025-05-18 18:28:07.919348 2025-05-18 18:28:07.919349 1
26 5 5 sys_oper_type warning f t 2025-05-18 18:28:07.919349 2025-05-18 18:28:07.919349 1
27 6 6 sys_oper_type warning f t 2025-05-18 18:28:07.91935 2025-05-18 18:28:07.91935 1
28 7 退 7 sys_oper_type danger f t 退 2025-05-18 18:28:07.91935 2025-05-18 18:28:07.91935 1
29 8 8 sys_oper_type warning f t 2025-05-18 18:28:07.919351 2025-05-18 18:28:07.919351 1
30 9 9 sys_oper_type danger f t 2025-05-18 18:28:07.919351 2025-05-18 18:28:07.919352 1
31 1 0 sys_common_status primary f t 2025-05-18 18:28:07.919352 2025-05-18 18:28:07.919352 1
32 2 1 sys_common_status danger f t 2025-05-18 18:28:07.919353 2025-05-18 18:28:07.919353 1
33 1 scheduler_test.job sys_job_function \N t t 2025-05-18 18:28:07.919353 2025-05-18 18:28:07.919354 1
34 1 (date) date sys_job_trigger \N t t 2025-05-18 18:28:07.919354 2025-05-18 18:28:07.919354 1
35 2 (interval) interval sys_job_trigger \N f t 2025-05-18 18:28:07.919355 2025-05-18 18:28:07.919355 1
36 3 cron表达式 cron sys_job_trigger \N f t 2025-05-18 18:28:07.919355 2025-05-18 18:28:07.919356 1
37 1 (default) default sys_dictdata_list_class \N t t 2025-05-18 18:28:07.919356 2025-05-18 18:28:07.919356 1
38 2 (primary) primary sys_dictdata_list_class \N f t 2025-05-18 18:28:07.919357 2025-05-18 18:28:07.919357 1
39 3 (success) success sys_dictdata_list_class \N f t 2025-05-18 18:28:07.919357 2025-05-18 18:28:07.919358 1
40 4 (info) info sys_dictdata_list_class \N f t 2025-05-18 18:28:07.919358 2025-05-18 18:28:07.919358 1
41 5 (warning) warning sys_dictdata_list_class \N f t 2025-05-18 18:28:07.919358 2025-05-18 18:28:07.919359 1
42 6 (danger) danger sys_dictdata_list_class \N f t 2025-05-18 18:28:07.919359 2025-05-18 18:28:07.919359 1
\.
@@ -1822,20 +1838,20 @@ COPY public.system_dict_data (id, dict_sort, dict_label, dict_value, dict_type,
--
COPY public.system_dict_type (id, dict_name, dict_type, available, description, created_at, updated_at, creator_id) FROM stdin;
1 sys_user_sex t 2025-04-15 19:03:45.919629 2025-04-15 19:03:45.91963 1
2 sys_show_hide t 2025-04-15 19:03:45.91963 2025-04-15 19:03:45.919631 1
3 sys_normal_disable t 2025-04-15 19:03:45.919631 2025-04-15 19:03:45.919632 1
4 sys_job_status t 2025-04-15 19:03:45.919632 2025-04-15 19:03:45.919632 1
5 sys_job_group t 2025-04-15 19:03:45.919633 2025-04-15 19:03:45.919633 1
6 sys_job_executor t 2025-04-15 19:03:45.919634 2025-04-15 19:03:45.919634 1
7 sys_yes_no t 2025-04-15 19:03:45.919634 2025-04-15 19:03:45.919635 1
8 sys_notice_type t 2025-04-15 19:03:45.919635 2025-04-15 19:03:45.919636 1
9 sys_notice_status t 2025-04-15 19:03:45.919636 2025-04-15 19:03:45.919636 1
10 sys_oper_type t 2025-04-15 19:03:45.919637 2025-04-15 19:03:45.919637 1
11 sys_common_status t 2025-04-15 19:03:45.919637 2025-04-15 19:03:45.919638 1
12 sys_job_function t 2025-04-15 19:03:45.919638 2025-04-15 19:03:45.919638 1
13 sys_job_trigger t 2025-04-15 19:03:45.919639 2025-04-15 19:03:45.919639 1
14 sys_dictdata_list_class t 2025-04-15 19:03:45.91964 2025-04-15 19:03:45.91964 1
1 sys_user_sex t 2025-05-18 18:28:07.916168 2025-05-18 18:28:07.916169 1
2 sys_show_hide t 2025-05-18 18:28:07.916169 2025-05-18 18:28:07.91617 1
3 sys_normal_disable t 2025-05-18 18:28:07.91617 2025-05-18 18:28:07.91617 1
4 sys_job_status t 2025-05-18 18:28:07.916171 2025-05-18 18:28:07.916171 1
5 sys_job_group t 2025-05-18 18:28:07.916171 2025-05-18 18:28:07.916172 1
6 sys_job_executor t 2025-05-18 18:28:07.916172 2025-05-18 18:28:07.916172 1
7 sys_yes_no t 2025-05-18 18:28:07.916173 2025-05-18 18:28:07.916173 1
8 sys_notice_type t 2025-05-18 18:28:07.916173 2025-05-18 18:28:07.916174 1
9 sys_notice_status t 2025-05-18 18:28:07.916174 2025-05-18 18:28:07.916174 1
10 sys_oper_type t 2025-05-18 18:28:07.916175 2025-05-18 18:28:07.916175 1
11 sys_common_status t 2025-05-18 18:28:07.916175 2025-05-18 18:28:07.916175 1
12 sys_job_function t 2025-05-18 18:28:07.916176 2025-05-18 18:28:07.916176 1
13 sys_job_trigger t 2025-05-18 18:28:07.916176 2025-05-18 18:28:07.916177 1
14 sys_dictdata_list_class t 2025-05-18 18:28:07.916177 2025-05-18 18:28:07.916177 1
\.
@@ -1844,9 +1860,9 @@ COPY public.system_dict_type (id, dict_name, dict_type, available, description,
--
COPY public.system_job (id, name, jobstore, executor, trigger, trigger_args, func, args, kwargs, "coalesce", max_instances, start_date, end_date, status, message, description, created_at, updated_at, creator_id) FROM stdin;
1 default default cron 0 0 12 * * ? scheduler_test.job \N \N f 1 \N \N f \N \N 2025-04-15 19:03:45.925718 2025-04-15 19:03:45.925719 1
2 default default cron 0 0 12 * * ? scheduler_test.job test \N f 1 \N \N f \N \N 2025-04-15 19:03:45.92572 2025-04-15 19:03:45.92572 1
3 default default cron 0 0 12 * * ? scheduler_test.job new {"test": 111} f 1 \N \N f \N \N 2025-04-15 19:03:45.92572 2025-04-15 19:03:45.925721 1
1 default default cron 0 0 12 * * ? scheduler_test.job \N \N f 1 \N \N f \N \N 2025-05-18 18:28:07.921962 2025-05-18 18:28:07.921963 1
2 default default cron 0 0 12 * * ? scheduler_test.job test \N f 1 \N \N f \N \N 2025-05-18 18:28:07.921963 2025-05-18 18:28:07.921963 1
3 default default cron 0 0 12 * * ? scheduler_test.job new {"test": 111} f 1 \N \N f \N \N 2025-05-18 18:28:07.921964 2025-05-18 18:28:07.921964 1
\.
@@ -1855,79 +1871,79 @@ COPY public.system_job (id, name, jobstore, executor, trigger, trigger_args, fun
--
COPY public.system_menu (id, name, type, "order", permission, available, icon, route_name, route_path, component_path, redirect, hidden, cache, parent_id, description, created_at, updated_at) FROM stdin;
1 1 1 t DashboardOutlined Dashboard /dashboard \N /dashboard/workplace f t \N 2025-04-15 19:03:45.894563 2025-04-15 19:03:45.894565
2 1 2 \N t SettingOutlined System /system \N /system/menu f t \N 2025-04-15 19:03:45.894566 2025-04-15 19:03:45.894566
3 2 1 system:menu:query t \N Menu /system/menu system/menu/index \N f t 2 2025-04-15 19:03:45.894567 2025-04-15 19:03:45.894567
4 2 2 system:dept:query t \N Dept /system/dept system/dept/index \N f t 2 2025-04-15 19:03:45.894568 2025-04-15 19:03:45.894568
5 2 3 system:position:query t \N Position /system/position system/position/index \N f t 2 2025-04-15 19:03:45.894568 2025-04-15 19:03:45.894569
6 2 4 system:role:query t \N Role /system/role system/role/index \N f t 2 2025-04-15 19:03:45.894569 2025-04-15 19:03:45.894569
7 2 5 system:user:query t \N User /system/user system/user/index \N f t 2 2025-04-15 19:03:45.89457 2025-04-15 19:03:45.89457
8 2 6 system:log:query t \N Log /system/log system/log/index \N f t 2 2025-04-15 19:03:45.894571 2025-04-15 19:03:45.894571
9 3 1 system:menu:create t \N \N \N \N \N f t 3 2025-04-15 19:03:45.894572 2025-04-15 19:03:45.894572
10 3 2 system:menu:update t \N \N \N \N \N f t 3 2025-04-15 19:03:45.894572 2025-04-15 19:03:45.894573
11 3 3 system:menu:delete t \N \N \N \N \N f t 3 2025-04-15 19:03:45.894573 2025-04-15 19:03:45.894573
12 3 4 system:menu:patch t \N \N \N \N \N f t 3 2025-04-15 19:03:45.894574 2025-04-15 19:03:45.894574
13 3 1 system:dept:create t \N \N \N \N \N f t 4 2025-04-15 19:03:45.894575 2025-04-15 19:03:45.894575
14 3 2 system:dept:update t \N \N \N \N \N f t 4 2025-04-15 19:03:45.894575 2025-04-15 19:03:45.894576
15 3 3 system:dept:delete t \N \N \N \N \N f t 4 2025-04-15 19:03:45.894576 2025-04-15 19:03:45.894576
16 3 4 system:dept:patch t \N \N \N \N \N f t 4 2025-04-15 19:03:45.894577 2025-04-15 19:03:45.894577
17 3 1 system:position:create t \N \N \N \N \N f t 5 2025-04-15 19:03:45.894577 2025-04-15 19:03:45.894578
18 3 2 system:position:update t \N \N \N \N \N f t 5 2025-04-15 19:03:45.894578 2025-04-15 19:03:45.894578
19 3 3 system:position:delete t \N \N \N \N \N f t 5 2025-04-15 19:03:45.894579 2025-04-15 19:03:45.894579
20 3 4 system:position:patch t \N \N \N \N \N f t 5 2025-04-15 19:03:45.89458 2025-04-15 19:03:45.89458
21 3 5 system:position:export t \N \N \N \N \N f t 5 2025-04-15 19:03:45.89458 2025-04-15 19:03:45.894581
22 3 1 system:role:create t \N \N \N \N \N f t 6 2025-04-15 19:03:45.894581 2025-04-15 19:03:45.894581
23 3 2 system:role:update t \N \N \N \N \N f t 6 2025-04-15 19:03:45.894582 2025-04-15 19:03:45.894582
24 3 3 system:role:delete t \N \N \N \N \N f t 6 2025-04-15 19:03:45.894582 2025-04-15 19:03:45.894583
25 3 4 system:role:patch t \N \N \N \N \N f t 6 2025-04-15 19:03:45.894583 2025-04-15 19:03:45.894583
26 3 5 system:role:permission t \N \N \N \N \N f t 6 2025-04-15 19:03:45.894584 2025-04-15 19:03:45.894584
27 3 6 system:role:export t \N \N \N \N \N f t 6 2025-04-15 19:03:45.894585 2025-04-15 19:03:45.894585
28 3 1 system:user:create t \N \N \N \N \N f t 7 2025-04-15 19:03:45.894585 2025-04-15 19:03:45.894586
29 3 2 system:user:update t \N \N \N \N \N f t 7 2025-04-15 19:03:45.894586 2025-04-15 19:03:45.894586
30 3 3 system:user:delete t \N \N \N \N \N f t 7 2025-04-15 19:03:45.894587 2025-04-15 19:03:45.894587
31 3 4 system:user:patch t \N \N \N \N \N f t 7 2025-04-15 19:03:45.894588 2025-04-15 19:03:45.894588
32 3 5 system:user:export t \N \N \N \N \N f t 7 2025-04-15 19:03:45.894588 2025-04-15 19:03:45.894589
33 3 6 system:user:import t \N \N \N \N \N f t 7 2025-04-15 19:03:45.894589 2025-04-15 19:03:45.894589
34 3 1 system:operation_log:delete t \N \N \N \N \N f t 8 2025-04-15 19:03:45.89459 2025-04-15 19:03:45.89459
35 3 2 system:operation_log:export t \N \N \N \N \N f t 8 2025-04-15 19:03:45.89459 2025-04-15 19:03:45.894591
36 1 3 \N t MonitorOutlined Monitor /monitor \N /monitor/online f t \N 2025-04-15 19:03:45.894591 2025-04-15 19:03:45.894591
37 线 2 1 monitor:online:query t \N MonitorOnline /monitor/online monitor/online/index \N f t 36 2025-04-15 19:03:45.894592 2025-04-15 19:03:45.894592
38 线线 3 1 monitor:online:delete t \N \N \N \N \N f t 37 2025-04-15 19:03:45.894592 2025-04-15 19:03:45.894593
39 2 2 monitor:server:query t \N MonitorServer /monitor/server monitor/server/index \N f t 36 2025-04-15 19:03:45.894593 2025-04-15 19:03:45.894593
40 2 3 monitor:cache:query t \N MonitorCache /monitor/cache monitor/cache/index \N f t 36 2025-04-15 19:03:45.894594 2025-04-15 19:03:45.894594
41 3 1 monitor:cache:delete t \N \N \N \N \N f t 40 2025-04-15 19:03:45.894595 2025-04-15 19:03:45.894595
42 1 4 \N t ApiOutlined Common /common \N /common/docs f t \N 2025-04-15 19:03:45.894595 2025-04-15 19:03:45.894596
43 2 1 common:docs:query t \N Docs /common/docs common/docs/index \N f t 42 2025-04-15 19:03:45.894596 2025-04-15 19:03:45.894596
44 2 2 common:redoc:query t \N Redoc /common/redoc common/redoc/index \N f t 42 2025-04-15 19:03:45.894597 2025-04-15 19:03:45.894597
45 2 7 system:notice:query t \N Notice /system/notice system/notice/index \N f t 2 2025-04-15 19:03:45.894597 2025-04-15 19:03:45.894598
46 3 1 system:notice:create t \N \N \N \N \N f t 45 2025-04-15 19:03:45.894598 2025-04-15 19:03:45.894598
47 3 2 system:notice:update t \N \N \N \N \N f t 45 2025-04-15 19:03:45.894599 2025-04-15 19:03:45.894599
48 3 3 system:notice:delete t \N \N \N \N \N f t 45 2025-04-15 19:03:45.8946 2025-04-15 19:03:45.8946
49 3 4 system:notice:export t \N \N \N \N \N f t 45 2025-04-15 19:03:45.8946 2025-04-15 19:03:45.894601
50 3 5 system:notice:patch t \N \N \N \N \N f t 45 2025-04-15 19:03:45.894601 2025-04-15 19:03:45.894601
51 2 8 system:config:query t \N Config /system/config system/config/index \N f t 2 2025-04-15 19:03:45.894602 2025-04-15 19:03:45.894602
52 3 1 system:config:create t \N \N \N \N \N f t 51 2025-04-15 19:03:45.894602 2025-04-15 19:03:45.894603
53 3 2 system:config:update t \N \N \N \N \N f t 51 2025-04-15 19:03:45.894603 2025-04-15 19:03:45.894603
54 3 3 system:config:delete t \N \N \N \N \N f t 51 2025-04-15 19:03:45.894604 2025-04-15 19:03:45.894604
55 3 4 system:config:update t \N \N \N \N \N f t 51 2025-04-15 19:03:45.894604 2025-04-15 19:03:45.894605
56 3 5 system:config:upload t \N \N \N \N \N f t 51 2025-04-15 19:03:45.894605 2025-04-15 19:03:45.894605
57 2 9 system:dict_type:query t \N Dict /system/dict system/dict/index \N f t 2 2025-04-15 19:03:45.894606 2025-04-15 19:03:45.894606
58 3 1 system:dict_type:create t \N \N \N \N \N f t 57 2025-04-15 19:03:45.894606 2025-04-15 19:03:45.894607
59 3 2 system:dict_type:update t \N \N \N \N \N f t 57 2025-04-15 19:03:45.894607 2025-04-15 19:03:45.894607
60 3 3 system:dict_type:delete t \N \N \N \N \N f t 57 2025-04-15 19:03:45.894608 2025-04-15 19:03:45.894608
61 3 4 system:dict_type:export t \N \N \N \N \N f t 57 2025-04-15 19:03:45.894609 2025-04-15 19:03:45.894609
62 2 10 system:dict_data:query t \N DictData /system/dict_data system/dict/data \N t t 2 2025-04-15 19:03:45.894609 2025-04-15 19:03:45.89461
63 3 1 system:dict_data:create t \N \N \N \N \N f t 62 2025-04-15 19:03:45.89461 2025-04-15 19:03:45.89461
64 3 2 system:dict_data:update t \N \N \N \N \N f t 62 2025-04-15 19:03:45.894611 2025-04-15 19:03:45.894611
65 3 3 system:dict_data:delete t \N \N \N \N \N f t 62 2025-04-15 19:03:45.894611 2025-04-15 19:03:45.894612
66 3 4 system:dict_data:export t \N \N \N \N \N f t 62 2025-04-15 19:03:45.894612 2025-04-15 19:03:45.894612
67 2 11 system:job:query t \N Job /system/job system/job/index \N f t 2 2025-04-15 19:03:45.894613 2025-04-15 19:03:45.894613
68 3 1 system:job:create t \N \N \N \N \N f t 67 2025-04-15 19:03:45.894614 2025-04-15 19:03:45.894614
69 3 2 system:job:update t \N \N \N \N \N f t 67 2025-04-15 19:03:45.894614 2025-04-15 19:03:45.894615
70 3 3 system:job:delete t \N \N \N \N \N f t 67 2025-04-15 19:03:45.894615 2025-04-15 19:03:45.894615
71 3 4 system:job:export t \N \N \N \N \N f t 67 2025-04-15 19:03:45.894616 2025-04-15 19:03:45.894616
72 2 1 dashboard:workplace:query t Workplace /dashboard/workplace dashboard/workplace \N f t 1 2025-04-15 19:03:45.894616 2025-04-15 19:03:45.894617
73 2 2 dashboard:analysis:query t Analysis /dashboard/analysis dashboard/analysis \N f t 1 2025-04-15 19:03:45.894618 2025-04-15 19:03:45.894619
1 1 1 t DashboardOutlined Dashboard /dashboard \N /dashboard/workplace f t \N 2025-05-18 18:28:07.892792 2025-05-18 18:28:07.892796
2 1 2 \N t SettingOutlined System /system \N /system/menu f t \N 2025-05-18 18:28:07.892797 2025-05-18 18:28:07.892797
3 2 1 system:menu:query t \N Menu /system/menu system/menu/index \N f t 2 2025-05-18 18:28:07.892798 2025-05-18 18:28:07.892798
4 2 2 system:dept:query t \N Dept /system/dept system/dept/index \N f t 2 2025-05-18 18:28:07.892798 2025-05-18 18:28:07.892799
5 2 3 system:position:query t \N Position /system/position system/position/index \N f t 2 2025-05-18 18:28:07.892799 2025-05-18 18:28:07.892799
6 2 4 system:role:query t \N Role /system/role system/role/index \N f t 2 2025-05-18 18:28:07.8928 2025-05-18 18:28:07.8928
7 2 5 system:user:query t \N User /system/user system/user/index \N f t 2 2025-05-18 18:28:07.892801 2025-05-18 18:28:07.892801
8 2 6 system:log:query t \N Log /system/log system/log/index \N f t 2 2025-05-18 18:28:07.892801 2025-05-18 18:28:07.892802
9 3 1 system:menu:create t \N \N \N \N \N f t 3 2025-05-18 18:28:07.892802 2025-05-18 18:28:07.892802
10 3 2 system:menu:update t \N \N \N \N \N f t 3 2025-05-18 18:28:07.892803 2025-05-18 18:28:07.892803
11 3 3 system:menu:delete t \N \N \N \N \N f t 3 2025-05-18 18:28:07.892803 2025-05-18 18:28:07.892804
12 3 4 system:menu:patch t \N \N \N \N \N f t 3 2025-05-18 18:28:07.892804 2025-05-18 18:28:07.892804
13 3 1 system:dept:create t \N \N \N \N \N f t 4 2025-05-18 18:28:07.892805 2025-05-18 18:28:07.892805
14 3 2 system:dept:update t \N \N \N \N \N f t 4 2025-05-18 18:28:07.892806 2025-05-18 18:28:07.892806
15 3 3 system:dept:delete t \N \N \N \N \N f t 4 2025-05-18 18:28:07.892806 2025-05-18 18:28:07.892807
16 3 4 system:dept:patch t \N \N \N \N \N f t 4 2025-05-18 18:28:07.892807 2025-05-18 18:28:07.892807
17 3 1 system:position:create t \N \N \N \N \N f t 5 2025-05-18 18:28:07.892808 2025-05-18 18:28:07.892808
18 3 2 system:position:update t \N \N \N \N \N f t 5 2025-05-18 18:28:07.892808 2025-05-18 18:28:07.892809
19 3 3 system:position:delete t \N \N \N \N \N f t 5 2025-05-18 18:28:07.892809 2025-05-18 18:28:07.89281
20 3 4 system:position:patch t \N \N \N \N \N f t 5 2025-05-18 18:28:07.89281 2025-05-18 18:28:07.89281
21 3 5 system:position:export t \N \N \N \N \N f t 5 2025-05-18 18:28:07.892811 2025-05-18 18:28:07.892811
22 3 1 system:role:create t \N \N \N \N \N f t 6 2025-05-18 18:28:07.892811 2025-05-18 18:28:07.892812
23 3 2 system:role:update t \N \N \N \N \N f t 6 2025-05-18 18:28:07.892812 2025-05-18 18:28:07.892812
24 3 3 system:role:delete t \N \N \N \N \N f t 6 2025-05-18 18:28:07.892813 2025-05-18 18:28:07.892813
25 3 4 system:role:patch t \N \N \N \N \N f t 6 2025-05-18 18:28:07.892813 2025-05-18 18:28:07.892814
26 3 5 system:role:permission t \N \N \N \N \N f t 6 2025-05-18 18:28:07.892814 2025-05-18 18:28:07.892814
27 3 6 system:role:export t \N \N \N \N \N f t 6 2025-05-18 18:28:07.892815 2025-05-18 18:28:07.892815
28 3 1 system:user:create t \N \N \N \N \N f t 7 2025-05-18 18:28:07.892816 2025-05-18 18:28:07.892816
29 3 2 system:user:update t \N \N \N \N \N f t 7 2025-05-18 18:28:07.892816 2025-05-18 18:28:07.892817
30 3 3 system:user:delete t \N \N \N \N \N f t 7 2025-05-18 18:28:07.892817 2025-05-18 18:28:07.892817
31 3 4 system:user:patch t \N \N \N \N \N f t 7 2025-05-18 18:28:07.892818 2025-05-18 18:28:07.892818
32 3 5 system:user:export t \N \N \N \N \N f t 7 2025-05-18 18:28:07.892818 2025-05-18 18:28:07.892819
33 3 6 system:user:import t \N \N \N \N \N f t 7 2025-05-18 18:28:07.892819 2025-05-18 18:28:07.892819
34 3 1 system:operation_log:delete t \N \N \N \N \N f t 8 2025-05-18 18:28:07.89282 2025-05-18 18:28:07.89282
35 3 2 system:operation_log:export t \N \N \N \N \N f t 8 2025-05-18 18:28:07.892821 2025-05-18 18:28:07.892821
36 1 3 \N t MonitorOutlined Monitor /monitor \N /monitor/online f t \N 2025-05-18 18:28:07.892821 2025-05-18 18:28:07.892822
37 线 2 1 monitor:online:query t \N MonitorOnline /monitor/online monitor/online/index \N f t 36 2025-05-18 18:28:07.892822 2025-05-18 18:28:07.892822
38 线线 3 1 monitor:online:delete t \N \N \N \N \N f t 37 2025-05-18 18:28:07.892823 2025-05-18 18:28:07.892823
39 2 2 monitor:server:query t \N MonitorServer /monitor/server monitor/server/index \N f t 36 2025-05-18 18:28:07.892823 2025-05-18 18:28:07.892824
40 2 3 monitor:cache:query t \N MonitorCache /monitor/cache monitor/cache/index \N f t 36 2025-05-18 18:28:07.892824 2025-05-18 18:28:07.892824
41 3 1 monitor:cache:delete t \N \N \N \N \N f t 40 2025-05-18 18:28:07.892825 2025-05-18 18:28:07.892825
42 1 4 \N t ApiOutlined Common /common \N /common/docs f t \N 2025-05-18 18:28:07.892826 2025-05-18 18:28:07.892826
43 2 1 common:docs:query t \N Docs /common/docs common/docs/index \N f t 42 2025-05-18 18:28:07.892826 2025-05-18 18:28:07.892827
44 2 2 common:redoc:query t \N Redoc /common/redoc common/redoc/index \N f t 42 2025-05-18 18:28:07.892827 2025-05-18 18:28:07.892827
45 2 7 system:notice:query t \N Notice /system/notice system/notice/index \N f t 2 2025-05-18 18:28:07.892828 2025-05-18 18:28:07.892828
46 3 1 system:notice:create t \N \N \N \N \N f t 45 2025-05-18 18:28:07.892828 2025-05-18 18:28:07.892829
47 3 2 system:notice:update t \N \N \N \N \N f t 45 2025-05-18 18:28:07.892829 2025-05-18 18:28:07.892829
48 3 3 system:notice:delete t \N \N \N \N \N f t 45 2025-05-18 18:28:07.89283 2025-05-18 18:28:07.89283
49 3 4 system:notice:export t \N \N \N \N \N f t 45 2025-05-18 18:28:07.89283 2025-05-18 18:28:07.892831
50 3 5 system:notice:patch t \N \N \N \N \N f t 45 2025-05-18 18:28:07.892831 2025-05-18 18:28:07.892831
51 2 8 system:config:query t \N Config /system/config system/config/index \N f t 2 2025-05-18 18:28:07.892832 2025-05-18 18:28:07.892832
52 3 1 system:config:create t \N \N \N \N \N f t 51 2025-05-18 18:28:07.892832 2025-05-18 18:28:07.892833
53 3 2 system:config:update t \N \N \N \N \N f t 51 2025-05-18 18:28:07.892833 2025-05-18 18:28:07.892833
54 3 3 system:config:delete t \N \N \N \N \N f t 51 2025-05-18 18:28:07.892834 2025-05-18 18:28:07.892834
55 3 4 system:config:update t \N \N \N \N \N f t 51 2025-05-18 18:28:07.892835 2025-05-18 18:28:07.892835
56 3 5 system:config:upload t \N \N \N \N \N f t 51 2025-05-18 18:28:07.892835 2025-05-18 18:28:07.892836
57 2 9 system:dict_type:query t \N Dict /system/dict system/dict/index \N f t 2 2025-05-18 18:28:07.892836 2025-05-18 18:28:07.892836
58 3 1 system:dict_type:create t \N \N \N \N \N f t 57 2025-05-18 18:28:07.892837 2025-05-18 18:28:07.892837
59 3 2 system:dict_type:update t \N \N \N \N \N f t 57 2025-05-18 18:28:07.892837 2025-05-18 18:28:07.892838
60 3 3 system:dict_type:delete t \N \N \N \N \N f t 57 2025-05-18 18:28:07.892838 2025-05-18 18:28:07.892838
61 3 4 system:dict_type:export t \N \N \N \N \N f t 57 2025-05-18 18:28:07.892839 2025-05-18 18:28:07.892839
62 2 10 system:dict_data:query t \N DictData /system/dict_data system/dict/data \N t t 2 2025-05-18 18:28:07.892839 2025-05-18 18:28:07.89284
63 3 1 system:dict_data:create t \N \N \N \N \N f t 62 2025-05-18 18:28:07.89284 2025-05-18 18:28:07.89284
64 3 2 system:dict_data:update t \N \N \N \N \N f t 62 2025-05-18 18:28:07.892841 2025-05-18 18:28:07.892841
65 3 3 system:dict_data:delete t \N \N \N \N \N f t 62 2025-05-18 18:28:07.892841 2025-05-18 18:28:07.892842
66 3 4 system:dict_data:export t \N \N \N \N \N f t 62 2025-05-18 18:28:07.892842 2025-05-18 18:28:07.892842
67 2 11 system:job:query t \N Job /system/job system/job/index \N f t 2 2025-05-18 18:28:07.892843 2025-05-18 18:28:07.892843
68 3 1 system:job:create t \N \N \N \N \N f t 67 2025-05-18 18:28:07.892844 2025-05-18 18:28:07.892844
69 3 2 system:job:update t \N \N \N \N \N f t 67 2025-05-18 18:28:07.892844 2025-05-18 18:28:07.892845
70 3 3 system:job:delete t \N \N \N \N \N f t 67 2025-05-18 18:28:07.892845 2025-05-18 18:28:07.892845
71 3 4 system:job:export t \N \N \N \N \N f t 67 2025-05-18 18:28:07.892846 2025-05-18 18:28:07.892846
72 2 1 dashboard:workplace:query t Workplace /dashboard/workplace dashboard/workplace \N f t 1 2025-05-18 18:28:07.892846 2025-05-18 18:28:07.892847
73 2 2 dashboard:analysis:query t Analysis /dashboard/analysis dashboard/analysis \N f t 1 2025-05-18 18:28:07.892847 2025-05-18 18:28:07.892847
\.
@@ -1936,10 +1952,10 @@ COPY public.system_menu (id, name, type, "order", permission, available, icon, r
--
COPY public.system_notice (id, notice_title, notice_type, notice_content, available, description, created_at, updated_at, creator_id) FROM stdin;
1 1 20999912:00 t 2025-04-15 19:03:45.915217 2025-04-15 19:03:45.915219 1
2 2 20999912:00 t 2025-04-15 19:03:45.91522 2025-04-15 19:03:45.91522 1
3 1 20999912:00 f 2025-04-15 19:03:45.915221 2025-04-15 19:03:45.915221 1
4 2 20999912:00 f 2025-04-15 19:03:45.915221 2025-04-15 19:03:45.915222 1
1 1 20999912:00 t 2025-05-18 18:28:07.912395 2025-05-18 18:28:07.912398 1
2 2 20999912:00 t 2025-05-18 18:28:07.912398 2025-05-18 18:28:07.912399 1
3 1 20999912:00 f 2025-05-18 18:28:07.912399 2025-05-18 18:28:07.9124 1
4 2 20999912:00 f 2025-05-18 18:28:07.9124 2025-05-18 18:28:07.9124 1
\.
@@ -1947,7 +1963,7 @@ COPY public.system_notice (id, notice_title, notice_type, notice_content, availa
-- Data for Name: system_operation_log; Type: TABLE DATA; Schema: public; Owner: tao
--
COPY public.system_operation_log (id, request_path, request_method, request_payload, request_ip, request_os, request_browser, response_code, response_json, description, created_at, updated_at, creator_id) FROM stdin;
COPY public.system_operation_log (id, request_path, request_method, request_payload, request_ip, login_location, request_os, request_browser, response_code, response_json, process_time, description, created_at, updated_at, creator_id) FROM stdin;
\.
@@ -1956,13 +1972,13 @@ COPY public.system_operation_log (id, request_path, request_method, request_payl
--
COPY public.system_position (id, name, "order", available, description, created_at, updated_at, creator_id) FROM stdin;
1 1 t 2025-04-15 19:03:45.901163 2025-04-15 19:03:45.901164 1
2 2 t 2025-04-15 19:03:45.901165 2025-04-15 19:03:45.901165 1
3 3 t 2025-04-15 19:03:45.901166 2025-04-15 19:03:45.901166 1
4 4 t 2025-04-15 19:03:45.901167 2025-04-15 19:03:45.901167 1
5 5 t 2025-04-15 19:03:45.901168 2025-04-15 19:03:45.901168 1
6 6 t 2025-04-15 19:03:45.901169 2025-04-15 19:03:45.901169 1
7 7 t 2025-04-15 19:03:45.90117 2025-04-15 19:03:45.90117 1
1 1 t 2025-05-18 18:28:07.89892 2025-05-18 18:28:07.898921 1
2 2 t 2025-05-18 18:28:07.898921 2025-05-18 18:28:07.898922 1
3 3 t 2025-05-18 18:28:07.898922 2025-05-18 18:28:07.898922 1
4 4 t 2025-05-18 18:28:07.898923 2025-05-18 18:28:07.898923 1
5 5 t 2025-05-18 18:28:07.898923 2025-05-18 18:28:07.898924 1
6 6 t 2025-05-18 18:28:07.898924 2025-05-18 18:28:07.898924 1
7 7 t 2025-05-18 18:28:07.898925 2025-05-18 18:28:07.898925 1
\.
@@ -1971,8 +1987,8 @@ COPY public.system_position (id, name, "order", available, description, created_
--
COPY public.system_role (id, name, "order", data_scope, available, description, created_at, updated_at, creator_id) FROM stdin;
1 1 4 t 2025-04-15 19:03:45.905282 2025-04-15 19:03:45.905283 1
2 2 5 t 2025-04-15 19:03:45.905284 2025-04-15 19:03:45.905284 1
1 1 4 t 2025-05-18 18:28:07.902325 2025-05-18 18:28:07.902326 1
2 2 5 t 2025-05-18 18:28:07.902327 2025-05-18 18:28:07.902327 1
\.
@@ -2096,8 +2112,8 @@ COPY public.system_user_roles (user_id, role_id) FROM stdin;
--
COPY public.system_users (id, username, password, name, mobile, email, gender, avatar, available, is_superuser, last_login, dept_id, description, created_at, updated_at, creator_id) FROM stdin;
1 admin $2b$12$e2IJgS/cvHgJ0H3G7Xa08OXoXnk6N/NX3IZRtubBDElA0VLZhkNOa 15382112222 admin@qq.com 0 https://gw.alipayobjects.com/zos/rmsportal/BiazfanxmamNRoxxVxka.png t t \N 1 2025-04-15 19:03:45.898902 2025-04-15 19:03:45.898904 \N
2 demo $2b$12$e2IJgS/cvHgJ0H3G7Xa08OXoXnk6N/NX3IZRtubBDElA0VLZhkNOa 15382112121 demo@qq.com 1 https://gw.alipayobjects.com/zos/rmsportal/BiazfanxmamNRoxxVxka.png t f \N 6 2025-04-15 19:03:45.898904 2025-04-15 19:03:45.898905 1
1 admin $2b$12$e2IJgS/cvHgJ0H3G7Xa08OXoXnk6N/NX3IZRtubBDElA0VLZhkNOa 15382112222 admin@qq.com 0 https://gw.alipayobjects.com/zos/rmsportal/BiazfanxmamNRoxxVxka.png t t \N 1 2025-05-18 18:28:07.896901 2025-05-18 18:28:07.896902 \N
2 demo $2b$12$e2IJgS/cvHgJ0H3G7Xa08OXoXnk6N/NX3IZRtubBDElA0VLZhkNOa 15382112121 demo@qq.com 1 https://gw.alipayobjects.com/zos/rmsportal/BiazfanxmamNRoxxVxka.png t f \N 6 2025-05-18 18:28:07.896903 2025-05-18 18:28:07.896903 1
\.
+2 -5
View File
@@ -372,11 +372,8 @@ const onInfoFormFinish = async (values: any) => {
await userStore.getUserInfo;
} catch (error) {
console.error('更新基本信息失败:', error);
message.error({
content: '更新基本信息失败',
icon: h(CloseCircleOutlined, { style: "color: #ff4d4f" })
});
console.error(error);
} finally {
infoSubmitting.value = false;
}
+19 -3
View File
@@ -92,6 +92,7 @@
<a-tag :color="getRequestMethodColor(detailState.request_method)">{{ detailState.request_method }}</a-tag>
</a-descriptions-item>
<a-descriptions-item label="IP地址">{{ detailState.request_ip }}</a-descriptions-item>
<a-descriptions-item label="登录地址">{{ detailState.login_location }}</a-descriptions-item>
<a-descriptions-item label="浏览器">{{ detailState.request_browser }}</a-descriptions-item>
<a-descriptions-item label="系统">{{ detailState.request_os }}</a-descriptions-item>
<a-descriptions-item label="响应码" :span="2">
@@ -102,6 +103,7 @@
<a-descriptions-item label="返回信息" :span="2">
<div class="scrollable-content">{{ detailState.response_json }}</div>
</a-descriptions-item>
<a-descriptions-item label="处理时间" :span="2">{{ detailState.process_time }} </a-descriptions-item>
<a-descriptions-item label="创建人">{{ detailState.creator ? detailState.creator.name : '-' }}</a-descriptions-item>
<a-descriptions-item label="创建时间">{{ detailState.created_at }}</a-descriptions-item>
<a-descriptions-item label="修改时间">{{ detailState.updated_at }}</a-descriptions-item>
@@ -161,7 +163,7 @@ const columns: TableColumnsType = [
dataIndex: 'request_method',
ellipsis: true,
// align: 'center',
width: 120
width: 80
},
{
title: 'IP地址',
@@ -170,25 +172,39 @@ const columns: TableColumnsType = [
// align: 'center',
width: 100
},
{
title: '登录地点',
dataIndex: 'login_location',
ellipsis: true,
// align: 'center',
width: 120
},
{
title: '浏览器',
dataIndex: 'request_browser',
ellipsis: true,
// align: 'center',
width: 120
width: 80
},
{
title: '系统',
dataIndex: 'request_os',
ellipsis: true,
// align: 'center',
width: 120
width: 80
},
{
title: '响应码',
dataIndex: 'response_code',
ellipsis: true,
// align: 'center',
width: 80
},
{
title: '处理时间',
dataIndex: 'process_time',
ellipsis: true,
// align: 'center',
width: 120
},
{
+2
View File
@@ -11,11 +11,13 @@ export interface tableDataType {
request_path?: string;
request_method?: string;
request_ip?: string;
login_location?: string;
request_browser?: string;
request_os?: string;
response_code?: number;
request_payload?: string;
response_json?: string;
process_time?: number;
description?: string;
creator?: creatorType;
created_at?: string;