物理沙盘
This commit is contained in:
@ -3,7 +3,6 @@ import { getmainWindow } from "../../index";
|
||||
let server;
|
||||
let Store = require("electron-store");
|
||||
let store = new Store();
|
||||
import { logger } from "../log";
|
||||
let sandTable_udp_server_port = "sandTable_udp_server_port";
|
||||
function Init() {
|
||||
if (server) {
|
||||
@ -23,41 +22,60 @@ function Init() {
|
||||
);
|
||||
// logger.info(msg.toString())
|
||||
// server.send('world', remoteInfo.port, remoteInfo.address)
|
||||
// ['json','string']
|
||||
let ModeIndex=1
|
||||
try {
|
||||
var s = JSON.parse(msg.toString());
|
||||
let positions = [];
|
||||
var str = msg.toString();
|
||||
//角度
|
||||
let angle = 45;
|
||||
if (typeof s == "string") s = JSON.parse(s);
|
||||
console.log(s);
|
||||
if(ModeIndex==0){
|
||||
let s=JSON.parse(str)
|
||||
if (typeof s == "string") s = JSON.parse(s);
|
||||
console.log(s);
|
||||
|
||||
// if(s.hasOwnProperty("Placemark")){
|
||||
if (s.Placemark.hasOwnProperty("Point")) {
|
||||
let arr = s.Placemark.Point.coordinates.split(",");
|
||||
let position = {
|
||||
lng: Number(arr[0]),
|
||||
lat: Number(arr[1]),
|
||||
alt: Number(arr[2]) || 0,
|
||||
};
|
||||
if (arr.length > 2) position.alt = arr[2];
|
||||
if (arr.length > 3) angle = arr[3];
|
||||
positions.push(position);
|
||||
} else
|
||||
{
|
||||
let coordinates =
|
||||
s.Placemark.Polygon.outerBoundaryIs.LinearRing.coordinates;
|
||||
const parseCoordinates = (coords) => {
|
||||
return coords.split(" ").map((pair) => {
|
||||
const [lng, lat] = pair.split(",").map(Number);
|
||||
return { lng, lat };
|
||||
});
|
||||
};
|
||||
positions = parseCoordinates(coordinates);
|
||||
}
|
||||
getmainWindow().webContents.send(
|
||||
sandTable_udp_server_port,
|
||||
positions,
|
||||
angle
|
||||
);
|
||||
}else if(ModeIndex==1){
|
||||
// 点位码
|
||||
let key=str.slice(0,-1)
|
||||
// 反馈指令的后缀 K或G
|
||||
let status=str.split(key)[1]
|
||||
getmainWindow().webContents.send(
|
||||
sandTable_udp_server_port+"_str",
|
||||
key,
|
||||
status
|
||||
);
|
||||
|
||||
// if(s.hasOwnProperty("Placemark")){
|
||||
if (s.Placemark.hasOwnProperty("Point")) {
|
||||
let arr = s.Placemark.Point.coordinates.split(",");
|
||||
let position = {
|
||||
lng: Number(arr[0]),
|
||||
lat: Number(arr[1]),
|
||||
alt: Number(arr[2]) || 0,
|
||||
};
|
||||
if (arr.length > 2) position.alt = arr[2];
|
||||
if (arr.length > 3) angle = arr[3];
|
||||
positions.push(position);
|
||||
} else {
|
||||
let coordinates =
|
||||
s.Placemark.Polygon.outerBoundaryIs.LinearRing.coordinates;
|
||||
const parseCoordinates = (coords) => {
|
||||
return coords.split(" ").map((pair) => {
|
||||
const [lng, lat] = pair.split(",").map(Number);
|
||||
return { lng, lat };
|
||||
});
|
||||
};
|
||||
positions = parseCoordinates(coordinates);
|
||||
}
|
||||
getmainWindow().webContents.send(
|
||||
sandTable_udp_server_port,
|
||||
positions,
|
||||
angle
|
||||
);
|
||||
|
||||
|
||||
// }else{
|
||||
// console.log("内容不正确");
|
||||
|
||||
@ -69,12 +87,16 @@ function Init() {
|
||||
server.on("error", (err) => {
|
||||
console.log("server error", err);
|
||||
});
|
||||
console.log("port",port)
|
||||
server.bind(port);
|
||||
sendMsg("AFFG")
|
||||
}
|
||||
function sendMsg(val) {
|
||||
let msg;
|
||||
let port = store.get("sandTable_udp_client_port");
|
||||
let port = store.get("sandTable_udp_client_port")||60000;
|
||||
let ip = store.get("sandTable_udp_client_host");
|
||||
server.send(val, port, ip);
|
||||
return
|
||||
let num = val.toString().split("");
|
||||
let swit = Number(num.pop());
|
||||
if (swit == 1 || swit == 0) {
|
||||
@ -89,6 +111,7 @@ function sendMsg(val) {
|
||||
let cntHex = cnt.toString(16);
|
||||
let switHex = swit.toString(16);
|
||||
const message = Buffer.from([cntHex, switHex], "hex");
|
||||
console.log("message",message)
|
||||
server.send(message, port, ip);
|
||||
msg = "发送成功";
|
||||
} else {
|
||||
@ -117,6 +140,7 @@ function GetUdpServerPort() {
|
||||
port = server_port;
|
||||
}
|
||||
let host = getHostIP();
|
||||
console.log("GetUdpServerPort",port)
|
||||
return { port, host };
|
||||
}
|
||||
function getHostIP() {
|
||||
|
||||
Reference in New Issue
Block a user