LoveACE - Make It Easy
首页
加入Q群
首页
加入Q群
  1. 首页
  • 首页
  • 首页
    • 首页 - 请求后跳转到 Apifox 文档页面
      GET
  • 服务健康检查
    • 服务健康检查接口
      GET
  • 用户资料
    • 获取用户资料
      GET
    • 上传用户头像
      PUT
    • 更新用户资料
      PUT
    • 获取用户头像的MD5值
      GET
  • Flutter 资料
    • 获取 Flutter 用户资料
      GET
    • 上传 Flutter 背景图片
      PUT
    • 更新 Flutter 用户资料
      PUT
    • 获取 Flutter 背景图片的 MD5 值
      GET
  • 用户验证
    • 用户登录
      POST
    • 邀请码验证
      POST
    • 用户注册
      POST
    • Token 有效性验证
      GET
  • 教务处
    • 获取考试信息
      GET
    • 获取学业信息
      GET
    • 获取培养方案信息
      GET
    • 获取选课状态信息
      GET
    • 获取所有学期信息
      GET
    • 获取当前学期信息
      GET
    • 获取给定学期成绩列表
      GET
    • 获取当前培养方案完成信息
      GET
    • 获取课表信息
      GET
    • 获取完整学科竞赛信息
      GET
  • 爱安财
    • 获取爱安财总分信息
    • 获取爱安财分数明细
  • 电费
    • [完整数据] 获取所有楼栋、楼层、房间的完整树形结构
    • [轻量级] 获取所有楼栋列表(仅楼栋信息,不含楼层和房间)
    • [按楼栋查询] 获取指定楼栋的所有楼层和房间
    • [按楼层查询] 获取指定楼层的所有房间列表
    • [房间详情] 获取单个房间的完整层级信息
    • [用户操作] 绑定寝室到当前用户
    • [用户查询] 获取当前用户绑定的宿舍信息
    • [管理操作] 强制刷新房间列表缓存
    • 获取寝室电费信息
  • 劳动俱乐部
    • 获取劳动俱乐部修课进度
    • 获取已加入的劳动活动列表
    • 获取已加入的劳动俱乐部列表
    • 获取指定俱乐部的活动列表
    • 报名参加劳动活动
    • 扫码签到
    • 获取活动签到列表
    • 获取活动详情
  • 数据模型
    • Schemas
      • AcademicInfo
      • AliveResponse
      • AuthMeResponse
      • ActivityDetailData
      • AvatarUpdateResponse
      • BindRoomRequest
      • ActivityDetailResponse
      • BindRoomResponse
      • AvatarMD5Response
      • AwardProject
      • CacheBuildingData
      • Body_profile_flutter_image_upload_profile_flutter_image_upload_put
      • CacheFloorData
      • Body_profile_user_avatar_upload_profile_user_avatar_upload_put
      • CacheRoomsData
      • BuildingInfo
      • CourseSelectionStatus
      • BuildingListResponse
      • CourseTimeLocation
      • CurrentRoomResponse
      • CurrentTermInfo
      • DetailModel
      • ElectricityBalance
      • ElectricityUsageRecord
      • CompetitionFullResponse
      • ErrorResponse
      • ExamInfoResponse
      • ForceRefreshResponse
      • CreditsSummary
      • HTTPValidationError
      • InviteCodeRequest
      • InviteCodeResponse
      • LoginRequest
      • FloorRoomsResponse
      • LoginResponse
      • ErrorModel
      • FlutterImageUploadResponse
      • LoveACCreditCategory
      • FlutterProfileResponse
      • LoveACCreditInfo
      • FlutterProfileUpdateRequest
      • LoveACCreditItem
      • PaymentRecord
      • PlanCompletionCategory
      • FlutterImageMD5Response
      • PlanCompletionCourse
      • FlutterImageMode
      • PlanCompletionInfo
      • FlowData
      • RegisterRequest
      • RegisterResponse
      • RoomInfo
      • ScheduleCourse
      • ScheduleData
      • LDJLBActivity
      • ScoreRecord
      • LDJLBActivityListResponse
      • TermItem
      • FormField
      • LDJLBApplyResponse
      • TermScoreResponse
      • LDJLBClub
      • TimeSlot
      • LDJLBClubListResponse
      • TrainingPlanInfo
      • LDJLBPageInfo
      • UniISIMInfoResponse
      • LDJLBProgressInfo
      • RoomDetailResponse
      • UnifiedExamInfo
      • ValidationError
      • UserProfileResponse
      • UniResponseModel
      • UserProfileUpdateRequest
      • UniResponseModel[AcademicInfo]
      • UniResponseModel[AuthMeResponse]
      • ScanSignRequest
      • UniResponseModel[AvatarUpdateResponse]
      • ScanSignResponse
      • UniResponseModel[BindRoomResponse]
      • UniResponseModel[BuildingListResponse]
      • UniResponseModel[CacheRoomsData]
      • UniResponseModel[AvatarMD5Response]
      • UniResponseModel[CompetitionFullResponse]
      • SignItem
      • UniResponseModel[CourseSelectionStatus]
      • SignListResponse
      • UniResponseModel[CurrentRoomResponse]
      • UniResponseModel[CurrentTermInfo]
      • UniResponseModel[ExamInfoResponse]
      • UniResponseModel[FloorRoomsResponse]
      • UniResponseModel[FlutterImageUploadResponse]
      • Teacher
      • UniResponseModel[FlutterProfileResponse]
      • UniResponseModel[ForceRefreshResponse]
      • UniResponseModel[InviteCodeResponse]
      • UniResponseModel[List[LoveACCreditCategory]]
      • UniResponseModel[FlutterImageMD5Response]
      • UniResponseModel[LoginResponse]
      • UniResponseModel[LoveACCreditInfo]
      • UniResponseModel[PlanCompletionInfo]
      • UniResponseModel[RegisterResponse]
      • UniResponseModel[ActivityDetailResponse]
      • UniResponseModel[RoomDetailResponse]
      • UniResponseModel[ScheduleData]
      • UniResponseModel[TermScoreResponse]
      • UniResponseModel[TrainingPlanInfo]
      • UniResponseModel[UniISIMInfoResponse]
      • UniResponseModel[UserProfileResponse]
      • UniResponseModel[list[TermItem]]
      • UniResponseModel[LDJLBActivityListResponse]
      • UniResponseModel[LDJLBApplyResponse]
      • UniResponseModel[LDJLBClubListResponse]
      • ValidationErrorDetail
      • UniResponseModel[LDJLBProgressInfo]
      • ValidationErrorModel
      • UniResponseModel[ScanSignResponse]
      • UniResponseModel[SignListResponse]
