# NodeJs-login **Repository Path**: abrcodes/NodeJs-login ## Basic Information - **Project Name**: NodeJs-login - **Description**: 用NodeJs实现完整的登录实例 - **Primary Language**: JavaScript - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-02-28 - **Last Updated**: 2024-03-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 项目名称 NodeJs-login为用NodeJs实现完整的登录逻辑【实际项目**可用方案**】 ## 项目结构 ``` - server.js - create-database.js - .env - package.json - node_modules/ ``` ## 技术栈 - Node.js - Express.js - MySQL - Bcrypt - JSON Web Token (JWT) - Winston - Joi ## 安装和运行 1. 确保你已经安装了最新版本的Node.js和MySQL数据库。 2. 克隆或下载本项目到本地。 3. 需要把user.env配置文件重命名为.env 【一定要把user去掉】 并且配置自己的密钥 以及数据库配置 4. 在项目根目录中打开命令行终端,并执行以下命令来安装依赖: ```bash npm install ``` 5. 在命令行终端中执行以下命令来创建数据库和插入示例数据: ```bash node create-database.js ``` 6. 在命令行终端中执行以下命令来启动服务器: ```bash node server.js ``` 7. 服务器将在端口3000上运行,并在控制台输出 "Server running on port 3000"。 ## API文档 ### 管理员登录 - **URL:** `/admin/login` - **请求方法:** POST - **请求体:** ```json { "username": "admin", "password": "admin123" } ``` - **响应:** ```json { "success": true, "message": "Admin login success", "token": "your_token", "refreshToken": "your_refresh_token" } ``` ### 用户登录 - **URL:** `/api/login` - **请求方法:** POST - **请求体:** ```json { "username": "user1", "password": "user123" } ``` - **响应:** ```json { "success": true, "message": "User login success", "token": "your_token", "refreshToken": "your_refresh_token" } ``` ### 刷新令牌 - **URL:** `/refreshToken` - **请求方法:** POST - **请求体:** ```json { "refreshToken": "your_refresh_token" } ``` - **响应:** ```json { "success": true, "message": "Token refreshed", "token": "your_new_token" } ``` ### 仅管理员可访问的路由 - **URL:** `/admin/dashboard` - **请求方法:** GET - **请求头:** ``` Authorization: your_token ``` - **响应:** ```json { "success": true, "message": "Admin dashboard" } ``` ### 用户注册 - **URL:** `/register` - **请求方法:** POST - **请求体:** ```json { "username": "user3", "password": "user123" } ``` - **响应:** ```json { "success": true, "message": "User registered" } ``` ## 注意事项 - 请确保在运行项目之前,已正确配置好MySQL数据库的连接信息。 - 根据需要修改代码中的数据库连接配置和其他相关配置。 - 在使用API端点之前,建议先进行管理员登录或用户注册,以获取访问令牌。 - 请根据实际需求扩展和优化代码,并根据具体的业务逻辑进行相应修改。 请根据你的实际项目情况,修改项目名称、项目描述、API文档等内容。另外,你可以根据需要添加其他部分,如项目背景、功能特点、部署说明等。