更新日志

了解软件的最新功能和改进

v2.0.17 2026-08-26

软件更名与API安全增强

  • 软件正式更名为"BT整站下载管家",统一所有窗口标题、打包配置、登录/注册界面的名称显示
  • 确认API接口已具备完整安全防护:时间戳校验(60秒窗口)、Nonce防重放(文件缓存去重)、HMAC-SHA256签名验证三层机制
  • Python客户端与PHP服务端签名算法完全对齐,确保请求防篡改
v2.0.16 2026-07-10

HTML批量翻译目录遍历修复

  • 修复HTML批量翻译"未找到任何HTML文件"的问题,根因是目录遍历逻辑将包含"backup"子串的路径全部跳过,导致翻译备份目录下的所有HTML文件无法被扫描到
  • 优化目录遍历过滤规则,仅跳过名为"backup"的目录本身,不再误伤路径中包含"backup"子串的正常目录
v2.0.15 2026-05-20

服务端注册逻辑优化与缓存机制改进

  • 定位并解决注册时自定义字段(hardware_id、software_usage)未写入dr_member_data表的问题,根因为字段缓存未同步更新
  • 明确字段配置变更后的缓存刷新流程:修改dr_field表后需在后台执行清除缓存操作,确保member插件读取最新的字段配置
v2.0.14 2026-04-05

API接口字段规范化

  • 统一API字段命名:jiqima→hardware_id、cishu→software_usage,贯穿Python客户端(api_client.py、register_window.py)和PHP服务端(aidown.php)全链路
  • 同步更新数据库字段名和后台字段配置,确保注册、登录、查询用户信息接口的数据一致性
  • 优化注册窗口逻辑,hardware_id由系统自动生成(基于硬件特征码),无需用户手动输入
v2.0.13 2026-02-10

PyInstaller打包兼容性修复

  • 修复打包后exe在其他机器运行时崩溃的问题,错误信息为"No module named 'chardet.pipeline.orchestrator__mypyc'"
  • 在PyInstaller配置中添加chardet全子模块隐藏导入(collect_submodules),确保chardet库的所有依赖组件都被正确打包
  • 同步更新调试版和正式版打包配置(build_multi_debug.spec、build_multi.spec)
v2.0.12 2025-12-15

整站下载操作模式优化

  • 重新排列整站下载的4种操作模式顺序:1-智能链接提取[VIP] → 2-URL列表下载 → 3-断点续传 → 4-失败重试,将高频使用的模式前置
  • 同步更新所有模式的调度逻辑、配置保存、日志标识和UI映射,确保切换模式时配置项正确对应
  • 优化日志文本框高度(从150调整为120),确保底部按钮完全可见,提升操作体验
v2.0.11 2025-11-03

窗口显示优化和官网功能

  • 实现窗口居中显示功能,按照业界标准做法,窗口在屏幕水平和垂直方向都居中显示,包含边界检查确保窗口不会超出屏幕
  • 实现窗口尺寸自适应功能,根据屏幕分辨率动态调整窗口大小:窗口高度为屏幕高度的85%(最小700px,最大1100px),窗口宽度为屏幕宽度的90%(最小900px,最大1200px),这样可以在各种分辨率的设备上(从720p笔记本到4K显示器)都能正常显示
  • 在标签页区域添加"官网"标签页,位于"7. 静态资源引用"之后,点击后可以打开官网(从API配置中提取base_url的域名部分)
  • 官网标签页包含官网地址显示、"打开官网"按钮,以及未配置时的提示信息
  • 优化用户体验,确保软件在各种屏幕尺寸下都能正常使用
v2.0.10 2025-10-28

