Rodger-Wang
|
268ce26bc9
|
services,admin: 凭据归一到 svc_config;后台服务配置菜单收敛;品牌商与公码下架
这一提交里有两条相对独立的线,落在同一批文件上(server.go / core.go / model.go /
CLAUDE.md 等被两边同时改到),按文件拆不开,故合并提交。
── 一、第三方凭据归一到 svc_config,后台「服务配置」从 11 项收敛到 6 项 ──
起因:凭据同时躺在两张扁平 key/value 表里——应用业务库的 config 与 console 库的
global_config,而合并下发时**全局那张赢**。同一个 AZURE_SPEECH_REGION /
OPENAI_API_KEY / VOLC_OPENSPEECH_APP_ID / XUNFEI 密钥在两边值不一样,运营在
「应用环境配置」里改半天没有任何效果,且不报错。global_config 还按区域整份复制
(14 区 × 31 键 = 473 行),实测其中 27 个键是各区同值。
- comm.SvcField 新增 EnvKey(后台字段表里的「下发键名」列):非空时该字段的明文值
同时以这个名字出现在 user_getappconfig 的 env 里。已发布的客户端只读 env,
靠它继续供货、无需发新包;新客户端直接读结构化的 thirdsvcs。
- env 覆盖层与 thirdsvcs 走同一份 VIP 过滤,否则 VIP 过期的用户虽拿不到 AST 条目,
却仍能从 env 里读出同一套通话翻译凭据,那道闸门就形同虚设。
- 同作用域内 env_key 不允许重名(checkSvcEnvKeys 在保存时拦):重名时下发结果取决于
服务 id 排序,表现为「凭据时对时不对」。
- 一次性迁移 migrate_envtosvc.go(console 每次启动跑、幂等):基础值取中国区现值,
只有与基础值不同的区域才写 svc_region_override,473 行收敛到几十行。
顺带修了两行填错列的历史数据(group 里是键名、key 里是值),正是它让
ALIBABA_BAILIAN_APP_ID/WORKSPACE_ID 恒为 null、客户端一直用代码里写死的兜底值。
不删 global_config 的行(不可逆的线上凭据,留作回退依据),确认跑稳后由人手工 DROP。
- 后台:「第三方服务配置」改名「服务与环境配置」,「应用环境配置」并为其第二个标签页;
「全局环境配置」下线只留重定向;Agent 配置、通话翻译配置、会议记录服务三页删除
(前两者对应的 agent_config、call_translate_rule 两表在测试机与正式机上都是 0 行)。
⚠️ 会议记录服务删的只是后台入口,echomeet_orch 的数据与运行时都还在(两台机各 4 行,
是语音纪要识别/翻译/总结的服务选型来源),要换服务商现在只能直接改库。
阿龙测试环境实测:迁移前后 env 逐键比对,48/54 键值完全一致,丢失的 8 个全部是预期
丢弃(ALIBABA_OSS_* 与 COMMENT_* 无人读取、两个填错列的垃圾键名),无一个值发生变化。
验证中发现并修掉四个都不报错的坑:空值不能下发成 env 键(Dart 的 ?? 只兜 null,
空串会把默认值顶掉)、区域覆盖里的空串会把基础值抹成空、服务 enable=false 等于凭据
一个都不下发、启动时的模板补字段会给实例加空的加密字段导致误报「缺凭据」且保存被拒。
── 二、品牌商(identity=3)与公码下架 ──
brand 表、公码 authcode 及其全部后台页面与接口移除;账号作用域不再有 brandId,
设备/结算的归属改由渠道商推导。这部分不是本次会话中由 Claude 编写的。
验证:go build ./... + go vet ./... 通过,comm/console/user/echomeet/api 各包测试全绿;
admin npm run build 通过。
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
4 weeks ago |
Rodger-Wang
|
37817f2e96
|
会员与算力:VIP 管准入、算力管计量;补上线落地文档
VIP 与算力两层权益各管一件事,判定与记账统一走 comm/compute.go:
- VIP 管功能准入(无 VIP 时 user_translate / echomeet_starttask 返回 VipRequired);
自购记 user.vipexptime,设备赋予记在 device_mac 行上(激活日 + 天数),
两者在 ResolveUserVip 合并成有效值下发,库里仍只记自购——以前绑定礼把天数
累加进用户表,解绑时拆不开。
- 算力管用量计量,按后台系数折算,先扣设备赠送再扣用户余额。
三个旧额度桶停用,存量余额由 home 启动时一次性折进 computebalance。
- 闸门 COMPUTE_GATE 默认关:user_usages 是用完才上报、没有预扣,
现在开闸门形同虚设。
另含本次「阿龙测试服 → 正式服」上线落地文档(docs/),
以及 admin 侧商品/设备/产品/用户页的配套改动。
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
4 weeks ago |
Rodger-Wang
|
90abb0ad42
|
身份证实名核验、翻译与新用户开户礼
本次会话开始前就已存在于工作区的改动,一并提交。主要是三块:
1) 身份证实名核验(sys/idverify + user 模块)
接入阿里云 Id2MetaVerify、腾讯云 IdCardVerification、创蓝三家 provider,
无状态工厂——配置在 svc_config 里按应用作用域存,调用时才解析。
客户端接口 user_idverify / user_getidverify。
凭据是云账号主 AK/SK,故新增服务端专用类别 comm.SvcCatIdVerify=11,
由 svcresolve.go 在下发口整条跳过,svcpool_serveronly_test.go 守着这条底线。
2) 翻译(sys/aliyun/translate + comm/lang.go)
语言码归一与阿里云翻译调用。
3) 新用户开户礼(newuser_gift.go)
配套 api_sgin 建号流程。
注:go test ./modules/user/ 里的 TestApiProbeAppConfigV3 会失败,但与本次改动无关
——那是打线上接口的联调探针,硬编码的域名 app-dev.voitrans.net 已废弃、JWT 也过期了,
该文件自 b2577e16 起未改动过。go test -short 会跳过它,其余全部通过。
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
1 month ago |
liwei1dao
|
e270cf89b6
|
上传新版本管理后台
|
2 months ago |
liwei1dao
|
6e5da54cf8
|
上传代码
|
3 months ago |
liwei1dao
|
af9e210f9a
|
会议记录接入后台服务编排:三段独立选路+客户端可选总结模型,移除旧 yaml 四套凭据模式
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
3 months ago |