/* * @Author: changjun * @FilePath: /yuan-qingdao-zld-browser/src/views/screen/logic/useGlobalAttackMap.ts * @Date: 2022-09-06 09:48:47 * @Description: * @LastEditTime: 2023-09-01 17:42:57 * @LastEditors: 曹文丽 */ import { computed, ref } from 'vue'; import { createGlobalState } from '@vueuse/core'; import { mapMapping } from '../../../assets/map/provinceData'; import { getProvinceVisitObject } from '../../../api/screen/attackSituationScreen'; const mapData = mapMapping(); /** * @author changjun * @description 实时攻击监测大屏全局状态 * @date 2022/09/06 */ export const useGlobalAttackMap = createGlobalState(() => { // state const currentCity = ref(mapData?.name); // 当前选择的省市 const attacksCount = ref(0); // 攻击数 const visitCount = ref(0); // 访问数 const attackData = ref([]); // 设置当前选择的市 function setCurrentCity(city: string = mapData?.name) { currentCity.value = city; } function setAttacksCount(count: number = 0) { attacksCount.value = count; } function setVisitCount(count: number = 0) { visitCount.value = count; } async function getProvinceAttack() { // if (!attackData.value.length) { const { code, data } = (await getProvinceVisitObject({})) || {}; if (code === 200 && data) { attackData.value = data; } // } } return { attackData, currentCity, attacksCount, visitCount, setCurrentCity, setAttacksCount, setVisitCount, getProvinceAttack, }; });