type obj = Record; interface objArray { [index: number]: obj; } interface GenidOptions { WorkerId?: number; BaseTime?: number; WorkerIdBitLength?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15; SeqBitLength?: 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21; MaxSeqNumber?: number; MinSeqNumber?: number; TopOverCostCount?: number; Method?: 1 | 2; } type Tree = Array>; type TreeEle = T & { children?: Tree; }; interface ki extends obj { id: string; } type cbk = (...params: any) => any; interface SelectPage extends obj { current: number; size?: number; } interface Page { data: T[]; current: number; size: number; total: number; } interface PageData { data: T[]; current: number; size: number; total: number; }; type ns = number | string; /** 存在 k,其他属性不变 */ type RequiredKey = K extends keyof T ? Required> & T : K extends Array ? Required> & T : never; /** K 必须存在,其他属性可选 */ type RequiredKeyO = K extends keyof T ? Required> & Partial> : K extends Array ? Required> & Partial> : never; type OmitKeys = K extends keyof T ? Omit : K extends Array ? Omit : never; type _PartialKey = { [P in K]?: T[P]; }; type OnlyKey = { [P in K]-?: T[P]; }; /** 可选 k */ type PartialKey = Omit & _PartialKey; /** P 的所有参数为可选 */ type Partial2 = T & Partial

; type ValueOfKey = T[K]; type ExplicitKeys = { [K in keyof T as string extends K ? never : number extends K ? never : K]: K; }; type Key = (keyof T) & string; /** 通用ws配置项 */ interface WSConfig extends obj { /** 数据到达的回调 */ onmessage: (data: any, ev: MessageEvent) => any; /** 服务器地址,可以是http(s)://xxx/形式也可以是ws(s)://xxx/形式;注意的是 需要以/ 结尾; 如果此参数长度<8则url会成为当前web环境下的域名部分.uni下为空 */ url: string; /** url附加参数,可以为空,如果不为空,则最终的url地址会在传入的URL地址上拼接此参数 */ token?: string; /** 错误回调 */ onerror?: (ev: Event) => any; /** 关闭连接回调 */ onclose?: (ev: CloseEvent) => any; /** 连接成功回调 */ onopen?: (ev: Event) => any; /** 数据到达的回调处理完毕后的回调 */ onmessaged?: (data: any, ev: MessageEvent) => any; /** 数据缓存时间(毫秒 默认1000) 当发送相同请求时,不向服务器发送数据,而是直接由缓存返回 */ cacheTime?: number; leveTime?: number; } /** 通讯基础数据类型 */ interface BaseBuffer extends obj { /** 用作固定的服务器对请求类型的分析 */ type: string; /** 其他参数,由服务器制定 */ method?: string; /** 向服务器发送的实际请求参数 */ data?: any; /** 需要服务器将此字段原封不动的返回 */ sid?: string; } namespace MWS { interface CacheSend { cbks: cbk[]; send?: string; recv?: any; t: number; r: boolean; s: boolean; } } type MakeWritable = { -readonly [P in keyof T]: T[P]; // 移除只读属性 }; type Merge = { [K in keyof T | keyof U]: K extends keyof U ? U[K] : K extends keyof T ? T[K] : never; }; type _MP = { -readonly [P in keyof T]?: T[P]; }; type MakeProps = "modelValue"> = Merge<_MP, K>; type CP any> = MakeWritable["$props"]>; type CPN any> = Omit, "modelValue">; type CMerge any, U> = Merge["$props"]>, U>; declare const global: obj;