B2B网络软件

标题: 安卓端与H5页面交互的完整实现 [打印本页]

作者: YYPOST群发软件    时间: 13 小时前
标题: 安卓端与H5页面交互的完整实现
安卓端与H5页面交互的完整实现
安卓端与H5页面交互的完整实现 B2B网络软件

安卓端与H5页面交互的完整实现 B2B网络软件

实际例子h5交互案例.zip (18.38 KB, 下载次数: 0)

  1. /**
  2. *🍎交流QQ群711841924群一,苹果内测群,528816639


  3. * 安卓端与H5页面交互的完整实现
  4. * 该文件包含所有从H5页面调用的JavaScript方法的安卓端实现
  5. * 符合ES5标准和Rhino JavaScript引擎要求
  6. */

  7. // 保存设置
  8. function saveSettings(arg) {
  9.     var settings = JSON.parse(arg);
  10.     // 在这里保存所有设置到本地存储或发送到服务器
  11.     printl("保存设置: " + JSON.stringify(settings));
  12.    
  13.     // 示例:保存到配置文件
  14.     for (var key in settings) {
  15.         if (settings.hasOwnProperty(key)) {
  16.             // config.set(key, settings[key]); // 假设有这样的配置保存方法
  17.         }
  18.     }
  19. }

  20. // 加载设置
  21. function loadSettings(arg) {
  22.     printl("加载设置");
  23.     // 在这里从本地存储或服务器加载设置
  24.     var settings = {
  25.         // 示例数据
  26.         "runMode": "hid",
  27.         "chargeStartLevel": 30,
  28.         "chargeStopLevel": 80,
  29.         "appRunTime": 10,
  30.         "adCloseMinDelay": 1,
  31.         "adCloseMaxDelay": 3,
  32.         "adSkipDelay": 40,
  33.         "randomClickX": 10,
  34.         "randomClickY": 10,
  35.         "screenStuckCheckTime": 3,
  36.         "offsetValue": 0,
  37.         "slideVerifyPassword": "ApX-pCg7jHc6g_pmJCUQ_pc",
  38.         "serverIP": "192.168.1.130",
  39.         "serverPort": 8080,
  40.         "tagSearchClicks": 1,
  41.         "machineAppRunTime": 120,
  42.         "recommendPageMinInterval": 15,
  43.         "recommendPageMaxInterval": 25,
  44.         "recommendPageMinBrowse": 10,
  45.         "recommendPageMaxBrowse": 20,
  46.         "comprehensivePageMinBrowse": 10,
  47.         "comprehensivePageMaxBrowse": 20,
  48.         "livePageMinBrowse": 30,
  49.         "livePageMaxBrowse": 60,
  50.         "goldThreshold1": 10000,
  51.         "withdrawThreshold": 20000,
  52.         "goldThreshold2": 20000,
  53.         "treasureBoxMinInterval": 180,
  54.         "treasureBoxMaxInterval": 300,
  55.         "idiomAdInterval": 60,
  56.         "alipaySignature": ""
  57.     };
  58.    
  59.     // 通过H5的receiveDataFromNative函数将数据传回页面
  60.     if (typeof window !== 'undefined' && window.at && window.at.runWebJs) {
  61.         // 修复字符串转义问题
  62.         var escapedSettings = JSON.stringify(settings).replace(/'/g, "\\'");
  63.         var jsCode = "receiveDataFromNative('" + escapedSettings + "')";
  64.         window.at.runWebJs(jsCode);
  65.     }
  66. }

  67. // 测试运行模式
  68. function testRunMode(arg) {
  69.     var params = JSON.parse(arg);
  70.     printl("测试运行模式: " + params.mode);
  71.     // 在这里添加实际的测试逻辑
  72.     // 例如根据mode值执行不同的测试
  73.     if (params.mode === "hid") {
  74.         // 测试HID模式
  75.         printl("执行HID模式测试");
  76.     } else if (params.mode === "software") {
  77.         // 测试软件模式
  78.         printl("执行软件模式测试");
  79.     }
  80. }

  81. // 设置HID电源
  82. function setHidPower(arg) {
  83.     var params = JSON.parse(arg);
  84.     printl("设置HID电源: " + params.enabled);
  85.     // 在这里添加实际的HID控制逻辑
  86.     if (params.enabled) {
  87.         // 开启HID电源
  88.         printl("开启HID电源控制");
  89.     } else {
  90.         // 关闭HID电源
  91.         printl("关闭HID电源控制");
  92.     }
  93. }

  94. // 设置HID模式
  95. function setHidMode(arg) {
  96.     var params = JSON.parse(arg);
  97.     printl("设置HID模式: " + params.mode);
  98.     if (params.mode === "special") {
  99.         printl("使用特殊权限模式");
  100.     } else if (params.mode === "builtin") {
  101.         printl("使用自带模式");
  102.     }
  103. }

  104. // 设置启动方式
  105. function setLaunchMethod(arg) {
  106.     var params = JSON.parse(arg);
  107.     printl("设置启动方式: " + params.method);
  108.     if (params.method === "desktop") {
  109.         printl("使用桌面查找方式启动");
  110.     } else if (params.method === "package") {
  111.         printl("使用包名启动方式");
  112.     }
  113. }

  114. // 切换随机点击
  115. function toggleRandomClick(arg) {
  116.     var params = JSON.parse(arg);
  117.     printl("切换随机点击: " + params.enabled);
  118.     if (params.enabled) {
  119.         printl("启用随机点击功能");
  120.     } else {
  121.         printl("禁用随机点击功能");
  122.     }
  123. }

  124. // 切换功能
  125. function toggleFeature(arg) {
  126.     var params = JSON.parse(arg);
  127.     printl("切换功能 [" + params.feature + "]: " + params.enabled);
  128.     switch (params.feature) {
  129.         case "screenshot":
  130.             if (params.enabled) {
  131.                 printl("启用一键截图功能");
  132.             } else {
  133.                 printl("禁用一键截图功能");
  134.             }
  135.             break;
  136.         case "loop":
  137.             if (params.enabled) {
  138.                 printl("启用APP无限循环");
  139.             } else {
  140.                 printl("禁用APP无限循环");
  141.             }
  142.             break;
  143.         case "accelerate":
  144.             if (params.enabled) {
  145.                 printl("启用爱加速");
  146.             } else {
  147.                 printl("禁用爱加速");
  148.             }
  149.             break;
  150.     }
  151. }

  152. // 设置截图动作
  153. function setScreenshotAction(arg) {
  154.     var params = JSON.parse(arg);
  155.     printl("设置截图动作: " + params.action);
  156.     if (params.action === "local") {
  157.         printl("截图将保存到本地");
  158.     } else if (params.action === "upload") {
  159.         printl("截图将上传到网络");
  160.     }
  161. }

  162. // 切换清理后台
  163. function toggleClearBackground(arg) {
  164.     var params = JSON.parse(arg);
  165.     printl("切换清理后台: " + params.enabled);
  166.     if (params.enabled) {
  167.         printl("卡屏时将清理后台");
  168.     } else {
  169.         printl("卡屏时不清理后台");
  170.     }
  171. }

  172. // 设置滑块验证
  173. function setSlideVerify(arg) {
  174.     var params = JSON.parse(arg);
  175.     printl("设置滑块自动验证: " + params.enabled);
  176.     if (params.enabled) {
  177.         printl("开启滑块自动验证");
  178.     } else {
  179.         printl("关闭滑块自动验证");
  180.     }
  181. }

  182. // 开始运行
  183. function startRunning(arg) {
  184.     printl("开始运行");
  185.     // 在这里添加实际的运行逻辑
  186.     printl("执行主要任务流程");
  187. }

  188. // 运行关联启动
  189. function runAssociation(arg) {
  190.     printl("运行关联启动");
  191.     // 执行关联启动逻辑
  192. }

  193. // 下载选中的APP
  194. function downloadSelectedApps(arg) {
  195.     printl("下载选中的APP");
  196.     // 执行下载逻辑
  197. }

  198. // 选择APP
  199. function selectApp(arg) {
  200.     var params = JSON.parse(arg);
  201.     printl("选择APP - 索引: " + params.index + ", 状态: " + params.checked);
  202.     // 根据index和checked状态处理APP选择逻辑
  203. }

  204. // 复制链接
  205. function copyLink(arg) {
  206.     printl("复制链接");
  207.     // 执行复制链接逻辑
  208.     // 例如: setClip("http://1.15.10.111:6688");
  209. }

  210. // 设置服务器状态
  211. function setServerStatus(arg) {
  212.     var params = JSON.parse(arg);
  213.     printl("设置服务器状态: " + params.enabled);
  214.     if (params.enabled) {
  215.         printl("开启本地服务器");
  216.     } else {
  217.         printl("关闭本地服务器");
  218.     }
  219. }

  220. // 设置下载动作
  221. function setDownloadAction(arg) {
  222.     var params = JSON.parse(arg);
  223.     printl("设置下载动作: " + params.action);
  224.     if (params.action === "install") {
  225.         printl("下载后自动安装");
  226.     } else if (params.action === "default") {
  227.         printl("下载至默认文件夹");
  228.     }
  229. }

  230. // 选择下载内容
  231. function selectDownload(arg) {
  232.     var params = JSON.parse(arg);
  233.     printl("选择下载内容 - 索引: " + params.index + ", 状态: " + params.checked);
  234.     // 根据index和checked状态处理下载选择逻辑
  235. }

  236. // 开始下载
  237. function startDownload(arg) {
  238.     printl("开始下载");
  239.     // 执行下载逻辑
  240. }

  241. // 设置养机状态
  242. function setMachineStatus(arg) {
  243.     var params = JSON.parse(arg);
  244.     printl("设置养机状态: " + params.enabled);
  245.     if (params.enabled) {
  246.         printl("开启养机功能");
  247.     } else {
  248.         printl("关闭养机功能");
  249.     }
  250. }

  251. // 设置启动模式
  252. function setStartMode(arg) {
  253.     var params = JSON.parse(arg);
  254.     printl("设置养机启动模式: " + params.mode);
  255.     switch (params.mode) {
  256.         case "single":
  257.             printl("使用单独养机模式");
  258.             break;
  259.         case "each":
  260.             printl("每次APP完毕后养机");
  261.             break;
  262.         case "all":
  263.             printl("所有APP完毕后养机");
  264.             break;
  265.     }
  266. }

  267. // 设置平台选择
  268. function setPlatformChoice(arg) {
  269.     var params = JSON.parse(arg);
  270.     printl("设置养机平台选择: " + params.choice);
  271.     switch (params.choice) {
  272.         case "sequential":
  273.             printl("顺序运行平台");
  274.             break;
  275.         case "random":
  276.             printl("随机运行平台");
  277.             break;
  278.         case "randomOnce":
  279.             printl("随机一次平台");
  280.             break;
  281.     }
  282. }

  283. // 设置推荐页状态
  284. function setRecommendPageStatus(arg) {
  285.     var params = JSON.parse(arg);
  286.     printl("设置推荐页状态: " + params.enabled);
  287.     if (params.enabled) {
  288.         printl("开启推荐页浏览");
  289.     } else {
  290.         printl("关闭推荐页浏览");
  291.     }
  292. }

  293. // 设置综合页状态
  294. function setComprehensivePageStatus(arg) {
  295.     var params = JSON.parse(arg);
  296.     printl("设置综合页状态: " + params.enabled);
  297.     if (params.enabled) {
  298.         printl("开启综合页浏览");
  299.     } else {
  300.         printl("关闭综合页浏览");
  301.     }
  302. }

  303. // 设置直播页状态
  304. function setLivePageStatus(arg) {
  305.     var params = JSON.parse(arg);
  306.     printl("设置直播页状态: " + params.enabled);
  307.     if (params.enabled) {
  308.         printl("开启直播页浏览");
  309.     } else {
  310.         printl("关闭直播页浏览");
  311.     }
  312. }

  313. // 切换关键词
  314. function toggleKeyword(arg) {
  315.     var params = JSON.parse(arg);
  316.     printl("切换关键词平台 [" + params.platform + "]: " + params.checked);
  317.     // 根据platform和checked状态处理关键词启用逻辑
  318. }

  319. // 设置提现状态
  320. function setWithdrawStatus(arg) {
  321.     var params = JSON.parse(arg);
  322.     printl("设置提现状态: " + params.enabled);
  323.     if (params.enabled) {
  324.         printl("开启自动提现功能");
  325.     } else {
  326.         printl("关闭自动提现功能");
  327.     }
  328. }

  329. // 设置提现渠道
  330. function setWithdrawChannel(arg) {
  331.     var params = JSON.parse(arg);
  332.     printl("设置提现渠道: " + params.channel);
  333.     if (params.channel === "wechat") {
  334.         printl("使用微信提现");
  335.     } else if (params.channel === "alipay") {
  336.         printl("使用支付宝提现");
  337.     }
  338. }

  339. // 选择APP配置
  340. function selectAppConfig(arg) {
  341.     var params = JSON.parse(arg);
  342.     printl("选择APP配置 - 索引: " + params.index + ", 状态: " + params.checked);
  343.     // 根据index和checked状态处理APP配置选择逻辑
  344. }

  345. // 设置洋洋系列广告状态
  346. function setYangyangAdStatus(arg) {
  347.     var params = JSON.parse(arg);
  348.     printl("设置洋洋系列广告状态: " + params.enabled);
  349.     if (params.enabled) {
  350.         printl("开启洋洋系列广告");
  351.     } else {
  352.         printl("关闭洋洋系列广告");
  353.     }
  354. }

  355. // 选择洋洋系列APP
  356. function selectYangyangApp(arg) {
  357.     var params = JSON.parse(arg);
  358.     printl("选择洋洋系列APP - 索引: " + params.index + ", 状态: " + params.checked);
  359.     // 根据index和checked状态处理洋洋系列APP选择逻辑
  360. }

  361. // 选择趣味成语APP
  362. function selectIdiomApp(arg) {
  363.     var params = JSON.parse(arg);
  364.     printl("选择趣味成语APP - 索引: " + params.index + ", 状态: " + params.checked);
  365.     // 根据index和checked状态处理趣味成语APP选择逻辑
  366. }

  367. // 主函数 - 页面加载完成后调用
  368. function main(arg) {
  369.     printl("H5页面交互接口已加载");
  370.     // 可以在这里执行一些初始化操作
  371. }
复制代码







欢迎光临 B2B网络软件 (http://bbs.niubt.cn/) Powered by Discuz! X3.2