# 咪咕短剧 flows.cdyylkj.com/miguSM/home 自动化说明

使用 **DrissionPage** + **TgeBrowser** 实现自动化：输入手机号、点击发送验证码、填写验证码。

## 前置条件

1. **安装 TgeBrowser**：从 [https://tgebrowser.com/zh/download](https://tgebrowser.com/zh/download) 下载并安装
2. **启动 TgeBrowser 客户端**，确保本地 API 服务运行（默认端口 50326）
3. **获取 API Key**：TgeBrowser 客户端 → API → 生成新密钥
4. **设置环境变量**：
   ```powershell
   $env:TGEBROWSER_API_KEY = "你的API密钥"
   ```

## 流程说明

- **步骤一**：传入电话号码 → 新建一个 TgeBrowser 浏览器 → 打开 miguSM 页面 → 输入手机号 → 点击发送验证码 → 返回成功
- **步骤二**：传入验证码 → 在对应会话中填写验证码并提交

每个电话号码对应一个新建的浏览器实例。

## 使用方式

### 方式一：API 服务

```bash
# 安装依赖
pip install -r requirements.txt

# 启动 API（端口 8001）
python api_migu.py
```

**接口一：提交手机号**

```http
POST http://127.0.0.1:8001/api/submit_phone
Content-Type: application/json

{
  "phone": "13800138000",
  "url": "https://flows.cdyylkj.com/miguSM/home"
}
```

响应示例：
```json
{
  "success": true,
  "session_id": "uuid-xxx",
  "message": "输入电话号码成功"
}
```

**接口二：提交验证码**

```http
POST http://127.0.0.1:8001/api/submit_code
Content-Type: application/json

{
  "session_id": "上一步返回的 session_id",
  "code": "123456"
}
```

### 方式二：命令行

**推荐：交互模式（一步完成）**

```bash
python run_migu_cli.py --phone 13800138000 -i
# 输入手机号、点击发送验证码后，会提示「请输入短信验证码」，输入收到的验证码即可
```

**分步执行**

```bash
# 步骤一
python run_migu_cli.py --phone 13800138000

# 步骤二（仅在同一 shell 内、步骤一之后执行，因为依赖内存中的 page）
python run_migu_cli.py --code 123456
```

> 跨进程/跨请求的会话请使用 API 模式（`api_migu.py`）。

## 选择器说明

若目标页面结构变化导致找不到输入框或按钮，可修改 `migu_miguSM_dp.py` 中的选择器列表（`_find_first` 所用选择器）。当前已适配常见 H5 表单结构。

## 文件说明

| 文件 | 说明 |
|------|------|
| `tgebrowser_client.py` | TgeBrowser REST API 客户端（创建/启动/停止浏览器） |
| `migu_miguSM_dp.py` | DrissionPage 自动化逻辑（输入手机号、发送验证码、填写验证码） |
| `api_migu.py` | FastAPI 接口（submit_phone / submit_code） |
| `run_migu_cli.py` | 命令行入口 |
