From 2db4a6f7329a129864ea5ded8e017f7e67803066 Mon Sep 17 00:00:00 2001 From: gitee-bot Date: Fri, 27 Jun 2025 05:41:28 +0000 Subject: [PATCH] Update README.md --- README.md | 122 ++++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 92 insertions(+), 30 deletions(-) diff --git a/README.md b/README.md index 451b146..74e7d69 100644 --- a/README.md +++ b/README.md @@ -1,44 +1,106 @@ -#### 项目整体文件说明 -- `config` 配置文件目录 - - `default.json` 默认配置文件(其中包含数据库配置,jwt配置) -- `dao` 数据访问层,存放对数据库的增删改查操作 - - `DAO.js` 提供的公共访问数据库的方法 -- `models` 存放具体数据库 ORM 模型文件 -- `modules` 当前项目模块 - - `authorization.js` API权限验证模块 - - `database.js` 数据库模块(数据库加载基于 nodejs-orm2 库加载) - - `passport.js` 基于 passport 模块的登录搭建 - - `resextra.js` API 统一返回结果接口 -- `node_modules` 项目依赖的第三方模块 -- `routes` 统一路由 - - `api` 提供 api 接口 - - `mapp` 提供移动APP界面 - - `mweb` 提供移动web站点 -- `services` 服务层,业务逻辑代码在这一层编写,通过不同的接口获取的数据转换成统一的前端所需要的数据 -- `app.js` 主项目入口文件 -- `package.json` 项目配置文件 +# Vue API Server 项目说明 +## 项目结构说明 +本项目是一个基于 Node.js 和 Express 的后端 API 服务,主要用于支持基于 Vue 的前端应用。项目包含以下主要模块: -#### 项目环境 +- **API 路由**:提供 RESTful 接口,支持商品、订单、用户、角色、权限、分类、报表等管理功能。 +- **服务层**:封装业务逻辑,包括数据库操作、数据验证、文件处理等。 +- **数据访问层 (DAO)**:与数据库交互,执行增删改查操作。 +- **模型层**:定义数据库表结构。 +- **中间件模块**:包括日志记录、身份验证、数据库连接、文件上传等通用功能。 +- **第三方依赖**:使用了 Express、Passport、JWT、Sequelize ORM、UEditor 富文本编辑器等库。 -##### 本地环境 +## 项目环境 -​ Node.js + MySQL +### 本地开发环境要求 -##### 创建数据库 +- Node.js v14.x 或更高版本 +- npm 或 yarn +- MySQL 或其他支持 Sequelize 的数据库 +- Redis(可选,用于缓存或会话管理) -​ 数据库文件在:db -> mysdb.sql +### 安装依赖 -​ 创建数据库mydb,可通过新建查询执行mysdb.sql下的SQL语句建立数据库,数据库表 +```bash +npm install +``` -​ 数据库连接名:root 密码: 123456 +或使用 yarn: -​ 可在config -> default.json 修改 +```bash +yarn install +``` -##### 启动项目 +## 创建数据库 -​ 安装依赖: npm install +确保已安装并运行 MySQL 数据库,然后创建数据库并导入 `db/mydb.sql` 文件中的表结构。 -​ 启动项目 :node app.js +## 启动项目 +### 开发模式启动 + +```bash +npm run dev +``` + +或使用 nodemon 手动启动: + +```bash +nodemon app.js +``` + +### 生产模式启动 + +```bash +npm start +``` + +默认服务运行在 `http://localhost:3000`。 + +## API 文档 + +所有 API 均位于 `/routes/api/private/v1/` 目录下,主要接口包括: + +- **用户管理**:`/api/private/v1/users` +- **商品管理**:`/api/private/v1/goods` +- **订单管理**:`/api/private/v1/orders` +- **角色管理**:`/api/private/v1/roles` +- **权限管理**:`/api/private/v1/rights` +- **分类管理**:`/api/private/v1/categories` +- **报表统计**:`/api/private/v1/reports` +- **文件上传**:`/api/private/v1/upload` + +所有接口均需通过 JWT Token 认证,登录后获取 Token 并在请求头中携带: + +``` +Authorization: Bearer +``` + +## 日志记录 + +日志文件为 `cheese.log`,记录请求信息、错误日志和系统运行状态。 + +## 文件上传配置 + +上传配置位于 `config/default.json` 和 `modules/ueditor.js` 中,上传路径为 `uploads/goodspics/`,支持图片裁剪、缩略图生成等功能。 + +## 富文本编辑器 + +项目集成 UEditor 富文本编辑器,位于 `public/ueditor/` 目录,支持图文混排、附件上传、表情插入、图表绘制等功能。 + +## 测试 + +测试代码位于 `test/` 目录,使用 Mocha + Chai 进行接口测试,可运行以下命令执行测试: + +```bash +npm test +``` + +## 配置文件 + +配置文件位于 `config/default.json`,包含数据库连接、JWT 密钥、上传路径等配置项。 + +## 许可证 + +本项目遵循 MIT License,详细信息请查看项目根目录下的 `LICENSE` 文件。 \ No newline at end of file -- Gitee