zhangtao
afdd805e11
refactor: 重构查询参数实现,替换旧的__init__初始化方式为dataclass+post_init
...
feat: 新增岗位编码字段与校验
fix: 修复批量删除提示、请求缓存、任务状态等逻辑
perf: 优化表格列展示,移除冗余ID列
build: 降级fastapi版本至0.115.2,更新依赖锁文件
docs: 补充部分代码注释与说明
2026-06-22 00:27:23 +08:00
zhangtao
8949f6dc46
refactor(test, config, router): 整理代码结构与配置,优化导入顺序
...
1. 调整多个测试文件中TestClient的导入顺序,统一放到conftest导入之后
2. 删除后端配置中无用的WebSocket限流配置,统一使用全局200次/10秒的限流策略
3. 精简平台、系统模块的路由初始化注释文档
4. 优化conftest.py中的数据库初始化导入顺序
5. 调整初始化日志输出格式,更清晰易懂
6. 前端开发环境配置切回本地后端地址,注释远程服务地址
7. 重构路由类的变量命名,提升可读性
8. 简化动态路由热重载逻辑,移除冗余缓存变量
9. 重构注册路由的代码,统一限流配置,调整导入顺序和挂载逻辑
10. 删除冗余的v1接口层统一导出文件
2026-06-21 21:47:32 +08:00
zhangtao
0b38612cb2
refactor: 完成多维度代码优化与测试基建搭建
...
- 重构API路由与请求路径,统一批量状态更新接口
- 优化类型导入与参数继承逻辑,简化基础查询参数实现
- 修复日志格式化与权限校验细节问题
- 新增多模块接口测试用例,完善测试覆盖
- 调整环境配置与初始化脚本细节
- 简化服务层方法命名,统一代码风格
2026-06-21 20:25:39 +08:00
zhangtao
7d2367e34e
refactor: 统一项目代码风格并修复多处类型与调用问题
...
本次提交包含多项优化:
1. 移除大量冗余的文件头注释与过时的from __future__导入
2. 将CRUD的list方法统一重命名为get_list保持接口一致
3. 修复前后端状态字段类型不匹配问题,将string类型status改为number
4. 修正前端文案错别字,将"代办事项"修正为标准写法
5. 更新sqlalchemy版本并调整依赖配置
6. 新增缓存工具类替代fastapi-cache2,重构缓存调用逻辑
7. 新增开源授权函生成相关工具与数据库字段支持
8. 为多个业务模块添加防重复提交loading状态
9. 修复邮件模型的外键关联缺失问题
10. 优化pdf生成工具的导入时机与文档注释
2026-06-21 17:34:11 +08:00
zhangtao
3169ef2355
refactor(auth): 重构会话存储逻辑,使用Redis存储完整会话数据
...
将原JWT载荷中内嵌的用户会话信息迁移至Redis存储,JWT仅保留会话ID,减少令牌体积并提升安全性。同步修改在线用户管理、认证依赖、租户中间件等模块适配新逻辑,新增用户会话Redis键配置,完善会话过期处理与强制下线逻辑。
2026-06-21 07:20:00 +08:00
zhangtao
d6c3104f2d
chore: upgrade python version to 3.12 and refactor password encryption
...
This commit upgrades the project's Python base version from 3.10 to 3.12, updates all related dependency versions, replaces bcrypt password hashing with pbkdf2-sha256, refactors the UA parsing library, removes unused dependencies, and fixes related exception handling code.
2026-06-21 06:57:44 +08:00
zhangtao
211fddd6e0
refactor: 完成项目大规模代码重构与依赖清理
...
这是一次综合性的重构更新,包含以下主要变更:
1. 升级Python版本到3.12,更新依赖配置
2. 替换旧的.j2模板为.jinja2格式,新增代码生成模板
3. 重构权限过滤策略,更新权限枚举与模型配置
4. 移除Prefect依赖,替换为自研拓扑并行执行引擎
5. 重构认证与上下文管理,拆分租户/请求上下文
6. 简化响应模型、CRUD与服务层代码
7. 清理废弃的支付网关模块,重构订单定时任务
8. 更新在线用户、监控等模块的接口与路由
9. 优化邮件模板与工具类,新增邮件模板文件
10. 修复数据库会话配置与类型提示
2026-06-21 06:02:05 +08:00
zhangtao
4e2b668d7b
chore: 批量优化项目代码,修复多处细节问题
...
本次提交包含多项优化和修复:
1. 修复CRUD初始化参数传递、搜索参数处理逻辑
2. 更新环境配置中的大模型相关参数
3. 重构部分服务方法命名,统一代码风格
4. 新增多个枚举类型,补充模型关联关系和加载选项
5. 优化查询参数类实现,完善字段校验逻辑
6. 调整Pydantic模型字段注释和类型定义
7. 简化并移除冗余的CRUD方法实现
8. 新增超级管理员权限装饰器
9. 修复邮件日志模型的租户关联和字段定义
2026-06-20 23:37:58 +08:00
zhangtao
bbe77930a8
refactor: 重构代码生成模板与项目结构,新增发票PDF生成功能
...
1. 统一移动代码生成模板到根目录templates目录,删除旧模板文件
2. 调整SQLAlchemy导入顺序,优化代码格式
3. 重构查询参数类,复用BaseQueryParam基础能力
4. 新增发票管理模块:添加weasyprint依赖,实现本地PDF发票渲染
5. 完善邮件、菜单等模块的代码实现与注释
6. 修复SQL查询条件写法,使用is_(True)替代==True
7. 补全模型类的UserMixin、TenantMixin继承与配置
2026-06-20 15:21:37 +08:00
zhangtao
d34d4a4c50
chore: 完成多批次代码优化与重构
...
- 重构工作流模块目录结构,迁移代码文件
- 修复类型断言空值安全问题,添加 ! 操作符
- 优化样式类名,替换 flex-cc 为标准 flex 工具类
- 更新路由标签简化文案,移除冗余注释
- 调整 ruff 配置,放宽行长度限制
- 更新 README 与多语言文案,优化项目描述
- 修复表单、图表组件的类型与样式问题
- 简化搜索表单、数据卡片的布局代码
2026-06-20 05:31:46 +08:00
zhangtao
61c9580656
chore: 更新演示环境配置与示例参数
...
1. 新增并配置开发/生产环境的大模型基础URL
2. 更新演示模式IP白名单为实际演示IP
3. 启用生产环境的演示模式
2026-06-18 01:44:11 +08:00
zhangtao
d96611cdb3
chore(config): 临时将跨域允许域名设为通配符
...
开发阶段临时开放所有跨域请求来源,方便前后端联调测试
2026-06-18 01:40:18 +08:00
zhangtao
f731c4896e
refactor: 拆分响应模型、新增自定义配置并简化ORM转换逻辑
...
1. 为部门和菜单拆分详情/树形响应模型,新增兼容别名保留旧接口
2. 新增OPENAI_BASE_URL配置并在AI聊天工具中使用
3. 移除冗余的orm_to_schema和get_with_convert工具方法,改用pydantic原生校验
4. 优化前端主题注释格式
2026-06-18 00:57:13 +08:00
zhangtao
46528c03be
chore: 批量修复优化代码与配置
...
1. 统一修复多处状态选项值类型从字符串转为数字
2. 优化用户更新逻辑简化代码
3. 新增ORM转Schema工具方法优化数据转换
4. 调整部门与菜单模型加载配置
5. 修复订单详情展示逻辑与样式
6. 移动主题配置到单独文件并更新gitignore
2026-06-18 00:20:22 +08:00
zhangtao
87b3778000
refactor: 统一状态字段类型为整型并清理冗余配置
...
1. 将多处字符串类型的状态值"0"统一改为整型0,包括查询条件、字段赋值和状态转换逻辑
2. 移除冗余的OPENAI_BASE_URL配置项及相关示例配置
3. 移动蓝色主题样式代码到variables.scss并删除冗余的theme-blue.scss文件
2026-06-17 21:41:31 +08:00
zhangtao
73f2823692
refactor: 大规模代码整理与功能优化
...
1. 重构后端API路由、CRUD与模块结构,整合日志管理,移除废弃demo代码
2. 优化前端组件类型定义、样式与路由配置,修复权限判断逻辑
3. 调整默认排序规则、滚动条样式与工具类函数,更新依赖与配置文件
4. 修复多处类型不匹配与默认值问题,完善表单与菜单验证逻辑
2026-06-17 01:56:31 +08:00
zhangtao
17b3cd0a4c
refactor: 完成系统架构升级与模块拆分
...
本次提交进行了大规模的系统重构:
1. 拆分租户相关模块到platform平台层,重构租户表名与关联关系
2. 迁移日志、工单、插件等模块到对应层级,统一代码结构
3. 重构批量操作接口路径,从/available/setting改为/status/batch
4. 新增批量删除基础模型,统一处理批量操作逻辑
5. 优化导入导出接口,修正路由方法与描述信息
6. 修复循环引用问题,重构依赖注入与类型导入
7. 更新初始化脚本与路由注册,新增平台管理路由
8. 重构岗位模型,新增岗位编码字段与校验
9. 完善部门删除逻辑,新增子部门删除限制
10. 更新初始化数据与配置文件,适配新架构
2026-06-03 00:53:19 +08:00
zhangtao
290728d9d2
chore: 批量整理代码格式与优化细节
...
- 修复多处代码缩进、换行不规范问题
- 调整部分配置注释与字符串格式对齐
- 优化导入语句与多行表达式的排版
- 统一枚举、模型字段的注释风格
- 调整部分校验逻辑与提示文案
- 重构部分长函数参数与查询语句格式
2026-06-02 08:19:10 +08:00
zhangtao
c0733d9861
refactor(frontend): 重构前端样式体系,统一资源路径与代码规范
...
1. 重构SCSS样式结构,将原有分散的样式文件整合到custom目录下,统一使用@use替代@import
2. 删除冗余的全局样式文件,将样式逻辑内联到对应组件或集中到core目录
3. 新增DOMPurify依赖,对富文本内容添加XSS防护
4. 修复metrics端点暴露的兼容性问题,优化启动banner样式
5. 移除无用的权限校验代码,重构工作流组件路径与命名
6. 优化样式混合宏与响应式布局,修复部分组件样式冲突
2026-06-01 00:58:21 +08:00
zhangtao
9904abcd88
refactor: 重构项目资源与配置,统一项目名称与资源路径
...
1. 重命名项目显示名为 FastapiAdmin,更新所有环境配置中的项目标题
2. 整理前端静态资源目录,迁移logo、背景图等资源到统一路径
3. 更新资源引用别名、静态文件访问路径与swagger favicon配置
4. 优化启动横幅与控制台打印逻辑,新增动态应用名称显示
5. 调整登录页背景与logo组件样式,修复部分视觉细节
2026-05-31 03:46:59 +08:00
zhangtao
e6c9e52e5f
build(assets): 替换更新项目logo与站点图标
...
1. 新增并替换多份logo、站点图标资源文件
2. 配置别名简化logo资源导入路径
3. 更新图标引用路径与后端租户配置
2026-05-29 00:36:36 +08:00
luomgf
dd8582c7d6
fix(auth): 修复 is_deleted 布尔比较导致的 PG 登录异常
2026-05-28 11:04:58 +08:00
zhangtao
e9c6853fe6
fix(backend/static): 修正头像图片文件名拼写错误
...
将错误命名的avater.png重命名为正确的avatar.png
2026-05-28 01:40:13 +08:00
zhangtao
a518b8a298
refactor: 整理前端样式代码,统一CSS属性顺序与颜色写法
...
feat: 更新项目logo与 favicon 资源
fix: 修复工单表单接口定义缺失字段问题
style: 修复多处样式排版与兼容性问题
test: 完善权限抽屉组件单测用例格式
2026-05-28 01:09:46 +08:00
zhangtao
53d2a9d13e
chore: cleanup old frontend code and update project configs
...
This commit removes the deprecated frontend/web-old directory, updates various project configuration files including tsconfig, vite config, environment variables, and backend data models. It also fixes several API paths, adds tenant awareness to multiple models, and makes minor UI adjustments.
2026-05-27 01:12:03 +08:00
zhangtao
94ba7319c5
docs: 完善项目文档与目录结构
...
1. 新增并更新各模块README文档,统一项目说明格式
2. 调整docker目录结构,使用.gitkeep保留空目录
3. 新增CONTRIBUTING.md贡献指南文档
4. 精简根目录README,优化导航与展示逻辑
2026-05-22 00:34:08 +08:00
zhangtao
5533612a4c
chore: 整理项目配置与环境文件,更新默认大模型
...
1. 更新deploy.sh的清理逻辑,使用docker system prune替代分步骤缓存清理
2. 将开发/生产环境示例的默认大模型改为deepseek-v4-flash
3. 重构agent规则文件结构,将根目录的CLAUDE相关文档迁移到.agents目录下
2026-05-19 11:27:06 +08:00
zhangtao
ea1cd52a87
chore: 整理全局gitignore与部分目录配置
...
1. 移除web目录下的锁文件提交限制
2. 重构全局gitignore规则,合并重复配置
3. 新增文档、小程序目录的gitignore放行规则
4. 补充各类开发缓存、虚拟环境的忽略规则
2026-05-17 20:54:24 +08:00
zhangtao
86bc5d35fe
feat: 添加高亮行与序号列,优化全屏及缓存布局
2026-05-14 00:10:14 +08:00
zhangtao
63d76007cb
refactor: 重构路由与部署脚本,更新静态资源路径
2026-05-13 01:55:47 +08:00
zhangtao
db5f8430de
docs: 更新项目文档
2026-05-12 21:33:28 +08:00
zhangtao
5a9757e9de
feat(config): 增加 IP 归属地查询开关
...
新增 IP_LOCATION_ENABLE 配置项,允许在生产环境中关闭登录时的第三方 IP 查询请求,并统一使用 HTTPX_DEFAULT_TIMEOUT 超时设置。
2026-05-12 21:05:05 +08:00
zhangtao
392ff49232
fix(ip): 替换IP归属地备用API并移除冗余重试
2026-05-12 20:44:57 +08:00
zhangtao
bb1cb722ed
chore: 添加登录计时日志并优化部署脚本
...
- 在登录服务中添加各步骤耗时统计日志
- 精简部署脚本,移除冗余输出与前端构建逻辑
- 更新生产环境默认监听地址为 0.0.0.0
- 延长前端请求超时时间至 120 秒
2026-05-12 20:23:33 +08:00
zhangtao
d59aaedf35
refactor(gencode): 升级代码生成模板对齐新组件架构
2026-05-12 16:25:09 +08:00
zhangtao
c4ce0c5918
chore: 更新版本号至 3.0.0
2026-05-11 23:46:15 +08:00
zhangtao
6db264bef3
feat: 删除fastapi-backend.spec文件并更新依赖项注释
...
- 移除不再使用的fastapi-backend.spec文件
- 更新pyproject.toml和requirements.txt中的依赖项注释,增加了对OpenAI API客户端和其他依赖的描述
- 在多个API模块中统一返回类型为单数形式,提升代码一致性
- 更新前端环境配置,调整API基础URL和WebSocket端点为本地地址
2026-05-05 07:16:13 +08:00
zhangtao
b12f7a0a11
feat(auth): 添加第三方OAuth登录支持
...
- 实现OAuth登录重定向和回调处理
- 更新配置文件以支持多种OAuth提供商
- 添加错误处理和状态管理功能
- 更新文档以反映新功能和配置要求
2026-05-03 06:42:13 +08:00
zhangtao
80263e98e1
feat: 重构前端项目结构并优化代码
...
refactor: 迁移前端资源文件至web目录
feat: 新增多种图标资源
style: 统一代码风格和格式化配置
docs: 更新README和文档说明
chore: 更新依赖和配置文件
fix: 修复部分类型定义和枚举
perf: 优化路由和组件加载逻辑
2026-05-01 01:01:17 +08:00
luomgf
d2a4e95357
### 摘要
...
- 菜单表与接口增加终端维度 `client`(`pc` | `app`),与规范「PC 桌面 / APP 移动端」一致。不改已有授权逻辑。
- 管理端动态路由仅下发 `client=pc`;菜单管理页通过 Tab + 查询参数 `menu_client` 分端维护。
- 种子数据 `sys_menu.json` 为全量 PC 菜单补 `client: pc`,并内置 5 条 APP 顶级目录(首页/同事/打卡/消息/我的),图标使用项目 `src/assets/icons` 内已有名称。
### 后端
- `MenuModel` 增加 `client` 列(默认 `pc`)。
- Schema:`MenuCreateSchema` / `MenuOutSchema` 含 `client`;`MenuQueryParam` 增加 `menu_client` 过滤。
- `menu_request_validator` 校验 `client ∈ {pc,app}`;父子终端一致校验在 `MenuService` 创建/更新中执行。
- `get_current_user_info` 菜单树与角色菜单 ID 仅保留 PC 端,避免 APP 菜单进入 Vue Router。
### 前端
- 菜单管理:PC/APP Tab、`menu_client` 列表参数、表格/详情/表单「终端」、子级继承父级 `client`。
- API 类型与 `MenuClientEnum`;`permission.store` 路由 `meta.client`(可选扩展)。
### 数据库(已有库)
-postgres
```
ALTER TABLE sys_menu ADD COLUMN IF NOT EXISTS client VARCHAR(20) NOT NULL DEFAULT 'pc';
COMMENT ON COLUMN sys_menu.client IS '终端(pc:管理端桌面 app:移动端)';
```
-mysql
```
ALTER TABLE sys_menu ADD COLUMN client VARCHAR(20) NOT NULL DEFAULT 'pc' COMMENT '终端(pc/app)';
```
### 兼容与注意
- 角色授权抽屉仍调用**不带** `menu_client` 的菜单树,可同时勾选 PC 与 APP。不改已有逻辑。
- 仅改种子 JSON 不影响**已有数据**库;已建库需执行 DDL,APP 示例菜单需在库中已存在或通过初始化导入。
2026-04-27 14:09:58 +08:00
zhangtao
10a35bb4b5
feat(类型转换): 增强数据库类型转换功能并添加测试
...
- 改进MySQL和PostgreSQL几何类型的特殊处理
- 完善数据库类型到Python和SQLAlchemy类型的映射
- 修改ango生成表位置与项目数据库中
- 添加全面的类型转换测试用例
- 修复数据库连接时的schema设置问题
2026-04-23 23:33:07 +08:00
zhangtao
4254a7951f
feat: 添加跨平台运行脚本并移除旧脚本
...
新增 Windows 批处理脚本 run_win.bat 和 Linux shell 脚本 run_linux.sh,提供跨平台支持
移除旧版 run.sh 脚本,统一使用平台专用脚本
2026-04-21 00:01:51 +08:00
fastapiadmin
b4a250e737
Merge pull request #364 from weiheweihe/dev
...
Dev
2026-04-20 23:47:28 +08:00
zhangtao
f096886351
refactor(CURD): 移除搜索功能及相关代码
...
移除不再使用的搜索功能,包括工具栏中的搜索按钮、搜索区域切换按钮及相关事件处理逻辑。
同时更新模板文件和相关配置,确保代码一致性。
调整页面布局样式,优化执行日志抽屉的显示效果。
在代码生成器中添加保存按钮,允许在配置过程中保存当前进度。
2026-04-20 23:40:16 +08:00
weihe0720
6dba8079e8
fix(redis_crud): 修复哈希操作方法未正确使用await的问题
...
移除hash_get方法返回类型中错误的Awaitable联合类型,并确保hash_set和hash_get方法内部正确使用await调用Redis客户端方法,以支持异步操作。
2026-04-20 23:38:57 +08:00
coderxslee
531b1ea752
fix: 修复同步数据库时 super_column 字段导致的创建失败问题
...
问题:
- 同步数据库接口 /api/v1/generator/gencode/sync_db/{table_name} 报错
- 错误信息:'super_column' is an invalid keyword argument for GenTableColumnModel
原因:
- GenTableColumnOutSchema 包含 super_column 输出字段
- GenTableColumnModel 数据库模型不包含此字段
- 同步时直接使用 OutSchema 对象创建/更新数据库记录导致参数错误
解决方案:
- 在创建/更新数据库记录前,将 GenTableColumnOutSchema 转换为 GenTableColumnSchema
- 使用 model_dump(exclude={"super_column"}) 排除输出专用字段
- 确保传递给 CRUD 层的数据只包含数据库模型支持的字段
2026-04-20 22:31:40 +08:00
coderxslee
698418b3e5
feat: 添加 FastAPI 项目管理脚本
...
- 新增 run.sh 交互式管理脚本,提供以下功能:
- 启动开发服务器(自动检查并创建数据库)
- 生成和应用数据库迁移
- 重置迁移记录
- 清理和删除数据库
- 执行 SQL 初始化脚本
- 支持从 .env.dev 文件读取数据库配置
- 提供彩色输出和友好的交互界面
- 包含安全确认机制防止误操作
2026-04-20 22:05:40 +08:00
coderxslee
4b0c146520
git commit -m "fix(codegen): 添加软删除字段支持,避免字段重复定义
...
## 背景
本次修复包含前后端两部分:
1. 前端SQL模板添加软删除字段(新功能)
2. 后端代码模板排除软删除字段(预防性修复)
## 修复内容
### 前端模板:添加软删除字段(新功能)
**文件**: createTableVisualPresets.ts
之前前端SQL模板缺少软删除字段,导致生成的表不完整。
- **mixinMysql()**: 添加软删除字段
- is_deleted: tinyint(1) NOT NULL - 标记是否已删除
- deleted_time: datetime NULL - 记录删除时间
- deleted_id: int NULL - 记录删除人ID
- **mixinPostgres()**: 添加软删除字段
- is_deleted: boolean NOT NULL - 标记是否已删除
- deleted_time: timestamp without time zone NULL - 记录删除时间
- deleted_id: integer NULL - 记录删除人ID
### 后端模板:排除软删除字段(预防性修复)
**文件**: model.py.j2, schema.py.j2
虽然之前前端模板没有软删除字段,但为了配合前端修复,需要确保后端模板正确排除这些字段。
- **model.py.j2**: 在排除列表中添加 is_deleted, deleted_time, deleted_id
- 原排除列表: ['id', 'uuid', 'status', 'description', 'created_time', 'updated_time', 'created_id', 'updated_id']
- 新排除列表: 添加 'is_deleted', 'deleted_time', 'deleted_id'
- 原因: 这些字段由 ModelMixin 和 UserMixin 提供,不应在生成的模型中重复定义
- **schema.py.j2**: 在排除列表中添加 is_deleted, deleted_time, deleted_id
- 原排除列表: ['uuid', 'created_time', 'updated_time', 'created_id', 'updated_id']
- 新排除列表: 添加 'is_deleted', 'deleted_time', 'deleted_id'
- 原因: 软删除字段由系统自动管理,不应出现在新增/更新Schema中
## 技术说明
### 软删除机制
软删除(逻辑删除)是一种不物理删除数据的删除方式:
- **is_deleted**: 标记记录是否已删除(false=未删除, true=已删除)
- **deleted_time**: 记录删除时间,用于审计和数据恢复
- **deleted_id**: 记录删除操作人ID,外键关联sys_user表
### 字段继承关系
生成的模型继承自两个基类:
- **ModelMixin**: 提供 id, uuid, status, description, created_time, updated_time, is_deleted, deleted_time
- **UserMixin**: 提供 created_id, updated_id, deleted_id 及对应的关联关系
代码生成器应排除这些字段,避免重复定义。
## 修复效果
### 修复前
- 前端模板生成的表缺少软删除字段 ❌
- 后端模板排除列表不完整(虽然暂时没问题,因为前端也没生成这些字段)
### 修复后
- 前端模板生成的表包含完整的软删除字段 ✅
- 后端模板正确排除软删除字段,避免重复定义 ✅
- 前后端配合,生成的代码正确继承基类的软删除功能 ✅
## 影响范围
- ✅ 使用\"单表·MySQL\"或\"单表·PostgreSQL\"模板创建的表自动包含软删除字段
- ✅ 生成的model.py只包含业务字段,不会重复定义基础字段
- ✅ 所有新生成的模型自动支持软删除功能
- ✅ 与现有系统的软删除机制保持一致"
2026-04-20 20:18:53 +08:00
zhangtao
a462ab5793
feat: 实现软删除功能并添加相关字段
...
在全局类型定义、模型、CRUD操作中添加软删除支持
- 在BaseModel中添加is_deleted和deleted_time字段
- 在UserMixin中添加deleted_id和deleted_by关联
- 修改CRUDBase的delete和clear方法实现软删除逻辑
- 更新所有相关模型添加deleted_by字段
- 修改前端接口定义添加deleted_by字段
- 移除冗余的成功提示消息
2026-04-19 23:08:27 +08:00
zhangtao
7b7f617455
fix(database): 修正redis_connect函数参数类型从str到bool
...
修复redis_connect函数参数status的类型错误,从字符串类型改为布尔类型以正确反映其用途
2026-04-16 23:22:41 +08:00