|
||
---|---|---|
.vscode | ||
config | ||
goparser | ||
media | ||
src | ||
文档 | ||
.eslintrc.json | ||
.gitignore | ||
.vscode-test.mjs | ||
.vscodeignore | ||
CHANGELOG.md | ||
README.md | ||
jsconfig.json | ||
package-lock.json | ||
package.json | ||
rclone-plugin-0.0.1.vsix | ||
rclone-plugin-0.0.2.vsix |
README.md
Rclone backend适配辅助工具
一、概述
Rclone适配模板用于简化用户对Rclone backend中各接口的适配,包括对象存储模板、基于ID的文件存储模板和基于路径的文件存储模板三种。
模板适配辅助工具以vscode插件的形式对用户提供服务,用于帮助用户对模板进行理解,便于填写模板。
二、安装方法
- 获取rclone-plugin-0.0.2.vsix安装包。
- 打开vscode,在extensions中,点击左上角“...”,选择“从VSIX安装”。
- 在弹出的文件选择界面找到rclone-plugin-0.0.2.vsix文件,点击“安装”即可。

三、使用步骤
1. 创建新的存储系统
在首页填写存储系统的名称、存储系统的描述和想要创建的新存储系统所在的文件夹名,选择存储类型,点击“开始创建”。
此时系统会自动复制指定类型的模板文件夹,以文件夹名命名,并修改模板中的名称和描述。此时vscode右侧会出现待填写的模板文件。

如果不是首次创建,点击“使用已有存储系统”,选择存储类型,点击“进入”。

2. 更新基本信息
进入模板页面后,支持再次更改名称和描述,填写信息后点击“更新”,其中,文件夹名必须和模板所在文件夹名一致,用于校验,防止错误修改其他文件。

3. 功能特性
用于描述存储系统的功能边界。
-
点击“跳转”,右侧文件内容会跳转到指定位置并高亮显示;
-
点击“还原”,对应部分会将修改的内容还原成模板初始状态;
-
根据存储系统实际情况选择true或false,点击“应用”,模板中会修改对应内容。

4. 填写必选接口
- 初始化函数
- 点击“存储系统Fs初始化”中的“跳转”,右侧文件内容会跳转到指定位置并高亮显示,用户在右侧填写函数内容;
- 点击“还原”,系统会将右侧文件中对应部分内容恢复成模板初始状态。

- Fs结构体
- 点击查看/编辑可用结构体中的存储系统Fs,能够看见Fs结构体中的所有字段,其中是否为基础项如果为“是”,表示该字段是在FsBase当中;如果为否,表示该字段是在Fs结构体当中。

- 点击“添加新字段”,填写字段名称和类型,点击“保存”,右侧文件Fs结构体中也会增加对应的字段。
- 点击“删除”,右侧文件Fs结构体中会删除对应的字段。
- 点击“插入”,右侧文件对应函数内会添加对于该字段的使用说明。
- 点击“隐藏Fs结构体”,系统会隐藏表格内容。

- Options结构体
Options是创建存储系统时所需要配置的信息,文件中需要填写的是Options和modelOptions,并且Options中的config tag需要与modelOptions中的Name一一对应。
在左侧表格中填写字段名称、类型、配置文件中对应的字段、是否必填,以及填写帮助信息,点击“保存”,右侧文件Options和modelOptions会自动添加对应内容。

点击插入,在newFsExtension函数中添加字段的使用方法说明。

- 其他函数
按顺序依次填写必选接口里的所有函数,有些接口只有一种实现方式,直接填写所需函数即可,有些接口有两种实现方式,点击“方式一”或者“方式二”,根据存储系统的实际接口情况选择合适的方法实现其一即可。

5. 填写可选接口
可选接口根据存储系统的实际情况填写,不是必须实现,若需要填写,其使用方法同必选接口。

6. 运行测试
完成适配后,为了测试适配代码的可用性,可采用如下流程进行测试:
-
编译rclone
-
填写配置信息
打开rclone编译包所在位置的终端,运行rclone config,按要求选择对应序号,按提示填写配置信息。 填写完成后,可查看config文件放置位置:rclone config file
- 测试命令
下面列举了部分测试Fs和Object各函数的rclone命令,可供参考。 (其中remote指代存储系统名称,bucket指代桶名)
- newFs
// 初始化Fs过程中会被调用
- (Fs)List
rclone lsd remote: // 获取路径列表
rclone lsd remote:bucket
rclone ls remote:bucket // 列举object列表
rclone ls remote:bucket/dir
rclone ls remote:bucket/dir --max-depth=2 // 设置查找的最大层级数
- (Fs)Mkdir
rclone mkdir remote:bucket // 创建路径
- (Fs)Rmdir
rclone rmdir remote:bucket // 删除路径
- (Fs)NewObject
// 该方法在上述测试中多次被调用,无需单独测试
- (Fs)Put
- (Object)Update
rclone copy ./1.txt remote:bucket // 上传小文件
rclone copy ./face.tar remote:bucket // 选择超过设定阈值的大文件上传
- (Object)Open
rclone copy remote:bucket/face.tar . // 下载文件到本地
- (Fs)Copy
rclone copy remote_src:bucket_src/path remote_dst:bucket_dst //复制文件到另一路径
// 可分别选择普通文件和大文件进行测试