# 小红书登录 CLI 工具

## 概述

这是一个可以被 Go 服务直接调用的 Python CLI 工具,用于小红书登录功能。
使用此工具后,不再需要单独启动 Python Web 服务。

## 使用方式

### 1. 发送验证码

```bash
python xhs_cli.py send_code <手机号> [国家区号]
```

示例:
```bash
python xhs_cli.py send_code 13800138000 +86
```

返回 JSON 格式:
```json
{
  "success": true,
  "message": "验证码发送成功"
}
```

### 2. 登录

```bash
python xhs_cli.py login <手机号> <验证码> [国家区号]
```

示例:
```bash
python xhs_cli.py login 13800138000 123456 +86
```

返回 JSON 格式:
```json
{
  "success": true,
  "user_info": {...},
  "cookies": {...},
  "url": "https://www.xiaohongshu.com/"
}
```

### 3. 注入 Cookie (验证登录状态)

```bash
python xhs_cli.py inject_cookies '<cookies_json>'
```

示例:
```bash
python xhs_cli.py inject_cookies '[{"name":"web_session","value":"xxx","domain":".xiaohongshu.com"}]'
```

返回 JSON 格式:
```json
{
  "success": true,
  "logged_in": true,
  "cookies": {...},
  "user_info": {...}
}
```

## Go 服务集成

Go 服务已经修改为直接调用 Python CLI 脚本,无需启动 Python Web 服务。

### 修改的文件

1. **backend/xhs_cli.py** (新增)
   - 命令行接口工具

2. **go_backend/service/xhs_service.go** (修改)
   - 使用 `exec.Command` 调用 Python 脚本
   - 不再通过 HTTP 调用 Python 服务

3. **go_backend/service/employee_service.go** (修改)
   - 使用 `exec.Command` 调用 Python 脚本

### 优点

- ✅ 只需启动一个 Go 服务
- ✅ 部署更简单,不需要管理多个服务进程
- ✅ 减少网络开销
- ✅ 更容易调试和维护

## 依赖要求

确保已安装 Python 依赖:
```bash
cd backend
pip install -r requirements.txt
```

主要依赖:
- playwright
- asyncio

## 注意事项

1. Python 命令需要在系统 PATH 中可用
2. 确保 `xhs_login.py` 和 `xhs_cli.py` 在同一目录
3. Go 服务会在相对路径 `../backend` 下查找 Python 脚本
4. 所有输出均为 JSON 格式,便于 Go 服务解析

## 错误处理

如果执行失败,会返回包含错误信息的 JSON:
```json
{
  "success": false,
  "error": "错误描述信息"
}
```

Go 服务会捕获 stderr 输出并作为错误信息的一部分返回。
