# maa的rust绑定,及http api ## rust绑定: 对unsafe ffi进行最基础的绑定,只依赖std ## http api 以下api调用方式均为http post 使用方式:将server程序放入maa文件夹内并运行server #### 接口名称 获取版本号 ###### 1) 请求地址 > ###### 2) 请求参数: 无 ###### 3) 返回结果示例: ```json { "core": "2022-07-24-16-43-52-8218e7f", "result": 0, "server": "v0.0.1" } ``` | 字段名称 | 字段说明 | 类型 | 备注 | | -------- | -------------- | ------ | ---- | | core | maa本体版本号 | string | - | | server | 本服务器版本号 | string | - | #### 接口名称 创建maa实例 ###### 1) 请求地址 > ###### 2) 请求参数: 无 ###### 3) 返回结果示例: ```json { "id": 1, "result": 0 } ``` | 字段名称 | 字段说明 | 类型 | 备注 | | -------- | -------- | ---- | ---- | | id | 实例的id | int | - | --- #### 接口名称 删除maa实例 ###### 1) 请求地址 > ###### 2) 请求参数: ```json { "id": 1 } ``` | 字段名称 | 字段说明 | 类型 | 备注 | | -------- | -------- | ---- | ---- | | id | 实例的id | int | - | ###### 3) 返回结果示例 ```json { "result": 0 } ``` --- #### 接口名称 获取所有maa实例 ###### 1) 请求地址 > ###### 2) 请求参数:无 ###### 3) 返回结果示例 ```json { "instances": [1], "result": 0 } ``` | 字段名称 | 字段说明 | 类型 | 备注 | | --------- | -------------- | ----- | ---- | | instances | 实例的id的列表 | []int | - | --- #### 接口名称 连接模拟器 ###### 1) 请求地址 > ###### 2) 请求参数: ```json { "id": 1, "adb_path": "adb.exe", "target": "127.0.0.1:62025", "config": null } ``` | 字段名称 | 字段说明 | 类型 | 备注 | | -------- | ---------- | ------ | ------------------- | | id | 实例的id | int | - | | adb_path | adb的地址 | string | - | | target | 连接的地址 | string | - | | config | 设置 | object | 具体参考maa abi文档 | ###### 3) 返回结果示例 ```json { "result": 0 } ``` --- #### 接口名称 获取实例连接的adb地址 ###### 1) 请求地址 > ###### 2) 请求参数: ```json { "id": 1 } ``` | 字段名称 | 字段说明 | 类型 | 备注 | | -------- | -------- | ---- | ---- | | id | 实例的id | int | - | ###### 3) 返回结果示例 ```json { "result": 0, "target": "127.0.0.1:62025" } ``` | 字段名称 | 字段说明 | 类型 | 备注 | | -------- | ---------- | ------ | ---- | | target | 连接的地址 | string | - | --- #### 接口名称 获取最近nums条回调消息 ###### 1) 请求地址 > ###### 2) 请求参数: ```json { "uuid": "af01fba4f43da740\r\n", "nums": 5 } ``` | 字段名称 | 字段说明 | 类型 | 备注 | | -------- | ---------- | ----------- | -------------------------------- | | uuid | 设备的uuid | string | - | | nums | 消息条数 | int or null | nums为null时,一次性返回所有消息 | ###### 3) 返回结果示例 ```json { "msgs": [ { "body": { "details": { "adb": "adb.exe", "address": "127.0.0.1:62025", "config": "General" }, "uuid": "af01fba4f43da740", "what": "Connected", "why": "" }, "time": 1658687213962, "type": 2 } ], "result": 0 } ``` | 字段名称 | 字段说明 | 类型 | 备注 | | -------- | ---------- | -------- | ------------------- | | msgs | 消息的列表 | []object | - | | msg.body | 消息正文 | object | 具体参考maa回调文档 | | msg.time | 时间戳 | int | - | | msg.type | 消息类型 | int | 具体参考maa回调文档 | --- #### 接口名称 删除uuid对应的所有消息 ###### 1) 请求地址 > ###### 2) 请求参数: ```json { "uuid": "af01fba4f43da740\r\n" } ``` | 字段名称 | 字段说明 | 类型 | 备注 | | -------- | ---------- | ------ | ---- | | uuid | 设备的uuid | string | - | ###### 3) 返回结果示例 ```json { "result": 0 } ``` --- #### 接口名称 获取数据库内所有uuid ###### 1) 请求地址 > ###### 2) 请求参数:无 ###### 3) 返回结果示例 ```json { "result": 0, "uuid": ["af01fba4f43da740"] } ``` | 字段名称 | 字段说明 | 类型 | 备注 | | -------- | -------- | -------- | -------------------------------------- | | uuid | uuid列表 | []string | 即使uuid没有对应的实例,依旧会返回uuid | --- #### 接口名称 获取实例对应的uuid ###### 1) 请求地址 > ###### 2) 请求参数: ```json { "id": 1 } ``` | 字段名称 | 字段说明 | 类型 | 备注 | | -------- | -------- | ---- | ---- | | id | 实例的id | int | - | ###### 3) 返回结果示例 ```json { "result": 0, "uuid": "af01fba4f43da740\r\n" } ``` | 字段名称 | 字段说明 | 类型 | 备注 | | -------- | ---------- | ------ | ---- | | uuid | 设备的uuid | string | - | --- #### 接口名称 创建任务 ###### 1) 请求地址 > ###### 2) 请求参数: ```json { "id": 1, "types": "StartUp", "params": {} } ``` | 字段名称 | 字段说明 | 类型 | 备注 | | -------- | -------- | ------ | ------------------- | | id | 实例的id | int | - | | types | 任务类型 | string | - | | params | 任务参数 | object | 具体参考maa abi文档 | ###### 3) 返回结果示例 ```json { "result": 0, "task_id": 1 } ``` | 字段名称 | 字段说明 | 类型 | 备注 | | -------- | -------- | ---- | ---- | | task_id | 任务的id | int | - | --- #### 接口名称 设置任务参数 ###### 1) 请求地址 > ###### 2) 请求参数: ```json { "id": 1, "task_id": 1, "params": {} } ``` | 字段名称 | 字段说明 | 类型 | 备注 | | -------- | -------- | ------ | ------------------- | | id | 实例的id | int | - | | task_id | 任务的id | int | - | | params | 任务参数 | object | 具体参考maa abi文档 | ###### 3) 返回结果示例 ```json { "result": 0 } ``` --- #### 接口名称 获取当前任务队列 ###### 1) 请求地址 > ###### 2) 请求参数: ```json { "id": 1 } ``` | 字段名称 | 字段说明 | 类型 | 备注 | | -------- | -------- | ---- | ---- | | id | 实例的id | int | - | ###### 3) 返回结果示例 ```json { "result": 0, "tasks": { "1": { "params": "{}", "type": "StartUp" } } } ``` | 字段名称 | 字段说明 | 类型 | 备注 | | -------- | -------- | -------- | ----------------------------------------------- | | tasks | 任务队列 | []object | tasks字段内的键值对,键为task_id,不一定从1开始 | --- #### 接口名称 开始运行 ###### 1) 请求地址 > ###### 2) 请求参数: ```json { "id": 1 } ``` | 字段名称 | 字段说明 | 类型 | 备注 | | -------- | -------- | ---- | ---- | | id | 实例的id | int | - | ###### 3) 返回结果示例 ```json { "result": 0 } ``` --- #### 接口名称 中止运行 ###### 1) 请求地址 > ###### 2) 请求参数: ```json { "id": 1 } ``` | 字段名称 | 字段说明 | 类型 | 备注 | | -------- | -------- | ---- | ---- | | id | 实例的id | int | - | ###### 3) 返回结果示例 ```json { "result": 0 } ``` --- #### 接口名称 获取安卓截图 ###### 1) 请求地址 > ###### 2) 请求参数: ```json { "id": 1 } ``` | 字段名称 | 字段说明 | 类型 | 备注 | | -------- | -------- | ---- | ---- | | id | 实例的id | int | - | ###### 3) 返回结果示例 | 字段名称 | 字段说明 | 类型 | 备注 | | -------- | -------- | ----------------- | ---------------- | | 无 | 无 | 一张截图(png格式) | 建议自己想象一个 | --- #### 接口名称 点击安卓屏幕 ###### 1) 请求地址 > ###### 2) 请求参数: ```json { "id": 1, "x": 114, "y": 514 } ``` | 字段名称 | 字段说明 | 类型 | 备注 | | -------- | -------- | ---- | -------------------- | | id | 实例的id | int | - | | x | 横坐标 | int | 坐标原点在屏幕左上角 | | y | 纵坐标 | int | - | ###### 3) 返回结果示例 ```json { "result": 0 } ``` ---