diff --git a/src/frontend/src/Style.css b/src/frontend/src/Style.css index ae06593..131f9d9 100644 --- a/src/frontend/src/Style.css +++ b/src/frontend/src/Style.css @@ -54,7 +54,7 @@ /* Requirements: 4.6 - Container query units for navbar and spacing */ /* These provide fallback values for browsers that don't support container queries */ --cq-navbar-width-collapsed: 8cqw; - --cq-navbar-width-expanded: 19cqw; + --cq-navbar-width-expanded: 13cqw; --cq-navbar-spacing: 1.5cqw; --cq-navbar-button-size: 3.5cqw; @@ -1552,7 +1552,7 @@ a:focus-visible, :root { /* Fallback navbar widths using viewport units */ --cq-navbar-width-collapsed: 6vw; - --cq-navbar-width-expanded: 20vw; + --cq-navbar-width-expanded: 13vw; --cq-navbar-spacing: 1.5vw; --cq-navbar-button-size: 3vw; diff --git a/src/frontend/src/api/auth.js b/src/frontend/src/api/auth.js index fd2a2f5..e4ea709 100644 --- a/src/frontend/src/api/auth.js +++ b/src/frontend/src/api/auth.js @@ -82,10 +82,15 @@ export function authLogout() { }) } +/** + * 修改密码 + * _skipLogout 标志,防止旧密码错误时被强制登出 + */ export function authChangePassword(data) { return request({ url: '/auth/change-password', method: 'post', - data + data, + _skipLogout: true }) } \ No newline at end of file diff --git a/src/frontend/src/api/image.js b/src/frontend/src/api/image.js index d08f7c3..9b1a6af 100644 --- a/src/frontend/src/api/image.js +++ b/src/frontend/src/api/image.js @@ -2,23 +2,18 @@ import request from '@/utils/request' import { parseMultipartMixed } from '@/utils/multipartParser' /** - * 获取任务的图片预览数据 (二进制流版本) + * 获取任务的所有图片数据 (二进制流版本) + * 用于预览和下载 * API: GET /api/image/binary/task/ */ -export async function getTaskImagePreview(taskId) { - // 1. 发起请求,获取原始 Response 对象以读取 Header - // 注意:这里需要 axios 返回完整的 response,不仅仅是 data - // 或者是利用 axios 的 transformResponse,但为了简单,我们在调用层处理 - +export async function getTaskImages(taskId) { try { const response = await request({ url: `/image/binary/task/${taskId}`, method: 'get', - responseType: 'arraybuffer', // 关键:必须接收二进制 + responseType: 'arraybuffer', // 接收二进制 timeout: 120000, - // 告诉拦截器需要完整响应对象(如果 request.js 拦截器只返回 response.data,这里可能需要调整) - // 假设目前的 request.js 拦截器只返回 response.data,我们需要针对这个接口做特殊处理 - // 或者可以直接使用 axios.get 绕过拦截器,带上 token + // 告诉拦截器需要完整响应对象以读取 Header returnRawResponse: true }) diff --git a/src/frontend/src/api/task.js b/src/frontend/src/api/task.js index 0c4e698..3144f98 100644 --- a/src/frontend/src/api/task.js +++ b/src/frontend/src/api/task.js @@ -53,19 +53,6 @@ export function getStylePresets() { }) } -/** - * 获取任务结果图片 - * 用于 Page4 的“下载结果”功能,数据量可能很大 (Base64) - * 设置 5 分钟超时 - */ -export function getTaskResultImages(taskType, taskId) { - return request({ - url: `/image/${taskType}/${taskId}`, - method: 'get', - // 【核心修改】设置 2 分钟超时 (120000ms) - timeout: 120000 - }) -} /** * 获取任务日志 (新增) diff --git a/src/frontend/src/components/GridDistortion.vue b/src/frontend/src/components/GridDistortion.vue index 4cbc11a..bff5a56 100644 --- a/src/frontend/src/components/GridDistortion.vue +++ b/src/frontend/src/components/GridDistortion.vue @@ -1,5 +1,6 @@ - + \ No newline at end of file diff --git a/src/frontend/src/components/TaskSideBar.vue b/src/frontend/src/components/TaskSideBar.vue index 1d539be..afa5e7e 100644 --- a/src/frontend/src/components/TaskSideBar.vue +++ b/src/frontend/src/components/TaskSideBar.vue @@ -1,5 +1,6 @@ + \ No newline at end of file diff --git a/src/frontend/src/components/ThreeDTrajectoryModal.vue b/src/frontend/src/components/ThreeDTrajectoryModal.vue index 8c06e52..ee04a31 100644 --- a/src/frontend/src/components/ThreeDTrajectoryModal.vue +++ b/src/frontend/src/components/ThreeDTrajectoryModal.vue @@ -18,7 +18,7 @@
原图 (Ref) - 训练 (Train) + 防护 (Perturb)