Closed web3nomad closed 1 week ago
逻辑已经实现了,有几个编码的小问题:
逻辑已经实现了,有几个编码的小问题:
- 现在把逻辑实现在了ctx上,方便在应用启动 load_library 之后发起一个异步的 task 进行触发
- 在 switch_current_library 的时候就不太这么触发,会阻塞用户操作(虽然也很快),因此切换 library 的触发逻辑写在前端了
确实,放在前端是更好的。 switch library 和启动 app 以后都靠前端来触发。
先把 ctx 上的 switch_current_library 做了一下拆分,分为了 quit_current_library 和 load_library
应用启动和切换 library 的时候,都在前端先 quit 再 load
这样的话,就可以把后端 load_library 等逻辑都去掉了,这个明天我改一下看看
@zhuojg 前端我改掉了 https://github.com/bmrlab/tauri-dam-test-playground/commit/dc0fc3d7775fe85840528496c9cc9e92cbe7e19f 现在是切换的时候先前端 quit, 然后页面刷新后再 set 新的 library
这样的话,就可以把后端 load_library 等逻辑都去掉了,这个明天我改一下看看
然后 👆 这里说的是后端改一下 👇 这部分对吧
这个我还没改,你来改改?
我在 7091483bc40fe1241191234b964f3cbc888e2261 整体改动了一下:
load_library
和 quit_library_in_store
load_library
: 根据 id 加载 library, 在 load_library
时会先进行 quit 的操作quit_library_in_store
: 根据 store 中的信息卸载某个 libraryset_current_library
- 执行 ctx.load_library
quit_current_library
- ctx.quit_library_in_store
get_current_library
- 返回 ctx.library()
, 如果失败则先用 store 中的 id 调用 ctx.load_library
,再返回get_current_library
set_current_library
quit_current_library
我周末这里调整了一下,先是 ctx 上分成了 load_library 和 unload_library 两个方法,也对应 2 个接口:
load_library 的顺序是
unload_library 的顺序是
然后
先 close 了
有个可以优化的是:任务重试支持从第一个没成功的任务开始,也就是两种 mode,一种是 startover 另一种是 continue