优化用户体验:简化数据结构并改进文件夹访问

- 移除 Provider 中无用的 createdAt 和 updatedAt 字段
- 简化数据结构,去除冗余的时间戳设置代码
- 将底部"浏览"按钮改为"打开",直接打开配置文件夹
- 新增 openConfigFolder API,使用 shell.openPath 打开文件夹
- 优化用户体验,方便用户查看和管理所有配置文件
This commit is contained in:
farion1231
2025-08-07 22:08:47 +08:00
parent 45c75e826a
commit db28ccb27b
6 changed files with 22 additions and 27 deletions

View File

@@ -76,11 +76,7 @@ ipcMain.handle("addProvider", async (_, provider: Provider) => {
// 2. 更新应用配置
const providers = store.get("providers", {} as Record<string, Provider>);
providers[provider.id] = {
...provider,
createdAt: Date.now(),
updatedAt: Date.now(),
};
providers[provider.id] = provider;
await store.set("providers", providers);
return true;
@@ -150,19 +146,13 @@ ipcMain.handle("updateProvider", async (_, provider: Provider) => {
}
// 2. 保存更新后的配置到文件
const saveSuccess = await saveProviderConfig({
...provider,
updatedAt: Date.now(),
});
const saveSuccess = await saveProviderConfig(provider);
if (!saveSuccess) {
return false;
}
// 3. 更新应用配置
providers[provider.id] = {
...provider,
updatedAt: Date.now(),
};
providers[provider.id] = provider;
await store.set("providers", providers);
// 4. 如果编辑的是当前激活的供应商,需要重新切换以应用更改
@@ -261,6 +251,17 @@ ipcMain.handle("selectConfigFile", async () => {
return result.filePaths[0];
});
ipcMain.handle("openConfigFolder", async () => {
try {
const { dir } = getClaudeCodeConfig();
await shell.openPath(dir);
return true;
} catch (error) {
console.error("打开配置文件夹失败:", error);
return false;
}
});
ipcMain.handle("openExternal", async (_, url: string) => {
try {
await shell.openExternal(url);