|  | @@ -1,4 +1,4 @@
 | 
	
		
			
				|  |  | -import { defineComponent, ref, onMounted, onBeforeMount, nextTick } from 'vue';
 | 
	
		
			
				|  |  | +import { defineComponent, ref, onMounted, nextTick, onUnmounted } from 'vue';
 | 
	
		
			
				|  |  |  import styles from './index.module.less';
 | 
	
		
			
				|  |  |  import { NImage, NBadge, NPopover, NIcon, NModal, NTooltip } from 'naive-ui';
 | 
	
		
			
				|  |  |  import styles2 from './modals/suggestion-option.module.less';
 | 
	
	
		
			
				|  | @@ -25,6 +25,8 @@ import ImGroup from './imGroup';
 | 
	
		
			
				|  |  |  import SuggestionOption from './modals/suggestion-option';
 | 
	
		
			
				|  |  |  import dayjs from 'dayjs';
 | 
	
		
			
				|  |  |  import ClassModal from '/src/views/home/modals/class-modal';
 | 
	
		
			
				|  |  | +import { suggestMessageUnread } from '/src/api/user';
 | 
	
		
			
				|  |  | +import { eventGlobal } from '/src/utils';
 | 
	
		
			
				|  |  |  export default defineComponent({
 | 
	
		
			
				|  |  |    name: 'layoutTop',
 | 
	
		
			
				|  |  |    setup() {
 | 
	
	
		
			
				|  | @@ -60,11 +62,40 @@ export default defineComponent({
 | 
	
		
			
				|  |  |        console.log(suggestionOptionRef.value, 'suggestionOptionRef');
 | 
	
		
			
				|  |  |      };
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    const suggestionStatus = ref(false);
 | 
	
		
			
				|  |  | +    const getSuggestMessageUnread = async () => {
 | 
	
		
			
				|  |  | +      try {
 | 
	
		
			
				|  |  | +        const { data } = await suggestMessageUnread();
 | 
	
		
			
				|  |  | +        const temp = data || [];
 | 
	
		
			
				|  |  | +        let system: any = {};
 | 
	
		
			
				|  |  | +        temp.forEach((item: any) => {
 | 
	
		
			
				|  |  | +          if (item.group === 'SYSTEM') {
 | 
	
		
			
				|  |  | +            system = item;
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        });
 | 
	
		
			
				|  |  | +        if (system.number > 0) {
 | 
	
		
			
				|  |  | +          suggestionStatus.value = system.number > 0 ? true : false;
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +          suggestionStatus.value = false;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      } catch {
 | 
	
		
			
				|  |  | +        //
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    };
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      onMounted(() => {
 | 
	
		
			
				|  |  |        window.addEventListener('message', onImMessage);
 | 
	
		
			
				|  |  |        showImGroupLoading.value = true;
 | 
	
		
			
				|  |  |        showImGroup.value = true;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +      getSuggestMessageUnread();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      eventGlobal.on('onSuggestionRead', () => {
 | 
	
		
			
				|  |  | +        if (suggestionStatus.value) {
 | 
	
		
			
				|  |  | +          getSuggestMessageUnread();
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      });
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |        nextTick(() => {
 | 
	
		
			
				|  |  |          setTimeout(() => {
 | 
	
		
			
				|  |  |            showImGroup.value = false;
 | 
	
	
		
			
				|  | @@ -87,7 +118,7 @@ export default defineComponent({
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |      };
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    onBeforeMount(() => {
 | 
	
		
			
				|  |  | +    onUnmounted(() => {
 | 
	
		
			
				|  |  |        window.removeEventListener('message', onImMessage);
 | 
	
		
			
				|  |  |      });
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -139,7 +170,9 @@ export default defineComponent({
 | 
	
		
			
				|  |  |                {{
 | 
	
		
			
				|  |  |                  trigger: () => (
 | 
	
		
			
				|  |  |                    <div class={styles.optons} onClick={showOption}>
 | 
	
		
			
				|  |  | -                    <NImage src={opinionIcon} previewDisabled></NImage>
 | 
	
		
			
				|  |  | +                    <NBadge dot={suggestionStatus.value} color={'#FF1036'}>
 | 
	
		
			
				|  |  | +                      <NImage src={opinionIcon} previewDisabled></NImage>
 | 
	
		
			
				|  |  | +                    </NBadge>
 | 
	
		
			
				|  |  |                    </div>
 | 
	
		
			
				|  |  |                  ),
 | 
	
		
			
				|  |  |                  default: '意见反馈'
 |