146 lines
3.4 KiB
TypeScript
146 lines
3.4 KiB
TypeScript
|
export interface IAppOption {
|
||
|
globalData: {
|
||
|
userInfo: WechatMiniprogram.UserInfo | null;
|
||
|
isLoggedIn: boolean;
|
||
|
openid?: string;
|
||
|
session_key?: string;
|
||
|
};
|
||
|
|
||
|
// 声明应用实例上的方法
|
||
|
onLaunch(): void;
|
||
|
showAuthModal(): Promise<boolean>;
|
||
|
doGlobalLogin(): Promise<boolean>;
|
||
|
getWxLoginCode(): Promise<string | null>;
|
||
|
doGlobalLogout(): void;
|
||
|
|
||
|
// 其他可能的方法...
|
||
|
}
|
||
|
|
||
|
// 搜索结果接口
|
||
|
export interface SearchResult {
|
||
|
id: string;
|
||
|
name: string;
|
||
|
address: string;
|
||
|
longitude: number;
|
||
|
latitude: number;
|
||
|
phone: string;
|
||
|
}
|
||
|
|
||
|
// 用户信息接口
|
||
|
export interface UserInfo {
|
||
|
id: number; // 用户ID
|
||
|
role: 'ADMIN' | 'DELIVERY_PERSON' | 'GUEST'; // 用户角色
|
||
|
token?: string; // 认证token
|
||
|
openid?: string; // 微信openid
|
||
|
session_key?: string; // 微信会话密钥
|
||
|
name?: string; // 用户姓名(从员工信息获取)
|
||
|
phone?: string; // 用户电话(从员工信息获取)
|
||
|
}
|
||
|
|
||
|
// 员工信息接口(用于注册和签到返回)
|
||
|
export interface EmployeeInfo {
|
||
|
id: number; // 员工ID
|
||
|
name: string; // 员工姓名
|
||
|
phone: string; // 员工电话
|
||
|
role?: 'ADMIN' | 'DELIVERY_PERSON' | 'GUEST'; // 员工角色
|
||
|
}
|
||
|
|
||
|
// 地图标记点接口
|
||
|
export interface Marker {
|
||
|
id: number;
|
||
|
title: string; // 添加缺失的title属性
|
||
|
longitude: number;
|
||
|
latitude: number;
|
||
|
iconPath: string;
|
||
|
width?: number;
|
||
|
height?: number;
|
||
|
zIndex?: number;
|
||
|
callout?: {
|
||
|
content: string;
|
||
|
color?: string;
|
||
|
fontSize?: number;
|
||
|
borderRadius?: number;
|
||
|
bgColor?: string;
|
||
|
padding?: number;
|
||
|
display?: 'BYCLICK' | 'ALWAYS';
|
||
|
};
|
||
|
}
|
||
|
|
||
|
// 仓库信息接口
|
||
|
export interface WarehouseInfo {
|
||
|
id: number;
|
||
|
name: string;
|
||
|
address: string;
|
||
|
contact?: string;
|
||
|
phone?: string;
|
||
|
description?: string;
|
||
|
status?: 'open' | 'closed' | 'maintenance';
|
||
|
capacity: number; // 仓库容量(吨)
|
||
|
longitude: number;
|
||
|
latitude: number;
|
||
|
}
|
||
|
|
||
|
// 订单接口
|
||
|
export interface Order {
|
||
|
id: number;
|
||
|
startPoint: { // 起点(仓库)
|
||
|
id: number;
|
||
|
name: string;
|
||
|
longitude: number;
|
||
|
latitude: number;
|
||
|
};
|
||
|
endPoint: { // 终点(定位点)
|
||
|
name: string;
|
||
|
longitude: number;
|
||
|
latitude: number;
|
||
|
};
|
||
|
status: 'pending' | 'assigned' | 'in_transit' | 'delivered';
|
||
|
goodsType: string;
|
||
|
goodsWeight: number; // 货物重量(公斤)
|
||
|
createTime: number;
|
||
|
assignTime?: number;
|
||
|
deliveryTime?: number;
|
||
|
deliveryPersonId?: number; // 货运人员ID
|
||
|
}
|
||
|
|
||
|
// 货运人员接口
|
||
|
export interface DeliveryPerson {
|
||
|
id: number;
|
||
|
name: string;
|
||
|
phone: string;
|
||
|
status: 'idle' | 'busy' | 'offline';
|
||
|
currentLocation: { // 当前位置
|
||
|
longitude: number;
|
||
|
latitude: number;
|
||
|
};
|
||
|
currentOrders: Order[]; // 当前订单列表
|
||
|
}
|
||
|
|
||
|
// 路径规划结果接口
|
||
|
export interface RoutePlanResult {
|
||
|
polyline: string; // 路径的坐标点集合
|
||
|
distance: number; // 距离(米)
|
||
|
duration: number; // 预计时间(秒)
|
||
|
}
|
||
|
|
||
|
// 实时位置数据接口
|
||
|
export interface LocationData {
|
||
|
userId: number; // 用户ID
|
||
|
longitude: number; // 经度
|
||
|
latitude: number; // 纬度
|
||
|
timestamp: number; // 时间戳
|
||
|
}
|
||
|
|
||
|
// 高德地图逆地理编码响应接口
|
||
|
export interface AMapRegeoResponse {
|
||
|
regeocode: {
|
||
|
addressComponent: {
|
||
|
city: string;
|
||
|
district: string;
|
||
|
province: string;
|
||
|
street: string;
|
||
|
township: string;
|
||
|
};
|
||
|
};
|
||
|
status: string;
|
||
|
}
|