Scighost / Starward

Game Launcher for miHoYo - 米家游戏启动器
https://starward.scighost.com
MIT License
3.54k stars 165 forks source link

在某款游戏登录界面右下角编辑账号信息后切换到另一款游戏进行相同操作,前者编辑好的账号信息会丢失 #50

Closed RyanSaul closed 1 year ago

RyanSaul commented 1 year ago

例如在原神处编辑好账号信息 image

再切到星穹铁道编辑账号信息 image

切回原神发现账号信息丢失 image

Scighost commented 1 year ago

请提供一下出现此问题时的日志文件

RyanSaul commented 1 year ago

请提供一下出现此问题时的日志文件

我把原神和星穹铁道的账号昵称分别命名为「原」和「铁」,uid分别命名为 123456789 和 987654321 Starward_230613_095626.log

Scighost commented 1 year ago

日志内容显示两个账号都保存成功,根据现有的日志详细程度无法排查出问题。

image
RyanSaul commented 1 year ago

日志内容显示两个账号都保存成功,根据现有的日志详细程度无法排查出问题。

image

这个貌似还挺容易复现的,我删除软件目录再重新解压后问题还是照旧

ItsFairladyZ commented 1 year ago

我也是这个情况,不过我这儿测出来的是两边不能同时设置ID,不然就会丢一个 另外原神无法自动检测到UID和ID,崩铁只能读到UID Starward_230614_173833.log

RyanSaul commented 1 year ago

我也是这个情况,不过我这儿测出来的是两边不能同时设置ID,不然就会丢一个 另外原神无法自动检测到UID和ID,崩铁只能读到UID Starward_230614_173833.log

一模一样的情况(

Scighost commented 1 year ago

突然想到还有一种可能,就是两个游戏在注册表中的登录密钥是一样的,这样把账号保存到数据库的时候会因为主键限制,后保存的账号覆盖了之前保存的账号。

需要你们查找数据库验证这种可能性,或者运行下面的 PowerShell 命令查看输出结果:

$ys = Get-ItemProperty 'HKCU:\Software\miHoYo\原神' -Name 'MIHOYOSDK_ADL_PROD_CN_h3123967166';
$sr = Get-ItemProperty 'HKCU:\Software\miHoYo\崩坏:星穹铁道' -Name 'MIHOYOSDK_ADL_PROD_CN_h3123967166'; 
$compare = Compare-Object $ys.MIHOYOSDK_ADL_PROD_CN_h3123967166  $sr.MIHOYOSDK_ADL_PROD_CN_h3123967166;
if ($compare.Length -eq 0) {
    Write-Host '两游戏密钥相同' -Foreground Red;
} else {
    Write-Host '两游戏密钥不同' -Foreground Green;
}
RyanSaul commented 1 year ago

两游戏密钥相同 image

Scighost commented 1 year ago

@RyanSaul 感谢你的反馈,我将在下个版本修复这个问题。

RyanSaul commented 1 year ago

@RyanSaul 感谢你的反馈,我将在下个版本修复这个问题。

辛苦了🙏

Scighost commented 1 year ago

已修复,此 issue 关闭。