# 毕设后端 **Repository Path**: ayaoge/graduation-backend ## Basic Information - **Project Name**: 毕设后端 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-12 - **Last Updated**: 2025-10-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Express 简易登录系统 这是一个使用 Express.js 框架构建的简易登录系统,支持用户注册和登录功能。 ## 功能特性 - 用户注册 - 用户登录 - 密码加密存储 - 数据库验证 - 简单的Web界面测试 ## 安装和设置 ### 1. 安装依赖 ```bash npm install ``` ### 2. 数据库配置 1. 确保你已安装并运行 MySQL 数据库 2. 修改 `config/database.js` 文件中的数据库连接信息: ```javascript const dbConfig = { host: 'localhost', user: 'root', password: 'your_password', // 修改为你的数据库密码 database: 'login_db', // 修改为你的数据库名 port: 3306 }; ``` ### 3. 初始化数据库 在 MySQL 中执行 `database/init.sql` 文件来创建数据库和表: ```bash mysql -u root -p < database/init.sql ``` 或者手动在 MySQL 中执行以下 SQL: ```sql CREATE DATABASE IF NOT EXISTS login_db; USE login_db; CREATE TABLE IF NOT EXISTS users ( id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50) UNIQUE NOT NULL, password VARCHAR(255) NOT NULL, email VARCHAR(100) UNIQUE NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ); ``` ### 4. 启动服务器 ```bash npm start ``` 服务器将在 http://localhost:3000 启动 ## API 接口 ### 登录接口 **POST** `/auth/login` 请求体: ```json { "username": "用户名", "password": "密码" } ``` 响应: ```json { "success": true, "message": "登录成功", "user": { "id": 1, "username": "用户名", "email": "邮箱" } } ``` ### 注册接口 **POST** `/auth/register` 请求体: ```json { "username": "用户名", "password": "密码", "email": "邮箱" } ``` 响应: ```json { "success": true, "message": "注册成功", "userId": 1 } ``` ## 测试 1. 访问 http://localhost:3000/login.html 查看登录测试页面 2. 使用默认测试账号: - 用户名:`testuser` - 密码:`123456` 3. 或者点击"注册"链接创建新账号 ## 项目结构 ``` express/ ├── config/ │ └── database.js # 数据库配置 ├── database/ │ └── init.sql # 数据库初始化脚本 ├── routes/ │ ├── auth.js # 认证路由 │ ├── index.js # 首页路由 │ └── users.js # 用户路由 ├── public/ │ └── login.html # 登录测试页面 ├── app.js # 主应用文件 └── package.json # 项目配置 ``` ## 技术栈 - **后端框架**: Express.js - **数据库**: MySQL - **数据库驱动**: mysql2 - **密码加密**: bcryptjs - **跨域支持**: cors ## 安全特性 - 密码使用 bcrypt 加密存储 - 防止 SQL 注入攻击 - 输入参数验证 - 错误信息不暴露敏感信息 ## 注意事项 1. 这是一个演示项目,生产环境需要添加更多安全措施 2. 建议添加 JWT 或 Session 来管理用户登录状态 3. 可以添加更多的输入验证和错误处理 4. 建议使用环境变量来管理数据库配置