UNPKG

vite-uni-dev-tool

Version:

vite-uni-dev-tool, debug, uni-app, 一处编写,到处调试

417 lines (416 loc) 12.6 kB
import { DevEvent } from './devEvent'; export declare namespace DevTool { type UV = { index: number; inTime: number; outTime: number; duration: number; }; type Page = { index?: number; path: string; sort?: number; name?: string; type?: string; style: { navigationBarTitleText?: string; }; /** 访问次数 */ visitTimes?: number; totalDuration?: number; /** 访问历史记录 */ uvList?: UV[]; } & Partial<UV>; type Message = { type: 'receive' | 'send'; status: 'success' | 'error'; valueType: ValueType; value: any; shortValue?: string; time: number; }; type WS = { url: string; /** * -1: error * 0:connecting * 1:open * 2:closing * 3:closed */ readyState?: string; headers?: { key: string; value: string; }[]; method?: string; protocols?: string[]; message: Message[]; }; type Nav = { pagePath: string; text: string; }; type PagesJSON = { pages: Page[]; subPackages?: { root: string; pages: Page[]; }[]; tabBar: { list: Nav[]; }; }; type CaptureEventType = 'tap' | 'touchstart' | 'touchmove' | 'touchend'; type CaptureList = CaptureEventType[]; type UploadAbnormalUV = { /** 上传地址 */ url: string; /** 请求头 */ header?: Record<string, any>; /** 超时时间 */ timerOut?: number; /** 上报间隔 ms 默认 10 * 1000 */ duration?: number; /** * 上传的附加信息 * 自动增加 devUV 字段,工具内部异常数据 */ payload?: { /** 内部 uv 数据, 外部传入无效 */ devUV?: Record<string, any>; [key: string]: any; }; }; type DevToolOptions = { /** 开启截屏监听 */ enableCaptureScreen?: boolean; /** 是否拦截Promise.reject 最好不要拦截 默认禁用 */ enableInterceptPromiseReject?: boolean; /** 打开窗口时隐藏按钮 */ openWindowHideButton?: boolean; /** 最大的console条数 */ consoleMaxSize?: number; /** 最大的网络请求条数 */ networkMaxSize?: number; /** 最大的上传文件条数 */ uploadMaxSize?: number; /** 最大的套接字消息条数 */ wsDataMaxSize?: number; /** 最大的节点事件条数 */ elEventListMaxSize?: number; /** 最大的uni事件列表条数 */ uniEventListMaxSize?: number; /** 最大屏幕记录条数 */ screenMaxSize?: number; /** 最大扫描条数 */ scanCodeListMaxSize?: number; /** 最大占用缓存空间 */ cacheMaxSize?: number; /** 所有路由信息 */ pagesJson?: PagesJSON; /** 源文件服务地址 */ sourceFileServers?: string[]; /** 用于区分生产环境和开发环境,开发环境下,为了获取 Android 异常栈源码会获取本地源码进行展示 */ mode: string; /** 用于捕获 vue 抛出的错误和警告 */ vueInstance?: any; /** * 该属性处于实验当中,谨慎使用 * 读取开发环境 source file,source map,默认 禁用 */ useDevSource?: boolean; /** 层级默认 998 */ zIndex?: number; devToolVersion?: string; devToolBuildTime?: string; devToolGit?: string; /** 初始化时是否显示调试按钮,默认显示 */ initShowDevTool?: boolean; /** 需要捕获的事件 默认不捕获 */ captureList?: CaptureList; /** 需要捕获的 data-xxx, 优先级高于 `excludeCaptureElDataSet` 默认空 捕获全部 */ includeCaptureElDataSet?: string[]; /** 排除捕获的 data-xxx, 优先级低于 includeCaptureElDataSet` */ excludeCaptureElDataSet?: string[]; /** 异常上报 */ uploadAbnormalUV?: UploadAbnormalUV; }; type ButtonOptions = Partial<{ /** 按钮大小 */ buttonSize: number; /** 按钮文本 */ buttonText: string; /** 按钮文本颜色 */ buttonColor: string; /** 按钮字体大小 */ buttonFontSize: string; /** 按钮背景颜色 */ buttonBackgroundColor: string; }>; type Response = { data?: any; statusCode?: number | string; header?: any; cookies?: any[]; errMsg: string; }; type NetworkItem = { index: number; url: string; name: string; method: string; status: number | string; time: string; startTime: number; endTime: number; size: string; headers: { requestHeader: { key: string; value: any; }[]; responseHeader: { key: string; value: any; }[]; }; response: Response; payload: any; /** 调用栈 */ stack?: string; /** 时间线宽度 */ width?: string; /** 时间线位置 */ left?: string; /** 超时配置 */ timeout?: number; /** 拦截次数 */ interceptCount?: number; /** 是否被拦截 */ intercepted?: boolean; /** 发起人 */ sponsor?: 'user' | 'dev_tool'; /** 是否有上传 */ hasUpload?: boolean; }; type StorageItem = { key: string; _oldKey: string; value: string; }; /** 调试工具目前支持处理的console类型 */ type ConsoleType = 'log' | 'info' | 'warn' | 'error' | 'timeEnd' | 'time' | 'clear' | 'count'; /** 不支持处理的console类型 */ type OriginalConsoleType = 'assert' | 'count' | 'countReset' | 'debug' | 'dir' | 'dirxml' | 'group' | 'groupCollapsed' | 'groupEnd' | 'table' | 'trace' | 'profile' | 'profileEnd' | 'timeStamp'; type ValueType = 'number' | 'string' | 'boolean' | 'null' | 'undefined' | 'symbol' | 'array' | 'object' | 'link'; type Arg = { type: ValueType; value: any; shortValue?: string; }; type ConsoleItem = { type: string; args: Arg[]; position: string; time: string; stack?: string; /** * input 输入 * output 输出 */ mode?: 'input' | 'output'; /** * 执行用时 */ executionTime?: number; /** 是否被上传 */ hasUpload?: boolean; }; type UploadItem = { index: number; url?: string; filePath?: string; formData?: Record<string, any>; method?: string; headers?: { requestHeader?: { key: string; value: unknown; }[]; responseHeader?: { key: string; value: unknown; }[]; }; response?: Record<string, any>; files?: any[]; fileType?: string; name?: string; status: number | string; timeout?: number; startTime?: number; endTime?: number; /** 上传进度 */ progress?: number; /** 已上传长度 */ totalBytesSent?: number; /** 预计上传总长度 */ totalBytesExpectedToSend?: number; /** 调用栈 */ stack?: string; /** 是否被上传 */ hasUpload?: boolean; }; type EventCount = { on: number; once: number; emit: number; off: number; }; type EventCountKey = keyof EventCount; type UniEventItem = { /** 事件名称 */ eventName?: string; /** 触发事件 */ timer?: string; /** 调用位置 */ stack?: string; /** 事件类型 */ type?: string; /** 是否被上传 */ hasUpload?: boolean; }; type Touch = { /** 视口坐标 */ clientX: 357; /** 视口坐标 */ clientY: 554; /** 触摸压力 1 表示最大压力 */ force: 1; /** 触摸点唯一标识(0 表示第一个触摸点) */ identifier: 0; /** 文档坐标 */ pageX: 357; /** 文档坐标 */ pageY: 554; }; type ElEventItem = { /** 事件类型 */ type: string; /** 触发时间 */ timer: number; /** 事件源 */ target: { id?: string; /** data- 携带节点属性 */ dataset?: Record<string, any>; /** 其他属性 */ [key: string]: any; }; /** * 事件的详细坐标信息 * 屏幕位置 */ touches: Touch[]; path: string; /** 是否被上传 */ hasUpload?: boolean; }; type RunJSItem = { /** 代码 */ code?: string; /** 结果 */ result?: any; /** 开始时间 */ timer?: string; /** 执行用时 */ duration?: number; /** 执行状态 */ type?: string; mode?: 'input' | 'output'; }; type ScreenItem = { index: number; position: string; startTime: string; endTime: string; type: string; path?: string; hasUpload?: boolean; }; type ScanCodeItem = { timer: number; charSet: string; rawData: string; result: string; scanType: string; errMsg: string; resultObject?: any; path: string; stack?: string; shortValue?: string; }; type WindowData = { devToolVisible?: boolean; consoleList?: ConsoleItem[]; networkList?: NetworkItem[]; storageList?: StorageItem[]; routeList?: Page[]; vuexList?: Record<string, any>; piniaList?: Record<string, any>; systemInfo?: Record<string, any>; deviceInfo?: Record<string, any>; windowInfo?: Record<string, any>; netWorkStatus?: Record<string, any>; appInfo?: Record<string, any>; wsList?: WS[]; size?: number; sizeFormat?: string; uploadList?: UploadItem[]; eventCount?: EventCount; elEventList?: ElEventItem[]; uniEventList?: UniEventItem[]; screenList?: ScreenItem[]; interceptNetworkMap?: Map<string, NetworkItem>; scanCodeList?: ScanCodeItem[]; /** 缓存网络配置到本地 */ cacheInterceptConfig?: boolean; devToolVersion?: string; devToolBuildTime?: string; devToolGit?: string; }; type DevInterceptOptions = { event: DevEvent; enableInterceptPromiseReject?: boolean; }; type DevToolInfo = { /** 是否销毁 */ devToolDestroy?: boolean; /** 按钮状态 */ devToolButtonVisible?: boolean; /** 窗口状态 */ devToolWindowVisible?: boolean; /** 按钮位置 */ top?: number; /** 按钮位置 */ left?: number; /** 当前活动tab */ activeTab?: number; /** 当前console类型 */ currentConsoleType?: string; /** 当前network类型 */ currentNetworkType?: string; /** 当前websocket类型 */ currentWebSocketType?: string; /** table滚动位置 */ tabScrollLeft?: number; /** 颜色主题 */ theme?: string; /** 缓存拦截配置 */ cacheInterceptConfig?: boolean; /** 拦截配置 */ interceptNetworkList?: DevTool.NetworkItem[]; }; } //# sourceMappingURL=type.d.ts.map