分享时间 | 19小时21分钟前 |
最后更新 | 16小时18分钟前 |
修订版本 | 2 |
用户许可 | -未设置- |
Quicker版本 | 1.44.22 |
动作大小 | 23.1 KB |
本动作主要有两个用处
1. 快速使用JS去定义一些文本处理方法。
2. 基于这个动作快速开发文本处理类动作。
本动作会在"我的文档\Quicker"目录下新建一个"通用文本处理"的文件夹,这个文件夹名取决于动作名。文件夹内可以编写多个js文件,每个文件对应一个文本处理方法。
关于文本处理方法的编写,本动作会在JS的全局对象中注入一个全局变量input,可以通过这个变量获取输入内容,通过JS进行文本处理后,使用return将结果返回出去即可。
以下是一个base64编码的demo,将这个demo拷贝到"我的文档\Quicker\通用文本处理\base64编码.js",直接执行动作,就可以看到这个动作了。
const chars =
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
function btoa(str) {
let result = "";
let i = 0;
const len = str.length;
while (i < len) {
// 读取三个字节(不足则补0)
const c1 = str.charCodeAt(i++) & 0xff;
const c2 = i < len ? str.charCodeAt(i++) & 0xff : 0;
const c3 = i < len ? str.charCodeAt(i++) & 0xff : 0;
// 计算四个6位索引
const b1 = (c1 >> 2) & 0x3f;
const b2 = ((c1 & 0x03) << 4) | ((c2 >> 4) & 0x0f);
const b3 = ((c2 & 0x0f) << 2) | ((c3 >> 6) & 0x03);
const b4 = c3 & 0x3f;
// 根据字节数决定填充
const byteCount = i - (result.length / 4) * 3; // 当前组实际字节数
result += chars[b1] + chars[b2];
result += byteCount > 1 ? chars[b3] : "=";
result += byteCount > 2 ? chars[b4] : "=";
}
return result;
}
return btoa(input);
本动作有云同步功能,里面自然也有动作的序列化和反序列化相关功能,将序列化后的字符串内置在动作里,第一次启动反序列化,就可以快速开发一款文本处理工具。
修订版本 | 更新时间 | 更新说明 |
---|---|---|
2 | 16小时18分钟前 | 添加云同步机制 |
1 | 17小时18分钟前 | 添加错误捕获 |
0 | 19小时21分钟前 |