BioforestChain / dweb_browser

BioforestChain Infrastructure
https://docs.dweb-browser.org
MIT License
13 stars 4 forks source link

🐛 maxTarget 需要下取整? #54

Closed Gaubee closed 10 months ago

Gaubee commented 11 months ago

因为 target 可能出现 2.1、2.2、2.3 这样的功能性布丁,这都是与 2 兼容的。 这时候 maxTarget 如果写了 2,那么往往就意味着 2.? 其实都是可以的。 因此 minTarget 可能写的是 2.2,maxTarget 写的可能是 2,出现 minTarget 大于 maxTarget 的情况,这会令人疑惑 所以可以考虑这两种写法:

  1. <3 提供版本运算符?但是看着很奇怪,而且增加了学习成本,不建议
  2. 2.* 提供简单的通配符,这个灵活性很多,可能过大了?但个人更加建议这个方案
kingsword09 commented 11 months ago

@Gaubee minTarget 有没有 2.10 这样的版本号,如果有的话,现有的 minTarget 设置为 float 类型是否不够准确?

Gaubee commented 11 months ago

最终方案为: version使用int来存储,对外只提供 minTarget 和 maxTarget 这下限上限,只使用其做一个大概的限制。 对内开发者可以通过const {version,patch} = navigator.dweb来拿到精确的版本信息,从而对自己的程序作出进一步的控制

并且,对于min/maxTarget的限制问题,这只能当成是一个建议,我们也应该提供“强制安装”的选项。因为有时候,模块并不是完全不能用。可能只是部分接口损坏了