首页
加入Q群
首页
加入Q群
  1. 首页

首页

LoveACE - 财大自动化工具#

LoveACE Logo
Make It Easy

🚀 项目简介#

LoveACE 是一个面向安徽财经大学的教务系统自动化工具,专为安徽财经大学各类系统设计。通过 RESTful API 接口,提供课表查询、成绩查询、积分查询、宿舍管理等功能,大幅简化学生的日常操作流程。

✨ 主要特性#

🔐 安全认证: 基于 Token 的用户认证系统,RSA 加密保护敏感信息
📚 教务集成: 深度集成教务系统,支持成绩、课表、考试、培养方案、学业信息查询
💯 积分查询: 爱安财系统集成,实时查询积分和明细
🏠 宿舍管理: ISIM系统集成,支持电费查询和房间信息查询
🚀 高性能: 基于 FastAPI 构建,支持异步处理和高并发
📊 中间件支持: 请求处理时间监控、CORS 配置
🔒 数据安全: RSA 加密存储敏感信息,保护用户隐私

🛠️ 技术栈#

后端框架: FastAPI - 现代、快速的 Python Web 框架
数据库: SQLAlchemy (异步) + aiomysql - 强大的异步 ORM
HTTP客户端: httpx - 现代化的异步 HTTP 客户端
日志系统: richuru - rich + loguru 的完美结合
包管理: uv - 极速 Python 包管理器
加密工具: cryptography - RSA 加密支持
数据解析: BeautifulSoup4 + lxml - HTML 解析

📚 API 功能#

认证模块 (/auth)#

用户注册: 创建新用户账号
用户登录: 获取访问令牌
身份验证: 验证当前用户身份和令牌有效性

教务系统 (/jwc)#

成绩查询: 查询学期成绩和历史成绩
课表查询: 获取当前学期课程表
考试安排: 查看考试时间和地点
培养方案: 查询专业培养方案
学业信息: 获取学生基本学业信息
学期信息: 查询学期列表

爱安财系统 (/aac)#

学分查询: 查询总的爱安财学分
学分明细: 获取爱安财学分明细

宿舍管理 (/isim)#

电费查询: 查询宿舍剩余电费
房间信息: 获取宿舍房间详细信息

📚 文档#

API 文档#

启动服务后,在 debug 模式下访问:
Swagger UI: http://localhost:4500/docs
ReDoc: http://localhost:4500/redoc
OpenAPI Schema: http://localhost:4500/openapi.json
注意: 生产环境下,文档接口默认关闭,需在配置文件中设置 app.debug = true 启用。

🏗️ 项目结构#

