Files
zcglxt/PROJECT_OVERVIEW.md
Claude e71181f0a3 fix: 修复多个关键问题
- 修复前端路由守卫:未登录时不显示提示,直接跳转登录页
- 修复API拦截器:401错误不显示提示,直接跳转
- 增强验证码显示:图片尺寸从120x40增加到200x80
- 增大验证码字体:从28号增加到48号
- 优化验证码字符:排除易混淆的0和1
- 减少干扰线:从5条减少到3条,添加背景色优化
- 增强登录API日志:添加详细的调试日志
- 增强验证码生成和验证日志
- 优化异常处理和错误追踪

影响文件:
- src/router/index.ts
- src/api/request.ts
- app/services/auth_service.py
- app/api/v1/auth.py
- app/schemas/user.py

测试状态:
- 前端构建通过
- 后端语法检查通过
- 验证码显示效果优化完成

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-25 00:26:21 +08:00

7.8 KiB
Raw Blame History

资产管理系统后端API - 项目概览

📊 项目完成度

已完成 (Phase 1: 基础框架)

1. 项目结构与配置

  • 完整的目录结构
  • requirements.txt (依赖包清单)
  • .env.example (环境变量模板)
  • .gitignore (Git忽略配置)
  • README.md (项目说明文档)

2. 核心模块 (app/core/)

  • config.py: 应用配置管理基于Pydantic Settings
  • security.py: 安全工具JWT、密码加密
  • deps.py: 依赖注入(数据库会话、用户认证)
  • exceptions.py: 自定义异常类(业务异常、权限异常等)
  • response.py: 统一响应封装(成功、错误、分页)

3. 数据库层 (app/db/)

  • base.py: SQLAlchemy模型基类
  • session.py: 异步数据库会话管理
  • Alembic配置数据库迁移工具

4. 用户认证系统

  • 模型: User, Role, UserRole, Permission, RolePermission
  • Schema: 完整的用户、角色、权限Schema定义
  • CRUD: 用户和角色的完整CRUD操作
  • 服务: 认证服务登录、登出、Token刷新、密码管理
  • API: 认证相关API端点

5. 主应用 (app/main.py)

  • FastAPI应用配置
  • CORS中间件
  • 全局异常处理
  • 请求验证异常处理
  • 生命周期管理(启动/关闭)
  • 日志配置基于loguru
  • 健康检查端点

6. 测试框架

  • pytest配置
  • 测试数据库fixture
  • 测试客户端fixture

7. 开发工具

  • Makefile (Linux/Mac)
  • start.bat (Windows)
  • Alembic数据库迁移配置

🚧 进行中 (Phase 2: 认证与用户管理)

需要完成的功能

1. 用户管理API

  • 用户列表(分页、搜索、筛选)
  • 创建用户
  • 更新用户
  • 删除用户
  • 重置密码
  • 获取当前用户信息

2. 角色权限API

  • 角色列表
  • 创建角色
  • 更新角色
  • 删除角色
  • 权限树列表

3. RBAC权限控制

  • 权限检查中间件
  • 数据权限控制
  • 权限缓存Redis

📋 待开发 (Phase 3-7)

Phase 3: 基础数据管理

  • 设备类型管理API
  • 机构网点管理API树形结构
  • 品牌管理API
  • 供应商管理API
  • 字典数据API

Phase 4: 资产管理核心

  • 资产管理APICRUD、高级搜索
  • 资产状态机服务
  • 资产编码生成服务
  • 二维码生成服务
  • 批量导入导出服务
  • 扫码查询API

Phase 5: 资产分配

  • 分配单管理API
  • 分配单明细API
  • 资产调拨API
  • 资产回收API

Phase 6: 维修与统计

  • 维修记录API
  • 统计分析API
  • 报表导出API

Phase 7: 系统管理

  • 系统配置API
  • 操作日志API
  • 登录日志API
  • 消息通知API
  • 文件上传API

📁 项目文件清单

