4.1 KiB
4.1 KiB
系统配置说明
概述
系统配置表用于存储游戏平台的各种配置参数,支持动态配置和运行时修改。
配置表结构
表名:system_config
| 字段 | 类型 | 说明 |
|---|---|---|
| id | bigint | 主键ID |
| config_key | varchar(100) | 配置键(唯一) |
| config_value | text | 配置值 |
| config_type | varchar(50) | 配置类型:STRING, INTEGER, BOOLEAN, JSON |
| description | varchar(500) | 配置描述 |
| is_system | tinyint(1) | 是否系统配置(1是,0否) |
| created_at | datetime(3) | 创建时间 |
| updated_at | datetime(3) | 更新时间 |
默认配置项
链接生成相关配置
link.default_quantity: 每次副本的奖励点数(默认值:50)link.refresh_interval: 链接刷新间隔,单位:秒(默认值:300)link.qr_expire_time: 二维码过期时间,单位:秒(默认值:600)link.max_times_per_batch: 每批次最大打副本次数(默认值:100)link.min_quantity: 最小奖励点数(默认值:10)link.max_quantity: 最大奖励点数(默认值:1000)
脚本服务器相关配置
script.server_url: 脚本服务器地址(默认值:http://36.138.184.60:12345)script.qr_path_template: 二维码图片路径模板(默认值:/{machineId}/二维码.png)
参数说明
链接生成接口参数
times: 打多少次副本,决定总的目标值linkCount: 生成多少个链接,决定链接任务的数量(默认值:1)
业务逻辑
- 每次副本的奖励点数从配置表
link.default_quantity获取 - 总目标值 =
times× 配置表中的默认奖励点数 - 生成
linkCount个链接任务供用户使用 - 用户完成链接后,根据
times和配置的奖励点数计算总奖励
API接口
获取配置列表
GET /api/admin/config/list?page=1&size=20
根据键获取配置
GET /api/admin/config/key/{configKey}
根据类型获取配置
GET /api/admin/config/type/{configType}
创建配置
POST /api/admin/config
Content-Type: application/json
{
"configKey": "custom.setting",
"configValue": "value",
"configType": "STRING",
"description": "自定义设置",
"isSystem": false
}
更新配置
PUT /api/admin/config/{id}
Content-Type: application/json
{
"configKey": "custom.setting",
"configValue": "new_value",
"configType": "STRING",
"description": "自定义设置",
"isSystem": false
}
删除配置
DELETE /api/admin/config/{id}
DELETE /api/admin/config/key/{configKey}
获取链接默认配置
GET /api/admin/config/link/defaults
获取脚本配置
GET /api/admin/config/script/config
使用示例
在服务中使用配置
@Autowired
private SystemConfigService systemConfigService;
// 获取默认奖励点数
Integer defaultQuantity = systemConfigService.getDefaultQuantity();
// 获取刷新间隔
Integer refreshInterval = systemConfigService.getRefreshInterval();
// 获取脚本服务器地址
String serverUrl = systemConfigService.getScriptServerUrl();
动态修改配置
// 更新配置
SystemConfig config = systemConfigService.getConfigByKey("link.default_quantity");
config.setConfigValue("100");
systemConfigService.updateConfig(config);
注意事项
-
系统配置:标记为系统配置的项(is_system=1)通常不建议删除,这些是平台运行必需的基础配置。
-
配置类型:根据实际需要选择合适的配置类型,数值类型建议使用INTEGER,布尔值使用BOOLEAN。
-
配置键命名:建议使用点号分隔的层次结构,如:
module.submodule.setting。 -
配置值验证:在更新配置时,建议对配置值进行格式验证,确保符合预期类型。
-
缓存策略:对于频繁访问的配置,建议在服务层添加缓存机制,提高性能。
扩展配置
可以根据业务需要添加更多配置项,例如:
- 用户权限相关配置
- 游戏规则配置
- 第三方服务配置
- 日志级别配置
- 性能调优参数