fix: 解决轨迹放大缩小
This commit is contained in:
parent
78436c39f7
commit
94d7ba9194
@ -35,7 +35,7 @@ export default struct SignalDisplayComponent {
|
||||
}
|
||||
|
||||
aboutToDisappear(): void {
|
||||
DifferentialAndSignal.onMsg(this.getMsg)
|
||||
DifferentialAndSignal.offMsg(this.getMsg)
|
||||
}
|
||||
|
||||
getMsg = (data: string) => {
|
||||
@ -162,6 +162,7 @@ export default struct SignalDisplayComponent {
|
||||
struct trajectoryComponent {
|
||||
@State scaleNum: number = 100
|
||||
scaleFn = async (num: number) => {
|
||||
console.log("缩放传入数据", num.toString())
|
||||
const scaleNum = this.scaleNum
|
||||
if (scaleNum > 0 && scaleNum < 5000) {
|
||||
this.scaleNum += num;
|
||||
@ -172,6 +173,7 @@ struct trajectoryComponent {
|
||||
if (scaleNum > 5000 && num < 0) {
|
||||
this.scaleNum += num;
|
||||
}
|
||||
console.log("缩放数据", this.scaleNum.toString())
|
||||
await examJudgeMapSetScaling(this.scaleNum);
|
||||
}
|
||||
getScaleNum = (): number => {
|
||||
@ -206,7 +208,7 @@ struct trajectoryComponent {
|
||||
})
|
||||
Row() {
|
||||
Image($rawfile('judge/big.png')).width(60).onClick(() => {
|
||||
this.scaleFn(this.getScaleNum() - 1)
|
||||
this.scaleFn(-this.getScaleNum())
|
||||
})
|
||||
Image($rawfile('judge/small.png')).width(60).onClick(() => {
|
||||
this.scaleFn(this.getScaleNum())
|
||||
|
||||
@ -12,6 +12,8 @@ export default class TcpClient {
|
||||
private tcpSendNum: number = 0
|
||||
private tcp: socket.TCPSocket = socket.constructTCPSocketInstance()
|
||||
private events: Array<Function> = []
|
||||
// 连接状态是否成功
|
||||
private linkStatus: boolean = false
|
||||
|
||||
constructor() {
|
||||
if (!TcpClient.instance) {
|
||||
@ -58,6 +60,7 @@ export default class TcpClient {
|
||||
}, timeout: 1000 * 15
|
||||
})
|
||||
.then(() => {
|
||||
this.linkStatus = true
|
||||
this.getMessage()
|
||||
console.log(TCPTag, "tcp connect success")
|
||||
return this.tcp.setExtraOptions({
|
||||
@ -68,6 +71,7 @@ export default class TcpClient {
|
||||
resolve(true)
|
||||
})
|
||||
.catch((err: BusinessError) => {
|
||||
this.linkStatus = false
|
||||
console.log(TCPTag, "tcp connect or keepAlive error: ", JSON.stringify(err))
|
||||
console.log(TCPTag, "tcp 重启服务")
|
||||
reject(err)
|
||||
@ -76,6 +80,10 @@ export default class TcpClient {
|
||||
}
|
||||
|
||||
getMessage() {
|
||||
if (!this.linkStatus) {
|
||||
console.log(TCPTag, '不允许获取消息: TCP未连接');
|
||||
return;
|
||||
}
|
||||
this.tcp.on("message", value => {
|
||||
let data = new DataView(value.message)
|
||||
this.events.forEach(cb => {
|
||||
@ -88,6 +96,7 @@ export default class TcpClient {
|
||||
|
||||
// 重新绑定tcp
|
||||
async reBind() {
|
||||
console.log(TCPTag, 'tcp rebind')
|
||||
await this.close()
|
||||
this.tcp = socket.constructTCPSocketInstance();
|
||||
await this.bindTcp()
|
||||
@ -109,11 +118,19 @@ export default class TcpClient {
|
||||
|
||||
// 监听tcp消息
|
||||
onMsg(callback: Function) {
|
||||
this.events.push(callback)
|
||||
if (this.events.includes(callback)) {
|
||||
console.log(TCPTag, '已经存在这个获取消息方法了');
|
||||
return;
|
||||
}
|
||||
this.events.push(callback);
|
||||
}
|
||||
|
||||
// 接收tcp消息
|
||||
sendMsg(data: string): Promise<void> {
|
||||
if (!this.linkStatus) {
|
||||
console.log(TCPTag, '不允许发送: TCP未连接');
|
||||
return Promise.reject(new Error('TCP connection is not established'));
|
||||
}
|
||||
return this.tcp?.send({
|
||||
data
|
||||
}).catch(async (err: BusinessError) => {
|
||||
|
||||
@ -37,6 +37,8 @@ export default class UdpClient {
|
||||
private messageEvents: Array<Function> = []
|
||||
private errorEvents: Array<Function> = []
|
||||
private dealMethod?: DealMethod<object>
|
||||
// 连接状态
|
||||
private linkStatus: boolean = false
|
||||
|
||||
// 绑定udp连接
|
||||
bindUdp(): Promise<void> | undefined {
|
||||
|
||||
@ -67,7 +67,8 @@ class differentialAndSignal {
|
||||
getMessage() {
|
||||
this.workerInstance.onmessage = (e: MessageEvents): void => {
|
||||
if (e.data) {
|
||||
// console.log(WorkerTag, "Worker 收到消息: " + e.data);
|
||||
console.log(WorkerTag, "Worker 收到消息: " + e.data);
|
||||
console.log(WorkerTag, "Worker 目前监听数量: " + this.events.length.toString());
|
||||
this.events.forEach((callback) => {
|
||||
callback(e.data);
|
||||
});
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user