# APP登录注册二合一接口文档

## 登录注册二合一

**接口地址：** `POST /app/loginOrRegister`

**接口说明：** 根据手机号查询用户，存在则登录，不存在则注册后登录

**请求参数（Body JSON）：**

| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| username | String | 是 | 手机号码 |
| name | String | 是 | 姓名 |
| idCard | String | 否 | 身份证号 |

**请求示例：**

```json
{
  "username": "13800138000",
  "name": "张三",
  "idCard": "110101199001011234"
}
```

**响应参数：**

| 参数名 | 类型 | 说明 |
|--------|------|------|
| code | Number | 状态码，200 表示成功 |
| msg | String | 提示信息 |
| token | String | 登录令牌 |
| isNewUser | Boolean | 是否新用户（true=新注册，false=已存在） |
| idCard | String | 身份证号 |

**响应示例（新用户注册）：**

```json
{
  "code": 200,
  "msg": "操作成功",
  "token": "eyJhbGciOiJIUzUxMiJ9...",
  "isNewUser": true,
  "idCard": "110101199001011234"
}
```

**响应示例（老用户登录）：**

```json
{
  "code": 200,
  "msg": "操作成功",
  "token": "eyJhbGciOiJIUzUxMiJ9...",
  "isNewUser": false,
  "idCard": "110101199001011234"
}
```

**错误响应示例：**

```json
{
  "code": 500,
  "msg": "电话号码不能为空!"
}
```

```json
{
  "code": 500,
  "msg": "姓名不能为空!"
}
```

---

**cURL 测试示例：**

```bash
curl -X POST http://localhost:8080/app/loginOrRegister \
  -H "Content-Type: application/json" \
  -d '{"username":"13800138000","name":"张三","idCard":"110101199001011234"}'
```

不带身份证：

```bash
curl -X POST http://localhost:8080/app/loginOrRegister \
  -H "Content-Type: application/json" \
  -d '{"username":"13800138000","name":"张三"}'
```
