import {useUserStore} from "@/store/modules/user"; import {saveLongitudeLatitude} from "@/api/position"; import {store} from "@/store"; const userStore = useUserStore(store); // 发送经纬度到后端 export function sendPosition() { getPosition().then((data: any) => { console.log("当前经度:" + data.longitude + "\n 当前纬度:" + data.latitude) if (userStore.getUserInfo.userID && data.longitude && data.latitude) { const sendData = { userId: userStore.getUserInfo.userID, time: Date.now(), longitude: data.longitude, latitude: data.latitude, } // 发送请求 saveLongitudeLatitude(sendData); } }) } // 获取经纬度 export function getPosition() { return new Promise((resolve, reject) => { if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(function (position) { const latitude = position.coords.latitude.toFixed(5) const longitude = position.coords.longitude.toFixed(5) const data = { latitude: latitude, longitude: longitude } resolve(data) }, function () { // eslint-disable-next-line prefer-rest-params reject(arguments) }, { enableHighAccuracy: true, timeout: 10000 }) } else { reject('你的浏览器不支持当前地理位置信息获取') } }) } // 设置定时器 export function setPositionInterval() { const time = setInterval(sendPosition, 1000 * 60 * 10); userStore.setTimer(time); } // 清除定时器 export function clearPositionInterval() { userStore.clearTimer(); }