JY API 服务
一个基于 Node.js 和 Express.js 的 RESTful API 服务框架。
功能特性
- ✅ RESTful API 设计
- ✅ Express.js 框架
- ✅ 用户管理 (CRUD)
- ✅ 身份认证 (登录/注册)
- ✅ 安全中间件 (Helmet, CORS, 速率限制)
- ✅ 请求日志记录
- ✅ 错误处理
- ✅ 响应压缩
- ✅ 数据验证
- ✅ 环境配置
- 📖 强制API文档规范 - 每个接口都有详细文档
- 🛠️ 自动化工具支持 - 文档生成和检查脚本
项目结构
jy_api/
├── app.js # 应用入口文件
├── package.json # 项目配置
├── .env.example # 环境变量示例
├── .gitignore # Git忽略文件
├── controllers/ # 控制器
│ ├── authController.js
│ └── userController.js
├── routes/ # 路由
│ ├── auth.js
│ └── users.js
├── middleware/ # 中间件
│ └── auth.js
├── utils/ # 工具函数
│ ├── response.js
│ └── validator.js
└── config/ # 配置文件
└── database.js
快速开始
1. 安装依赖
npm install
2. 环境配置
复制 .env.example
为 .env
并配置相应的环境变量:
cp .env.example .env
3. 启动开发服务器
# 开发模式(自动重启)
npm run dev
# 生产模式
npm start
服务器将在 https://jy-api.fyshark.com
启动
API 接口
基础接口
GET /
- 根路径,返回API信息GET /health
- 健康检查
用户管理
GET /api/users
- 获取所有用户GET /api/users/:id
- 获取指定用户POST /api/users
- 创建新用户PUT /api/users/:id
- 更新用户信息DELETE /api/users/:id
- 删除用户
身份认证
POST /api/auth/login
- 用户登录POST /api/auth/register
- 用户注册POST /api/auth/logout
- 用户登出POST /api/auth/refresh
- 刷新令牌
草稿和素材管理
POST /api/drafts/create_draft
- 创建视频草稿 📄 使用文档POST /api/drafts/easy_create_material
- 添加素材到草稿 📄 使用文档POST /api/drafts/add_audios
- 批量添加音频到草稿 📄 使用文档POST /api/drafts/add_captions
- 批量添加字幕到草稿 📄 使用文档POST /api/drafts/add_effects
- 批量添加特效到草稿 📄 使用文档POST /api/drafts/add_images
- 批量添加图片到草稿 📄 使用文档POST /api/drafts/add_keyframes
- 批量添加关键帧到草稿 📄 使用文档POST /api/drafts/add_masks
- 批量添加遮罩到草稿 📄 使用文档POST /api/drafts/add_sticker
- 添加贴纸装饰到草稿 📄 使用文档POST /api/drafts/add_videos
- 批量添加视频到草稿 📄 使用文档
📖 完整API文档
- API 使用指南 - 详细的接口使用说明和工作流程示例
请求示例
创建用户
curl -X POST https://jy-api.fyshark.com/api/users \
-H "Content-Type: application/json" \
-d '{
"name": "测试用户",
"email": "test@example.com",
"age": 25
}'
用户登录
curl -X POST https://jy-api.fyshark.com/api/auth/login \
-H "Content-Type: application/json" \
-d '{
"email": "admin@example.com",
"password": "123456"
}'
响应格式
所有API响应都遵循统一格式:
{
"status": "success|error",
"message": "响应消息",
"data": {},
"timestamp": "2023-12-01T10:00:00.000Z"
}
📋 开发规范
本项目遵循严格的开发规范,确保代码质量和文档完整性:
🔥 核心规则
每个新建的API接口都必须提供对应的使用说明文档(Markdown格式)
📖 文档规范
- 📁 位置: 项目根目录,命名格式
API_{接口功能}.md
- 📝 内容: 必须包含接口信息、参数说明、响应格式、使用示例等
- 🛠️ 工具: 使用自动化脚本快速生成标准格式文档
🛠️ 开发工具
创建API文档
# 创建新的API文档
./scripts/create-api-doc.sh <接口名称> [HTTP方法] [路径]
# 示例
./scripts/create-api-doc.sh USER_LOGIN POST /api/auth/login
./scripts/create-api-doc.sh GET_USER_INFO GET /api/users/:id
检查文档规范
# 检查所有API文档的完整性
./scripts/check-api-docs.sh
📚 相关文档
🔍 贡献流程
- Fork 这个仓库
- 创建功能分支 (
git checkout -b feature/AmazingFeature
) - 📖 为新接口创建API文档 (
./scripts/create-api-doc.sh YourAPI
) - 提交修改 (
git commit -m 'Add some AmazingFeature'
) - 🔍 检查文档规范 (
./scripts/check-api-docs.sh
) - 推送到分支 (
git push origin feature/AmazingFeature
) - 打开拉取请求
⚠️ 注意: 没有对应API文档的接口将无法通过代码审查
开发计划
- JWT token 认证
- 数据库集成 (MySQL/PostgreSQL)
- 用户权限管理
- 文件上传功能
- 邮件服务
- Redis 缓存
- 单元测试
- API 文档 (Swagger)
- Docker 支持
许可证
MIT