共有5部手机,如果通过服务器让1号手机执行打开 “闲鱼.js“ 脚本

1.手机端Auto.js脚本:

每部手机需要在连接时发送一个唯一的标识符(如设备ID),并接收服务器发送的指令以执行指定的脚本。

cpp 复制代码
// Auto.js脚本连接WebSocket服务器并发送设备ID
var WebSocket = require('ws');
var ws = new WebSocket('ws://your_computer_ip:8080');
var deviceID = "phone1"; // 设备唯一标识符

// 当与服务器建立连接时,发送设备ID
ws.on('open', function() {
    console.log('Connected to server');
    ws.send(JSON.stringify({ type: 'register', id: deviceID }));
});

// 处理从服务器接收的消息
ws.on('message', function(data) {
    var message = JSON.parse(data);
    if (message.type == 'command') {
        executeCommand(message.command);
    }
});

// 根据指令执行操作
function executeCommand(command) {
    if (command.action == 'run_script') {
        var scriptName = command.scriptName;
        if (files.exists(scriptName)) {
            engines.execScriptFile(scriptName);
        } else {
            console.log('Script not found: ' + scriptName);
        }
    }
    // 添加更多操作
}

// 当与服务器断开连接时,记录日志
ws.on('close', function() {
    console.log('Disconnected from server');
});
2.电脑端Node.js WebSocket服务器:

在服务器中,维护一个客户端连接列表,并根据设备ID发送指令。

cpp 复制代码
// Node.js WebSocket服务器
const WebSocket = require('ws');
const wss = new WebSocket.Server({ port: 8080 });

let clients = {};

// 当有新的客户端连接时
wss.on('connection', function(ws) {
    ws.on('message', function(message) {
        let msg = JSON.parse(message);
        if (msg.type == 'register') {
            // 记录客户端的设备ID和连接对象
            clients[msg.id] = ws;
            console.log(`Device ${msg.id} connected`);
        }
    });

    // 当客户端断开连接时
    ws.on('close', function() {
        for (let id in clients) {
            if (clients[id] === ws) {
                delete clients[id];
                console.log(`Device ${id} disconnected`);
                break;
            }
        }
    });
});

// 发送指令到特定设备
function sendCommand(deviceID, command) {
    if (clients[deviceID] && clients[deviceID].readyState === WebSocket.OPEN) {
        clients[deviceID].send(JSON.stringify({ type: 'command', command: command }));
    } else {
        console.log(`Device ${deviceID} is not connected`);
    }
}

// 示例:向手机1发送执行脚本的指令
sendCommand('phone1', { action: 'run_script', scriptName: '闲鱼.js' });
3.运行服务器和测试:

确保每部手机上的Auto.js脚本正常运行并能连接到服务器。在电脑上运行Node.js服务器。使用sendCommand函数向特定设备发送指令,测试是否手机1能接收到并执行闲鱼.js脚本。

通过这种方式,你可以实现对特定设备的精确控制,并根据需求扩展其他命令和功能。
相关推荐
神梦流5 分钟前
GE 引擎的内存优化终局:静态生命周期分析指导下的内存分配与复用策略
linux·运维·服务器
凡人叶枫7 分钟前
C++中输入、输出和文件操作详解(Linux实战版)| 从基础到项目落地,避坑指南
linux·服务器·c语言·开发语言·c++
低代码布道师24 分钟前
Next.js 16 全栈实战(一):从零打造“教培管家”系统——环境与脚手架搭建
开发语言·javascript·ecmascript
一位搞嵌入式的 genius44 分钟前
深入 JavaScript 函数式编程:从基础到实战(含面试题解析)
前端·javascript·函数式
Lsir10110_1 小时前
【Linux】进程信号(下半)
linux·运维·服务器
skywalk81631 小时前
unbound dns解析出现问题,寻求解决之道
运维·服务器·dns·unbound
choke2331 小时前
[特殊字符] Python 文件与路径操作
java·前端·javascript
酉鬼女又兒1 小时前
零基础入门Linux指南:每天一个Linux命令_pwd
linux·运维·服务器
云飞云共享云桌面1 小时前
高性能图形工作站的资源如何共享给10个SolidWorks研发设计用
linux·运维·服务器·前端·网络·数据库·人工智能
skywalk81631 小时前
走近科学:unbound dns域名服务器自己本地解析出现问题,寻求解决之道
运维·服务器·dns·unbound