
API接口文档
大约 4 分钟
概述
祺洛是一个基于 Rust 技术栈的企业级快速开发平台,采用 Axum 框架构建高性能的Web API服务。本文档详细介绍祺洛系统中各个API接口模块的设计和功能。
文件位置:mod.rs
系统架构设计
路由结构
祺洛系统采用模块化的路由设计,主要分为两大类:
- 受保护路由:需要身份验证和权限验证的业务接口
- 公开路由:不需要身份验证的公共接口(如登录、验证码等)
WebPath设计模式
系统使用自定义的 WebPath
结构来管理路由,该设计提供了以下优势:
- 统一的权限控制机制
- 接口文档自动生成支持
- 结构化的API描述信息
核心业务模块
1. 用户管理模块 (/sys/user
)
用户管理模块提供完整的用户生命周期管理功能:
核心功能:
- 用户信息查询与管理
- 用户列表分页查询
- 用户添加、编辑、删除操作
- 密码管理(重置、修改)
- 头像更新功能
- 用户部门角色关联管理
- JWT令牌刷新机制
- 用户退出登录
2. 菜单管理模块 (/sys/menu
)
菜单管理模块负责系统的导航结构和权限控制:
核心功能:
- 全部路由信息获取
- 菜单列表查询
- 菜单树形结构构建
- 菜单的增删改操作
3. 部门管理模块 (/sys/dept
)
部门管理模块提供组织架构管理功能:
核心功能:
- 部门列表树形展示
- 部门树结构查询
- 部门信息维护
- 用户部门关联查询
4. 角色权限模块 (/sys/role
& /sys/roleapi
)
角色权限模块实现基于角色的访问控制(RBAC):
角色管理功能:
- 角色列表查询
- 角色菜单权限配置
- 角色部门数据权限
- 角色树形结构展示
- 角色的增删改操作
角色API权限功能:
- 角色API权限列表管理
- 批量权限分配
- 权限传输列表查询
- 角色权限列表获取
5. 系统监控模块
登录信息监控 (/sys/logininfo
)
- 用户登录日志查询
在线用户管理 (/sys/useronline
)
- 在线用户列表查询
- 强制用户下线功能
服务器信息 (/sys/serverinfo
)
- 服务器状态更新接口
6. 数据字典模块
字典数据管理 (/sys/dictdata
)
- 字典数据的完整CRUD操作
- 按类型查询字典数据
字典类型管理 (/sys/dicttype
)
- 字典类型的管理维护
7. 定时任务模块
任务管理 (/sys/job
)
- 定时任务的完整生命周期管理
- Cron表达式验证
- 手动执行任务功能
任务日志 (/sys/jobinfo
)
- 任务执行日志记录和查询
8. 权限管理模块 (/sys/apipermission
)
- API权限列表管理
- 权限配置编辑
9. 仪表盘模块 (/sys/dashboard
)
提供丰富的数据可视化接口:
数据分析仪表盘 (/analysis
)
- 总体数据统计
- 用户访问来源分析
- 用户活跃度周报
- 月度销售数据
工作台仪表盘 (/workplace
)
- 工作台总览数据
- 项目统计信息
- 动态信息展示
- 团队数据展示
- 雷达图数据分析
10. 系统日志模块 (/sys/operationlog
)
- 操作日志记录和查询
11. 缓存管理模块 (/sys/cache
)
- 缓存列表查询
- 缓存清理操作
公开接口模块
认证接口 (/sys/auth
)
- 用户登录接口
- 验证码获取接口
测试接口 (/sys/test
)
- 系统测试相关接口
技术特性
1. RESTful API设计
系统严格遵循RESTful API设计规范,使用标准HTTP方法:
- GET:查询操作
- POST:创建操作
- PUT:更新操作
- DELETE:删除操作
2. 统一的响应格式
所有API接口采用统一的响应格式,确保前后端交互的一致性。
3. 权限控制
- 基于JWT的身份认证
- 细粒度的API权限控制
- 角色基础的访问控制(RBAC)
4. 高性能设计
- 基于Axum框架的异步处理
- 支持高并发访问
- 优化的数据库查询
部署特性
祺洛系统API支持:
- 集群部署:支持多实例负载均衡
- 多数据源:支持多个数据库连接
- 分布式部署:支持微服务架构部署
- 容器化部署:支持Docker和Kubernetes部署
扩展性
系统采用模块化设计,各个功能模块相对独立,便于:
- 功能模块的独立开发和测试
- 系统功能的渐进式扩展
- 第三方系统的集成对接
祺洛系统API接口设计充分考虑了企业级应用的需求,提供了完整的后台管理功能,为快速构建企业级应用提供了坚实的基础。