VIP过期检测与权限刷新机制优化

  • 修复VIP会员登录后,VIP到期但仍能继续使用VIP功能的问题
  • 优化权限检查逻辑,对于所有VIP功能,在每次权限检查前自动刷新用户信息,确保获取最新的VIP状态(包括VIP是否过期)
  • 刷新后自动检查VIP过期时间并更新本地状态,如果VIP已过期,权限检查会立即失败并显示VIP提示弹窗,无需等到下次登录或手动刷新
  • 优化 `check_permission_with_auto_refresh` 方法,改为先刷新再检查的流程,确保每次使用VIP功能时都使用最新状态
  • 刷新成功后自动更新UI显示和权限状态,确保界面与后台状态一致
  • 修复用户状态显示问题,添加兼容性检查,支持通过 `get_group_name()` 方法或直接从用户状态获取会员等级名称
v2.0.9 2025-10-20

整站下载用户体验优化

  • 在"源页面有混淆/加密"选项右侧添加动态提示文字,当用户选择"是"时显示橙色提示"需要较长时间进行反混淆/解密,请耐心等待。"
  • 提示文字根据选项状态动态显示/隐藏:选择"是"时显示,选择"否"时隐藏,VIP权限检查失败时也会自动隐藏
  • 配置加载时自动同步提示文字的显示状态,确保界面状态一致
  • 优化Selenium渲染超时处理,增加页面加载超时时间至180秒,使用eager页面加载策略提高速度
  • 改进Playwright错误处理,当浏览器未安装时提供友好的错误提示
v2.0.8 2025-10-15

整站下载性能优化和智能渲染模式

  • 根据"源页面有混淆/加密"选项智能选择HTML获取方式,大幅提升下载性能
  • 当选择"否"(普通模式)时,直接使用requests获取HTML(更快,无浏览器开销),不初始化Selenium WebDriver,节省内存和启动时间
  • 当选择"是"(VIP模式)时,使用Selenium/Playwright渲染后获取HTML,确保JavaScript执行后的完整内容
  • 优化资源初始化,仅在需要反混淆时初始化WebDriver,避免不必要的资源占用
  • 修复所有获取HTML的位置(收集资源、下载HTML页面、提取URL链接),确保所有路径都正确使用用户选择的UserAgent和编码设置
  • 优化日志输出,根据选择的模式显示相应的提示信息,清晰标识保存的HTML类型
  • 修复日志实时显示问题,确保GUI handler正确添加到所有logger,优化刷新频率
v2.0.7 2025-10-10

整站下载功能增强

  • 添加UserAgent选项(电脑chrome、手机chrome、自定义),支持自定义UserAgent字符串,正确传递给Selenium和requests请求
  • 修改保存编码选项为:与原站一致、UTF-8、GBK、GB2312,其中"与原站一致"会根据网站编码自动选择
  • 添加"源页面有混淆/加密"选项(是/否,默认否),该选项为VIP功能,非VIP用户选择时会自动回退为"否"
  • 当启用反混淆功能时,下载器会删除HTML中的加密/混淆JavaScript代码;未启用时保持HTML原样(仅修改资源路径)
  • 优化配置保存和加载逻辑,兼容旧配置格式
  • 更新权限配置,添加"源页面混淆/加密处理"VIP功能
v2.0.6 2025-10-05

API与VIP逻辑修正与显示优化

  • 放开 API 配置域名限制,任何非空的 base_url 均会创建 API 客户端(不再屏蔽 `http://www.g.com`),避免"API客户端不可用"的误判
  • 统一 VIP 判定规则为以 `groupid > 1` 为最高优先级(来自 `test.php` 返回),其次对 `is_vip` 字段进行规范化(支持 "0"/"1"/true/false/数字→0/1)
  • 刷新用户信息时只允许"升级"而不自动"降级"(即 API 短时返回非 VIP 时不会把已是 VIP 的用户降级),从而避免 VIP 用户看到"升级VIP"按钮
  • 界面显示优化:VIP 用户名右侧追加"(VIP会员)"标识,并保留金色皇冠图标(👑)
v2.0.5 2025-09-28

