# food-image-service **Repository Path**: sqdaxiang/food-image-service ## Basic Information - **Project Name**: food-image-service - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2025-05-12 - **Last Updated**: 2025-05-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Node.js 后端 API 读取 (README.md) ## 简介 本项目是一个使用 Node.js 和 Express 框架的后端 API,提供了文件上传和评论存储的功能。项目还集成了阿里云的对象存储服务 (OSS) 以及一个基本的数据库访问模块。 ## 安装依赖 1. 克隆项目到本地: ```bash git clone https://gitee.com/sqdaxiang/food-image-service cd food-image-service ``` 2. 安装项目依赖: ```bash npm install ``` ## 环境变量 在项目根目录下创建一个 `.env` 文件,并添加以下环境变量: ```plaintext OSS_REGION=your-oss-region OSS_ACCESS_KEY_ID=your-access-key-id OSS_ACCESS_KEY_SECRET=your-access-key-secret OSS_BUCKET=your-oss-bucket DB_HOST=your-db-host DB_USER=your-db-user DB_PASS=your-db-password DB_NAME=your-db-name PORT=your-port ``` ## 数据库初始化 项目启动时会尝试初始化数据库。请确保数据库设置正确,并且数据库用户有相应的权限。 ## API 文档 ### 生成上传用的预签名 URL **URL:** `/api/upload-url` **方法:** `GET` **查询参数:** - `filename` (必填): 文件名。 - `contentType` (必填): 文件内容类型 (例如: `image/png` 或 `application/pdf`)。 **响应:** - 成功: `200` ```json { "uploadUrl": "https://your-bucket.oss-cn-hangzhou.aliyuncs.com/uploads/1633072800000-filename.png", "fileKey": "uploads/1633072800000-filename.png", "expiresIn": 3600 } ``` - 错误: `400`, `500` ```json { "error": "错误信息" } ``` ### 保存评论 **URL:** `/api/reviews` **方法:** `POST` **请求体:** - `userId` (必填, 数字): 用户 ID。 - `userName` (必填): 用户名。 - `restaurantName` (必填): 餐厅名称。 - `restaurantLocation` (必填): 餐厅位置。 - `dishName` (必填): 菜名。 - `rating` (必填, 数字): 评分。 - `reviewText` (必填): 评论内容。 - `imageKeys` (必填): 上传的图片文件名列表。 **响应:** - 成功: `201` ```json { "message": "Review saved successfully", "id": 1 } ``` - 错误: `400`, `500` ```json { "error": "错误信息" } ``` ## 运行项目 1. 启动项目: ```bash npm start ``` 2. 访问: - 项目运行在 `http://localhost:3000`(默认端口)。 ## 测试 项目包含了一些基本的测试用例,确保所有 API 功能正常工作。 ```bash npm test ``` ## 日志 项目会将错误日志输出到控制台。对于生产环境,建议配置日志文件或使用第三方日志服务。 ## 贡献 欢迎贡献代码、报告问题或提出改进建议。请查看 [CONTRIBUTING.md](CONTRIBUTING.md)。 ## 许可证 本项目采用 [MIT 许可证](LICENSE)。 --- 感谢使用本项目!如果你有任何问题或需要进一步的帮助,请随时欢迎联系。