feat(desktop): 实现一些功能

1. 实现任务暂停功能

2. 实现页面的国际化功能

3.优化项目的结构以及BUG

4. 优化系统架构

5. 实现一大堆的功能
This commit is contained in:
2026-01-25 03:30:23 +08:00
parent 3f7347427e
commit 455dd1f4cd
88 changed files with 13451 additions and 581 deletions

View File

@@ -1,44 +1,39 @@
import { publicProcedure, router } from '@rpc/index'
import Store from 'electron-store'
import { CHAT_MODELS_KEY, CONFIG_STORE_KEY, NOTIFICATION_KEY } from '@rpc/constants/store_key'
import { ILLMConfigSchema, INoticeConfigSchema } from '@shared/types/IConfig'
// 兼容性处理获取 Store 构造函数
const StoreClass = (Store as any).default || Store
const store = new StoreClass({ encryptionKey: CONFIG_STORE_KEY })
import { ILLMConfigSchema, INoticeConfigSchema, ILanguageConfigSchema } from '@shared/types/IConfig'
import { configService } from '@main/services/configService'
export const configRouter = router({
// 获取大模型配置
getChatConfigs: publicProcedure.query(() => {
const data = store.get(CHAT_MODELS_KEY)
// 检查是否包含必要的嵌套 Key如果没有说明是旧版本数据
if (data && !data.reading && !data.summary) {
console.log('检测到旧版本配置,正在重置...')
store.delete(CHAT_MODELS_KEY) // 删除旧的根键
return null
}
return data || null
return configService.getChatModelsConfig()
}),
// 保存大模型配置
saveChatConfig: publicProcedure.input(ILLMConfigSchema).mutation(async ({ input }) => {
const { type, config } = input
store.set(`${CHAT_MODELS_KEY}.${type}`, config)
configService.saveChatModelConfig(type, config)
return { success: true }
}),
// 获取通知配置
getNoticeConfigs: publicProcedure.query(() => {
const data = store.get(NOTIFICATION_KEY)
return data || null
return configService.getNotificationConfig()
}),
// 保存通知配置
saveNoticeConfigs: publicProcedure.input(INoticeConfigSchema).mutation(async ({ input }) => {
const {} = input
store.set(NOTIFICATION_KEY, input)
configService.saveNotificationConfig(input)
return { success: true }
}),
// 获取语言配置
getLanguageConfig: publicProcedure.query(() => {
return configService.getLanguageConfig()
}),
// 保存语言配置
saveLanguageConfig: publicProcedure.input(ILanguageConfigSchema).mutation(async ({ input }) => {
configService.saveLanguageConfig(input)
return { success: true }
})
})