From 116f3d5c280883fec66f858edb7f15e3e22f2123 Mon Sep 17 00:00:00 2001 From: x1ao4 Date: Wed, 9 Jul 2025 22:35:04 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=A4=A7=E9=87=8F=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E8=BD=AC=E5=AD=98=E6=97=B6=E7=9A=84=E7=B4=A2=E5=BC=95?= =?UTF-8?q?=E8=B6=8A=E7=95=8C=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 添加安全检查防止访问 save_as_top_fids 时索引越界 - 当索引超出范围时使用原始文件 fid 作为备用值 --- quark_auto_save.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) 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中