mirror of
https://github.com/black-ant/Ant-Browser.git
synced 2026-07-14 18:48:55 +08:00
38 lines
1.1 KiB
Go
38 lines
1.1 KiB
Go
package backend
|
|
|
|
import (
|
|
"ant-chrome/backend/internal/config"
|
|
"ant-chrome/backend/internal/logger"
|
|
"ant-chrome/backend/internal/proxy"
|
|
)
|
|
|
|
func (a *App) SaveBrowserProxies(proxies []BrowserProxy) error {
|
|
log := logger.New("Browser")
|
|
normalized := proxy.NormalizeBrowserProxies(proxies, generateUUID)
|
|
|
|
a.config.Browser.Proxies = normalized
|
|
|
|
if a.browserMgr.ProxyDAO != nil {
|
|
if err := a.browserMgr.ProxyDAO.DeleteAll(); err != nil {
|
|
log.Error("清空代理表失败", logger.F("error", err))
|
|
return err
|
|
}
|
|
for _, item := range normalized {
|
|
if err := a.browserMgr.ProxyDAO.Upsert(item); err != nil {
|
|
log.Error("代理保存失败", logger.F("proxy_id", item.ProxyId), logger.F("error", err))
|
|
return err
|
|
}
|
|
}
|
|
log.Info("代理列表已保存到数据库", logger.F("count", len(normalized)))
|
|
a.reconcileProfileProxyBindings()
|
|
return nil
|
|
}
|
|
|
|
if err := config.SaveProxies(a.resolveAppPath("proxies.yaml"), normalized); err != nil {
|
|
log.Error("代理列表保存失败", logger.F("error", err))
|
|
return err
|
|
}
|
|
a.reconcileProfileProxyBindings()
|
|
return nil
|
|
}
|