Files
shz-backend/docs/app-company-login-register-api.md
2026-01-13 20:16:14 +08:00

157 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 企业用户登录注册二合一接口文档
## 接口说明
**接口地址:** `POST /app/company/loginOrRegister`
**接口说明:**
- 根据手机号查询企业用户,存在则登录,不存在则注册
- 登录时只需传手机号和密码
- 注册时需额外传企业信用代码和企业名称
- 注册时会根据企业信用代码判断企业是否已注册
---
## 请求参数Body JSON
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| username | String | 是 | 手机号码 |
| password | String | 是 | 登录密码 |
| companyCode | String | 注册时必填 | 企业信用代码(统一社会信用代码) |
| companyName | String | 注册时必填 | 企业名称 |
---
## 登录场景
**请求示例:**
```json
{
"username": "13800138000",
"password": "123456"
}
```
**响应示例(登录成功):**
```json
{
"code": 200,
"msg": "操作成功",
"token": "eyJhbGciOiJIUzUxMiJ9...",
"isNewUser": false,
"companyCode": "91110000MA00ABCD1X",
"companyName": "北京某某科技有限公司"
}
```
**错误响应:**
```json
{
"code": 500,
"msg": "密码错误,请重新输入!"
}
```
---
## 注册场景
**请求示例:**
```json
{
"username": "13800138000",
"password": "123456",
"companyCode": "91110000MA00ABCD1X",
"companyName": "北京某某科技有限公司"
}
```
**响应示例(注册成功):**
```json
{
"code": 200,
"msg": "注册成功!",
"token": "eyJhbGciOiJIUzUxMiJ9...",
"isNewUser": true,
"companyCode": "91110000MA00ABCD1X",
"companyName": "北京某某科技有限公司"
}
```
**错误响应(企业已注册):**
```json
{
"code": 500,
"msg": "该企业已注册,请联系企业管理员加入组织!"
}
```
**错误响应(缺少企业信息):**
```json
{
"code": 500,
"msg": "企业信用代码不能为空!"
}
```
---
## 响应参数
| 参数名 | 类型 | 说明 |
|--------|------|------|
| code | Number | 状态码200 表示成功 |
| msg | String | 提示信息 |
| token | String | 登录令牌 |
| isNewUser | Boolean | 是否新用户true=注册false=登录) |
| companyCode | String | 企业信用代码 |
| companyName | String | 企业名称 |
---
## cURL 测试示例
**登录(已注册用户):**
```bash
curl -X POST http://localhost:8080/app/company/loginOrRegister \
-H "Content-Type: application/json" \
-d '{"username":"13800138000","password":"123456"}'
```
**注册(新用户):**
```bash
curl -X POST http://localhost:8080/app/company/loginOrRegister \
-H "Content-Type: application/json" \
-d '{"username":"13800138000","password":"123456","companyCode":"91110000MA00ABCD1X","companyName":"北京某某科技有限公司"}'
```
---
## 业务逻辑流程
```
1. 根据手机号 + is_company_user=0 查询 app_user
├── 用户存在 → 校验密码 → 登录成功isNewUser=false
└── 用户不存在 → 检查是否传了 companyCode/companyName
├── 未传 → 返回错误"企业信用代码不能为空!"
└── 已传 → 根据 companyCode 查询 company 表
├── 企业已存在 → 返回错误"该企业已注册,请联系企业管理员加入组织!"
└── 企业不存在 → 创建 company + app_user → 注册成功isNewUser=true
```