MCPcopy Create free account
hub / github.com/Seanium/ChatMap / handleSave

Function handleSave

components/model-settings.tsx:162–236  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

160 }
161
162 const handleSave = () => {
163 try {
164 const { provider, providerSettings, temperature } = settings
165 const currentSettings = providerSettings[provider]
166 const trimmedKey = currentSettings.apiKey.trim()
167 const trimmedBaseURL = currentSettings.baseURL.trim()
168 const trimmedModel = currentSettings.model.trim()
169
170 // 简单验证
171 if (!trimmedBaseURL) {
172 toast({
173 title: "基础 URL 不能为空",
174 description: "请输入有效的 API 端点 URL",
175 variant: "destructive",
176 })
177 return
178 }
179
180 if (!trimmedModel) {
181 toast({
182 title: "模型名称不能为空",
183 description: "请输入有效的模型名称",
184 variant: "destructive",
185 })
186 return
187 }
188
189 if (!trimmedKey) {
190 toast({
191 title: "API 密钥不能为空",
192 description: "请输入有效的 API 密钥",
193 variant: "destructive",
194 })
195 return
196 }
197
198 // 更新设置
199 const updatedSettings = {
200 ...settings,
201 providerSettings: {
202 ...settings.providerSettings,
203 [provider]: {
204 ...settings.providerSettings[provider],
205 baseURL: trimmedBaseURL,
206 model: trimmedModel,
207 apiKey: trimmedKey,
208 },
209 },
210 }
211
212 // 保存到 localStorage
213 localStorage.setItem("model_settings", JSON.stringify(updatedSettings))
214
215 // 清除旧版设置
216 localStorage.removeItem("openai_api_key")
217
218 // 关闭对话框
219 setIsOpen(false)

Callers

nothing calls this directly

Calls 1

toastFunction · 0.50

Tested by

no test coverage detected