Files
WXProgram/miniprogram/services/deliveryPersonService.ts

110 lines
2.7 KiB
TypeScript
Raw Normal View History

2025-10-16 21:32:16 +08:00
// 货运人员服务 - 处理货运人员相关的数据操作
import { DeliveryPerson } from '../types';
2025-10-16 21:32:16 +08:00
import apiService from './apiService';
2025-10-26 13:15:04 +08:00
import { API_BASE_URL } from './apiService';
2025-10-16 21:32:16 +08:00
/**
*
*
2025-10-16 21:32:16 +08:00
*/
class DeliveryPersonService {
/**
*
*/
constructor() {
// 不再使用模拟数据
2025-10-16 21:32:16 +08:00
}
/**
*
* @returns
*/
async getDeliveryPersons(): Promise<DeliveryPerson[]> {
return apiService.getDeliveryPersons();
}
/**
* ID获取货运人员
* @param id ID
* @returns null
*/
async getDeliveryPersonById(id: number): Promise<DeliveryPerson | null> {
try {
const result = await apiService.getDeliveryPersonById(id);
return result;
} catch (error) {
console.error('获取货运人员失败:', error);
return null;
}
}
/**
*
* @returns
*/
async getIdleDeliveryPersons(): Promise<DeliveryPerson[]> {
return apiService.getIdleDeliveryPersons();
}
/**
*
* @returns
*/
async getBusyDeliveryPersons(): Promise<DeliveryPerson[]> {
return apiService.getBusyDeliveryPersons();
}
/**
*
* @param deliveryPersonId ID
* @returns
*/
async getDeliveryPersonOrders(deliveryPersonId: number): Promise<Array<{
id: number;
startPoint: {
id: number;
name: string;
longitude: number;
latitude: number;
};
endPoint: {
name: string;
longitude: number;
latitude: number;
};
status: string;
goodsType: string;
goodsWeight: number;
createTime: number;
}>> {
return apiService.getDeliveryPersonOrders(deliveryPersonId);
}
2025-10-26 13:15:04 +08:00
/**
* URL
* @param deliveryPersonId ID
* @returns URL
*/
async getAvatarUrl(deliveryPersonId: number): Promise<string> {
try {
// 首先尝试获取货运人员详细信息
const deliveryPerson = await this.getDeliveryPersonById(deliveryPersonId);
if (deliveryPerson && deliveryPerson.avatarPath) {
return `${API_BASE_URL}${deliveryPerson.avatarPath}`;
}
// 如果货运人员信息中没有头像路径,返回默认头像
return '/images/truck.png';
} catch (error) {
console.error('获取货运人员头像失败:', error);
return '/images/truck.png';
}
}
2025-10-16 21:32:16 +08:00
}
/**
*
* 使
*/
export default new DeliveryPersonService();