feat(sse): 集成服务器推送事件实现异步任务进度推送
Some checks failed
Lint Code / Lint Code (push) Failing after 1m34s

- 新增SSE客户端类,实现基于fetch API的事件流连接和自动重连
- 增加sse状态管理Pinia模块,支持连接管理、任务进度和状态跟踪
- 登录状态管理增加userId字段,完善用户信息结构
- 登录接口修改,支持接收和存储用户ID、角色和权限信息
- 登录mock禁用,切换为真实后端接口调用
- 主布局组件增加SSE连接初始化与关闭生命周期钩子
- 项目创建向导中改用SSE方式上传文件及监听解析进度和结果
- 文件上传界面增加上传及任务进度展示,包括状态提示和进度条
- token处理函数更新,支持后端多种token字段并正确存储用户信息
- 调整本地存储结构,适应新增的用户ID和权限字段管理
This commit is contained in:
2026-03-28 17:24:29 +08:00
parent 87bdef6416
commit ac4d43fd01
10 changed files with 633 additions and 90 deletions

View File

@@ -1,44 +1,5 @@
// 根据角色动态生成路由
import { defineFakeRoute } from "vite-plugin-fake-server/client";
export default defineFakeRoute([
{
url: "/login",
method: "post",
response: ({ body }) => {
if (body.username === "admin") {
return {
code: 0,
message: "操作成功",
data: {
avatar: "https://avatars.githubusercontent.com/u/44761321",
username: "admin",
nickname: "小铭",
// 一个用户可能有多个角色
roles: ["admin"],
// 按钮级别权限
permissions: ["*:*:*"],
accessToken: "eyJhbGciOiJIUzUxMiJ9.admin",
refreshToken: "eyJhbGciOiJIUzUxMiJ9.adminRefresh",
expires: "2030/10/30 00:00:00"
}
};
} else {
return {
code: 0,
message: "操作成功",
data: {
avatar: "https://avatars.githubusercontent.com/u/52823142",
username: "common",
nickname: "小林",
roles: ["common"],
permissions: ["permission:btn:add", "permission:btn:edit"],
accessToken: "eyJhbGciOiJIUzUxMiJ9.common",
refreshToken: "eyJhbGciOiJIUzUxMiJ9.commonRefresh",
expires: "2030/10/30 00:00:00"
}
};
}
}
}
]);
// 禁用登录 mock使用真实后端接口
export default defineFakeRoute([]);