You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
2.1 KiB
50 lines
2.1 KiB
from pydantic import BaseModel, Field
|
|
from typing import Optional, List
|
|
|
|
class ClickRequest(BaseModel):
|
|
"""点击操作请求模型"""
|
|
x: int = Field(..., description="X坐标", ge=0)
|
|
y: int = Field(..., description="Y坐标", ge=0)
|
|
duration: Optional[int] = Field(100, description="点击持续时间(毫秒)", ge=0)
|
|
|
|
class InputRequest(BaseModel):
|
|
"""输入操作请求模型"""
|
|
text: str = Field(..., description="要输入的文本")
|
|
clear_first: Optional[bool] = Field(False, description="是否先清空输入框")
|
|
|
|
class ScreenshotResponse(BaseModel):
|
|
"""截图响应模型"""
|
|
image_data: str = Field(..., description="Base64编码的图片数据")
|
|
format: str = Field("png", description="图片格式")
|
|
width: int = Field(..., description="图片宽度")
|
|
height: int = Field(..., description="图片高度")
|
|
|
|
class InstallRequest(BaseModel):
|
|
"""安装APK请求模型"""
|
|
apk_path: str = Field(..., description="APK文件路径")
|
|
package_name: Optional[str] = Field(None, description="包名")
|
|
|
|
class InstallResponse(BaseModel):
|
|
"""安装APK响应模型"""
|
|
success: bool = Field(..., description="安装是否成功")
|
|
message: str = Field(..., description="安装结果消息")
|
|
package_name: Optional[str] = Field(None, description="包名")
|
|
|
|
class LogcatRequest(BaseModel):
|
|
"""日志请求模型"""
|
|
package_name: Optional[str] = Field(None, description="指定包名过滤")
|
|
level: Optional[str] = Field("V", description="日志级别")
|
|
max_lines: Optional[int] = Field(100, description="最大行数")
|
|
|
|
class LogcatResponse(BaseModel):
|
|
"""日志响应模型"""
|
|
logs: List[str] = Field(..., description="日志内容列表")
|
|
total_lines: int = Field(..., description="总行数")
|
|
|
|
class ADBDeviceInfo(BaseModel):
|
|
"""ADB设备信息模型"""
|
|
device_id: str = Field(..., description="设备ID")
|
|
model: str = Field(..., description="设备型号")
|
|
android_version: str = Field(..., description="Android版本")
|
|
sdk_version: int = Field(..., description="SDK版本")
|
|
status: str = Field(..., description="设备状态")
|