用户体验优化和打包配置改进

  • 美化用户状态显示,VIP用户显示金色皇冠图标(👑),普通用户显示蓝色用户图标(👤),未登录状态显示灰色图标,提升视觉识别度和美观度
  • 实现VIP状态自动刷新功能,当用户充值成为VIP后无需重新登录即可使用VIP功能
  • 在主界面添加刷新按钮(🔄),VIP权限检查失败时自动刷新用户信息并重试
  • VIP提示窗口添加"我已升级,刷新状态"按钮,自动检测VIP状态变化并更新界面
  • 为普通用户添加"升级VIP"按钮,位于登出按钮左侧,橙色高亮显示
  • 优化API配置文件加载机制,优先从打包资源中读取api_config.json
  • 优化批量翻译功能的运行模式顺序,将"全自动模式"移到最后
  • 进一步优化VIP提示窗口和登录/注册窗口宽度,提升使用体验
v2.0.4 2025-09-25

Token获取优化和用户体验改进

  • 增强API客户端的token提取逻辑,支持从多层嵌套数据结构中提取token(支持data.token、data.data.token、data.data.data.token、result.token等多种路径),大幅提高token获取成功率
  • 优化登录错误提示,token获取失败时显示友好的错误信息,详细调试信息输出到控制台便于排查问题
  • 在主界面添加注册按钮(位于登录按钮旁边),未登录时显示注册和登录两个按钮,登录后自动隐藏注册按钮
  • 优化登录窗口和注册窗口的显示层级,确保弹窗显示在主窗口前面
  • 修复静态资源引用和路径重组修正功能的操作模式,恢复"全部"选项(模式3和模式5),完善VIP权限检查逻辑
  • 将HTML批量翻译的"全自动模式"改为VIP功能(从免费改为VIP),更新界面显示、配置加载、权限刷新和执行检查逻辑
  • 优化VIP提示窗口宽度(从1300增加到1600像素),并相应调整文本换行宽度
v2.0 - GUI完整版 2025-09-15

商业化版本发布 - BT整站下载管家

  • 应用程序更名为"BT整站下载管家",工具7(整站下载)移至第一位
  • 实现完整的登录注册功能,集成API客户端,支持用户登录、注册、查询用户信息、充值等API接口
  • 创建api_config.json配置文件管理API服务器地址和认证信息
  • 实现VIP权限管理系统,支持基于用户VIP状态的功能限制和数量限制
  • 添加VIP标识显示和锁定机制,VIP功能在界面中显示明显标识
  • 优化多线程登录/注册流程,避免UI阻塞
  • 修复API URL构建逻辑,正确处理api_path中的查询参数
  • 修复多线程lambda闭包问题,确保线程安全
  • 所有认证相关功能已集成并测试通过
v1.9 2025-09-10

GUI界面布局优化版

  • 增加窗口高度(从800x1000增加到1000x1000,最小高度从700增加到900)
  • 增加日志文本框高度(从150增加到300)
  • 增加选项卡视图高度(从550增加到650)
  • 优化所有配置项的布局,将标签和输入框改为同一行显示(节省垂直空间约50%)
  • 优化多选框布局,将标签和多选框选项放在同一行显示,减小复选框字体大小和选项间距
  • 使界面更加紧凑,可以显示更多内容
v1.8 2025-09-05

代码优化和冗余清理

  • 创建统一的日志捕获机制(setup_logging_capture和restore_logging_capture方法),所有工具统一使用
  • 删除重复的handler添加代码(工具5和工具7模式1、2、3之前重复添加handler导致日志重复输出)
  • 优化gui_handler存在性检查(统一改为if gui_handler)
  • 删除重复的flush调用
  • 代码更简洁、统一、高效,所有日志功能正常工作
v1.7 2025-09-01

功能7日志实时刷新修复版

  • 优化 `GuiLogHandler` 类,使用批量更新机制,提升日志刷新性能
  • 修复功能7所有操作模式(模式1断点续传、模式2URL列表下载、模式3智能链接提取、模式4失败重试)的日志实时刷新问题
  • 在所有模式的执行完成关键节点调用 `_flush_logs()` 确保日志及时显示
  • 在 finally 块中统一刷新,确保所有日志都被显示
