Skip to content

Releases: AkarinLiu/smtc2web

v0.2.3

16 Jan 02:58

Choose a tag to compare

v0.2.3

更新日志

请查看 Changelog.md 获取详细更新信息。

v0.2.2

07 Jan 06:41

Choose a tag to compare

v0.2.2

更新日志

请查看 Changelog.md 获取详细更新信息。

v0.2.0

29 Sep 01:45

Choose a tag to compare

v0.1.9-nightly2

26 Sep 05:45

Choose a tag to compare

v0.1.9-nightly2 Pre-release
Pre-release

v0.1.9-nightly1

22 Sep 05:08

Choose a tag to compare

v0.1.9-nightly1 Pre-release
Pre-release

Full Changelog: v0.1.8...v0.1.9-nightly1

v0.1.8

19 Sep 03:28

Choose a tag to compare

v0.1.7

11 Sep 08:38

Choose a tag to compare

更新日志

Breaking Change

  • 支持自定义端口
  • 将单个 main.rs 代码拆分成 console.rsconfig.rs
  • 配置文件存放在 %appdata%\smtc2web\config.toml
  • 规范静态资源依赖存放路径

VirusTotal 扫描结果

v0.1.6

10 Sep 02:57

Choose a tag to compare

更新日志

版本 0.1.6 - 优化更新逻辑

🚀 主要改进

1. 智能更新逻辑优化

  • 后端更新机制

    • 新增播放状态检测 (is_playing 字段)
    • 实现智能更新策略,避免不必要的重复更新
    • 添加时间戳机制,确保强制更新(5秒间隔)
    • 动态调整轮询间隔:播放时100ms,暂停时200ms
  • 前端更新优化

    • 实现数据变化检测,避免重复渲染
    • 动态调整轮询频率:播放时100ms,暂停时200ms
    • 错误处理优化,异常时使用250ms默认间隔

2. 数据结构增强

  • Song 结构体
    • 新增 is_playing: bool 字段,标识当前播放状态
    • 新增 last_update: u64 字段,用于时间戳管理
    • 派生 PartialEq trait,支持结构体比较

3. 错误处理改进

  • 增强了 Windows API 调用的错误处理
  • 添加了会话管理器获取失败的处理逻辑
  • 改进了异步操作的错误处理模式

4. 性能优化

  • 减少了不必要的状态写入操作
  • 优化了轮询机制,降低CPU使用率
  • 实现了基于播放状态的动态更新频率

📝 文档更新

  • README.md
    • 完善了编译依赖说明
    • 详细列出了主要依赖包及其版本
    • 分离了Windows特定依赖的说明
    • 优化了文档结构和可读性

🔧 技术细节

后端变更 (src/main.rs)

// 新增字段
#[derive(Default, Clone, Serialize, PartialEq)]
struct Song {
    // ... 原有字段
    is_playing: bool,
    last_update: u64,
}

// 智能更新逻辑
let should_update = if current_song.is_playing != last_song.is_playing {
    true
} else if current_song.position != last_position {
    true
} else if !current_song.is_playing && no_change_count < 10 {
    no_change_count += 1;
    true
} else {
    timestamp.saturating_sub(last_song.last_update) > 5
};

前端变更 (frontend/main.js)

// 数据变化检测
if (JSON.stringify(data) !== JSON.stringify(lastData)) {
    Object.assign(info, {
        ...data,
        pct: data.pct ?? 0,
    });
    lastData = data;
}

// 动态轮询间隔
const pollInterval = info.is_playing ? 100 : 200;
setTimeout(poll, pollInterval);

📦 版本信息

  • 版本号:从 0.1.5 升级到 0.1.6
  • 更新时间:2025年9月10日
  • 提交哈希18920652694b2a849a59b929653613877408aea2

💡 优化效果

  • 显著减少了不必要的网络请求和状态更新
  • 提高了播放状态响应的实时性
  • 降低了系统资源占用
  • 增强了应用的稳定性和可靠性

注意:此版本主要专注于性能优化和用户体验改进,建议所有用户升级到最新版本以获得更好的使用体验。

VirusTotal 扫描结果

Full Changelog: v0.1.5...v0.1.6

v0.1.5

09 Sep 01:59

Choose a tag to compare

Full Changelog: v0.1.3...v0.1.5

v0.1.3

09 Sep 01:43

Choose a tag to compare

Full Changelog: v0.1.2...v0.1.3