 | |  |  | 苹果脚本和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("[H5 调用] 设置配置:" + 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("[H5 调用] 获取配置:" + key + " = " + value);
- return value;
- }
- // 批量保存配置(供 H5 调用)
- function batchSetConfigs(configsJson) {
- printl("[H5 调用] 批量保存配置");
-
- try {
- var configs = JSON.parse(configsJson);
- for (var key in configs) {
- config.setConfig("AIWROK_" + key, String(configs[key]));
- printl(" ✓ " + key + " = " + configs[key]);
- }
- printl("✓ 批量保存完成");
- return true;
- } catch (e) {
- printl("✗ 批量保存失败:" + e.message);
- return false;
- }
- }
- // 批量获取配置(供 H5 调用)
- function batchGetConfigs(keysJson) {
- printl("[H5 调用] 批量获取配置");
-
- try {
- var keys = JSON.parse(keysJson);
- var result = {};
-
- for (var i = 0; i < keys.length; i++) {
- var key = keys[i];
- result[key] = config.getConfig("AIWROK_" + key, "");
- printl(" ✓ " + key + " = " + result[key]);
- }
-
- printl("✓ 批量获取完成");
- return JSON.stringify(result);
- } catch (e) {
- printl("✗ 批量获取失败:" + e.message);
- return "{}";
- }
- }
- // 导出配置(供 H5 调用)
- function exportAllConfigs() {
- printl("[H5 调用] 导出所有配置");
-
- 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[i];
- result[key] = config.getConfig("AIWROK_" + key, "");
- }
-
- var jsonStr = JSON.stringify(result, null, 2);
- printl("✓ 配置已导出:\n" + jsonStr);
- return jsonStr;
- }
- // 恢复默认配置(供 H5 调用)
- function resetToDefault(category) {
- printl("[H5 调用] 恢复默认配置:" + 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[key]);
- printl(" ✓ 重置 " + key + " = " + defaultConfigs[key]);
- }
-
- printl("✓ 配置已恢复默认");
- return JSON.stringify(defaultConfigs);
- }
- // Toast 提示(供 H5 调用)
- function showToast(message) {
- printl("[H5 调用] Toast: " + message);
- toast(message);
- }
- // 日志输出(供 H5 调用)
- function addNativeLog(message, level) {
- printl("[H5 日志][" + 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=== 示例结束 ===");
复制代码
| |  | |  |
|