Skip to content

Latest commit

 

History

History
89 lines (48 loc) · 2.57 KB

9.1-MaaHttp.md

File metadata and controls

89 lines (48 loc) · 2.57 KB

MaaHttp

该项目是 MaaFramework 的 HTTP 绑定。该项目提供了与大部分 MaaFramework 的 C 接口对应的 HTTP 请求。

主从模式

MaaHttp 提供了一个主从多进程模式。默认情况下,执行 MaaHttp 将会以主模式启动。该进程不会提供 MaaFramework 的接口,而是提供创建、销毁从进程的能力。创建的从进程会提供 MaaFramework 的接口。

./bin/MaaHttp
deamon started at 127.0.0.1:13126

同时,你也可以直接通过 -s 选项以从模式启动 MaaHttp。会打印出提供服务的端口。

./bin/MaaHttp -s
57243

通过 -p [port] 选项,你可以指定提供服务的端口。默认情况下,主模式会使用 13126,从模式会自动选择一个可用端口。

OpenAPI

主模式和从模式服务器均在 /help 路径提供了其 OpenAPI 3.0 文档。

主模式

/cfgread and /cfgwrite

这两个路径提供了加载和存储一个 json 对象的能力,其存储在 MaaHttpConfig.json 中。

/create

创建一个新的从进程,返回其提供服务的端口。

/destroy

销毁一个从进程。

/heart

通知某一个从进程仍然在使用。MaaHttp 每 60 秒检查所有的从进程,销毁超过 30s 未通知的从进程。

从模式

/api/*

MaaFramework 的函数。

注意:某些函数会返回多个结果,因此不要简单的提取出 return 键。

/handle/[HANDLE]/strip

清理所有的临时 HANDLE 句柄。

目前,只有 MaaGetImageListAt 使用这个能力。该函数返回的句柄不由 MaaHttp 管理,因此只提供了其的弱引用。

/handle/[HANDLE]/dump

导出所有 HANDLE 句柄,用于调试。

/callback/[CALLBACK]/new

创建一个新的 CALLBACK 回调实例。返回的字符串就是这个回调的句柄,用于传递给 MaaCreate 等函数。

/callback/[CALLBACK]/free

释放一个CALLBACK回调实例。

/callback/[CALLBACK]/query

查询某一个 CALLBACK 回调实例的所有的调用实例。该路径会阻塞,直到超过 5 秒或有新的调用实例发生。

注意:调用实例不会在被查询后移除,因此如果你不提前处理的话,你可能会得到重复的实例。

参考:长轮询

/callback/[CALLBACK]/req

获取某一个调用实例对应的参数。

/callback/[CALLBACK]/res

设置某一个调用实例对应的返回值。该路径结束后,调用实例会被移除且不会被 query 返回。

/callback/[CALLBACK]/dump

导出所有 CALLBACK 回调实例,用于调试。