B2B网络软件

标题: AIWROK软件日志悬浮窗简化版自动切换位置 [打印本页]

作者: YYPOST群发软件    时间: 10 小时前
标题: AIWROK软件日志悬浮窗简化版自动切换位置
AIWROK软件日志悬浮窗简化版自动切换位置
  1. /*
  2. 🍎交流QQ群711841924群一,苹果内测群,528816639
  3.    日志悬浮窗简化版 - 专注于核心位置切换功能
  4.    基于AIWROK平台开发,解决兼容性问题
  5. */

  6. // 创建一个新的floatUI实例用于日志显示
  7. var 日志 = new floatUI();

  8. // 定义位置配置 - 简化版,只使用基本位置
  9. var 位置配置 = {
  10.     左上: { x: 10, y: 100 },
  11.     左中: { x: 10, y: 400 },
  12.     左下: { x: 10, y: 700 },
  13.     中上: { x: 500, y: 100 },
  14.     中央: { x: 500, y: 400 },
  15.     中下: { x: 500, y: 700 },
  16.     右上: { x: 1000, y: 100 },
  17.     右中: { x: 1000, y: 400 },
  18.     右下: { x: 1000, y: 700 }
  19. };

  20. // 当前位置索引和模式
  21. var 当前位置索引 = 0;
  22. var 当前模式 = "自动循环";
  23. var 位置列表 = ["左上", "左中", "左下", "中下", "右下", "右中", "右上", "中上", "中央"];

  24. // 加载简化的日志显示界面XML布局
  25. 日志.loadXML(
  26.     '<LinearLayout orientation="vertical" w="200" h="60" gravity="center" background="#80000000">' +
  27.     '  <TextView id="rz" text="日志系统已启动" textColor="#00ff00" textSize="14" layout_width="wrap_content" layout_height="wrap_content" />' +
  28.     '  <TextView id="状态" text="模式: 自动循环" textColor="#ffff00" textSize="10" layout_width="wrap_content" layout_height="wrap_content" />' +
  29.     '</LinearLayout>'
  30. );

  31. // 查找组件
  32. var g_日志 = 日志.findViewById('rz');
  33. var g_状态 = 日志.findViewById('状态');

  34. // 获取屏幕尺寸
  35. var 屏幕宽度 = screen.getScreenWidth();
  36. var 屏幕高度 = screen.getScreenHeight();

  37. // 移动到指定位置
  38. function 移动到位置(位置名称) {
  39.     var 坐标 = 位置配置[位置名称];
  40.     if (坐标) {
  41.         // 确保坐标在屏幕范围内
  42.         var x = Math.min(坐标.x, 屏幕宽度 - 210);
  43.         var y = Math.min(坐标.y, 屏幕高度 - 80);
  44.         
  45.         日志.setPosition(x, y);
  46.         
  47.         if (g_状态) {
  48.             g_状态.setText("位置: " + 位置名称);
  49.         }
  50.         
  51.         updateLog("位置: " + 位置名称);
  52.         printl("[日志] 已移动到: " + 位置名称 + " (" + x + ", " + y + ")");
  53.     }
  54. }

  55. // 切换到下一个位置
  56. function 切换到下一个位置() {
  57.     当前位置索引 = (当前位置索引 + 1) % 位置列表.length;
  58.     var 下一个位置 = 位置列表[当前位置索引];
  59.     移动到位置(下一个位置);
  60. }

  61. // 切换到上一个位置
  62. function 切换到上一个位置() {
  63.     当前位置索引 = (当前位置索引 - 1 + 位置列表.length) % 位置列表.length;
  64.     var 上一个位置 = 位置列表[当前位置索引];
  65.     移动到位置(上一个位置);
  66. }

  67. // 切换模式
  68. function 切换模式() {
  69.     var 模式列表 = ["自动循环", "手动"];
  70.     var 当前模式索引 = 模式列表.indexOf(当前模式);
  71.     当前模式 = 模式列表[(当前模式索引 + 1) % 模式列表.length];
  72.    
  73.     if (g_状态) {
  74.         g_状态.setText("模式: " + 当前模式);
  75.     }
  76.    
  77.     updateLog("切换到: " + 当前模式);
  78. }

  79. // 更新日志内容的函数
  80. function updateLog(newContent) {
  81.     if (g_日志) {
  82.         g_日志.setText(newContent);
  83.     } else {
  84.         printl("日志视图未正确初始化");
  85.     }
  86. }

  87. // 初始化悬浮窗
  88. if (g_日志) {
  89.     // 延迟设置位置,确保界面加载完成
  90.     setTimeout(function() {
  91.         移动到位置(位置列表[0]);
  92.         updateLog("日志悬浮窗已启动");
  93.     }, 100);
  94.    
  95.     // 设置自动切换定时器(2秒切换一次)
  96.     var 自动切换定时器 = setInterval(function() {
  97.         if (当前模式 === "自动循环") {
  98.             切换到下一个位置();
  99.         }
  100.     }, 2000);
  101.    
  102.     // 导出函数供外部调用
  103.     this.updateLog = updateLog;
  104.     this.切换到下一个位置 = 切换到下一个位置;
  105.     this.切换到上一个位置 = 切换到上一个位置;
  106.     this.切换模式 = 切换模式;
  107.     this.移动到位置 = 移动到位置;
  108.     this.获取当前位置 = function() { return 位置列表[当前位置索引]; };
  109.     this.获取当前模式 = function() { return 当前模式; };
  110.    
  111.     updateLog("简化版悬浮窗已启动(2秒切换)");
  112.     printl("=== 日志悬浮窗简化版已启动 ===");
  113.     printl("自动切换间隔: 2秒");
  114.     printl("可用命令:");
  115.     printl("- this.updateLog(\"内容\"): 更新日志");
  116.     printl("- this.切换到下一个位置(): 下一个位置");
  117.     printl("- this.切换到上一个位置(): 上一个位置");
  118.     printl("- this.切换模式(): 切换自动/手动模式");
  119.     printl("- this.移动到位置(\"中央\"): 移动到指定位置");
  120.     printl("可用位置:左上, 左中, 左下, 中上, 中央, 中下, 右上, 右中, 右下");
  121.    
  122. } else {
  123.     printl("日志视图没有找到。");
  124. }

  125. /*
  126. ================ 简化版使用说明 ================

  127. 一、功能特点:
  128. - 解决兼容性问题,专注于核心功能
  129. - 预设9个常用位置,覆盖屏幕主要区域
  130. - 自动循环切换,间隔2秒
  131. - 简化的UI界面,减少资源占用
  132. - 支持手动控制模式

  133. 二、使用方法:
  134. // 1. 直接运行此脚本启动悬浮窗
  135. // 2. 悬浮窗会自动在9个位置循环切换
  136. // 3. 通过API函数进行手动控制

  137. 三、API函数:
  138. this.updateLog("新内容") - 更新日志内容
  139. this.切换到下一个位置() - 下一个位置
  140. this.切换到上一个位置() - 上一个位置
  141. this.切换模式() - 切换自动/手动模式
  142. this.移动到位置("中央") - 移动到指定位置
  143. this.获取当前位置() - 获取当前位置名称
  144. this.获取当前模式() - 获取当前模式名称

  145. 四、可用位置:
  146. "左上", "左中", "左下", "中上", "中央", "中下", "右上", "右中", "右下"

  147. 五、注意事项:
  148. - 位置坐标已适配大多数屏幕尺寸
  149. - 自动避开屏幕边缘,确保完全显示
  150. - 简化版去除了复杂的交互功能,提高稳定性
  151. - 适用于AIWROK平台的各种版本

  152. ================================================
  153. */
复制代码







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