认证API模块负责处理用户登录、权限验证、身份证验证等核心认证功能。
文件位置: src/api/auth.js
功能: 用户登录认证
请求方式: POST
接口地址: /login
参数:
{
username: string, // 用户名
password: string, // 密码
captcha: string, // 验证码
captcha_key: string // 验证码key
}返回数据:
{
status: boolean, // 请求状态
msg: string, // 返回消息
data: {
token: string, // 访问令牌
employeeInfo: { // 员工信息
id: number,
username: string,
realname: string,
mobile: string,
dpname: string,
role_name: string,
style: string // 主题样式
},
menuList: Array, // 菜单列表
notice: Array // 公告信息
}
}使用示例:
import { login } from '@/api/auth'
const loginData = {
username: 'admin',
password: '123456',
captcha: '1234',
captcha_key: 'abc123'
}
const result = await login(loginData)
if (result.status) {
// 登录成功
console.log('登录成功', result.data)
} else {
// 登录失败
console.error('登录失败', result.msg)
}功能: 获取登录验证码
请求方式: GET
接口地址: /getCaptcha
参数: 无
返回数据:
{
status: boolean,
data: {
captcha_key: string, // 验证码key
captcha_img: string // 验证码图片base64
}
}使用示例:
import { getCaptcha } from '@/api/auth'
const captchaData = await getCaptcha()
if (captchaData.status) {
// 显示验证码
this.captchaKey = captchaData.data.captcha_key
this.captchaImg = captchaData.data.captcha_img
}功能: 获取系统初始化配置数据
请求方式: GET
接口地址: /getInit
参数: 无
返回数据:
{
status: boolean,
data: {
config: {
scrollbar: boolean, // 滚动条配置
theme: string, // 默认主题
layout: string // 默认布局
},
version: string, // 系统版本
title: string // 系统标题
}
}功能: 验证身份证号码格式
请求方式: POST
接口地址: /checkIdCard
参数:
{
idcard: string // 身份证号码
}返回数据:
{
status: boolean,
msg: string,
data: {
valid: boolean, // 是否有效
province: string, // 省份
city: string, // 城市
birthday: string, // 出生日期
gender: string // 性别
}
}{
id: number, // 员工ID
username: string, // 用户名
realname: string, // 真实姓名
mobile: string, // 手机号码
dpname: string, // 部门名称
role_name: string, // 角色名称
style: string // 主题样式偏好
}[
{
id: number, // 菜单ID
name: string, // 菜单名称
url: string, // 菜单URL
icon: string, // 菜单图标
parent_id: number, // 父菜单ID
sort: number, // 排序
children: Array // 子菜单
}
]401: 未授权,需要重新登录403: 权限不足422: 参数验证失败500: 服务器内部错误
try {
const result = await login(loginData)
if (!result.status) {
ElMessage.error(result.msg || '登录失败')
return
}
// 处理成功逻辑
} catch (error) {
console.error('登录请求失败:', error)
ElMessage.error('网络请求失败,请稍后重试')
}- 密码加密: 密码在传输前应进行加密处理
- Token管理: 登录成功后的token需要安全存储
- 验证码: 验证码有时效性,需要及时刷新
- 权限验证: 每次请求都应验证用户权限
开发环境下使用Mock数据,配置在 src/mock/api.js 中:
// Mock登录数据
const mockLoginData = {
status: true,
msg: '登录成功',
data: {
token: 'mock_token_123456',
employeeInfo: {
id: 1,
username: 'admin',
realname: '管理员',
// ... 其他字段
}
}
}最后更新时间:2025-09-19