项目管理
管理项目的增删改查接口。
获取项目列表
获取后台管理的项目列表(包含草稿)。
接口信息
- 请求路径:
GET /api/admin/projects - 认证方式: 需要认证(管理员权限)
查询参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| page | number | 否 | 页码,默认 1 |
| limit | number | 否 | 每页数量,默认 10 |
| status | string | 否 | 状态筛选:published/draft |
| keyword | string | 否 | 关键词搜索 |
创建项目
创建新项目。
接口信息
- 请求路径:
POST /api/admin/projects - 认证方式: 需要认证(管理员权限)
请求参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| title | string | 是 | 项目标题 |
| description | string | 是 | 项目描述 |
| content | string | 否 | 项目详细内容(Markdown) |
| coverImage | string | 否 | 封面图片 URL |
| demoUrl | string | 否 | 演示链接 |
| repoUrl | string | 否 | 代码仓库链接 |
| techStack | array | 否 | 技术栈标签 |
| status | string | 否 | 状态:published/draft,默认 draft |
请求示例
bash
curl -X POST http://localhost:3000/api/admin/projects \
-H "Authorization: Bearer your-jwt-token" \
-H "Content-Type: application/json" \
-d '{
"title": "我的新项目",
"description": "项目描述",
"techStack": ["Vue.js", "TypeScript"],
"status": "published"
}'更新项目
更新已有项目。
接口信息
- 请求路径:
PUT /api/admin/projects/:id - 认证方式: 需要认证(管理员权限)
请求参数
同创建项目,所有字段均为可选。
请求示例
bash
curl -X PUT http://localhost:3000/api/admin/projects/1 \
-H "Authorization: Bearer your-jwt-token" \
-H "Content-Type: application/json" \
-d '{
"title": "更新后的标题",
"status": "published"
}'删除项目
删除指定项目。
接口信息
- 请求路径:
DELETE /api/admin/projects/:id - 认证方式: 需要认证(管理员权限)
请求示例
bash
curl -X DELETE http://localhost:3000/api/admin/projects/1 \
-H "Authorization: Bearer your-jwt-token"错误响应
| HTTP 状态码 | 说明 |
|---|---|
| 401 | 未登录或 Token 无效 |
| 403 | 权限不足(非管理员) |
| 404 | 项目不存在 |
| 400 | 参数错误 |
| 500 | 服务器错误 |