[AppleScript] 纯文本查看 复制代码
.版本 2
.支持库 spec
.支持库 internet
.支持库 json
.常量 夸克API_登录 = "https://api夸克域名.com/auth/login" ' 实际需替换为真实接口
.常量 夸克API_转存 = "https://api夸克域名.com/file/transfer" ' 实际需替换为真实接口
.常量 USER_AGENT = "Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36"
.局部变量 登录Cookie, 文本型
.局部变量 转存结果, 文本型
.局部变量 请求参数, 文本型
.局部变量 响应JSON, JSON对象
### 一、登录模块(获取有效Cookie)
.子程序 夸克登录, 逻辑型
.参数 用户名, 文本型
.参数 密码, 文本型
.局部变量 登录请求, 类_HttpRequest
登录请求.初始化 ()
登录请求.置请求头 ("User-Agent", USER_AGENT)
登录请求.置请求头 ("Content-Type", "application/json")
请求参数 = “{\"username\":\"” + 用户名 + “\",\"password\":\"” + 密码 + “\"}”
登录请求.发送数据 (夸克API_登录, #POST, 到字节集 (请求参数))
.如果真 (登录请求.取状态码 () = 200)
登录Cookie = 登录请求.取响应头 (“Set-Cookie”) ' 获取登录后的Cookie
返回 (真)
.如果真结束
返回 (假)
### 二、文件转存核心函数
.子程序 一键转存文件, 逻辑型
.参数 文件ID, 文本型
.参数 目标目录ID, 文本型, , 默认"0"(根目录)
.局部变量 转存请求, 类_HttpRequest
.如果真 (登录Cookie = “”)
信息框 (“请先登录夸克账号!”, #错误图标, “提示”)
返回 (假)
.如果真结束
转存请求.初始化 ()
转存请求.置请求头 ("User-Agent", USER_AGENT)
转存请求.置请求头 ("Cookie", 登录Cookie)
转存请求.置请求头 ("Content-Type", "application/json")
请求参数 = “{\"file_id\":\"” + 文件ID + “\",\"target_dir_id\":\"” + 目标目录ID + “\"}”
转存请求.发送数据 (夸克API_转存, #POST, 到字节集 (请求参数))
.如果真 (转存请求.取状态码 () = 200)
响应JSON.解析 (转存请求.取内容 ())
.如果真 (响应JSON.取数值型 (“code”) = 0)
信息框 (“转存成功!文件ID: ” + 文件ID, #信息图标, “提示”)
返回 (真)
.如果真结束
信息框 (“转存失败:” + 响应JSON.取文本型 (“msg”), #错误图标, “提示”)
.如果真结束
返回 (假)
### 三、界面调用示例(假设窗口有2个编辑框和2个按钮)
.子程序 _按钮_登录_被单击
.如果 (夸克登录 (编辑框_用户名.内容, 编辑框_密码.内容))
信息框 (“登录成功!”, #信息图标, “提示”)
.否则
信息框 (“登录失败,请检查账号密码!”, #错误图标, “提示”)
.如果结束
.子程序 _按钮_转存_被单击
.局部变量 目标文件ID, 文本型
.局部变量 目标目录, 文本型
目标文件ID = 编辑框_文件ID.内容
目标目录 = 编辑框_目录ID.内容
.如果 (目标目录 = “”)
目标目录 = “0” ' 默认转存到根目录
.如果结束
一键转存文件 (目标文件ID, 目标目录)