Commit Graph
322 Commits
Author SHA1 Message Date
zhangtao 86bc5d35fe feat: 添加高亮行与序号列,优化全屏及缓存布局 2026-05-14 00:10:14 +08:00
zhangtao 63d76007cb refactor: 重构路由与部署脚本,更新静态资源路径 2026-05-13 01:55:47 +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
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
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 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
zhangtao d30e07d570 fix(配置): 强制从服务器获取最新配置数据
修改多处配置获取逻辑,添加强制刷新参数确保获取最新配置
设置Redis缓存默认过期时间为24小时
2026-04-15 23:36:51 +08:00
zhangtao fd11490024 refactor(CURD): 统一工具栏按钮类型和权限命名
标准化工具栏按钮类型定义,移除重复项并统一权限命名
更新多个视图的默认工具栏配置以保持一致
添加批量修改按钮并调整相关权限名称
2026-04-12 21:54:14 +08:00
zhangtao 17c24a4ccf refactor(ip解析): 移除LOGIN_RESOLVE_IP_LOCATION配置,改用DEBUG控制IP解析
不再使用单独的LOGIN_RESOLVE_IP_LOCATION配置项控制IP归属地解析,改为直接依赖DEBUG模式设置。当DEBUG为False时关闭外网IP解析功能,减少登录时的网络请求延迟。
2026-04-10 22:41:36 +08:00
zhangtao 329dd791d2 refactor(tenant): 移除租户工具模块并优化相关代码
重构租户模块,删除不再使用的工具类文件,包括查询、写入、缓存键等功能
优化模型字段格式和CRUD方法顺序,调整前端暗黑模式颜色变量
简化租户服务逻辑,移除平台租户管理校验,改进初始管理员创建流程
2026-04-08 00:06:20 +08:00
zhangtao 9f3846adca feat(tenant): 新增多租户功能支持
refactor(application): 重构应用模块为门户应用,支持租户隔离
feat(portal): 添加门户应用管理功能

perf(health): 新增就绪探针检查,优化健康检查接口
fix(middleware): 修复请求日志中间件的异常处理

style(menu): 调整菜单表格列顺序,优化展示效果
style(table): 优化表格内操作按钮的焦点样式

docs: 更新README文档,修正智能体框架描述
chore(deps): 移除langchain相关依赖,更新项目依赖

test: 添加多租户相关测试用例
ci: 更新CI配置,支持多租户测试环境

