mirror of
https://gitee.com/zhangsken/aliyunpan.git
synced 2026-10-16 10:29:42 +08:00
106 lines
3.6 KiB
Plaintext
Executable File
106 lines
3.6 KiB
Plaintext
Executable File
// ==========================================================================================
|
|
// aliyunpan JS插件回调处理函数
|
|
// 支持 JavaScript ECMAScript 5.1 语言规范
|
|
//
|
|
// 更多内容请查看官方文档:https://github.com/tickstep/aliyunpan
|
|
// ==========================================================================================
|
|
|
|
|
|
// ------------------------------------------------------------------------------------------
|
|
// 函数说明:删除文件前的回调函数
|
|
//
|
|
// 参数说明
|
|
// context - 当前调用的上下文信息
|
|
// {
|
|
// "appName": "aliyunpan",
|
|
// "version": "v0.1.3",
|
|
// "userId": "11001d48564f43b3bc5662874f04bb11",
|
|
// "nickname": "tickstep",
|
|
// "fileDriveId": "19519111",
|
|
// "albumDriveId": "29519122"
|
|
// }
|
|
// appName - 应用名称,当前固定为aliyunpan
|
|
// version - 版本号
|
|
// userId - 当前登录用户的ID
|
|
// nickname - 用户昵称
|
|
// fileDriveId - 用户文件网盘ID
|
|
// albumDriveId - 用户相册网盘ID
|
|
//
|
|
// params - 删除文件前的调用参数
|
|
// {
|
|
// "count": 10,
|
|
// "items": [{}, {}, ...],
|
|
// }
|
|
// count - 文件总数
|
|
// items - 文件列表,文件详情请查看下面 RemoveFilePrepareItem 定义
|
|
//
|
|
// RemoveFilePrepareItem - 文件详情参数
|
|
// {
|
|
// "driveId": "19519221",
|
|
// "driveFileId": "65f6c5161ee4a1b9a02b41399282f281c6e6df21",
|
|
// "driveFileName": "token.bat",
|
|
// "driveFilePath": "/aliyunpan/Downloads/token.bat",
|
|
// "driveFileSize": 125330,
|
|
// "driveFileType": "file",
|
|
// "driveFileUpdatedAt": "2025-03-02 10:39:14",
|
|
// "driveFileCreatedAt": "2025-03-02 10:39:14"
|
|
// }
|
|
// driveId - 网盘ID
|
|
// driveFileId - 网盘文件的ID
|
|
// driveFileName - 网盘文件名
|
|
// driveFilePath - 网盘文件绝对完整路径
|
|
// driveFileSize - 网盘文件大小,单位B
|
|
// driveFileType - 网盘文件类型,file-文件,folder-文件夹
|
|
// driveFileUpdatedAt - 网盘文件修改时间
|
|
// driveFileCreatedAt - 网盘文件创建时间
|
|
//
|
|
// 返回值说明
|
|
// {
|
|
// "result": [{}, {}, ...],
|
|
// }
|
|
// result - 结果列表,每个文件的确认结果,文件详细定义请查看 RemoveFilePrepareResultItem 定义
|
|
//
|
|
// RemoveFilePrepareResultItem - 每项文件确认结果
|
|
// {
|
|
// "driveId": "19519221",
|
|
// "driveFileId": "65f6c5161ee4a1b9a02b41399282f281c6e6df21",
|
|
// "removeApproved": "yes"
|
|
// }
|
|
// driveId - 网盘ID
|
|
// driveFileId - 网盘文件的ID
|
|
// removeApproved - 该文件是否能删除,yes-确认删除,no-不能删除
|
|
// ------------------------------------------------------------------------------------------
|
|
function removeFilePrepareCallback(context, params) {
|
|
console.log(params)
|
|
var result = {"result":[]};
|
|
for(var i = 0; i < params.items.length; i++) {
|
|
var fileItem = params.items[i]
|
|
console.log(fileItem);
|
|
var fileItemApprovedResult = {
|
|
"driveId": fileItem["driveId"],
|
|
"driveFileId": fileItem["driveFileId"],
|
|
"removeApproved": "yes"
|
|
}
|
|
|
|
// 可以通过名称过滤
|
|
if (fileItem["driveFileType"] == "file") { // 文件
|
|
if (fileItem["driveFileName"] == "password.key") {
|
|
fileItemApprovedResult["removeApproved"] = "no"; // 禁止删除password.key文件
|
|
}
|
|
} else if (params["driveFileType"] == "folder") { // 文件夹
|
|
// 对文件夹进行处理
|
|
}
|
|
|
|
// 可以通过时间过滤,例如:保留最近10天的文件
|
|
// ...
|
|
|
|
// 可以通过数量过滤,例如:保留最新5个文件
|
|
// ...
|
|
|
|
// 放入结果列表
|
|
result["result"].push(fileItemApprovedResult)
|
|
}
|
|
// 返回
|
|
return result;
|
|
}
|