日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

autojs 云控_autojs websocket 核心示例代码,云控技术

發(fā)布時(shí)間:2025/3/8 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 autojs 云控_autojs websocket 核心示例代码,云控技术 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

//初始化方法

function recordInit(scriptName){

//let ipInfoJson = getIP()

// let ip = ipInfoJson.cip

// let location = ipInfoJson.cname

let deviceIMEI = '',deviceBrand='',deviceModel='',AndroidVer='',deviceWH='',deviceBoard='',deviceMac='',AndroidId=''

try {

deviceBrand = device.brand;//制造廠商

deviceBoard = device.board;//主板

deviceMac = device.getMacAddress()//Mac地址

AndroidId = device.getAndroidId()//安卓ID

data={

"category":1,

"uuid":"55421",

"device_code":"086",

"configure":"5656E",

"owner":"1",

"model":device.model,

"release": device.release,

"memory":~~(device.getAvailMem()/1024/1024)+'MB',

"imei":device.getIMEI(),

"width":device.width,

"height":device.height,

"battery":device.getBattery()

}

var token=setting.storage.get('access_token')

var res = http.postJson(setting.api_domain+'device/?access-token='+token,data);

if(res.statusCode==200){

log('已添加')

return true

}

else if(res.statusCode==201){

log("已更新")

return true

}else{

log("添加設(shè)備失敗")

return false

}

} catch (error) {

log(error)

return false;

}

}

var ws = {

run:function(){

setting.ws_status =true;

console.log('使用軟件的過(guò)程中,請(qǐng)確保您的網(wǎng)絡(luò)流暢~')

console.log('Websocket連接中..')

setting.ws = web.newWebSocket(setting.websocket_domain, {

//eventThread: 'this'

});

//ws監(jiān)聽

setting.ws.on("open", (res) => {

log("WebSocket連接成功!");

//心跳檢測(cè)

let hi={'type':'connect','uuid':'033246','device_code':'003'}

setting.ws.send(JSON.stringify(hi));

setting.heartbeat = threads.start(function(){

setInterval(function(){

console.log('發(fā)送心跳包');

}, 10000);

});

}).on("failure", (err, res) => {

// 關(guān)閉心跳包線程

setting.heartbeat.interrupt();

//console.error(err);

setting.ws_status =false;

// 斷線重連

if(setting.allow_ws_re){

console.error('與總控的連接已斷開,五秒后重連...');

sleep(5000)

this.run()

}

// 改變“連接總控”顏色

ui.run(function(){

ui.start.setBackgroundColor(colors.parseColor("#d6d7d7"))

ui.start.text("連接總控")

ui.start.setTextColor(colors.parseColor("#000000"))

});

//alert("提示","ws通道已斷開!");

//exit();

}).on("closing", (code, reason) => {

log("WebSocket關(guān)閉中");

}).on("text", (text) => {

log("收到消息")

try {

let data = JSON.parse(text);

switch(data.type){

case 'init':

console.log('等待總控響應(yīng)...')

var ret=recordInit('init')

console.error("初始化返回:"+ret )

if(ret){

toastLog('成功與總控建立連接')

console.info('大功告成,您可以在總控端控制該終端了~');

// 改變"連接總控"顏色

ui.run(function(){

// 如果在主界面

if(ui.start){

if(setting.sys_name == "閑魚助手"){

ui.start.setBackgroundColor(colors.parseColor("#009688"))

}else{

ui.start.setTextColor(colors.parseColor("#ffffff"))

ui.start.setBackgroundColor(colors.parseColor(setting.baozeng_colour))

}

ui.start.text("已連接")

}

});

device.vibrate(500);//震動(dòng)700毫秒

}else{

setting.ws_status =false;

let err_msg = r['msg']

alert(err_msg);console.error(err_msg)

}

break;

case 'start':

log('接到任務(wù):',json.task)

let sid = json.sid

stopEngine()

try {try {if(main_thread) main_thread.interrupt()} catch (error) { }} catch (error) { }

if(getScriptConfig(sid)){

send_Log('[開始運(yùn)行]'+json.task,true)

main_thread = threads.start(function () {

doTask(sid)

});

}else{

send_Log('[啟動(dòng)失敗]設(shè)備獲取腳本配置失敗!',true)

}

break;

case 'web_to_aj_command':

//執(zhí)行web發(fā)來(lái)的命令

//console.warn(data.task_type + '('+data.task_id+')');

threads.start(function () {

eval(data.task_type + '('+data.task_id+')');

console.log('等待總控命令中....')

});

break;

case 'exec_command':

break;

case 'NO':

log(data.msg)

toast(data.msg)

setting.ws.closed();

break;

case 'web_to_aj_chat_message':

//web_to_aj_chat_message

console.log(data)

// console.log('web_to_aj_chat_message')

setting.message.push({name:data['name'],message:data['message']})

break;

default:

console.log('defautl')

console.log(data)

}

} catch (error) {

log("解析返回來(lái)的數(shù)據(jù)錯(cuò)誤")

log(error)

}

}).on("closed", (code, reason) => {

//log("WebSocket已關(guān)閉: code = %d, reason = %s", code, reason);

setting.ws_status =false;

alert("提示","ws通道已斷開2");

console.error('ws通道已斷開2')

//exit();

});

}

}

// 函數(shù)導(dǎo)出

module.exports = ws;

總結(jié)

以上是生活随笔為你收集整理的autojs 云控_autojs websocket 核心示例代码,云控技术的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。