Squashed commit of the following:
All checks were successful
local-test分支构建发布 / Docker-Build (push) Successful in 1m53s
All checks were successful
local-test分支构建发布 / Docker-Build (push) Successful in 1m53s
commit33292ca9b8
Author: joylink_fanyuhong <18706759286@163.com> Date: Tue Nov 12 09:17:32 2024 +0800 订阅处理 commitcdcad825f7
Author: joylink_fanyuhong <18706759286@163.com> Date: Tue Nov 12 09:13:54 2024 +0800 取消订阅调整 commit44f7389132
Merge:425d8e9
a2ae992
Author: joylink_fanyuhong <18706759286@163.com> Date: Mon Nov 11 18:18:43 2024 +0800 Merge remote-tracking branch 'origin/develop' into develop commit425d8e986b
Author: joylink_fanyuhong <18706759286@163.com> Date: Mon Nov 11 18:16:10 2024 +0800 处理订阅 commita2ae99209f
Author: joylink_zhaoerwei <Bob_Engineer@163.com> Date: Mon Nov 11 17:48:52 2024 +0800 订阅调整
This commit is contained in:
parent
40e11e0d67
commit
158aed62e6
@ -95,7 +95,10 @@ export function destroyLineApp(): void {
|
|||||||
|
|
||||||
export function initLineApp(lineId: number): IGraphicApp {
|
export function initLineApp(lineId: number): IGraphicApp {
|
||||||
lineApp = lineAppMap.get(lineId) || null;
|
lineApp = lineAppMap.get(lineId) || null;
|
||||||
if (lineApp) return lineApp;
|
if (lineApp) {
|
||||||
|
handleSubscribe(lineApp);
|
||||||
|
return lineApp;
|
||||||
|
}
|
||||||
lineApp = newGraphicApp({
|
lineApp = newGraphicApp({
|
||||||
interactiveGraphicTypeIncludes: [
|
interactiveGraphicTypeIncludes: [
|
||||||
Signal.Type,
|
Signal.Type,
|
||||||
@ -258,6 +261,18 @@ export async function loadLineDatas(): Promise<IGraphicStorage> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function cancelSubscribe(lineApp: IGraphicApp) {
|
||||||
|
const lineStore = useLineStore();
|
||||||
|
const lineId = lineStore.lineId;
|
||||||
|
if (lineId) {
|
||||||
|
lineApp.unsubscribe(`/queue/line/${lineId}/device`);
|
||||||
|
lineApp.unsubscribe(`/queue/line/${lineId}/train`);
|
||||||
|
monitorDestinations.forEach((destination) => {
|
||||||
|
lineApp.unsubscribe(destination);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
let monitorDestinations: string[] = [];
|
||||||
function handleSubscribe(lineApp: IGraphicApp) {
|
function handleSubscribe(lineApp: IGraphicApp) {
|
||||||
const lineStore = useLineStore();
|
const lineStore = useLineStore();
|
||||||
const lineId = lineStore.lineId;
|
const lineId = lineStore.lineId;
|
||||||
@ -312,7 +327,8 @@ function handleSubscribe(lineApp: IGraphicApp) {
|
|||||||
});
|
});
|
||||||
const lineNetStore = useLineNetStore();
|
const lineNetStore = useLineNetStore();
|
||||||
const userStore = useUserStore();
|
const userStore = useUserStore();
|
||||||
getMonitorPath(userStore.roles).destinations.forEach((destination) => {
|
monitorDestinations = getMonitorPath(userStore.roles).destinations;
|
||||||
|
monitorDestinations.forEach((destination) => {
|
||||||
lineApp.subscribe({
|
lineApp.subscribe({
|
||||||
destination,
|
destination,
|
||||||
messageHandle: (message: Uint8Array) => {
|
messageHandle: (message: Uint8Array) => {
|
||||||
|
@ -52,7 +52,10 @@ export function destroyLineNetApp(): void {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export function initLineNetApp(): IGraphicApp {
|
export function initLineNetApp(): IGraphicApp {
|
||||||
if (lineNetApp) return lineNetApp;
|
if (lineNetApp) {
|
||||||
|
handleSubscribe(lineNetApp);
|
||||||
|
return lineNetApp;
|
||||||
|
}
|
||||||
lineNetApp = newGraphicApp({
|
lineNetApp = newGraphicApp({
|
||||||
interactiveGraphicTypeIncludes: [
|
interactiveGraphicTypeIncludes: [
|
||||||
RunLine.Type,
|
RunLine.Type,
|
||||||
@ -146,7 +149,15 @@ export async function loadLineNetDatas(): Promise<IGraphicStorage> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function handleSubscribe(lineNetApp: IGraphicApp) {
|
export function cancelSubscribe(lineNetApp: IGraphicApp) {
|
||||||
|
lineNetApp.unsubscribe('/queue/lineNet');
|
||||||
|
monitorDestinations.forEach((destination) => {
|
||||||
|
lineNetApp.unsubscribe(destination);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
let monitorDestinations: string[] = [];
|
||||||
|
export function handleSubscribe(lineNetApp: IGraphicApp) {
|
||||||
const lineNetStore = useLineNetStore();
|
const lineNetStore = useLineNetStore();
|
||||||
lineNetApp.enableWsMassaging({
|
lineNetApp.enableWsMassaging({
|
||||||
wsUrl: `${getWebsocketUrl()}`,
|
wsUrl: `${getWebsocketUrl()}`,
|
||||||
@ -165,7 +176,8 @@ function handleSubscribe(lineNetApp: IGraphicApp) {
|
|||||||
},
|
},
|
||||||
});
|
});
|
||||||
const userStore = useUserStore();
|
const userStore = useUserStore();
|
||||||
getMonitorPath(userStore.roles).destinations.forEach((destination) => {
|
monitorDestinations = getMonitorPath(userStore.roles).destinations;
|
||||||
|
monitorDestinations.forEach((destination) => {
|
||||||
lineNetApp.subscribe({
|
lineNetApp.subscribe({
|
||||||
destination,
|
destination,
|
||||||
messageHandle: (message: Uint8Array) => {
|
messageHandle: (message: Uint8Array) => {
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { onMounted, watch } from 'vue';
|
import { onMounted, onUnmounted, watch } from 'vue';
|
||||||
import { useLineStore } from 'src/stores/line-store';
|
import { useLineStore } from 'src/stores/line-store';
|
||||||
import { useRoute } from 'vue-router';
|
import { useRoute } from 'vue-router';
|
||||||
import { useLineNetStore } from 'src/stores/line-net-store';
|
import { useLineNetStore } from 'src/stores/line-net-store';
|
||||||
@ -80,7 +80,7 @@ function centerFaultDevice() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// onUnmounted(() => {
|
onUnmounted(() => {
|
||||||
// lineStore.destroy();
|
lineStore.cancelSubscribe();
|
||||||
// });
|
});
|
||||||
</script>
|
</script>
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { onMounted, watch } from 'vue';
|
import { onMounted, onUnmounted, watch } from 'vue';
|
||||||
import { useLineNetStore } from 'src/stores/line-net-store';
|
import { useLineNetStore } from 'src/stores/line-net-store';
|
||||||
import { RunLine } from 'src/graphics/runLine/RunLine';
|
import { RunLine } from 'src/graphics/runLine/RunLine';
|
||||||
import { useRouter } from 'vue-router';
|
import { useRouter } from 'vue-router';
|
||||||
@ -73,7 +73,7 @@ onMounted(() => {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// onUnmounted(() => {
|
onUnmounted(() => {
|
||||||
// lineNetStore.destroy();
|
lineNetStore.cancelSubscribe();
|
||||||
// });
|
});
|
||||||
</script>
|
</script>
|
||||||
|
@ -4,6 +4,7 @@ import {
|
|||||||
initLineNetApp,
|
initLineNetApp,
|
||||||
getLineNetApp,
|
getLineNetApp,
|
||||||
destroyLineNetApp,
|
destroyLineNetApp,
|
||||||
|
cancelSubscribe,
|
||||||
} from 'src/drawApp/lineNetApp';
|
} from 'src/drawApp/lineNetApp';
|
||||||
import { markRaw } from 'vue';
|
import { markRaw } from 'vue';
|
||||||
import { QTable } from 'quasar';
|
import { QTable } from 'quasar';
|
||||||
@ -72,6 +73,10 @@ export const useLineNetStore = defineStore('lineNet', {
|
|||||||
this.selectedGraphics = [];
|
this.selectedGraphics = [];
|
||||||
return app;
|
return app;
|
||||||
},
|
},
|
||||||
|
cancelSubscribe() {
|
||||||
|
const app = this.getLineNetApp();
|
||||||
|
cancelSubscribe(app);
|
||||||
|
},
|
||||||
destroy() {
|
destroy() {
|
||||||
this.selectedGraphics = null;
|
this.selectedGraphics = null;
|
||||||
destroyLineNetApp();
|
destroyLineNetApp();
|
||||||
|
@ -1,6 +1,11 @@
|
|||||||
import { defineStore } from 'pinia';
|
import { defineStore } from 'pinia';
|
||||||
import { IJlCanvas, JlGraphic, IGraphicApp } from 'jl-graphic';
|
import { IJlCanvas, JlGraphic, IGraphicApp } from 'jl-graphic';
|
||||||
import { initLineApp, getLineApp, destroyLineApp } from 'src/drawApp/lineApp';
|
import {
|
||||||
|
initLineApp,
|
||||||
|
getLineApp,
|
||||||
|
destroyLineApp,
|
||||||
|
cancelSubscribe,
|
||||||
|
} from 'src/drawApp/lineApp';
|
||||||
import { markRaw } from 'vue';
|
import { markRaw } from 'vue';
|
||||||
|
|
||||||
export const useLineStore = defineStore('line', {
|
export const useLineStore = defineStore('line', {
|
||||||
@ -50,6 +55,10 @@ export const useLineStore = defineStore('line', {
|
|||||||
this.selectedGraphics = null;
|
this.selectedGraphics = null;
|
||||||
destroyLineApp();
|
destroyLineApp();
|
||||||
},
|
},
|
||||||
|
cancelSubscribe() {
|
||||||
|
const app = this.getLineApp();
|
||||||
|
cancelSubscribe(app);
|
||||||
|
},
|
||||||
setLineId(id: number | null) {
|
setLineId(id: number | null) {
|
||||||
this.lineId = id;
|
this.lineId = id;
|
||||||
},
|
},
|
||||||
|
Loading…
Reference in New Issue
Block a user