Ferry-200 / coriander_player

Windows端本地音乐播放器,使用Material You配色。Dart (Flutter) + Rust (lofty, windows-rs) + C (bass lib) 多语言项目。绝赞开发中。
https://ferry-200.github.io/coriander_player_website/
GNU General Public License v3.0
510 stars 22 forks source link

继承旧版本数据时可能出错 #71

Open Ferry-200 opened 1 month ago

Ferry-200 commented 1 month ago

貌似不是个例啊,会不会缺什么运行库?

Bug 概要

1.1.0新版本更新后点击设置中的前4个标签页灰屏,无法显示内容。 image

复现步骤

windows10 22H2 直接安装新版本后按正常方法运行,exe与zip文件均已尝试。_

_最初由 Ntsc-Yrx 在 https://github.com/Ferry-200/coriander_player/issues/67#issuecomment-2277779616 发布_

Ferry-200 commented 1 month ago

如果你有能力的话,可以去 C:\Users\你的用户名\AppData\Roaming\com.example\coriander_player 目录删除 index.json 文件后,再次运行软件。这样可以转到欢迎页。

当时在决定设计旧版本数据和新版本数据不同的时候,我已经测试过从各个旧版本升级到 1.1.0 都不会出现问题。可能出现了特例。

我在这方面没太多经验,忽略了兼容性问题。以后会尽量做好错误处理的。

Ntsc-Yrx commented 1 month ago

感谢,问题已经解决。

不过作为用了 4 个月 coriander 的用户来说,觉得把所有文件放在一个文件夹内比较好(因为我主要把 coriander 作为一个便携播放器使用,一方面每次需要重新选择文件夹,另一方面如果已知用的是 zip 版本,也很难想到 C:\Users\你的用户名\AppData\Roaming\com.example\coriander_player 目录 还有一个文件。

大爱 coriander。

Ferry-200 commented 1 month ago

其实新版本发布前我有更改应用数据目录的打算,但因为一些具体的问题没弄。

这里是我觉得 Windows 下合理且能保证应用数据不会丢失的最好的目录(事实上有点太隐蔽了,有一些卸载软件的工具都没能发现这里有应用数据);再者我觉得大部分用户也不会介意我在这里放不到 1mb 的垃圾(

如果以后用数据库而不是 JSON 这种那么低级的做法的话应该占用会更小。