|
|
|
@ -9,6 +9,7 @@ |
|
|
|
在详细介绍各controller中的接口前,有必要先介绍蓝眼云盘中的各实体,所有的实体基类均为`Base` |
|
|
|
|
|
|
|
#### Base |
|
|
|
|
|
|
|
`Base`定义如下,所有会在数据库中持久化的实体均会继承`Base`,`Controller`在返回实体给前端时,会将字段和值序列化成json字符串,其中键就和每个实体字段后面的`json`标签一致,下文也会有详细例子介绍 |
|
|
|
|
|
|
|
``` |
|
|
|
@ -25,6 +26,7 @@ type Base struct { |
|
|
|
``` |
|
|
|
|
|
|
|
#### Preference |
|
|
|
|
|
|
|
`Preference`是整个网站的偏好设置,网站的名称,logo,favicon,版权,备案号等信息均由这个实体负责。定义如下: |
|
|
|
|
|
|
|
``` |
|
|
|
@ -48,6 +50,7 @@ type Preference struct { |
|
|
|
|
|
|
|
|
|
|
|
#### Matter |
|
|
|
|
|
|
|
`Matter`是代表文件(文件夹是一种特殊的文件),为了和系统的`file`重复,这里使用`matter`,这个实体是蓝眼云盘最重要的实体: |
|
|
|
|
|
|
|
``` |
|
|
|
@ -197,6 +200,7 @@ type WebResult struct { |
|
|
|
``` |
|
|
|
|
|
|
|
状态码对应关系如下: |
|
|
|
|
|
|
|
``` |
|
|
|
const ( |
|
|
|
//正常 |
|
|
|
@ -375,8 +379,11 @@ AlienController | `alien_controller.go` | 第三方授权上传,下载,预 |
|
|
|
#### /api/preference/fetch |
|
|
|
|
|
|
|
**功能**:读取网站偏好设置,网站名称,logo,版权,备案信息均从此接口读取。 |
|
|
|
|
|
|
|
**访问级别**:`游客`,`注册用户`,`管理员` |
|
|
|
|
|
|
|
**请求参数**:无 |
|
|
|
|
|
|
|
**返回**: 一个`Preference`实体 |
|
|
|
|
|
|
|
|
|
|
|
@ -386,7 +393,9 @@ AlienController | `alien_controller.go` | 第三方授权上传,下载,预 |
|
|
|
#### /api/preference/edit |
|
|
|
|
|
|
|
**功能**:编辑网站偏好设置,修改网站名称,logo,版权,备案信息。 |
|
|
|
|
|
|
|
**访问级别**:`管理员` |
|
|
|
|
|
|
|
**请求参数**: |
|
|
|
|
|
|
|
名称 | 类型 | 必填性 | 描述 |
|
|
|
@ -410,7 +419,9 @@ footerLine2 | `string` | 选填 | 网站备案信息 |
|
|
|
#### /api/matter/create/directory |
|
|
|
|
|
|
|
**功能**:创建文件夹 |
|
|
|
|
|
|
|
**访问级别**:`注册用户`,`管理员` |
|
|
|
|
|
|
|
**请求参数**: |
|
|
|
|
|
|
|
名称 | 类型 | 必填性 | 描述 |
|
|
|
@ -426,7 +437,9 @@ name | `string` | 必填 | 文件夹名称, 不能包含以下特殊符号:` |
|
|
|
#### /api/matter/upload |
|
|
|
|
|
|
|
**功能**:上传文件 |
|
|
|
|
|
|
|
**访问级别**:`注册用户`,`管理员` |
|
|
|
|
|
|
|
**请求参数**: |
|
|
|
|
|
|
|
名称 | 类型 | 必填性 | 描述 |
|
|
|
@ -446,7 +459,9 @@ file | `file` | 必填 | 文件,在浏览器中是通过`<input type="file" na |
|
|
|
#### /api/matter/delete |
|
|
|
|
|
|
|
**功能**:删除文件或者文件夹 |
|
|
|
|
|
|
|
**访问级别**:`注册用户`,`管理员` |
|
|
|
|
|
|
|
**请求参数**: |
|
|
|
|
|
|
|
名称 | 类型 | 必填性 | 描述 |
|
|
|
@ -462,7 +477,9 @@ uuid | `string` | 必填 | 待删除的文件或文件夹的uuid |
|
|
|
#### /api/matter/delete/batch |
|
|
|
|
|
|
|
**功能**:批量删除文件或文件夹 |
|
|
|
|
|
|
|
**访问级别**:`注册用户`,`管理员` |
|
|
|
|
|
|
|
**请求参数**: |
|
|
|
|
|
|
|
名称 | 类型 | 必填性 | 描述 |
|
|
|
@ -476,7 +493,9 @@ uuids | `string` | 必填 | 待删除的文件或文件夹的uuids,用逗号(,) |
|
|
|
#### /api/matter/rename |
|
|
|
|
|
|
|
**功能**:重命名文件或文件夹 |
|
|
|
|
|
|
|
**访问级别**:`注册用户`,`管理员` |
|
|
|
|
|
|
|
**请求参数**: |
|
|
|
|
|
|
|
名称 | 类型 | 必填性 | 描述 |
|
|
|
@ -490,7 +509,9 @@ name | `string` | 必填 | 新名字,不能包含以下特殊符号:`< > \| |
|
|
|
#### /api/matter/change/privacy |
|
|
|
|
|
|
|
**功能**:改变文件的公私有属性 |
|
|
|
|
|
|
|
**访问级别**:`注册用户`,`管理员` |
|
|
|
|
|
|
|
**请求参数**: |
|
|
|
|
|
|
|
名称 | 类型 | 必填性 | 描述 |
|
|
|
@ -505,7 +526,9 @@ privacy | `bool` | 选填 | 文件的私有性,默认`false` |
|
|
|
#### /api/matter/move |
|
|
|
|
|
|
|
**功能**:将一个文件夹或者文件移入到另一个文件夹下。 |
|
|
|
|
|
|
|
**访问级别**:`注册用户`,`管理员` |
|
|
|
|
|
|
|
**请求参数**: |
|
|
|
|
|
|
|
名称 | 类型 | 必填性 | 描述 |
|
|
|
@ -521,7 +544,9 @@ destUuid | `string` | 必填 | 目标文件夹,根目录用`root` |
|
|
|
#### /api/matter/detail |
|
|
|
|
|
|
|
**功能**:产看文件详情 |
|
|
|
|
|
|
|
**访问级别**:`注册用户`,`管理员` |
|
|
|
|
|
|
|
**请求参数**: |
|
|
|
|
|
|
|
名称 | 类型 | 必填性 | 描述 |
|
|
|
@ -536,7 +561,9 @@ destUuid | `string` | 必填 | 目标文件夹,根目录用`root` |
|
|
|
#### /api/matter/page |
|
|
|
|
|
|
|
**功能**:按照分页的方式获取某个文件夹下文件和子文件夹的列表 |
|
|
|
|
|
|
|
**访问级别**:`注册用户`,`管理员` |
|
|
|
|
|
|
|
**请求参数**: |
|
|
|
|
|
|
|
名称 | 类型 | 必填性 | 描述 |
|
|
|
@ -563,7 +590,9 @@ extensions | `string` | 选填 | 按文件后缀名筛选,逗号(,)分隔。 |
|
|
|
这个接口的定义在在`AlienController`中的,具体使用请参考[蓝眼云盘编程接口](https://github.com/eyebluecn/tank/blob/master/build/doc/alien_zh.md) 这里只做简单的下载使用。 |
|
|
|
|
|
|
|
**功能**:下载文件。 |
|
|
|
|
|
|
|
**访问级别**:`游客`,`注册用户`,`管理员` |
|
|
|
|
|
|
|
**请求参数**: 均是放置在url中 |
|
|
|
|
|
|
|
名称 | 类型 | 必填性 | 描述 |
|
|
|
@ -584,7 +613,9 @@ filename | `string` | 必填 | 要下载的文件名 |
|
|
|
#### /api/user/create |
|
|
|
|
|
|
|
**功能**:创建用户 |
|
|
|
|
|
|
|
**访问级别**:`管理员` |
|
|
|
|
|
|
|
**请求参数**: |
|
|
|
|
|
|
|
名称 | 类型 | 必填性 | 描述 |
|
|
|
@ -607,7 +638,9 @@ sizeLimit | `string` | 选填 | 用户上传单文件限制,单位byte. 如果 |
|
|
|
#### /api/user/edit |
|
|
|
|
|
|
|
**功能**:编辑用户 |
|
|
|
|
|
|
|
**访问级别**:`注册用户`,`管理员` |
|
|
|
|
|
|
|
**请求参数**: |
|
|
|
|
|
|
|
名称 | 类型 | 必填性 | 描述 |
|
|
|
@ -628,7 +661,9 @@ sizeLimit | `string` | 选填 | 用户上传单文件限制,单位byte. 如果 |
|
|
|
#### /api/user/change/password |
|
|
|
|
|
|
|
**功能**:用户修改密码 |
|
|
|
|
|
|
|
**访问级别**:`注册用户`,`管理员` |
|
|
|
|
|
|
|
**请求参数**: |
|
|
|
|
|
|
|
名称 | 类型 | 必填性 | 描述 |
|
|
|
@ -644,7 +679,9 @@ newPassword | `string` | 必填 | 新密码 |
|
|
|
#### /api/user/change/password |
|
|
|
|
|
|
|
**功能**:管理员重置用户密码 |
|
|
|
|
|
|
|
**访问级别**:`管理员` |
|
|
|
|
|
|
|
**请求参数**: |
|
|
|
|
|
|
|
名称 | 类型 | 必填性 | 描述 |
|
|
|
@ -659,7 +696,9 @@ password | `string` | 必填 | 密码 |
|
|
|
#### /api/user/login |
|
|
|
|
|
|
|
**功能**:登录 |
|
|
|
|
|
|
|
**访问级别**:`游客`,`注册用户`,`管理员` |
|
|
|
|
|
|
|
**请求参数**: |
|
|
|
|
|
|
|
名称 | 类型 | 必填性 | 描述 |
|
|
|
@ -674,7 +713,9 @@ password | `string` | 必填 | 密码 |
|
|
|
#### /api/user/logout |
|
|
|
|
|
|
|
**功能**:登录 |
|
|
|
|
|
|
|
**访问级别**:`注册用户`,`管理员` |
|
|
|
|
|
|
|
**请求参数**:无 |
|
|
|
|
|
|
|
**返回**: 成功信息"退出成功!" |
|
|
|
@ -684,7 +725,9 @@ password | `string` | 必填 | 密码 |
|
|
|
#### /api/user/detail |
|
|
|
|
|
|
|
**功能**:查看用户详情 |
|
|
|
|
|
|
|
**访问级别**:`游客`,`注册用户`,`管理员` |
|
|
|
|
|
|
|
**请求参数**: |
|
|
|
|
|
|
|
名称 | 类型 | 必填性 | 描述 |
|
|
|
@ -698,7 +741,9 @@ uuid | `string` | 必填 | 待查看的用户uuid |
|
|
|
#### /api/user/page |
|
|
|
|
|
|
|
**功能**:查看用户列表 |
|
|
|
|
|
|
|
**访问级别**:`管理员` |
|
|
|
|
|
|
|
**请求参数**: |
|
|
|
|
|
|
|
名称 | 类型 | 必填性 | 描述 |
|
|
|
@ -718,7 +763,9 @@ orderCreateTime | `DESC`或`ASC` | 选填 | 按创建时间排序,`DESC`降序 |
|
|
|
#### /api/user/disable |
|
|
|
|
|
|
|
**功能**:禁用用户 |
|
|
|
|
|
|
|
**访问级别**:`管理员` |
|
|
|
|
|
|
|
**请求参数**: |
|
|
|
|
|
|
|
名称 | 类型 | 必填性 | 描述 |
|
|
|
@ -732,7 +779,9 @@ uuid | `string` | 必填 | 待操作的用户 |
|
|
|
#### /api/user/enable |
|
|
|
|
|
|
|
**功能**:启用用户 |
|
|
|
|
|
|
|
**访问级别**:`管理员` |
|
|
|
|
|
|
|
**请求参数**: |
|
|
|
|
|
|
|
名称 | 类型 | 必填性 | 描述 |
|
|
|
|