HC小区接口文档

PC端用户登录接口文档

一、接口名称

PC端用户登录

二、接口描述

提供PC端用户登录功能,支持用户名/手机号+密码登录,并返回用户信息和认证Token。

三、接口路径

http://ip:port/app/login.pcUserLogin

四、请求方法

POST

五、请求头

参数名称 必填 类型 描述
app-id String 应用ID,WEB端登录需传 web
transaction-id String 请求流水号,格式:1000000000+YYYYMMDDhhmmss+6位序列
req-time String 请求时间,格式:YYYYMMDDhhmmss

六、请求参数

6.1 请求体(JSON格式)

参数名称 必填 类型 描述
username String 用户名或手机号
passwd String 密码(MD5加密)
validateCode 可选(WEB端必填) String 图片验证码(仅WEB端登录需要)

七、返回值

7.1 成功响应(HTTP 200)

参数名称 类型 描述
code String 返回码,0 表示成功
msg String 返回信息,"成功"
token String 用户认证Token
userId String 用户ID
name String 用户名
tel String 手机号

7.2 错误响应

HTTP状态码 错误信息 可能原因
401 "用户或密码错误" 用户名或密码错误
401 "当前商户限制登录,请联系管理员" 商户状态异常
401 "验证码错误或失效" WEB端验证码校验失败
500 "系统内部错误,请联系管理员" 服务器异常

八、示例请求

8.1 请求示例(WEB端)

POST /app/login.pcUserLogin
Headers:
{
  "app-id": "web",
  "transaction-id": "100000000020231201143456000001",
  "req-time": "20231201143456"
}
Body:
{
  "username": "admin",
  "passwd": "e10adc3949ba59abbe56e057f20f883e",
  "validateCode": "abcd"
}

8.2 请求示例(非WEB端)

POST /app/login.pcUserLogin
Headers:
{
  "app-id": "app001",
  "transaction-id": "100000000020231201143456000002",
  "req-time": "20231201143456"
}
Body:
{
  "username": "13800138000",
  "passwd": "e10adc3949ba59abbe56e057f20f883e"
}

九、示例响应

9.1 成功响应

{
  "code": "0",
  "msg": "成功",
  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  "userId": "123456",
  "name": "admin",
  "tel": "13800138000"
}

9.2 错误响应

{
  "code": "401",
  "msg": "用户或密码错误"
}

十、业务逻辑说明

  1. 参数校验

    • 校验 usernamepasswd 必填
    • WEB端登录需校验 validateCode 是否匹配
  2. 用户认证

    • 先按 username 查询用户,若不存在则按手机号查询
    • 密码需MD5加密后比对
  3. 商户状态检查

    • 若用户关联商户,检查商户状态是否正常
  4. Token生成

    • 生成JWT Token并返回
  5. 缓存清理

    • 登录成功后清理用户相关缓存(权限、商户信息等)

十一、注意事项

  1. WEB端登录需额外校验图片验证码
  2. 密码需前端MD5加密后传输
  3. Token有效期为系统默认配置,需在后续请求中携带