UNPKG

lib-wechat

Version:
103 lines (102 loc) 2.78 kB
/// <reference types="node" /> /// <reference types="node" /> import { EventEmitter } from 'events'; import { AxiosInstance } from "axios"; import { Dict, LogLevel } from "../types"; import { Sex, Status } from "../core/constanst"; import { Contact } from "../entries/contact"; export declare class BaseClient extends EventEmitter { config: BaseClient.Config; uin: number; info: BaseClient.Info; avatar: string; status: Status; data_dir: string; private lastSyncTime; private syncPollingId; private syncErrorCount; private checkPollingId; private retryPollingId; cookie: Dict<string>; session: BaseClient.Session; request: AxiosInstance; get token(): BaseClient.Token; set token(token: BaseClient.Token); constructor(config: BaseClient.Config); private initRequest; private genQrcode; private getUUID; queryQrcodeStatus(): any; qrcodeLogin(): Promise<string>; /** 首次登录 */ login(): Promise<string | void>; logout(): Promise<string>; addFriend(user_id: string, message?: string): Promise<void>; getBaseRequest(): { Uin: number; Sid: string; Skey: string; DeviceID: string; }; init(): Promise<void>; uploadMedia(file: string | Buffer, filename: string, user_id: string): Promise<{ name: string; size: number; ext: string; mediatype: string; mediaId: any; }>; private chunkMediaForms; getAvatar(avatar: string): Promise<{ data: any; type: any; }>; batchGetContact(contactIds: string[]): Promise<void>; em(event: string, payload: Dict): void; getContact(): Promise<Contact.OriginalInfo[]>; private syncCheck; private sync; private updateSyncKey; notifyMobile(to?: string): Promise<void>; private syncPolling; private checkPolling; } export declare namespace BaseClient { interface Config { base_url?: string; timeout?: number; data_dir?: string; log_level?: LogLevel; } interface Token { session: Session; cookie: Dict<string>; base_url: string; info: Info; } interface Info { uin: number; username: string; nickname: string; avatar: string; remark: string; sex: Sex; } interface OriginalInfo { Uin: number; UserName: string; NickName: string; HeadImgUrl: string; RemarkName: string; Sex: number; } interface Session { uuid?: string; skey?: string; sid?: string; syncKey?: string; passTicket?: string; formatedSyncKey?: string; webwxDataTicket?: string; } }