first commit

This commit is contained in:
2025-10-16 21:32:16 +08:00
commit c446df73b5
229 changed files with 499497 additions and 0 deletions

146
miniprogram/types/index.ts Normal file
View File

@@ -0,0 +1,146 @@
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;
}