YYPOST群发软件 发表于 昨天 09:03

AIWROK软件日志悬浮窗简化版自动切换位置

AIWROK软件日志悬浮窗简化版自动切换位置
/*
🍎交流QQ群711841924群一,苹果内测群,528816639
   日志悬浮窗简化版 - 专注于核心位置切换功能
   基于AIWROK平台开发,解决兼容性问题
*/

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

// 定义位置配置 - 简化版,只使用基本位置
var 位置配置 = {
    左上: { x: 10, y: 100 },
    左中: { x: 10, y: 400 },
    左下: { x: 10, y: 700 },
    中上: { x: 500, y: 100 },
    中央: { x: 500, y: 400 },
    中下: { x: 500, y: 700 },
    右上: { x: 1000, y: 100 },
    右中: { x: 1000, y: 400 },
    右下: { x: 1000, y: 700 }
};

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

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

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

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

// 移动到指定位置
function 移动到位置(位置名称) {
    var 坐标 = 位置配置[位置名称];
    if (坐标) {
      // 确保坐标在屏幕范围内
      var x = Math.min(坐标.x, 屏幕宽度 - 210);
      var y = Math.min(坐标.y, 屏幕高度 - 80);
      
      日志.setPosition(x, y);
      
      if (g_状态) {
            g_状态.setText("位置: " + 位置名称);
      }
      
      updateLog("位置: " + 位置名称);
      printl("[日志] 已移动到: " + 位置名称 + " (" + x + ", " + y + ")");
    }
}

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

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

// 切换模式
function 切换模式() {
    var 模式列表 = ["自动循环", "手动"];
    var 当前模式索引 = 模式列表.indexOf(当前模式);
    当前模式 = 模式列表[(当前模式索引 + 1) % 模式列表.length];
   
    if (g_状态) {
      g_状态.setText("模式: " + 当前模式);
    }
   
    updateLog("切换到: " + 当前模式);
}

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

// 初始化悬浮窗
if (g_日志) {
    // 延迟设置位置,确保界面加载完成
    setTimeout(function() {
      移动到位置(位置列表);
      updateLog("日志悬浮窗已启动");
    }, 100);
   
    // 设置自动切换定时器(2秒切换一次)
    var 自动切换定时器 = setInterval(function() {
      if (当前模式 === "自动循环") {
            切换到下一个位置();
      }
    }, 2000);
   
    // 导出函数供外部调用
    this.updateLog = updateLog;
    this.切换到下一个位置 = 切换到下一个位置;
    this.切换到上一个位置 = 切换到上一个位置;
    this.切换模式 = 切换模式;
    this.移动到位置 = 移动到位置;
    this.获取当前位置 = function() { return 位置列表[当前位置索引]; };
    this.获取当前模式 = function() { return 当前模式; };
   
    updateLog("简化版悬浮窗已启动(2秒切换)");
    printl("=== 日志悬浮窗简化版已启动 ===");
    printl("自动切换间隔: 2秒");
    printl("可用命令:");
    printl("- this.updateLog(\"内容\"): 更新日志");
    printl("- this.切换到下一个位置(): 下一个位置");
    printl("- this.切换到上一个位置(): 上一个位置");
    printl("- this.切换模式(): 切换自动/手动模式");
    printl("- this.移动到位置(\"中央\"): 移动到指定位置");
    printl("可用位置:左上, 左中, 左下, 中上, 中央, 中下, 右上, 右中, 右下");
   
} else {
    printl("日志视图没有找到。");
}

/*
================ 简化版使用说明 ================

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

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

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

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

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

================================================
*/

页: [1]
查看完整版本: AIWROK软件日志悬浮窗简化版自动切换位置