feat: implement task management store with IPC integration

- Added a new task store in `src-react/stores/task.ts` to manage tasks and their statuses.
- Implemented functions for creating, executing, and retrying tasks, along with handling task progress and completion.
- Introduced persistence for tasks using IPC.
- Created utility functions for normalizing room types and building subtasks.
- Added a new CSS file for global styles in `src-react/styles.css`.
- Created runtime types in `src-react/types/runtime.ts` and exported them.
- Updated the main entry points for Vue and React applications to support dynamic framework loading.
- Refactored chat model interfaces and utility functions into `src/shared/chat-model.ts`.
- Updated TypeScript configuration to include paths for React components and types.
- Enhanced Vite configuration to support both Vue and React frameworks.
This commit is contained in:
duanshuwen
2026-04-17 07:09:56 +08:00
parent d233b94b2a
commit b1dea9a5c2
68 changed files with 5910 additions and 397 deletions

View File

@@ -1,3 +1,4 @@
import type { Task } from './task-types';
import { WINDOW_NAMES, CONFIG_KEYS } from './constants';
export type WindowNames = `${WINDOW_NAMES}`;
@@ -18,10 +19,16 @@ export interface IConfig {
[CONFIG_KEYS.PROVIDER]?: string;
// 默认模型
[CONFIG_KEYS.DEFAULT_MODEL]?: string | null;
// 自动检查更新
[CONFIG_KEYS.AUTO_CHECK_UPDATE]?: boolean;
// 自动下载更新
[CONFIG_KEYS.AUTO_DOWNLOAD_UPDATE]?: boolean;
// 选中的渠道
[CONFIG_KEYS.SELECTED_CHANNELS]: Array<{ id: string; channelName: string; channelUrl: string }>;
// 图片缓存
[CONFIG_KEYS.IMAGE_CACHE]: Array<[string, any]>;
// 任务列表
[CONFIG_KEYS.TASK_LIST]?: Task[];
}
export interface Provider {
@@ -39,4 +46,4 @@ export interface Provider {
export interface OpenAISetting {
baseURL?: string;
apiKey?: string;
}
}