diff --git a/README.md b/README.md index 1e55ef3..053c5c1 100644 --- a/README.md +++ b/README.md @@ -75,7 +75,7 @@ docker run -d \ x1ao4/quark-auto-save-x:latest ``` -Docker Compose +Docker Compose(推荐) ```yaml version: "3.3" @@ -89,7 +89,6 @@ services: - /自定义配置文件的存储目录/quark-auto-save-x/config:/app/config - /自定义生成文件的存储目录:/media # 可选,插件 alist_strm_gen 生成 strm 使用 restart: unless-stopped -networks: {} ``` 默认管理地址:http://yourhost:5005 diff --git a/app/templates/index.html b/app/templates/index.html index 29d7af6..fa2bde8 100644 --- a/app/templates/index.html +++ b/app/templates/index.html @@ -2453,7 +2453,7 @@ checkShareUrlStatus() { // 只在任务列表页面检查 if (this.activeTab !== 'tasklist') return; - + // 遍历所有任务 this.formData.tasklist.forEach((task, index) => { // 如果任务有分享链接且没有设置shareurl_ban @@ -2463,7 +2463,13 @@ .then(response => { const share_detail = response.data.data; 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)); } else if (share_detail.list !== undefined && share_detail.list.length === 0) { // 检查文件列表是否为空,确保列表存在且为空 @@ -2471,8 +2477,8 @@ } }) .catch(error => { - // 错误处理 - console.error('检查分享链接状态失败:', error); + // 网络请求失败,忽略错误,不设置 shareurl_ban + console.log('检查分享链接状态时网络请求失败,忽略此错误:', error); }); } }); @@ -3173,8 +3179,15 @@ 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)); } else { // 检查文件列表是否为空 @@ -3188,7 +3201,8 @@ } }) .catch(error => { - // 错误处理 + // 网络请求失败,忽略错误,不设置 shareurl_ban + console.log('修改分享链接时网络请求失败,忽略此错误:', error); }); }, clearData(target) { @@ -3401,14 +3415,21 @@ // 检查是否包含已知的失效原因 const error = response.data.data.error || ""; let isInvalid = false; - + + // 如果是 request error,视为有效(网络问题,不是资源问题) + if (error.includes("request error")) { + this.smart_param.validateProgress.valid++; + resolve(link); + return; + } + for (const term of invalidTerms) { if (error.includes(term)) { isInvalid = true; break; } } - + // 如果不是已知的失效原因,保留该结果 if (!isInvalid) { this.smart_param.validateProgress.valid++; diff --git a/quark_auto_save.py b/quark_auto_save.py index 5451bff..591c87d 100644 --- a/quark_auto_save.py +++ b/quark_auto_save.py @@ -2752,6 +2752,7 @@ class Quark: if query_task_return["code"] == 0: # 建立目录树 saved_files = [] + for index, item in enumerate(need_save_list): icon = ( "📁" @@ -2779,12 +2780,16 @@ class Quark: saved_files.append(format_file_display("", icon, display_name)) # 检查节点是否已存在于树中,避免重复添加 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( display_name, # 只存储文件名,不包含图标 item["fid"], parent=pdir_fid, data={ - "fid": f"{query_task_return['data']['save_as']['save_as_top_fids'][index]}", + "fid": f"{saved_fid}", "path": f"{savepath}/{item['save_name']}", "is_dir": item["dir"], "icon": icon, # 将图标存储在data中