自动发帖软件
标题:
苹果脚本和H5配置config小实例
[打印本页]
作者:
发帖软件
时间:
4 小时前
标题:
苹果脚本和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("[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=== 示例结束 ===");
复制代码
欢迎光临 自动发帖软件 (http://www.fatiegongju.com/)
Powered by Discuz! X3.2