前端框架修改

This commit is contained in:
chengkai3
2026-04-24 15:50:52 +08:00
parent 472234035d
commit 3fd15fbd21
115 changed files with 13524 additions and 8505 deletions
+248
View File
@@ -0,0 +1,248 @@
--
-- PostgreSQL database dump
--
\restrict UVXxtXaQlAJfZapskxZfZboeDWXESBEy163oCBkBzCL7LH2c7YFImJpPFUfTR6x
-- Dumped from database version 16.11
-- Dumped by pg_dump version 16.13 (Debian 16.13-1.pgdg12+1)
SET statement_timeout = 0;
SET lock_timeout = 0;
SET idle_in_transaction_session_timeout = 0;
SET client_encoding = 'UTF8';
SET standard_conforming_strings = on;
SELECT pg_catalog.set_config('search_path', '', false);
SET check_function_bodies = false;
SET xmloption = content;
SET client_min_messages = warning;
SET row_security = off;
--
-- Data for Name: menu; Type: TABLE DATA; Schema: public; Owner: -
--
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('230918229474674353', '2026-02-26 15:53:56.082332', 'chengkai', NULL, 'IconDashboard', '统计报表', 'statistics', 'DIRECTORY', NULL, 60, 'ENABLED', '2026-02-26 16:37:56.667201', 'chengkai', NULL);
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('179018961361305638', '2026-01-22 14:33:17.029504', 'chengkai', NULL, 'IconFile', '文件管理', 'file-manager', 'MENU', '76320933194760192', 1, 'ENABLED', NULL, NULL, 'file-manager');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('187981596035383344', '2026-01-28 15:28:45.750581', 'chengkai', NULL, 'IconCompass', '密钥管理', 'password', 'MENU', '76320933194760192', 1, 'ENABLED', NULL, NULL, 'password');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('95606916901765188', '2025-11-27 10:02:19.716799', 'admin', NULL, 'IconCheckCircle', '文件识别', 'filedetector', 'MENU', '76320933194760192', 11, 'ENABLED', NULL, NULL, 'filedetector');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('134691737770655774', '2025-12-23 17:50:09.447569', 'admin', NULL, 'IconList', '系统参数', 'systemparam', 'MENU', '192168089637359389', 1, 'ENABLED', '2026-01-31 16:21:41.482418', 'admin', 'systemparam');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('26219916348620800', '2025-10-11 15:57:13.568892', 'admin', NULL, 'IconTrophy', '知识管理', 'knowledge_mgr', 'DIRECTORY', NULL, 20, 'ENABLED', '2026-02-26 16:35:59.276875', 'chengkai', NULL);
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('user_mgr', '2026-01-15 10:03:53.987555', NULL, NULL, NULL, '用户管理', 'user_mgr', 'MENU', '192168089637359577', 1, 'ENABLED', '2026-01-31 16:24:35.912272', 'admin', 'user');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('116674882539880455', '2025-12-11 14:30:49.582598', 'admin', NULL, 'IconSearch', 'MD解析', 'mdresolve', 'MENU', '76320933194760192', 1, 'ENABLED', NULL, NULL, 'mdresolve');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('role_mgr', '2026-01-15 10:03:53.958729', NULL, NULL, NULL, '角色管理', 'role_mgr', 'MENU', '192168089637359577', 2, 'ENABLED', '2026-01-31 16:24:47.693376', 'admin', 'role');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('136067432975434904', '2025-12-24 17:40:40.182517', 'admin', NULL, 'IconEmail', '系统消息', 'systemmessage', 'MENU', '192168089637359328', 1, 'ENABLED', '2026-01-31 16:25:36.266083', 'admin', 'systemmessage');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('menu_mgr', '2026-01-15 10:03:53.934009', NULL, NULL, NULL, '菜单管理', 'menu_mgr', 'MENU', '192168089637359577', 3, 'ENABLED', '2026-01-31 16:25:53.732164', 'admin', 'menu');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('183524124356771948', '2026-01-25 15:29:16.875486', 'admin', NULL, 'IconApps', '分组管理', 'group', 'MENU', '192168089637359389', 2, 'ENABLED', '2026-01-31 16:27:24.000994', 'admin', 'group');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('97505309626466326', '2025-11-28 16:36:12.275314', 'admin', NULL, 'IconWechat', '微信小程序', 'wxapp', 'MENU', '192168089637359389', 4, 'ENABLED', '2026-01-31 16:34:17.623113', 'admin', 'wxapp');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('78189209608781860', '2025-11-15 16:19:30.844064', 'admin', NULL, 'IconClockCircle', '定时任务', 'cron_task_mgr', 'MENU', '192168089637359389', 7, 'ENABLED', '2026-01-31 16:35:14.506062', 'admin', 'cron');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('76398070807396352', '2025-11-14 11:27:16.25965', 'admin', NULL, 'IconSelectAll', '作业监控', 'job_mgr', 'MENU', '192168089637359328', 3, 'ENABLED', '2026-01-31 16:36:41.120604', 'admin', 'job');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('192168089637359328', '2026-01-31 16:12:09.964975', 'chengkai', NULL, 'IconDashboard', '系统监控', 'sys_monitor', 'DIRECTORY', NULL, 80, 'ENABLED', '2026-02-26 16:38:30.731017', 'chengkai', NULL);
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('144982908908601370', '2025-12-30 16:14:02.748609', 'admin', NULL, 'IconMindMapping', '流程图', 'mermaid-mgr', 'MENU', '26219916348620800', 2, 'ENABLED', '2026-01-31 16:44:16.674058', 'admin', 'mermaid-mgr');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('50050233152831502', '2025-10-27 17:23:15.898588', 'admin', NULL, 'IconMindMapping', '思维导图', 'mindmap', 'MENU', '26219916348620800', 1, 'ENABLED', '2026-01-31 16:44:39.131777', 'admin', 'mindmap');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('249494272267520435', '2026-03-11 11:48:25.484799', 'chengkai', NULL, NULL, '代码评审', 'code-review', 'MENU', '231081781829304476', 1, 'ENABLED', NULL, NULL, 'code-review');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('26266405074632715', '2025-10-11 17:45:40.047878', 'admin', NULL, 'IconBulb', '知识点管理', 'knowledge_point_mgr', 'MENU', '26219916348620800', 5, 'ENABLED', '2026-01-31 16:45:30.722389', 'admin', 'knowledge');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('192168089637359577', '2026-01-31 16:24:09.990576', 'admin', NULL, 'IconSafe', '系统权限', 'sys_priv', 'DIRECTORY', NULL, 90, 'ENABLED', '2026-02-26 16:38:51.092536', 'chengkai', NULL);
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('26266405074632728', '2025-10-11 17:50:57.895956', 'admin', NULL, 'IconStar', '题库管理', 'question_mgr', 'MENU', '192168089637360097', 1, 'ENABLED', '2026-01-31 16:48:34.000613', 'admin', 'question');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('26266405074632743', '2025-10-11 18:38:59.576273', 'admin', NULL, 'IconCheckCircle', '试题管理', 'exam_mgr', 'MENU', '192168089637360097', 2, 'ENABLED', '2026-01-31 16:48:50.844338', 'admin', 'exam');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('42365316889575424', '2025-10-22 13:17:33.872891', 'admin', NULL, NULL, '历史答卷', 'history', 'MENU', '192168089637360097', 3, 'ENABLED', '2026-01-31 16:49:09.142567', 'admin', 'history');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('204073687442261831', '2026-02-08 14:04:07.74672', 'chengkai', NULL, 'IconTag', '标签管理', 'tag', 'MENU', '192168089637359389', 1, 'ENABLED', NULL, NULL, 'tag');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('204073687442262076', '2026-02-08 14:11:00.976474', 'chengkai', NULL, 'IconStar', 'Token统计', 'token-usage', 'MENU', '192168089637359328', 1, 'ENABLED', NULL, NULL, 'token-usage');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('118741569263112860', '2025-12-15 10:32:05.437321', 'admin', NULL, 'IconSchedule', '日程管理', 'schedule', 'MENU', '230918229474674260', 1, 'ENABLED', '2026-02-26 15:50:19.257239', 'chengkai', 'schedule');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('32015218800328704', '2025-10-15 13:46:51.152678', 'admin', NULL, 'IconList', '待办管理', 'todo', 'MENU', '230918229474674260', 2, 'ENABLED', '2026-02-26 15:50:40.733078', 'chengkai', 'todo');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('133133918772658432', '2025-12-22 16:58:19.89401', 'admin', NULL, 'IconSend', '消息测试', 'notification', 'MENU', '231016189088760729', 1, 'ENABLED', '2026-02-26 16:17:03.175302', 'chengkai', 'notification');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('200511080789709743', '2026-02-06 08:56:53.11937', 'chengkai', NULL, NULL, 'Jwt生成器', 'jwt-generator', 'MENU', '231016189088760729', 1, 'ENABLED', '2026-02-26 16:18:03.12509', 'chengkai', 'jwt-generator');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('227758868711604253', '2026-02-24 10:36:48.59366', 'admin', NULL, NULL, '单词本', 'vocabulary', 'MENU', '26219916348620800', 1, 'ENABLED', '2026-02-26 16:19:03.551691', 'chengkai', 'vocabulary');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('176068731145814769', '2026-01-20 15:50:51.269739', 'chengkai', NULL, 'IconCustomerService', 'AI聊天', 'chat', 'MENU', '231081781829304476', 1, 'ENABLED', '2026-02-26 16:25:17.222513', 'chengkai', 'chat');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('221032245551432906', '2026-02-19 23:26:05.346579', 'chengkai', NULL, 'IconRobot', '智能体管理', 'agent', 'MENU', '231081781829304476', 1, 'ENABLED', '2026-02-26 16:25:39.55366', 'chengkai', 'agent');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('215028070250185143', '2026-02-15 21:04:38.284379', 'chengkai', NULL, NULL, '需求管理', 'requirement', 'MENU', '231081781829304476', 1, 'ENABLED', '2026-02-26 16:33:19.391789', 'chengkai', 'requirement');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('192168089637360097', '2026-01-31 16:47:46.618712', 'admin', NULL, 'IconCheckCircle', '考试与练习', 'exam_system', 'DIRECTORY', NULL, 30, 'ENABLED', '2026-02-26 16:36:12.113632', 'chengkai', NULL);
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('231081781829304476', '2026-02-26 16:24:46.688317', 'chengkai', NULL, NULL, 'AI应用', 'ai_app', 'DIRECTORY', NULL, 40, 'ENABLED', '2026-02-26 16:36:28.836651', 'chengkai', NULL);
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('76320933194760192', '2025-11-14 10:04:08.405597', 'admin', NULL, 'IconTool', '实用工具', 'tools', 'DIRECTORY', NULL, 50, 'ENABLED', '2026-02-26 16:36:45.8529', 'chengkai', NULL);
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('115181144453940054', '2025-12-10 16:42:47.47134', 'admin', NULL, 'IconScan', '文字提取', 'ocr', 'MENU', '231081781829304476', 1, 'ENABLED', '2026-02-26 16:43:13.471066', 'chengkai', 'ocr');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('40875083496948222', '2025-10-21 14:11:08.428707', 'admin', NULL, 'IconBulb', '模型管理', 'llmmodel', 'MENU', '231081781829304476', 9, 'ENABLED', '2026-02-28 14:17:15.92645', 'chengkai', 'llmmodel');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('235407982127480885', '2026-03-01 14:19:24.42814', 'chengkai', NULL, NULL, '诗词本', 'poetry', 'MENU', '26219916348620800', 1, 'ENABLED', NULL, NULL, 'poetry');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('241356649271395924', '2026-03-05 15:48:38.663647', 'chengkai', NULL, 'IconGift', 'Git管理', 'git-desktop', 'MENU', '192168089637359328', 1, 'ENABLED', NULL, NULL, 'git-desktop');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('242998048332972498', '2026-03-06 17:24:25.086527', 'chengkai', NULL, NULL, '家庭作业', 'homework', 'MENU', '230918229474674260', 1, 'ENABLED', NULL, NULL, 'homework');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('251393455266203758', '2026-03-12 10:38:17.612288', 'chengkai', NULL, NULL, '生字本', 'character', 'MENU', '26219916348620800', 1, 'ENABLED', NULL, NULL, 'character');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('271759640428027720', '2026-03-26 09:18:56.160639', 'chengkai', NULL, 'IconImage', '题库统计', 'question-bank', 'MENU', '230918229474674353', 1, 'ENABLED', NULL, NULL, 'question-bank');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('273737129270444755', '2026-03-27 10:19:21.074543', 'chengkai', NULL, 'IconSearch', '热搜', 'hot-search', 'MENU', '231081781829304476', 11, 'ENABLED', NULL, NULL, 'hot-search');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('75127602301370369', '2025-11-13 15:12:00.121176', 'admin', NULL, 'IconSave', '数据源管理', 'datasource_mgr', 'MENU', '76320933194760192', 1111, 'ENABLED', '2025-11-14 10:06:31.161425', 'admin', 'datasource');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('192168089637359149', '2026-01-31 16:05:36.933194', 'chengkai', NULL, 'IconLink', '编排管理', 'orchestration', 'MENU', '76320933194760192', 1, 'ENABLED', NULL, NULL, 'orchestration');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('183524124356772084', '2026-01-25 15:35:07.437284', 'admin', NULL, 'IconApps', '系统日志', 'syslog', 'MENU', '192168089637359328', 1, 'ENABLED', '2026-01-31 16:14:17.471439', 'chengkai', 'syslog');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('74848154549223424', '2025-11-13 10:28:36.831638', 'admin', NULL, 'IconShareAlt', '队列管理', 'queue_mgr', 'MENU', '192168089637359389', 5, 'ENABLED', '2026-01-31 16:34:46.203097', 'admin', 'jobqueue');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('74869474766880770', '2025-11-13 11:50:26.348322', 'admin', NULL, 'IconPlayArrow', '脚本管理', 'script_mgr', 'MENU', '192168089637359389', 10, 'ENABLED', '2026-01-31 16:41:21.041328', 'admin', 'script');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('204073687442261970', '2026-02-08 14:08:27.000012', 'chengkai', NULL, 'IconQuestionCircle', '数据查询', 'data-query', 'MENU', '76320933194760192', 1, 'ENABLED', NULL, NULL, 'data-query');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('201550926731804808', '2026-02-06 18:59:23.144593', 'chengkai', NULL, 'IconInteraction', 'API测试', 'api-tester', 'MENU', '231016189088760729', 1, 'ENABLED', '2026-02-26 16:14:52.100482', 'chengkai', 'api-tester');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('192168089637359745', '2026-01-31 16:32:46.666995', 'admin', NULL, 'IconRobot', 'MCP管理', 'mcp_server', 'MENU', '231081781829304476', 3, 'ENABLED', '2026-02-26 16:25:59.7117', 'chengkai', 'mcp-server');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('55546519981391872', '2025-10-31 10:22:36.058816', 'admin', NULL, NULL, '提示词管理', 'prompts', 'MENU', '231081781829304476', 9, 'ENABLED', '2026-02-26 16:26:14.053438', 'chengkai', 'prompt');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('177378541552273669', '2026-01-21 15:12:14.268523', 'admin', NULL, 'IconFolder', '知识集管理', 'knowledge-set', 'MENU', '231081781829304476', 8, 'ENABLED', '2026-02-26 16:28:34.395919', 'chengkai', 'knowledge-set');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('230918229474674260', '2026-02-26 15:49:31.64858', 'chengkai', NULL, 'IconPushpin', '工作规划', 'job_mgr', 'DIRECTORY', NULL, 10, 'ENABLED', '2026-02-26 16:35:42.920446', 'chengkai', NULL);
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('231016189088760729', '2026-02-26 16:14:24.219579', 'chengkai', NULL, NULL, '系统测试', 'sys_test', 'DIRECTORY', NULL, 70, 'ENABLED', '2026-02-26 16:37:46.283743', 'chengkai', NULL);
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('192168089637359389', '2026-01-31 16:15:22.139961', 'chengkai', NULL, 'IconSettings', '系统配置', 'sys_config', 'DIRECTORY', NULL, 100, 'ENABLED', '2026-02-26 16:39:27.778358', 'chengkai', NULL);
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('251744800770885062', '2026-03-12 15:42:33.78257', 'chengkai', NULL, NULL, '上帝视角', 'diary', 'MENU', '76320933194760192', 1, 'ENABLED', NULL, NULL, 'diary');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('271759640428027732', '2026-03-26 09:19:21.159872', 'chengkai', NULL, NULL, '单词统计', 'vocabulary-proficiency', 'MENU', '230918229474674353', 2, 'ENABLED', NULL, NULL, 'vocabulary-proficiency');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('273737129270444155', '2026-03-27 10:02:53.876381', 'chengkai', NULL, NULL, '知识统计', 'knowledge-mastery', 'MENU', '230918229474674353', 3, 'ENABLED', NULL, NULL, 'knowledge-mastery');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('286379760643211503', '2026-04-04 22:31:32.026957', 'chengkai', NULL, 'IconEar', '价格监控', 'price-monitor', 'MENU', '76320933194760192', 1, 'ENABLED', NULL, NULL, 'price-monitor');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('baidu_pan', '2026-04-05 11:00:13.944224', NULL, '百度网盘接入壳页面', 'storage', '百度网盘', 'baidu_pan', 'MENU', NULL, 31, 'ENABLED', '2026-04-05 11:00:13.94232', NULL, 'baidu-pan');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('294962874827145649', '2026-04-10 17:34:21.483515', 'chengkai', NULL, 'IconClockCircle', '生命倒计时', 'life-countdown', 'MENU', NULL, 0, 'ENABLED', NULL, NULL, 'life-countdown');
--
-- Data for Name: user_role; Type: TABLE DATA; Schema: public; Owner: -
--
INSERT INTO public.user_role (id, create_date, create_user, update_date, update_user, descr, name, state) VALUES ('guest', '2025-12-13 20:41:54.44313', 'admin', NULL, NULL, '游客', '游客', 'ENABLED');
INSERT INTO public.user_role (id, create_date, create_user, update_date, update_user, descr, name, state) VALUES ('user', '2025-10-07 13:10:32.13403', 'admin', NULL, NULL, '普通用户', '普通用户', 'ENABLED');
INSERT INTO public.user_role (id, create_date, create_user, update_date, update_user, descr, name, state) VALUES ('sys_mgr', '2026-01-15 09:53:23.219713', 'admin', '2026-01-15 09:53:23.219713', 'admin', '系统管理员', '系统管理员', 'ENABLED');
INSERT INTO public.user_role (id, create_date, create_user, update_date, update_user, descr, name, state) VALUES ('242072637499512767', '2026-03-06 14:41:52.934739', 'chengkai', '2026-03-06 14:41:52.934739', 'chengkai', NULL, '安雾', 'ENABLED');
INSERT INTO public.user_role (id, create_date, create_user, update_date, update_user, descr, name, state) VALUES ('242072637499512780', '2026-03-06 14:42:00.658826', 'chengkai', '2026-03-06 14:42:00.658826', 'chengkai', NULL, '程煜涵', 'ENABLED');
INSERT INTO public.user_role (id, create_date, create_user, update_date, update_user, descr, name, state) VALUES ('249494272267520323', '2026-03-11 11:43:28.686114', 'chengkai', '2026-04-04 14:13:29.253765', 'chengkai', NULL, 'openclaw', 'ENABLED');
--
-- Data for Name: role_menu_rela; Type: TABLE DATA; Schema: public; Owner: -
--
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('263431458322908465', '249494272267520435', '249494272267520323');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('242072637499512951', '230918229474674260', '242072637499512767');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('242072637499512952', '118741569263112860', '242072637499512767');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('242072637499512953', '32015218800328704', '242072637499512767');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('242072637499512954', '50050233152831502', '242072637499512767');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('242072637499512955', '144982908908601370', '242072637499512767');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('242072637499512956', '26266405074632715', '242072637499512767');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('242072637499512957', '192168089637360097', '242072637499512767');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('242072637499512958', '26266405074632728', '242072637499512767');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('242072637499512959', '26266405074632743', '242072637499512767');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('242072637499512960', '42365316889575424', '242072637499512767');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('242072637499512961', '115181144453940054', '242072637499512767');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('242072637499512962', '176068731145814769', '242072637499512767');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('242072637499512963', '179018961361305638', '242072637499512767');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('242072637499512964', '187981596035383344', '242072637499512767');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('242072637499512965', '78189209608781860', '242072637499512767');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('263431458322908466', '215028070250185143', '249494272267520323');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('263431458322908467', '177378541552273669', '249494272267520323');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('192168089637359203', '144982908908601370', 'user');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('192168089637359204', '118741569263112860', 'user');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('192168089637359205', '32015218800328704', 'user');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('192168089637359206', '50050233152831502', 'user');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('192168089637359207', '26266405074632728', 'user');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('192168089637359208', '26266405074632743', 'user');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('192168089637359209', '42365316889575424', 'user');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('192168089637359210', '26219916348620800', 'user');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('192168089637359213', '26266405074632715', 'user');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('192168089637359214', '134691737770655774', 'user');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('192168089637359215', 'user_mgr', 'user');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('192168089637359216', '136067432975434904', 'user');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('192168089637359217', 'role_mgr', 'user');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('192168089637359218', 'menu_mgr', 'user');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('192168089637359219', '115181144453940054', 'user');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('192168089637359220', '116674882539880455', 'user');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('192168089637359221', '187981596035383344', 'user');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('192168089637359222', '133133918772658432', 'user');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('192168089637359223', '179018961361305638', 'user');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('192168089637359224', '176068731145814769', 'user');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('192168089637359225', '95606916901765188', 'user');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('192168089637359226', '75127602301370369', 'user');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('192168089637359227', '177378541552273669', 'user');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('192168089637359228', '40875083496948222', 'user');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('192168089637359229', '55546519981391872', 'user');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('192168089637359230', '192168089637359149', 'user');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('192168089637359231', '76320933194760192', 'user');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145683', '230918229474674260', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145684', '242998048332972498', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145685', '118741569263112860', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145686', '32015218800328704', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145687', '26219916348620800', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145688', '50050233152831502', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145689', '251393455266203758', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145690', '227758868711604253', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145691', '235407982127480885', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145692', '144982908908601370', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145693', '26266405074632715', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145694', '192168089637360097', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145695', '26266405074632728', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145696', '26266405074632743', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145697', '42365316889575424', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145698', 'baidu_pan', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145699', '231081781829304476', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145700', '176068731145814769', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145701', '215028070250185143', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145702', '115181144453940054', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('271759640428027844', '230918229474674260', '242072637499512780');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('271759640428027845', '242998048332972498', '242072637499512780');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('271759640428027846', '118741569263112860', '242072637499512780');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('271759640428027847', '32015218800328704', '242072637499512780');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('271759640428027848', '50050233152831502', '242072637499512780');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('271759640428027849', '251393455266203758', '242072637499512780');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('271759640428027850', '235407982127480885', '242072637499512780');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('271759640428027851', '227758868711604253', '242072637499512780');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('271759640428027852', '26266405074632715', '242072637499512780');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('271759640428027853', '192168089637360097', '242072637499512780');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('271759640428027854', '26266405074632728', '242072637499512780');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('271759640428027855', '26266405074632743', '242072637499512780');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('271759640428027856', '42365316889575424', '242072637499512780');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('271759640428027857', '271759640428027732', '242072637499512780');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145703', '221032245551432906', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145704', '249494272267520435', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145705', '192168089637359745', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145706', '177378541552273669', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145707', '55546519981391872', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145708', '40875083496948222', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145709', '273737129270444755', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145710', '76320933194760192', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145711', '116674882539880455', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145712', '187981596035383344', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145713', '286379760643211503', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145714', '179018961361305638', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145715', '204073687442261970', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145716', '192168089637359149', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145717', '251744800770885062', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145718', '95606916901765188', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145719', '75127602301370369', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145720', '230918229474674353', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145721', '271759640428027720', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145722', '271759640428027732', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145723', '273737129270444155', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145724', '231016189088760729', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145725', '133133918772658432', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145726', '201550926731804808', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145727', '200511080789709743', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145728', '192168089637359328', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145729', '241356649271395924', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145730', '204073687442262076', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145731', '183524124356772084', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145732', '136067432975434904', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145733', '76398070807396352', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145734', '192168089637359577', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145735', 'user_mgr', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145736', 'role_mgr', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145737', 'menu_mgr', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145738', '192168089637359389', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145739', '204073687442261831', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145740', '134691737770655774', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145741', '183524124356771948', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145742', '97505309626466326', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145743', '74848154549223424', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145744', '78189209608781860', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145745', '74869474766880770', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145746', '294962874827145649', 'sys_mgr');
--
-- Data for Name: users; Type: TABLE DATA; Schema: public; Owner: -
--
INSERT INTO public.users (user_id, create_date, create_user, email, logo, password, phone, state, update_date, update_user, user_name) VALUES ('admin', '2026-01-15 10:03:53.321268', 'admin', 'admin@asiainfo.com', NULL, '$2a$10$Vwc5UwkW2r3BkmtlciHsPeSDAdSktAdd3bfdvUwL/mfn5xjqSjHf.', '12345678901', 'ENABLED', '2026-02-28 16:20:11.418919', 'chengkai', '系统管理员');
INSERT INTO public.users (user_id, create_date, create_user, email, logo, password, phone, state, update_date, update_user, user_name) VALUES ('chengyuhan', '2025-11-05 10:51:23.148236', 'admin', NULL, NULL, '$2a$10$yWdT5zx8r8l.nb/uxOZez.1oAJv8srKQhjeWUUTUPLcYiPBlJl7cy', NULL, 'ENABLED', '2026-03-06 14:22:26.040467', 'chengkai', '程煜涵');
INSERT INTO public.users (user_id, create_date, create_user, email, logo, password, phone, state, update_date, update_user, user_name) VALUES ('anwu', '2025-10-20 12:43:28.086475', 'admin', NULL, NULL, '$2a$10$gTfdItlBNmqOYfaNZYueuuLwVB8i.fMZOsZJDBcBdMVPORlgmCEl2', NULL, 'ENABLED', '2026-03-06 14:44:49.022919', 'chengkai', '安雾');
INSERT INTO public.users (user_id, create_date, create_user, email, logo, password, phone, state, update_date, update_user, user_name) VALUES ('openclaw', '2026-03-09 07:46:20.557368', 'chengkai', 'xiaolongxia@163.com', NULL, '$2a$10$BVGrSOVwAeEJoVV1VaY1BOXAsEBVmpthWni1yhqqUvU3X7QueDVJ2', NULL, 'ENABLED', '2026-03-25 10:17:42.770646', 'chengkai', '小龙虾');
INSERT INTO public.users (user_id, create_date, create_user, email, logo, password, phone, state, update_date, update_user, user_name) VALUES ('chengkai', '2025-10-11 17:25:29.770575', 'admin', 'm18162847837@163.com', NULL, '$2a$10$Nx1uba8.Vi8cOqXcZGnX7ObDkT040j5qAWD5eP4DO7.YmMA8EoLX.', '18162847837', 'ENABLED', '2026-04-23 23:06:56.223182', 'admin', '程凯');
--
-- PostgreSQL database dump complete
--
\unrestrict UVXxtXaQlAJfZapskxZfZboeDWXESBEy163oCBkBzCL7LH2c7YFImJpPFUfTR6x
+250
View File
@@ -0,0 +1,250 @@
SET session_replication_role = replica;
--
-- PostgreSQL database dump
--
\restrict UVXxtXaQlAJfZapskxZfZboeDWXESBEy163oCBkBzCL7LH2c7YFImJpPFUfTR6x
-- Dumped from database version 16.11
-- Dumped by pg_dump version 16.13 (Debian 16.13-1.pgdg12+1)
SET statement_timeout = 0;
SET lock_timeout = 0;
SET idle_in_transaction_session_timeout = 0;
SET client_encoding = 'UTF8';
SET standard_conforming_strings = on;
SELECT pg_catalog.set_config('search_path', '', false);
SET check_function_bodies = false;
SET xmloption = content;
SET client_min_messages = warning;
SET row_security = off;
--
-- Data for Name: menu; Type: TABLE DATA; Schema: public; Owner: -
--
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('230918229474674353', '2026-02-26 15:53:56.082332', 'chengkai', NULL, 'IconDashboard', '统计报表', 'statistics', 'DIRECTORY', NULL, 60, 'ENABLED', '2026-02-26 16:37:56.667201', 'chengkai', NULL);
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('179018961361305638', '2026-01-22 14:33:17.029504', 'chengkai', NULL, 'IconFile', '文件管理', 'file-manager', 'MENU', '76320933194760192', 1, 'ENABLED', NULL, NULL, 'file-manager');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('187981596035383344', '2026-01-28 15:28:45.750581', 'chengkai', NULL, 'IconCompass', '密钥管理', 'password', 'MENU', '76320933194760192', 1, 'ENABLED', NULL, NULL, 'password');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('95606916901765188', '2025-11-27 10:02:19.716799', 'admin', NULL, 'IconCheckCircle', '文件识别', 'filedetector', 'MENU', '76320933194760192', 11, 'ENABLED', NULL, NULL, 'filedetector');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('134691737770655774', '2025-12-23 17:50:09.447569', 'admin', NULL, 'IconList', '系统参数', 'systemparam', 'MENU', '192168089637359389', 1, 'ENABLED', '2026-01-31 16:21:41.482418', 'admin', 'systemparam');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('26219916348620800', '2025-10-11 15:57:13.568892', 'admin', NULL, 'IconTrophy', '知识管理', 'knowledge_mgr', 'DIRECTORY', NULL, 20, 'ENABLED', '2026-02-26 16:35:59.276875', 'chengkai', NULL);
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('user_mgr', '2026-01-15 10:03:53.987555', NULL, NULL, NULL, '用户管理', 'user_mgr', 'MENU', '192168089637359577', 1, 'ENABLED', '2026-01-31 16:24:35.912272', 'admin', 'user');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('116674882539880455', '2025-12-11 14:30:49.582598', 'admin', NULL, 'IconSearch', 'MD解析', 'mdresolve', 'MENU', '76320933194760192', 1, 'ENABLED', NULL, NULL, 'mdresolve');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('role_mgr', '2026-01-15 10:03:53.958729', NULL, NULL, NULL, '角色管理', 'role_mgr', 'MENU', '192168089637359577', 2, 'ENABLED', '2026-01-31 16:24:47.693376', 'admin', 'role');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('136067432975434904', '2025-12-24 17:40:40.182517', 'admin', NULL, 'IconEmail', '系统消息', 'systemmessage', 'MENU', '192168089637359328', 1, 'ENABLED', '2026-01-31 16:25:36.266083', 'admin', 'systemmessage');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('menu_mgr', '2026-01-15 10:03:53.934009', NULL, NULL, NULL, '菜单管理', 'menu_mgr', 'MENU', '192168089637359577', 3, 'ENABLED', '2026-01-31 16:25:53.732164', 'admin', 'menu');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('183524124356771948', '2026-01-25 15:29:16.875486', 'admin', NULL, 'IconApps', '分组管理', 'group', 'MENU', '192168089637359389', 2, 'ENABLED', '2026-01-31 16:27:24.000994', 'admin', 'group');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('97505309626466326', '2025-11-28 16:36:12.275314', 'admin', NULL, 'IconWechat', '微信小程序', 'wxapp', 'MENU', '192168089637359389', 4, 'ENABLED', '2026-01-31 16:34:17.623113', 'admin', 'wxapp');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('78189209608781860', '2025-11-15 16:19:30.844064', 'admin', NULL, 'IconClockCircle', '定时任务', 'cron_task_mgr', 'MENU', '192168089637359389', 7, 'ENABLED', '2026-01-31 16:35:14.506062', 'admin', 'cron');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('76398070807396352', '2025-11-14 11:27:16.25965', 'admin', NULL, 'IconSelectAll', '作业监控', 'job_mgr', 'MENU', '192168089637359328', 3, 'ENABLED', '2026-01-31 16:36:41.120604', 'admin', 'job');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('192168089637359328', '2026-01-31 16:12:09.964975', 'chengkai', NULL, 'IconDashboard', '系统监控', 'sys_monitor', 'DIRECTORY', NULL, 80, 'ENABLED', '2026-02-26 16:38:30.731017', 'chengkai', NULL);
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('144982908908601370', '2025-12-30 16:14:02.748609', 'admin', NULL, 'IconMindMapping', '流程图', 'mermaid-mgr', 'MENU', '26219916348620800', 2, 'ENABLED', '2026-01-31 16:44:16.674058', 'admin', 'mermaid-mgr');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('50050233152831502', '2025-10-27 17:23:15.898588', 'admin', NULL, 'IconMindMapping', '思维导图', 'mindmap', 'MENU', '26219916348620800', 1, 'ENABLED', '2026-01-31 16:44:39.131777', 'admin', 'mindmap');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('249494272267520435', '2026-03-11 11:48:25.484799', 'chengkai', NULL, NULL, '代码评审', 'code-review', 'MENU', '231081781829304476', 1, 'ENABLED', NULL, NULL, 'code-review');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('26266405074632715', '2025-10-11 17:45:40.047878', 'admin', NULL, 'IconBulb', '知识点管理', 'knowledge_point_mgr', 'MENU', '26219916348620800', 5, 'ENABLED', '2026-01-31 16:45:30.722389', 'admin', 'knowledge');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('192168089637359577', '2026-01-31 16:24:09.990576', 'admin', NULL, 'IconSafe', '系统权限', 'sys_priv', 'DIRECTORY', NULL, 90, 'ENABLED', '2026-02-26 16:38:51.092536', 'chengkai', NULL);
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('26266405074632728', '2025-10-11 17:50:57.895956', 'admin', NULL, 'IconStar', '题库管理', 'question_mgr', 'MENU', '192168089637360097', 1, 'ENABLED', '2026-01-31 16:48:34.000613', 'admin', 'question');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('26266405074632743', '2025-10-11 18:38:59.576273', 'admin', NULL, 'IconCheckCircle', '试题管理', 'exam_mgr', 'MENU', '192168089637360097', 2, 'ENABLED', '2026-01-31 16:48:50.844338', 'admin', 'exam');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('42365316889575424', '2025-10-22 13:17:33.872891', 'admin', NULL, NULL, '历史答卷', 'history', 'MENU', '192168089637360097', 3, 'ENABLED', '2026-01-31 16:49:09.142567', 'admin', 'history');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('204073687442261831', '2026-02-08 14:04:07.74672', 'chengkai', NULL, 'IconTag', '标签管理', 'tag', 'MENU', '192168089637359389', 1, 'ENABLED', NULL, NULL, 'tag');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('204073687442262076', '2026-02-08 14:11:00.976474', 'chengkai', NULL, 'IconStar', 'Token统计', 'token-usage', 'MENU', '192168089637359328', 1, 'ENABLED', NULL, NULL, 'token-usage');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('118741569263112860', '2025-12-15 10:32:05.437321', 'admin', NULL, 'IconSchedule', '日程管理', 'schedule', 'MENU', '230918229474674260', 1, 'ENABLED', '2026-02-26 15:50:19.257239', 'chengkai', 'schedule');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('32015218800328704', '2025-10-15 13:46:51.152678', 'admin', NULL, 'IconList', '待办管理', 'todo', 'MENU', '230918229474674260', 2, 'ENABLED', '2026-02-26 15:50:40.733078', 'chengkai', 'todo');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('133133918772658432', '2025-12-22 16:58:19.89401', 'admin', NULL, 'IconSend', '消息测试', 'notification', 'MENU', '231016189088760729', 1, 'ENABLED', '2026-02-26 16:17:03.175302', 'chengkai', 'notification');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('200511080789709743', '2026-02-06 08:56:53.11937', 'chengkai', NULL, NULL, 'Jwt生成器', 'jwt-generator', 'MENU', '231016189088760729', 1, 'ENABLED', '2026-02-26 16:18:03.12509', 'chengkai', 'jwt-generator');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('227758868711604253', '2026-02-24 10:36:48.59366', 'admin', NULL, NULL, '单词本', 'vocabulary', 'MENU', '26219916348620800', 1, 'ENABLED', '2026-02-26 16:19:03.551691', 'chengkai', 'vocabulary');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('176068731145814769', '2026-01-20 15:50:51.269739', 'chengkai', NULL, 'IconCustomerService', 'AI聊天', 'chat', 'MENU', '231081781829304476', 1, 'ENABLED', '2026-02-26 16:25:17.222513', 'chengkai', 'chat');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('221032245551432906', '2026-02-19 23:26:05.346579', 'chengkai', NULL, 'IconRobot', '智能体管理', 'agent', 'MENU', '231081781829304476', 1, 'ENABLED', '2026-02-26 16:25:39.55366', 'chengkai', 'agent');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('215028070250185143', '2026-02-15 21:04:38.284379', 'chengkai', NULL, NULL, '需求管理', 'requirement', 'MENU', '231081781829304476', 1, 'ENABLED', '2026-02-26 16:33:19.391789', 'chengkai', 'requirement');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('192168089637360097', '2026-01-31 16:47:46.618712', 'admin', NULL, 'IconCheckCircle', '考试与练习', 'exam_system', 'DIRECTORY', NULL, 30, 'ENABLED', '2026-02-26 16:36:12.113632', 'chengkai', NULL);
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('231081781829304476', '2026-02-26 16:24:46.688317', 'chengkai', NULL, NULL, 'AI应用', 'ai_app', 'DIRECTORY', NULL, 40, 'ENABLED', '2026-02-26 16:36:28.836651', 'chengkai', NULL);
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('76320933194760192', '2025-11-14 10:04:08.405597', 'admin', NULL, 'IconTool', '实用工具', 'tools', 'DIRECTORY', NULL, 50, 'ENABLED', '2026-02-26 16:36:45.8529', 'chengkai', NULL);
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('115181144453940054', '2025-12-10 16:42:47.47134', 'admin', NULL, 'IconScan', '文字提取', 'ocr', 'MENU', '231081781829304476', 1, 'ENABLED', '2026-02-26 16:43:13.471066', 'chengkai', 'ocr');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('40875083496948222', '2025-10-21 14:11:08.428707', 'admin', NULL, 'IconBulb', '模型管理', 'llmmodel', 'MENU', '231081781829304476', 9, 'ENABLED', '2026-02-28 14:17:15.92645', 'chengkai', 'llmmodel');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('235407982127480885', '2026-03-01 14:19:24.42814', 'chengkai', NULL, NULL, '诗词本', 'poetry', 'MENU', '26219916348620800', 1, 'ENABLED', NULL, NULL, 'poetry');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('241356649271395924', '2026-03-05 15:48:38.663647', 'chengkai', NULL, 'IconGift', 'Git管理', 'git-desktop', 'MENU', '192168089637359328', 1, 'ENABLED', NULL, NULL, 'git-desktop');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('242998048332972498', '2026-03-06 17:24:25.086527', 'chengkai', NULL, NULL, '家庭作业', 'homework', 'MENU', '230918229474674260', 1, 'ENABLED', NULL, NULL, 'homework');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('251393455266203758', '2026-03-12 10:38:17.612288', 'chengkai', NULL, NULL, '生字本', 'character', 'MENU', '26219916348620800', 1, 'ENABLED', NULL, NULL, 'character');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('271759640428027720', '2026-03-26 09:18:56.160639', 'chengkai', NULL, 'IconImage', '题库统计', 'question-bank', 'MENU', '230918229474674353', 1, 'ENABLED', NULL, NULL, 'question-bank');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('273737129270444755', '2026-03-27 10:19:21.074543', 'chengkai', NULL, 'IconSearch', '热搜', 'hot-search', 'MENU', '231081781829304476', 11, 'ENABLED', NULL, NULL, 'hot-search');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('75127602301370369', '2025-11-13 15:12:00.121176', 'admin', NULL, 'IconSave', '数据源管理', 'datasource_mgr', 'MENU', '76320933194760192', 1111, 'ENABLED', '2025-11-14 10:06:31.161425', 'admin', 'datasource');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('192168089637359149', '2026-01-31 16:05:36.933194', 'chengkai', NULL, 'IconLink', '编排管理', 'orchestration', 'MENU', '76320933194760192', 1, 'ENABLED', NULL, NULL, 'orchestration');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('183524124356772084', '2026-01-25 15:35:07.437284', 'admin', NULL, 'IconApps', '系统日志', 'syslog', 'MENU', '192168089637359328', 1, 'ENABLED', '2026-01-31 16:14:17.471439', 'chengkai', 'syslog');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('74848154549223424', '2025-11-13 10:28:36.831638', 'admin', NULL, 'IconShareAlt', '队列管理', 'queue_mgr', 'MENU', '192168089637359389', 5, 'ENABLED', '2026-01-31 16:34:46.203097', 'admin', 'jobqueue');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('74869474766880770', '2025-11-13 11:50:26.348322', 'admin', NULL, 'IconPlayArrow', '脚本管理', 'script_mgr', 'MENU', '192168089637359389', 10, 'ENABLED', '2026-01-31 16:41:21.041328', 'admin', 'script');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('204073687442261970', '2026-02-08 14:08:27.000012', 'chengkai', NULL, 'IconQuestionCircle', '数据查询', 'data-query', 'MENU', '76320933194760192', 1, 'ENABLED', NULL, NULL, 'data-query');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('201550926731804808', '2026-02-06 18:59:23.144593', 'chengkai', NULL, 'IconInteraction', 'API测试', 'api-tester', 'MENU', '231016189088760729', 1, 'ENABLED', '2026-02-26 16:14:52.100482', 'chengkai', 'api-tester');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('192168089637359745', '2026-01-31 16:32:46.666995', 'admin', NULL, 'IconRobot', 'MCP管理', 'mcp_server', 'MENU', '231081781829304476', 3, 'ENABLED', '2026-02-26 16:25:59.7117', 'chengkai', 'mcp-server');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('55546519981391872', '2025-10-31 10:22:36.058816', 'admin', NULL, NULL, '提示词管理', 'prompts', 'MENU', '231081781829304476', 9, 'ENABLED', '2026-02-26 16:26:14.053438', 'chengkai', 'prompt');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('177378541552273669', '2026-01-21 15:12:14.268523', 'admin', NULL, 'IconFolder', '知识集管理', 'knowledge-set', 'MENU', '231081781829304476', 8, 'ENABLED', '2026-02-26 16:28:34.395919', 'chengkai', 'knowledge-set');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('230918229474674260', '2026-02-26 15:49:31.64858', 'chengkai', NULL, 'IconPushpin', '工作规划', 'job_mgr', 'DIRECTORY', NULL, 10, 'ENABLED', '2026-02-26 16:35:42.920446', 'chengkai', NULL);
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('231016189088760729', '2026-02-26 16:14:24.219579', 'chengkai', NULL, NULL, '系统测试', 'sys_test', 'DIRECTORY', NULL, 70, 'ENABLED', '2026-02-26 16:37:46.283743', 'chengkai', NULL);
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('192168089637359389', '2026-01-31 16:15:22.139961', 'chengkai', NULL, 'IconSettings', '系统配置', 'sys_config', 'DIRECTORY', NULL, 100, 'ENABLED', '2026-02-26 16:39:27.778358', 'chengkai', NULL);
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('251744800770885062', '2026-03-12 15:42:33.78257', 'chengkai', NULL, NULL, '上帝视角', 'diary', 'MENU', '76320933194760192', 1, 'ENABLED', NULL, NULL, 'diary');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('271759640428027732', '2026-03-26 09:19:21.159872', 'chengkai', NULL, NULL, '单词统计', 'vocabulary-proficiency', 'MENU', '230918229474674353', 2, 'ENABLED', NULL, NULL, 'vocabulary-proficiency');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('273737129270444155', '2026-03-27 10:02:53.876381', 'chengkai', NULL, NULL, '知识统计', 'knowledge-mastery', 'MENU', '230918229474674353', 3, 'ENABLED', NULL, NULL, 'knowledge-mastery');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('286379760643211503', '2026-04-04 22:31:32.026957', 'chengkai', NULL, 'IconEar', '价格监控', 'price-monitor', 'MENU', '76320933194760192', 1, 'ENABLED', NULL, NULL, 'price-monitor');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('baidu_pan', '2026-04-05 11:00:13.944224', NULL, '百度网盘接入壳页面', 'storage', '百度网盘', 'baidu_pan', 'MENU', NULL, 31, 'ENABLED', '2026-04-05 11:00:13.94232', NULL, 'baidu-pan');
INSERT INTO public.menu (menu_id, create_date, create_user, menu_descr, menu_icon, menu_label, menu_name, menu_type, parent_id, seq, state, update_date, update_user, url) VALUES ('294962874827145649', '2026-04-10 17:34:21.483515', 'chengkai', NULL, 'IconClockCircle', '生命倒计时', 'life-countdown', 'MENU', NULL, 0, 'ENABLED', NULL, NULL, 'life-countdown');
--
-- Data for Name: user_role; Type: TABLE DATA; Schema: public; Owner: -
--
INSERT INTO public.user_role (id, create_date, create_user, update_date, update_user, descr, name, state) VALUES ('guest', '2025-12-13 20:41:54.44313', 'admin', NULL, NULL, '游客', '游客', 'ENABLED');
INSERT INTO public.user_role (id, create_date, create_user, update_date, update_user, descr, name, state) VALUES ('user', '2025-10-07 13:10:32.13403', 'admin', NULL, NULL, '普通用户', '普通用户', 'ENABLED');
INSERT INTO public.user_role (id, create_date, create_user, update_date, update_user, descr, name, state) VALUES ('sys_mgr', '2026-01-15 09:53:23.219713', 'admin', '2026-01-15 09:53:23.219713', 'admin', '系统管理员', '系统管理员', 'ENABLED');
INSERT INTO public.user_role (id, create_date, create_user, update_date, update_user, descr, name, state) VALUES ('242072637499512767', '2026-03-06 14:41:52.934739', 'chengkai', '2026-03-06 14:41:52.934739', 'chengkai', NULL, '安雾', 'ENABLED');
INSERT INTO public.user_role (id, create_date, create_user, update_date, update_user, descr, name, state) VALUES ('242072637499512780', '2026-03-06 14:42:00.658826', 'chengkai', '2026-03-06 14:42:00.658826', 'chengkai', NULL, '程煜涵', 'ENABLED');
INSERT INTO public.user_role (id, create_date, create_user, update_date, update_user, descr, name, state) VALUES ('249494272267520323', '2026-03-11 11:43:28.686114', 'chengkai', '2026-04-04 14:13:29.253765', 'chengkai', NULL, 'openclaw', 'ENABLED');
--
-- Data for Name: role_menu_rela; Type: TABLE DATA; Schema: public; Owner: -
--
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('263431458322908465', '249494272267520435', '249494272267520323');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('242072637499512951', '230918229474674260', '242072637499512767');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('242072637499512952', '118741569263112860', '242072637499512767');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('242072637499512953', '32015218800328704', '242072637499512767');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('242072637499512954', '50050233152831502', '242072637499512767');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('242072637499512955', '144982908908601370', '242072637499512767');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('242072637499512956', '26266405074632715', '242072637499512767');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('242072637499512957', '192168089637360097', '242072637499512767');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('242072637499512958', '26266405074632728', '242072637499512767');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('242072637499512959', '26266405074632743', '242072637499512767');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('242072637499512960', '42365316889575424', '242072637499512767');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('242072637499512961', '115181144453940054', '242072637499512767');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('242072637499512962', '176068731145814769', '242072637499512767');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('242072637499512963', '179018961361305638', '242072637499512767');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('242072637499512964', '187981596035383344', '242072637499512767');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('242072637499512965', '78189209608781860', '242072637499512767');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('263431458322908466', '215028070250185143', '249494272267520323');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('263431458322908467', '177378541552273669', '249494272267520323');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('192168089637359203', '144982908908601370', 'user');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('192168089637359204', '118741569263112860', 'user');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('192168089637359205', '32015218800328704', 'user');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('192168089637359206', '50050233152831502', 'user');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('192168089637359207', '26266405074632728', 'user');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('192168089637359208', '26266405074632743', 'user');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('192168089637359209', '42365316889575424', 'user');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('192168089637359210', '26219916348620800', 'user');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('192168089637359213', '26266405074632715', 'user');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('192168089637359214', '134691737770655774', 'user');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('192168089637359215', 'user_mgr', 'user');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('192168089637359216', '136067432975434904', 'user');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('192168089637359217', 'role_mgr', 'user');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('192168089637359218', 'menu_mgr', 'user');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('192168089637359219', '115181144453940054', 'user');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('192168089637359220', '116674882539880455', 'user');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('192168089637359221', '187981596035383344', 'user');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('192168089637359222', '133133918772658432', 'user');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('192168089637359223', '179018961361305638', 'user');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('192168089637359224', '176068731145814769', 'user');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('192168089637359225', '95606916901765188', 'user');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('192168089637359226', '75127602301370369', 'user');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('192168089637359227', '177378541552273669', 'user');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('192168089637359228', '40875083496948222', 'user');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('192168089637359229', '55546519981391872', 'user');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('192168089637359230', '192168089637359149', 'user');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('192168089637359231', '76320933194760192', 'user');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145683', '230918229474674260', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145684', '242998048332972498', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145685', '118741569263112860', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145686', '32015218800328704', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145687', '26219916348620800', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145688', '50050233152831502', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145689', '251393455266203758', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145690', '227758868711604253', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145691', '235407982127480885', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145692', '144982908908601370', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145693', '26266405074632715', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145694', '192168089637360097', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145695', '26266405074632728', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145696', '26266405074632743', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145697', '42365316889575424', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145698', 'baidu_pan', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145699', '231081781829304476', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145700', '176068731145814769', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145701', '215028070250185143', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145702', '115181144453940054', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('271759640428027844', '230918229474674260', '242072637499512780');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('271759640428027845', '242998048332972498', '242072637499512780');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('271759640428027846', '118741569263112860', '242072637499512780');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('271759640428027847', '32015218800328704', '242072637499512780');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('271759640428027848', '50050233152831502', '242072637499512780');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('271759640428027849', '251393455266203758', '242072637499512780');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('271759640428027850', '235407982127480885', '242072637499512780');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('271759640428027851', '227758868711604253', '242072637499512780');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('271759640428027852', '26266405074632715', '242072637499512780');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('271759640428027853', '192168089637360097', '242072637499512780');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('271759640428027854', '26266405074632728', '242072637499512780');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('271759640428027855', '26266405074632743', '242072637499512780');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('271759640428027856', '42365316889575424', '242072637499512780');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('271759640428027857', '271759640428027732', '242072637499512780');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145703', '221032245551432906', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145704', '249494272267520435', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145705', '192168089637359745', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145706', '177378541552273669', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145707', '55546519981391872', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145708', '40875083496948222', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145709', '273737129270444755', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145710', '76320933194760192', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145711', '116674882539880455', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145712', '187981596035383344', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145713', '286379760643211503', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145714', '179018961361305638', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145715', '204073687442261970', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145716', '192168089637359149', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145717', '251744800770885062', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145718', '95606916901765188', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145719', '75127602301370369', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145720', '230918229474674353', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145721', '271759640428027720', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145722', '271759640428027732', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145723', '273737129270444155', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145724', '231016189088760729', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145725', '133133918772658432', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145726', '201550926731804808', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145727', '200511080789709743', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145728', '192168089637359328', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145729', '241356649271395924', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145730', '204073687442262076', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145731', '183524124356772084', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145732', '136067432975434904', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145733', '76398070807396352', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145734', '192168089637359577', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145735', 'user_mgr', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145736', 'role_mgr', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145737', 'menu_mgr', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145738', '192168089637359389', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145739', '204073687442261831', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145740', '134691737770655774', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145741', '183524124356771948', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145742', '97505309626466326', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145743', '74848154549223424', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145744', '78189209608781860', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145745', '74869474766880770', 'sys_mgr');
INSERT INTO public.role_menu_rela (rela_id, menu_id, role_id) VALUES ('294962874827145746', '294962874827145649', 'sys_mgr');
--
-- Data for Name: users; Type: TABLE DATA; Schema: public; Owner: -
--
INSERT INTO public.users (user_id, create_date, create_user, email, logo, password, phone, state, update_date, update_user, user_name) VALUES ('admin', '2026-01-15 10:03:53.321268', 'admin', 'admin@asiainfo.com', NULL, '$2a$10$Vwc5UwkW2r3BkmtlciHsPeSDAdSktAdd3bfdvUwL/mfn5xjqSjHf.', '12345678901', 'ENABLED', '2026-02-28 16:20:11.418919', 'chengkai', '系统管理员');
INSERT INTO public.users (user_id, create_date, create_user, email, logo, password, phone, state, update_date, update_user, user_name) VALUES ('chengyuhan', '2025-11-05 10:51:23.148236', 'admin', NULL, NULL, '$2a$10$yWdT5zx8r8l.nb/uxOZez.1oAJv8srKQhjeWUUTUPLcYiPBlJl7cy', NULL, 'ENABLED', '2026-03-06 14:22:26.040467', 'chengkai', '程煜涵');
INSERT INTO public.users (user_id, create_date, create_user, email, logo, password, phone, state, update_date, update_user, user_name) VALUES ('anwu', '2025-10-20 12:43:28.086475', 'admin', NULL, NULL, '$2a$10$gTfdItlBNmqOYfaNZYueuuLwVB8i.fMZOsZJDBcBdMVPORlgmCEl2', NULL, 'ENABLED', '2026-03-06 14:44:49.022919', 'chengkai', '安雾');
INSERT INTO public.users (user_id, create_date, create_user, email, logo, password, phone, state, update_date, update_user, user_name) VALUES ('openclaw', '2026-03-09 07:46:20.557368', 'chengkai', 'xiaolongxia@163.com', NULL, '$2a$10$BVGrSOVwAeEJoVV1VaY1BOXAsEBVmpthWni1yhqqUvU3X7QueDVJ2', NULL, 'ENABLED', '2026-03-25 10:17:42.770646', 'chengkai', '小龙虾');
INSERT INTO public.users (user_id, create_date, create_user, email, logo, password, phone, state, update_date, update_user, user_name) VALUES ('chengkai', '2025-10-11 17:25:29.770575', 'admin', 'm18162847837@163.com', NULL, '$2a$10$Nx1uba8.Vi8cOqXcZGnX7ObDkT040j5qAWD5eP4DO7.YmMA8EoLX.', '18162847837', 'ENABLED', '2026-04-23 23:06:56.223182', 'admin', '程凯');
--
-- PostgreSQL database dump complete
--
\unrestrict UVXxtXaQlAJfZapskxZfZboeDWXESBEy163oCBkBzCL7LH2c7YFImJpPFUfTR6x
SET session_replication_role = origin;
+299
View File
@@ -0,0 +1,299 @@
--
-- PostgreSQL database dump
--
\restrict 1UzMyLSKnGVDcWexiEnQBaw1f6zZstc2ds4ODbxoyOPa80nRUeE3vdjY4VHg75Q
-- Dumped from database version 16.11
-- Dumped by pg_dump version 16.13 (Debian 16.13-1.pgdg12+1)
SET statement_timeout = 0;
SET lock_timeout = 0;
SET idle_in_transaction_session_timeout = 0;
SET client_encoding = 'UTF8';
SET standard_conforming_strings = on;
SELECT pg_catalog.set_config('search_path', '', false);
SET check_function_bodies = false;
SET xmloption = content;
SET client_min_messages = warning;
SET row_security = off;
SET default_tablespace = '';
SET default_table_access_method = heap;
--
-- Name: menu; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public.menu (
menu_id character varying(32) NOT NULL,
create_date timestamp(6) without time zone,
create_user character varying(64),
menu_descr character varying(512),
menu_icon character varying(128),
menu_label character varying(128),
menu_name character varying(128) NOT NULL,
menu_type character varying(32) NOT NULL,
parent_id character varying(32),
seq integer,
state character varying(16) NOT NULL,
update_date timestamp(6) without time zone,
update_user character varying(64),
url character varying(256),
CONSTRAINT menu_menu_type_check CHECK (((menu_type)::text = ANY ((ARRAY['MENU'::character varying, 'DIRECTORY'::character varying, 'BUTTON'::character varying])::text[]))),
CONSTRAINT menu_state_check CHECK (((state)::text = ANY ((ARRAY['ENABLED'::character varying, 'DISABLED'::character varying])::text[])))
);
--
-- Name: role_menu_rela; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public.role_menu_rela (
rela_id character varying(32) NOT NULL,
menu_id character varying(32) NOT NULL,
role_id character varying(32) NOT NULL
);
--
-- Name: user_role; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public.user_role (
id character varying(32) NOT NULL,
create_date timestamp(6) without time zone,
create_user character varying(64),
update_date timestamp(6) without time zone,
update_user character varying(64),
descr character varying(128),
name character varying(64) NOT NULL,
state character varying(255) NOT NULL,
CONSTRAINT user_role_state_check CHECK (((state)::text = ANY ((ARRAY['ENABLED'::character varying, 'DISABLED'::character varying])::text[])))
);
--
-- Name: TABLE user_role; Type: COMMENT; Schema: public; Owner: -
--
COMMENT ON TABLE public.user_role IS '角色表';
--
-- Name: COLUMN user_role.id; Type: COMMENT; Schema: public; Owner: -
--
COMMENT ON COLUMN public.user_role.id IS '主题ID';
--
-- Name: COLUMN user_role.create_date; Type: COMMENT; Schema: public; Owner: -
--
COMMENT ON COLUMN public.user_role.create_date IS '创建日期';
--
-- Name: COLUMN user_role.create_user; Type: COMMENT; Schema: public; Owner: -
--
COMMENT ON COLUMN public.user_role.create_user IS '创建用户';
--
-- Name: COLUMN user_role.update_date; Type: COMMENT; Schema: public; Owner: -
--
COMMENT ON COLUMN public.user_role.update_date IS '更新日期';
--
-- Name: COLUMN user_role.update_user; Type: COMMENT; Schema: public; Owner: -
--
COMMENT ON COLUMN public.user_role.update_user IS '更新用户';
--
-- Name: COLUMN user_role.descr; Type: COMMENT; Schema: public; Owner: -
--
COMMENT ON COLUMN public.user_role.descr IS '角色描述';
--
-- Name: COLUMN user_role.name; Type: COMMENT; Schema: public; Owner: -
--
COMMENT ON COLUMN public.user_role.name IS '角色名称';
--
-- Name: COLUMN user_role.state; Type: COMMENT; Schema: public; Owner: -
--
COMMENT ON COLUMN public.user_role.state IS '角色状态';
--
-- Name: users; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public.users (
user_id character varying(32) NOT NULL,
create_date timestamp(6) without time zone,
create_user character varying(64),
email character varying(128),
logo character varying(256),
password character varying(256) NOT NULL,
phone character varying(20),
state character varying(10),
update_date timestamp(6) without time zone,
update_user character varying(64),
user_name character varying(128) NOT NULL,
CONSTRAINT users_state_check CHECK (((state)::text = ANY ((ARRAY['ENABLED'::character varying, 'DISABLED'::character varying])::text[])))
);
--
-- Name: menu menu_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.menu
ADD CONSTRAINT menu_pkey PRIMARY KEY (menu_id);
--
-- Name: role_menu_rela role_menu_rela_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.role_menu_rela
ADD CONSTRAINT role_menu_rela_pkey PRIMARY KEY (rela_id);
--
-- Name: role_menu_rela uk19n296uj1nw1eh5t1yp2fvjfb; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.role_menu_rela
ADD CONSTRAINT uk19n296uj1nw1eh5t1yp2fvjfb UNIQUE (role_id, menu_id);
--
-- Name: user_role user_role_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.user_role
ADD CONSTRAINT user_role_pkey PRIMARY KEY (id);
--
-- Name: users users_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.users
ADD CONSTRAINT users_pkey PRIMARY KEY (user_id);
--
-- Name: idx_menu_name; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_menu_name ON public.menu USING btree (menu_name);
--
-- Name: idx_menu_parent_id; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_menu_parent_id ON public.menu USING btree (parent_id);
--
-- Name: idx_role_create_date; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_role_create_date ON public.user_role USING btree (create_date);
--
-- Name: idx_role_menu_rela_menu; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_role_menu_rela_menu ON public.role_menu_rela USING btree (menu_id);
--
-- Name: idx_role_menu_rela_role; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_role_menu_rela_role ON public.role_menu_rela USING btree (role_id);
--
-- Name: idx_role_name; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_role_name ON public.user_role USING btree (name);
--
-- Name: idx_role_state; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_role_state ON public.user_role USING btree (state);
--
-- Name: idx_user_email; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_user_email ON public.users USING btree (email);
--
-- Name: idx_user_phone; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_user_phone ON public.users USING btree (phone);
--
-- Name: idx_user_user_id; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_user_user_id ON public.users USING btree (user_id);
--
-- Name: role_menu_rela fk1ggyo9lya9u1l2r3qln7xgv92; Type: FK CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.role_menu_rela
ADD CONSTRAINT fk1ggyo9lya9u1l2r3qln7xgv92 FOREIGN KEY (menu_id) REFERENCES public.menu(menu_id);
--
-- Name: role_menu_rela fk2yh7guxui8d64bm1l9am275yy; Type: FK CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.role_menu_rela
ADD CONSTRAINT fk2yh7guxui8d64bm1l9am275yy FOREIGN KEY (role_id) REFERENCES public.user_role(id);
--
-- Name: menu fkgeupubdqncc1lpgf2cn4fqwbc; Type: FK CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.menu
ADD CONSTRAINT fkgeupubdqncc1lpgf2cn4fqwbc FOREIGN KEY (parent_id) REFERENCES public.menu(menu_id);
--
-- PostgreSQL database dump complete
--
\unrestrict 1UzMyLSKnGVDcWexiEnQBaw1f6zZstc2ds4ODbxoyOPa80nRUeE3vdjY4VHg75Q
+65
View File
@@ -0,0 +1,65 @@
menu_id,menu_name,menu_label,parent_id,url,menu_type,state,seq
294962874827145649,life-countdown,生命倒计时,,life-countdown,MENU,ENABLED,0
230918229474674260,job_mgr,工作规划,,,DIRECTORY,ENABLED,10
26219916348620800,knowledge_mgr,知识管理,,,DIRECTORY,ENABLED,20
192168089637360097,exam_system,考试与练习,,,DIRECTORY,ENABLED,30
baidu_pan,baidu_pan,百度网盘,,baidu-pan,MENU,ENABLED,31
231081781829304476,ai_app,AI应用,,,DIRECTORY,ENABLED,40
76320933194760192,tools,实用工具,,,DIRECTORY,ENABLED,50
230918229474674353,statistics,统计报表,,,DIRECTORY,ENABLED,60
231016189088760729,sys_test,系统测试,,,DIRECTORY,ENABLED,70
192168089637359328,sys_monitor,系统监控,,,DIRECTORY,ENABLED,80
192168089637359577,sys_priv,系统权限,,,DIRECTORY,ENABLED,90
192168089637359389,sys_config,系统配置,,,DIRECTORY,ENABLED,100
136067432975434904,systemmessage,系统消息,192168089637359328,systemmessage,MENU,ENABLED,1
183524124356772084,syslog,系统日志,192168089637359328,syslog,MENU,ENABLED,1
204073687442262076,token-usage,Token统计,192168089637359328,token-usage,MENU,ENABLED,1
241356649271395924,git-desktop,Git管理,192168089637359328,git-desktop,MENU,ENABLED,1
76398070807396352,job_mgr,作业监控,192168089637359328,job,MENU,ENABLED,3
134691737770655774,systemparam,系统参数,192168089637359389,systemparam,MENU,ENABLED,1
204073687442261831,tag,标签管理,192168089637359389,tag,MENU,ENABLED,1
183524124356771948,group,分组管理,192168089637359389,group,MENU,ENABLED,2
97505309626466326,wxapp,微信小程序,192168089637359389,wxapp,MENU,ENABLED,4
74848154549223424,queue_mgr,队列管理,192168089637359389,jobqueue,MENU,ENABLED,5
78189209608781860,cron_task_mgr,定时任务,192168089637359389,cron,MENU,ENABLED,7
74869474766880770,script_mgr,脚本管理,192168089637359389,script,MENU,ENABLED,10
user_mgr,user_mgr,用户管理,192168089637359577,user,MENU,ENABLED,1
role_mgr,role_mgr,角色管理,192168089637359577,role,MENU,ENABLED,2
menu_mgr,menu_mgr,菜单管理,192168089637359577,menu,MENU,ENABLED,3
26266405074632728,question_mgr,题库管理,192168089637360097,question,MENU,ENABLED,1
26266405074632743,exam_mgr,试题管理,192168089637360097,exam,MENU,ENABLED,2
42365316889575424,history,历史答卷,192168089637360097,history,MENU,ENABLED,3
118741569263112860,schedule,日程管理,230918229474674260,schedule,MENU,ENABLED,1
242998048332972498,homework,家庭作业,230918229474674260,homework,MENU,ENABLED,1
32015218800328704,todo,待办管理,230918229474674260,todo,MENU,ENABLED,2
271759640428027720,question-bank,题库统计,230918229474674353,question-bank,MENU,ENABLED,1
271759640428027732,vocabulary-proficiency,单词统计,230918229474674353,vocabulary-proficiency,MENU,ENABLED,2
273737129270444155,knowledge-mastery,知识统计,230918229474674353,knowledge-mastery,MENU,ENABLED,3
133133918772658432,notification,消息测试,231016189088760729,notification,MENU,ENABLED,1
200511080789709743,jwt-generator,Jwt生成器,231016189088760729,jwt-generator,MENU,ENABLED,1
201550926731804808,api-tester,API测试,231016189088760729,api-tester,MENU,ENABLED,1
115181144453940054,ocr,文字提取,231081781829304476,ocr,MENU,ENABLED,1
176068731145814769,chat,AI聊天,231081781829304476,chat,MENU,ENABLED,1
215028070250185143,requirement,需求管理,231081781829304476,requirement,MENU,ENABLED,1
221032245551432906,agent,智能体管理,231081781829304476,agent,MENU,ENABLED,1
249494272267520435,code-review,代码评审,231081781829304476,code-review,MENU,ENABLED,1
192168089637359745,mcp_server,MCP管理,231081781829304476,mcp-server,MENU,ENABLED,3
177378541552273669,knowledge-set,知识集管理,231081781829304476,knowledge-set,MENU,ENABLED,8
40875083496948222,llmmodel,模型管理,231081781829304476,llmmodel,MENU,ENABLED,9
55546519981391872,prompts,提示词管理,231081781829304476,prompt,MENU,ENABLED,9
273737129270444755,hot-search,热搜,231081781829304476,hot-search,MENU,ENABLED,11
227758868711604253,vocabulary,单词本,26219916348620800,vocabulary,MENU,ENABLED,1
235407982127480885,poetry,诗词本,26219916348620800,poetry,MENU,ENABLED,1
251393455266203758,character,生字本,26219916348620800,character,MENU,ENABLED,1
50050233152831502,mindmap,思维导图,26219916348620800,mindmap,MENU,ENABLED,1
144982908908601370,mermaid-mgr,流程图,26219916348620800,mermaid-mgr,MENU,ENABLED,2
26266405074632715,knowledge_point_mgr,知识点管理,26219916348620800,knowledge,MENU,ENABLED,5
116674882539880455,mdresolve,MD解析,76320933194760192,mdresolve,MENU,ENABLED,1
179018961361305638,file-manager,文件管理,76320933194760192,file-manager,MENU,ENABLED,1
187981596035383344,password,密钥管理,76320933194760192,password,MENU,ENABLED,1
192168089637359149,orchestration,编排管理,76320933194760192,orchestration,MENU,ENABLED,1
204073687442261970,data-query,数据查询,76320933194760192,data-query,MENU,ENABLED,1
251744800770885062,diary,上帝视角,76320933194760192,diary,MENU,ENABLED,1
286379760643211503,price-monitor,价格监控,76320933194760192,price-monitor,MENU,ENABLED,1
95606916901765188,filedetector,文件识别,76320933194760192,filedetector,MENU,ENABLED,11
75127602301370369,datasource_mgr,数据源管理,76320933194760192,datasource,MENU,ENABLED,1111
1 menu_id menu_name menu_label parent_id url menu_type state seq
2 294962874827145649 life-countdown 生命倒计时 life-countdown MENU ENABLED 0
3 230918229474674260 job_mgr 工作规划 DIRECTORY ENABLED 10
4 26219916348620800 knowledge_mgr 知识管理 DIRECTORY ENABLED 20
5 192168089637360097 exam_system 考试与练习 DIRECTORY ENABLED 30
6 baidu_pan baidu_pan 百度网盘 baidu-pan MENU ENABLED 31
7 231081781829304476 ai_app AI应用 DIRECTORY ENABLED 40
8 76320933194760192 tools 实用工具 DIRECTORY ENABLED 50
9 230918229474674353 statistics 统计报表 DIRECTORY ENABLED 60
10 231016189088760729 sys_test 系统测试 DIRECTORY ENABLED 70
11 192168089637359328 sys_monitor 系统监控 DIRECTORY ENABLED 80
12 192168089637359577 sys_priv 系统权限 DIRECTORY ENABLED 90
13 192168089637359389 sys_config 系统配置 DIRECTORY ENABLED 100
14 136067432975434904 systemmessage 系统消息 192168089637359328 systemmessage MENU ENABLED 1
15 183524124356772084 syslog 系统日志 192168089637359328 syslog MENU ENABLED 1
16 204073687442262076 token-usage Token统计 192168089637359328 token-usage MENU ENABLED 1
17 241356649271395924 git-desktop Git管理 192168089637359328 git-desktop MENU ENABLED 1
18 76398070807396352 job_mgr 作业监控 192168089637359328 job MENU ENABLED 3
19 134691737770655774 systemparam 系统参数 192168089637359389 systemparam MENU ENABLED 1
20 204073687442261831 tag 标签管理 192168089637359389 tag MENU ENABLED 1
21 183524124356771948 group 分组管理 192168089637359389 group MENU ENABLED 2
22 97505309626466326 wxapp 微信小程序 192168089637359389 wxapp MENU ENABLED 4
23 74848154549223424 queue_mgr 队列管理 192168089637359389 jobqueue MENU ENABLED 5
24 78189209608781860 cron_task_mgr 定时任务 192168089637359389 cron MENU ENABLED 7
25 74869474766880770 script_mgr 脚本管理 192168089637359389 script MENU ENABLED 10
26 user_mgr user_mgr 用户管理 192168089637359577 user MENU ENABLED 1
27 role_mgr role_mgr 角色管理 192168089637359577 role MENU ENABLED 2
28 menu_mgr menu_mgr 菜单管理 192168089637359577 menu MENU ENABLED 3
29 26266405074632728 question_mgr 题库管理 192168089637360097 question MENU ENABLED 1
30 26266405074632743 exam_mgr 试题管理 192168089637360097 exam MENU ENABLED 2
31 42365316889575424 history 历史答卷 192168089637360097 history MENU ENABLED 3
32 118741569263112860 schedule 日程管理 230918229474674260 schedule MENU ENABLED 1
33 242998048332972498 homework 家庭作业 230918229474674260 homework MENU ENABLED 1
34 32015218800328704 todo 待办管理 230918229474674260 todo MENU ENABLED 2
35 271759640428027720 question-bank 题库统计 230918229474674353 question-bank MENU ENABLED 1
36 271759640428027732 vocabulary-proficiency 单词统计 230918229474674353 vocabulary-proficiency MENU ENABLED 2
37 273737129270444155 knowledge-mastery 知识统计 230918229474674353 knowledge-mastery MENU ENABLED 3
38 133133918772658432 notification 消息测试 231016189088760729 notification MENU ENABLED 1
39 200511080789709743 jwt-generator Jwt生成器 231016189088760729 jwt-generator MENU ENABLED 1
40 201550926731804808 api-tester API测试 231016189088760729 api-tester MENU ENABLED 1
41 115181144453940054 ocr 文字提取 231081781829304476 ocr MENU ENABLED 1
42 176068731145814769 chat AI聊天 231081781829304476 chat MENU ENABLED 1
43 215028070250185143 requirement 需求管理 231081781829304476 requirement MENU ENABLED 1
44 221032245551432906 agent 智能体管理 231081781829304476 agent MENU ENABLED 1
45 249494272267520435 code-review 代码评审 231081781829304476 code-review MENU ENABLED 1
46 192168089637359745 mcp_server MCP管理 231081781829304476 mcp-server MENU ENABLED 3
47 177378541552273669 knowledge-set 知识集管理 231081781829304476 knowledge-set MENU ENABLED 8
48 40875083496948222 llmmodel 模型管理 231081781829304476 llmmodel MENU ENABLED 9
49 55546519981391872 prompts 提示词管理 231081781829304476 prompt MENU ENABLED 9
50 273737129270444755 hot-search 热搜 231081781829304476 hot-search MENU ENABLED 11
51 227758868711604253 vocabulary 单词本 26219916348620800 vocabulary MENU ENABLED 1
52 235407982127480885 poetry 诗词本 26219916348620800 poetry MENU ENABLED 1
53 251393455266203758 character 生字本 26219916348620800 character MENU ENABLED 1
54 50050233152831502 mindmap 思维导图 26219916348620800 mindmap MENU ENABLED 1
55 144982908908601370 mermaid-mgr 流程图 26219916348620800 mermaid-mgr MENU ENABLED 2
56 26266405074632715 knowledge_point_mgr 知识点管理 26219916348620800 knowledge MENU ENABLED 5
57 116674882539880455 mdresolve MD解析 76320933194760192 mdresolve MENU ENABLED 1
58 179018961361305638 file-manager 文件管理 76320933194760192 file-manager MENU ENABLED 1
59 187981596035383344 password 密钥管理 76320933194760192 password MENU ENABLED 1
60 192168089637359149 orchestration 编排管理 76320933194760192 orchestration MENU ENABLED 1
61 204073687442261970 data-query 数据查询 76320933194760192 data-query MENU ENABLED 1
62 251744800770885062 diary 上帝视角 76320933194760192 diary MENU ENABLED 1
63 286379760643211503 price-monitor 价格监控 76320933194760192 price-monitor MENU ENABLED 1
64 95606916901765188 filedetector 文件识别 76320933194760192 filedetector MENU ENABLED 11
65 75127602301370369 datasource_mgr 数据源管理 76320933194760192 datasource MENU ENABLED 1111
+124
View File
@@ -0,0 +1,124 @@
rela_id,role_id,menu_id
242072637499512961,242072637499512767,115181144453940054
242072637499512952,242072637499512767,118741569263112860
242072637499512955,242072637499512767,144982908908601370
242072637499512962,242072637499512767,176068731145814769
242072637499512963,242072637499512767,179018961361305638
242072637499512964,242072637499512767,187981596035383344
242072637499512957,242072637499512767,192168089637360097
242072637499512951,242072637499512767,230918229474674260
242072637499512956,242072637499512767,26266405074632715
242072637499512958,242072637499512767,26266405074632728
242072637499512959,242072637499512767,26266405074632743
242072637499512953,242072637499512767,32015218800328704
242072637499512960,242072637499512767,42365316889575424
242072637499512954,242072637499512767,50050233152831502
242072637499512965,242072637499512767,78189209608781860
271759640428027846,242072637499512780,118741569263112860
271759640428027853,242072637499512780,192168089637360097
271759640428027851,242072637499512780,227758868711604253
271759640428027844,242072637499512780,230918229474674260
271759640428027850,242072637499512780,235407982127480885
271759640428027845,242072637499512780,242998048332972498
271759640428027849,242072637499512780,251393455266203758
271759640428027852,242072637499512780,26266405074632715
271759640428027854,242072637499512780,26266405074632728
271759640428027855,242072637499512780,26266405074632743
271759640428027857,242072637499512780,271759640428027732
271759640428027847,242072637499512780,32015218800328704
271759640428027856,242072637499512780,42365316889575424
271759640428027848,242072637499512780,50050233152831502
263431458322908467,249494272267520323,177378541552273669
263431458322908466,249494272267520323,215028070250185143
263431458322908465,249494272267520323,249494272267520435
294962874827145702,sys_mgr,115181144453940054
294962874827145711,sys_mgr,116674882539880455
294962874827145685,sys_mgr,118741569263112860
294962874827145725,sys_mgr,133133918772658432
294962874827145740,sys_mgr,134691737770655774
294962874827145732,sys_mgr,136067432975434904
294962874827145692,sys_mgr,144982908908601370
294962874827145700,sys_mgr,176068731145814769
294962874827145706,sys_mgr,177378541552273669
294962874827145714,sys_mgr,179018961361305638
294962874827145741,sys_mgr,183524124356771948
294962874827145731,sys_mgr,183524124356772084
294962874827145712,sys_mgr,187981596035383344
294962874827145716,sys_mgr,192168089637359149
294962874827145728,sys_mgr,192168089637359328
294962874827145738,sys_mgr,192168089637359389
294962874827145734,sys_mgr,192168089637359577
294962874827145705,sys_mgr,192168089637359745
294962874827145694,sys_mgr,192168089637360097
294962874827145727,sys_mgr,200511080789709743
294962874827145726,sys_mgr,201550926731804808
294962874827145739,sys_mgr,204073687442261831
294962874827145715,sys_mgr,204073687442261970
294962874827145730,sys_mgr,204073687442262076
294962874827145701,sys_mgr,215028070250185143
294962874827145703,sys_mgr,221032245551432906
294962874827145690,sys_mgr,227758868711604253
294962874827145683,sys_mgr,230918229474674260
294962874827145720,sys_mgr,230918229474674353
294962874827145724,sys_mgr,231016189088760729
294962874827145699,sys_mgr,231081781829304476
294962874827145691,sys_mgr,235407982127480885
294962874827145729,sys_mgr,241356649271395924
294962874827145684,sys_mgr,242998048332972498
294962874827145704,sys_mgr,249494272267520435
294962874827145689,sys_mgr,251393455266203758
294962874827145717,sys_mgr,251744800770885062
294962874827145687,sys_mgr,26219916348620800
294962874827145693,sys_mgr,26266405074632715
294962874827145695,sys_mgr,26266405074632728
294962874827145696,sys_mgr,26266405074632743
294962874827145721,sys_mgr,271759640428027720
294962874827145722,sys_mgr,271759640428027732
294962874827145723,sys_mgr,273737129270444155
294962874827145709,sys_mgr,273737129270444755
294962874827145713,sys_mgr,286379760643211503
294962874827145746,sys_mgr,294962874827145649
294962874827145686,sys_mgr,32015218800328704
294962874827145708,sys_mgr,40875083496948222
294962874827145697,sys_mgr,42365316889575424
294962874827145688,sys_mgr,50050233152831502
294962874827145707,sys_mgr,55546519981391872
294962874827145743,sys_mgr,74848154549223424
294962874827145745,sys_mgr,74869474766880770
294962874827145719,sys_mgr,75127602301370369
294962874827145710,sys_mgr,76320933194760192
294962874827145733,sys_mgr,76398070807396352
294962874827145744,sys_mgr,78189209608781860
294962874827145718,sys_mgr,95606916901765188
294962874827145742,sys_mgr,97505309626466326
294962874827145698,sys_mgr,baidu_pan
294962874827145737,sys_mgr,menu_mgr
294962874827145736,sys_mgr,role_mgr
294962874827145735,sys_mgr,user_mgr
192168089637359219,user,115181144453940054
192168089637359220,user,116674882539880455
192168089637359204,user,118741569263112860
192168089637359222,user,133133918772658432
192168089637359214,user,134691737770655774
192168089637359216,user,136067432975434904
192168089637359203,user,144982908908601370
192168089637359224,user,176068731145814769
192168089637359227,user,177378541552273669
192168089637359223,user,179018961361305638
192168089637359221,user,187981596035383344
192168089637359230,user,192168089637359149
192168089637359210,user,26219916348620800
192168089637359213,user,26266405074632715
192168089637359207,user,26266405074632728
192168089637359208,user,26266405074632743
192168089637359205,user,32015218800328704
192168089637359228,user,40875083496948222
192168089637359209,user,42365316889575424
192168089637359206,user,50050233152831502
192168089637359229,user,55546519981391872
192168089637359226,user,75127602301370369
192168089637359231,user,76320933194760192
192168089637359225,user,95606916901765188
192168089637359218,user,menu_mgr
192168089637359217,user,role_mgr
192168089637359215,user,user_mgr
1 rela_id role_id menu_id
2 242072637499512961 242072637499512767 115181144453940054
3 242072637499512952 242072637499512767 118741569263112860
4 242072637499512955 242072637499512767 144982908908601370
5 242072637499512962 242072637499512767 176068731145814769
6 242072637499512963 242072637499512767 179018961361305638
7 242072637499512964 242072637499512767 187981596035383344
8 242072637499512957 242072637499512767 192168089637360097
9 242072637499512951 242072637499512767 230918229474674260
10 242072637499512956 242072637499512767 26266405074632715
11 242072637499512958 242072637499512767 26266405074632728
12 242072637499512959 242072637499512767 26266405074632743
13 242072637499512953 242072637499512767 32015218800328704
14 242072637499512960 242072637499512767 42365316889575424
15 242072637499512954 242072637499512767 50050233152831502
16 242072637499512965 242072637499512767 78189209608781860
17 271759640428027846 242072637499512780 118741569263112860
18 271759640428027853 242072637499512780 192168089637360097
19 271759640428027851 242072637499512780 227758868711604253
20 271759640428027844 242072637499512780 230918229474674260
21 271759640428027850 242072637499512780 235407982127480885
22 271759640428027845 242072637499512780 242998048332972498
23 271759640428027849 242072637499512780 251393455266203758
24 271759640428027852 242072637499512780 26266405074632715
25 271759640428027854 242072637499512780 26266405074632728
26 271759640428027855 242072637499512780 26266405074632743
27 271759640428027857 242072637499512780 271759640428027732
28 271759640428027847 242072637499512780 32015218800328704
29 271759640428027856 242072637499512780 42365316889575424
30 271759640428027848 242072637499512780 50050233152831502
31 263431458322908467 249494272267520323 177378541552273669
32 263431458322908466 249494272267520323 215028070250185143
33 263431458322908465 249494272267520323 249494272267520435
34 294962874827145702 sys_mgr 115181144453940054
35 294962874827145711 sys_mgr 116674882539880455
36 294962874827145685 sys_mgr 118741569263112860
37 294962874827145725 sys_mgr 133133918772658432
38 294962874827145740 sys_mgr 134691737770655774
39 294962874827145732 sys_mgr 136067432975434904
40 294962874827145692 sys_mgr 144982908908601370
41 294962874827145700 sys_mgr 176068731145814769
42 294962874827145706 sys_mgr 177378541552273669
43 294962874827145714 sys_mgr 179018961361305638
44 294962874827145741 sys_mgr 183524124356771948
45 294962874827145731 sys_mgr 183524124356772084
46 294962874827145712 sys_mgr 187981596035383344
47 294962874827145716 sys_mgr 192168089637359149
48 294962874827145728 sys_mgr 192168089637359328
49 294962874827145738 sys_mgr 192168089637359389
50 294962874827145734 sys_mgr 192168089637359577
51 294962874827145705 sys_mgr 192168089637359745
52 294962874827145694 sys_mgr 192168089637360097
53 294962874827145727 sys_mgr 200511080789709743
54 294962874827145726 sys_mgr 201550926731804808
55 294962874827145739 sys_mgr 204073687442261831
56 294962874827145715 sys_mgr 204073687442261970
57 294962874827145730 sys_mgr 204073687442262076
58 294962874827145701 sys_mgr 215028070250185143
59 294962874827145703 sys_mgr 221032245551432906
60 294962874827145690 sys_mgr 227758868711604253
61 294962874827145683 sys_mgr 230918229474674260
62 294962874827145720 sys_mgr 230918229474674353
63 294962874827145724 sys_mgr 231016189088760729
64 294962874827145699 sys_mgr 231081781829304476
65 294962874827145691 sys_mgr 235407982127480885
66 294962874827145729 sys_mgr 241356649271395924
67 294962874827145684 sys_mgr 242998048332972498
68 294962874827145704 sys_mgr 249494272267520435
69 294962874827145689 sys_mgr 251393455266203758
70 294962874827145717 sys_mgr 251744800770885062
71 294962874827145687 sys_mgr 26219916348620800
72 294962874827145693 sys_mgr 26266405074632715
73 294962874827145695 sys_mgr 26266405074632728
74 294962874827145696 sys_mgr 26266405074632743
75 294962874827145721 sys_mgr 271759640428027720
76 294962874827145722 sys_mgr 271759640428027732
77 294962874827145723 sys_mgr 273737129270444155
78 294962874827145709 sys_mgr 273737129270444755
79 294962874827145713 sys_mgr 286379760643211503
80 294962874827145746 sys_mgr 294962874827145649
81 294962874827145686 sys_mgr 32015218800328704
82 294962874827145708 sys_mgr 40875083496948222
83 294962874827145697 sys_mgr 42365316889575424
84 294962874827145688 sys_mgr 50050233152831502
85 294962874827145707 sys_mgr 55546519981391872
86 294962874827145743 sys_mgr 74848154549223424
87 294962874827145745 sys_mgr 74869474766880770
88 294962874827145719 sys_mgr 75127602301370369
89 294962874827145710 sys_mgr 76320933194760192
90 294962874827145733 sys_mgr 76398070807396352
91 294962874827145744 sys_mgr 78189209608781860
92 294962874827145718 sys_mgr 95606916901765188
93 294962874827145742 sys_mgr 97505309626466326
94 294962874827145698 sys_mgr baidu_pan
95 294962874827145737 sys_mgr menu_mgr
96 294962874827145736 sys_mgr role_mgr
97 294962874827145735 sys_mgr user_mgr
98 192168089637359219 user 115181144453940054
99 192168089637359220 user 116674882539880455
100 192168089637359204 user 118741569263112860
101 192168089637359222 user 133133918772658432
102 192168089637359214 user 134691737770655774
103 192168089637359216 user 136067432975434904
104 192168089637359203 user 144982908908601370
105 192168089637359224 user 176068731145814769
106 192168089637359227 user 177378541552273669
107 192168089637359223 user 179018961361305638
108 192168089637359221 user 187981596035383344
109 192168089637359230 user 192168089637359149
110 192168089637359210 user 26219916348620800
111 192168089637359213 user 26266405074632715
112 192168089637359207 user 26266405074632728
113 192168089637359208 user 26266405074632743
114 192168089637359205 user 32015218800328704
115 192168089637359228 user 40875083496948222
116 192168089637359209 user 42365316889575424
117 192168089637359206 user 50050233152831502
118 192168089637359229 user 55546519981391872
119 192168089637359226 user 75127602301370369
120 192168089637359231 user 76320933194760192
121 192168089637359225 user 95606916901765188
122 192168089637359218 user menu_mgr
123 192168089637359217 user role_mgr
124 192168089637359215 user user_mgr
+7
View File
@@ -0,0 +1,7 @@
id,name,descr,state,create_date,update_date
242072637499512767,安雾,,ENABLED,2026-03-06 14:41:52.934739,2026-03-06 14:41:52.934739
242072637499512780,程煜涵,,ENABLED,2026-03-06 14:42:00.658826,2026-03-06 14:42:00.658826
249494272267520323,openclaw,,ENABLED,2026-03-11 11:43:28.686114,2026-04-04 14:13:29.253765
guest,游客,游客,ENABLED,2025-12-13 20:41:54.44313,
sys_mgr,系统管理员,系统管理员,ENABLED,2026-01-15 09:53:23.219713,2026-01-15 09:53:23.219713
user,普通用户,普通用户,ENABLED,2025-10-07 13:10:32.13403,
1 id name descr state create_date update_date
2 242072637499512767 安雾 ENABLED 2026-03-06 14:41:52.934739 2026-03-06 14:41:52.934739
3 242072637499512780 程煜涵 ENABLED 2026-03-06 14:42:00.658826 2026-03-06 14:42:00.658826
4 249494272267520323 openclaw ENABLED 2026-03-11 11:43:28.686114 2026-04-04 14:13:29.253765
5 guest 游客 游客 ENABLED 2025-12-13 20:41:54.44313
6 sys_mgr 系统管理员 系统管理员 ENABLED 2026-01-15 09:53:23.219713 2026-01-15 09:53:23.219713
7 user 普通用户 普通用户 ENABLED 2025-10-07 13:10:32.13403
+6
View File
@@ -0,0 +1,6 @@
user_id,user_name,email,phone,state,create_date,update_date
chengkai,程凯,m18162847837@163.com,18162847837,ENABLED,2025-10-11 17:25:29.770575,2026-04-23 23:06:56.223182
openclaw,小龙虾,xiaolongxia@163.com,,ENABLED,2026-03-09 07:46:20.557368,2026-03-25 10:17:42.770646
anwu,安雾,,,ENABLED,2025-10-20 12:43:28.086475,2026-03-06 14:44:49.022919
chengyuhan,程煜涵,,,ENABLED,2025-11-05 10:51:23.148236,2026-03-06 14:22:26.040467
admin,系统管理员,admin@asiainfo.com,12345678901,ENABLED,2026-01-15 10:03:53.321268,2026-02-28 16:20:11.418919
1 user_id user_name email phone state create_date update_date
2 chengkai 程凯 m18162847837@163.com 18162847837 ENABLED 2025-10-11 17:25:29.770575 2026-04-23 23:06:56.223182
3 openclaw 小龙虾 xiaolongxia@163.com ENABLED 2026-03-09 07:46:20.557368 2026-03-25 10:17:42.770646
4 anwu 安雾 ENABLED 2025-10-20 12:43:28.086475 2026-03-06 14:44:49.022919
5 chengyuhan 程煜涵 ENABLED 2025-11-05 10:51:23.148236 2026-03-06 14:22:26.040467
6 admin 系统管理员 admin@asiainfo.com 12345678901 ENABLED 2026-01-15 10:03:53.321268 2026-02-28 16:20:11.418919
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,185 @@
# 需求分析(ID: 313321162778084135
## 1) 目标
`/admin/mindmap`(含列表页与编辑页)进行 **Ant Design 组件层改造与统一**,在不改变后端接口协议与业务语义的前提下:
- 统一页面视觉层级、间距、反馈与交互语义;
- 提升表单/表格/弹窗/加载态/空态的一致性与可用性;
- 保持现有功能链路(查询、新建、编辑、删除、保存、导出、AI 生成)不回归。
---
## 2) 现状(基于真实代码)
### 2.1 页面与前端实现
- 列表页:`web/src/app/admin/mindmap/page.tsx`
- 已使用部分 Ant Design`Form/Input/Table/Modal/Popconfirm/Tag/Tooltip/Button`
- 仍混用较多 Tailwind 容器样式(`section + rounded-xl + border...`),组件层级与 admin 其他页面风格并不完全一致。
- 错误反馈为自定义红色 `section` 文案块,不是标准 `Alert/Result` 语义。
- 表格未设置移动端横向滚动参数,窄屏下列宽存在拥挤风险。
- 编辑页:`web/src/app/admin/mindmap/_components/mindmap-editor.tsx`
- 使用 `Card(Row/Col/Input/Tree/Modal/Button)`;基础结构可用。
- JSON 编辑区为 `Input.TextArea`,缺少更明确的校验反馈层级(当前以 `panelError + message` 为主)。
- AI 流式生成已实现(SSE 读取 + `[MINDMAP]` 解析),但交互上“进行中状态、可中断性、异常提示粒度”可进一步产品化。
- 路由封装:
- `web/src/app/admin/mindmap/page.tsx`
- `web/src/app/admin/mindmap/edit/page.tsx`
- `web/src/app/admin/mindmap/edit/[id]/page.tsx`
### 2.2 后端接口与约束(无需协议变更)
- 路由:`api/app/api/v1/mind_map.py`
- `POST /mindmap/search`
- `GET /mindmap/get/{id}`
- `POST /mindmap/create`
- `PUT /mindmap/update-basic-info`
- `PUT /mindmap/update-data`
- `DELETE /mindmap/delete/{id}`
- `GET /mindmap/generate/stream`
- 服务:`api/app/services/mind_map_service.py`
- 已具备 map_data 归一化、权限校验(按创建人)、AI 结果结构规整。
- DTO`api/app/schemas/mind_map.py`
- 字段边界清晰,支持本次“仅前端组件改造”目标。
---
## 3) UI/UX 专项评估摘要(按 ui-ux-pro-max 要求)
1. **反馈语义可统一为 Ant Design 体系**:错误/空态/加载态目前分散在自定义块与 message,建议标准化为 `Alert + Empty + Skeleton/Spin`,降低理解成本。
2. **表格与操作区在窄屏可用性一般**:列表操作为多个 link 按钮,点击热区偏小,且表格未声明 `scroll.x`,移动端体验有风险。
3. **表单反馈链路基本完整但可增强**:已有 `confirmLoading``message`,建议补强字段级校验提示、首错聚焦、禁用态一致性。
4. **编辑页信息密度较高**:左侧 JSON + 右侧树预览是正确方向,但可用更清晰的信息分区与状态提示降低认知负担。
5. **AI 生成流程可读性需加强**:当前技术上可用,但用户对“正在生成/已解析/失败原因”的阶段感知可提升。
---
## 4) 范围(In Scope
1. `/admin/mindmap` 列表页的 Ant Design 组件化收敛:
- 页面头部/筛选区/数据区/反馈区统一为 AntD 语义组件组合;
- 表格、按钮、弹窗、空态、加载态、错误态统一交互规范。
2. `/admin/mindmap/edit``/admin/mindmap/edit/[id]` 对应编辑器页组件层优化:
- 信息分区、状态反馈、AI 生成弹窗交互体验优化;
- 保持现有 JSON 编辑与树预览能力。
3. 与现有权限逻辑对齐:
- `question_bank.read` / `question_bank.manage` 的显示与可编辑态一致性。
---
## 5) 非范围(Out of Scope
1. 不修改后端 API 协议、鉴权模型、数据库结构(`mind_map` 表)。
2. 不改变核心业务语义(数据归属、保存策略、AI 生成业务入口)。
3. 不引入与本需求无关的大规模重构(如全站主题体系重写、跨模块菜单重排)。
---
## 6) 实现思路(建议分步)
### Step A:列表页组件语义统一(P0)
- 将当前自定义容器块收敛为一致的 AntD 容器模式(如 `Card + Space/Flex + Typography`)。
- 错误反馈改为 `Alert`(可关闭/可重试扩展),空列表时配置 `Table.locale.emptyText=<Empty .../>`
- 表格增加 `scroll={{ x: ... }}` 与列宽策略,保障小屏可读性。
- 操作区保留功能不变,但按钮层级与危险操作文案统一(删除二次确认语义强化)。
### Step B:编辑页交互分层优化(P0/P1)
- 维持双栏布局,但增强“当前状态”可视化:
- 加载中:`Card loading` + 必要 Skeleton 文案;
- 校验失败:字段附近提示 + 顶部 `Alert`
- 保存成功/失败:`message` 与页面局部反馈并存。
- 对 JSON 结构异常提供更可定位提示(例如说明错误来源:格式非法/结构不支持)。
### Step CAI 生成弹窗体验优化(P1)
- 将“生成中/解析中/完成/失败”拆成明确阶段文案。
- 生成期间关键按钮禁用策略更清晰,避免误操作。
- 流式输出区支持更好的可读性(分段、滚动定位、错误信息高亮)。
### Step D:一致性收尾(P2
- 统一间距、字号、状态色,减少页面内 Tailwind 局部样式分叉。
- 文案统一(加载、空态、权限不足、失败提示)并与 admin 其他页面保持同风格。
---
## 7) P0 / P1 / P2 改造建议(含现状、影响、改法、建议位置)
### P0-1:反馈语义标准化(错误/空态/加载)
- 现状:错误主要用自定义红色块;空态依赖表格默认;加载提示分散。
- 影响:状态感知不一致,用户难以快速判断“可恢复动作”。
- 改法:统一 `Alert + Empty + Skeleton/Spin + message` 组合,并在关键区域固定展示。
- 建议位置:
- `web/src/app/admin/mindmap/page.tsx``panelError`、Table 空态、首屏加载)
- `web/src/app/admin/mindmap/_components/mindmap-editor.tsx``panelError`、加载与校验反馈)
### P0-2:列表表格移动端可用性
- 现状:表格列较多,未配置横向滚动,操作列在窄屏可点击性下降。
- 影响:移动端浏览与操作效率低,误触概率上升。
- 改法:补充 `scroll.x`、收敛列宽、必要时将次要操作收纳为下拉菜单。
- 建议位置:`web/src/app/admin/mindmap/page.tsx`Table columns + pagination + operation render
### P0-3:表单提交流程防重复与禁用态一致
- 现状:已有 `saving`/`confirmLoading`,但页面级操作与弹窗内操作禁用态一致性可加强。
- 影响:并发点击风险与状态混淆仍存在。
- 改法:细分 action loadingcreate/edit/save/ai),并统一按钮禁用策略。
- 建议位置:
- `web/src/app/admin/mindmap/page.tsx`
- `web/src/app/admin/mindmap/_components/mindmap-editor.tsx`
### P1-1:编辑页信息层级优化
- 现状:JSON 输入与预览并列,但“主操作路径(编辑→校验→保存)”引导较弱。
- 影响:新用户理解成本偏高。
- 改法:增强区块标题、副标题与步骤提示;对错误给出可执行下一步。
- 建议位置:`web/src/app/admin/mindmap/_components/mindmap-editor.tsx`
### P1-2:AI 生成流程可读性增强
- 现状:可生成,但流式反馈偏技术化。
- 影响:用户不易判断当前阶段与失败原因。
- 改法:阶段化提示(生成中/解析中/应用结果),失败时给出重试建议。
- 建议位置:`web/src/app/admin/mindmap/_components/mindmap-editor.tsx``startAiGenerate` 与 Modal 展示区)
### P2-1:样式与文案一致性治理
- 现状:AntD 与 Tailwind 混搭,可维护性受限。
- 影响:后续页面迭代容易继续分叉。
- 改法:沉淀 mindmap 页面的“统一容器与反馈模式”,减少自定义样式块。
- 建议位置:
- `web/src/app/admin/mindmap/page.tsx`
- `web/src/app/admin/mindmap/_components/mindmap-editor.tsx`
---
## 8) UI Quick Wins(可快速落地,至少 3 条)
1. **列表 Table 增加 `scroll.x` + `locale.emptyText`**,当天可交付,立竿见影提升窄屏与空态体验。
2. **`panelError` 统一替换为 `Alert` 组件**,保留 message 但增强上下文提示与视觉一致性。
3. **操作列收敛为“主按钮 + 更多操作”**(或至少增大点击热区),降低误触。
4. **AI Modal 增加阶段文案与失败重试按钮**,提升可理解性。
5. **编辑页保存按钮在非法 JSON 时前置禁用/提示**,减少无效提交。
---
## 9) 影响点
### 前端
- 主要改动文件:
- `web/src/app/admin/mindmap/page.tsx`
- `web/src/app/admin/mindmap/_components/mindmap-editor.tsx`
- 可选新增:`web/src/app/admin/mindmap/_components/*`(若需要抽离工具栏/状态提示子组件)。
### 后端
- **无接口协议变更**;沿用现有 `/api/v1/mindmap/*`
### 权限与安全
- 继续复用:
- 读权限:`question_bank.read``question_bank.manage`
- 管理权限:`question_bank.manage`
---
## 10) 风险 / 疑问
1. **组件选型边界**:是“纯 AntD 原生组件”优先,还是允许继续使用 `ui-antd` 包装层混用?需明确。
2. **移动端目标级别**:本次是否要求完整移动端优化(操作重排)还是仅保证可用不破版。
3. **AI 流程期望**:是否需要“取消生成”能力(当前未设计后端中断语义)。
4. **JSON 编辑体验上限**:是否允许引入更专业编辑器(如 Monaco);若不允许则仅做 TextArea 级优化。
---
## 11) 建议验收标准
1. **功能回归**:查询、新建、编辑信息、删除、保存导图数据、导出 JSON/Markdown、AI 生成全链路可用。
2. **协议稳定**:前后端接口入参与出参不变,后端无需新增接口。
3. **视觉一致性**:列表页与编辑页反馈组件、间距、按钮语义与 admin 其他页保持一致。
4. **状态可感知**:加载、空态、错误、成功均有明确可见反馈,不出现“无响应”状态。
5. **可用性**:在常见窄屏(如 375px)下无关键内容遮挡或无法操作;表格可滚动/可访问。
6. **权限正确**:无管理权限用户不可执行写操作,读权限用户可查看数据。
File diff suppressed because one or more lines are too long
@@ -0,0 +1,170 @@
【需求背景】
- 需求 ID313321162778084155
- 标题:fquiz页面Ant Design组件改造:/admin/prompt
- 当前状态:PENDING_ANALYSIS(本次按“新分析”处理,非 PENDING_REVISION
## 一、目标
`/admin/prompt` 页面改造为以 Ant Design 组件为主的页面实现,统一视觉与交互规范,同时保持现有业务语义与后端接口协议不变(仍使用 system-message 领域接口与权限)。
## 二、现状(基于真实代码)
### 1) 页面实际入口与复用关系
- `web/src/app/admin/prompt/page.tsx:1`:当前 `/admin/prompt` 仅 re-export `../system-message/page`
- `web/src/app/admin/system-message/page.tsx`:实际承载提示词管理页面的完整 UI 与交互。
### 2) 现有 UI 结构与技术栈现状
- 页面虽然引入了 `@/components/ui-antd` 的包装组件(Button/Select/Table/TextField/TextArea),但仍大量依赖 Tailwind class 手工拼装布局和状态样式,组件层不够“原生 Ant Design 化”。
- 列表、筛选、表单、反馈、删除确认等能力均已具备,但实现分散:
- 列表:`Table.Root` + 手工 `<Table.Row>` 渲染。
- 筛选:输入框+下拉组合,缺少统一 Form 语义。
- 反馈:错误/成功使用 `<pre>``web/src/app/admin/system-message/page.tsx:241-242`)且存在 className 重复拼接问题。
- 删除确认:`window.confirm``337` 行附近),非 AntD 交互模式。
- 表单:手写 state 校验(标题/内容非空),未使用 AntD Form rule。
### 3) 数据与权限链路(无需改协议)
- 前端接口:`/api/v1/admin/system-messages`GET/POST/PATCH/DELETE)。
- 后端路由:`api/app/api/v1/system_messages.py`
- 服务层:`api/app/services/system_message_service.py`,支持关键词/状态/等级过滤、CRUD、topic 推送 `admin.system-messages`
- 权限:`system_message.read` / `system_message.manage`(前后端一致)。
## 三、范围(In Scope
1. `/admin/prompt` 对应页面(实际文件为 `web/src/app/admin/system-message/page.tsx`)的组件层改造:
- 布局容器
- 筛选区
- 列表区
- 编辑/新建表单区
- 删除确认
- 成功/错误提示
- 空态/加载态
2. 页面内样式与交互统一到 Ant Design 设计语言。
3. 保留既有 API 调用、权限判断、字段语义、topic 刷新机制。
## 四、非范围(Out of Scope
1. 后端接口协议、字段定义、权限模型调整(`system_message.*` 不改)。
2. 业务语义重构(例如将 system-message 全量重命名为 prompt)。
3. 新增跨页面能力(如全局主题策略重构、后台导航体系变更)。
4. 大规模数据层改造(分页协议、搜索索引策略等)。
## 五、实现思路(建议方案)
### 阶段 1:组件骨架 AntD 化(优先)
- 将主要页面结构迁移为 AntD 组合:`Card` + `Space` + `Form` + `Table` + `Alert` + `Empty` + `Spin`
- 目标是减少手工 class 驱动的视觉差异,保证页面在浅色/暗色/紧凑主题下表现一致。
### 阶段 2:交互链路标准化
- 删除确认改为 `Popconfirm`(替换 `window.confirm`)。
- 成功/失败反馈改为 `Alert`(常驻)+ `message`(短反馈)组合。
- 列表状态字段使用 `Tag` 显示(level/status 颜色映射),增强信息辨识度。
### 阶段 3:表单体验与可用性增强
- 改为 AntD `Form` 驱动校验(title/content 必填、时间区间合法性前置校验)。
- 时间输入优先 `DatePicker`(必要时 `showTime`),并统一转换为 UTC ISO 后提交(保持后端兼容)。
### 阶段 4:稳态验证
- 保持 React Query key、invalidate 策略、topic 订阅机制不变。
- 做关键路径回归:筛选→编辑→保存→刷新、创建→发布、删除→刷新。
## 六、影响点
### 前端影响
- 主要改动文件:
- `web/src/app/admin/system-message/page.tsx`(核心)
- `web/src/app/admin/prompt/page.tsx`(保留 re-export,可不动)
- 可能涉及:
- `@/components/ui-antd` 是否继续封装复用,或页面直接使用 `antd` 原生组件。
### 后端影响
- 无接口协议变更。
- 仅受前端请求时机变化影响(例如校验前置后无效请求会减少)。
### 用户与运营影响
- 页面风格更统一,操作路径一致性提升。
- 学习成本下降(更贴近后台其他 AntD 页面操作习惯)。
## 七、UI/UX 专项评估(按 ui-ux-pro-max 要求)
### 执行摘要(5 条)
1. 页面已具备完整业务能力,但交互组件呈“混合态”(包装组件 + 手工样式 + 浏览器原生交互),一致性不足。
2. 删除确认、状态反馈、空态加载表现不够 AntD 化,影响专业感与可预期性。
3. 表单缺少系统化校验/错误提示结构,用户修复输入错误路径不够清晰。
4. 列表信息层级(等级/状态)可视化弱,扫描效率偏低。
5. 通过 P0/P1/P2 分层改造可低风险推进,且不触碰后端协议。
### P0(必须优先)
1) 反馈与错误展示标准化
- 现状:错误/成功均用 `<pre>`,且 class 重复拼接。
- 影响:可读性差,视觉不统一;可维护性低。
- 改法:改为 `Alert`error/success),并在提交动作配合 `message.success/error`
- 建议位置:`web/src/app/admin/system-message/page.tsx` 顶部反馈区(约 239-243 行)。
2) 删除交互规范化
- 现状:`window.confirm`
- 影响:样式割裂,不利于统一交互预期。
- 改法:使用 `Popconfirm` 包裹删除按钮,统一文案与危险操作语义。
- 建议位置:列表操作列(约 333-341 行)。
3) 表单校验改为 Form 规则
- 现状:仅在 mutation 前手写非空校验。
- 影响:错误提示触达滞后,字段级反馈不足。
- 改法:使用 `Form` + `rules` + 字段级错误提示,并保留后端兜底。
- 建议位置:编辑区(约 362-444 行)。
### P1(高价值)
1) 列表信息视觉层级增强
- 现状:level/status 文本裸露展示。
- 影响:高密度列表下可扫读性弱。
- 改法:引入 `Tag` 映射颜色(info/success/warning/errordraft/published/archived)。
- 建议位置:表格列渲染(约 321-323 行)。
2) 空态/加载态 AntD 化
- 现状:加载使用纯文本;空态通过“无数据行文本”。
- 影响:状态感知弱,体验不一致。
- 改法:列表加载使用 `Spin`/`Skeleton`,空态使用 `Empty`
- 建议位置:`initializing/listQuery.isLoading` 分支 + Table 空数据分支。
3) 筛选区表单化
- 现状:筛选控件裸排版,缺少统一字段语义。
- 影响:拓展筛选项时可维护性下降。
- 改法:`Form layout="vertical"` + `Input`/`Select` + 统一重置行为。
- 建议位置:筛选区(约 255-296 行)。
### P2(优化项)
1) 时间输入体验优化
- 现状:`datetime-local` 依赖浏览器原生控件。
- 影响:跨端体验差异较大。
- 改法:`DatePicker showTime`,统一展示与选择体验。
- 建议位置:生效/失效时间字段(约 413-429 行)。
2) 文案语义一致性
- 现状:菜单写“提示词管理”,页面主体仍“系统消息”。
- 影响:用户心智略有割裂。
- 改法:确认产品术语后统一页面标题/提示文案(仅文案层,不改 API 语义)。
- 建议位置:标题、副标题、成功提示文案。
3) 移动端操作区紧凑优化
- 现状:操作按钮横向排列,窄屏可能拥挤。
- 影响:可点性与阅读体验下降。
- 改法:`Space` + 响应式折叠(必要时 Dropdown)。
- 建议位置:操作列按钮容器(约 331-345 行)。
### 可快速落地的 UI Quick Wins(至少 3 条)
1.`Popconfirm` 替换 `window.confirm`(半天内可完成,风险低)。
2. 将反馈 `<pre>` 改为 `Alert` + `message`(半天内可完成)。
3. level/status 增加 `Tag` 颜色映射(半天内可完成)。
4. 空态改 `Empty`、加载态加 `Spin`(半天内可完成)。
## 八、风险 / 疑问
1. 术语风险:页面是“提示词管理”还是“系统消息管理”需产品确认(当前前后端均是 system-message 语义)。
2. 时间处理风险:从 `datetime-local` 迁移到 `DatePicker` 后,需明确时区展示与提交策略(建议继续提交 UTC ISO)。
3. 封装策略风险:是否继续统一使用 `ui-antd` 封装,还是在此页直接使用 antd 原生组件,需要团队统一。
4. 数据量风险:当前列表无分页,若后续数据增长,纯前端全量渲染性能可能下降(本需求先不改协议)。
## 九、建议验收标准
1. **功能等价**:筛选、创建、编辑、删除、实时刷新(topic)均与现状一致,不出现回归。
2. **组件达标**:页面核心交互组件(筛选、表格、表单、反馈、确认、空态/加载态)采用 Ant Design 体系实现。
3. **视觉一致**:在浅色/暗色/紧凑主题下无明显样式断层;危险操作、状态提示、字段校验风格统一。
4. **交互可用**:关键路径(创建->发布->编辑->删除)可用,错误提示清晰、字段级校验可见。
5. **接口不变**:后端 API 路径、请求/响应字段、权限码保持不变。
6. **回归通过**
- 有权限账号可完整操作;
-`system_message.read` 账号只读;
- 无权限账号看到正确拦截文案。
## 十、结论
该需求可在不改后端协议与业务语义前提下完成。建议采用“P0(反馈/确认/校验)-> P1(信息层级/状态体验)-> P2(输入体验与文案一致性)”的增量改造策略,优先交付低风险高收益项。