-
Notifications
You must be signed in to change notification settings - Fork 92
供应商失败自动拉黑 + 多项功能增强 #23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
Rogers-F
wants to merge
15
commits into
daodao97:main
Choose a base branch
from
Rogers-F:feature/blacklist-and-improvements
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
供应商失败自动拉黑 + 多项功能增强 #23
Rogers-F
wants to merge
15
commits into
daodao97:main
from
Rogers-F:feature/blacklist-and-improvements
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
将 autoStartEnabled 初始值从 false 改为 true,与其他设置保持一致,避免在异步加载期间出现从关闭到打开的视觉跳变
- 从 localStorage 读取缓存值作为初始值 - 加载和保存设置后更新缓存 - 实现"记住状态"效果,打开设置时直接显示正确状态 - 版本更新至 v0.2.4
- 新增 UpdateService 后端服务,支持 GitHub Release 版本检查 - 每天 8:00 AM 自动检查更新,网络失败时自动重试 3 次 - 实现智能重启机制,下载更新后在下次启动时应用 - 设置页面新增"应用更新"板块,可手动检查和下载更新 - 主页 GitHub 图标显示更新状态徽章(New/下载进度/Ready) - 支持自动更新开关,状态持久化到本地配置 - 新增版本号管理服务,当前版本 v0.2.5 - 完善中英文国际化翻译 Co-Authored-By: Half open flowers <1816524875@qq.com>
Co-Authored-By: Half open flowers <1816524875@qq.com>
重命名 updateservice.go 中的 copyFile 为 copyUpdateFile,避免与 skillservice.go 冲突 Co-Authored-By: Half open flowers <1816524875@qq.com>
- 修复立即检查按钮文字换行问题,添加 white-space: nowrap - 新增刷新按钮,一键刷新所有数据(热力图、供应商、统计、更新状态) - 添加刷新按钮旋转动画效果 - 完善按钮样式(action-btn, primary-btn) - 新增版本号和信息文本样式 - 完善中英文国际化翻译 Co-Authored-By: Half open flowers <1816524875@qq.com>
- 版本号更新到 v0.2.6 - 更新 release 说明,包含 UI 改进和 Bug 修复 Co-Authored-By: Half open flowers <1816524875@qq.com>
- 添加 display: inline-flex 和 align-items: center 确保垂直居中 - 调整 padding 从 6px 改为 8px,增加垂直空间 - 添加 line-height: 1.2 控制行高 - 添加 justify-content: center 确保水平居中 Co-Authored-By: Half open flowers <1816524875@qq.com>
- 改用 min-height: 36px 代替 padding 控制高度 - padding 改为 0 16px,只保留左右内边距 - line-height 改为 1,让文字更紧凑 - 让 flexbox 的 align-items: center 正确工作 Co-Authored-By: Half open flowers <1816524875@qq.com>
问题:当 provider 返回 4xx/5xx 错误时,日志中 HTTP 状态码显示为 0 原因:resp.Error() 检查在获取 StatusCode() 之前,导致提前返回 修复:先获取并设置 HttpCode,再检查 Error(),确保无论成功失败都能记录正确状态码 影响:修复后,所有错误响应都能正确显示 HTTP 状态码(如 400/401/429/500 等) Co-Authored-By: Half open flowers <1816524875@qq.com>
主要变更: - 实现失败次数追踪和自动拉黑机制(默认3次失败拉黑30分钟) - 支持可配置的拉黑阈值(1-10次)和时长(15/30/60分钟) - 添加黑名单状态持久化(SQLite存储) - 实现后台自动恢复定时器(每分钟检查过期黑名单) - 前端新增拉黑状态显示和实时倒计时 - 支持手动解禁功能 - 完善中英文国际化支持 技术细节: - 新增 BlacklistService 和 SettingsService 服务 - 扩展数据库表:provider_blacklist 和 app_settings - 集成到 ProviderRelay 降级逻辑中 - 前端 UI 适配深色/浅色主题 Author: Half open flowers <1816524875@qq.com>
修复构建错误:settingsservice.go 中导入了 database/sql 但未使用 Author: Half open flowers <1816524875@qq.com>
Author: Half open flowers <1816524875@qq.com>
**新增功能** - 在应用设置中新增「拉黑配置」部分 - 支持自定义失败阈值(1-10 次,默认 3 次) - 支持自定义拉黑时长(15/30/60 分钟,默认 30 分钟) - 配置即时生效,持久化到数据库 **优化改��** - 修复拉黑条幅延迟显示问题 - 添加窗口焦点恢复监听,最小化后立即刷新状态 - 添加定期轮询机制(10 秒间隔),确保状态同步 - 切换 Claude/Codex tab 时立即刷新黑名单状态 - 点击刷新按钮时同步更新黑名单数据 **版本更新** - 版本号:v0.3.0 → v0.3.1
**问题修复** 1. **自动更新开关状态持久化** - 添加 AutoCheckEnabled 字段到 UpdateState 结构体 - 在 SaveState/LoadState/GetUpdateState 中正确处理该字段 - 用户勾选自动更新后,重启应用设置不再丢失 2. **兼容老版本升级** - 使用字符串检查 JSON 中是否包含 auto_check_enabled 字段 - 老版本升级时,如果配置文件中没有该字段,保持默认值 true - 首次运行时自动保存默认配置 3. **手动检查更新后自动下载** - 修改前端 checkUpdateManually 方法 - 发现新版本后弹窗确认,用户同意后自动下载 - 下载完成后弹窗询问是否立即重启应用 - 不再需要手动点击下载按钮 **技术细节** - 在 LoadState 中,文件不存在时自动调用 SaveState 保存默认配置 - 使用 strings.Contains 检查 JSON 字段存在性,确保兼容性 - 改进用户体验:检查→下载→安装一键完成 **版本更新** - 版本号:v0.3.1 → v0.3.2
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
概述
本 PR 为 Code Switch 项目带来了多项重要功能增强和改进,主要包括:
核心功能
1. 供应商失败自动拉黑功能 (v0.3.0)
功能描述:
实现细节:
BlacklistService核心服务SettingsService配置管理服务~/.code-switch/app.db)数据库表结构:
前端 UI:
2. 拉黑配置界面 (v0.3.1)
功能描述:
在应用设置中新增「拉黑配置」部分,用户可自定义拉黑策略:
界面优化:
3. 自动更新功能修复 (v0.3.2)
修复问题:
用户体验改进:
技术改进
后端
新增服务:
services/blacklistservice.go- 核心拉黑逻辑services/settingsservice.go- 全局配置管理services/database.go- 数据库表初始化核心逻辑:
更新服务改进:
UpdateState中新增auto_check_enabled字段strings.Contains()检查 JSON 字段存在性确保兼容性前端
新增文件:
frontend/src/services/blacklist.ts- 拉黑 API 封装frontend/src/services/settings.ts- 配置 API 封装状态管理优化:
reactive()管理黑名单状态映射配置界面测试
自动更新测试
版本历史
兼容性