YYPOST群发软件 发表于 2026-3-19 07:21:37

苹果脚本和H5配置config小实例


苹果脚本和H5配置config小实例









/*
🍎 AIWROK 配置管理器 - H5 界面集成示例
🍎 交流 QQ 群 711841924 群一,苹果内测群 528816639
🍎 功能:通过 WebView 加载配置管理 H5 界面,实现可视化配置管理
*/

printl("=== AIWROK 配置管理器H5 集成示例启动 ===");

// 创建 WebView 加载配置管理界面
printl("正在创建配置管理界面...");

var web = new WebView();
web.show(); // 显示 WebView

// 从文件加载 H5 界面
var htmlPath = project.getCodePath() + "h5.html";
printl("H5 文件路径:" + htmlPath);
web.loadFile(htmlPath);

printl("✓ 配置管理界面已加载");

// ============================================
// H5 与 Native 桥接方法
// ============================================

printl("\n注册 H5 与 Native 交互方法...");

// 设置配置(供 H5 调用)
function setConfig(key, value) {
    printl(" 设置配置:" + key + " = " + value);
   
    try {
      config.setConfig("AIWROK_" + key, String(value));
      printl("✓ 配置已保存");
      return true;
    } catch (e) {
      printl("✗ 保存失败:" + e.message);
      return false;
    }
}

// 获取配置(供 H5 调用)
function getConfig(key) {
    var value = config.getConfig("AIWROK_" + key, "");
    printl(" 获取配置:" + key + " = " + value);
    return value;
}

// 批量保存配置(供 H5 调用)
function batchSetConfigs(configsJson) {
    printl(" 批量保存配置");
   
    try {
      var configs = JSON.parse(configsJson);
      for (var key in configs) {
            config.setConfig("AIWROK_" + key, String(configs));
            printl("✓ " + key + " = " + configs);
      }
      printl("✓ 批量保存完成");
      return true;
    } catch (e) {
      printl("✗ 批量保存失败:" + e.message);
      return false;
    }
}

// 批量获取配置(供 H5 调用)
function batchGetConfigs(keysJson) {
    printl(" 批量获取配置");
   
    try {
      var keys = JSON.parse(keysJson);
      var result = {};
      
      for (var i = 0; i < keys.length; i++) {
            var key = keys;
            result = config.getConfig("AIWROK_" + key, "");
            printl("✓ " + key + " = " + result);
      }
      
      printl("✓ 批量获取完成");
      return JSON.stringify(result);
    } catch (e) {
      printl("✗ 批量获取失败:" + e.message);
      return "{}";
    }
}

// 导出配置(供 H5 调用)
function exportAllConfigs() {
    printl(" 导出所有配置");
   
    var allKeys = [
      "game_name", "task_delay", "max_rounds", "enable_combat", "auto_heal",
      "ocr_language", "ocr_confidence", "ocr_timeout", "ocr_retry",
      "ui_theme", "ui_font_size", "ui_show_toolbar", "ui_animation",
      "network_base_url", "network_version", "network_timeout", "network_retries"
    ];
   
    var result = {};
    for (var i = 0; i < allKeys.length; i++) {
      var key = allKeys;
      result = config.getConfig("AIWROK_" + key, "");
    }
   
    var jsonStr = JSON.stringify(result, null, 2);
    printl("✓ 配置已导出:\n" + jsonStr);
    return jsonStr;
}

// 恢复默认配置(供 H5 调用)
function resetToDefault(category) {
    printl(" 恢复默认配置:" + category);
   
    var defaultConfigs = {};
   
    if (category === "game") {
      defaultConfigs = {
            "game_name": "梦幻西游",
            "task_delay": "2000",
            "max_rounds": "10",
            "enable_combat": "true",
            "auto_heal": "true"
      };
    } else if (category === "ocr") {
      defaultConfigs = {
            "ocr_language": "zh-CN",
            "ocr_confidence": "80",
            "ocr_timeout": "5000",
            "ocr_retry": "3"
      };
    } else if (category === "ui") {
      defaultConfigs = {
            "ui_theme": "dark",
            "ui_font_size": "16",
            "ui_show_toolbar": "true",
            "ui_animation": "true"
      };
    } else if (category === "network") {
      defaultConfigs = {
            "network_base_url": "https://api.example.com",
            "network_version": "v2",
            "network_timeout": "10000",
            "network_retries": "3"
      };
    }
   
    for (var key in defaultConfigs) {
      config.setConfig("AIWROK_" + key, defaultConfigs);
      printl("✓ 重置 " + key + " = " + defaultConfigs);
    }
   
    printl("✓ 配置已恢复默认");
    return JSON.stringify(defaultConfigs);
}

// Toast 提示(供 H5 调用)
function showToast(message) {
    printl(" Toast: " + message);
    toast(message);
}

// 日志输出(供 H5 调用)
function addNativeLog(message, level) {
    printl("[" + level + "] " + message);
}

printl("✓ H5 与 Native 交互方法已注册");

// ============================================
// 演示:自动加载和测试
// ============================================

_sleep(1000); // 等待 H5 完全加载

printl("\n=== 配置管理器功能测试 ===");

// 测试 1: 预设一些配置
printl("\n[测试 1] 预设配置数据...");
setConfig("game_name", "梦幻西游");
setConfig("task_delay", "2000");
setConfig("max_rounds", "10");
setConfig("enable_combat", "true");
setConfig("auto_heal", "true");

setConfig("ocr_language", "zh-CN");
setConfig("ocr_confidence", "80");
setConfig("ocr_timeout", "5000");

setConfig("ui_theme", "dark");
setConfig("ui_font_size", "16");
setConfig("ui_show_toolbar", "true");

setConfig("network_base_url", "https://api.example.com");
setConfig("network_version", "v2");
setConfig("network_timeout", "10000");

printl("✓ 预设配置完成");

// 测试 2: 读取配置验证
printl("\n[测试 2] 验证配置读取...");
var gameName = getConfig("game_name");
var taskDelay = getConfig("task_delay");
var ocrLang = getConfig("ocr_language");
var uiTheme = getConfig("ui_theme");

printl("游戏名称:" + gameName);
printl("任务延迟:" + taskDelay + "ms");
printl("OCR 语言:" + ocrLang);
printl("UI 主题:" + uiTheme);

// 测试 3: 批量操作
printl("\n[测试 3] 批量配置操作...");
var testConfigs = {
    "game_name": "测试游戏",
    "task_delay": "3000",
    "max_rounds": "20"
};
batchSetConfigs(JSON.stringify(testConfigs));

var retrievedConfigs = batchGetConfigs(JSON.stringify(["game_name", "task_delay", "max_rounds"]));
printl("批量获取结果:" + retrievedConfigs);

printl("\n=== 配置管理器H5 集成示例说明 ===");
printl("✓ H5 界面已启动,可以在界面上进行可视化配置");
printl("✓ 所有配置会自动保存到 config 系统");
printl("✓ 支持分类管理:游戏配置、OCR 配置、UI 配置、网络配置");
printl("✓ 支持导出导入配置(JSON 格式)");
printl("✓ 支持一键恢复默认配置");
printl("\n提示:关闭 WebView 后配置会自动保存");

// ============================================
// 保持脚本运行(可选)
// ============================================

// 如果需要保持脚本持续运行,可以取消下面的注释
/*
printl("\n脚本将持续运行,按需求使用 H5 界面进行配置管理...");
while (true) {
    sleep(1000);
}
*/

printl("\n=== 示例结束 ===");


页: [1]
查看完整版本: 苹果脚本和H5配置config小实例