build: 更新构建配置,支持租户插件
2026-04-07 00:53:22 +08:00
zhangtao 1255729cd4 feat: enforce required department and role codes with validation
- Updated DeptModel and RoleModel to make the `code` field mandatory and unique.
- Enhanced DeptCreateSchema and RoleCreateSchema to require a valid `code` format, ensuring it starts with a letter and is 2-16 characters long.
- Implemented validation logic in the backend to check for existing codes during updates, preventing duplicates.
- Adjusted frontend forms to reflect the required `code` field and added validation messages for user guidance.
2026-04-04 02:16:53 +08:00
zhangtao b0ae6af3b1 chore: update .gitignore and enhance docstrings across multiple files
- Added *.pyc and *.pyo to .gitignore to prevent compiled Python files from being tracked.
- Improved docstrings in various modules, providing clearer descriptions of functions, parameters, and return values to enhance code readability and maintainability.
2026-04-04 01:21:59 +08:00
zhangtao b552b29ac5 feat: 重构代码生成模块并优化相关功能
- 重构代码生成模板,统一路由前缀和业务路径规范
- 优化数据库表分页查询性能,支持方言特定实现
- 新增同步数据库差异预览功能
- 调整字段配置界面,支持拖拽排序和批量设置
- 清理旧版示例代码和冗余配置
- 修复权限和路由嵌套路径处理问题
- 优化前端样式和交互细节
2026-04-03 00:43:50 +08:00
zhangtao 8a3360ef35 fix(菜单配置): 更新示例管理目录的默认重定向路径
将示例管理目录的默认重定向路径从null改为/example/demo-group/demo01,确保用户访问时能正确跳转到示例01页面
2026-03-30 22:14:18 +08:00
zhangtao 837d8a5aa7 feat: 优化代码生成器功能并修复多个问题
- 前端表格列添加溢出提示工具
- 后端登录IP归属地查询与设置统一处理
- 分页服务明确仅用于非SQL数据源场景
- 代码生成器添加字段筛选和帮助面板
- 修复菜单高亮和布局切换问题
- 更新文档中的BUG状态和解决方案
- 优化AI聊天界面样式和交互
- 添加数据库分页支持到多个模块
- 代码生成器表单校验和流程优化
- 修复PostgreSQL日期类型问题
2026-03-30 00:37:16 +08:00
zhangtao 7081850d46 feat(dependencies): update asyncmy and pandas versions for improved performance and compatibility
- Upgraded asyncmy from version 0.2.9 to 0.2.11 to leverage enhancements and bug fixes.
- Updated pandas from version 2.2.2 to 2.2.3 for better data processing capabilities.
- Added a new configuration option LOGIN_RESOLVE_IP_LOCATION to control IP location resolution during login.
- Enhanced login service to handle IP location resolution based on the new configuration.
- Improved validation logic in menu request handling to ensure proper redirection address for specific menu types.
- Adjusted CRUD template generation to dynamically use primary key column names for better flexibility.
- Updated Vue components to ensure proper handling of dynamic primary key references in menu items and forms.
2026-03-29 20:33:33 +08:00
zhangtao 25f497a55b feat(docs): update README files for improved local setup instructions and architecture overview
- Enhanced the "Quick Start" section in both English and Chinese README files to clarify steps for running the project locally, including environment setup and backend initialization.
- Added a new section detailing local architecture and default ports, aligning with configuration files for better user guidance.
- Improved clarity on API documentation access and emphasized automatic database initialization on the first backend start.
- Updated backend README to reflect changes in migration commands and emphasize the automatic setup process during the first run.
2026-03-29 07:42:33 +08:00
zhangtao d2a863652e feat(docs): enhance README and backend documentation for new user onboarding and backend conventions
- Added a "Start Here" section in both English and Chinese README files to guide new users on running the project locally and exploring its features.
- Introduced backend conventions for date and serialization handling, clarifying the use of Pydantic v2 and PostgreSQL.
- Updated the "Quick Start" section with detailed steps for first-time local setup, including environment requirements and backend setup instructions.
- Improved overall structure and clarity of documentation to facilitate better understanding for developers and contributors.
2026-03-29 07:25:09 +08:00
zhangtao bf26563083 feat(menu): add new user management section to sys_menu.json
- Introduced a "用户管理" (User Management) section in sys_menu.json with actions for creating, updating, deleting, and viewing user details.
- Enhanced the menu structure for improved organization and accessibility of user management features.
- Updated related styles to ensure consistency with the overall application theme.
2026-03-29 04:08:30 +08:00
zhangtao 77a6d24172 feat(workflow): add workflow management section to sys_menu.json
- Introduced a new "流程管理" (Workflow Management) section in sys_menu.json with various actions including create, debug, modify, delete, detail, and query workflows.
- Enhanced the menu structure to facilitate better organization and access to workflow management features.
- Updated related styles and variables for improved theme integration across the application.
2026-03-29 04:08:16 +08:00
zhangtao 7484560d9f feat(menu): add example management directory and related actions
- Introduced a new "示例管理目录" (Example Management Directory) in sys_menu.json with a structured hierarchy.
- Added multiple actions under "示例01管理" including create, update, delete, and import/export functionalities with appropriate permissions.
- Enhanced the menu structure to support better organization and access to example management features.
2026-03-29 03:21:23 +08:00
zhangtao 565663be4a refactor(captcha): 调整验证码字体大小并增强验证码生成逻辑
- 修改验证码字体大小从40调整为35
- 增加验证码生成的难度参数,支持不同难度级别的运算
- 优化验证码图像生成逻辑,增加随机噪点和干扰线,提升安全性和可读性
2026-03-25 01:18:24 +08:00
zhangtao fd8ee5d3af feat(theme): 添加侧边栏logo的文本颜色和背景色变量
feat(editor): 替换模拟文件上传为实际API调用

fix(validator): 为日期和时间类型添加格式验证器
2026-03-22 23:59:05 +08:00
zhangtao 014b5439da refactor(vue模板): 移除未使用的data-table样式 2026-03-16 01:00:38 +08:00
zhangtao 7e9e32d1b4 feat: 优化前端表格样式和查询表单布局
refactor(backend): 重构查询参数处理逻辑并使用枚举

fix: 修复状态显示不一致问题

style: 调整代码格式和导入顺序

perf(frontend): 优化表格高度自适应和溢出处理

docs: 添加方法参数和返回值的注释
2026-03-16 00:59:48 +08:00
zhangtao fcab562cd9 feat(workflow): 新增工作流管理模块及相关组件
feat(tenant): 添加租户管理模块的模型、CRUD和服务层

feat(frontend): 实现工作流设计器和节点配置面板

feat(api): 添加工作流API接口定义和类型声明

refactor: 优化代码结构和注释格式

build: 添加@vue-flow相关依赖包
2026-03-15 01:27:03 +08:00
zhangtao 29f6cf9ae0 fix(用户管理): 修复编辑用户时密码字段显示问题
refactor(导航栏): 优化样式和颜色变量使用
使用CSS变量替代硬编码颜色值,提高主题一致性

