12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- 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();
- }
|