管理员可在系统设置页面配置全局默认语言,未登录用户和未设置 语言偏好的已登录用户将强制使用该语言,忽略浏览器语言检测。 - common/constants.go: 新增 DefaultLanguage 变量 - model/option.go: 新增 DefaultLanguage option handler - controller/misc.go: /api/status 暴露 default_language - SystemSetting.jsx: 添加语言下拉框到通用设置 - PageLayout.jsx: 未登录用户应用默认语言 - UserContext.jsx: 无偏好用户回退到默认语言 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- 新增 settled 状态,防止 SyncManager 在 PreConsume/Settle 之间同步未结算记录 - Settle 使用 AdjustSyncedQuota(增量 gorm.Expr)替代 UpdateSyncedQuota(绝对值),修复并发覆写 - 网络失败时标记所有记录为 failed 并增加 retry_count,避免无限重试 - 新增 ArchiveStalePendingRecords 定时清理崩溃请求的 pending 记录 - 简化 IsSyncedUser/IsLocalUser 移除冗余 id 参数 - Dockerfile 切换华为云 Go 镜像,移除不兼容的 GOEXPERIMENT=greenteagc Co-Authored-By: Claude <noreply@anthropic.com>
实现 Master-Slave 架构的跨区域用户和配额同步功能,支持国内主节点与 海外从节点之间的用户创建推送、余额同步、预扣费批量回传。 主要变更: - 新增 region_sync 服务层(SyncManager/SyncClient/推送逻辑) - User 模型扩展 Source/RemoteUserId/SyncedQuota/LastSyncAt 字段 - BillingSession 支持 SyncedUserFunding 资金来源 - 新增 SyncAuth 中间件(X-Sync-API-Key + 常量时间比较) - 新增 PendingSyncRecord/QuotaSyncLog 数据模型 - 前端新增区域同步配置面板 - 支持 SESSION_NAME 环境变量避免多节点 cookie 冲突 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>