refactor(顶部菜单): 重命名变量和方法以提升可读性
将processedTopMenus改为topMenuItems,handleMenuSelect改为handleTopMenuSelect

fix(菜单服务): 修复菜单标题重复校验逻辑
增加parent_id作为校验条件,避免同级菜单标题重复

refactor(顶部布局): 重构布局结构和样式
优化DOM结构和CSS,提升可维护性和响应式表现
2026-03-15 00:42:59 +08:00
zhangtao e03692467b feat(ai): 重构AI聊天模块,使用agno框架替代langchain
- 移除langchain相关依赖,引入agno作为大模型开发框架
- 重构聊天会话和消息存储,使用agno的TeamSession管理
- 合并chat_message和chat_session模块为统一的chat模块
- 更新前端API和类型定义,适配新的后端接口
- 优化数据库日志字段类型,根据数据库类型自动选择
- 重构AI助手组件,使用新的聊天API
- 清理不再使用的模型、控制器和服务代码
2026-03-13 00:41:44 +08:00
zhangtao 37d4dade10 feat(nginx): 更新SSL证书路径配置
fix(deploy): 移除对main分支的拉取尝试

feat(task): 添加节点处理器模块和示例代码

refactor(scheduler): 改进任务执行包装器支持完整Python语法

style(monitor): 允许资源文件URL为相对路径

chore(deps): 降级requests版本到2.32.3

refactor(frontend): 更新节点任务示例代码

refactor(docker): 优化docker-compose配置和健康检查

refactor(resource): 加强文件路径安全检查和URL处理
2026-03-08 21:17:04 +08:00
zhangtao f2238a2a1a fix(白名单): 添加自动登录相关接口到系统白名单 2026-03-04 00:36:55 +08:00
zhangtao 2add3bed3b feat(认证): 实现免登录快速登录功能
- 后端添加免登录用户列表、生成Token和免登录接口
- 前端添加快速登录标签页,支持用户头像快速登录
- 优化登录页面样式和交互体验
- 修复日志处理器移除时的异常处理问题
- 调整任务调度页面按钮文字和样式
2026-03-03 00:18:21 +08:00
zhangtao 4b9ebfd4ed feat(任务调度): 改进任务执行日志记录和UI展示
refactor(前端): 重构任务管理界面为卡片式布局
fix(后端): 修复任务日志记录中的job_id类型问题
perf(调度器): 优化立即执行任务的日志记录机制
style(前端): 调整多个页面的高度计算方式
2026-03-02 00:25:14 +08:00
zhangtao 83289f6025 feat: 重构前端页面布局和权限控制
refactor(前端): 统一调整表格高度为动态计算
fix(任务): 修正节点调试权限标识
style: 优化搜索区域样式和位置
chore: 移除不再使用的日志清理接口
docs(菜单): 更新菜单项名称和权限标识
2026-03-01 00:57:02 +08:00
zhangtao b12c953f07 refactor(module_task): 移除节点分类相关代码
移除节点分类功能,包括前后端相关字段、枚举、表单和展示逻辑
优化任务调度器异常处理和日志记录
改进WebSocket聊天控制器的错误处理和连接关闭逻辑
增强节点调试功能,添加执行成功提示和跳转引导
2026-02-26 23:27:28 +08:00
zhangtao 1727110b46 refactor(workflow): 移除工作流编排功能及相关代码
删除前后端工作流编排功能的所有相关代码,包括模型、控制器、服务、API、前端组件等
更新依赖版本并移除不再需要的依赖包
调整系统菜单配置移除工作流相关菜单项
2026-02-26 00:33:57 +08:00
zhangtao 4e0eff3653 feat(workflow): 重构工作流模块并移除配置表单功能
refactor(node): 移除节点模型中的config_schema字段
refactor(workflow): 简化工作流模型和CRUD操作
feat(composables): 重构并增强任务相关组合式函数
style(settings): 优化设置抽屉样式
fix(auth): 修复配置加载逻辑
chore: 清理无用文件和代码
2026-02-23 06:43:38 +08:00
zhangtao d21242f4a7 feat: 重构任务调度系统和工作流节点管理
- 重构任务调度系统,将定时任务改为调度器监控,优化状态管理和日志记录
- 重构工作流节点模型,简化分类并增加执行相关字段
- 优化工作流执行逻辑,移除对开始/结束节点的强制要求
- 前端新增终端组件和工作流节点操作按钮优化
- 移除无用代码和文件,清理后端任务调度相关代码
- 更新系统菜单结构,调整任务管理相关权限和名称
2026-02-23 03:09:29 +08:00