地址路径修改

This commit is contained in:
2025-10-26 13:15:04 +08:00
parent be2323074b
commit 271b88232c
77 changed files with 13254 additions and 228 deletions

View File

@@ -3,18 +3,20 @@ import { LocationData } from '../types';
import apiService from './apiService';
import userService from './userService';
import mapService from './mapService';
import { API_BASE_URL } from './apiService';
// import { avatarCache } from '../utils/avatarCache';
/**
* 在线用户信息接口
*/
export interface OnlineUserInfo {
userId: number;
userId: string;
name: string;
avatarUrl: string;
role: string; // 用户角色:'admin' | 'delivery_person'
avatarPath?: string; // 头像相对路径(服务器下发)
role: string;
lastLocation: LocationData;
lastUpdateTime: number;
status: 'online' | 'offline' | 'timeout';
status: 'online' | 'offline'| 'timeout';
}
/**
@@ -196,6 +198,25 @@ class LocationTrackingService {
/**
* 获取完整的头像URL
* @param avatarPath 头像相对路径
* @returns 完整的头像URL
*/
getFullAvatarUrl(avatarPath: string | undefined): string | undefined {
if (!avatarPath) {
return undefined;
}
// 如果已经是完整URL直接返回
if (avatarPath.startsWith('http')) {
return avatarPath;
}
// 将相对路径转换为完整URL
return `${API_BASE_URL}${avatarPath}`;
}
/**
* 获取当前位置
*/
@@ -406,7 +427,9 @@ class LocationTrackingService {
lastUpdateTime: user.lastUpdateTime,
latitude: user.locationData?.latitude || user.latitude,
longitude: user.locationData?.longitude || user.longitude,
timestamp: user.locationData?.timestamp || user.timestamp
timestamp: user.locationData?.timestamp || user.timestamp,
avatarPath: user.avatarPath,
address: user.address
}))
});
}else {
@@ -446,7 +469,8 @@ class LocationTrackingService {
lastUpdateTime: user.lastUpdateTime || locationData.timestamp || Date.now(),
latitude: locationData.latitude,
longitude: locationData.longitude,
timestamp: locationData.timestamp || user.timestamp || Date.now()
timestamp: locationData.timestamp || user.timestamp || Date.now(),
avatarPath: user.avatarPath || (existingUser ? existingUser.avatarPath : undefined),
};
// 验证必需字段
@@ -456,7 +480,7 @@ class LocationTrackingService {
}
return formattedUser;
}).filter(user => user !== null); // 过滤掉无效数据
}).filter((user: any) => user !== null); // 过滤掉无效数据
console.log('📊 转换后的用户位置数据:', formattedUsers);
@@ -530,7 +554,7 @@ class LocationTrackingService {
this.onlineUsers.set(user.userId, {
userId: user.userId,
name: user.name || user.userName || (existingUser ? existingUser.name : `用户${user.userId}`),
avatarUrl: '/images/user-avatar.png',
avatarPath: user.avatarPath || (existingUser ? existingUser.avatarPath : undefined),
role: user.role || (existingUser ? existingUser.role : 'DRIVER'),
lastLocation: {
userId: user.userId,
@@ -539,7 +563,12 @@ class LocationTrackingService {
timestamp: timestamp
},
lastUpdateTime: timestamp,
status: user.userStatus === false ? 'offline' : 'online'
status: user.userStatus === false ? 'offline' : 'online',
// currentLocation: {
// address: user.address || (existingUser ? existingUser.currentLocation?.address : '位置信息获取中...'),
// longitude: longitude,
// latitude: latitude
// }
});
console.log(`[LocationTrackingService] 更新用户 ${user.userId} 位置: (${latitude}, ${longitude})`);