first commit

This commit is contained in:
编码猿
2024-09-27 01:22:07 +08:00
commit 1360daaab0
931 changed files with 131068 additions and 0 deletions

View File

@@ -0,0 +1,157 @@
/**
* wx.send("操作类型|操作状态|其他数值")
* 操作类型y 代表速度摇杆
* x 代表方向摇杆
* o 代表其他操作
*/
class IndexPage {
constructor() {
// 自动壁障的开关
this.obstacleStatus =
localStorage.getItem("obstacleStatus") == null
? false
: JSON.parse(localStorage.getItem("obstacleStatus"))
// 前大灯的开关
this.fronLamp =
localStorage.getItem("fronLamp") == null
? false
: JSON.parse(localStorage.getItem("fronLamp"))
// 双闪的开关
this.doubleStatus =
localStorage.getItem("doubleStatus") == null
? false
: JSON.parse(localStorage.getItem("doubleStatus"))
// 手势跟随的开关
this.handStatus =
localStorage.getItem("handStatus") == null
? false
: JSON.parse(localStorage.getItem("handStatus"))
this.doubleIntervalId = null;
this.socket = new WS();
this.Joystick();
this.bindActionButton();
}
Joystick() {
// 前进后退摇杆
// status-1 前进 1 后退0 停止
// speed前进后退的速度 0 ~ 255 之间
var s1 = new Joystick("stick1", "y", (status, speed) => {
this.socket.ws.send(`y|${status}|${speed}`)
});
// 左右转向摇杆
// status3左转 4右转 0 转向恢复原样(直行)
var s2 = new Joystick("stick2", "x", (status) => {
this.socket.ws.send(`x|${status}`)
});
this.socket.onmessage((res) => {
console.log("res = ",res);
alert("web收到请求为")
alert(JSON.stringify(res))
res = res.split("|");
switch (res[0]) {
case "server":
if (res[1] == "y") {
$("#stick1").style = "";
$("#stick2").style = "";
s1.active = false;
s1.dragStart = { x: 0, y: 0 };
s2.active = false;
s2.dragStart = { x: 0, y: 0 };
}
break;
case "client":
break;
default:
break;
}
})
}
bindActionButton() {
if (this.obstacleStatus) {
$(".obstacle_wrap").classList.add("open")
}
if (this.fronLamp) {
$(".icon-zidongdadeng").classList.add("open")
}
if (this.doubleStatus) {
$(".icon-jinggao_o").classList.add("open")
}
if (this.handStatus) {
$(".hand_wrap").classList.add("open")
}
// 喇叭开关
$(".icon-xiaolaba").onclick = () => {
this.play();
this.socket.ws.send(`b|buzzer|1`)
}
// 手势跟随
$(".hand_wrap").onclick = () => {
this.play();
this.handStatus = !this.handStatus
$(".hand_wrap").classList.toggle("open")
localStorage.setItem("handStatus", this.handStatus)
this.socket.ws.send(`b|openHand|${this.handStatus ? '1' : '0'}`)
}
// 前面大灯
$(".icon-zidongdadeng").onclick = () => {
this.play();
this.fronLamp = !this.fronLamp
$(".icon-zidongdadeng").classList.toggle("open")
localStorage.setItem("fronLamp", this.fronLamp)
this.socket.ws.send(`b|fronLamp|${this.fronLamp ? '1' : '0'}`)
}
// 双闪
$(".icon-jinggao_o").onclick = () => {
this.play();
this.doubleStatus = !this.doubleStatus
$(".icon-jinggao_o").classList.toggle("open")
localStorage.setItem("doubleStatus", this.doubleStatus)
if (this.doubleStatus) {
this.doubleIntervalId = setInterval(() => this.socket.ws.send(`b|doubleFlash|1`), 1000)
} else {
clearInterval(this.doubleIntervalId)
this.socket.ws.send(`b|doubleFlash|0`)
}
}
$(".obstacle_wrap").onclick = () => {
this.play();
// 1 true, 0 false
this.obstacleStatus = !this.obstacleStatus
$(".obstacle_wrap").classList.toggle("open")
localStorage.setItem("obstacleStatus", this.obstacleStatus)
this.socket.ws.send(`b|obstacle|${this.obstacleStatus ? '1' : '0'}`)
}
}
play() {
$(".actionAudio").play();
}
}
new IndexPage();