# node图床-服务端 **Repository Path**: codexiaoke/node-drawing-bed-server ## Basic Information - **Project Name**: node图床-服务端 - **Description**: node图床系统-node图床-服务端 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2022-01-16 - **Last Updated**: 2022-10-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # node-图床系统 API 文档 ## 1.1. API 接口说明 - 接口基准地址:`http://127.0.0.1:8888/api/` - 服务端已开启 CORS 跨域支持 - API 认证统一使用 Token 认证 - 需要授权的 API ,必须在请求头中使用 `Authorization` 字段提供 `token` 令牌 - 使用 HTTP Status Code 标识状态 - 数据返回格式统一使用 JSON ### 1.1.1. 支持的请求方法 - GET(SELECT):从服务器取出资源(一项或多项)。 - POST(CREATE):在服务器新建一个资源。 - PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)。 - DELETE(DELETE):从服务器删除资源。 ### 1.1.2. 通用返回状态说明 | *状态码* | *含义* | *说明* | | -------- | --------------------- | --------------------------------------------------- | | 200 | OK | 请求成功 | | 201 | CREATED | 创建成功 | | 204 | DELETED | 删除成功 | | 400 | BAD REQUEST | 请求的地址不存在或者包含不支持的参数 | | 401 | UNAUTHORIZED | 未授权 | | 403 | FORBIDDEN | 被禁止访问 | | 404 | NOT FOUND | 请求的资源不存在 | | 422 | Unprocesable entity | [POST/PUT/PATCH] 当创建一个对象时,发生一个验证错误 | | 500 | INTERNAL SERVER ERROR | 内部错误 | ## 1.2 用户登陆 - 请求路径:login - 请求方式:post - 请求参数 | 参数名 | 说明 | 备注 | | -------- | ---- | -------- | | email | 邮箱 | 不能为空 | | password | 密码 | 不能为空 | - 响应参数 | 参数名 | 说明 | 备注 | | -------- | ---------- | ---- | | id | 用户 id | | | username | 用户名 | | | email | 邮箱 | | | role | 角色 | | | token | token 令牌 | | - 响应数据 ```json { "data": { "id": 3, "username": "xioake", "email": "xiaokenb@88.com", "role": "ordinary", "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6Inhpb2FrZSIsImlhdCI6MTYxMjQwOTEwNn0.qxBvXTfRfXjOjqC_1-vg4z2ZQsmhBaS7U2v_oE59rSE" }, "meta": { "msg": "登陆成功!", "status": 200 } } ``` ## 1.3 用户注册 - 请求路径:register - 请求方式:post - 请求参数 | 参数名 | 说明 | 备注 | | -------- | ------ | -------- | | username | 用户名 | 不能为空 | | email | 邮箱 | 不能为空 | | password | 密码 | 不能为空 | - 响应数据 ```json { "data": null, "meta": { "msg": "注册成功!", "status": 201 } } ``` ## 1.4 文件上传 - 请求路径: - 请求方式: - 请求参数 | 参数名 | 说明 | 备注 | | ------ | -------- | -------- | | file | 文件对象 | 不能为空 | - 响应参数 | 参数名 | 说明 | 备注 | | ------ | -------- | -------- | | path | 相对路径 | | | url | 文件地址 | | | size | 文件大小 | 单位:kb | - 响应数据 ```json { "data": { "path": "/xioake/agS5MrG1C4.jpg", "url": "http://localhost:8888/xioake/agS5MrG1C4.jpg", "size": "1082.60kb", }, "meta": { "msg": "上传成功!", "status": 200 } } ``` ## 1.5 文件管理 ### 1.5.1 获取文件列表 - 请求路径:getfile - 请求方式:get - 请求参数 | 参数名 | 说明 | 备注 | | -------- | -------------- | ------------------ | | pagenum | 页码 | 不能为空 | | pagesize | 当前页显示条数 | 不能为空 | | user_id | 用户id | 为空则获取所有文件 | - 响应参数 | 参数名 | 说明 | 备注 | | -------- | ------------ | -------- | | total | 总条数 | | | id | 文件 ID | | | user_id | 用户 ID | | | img_name | 文件名称 | | | img_path | 文件路径 | | | img_size | 文件大小 | 单位:KB | | img_data | 文件上传日期 | | | img_url | 文件地址 | | - 响应数据 ```json { "data": { "total": 6, "file": [ { "id": 62, "user_id": 1, "img_name": "Chhoyp4icr.jpg", "img_path": "/admin/z97rlhAW9c.jpg", "img_size": 796.59, "img_data": "2021-02-04T07:17:21.000Z", "img_url": "http://localhost:8888/admin/z97rlhAW9c.jpg" }, { "id": 63, "user_id": 1, "img_name": "EmbSw4gNVA.jpg", "img_path": "/admin/dmB0XGkqHD.jpg", "img_size": 695.98, "img_data": "2021-02-04T09:39:01.000Z", "img_url": "http://localhost:8888/admin/dmB0XGkqHD.jpg" } ] }, "meta": { "msg": "获取成功!", "status": 200 } } ``` ### 1.5.2 删除文件 - 请求路径:delfile - 请求方式:delete - 请求参数 | 参数名 | 说明 | 备注 | | ------ | ------- | -------- | | id | 文件 ID | 不能为空 | - 响应数据 ```json { "data": null, "meta": { "msg": "删除成功!", "status": 200 } } ``` ### 1.5.3 根据用户ID 获取文件总数 - 请求路径:allimg - 请求方式:get - 请求参数 | 参数名 | 说明 | 备注 | | ------ | ------ | -------- | | id | 用户id | 不能为空 | - 响应参数 | 参数名 | 说明 | 备注 | | ------ | -------- | ---- | | total | 文件总数 | | - 响应数据 ```json { "data": { "total": 10 }, "meta": { "msg": "获取成功!", "status": 200 } } ``` ## 1.6 用户管理 ### 1.6.1 获取用户列表 - 请求路径:users - 请求方式:get - 请求参数: | 参数名 | 说明 | 备注 | | -------- | ------------ | -------- | | pagenum | 页吗 | 不能为空 | | pagesize | 当前显示条数 | 不能为空 | - 响应参数 | 参数名 | 说明 | 备注 | | -------- | ------ | ---- | | total | 总条数 | | | id | 用户ID | | | username | 用户名 | | | email | 邮箱 | | | key | 令牌 | | | capacity | 容量 | | | state | 状态 | | | role | 角色 | | - 响应数据 ```json { "data": { "total": 2, "file": [ { "id": 2, "username": "xioake", "email": "xiaoke@88.com", "key": "wLBFd0kCZJ742xS7Z6K1TJwo4qpklYpg", "capacity": 99.32, "state": true, "role": "ordinary" } ] }, "meta": { "msg": "获取成功!", "status": 200 } } ``` ### 1.6.2 修改密码 - 请求路径:editpwd - 请求方式:put - 请求参数 | 参数名 | 说明 | 备注 | | -------- | ------- | -------- | | id | 用户 id | 不能为空 | | password | 密码 | 不能为空 | - 响应数据 ```json { "data": null, "meta": { "msg": "修改密码成功!", "status": 200 } } ``` ### 1.6.3 修改用户状态 - 请求路径:editste - 请求方式:put - 请求参数 | 参数名 | 说明 | 备注 | | ------ | ------------------ | -------- | | id | 用户 id | 不能为空 | | state | 用户状态(布尔值) | 不能为空 | - 响应数据 ```json { "data": null, "meta": { "msg": "修改用户状态成功!", "status": 200 } } ``` ### 1.6.4 修改用户容量 - 请求路径:editcpt - 请求方式:put - 请求参数 | 参数名 | 说明 | 备注 | | -------- | ------- | ------------------------ | | id | 用户 id | 不能为空 | | capacity | 容量值 | 不能为空 +10 添加 -10 减 | - 响应参数 | 参数名 | 说明 | 备注 | | ----------- | -------- | ---- | | capacity | 可用容量 | | | maxcapacity | 用户容量 | | - 响应数据 ```json { "data": { "capacity": 214.41, "maxcapacity": 220 }, "meta": { "msg": "修改用户容量值成功!", "status": 200 } } ``` ## 1.7 卡密管理 ### 1.7.1 生成卡密 - 请求路径:addCami - 请求方式:post - 请求参数: | 参数名 | 说明 | 备注 | | ------ | -------- | -------- | | number | 生成数量 | 不能为空 | | size | 容量大小 | 不能为空 | - 响应数据 ```json { "data": null, "meta": { "msg": "生成成功!", "status": 200 } } ``` ### 1.7.2 使用卡密 - 请求路径:cami - 请求方式:post - 请求参数: | 参数名 | 说明 | 备注 | | ------ | ------- | -------- | | id | 用户 id | 不能为空 | | key | 卡密 | 不能为空 | - 响应数据 ```json { "data": null, "meta": { "msg": "使用成功!", "status": 200 } } ```