|
|
|
|
# API文档
|
|
|
|
|
---
|
|
|
|
|
## 基本介绍
|
|
|
|
|
|
|
|
|
|
开发API服务地址:
|
|
|
|
|
|
|
|
|
|
https://testgitea.trustie.net/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
响应状态说明:
|
|
|
|
|
|
|
|
|
|
|字段|类型|说明|
|
|
|
|
|
-|-|-
|
|
|
|
|
|status |int |响应状态码,0:请求成功,-1: 请求失败|
|
|
|
|
|
|message |string |响应说明 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### API接口
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
#### 用户注册(通过其他平台)
|
|
|
|
|
```
|
|
|
|
|
POST accounts/remote_register
|
|
|
|
|
```
|
|
|
|
|
*示例*
|
|
|
|
|
```
|
|
|
|
|
curl -X POST \
|
|
|
|
|
-d "email=2456233122@qq.com" \
|
|
|
|
|
-d "password=djs_D_00001" \
|
|
|
|
|
-d "username=16895620" \
|
|
|
|
|
-d "platform=forge" \
|
|
|
|
|
http://localhost:3000/api/accounts/remote_register | jq
|
|
|
|
|
```
|
|
|
|
|
*请求参数说明:*
|
|
|
|
|
|
|
|
|
|
|参数名|必选|类型|说明|
|
|
|
|
|
-|-|-|-
|
|
|
|
|
|email |是|string |邮箱 |
|
|
|
|
|
|username |是|string |登录名 |
|
|
|
|
|
|password |是|string |秘密 |
|
|
|
|
|
|platform |否|string |用户来源的相关平台,取值范围['educoder', 'trustie', 'forge'], 默认值为forge |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*返回参数说明:*
|
|
|
|
|
|
|
|
|
|
|参数名|类型|说明|
|
|
|
|
|
-|-|-
|
|
|
|
|
|user|json object |返回数据|
|
|
|
|
|
|-- id |int |用户id |
|
|
|
|
|
|-- token |string|用户token|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
返回值
|
|
|
|
|
```
|
|
|
|
|
{
|
|
|
|
|
"status": 0,
|
|
|
|
|
"message": "success",
|
|
|
|
|
"user": {
|
|
|
|
|
"id": 36400,
|
|
|
|
|
"token": "8c87a80d9cfacc92fcb2451845104f35119eda96"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
#### 获取项目类别列表(可根据名称搜素)
|
|
|
|
|
```
|
|
|
|
|
GET api/project_categories
|
|
|
|
|
```
|
|
|
|
|
*示例*
|
|
|
|
|
```
|
|
|
|
|
curl -X GET \
|
|
|
|
|
-d "name=大数据" \
|
|
|
|
|
http://localhost:3000/api/project_categories/ | jq
|
|
|
|
|
```
|
|
|
|
|
*请求参数说明:*
|
|
|
|
|
|
|
|
|
|
|参数名|必选|类型|说明|
|
|
|
|
|
-|-|-|-
|
|
|
|
|
|name |否|string |类别名称 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*返回参数说明:*
|
|
|
|
|
|
|
|
|
|
|参数名|类型|说明|
|
|
|
|
|
-|-|-
|
|
|
|
|
|project_categories|array |返回数据|
|
|
|
|
|
|-- id |int |类别id |
|
|
|
|
|
|-- name |string|类别名称|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
返回值
|
|
|
|
|
```
|
|
|
|
|
{
|
|
|
|
|
"project_categories": [
|
|
|
|
|
{
|
|
|
|
|
"id": 1,
|
|
|
|
|
"name": "大数据"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
#### 获取项目语言列表(可根据名称搜素)
|
|
|
|
|
```
|
|
|
|
|
GET api/project_languages
|
|
|
|
|
```
|
|
|
|
|
*示例*
|
|
|
|
|
```
|
|
|
|
|
curl -X GET \
|
|
|
|
|
-d "name=Ruby" \
|
|
|
|
|
http://localhost:3000/api/project_languages/ | jq
|
|
|
|
|
```
|
|
|
|
|
*请求参数说明:*
|
|
|
|
|
|
|
|
|
|
|参数名|必选|类型|说明|
|
|
|
|
|
-|-|-|-
|
|
|
|
|
|name |否|string |类别名称 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*返回参数说明:*
|
|
|
|
|
|
|
|
|
|
|参数名|类型|说明|
|
|
|
|
|
-|-|-
|
|
|
|
|
|project_languages|array |返回数据|
|
|
|
|
|
|-- id |int |语言id |
|
|
|
|
|
|-- name |string|语言名称|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
返回值
|
|
|
|
|
```
|
|
|
|
|
{
|
|
|
|
|
"project_languages": [
|
|
|
|
|
{
|
|
|
|
|
"id": 1,
|
|
|
|
|
"name": "Ruby"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
#### 获取.gitignore模板列表(可根据名称搜素)
|
|
|
|
|
```
|
|
|
|
|
GET api/ignores
|
|
|
|
|
```
|
|
|
|
|
*示例*
|
|
|
|
|
```
|
|
|
|
|
curl -X GET \
|
|
|
|
|
-d "name=Ada" \
|
|
|
|
|
http://localhost:3000/api/ignores/ | jq
|
|
|
|
|
```
|
|
|
|
|
*请求参数说明:*
|
|
|
|
|
|
|
|
|
|
|参数名|必选|类型|说明|
|
|
|
|
|
-|-|-|-
|
|
|
|
|
|name |否|string |gitignore名称 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*返回参数说明:*
|
|
|
|
|
|
|
|
|
|
|参数名|类型|说明|
|
|
|
|
|
-|-|-
|
|
|
|
|
|ignores|array |返回数据|
|
|
|
|
|
|-- id |int |id |
|
|
|
|
|
|-- name |string|gitignore名称|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
返回值
|
|
|
|
|
```
|
|
|
|
|
{
|
|
|
|
|
"ignores": [
|
|
|
|
|
{
|
|
|
|
|
"id": 1,
|
|
|
|
|
"name": "Ada"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
#### 获取开源许可证列表(可根据名称搜素)
|
|
|
|
|
```
|
|
|
|
|
GET api/licenses
|
|
|
|
|
```
|
|
|
|
|
*示例*
|
|
|
|
|
```
|
|
|
|
|
curl -X GET \
|
|
|
|
|
-d "name=AFL" \
|
|
|
|
|
http://localhost:3000/api/licenses/ | jq
|
|
|
|
|
```
|
|
|
|
|
*请求参数说明:*
|
|
|
|
|
|
|
|
|
|
|参数名|必选|类型|说明|
|
|
|
|
|
-|-|-|-
|
|
|
|
|
|name |否|string |开源许可证名称 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*返回参数说明:*
|
|
|
|
|
|
|
|
|
|
|参数名|类型|说明|
|
|
|
|
|
-|-|-
|
|
|
|
|
|licenses|array |返回数据|
|
|
|
|
|
|-- id |int |id |
|
|
|
|
|
|-- name |string|开源许可证名称|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
返回值
|
|
|
|
|
```
|
|
|
|
|
{
|
|
|
|
|
"licenses": [
|
|
|
|
|
{
|
|
|
|
|
"id": 57,
|
|
|
|
|
"name": "AFL-1.2"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": 76,
|
|
|
|
|
"name": "AFL-3.0"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": 214,
|
|
|
|
|
"name": "AFL-1.1"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": 326,
|
|
|
|
|
"name": "AFL-2.1"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": 350,
|
|
|
|
|
"name": "AFL-2.0"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
#### 创建项目
|
|
|
|
|
```
|
|
|
|
|
POST api/projects
|
|
|
|
|
```
|
|
|
|
|
*示例*
|
|
|
|
|
```
|
|
|
|
|
curl -X POST \
|
|
|
|
|
-d "user_id=36401" \
|
|
|
|
|
-d "name=好项目" \
|
|
|
|
|
-d "description=my first project" \
|
|
|
|
|
-d "repository_name=gorails" \
|
|
|
|
|
-d "project_category_id=1" \
|
|
|
|
|
-d "project_language_id=2" \
|
|
|
|
|
-d "ignore_id=2000" \
|
|
|
|
|
-d "license_id=1" \
|
|
|
|
|
-d "private=true"
|
|
|
|
|
http://localhost:3000/api/projects/ | jq
|
|
|
|
|
```
|
|
|
|
|
*请求参数说明:*
|
|
|
|
|
|
|
|
|
|
|参数名|必选|类型|说明|
|
|
|
|
|
-|-|-|-
|
|
|
|
|
|user_id |是|int |用户id或者组织id |
|
|
|
|
|
|name |是|string |项目名称 |
|
|
|
|
|
|description |是|string |项目描述 |
|
|
|
|
|
|repository_name |是|string |仓库名称, 只含有数字、字母、下划线不能以下划线开头和结尾,且唯一 |
|
|
|
|
|
|project_category_id|是|int |项目类别id |
|
|
|
|
|
|project_language_id|是|int |项目语言id |
|
|
|
|
|
|ignore_id |否|int |gitignore相关id |
|
|
|
|
|
|license_id |否|int |开源许可证id |
|
|
|
|
|
|private |否|boolean|项目是否私有, true:为私有,false: 公开,默认为公开 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*返回参数说明:*
|
|
|
|
|
|
|
|
|
|
|参数名|类型|说明|
|
|
|
|
|
-|-|-
|
|
|
|
|
|id |int |id |
|
|
|
|
|
|name |string|项目名称|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
返回值
|
|
|
|
|
```
|
|
|
|
|
{
|
|
|
|
|
"id": 3240,
|
|
|
|
|
"name": "好项目"
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
#### 新建镜像项目
|
|
|
|
|
```
|
|
|
|
|
POST api/projects/migrate
|
|
|
|
|
```
|
|
|
|
|
*示例*
|
|
|
|
|
```
|
|
|
|
|
curl -X POST \
|
|
|
|
|
-d "user_id=36401" \
|
|
|
|
|
-d "clone_addr=https://gitea.com/CasperVector/slew.git" \
|
|
|
|
|
-d "name=ni项目" \
|
|
|
|
|
-d "description=my first project" \
|
|
|
|
|
-d "repository_name=mirror_demo" \
|
|
|
|
|
-d "project_category_id=1" \
|
|
|
|
|
-d "project_language_id=2" \
|
|
|
|
|
http://localhost:3000/api/projects/migrate | jq
|
|
|
|
|
```
|
|
|
|
|
*请求参数说明:*
|
|
|
|
|
|
|
|
|
|
|参数名|必选|类型|说明|
|
|
|
|
|
-|-|-|-
|
|
|
|
|
|user_id |是|int |用户id或者组织id |
|
|
|
|
|
|name |是|string |项目名称 |
|
|
|
|
|
|clone_addr |是|string |镜像项目clone地址 |
|
|
|
|
|
|description |否|string |项目描述 |
|
|
|
|
|
|repository_name |是|string |仓库名称, 只含有数字、字母、下划线不能以下划线开头和结尾,且唯一 |
|
|
|
|
|
|project_category_id|是|int |项目类别id |
|
|
|
|
|
|project_language_id|是|int |项目语言id |
|
|
|
|
|
|private |否|boolean|项目是否私有, true:为私有,false: 非私有,默认为公开 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*返回参数说明:*
|
|
|
|
|
|
|
|
|
|
|参数名|类型|说明|
|
|
|
|
|
-|-|-
|
|
|
|
|
|id |int |id |
|
|
|
|
|
|name |string|项目名称|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
返回值
|
|
|
|
|
```
|
|
|
|
|
{
|
|
|
|
|
"id": 3263,
|
|
|
|
|
"name": "ni项目"
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
#### 项目详情
|
|
|
|
|
```
|
|
|
|
|
POST api/projects/:identifier
|
|
|
|
|
```
|
|
|
|
|
*示例*
|
|
|
|
|
```
|
|
|
|
|
curl -X GET \
|
|
|
|
|
-d "user_id=36401" \
|
|
|
|
|
-d "clone_addr=https://gitea.com/CasperVector/slew.git" \
|
|
|
|
|
-d "name=ni项目" \
|
|
|
|
|
-d "description=my first project" \
|
|
|
|
|
-d "repository_name=mirror_demo" \
|
|
|
|
|
-d "project_category_id=1" \
|
|
|
|
|
-d "project_language_id=2" \
|
|
|
|
|
http://localhost:3000/api/projects/migrate | jq
|
|
|
|
|
```
|
|
|
|
|
*请求参数说明:*
|
|
|
|
|
|
|
|
|
|
|参数名|必选|类型|说明|
|
|
|
|
|
-|-|-|-
|
|
|
|
|
|user_id |是|int |用户id或者组织id |
|
|
|
|
|
|name |是|string |项目名称 |
|
|
|
|
|
|clone_addr |是|string |镜像项目clone地址 |
|
|
|
|
|
|description |否|string |项目描述 |
|
|
|
|
|
|repository_name |是|string |仓库名称, 只含有数字、字母、下划线不能以下划线开头和结尾,且唯一 |
|
|
|
|
|
|project_category_id|是|int |项目类别id |
|
|
|
|
|
|project_language_id|是|int |项目语言id |
|
|
|
|
|
|private |否|boolean|项目是否私有, true:为私有,false: 非私有,默认为公开 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*返回参数说明:*
|
|
|
|
|
|
|
|
|
|
|参数名|类型|说明|
|
|
|
|
|
-|-|-
|
|
|
|
|
|id |int |id |
|
|
|
|
|
|name |string|项目名称|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
返回值
|
|
|
|
|
```
|
|
|
|
|
{
|
|
|
|
|
"id": 3263,
|
|
|
|
|
"name": "ni项目"
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
#### 项目类别列表(用于项目列表左侧导航中的项目类别列表)
|
|
|
|
|
```
|
|
|
|
|
GET api/project_categories/group_list
|
|
|
|
|
```
|
|
|
|
|
*示例*
|
|
|
|
|
```
|
|
|
|
|
curl -X GET http://localhost:3000/api/project_categories/group_list | jq
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
*返回参数说明:*
|
|
|
|
|
|
|
|
|
|
|参数名|类型|说明|
|
|
|
|
|
-|-|-
|
|
|
|
|
|id |int |项目分类id |
|
|
|
|
|
|name |string|项目分类名称|
|
|
|
|
|
|projects_count |int |项目数量|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
返回值
|
|
|
|
|
```
|
|
|
|
|
[
|
|
|
|
|
{
|
|
|
|
|
"id": 1,
|
|
|
|
|
"name": "大数据",
|
|
|
|
|
"projects_count": 30
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": 2,
|
|
|
|
|
"name": "机器学习",
|
|
|
|
|
"projects_count": 1
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": 3,
|
|
|
|
|
"name": "深度学习",
|
|
|
|
|
"projects_count": 1
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
```
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
#### 项目类型列表(用于项目列表左侧导航上方中的项目类型列表)
|
|
|
|
|
```
|
|
|
|
|
GET api/projects/group_type_list
|
|
|
|
|
```
|
|
|
|
|
*示例*
|
|
|
|
|
```
|
|
|
|
|
curl -X GET http://localhost:3000/api/projects/group_type_list | jq
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
*返回参数说明:*
|
|
|
|
|
|
|
|
|
|
|参数名|类型|说明|
|
|
|
|
|
-|-|-
|
|
|
|
|
|project_type |string|项目类型 |
|
|
|
|
|
|name |string|项目类型名称|
|
|
|
|
|
|projects_count |int |项目数量|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
返回值
|
|
|
|
|
```
|
|
|
|
|
[
|
|
|
|
|
{
|
|
|
|
|
"project_type": "common",
|
|
|
|
|
"name": "开源托管项目",
|
|
|
|
|
"projects_count": 2106
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"project_type": "mirror",
|
|
|
|
|
"name": "开源镜像项目",
|
|
|
|
|
"projects_count": 1
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
```
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
#### 项目列表
|
|
|
|
|
```
|
|
|
|
|
GET api/projects
|
|
|
|
|
```
|
|
|
|
|
*示例*
|
|
|
|
|
```
|
|
|
|
|
curl -X GET \
|
|
|
|
|
-d "page=1" \
|
|
|
|
|
-d "limit=5" \
|
|
|
|
|
http://localhost:3000/api/projects | jq
|
|
|
|
|
```
|
|
|
|
|
*请求参数说明:*
|
|
|
|
|
|
|
|
|
|
|参数名|必选|类型|说明|
|
|
|
|
|
-|-|-|-
|
|
|
|
|
|page |否|string |页数,第几页 |
|
|
|
|
|
|limit |否|string |每页多少条数据,默认15条 |
|
|
|
|
|
|sort_by |否|string |排序类型, 取值:updated_on \| created_on \| forked_count \| praises_count, updated_on: 更新时间排序,created_on: 创建时间排序,forked_count: fork数据排序,praises_count: 点赞数量排序,默认为updated_on更新时间排序 |
|
|
|
|
|
|sort_direction|否|string |排序方式,取值为: desc \| asc; desc: 降序排序, asc: 升序排序, 默认为:desc |
|
|
|
|
|
|name |否|string |项目名称, 按照项目名称搜索 |
|
|
|
|
|
|category_id |否|int |项目类别id |
|
|
|
|
|
|language_id |否|int |项目语言id |
|
|
|
|
|
|project_type |否|string |项目类型, 取值为:common \| mirror; common:开源托管项目, mirror:开源镜像项目 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*返回参数说明:*
|
|
|
|
|
|
|
|
|
|
|参数名|类型|说明|
|
|
|
|
|
-|-|-
|
|
|
|
|
|id |string |项目标识 |
|
|
|
|
|
|name |string|项目名称|
|
|
|
|
|
|description |string|项目简介|
|
|
|
|
|
|visits |int|流量数|
|
|
|
|
|
|forked_count |int|被fork的数量|
|
|
|
|
|
|is_public |boolean|是否公开, true:公开,false:未公开|
|
|
|
|
|
|mirror_url |string|镜像url|
|
|
|
|
|
|last_update_time |int|最后更新时间,为UNIX格式的时间戳|
|
|
|
|
|
|author |object|项目创建者|
|
|
|
|
|
|-- name |string|用户名,也是用户标识|
|
|
|
|
|
|category |object|项目类别|
|
|
|
|
|
|-- id |int|项目类型id|
|
|
|
|
|
|-- name |string|项目类型名称|
|
|
|
|
|
|language |object|项目语言|
|
|
|
|
|
|-- id |int|项目语言id|
|
|
|
|
|
|-- name |string|项目语言名称|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
返回值
|
|
|
|
|
```
|
|
|
|
|
[
|
|
|
|
|
{
|
|
|
|
|
"id": "tongjj",
|
|
|
|
|
"name": "统计局",
|
|
|
|
|
"description": "my first project",
|
|
|
|
|
"visits": 0,
|
|
|
|
|
"forked_count": 0,
|
|
|
|
|
"is_public": true,
|
|
|
|
|
"mirror_url": null,
|
|
|
|
|
"last_update_time": 1577415173,
|
|
|
|
|
"author": {
|
|
|
|
|
"name": "18816895620"
|
|
|
|
|
},
|
|
|
|
|
"category": {
|
|
|
|
|
"id": 1,
|
|
|
|
|
"name": "大数据"
|
|
|
|
|
},
|
|
|
|
|
"language": {
|
|
|
|
|
"id": 2,
|
|
|
|
|
"name": "C"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": null,
|
|
|
|
|
"name": "开源同名",
|
|
|
|
|
"description": "my first project",
|
|
|
|
|
"visits": 0,
|
|
|
|
|
"forked_count": 0,
|
|
|
|
|
"is_public": false,
|
|
|
|
|
"mirror_url": "https://gitea.com/CasperVector/slew.git",
|
|
|
|
|
"last_update_time": 1577346228,
|
|
|
|
|
"author": {
|
|
|
|
|
"name": "18816895620"
|
|
|
|
|
},
|
|
|
|
|
"category": {
|
|
|
|
|
"id": 1,
|
|
|
|
|
"name": "大数据"
|
|
|
|
|
},
|
|
|
|
|
"language": {
|
|
|
|
|
"id": 2,
|
|
|
|
|
"name": "C"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "mvp_demo",
|
|
|
|
|
"name": "开源支持",
|
|
|
|
|
"description": "my first project",
|
|
|
|
|
"visits": 0,
|
|
|
|
|
"forked_count": 0,
|
|
|
|
|
"is_public": true,
|
|
|
|
|
"mirror_url": null,
|
|
|
|
|
"last_update_time": 1577341572,
|
|
|
|
|
"author": {
|
|
|
|
|
"name": "18816895620"
|
|
|
|
|
},
|
|
|
|
|
"category": {
|
|
|
|
|
"id": 1,
|
|
|
|
|
"name": "大数据"
|
|
|
|
|
},
|
|
|
|
|
"language": {
|
|
|
|
|
"id": 2,
|
|
|
|
|
"name": "C"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": null,
|
|
|
|
|
"name": "ni项目1",
|
|
|
|
|
"description": "my first project",
|
|
|
|
|
"visits": 0,
|
|
|
|
|
"forked_count": 0,
|
|
|
|
|
"is_public": true,
|
|
|
|
|
"mirror_url": "https://gitea.com/CasperVector/slew.git",
|
|
|
|
|
"last_update_time": 1577092908,
|
|
|
|
|
"author": {
|
|
|
|
|
"name": "18816895620"
|
|
|
|
|
},
|
|
|
|
|
"category": {
|
|
|
|
|
"id": 1,
|
|
|
|
|
"name": "大数据"
|
|
|
|
|
},
|
|
|
|
|
"language": {
|
|
|
|
|
"id": 2,
|
|
|
|
|
"name": "C"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "mirror_demo",
|
|
|
|
|
"name": "ni项目",
|
|
|
|
|
"description": "my first project",
|
|
|
|
|
"visits": 0,
|
|
|
|
|
"forked_count": 0,
|
|
|
|
|
"is_public": false,
|
|
|
|
|
"mirror_url": "https://gitea.com/CasperVector/slew.git",
|
|
|
|
|
"last_update_time": 1577085412,
|
|
|
|
|
"author": {
|
|
|
|
|
"name": "18816895620"
|
|
|
|
|
},
|
|
|
|
|
"category": {
|
|
|
|
|
"id": 1,
|
|
|
|
|
"name": "大数据"
|
|
|
|
|
},
|
|
|
|
|
"language": {
|
|
|
|
|
"id": 2,
|
|
|
|
|
"name": "C"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
```
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
### 获取分支列表
|
|
|
|
|
```
|
|
|
|
|
GET /api/projects/:identifier/branches
|
|
|
|
|
```
|
|
|
|
|
*示例*
|
|
|
|
|
```
|
|
|
|
|
curl -X GET http://localhost:3000/api/projects/mirror_demo/branches | jq
|
|
|
|
|
```
|
|
|
|
|
*请求参数说明:*
|
|
|
|
|
|
|
|
|
|
|参数名|必选|类型|说明|
|
|
|
|
|
-|-|-|-
|
|
|
|
|
|identifier |是|string |项目标识 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*返回参数说明:*
|
|
|
|
|
|
|
|
|
|
|参数名|类型|说明|
|
|
|
|
|
-|-|-
|
|
|
|
|
|name |string|分支名称|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
返回值
|
|
|
|
|
```
|
|
|
|
|
[
|
|
|
|
|
{
|
|
|
|
|
"name": "develop"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"name": "master"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
```
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
### 点赞
|
|
|
|
|
```
|
|
|
|
|
POST /api/praise_tread/like
|
|
|
|
|
```
|
|
|
|
|
*示例*
|
|
|
|
|
```
|
|
|
|
|
curl -X POST \
|
|
|
|
|
-d 'object_id=1' \
|
|
|
|
|
-d 'object_type=project' \
|
|
|
|
|
http://localhost:3000/api/praise_tread/like | jq
|
|
|
|
|
```
|
|
|
|
|
*请求参数说明:*
|
|
|
|
|
|
|
|
|
|
|参数名|必选|类型|说明|
|
|
|
|
|
-|-|-|-
|
|
|
|
|
|object_id |是 |int |项目id |
|
|
|
|
|
|object_type |否 |string | 点赞类型,默认为project|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*返回参数说明:*
|
|
|
|
|
|
|
|
|
|
|参数名|类型|说明|
|
|
|
|
|
-|-|-
|
|
|
|
|
|status |int|0:点赞成功,-1:操作失败,2:表示已经点过赞了|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
返回值
|
|
|
|
|
```
|
|
|
|
|
{
|
|
|
|
|
"status": 0,
|
|
|
|
|
"message": "响应成功"
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
### 取消点赞
|
|
|
|
|
```
|
|
|
|
|
DELETE /api/praise_tread/unlike
|
|
|
|
|
```
|
|
|
|
|
*示例*
|
|
|
|
|
```
|
|
|
|
|
curl -X DELETE \
|
|
|
|
|
-d 'object_id=1' \
|
|
|
|
|
-d 'object_type=project' \
|
|
|
|
|
http://localhost:3000/api/praise_tread/unlike | jq
|
|
|
|
|
```
|
|
|
|
|
*请求参数说明:*
|
|
|
|
|
|
|
|
|
|
|参数名|必选|类型|说明|
|
|
|
|
|
-|-|-|-
|
|
|
|
|
|object_id |是 |string |点赞对象的唯一标识,如项目的identifier字段 |
|
|
|
|
|
|object_type |是 |string | 点赞类型,默认为project|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*返回参数说明:*
|
|
|
|
|
|
|
|
|
|
|参数名|类型|说明|
|
|
|
|
|
-|-|-
|
|
|
|
|
|status |int|0:点赞成功,-1:操作失败,2:表示还未点赞|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
返回值
|
|
|
|
|
```
|
|
|
|
|
{
|
|
|
|
|
"status": 0,
|
|
|
|
|
"message": "响应成功"
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
---
|