@idm-plugin/vessel
Version:
idm plugin for vessel
128 lines (127 loc) • 3.45 kB
TypeScript
/**
* AIS记录
*/
export interface AISRecord {
mmsi?: number;
name?: string;
imo?: number;
callSign?: string;
lat?: number;
lng?: number;
length?: number;
width?: number;
draught?: number;
sog?: number;
cog?: number;
hdg?: number;
rot?: number;
eta?: string;
destination?: string;
positionTime?: number;
status?: number;
labelCn?: string;
labelEn?: string;
method?: string;
vendor?: string;
deleted?: boolean;
utc?: string;
vesselType?: string;
flag?: string;
clasz?: string;
build?: string;
dwt?: number;
grt?: number;
net?: number;
meteo?: string;
type?: string;
}
export interface VesselRecord {
mmsi?: number;
name?: string;
imo?: number;
callSign?: string;
length?: number;
breadth?: number;
draught?: number;
deadweight?: number;
vendor?: string;
score?: number;
type?: string;
}
export interface AuthToken {
accessToken: string;
tokenType?: string;
expiresIn?: number;
scope?: string;
jti?: string;
issuedAt?: string;
}
export declare class AISImpl {
/**
* 解析AIS状态码
* @param status
*/
parseStatus(status: number): {
labelCn: string;
labelEn: string;
};
}
export declare class MyVesselImpl extends AISImpl {
private readonly clientId;
private readonly clientSecret;
private token;
constructor(clientId: string, clientSecret: string);
authToken(options?: {
requestId?: string;
}): Promise<void>;
realTimePosition(mmsi: number, options?: {
requestId?: string;
}): Promise<AISRecord>;
trajectory(mmsi: number, startTime: string, endTime: string, offset: number, scale?: boolean, options?: {
requestId?: string;
}): Promise<AISRecord[]>;
private trajectoryIn30Day;
}
export declare class HifleetImpl extends AISImpl {
private readonly token;
constructor(token: string);
realTimePosition(mmsi: number, options?: {
requestId?: string;
}): Promise<AISRecord>;
search(kw: string, options?: {
requestId?: string;
}): Promise<VesselRecord>;
suggest(kw: string, options?: {
requestId?: string;
}): Promise<VesselRecord>;
trajectory(mmsi: number, startTime: string, endTime: string, offset: number, scale?: boolean, options?: {
requestId?: string;
}): Promise<AISRecord[]>;
}
export declare class ShipxyImpl extends AISImpl {
private readonly token;
constructor(token: string);
realTimePosition(mmsi: number, options?: {
requestId?: string;
}): Promise<AISRecord>;
trajectory(mmsi: number, startTime: string, endTime: string, offset: number, scale?: boolean, options?: {
requestId?: string;
}): Promise<AISRecord[]>;
}
export declare class MyShipImpl extends AISImpl {
private readonly token;
constructor(token: string);
getShipId(mmsi: any, options?: {
requestId?: string;
}): Promise<string>;
getShipInfo(shipId: string, options?: {
requestId?: string;
}): Promise<AISRecord>;
realTimePosition(mmsi: number, options?: {
requestId?: string;
}): Promise<AISRecord>;
trajectory(mmsi: number, startTime: string, endTime: string, offset: number, scale?: boolean, options?: {
requestId?: string;
}): Promise<AISRecord[]>;
private trajectoryIn30Day;
}