# 软件开发实训 **Repository Path**: Chancy599/software-development-training ## Basic Information - **Project Name**: 软件开发实训 - **Description**: 该作品为华南理工大学软件学院"软件开发综合实训"课程作品,团队最终得分为100分 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-03-17 - **Last Updated**: 2025-11-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: Python, Java, Vue, HTML, CSS ## README # 软件开发实训 ## 项目介绍 这是一个基于 UniApp 开发的综合性实训项目,包含多个后端服务和前端页面,主要用于实现一个签到管理系统。项目集成了多种签到方式(如密码签到、二维码签到、GPS 定位签到、人脸识别签到),并提供管理、查询、统计等辅助功能。 ## 项目结构 - **uniapp/back-end/UserInfo**: 用户信息管理模块,包括用户注册、登录、信息修改等基础功能。 - **uniapp/back-end/clock_in**: 签到核心模块,支持多种签到方式(密码、二维码、GPS、人脸识别)。 - **uniapp/back-end/face_recognition**: 人脸识别签到模块,用于实现人脸识别签到功能。 - **uniapp/back-end/qrcode**: 二维码生成模块,用于生成签到所需的二维码。 - **uniapp/back-end/query**: 数据查询模块,支持签到记录、用户信息、班级信息等的查询。 - **uniapp/back-end/reason**: 请假申请与审批模块,支持用户提交请假申请和管理员审批。 - **uniapp/front-end**: 前端页面模块,使用 UniApp 开发,适配小程序、H5、App 等多端。 - **web/**: 后端 Web 服务模块,提供 Excel 数据导入导出、AI 图表分析、MCP 智能助手等功能。 ## 主要功能模块 ### 用户管理模块 (UserInfo) - 用户注册 - 用户登录 - 用户信息管理 - 用户权限管理(普通用户、管理员) ### 签到模块 (clock_in) - 支持多种签到方式: - 密码签到 - 二维码签到 - GPS 定位签到 - 人脸识别签到 - 签到记录存储与查询 - 签到模板配置 ### 人脸识别签到模块 (face_recognition) - 人脸比对签到 - 人脸特征提取与存储 - 集成第三方人脸识别 SDK ### 二维码生成模块 (qrcode) - 动态生成签到二维码 - 支持微信小程序扫码签到 ### 数据查询模块 (query) - 查询签到记录 - 查询班级成员 - 查询用户签到统计 - 查询未签到名单 ### 请假管理模块 (reason) - 用户提交请假申请 - 管理员审批请假 - 请假记录查看 ### 前端模块 (front-end) - 多平台适配(小程序、H5、App) - 主页、签到、记录、设置等页面 - 支持多种签到方式 - 用户信息管理界面 ### Web 服务模块 (web/) - Excel 数据导入导出 - AI 图表分析 - 智能助手(MCP) - 语音识别与处理 ## 安装与部署 ### 后端服务部署 1. **Java 环境准备**:确保已安装 JDK 17 或更高版本。 2. **Maven 环境准备**:确保已安装 Maven。 3. **构建项目**: ```bash cd uniapp/back-end mvn clean package ``` 4. **运行服务**: - 用户信息模块: ```bash java -jar UserInfo/target/UserInfo-0.0.1-SNAPSHOT.jar ``` - 签到模块: ```bash java -jar clock_in/target/clock_in-0.0.1-SNAPSHOT.jar ``` - 人脸识别模块: ```bash java -jar face_recognition/target/face_recognition-0.0.1-SNAPSHOT.jar ``` - 数据查询模块: ```bash java -jar query/query/target/demo0328-0.0.1-SNAPSHOT.jar ``` - 请假模块: ```bash java -jar reason/target/reason-0.0.1-SNAPSHOT.jar ``` ### 前端部署 1. **安装 HBuilderX 或 HBuilder** 开发工具。 2. 打开 `uniapp/front-end` 目录。 3. 编译并运行项目,选择目标平台(如微信小程序、H5 等)。 ### Web 服务部署 1. **Python 环境准备**:确保已安装 Python 3.10 或更高版本。 2. **安装依赖**: ```bash pip install -r web/server/requirements.txt ``` 3. **启动服务**: ```bash cd web/server python mcp/mcp.py python mcp/generateChecking.py python chart_ai/analysis.py ``` ## 使用说明 - **用户注册与登录**:用户可以通过注册页面注册账号,并通过登录页面登录系统。 - **签到操作**:用户可在签到页面选择不同的签到方式(密码、二维码、GPS、人脸识别)进行签到。 - **查询签到记录**:用户可在记录页面查看自己的签到记录。 - **请假申请**:用户可在设置页面提交请假申请,管理员可在管理页面审批。 - **数据分析**:管理员可通过 Web 端查看签到数据的图表分析和统计信息。 ## 参与贡献 1. Fork 本仓库。 2. 创建新分支 `feat/your-feature-name`。 3. 提交代码。 4. 创建 Pull Request。 ## 特色功能 - 多平台适配:支持小程序、H5、App。 - 多种签到方式:密码、二维码、GPS、人脸识别。 - 数据可视化:支持签到数据的图表分析。 - 智能助手:集成 AI 智能助手,辅助管理与分析。 - 请假审批流程:支持完整的请假申请与审批流程。