mirror of
https://github.com/babalae/bettergi-scripts-list.git
synced 2026-03-30 05:49:51 +08:00
feat(config): 添加配置文件支持并优化设置初始化
- 添加 settings.json 配置文件定义各项功能参数 - 修改 initSettings 函数支持路径前缀参数 - 实现配置文件路径动态拼接功能 - 集成密钥、模式选择、队伍配置等完整配置项 - 支持实时任务、CD算法、调试模式等高级功能配置
This commit is contained in:
120
repo/js/FullyAutoAndSemiAutoTools/config/settings.json
Normal file
120
repo/js/FullyAutoAndSemiAutoTools/config/settings.json
Normal file
@@ -0,0 +1,120 @@
|
||||
[
|
||||
{
|
||||
"name": "key",
|
||||
"type": "input-text",
|
||||
"label": "密钥",
|
||||
"default": ""
|
||||
},
|
||||
{
|
||||
"name": "config_run",
|
||||
"type": "select",
|
||||
"label": "配置模式",
|
||||
"options": [
|
||||
"刷新","加载","执行"
|
||||
],
|
||||
"default": "刷新"
|
||||
},
|
||||
{
|
||||
"name": "loading_level",
|
||||
"type": "input-text",
|
||||
"label": "加载路径层级(不可小于1)<配置模式 刷新 生效>",
|
||||
"default": "2"
|
||||
},
|
||||
{
|
||||
"type": "separator"
|
||||
},
|
||||
{
|
||||
"name": "config_white_list",
|
||||
"type": "input-text",
|
||||
"label": "刷新白名单 以,分割",
|
||||
"default": "晶蝶"
|
||||
},
|
||||
{
|
||||
"name": "config_black_list",
|
||||
"type": "input-text",
|
||||
"label": "刷新黑名单 以,分割",
|
||||
"default": "其他,锄地专区,食材与炼金"
|
||||
},
|
||||
{
|
||||
"type": "separator"
|
||||
},
|
||||
{
|
||||
"name": "open_cd",
|
||||
"type": "checkbox",
|
||||
"label": "启用CD算法",
|
||||
"default": false
|
||||
},
|
||||
{
|
||||
"name": "http_api",
|
||||
"type": "input-text",
|
||||
"label": "[默认CD算法api]\ncron解析Http地址\n[请部署bettergi-scripts-tools可支持]",
|
||||
"default": "http://<ip:port>/bgi/cron/next-timestamp"
|
||||
},
|
||||
{
|
||||
"name": "real_time_missions",
|
||||
"type": "multi-checkbox",
|
||||
"label": "实时任务",
|
||||
"options": ["自动对话","自动战斗","自动拾取"],
|
||||
"default": ["自动拾取"]
|
||||
},
|
||||
{
|
||||
"type": "separator"
|
||||
},
|
||||
{
|
||||
"name": "choose_best",
|
||||
"type": "checkbox",
|
||||
"label": "择优模式(默认关闭 优先跑之前没跑过的)",
|
||||
"default": false
|
||||
},
|
||||
{
|
||||
"name": "mode",
|
||||
"type": "select",
|
||||
"label": "模式",
|
||||
"options": [
|
||||
"全自动","半自动"
|
||||
],
|
||||
"default": "全自动"
|
||||
},
|
||||
{
|
||||
"name": "auto_semi_key_mode",
|
||||
"type": "select",
|
||||
"label": "[半自动]快捷键模式",
|
||||
"options": [
|
||||
"继续运行","跳过"
|
||||
],
|
||||
"default": "继续运行"
|
||||
},
|
||||
{
|
||||
"name": "auto_key",
|
||||
"type": "input-text",
|
||||
"label": "<继续运行|跳过>本次路线快捷键 (独立BGI的快捷键请勿冲突)"
|
||||
},
|
||||
{
|
||||
"type": "separator"
|
||||
},
|
||||
{
|
||||
"name": "team_fight",
|
||||
"type": "input-text",
|
||||
"label": "战斗队伍配置(同时也是行走队伍配置)"
|
||||
},
|
||||
{
|
||||
"name": "team_seven_elements",
|
||||
"type": "input-text",
|
||||
"label": "队伍配置 按 `矿物,火,水,风,雷,草,冰,岩` 该顺序填写",
|
||||
"default": ""
|
||||
},
|
||||
{
|
||||
"type": "separator"
|
||||
},
|
||||
{
|
||||
"name": "is_debug",
|
||||
"type": "checkbox",
|
||||
"label": "开发者模式",
|
||||
"default": false
|
||||
},
|
||||
{
|
||||
"name": "debug",
|
||||
"type": "input-text",
|
||||
"label": "调试快捷键(开发者)"
|
||||
}
|
||||
]
|
||||
@@ -119,7 +119,7 @@ async function realTimeMissions(is_common = true) {
|
||||
}
|
||||
|
||||
async function init() {
|
||||
let settingsConfig = await initSettings();
|
||||
let settingsConfig = await initSettings(`${config_root}\\`);
|
||||
let utils = [
|
||||
"cron",
|
||||
"SwitchTeam",
|
||||
@@ -837,7 +837,7 @@ function addUniquePath(obj, list = PATHING_ALL) {
|
||||
* 从配置文件中读取设置信息并返回
|
||||
* @returns {Object} 返回解析后的JSON设置对象
|
||||
*/
|
||||
async function initSettings() {
|
||||
async function initSettings(prefix="") {
|
||||
// 默认设置文件路径
|
||||
let settings_ui = "settings.json";
|
||||
try {
|
||||
@@ -859,7 +859,7 @@ async function initSettings() {
|
||||
log.warn("{error}", error.message);
|
||||
}
|
||||
// 读取并解析设置文件
|
||||
const settingsJson = JSON.parse(file.readTextSync(settings_ui));
|
||||
const settingsJson = JSON.parse(file.readTextSync(`${prefix}${settings_ui}`));
|
||||
// 如果configSettings未定义,则将其设置为解析后的设置对象
|
||||
if (!configSettings) {
|
||||
configSettings = settingsJson
|
||||
|
||||
Reference in New Issue
Block a user