#
luxiaotao1123
2024-11-07 73c664eb617b2a6776df267e90ef85e57d7a8a5f
#
3个文件已修改
46 ■■■■■ 已修改文件
zy-acs-flow/src/map/MapPage.jsx 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-flow/src/map/player.js 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/MapDataWsScheduler.java 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-flow/src/map/MapPage.jsx
@@ -83,6 +83,7 @@
                Tool.generateDynamicGraphic(curZone, JSON.parse(wsMsg), setCurSprite);
            }
            player.rotateMap(localStorage.getItem('mapRotation'));
            setTimeout(() => {
                notify.info(translate('page.map.welcome'));
                player.adaptScreen();
@@ -421,10 +422,7 @@
                        color="primary"
                        size="small"
                        onClick={() => {
                            player.rotateMap();
                            // setTimeout(() => {
                            //     player.adaptScreen();
                            // }, 500)
                            player.rotateMap(Math.PI / 2);
                        }}
                    >
                        <RotateRight />
zy-acs-flow/src/map/player.js
@@ -228,19 +228,24 @@
            }, 200).start();
    }
    rotateMap = () => {
    rotateMap = (value = 0) => {
        const bounds = this.mapContainer.getLocalBounds();
        const centerX = bounds.x + bounds.width / 2;
        const centerY = bounds.y + bounds.height / 2;
        this.mapContainer.pivot.set(centerX, centerY);
        this.mapContainer.position.set(this.app.renderer.width / 2, this.app.renderer.height / 2);
        const rotationIncrement = Math.PI / 2; // 90 degrees in radians
        const newRotation = this.mapContainer.rotation + rotationIncrement;
        const newRotation = this.mapContainer.rotation + value;
        const rotationDegrees = (newRotation * 180 / Math.PI) % 360;
        this.rotationText.text = `{ rotation: ${rotationDegrees.toFixed(1)}° }`;
        new TWEEDLE.Tween(this.mapContainer)
            .to({ rotation: newRotation }, 200)
            .easing(TWEEDLE.Easing.Quadratic.Out)
            .onComplete(() => {
                localStorage.setItem('mapRotation', newRotation % (Math.PI * 2));
            })
            .start();
    }
@@ -254,6 +259,16 @@
        this.coordinatesText.name = 'xyStr';
        this.coordinatesText.position.set(10, 10);
        this.app.stage.addChild(this.coordinatesText);
        this.rotationText = new PIXI.Text('Rotation: 0°', {
            fill: this.themeMode === 'dark' ? 0xdddddd : 0x333333,
            fontSize: 13,
            fontFamily: 'Microsoft YaHei',
            fontWeight: 'bold',
        });
        this.rotationText.name = 'rotationStr';
        this.rotationText.position.set(10, 35);
        this.app.stage.addChild(this.rotationText);
        this.app.stage.on('pointermove', (event) => {
            const worldPos = event.data.getLocalPosition(this.mapContainer);
@@ -413,6 +428,9 @@
        if (this.coordinatesText) {
            this.coordinatesText.style.fill = themeMode === 'dark' ? 0xdddddd : 0x333333;
        }
        if (this.rotationText) {
            this.rotationText.style.fill = themeMode === 'dark' ? 0xdddddd : 0x333333;
        }
    }
}
zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/MapDataWsScheduler.java
@@ -42,18 +42,18 @@
    @Scheduled(cron = "0/1 * * * * ? ")
    public void broadcast() {
//        i++;
//        int key;
//        if (i > 10) {
//            i=0;
//        }
//        key = i /2;
//        MapWebSocket.broadcast(mockData.get(key));
        i++;
        int key;
        if (i > 10) {
            i=0;
        }
        key = i /2;
        MapWebSocket.broadcast(mockData.get(key));
        MapWsVo mapWsVo = new MapWsVo();
        mapWsVo.setAgvVos(syncAgv());
        MapWebSocket.broadcast(GsonUtils.toJson(mapWsVo));
//        MapWebSocket.broadcast(GsonUtils.toJson(mapWsVo));
    }
    private List<MapWsAgvVo> syncAgv() {