Back to Maaassistantarknights

maa的rust绑定,及http api

src/Rust/Readme.md

6.9.29.2 KB
Original Source

maa的rust绑定,及http api

rust绑定:

对unsafe ffi进行最基础的绑定,只依赖std

http api

以下api调用方式均为http post
使用方式:将server程序放入maa文件夹内并运行server

接口名称 获取版本号

1) 请求地址

http://127.0.0.1:11451/version

2) 请求参数: 无
3) 返回结果示例:
json
{
  "core": "2022-07-24-16-43-52-8218e7f",
  "result": 0,
  "server": "v0.0.1"
}
字段名称字段说明类型备注
coremaa本体版本号string-
server本服务器版本号string-

接口名称 创建maa实例

1) 请求地址

http://127.0.0.1:11451/instance/create

2) 请求参数: 无
3) 返回结果示例:
json
{
  "id": 1,
  "result": 0
}
字段名称字段说明类型备注
id实例的idint-

接口名称 删除maa实例

1) 请求地址

http://127.0.0.1:11451/instance/delete

2) 请求参数:
json
{
  "id": 1
}
字段名称字段说明类型备注
id实例的idint-
3) 返回结果示例
json
{
  "result": 0
}

接口名称 获取所有maa实例

1) 请求地址

http://127.0.0.1:11451/instance/all

2) 请求参数:无
3) 返回结果示例
json
{
  "instances": [1],
  "result": 0
}
字段名称字段说明类型备注
instances实例的id的列表[]int-

接口名称 连接模拟器

1) 请求地址

http://127.0.0.1:11451/connect/attach

2) 请求参数:
json
{
  "id": 1,
  "adb_path": "adb.exe",
  "target": "127.0.0.1:62025",
  "config": null
}
字段名称字段说明类型备注
id实例的idint-
adb_pathadb的地址string-
target连接的地址string-
config设置object具体参考maa abi文档
3) 返回结果示例
json
{
  "result": 0
}

接口名称 获取实例连接的adb地址

1) 请求地址

http://127.0.0.1:11451/connect/target

2) 请求参数:
json
{
  "id": 1
}
字段名称字段说明类型备注
id实例的idint-
3) 返回结果示例
json
{
  "result": 0,
  "target": "127.0.0.1:62025"
}
字段名称字段说明类型备注
target连接的地址string-

接口名称 获取最近nums条回调消息

1) 请求地址

http://127.0.0.1:11451/message/get

2) 请求参数:
json
{
  "uuid": "af01fba4f43da740\r\n",
  "nums": 5
}
字段名称字段说明类型备注
uuid设备的uuidstring-
nums消息条数int or nullnums为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) 请求地址

http://127.0.0.1:11451/message/drop

2) 请求参数:
json
{
  "uuid": "af01fba4f43da740\r\n"
}
字段名称字段说明类型备注
uuid设备的uuidstring-
3) 返回结果示例
json
{
  "result": 0
}

接口名称 获取数据库内所有uuid

1) 请求地址

http://127.0.0.1:11451/uuid/all

2) 请求参数:无
3) 返回结果示例
json
{
  "result": 0,
  "uuid": ["af01fba4f43da740"]
}
字段名称字段说明类型备注
uuiduuid列表[]string即使uuid没有对应的实例,依旧会返回uuid

接口名称 获取实例对应的uuid

1) 请求地址

http://127.0.0.1:11451/uuid/get

2) 请求参数:
json
{
  "id": 1
}
字段名称字段说明类型备注
id实例的idint-
3) 返回结果示例
json
{
  "result": 0,
  "uuid": "af01fba4f43da740\r\n"
}
字段名称字段说明类型备注
uuid设备的uuidstring-

接口名称 创建任务

1) 请求地址

http://127.0.0.1:11451/task/create

2) 请求参数:
json
{
  "id": 1,
  "types": "StartUp",
  "params": {}
}
字段名称字段说明类型备注
id实例的idint-
types任务类型string-
params任务参数object具体参考maa abi文档
3) 返回结果示例
json
{
  "result": 0,
  "task_id": 1
}
字段名称字段说明类型备注
task_id任务的idint-

接口名称 设置任务参数

1) 请求地址

http://127.0.0.1:11451/task/set

2) 请求参数:
json
{
  "id": 1,
  "task_id": 1,
  "params": {}
}
字段名称字段说明类型备注
id实例的idint-
task_id任务的idint-
params任务参数object具体参考maa abi文档
3) 返回结果示例
json
{
  "result": 0
}

接口名称 获取当前任务队列

1) 请求地址

http://127.0.0.1:11451/task/all

2) 请求参数:
json
{
  "id": 1
}
字段名称字段说明类型备注
id实例的idint-
3) 返回结果示例
json
{
  "result": 0,
  "tasks": {
    "1": {
      "params": "{}",
      "type": "StartUp"
    }
  }
}
字段名称字段说明类型备注
tasks任务队列[]objecttasks字段内的键值对,键为task_id,不一定从1开始

接口名称 开始运行

1) 请求地址

http://127.0.0.1:11451/run/start

2) 请求参数:
json
{
  "id": 1
}
字段名称字段说明类型备注
id实例的idint-
3) 返回结果示例
json
{
  "result": 0
}

接口名称 中止运行

1) 请求地址

http://127.0.0.1:11451/run/stop

2) 请求参数:
json
{
  "id": 1
}
字段名称字段说明类型备注
id实例的idint-
3) 返回结果示例
json
{
  "result": 0
}

接口名称 获取安卓截图

1) 请求地址

http://127.0.0.1:11451/device/screenshot

2) 请求参数:
json
{
  "id": 1
}
字段名称字段说明类型备注
id实例的idint-
3) 返回结果示例
字段名称字段说明类型备注
一张截图(png格式)建议自己想象一个

接口名称 点击安卓屏幕

1) 请求地址

http://127.0.0.1:11451/device/click

2) 请求参数:
json
{
  "id": 1,
  "x": 114,
  "y": 514
}
字段名称字段说明类型备注
id实例的idint-
x横坐标int坐标原点在屏幕左上角
y纵坐标int-
3) 返回结果示例
json
{
  "result": 0
}