feat: 添加注释
This commit is contained in:
@@ -1,3 +1,5 @@
|
||||
// Package handler 定义了给前端(Wails / JS)直接调用的底层接口。
|
||||
// 此文件负责 Settings 模块暴露的三个接口操作。
|
||||
package handler
|
||||
|
||||
import (
|
||||
@@ -6,19 +8,19 @@ import (
|
||||
"AI-Expert-Sidebar/internal/service"
|
||||
)
|
||||
|
||||
// SettingsHandler exposes AI settings CRUD via Wails bindings.
|
||||
// SettingsHandler 是配置模块的 Wails 绑定,前端通过 `window.go.main.App.SaveSettings` 等访问。
|
||||
type SettingsHandler struct{ ctx context.Context }
|
||||
|
||||
func NewSettingsHandler() *SettingsHandler { return &SettingsHandler{} }
|
||||
func (s *SettingsHandler) SetContext(ctx context.Context) { s.ctx = ctx }
|
||||
|
||||
// GetSettings returns the current local AI settings.
|
||||
// GetSettings 返回目前所有的 AI 配置给前端以渲染 SettingsModal。
|
||||
func (s *SettingsHandler) GetSettings() *service.SettingsDTO {
|
||||
return service.GetSettings()
|
||||
}
|
||||
|
||||
// SaveSettings persists AI config to local settings.db.
|
||||
// Returns empty string on success, error message on failure.
|
||||
// SaveSettings 接收前端传回来的设置 DTO。
|
||||
// 返回一个字符串,如果为空("")表示成功,如果不为空说明发生了 error 并将文本传回供前端报错。
|
||||
func (s *SettingsHandler) SaveSettings(dto service.SettingsDTO) string {
|
||||
if err := service.SaveSettings(dto); err != nil {
|
||||
return err.Error()
|
||||
@@ -26,7 +28,11 @@ func (s *SettingsHandler) SaveSettings(dto service.SettingsDTO) string {
|
||||
return ""
|
||||
}
|
||||
|
||||
// GetProviders returns built-in AI provider presets for the frontend dropdown.
|
||||
// GetProviders 返回软件内置支持的一个预设选项列表。
|
||||
//
|
||||
// 为什么要把这个配置硬编码在 Go 后端而不是前端 React 里?
|
||||
// 因为这样保证了如果后期要追加新的知名模型提供商(如 Kimi、Moonshot),
|
||||
// 只需要在此修改 Go 代码,且能跟 ResolveAIConfig 逻辑完全同步绑定,而不必在前后端各改一遍。
|
||||
func (s *SettingsHandler) GetProviders() []ProviderPreset {
|
||||
return []ProviderPreset{
|
||||
{ID: "deepseek", Label: "DeepSeek", BaseURL: "https://api.deepseek.com/chat/completions", DefaultModel: "deepseek-chat"},
|
||||
@@ -36,10 +42,10 @@ func (s *SettingsHandler) GetProviders() []ProviderPreset {
|
||||
}
|
||||
}
|
||||
|
||||
// ProviderPreset describes a known AI provider with preset URL and model.
|
||||
// ProviderPreset 将被转换成 JS 对象 `ProviderPreset` 供前端生成下拉框的 options。
|
||||
type ProviderPreset struct {
|
||||
ID string `json:"id"`
|
||||
Label string `json:"label"`
|
||||
BaseURL string `json:"base_url"`
|
||||
DefaultModel string `json:"default_model"`
|
||||
ID string `json:"id"` // 提供商内置映射 ID
|
||||
Label string `json:"label"` // 页面显示名称
|
||||
BaseURL string `json:"base_url"` // 建议默认请求端点
|
||||
DefaultModel string `json:"default_model"` // 建议默认使用的模型哈希
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user