登录获取Token
接口说明:用户登录EIMSNext系统,获取访问接口所需的Token,后续所有API请求都需要在Header中携带此Token。
1. 接口信息
| 参数 |
说明 |
| 请求方式 |
POST |
| 接口地址 |
/api/v1/auth/login |
| 是否需要授权 |
否 |
| 请求格式 |
JSON |
2. 请求参数
2.1 Header参数
| 参数名 |
必选 |
类型 |
说明 |
| Content-Type |
是 |
string |
固定值:application/json |
| User-Agent |
否 |
string |
客户端标识 |
2.2 Body参数
| 参数名 |
必选 |
类型 |
说明 |
| username |
是 |
string |
用户名/账号 |
| password |
是 |
string |
密码(建议MD5加密后传输) |
| captcha |
否 |
string |
验证码(开启验证码时必填) |
| captchaId |
否 |
string |
验证码ID(开启验证码时必填) |
3. 请求示例
POST /api/v1/auth/login HTTP/1.1
Host: eimsnext.example.com
Content-Type: application/json
{
"username": "admin",
"password": "e10adc3949ba59abbe56e057f20f883e",
"captcha": "8888",
"captchaId": "68a7f35a-8b9c-489e-9a8b-1234567890ab"
}
4. 响应结果
4.1 成功响应
200 OK
{
"code": 200,
"msg": "登录成功",
"data": {
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"refreshToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"expireTime": 1735689600,
"userId": "10001",
"userName": "系统管理员"
}
}
4.2 失败响应
400 Bad Request
{
"code": 400,
"msg": "用户名或密码错误",
"data": null
}
4.3 响应参数说明
| 参数名 |
类型 |
说明 |
| code |
int |
响应状态码:200成功,其他失败 |
| msg |
string |
响应提示信息 |
| data |
object |
响应数据体 |
| data.token |
string |
访问令牌,有效期2小时 |
| data.refreshToken |
string |
刷新令牌,有效期7天 |
| data.expireTime |
int |
Token过期时间(时间戳) |
| data.userId |
string |
用户ID |
| data.userName |
string |
用户名 |
5. 错误码说明
| 错误码 |
说明 |
解决方案 |
| 400 |
用户名/密码错误 |
检查用户名和密码是否正确 |
| 401 |
验证码错误 |
输入正确的验证码 |
| 403 |
账号被锁定 |
联系管理员解锁账号 |
| 500 |
服务器内部错误 |
联系技术支持 |
6. 注意事项
- Token有效期为2小时,过期后需使用refreshToken刷新或重新登录
- 密码建议使用MD5加密后传输,避免明文泄露
- 接口调用频率限制:10次/分钟,超出限制会返回429错误
- 登录失败次数超过5次,账号会被锁定15分钟