mirror of
https://gitee.com/zhangsken/aliyunpan.git
synced 2026-10-16 02:23:49 +08:00
add sync task done plugin callback #304
This commit is contained in:
@@ -12,12 +12,12 @@
|
||||
// 参数说明
|
||||
// context - 当前调用的上下文信息
|
||||
// {
|
||||
// "appName": "aliyunpan",
|
||||
// "version": "v0.1.3",
|
||||
// "userId": "11001d48564f43b3bc5662874f04bb11",
|
||||
// "nickname": "tickstep",
|
||||
// "fileDriveId": "19519111",
|
||||
// "albumDriveId": "29519122"
|
||||
// "appName": "aliyunpan",
|
||||
// "version": "v0.1.3",
|
||||
// "userId": "11001d48564f43b3bc5662874f04bb11",
|
||||
// "nickname": "tickstep",
|
||||
// "fileDriveId": "19519111",
|
||||
// "albumDriveId": "29519122"
|
||||
// }
|
||||
// appName - 应用名称,当前固定为aliyunpan
|
||||
// version - 版本号
|
||||
@@ -28,14 +28,14 @@
|
||||
//
|
||||
// params - 文件下载前参数
|
||||
// {
|
||||
// "driveId": "19519221",
|
||||
// "driveFileName": "token.bat",
|
||||
// "driveFilePath": "/aliyunpan/Downloads/token.bat",
|
||||
// "driveFileSha1": "08FBE28A5B8791A2F50225E2EC5CEEC3C7955A11",
|
||||
// "driveFileSize": 125330,
|
||||
// "driveFileType": "file",
|
||||
// "driveFileUpdatedAt": "2022-04-14 07:05:12",
|
||||
// "localFilePath": "aliyunpan\\Downloads\\token.bat"
|
||||
// "driveId": "19519221",
|
||||
// "driveFileName": "token.bat",
|
||||
// "driveFilePath": "/aliyunpan/Downloads/token.bat",
|
||||
// "driveFileSha1": "08FBE28A5B8791A2F50225E2EC5CEEC3C7955A11",
|
||||
// "driveFileSize": 125330,
|
||||
// "driveFileType": "file",
|
||||
// "driveFileUpdatedAt": "2022-04-14 07:05:12",
|
||||
// "localFilePath": "aliyunpan\\Downloads\\token.bat"
|
||||
// }
|
||||
// driveId - 网盘ID
|
||||
// driveFileName - 网盘文件名
|
||||
@@ -48,8 +48,8 @@
|
||||
//
|
||||
// 返回值说明
|
||||
// {
|
||||
// "downloadApproved": "yes",
|
||||
// "localFilePath": "newfolder\\token.bat"
|
||||
// "downloadApproved": "yes",
|
||||
// "localFilePath": "newfolder\\token.bat"
|
||||
// }
|
||||
// downloadApproved - 该文件是否下载,yes-确认下载,no-取消下载
|
||||
// localFilePath - 文件保存的本地路径,这个是相对路径,如果为空""代表保持原本的目标路径。
|
||||
@@ -83,12 +83,12 @@ function downloadFilePrepareCallback(context, params) {
|
||||
// 参数说明
|
||||
// context - 当前调用的上下文信息
|
||||
// {
|
||||
// "appName": "aliyunpan",
|
||||
// "version": "v0.1.3",
|
||||
// "userId": "11001d48564f43b3bc5662874f04bb11",
|
||||
// "nickname": "tickstep",
|
||||
// "fileDriveId": "19519111",
|
||||
// "albumDriveId": "29519122"
|
||||
// "appName": "aliyunpan",
|
||||
// "version": "v0.1.3",
|
||||
// "userId": "11001d48564f43b3bc5662874f04bb11",
|
||||
// "nickname": "tickstep",
|
||||
// "fileDriveId": "19519111",
|
||||
// "albumDriveId": "29519122"
|
||||
// }
|
||||
// appName - 应用名称,当前固定为aliyunpan
|
||||
// version - 版本号
|
||||
@@ -99,15 +99,15 @@ function downloadFilePrepareCallback(context, params) {
|
||||
//
|
||||
// params - 文件下载结束参数
|
||||
// {
|
||||
// "driveId": "19519221",
|
||||
// "driveFileName": "token.bat",
|
||||
// "driveFilePath": "/aliyunpan/Downloads/token.bat",
|
||||
// "driveFileSha1": "08FBE28A5B8791A2F50225E2EC5CEEC3C7955A11",
|
||||
// "driveFileSize": 125330,
|
||||
// "driveFileType": "file",
|
||||
// "driveFileUpdatedAt": "2022-04-14 07:05:12",
|
||||
// "driveId": "19519221",
|
||||
// "driveFileName": "token.bat",
|
||||
// "driveFilePath": "/aliyunpan/Downloads/token.bat",
|
||||
// "driveFileSha1": "08FBE28A5B8791A2F50225E2EC5CEEC3C7955A11",
|
||||
// "driveFileSize": 125330,
|
||||
// "driveFileType": "file",
|
||||
// "driveFileUpdatedAt": "2022-04-14 07:05:12",
|
||||
// "downloadResult": "success",
|
||||
// "localFilePath": "aliyunpan\\Downloads\\token.bat"
|
||||
// "localFilePath": "aliyunpan\\Downloads\\token.bat"
|
||||
// }
|
||||
// driveId - 网盘ID
|
||||
// driveFileName - 网盘文件名
|
||||
|
||||
@@ -12,12 +12,12 @@
|
||||
// 参数说明
|
||||
// context - 当前调用的上下文信息
|
||||
// {
|
||||
// "appName": "aliyunpan",
|
||||
// "version": "v0.1.3",
|
||||
// "userId": "11001d48564f43b3bc5662874f04bb11",
|
||||
// "nickname": "tickstep",
|
||||
// "fileDriveId": "19519111",
|
||||
// "albumDriveId": "29519122"
|
||||
// "appName": "aliyunpan",
|
||||
// "version": "v0.1.3",
|
||||
// "userId": "11001d48564f43b3bc5662874f04bb11",
|
||||
// "nickname": "tickstep",
|
||||
// "fileDriveId": "19519111",
|
||||
// "albumDriveId": "29519122"
|
||||
// }
|
||||
// appName - 应用名称,当前固定为aliyunpan
|
||||
// version - 版本号
|
||||
@@ -28,12 +28,12 @@
|
||||
//
|
||||
// params - 扫描本地文件前参数
|
||||
// {
|
||||
// "localFilePath": "D:\\Program Files\\aliyunpan\\Downloads\\token.bat",
|
||||
// "localFileName": "token.bat",
|
||||
// "localFileSize": 125330,
|
||||
// "localFileType": "file",
|
||||
// "localFileUpdatedAt": "2022-04-14 07:05:12",
|
||||
// "driveId": "19519221"
|
||||
// "localFilePath": "D:\\Program Files\\aliyunpan\\Downloads\\token.bat",
|
||||
// "localFileName": "token.bat",
|
||||
// "localFileSize": 125330,
|
||||
// "localFileType": "file",
|
||||
// "localFileUpdatedAt": "2022-04-14 07:05:12",
|
||||
// "driveId": "19519221"
|
||||
// }
|
||||
// localFilePath - 本地文件绝对完整路径
|
||||
// localFileName - 本地文件名
|
||||
@@ -44,13 +44,13 @@
|
||||
//
|
||||
// 返回值说明
|
||||
// {
|
||||
// "syncScanLocalApproved": "yes"
|
||||
// "syncScanLocalApproved": "yes"
|
||||
// }
|
||||
// syncScanLocalApproved - 该文件是否确认扫描,yes-允许扫描,no-禁止扫描。
|
||||
// 禁止扫描的文件不会执行后续的动作,例如上传,下载。
|
||||
// ------------------------------------------------------------------------------------------
|
||||
function syncScanLocalFilePrepareCallback(context, params) {
|
||||
console.log(params);
|
||||
console.log(params);
|
||||
var result = {
|
||||
"syncScanLocalApproved": "yes"
|
||||
};
|
||||
@@ -60,7 +60,7 @@ function syncScanLocalFilePrepareCallback(context, params) {
|
||||
result["syncScanLocalApproved"] = "no";
|
||||
}
|
||||
|
||||
// 禁止~$开头文件上传(office暂存临时文件)
|
||||
// 禁止~$开头文件上传(office暂存临时文件)
|
||||
if (params["localFileName"].indexOf("~$") == 0) {
|
||||
result["syncScanLocalApproved"] = "no";
|
||||
}
|
||||
@@ -74,9 +74,9 @@ function syncScanLocalFilePrepareCallback(context, params) {
|
||||
if (params["localFileName"] == "password.key") {
|
||||
result["syncScanLocalApproved"] = "no";
|
||||
}
|
||||
|
||||
// 禁止@eadir文件上传
|
||||
if (params["localFileName"] == "@eadir") {
|
||||
|
||||
// 禁止@eadir文件上传
|
||||
if (params["localFileName"] == "@eadir") {
|
||||
result["syncScanLocalApproved"] = "no";
|
||||
}
|
||||
return result;
|
||||
@@ -89,12 +89,12 @@ function syncScanLocalFilePrepareCallback(context, params) {
|
||||
// 参数说明
|
||||
// context - 当前调用的上下文信息
|
||||
// {
|
||||
// "appName": "aliyunpan",
|
||||
// "version": "v0.1.3",
|
||||
// "userId": "11001d48564f43b3bc5662874f04bb11",
|
||||
// "nickname": "tickstep",
|
||||
// "fileDriveId": "19519111",
|
||||
// "albumDriveId": "29519122"
|
||||
// "appName": "aliyunpan",
|
||||
// "version": "v0.1.3",
|
||||
// "userId": "11001d48564f43b3bc5662874f04bb11",
|
||||
// "nickname": "tickstep",
|
||||
// "fileDriveId": "19519111",
|
||||
// "albumDriveId": "29519122"
|
||||
// }
|
||||
// appName - 应用名称,当前固定为aliyunpan
|
||||
// version - 版本号
|
||||
@@ -105,13 +105,13 @@ function syncScanLocalFilePrepareCallback(context, params) {
|
||||
//
|
||||
// params - 扫描云盘文件前参数
|
||||
// {
|
||||
// "driveId": "19519221",
|
||||
// "driveFileName": "token.bat",
|
||||
// "driveFilePath": "/aliyunpan/Downloads/token.bat",
|
||||
// "driveFileSha1": "08FBE28A5B8791A2F50225E2EC5CEEC3C7955A11",
|
||||
// "driveFileSize": 125330,
|
||||
// "driveFileType": "file",
|
||||
// "driveFileUpdatedAt": "2022-04-14 07:05:12"
|
||||
// "driveId": "19519221",
|
||||
// "driveFileName": "token.bat",
|
||||
// "driveFilePath": "/aliyunpan/Downloads/token.bat",
|
||||
// "driveFileSha1": "08FBE28A5B8791A2F50225E2EC5CEEC3C7955A11",
|
||||
// "driveFileSize": 125330,
|
||||
// "driveFileType": "file",
|
||||
// "driveFileUpdatedAt": "2022-04-14 07:05:12"
|
||||
// }
|
||||
// driveId - 网盘ID
|
||||
// driveFileName - 网盘文件名
|
||||
@@ -123,7 +123,7 @@ function syncScanLocalFilePrepareCallback(context, params) {
|
||||
//
|
||||
// 返回值说明
|
||||
// {
|
||||
// "syncScanPanApproved": "yes"
|
||||
// "syncScanPanApproved": "yes"
|
||||
// }
|
||||
// syncScanPanApproved - 该文件是否确认扫描,yes-允许扫描,no-禁止扫描。
|
||||
// 禁止扫描的文件不会执行后续的动作,例如上传,下载。
|
||||
@@ -159,12 +159,12 @@ function syncScanPanFilePrepareCallback(context, params) {
|
||||
// 参数说明
|
||||
// context - 当前调用的上下文信息
|
||||
// {
|
||||
// "appName": "aliyunpan",
|
||||
// "version": "v0.1.3",
|
||||
// "userId": "11001d48564f43b3bc5662874f04bb11",
|
||||
// "nickname": "tickstep",
|
||||
// "fileDriveId": "19519111",
|
||||
// "albumDriveId": "29519122"
|
||||
// "appName": "aliyunpan",
|
||||
// "version": "v0.1.3",
|
||||
// "userId": "11001d48564f43b3bc5662874f04bb11",
|
||||
// "nickname": "tickstep",
|
||||
// "fileDriveId": "19519111",
|
||||
// "albumDriveId": "29519122"
|
||||
// }
|
||||
// appName - 应用名称,当前固定为aliyunpan
|
||||
// version - 版本号
|
||||
@@ -175,15 +175,15 @@ function syncScanPanFilePrepareCallback(context, params) {
|
||||
//
|
||||
// params - 同步文件后的参数
|
||||
// {
|
||||
// "action": "upload",
|
||||
// "actionResult": "success",
|
||||
// "driveId": "19519221",
|
||||
// "fileName": "1.txt",
|
||||
// "filePath": "D:/goprojects/dev/upload/1.txt",
|
||||
// "fileSha1": "294C8F24C56042710813E95C55A0B018299BA9A7",
|
||||
// "fileSize": "28077",
|
||||
// "fileType": "file",
|
||||
// "fileUpdatedAt": "2022-03-04 15:19:47"
|
||||
// "action": "upload",
|
||||
// "actionResult": "success",
|
||||
// "driveId": "19519221",
|
||||
// "fileName": "1.txt",
|
||||
// "filePath": "D:/goprojects/dev/upload/1.txt",
|
||||
// "fileSha1": "294C8F24C56042710813E95C55A0B018299BA9A7",
|
||||
// "fileSize": "28077",
|
||||
// "fileType": "file",
|
||||
// "fileUpdatedAt": "2022-03-04 15:19:47"
|
||||
// }
|
||||
// action - 同步动作,
|
||||
// download-下载文件,
|
||||
@@ -205,5 +205,54 @@ function syncScanPanFilePrepareCallback(context, params) {
|
||||
// (无)
|
||||
// ------------------------------------------------------------------------------------------
|
||||
function syncFileFinishCallback(context, params) {
|
||||
console.log(params)
|
||||
console.log(params)
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------------------
|
||||
// 函数说明:同步备份-同步任务同步全部文件完成时的回调函数(目前只有"只运行一次备份"的任务模式才有该回调)
|
||||
//
|
||||
// 参数说明
|
||||
// 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 - 任务完成的回调参数
|
||||
// {
|
||||
// "name": "备份相册",
|
||||
// "id": "2e959a34-8435-4773-9a3e-687f2692ddc1",
|
||||
// "userId": "4d001d48564f43b3bc5662874114bbe6",
|
||||
// "driveName": "backup",
|
||||
// "driveId": "19519221",
|
||||
// "localFolderPath": "/Volumes/DataDisk3T/Games/Switch/图库备份",
|
||||
// "panFolderPath": "/备份盘/Switch游戏/Album",
|
||||
// "mode": "upload",
|
||||
// "policy": "upload",
|
||||
// }
|
||||
// name - 任务名称
|
||||
// id - 任务ID
|
||||
// userId - 登录的用户ID
|
||||
// driveName - 网盘名称,backup-备份盘,resource-资源盘
|
||||
// driveId - 目标网盘ID
|
||||
// localFolderPath - 本地目录
|
||||
// panFolderPath - 云盘目录
|
||||
// mode - 备份模式,upload-备份本地文件到云盘,download-备份云盘文件到本地
|
||||
// policy - 备份策略,increment-增量备份,exclusive-排他备份
|
||||
//
|
||||
// 返回值说明
|
||||
// 无
|
||||
// ------------------------------------------------------------------------------------------
|
||||
function syncAllFileFinishCallback(context, params) {
|
||||
console.log(params)
|
||||
}
|
||||
@@ -12,12 +12,12 @@
|
||||
// 参数说明
|
||||
// context - 当前调用的上下文信息
|
||||
// {
|
||||
// "appName": "aliyunpan",
|
||||
// "version": "v0.1.3",
|
||||
// "userId": "11001d48564f43b3bc5662874f04bb11",
|
||||
// "nickname": "tickstep",
|
||||
// "fileDriveId": "19519111",
|
||||
// "albumDriveId": "29519122"
|
||||
// "appName": "aliyunpan",
|
||||
// "version": "v0.1.3",
|
||||
// "userId": "11001d48564f43b3bc5662874f04bb11",
|
||||
// "nickname": "tickstep",
|
||||
// "fileDriveId": "19519111",
|
||||
// "albumDriveId": "29519122"
|
||||
// }
|
||||
// appName - 应用名称,当前固定为aliyunpan
|
||||
// version - 版本号
|
||||
@@ -28,11 +28,11 @@
|
||||
//
|
||||
// params - Token刷新参数
|
||||
// {
|
||||
// "result": "success",
|
||||
// "message": "ok",
|
||||
// "oldToken": "aa31fcc229c54d5ab6d8bfb17aff3711",
|
||||
// "newToken": "bb31fcc229c54d5ab6d8bfb17aff3722",
|
||||
// "updatedAt": "2022-04-14 07:05:12"
|
||||
// "result": "success",
|
||||
// "message": "ok",
|
||||
// "oldToken": "aa31fcc229c54d5ab6d8bfb17aff3711",
|
||||
// "newToken": "bb31fcc229c54d5ab6d8bfb17aff3722",
|
||||
// "updatedAt": "2022-04-14 07:05:12"
|
||||
// }
|
||||
// result - Token刷新的结果,success-成功,fail-失败
|
||||
// message - 消息说明,如果失败这里会有原因说明
|
||||
|
||||
@@ -12,12 +12,12 @@
|
||||
// 参数说明
|
||||
// context - 当前调用的上下文信息
|
||||
// {
|
||||
// "appName": "aliyunpan",
|
||||
// "version": "v0.1.3",
|
||||
// "userId": "11001d48564f43b3bc5662874f04bb11",
|
||||
// "nickname": "tickstep",
|
||||
// "fileDriveId": "19519111",
|
||||
// "albumDriveId": "29519122"
|
||||
// "appName": "aliyunpan",
|
||||
// "version": "v0.1.3",
|
||||
// "userId": "11001d48564f43b3bc5662874f04bb11",
|
||||
// "nickname": "tickstep",
|
||||
// "fileDriveId": "19519111",
|
||||
// "albumDriveId": "29519122"
|
||||
// }
|
||||
// appName - 应用名称,当前固定为aliyunpan
|
||||
// version - 版本号
|
||||
@@ -28,13 +28,13 @@
|
||||
//
|
||||
// params - 文件上传前参数
|
||||
// {
|
||||
// "localFilePath": "D:\\Program Files\\aliyunpan\\Downloads\\token.bat",
|
||||
// "localFileName": "token.bat",
|
||||
// "localFileSize": 125330,
|
||||
// "localFileType": "file",
|
||||
// "localFileUpdatedAt": "2022-04-14 07:05:12",
|
||||
// "driveId": "19519221",
|
||||
// "driveFilePath": "aliyunpan/Downloads/token.bat"
|
||||
// "localFilePath": "D:\\Program Files\\aliyunpan\\Downloads\\token.bat",
|
||||
// "localFileName": "token.bat",
|
||||
// "localFileSize": 125330,
|
||||
// "localFileType": "file",
|
||||
// "localFileUpdatedAt": "2022-04-14 07:05:12",
|
||||
// "driveId": "19519221",
|
||||
// "driveFilePath": "aliyunpan/Downloads/token.bat"
|
||||
// }
|
||||
// localFilePath - 本地文件绝对完整路径
|
||||
// localFileName - 本地文件名
|
||||
@@ -46,8 +46,8 @@
|
||||
//
|
||||
// 返回值说明
|
||||
// {
|
||||
// "uploadApproved": "yes",
|
||||
// "driveFilePath": "newfolder/token.bat"
|
||||
// "uploadApproved": "yes",
|
||||
// "driveFilePath": "newfolder/token.bat"
|
||||
// }
|
||||
// uploadApproved - 该文件是否确认上传,yes-允许上传,no-禁止上传
|
||||
// driveFilePath - 文件保存的网盘路径,这个是相对路径,如果为空""代表保持原本的目标路径。
|
||||
@@ -84,12 +84,12 @@ function uploadFilePrepareCallback(context, params) {
|
||||
// 参数说明
|
||||
// context - 当前调用的上下文信息
|
||||
// {
|
||||
// "appName": "aliyunpan",
|
||||
// "version": "v0.1.3",
|
||||
// "userId": "11001d48564f43b3bc5662874f04bb11",
|
||||
// "nickname": "tickstep",
|
||||
// "fileDriveId": "19519111",
|
||||
// "albumDriveId": "29519122"
|
||||
// "appName": "aliyunpan",
|
||||
// "version": "v0.1.3",
|
||||
// "userId": "11001d48564f43b3bc5662874f04bb11",
|
||||
// "nickname": "tickstep",
|
||||
// "fileDriveId": "19519111",
|
||||
// "albumDriveId": "29519122"
|
||||
// }
|
||||
// appName - 应用名称,当前固定为aliyunpan
|
||||
// version - 版本号
|
||||
@@ -100,15 +100,15 @@ function uploadFilePrepareCallback(context, params) {
|
||||
//
|
||||
// params - 文件上传结束参数
|
||||
// {
|
||||
// "localFilePath": "D:\\Program Files\\aliyunpan\\Downloads\\token.bat",
|
||||
// "localFileName": "token.bat",
|
||||
// "localFileSize": 125330,
|
||||
// "localFileType": "file",
|
||||
// "localFileUpdatedAt": "2022-04-14 07:05:12",
|
||||
// "localFileSha1": "08FBE28A5B8791A2F50225E2EC5CEEC3C7955A11",
|
||||
// "uploadResult": "success",
|
||||
// "driveId": "19519221",
|
||||
// "driveFilePath": "/tmp/test/aliyunpan/Downloads/token.bat"
|
||||
// "localFilePath": "D:\\Program Files\\aliyunpan\\Downloads\\token.bat",
|
||||
// "localFileName": "token.bat",
|
||||
// "localFileSize": 125330,
|
||||
// "localFileType": "file",
|
||||
// "localFileUpdatedAt": "2022-04-14 07:05:12",
|
||||
// "localFileSha1": "08FBE28A5B8791A2F50225E2EC5CEEC3C7955A11",
|
||||
// "uploadResult": "success",
|
||||
// "driveId": "19519221",
|
||||
// "driveFilePath": "/tmp/test/aliyunpan/Downloads/token.bat"
|
||||
// }
|
||||
// localFilePath - 本地文件绝对完整路径
|
||||
// localFileName - 本地文件名
|
||||
|
||||
@@ -398,6 +398,7 @@ func RunSync(defaultTask *syncdrive.SyncTask, cycleMode syncdrive.CycleMode, fil
|
||||
}
|
||||
time.Sleep(5 * time.Second)
|
||||
}
|
||||
syncMgr.DoTaskSyncCompletelyPluginCallback()
|
||||
}
|
||||
} else {
|
||||
if cycleMode == syncdrive.CycleInfiniteLoop {
|
||||
@@ -423,6 +424,7 @@ func RunSync(defaultTask *syncdrive.SyncTask, cycleMode syncdrive.CycleMode, fil
|
||||
}
|
||||
time.Sleep(5 * time.Second)
|
||||
}
|
||||
syncMgr.DoTaskSyncCompletelyPluginCallback()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -44,6 +44,9 @@ func (p *IdlePlugin) SyncFileFinishCallback(context *Context, params *SyncFileFi
|
||||
return nil
|
||||
}
|
||||
|
||||
func (p *IdlePlugin) SyncAllFileFinishCallback(context *Context, params *SyncAllFileFinishParams) error {
|
||||
return nil
|
||||
}
|
||||
func (p *IdlePlugin) UserTokenRefreshFinishCallback(context *Context, params *UserTokenRefreshFinishParams) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -223,6 +223,26 @@ func (js *JsPlugin) SyncFileFinishCallback(context *Context, params *SyncFileFin
|
||||
return nil
|
||||
}
|
||||
|
||||
// SyncAllFileFinishCallback 同步备份-同步全部文件完成时的回调函数
|
||||
func (js *JsPlugin) SyncAllFileFinishCallback(context *Context, params *SyncAllFileFinishParams) error {
|
||||
var fn func(*Context, *SyncAllFileFinishParams) error
|
||||
if !js.isHandlerFuncExisted("syncAllFileFinishCallback") {
|
||||
return nil
|
||||
}
|
||||
err := js.vm.ExportTo(js.vm.Get("syncAllFileFinishCallback"), &fn)
|
||||
if err != nil {
|
||||
logger.Verboseln("Js函数映射到 Go 函数失败!")
|
||||
return nil
|
||||
}
|
||||
er := fn(context, params)
|
||||
if er != nil {
|
||||
logger.Verboseln(er)
|
||||
return nil
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// UserTokenRefreshFinishCallback 用户Token刷新完成后回调函数
|
||||
func (js *JsPlugin) UserTokenRefreshFinishCallback(context *Context, params *UserTokenRefreshFinishParams) error {
|
||||
var fn func(*Context, *UserTokenRefreshFinishParams) error
|
||||
if !js.isHandlerFuncExisted("userTokenRefreshFinishCallback") {
|
||||
|
||||
@@ -122,7 +122,7 @@ type (
|
||||
SyncScanPanApproved string `json:"syncScanPanApproved"`
|
||||
}
|
||||
|
||||
// SyncFileFinishParams 同步备份-文件同步结束-回调参数
|
||||
// SyncFileFinishParams 同步备份-一个文件同步结束-回调参数
|
||||
SyncFileFinishParams struct {
|
||||
Action string `json:"action"`
|
||||
ActionResult string `json:"actionResult"`
|
||||
@@ -135,6 +135,28 @@ type (
|
||||
FileUpdatedAt string `json:"fileUpdatedAt"`
|
||||
}
|
||||
|
||||
// SyncAllFileFinishParams 同步备份-全部文件同步结束-回调参数
|
||||
SyncAllFileFinishParams struct {
|
||||
// Name 任务名称
|
||||
Name string `json:"name"`
|
||||
// Id 任务ID
|
||||
Id string `json:"id"`
|
||||
// UserId 账号ID
|
||||
UserId string `json:"userId"`
|
||||
// DriveName 网盘名称,backup-备份盘,resource-资源盘
|
||||
DriveName string `json:"driveName"`
|
||||
// DriveId 网盘ID,目前支持文件网盘
|
||||
DriveId string `json:"driveId"`
|
||||
// LocalFolderPath 本地目录
|
||||
LocalFolderPath string `json:"localFolderPath"`
|
||||
// PanFolderPath 云盘目录
|
||||
PanFolderPath string `json:"panFolderPath"`
|
||||
// Mode 备份模式
|
||||
Mode string `json:"mode"`
|
||||
// Policy 备份策略
|
||||
Policy string `json:"policy"`
|
||||
}
|
||||
|
||||
// UserTokenRefreshFinishParams 用户Token刷新完成后回调函数
|
||||
UserTokenRefreshFinishParams struct {
|
||||
Result string `json:"result"`
|
||||
@@ -170,6 +192,9 @@ type (
|
||||
// SyncFileFinishCallback 同步备份-同步一个文件完成时的回调函数
|
||||
SyncFileFinishCallback(context *Context, params *SyncFileFinishParams) error
|
||||
|
||||
// SyncAllFileFinishCallback 同步备份-同步全部文件完成时的回调函数
|
||||
SyncAllFileFinishCallback(context *Context, params *SyncAllFileFinishParams) error
|
||||
|
||||
// UserTokenRefreshFinishCallback 用户Token刷新完成后回调函数
|
||||
UserTokenRefreshFinishCallback(context *Context, params *UserTokenRefreshFinishParams) error
|
||||
|
||||
|
||||
@@ -271,7 +271,6 @@ func (f *FileActionTaskManager) doFileDiffRoutine(localFiles LocalFileList, panF
|
||||
// 本地文件和云盘文件SHA1不一样
|
||||
// 不同模式同步策略不一样
|
||||
if f.task.Mode == Upload {
|
||||
|
||||
// 不再这里计算SHA1,待到上传的时候再计算
|
||||
//if localFile.Sha1Hash == "" {
|
||||
// // 计算本地文件SHA1
|
||||
|
||||
@@ -803,3 +803,24 @@ func (t *SyncTask) scanPanFile(ctx context.Context) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// doAllFileSyncPluginCallback 全部文件同步完成回调方法
|
||||
func (t *SyncTask) doAllFileSyncPluginCallback() {
|
||||
// 插件回调
|
||||
pluginParam := &plugins.SyncAllFileFinishParams{
|
||||
Name: t.Name,
|
||||
Id: t.Id,
|
||||
UserId: t.UserId,
|
||||
DriveName: t.DriveName,
|
||||
DriveId: t.DriveId,
|
||||
LocalFolderPath: t.LocalFolderPath,
|
||||
PanFolderPath: t.PanFolderPath,
|
||||
Mode: string(t.Mode),
|
||||
Policy: string(t.Policy),
|
||||
}
|
||||
t.pluginMutex.Lock()
|
||||
defer t.pluginMutex.Unlock()
|
||||
if er := t.plugin.SyncAllFileFinishCallback(plugins.GetContext(t.panUser), pluginParam); er == nil {
|
||||
logger.Verboseln("成功调用同步任务完成插件回调方法:" + t.Id)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -235,3 +235,12 @@ func (m *SyncTaskManager) IsAllTaskCompletely() bool {
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
// DoTaskSyncCompletelyPluginCallback 调用任务同步完成的回调函数
|
||||
func (m *SyncTaskManager) DoTaskSyncCompletelyPluginCallback() {
|
||||
for _, task := range m.syncDriveConfig.SyncTaskList {
|
||||
if task.IsTaskCompletely() {
|
||||
task.doAllFileSyncPluginCallback()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user