LoveACE-V2/
├── 📁 loveace/            # 主应用目录
│   ├── 📁 config/        # 配置管理
│   │   ├── logger.py     # 日志配置
│   │   ├── manager.py    # 配置管理器
│   │   └── settings.py   # 配置模型
│   ├── 📁 database/      # 数据库相关代码
│   │   ├── creator.py    # 数据库会话管理
│   │   ├── base/         # 基础模型定义
│   │   ├── auth/         # 认证相关模型 (用户、令牌、登录、注册)
│   │   ├── aac/          # 爱安财积分票据模型
│   │   └── isim/         # 宿舍管理模型
│   ├── 📁 router/        # API路由定义
│   │   ├── dependencies/ # 路由依赖项 (认证、日志等)
│   │   ├── endpoint/     # API端点
│   │   │   ├── auth/     # 认证路由 (登录、注册、authme)
│   │   │   ├── jwc/      # 教务系统路由 (成绩、课表、考试、培养方案等)
│   │   │   ├── aac/      # 爱安财系统路由 (积分查询)
│   │   │   └── isim/     # 宿舍管理路由 (电费、房间信息)
│   │   └── schemas/      # 通用响应模型和错误处理
│   ├── 📁 service/       # 服务层
│   │   ├── model/        # 服务模型
│   │   └── remote/       # 远程服务
│   │       └── aufe/     # 安徽财经大学服务集成
│   ├── 📁 middleware/    # 中间件
│   │   └── process_time.py # 请求处理时间中间件
│   └── 📁 utils/         # 工具函数
│       ├── richuru_hook.py # Rich + Loguru 集成
│       └── rsa.py        # RSA 加密工具
├── 📁 data/              # 数据文件
│   ├── isim_rooms.json   # 宿舍房间数据
│   └── keys/             # RSA密钥对
├── 📁 logs/              # 日志文件目录
├── 📄 main.py            # 应用入口文件
├── 📄 config.json        # 配置文件
├── 📄 pyproject.toml     # 项目依赖配置 (uv)
├── 📄 uv.lock            # 依赖锁定文件
└── 📄 README.md          # 项目说明文档

🤝 贡献#

我们欢迎所有形式的贡献!

贡献方式#

🐛 Bug报告: 创建Issue
💡 功能建议: 发起Issue
📝 代码贡献: 提交Pull Request
📖 文档改进: 帮助完善文档

开发指南#

⚖️ 免责声明#

重要提醒: 本软件仅供学习、研究和个人非商业用途使用。

使用条款#

✅ 开源性质: 本软件为教育目的开发的开源项目,遵循 MIT 许可证
📚 用途限制: 仅限于学习交流、技术研究等非商业用途
⚠️ 合规使用: 使用时请严格遵守学校相关规定、服务条款及您所在地的法律法规
🛡️ 账户安全: 请妥善保管个人账户信息,不要与他人共享,避免账号泄露
🔒 隐私保护: 本软件不会主动收集、存储或泄露用户的个人信息

商业使用禁止#

❌ 严禁商用: 本软件不得用于任何形式的商业用途,包括但不限于:
收费服务或产品
商业广告和推广
未经授权的数据采集和销售
⚠️ 风险自负: 任何未经授权的商业使用所产生的法律责任、经济损失、侵权纠纷及其他风险,均由商业使用者自行承担,与本软件作者及所有贡献者无关

免责条款#

🚫 后果免责: 开发者及贡献者不对使用本软件造成的任何直接或间接后果负责,包括但不限于:
账号封禁或处罚
数据丢失或泄露
服务中断或错误
学业或经济损失
🔧 无担保: 本软件按"现状"提供,不提供任何明示或暗示的担保,包括但不限于适销性、特定用途适用性的担保
📋 自行判断: 用户应自行判断使用本软件的风险,并承担使用本软件的全部责任

接受条款#

📜 视为同意: 下载、安装、使用本软件或对本软件进行任何形式的操作,即表示您已充分阅读、理解并同意接受本免责声明的所有条款
⛔ 不同意则停止: 如果您不同意本免责声明的任何条款,请立即停止使用本软件并删除所有相关文件

📞 支持与联系#

📧 邮箱: sibuxiang@proton.me
🐛 Bug报告: GitHub Issues
💬 讨论交流: GitHub Discussions

📄 许可证#

本项目采用 MIT许可证 开源。
重要商业使用限制: 本软件不得用于商业用途。任何未经授权的商业使用所产生的一切法律责任、经济损失及其他风险,均由商业使用者自行承担,与本软件作者及贡献者无关。

如果这个项目对你有帮助,请给它一个 ⭐️
Made with ❤️ by Sibuxiangx
修改于 2025-10-28 06:32:18
下一页
首页 - 请求后跳转到 Apifox 文档页面
Built with