mcthesw / game-save-manager

一个简单的游戏存档管理器
https://help.sworld.club
GNU Affero General Public License v3.0
617 stars 21 forks source link

增加修改存档管理按钮 #65

Closed noneSycamore closed 9 months ago

noneSycamore commented 10 months ago

存档管理页面增加 修改存档管理 按钮:

  1. 点击修改后,转到添加游戏页面
  2. 如果存档管理名字被修改,原管理保留,会新增一个存档管理
  3. 成功保存后,旧存档保留(当选择应用旧存档时,只会覆盖当前存档管理中的文件/文件夹)

Bug:保存后会覆盖同名的存档管理

因为可以添加同名的存档管理,所以应该是要区分一下的。不仅是我加的这个新功能会有问题,而且原管理会被新的同名管理覆盖掉。

解决方法:是否可以用ID代替name区分不同存档管理?

mcthesw commented 10 months ago

感谢PR!这是个有用的功能 我最初使用name来区分不同存档管理是考虑到在前端即使是同一个游戏也应当做出一些区分(比如“游戏A-角色1”、“游戏A-角色2”),因此认为用name来区分是还算合理的,如果的确有用ID区分的必要,可以考虑加入(不过我认为即使是为了便利的区分,也应当取不同的name)

这个功能是否会有以下问题(这是我一直没自己动手的原因):在更改了存档所需的文件之后,会与已有的备份文件产生不一致,从而导致无法恢复等情况?

noneSycamore commented 10 months ago

你提出的问题我有经过验证, (说起来太复杂)我设存档所需文件为A,已有的备份为B。 如果A发生了更改,选择B进行恢复的时候,只会恢复A和B的交集部分, 我认为这是合理的。


此外,关于name的问题: 其实用ID区分也不是必须的, 但有个bug必须解决:从添加游戏界面可以添加两个同名的游戏,然后它们会出现很多异常情况。 如下图:

image

可以考虑在添加游戏的时候,做个检查

mcthesw commented 10 months ago

我当时后端写的太随意了,之后我看看能不能给Error处理做的更好一些,要是能整好的话,后台发现重复直接错误返回前端也是可行的 “只会恢复A和B的交集部分”的话确实是合理的,在界面上写明就好了,不过我觉得“修改存档管理”这个功能应该算是个危险功能,可能需要添加再次确认,或者默认隐藏该按钮

noneSycamore commented 10 months ago

确实,你说的有道理,这个功能应该需要提醒

mcthesw commented 9 months ago

能否开放一下我的push权限,我今天处理了冲突,也加上了后端对应的字段,需要提交到你的分支

mcthesw commented 9 months ago

当前状态应该可以合并了吧?

noneSycamore commented 9 months ago

应该是可以了