export interface IAppOption { globalData: { userInfo: WechatMiniprogram.UserInfo | null; isLoggedIn: boolean; openid?: string; session_key?: string; }; // 声明应用实例上的方法 onLaunch(): void; showAuthModal(): Promise; doGlobalLogin(): Promise; getWxLoginCode(): Promise; doGlobalLogout(): void; // 其他可能的方法... } // 搜索结果接口 export interface SearchResult { id: string; name: string; address: string; longitude: number; latitude: number; phone: string; } // 导入角色枚举 import { Role } from '../utils/roleUtils'; // 用户信息接口 export interface UserInfo { id: number; // 用户ID role: Role; // 用户角色 token?: string; // 认证token openid?: string; // 微信openid session_key?: string; // 微信会话密钥 name?: string; // 用户姓名(从员工信息获取) phone?: string; // 用户电话(从员工信息获取) } // 员工信息接口(用于注册和签到返回) export interface EmployeeInfo { id: number; // 员工ID name: string; // 员工姓名 phone: string; // 员工电话 role?: Role; // 员工角色 } // 地图标记点接口 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; } // 页面组件接口定义 export interface IndexPageComponent { data: { longitude: number; latitude: number; scale: number; markers: Marker[]; userInfo: UserInfo | null; authStatus: { hasWxCode: boolean; userStatus: 'unknown' | 'registered' | 'unregistered' | 'signed_in' | 'signed_out'; }; showUserPanel: boolean; showOrderPanel: boolean; currentOrder: any; currentDeliveryPerson: any; currentWarehouse: any; currentPanelPosition: { x: number; y: number }; polyline: any; pendingOrders: any[]; currentRoute: any; showRoute: boolean; routeDistance: number; routeDuration: number; showWarehouseModal: boolean; showDeliveryPersonModal: boolean; warehouseModalState: 'bottom' | 'full'; deliveryPersonModalState: 'bottom' | 'full'; showSignOutButton: boolean; showSignInButton: boolean; showRegisterButton: boolean; showAuthButton: boolean; }; setData(data: Partial): void; mainPageModule?: any; } // 登录模块接口定义 export interface LoginModule { processUserInfo(userInfo: UserInfo): Promise; updatePageAfterLogin(userInfo: UserInfo): void; checkLoginStatus(): boolean; logout(): Promise; showManualLoginModal(): Promise; handleLoginFailure(resolve: (value: boolean) => void): Promise; showCloseAppOption(resolve: (value: boolean) => void): void; handleSignIn(): Promise; }