-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
maa-cli
前后端分离
#322
Comments
@BoredTape 你可以在这个 issue 写一下你的想法,我其实还没有完全确定要怎么做,我也不是专业的开发,所以欢迎提出任何意见。 |
首先,我这边的想法不是普通用户的想法,可以不用太在意,对于普通用户来说,我的想法是比较离谱的。 1.分开client和server的话,我比较关心server端,server如果可以做成一个crate的话,我这边比较方便嵌入到maabo(实话实说,我觉得我这想法是很离谱的)。 目前想到的就这些 |
我觉得的话,client 不一定要负责启动客户端。走 RPC 的话,我觉得如果有可能,能让 MaaBo 支持非自己启动的 server 吗?这样就可以复用 cli 和 core,以及理论上可能的连接远程 server。 |
理论上是可以连接远程server的,不过task信息就要做相关的接口获取,现在MaaBo为了跟官方的体验一直,是写死了一份task配置包含:startup、flight等等的任务,这个看你server怎么定,我再适配。至于MaaBo启动server这个,是因为我日后想适配安卓端 |
现状
当前,maa-cli 执行任务主要包括以下步骤:
问题
上述实现比较简单直接,但是存在以下几个问题:
解决办法
为 maa-cli 引入一个 Server 模式,通过
maa serve
启动。启动后maa-cli
将作为一个 RPC Server, 并监听某一个 Unix 或者 TCP Socket。maa run
、maa startup
等命令将解析任务后向服务器发送请求。maa-cli 在运行任务时如果 server 未启动,将自行启动一个 server,并将其作为守护程序在后台活跃一段时间,然后通过相应的具体实施
RPC API 列表
添加任务
方法名称:
AppendTask
请求:
任务类型以及序列化为 JSON 的字符串。
响应:
其中
0
表示添加失败。修改任务参数
方法名称:
SetParams
请求:
响应:
启动任务
方法名称:
Start
请求:
响应:
停止任务
方法名称:
Stop
请求:
响应:
检查任务是否正在进行
方法名称:
Running
请求:
响应:
关闭 Server
方法名称:
Terminate
请求:
响应:
The text was updated successfully, but these errors were encountered: