mirror of
https://github.com/Cp0204/quark-auto-save.git
synced 2026-01-15 00:40:43 +08:00
commit
a80378d5de
@ -75,7 +75,7 @@ docker run -d \
|
|||||||
x1ao4/quark-auto-save-x:latest
|
x1ao4/quark-auto-save-x:latest
|
||||||
```
|
```
|
||||||
|
|
||||||
Docker Compose
|
Docker Compose(推荐)
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
version: "3.3"
|
version: "3.3"
|
||||||
@ -89,7 +89,6 @@ services:
|
|||||||
- /自定义配置文件的存储目录/quark-auto-save-x/config:/app/config
|
- /自定义配置文件的存储目录/quark-auto-save-x/config:/app/config
|
||||||
- /自定义生成文件的存储目录:/media # 可选,插件 alist_strm_gen 生成 strm 使用
|
- /自定义生成文件的存储目录:/media # 可选,插件 alist_strm_gen 生成 strm 使用
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
networks: {}
|
|
||||||
```
|
```
|
||||||
|
|
||||||
默认管理地址:http://yourhost:5005
|
默认管理地址:http://yourhost:5005
|
||||||
|
|||||||
@ -2453,7 +2453,7 @@
|
|||||||
checkShareUrlStatus() {
|
checkShareUrlStatus() {
|
||||||
// 只在任务列表页面检查
|
// 只在任务列表页面检查
|
||||||
if (this.activeTab !== 'tasklist') return;
|
if (this.activeTab !== 'tasklist') return;
|
||||||
|
|
||||||
// 遍历所有任务
|
// 遍历所有任务
|
||||||
this.formData.tasklist.forEach((task, index) => {
|
this.formData.tasklist.forEach((task, index) => {
|
||||||
// 如果任务有分享链接且没有设置shareurl_ban
|
// 如果任务有分享链接且没有设置shareurl_ban
|
||||||
@ -2463,7 +2463,13 @@
|
|||||||
.then(response => {
|
.then(response => {
|
||||||
const share_detail = response.data.data;
|
const share_detail = response.data.data;
|
||||||
if (!response.data.success) {
|
if (!response.data.success) {
|
||||||
// 使用格式化函数处理错误信息
|
// 检查是否是 request error,如果是则忽略
|
||||||
|
if (share_detail.error && share_detail.error.includes("request error")) {
|
||||||
|
// 忽略 request error,不设置 shareurl_ban
|
||||||
|
console.log('检查分享链接时出现网络错误,忽略此错误:', share_detail.error);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// 使用格式化函数处理其他错误信息
|
||||||
this.$set(task, "shareurl_ban", this.formatShareUrlBanMessage(share_detail.error));
|
this.$set(task, "shareurl_ban", this.formatShareUrlBanMessage(share_detail.error));
|
||||||
} else if (share_detail.list !== undefined && share_detail.list.length === 0) {
|
} else if (share_detail.list !== undefined && share_detail.list.length === 0) {
|
||||||
// 检查文件列表是否为空,确保列表存在且为空
|
// 检查文件列表是否为空,确保列表存在且为空
|
||||||
@ -2471,8 +2477,8 @@
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch(error => {
|
.catch(error => {
|
||||||
// 错误处理
|
// 网络请求失败,忽略错误,不设置 shareurl_ban
|
||||||
console.error('检查分享链接状态失败:', error);
|
console.log('检查分享链接状态时网络请求失败,忽略此错误:', error);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -3173,8 +3179,15 @@
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 使用格式化函数处理错误信息
|
// 检查是否是 request error,如果是则忽略
|
||||||
|
if (share_detail.error && share_detail.error.includes("request error")) {
|
||||||
|
// 忽略 request error,不设置 shareurl_ban
|
||||||
|
console.log('修改分享链接时出现网络错误,忽略此错误:', share_detail.error);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 使用格式化函数处理其他错误信息
|
||||||
this.$set(task, "shareurl_ban", this.formatShareUrlBanMessage(share_detail.error));
|
this.$set(task, "shareurl_ban", this.formatShareUrlBanMessage(share_detail.error));
|
||||||
} else {
|
} else {
|
||||||
// 检查文件列表是否为空
|
// 检查文件列表是否为空
|
||||||
@ -3188,7 +3201,8 @@
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch(error => {
|
.catch(error => {
|
||||||
// 错误处理
|
// 网络请求失败,忽略错误,不设置 shareurl_ban
|
||||||
|
console.log('修改分享链接时网络请求失败,忽略此错误:', error);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
clearData(target) {
|
clearData(target) {
|
||||||
@ -3401,14 +3415,21 @@
|
|||||||
// 检查是否包含已知的失效原因
|
// 检查是否包含已知的失效原因
|
||||||
const error = response.data.data.error || "";
|
const error = response.data.data.error || "";
|
||||||
let isInvalid = false;
|
let isInvalid = false;
|
||||||
|
|
||||||
|
// 如果是 request error,视为有效(网络问题,不是资源问题)
|
||||||
|
if (error.includes("request error")) {
|
||||||
|
this.smart_param.validateProgress.valid++;
|
||||||
|
resolve(link);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
for (const term of invalidTerms) {
|
for (const term of invalidTerms) {
|
||||||
if (error.includes(term)) {
|
if (error.includes(term)) {
|
||||||
isInvalid = true;
|
isInvalid = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 如果不是已知的失效原因,保留该结果
|
// 如果不是已知的失效原因,保留该结果
|
||||||
if (!isInvalid) {
|
if (!isInvalid) {
|
||||||
this.smart_param.validateProgress.valid++;
|
this.smart_param.validateProgress.valid++;
|
||||||
|
|||||||
@ -2752,6 +2752,7 @@ class Quark:
|
|||||||
if query_task_return["code"] == 0:
|
if query_task_return["code"] == 0:
|
||||||
# 建立目录树
|
# 建立目录树
|
||||||
saved_files = []
|
saved_files = []
|
||||||
|
|
||||||
for index, item in enumerate(need_save_list):
|
for index, item in enumerate(need_save_list):
|
||||||
icon = (
|
icon = (
|
||||||
"📁"
|
"📁"
|
||||||
@ -2779,12 +2780,16 @@ class Quark:
|
|||||||
saved_files.append(format_file_display("", icon, display_name))
|
saved_files.append(format_file_display("", icon, display_name))
|
||||||
# 检查节点是否已存在于树中,避免重复添加
|
# 检查节点是否已存在于树中,避免重复添加
|
||||||
if not tree.contains(item["fid"]):
|
if not tree.contains(item["fid"]):
|
||||||
|
# 安全地获取save_as_top_fids中的fid,防止索引越界
|
||||||
|
save_as_top_fids = query_task_return.get('data', {}).get('save_as', {}).get('save_as_top_fids', [])
|
||||||
|
saved_fid = save_as_top_fids[index] if index < len(save_as_top_fids) else item["fid"]
|
||||||
|
|
||||||
tree.create_node(
|
tree.create_node(
|
||||||
display_name, # 只存储文件名,不包含图标
|
display_name, # 只存储文件名,不包含图标
|
||||||
item["fid"],
|
item["fid"],
|
||||||
parent=pdir_fid,
|
parent=pdir_fid,
|
||||||
data={
|
data={
|
||||||
"fid": f"{query_task_return['data']['save_as']['save_as_top_fids'][index]}",
|
"fid": f"{saved_fid}",
|
||||||
"path": f"{savepath}/{item['save_name']}",
|
"path": f"{savepath}/{item['save_name']}",
|
||||||
"is_dir": item["dir"],
|
"is_dir": item["dir"],
|
||||||
"icon": icon, # 将图标存储在data中
|
"icon": icon, # 将图标存储在data中
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user