Files
d8d-admin-mobile-starter-pu…/client/mobile/api/map.ts
yourname 1df9f7fea2 创建了api目录并拆分为10个功能模块文件
建立了index.ts统一导出
精简了原api.ts文件
2025-05-13 09:00:58 +00:00

64 lines
1.5 KiB
TypeScript

import axios from 'axios';
import type {
LoginLocation, LoginLocationDetail,
} from '../../share/types.ts';
const API_BASE_URL = '/api';
// 地图相关API的接口类型定义
export interface LoginLocationResponse {
message: string;
data: LoginLocation[];
}
export interface LoginLocationDetailResponse {
message: string;
data: LoginLocationDetail;
}
export interface LoginLocationUpdateResponse {
message: string;
data: LoginLocationDetail;
}
// 地图相关API
export const MapAPI = {
// 获取地图标记点数据
getMarkers: async (params?: {
startTime?: string;
endTime?: string;
userId?: number
}): Promise<LoginLocationResponse> => {
try {
const response = await axios.get(`${API_BASE_URL}/map/markers`, { params });
return response.data;
} catch (error) {
throw error;
}
},
// 获取登录位置详情
getLocationDetail: async (locationId: number): Promise<LoginLocationDetailResponse> => {
try {
const response = await axios.get(`${API_BASE_URL}/map/location/${locationId}`);
return response.data;
} catch (error) {
throw error;
}
},
// 更新登录位置信息
updateLocation: async (locationId: number, data: {
longitude: number;
latitude: number;
location_name?: string;
}): Promise<LoginLocationUpdateResponse> => {
try {
const response = await axios.put(`${API_BASE_URL}/map/location/${locationId}`, data);
return response.data;
} catch (error) {
throw error;
}
}
};