主要更新: 1. 后端核心底座完成 (M1-M6): - 健康检查、指标监控、分布式锁 - 事件总线、队列系统、事务管理 - 安全守卫、多租户隔离、存储适配器 - 审计日志、配置管理、多语言支持 2. 前端迁移到 Ant Design Vue: - 从 Element Plus 迁移到 Ant Design Vue - 完善 system 模块 (role/menu/dept) - 修复依赖和配置问题 3. 文档完善: - AI 开发工作流文档 - 架构约束和开发规范 - 项目进度跟踪 4. 其他改进: - 修复编译错误和类型问题 - 完善测试用例 - 优化项目结构
37 lines
995 B
TypeScript
37 lines
995 B
TypeScript
import {
|
|
clearRefreshTokenCookie,
|
|
setRefreshTokenCookie,
|
|
} from '~/utils/cookie-utils';
|
|
import { generateAccessToken, generateRefreshToken } from '~/utils/jwt-utils';
|
|
import { forbiddenResponse } from '~/utils/response';
|
|
|
|
export default defineEventHandler(async (event) => {
|
|
const { password, username } = await readBody(event);
|
|
if (!password || !username) {
|
|
setResponseStatus(event, 400);
|
|
return useResponseError(
|
|
'BadRequestException',
|
|
'Username and password are required',
|
|
);
|
|
}
|
|
|
|
const findUser = MOCK_USERS.find(
|
|
(item) => item.username === username && item.password === password,
|
|
);
|
|
|
|
if (!findUser) {
|
|
clearRefreshTokenCookie(event);
|
|
return forbiddenResponse(event, 'Username or password is incorrect.');
|
|
}
|
|
|
|
const accessToken = generateAccessToken(findUser);
|
|
const refreshToken = generateRefreshToken(findUser);
|
|
|
|
setRefreshTokenCookie(event, refreshToken);
|
|
|
|
return useResponseSuccess({
|
|
...findUser,
|
|
accessToken,
|
|
});
|
|
});
|