Tags: CHKZL/DDTV
Tags
新增通知方式切换支持(HUD/Windows通知) 在 `Config.cs` 中新增 `_UseHudNotification` 属性,用于配置通知样式,并触发配置修改和属性变更通知。 在 `SettingsPage.xaml` 和 `SettingsPage.xaml.cs` 中新增切换通知方式的 UI 和保存逻辑。 在 `HudNotification.xaml.cs` 中新增通知方式路由逻辑,支持调用 Windows 原生通知。 新增 `WindowsToastNotification.cs` 文件,实现 Windows 原生通知功能。 更新目标框架至 `net10.0-windows10.0.17763.0`,支持更高版本的 Windows 功能。 优化 HUD 胶囊动画逻辑及窗口高度计算,提升用户体验。
更新预加载链接并新增通知窗口功能 在 `index.html` 中更新了预加载的 CSS 和 JS 文件路径。 在 `package.json` 中添加了 `set NODE_OPTIONS=--openssl-legacy-provider`。 新增 `HudNotification.xaml` 和 `HudNotification.xaml.cs` 文件: - 定义了通知窗口的 UI 和动画效果。 - 实现了通知级别、弹出逻辑及关闭功能。 - 使用 P/Invoke 设置窗口不抢占焦点。
fix(Core.RuntimeObject.DetectRoom): 下播判定改用ConfirmStopLive绕过缓存连续确认,修复A… …PI失败时GetLiveStatus返回残留"开播"缓存值导致下播后do-while无限重连录制的问题 feat(Core.RuntimeObject.Download.Basics): 新增ConfirmStopLive下播连续确认、IsDefinitelyLive明确在播查询与可被取消/切割打断的InterruptibleSleep辅助方法;无流时的15秒固定等待改为分片轮询,用户取消/切割可即时生效 fix(Core.RuntimeObject.Download.FLV): 为FLV流读取增加30秒无数据超时(CTS每次重试新建),修复CDN下播后保持TCP连接导致ReadAsync永久阻塞的问题;流中断后改用ConfirmStopLive确认下播并与HLS路径对齐走CheckAndHandleFile收尾,确保正常下播录像进入文件列表和修复队列 fix(Core.RuntimeObject.Download.HLS): 新增"无新分片"看门狗,超过阈值(3倍分片时长,钳制60~300秒)无新分片时主动确认下播/判定断流重连/接口故障时保留任务重试,修复主播异常断流时空转无限循环的问题;刷新Host失败改为间隔重试、连续多次失败才放弃;分片下载循环与收尾等待支持取消/切割即时打断 fix(Core.RuntimeObject.Download.FLV/HLS): 下载速度计算增加样本数与窗口时间跨度校验(≥500ms),修复DateTime.Now分辨率仅15.6ms导致速度被放大到几百Mbps脱离实际的问题
fix(Core.RuntimeObject.DetectRoom): 下播判定改用ConfirmStopLive绕过缓存连续确认,修复A… …PI失败时GetLiveStatus返回残留"开播"缓存值导致下播后do-while无限重连录制的问题 feat(Core.RuntimeObject.Download.Basics): 新增ConfirmStopLive下播连续确认、IsDefinitelyLive明确在播查询与可被取消/切割打断的InterruptibleSleep辅助方法;无流时的15秒固定等待改为分片轮询,用户取消/切割可即时生效 fix(Core.RuntimeObject.Download.FLV): 为FLV流读取增加30秒无数据超时(CTS每次重试新建),修复CDN下播后保持TCP连接导致ReadAsync永久阻塞的问题;流中断后改用ConfirmStopLive确认下播并与HLS路径对齐走CheckAndHandleFile收尾,确保正常下播录像进入文件列表和修复队列 fix(Core.RuntimeObject.Download.HLS): 新增"无新分片"看门狗,超过阈值(3倍分片时长,钳制60~300秒)无新分片时主动确认下播/判定断流重连/接口故障时保留任务重试,修复主播异常断流时空转无限循环的问题;刷新Host失败改为间隔重试、连续多次失败才放弃;分片下载循环与收尾等待支持取消/切割即时打断 fix(Core.RuntimeObject.Download.FLV/HLS): 下载速度计算增加样本数与窗口时间跨度校验(≥500ms),修复DateTime.Now分辨率仅15.6ms导致速度被放大到几百Mbps脱离实际的问题
fix(Core.Account.Kernel.ByQRCode): 适配B站扫码登录新版ticket换Cookie流程 fix(Core.Network): 新增获取响应Cookie的通用方法 fix(Core.RuntimeObject.Account): 修复账号文件匹配并加锁避免并发写出空UID文件 fix(Server.Login): 加锁防止登录流程重复触发 fix(Server.WebAppServices.Api.login): 根据登录流程状态返回不同提示 - 在ByQRCode扫码回调中区分新版crossDomain ticket链接和旧版querystring直接带Cookie两种流程,通过请求ticket链接从Set-Cookie中换取正式Cookie - 保留旧版解析逻辑作为兼容分支,解析失败时记录日志避免未处理异常导致Timer线程崩溃 - Network.Get新增GetResponseCookies方法,使用独立HttpClient收集重定向链上的Set-Cookie,避免污染共享Cookie容器 - Account信息读写加入lock,序列化与写文件使用传入value而非共享字段,避免并发重新登录流程产生空UID的.Duser文件 - 修复Account读取时.ValidAccount与文件名匹配使用完整路径导致无法命中的问题 - Server.Login增加登录流程并发锁和二维码刷新时间戳,防止重复调用覆盖登录态,事件订阅改为静态构造函数只挂载一次 - re_login接口根据QR返回判断是否为新流程返回差异化提示信息
fix(Core.Account.Kernel.ByQRCode): 适配B站扫码登录新版ticket换Cookie流程 fix(Core.Network): 新增获取响应Cookie的通用方法 fix(Core.RuntimeObject.Account): 修复账号文件匹配并加锁避免并发写出空UID文件 fix(Server.Login): 加锁防止登录流程重复触发 fix(Server.WebAppServices.Api.login): 根据登录流程状态返回不同提示 - 在ByQRCode扫码回调中区分新版crossDomain ticket链接和旧版querystring直接带Cookie两种流程,通过请求ticket链接从Set-Cookie中换取正式Cookie - 保留旧版解析逻辑作为兼容分支,解析失败时记录日志避免未处理异常导致Timer线程崩溃 - Network.Get新增GetResponseCookies方法,使用独立HttpClient收集重定向链上的Set-Cookie,避免污染共享Cookie容器 - Account信息读写加入lock,序列化与写文件使用传入value而非共享字段,避免并发重新登录流程产生空UID的.Duser文件 - 修复Account读取时.ValidAccount与文件名匹配使用完整路径导致无法命中的问题 - Server.Login增加登录流程并发锁和二维码刷新时间戳,防止重复调用覆盖登录态,事件订阅改为静态构造函数只挂载一次 - re_login接口根据QR返回判断是否为新流程返回差异化提示信息
PreviousNext