添加供应商编辑功能和密码显示切换

- 为供应商列表添加启用和编辑按钮
- 创建EditProviderModal组件支持编辑供应商信息
- 实现updateProvider API接口
- 为API Key输入框添加密码显示/隐藏功能,使用SVG图标
- 更新预设供应商配置为YesCode和PackyCode
- 移除model字段,简化供应商配置
This commit is contained in:
farion1231
2025-08-05 09:51:41 +08:00
parent 35cb750d19
commit 7ffd03e039
8 changed files with 298 additions and 32 deletions

View File

@@ -2,6 +2,7 @@ import React, { useState, useEffect } from 'react'
import { Provider, ProviderStatus } from '../shared/types'
import ProviderList from './components/ProviderList'
import AddProviderModal from './components/AddProviderModal'
import EditProviderModal from './components/EditProviderModal'
import './App.css'
function App() {
@@ -11,6 +12,7 @@ function App() {
const [isAddModalOpen, setIsAddModalOpen] = useState(false)
const [isRefreshing, setIsRefreshing] = useState(false)
const [configPath, setConfigPath] = useState<string>('')
const [editingProviderId, setEditingProviderId] = useState<string | null>(null)
// 加载供应商列表
useEffect(() => {
@@ -81,6 +83,18 @@ function App() {
}
}
const handleEditProvider = async (provider: Provider) => {
try {
await window.electronAPI.updateProvider(provider)
await loadProviders()
setEditingProviderId(null)
alert('保存成功!')
} catch (error) {
console.error('更新供应商失败:', error)
alert('保存失败,请重试')
}
}
return (
<div className="app">
<header className="app-header">
@@ -109,6 +123,7 @@ function App() {
statuses={statuses}
onSwitch={handleSwitchProvider}
onDelete={handleDeleteProvider}
onEdit={setEditingProviderId}
/>
{configPath && (
@@ -124,6 +139,14 @@ function App() {
onClose={() => setIsAddModalOpen(false)}
/>
)}
{editingProviderId && providers[editingProviderId] && (
<EditProviderModal
provider={providers[editingProviderId]}
onSave={handleEditProvider}
onClose={() => setEditingProviderId(null)}
/>
)}
</div>
)
}