obsidian-language-learner icon indicating copy to clipboard operation
obsidian-language-learner copied to clipboard

[bug] export 手机端导出失败 / import 时未选中文件,也会立即清空 indexDB

Open e-zz opened this issue 1 year ago • 8 comments

export 手机端导出失败

相关代码: https://github.com/guopenghui/obsidian-language-learner/blob/0b6839b7cb9df6ca332e6495dd68065a3dc0e267/src/db/local_db.ts#L284-L291 问题:手机端导出失败,未跳出保存或下载窗口,而直接显示exported,因此未能生成出 ${this.idb.dbName}.json 文件。不知道是否是我手机设置的问题

  • 确认了app文件读写权限设置
  • 仿照下面代码借由this.app.vault.modify导出 blob 到文件,就没问题了,所以可能还是读写权限问题吧 https://github.com/guopenghui/obsidian-language-learner/blob/0b6839b7cb9df6ca332e6495dd68065a3dc0e267/src/plugin.ts#L326-L387

已经创建提交

import 按钮会立即清空 indexDB

相关代码: https://github.com/guopenghui/obsidian-language-learner/blob/0b6839b7cb9df6ca332e6495dd68065a3dc0e267/src/db/local_db.ts#L277-L282 问题:假如导入未成功,数据库似乎就没了。

希望能检测是否导入成功,失败就自动恢复。可惜我没有前端开发经验,不知道该如何改。作者能改一下这里吗?

e-zz avatar Apr 02 '23 09:04 e-zz

大佬你好,请问能提供一下手机端不能导出的解决方法吗,计算机小白专门注册了一个号

newbie864 avatar Apr 20 '23 12:04 newbie864

大佬你好,请问能提供一下手机端不能导出的解决方法吗,计算机小白专门注册了一个号

可以看一下这个 release,应该能导出了。

  1. 下载解压 obsidian-language-learner-fix-mobile.zip
  2. 用其替换 .obsidian\plugins\obsidian-language-learner 里的对应文件
  3. 在 vault 下创建 wordDB_backup.json
  4. 重开 obsidian,ctrl p 输入并运行 Language Learner: backup local database
  5. 等待 obsidian 弹出提示 done

现在应该已经导出到 vault 下的wordDB_backup.json

e-zz avatar Apr 24 '23 22:04 e-zz

似乎还是不行,备份时显示“invalid word database path”,recover和backup都是显示这个错误,刷新单词和复习数据库都没问题

newbie864 avatar Apr 25 '23 10:04 newbie864

似乎还是不行,备份时显示“invalid word database path”,recover和backup都是显示这个错误,刷新单词和复习数据库都没问题

不好意思我写漏了一步,需要先在 vault 下创建文件 wordDB_backup.json ,不然会提示文件无效。

e-zz avatar Apr 25 '23 11:04 e-zz

感谢,可以导出了

newbie864 avatar Apr 25 '23 11:04 newbie864

似乎还是不行,备份时显示“invalid word database path”,recover和backup都是显示这个错误,刷新单词和复习数据库都没问题

不好意思我写漏了一步,需要先在 vault 下创建文件 ,不然会提示文件无效。wordDB_backup.json

大佬,我这边照着出错了

gaoluji avatar Dec 26 '23 11:12 gaoluji

大佬你好,请问能提供一下手机端不能导出的解决方法吗,计算机小白专门注册了一个号

可以看一下这个 release,应该能导出了。

  1. 下载解压 obsidian-language-learner-fix-mobile.zip
  2. 用其替换 .obsidian\plugins\obsidian-language-learner 里的对应文件
  3. 在 vault 下创建 wordDB_backup.json
  4. 重开 obsidian,ctrl p 输入并运行 Language Learner: backup local database
  5. 等待 obsidian 弹出提示 done

现在应该已经导出到 vault 下的wordDB_backup.json

寻找了很久电脑端和移动端数据库同步问题的解决办法,终于搞定了,谢谢

wdbao-quant avatar Apr 12 '24 09:04 wdbao-quant

.obsidian\plugins\obsidian-language-learner里面只有四个文件,只要替换四个吗

TinacGan avatar Jun 12 '24 08:06 TinacGan