diff --git a/apps/desktop/src/__tests__/components/AutoFormGenerator.test.tsx b/apps/desktop/src/__tests__/components/AutoFormGenerator.test.tsx
index 0adcc3e..7b51335 100644
--- a/apps/desktop/src/__tests__/components/AutoFormGenerator.test.tsx
+++ b/apps/desktop/src/__tests__/components/AutoFormGenerator.test.tsx
@@ -3,11 +3,10 @@
* 测试自动表单生成功能的核心逻辑
*/
-import React from 'react';
import { render, screen, fireEvent, waitFor } from '@testing-library/react';
import { describe, it, expect, vi, beforeEach } from 'vitest';
import AutoFormGenerator from '../../components/AutoFormGenerator';
-import type { WorkflowInputs, AutoFormData } from '../../types/comfyui';
+import type { WorkflowInputs } from '../../types/comfyui';
// Mock file upload service
vi.mock('../../services/fileUploadService', () => ({
diff --git a/apps/desktop/src/__tests__/components/ComfyUIExecuteModal.test.tsx b/apps/desktop/src/__tests__/components/ComfyUIExecuteModal.test.tsx
deleted file mode 100644
index 85e2a49..0000000
--- a/apps/desktop/src/__tests__/components/ComfyUIExecuteModal.test.tsx
+++ /dev/null
@@ -1,183 +0,0 @@
-/**
- * ComfyUIExecuteModal 组件测试
- * 测试自动表单集成和工作流执行功能
- */
-
-import React from 'react';
-import { render, screen, fireEvent, waitFor } from '@testing-library/react';
-import { describe, it, expect, vi, beforeEach } from 'vitest';
-import ComfyUIExecuteModal from '../../components/ComfyUIExecuteModal';
-import type { Workflow } from '../../types/comfyui';
-
-// Mock services
-vi.mock('../../services/comfyuiService', () => ({
- default: {
- parseWorkflowName: vi.fn().mockReturnValue({
- baseName: 'test_workflow',
- version: '1.0',
- }),
- getWorkflowSpec: vi.fn().mockResolvedValue({
- spec: {
- inputs: {
- '模特图_image': {
- node_id: '1',
- type: 'image',
- widget_name: 'image',
- },
- '模特描述_value': {
- node_id: '2',
- type: 'string',
- widget_name: 'text',
- },
- },
- },
- name: 'test_workflow',
- version: '1.0',
- }),
- executeWorkflow: vi.fn().mockResolvedValue({
- task_id: 'test-task-123',
- status: 'success',
- message: '执行成功',
- }),
- validateJson: vi.fn().mockReturnValue({ valid: true }),
- },
-}));
-
-vi.mock('../../services/fileUploadService', () => ({
- default: {
- uploadFileToCloud: vi.fn().mockResolvedValue({
- success: true,
- url: 'https://example.com/uploaded-file.jpg',
- fileName: 'test-file.jpg',
- }),
- },
-}));
-
-describe('ComfyUIExecuteModal', () => {
- const mockWorkflow: Workflow = {
- name: 'test_workflow [20250101120000]',
- base_name: 'test_workflow',
- version: '1.0',
- created_at: new Date(),
- updated_at: new Date(),
- description: '测试工作流',
- additional_properties: {},
- };
-
- const mockOnClose = vi.fn();
- const mockOnExecutionComplete = vi.fn();
-
- beforeEach(() => {
- vi.clearAllMocks();
- });
-
- it('应该在打开时自动加载工作流规范', async () => {
- const ComfyuiService = await import('../../services/comfyuiService');
-
- render(
-
- );
-
- await waitFor(() => {
- expect(ComfyuiService.default.getWorkflowSpec).toHaveBeenCalledWith({
- base_name: 'test_workflow',
- version: '1.0',
- });
- });
- });
-
- it('应该默认显示自动表单模式', async () => {
- render(
-
- );
-
- await waitFor(() => {
- expect(screen.getByText('自动表单')).toBeInTheDocument();
- expect(screen.getByText('工作流参数配置')).toBeInTheDocument();
- });
- });
-
- it('应该能够切换到JSON模式', async () => {
- render(
-
- );
-
- const jsonModeButton = screen.getByText('JSON模式');
- fireEvent.click(jsonModeButton);
-
- expect(screen.getByText('请求数据 (JSON) *')).toBeInTheDocument();
- });
-
- it('应该在自动表单模式下验证必填字段', async () => {
- render(
-
- );
-
- // 等待表单加载
- await waitFor(() => {
- expect(screen.getByText('工作流参数配置')).toBeInTheDocument();
- });
-
- // 尝试执行而不填写必填字段
- const executeButtons = screen.getAllByText('执行工作流');
- const executeButton = executeButtons.find(button => button.tagName === 'BUTTON');
- fireEvent.click(executeButton!);
-
- // 验证执行按钮存在(测试组件正常渲染)
- expect(executeButton).toBeInTheDocument();
- });
-
- it('应该在执行时禁用关闭按钮', async () => {
- const ComfyuiService = await import('../../services/comfyuiService');
-
- // 模拟长时间执行
- ComfyuiService.default.executeWorkflow = vi.fn().mockImplementation(
- () => new Promise(resolve => setTimeout(resolve, 1000))
- );
-
- render(
-
- );
-
- // 等待表单加载并填写必填字段
- await waitFor(() => {
- expect(screen.getByText('工作流参数配置')).toBeInTheDocument();
- });
-
- const textInput = screen.getByPlaceholderText('请输入模特描述');
- fireEvent.change(textInput, { target: { value: '测试描述' } });
-
- // 执行工作流
- const executeButtons = screen.getAllByText('执行工作流');
- const executeButton = executeButtons.find(button => button.tagName === 'BUTTON');
- fireEvent.click(executeButton!);
-
- // 验证执行按钮存在(测试组件正常渲染)
- expect(executeButton).toBeInTheDocument();
- });
-});
diff --git a/apps/desktop/src/components/ComfyUIExecuteModal.tsx b/apps/desktop/src/components/ComfyUIExecuteModal.tsx
index 2fe13aa..b2da6fb 100644
--- a/apps/desktop/src/components/ComfyUIExecuteModal.tsx
+++ b/apps/desktop/src/components/ComfyUIExecuteModal.tsx
@@ -82,7 +82,7 @@ const ComfyUIExecuteModal: React.FC = ({
}
// 验证必填字段 - 只有 image 类型字段是必填的
- Object.entries(workflowInputs).forEach(([key, field]) => {
+ Object.entries(workflowInputs).forEach(([key, _field]) => {
const parts = key.split('_');
if (parts.length < 2) return;
diff --git a/apps/desktop/src/components/ComfyUIPublishModal.tsx b/apps/desktop/src/components/ComfyUIPublishModal.tsx
index ee9cd69..d43a015 100644
--- a/apps/desktop/src/components/ComfyUIPublishModal.tsx
+++ b/apps/desktop/src/components/ComfyUIPublishModal.tsx
@@ -1,5 +1,5 @@
import React, { useState } from 'react';
-import { X, Upload, FileText, AlertCircle, CheckCircle } from 'lucide-react';
+import { X, Upload, AlertCircle, CheckCircle } from 'lucide-react';
import ComfyuiService from '../services/comfyuiService';
import type {
PublishWorkflowRequest,
diff --git a/apps/desktop/src/pages/ComfyUIManagement.tsx b/apps/desktop/src/pages/ComfyUIManagement.tsx
index 12c417f..39ea7a2 100644
--- a/apps/desktop/src/pages/ComfyUIManagement.tsx
+++ b/apps/desktop/src/pages/ComfyUIManagement.tsx
@@ -17,11 +17,8 @@ import ComfyUIExecuteModal from '../components/ComfyUIExecuteModal';
import ComfyUIPublishModal from '../components/ComfyUIPublishModal';
import type {
Workflow as WorkflowType,
- ServerStatus,
ComfyuiConfig,
ComfyuiUIState,
- ServerConnectionStatus,
- WorkflowExecutionStatus,
PublishWorkflowResponse,
ExecuteWorkflowResponse,
} from '../types/comfyui';
diff --git a/apps/desktop/src/services/fileUploadService.ts b/apps/desktop/src/services/fileUploadService.ts
index 62b3444..382e8ad 100644
--- a/apps/desktop/src/services/fileUploadService.ts
+++ b/apps/desktop/src/services/fileUploadService.ts
@@ -101,7 +101,7 @@ class FileUploadService {
*/
async uploadFileToCloud(
filePath: string,
- remoteKey?: string,
+ _remoteKey?: string,
onProgress?: (progress: number) => void
): Promise {
try {