:feat 新增模型配置页面和相关功能

- 新增模型配置页面组件和路由
- 实现模型配置表单和相关逻辑- 添加全局配置入口和功能- 优化首页布局和样式- 新增 404 页面组件
- 更新部分组件样式和结构
This commit is contained in:
Jefferyhcool
2025-04-22 17:01:02 +08:00
parent 2aad103a77
commit bb974b0b89
95 changed files with 7723 additions and 1697 deletions

View File

@@ -1,46 +1,45 @@
// hooks/useTaskPolling.ts
import { useEffect } from "react"
import { useTaskStore } from "@/store/taskStore"
import {get_task_status} from "@/services/note.ts";
import { useEffect } from 'react'
import { useTaskStore } from '@/store/taskStore'
import { get_task_status } from '@/services/note.ts'
export const useTaskPolling = (interval = 3000) => {
const tasks = useTaskStore(state => state.tasks)
const updateTaskContent = useTaskStore(state => state.updateTaskContent)
const removeTask=useTaskStore(state=>state.removeTask)
useEffect(() => {
const timer = setInterval(async () => {
const pendingTasks = tasks.filter(
(task) => task.status === "PENDING" || task.status === "running"
)
const tasks = useTaskStore(state => state.tasks)
const updateTaskContent = useTaskStore(state => state.updateTaskContent)
const removeTask = useTaskStore(state => state.removeTask)
useEffect(() => {
const timer = setInterval(async () => {
const pendingTasks = tasks.filter(
task => task.status === 'PENDING' || task.status === 'running'
)
for (const task of pendingTasks) {
try {
console.log(task)
const res = await get_task_status(task.id)
const {status}=res.data
for (const task of pendingTasks) {
try {
console.log(task)
const res = await get_task_status(task.id)
const { status } = res.data
if (status && status !== task.status) {
if (status === "SUCCESS") {
const { markdown, transcript, audio_meta } = res.data.result
if (status && status !== task.status) {
if (status === 'SUCCESS') {
const { markdown, transcript, audio_meta } = res.data.result
updateTaskContent(task.id, {
status,
markdown,
transcript,
audioMeta: audio_meta,
})
} else {
updateTaskStatus(task.id, status)
}
}
} catch (e) {
console.error("❌ 任务轮询失败:", e)
removeTask(task.id)
}
updateTaskContent(task.id, {
status,
markdown,
transcript,
audioMeta: audio_meta,
})
} else {
updateTaskStatus(task.id, status)
}
}, interval)
}
} catch (e) {
console.error('❌ 任务轮询失败:', e)
removeTask(task.id)
}
}
}, interval)
return () => clearInterval(timer)
}, [interval, tasks])
return () => clearInterval(timer)
}, [interval, tasks])
}