fix:基本实现相关功能

This commit is contained in:
2026-01-08 00:12:19 +08:00
commit f361a7027b
68 changed files with 10920 additions and 0 deletions

View File

@@ -0,0 +1,44 @@
import { z } from 'zod'
import { publicProcedure, router } from '@rpc/init'
import Store from 'electron-store'
import { CONFIG_STORE_KEY } from '@rpc/constants/store_key'
// 兼容性处理获取 Store 构造函数
const StoreClass = (Store as any).default || Store
const store = new StoreClass({ encryptionKey: CONFIG_STORE_KEY })
export const configRouter = router({
// 获取配置
// src/main/rpc/routers/configRouter.ts
getChatConfigs: publicProcedure.query(() => {
const data = store.get('chatModels')
// 检查是否包含必要的嵌套 Key如果没有说明是旧版本数据
if (data && !data.reading && !data.summary) {
console.log('检测到旧版本配置,正在重置...')
store.delete('chatModels') // 删除旧的根键
return null
}
return data || null
}),
// 分类保存配置
saveChatConfig: publicProcedure
.input(
z.object({
type: z.enum(['reading', 'summary']), // 明确支持 reading
config: z.object({
apiKey: z.string(),
baseURL: z.string(),
modelName: z.string(),
temperature: z.number()
})
})
)
.mutation(async ({ input }) => {
// 存储到 chatModels.reading 或 chatModels.summary
store.set(`chatModels.${input.type}`, input.config)
return { success: true }
})
})