topfans/docs/硬编码常量审批文档.md

5.1 KiB
Raw Blame History

硬编码常量汇总

生成时间: 2026-04-23 用途: 供团队审批,确认这些硬编码值是否需要改为可配置


一、前端硬编码

1. API Base URL

文件 行号 硬编码值 风险等级
frontend/utils/api.js 4 http://localhost:8080

2. 性能配置

文件 行号 硬编码值 说明
frontend/utils/performance-config.js:36 36 30000 数据过时阈值30秒
frontend/utils/performance-config.js:41 41 3000 关键资源加载超时(毫秒)

3. UI/动画配置

文件 行号 硬编码值 说明
frontend/pages/support-activity/components/FloatingBubbles.vue:337 337 30000 气泡刷新间隔30秒
frontend/pages/components/WelcomeAnimation.vue:704 704 3000 欢迎动画延迟3秒
frontend/pages/components/WelcomeAnimationWebview.vue:83 83 3000 Webview动画延迟3秒
frontend/pages/support-activity/components/ActionBar.vue:97 97 3000 行动条动画延迟3秒
frontend/pages/components/CastloveContent.vue:19 19 interval="3000" 轮播间隔3秒

二、后端硬编码

1. JWT 密钥(安全风险)

文件 行号 硬编码值 风险等级
backend/pkg/jwt/jwt.go 18 your-secret-key-change-in-production
backend/gateway/config/config.go 83 topfans-secret-key-please-change-in-production

2. 展馆相关 (galleryService/config/gallery_config.go)

配置项 硬编码值 说明
InitialSlotCount 6 初始展位数量3公开+3私有
GrabSlotDuration 14400秒4小时 抢展位后未放置的过期时间
MaxSlotCount 10 最大展位数量
UnlockLevelBySlot 第4-10展位需等级5-11 解锁展位需要的等级
UnlockValueBySlot 水晶100-700 解锁展位需要的水晶

3. 社交相关 (socialService/config/social_config.go)

配置项 硬编码值 说明
RejectionCooldownDays 7天 拒绝好友冷却期
RequestExpiryDays 30天 好友请求过期时间
MaxLimit 0未启用 好友数量上限(预留)

4. 用户/身份相关

配置项 文件
MaxIdentities 2个 userService/service/identity_service.go:23
MaxPasswordLength 50 pkg/validator/validator.go:14
MaxNicknameLength 20 pkg/validator/validator.go:18

5. 任务相关 (taskService/config/task_config.go)

配置项 硬编码值 说明
ResetHour 5 每日重置小时Asia/Shanghai
ResetMinute 0 每日重置分钟
RevenueBatchSize 100 收益自动发放批次大小
RevenueMaxRetries 3 收益自动发放最大重试次数

6. 铸造相关 (assetService/config/asset_config.go)

配置项 硬编码值 说明
MaxRetryCount 3次 铸造失败最大重试次数
MintSimulationDelaySeconds 3秒 模拟上链延迟
GetByOwner limit 1000 单次获取藏品上限

7. Token/认证相关

配置项 硬编码值 文件
TokenExpiration 7天 pkg/jwt/jwt.go:13

8. 预签名URL相关 (gateway/controller/asset_controller.go)

配置项 硬编码值 说明
默认过期时间 3600秒1小时 预签名URL默认
最大过期时间 86400秒24小时 预签名URL最大
STS最大 3600秒1小时 STS Token最大
STS最小 900秒15分钟 STS Token最小

9. 数据库/服务连接(开发环境默认值)

服务 默认值
DB_HOST localhost
Dubbo服务 tri://127.0.0.1:20000 ~ 20007

三、审批选项

请确认以下处理方式:

类别 选项A保留硬编码 选项B改为环境变量
API Base URL 继续使用localhost开发 改为环境变量切换dev/prod
JWT 密钥 生产部署时手动修改 改为环境变量,强制必须配置
展馆规则(时间/等级/水晶) 保留硬编码 改为配置文件
社交规则(冷却期/过期) 保留硬编码 改为配置文件
任务配置(重置时间) 保留硬编码 改为环境变量
铸造配置(重试次数) 保留硬编码 改为配置文件
UI配置动画时长 保留硬编码 改为样式变量

四、建议

  1. 高风险: JWT密钥硬编码存在安全隐患建议改为强制环境变量配置
  2. 中风险: API Base URL建议改为环境变量方便切换开发/生产环境
  3. 低风险: 业务规则类硬编码(如展馆规则、社交规则)可根据团队需求决定是否配置化