feat(desktop): ✨ 实现一些功能
1. 实现任务暂停功能 2. 实现页面的国际化功能 3.优化项目的结构以及BUG 4. 优化系统架构 5. 实现一大堆的功能
This commit is contained in:
@@ -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 }
|
||||
})
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user