# iOS SDK API 文档

## 接口说明

根据第三方 API 文档实现 iOS 平台的鉴权功能。

---

## 1. 用户鉴权接口

### 接口地址
- **GET/POST** `/ios/checkUserToken`

### 请求参数
| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| userToken | string | 是 | 鉴权凭证，从 URL 上获取 |
| gameid | number | 是 | 游戏的ID，商户后台游戏添加完成后可获取 |

### 请求示例
```bash
# GET 请求
GET /ios/checkUserToken?userToken=your_token_here&gameid=1540

# POST 请求
POST /ios/checkUserToken
Content-Type: application/json

{
  "userToken": "your_token_here",
  "gameid": 1540
}
```

### 响应参数
```json
{
  "uid": "",           // 用户UID
  "nickname": "",      // 用户昵称
  "headimgurl": "",    // 用户头像地址
  "sex": "",           // 用户性别 0未知 1男 2女
  "focus": "",         // 是否关注公众号 0否 1是
  "usertype": "",      // 用户类型 1为微信用户 -1为非微信用户
  "error": 0           // 错误码，0表示成功
}
```

### 错误响应

#### 参数错误 (401)
```json
{
  "error": 401,
  "msg": "参数有误，请检查接口所需参数是否都已经填写正确",
  "uid": "",
  "nickname": "",
  "headimgurl": "",
  "sex": "",
  "focus": "",
  "usertype": ""
}
```

#### Token验证失败 (403)
```json
{
  "error": 403,
  "msg": "token验证失败，同一个userToken只能验证一次，可通过刷新游戏重新获取",
  "uid": "",
  "nickname": "",
  "headimgurl": "",
  "sex": "",
  "focus": "",
  "usertype": ""
}
```

#### 系统错误 (-1)
```json
{
  "error": -1,
  "msg": "鉴权失败，请稍后重试",
  "uid": "",
  "nickname": "",
  "headimgurl": "",
  "sex": "",
  "focus": "",
  "usertype": ""
}
```

---

## 2. 获取用户信息接口（备用）

### 接口地址
- **GET/POST** `/ios/getUserInfo`

### 请求参数
同鉴权接口

### 响应参数
同鉴权接口

---

## 错误码说明

| 错误码 | 类型 | 说明 |
|--------|------|------|
| 0 | Number | 成功 |
| 401 | Number | 参数有误，请检查接口所需参数是否都已经填写正确 |
| 403 | Number | token验证失败，同一个userToken只能验证一次，可通过刷新游戏重新获取 |
| -1 | Number | 系统错误，鉴权失败，请稍后重试 |

## 重要说明

⚠️ **同一个token只能验证一次，不能多次重复请求**

## 第三方API

- **请求方式**: GET
- **URL**: `https://api.11h5.com/login?cmd=checkUserToken`
- **参数**: userToken, gameid

## 实现特点

1. **支持 GET 和 POST 请求**
2. **参数验证**：检查必要参数
3. **错误处理**：统一的错误响应格式
4. **日志记录**：详细的请求和响应日志
5. **超时设置**：10秒请求超时
6. **直接透传**：直接返回第三方API的响应数据
