Commit 55550f5804b7e4f8dc4c9f29db226dbf88480626

Authored by ww
1 parent eeb8e4d1

fix: global alarm not notify on switch page

@@ -27,8 +27,6 @@ export function useAlarmNotify(params: UseAlarmNotifyParams = {}) { @@ -27,8 +27,6 @@ export function useAlarmNotify(params: UseAlarmNotifyParams = {}) {
27 27
28 let timeout: Nullable<NodeJS.Timer> = null; 28 let timeout: Nullable<NodeJS.Timer> = null;
29 29
30 - let currentNotifyId: Nullable<string> = null;  
31 -  
32 const getAlarmLog = async () => { 30 const getAlarmLog = async () => {
33 try { 31 try {
34 const { items = [] } = 32 const { items = [] } =
@@ -37,12 +35,12 @@ export function useAlarmNotify(params: UseAlarmNotifyParams = {}) { @@ -37,12 +35,12 @@ export function useAlarmNotify(params: UseAlarmNotifyParams = {}) {
37 if (items.length) { 35 if (items.length) {
38 const first = items.at(0)!; 36 const first = items.at(0)!;
39 const { deviceName, id, severity } = first; 37 const { deviceName, id, severity } = first;
40 - if (currentNotifyId === id) return;  
41 - currentNotifyId = id;  
42 38
43 - const key = `open-notify-${Date.now()}`; 39 + let key: Nullable<string> = `open-notify-${id}`;
44 40
45 const severityMean = alarmLevel(severity); 41 const severityMean = alarmLevel(severity);
  42 +
  43 + console.log('enter');
46 notification.open({ 44 notification.open({
47 message: '设备告警', 45 message: '设备告警',
48 duration: null, 46 duration: null,
@@ -62,7 +60,11 @@ export function useAlarmNotify(params: UseAlarmNotifyParams = {}) { @@ -62,7 +60,11 @@ export function useAlarmNotify(params: UseAlarmNotifyParams = {}) {
62 ]), 60 ]),
63 ]), 61 ]),
64 icon: h(ExclamationCircleOutlined, { style: { color: '#faa22d' } }), 62 icon: h(ExclamationCircleOutlined, { style: { color: '#faa22d' } }),
65 - onClose: () => (currentNotifyId = null), 63 + onClose: () => {
  64 + console.log('enter close');
  65 + // currentNotifyId = null;
  66 + key = null;
  67 + },
66 btn: h( 68 btn: h(
67 Button, 69 Button,
68 { 70 {
@@ -70,7 +72,8 @@ export function useAlarmNotify(params: UseAlarmNotifyParams = {}) { @@ -70,7 +72,8 @@ export function useAlarmNotify(params: UseAlarmNotifyParams = {}) {
70 size: 'small', 72 size: 'small',
71 onClick: async () => { 73 onClick: async () => {
72 await handleMarkRead(id); 74 await handleMarkRead(id);
73 - notification.close(key); 75 + notification.close(key!);
  76 + key = null;
74 }, 77 },
75 }, 78 },
76 () => '标记已读' 79 () => '标记已读'
@@ -93,5 +96,6 @@ export function useAlarmNotify(params: UseAlarmNotifyParams = {}) { @@ -93,5 +96,6 @@ export function useAlarmNotify(params: UseAlarmNotifyParams = {}) {
93 onUnmounted(() => { 96 onUnmounted(() => {
94 clearInterval(timeout as NodeJS.Timer); 97 clearInterval(timeout as NodeJS.Timer);
95 timeout = null; 98 timeout = null;
  99 + // currentNotifyId = null;
96 }); 100 });
97 } 101 }