WebAPI 接口文档
一、总体说明
WebAPIServer 使用 HttpListener 监听配置中的地址:
http://<API_SvrIP>:<API_SvrPort>/ 默认 http://127.0.0.1:13000/
所有业务接口均通过 POST 调用,提交 JSON 请求体:
{
"action": "接口名,如 GetPhoneInfo",
"comm": {
// 各接口定义的参数
}
}
其中:
- action:字符串,必填,用于选择具体接口。
- comm:对象,可选/必填视接口而定,内部为该接口的参数。其中大多数接口的
port字段既可以传端口号(如"192.168.10.2-1"),也可以直接传手机序列号号(DeviceId)。
公共返回字段约定
- online:布尔。出现于需要指定手机的接口,表示目标手机当前是否在线(或是否找到设备)。
- result:接口返回的主要结果,类型因接口不同而不同:
- 有的为
bool,表示操作是否成功。 - 有的为
string或object/array,表示具体数据。
- 有的为
除特别说明外,响应内容为 JSON 文本字符串。
文档中以 App 开头的接口(如 AppGetClipboard、AppUploadFile 等)需要手机端已安装并运行“隔空输入” App 才能正常使用。
通用请求示例(以点击 KeyForClick 为例)
POST http://127.0.0.1:13000/
Content-Type: application/json
{
"action": "KeyForClick",
"comm": {
"port": "192.168.10.2-1",
"sx": 640,
"sy": 360,
"clickcnt": 1,
"delay": 50,
"movedelay": 80
}
}
二、设备信息类接口
1. 获取可用端口列表 - GetPortList
POST /,action="GetPortList"
请求参数(comm)
无,可省略或传空对象。
返回结果
| 字段 | 类型 | 说明 |
|---|---|---|
| result | string | 可用端口号列表,逗号分隔,如 "192.168.10.2-1,192.168.10.2-2" |
2. 获取所有手机信息列表 - GetPhoneInfoList
POST /,action="GetPhoneInfoList"
请求参数(comm)
无。
返回结果
| 字段 | 类型 | 说明 |
|---|---|---|
| result | array<object> |
每项为一个手机对象,包含:DeviceId:手机序列号DevicePort:端口号(如 192.168.10.2-1)DeviceName:备注名称DeviceIndex:索引,从 0 开始GroupName:分组名称Online:是否在线DeviceIP:当前连接 IP(无则为空字符串)RealModel:真实机型名称RealModelCode:真实机型标识,如 iPhone15,3RealSystemVersion:真实系统版本ConfigModel:配置中的机型名称ConfigSystemVersion:配置中的系统版本CurrentResolutionWidth:当前视频帧/投屏分辨率宽度CurrentResolutionHeight:当前视频帧/投屏分辨率高度
|
3. 查询指定手机在线状态 - ReadStatus
POST /,action="ReadStatus"
请求参数(comm)
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| port | string | 是 | 手机端口号 或者 手机序列号 如(192.168.10.2-1 或者 00:11:22:33:44:55) |
返回结果
| 字段 | 类型 | 说明 |
|---|---|---|
| result | bool | true 表示在线 |
4. 获取指定手机信息 - GetPhoneInfo
POST /,action="GetPhoneInfo"
请求参数(comm)
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| port | string | 是 | 手机端口号 或者 手机序列号 如(192.168.10.2-1 或者 00:11:22:33:44:55) |
返回结果
| 字段 | 类型 | 说明 |
|---|---|---|
| online | bool | 该手机是否在线 |
| result | object 或 null |
手机详细信息(若未找到则为 null):DeviceId、DevicePort、DeviceName、DeviceIndex、GroupName、Online、DeviceIP、RealModel、RealModelCode、RealSystemVersion、ConfigModel、ConfigSystemVersion、CurrentResolutionWidth、CurrentResolutionHeight
|
5. 获取分组信息列表 - GetGroupInfoList
POST /,action="GetGroupInfoList"
请求参数(comm)
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| connecttype | int/string | 否 | 按连接类型过滤,支持 1/Local、8/Cloud。LocalHid、IPChassis 会按本地分组处理。 |
| raw | bool/int | 否 | 传 true 或 1 时返回内部原始分组列表,不做同名合并。 |
默认不传参数时,会按 GroupName + GroupType 合并同名分组,避免“全部设备/未分组设备”因本地和云设备各有一套默认分组而重复出现。
返回结果
| 字段 | 类型 | 说明 |
|---|---|---|
| result | array<object> |
每项为分组:GroupID:分组IDGroupName:分组名称GroupType:组类型(int 枚举)ConnectType:代表分组的连接类型(int 枚举)GroupIDs:默认合并返回时包含的原始分组ID和连接类型数组ConnectTypes:默认合并返回时包含的连接类型数组
|
6. 设置手机备注名称 - SetPhoneName
POST /,action="SetPhoneName"
请求参数(comm)
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| port | string | 是 | 手机端口号 或者 手机序列号 如(192.168.10.2-1 或者 00:11:22:33:44:55) |
| phonename | string | 是 | 新的备注名称 |
返回结果
| 字段 | 类型 | 说明 |
|---|---|---|
| online | bool | 是否在线 |
| result | bool | true 表示设置成功(找到该手机并已修改配置) |
7. 设置手机分组 - SetPhoneGroup
POST /,action="SetPhoneGroup"
请求参数(comm)
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| port | string | 是 | 手机端口号 或者 手机序列号 如(192.168.10.2-1 或者 00:11:22:33:44:55) |
| groupid | string | 否 | 目标分组ID/分组号。也支持 GroupID、GroupId、groupID、groupno、GroupNo、groupnum、GroupNum 等别名。 |
| groupname | string | 否 | 目标分组名称。也支持 GroupName、groupName。当同时传分组号和分组名时,以分组号为准。 |
说明:groupid/groupname 二选一;目标分组连接类型必须与手机当前 ConnectType 一致,否则返回 result=false。
返回结果
| 字段 | 类型 | 说明 |
|---|---|---|
| online | bool | 是否在线 |
| result | bool | true 表示设置成功 |
8. 断开并等待重连 - RelinkDevice
POST /,action="RelinkDevice"
请求参数(comm)
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| port | string | 是 | 手机端口号 或者 手机序列号 如(192.168.10.2-1 或者 00:11:22:33:44:55) |
返回结果
| 字段 | 类型 | 说明 |
|---|---|---|
| online | bool? | 调用前的在线状态 |
| result | bool | true 表示已执行关闭(Close),等待后续重连 |
9. 读取手机序列号 - ReadDeviceId
POST /,action="ReadDeviceId"
请求参数(comm)
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| port | string | 是 | 手机端口号 或者 手机序列号 如(192.168.10.2-1 或者 00:11:22:33:44:55) |
返回结果
| 字段 | 类型 | 说明 |
|---|---|---|
| online | bool | 是否在线 |
| result | string | 手机序列号(找不到则为 null) |
10. 读取设备 IP - ReadDeviceIp
POST /,action="ReadDeviceIp"
请求参数(comm)
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| port | string | 是 | 手机端口号 或者 手机序列号 如(192.168.10.2-1 或者 00:11:22:33:44:55) |
返回结果
| 字段 | 类型 | 说明 |
|---|---|---|
| online | bool | 是否在线 |
| result | string | IP 字符串,如 "192.168.0.10",无则为 null |
三、按键与电源控制类接口
11. 复位鼠标/坐标 - KeyReset
POST /,action="KeyReset"
comm
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| port | string | 是 | 手机端口号 或者 手机序列号 如(192.168.10.2-1 或者 00:11:22:33:44:55) |
返回
online: bool,result: bool(在线即 true)。
12. Home 键 - KeyHome
POST,action="KeyHome"
comm
| 参数 | 类型 | 说明 |
|---|---|---|
| port | string | 手机端口号 或者 手机序列号 如(192.168.10.2-1 或者 00:11:22:33:44:55) |
返回
online: bool,result: bool
13. 返回键 - KeyBack
POST,action="KeyBack"
comm
| 参数 | 类型 | 说明 |
|---|---|---|
| port | string | 手机端口号 或者 手机序列号 如(192.168.10.2-1 或者 00:11:22:33:44:55) |
返回
online、result 同上。
14. 任务键(多任务) - KeyTask
POST,action="KeyTask"
comm
| 参数 | 类型 | 说明 |
|---|---|---|
| port | string | 手机端口号 或者 手机序列号 如(192.168.10.2-1 或者 00:11:22:33:44:55) |
返回
online、result。
15. 重启手机 - PowerReset
POST,action="PowerReset"
comm
| 参数 | 类型 | 说明 |
|---|---|---|
| port | string | 手机端口号 或者 手机序列号 如(192.168.10.2-1 或者 00:11:22:33:44:55) |
| reboottype | int | 必填。0 = 软重启,1 = 硬重启。硬重启仅支持 IP 机箱设备,非 IP 设备收到硬重启直接返回 false。 |
说明
根据 reboottype 执行不同的重启逻辑:
- 0 软重启:云手机下发云端重启命令;IP 机箱、本地 HID / 串口调用设备软重启脚本。
- 1 硬重启:仅 IP 机箱设备支持,等价一次电源循环 —
WritePowerState(AllOff)→ 延迟 1秒 →WritePowerState(AllOn)。非 IP 设备直接返回false。
返回
online、result。
16. 关机 - PowerOff
POST,action="PowerOff"
comm
| 参数 | 类型 | 说明 |
|---|---|---|
| port | string | 手机端口号 或者 手机序列号 如(192.168.10.2-1 或者 00:11:22:33:44:55) |
返回
online、result。
58. 开始充电 - StartCharge
POST,action="StartCharge"
comm
| 参数 | 类型 | 说明 |
|---|---|---|
| port | string | 手机端口号 或者 手机序列号 如(192.168.10.2-1 或者 00:11:22:33:44:55) |
说明
仅 IP 机箱设备有效。调用 WritePowerState(AllOn):USB 总线与电池均开,恢复 PC 与手机的数据连接与充电。非 IP 机箱设备 / 机箱串口未就绪时直接返回 result=false。
返回
| 字段 | 类型 | 说明 |
|---|---|---|
| online | bool | 设备是否在线 |
| result | bool | true 表示写入电源状态命令成功 |
59. 停止充电 - StopCharge
POST,action="StopCharge"
comm
| 参数 | 类型 | 说明 |
|---|---|---|
| port | string | 手机端口号 或者 手机序列号 如(192.168.10.2-1 或者 00:11:22:33:44:55) |
说明
仅 IP 机箱设备有效。调用 WritePowerState(VbatOnly):切到“仅电池”模式,断开 USB 总线(手机与 PC 的数据连接)并停止来自机箱的充电。
返回
| 字段 | 类型 | 说明 |
|---|---|---|
| online | bool | 设备是否在线 |
| result | bool | true 表示写入电源状态命令成功 |
17. 键盘组合键 - KeyBoardkey
POST,action="KeyBoardkey"
comm
| 参数 | 类型 | 说明 |
|---|---|---|
| port | string | 手机端口号 或者 手机序列号 如(192.168.10.2-1 或者 00:11:22:33:44:55) |
| ctlkey | string | 控制键组合描述,如 "ctrl+alt"、"ctrl+shift",内部只判断是否包含 ctrl/shift/alt 不区分大小写 |
| keyvalue | string | 主键字符/按键名,如 "A"、"b"、"Enter"。可解析普通字符和 Windows Keys 枚举名;ctrl+shift + V 会作为“把电脑剪贴板文本发送到手机”处理。 |
说明
当前通过统一键盘链路发送,支持本地 HID/串口设备和 IP 机箱设备;online 表示该手机当前键盘通道是否可用。ctlkey 可为空,内部按是否包含 ctrl/shift/alt 判断组合键。
返回
online: bool,result: bool。
四、鼠标/触控类接口
18. 移动指针 - MouseMove
POST,action="MouseMove"
comm
| 参数 | 类型 | 说明 |
|---|---|---|
| port | string | 手机端口号 或者 手机序列号 如(192.168.10.2-1 或者 00:11:22:33:44:55) |
| sx | double | 目标 X 坐标,像素值(内部会除以屏幕宽度转为 0~1) |
| sy | double | 目标 Y 坐标,像素值 |
返回
online、result。
19. 按下并拖动 - MousePressMove
POST,action="MousePressMove"
comm
| 参数 | 类型 | 说明 |
|---|---|---|
| port | string | 手机端口号 或者 手机序列号 如(192.168.10.2-1 或者 00:11:22:33:44:55) |
| sx | double | 目标 X 像素坐标 |
| sy | double | 目标 Y 像素坐标 |
| key | string | 按下的鼠标键:"L" 左键(默认),"R" 右键。除 "R" 外一律按左键处理 |
| steps | int | 插值步数(值越大移动越平滑但耗时越长) |
| stepDelayMs | int | 每步之间的延迟时间(毫秒) |
说明
模拟鼠标按下并拖动到目标位置的操作。从当前鼠标位置到目标点 (sx, sy) 之间进行线性插值,分 steps 步平滑移动,每步间隔 stepDelayMs 毫秒。最后一步会精确到达目标点,消除浮点累积误差。
示例:steps=20, stepDelayMs=15 表示分 20 步移动,总耗时约 300ms(20×15ms)。
返回
online: bool,result: bool(device 是否存在)。
20. 鼠标按下 - MouseKeyDown
POST,action="MouseKeyDown"
comm
| 参数 | 类型 | 说明 |
|---|---|---|
| port | string | 手机端口号 或者 手机序列号 如(192.168.10.2-1 或者 00:11:22:33:44:55) |
| mousekey | string | "L" 左键,"R" 右键,"M" 中键 |
返回
online、result(true 需 device 存在且 key 有效)。
21. 鼠标抬起 - MouseUp
POST,action="MouseUp"
comm
| 参数 | 类型 | 说明 |
|---|---|---|
| port | string | 手机端口号 或者 手机序列号 如(192.168.10.2-1 或者 00:11:22:33:44:55) |
说明
释放所有按键(左/中/右)。
返回
online、result。
22. 点击(支持多击) - KeyForClick
POST,action="KeyForClick"
comm
| 参数 | 类型 | 说明 |
|---|---|---|
| port | string | 手机端口号 或者 手机序列号 如(192.168.10.2-1 或者 00:11:22:33:44:55) |
| sx | double | 目标 X 像素坐标 |
| sy | double | 目标 Y 像素坐标 |
| clickcnt | int | 点击次数(>=1) |
| delay | int | 两次点击之间间隔,毫秒,最小 1 |
| movedelay | int | 移动到目标点耗时,毫秒 |
返回
online、result(device 是否存在)。
23. 长按 - KeyLongClick
POST,action="KeyLongClick"
comm
| 参数 | 类型 | 说明 |
|---|---|---|
| port | string | 手机端口号 或者 手机序列号 如(192.168.10.2-1 或者 00:11:22:33:44:55) |
| sx | double | 目标 X 像素坐标 |
| sy | double | 目标 Y 像素坐标 |
| timeout | int | 按下保持时间,毫秒 |
返回
online、result。
24. 滚轮 - KeyMouseWheel
POST,action="KeyMouseWheel"
comm
| 参数 | 类型 | 说明 |
|---|---|---|
| port | string | 手机端口号 或者 手机序列号 如(192.168.10.2-1 或者 00:11:22:33:44:55) |
| scroll | int | 滚动量,正负方向取决于设备实现 |
返回
online、result。
25. 滑动手势 - KeySwipe
POST,action="KeySwipe"
comm
| 参数 | 类型 | 说明 |
|---|---|---|
| port | string | 手机端口号 或者 手机序列号 如(192.168.10.2-1 或者 00:11:22:33:44:55) |
| key | string | 滑动时按下的鼠标键:"L" 左键(可选,未传时默认),"R" 右键。除 "R" 外一律按左键处理 |
| sx | double | 起始 X 像素坐标 |
| sy | double | 起始 Y 像素坐标 |
| ex | double | 结束 X 像素坐标 |
| ey | double | 结束 Y 像素坐标 |
| steps | int | 插值步数(值越大滑动越平滑但耗时越长) |
| stepDelayMs | int | 每步之间的延迟时间(毫秒) |
说明
模拟手指从起点 (sx, sy) 滑动到终点 (ex, ey) 的手势操作。执行流程:
- 移动到起点 → 延迟 50ms
- 按下鼠标 → 延迟 30ms
- 从起点到终点进行线性插值,分
steps步平滑移动,每步间隔stepDelayMs毫秒 - 延迟 30ms → 松开鼠标
最后一步会精确到达终点坐标,消除浮点累积误差。
示例:steps=20, stepDelayMs=15 表示分 20 步滑动,总耗时约 410ms(50+30+20×15+30ms)。
返回
online、result。
五、截屏与图像识别类接口
26. 屏幕截图(二进制 JPG) - KeyScreenCapByte
POST,action="KeyScreenCapByte"
comm
| 参数 | 类型 | 说明 |
|---|---|---|
| port | string | 手机端口号 或者 手机序列号 如(192.168.10.2-1 或者 00:11:22:33:44:55) |
返回
直接返回 JPG 图片字节流(质量85%):
Content-Type: image/jpeg
无 JSON 包装。若设备离线则可能返回空内容。
27. 区域找颜色 - FindColor
POST,action="FindColor"
comm
| 参数 | 类型 | 说明 |
|---|---|---|
| port | string | 手机端口号 或者 手机序列号 如(192.168.10.2-1 或者 00:11:22:33:44:55) |
| x1 | int | 搜索区域左上角 X(像素) |
| y1 | int | 搜索区域左上角 Y(像素) |
| x2 | int | 搜索区域右下角 X(像素) |
| y2 | int | 搜索区域右下角 Y(像素) |
| color | string | 颜色值,16 进制 RGB,如 "FF0000" 表示红 |
| sim | int | 相似度 0~100,数值越大越严格 |
| retpic | bool | true 时返回整屏截图的 Base64 |
返回
| 字段 | 类型 | 说明 |
|---|---|---|
| online | bool | 设备是否存在 |
| fx | int | 找到点的 X 坐标,未找到为 -1 |
| fy | int | 找到点的 Y 坐标,未找到为 -1 |
| pic | string | 当 retpic=true 时,为 BMP 截图的 Base64;否则为空字符串 |
28. 区域找子图 - FindPIC
POST,action="FindPIC"
comm
| 参数 | 类型 | 说明 |
|---|---|---|
| port | string | 手机端口号 或者 手机序列号 如(192.168.10.2-1 或者 00:11:22:33:44:55) |
| x1 | int | 区域左上 X |
| y1 | int | 区域左上 Y |
| x2 | int | 区域右下 X |
| y2 | int | 区域右下 Y |
| pic | string | 待匹配图片。普通本机找图可传绝对路径;云共享找图时传云文件管理中显示的文件名,例如 "login.png" |
| sim | int | 相似度 0~100 |
| retpic | bool | true 时返回截图 Base64 |
| picscope | string | 可选。auto 默认自动识别;local 强制按本机路径;cloud 强制按云存共享盘相对路径 |
| runon | string | 可选。local 默认在当前调用 API 的客户端截图找图;sharer 云机场景下转发到分享者客户端,在分享者本地高清画面上找图 |
云机/共享设备使用相对路径时,会根据 port 对应设备关系自动定位用户目录,不需要额外传用户名。
云文件管理上传时只保存文件名,不保存本机目录层级;例如上传 D:\pic\login.png 后,找图传 "login.png"。
分享端本地设备会读取安装目录 Cloud\被分享用户名 下的同名文件;使用方控制云机时,默认会通过云存文件通道下载对应小图到本地缓存后再匹配。
如果使用方本地云机画面因传输压缩导致不清晰,可传 "runon":"sharer",让分享者客户端直接使用本地高清画面和云共享目录中的小图匹配。
请求示例
{
"action": "FindPIC",
"comm": {
"port": "cloud_26050900001",
"x1": 0,
"y1": 0,
"x2": 750,
"y2": 1334,
"pic": "login.png",
"sim": 90,
"retpic": false,
"picscope": "cloud",
"runon": "sharer"
}
}
返回
| 字段 | 类型 | 说明 |
|---|---|---|
| online | bool | 设备是否存在 |
| fx | int | 匹配中心点 X,未找到为 -1 |
| fy | int | 匹配中心点 Y,未找到为 -1 |
| pic | string | PNG 截图 Base64(当 retpic=true 且有截图时) |
| msg | string | 匹配过程中的错误信息或提示 |
六、文本/剪贴板与 URL 类接口
29. 自动发送文本到手机 - AutoPasteToPhone
POST,action="AutoPasteToPhone"
comm
| 参数 | 类型 | 说明 |
|---|---|---|
| port | string | 手机端口号 或者 手机序列号 如(192.168.10.2-1 或者 00:11:22:33:44:55) |
| content | string | 要输入的文本 |
返回
online、result。
30. 逐字发送英文字符 - SendEnMsg
POST,action="SendEnMsg"
comm
| 参数 | 类型 | 说明 |
|---|---|---|
| port | string | 手机端口号 或者 手机序列号 如(192.168.10.2-1 或者 00:11:22:33:44:55) |
| content | string | 英文及常用符号字符串,按字符发送 |
说明
内部根据字符映射为对应键码,如需要 Shift 的会自动带上 Shift。当前通过统一键盘链路发送,支持本地 HID/串口设备和 IP 机箱设备;online 表示该手机当前键盘通道是否可用。接口会异步逐字发送,result=true 表示已接受发送任务。
返回
online、result。
31. 在手机上打开 URL - OpenUrl
POST,action="OpenUrl"
comm
| 参数 | 类型 | 说明 |
|---|---|---|
| port | string | 手机端口号 或者 手机序列号 如(192.168.10.2-1 或者 00:11:22:33:44:55) |
| url | string | 要打开的 URL,如 "https://www.etjia.com" |
返回
online、result。
32. 获取手机剪贴板到电脑剪贴板(走设备协议) - GetDataFromPhone
POST,action="GetDataFromPhone"
comm
| 参数 | 类型 | 说明 |
|---|---|---|
| port | string | 手机端口号 或者 手机序列号 如(192.168.10.2-1 或者 00:11:22:33:44:55) |
说明
触发设备脚本把手机当前剪贴板内容获取到电脑端。设备回传后会写入电脑侧缓存/剪贴板通道;需要直接读取文本结果时,调用 GetPhoneContext。
返回
online、result。
33. 获取并读取手机剪贴板文本 - GetPhoneContext
POST,action="GetPhoneContext"
comm
| 参数 | 类型 | 说明 |
|---|---|---|
| port | string | 手机端口号 或者 手机序列号 如(192.168.10.2-1 或者 00:11:22:33:44:55) |
返回
| 字段 | 类型 | 说明 |
|---|---|---|
| online | bool | 是否在线且 device 存在 |
| result | string | 剪贴板文本,未获取到时为空字符串 |
说明:接口会先清空旧缓存,再触发手机上传当前剪贴板,并在服务端短时间等待最新结果,避免误读上一次缓存。
七、文件/图片传输及相册相关接口
34. 发送图片到手机 - SendImgToPhone
POST,action="SendImgToPhone"
comm
| 参数 | 类型 | 说明 |
|---|---|---|
| port | string | 手机端口号 或者 手机序列号 如(192.168.10.2-1 或者 00:11:22:33:44:55) |
| imgname | string | PC 本地图片完整路径,需存在 |
返回
online、result。
35. 发送文件到手机 - SendFileToPhone
POST,action="SendFileToPhone"
comm
| 参数 | 类型 | 说明 |
|---|---|---|
| port | string | 手机端口号 或者 手机序列号 如(192.168.10.2-1 或者 00:11:22:33:44:55) |
| filename | string | PC 本地文件完整路径 |
返回
online、result。
36. 删除手机图片 - DeletePic
POST,action="DeletePic"
comm
| 参数 | 类型 | 说明 |
|---|---|---|
| port | string | 手机端口号 或者 手机序列号 如(192.168.10.2-1 或者 00:11:22:33:44:55) |
| picname | string | 要删除的图片名称/路径(由设备脚本定义) |
返回
online、result: bool。
37. 通过 App 获取剪贴板 - AppGetClipboard
POST,action="AppGetClipboard"
comm
| 参数 | 类型 | 说明 |
|---|---|---|
| port | string | 手机端口号 或者 手机序列号 如(192.168.10.2-1 或者 00:11:22:33:44:55) |
返回
| 字段 | 类型 | 说明 |
|---|---|---|
| online | bool | 设备是否存在 |
| result | bool | 获取是否成功 |
| text | string | 剪贴板文本内容 |
38. App 文件列表 - AppGetFilesList
POST,action="AppGetFilesList"
comm
| 参数 | 类型 | 说明 |
|---|---|---|
| port | string | 手机端口号 或者 手机序列号 如(192.168.10.2-1 或者 00:11:22:33:44:55) |
返回
| 字段 | 类型 | 说明 |
|---|---|---|
| online | bool | 设备是否存在 |
| files | array<object> | 文件列表,每项包含 name、size、mtime |
39. 从 App 下载文件到 PC - AppDownloadFile
POST,action="AppDownloadFile"
comm
| 参数 | 类型 | 说明 |
|---|---|---|
| port | string | 手机端口号 或者 手机序列号 如(192.168.10.2-1 或者 00:11:22:33:44:55) |
| Filename | string | App 端文件名 |
| Dirname | string | PC 端保存目录 |
返回
| 字段 | 类型 | 说明 |
|---|---|---|
| online | bool | 设备是否存在 |
| result | bool | true 表示下载成功 |
| path | string | PC 端实际保存路径 |
40. 删除 App 文件 - AppDeleteFile
POST,action="AppDeleteFile"
comm
| 参数 | 类型 | 说明 |
|---|---|---|
| port | string | 手机端口号 或者 手机序列号 如(192.168.10.2-1 或者 00:11:22:33:44:55) |
| Filename | string | App 端文件名 |
返回
online: bool,result: bool。
41. 上传文件到 App - AppUploadFile
POST,action="AppUploadFile"
comm
| 参数 | 类型 | 说明 |
|---|---|---|
| port | string | 手机端口号 或者 手机序列号 如(192.168.10.2-1 或者 00:11:22:33:44:55) |
| Filename | string | PC 本地文件路径 |
| toPhoto | string,可选 | "1" 或 "true"(不区分大小写)表示上传到系统相册,否则为 App 私有目录 |
返回
online: bool,result: bool。
42. 获取相册列表 - AppGetPhotosList
POST,action="AppGetPhotosList"
comm
| 参数 | 类型 | 说明 |
|---|---|---|
| port | string | 手机端口号 或者 手机序列号 如(192.168.10.2-1 或者 00:11:22:33:44:55) |
返回
| 字段 | 类型 | 说明 |
|---|---|---|
| online | bool | 设备是否存在 |
| photos | array<object> |
每项包含:id、filename、pixelWidth、pixelHeight、creationDate(时间戳)、mediaType、size
|
43. 下载相册图片到 PC - AppDownloadPhoto
POST,action="AppDownloadPhoto"
comm
| 参数 | 类型 | 说明 |
|---|---|---|
| port | string | 手机端口号 或者 手机序列号 如(192.168.10.2-1 或者 00:11:22:33:44:55) |
| Filename | string | 相册中图片文件名(与 photos.filename 对应) |
| Dirname | string | PC 保存目录 |
返回
| 字段 | 类型 | 说明 |
|---|---|---|
| online | bool | 设备是否存在 |
| result | bool | 下载是否成功 |
| path | string | PC 保存路径(为空表示失败) |
44. 批量删除相册图片 - AppDeletePhotos
POST,action="AppDeletePhotos"
comm
| 参数 | 类型 | 说明 |
|---|---|---|
| port | string | 手机端口号 或者 手机序列号 如(192.168.10.2-1 或者 00:11:22:33:44:55) |
| Filenames | array<string> | 要删除的文件名数组(与 photos.filename 对应) |
返回
online: bool,result: bool。
45. 清空相册 - AppClearPhotos
POST,action="AppClearPhotos"
comm
| 参数 | 类型 | 说明 |
|---|---|---|
| port | string | 手机端口号 或者 手机序列号 如(192.168.10.2-1 或者 00:11:22:33:44:55) |
返回
online: bool,result: bool。
八、App 输入法/状态接口
46. App 输入法发送文本 - AppImeSendText
POST,action="AppImeSendText"
comm
| 参数 | 类型 | 说明 |
|---|---|---|
| port | string | 手机端口号 或者 手机序列号 如(192.168.10.2-1 或者 00:11:22:33:44:55) |
| text | string | 要发送的文本 |
说明
优先通过手机端 App 输入法 TCP 通道发送;如果 App 通道不可用或发送失败,会回退为设备脚本文本发送。云手机直接走设备脚本文本发送。
返回
online、result。
47. App 输入法回车 - AppImeEnter
POST,action="AppImeEnter"
comm
| 参数 | 类型 | 说明 |
|---|---|---|
| port | string | 手机端口号 或者 手机序列号 如(192.168.10.2-1 或者 00:11:22:33:44:55) |
返回
online: bool,result: bool(是否发送成功)。
48. App TCP 状态检查 - AppCheckStatus
POST,action="AppCheckStatus"
comm
| 参数 | 类型 | 说明 |
|---|---|---|
| port | string | 手机端口号 或者 手机序列号 如(192.168.10.2-1 或者 00:11:22:33:44:55) |
返回
online: bool,result: bool(TCP 通道是否正常)。
49. App 输入法状态 - AppImeStatus
POST,action="AppImeStatus"
comm
| 参数 | 类型 | 说明 |
|---|---|---|
| port | string | 手机端口号 或者 手机序列号 如(192.168.10.2-1 或者 00:11:22:33:44:55) |
返回
online: bool,result: bool(输入法是否处于就绪状态)。
九、网络/闪光灯/快捷键等控制接口
50. 控制 WiFi - ContrlWifi
POST,action="ContrlWifi"
comm
| 参数 | 类型 | 说明 |
|---|---|---|
| port | string | 手机端口号 或者 手机序列号 如(192.168.10.2-1 或者 00:11:22:33:44:55) |
| operation | string | 操作指令,具体取值由脚本定义,如 on/off 等 |
返回
online、result。
51. 控制蜂窝网络 - ContrlCellular
POST,action="ContrlCellular"
comm
| 参数 | 类型 | 说明 |
|---|---|---|
| port | string | 手机端口号 或者 手机序列号 如(192.168.10.2-1 或者 00:11:22:33:44:55) |
| operation | string | 操作指令 |
返回
online、result。
52. 控制飞行模式 - ContrlFly
POST,action="ContrlFly"
comm
| 参数 | 类型 | 说明 |
|---|---|---|
| port | string | 手机端口号 或者 手机序列号 如(192.168.10.2-1 或者 00:11:22:33:44:55) |
| operation | string | 操作指令 |
返回
online、result。
53. 控制手电筒 - ContrlFlashLight
POST,action="ContrlFlashLight"
comm
| 参数 | 类型 | 说明 |
|---|---|---|
| port | string | 手机端口号 或者 手机序列号 如(192.168.10.2-1 或者 00:11:22:33:44:55) |
| operation | string | 操作指令(开/关等) |
返回
online、result。
54. 绑定用户数字快捷键 - UserBindKey
POST,action="UserBindKey"
comm
| 参数 | 类型 | 说明 |
|---|---|---|
| port | string | 手机端口号 或者 手机序列号 如(192.168.10.2-1 或者 00:11:22:33:44:55) |
| keynum | string | 单个字符 '0'~'9',将对应数字键绑定到当前手机 |
返回
online: bool,result: bool(true 表示满足条件并已绑定)。
55. 通用快捷键触发 - CommShortcutKey
POST,action="CommShortcutKey"
comm
| 参数 | 类型 | 说明 |
|---|---|---|
| port | string | 手机端口号 或者 手机序列号 如(192.168.10.2-1 或者 00:11:22:33:44:55) |
| keyvalue | string | 快捷键标识。支持 Z、X、C、V、A、S、F,内部按 Command/Win + key 发送;也支持 ctrl+shift+v、PasteToPhone、PasteTextToPhone、PasteContentToPhone、粘贴到手机、粘贴内容到手机,表示把电脑剪贴板文本发送到手机。 |
说明
当前通过统一键盘链路发送,支持本地 HID/串口设备和 IP 机箱设备;online 表示该手机当前键盘通道是否可用。
返回
online: bool,result: bool。
十、串口状态与修复接口
56. 查询串口状态 - GetComState
POST,action="GetComState"
comm
| 参数 | 类型 | 说明 |
|---|---|---|
| port | string | 手机端口号 或者 手机序列号 如(192.168.10.2-1 或者 00:11:22:33:44:55) |
返回
| 字段 | 类型 | 说明 |
|---|---|---|
| online | bool | device 是否存在 |
| result | bool | 内部为 device.Controller.IsClosed != false,一般 true 表示串口已关闭/异常 |
57. 串口修复 - ComRepair
POST,action="ComRepair"
comm
| 参数 | 类型 | 说明 |
|---|---|---|
| port | string | 手机端口号 或者 手机序列号 如(192.168.10.2-1 或者 00:11:22:33:44:55) |
返回
online: bool,result: bool(调用设备脚本修复串口是否成功)。
十一、总结
本文档基于 WebAPIServer_API.cs 中的实际实现整理,所有接口均通过 POST / + JSON 请求方式调用,核心字段为 action 和 comm。
若你希望我再补充某个接口的调用示例(完整请求/响应 JSON),可以告诉我具体的 action 名称,我可以单独为它写更详细的示例段落。