HC小区接口文档

PC端用户登录接口文档

一、接口名称

PC端用户登录

二、接口描述

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

三、接口路径

http://ip:port/iot/api/login.pcUserLogin

四、请求方法

POST

五、请求头

参数名称 必填 类型 描述
app-id String 应用ID,用于区分不同终端(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": "0",
  "msg": "成功",
  "token": "生成的JWT Token",
  "userId": "用户ID",
  "name": "用户名",
  "tel": "手机号"
}

7.2 错误响应

  • HTTP 401:用户名或密码错误
  • HTTP 401:验证码错误(仅WEB端)
  • HTTP 401:商户限制登录
  • HTTP 500:系统内部错误

八、示例请求

POST /iot/api/login.pcUserLogin
Headers:
  app-id: WEB
  transaction-id: 100000000020231201143000123456
  req-time: 20231201143000

Body:
{
  "username": "admin",
  "passwd": "e10adc3949ba59abbe56e057f20f883e",
  "validateCode": "abcd"
}

九、示例响应

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

十、业务逻辑说明

  1. 验证参数:检查 usernamepasswd,WEB端需额外校验 validateCode
  2. 用户查询
    • 先按 username 查询,若无结果则按手机号查询。
    • 密码需MD5加密后比对。
  3. 商户状态检查:若用户关联商户,需检查商户状态是否正常。
  4. 生成Token:登录成功后生成JWT Token并缓存用户信息。
  5. 清理缓存:清除旧用户权限缓存,避免脏数据。

十一、注意事项

  • 密码加密:客户端需先对密码进行MD5加密。
  • Token有效期:由服务端配置,默认2小时。
  • 验证码:仅WEB端需要,其他终端(如APP)可忽略。