From 45172f69ba261f79c717b25dff404a4687fdff73 Mon Sep 17 00:00:00 2001 From: zhaojun1998 Date: Thu, 30 Jan 2020 18:05:56 +0800 Subject: [PATCH] =?UTF-8?q?:memo:=20=E6=9B=B4=E6=96=B0=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- API.md | 164 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 17 +++--- 2 files changed, 174 insertions(+), 7 deletions(-) create mode 100644 API.md diff --git a/API.md b/API.md new file mode 100644 index 0000000..ea74bb2 --- /dev/null +++ b/API.md @@ -0,0 +1,164 @@ +## API 标准 + +所有 API 均返回 `msg`, `code`, `data` 三个属性. + +| code | 描述 | +| :---: | :------------: | +| 0 | 请求成功 | +| -1 | 请求失败 | +| -2 | 文件夹需要密码 | + +当 `code == 0` 时, `data` 中为请求所需数据. + +当 `code != 0` 时, 应当将 `msg` 中的属性作为参考值. + + +## 获取文件列表 + +### 请求 URL + +`/api/list` `GET` + +### 参数 + +| 参数名 | 描述 | 是否必填 | 参考值 | +| :------: | :--------: | :------: | :--------------------------: | +| path | 路径 | 是 | `/`, `/文件夹名称` | +| password | 文件夹密码 | 否 | 当文件夹需要密码时, | +| page | 页数 | 否 | 默认取第一页, 每页固定 30 条 | + +### 响应 + +```json +{ + "msg": "操作成功", + "code": 0, + "data": [ + { + "name": "密码文件夹", + "time": "2020-01-28 13:17", + "size": 4096, + "type": "FOLDER", + "path": "/", + "url": null + }, + { + "name": "新建 文本文档.txt", + "time": "2020-01-28 13:16", + "size": 3, + "type": "FILE", + "path": "/", + "url": "http://127.0.0.1:8080/file/新建 文本文档.txt" + } + ] +} +``` + +## 搜索 + + +### 请求 URL + +`/api/search` `GET` + +### 参数 + +| 参数名 | 描述 | 是否必填 | 参考值 | +| :----: | :----: | :------: | :--------------------------: | +| name | 搜索值 | 是 | 模糊匹配 | +| page | 页数 | 否 | 默认取第一页, 每页固定 30 条 | + +### 响应 + +```json +{ + "msg": "操作成功", + "code": 0, + "data": [ + { + "name": "密码文件夹", + "time": "2020-01-28 13:17", + "size": 4096, + "type": "FOLDER", + "path": "/", + "url": null + }, + { + "name": "新建 文本文档.txt", + "time": "2020-01-28 13:16", + "size": 3, + "type": "FILE", + "path": "/", + "url": "http://127.0.0.1:8080/file/新建 文本文档.txt" + } + ] +} +``` + + +## 获取单个文件信息 + +### 请求 URL + +`/api/directlink` `GET` + +### 参数 + +| 参数名 | 描述 | 是否必填 | 参考值 | +| :----: | :--------: | :------: | :------------------: | +| path | 文件全路径 | 是 | `/新建 文本文档.txt` | + +### 响应 + +```json +{ + "msg": "操作成功", + "code": 0, + "data": { + "name": "新建 文本文档.txt", + "time": "2020-01-28 13:16", + "size": 3, + "type": "FILE", + "path": "d:/test", + "url": "http://127.0.0.1:8080/file/新建 文本文档.txt" + } +} +``` + +## 获取系统配置 + + +### 请求 URL + +`/api/config` `GET` + +### 参数 + +| 参数名 | 描述 | 是否必填 | 参考值 | +| :----: | :--------: | :------: | :-----------: | +| path | 文件夹名称 | 是 | `/文件夹名称` | + +### 响应 + +```json +{ + "msg": "操作成功", + "code": 0, + "data": { + "header": null, # 头部文件名称 + "viewConfig": { + "siteName": "站点名称", # 站点名称 + "infoEnable": false, # 是否开启右侧信息框 + "searchEnable": false, # 是否开启搜索 + "searchIgnoreCase": true, # 搜索是否忽略大小写 + "storageStrategy": "local", # 当前启用存储引擎 + "username": "2", # 用户名 + "domain": "http://127.0.0.1:8080", # 域名 + "enableCache": false, # 是否开启缓存 + "searchContainEncryptedFile": false, # 搜索是否包含加密文件夹 + "customJs": "", # 自定义 js 片段 + "customCss": "" # 自定义 css 片段 + } + } +} +``` diff --git a/README.md b/README.md index 9aa09c3..1ea57b5 100644 --- a/README.md +++ b/README.md @@ -38,12 +38,14 @@ apt update apt install -y openjdk-8-jre-headless unzip ``` +> 如为更新程序, 则请先执行 `rm -rf ~/zfile` 清理旧程序. 首次安装请忽略此选项. + 下载项目: ```bash -wget -P ~ https://c.jun6.net/ZFILE/zfile-0.9.war +wget -P ~ https://c.jun6.net/ZFILE/zfile-1.0.war cd ~ -mkdir zfile && unzip zfile-0.9.war -d zfile && rm -rf zfile-0.9.war +mkdir zfile && unzip zfile-1.0.war -d zfile && rm -rf zfile-1.0.war chmod +x ~/zfile/bin/*.sh ``` @@ -146,11 +148,12 @@ https://login.chinacloudapi.cn/common/oauth2/v2.0/authorize?client_id=4a72d927-1 ## TODO -- 文本预览更换更好用的编辑器 -- 后台支持上传、编辑、删除等操作 -- API 支持 -- 更方便的部署方式 - +- [x] API 支持 [点击查看文档](https://github.com/zhaojun1998/zfile/blob/master/API.md) +- [x] 更方便的部署方式 +- [ ] 文本预览更换更好用的编辑器 +- [ ] 后台支持上传、编辑、删除等操作 +- [ ] WebDav 支持 +- [ ] Docker 支持 ## 支持作者