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

3.4 KiB
Raw Blame History

企业用户登录注册二合一接口文档

接口说明

接口地址: POST /app/company/loginOrRegister

接口说明:

  • 根据手机号查询企业用户,存在则登录,不存在则注册
  • 登录时只需传手机号和密码
  • 注册时需额外传企业信用代码和企业名称
  • 注册时会根据企业信用代码判断企业是否已注册

请求参数Body JSON

参数名 类型 必填 说明
username String 手机号码
password String 登录密码
companyCode String 注册时必填 企业信用代码(统一社会信用代码)
companyName String 注册时必填 企业名称

登录场景

请求示例:

{
  "username": "13800138000",
  "password": "123456"
}

响应示例(登录成功):

{
  "code": 200,
  "msg": "操作成功",
  "token": "eyJhbGciOiJIUzUxMiJ9...",
  "isNewUser": false,
  "companyCode": "91110000MA00ABCD1X",
  "companyName": "北京某某科技有限公司"
}

错误响应:

{
  "code": 500,
  "msg": "密码错误,请重新输入!"
}

注册场景

请求示例:

{
  "username": "13800138000",
  "password": "123456",
  "companyCode": "91110000MA00ABCD1X",
  "companyName": "北京某某科技有限公司"
}

响应示例(注册成功):

{
  "code": 200,
  "msg": "注册成功!",
  "token": "eyJhbGciOiJIUzUxMiJ9...",
  "isNewUser": true,
  "companyCode": "91110000MA00ABCD1X",
  "companyName": "北京某某科技有限公司"
}

错误响应(企业已注册):

{
  "code": 500,
  "msg": "该企业已注册,请联系企业管理员加入组织!"
}

错误响应(缺少企业信息):

{
  "code": 500,
  "msg": "企业信用代码不能为空!"
}

响应参数

参数名 类型 说明
code Number 状态码200 表示成功
msg String 提示信息
token String 登录令牌
isNewUser Boolean 是否新用户true=注册false=登录)
companyCode String 企业信用代码
companyName String 企业名称

cURL 测试示例

登录(已注册用户):

curl -X POST http://localhost:8080/app/company/loginOrRegister \
  -H "Content-Type: application/json" \
  -d '{"username":"13800138000","password":"123456"}'

注册(新用户):

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