biuuu / genshin-wish-export

Easily export the Genshin Impact wish record.
MIT License
3.77k stars 395 forks source link

0.9.1更新后出现:未找到URL,请确认是否已打开游戏抽卡记录 - 操作失败 #216

Open Hamlet-Wu opened 1 year ago

Hamlet-Wu commented 1 year ago

系统:Windows 11 企业版 22H2 bug定位发现是glob无法读取data_2文件,反复尝试发现使用path.join后无法使用匹配符,将windowsPathsNoEscape删除,放弃使用path.join,增加cwd属性后可以成功,搜索发现貌似没人提出此类问题,可能只是个人偶发情况,如果有人碰到此类问题可以修改src=>main=>utils=>getCacheText后重新编译生成。

async function getCacheText(gamePath) {
  const results = await glob('webCaches{/,/*/}Cache/Cache_Data/data_2',{
    cwd:gamePath,
    stat: true,
    withFileTypes: true,
    nodir: true,
    // windowsPathsNoEscape: true
  })
  const timeSortedFiles = results
  .sort((a, b) => b.mtimeMs - a.mtimeMs)
  .map(path => path.fullpath())
  const cacheText = await fs.readFile(path.join(timeSortedFiles[0]), 'utf8')
  return [cacheText, timeSortedFiles[0]]
}

image

biuuu commented 1 year ago

游戏安装路径是什么样的,不知道有没影响

Hamlet-Wu commented 1 year ago

这么一提醒,确实是路径的问题,我本地路径里有个文件夹带[],昨天一直在思考为啥{}匹配不上找不到文件。。。完全没注意前边文件夹名称带[]直接被glob做匹配操作,压根到不了{}的匹配,折腾半天还拿绝对路径测试过,就是没注意到前半路径的[],这么说来只有游戏安装目录中包含[]{}等和glob匹配冲突的特殊符号才会出现我的这种问题,一般人也不会这么设置文件夹名称。。。。。昨天甚至怀疑是搞啥把系统搞出问题了,说抽空重装下系统呢,真是想太多了

nfsjk342 commented 1 year ago

这么一提醒,确实是路径的问题,我本地路径里有个文件夹带[],昨天一直在思考为啥{}匹配不上找不到文件。。。完全没注意前边文件夹名称带[]直接被glob做匹配操作,压根到不了{}的匹配,折腾半天还拿绝对路径测试过,就是没注意到前半路径的[],这么说来只有游戏安装目录中包含[]{}等和glob匹配冲突的特殊符号才会出现我的这种问题,一般人也不会这么设置文件夹名称。。。。。昨天甚至怀疑是搞啥把系统搞出问题了,说抽空重装下系统呢,真是想太多了

我也这个问题,路径也有[],但我最后发现开了代理就能用了

Hamlet-Wu commented 1 year ago

这么一提醒,确实是路径的问题,我本地路径里有个文件夹带[],昨天一直在思考为啥{}匹配不上找不到文件。。。完全没注意前边文件夹名称带[]直接被glob做匹配操作,压根到不了{}的匹配,折腾半天还拿绝对路径测试过,就是没注意到前半路径的[],这么说来只有游戏安装目录中包含[]{}等和glob匹配冲突的特殊符号才会出现我的这种问题,一般人也不会这么设置文件夹名称。。。。。昨天甚至怀疑是搞啥把系统搞出问题了,说抽空重装下系统呢,真是想太多了

我也这个问题,路径也有[],但我最后发现开了代理就能用了

确实开代理可以,但是,强迫症就想找找啥原因。。。

7Red4 commented 1 year ago

我也有碰到這個問題 就算開代理也找不到