mirror of
https://github.com/fastapiadmin/FastapiAdmin.git
synced 2026-09-20 20:39:55 +00:00
refactor(upload): 重构文件上传组件并优化相关逻辑
移除旧的FileUpload和MultiImageUpload组件,统一使用SingleImageUpload组件处理上传 重构SingleImageUpload组件,使用ConfigAPI替代FileAPI,优化上传逻辑和错误处理 更新用户头像上传逻辑,使用UserAPI处理上传并优化交互体验 优化数据库初始化流程,分离数据库操作和Redis相关操作 重构字典数据配置,合并重复的字典类型并更新相关视图组件 修复定时任务控制器参数类型,从Query改为Body 添加ElImageViewer组件类型声明 优化数据库连接错误处理和日志信息
This commit is contained in:
@@ -40,227 +40,58 @@
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"dict_sort": 4,
|
||||
"dict_label": "显示",
|
||||
"dict_value": "0",
|
||||
"dict_type": "sys_show_hide",
|
||||
"css_class": "btn btn-success btn-xs",
|
||||
"dict_sort": 1,
|
||||
"dict_label": "启用",
|
||||
"dict_value": "1",
|
||||
"dict_type": "sys_common_status",
|
||||
"css_class": "",
|
||||
"list_class": "primary",
|
||||
"is_default": true,
|
||||
"is_default": false,
|
||||
"status": true,
|
||||
"description": "显示菜单",
|
||||
"description": "启用状态",
|
||||
"creator_id": 1
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"dict_sort": 2,
|
||||
"dict_label": "隐藏",
|
||||
"dict_value": "1",
|
||||
"dict_type": "sys_show_hide",
|
||||
"dict_label": "停用",
|
||||
"dict_value": "0",
|
||||
"dict_type": "sys_common_status",
|
||||
"css_class": "",
|
||||
"list_class": "danger",
|
||||
"is_default": false,
|
||||
"status": true,
|
||||
"description": "隐藏菜单",
|
||||
"description": "停用状态",
|
||||
"creator_id": 1
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"dict_sort": 1,
|
||||
"dict_label": "正常",
|
||||
"dict_value": "0",
|
||||
"dict_type": "sys_normal_disable",
|
||||
"dict_label": "是",
|
||||
"dict_value": "1",
|
||||
"dict_type": "sys_yes_no",
|
||||
"css_class": "",
|
||||
"list_class": "primary",
|
||||
"is_default": true,
|
||||
"status": true,
|
||||
"description": "正常状态",
|
||||
"description": "是",
|
||||
"creator_id": 1
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"dict_sort": 2,
|
||||
"dict_label": "停用",
|
||||
"dict_value": "1",
|
||||
"dict_type": "sys_normal_disable",
|
||||
"css_class": "",
|
||||
"list_class": "danger",
|
||||
"is_default": false,
|
||||
"status": true,
|
||||
"description": "停用状态",
|
||||
"creator_id": 1
|
||||
},
|
||||
{
|
||||
"id": 8,
|
||||
"dict_sort": 1,
|
||||
"dict_label": "正常",
|
||||
"dict_value": "0",
|
||||
"dict_type": "sys_job_status",
|
||||
"css_class": "",
|
||||
"list_class": "primary",
|
||||
"is_default": true,
|
||||
"status": true,
|
||||
"description": "正常状态",
|
||||
"creator_id": 1
|
||||
},
|
||||
{
|
||||
"id": 9,
|
||||
"dict_sort": 2,
|
||||
"dict_label": "暂停",
|
||||
"dict_value": "1",
|
||||
"dict_type": "sys_job_status",
|
||||
"css_class": "",
|
||||
"list_class": "danger",
|
||||
"is_default": false,
|
||||
"status": true,
|
||||
"description": "停用状态",
|
||||
"creator_id": 1
|
||||
},
|
||||
{
|
||||
"id": 10,
|
||||
"dict_sort": 1,
|
||||
"dict_label": "默认(Memory)",
|
||||
"dict_value": "default",
|
||||
"dict_type": "sys_job_store",
|
||||
"css_class": "",
|
||||
"list_class": null,
|
||||
"is_default": true,
|
||||
"status": true,
|
||||
"description": "默认分组",
|
||||
"creator_id": 1
|
||||
},
|
||||
{
|
||||
"id": 11,
|
||||
"dict_sort": 2,
|
||||
"dict_label": "数据库",
|
||||
"dict_value": "sqlalchemy",
|
||||
"dict_type": "sys_job_store",
|
||||
"css_class": "",
|
||||
"list_class": null,
|
||||
"is_default": false,
|
||||
"status": true,
|
||||
"description": "数据库分组",
|
||||
"creator_id": 1
|
||||
},
|
||||
{
|
||||
"id": 12,
|
||||
"dict_sort": 3,
|
||||
"dict_label": "redis",
|
||||
"dict_value": "redis",
|
||||
"dict_type": "sys_job_store",
|
||||
"css_class": "",
|
||||
"list_class": null,
|
||||
"is_default": false,
|
||||
"status": true,
|
||||
"description": "reids分组",
|
||||
"creator_id": 1
|
||||
},
|
||||
{
|
||||
"id": 13,
|
||||
"dict_sort": 1,
|
||||
"dict_label": "线程池",
|
||||
"dict_value": "default",
|
||||
"dict_type": "sys_job_executor",
|
||||
"css_class": "",
|
||||
"list_class": null,
|
||||
"is_default": false,
|
||||
"status": true,
|
||||
"description": "线程池",
|
||||
"creator_id": 1
|
||||
},
|
||||
{
|
||||
"id": 14,
|
||||
"dict_sort": 2,
|
||||
"dict_label": "进程池",
|
||||
"dict_value": "processpool",
|
||||
"dict_type": "sys_job_executor",
|
||||
"css_class": "",
|
||||
"list_class": null,
|
||||
"is_default": false,
|
||||
"status": true,
|
||||
"description": "进程池",
|
||||
"creator_id": 1
|
||||
},
|
||||
{
|
||||
"id": 15,
|
||||
"dict_sort": 1,
|
||||
"dict_label": "是",
|
||||
"dict_value": "true",
|
||||
"dict_type": "sys_yes_no",
|
||||
"css_class": "",
|
||||
"list_class": "primary",
|
||||
"is_default": true,
|
||||
"status": true,
|
||||
"description": "系统默认是",
|
||||
"creator_id": 1
|
||||
},
|
||||
{
|
||||
"id": 16,
|
||||
"dict_sort": 2,
|
||||
"dict_label": "否",
|
||||
"dict_value": "false",
|
||||
"dict_value": "0",
|
||||
"dict_type": "sys_yes_no",
|
||||
"css_class": "",
|
||||
"list_class": "danger",
|
||||
"is_default": false,
|
||||
"status": true,
|
||||
"description": "系统默认否",
|
||||
"description": "否",
|
||||
"creator_id": 1
|
||||
},
|
||||
{
|
||||
"id": 17,
|
||||
"dict_sort": 1,
|
||||
"dict_label": "通知",
|
||||
"dict_value": "1",
|
||||
"dict_type": "sys_notice_type",
|
||||
"css_class": "blue",
|
||||
"list_class": "warning",
|
||||
"is_default": true,
|
||||
"status": true,
|
||||
"description": "通知",
|
||||
"creator_id": 1
|
||||
},
|
||||
{
|
||||
"id": 18,
|
||||
"dict_sort": 2,
|
||||
"dict_label": "公告",
|
||||
"dict_value": "2",
|
||||
"dict_type": "sys_notice_type",
|
||||
"css_class": "orange",
|
||||
"list_class": "success",
|
||||
"is_default": false,
|
||||
"status": true,
|
||||
"description": "公告",
|
||||
"creator_id": 1
|
||||
},
|
||||
{
|
||||
"id": 19,
|
||||
"dict_sort": 1,
|
||||
"dict_label": "正常",
|
||||
"dict_value": "0",
|
||||
"dict_type": "sys_notice_status",
|
||||
"css_class": "",
|
||||
"list_class": "primary",
|
||||
"is_default": true,
|
||||
"status": true,
|
||||
"description": "正常状态",
|
||||
"creator_id": 1
|
||||
},
|
||||
{
|
||||
"id": 20,
|
||||
"dict_sort": 2,
|
||||
"dict_label": "关闭",
|
||||
"dict_value": "1",
|
||||
"dict_type": "sys_notice_status",
|
||||
"css_class": "",
|
||||
"list_class": "danger",
|
||||
"is_default": false,
|
||||
"status": true,
|
||||
"description": "关闭状态",
|
||||
"creator_id": 1
|
||||
},
|
||||
{
|
||||
"id": 21,
|
||||
{
|
||||
"id": 8,
|
||||
"dict_sort": 99,
|
||||
"dict_label": "其他",
|
||||
"dict_value": "0",
|
||||
@@ -273,7 +104,7 @@
|
||||
"creator_id": 1
|
||||
},
|
||||
{
|
||||
"id": 22,
|
||||
"id": 9,
|
||||
"dict_sort": 1,
|
||||
"dict_label": "新增",
|
||||
"dict_value": "1",
|
||||
@@ -286,7 +117,7 @@
|
||||
"creator_id": 1
|
||||
},
|
||||
{
|
||||
"id": 23,
|
||||
"id": 10,
|
||||
"dict_sort": 2,
|
||||
"dict_label": "修改",
|
||||
"dict_value": "2",
|
||||
@@ -299,7 +130,7 @@
|
||||
"creator_id": 1
|
||||
},
|
||||
{
|
||||
"id": 24,
|
||||
"id": 11,
|
||||
"dict_sort": 3,
|
||||
"dict_label": "删除",
|
||||
"dict_value": "3",
|
||||
@@ -312,9 +143,9 @@
|
||||
"creator_id": 1
|
||||
},
|
||||
{
|
||||
"id": 25,
|
||||
"id": 12,
|
||||
"dict_sort": 4,
|
||||
"dict_label": "授权",
|
||||
"dict_label": "分配权限",
|
||||
"dict_value": "4",
|
||||
"dict_type": "sys_oper_type",
|
||||
"css_class": "",
|
||||
@@ -325,7 +156,7 @@
|
||||
"creator_id": 1
|
||||
},
|
||||
{
|
||||
"id": 26,
|
||||
"id": 13,
|
||||
"dict_sort": 5,
|
||||
"dict_label": "导出",
|
||||
"dict_value": "5",
|
||||
@@ -338,7 +169,7 @@
|
||||
"creator_id": 1
|
||||
},
|
||||
{
|
||||
"id": 27,
|
||||
"id": 14,
|
||||
"dict_sort": 6,
|
||||
"dict_label": "导入",
|
||||
"dict_value": "6",
|
||||
@@ -351,7 +182,7 @@
|
||||
"creator_id": 1
|
||||
},
|
||||
{
|
||||
"id": 28,
|
||||
"id": 15,
|
||||
"dict_sort": 7,
|
||||
"dict_label": "强退",
|
||||
"dict_value": "7",
|
||||
@@ -364,7 +195,7 @@
|
||||
"creator_id": 1
|
||||
},
|
||||
{
|
||||
"id": 29,
|
||||
"id": 16,
|
||||
"dict_sort": 8,
|
||||
"dict_label": "生成代码",
|
||||
"dict_value": "8",
|
||||
@@ -377,7 +208,7 @@
|
||||
"creator_id": 1
|
||||
},
|
||||
{
|
||||
"id": 30,
|
||||
"id": 17,
|
||||
"dict_sort": 9,
|
||||
"dict_label": "清空数据",
|
||||
"dict_value": "9",
|
||||
@@ -390,35 +221,100 @@
|
||||
"creator_id": 1
|
||||
},
|
||||
{
|
||||
"id": 31,
|
||||
"id": 18,
|
||||
"dict_sort": 1,
|
||||
"dict_label": "成功",
|
||||
"dict_value": "0",
|
||||
"dict_type": "sys_common_status",
|
||||
"css_class": "",
|
||||
"list_class": "primary",
|
||||
"is_default": false,
|
||||
"status": true,
|
||||
"description": "正常状态",
|
||||
"creator_id": 1
|
||||
},
|
||||
{
|
||||
"id": 32,
|
||||
"dict_sort": 2,
|
||||
"dict_label": "失败",
|
||||
"dict_label": "通知",
|
||||
"dict_value": "1",
|
||||
"dict_type": "sys_common_status",
|
||||
"css_class": "",
|
||||
"list_class": "danger",
|
||||
"is_default": false,
|
||||
"dict_type": "sys_notice_type",
|
||||
"css_class": "blue",
|
||||
"list_class": "warning",
|
||||
"is_default": true,
|
||||
"status": true,
|
||||
"description": "停用状态",
|
||||
"description": "通知",
|
||||
"creator_id": 1
|
||||
},
|
||||
{
|
||||
"id": 33,
|
||||
"id": 19,
|
||||
"dict_sort": 2,
|
||||
"dict_label": "公告",
|
||||
"dict_value": "2",
|
||||
"dict_type": "sys_notice_type",
|
||||
"css_class": "orange",
|
||||
"list_class": "success",
|
||||
"is_default": false,
|
||||
"status": true,
|
||||
"description": "公告",
|
||||
"creator_id": 1
|
||||
},
|
||||
{
|
||||
"id": 20,
|
||||
"dict_sort": 1,
|
||||
"dict_label": "初始化演示函数",
|
||||
"dict_label": "默认(Memory)",
|
||||
"dict_value": "default",
|
||||
"dict_type": "sys_job_store",
|
||||
"css_class": "",
|
||||
"list_class": null,
|
||||
"is_default": true,
|
||||
"status": true,
|
||||
"description": "默认分组",
|
||||
"creator_id": 1
|
||||
},
|
||||
{
|
||||
"id": 21,
|
||||
"dict_sort": 2,
|
||||
"dict_label": "数据库(Sqlalchemy)",
|
||||
"dict_value": "sqlalchemy",
|
||||
"dict_type": "sys_job_store",
|
||||
"css_class": "",
|
||||
"list_class": null,
|
||||
"is_default": false,
|
||||
"status": true,
|
||||
"description": "数据库分组",
|
||||
"creator_id": 1
|
||||
},
|
||||
{
|
||||
"id": 22,
|
||||
"dict_sort": 3,
|
||||
"dict_label": "数据库(Redis)",
|
||||
"dict_value": "redis",
|
||||
"dict_type": "sys_job_store",
|
||||
"css_class": "",
|
||||
"list_class": null,
|
||||
"is_default": false,
|
||||
"status": true,
|
||||
"description": "reids分组",
|
||||
"creator_id": 1
|
||||
},
|
||||
{
|
||||
"id": 23,
|
||||
"dict_sort": 1,
|
||||
"dict_label": "线程池",
|
||||
"dict_value": "default",
|
||||
"dict_type": "sys_job_executor",
|
||||
"css_class": "",
|
||||
"list_class": null,
|
||||
"is_default": false,
|
||||
"status": true,
|
||||
"description": "线程池",
|
||||
"creator_id": 1
|
||||
},
|
||||
{
|
||||
"id": 24,
|
||||
"dict_sort": 2,
|
||||
"dict_label": "进程池",
|
||||
"dict_value": "processpool",
|
||||
"dict_type": "sys_job_executor",
|
||||
"css_class": "",
|
||||
"list_class": null,
|
||||
"is_default": false,
|
||||
"status": true,
|
||||
"description": "进程池",
|
||||
"creator_id": 1
|
||||
},
|
||||
{
|
||||
"id": 25,
|
||||
"dict_sort": 1,
|
||||
"dict_label": "演示函数",
|
||||
"dict_value": "scheduler_test.job",
|
||||
"dict_type": "sys_job_function",
|
||||
"css_class": "",
|
||||
@@ -429,7 +325,7 @@
|
||||
"creator_id": 1
|
||||
},
|
||||
{
|
||||
"id": 34,
|
||||
"id": 26,
|
||||
"dict_sort": 1,
|
||||
"dict_label": "指定日期(date)",
|
||||
"dict_value": "date",
|
||||
@@ -442,7 +338,7 @@
|
||||
"creator_id": 1
|
||||
},
|
||||
{
|
||||
"id": 35,
|
||||
"id": 27,
|
||||
"dict_sort": 2,
|
||||
"dict_label": "间隔触发器(interval)",
|
||||
"dict_value": "interval",
|
||||
@@ -455,7 +351,7 @@
|
||||
"creator_id": 1
|
||||
},
|
||||
{
|
||||
"id": 36,
|
||||
"id": 28,
|
||||
"dict_sort": 3,
|
||||
"dict_label": "cron表达式",
|
||||
"dict_value": "cron",
|
||||
@@ -468,11 +364,11 @@
|
||||
"creator_id": 1
|
||||
},
|
||||
{
|
||||
"id": 37,
|
||||
"id": 29,
|
||||
"dict_sort": 1,
|
||||
"dict_label": "默认(default)",
|
||||
"dict_value": "default",
|
||||
"dict_type": "sys_dictdata_list_class",
|
||||
"dict_type": "sys_list_class",
|
||||
"css_class": "",
|
||||
"list_class": null,
|
||||
"is_default": true,
|
||||
@@ -481,11 +377,11 @@
|
||||
"creator_id": 1
|
||||
},
|
||||
{
|
||||
"id": 38,
|
||||
"id": 30,
|
||||
"dict_sort": 2,
|
||||
"dict_label": "主要(primary)",
|
||||
"dict_value": "primary",
|
||||
"dict_type": "sys_dictdata_list_class",
|
||||
"dict_type": "sys_list_class",
|
||||
"css_class": "",
|
||||
"list_class": null,
|
||||
"is_default": false,
|
||||
@@ -494,11 +390,11 @@
|
||||
"creator_id": 1
|
||||
},
|
||||
{
|
||||
"id": 39,
|
||||
"id": 31,
|
||||
"dict_sort": 3,
|
||||
"dict_label": "成功(success)",
|
||||
"dict_value": "success",
|
||||
"dict_type": "sys_dictdata_list_class",
|
||||
"dict_type": "sys_list_class",
|
||||
"css_class": "",
|
||||
"list_class": null,
|
||||
"is_default": false,
|
||||
@@ -507,11 +403,11 @@
|
||||
"creator_id": 1
|
||||
},
|
||||
{
|
||||
"id": 40,
|
||||
"id": 32,
|
||||
"dict_sort": 4,
|
||||
"dict_label": "信息(info)",
|
||||
"dict_value": "info",
|
||||
"dict_type": "sys_dictdata_list_class",
|
||||
"dict_type": "sys_list_class",
|
||||
"css_class": "",
|
||||
"list_class": null,
|
||||
"is_default": false,
|
||||
@@ -520,11 +416,11 @@
|
||||
"creator_id": 1
|
||||
},
|
||||
{
|
||||
"id": 41,
|
||||
"id": 33,
|
||||
"dict_sort": 5,
|
||||
"dict_label": "警告(warning)",
|
||||
"dict_value": "warning",
|
||||
"dict_type": "sys_dictdata_list_class",
|
||||
"dict_type": "sys_list_class",
|
||||
"css_class": "",
|
||||
"list_class": null,
|
||||
"is_default": false,
|
||||
@@ -533,11 +429,11 @@
|
||||
"creator_id": 1
|
||||
},
|
||||
{
|
||||
"id": 42,
|
||||
"id": 34,
|
||||
"dict_sort": 6,
|
||||
"dict_label": "危险(danger)",
|
||||
"dict_value": "danger",
|
||||
"dict_type": "sys_dictdata_list_class",
|
||||
"dict_type": "sys_list_class",
|
||||
"css_class": "",
|
||||
"list_class": null,
|
||||
"is_default": false,
|
||||
|
||||
Reference in New Issue
Block a user