mirai icon indicating copy to clipboard operation
mirai copied to clipboard

QRCode on UnsafeDeviceVerify

Open Karlatemp opened this issue 2 years ago • 13 comments

image

Karlatemp avatar Jun 07 '22 02:06 Karlatemp

要不做一个独立JVM模块,只用core的人可以单独依赖,mirai-core-all默包含

Him188 avatar Jun 07 '22 10:06 Him188

那什么名字比较合适呢, mirai-core-platform-image?

Karlatemp avatar Jun 07 '22 10:06 Karlatemp

mirai-login-solver-qr ?

Him188 avatar Jun 07 '22 11:06 Him188

那以后要加其他的图像处理的时候也得创建新的模块,我想把qr和未来可能的其他处理塞到一个模块内作为可选扩展

Karlatemp avatar Jun 07 '22 11:06 Karlatemp

我觉得就是应该创建新模块,反正多一个模块也不多很多麻烦。

Him188 avatar Jun 07 '22 12:06 Him188

要不做一个独立JVM模块,只用core的人可以单独依赖,mirai-core-all默包含

我觉得还是不要默认包含好,让那个模块本身也可以作为 console 插件,然后 mcl 默认安装吧

Him188 avatar Jun 07 '22 12:06 Him188

要不做一个独立JVM模块,只用core的人可以单独依赖,mirai-core-all默包含

我觉得还是不要默认包含好,让那个模块本身也可以作为 console 插件,然后 mcl 默认安装吧

那样的话修改太大了,all 默认包含其实也没什么大问题

Karlatemp avatar Jun 07 '22 13:06 Karlatemp

有问题,捆绑是不好的,就跟selemium一样

Him188 avatar Jun 07 '22 13:06 Him188

那可以把 all 的默认提供去掉, 让用户自己执行 ./mcl --update-package net.mamoe:mirai-core-utils-platform-image --channel stable --type core

Karlatemp avatar Jun 07 '22 15:06 Karlatemp

那可以把 all 的默认提供去掉, 让用户自己执行 ./mcl --update-package net.mamoe:mirai-core-utils-platform-image --channel stable --type core

我就是这样想的, 让它 compileOnly mirai-console 然后加个 service 就可以当做插件用也可以给 core 用了吧

Him188 avatar Jun 07 '22 15:06 Him188

我更倾向于按现实世界的使用习惯来分类命名模块,并尽量减少 core 里的非协议功能

  • mirai-login-solver-desktop 所有有关验证的 UI 都可以放里面(包括以前的对话框),从用户角度来讲基本上要用就都会用到 ~不过像 selemium 这种环境要求复杂的可以单独出来 mirai-login-solver-desktop-with-selemium~ (当然 selemium 已经弃用了)
  • mirai-login-solver-console 无 UI 环境下的 LoginSolver
  • mirai-login-solver-android

而对于 core, 只需要提供 LoginSolver 接口就行

ps. 安装OOP的理想情况,LoginSolver接口应该设计为

LoginSolver --> SliderLoginSolver
            --> CaptchaLoginSolver

然后根据具体的LoginSolverImpl是否实现对应的子接口来区分支持的验证类型(尽量不要引入过多的 CanXXX / SupportXXX 属性)

AdoptOSS avatar Jun 15 '22 02:06 AdoptOSS

然后就是,现在 mirai 已经有较为完善的 SPI 了,像以前那种引入一大堆系统变量、硬编码Class.forName查询LoginSolver的行为大概都可以去除/废弃了(除非是为了兼容性考虑)

AdoptOSS avatar Jun 15 '22 02:06 AdoptOSS

@AdoptOSS 确实,我比较赞成你的想法

在有 Native 之后以后可能也要出 Native 的验证模块,多模块更适合

Him188 avatar Jun 15 '22 08:06 Him188