THUAI7 icon indicating copy to clipboard operation
THUAI7 copied to clipboard

关于下载器存放位置的问题

Open Timothy-Liuxf opened this issue 1 year ago • 3 comments

问题

目前 THUAI7 的配置文件是 %USERPROFILE%\Documents\THUAI7.json: https://github.com/eesast/THUAI7/blob/b728f8cc708a6bc205729728ef2f5ed9e055b0af/installer/Data/ConfigFileData.cs#L205-L207 https://github.com/eesast/THUAI7/blob/b728f8cc708a6bc205729728ef2f5ed9e055b0af/installer/Data/ConfigFileData.cs#L214 实际上这个文件夹主要目的是用于存放用户的一些文档,而非应用配置数据。原则上讲,存放配置数据应该是:

  • %LOCALAPPDATA%:对应于 %USERPROFILE%\AppData\Local,用于存放本用户在本地计算机上的配置数据或应用程序
  • %APPDATA%:对应于 %USERPROFILE%\AppData\Roaming,用于存放本用户的漫游配置数据
  • %ALLUSERSPROFILE%:对应于 %HOMEDRIVE%\ProgramData,用于存放所有用户的公共配置数据(一般由 Administrator 用户管理)

综上,咱们的 THUAI7 更适合存放在 %LOCALAPPDATA% 中。

修改建议

具体的规范是,在改文件夹下,再创建一个属于自己应用的文件夹,然后在该文件夹下存放配置数据。对于 THUAI7,一个可能的配置文件路径是:%LOCALAPPDATA%\THUAI7\config.json,例如上段代码改成如下的:

var dataDir = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "THUAI7");
if (!System.IO.Directory.Exists(dataDir))
{
    System.IO.Directory.CreateDirectory(dataDir);
}
var configPath = System.IO.Path.Combine(dataDir, "config.json");

然后将数据放在该 config.json 里(卸载时直接删除该 THUAI7 文件夹即可)。

其他

同时,默认的安装位置: https://github.com/eesast/THUAI7/blob/b728f8cc708a6bc205729728ef2f5ed9e055b0af/installer/Data/ConfigFileData.cs#L43-L46 Local_Data: https://github.com/eesast/THUAI7/blob/b728f8cc708a6bc205729728ef2f5ed9e055b0af/installer/Model/Local_Data.cs#L42-L46 也应当放在这个文件夹内。

此外存放配置信息的命名似乎使用 config.jsonTHUAI7.json 要更好一些。

Timothy-Liuxf avatar Apr 01 '24 15:04 Timothy-Liuxf

THUAI6 中的原 issue 位于 https://github.com/eesast/THUAI6/issues/566

Timothy-Liuxf avatar Apr 01 '24 15:04 Timothy-Liuxf

我超,这就是一个好的issue的模样吗?大开眼界(

FranGuam avatar Apr 01 '24 15:04 FranGuam

@DreamEnderKing https://github.com/eesast/THUAI7/pull/178#issuecomment-2053961311

Timothy-Liuxf avatar Apr 14 '24 08:04 Timothy-Liuxf