v1.6 2025-09-03

资源收集逻辑优化版

  • CSS文件自动收集:当选择字体或图片资源类型时,会自动收集CSS文件
  • 从CSS中提取字体:如果选择了字体类型,会从收集到的CSS文件中提取字体URL(@font-face等)
  • 从CSS中提取图片:如果选择了图片类型,会从收集到的CSS文件中提取图片URL(background-image等)
  • 新增 `extract_images_from_css` 方法:专门用于从CSS文件中提取图片资源
  • 修复"全部"和"全选"按钮的逻辑冲突,实现互斥逻辑
v1.5 2025-09-02

功能7优化版

  • 功能7资源类型改为多选,支持全选功能
  • 所有模式(模式1断点续传、模式2URL列表下载、模式3智能链接提取、模式4失败重试)全部支持多选资源类型
  • 修复功能7所有4个模式的日志显示问题(添加logging重定向捕获)
  • 修复模式4(失败重试)的资源类型过滤问题
v1.4 2024-10-01

性能优化版

  • 移除频繁的强制刷新:移除了 `log()` 方法中的 `update_idletasks()`,减少GUI卡顿
  • 批量更新机制:日志不再每条立即更新,改为累积10行或等待100ms后批量更新
  • 延迟更新调度:使用50ms延迟更新,避免过于频繁的GUI更新调用
  • 智能滚动优化:只在用户查看最新日志时才自动滚动,减少不必要的界面刷新
  • 日志条数限制:当日志超过5000行时,自动删除最旧的2000行
  • 防止内存泄漏:防止日志无限累积导致界面变慢和内存占用过高
  • 大幅提升exe运行流畅度和界面响应速度
v1.3 2024-09-28

实时日志刷新版

  • 创建 `RealtimeStringIO` 类:实现实时输出捕获,每次 `print()` 调用时立即更新GUI日志
  • 所有工具统一使用实时输出:工具1-7全部从 `io.StringIO()` 改为 `RealtimeStringIO`
  • 线程安全更新:使用 `self.gui.after(0, ...)` 确保GUI更新在主线程中执行
  • 简化代码逻辑:移除重复的 `getvalue()` 和循环显示代码,直接使用实时输出机制
  • 修复日志延迟显示问题,确保所有输出都实时显示在GUI日志区域
v1.2 2024-09-25

输出捕获修复版

  • 修复工具2"仅统计"模式问题:修复了工具2(HTML批量翻译)选择"仅统计"模式后不显示执行结果的问题
  • 所有模式(仅统计、仅翻译、仅应用、全自动模式)的输出现在都能正确显示在GUI日志中
  • 所有工具输出捕获增强:工具1-7全部添加stdout捕获,显示所有print输出
  • 工具2和工具5使用stdin重定向,自动处理备份确认等交互式输入
  • 所有底层工具的print输出现在都能在GUI中查看,不再丢失
v1.1 2024-09-20

界面优化版

  • 文件扩展名选择优化:工具3、4、5、6的文件扩展名改为多选框(html, css, js, php等)
  • 所有工具添加"全选"/"全不选"按钮,快速选择所有扩展名
  • 配置保存和加载时正确恢复选中的扩展名状态
  • 工具7布局优化:模式相关配置项移至操作模式选择下方,切换模式时,相关配置立即显示在模式选择下方
  • 提升用户体验,无需滚动查找配置项
v1.0 2024-09-15

GUI完整版

  • 使用 **CustomTkinter** 创建现代化、美观的深色主题界面
  • 7个工具全部集成到选项卡界面,支持快速切换
  • 所有交互式输入都转换为GUI配置界面
  • 统一的日志输出区域,实时显示运行状态
  • 配置自动保存和加载功能
  • 所有工具的功能介绍(每个工具选项卡标题下方都添加了详细的功能介绍)
  • 工具配置界面完善,支持所有功能配置
  • 全局异常捕获和日志记录
  • 错误信息保存到 `error.log` 文件
  • 创建调试版打包配置(显示控制台窗口)