2024-06-21 09:05:50 +00:00
|
|
|
//低代码框架 amis
|
|
|
|
import win.ui;
|
|
|
|
/*DSG{{*/
|
2024-06-30 09:29:27 +00:00
|
|
|
var winform = win.form(text="WebView2 - 调用百度低代码前端框架 amis";right=966;bottom=622;border="none";maximize=1;)
|
2024-06-21 09:05:50 +00:00
|
|
|
winform.add(
|
2024-06-30 09:29:27 +00:00
|
|
|
bk={cls="bk";left=0;top=-1;right=967;bottom=30;bgcolor=10789024;dl=1;dr=1;dt=1;z=1;};
|
|
|
|
custom={cls="custom";text="自定义控件";left=0;top=32;right=967;bottom=623;db=1;dl=1;dr=1;dt=1;z=2;};
|
|
|
|
|
2024-06-21 09:05:50 +00:00
|
|
|
)
|
|
|
|
/*}}*/
|
|
|
|
|
|
|
|
import web.view.7;
|
|
|
|
var wb = web.view(winform.custom);
|
|
|
|
import web.json
|
|
|
|
import console
|
|
|
|
|
|
|
|
//添加阴影边框
|
|
|
|
import win.ui.simpleWindow2
|
|
|
|
win.ui.simpleWindow2(winform)
|
|
|
|
|
|
|
|
//下面的代码实现用鼠标左键按住窗口时 —— 可拖动改变窗口位置
|
|
|
|
winform.onMouseDown = function(wParam,lParam){
|
|
|
|
winform.hitCaption()
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
wb.export({
|
|
|
|
getAmisJson = function(){
|
|
|
|
var cfgstr = string.load("\res\cfg.json")
|
|
|
|
var cfgjson = web.json.parse(cfgstr)
|
|
|
|
return cfgjson;
|
|
|
|
};
|
|
|
|
})
|
|
|
|
|
|
|
|
send = function(t){
|
|
|
|
//var p = web.json.
|
|
|
|
//console.varDump(t)
|
|
|
|
return math.random();
|
|
|
|
}
|
|
|
|
getTestModule = function(){
|
|
|
|
var m= {"自检","EVM","灵敏度","成功率"}
|
|
|
|
return m;
|
|
|
|
}
|
|
|
|
|
|
|
|
randdev = function(){
|
|
|
|
var lst = {};
|
|
|
|
for(i=1;math.random(1,5);1){
|
|
|
|
var SN = string.upper(string.random(10,"QWERTYUIOP7894561230"));
|
|
|
|
table.push(lst,"USB:" ++ SN)
|
|
|
|
table.push(lst,"SER:" ++ SN)
|
|
|
|
}
|
|
|
|
return lst;
|
|
|
|
}
|
|
|
|
|
|
|
|
getdev = function(){
|
|
|
|
var lst = randdev()
|
|
|
|
|
|
|
|
var json = web.json.stringify(lst);
|
|
|
|
json = string.trimleft(json,'[')
|
|
|
|
json = string.trimright(json,']')
|
|
|
|
return json;
|
|
|
|
}
|
|
|
|
|
|
|
|
condev = function(id){
|
|
|
|
console.varDump(id)
|
|
|
|
return math.round(math.random());
|
|
|
|
}
|
|
|
|
closedev = function(id){
|
|
|
|
//console.varDump(id)
|
|
|
|
return math.round(math.random());
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
loadModule = function(){
|
|
|
|
var str = string.load("\res\m.txt");
|
|
|
|
var minfo = {count=0;rows={}};
|
|
|
|
for(k,v in string.lines(str,,";")){
|
|
|
|
|
|
|
|
if(! string.startWith(string.trimleft(k[1]),"//")){//注释行
|
|
|
|
//console.varDump(k)
|
|
|
|
minfo.count += 1
|
|
|
|
table.push(minfo.rows,{id=minfo.count,name = k[1],description = k[2],cfg = web.json.tryParse(k[3])})
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
//console.dumpJson(minfo)
|
|
|
|
return minfo;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
var ms = loadModule()
|
|
|
|
getModuleInfo = function(v){
|
|
|
|
|
|
|
|
//page/perPage
|
|
|
|
|
|
|
|
return ms;
|
|
|
|
|
|
|
|
return loadModule();
|
|
|
|
//var lst = string.load("\res\moduleinfo.json")
|
|
|
|
|
|
|
|
//var json = web.json.stringify(lst);
|
|
|
|
//json = string.trimleft(json,'[')
|
|
|
|
//json = string.trimright(json,']')
|
|
|
|
var json = web.json.parse(lst);
|
|
|
|
return json;
|
|
|
|
}
|
|
|
|
|
|
|
|
schema = function(v){
|
|
|
|
var s = ms.rows[tonumber(v)].cfg;
|
|
|
|
return s;
|
|
|
|
}
|
|
|
|
|
|
|
|
udpSend = function(d){
|
2024-06-30 03:00:51 +00:00
|
|
|
console.dumpTable(d)
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
getStatus = function(){
|
2024-06-30 10:17:33 +00:00
|
|
|
//-1:未上电 0:离线 1:在线
|
2024-06-30 09:29:27 +00:00
|
|
|
var seed = string.random("Success","Fault","PowerDown")
|
2024-06-30 10:17:33 +00:00
|
|
|
return {state={math.random(-1,1),math.random(-1,1),math.random(-1,1)}};
|
2024-06-21 09:05:50 +00:00
|
|
|
}
|
|
|
|
|
2024-07-01 09:30:56 +00:00
|
|
|
loadSchema = function(s){
|
|
|
|
var jsonstr = string.load("/res/"++s++".json");
|
|
|
|
return web.json.parse(jsonstr);
|
|
|
|
}
|
2024-06-21 09:05:50 +00:00
|
|
|
|
2024-06-30 03:00:51 +00:00
|
|
|
|
2024-06-21 09:05:50 +00:00
|
|
|
import wsock.tcp.asynHttpServer;
|
|
|
|
var httpServer = wsock.tcp.asynHttpServer();
|
|
|
|
|
|
|
|
|
|
|
|
httpServer.run(
|
|
|
|
//此处添加函数
|
2024-07-01 09:30:56 +00:00
|
|
|
["/loadSchema"] = function(response,request){
|
|
|
|
//console.varDump(request)
|
|
|
|
var data = request.get["schema"];//读取表单请求发送的数据,已解析为 aardio 对象
|
|
|
|
var rst = loadSchema(data)
|
|
|
|
|
|
|
|
response.write({
|
|
|
|
"status": 0,
|
|
|
|
"data": rst
|
|
|
|
})
|
|
|
|
};
|
2024-06-21 09:05:50 +00:00
|
|
|
|
|
|
|
["/sendPair"] = function(response,request){
|
|
|
|
//console.varDump(request)
|
|
|
|
var data = request.postJson();//读取表单请求发送的数据,已解析为 aardio 对象
|
|
|
|
var rst = send(data)
|
2024-06-30 03:00:51 +00:00
|
|
|
|
2024-06-21 09:05:50 +00:00
|
|
|
response.write({
|
|
|
|
"status": 0,
|
|
|
|
"msg": "发送成功",
|
|
|
|
"data": { "id": rst }
|
|
|
|
})
|
|
|
|
};
|
|
|
|
|
|
|
|
["/sendData"] = function(response,request){
|
2024-06-30 03:00:51 +00:00
|
|
|
//console.dumpTable(request)
|
2024-06-21 09:05:50 +00:00
|
|
|
var data = request.postJson();//读取表单请求发送的数据,已解析为 aardio 对象
|
|
|
|
var rst = udpSend(data)
|
|
|
|
response.write({
|
|
|
|
"status": 0,
|
|
|
|
"msg": "发送成功",
|
|
|
|
"data": { "id": rst }
|
|
|
|
})
|
|
|
|
};
|
|
|
|
|
|
|
|
["/sendCfg"] = function(response,request){
|
|
|
|
//console.varDump(request)
|
|
|
|
var data = request.postJson();//读取表单请求发送的数据,已解析为 aardio 对象
|
|
|
|
var rst = send(data)
|
|
|
|
response.write({
|
|
|
|
"status": 0,
|
|
|
|
"msg": "发送成功",
|
|
|
|
//"data": { "id": rst }
|
|
|
|
})
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
["/getDevices"] = function(response,request){
|
|
|
|
//console.varDump(request)
|
|
|
|
var data = request.postJson();//读取表单请求发送的数据,已解析为 aardio 对象
|
|
|
|
//var rst = send(data)
|
|
|
|
response.write({
|
|
|
|
"status": 0,
|
|
|
|
//"msg": "发送成功",
|
|
|
|
"data": getdev()
|
|
|
|
})
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
["/connectDev"] = function(response,request){
|
|
|
|
//console.varDump(request)
|
|
|
|
var data = request.postJson();//读取表单请求发送的数据,已解析为 aardio 对象
|
|
|
|
var rst = condev(data)
|
|
|
|
response.write({
|
|
|
|
"status": rst,
|
|
|
|
//"msg": "连接成功",
|
|
|
|
"msgTimeout": 100,
|
|
|
|
"data": {"rst":rst}
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
["/closeDev"] = function(response,request){
|
|
|
|
//console.varDump(request)
|
|
|
|
var data = request.postJson();//读取表单请求发送的数据,已解析为 aardio 对象
|
|
|
|
var rst = condev(data)
|
|
|
|
response.write({
|
|
|
|
"status": rst,
|
|
|
|
//"msg": "连接成功",
|
|
|
|
"msgTimeout": 100,
|
|
|
|
"data": {"rst":rst}
|
|
|
|
})
|
|
|
|
};
|
|
|
|
|
|
|
|
["/getTestModule"] = function(response,request){
|
|
|
|
//console.varDump(request)
|
|
|
|
var data = request.postJson();//读取表单请求发送的数据,已解析为 aardio 对象
|
|
|
|
var rst = getTestModule(data)
|
|
|
|
response.write({
|
|
|
|
"status": 0,
|
|
|
|
//"msg": "连接成功",
|
|
|
|
//"msgTimeout": 100,
|
|
|
|
"data": {"options":rst}
|
|
|
|
})
|
|
|
|
};
|
|
|
|
|
|
|
|
["/saveForm"] = function(response,request){
|
|
|
|
|
|
|
|
var data = request.postJson();//读取表单请求发送的数据,已解析为 aardio 对象
|
|
|
|
console.dumpJson(data)
|
|
|
|
//var rst = getTestModule(data)
|
|
|
|
response.write({
|
|
|
|
"status": 0,
|
|
|
|
//"msg": "连接成功",
|
|
|
|
//"msgTimeout": 100,
|
|
|
|
"data": {"options":0}
|
|
|
|
})
|
|
|
|
};
|
|
|
|
|
|
|
|
["/saveSubform"] = function(response,request){
|
|
|
|
|
|
|
|
var data = request.postJson();//读取表单请求发送的数据,已解析为 aardio 对象
|
|
|
|
console.dumpJson(data)
|
|
|
|
//var rst = getTestModule(data)
|
|
|
|
response.write({
|
|
|
|
"status": 0,
|
|
|
|
//"msg": "连接成功",
|
|
|
|
//"msgTimeout": 100,
|
|
|
|
"data": {"options":0}
|
|
|
|
})
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
["/getModuleInfo"] = function(response,request){
|
|
|
|
|
|
|
|
var data = request.postJson();//读取表单请求发送的数据,已解析为 aardio 对象
|
|
|
|
//console.dumpJson(data)
|
|
|
|
var rst = getModuleInfo(data)
|
|
|
|
response.write({
|
|
|
|
"status": 0,
|
|
|
|
//"msg": "连接成功",
|
|
|
|
//"msgTimeout": 100,
|
|
|
|
"data": rst
|
|
|
|
})
|
|
|
|
};
|
|
|
|
|
|
|
|
["/schema"] = function(response,request,session){
|
|
|
|
//var data = request.postJson();//读取表单请求发送的数据,已解析为 aardio 对象
|
|
|
|
var data = request.get["cmd"]
|
|
|
|
|
|
|
|
var rst = schema(data)
|
|
|
|
response.write({
|
|
|
|
"status": 0,
|
|
|
|
//"msg": "连接成功",
|
|
|
|
//"msgTimeout": 100,
|
|
|
|
"data": rst
|
|
|
|
})
|
|
|
|
};
|
2024-06-30 03:00:51 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
["/api/getStatus"] = function(response,request,session){
|
|
|
|
var data = request.postJson();//读取表单请求发送的数据,已解析为 aardio 对象
|
|
|
|
//var data = request.get["cmd"]
|
|
|
|
|
|
|
|
var rst = getStatus(data)
|
|
|
|
|
|
|
|
|
|
|
|
response.write({
|
|
|
|
"status": 0,
|
|
|
|
//"msg": "连接成功",
|
|
|
|
//"msgTimeout": 100,
|
|
|
|
"data": rst
|
|
|
|
})
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
2024-06-21 09:05:50 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
//可以支持 aardio 服务端 HTML 模板语法
|
|
|
|
var url = httpServer.getUrl("web\index.html"); //参数支持 aardio 工程嵌入资源目录路径
|
|
|
|
|
|
|
|
//用浏览器组件打开网页试试
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
wb.go(url);
|
|
|
|
//winform.fullscreen()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
winform.show();
|
|
|
|
win.loopMessage();
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
<script>
|
|
|
|
document.oncontextmenu = function () { return false; };
|
|
|
|
document.onkeydown = function () {
|
|
|
|
if (window.event && window.event.keyCode == 123) {
|
|
|
|
event.keyCode = 0;
|
|
|
|
event.returnValue = false;
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
};
|
|
|
|
</script>
|
|
|
|
|
|
|
|
*/
|