# node-mysql-api **Repository Path**: xiaojiangk/node-mysql-api ## Basic Information - **Project Name**: node-mysql-api - **Description**: Node.js + MySQL 项目架构实战模板 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-22 - **Last Updated**: 2025-07-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: Nodejs, MySQL, Express ## README # api_server 基于 Express + MySQL 的用户与文章管理 RESTful API 服务 ## 项目简介 本项目为用户与文章管理系统后端 API,采用 Node.js、Express 框架和 MySQL 数据库,支持用户注册、登录、用户信息管理、文章分类与文章的增删改查等功能,适合前后端分离项目使用。 ## 主要功能 - 用户注册与登录(JWT 认证) - 用户信息的获取与修改 - 用户密码与头像修改 - 文章分类的增删改查 - 文章的增删改查 - 参数校验与统一错误处理 - 支持 CORS 跨域 ## 目录结构 ``` api_server/ ├── app.js # 应用入口 ├── config.js # 全局配置文件 ├── db/ # 数据库连接 │ └── index.js ├── router/ # 路由模块 │ ├── user.js │ ├── userinfo.js │ ├── artcate.js │ └── article.js ├── router_handler/ # 路由处理函数 │ ├── user.js │ ├── userinfo.js │ ├── artcate.js │ └── article.js ├── schema/ # 参数校验规则 │ ├── user.js │ ├── artcate.js │ └── article.js ├── uploads/ # 上传文件目录 │ ├── 1812b1203bf73044e764708fabb52505 │ ├── 2c2a76d7532ad5df9ac53ff20b5b24ff │ ├── 44642846e02656cb869338e232723cef │ ├── 52640e5ccd470224e32e6ed1fa17d977 │ ├── a5ffbefa14377bb2efcdaa01afb882a6 │ ├── b11a5d5140d4f18be985cb0102f3a6db │ └── fad4e9f2f583fdf4b98be1956a5ceec8 ├── package.json └── README.md ``` ## 环境变量配置 如需自定义端口或数据库连接,请在 `db/index.js` 或相关文件中修改配置。 ## 安装依赖 ```sh npm install ``` ## 启动项目 ```sh node app.js ``` 或使用 nodemon 自动重启(需全局安装 nodemon): ```sh nodemon app.js ``` ## 主要依赖 - express - mysql - jsonwebtoken - express-jwt - @hapi/joi - @escook/express-joi - multer - cors - bcryptjs ## API 简要说明 - 用户相关接口:/api - POST /api/reguser 用户注册 - POST /api/login 用户登录 - 用户信息相关接口:/my - GET /my/userinfo 获取用户基本信息 - POST /my/userinfo 更新用户基本信息 - POST /my/updatepwd 重置密码 - POST /my/update/avatar 更新头像 - 文章分类相关接口:/my/article - GET /my/article/cates 获取文章分类列表 - POST /my/article/addcates 新增文章分类 - GET /my/article/deletecate/:id 删除文章分类 - GET /my/article/cates/:id 获取分类详情 - POST /my/article/updatecate 更新分类 - 文章相关接口:/my/article - POST /my/article/add 发布新文章 - GET /my/article/list 获取文章列表 - GET /my/article/:id 获取文章详情 - GET /my/article/delete/:id 删除文章 - 具体参数和返回格式请参考各 router_handler 目录下的实现。 ## 其他说明 - 上传文件默认存储在 /uploads 目录 - 错误统一通过 res.cc 返回 - 支持 JWT 鉴权,部分接口需携带 Authorization: Bearer