asset_management_backend/
├── app/                           # 应用主目录
│   ├── __init__.py
│   ├── main.py                    # ✅ FastAPI应用入口
│   ├── api/                       # API路由
│   │   ├── __init__.py
│   │   └── v1/                    # API V1版本
│   │       ├── __init__.py        # ✅ 路由注册
│   │       └── auth.py            # ✅ 认证API
│   ├── core/                      # 核心模块
│   │   ├── __init__.py
│   │   ├── config.py              # ✅ 配置管理
│   │   ├── security.py            # ✅ 安全工具
│   │   ├── deps.py                # ✅ 依赖注入
│   │   ├── exceptions.py          # ✅ 自定义异常
│   │   └── response.py            # ✅ 统一响应
│   ├── crud/                      # 数据库CRUD
│   │   ├── __init__.py
│   │   └── user.py                # ✅ 用户CRUD
│   ├── db/                        # 数据库
│   │   ├── __init__.py
│   │   ├── base.py                # ✅ 模型基类
│   │   └── session.py             # ✅ 会话管理
│   ├── models/                    # SQLAlchemy模型
│   │   ├── __init__.py
│   │   └── user.py                # ✅ 用户模型
│   ├── schemas/                   # Pydantic Schema
│   │   └── user.py                # ✅ 用户Schema
│   ├── services/                  # 业务逻辑
│   │   ├── __init__.py
│   │   └── auth_service.py        # ✅ 认证服务
│   └── utils/                     # 工具函数
│       └── __init__.py
├── alembic/                       # 数据库迁移
│   ├── versions/                  # 迁移脚本
│   ├── env.py                     # ✅ 环境配置
│   └── script.py.mako             # ✅ 脚本模板
├── tests/                         # 测试
│   ├── conftest.py                # ✅ 测试配置
│   ├── api/                       # API测试
│   ├── services/                  # 服务测试
│   └── crud/                      # CRUD测试
├── logs/                          # 日志目录
├── uploads/                       # 上传文件
│   ├── qrcodes/                   # 二维码
│   ├── avatars/                   # 头像
│   └── documents/                 # 文档
├── .env.example                   # ✅ 环境变量示例
├── .gitignore                     # ✅ Git忽略配置
├── alembic.ini                    # ✅ Alembic配置
├── Makefile                       # ✅ Make命令
├── README.md                      # ✅ 项目说明
├── DEVELOPMENT.md                 # ✅ 开发文档
├── PROJECT_OVERVIEW.md            # ✅ 项目概览(本文件)
├── requirements.txt               # ✅ 依赖包
├── run.py                         # ✅ 启动脚本
└── start.bat                      # ✅ Windows启动脚本

🎯 下一步工作计划

立即开始 (优先级最高)

  1. 完成用户管理API (1-2天)

    • app/api/v1/users.py
    • 用户列表、创建、更新、删除
    • 密码重置
  2. 完成角色权限API (1天)

    • app/api/v1/roles.py
    • 角色CRUD
    • 权限树查询
  3. 实现RBAC权限中间件 (1天)

    • 完善PermissionChecker
    • 权限缓存

短期目标 (本周)

  1. 设备类型管理 (2-3天)

    • 模型、Schema、CRUD
    • 动态字段定义
    • API端点
  2. 机构网点管理 (2天)

    • 树形结构
    • 递归查询

中期目标 (下周)

  1. 资产管理核心 (5-7天)
    • 资产CRUD
    • 状态机
    • 编码生成
    • 二维码生成

💡 技术亮点

  1. 异步架构: 全面使用async/await提升并发性能
  2. 类型安全: 完整的Type Hints和Pydantic验证
  3. 统一响应: 标准化的API响应格式
  4. 异常处理: 完善的异常体系
  5. 日志管理: 结构化日志loguru
  6. 数据库迁移: Alembic版本控制
  7. 测试覆盖: pytest测试框架
  8. 开发规范: 完整的代码规范和文档

📈 项目统计

  • 总代码行数: ~3000+ 行
  • 完成模块: 5个核心模块
  • API端点: 5个认证模块
  • 数据模型: 5个用户、角色、权限
  • 测试覆盖: 基础测试框架已搭建

🔧 技术栈版本

FastAPI          0.104.1
SQLAlchemy       2.0.23
Pydantic         2.5.0
PostgreSQL       14+
Redis            7+
Python           3.10+

📞 联系方式

  • 开发组: 后端API开发组
  • 负责人: 老王
  • 创建时间: 2025-01-24
  • 版本: v1.0.0

备注: 本项目已完成基础框架搭建,可以正常运行。建议按照优先级顺序逐步开发剩余功能模块。