5.1 KiB
5.1 KiB
硬编码常量汇总
生成时间: 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配置(动画时长) | 保留硬编码 | 改为样式变量 |
四、建议
- 高风险: JWT密钥硬编码存在安全隐患,建议改为强制环境变量配置
- 中风险: API Base URL建议改为环境变量,方便切换开发/生产环境
- 低风险: 业务规则类硬编码(如展馆规则、社交规则)可根据团队需求决定是否配置化