update:重构脚本执行方式
This commit is contained in:
@@ -16,6 +16,12 @@
|
||||
<blockquote class="layui-elem-quote">舰R脚本管理器:<span id="taskStatus"></span><br/><br/><span id="taskName">当前无任务</span><br/><br/><span id="runIndex"></span><br/><br/><span id="log"></span>
|
||||
</blockquote>
|
||||
<button class="layui-btn layui-btn-lg layui-btn-normal" onclick="createTask()">创建任务</button>
|
||||
<button class="layui-btn layui-btn-lg layui-btn-normal" id="createDevice">选择设备
|
||||
<i class="layui-icon layui-icon-down layui-font-12"></i>
|
||||
</button>
|
||||
<blockquote class="layui-elem-quote">
|
||||
调用设备:<span id="deviceName"></span><br>
|
||||
</blockquote>
|
||||
<br/><br/><br/>
|
||||
|
||||
<div class="layui-bg-gray layui-row layui-col-space15" id="card" style="padding: 30px;">
|
||||
@@ -26,27 +32,25 @@
|
||||
<script src="layui/layui.js"></script>
|
||||
<script src="layui/jquery-3.2.1.js"></script>
|
||||
<script>
|
||||
function createCard(name) {
|
||||
let html = '<div class="layui-card layui-col-md3 layui-col-lg-offset1"><div class="layui-card-header">' + name + '</div><div class="layui-card-body"><button class="layui-btn layui-btn-radius layui-btn-normal" onclick="runTask(\'' + name + '\')"><i class="layui-icon"></i>运行</button><br/><br/><button class="layui-btn layui-btn-radius layui-btn-warm" onclick="stopTask()"><i class="layui-icon"></i>停止</button><br/><br/><button class="layui-btn layui-btn-radius layui-btn-danger" onclick="removeTask(\'' + name + '\')"><i class="layui-icon"></i>删除</button></div></div>';
|
||||
$('#card').append(html)
|
||||
}
|
||||
let homeUrl="http://127.0.0.1:8002";
|
||||
let device;
|
||||
let deviceModel=[];
|
||||
|
||||
function createTask() {
|
||||
if(device===undefined){
|
||||
layer.msg('请选择设备')
|
||||
return
|
||||
}
|
||||
layer.prompt({
|
||||
formType: 2,
|
||||
value: '{\n' +
|
||||
' "name": "",\n' +
|
||||
' "device": "192.168.31.46:6666",\n' +
|
||||
' "run": [\n' +
|
||||
' "title":"",\n' +
|
||||
' "script":[\n' +
|
||||
' {\n' +
|
||||
' "name": "",\n' +
|
||||
' "title":"",\n' +
|
||||
' "activity":"map|attack|formationType#{0-4}|dialog_go|dialog_back",\n' +
|
||||
' "nextWaitTime": 0,\n' +
|
||||
' "randomNextWaitTime": 0,\n' +
|
||||
' "model": "click",\n' +
|
||||
' "x": 0,\n' +
|
||||
' "y": 0,\n' +
|
||||
' "rx": 0,\n' +
|
||||
' "ry": 0\n' +
|
||||
' "randomNextWaitTime": 0\n' +
|
||||
' }\n' +
|
||||
' ]\n' +
|
||||
'}',
|
||||
@@ -54,32 +58,61 @@
|
||||
maxlength: 99999,
|
||||
area: ['800px', '350px'] //自定义文本域宽高
|
||||
}, function (value, index, elem) {
|
||||
$.post("/jianr/task/add.do", {task: value}, function (json) {
|
||||
$.post(homeUrl+"/jianr/task/add.do", {task: value}, function (json) {
|
||||
layer.msg(json.msg)
|
||||
})
|
||||
layer.close(index);
|
||||
});
|
||||
}
|
||||
|
||||
function runTask(name) {
|
||||
$.post("/jianr/run.do", {task: name}, function (json) {
|
||||
function runTask(name,title) {
|
||||
if(device===undefined){
|
||||
layer.msg('请选择设备')
|
||||
return
|
||||
}
|
||||
|
||||
$.post(homeUrl+"/jianr/run.do", {task: name,device:device.title,modelName:title}, function (json) {
|
||||
layer.msg(json.msg)
|
||||
})
|
||||
}
|
||||
|
||||
function stopTask() {
|
||||
$.post("/jianr/stop.do", function (json) {
|
||||
$.post(homeUrl+"/jianr/stop.do", function (json) {
|
||||
layer.msg(json.msg)
|
||||
})
|
||||
}
|
||||
|
||||
function removeTask(name) {
|
||||
$.post("/jianr/task/remove.do", {task: name}, function (json) {
|
||||
$.post(homeUrl+"/jianr/task/remove.do", {task: name}, function (json) {
|
||||
layer.msg(json.msg)
|
||||
})
|
||||
}
|
||||
function showDevice() {
|
||||
if(isSelectDevice()){
|
||||
layer.msg("当前未选择设备")
|
||||
}else{
|
||||
layer.prompt({
|
||||
formType: 2,
|
||||
value: JSON.stringify(device),
|
||||
title: '查看设备',
|
||||
maxlength: 99999,
|
||||
area: ['800px', '350px'] //自定义文本域宽高
|
||||
}, function (value, index, elem) {
|
||||
$.post(homeUrl+"/jianr/device/edit.do", {device: value,oldDevice:device.title}, function (json) {
|
||||
layer.msg(json.msg)
|
||||
})
|
||||
layer.close(index);
|
||||
});
|
||||
}
|
||||
}
|
||||
function delDevice() {
|
||||
|
||||
}
|
||||
function isSelectDevice() {
|
||||
return device===undefined;
|
||||
}
|
||||
function getStatus() {
|
||||
$.post("/jianr/status.do", function (json) {
|
||||
$.post(homeUrl+"/jianr/status.do", function (json) {
|
||||
if(json.data.status){
|
||||
$('#taskStatus')[0].innerHTML="运行"
|
||||
$('#taskStatus').css('color','#5C962C')
|
||||
@@ -90,17 +123,128 @@
|
||||
$('#taskStatus')[0].innerHTML="停止"
|
||||
$('#taskStatus').css('color','#FF5722')
|
||||
}
|
||||
getStatus()
|
||||
setTimeout(function () {
|
||||
getStatus()
|
||||
},1000)
|
||||
|
||||
})
|
||||
}
|
||||
window.onload = function init() {
|
||||
$.get("/jianr/task/list.do", function (json) {
|
||||
layui.use('dropdown', function(){
|
||||
let dropdown = layui.dropdown
|
||||
|
||||
function createCard(name) {
|
||||
let html = '<div class="layui-card layui-col-md3 layui-col-lg-offset1"><div class="layui-card-header">' + name
|
||||
+ '</div><div class="layui-card-body">' +
|
||||
'<button class="layui-btn layui-btn-radius layui-btn-normal" id="runTask_'+name+'" ><i class="layui-icon"></i>运行 <i class="layui-icon layui-icon-down layui-font-12"></i></button><br/><br/><button class="layui-btn layui-btn-radius layui-btn-warm" onclick="stopTask()"><i class="layui-icon"></i>停止</button><br/><br/><button class="layui-btn layui-btn-radius layui-btn-danger" onclick="removeTask(\'' + name + '\')"><i class="layui-icon"></i>删除</button></div></div>';
|
||||
$('#card').append(html)
|
||||
dropdown.render({
|
||||
elem: '#runTask_'+name //可绑定在任意元素中,此处以上述按钮为例
|
||||
,data: deviceModel
|
||||
,id: 'runTask_'+name
|
||||
//菜单被点击的事件
|
||||
,click: function(obj){
|
||||
console.log(obj);
|
||||
runTask(name,obj.title)
|
||||
}
|
||||
});
|
||||
}
|
||||
$.get(homeUrl+"/jianr/task/list.do", function (json) {
|
||||
|
||||
json.data.forEach(function (item) {
|
||||
createCard(item)
|
||||
}
|
||||
)
|
||||
})
|
||||
$.get(homeUrl+"/jianr/device/list.do",function (json) {
|
||||
let devices=json.data;
|
||||
devices.push({type:'-'})
|
||||
devices.push({
|
||||
title: '添加设备',
|
||||
name:"addDevice"
|
||||
,href: '#'
|
||||
})
|
||||
|
||||
dropdown.render({
|
||||
elem: '#createDevice' //可绑定在任意元素中,此处以上述按钮为例
|
||||
,data: devices
|
||||
,id: 'createDevice'
|
||||
//菜单被点击的事件
|
||||
,click: function(obj){
|
||||
if(obj.name==='addDevice'){
|
||||
layer.prompt({
|
||||
formType: 2,
|
||||
value: '{\n' +
|
||||
' "deviceId":"",\n' +
|
||||
' "title":"",\n' +
|
||||
' "androidDevice":{\n' +
|
||||
' "height":0,\n' +
|
||||
' "width":0\n' +
|
||||
' },\n' +
|
||||
' "deviceDisplay":[\n' +
|
||||
' {\n' +
|
||||
' "title":"",\n' +
|
||||
' "start":{\n' +
|
||||
' "x":0,\n' +
|
||||
' "y":0,\n' +
|
||||
' "enableRandomX":false,\n' +
|
||||
' "enableRandomY":false,\n' +
|
||||
' "absRandomX":false,\n' +
|
||||
' "absRandomY":false,\n' +
|
||||
' "randomNumX":0,\n' +
|
||||
' "randomNumY":0\n' +
|
||||
' },\n' +
|
||||
' "end":{\n' +
|
||||
' "x": 0,\n' +
|
||||
' "y": 0,\n' +
|
||||
' "enableRandomX": false,\n' +
|
||||
' "enableRandomY": false,\n' +
|
||||
' "absRandomX": false,\n' +
|
||||
' "absRandomY": false,\n' +
|
||||
' "randomNumX": 0,\n' +
|
||||
' "randomNumY": 0\n' +
|
||||
' }\n' +
|
||||
' }\n' +
|
||||
' ]\n' +
|
||||
'}',
|
||||
title: '添加设备',
|
||||
maxlength: 99999,
|
||||
area: ['800px', '350px'] //自定义文本域宽高
|
||||
}, function (value, index, elem) {
|
||||
$.post(homeUrl+"/jianr/device/add.do", {device: value}, function (json) {
|
||||
layer.msg(json.msg)
|
||||
})
|
||||
layer.close(index);
|
||||
});
|
||||
}else{
|
||||
console.log(obj)
|
||||
if(obj.data==='select'){
|
||||
device=obj.device;
|
||||
device.deviceDisplay.forEach(function (item){
|
||||
deviceModel.push({
|
||||
title:item.title
|
||||
})
|
||||
})
|
||||
$('#deviceName')[0].innerHTML=obj.device.title;
|
||||
}else if (obj.data==='edit'){
|
||||
showDevice()
|
||||
}else if (obj.data==='del'){
|
||||
delDevice()
|
||||
}else if (obj.data==='connect'){
|
||||
$.post(homeUrl+"/jianr/device/connect.do",{device:obj.device.deviceId},function (json) {
|
||||
layer.msg(json.msg)
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
})
|
||||
|
||||
});
|
||||
|
||||
window.onload = function init() {
|
||||
|
||||
getStatus()
|
||||
}
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user