vite-uni-dev-tool 1.1.0 → 1.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +21 -1
- package/dist/const.cjs +1 -1
- package/dist/const.d.ts +2 -1
- package/dist/const.js +1 -1
- package/dist/core-shared.d.ts +2 -3
- package/dist/core.d.ts +8 -8
- package/dist/core.js +2 -2
- package/dist/i18n/index.d.ts +0 -1
- package/dist/i18n/instance.d.ts +0 -1
- package/dist/i18n/locales/en.cjs +1 -1
- package/dist/i18n/locales/en.d.ts +6 -1
- package/dist/i18n/locales/en.js +1 -1
- package/dist/i18n/locales/zh-Hans.cjs +1 -1
- package/dist/i18n/locales/zh-Hans.d.ts +6 -1
- package/dist/i18n/locales/zh-Hans.js +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/modules/devConsole/index.cjs +4 -4
- package/dist/modules/devConsole/index.d.ts +6 -107
- package/dist/modules/devConsole/index.js +4 -4
- package/dist/modules/devEvent/index.cjs +3 -3
- package/dist/modules/devEvent/index.d.ts +2 -3
- package/dist/modules/devEvent/index.js +3 -3
- package/dist/modules/devIntercept/index.cjs +14 -14
- package/dist/modules/devIntercept/index.d.ts +34 -6
- package/dist/modules/devIntercept/index.js +14 -14
- package/dist/modules/devStore/index.cjs +1 -1
- package/dist/modules/devStore/index.d.ts +48 -40
- package/dist/modules/devStore/index.js +1 -1
- package/dist/modules/devToolInfo/index.cjs +1 -1
- package/dist/modules/devToolInfo/index.d.ts +6 -25
- package/dist/modules/devToolInfo/index.js +1 -1
- package/dist/plugins/uniDevTool/transform/transformApp.d.ts +0 -1
- package/dist/plugins/uniDevTool/transform/transformMain.cjs +3 -3
- package/dist/plugins/uniDevTool/transform/transformMain.d.ts +2 -2
- package/dist/plugins/uniDevTool/transform/transformMain.js +3 -3
- package/dist/plugins/uniDevTool/transform/transformVue.cjs +31 -25
- package/dist/plugins/uniDevTool/transform/transformVue.d.ts +2 -2
- package/dist/plugins/uniDevTool/transform/transformVue.js +30 -24
- package/dist/plugins/uniDevTool/uniDevTool.cjs +3 -3
- package/dist/plugins/uniDevTool/uniDevTool.d.ts +3 -2
- package/dist/plugins/uniDevTool/uniDevTool.js +3 -3
- package/dist/plugins/uniGlobalComponents/uniGlobalComponents.d.ts +0 -1
- package/dist/plugins/utils/index.d.ts +0 -1
- package/dist/shims-uni.d.ts +26 -22
- package/dist/type.d.ts +47 -43
- package/dist/utils/array.d.ts +0 -1
- package/dist/utils/date.d.ts +0 -1
- package/dist/utils/file.d.ts +0 -1
- package/dist/utils/function.d.ts +0 -1
- package/dist/utils/index.d.ts +0 -1
- package/dist/utils/ip.d.ts +0 -1
- package/dist/utils/language.d.ts +14 -15
- package/dist/utils/object.cjs +1 -1
- package/dist/utils/object.d.ts +7 -8
- package/dist/utils/object.js +1 -1
- package/dist/utils/openLink.d.ts +0 -1
- package/dist/utils/page.d.ts +0 -1
- package/dist/utils/platform.d.ts +0 -1
- package/dist/utils/string.d.ts +0 -1
- package/dist/utils/utils.d.ts +0 -1
- package/dist/v3/DevTool/components/BluetoothList/BluetoothItem.vue +199 -199
- package/dist/v3/DevTool/components/BluetoothList/BluetoothTool.vue +730 -730
- package/dist/v3/DevTool/components/BluetoothList/index.vue +167 -167
- package/dist/v3/DevTool/components/CaptureScreen/index.vue +109 -109
- package/dist/v3/DevTool/components/ConsoleList/ConsoleItem.vue +230 -225
- package/dist/v3/DevTool/components/ConsoleList/RunJSInput.vue +247 -247
- package/dist/v3/DevTool/components/ConsoleList/index.vue +171 -171
- package/dist/v3/DevTool/components/ConsoleList/staticTips.ts +1145 -1145
- package/dist/v3/DevTool/components/DevToolButton/index.vue +42 -6
- package/dist/v3/DevTool/components/DevToolTitle/index.vue +24 -24
- package/dist/v3/DevTool/components/DevToolWindow/DevToolOverlay.vue +197 -197
- package/dist/v3/DevTool/components/DevToolWindow/hooks/dataUtils.ts +48 -48
- package/dist/v3/DevTool/components/DevToolWindow/hooks/useDevToolData.ts +411 -387
- package/dist/v3/DevTool/components/DevToolWindow/hooks/useDevToolHandlers.ts +644 -629
- package/dist/v3/DevTool/components/DevToolWindow/hooks/useDevToolOverlay.ts +201 -197
- package/dist/v3/DevTool/components/DevToolWindow/index.vue +27 -64
- package/dist/v3/DevTool/components/ElEvent/ElEventItem.vue +105 -105
- package/dist/v3/DevTool/components/ElEvent/index.vue +106 -106
- package/dist/v3/DevTool/components/Instance/components/InstanceTreeNode.vue +265 -265
- package/dist/v3/DevTool/components/Instance/flatten.ts +226 -226
- package/dist/v3/DevTool/components/Instance/index.vue +94 -94
- package/dist/v3/DevTool/components/Instance/registry.ts +49 -49
- package/dist/v3/DevTool/components/Instance/transformTree.ts +393 -375
- package/dist/v3/DevTool/components/Instance/transformTreeCtx.ts +268 -268
- package/dist/v3/DevTool/components/Instance/typing.d.ts +43 -43
- package/dist/v3/DevTool/components/InstanceDetail/index.vue +485 -485
- package/dist/v3/DevTool/components/JsonDetail/index.vue +70 -70
- package/dist/v3/DevTool/components/NFCList/NFCItem.vue +112 -112
- package/dist/v3/DevTool/components/NFCList/NFCTool.vue +454 -454
- package/dist/v3/DevTool/components/NFCList/const.ts +56 -56
- package/dist/v3/DevTool/components/NFCList/index.vue +94 -94
- package/dist/v3/DevTool/components/NetworkList/InterceptConfig.vue +624 -624
- package/dist/v3/DevTool/components/NetworkList/InterceptItem.vue +140 -140
- package/dist/v3/DevTool/components/NetworkList/NetworkDetail.vue +287 -287
- package/dist/v3/DevTool/components/NetworkList/NetworkIntercept.vue +88 -88
- package/dist/v3/DevTool/components/NetworkList/NetworkItem.vue +163 -163
- package/dist/v3/DevTool/components/NetworkList/NetworkSend.vue +589 -589
- package/dist/v3/DevTool/components/NetworkList/const.ts +4 -4
- package/dist/v3/DevTool/components/NetworkList/hooks/useNetworkForm.ts +86 -86
- package/dist/v3/DevTool/components/NetworkList/index.vue +160 -160
- package/dist/v3/DevTool/components/NetworkList/utils.ts +101 -101
- package/dist/v3/DevTool/components/Performance/index.vue +498 -498
- package/dist/v3/DevTool/components/Performance/modules/PerformanceMetrics.vue +153 -153
- package/dist/v3/DevTool/components/Performance/modules/usePerformanceChart.ts +460 -460
- package/dist/v3/DevTool/components/Performance/modules/usePerformanceData.ts +258 -258
- package/dist/v3/DevTool/components/PiniaList/index.vue +93 -93
- package/dist/v3/DevTool/components/RunJS/index.vue +148 -148
- package/dist/v3/DevTool/components/ScanCodeList/ScanCodeItem.vue +97 -97
- package/dist/v3/DevTool/components/ScanCodeList/index.vue +100 -100
- package/dist/v3/DevTool/components/SettingButton/index.vue +45 -45
- package/dist/v3/DevTool/components/SettingList/index.vue +226 -218
- package/dist/v3/DevTool/components/SettingList/modules/SettingBarrage.vue +320 -304
- package/dist/v3/DevTool/components/SettingList/modules/SettingDevTool.vue +212 -212
- package/dist/v3/DevTool/components/SettingList/modules/SettingInfo.vue +157 -157
- package/dist/v3/DevTool/components/SettingList/modules/SettingLanguage.vue +74 -74
- package/dist/v3/DevTool/components/SettingList/modules/SettingLog.vue +230 -230
- package/dist/v3/DevTool/components/SettingList/typing.d.ts +2 -2
- package/dist/v3/DevTool/components/SourceCode/Line.vue +127 -127
- package/dist/v3/DevTool/components/SourceCode/parseCode.ts +609 -609
- package/dist/v3/DevTool/components/StorageList/index.vue +174 -174
- package/dist/v3/DevTool/components/TransferList/TransferDetail.vue +268 -268
- package/dist/v3/DevTool/components/VuexList/index.vue +84 -84
- package/dist/v3/DevTool/index.vue +85 -138
- package/dist/v3/components/AppTransition/index.vue +156 -176
- package/dist/v3/components/AutoSizer/index.vue +192 -192
- package/dist/v3/components/AutoSizer/index1.vue +184 -184
- package/dist/v3/components/AutoSizer/utils.ts +49 -49
- package/dist/v3/components/Barrage/BarrageItem.vue +194 -137
- package/dist/v3/components/Barrage/index.vue +205 -202
- package/dist/v3/components/CircularButton/index.vue +84 -84
- package/dist/v3/components/CustomSwiper/CustomSwiperItem.vue +49 -49
- package/dist/v3/components/CustomSwiper/index.vue +104 -104
- package/dist/v3/components/DevErrorBoundary/index.vue +388 -0
- package/dist/v3/components/DraggableContainer/index.vue +186 -73
- package/dist/v3/components/Empty/index.vue +29 -29
- package/dist/v3/components/FilterSelect/index.vue +179 -179
- package/dist/v3/components/JsonPretty/components/Brackets/index.vue +27 -27
- package/dist/v3/components/JsonPretty/components/Carets/index.vue +59 -59
- package/dist/v3/components/JsonPretty/components/CheckController/index.vue +136 -136
- package/dist/v3/components/JsonPretty/components/TreeNode/index.vue +387 -387
- package/dist/v3/components/JsonPretty/hooks/useClipboard.ts +21 -21
- package/dist/v3/components/JsonPretty/hooks/useError.ts +21 -21
- package/dist/v3/components/JsonPretty/type.ts +127 -127
- package/dist/v3/components/JsonPretty/utils/index.ts +169 -169
- package/dist/v3/components/MovableContainer/index.vue +10 -4
- package/dist/v3/components/Pick/index.vue +321 -322
- package/dist/v3/components/Tag/index.vue +113 -113
- package/dist/v3/components/VirtualList/AutoSize.vue +40 -40
- package/dist/v3/components/VirtualList/index.vue +416 -416
- package/dist/v3/hooks/useBluetooth/index.ts +561 -561
- package/dist/v3/hooks/useContainerStyle.ts +95 -153
- package/dist/v3/hooks/useNFC/index.ts +107 -107
- package/dist/v3/hooks/useNFC/typing.d.ts +396 -396
- package/dist/v3/hooks/useNFC/useNFCAndroid.ts +966 -966
- package/dist/v3/hooks/useNFC/useNFCMpWeiXin.ts +812 -812
- package/dist/v3/hooks/useNFC/utils.ts +754 -754
- package/dist/v3/hooks/useRequest/index.ts +586 -586
- package/dist/v3/hooks/useRequest/utils.ts +267 -267
- package/dist/v3/hooks/useScanCode/index.ts +206 -206
- package/dist/v3/hooks/useWebsocket/index.ts +253 -253
- package/dist/v3/styles/theme.ts +12 -12
- package/package.json +70 -59
- package/dist/const.d.ts.map +0 -1
- package/dist/core-shared.d.ts.map +0 -1
- package/dist/core.d.ts.map +0 -1
- package/dist/i18n/index.d.ts.map +0 -1
- package/dist/i18n/instance.d.ts.map +0 -1
- package/dist/i18n/locales/en.d.ts.map +0 -1
- package/dist/i18n/locales/zh-Hans.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/modules/devConsole/index.d.ts.map +0 -1
- package/dist/modules/devEvent/index.d.ts.map +0 -1
- package/dist/modules/devIntercept/index.d.ts.map +0 -1
- package/dist/modules/devStore/index.d.ts.map +0 -1
- package/dist/modules/devToolInfo/index.d.ts.map +0 -1
- package/dist/plugins/uniDevTool/transform/transformApp.d.ts.map +0 -1
- package/dist/plugins/uniDevTool/transform/transformMain.d.ts.map +0 -1
- package/dist/plugins/uniDevTool/transform/transformVue.d.ts.map +0 -1
- package/dist/plugins/uniDevTool/uniDevTool.d.ts.map +0 -1
- package/dist/plugins/uniGlobalComponents/uniGlobalComponents.d.ts.map +0 -1
- package/dist/plugins/utils/index.d.ts.map +0 -1
- package/dist/type.d.ts.map +0 -1
- package/dist/utils/array.d.ts.map +0 -1
- package/dist/utils/date.d.ts.map +0 -1
- package/dist/utils/file.d.ts.map +0 -1
- package/dist/utils/function.d.ts.map +0 -1
- package/dist/utils/index.d.ts.map +0 -1
- package/dist/utils/ip.d.ts.map +0 -1
- package/dist/utils/language.d.ts.map +0 -1
- package/dist/utils/object.d.ts.map +0 -1
- package/dist/utils/openLink.d.ts.map +0 -1
- package/dist/utils/page.d.ts.map +0 -1
- package/dist/utils/platform.d.ts.map +0 -1
- package/dist/utils/string.d.ts.map +0 -1
- package/dist/utils/utils.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const e={route:{title:"路由列表",startPage:"启动页",currentPage:"当前页",visitTimes:"进入次数",lastEnterTime:"最近进入时间",lastLeaveTime:"最近离开时间",lastDuration:"最近停留时长",totalDuration:"总停留时长"},tabs:{console:"控制台",network:"网络",upload:"上传",download:"下载",transfer:"传输",websocket:"套接字",route:"路由",elEvent:"元素事件",uniEvent:"Uni事件",captureScreen:"截屏录屏",scanCode:"扫码",nfc:"NFC",bluetooth:"蓝牙",storage:"存储",vuex:"Vuex",pinia:"Pinia",performance:"性能",instance:"组件",setting:"设置"},performance:{title:"性能",fps:"FPS",cpu:"CPU",memory:"内存",widget:"悬浮窗",enable:"启用监测",enableTip:"开启后将实时监控性能指标",settings:"监控设置",widgetTip:"开启后将在页面上显示悬浮窗",fpsTip:"在图表中显示 FPS 曲线",cpuTip:"在图表中显示 CPU 使用率",memoryTip:"在图表中显示内存使用情况",longTaskTitle:"CPU Profile (长任务)",longTaskTip:"捕获导致掉帧的长任务记录",ui:"UI层",logic:"逻辑层",platformTip:"当前平台限制:部分性能指标可能无法完全获取"},storage:{title:"存储列表",searchKey:"查询key"},transfer:{title:"传输列表",searchUrl:"查询url",detailTitle:"传输详情"},upload:{title:"上传列表",searchUrl:"查询url",detailTitle:"上传详情"},download:{title:"下载列表",searchUrl:"查询url",detailTitle:"下载详情",filePath:"文件路径"},websocket:{title:"套接字列表",searchUrl:"查询url",detailTitle:"套接字详情",messageList:"消息列表",noMessage:"暂无消息",messageDetail:"消息详情",send:"发送",sendPlaceholder:"发送消息..."},uniEvent:{title:"事件列表",eventList:"事件触发列表"},elEvent:{title:"元素事件列表"},captureScreen:{title:"截屏录屏",type:"类型",page:"页面",captureTime:"截屏时间",startTime:"开始",endTime:"结束",path:"路径"},setting:{devTool:{title:"DevTool",currentVersion:"当前版本",buildTime:"编译时间",feedbackUrl:"反馈地址",slogan:"一次编写,到处执行 😂 ,有问题请反馈",showHideButton:"显示/隐藏 调试按钮",hideButtonTip:"取消勾选后,将不再显示调试按钮",hideButton:"隐藏调试按钮",showButton:"显示调试按钮",tabsConfig:"标签页配置",tabsConfigTip:"勾选后,将在 DevTool 中显示对应的标签页,取消勾选则隐藏",saveAndRestart:"保存并重启",restartDevTool:"重启 DevTool",restartDevToolTip:"点击后,将重启 DevTool",restartDevToolButton:"重启 DevTool",destroyDevTool:"销毁 DevTool",destroyDevToolTip:"点击后,将销毁 DevTool,销毁后将不再接收调试信息,需要重新运行 createDevTool() 创建",destroyDevToolButton:"销毁 DevTool",restartApp:"重启应用",restartAppTip:"点击后,将重启当前应用",restartAppButton:"重启应用",storageUsage:"存储占用",storageUsageTip:"当前信息占用的存储空间, 仅清理 Console、Network、Upload、Websocket、UniEvent",clearCache:"清理缓存",language:"语言",languageTip:"选择界面语言",confirmLanguage:"更换语言",confirmLanguageTip:"语言更换成功,正在重启中...",showPerformanceTitle:"显示/隐藏 性能面板",performanceTip:"取消勾选后,将不再显示性能面板",hidePerformance:"隐藏性能面板",showPerformance:"显示性能面板",performanceShowFps:"绘制帧率折线",performanceShowCpu:"绘制 CPU 使用率折线",performanceShowMemory:"绘制内存使用率折线"},network:{title:"网络",ip:"IP地址",unknown:"未获取",ipTip:"部分平台无法获取 ip 地址",status:"连接状态",connected:"已连接",disconnected:"已断开",type:"网络类型",interceptRole:"请求拦截规则",intercept:"缓存拦截规则到本地",interceptTip:"勾选后将会把 network 拦截缓存到本地",cacheNetworkLog:"缓存网络日志到本地",cacheNetworkLogTip:"勾选后将会把 network 日志缓存到本地",searchUrl:"查询url",btnIntercept:"拦截",send:"发起",requestDetail:"请求详情",general:"常规",requestUrl:"请求地址",method:"请求方法",statusCode:"状态代码",duration:"请求耗时",size:"请求大小",sponsor:"发起人",requestHeaders:"请求头",responseHeaders:"响应头",noRequestHeaders:"暂无请求头",noResponseHeaders:"暂无响应头",resend:"重发",intercepted:"已拦截",interceptedShort:"拦",interceptConfig:"拦截规则配置",timeout:"超时时间(ms)",tipsTimeout:"超时后该请求直接输出err,为0没有超时设定",responseStatus:"响应状态码",requestMethod:"请求方式",placeholderHeaderName:"请输入请求头名称",placeholderHeaderValue:"请输入请求头值",placeholderRespHeaderName:"请输入响应头名称",placeholderRespHeaderValue:"请输入响应头值",placeholderUrl:"请输入请求地址",toastEnterUrl:"请输入请求地址",requestParams:"请求参数(query)",placeholderParamName:"请输入参数名称",placeholderParamValue:"请输入参数值",emptyParams:"暂无请求参数",requestBody:"请求体(request body)",placeholderBody:"请输入请求体",responseBody:"响应体(response body)",placeholderRespBody:"请输入响应体",saveConfig:"保存配置",toastSaveSuccess:"保存成功",toastBodyJson:"请求体请输入正确的JSON格式",toastRespJson:"响应体请输入正确的JSON格式",tipsIntercept:"tips: 拦截此请求,发送前将修改参数和请求头等,真实发出请求(可能会报错),并返回自定的响应内容",expectedStatus:"预期状态",expectedResult:"预期结果"},theme:{title:"主题",lightMode:"亮色模式",darkMode:"暗色模式",themes:{light:"简约亮",eye:"护眼",sakura:"樱花粉",frost:"冰霜蓝",sunny:"明快黄",dark:"深邃暗",midnight:"午夜",gulf:"海湾",lava:"熔岩",emerald:"翡翠暗"},useTransition:"开启过渡动画",useTransitionTip:"勾选后,将开启过渡动画",baseFontSize:"基础字体大小",tagFontSize:"Tag 字体大小",tipsFontSize:"Tips 字体大小",fontFamily:"字体",fontWeight:"字重",save:"保存字体配置",fonts:{default:"默认",pingFangSC:"苹方 (PingFang SC)",microsoftYaHei:"微软雅黑 (Microsoft YaHei)",simHei:"黑体 (SimHei)",simSun:"宋体 (SimSun)",kaiti:"楷体 (KaiTi)",fangSong:"仿宋 (FangSong)"},saveTip:"配置保存成功,正在重启中...",showSafeArea:"显示安全区域 (Safe Area)",showSafeAreaTip:"点击后在屏幕上显示全局红框,以查看 UI 是否被安全区域裁切 (部分平台和浏览器可能不支持)",hideSafeArea:"隐藏安全区域"},info:{title:"信息",viewWindow:"查看 Window 信息",viewWindowTip:"通过 uni.getWindowInfo 获取当前窗口信息(可能不支持)",viewDevice:"查看 Device 信息",viewDeviceTip:"通过 uni.getDeviceInfo 获取当前设备信息(可能不支持)",viewSystem:"查看 System 信息",viewSystemTip:"通过 uni.getSystemInfoSync 获取当前系统信息(可能不支持)",viewAppInfo:"查看 AppInfo 信息",viewAppInfoTip:"通过 uni.getAppBaseInfo 获取当前应用信息(可能不支持)",notSupported:"不支持",systemEnv:"系统环境",deviceBrand:"设备品牌",hostVersion:"宿主版本",sdkVersion:"基础库/SDK",platform:"容器平台"},log:{title:"日志",exportLog:"导出当前Console日志",exportLogTip:"勾选后将会导出当前的 Console",cacheConsoleLog:"缓存控制台日志到本地",cacheConsoleLogTip:"勾选后将会把 console 日志缓存到本地",exportNetwork:"导出当前Network",exportNetworkTip:"勾选后将会导出当前的 Network",exportTransfer:"导出当前Transfer",exportTransferTip:"勾选后将会导出当前的 Transfer",exportWebsocket:"导出当前Websocket",exportWebsocketTip:"勾选后将会导出当前的 Websocket",exportStorage:"导出当前Storage",exportStorageTip:"勾选后将会导出当前的 Storage、Vuex、Pinia",exportWindow:"导出当前Window信息",exportWindowTip:"勾选后将会导出当前的 Window",exportDevice:"导出当前Device信息",exportDeviceTip:"勾选后将会导出当前的 Device",exportSystem:"导出当前系统信息",exportSystemTip:"勾选后将会导出当前的 System",exportUniEvent:"导出当前Uni事件",exportUniEventTip:"勾选后将会导出当前的 Uni事件",exportElEvent:"导出当前El事件",exportElEventTip:"勾选后将会导出当前的 El事件",exportScanCodeList:"导出当前ScanCode",exportScanCodeListTip:"勾选后将会导出当前的 ScanCode",exportNfcList:"导出当前NFC列表",exportNfcListTip:"勾选后将会导出当前的 NFC列表",export:"导出"}},pinia:{title:"Pinia"},vuex:{title:"Vuex"},scanCode:{title:"扫描列表"},instance:{title:"组件",refresh:"刷新",gettingInfo:"正在获取节点信息",noInfo:"没有获取到节点信息",selectNode:"选择节点查看信息",props:"属性",data:"数据",provides:"注入",functions:"函数",emits:"事件",other:"其他"},nfc:{title:"NFC",detail:"NFC 详情",tagId:"标签ID",tagType:"标签类型",standard:"技术标准",maxTransceiveLength:"最大传输长度",unitByte:"字节",toolTitle:"NFC 工具",status:"状态",deviceSupport:"设备是否支持NFC:",support:"支持",notSupport:"不支持",enabledStatus:"NFC启用状态:",enabled:"启用",disabled:"关闭",connectStatus:"NFC连接状态:",connected:"连接",disconnected:"断开",operation:"NFC 操作",startScan:"启用NFC扫描",stopScan:"关闭NFC扫描",read:"读取",writeLabel:"写入",result:"结果",noResult:"暂无结果",write:"NFC 写入",textContent:"文本内容",placeholderText:"请输入要写入的文本",link:"网址链接",placeholderLink:"请输入要写入的网址, 例如:https://gitee.com/cloud_l/vite-uni-dev-tool",wifiConfig:"WIFI配置",placeholderSsid:"WIFI名称(SSID)",placeholderPassword:"WIFI密码",encryption:"加密方式:",cardInfo:"名片信息",placeholderName:"姓名",placeholderOrg:"公司",placeholderTel:"电话",placeholderAddress:"地址",placeholderWeb:"网址",tel:"电话",placeholderTelInput:"电话: 例如 188888888888",appLaunch:"APP启动",placeholderPkg:"APP包名 例如: com.example.app",startWrite:"开始写入",tipsWriting:"tips: 写入过程中请勿移动,防止写入失败",copy:"NFC 复制",step1:"第一步:启用NFC扫描读取源标签",step2:"第二步:更换为目标标签,将源标签复制到目标标签",step3:"第三步:写入完成之后关闭NFC扫描",tipsCopying:"tips: 复制过程中请勿移动,防止写入失败",tipsTool:"tips: 工具仅用于开发测试,如做其他用途,后果自负",toCopy:"复制",copying:"NFC 卡购买中...",writeMethods:{text:"文本",uri:"网址",wifi:"WIFI",card:"名片",tel:"电话",packageName:"APP"},authTypes:{OPEN:"开放","WPA-Personal":"WPA个人","WPA2-Personal":"WPA2个人","WPA-WPA2-Personal":"WPA/WPA2个人",WPA2_ENTERPRISE:"WPA2企业",WPA3_PERSONAL:"WPA3个人",WPA3_ENTERPRISE:"WPA3企业"},toast:{enterName:"请填写姓名",enterTel:"请填写电话"}},network:{title:"网络",ip:"IP地址",unknown:"未获取",ipTip:"部分平台无法获取 ip 地址",status:"连接状态",connected:"已连接",disconnected:"已断开",type:"网络类型",interceptRole:"请求拦截规则",intercept:"缓存拦截规则到本地",interceptTip:"勾选后将会把 network 拦截缓存到本地",searchUrl:"查询url",btnIntercept:"拦截",send:"发起",requestDetail:"请求详情",general:"常规",requestUrl:"请求地址",method:"请求方法",statusCode:"状态代码",duration:"请求耗时",size:"请求大小",sponsor:"发起人",requestHeaders:"请求头",responseHeaders:"响应头",noRequestHeaders:"暂无请求头",noResponseHeaders:"暂无响应头",resend:"重发",intercepted:"已拦截",interceptedShort:"拦",sendRequest:"发起请求",timeout:"超时时间(ms)",requestMethod:"请求方式",requestParams:"请求参数(query)",requestBody:"请求体(body)",responseBody:"响应体(response body)",interceptConfig:"拦截规则配置",responseStatus:"响应状态",saveConfig:"保存配置",detail:"详情",reset:"重置",sending:"发送中...",tipsIntercept:"tips: 拦截请求,发送请求之前将采用输入的请求头和请求参数,返回响应头和响应参数。会真实发起一次请求(真实请求可能失败),更改最后的响应结果。",tipsTimeout:"tips: 防止请求不存在,请求时长异常",delay:"强制延迟(ms)",tipsDelay:"为该请求增加Mock强制延迟(模拟弱网),为0不延迟",placeholderHeaderName:"请输入请求头名称",placeholderHeaderValue:"请输入请求头值",placeholderParamName:"请输入参数名称",placeholderParamValue:"请输入参数值",placeholderUrl:"请输入请求地址",placeholderBody:"请输入请求体",placeholderRespHeaderName:"请输入响应头名称",placeholderRespHeaderValue:"请输入响应头值",placeholderRespBody:"请输入响应体",emptyParams:"暂无请求参数",toastEnterUrl:"请输入请求地址",toastBodyJson:"请求体请输入正确的JSON格式",toastRespJson:"响应体请输入正确的JSON格式",toastSaveSuccess:"保存成功",toastRequestSuccess:"请求完成,点击左下角详情进行查看结果"},common:{clear:"清空",console:"控制台",all:"全部",barrage:"弹幕",enableBarrage:"开启弹幕",barrageShowWhenOpen:"主窗口打开时显示弹幕",barrageMaxTracks:"最大轨道数",barrageTrackHeight:"轨道高度",barrageStartTop:"起始位置 (Top)",barrageDuration:"弹幕停留时长(速度)",barrageMaxLength:"弹幕文字截断长度",barrageTypes:"显示类型",selectType:"选择类型",refresh:"刷新",navigate:"跳转",add:"新增",scan:"扫描",tool:"工具",searchNamePath:"搜索name/path",selectStatus:"选择状态",startTime:"开始",endTime:"结束",copySuccess:"复制成功",copyFail:"复制失败",progress:"进度",executionTime:"执行时长",runPlaceholder:"运行脚本...",jsonDetail:"JSON 详情",base:"基本信息",message:"消息",payload:"载荷",response:"响应",header:"头信息",formData:"表单数据",delete:"删除",custom:"自定义",none:"无",initSuccess:"初始化成功",debugSlogan:"一处编写,到处调试 😂",devVersion:"开发版",modeRequired:"请传入 mode: import.meta.env.MODE",pending:"等待中",success:"成功",error:"失败",uploading:"上传中",downloading:"下载中",status:"状态",upload:"上传",download:"下载",network:"网络",bluetooth:"蓝牙"},bluetooth:{title:"蓝牙列表",startSearch:"开始搜索",stopSearch:"停止搜索",noDevice:"未发现设备",error:"错误",connected:"已连接",paired:"已配对",pair:"配对",tool:"通讯",disconnect:"断开",connect:"连接",unknownDevice:"未知设备",tip:"提示",id:"ID",uuids:"UUIDs",rssi:"RSSI",service:"服务(Service)",selectService:"请选择服务",characteristic:"特征值(Char)",selectChar:"请选择特征值",properties:"属性",propertyRead:"Read",propertyWrite:"Write",propertyNotify:"Notify",propertyIndicate:"Indicate",receiveNotify:"接收通知 (Notify/Indicate)",notifying:"开启通知中...",stopNotify:"关闭通知中...",notifyEnabled:"已开启特征值通知",notifyDisabled:"已关闭特征值通知",notifyToggleFail:"切换通知失败",tx:"TX →",rx:"RX ←",sys:"系统",noData:"暂无通讯数据",format:"当前格式",suffix:"后缀",mode:"模式",auto:"自动",placeholder:"输入要发送的数据...",send:"发送",selectCharFirst:"请先选择服务和可写特征值",charNotWritable:"当前特征值不可写",invalidData:"数据格式错误",sendFail:"发送失败",fromDevice:"来自设备",charField:"特征字",gettingService:"获取服务...",gettingChar:"获取特征值...",requestPairing:"请求配对中...",pairRequestSent:"已发送配对请求",pairRequestFail:"配对请求失败",connecting:"连接中...",connectSuccess:"连接成功",connectFail:"连接失败",disconnecting:"断开中...",disconnectSuccess:"已断开",disconnectFail:"断开失败"}};export{e as default};
|
|
1
|
+
const e={route:{title:"路由列表",startPage:"启动页",currentPage:"当前页",visitTimes:"进入次数",lastEnterTime:"最近进入时间",lastLeaveTime:"最近离开时间",lastDuration:"最近停留时长",totalDuration:"总停留时长"},tabs:{console:"控制台",network:"网络",upload:"上传",download:"下载",transfer:"传输",websocket:"套接字",route:"路由",elEvent:"元素事件",uniEvent:"Uni事件",captureScreen:"截屏录屏",scanCode:"扫码",nfc:"NFC",bluetooth:"蓝牙",storage:"存储",vuex:"Vuex",pinia:"Pinia",performance:"性能",instance:"组件",setting:"设置"},performance:{title:"性能",fps:"FPS",cpu:"CPU",memory:"内存",widget:"悬浮窗",enable:"启用监测",enableTip:"开启后将实时监控性能指标",settings:"监控设置",widgetTip:"开启后将在页面上显示悬浮窗",fpsTip:"在图表中显示 FPS 曲线",cpuTip:"在图表中显示 CPU 使用率",memoryTip:"在图表中显示内存使用情况",longTaskTitle:"CPU Profile (长任务)",longTaskTip:"捕获导致掉帧的长任务记录",ui:"UI层",logic:"逻辑层",platformTip:"当前平台限制:部分性能指标可能无法完全获取"},storage:{title:"存储列表",searchKey:"查询key"},transfer:{title:"传输列表",searchUrl:"查询url",detailTitle:"传输详情"},upload:{title:"上传列表",searchUrl:"查询url",detailTitle:"上传详情"},download:{title:"下载列表",searchUrl:"查询url",detailTitle:"下载详情",filePath:"文件路径"},websocket:{title:"套接字列表",searchUrl:"查询url",detailTitle:"套接字详情",messageList:"消息列表",noMessage:"暂无消息",messageDetail:"消息详情",send:"发送",sendPlaceholder:"发送消息..."},uniEvent:{title:"事件列表",eventList:"事件触发列表"},elEvent:{title:"元素事件列表"},captureScreen:{title:"截屏录屏",type:"类型",page:"页面",captureTime:"截屏时间",startTime:"开始",endTime:"结束",path:"路径"},setting:{devTool:{title:"DevTool",currentVersion:"当前版本",buildTime:"编译时间",feedbackUrl:"反馈地址",slogan:"一次编写,到处执行 😂 ,有问题请反馈",showHideButton:"显示/隐藏 调试按钮",hideButtonTip:"取消勾选后,将不再显示调试按钮",hideButton:"隐藏调试按钮",showButton:"显示调试按钮",tabsConfig:"标签页配置",tabsConfigTip:"勾选后,将在 DevTool 中显示对应的标签页,取消勾选则隐藏",saveAndRestart:"保存并重启",restartDevTool:"重启 DevTool",restartDevToolTip:"点击后,将重启 DevTool",restartDevToolButton:"重启 DevTool",destroyDevTool:"销毁 DevTool",destroyDevToolTip:"点击后,将销毁 DevTool,销毁后将不再接收调试信息,需要重新运行 createDevTool() 创建",destroyDevToolButton:"销毁 DevTool",restartApp:"重启应用",restartAppTip:"点击后,将重启当前应用",restartAppButton:"重启应用",storageUsage:"存储占用",storageUsageTip:"当前信息占用的存储空间, 仅清理 Console、Network、Upload、Websocket、UniEvent",clearCache:"清理缓存",language:"语言",languageTip:"选择界面语言",confirmLanguage:"更换语言",confirmLanguageTip:"语言更换成功,正在重启中...",showPerformanceTitle:"显示/隐藏 性能面板",performanceTip:"取消勾选后,将不再显示性能面板",hidePerformance:"隐藏性能面板",showPerformance:"显示性能面板",performanceShowFps:"绘制帧率折线",performanceShowCpu:"绘制 CPU 使用率折线",performanceShowMemory:"绘制内存使用率折线"},network:{title:"网络",ip:"IP地址",unknown:"未获取",ipTip:"部分平台无法获取 ip 地址",status:"连接状态",connected:"已连接",disconnected:"已断开",type:"网络类型",interceptRole:"请求拦截规则",intercept:"缓存拦截规则到本地",interceptTip:"勾选后将会把 network 拦截缓存到本地",cacheNetworkLog:"缓存网络日志到本地",cacheNetworkLogTip:"勾选后将会把 network 日志缓存到本地",searchUrl:"查询url",btnIntercept:"拦截",send:"发起",requestDetail:"请求详情",general:"常规",requestUrl:"请求地址",method:"请求方法",statusCode:"状态代码",duration:"请求耗时",size:"请求大小",sponsor:"发起人",requestHeaders:"请求头",responseHeaders:"响应头",noRequestHeaders:"暂无请求头",noResponseHeaders:"暂无响应头",resend:"重发",intercepted:"已拦截",interceptedShort:"拦",interceptConfig:"拦截规则配置",timeout:"超时时间(ms)",tipsTimeout:"超时后该请求直接输出err,为0没有超时设定",responseStatus:"响应状态码",requestMethod:"请求方式",placeholderHeaderName:"请输入请求头名称",placeholderHeaderValue:"请输入请求头值",placeholderRespHeaderName:"请输入响应头名称",placeholderRespHeaderValue:"请输入响应头值",placeholderUrl:"请输入请求地址",toastEnterUrl:"请输入请求地址",requestParams:"请求参数(query)",placeholderParamName:"请输入参数名称",placeholderParamValue:"请输入参数值",emptyParams:"暂无请求参数",requestBody:"请求体(request body)",placeholderBody:"请输入请求体",responseBody:"响应体(response body)",placeholderRespBody:"请输入响应体",saveConfig:"保存配置",toastSaveSuccess:"保存成功",toastBodyJson:"请求体请输入正确的JSON格式",toastRespJson:"响应体请输入正确的JSON格式",tipsIntercept:"tips: 拦截此请求,发送前将修改参数和请求头等,真实发出请求(可能会报错),并返回自定的响应内容",expectedStatus:"预期状态",expectedResult:"预期结果"},theme:{title:"主题",lightMode:"亮色模式",darkMode:"暗色模式",themes:{light:"简约亮",eye:"护眼",sakura:"樱花粉",frost:"冰霜蓝",sunny:"明快黄",dark:"深邃暗",midnight:"午夜",gulf:"海湾",lava:"熔岩",emerald:"翡翠暗"},useTransition:"开启过渡动画",useTransitionTip:"勾选后,将开启过渡动画",baseFontSize:"基础字体大小",tagFontSize:"Tag 字体大小",tipsFontSize:"Tips 字体大小",fontFamily:"字体",fontWeight:"字重",save:"保存字体配置",fonts:{default:"默认",pingFangSC:"苹方 (PingFang SC)",microsoftYaHei:"微软雅黑 (Microsoft YaHei)",simHei:"黑体 (SimHei)",simSun:"宋体 (SimSun)",kaiti:"楷体 (KaiTi)",fangSong:"仿宋 (FangSong)"},saveTip:"配置保存成功,正在重启中...",showSafeArea:"显示安全区域 (Safe Area)",showSafeAreaTip:"点击后在屏幕上显示全局红框,以查看 UI 是否被安全区域裁切 (部分平台和浏览器可能不支持)",hideSafeArea:"隐藏安全区域"},info:{title:"信息",viewWindow:"查看 Window 信息",viewWindowTip:"通过 uni.getWindowInfo 获取当前窗口信息(可能不支持)",viewDevice:"查看 Device 信息",viewDeviceTip:"通过 uni.getDeviceInfo 获取当前设备信息(可能不支持)",viewSystem:"查看 System 信息",viewSystemTip:"通过 uni.getSystemInfoSync 获取当前系统信息(可能不支持)",viewAppInfo:"查看 AppInfo 信息",viewAppInfoTip:"通过 uni.getAppBaseInfo 获取当前应用信息(可能不支持)",notSupported:"不支持",systemEnv:"系统环境",deviceBrand:"设备品牌",hostVersion:"宿主版本",sdkVersion:"基础库/SDK",platform:"容器平台"},log:{title:"日志",exportLog:"导出当前Console日志",exportLogTip:"勾选后将会导出当前的 Console",cacheConsoleLog:"缓存控制台日志到本地",cacheConsoleLogTip:"勾选后将会把 console 日志缓存到本地",exportNetwork:"导出当前Network",exportNetworkTip:"勾选后将会导出当前的 Network",exportTransfer:"导出当前Transfer",exportTransferTip:"勾选后将会导出当前的 Transfer",exportWebsocket:"导出当前Websocket",exportWebsocketTip:"勾选后将会导出当前的 Websocket",exportStorage:"导出当前Storage",exportStorageTip:"勾选后将会导出当前的 Storage、Vuex、Pinia",exportWindow:"导出当前Window信息",exportWindowTip:"勾选后将会导出当前的 Window",exportDevice:"导出当前Device信息",exportDeviceTip:"勾选后将会导出当前的 Device",exportSystem:"导出当前系统信息",exportSystemTip:"勾选后将会导出当前的 System",exportUniEvent:"导出当前Uni事件",exportUniEventTip:"勾选后将会导出当前的 Uni事件",exportElEvent:"导出当前El事件",exportElEventTip:"勾选后将会导出当前的 El事件",exportScanCodeList:"导出当前ScanCode",exportScanCodeListTip:"勾选后将会导出当前的 ScanCode",exportNfcList:"导出当前NFC列表",exportNfcListTip:"勾选后将会导出当前的 NFC列表",export:"导出"}},pinia:{title:"Pinia"},vuex:{title:"Vuex"},scanCode:{title:"扫描列表"},instance:{title:"组件",refresh:"刷新",gettingInfo:"正在获取节点信息",noInfo:"没有获取到节点信息",selectNode:"选择节点查看信息",props:"属性",data:"数据",provides:"注入",functions:"函数",emits:"事件",other:"其他"},nfc:{title:"NFC",detail:"NFC 详情",tagId:"标签ID",tagType:"标签类型",standard:"技术标准",maxTransceiveLength:"最大传输长度",unitByte:"字节",toolTitle:"NFC 工具",status:"状态",deviceSupport:"设备是否支持NFC:",support:"支持",notSupport:"不支持",enabledStatus:"NFC启用状态:",enabled:"启用",disabled:"关闭",connectStatus:"NFC连接状态:",connected:"连接",disconnected:"断开",operation:"NFC 操作",startScan:"启用NFC扫描",stopScan:"关闭NFC扫描",read:"读取",writeLabel:"写入",result:"结果",noResult:"暂无结果",write:"NFC 写入",textContent:"文本内容",placeholderText:"请输入要写入的文本",link:"网址链接",placeholderLink:"请输入要写入的网址, 例如:https://gitee.com/cloud_l/vite-uni-dev-tool",wifiConfig:"WIFI配置",placeholderSsid:"WIFI名称(SSID)",placeholderPassword:"WIFI密码",encryption:"加密方式:",cardInfo:"名片信息",placeholderName:"姓名",placeholderOrg:"公司",placeholderTel:"电话",placeholderAddress:"地址",placeholderWeb:"网址",tel:"电话",placeholderTelInput:"电话: 例如 188888888888",appLaunch:"APP启动",placeholderPkg:"APP包名 例如: com.example.app",startWrite:"开始写入",tipsWriting:"tips: 写入过程中请勿移动,防止写入失败",copy:"NFC 复制",step1:"第一步:启用NFC扫描读取源标签",step2:"第二步:更换为目标标签,将源标签复制到目标标签",step3:"第三步:写入完成之后关闭NFC扫描",tipsCopying:"tips: 复制过程中请勿移动,防止写入失败",tipsTool:"tips: 工具仅用于开发测试,如做其他用途,后果自负",toCopy:"复制",copying:"NFC 卡购买中...",writeMethods:{text:"文本",uri:"网址",wifi:"WIFI",card:"名片",tel:"电话",packageName:"APP"},authTypes:{OPEN:"开放","WPA-Personal":"WPA个人","WPA2-Personal":"WPA2个人","WPA-WPA2-Personal":"WPA/WPA2个人",WPA2_ENTERPRISE:"WPA2企业",WPA3_PERSONAL:"WPA3个人",WPA3_ENTERPRISE:"WPA3企业"},toast:{enterName:"请填写姓名",enterTel:"请填写电话"}},network:{title:"网络",ip:"IP地址",unknown:"未获取",ipTip:"部分平台无法获取 ip 地址",status:"连接状态",connected:"已连接",disconnected:"已断开",type:"网络类型",interceptRole:"请求拦截规则",intercept:"缓存拦截规则到本地",interceptTip:"勾选后将会把 network 拦截缓存到本地",searchUrl:"查询url",btnIntercept:"拦截",send:"发起",requestDetail:"请求详情",general:"常规",requestUrl:"请求地址",method:"请求方法",statusCode:"状态代码",duration:"请求耗时",size:"请求大小",sponsor:"发起人",requestHeaders:"请求头",responseHeaders:"响应头",noRequestHeaders:"暂无请求头",noResponseHeaders:"暂无响应头",resend:"重发",intercepted:"已拦截",interceptedShort:"拦",sendRequest:"发起请求",timeout:"超时时间(ms)",requestMethod:"请求方式",requestParams:"请求参数(query)",requestBody:"请求体(body)",responseBody:"响应体(response body)",interceptConfig:"拦截规则配置",responseStatus:"响应状态",saveConfig:"保存配置",detail:"详情",reset:"重置",sending:"发送中...",tipsIntercept:"tips: 拦截请求,发送请求之前将采用输入的请求头和请求参数,返回响应头和响应参数。会真实发起一次请求(真实请求可能失败),更改最后的响应结果。",tipsTimeout:"tips: 防止请求不存在,请求时长异常",delay:"强制延迟(ms)",tipsDelay:"为该请求增加Mock强制延迟(模拟弱网),为0不延迟",placeholderHeaderName:"请输入请求头名称",placeholderHeaderValue:"请输入请求头值",placeholderParamName:"请输入参数名称",placeholderParamValue:"请输入参数值",placeholderUrl:"请输入请求地址",placeholderBody:"请输入请求体",placeholderRespHeaderName:"请输入响应头名称",placeholderRespHeaderValue:"请输入响应头值",placeholderRespBody:"请输入响应体",emptyParams:"暂无请求参数",toastEnterUrl:"请输入请求地址",toastBodyJson:"请求体请输入正确的JSON格式",toastRespJson:"响应体请输入正确的JSON格式",toastSaveSuccess:"保存成功",toastRequestSuccess:"请求完成,点击左下角详情进行查看结果"},common:{clear:"清空",console:"控制台",all:"全部",barrage:"弹幕",enableBarrage:"开启弹幕",barrageShowWhenOpen:"主窗口打开时显示弹幕",barrageMaxTracks:"最大轨道数",barrageTrackHeight:"轨道高度",barrageStartTop:"起始位置 (Top)",barrageDuration:"弹幕停留时长(速度)",barrageMaxLength:"弹幕文字截断长度",barrageAllowDrag:"允许拖动",barrageTypes:"显示类型",selectType:"选择类型",refresh:"刷新",navigate:"跳转",add:"新增",scan:"扫描",tool:"工具",searchNamePath:"搜索name/path",selectStatus:"选择状态",startTime:"开始",endTime:"结束",copySuccess:"复制成功",copyFail:"复制失败",progress:"进度",executionTime:"执行时长",runPlaceholder:"运行脚本...",jsonDetail:"JSON 详情",base:"基本信息",message:"消息",payload:"载荷",response:"响应",header:"头信息",formData:"表单数据",delete:"删除",custom:"自定义",none:"无",initSuccess:"初始化成功",debugSlogan:"一处编写,到处调试 😂",devVersion:"开发版",modeRequired:"请传入 mode: import.meta.env.MODE",pending:"等待中",success:"成功",error:"失败",uploading:"上传中",downloading:"下载中",status:"状态",upload:"上传",download:"下载",network:"网络",bluetooth:"蓝牙"},bluetooth:{title:"蓝牙列表",startSearch:"开始搜索",stopSearch:"停止搜索",noDevice:"未发现设备",error:"错误",connected:"已连接",paired:"已配对",pair:"配对",tool:"通讯",disconnect:"断开",connect:"连接",unknownDevice:"未知设备",tip:"提示",id:"ID",uuids:"UUIDs",rssi:"RSSI",service:"服务(Service)",selectService:"请选择服务",characteristic:"特征值(Char)",selectChar:"请选择特征值",properties:"属性",propertyRead:"Read",propertyWrite:"Write",propertyNotify:"Notify",propertyIndicate:"Indicate",receiveNotify:"接收通知 (Notify/Indicate)",notifying:"开启通知中...",stopNotify:"关闭通知中...",notifyEnabled:"已开启特征值通知",notifyDisabled:"已关闭特征值通知",notifyToggleFail:"切换通知失败",tx:"TX →",rx:"RX ←",sys:"系统",noData:"暂无通讯数据",format:"当前格式",suffix:"后缀",mode:"模式",auto:"自动",placeholder:"输入要发送的数据...",send:"发送",selectCharFirst:"请先选择服务和可写特征值",charNotWritable:"当前特征值不可写",invalidData:"数据格式错误",sendFail:"发送失败",fromDevice:"来自设备",charField:"特征字",gettingService:"获取服务...",gettingChar:"获取特征值...",requestPairing:"请求配对中...",pairRequestSent:"已发送配对请求",pairRequestFail:"配对请求失败",connecting:"连接中...",connectSuccess:"连接成功",connectFail:"连接失败",disconnecting:"断开中...",disconnectSuccess:"已断开",disconnectFail:"断开失败"},errorBoundary:{title:"业务代码已崩溃",tips:"为了保证 DevTool 仍然可用,错误已被拦截。你可以通过 DevTool 查看日志或尝试重启。",retry:"尝试恢复 (可能无效)"}};export{e as default};
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
2
|
-
`)
|
|
3
|
-
`)
|
|
4
|
-
`)
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("../../core-shared.cjs");require("../../utils/index.cjs");const h=require("../../utils/language.cjs"),y=require("../../utils/object.cjs"),u=require("../../utils/date.cjs"),l=require("../../utils/page.cjs");class v{constructor(t){return this.timeMap=new Map,this.countMap=new Map,this.event=t,new Proxy(this,{get:(e,o)=>{const r=o;if(r in e)return e[r];const n=i.backup.originalConsole;return(...a)=>{var s;return(s=n[o])==null?void 0:s.call(n,...a)}}})}factory(t,e){var n,a,s;const o=i.backup.originalConsole;if((n=o[t])==null||n.call(o,...e),this.event.getDevToolDestroy()||!(e!=null&&e.length))return;const r=e.map(p=>{const c=h.transformValueToView(p),g=y.parseValue(p);return{type:c,value:g,shortValue:c==="object"||c==="array"?h.transformValueToShortString(g,c):""}});this.event.updateConsoleList([{type:t,position:l.getCurrentPagePath(),time:u.getCurrentDate(),args:r,stack:(s=(a=new Error().stack)==null?void 0:a.split(`
|
|
2
|
+
`).slice(3))==null?void 0:s[0]}])}log(...t){this.factory("log",t)}info(...t){this.factory("info",t)}warn(...t){this.factory("warn",t)}error(...t){this.factory("error",t)}debug(...t){this.factory("debug",t)}time(t){i.backup.originalConsole.time(t),this.timeMap.set(t,Date.now())}timeEnd(t){var o,r;if(this.factory("timeEnd",[t]),this.event.getDevToolDestroy())return;const e=this.timeMap.get(t);e&&this.event.updateConsoleList([{type:"log",position:l.getCurrentPagePath(),time:u.getCurrentDate(),args:[{type:"string",value:`${t}: ${Date.now()-e}ms`}],stack:(r=(o=new Error().stack)==null?void 0:o.split(`
|
|
3
|
+
`).slice(3))==null?void 0:r[0]}]),this.timeMap.delete(t)}clear(){i.backup.originalConsole.clear(),this.event.updateConsoleList([])}count(t=""){var o,r;if(i.backup.originalConsole.count(t),this.event.getDevToolDestroy())return;const e=(this.countMap.get(t)||0)+1;this.countMap.set(t,e),this.event.updateConsoleList([{type:"log",position:l.getCurrentPagePath(),time:u.getCurrentDate(),args:[{type:"string",value:`${t}: ${e}`}],stack:(r=(o=new Error().stack)==null?void 0:o.split(`
|
|
4
|
+
`).slice(3))==null?void 0:r[0]}])}countReset(t=""){this.countMap.delete(t)}}exports.DevConsole=v;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { DevEvent } from '../devEvent';
|
|
2
|
-
import { DevTool } from '../../type';
|
|
3
2
|
|
|
4
3
|
/**
|
|
5
4
|
* DevTool 包装之后的 console 类
|
|
@@ -26,42 +25,12 @@ export declare class DevConsole {
|
|
|
26
25
|
*/
|
|
27
26
|
countMap: Map<string, number>;
|
|
28
27
|
constructor(event: DevEvent);
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
*/
|
|
36
|
-
factory(type: DevTool.ConsoleType, args: any[]): void;
|
|
37
|
-
/**
|
|
38
|
-
* DevTool 包装之后的 console.log 方法
|
|
39
|
-
*
|
|
40
|
-
* @param {...any[]} args
|
|
41
|
-
* @memberof DevConsole
|
|
42
|
-
*/
|
|
43
|
-
log(...args: any[]): void;
|
|
44
|
-
/**
|
|
45
|
-
* DevTool 包装之后的 console.info 方法
|
|
46
|
-
*
|
|
47
|
-
* @param {...any[]} args
|
|
48
|
-
* @memberof DevConsole
|
|
49
|
-
*/
|
|
50
|
-
info(...args: any[]): void;
|
|
51
|
-
/**
|
|
52
|
-
* DevTool 包装之后的 console.warn 方法
|
|
53
|
-
*
|
|
54
|
-
* @param {...any[]} args
|
|
55
|
-
* @memberof DevConsole
|
|
56
|
-
*/
|
|
57
|
-
warn(...args: any[]): void;
|
|
58
|
-
/**
|
|
59
|
-
* DevTool 包装之后的 console.error 方法
|
|
60
|
-
*
|
|
61
|
-
* @param {...any[]} args
|
|
62
|
-
* @memberof DevConsole
|
|
63
|
-
*/
|
|
64
|
-
error(...args: any[]): void;
|
|
28
|
+
private factory;
|
|
29
|
+
log(...args: unknown[]): void;
|
|
30
|
+
info(...args: unknown[]): void;
|
|
31
|
+
warn(...args: unknown[]): void;
|
|
32
|
+
error(...args: unknown[]): void;
|
|
33
|
+
debug(...args: unknown[]): void;
|
|
65
34
|
/**
|
|
66
35
|
* DevTool 包装之后的 console.time 方法
|
|
67
36
|
*
|
|
@@ -96,74 +65,4 @@ export declare class DevConsole {
|
|
|
96
65
|
* @memberof DevConsole
|
|
97
66
|
*/
|
|
98
67
|
countReset(label?: string): void;
|
|
99
|
-
/**
|
|
100
|
-
* 原始 console.assert 方法
|
|
101
|
-
*
|
|
102
|
-
* @param {...any[]} args
|
|
103
|
-
* @memberof DevConsole
|
|
104
|
-
*/
|
|
105
|
-
assert(...args: any[]): void;
|
|
106
|
-
/**
|
|
107
|
-
* 原始 console.debug 方法
|
|
108
|
-
*
|
|
109
|
-
* @param {...any[]} args
|
|
110
|
-
* @memberof DevConsole
|
|
111
|
-
*/
|
|
112
|
-
debug(...args: any[]): void;
|
|
113
|
-
/**
|
|
114
|
-
* 原始 console.dir 方法
|
|
115
|
-
*
|
|
116
|
-
* @param {...any[]} args
|
|
117
|
-
* @memberof DevConsole
|
|
118
|
-
*/
|
|
119
|
-
dir(...args: any[]): void;
|
|
120
|
-
/**
|
|
121
|
-
* 原始 console.dirxml 方法
|
|
122
|
-
*
|
|
123
|
-
* @param {...any[]} args
|
|
124
|
-
* @memberof DevConsole
|
|
125
|
-
*/
|
|
126
|
-
dirxml(...args: any[]): void;
|
|
127
|
-
/**
|
|
128
|
-
* 原始 console.group 方法
|
|
129
|
-
*
|
|
130
|
-
* @param {...any[]} args
|
|
131
|
-
* @memberof DevConsole
|
|
132
|
-
*/
|
|
133
|
-
group(...args: any[]): void;
|
|
134
|
-
/**
|
|
135
|
-
* 原始 console.groupCollapsed 方法
|
|
136
|
-
*
|
|
137
|
-
* @param {...any[]} args
|
|
138
|
-
* @memberof DevConsole
|
|
139
|
-
*/
|
|
140
|
-
groupCollapsed(...args: any[]): void;
|
|
141
|
-
/**
|
|
142
|
-
* 原始 console.groupEnd 方法
|
|
143
|
-
*
|
|
144
|
-
* @memberof DevConsole
|
|
145
|
-
*/
|
|
146
|
-
groupEnd(): void;
|
|
147
|
-
/**
|
|
148
|
-
* 原始 console.table 方法
|
|
149
|
-
*
|
|
150
|
-
* @param {...any[]} args
|
|
151
|
-
* @memberof DevConsole
|
|
152
|
-
*/
|
|
153
|
-
table(...args: any[]): void;
|
|
154
|
-
/**
|
|
155
|
-
* 原始 console.timeStamp 方法
|
|
156
|
-
*
|
|
157
|
-
* @param {...any[]} args
|
|
158
|
-
* @memberof DevConsole
|
|
159
|
-
*/
|
|
160
|
-
timeStamp(...args: any[]): void;
|
|
161
|
-
/**
|
|
162
|
-
* 原始 console.profile 方法
|
|
163
|
-
*
|
|
164
|
-
* @param {...any[]} args
|
|
165
|
-
* @memberof DevConsole
|
|
166
|
-
*/
|
|
167
|
-
trace(...args: any[]): void;
|
|
168
68
|
}
|
|
169
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{backup as
|
|
2
|
-
`)
|
|
3
|
-
`)
|
|
4
|
-
`)
|
|
1
|
+
import{backup as r}from"../../core-shared.js";import"../../utils/index.js";import{transformValueToView as m,transformValueToShortString as f}from"../../utils/language.js";import{parseValue as g}from"../../utils/object.js";import{getCurrentDate as p}from"../../utils/date.js";import{getCurrentPagePath as u}from"../../utils/page.js";class k{constructor(t){return this.timeMap=new Map,this.countMap=new Map,this.event=t,new Proxy(this,{get:(e,o)=>{const i=o;if(i in e)return e[i];const s=r.originalConsole;return(...a)=>{var n;return(n=s[o])==null?void 0:n.call(s,...a)}}})}factory(t,e){var s,a,n;const o=r.originalConsole;if((s=o[t])==null||s.call(o,...e),this.event.getDevToolDestroy()||!(e!=null&&e.length))return;const i=e.map(h=>{const c=m(h),l=g(h);return{type:c,value:l,shortValue:c==="object"||c==="array"?f(l,c):""}});this.event.updateConsoleList([{type:t,position:u(),time:p(),args:i,stack:(n=(a=new Error().stack)==null?void 0:a.split(`
|
|
2
|
+
`).slice(3))==null?void 0:n[0]}])}log(...t){this.factory("log",t)}info(...t){this.factory("info",t)}warn(...t){this.factory("warn",t)}error(...t){this.factory("error",t)}debug(...t){this.factory("debug",t)}time(t){r.originalConsole.time(t),this.timeMap.set(t,Date.now())}timeEnd(t){var o,i;if(this.factory("timeEnd",[t]),this.event.getDevToolDestroy())return;const e=this.timeMap.get(t);e&&this.event.updateConsoleList([{type:"log",position:u(),time:p(),args:[{type:"string",value:`${t}: ${Date.now()-e}ms`}],stack:(i=(o=new Error().stack)==null?void 0:o.split(`
|
|
3
|
+
`).slice(3))==null?void 0:i[0]}]),this.timeMap.delete(t)}clear(){r.originalConsole.clear(),this.event.updateConsoleList([])}count(t=""){var o,i;if(r.originalConsole.count(t),this.event.getDevToolDestroy())return;const e=(this.countMap.get(t)||0)+1;this.countMap.set(t,e),this.event.updateConsoleList([{type:"log",position:u(),time:p(),args:[{type:"string",value:`${t}: ${e}`}],stack:(i=(o=new Error().stack)==null?void 0:o.split(`
|
|
4
|
+
`).slice(3))==null?void 0:i[0]}])}countReset(t=""){this.countMap.delete(t)}}export{k as DevConsole};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../../const.cjs");require("../../utils/index.cjs");const _=require("../../utils/function.cjs"),d=require("../../utils/object.cjs"),u=require("../../utils/page.cjs"),S=require("../../utils/date.cjs"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../../const.cjs");require("../../utils/index.cjs");const f=require("../../core-shared.cjs"),_=require("../../utils/function.cjs"),d=require("../../utils/object.cjs"),u=require("../../utils/page.cjs"),S=require("../../utils/date.cjs"),D=require("../../utils/language.cjs"),C=require("../../utils/file.cjs");class m{constructor({store:t}){this.abnormalUploadCount=0,this.abnormalUploadTimer=null,this.isAbnormalUploadActive=!1,this.isListening=!1,this.postMessage=_.throttle(()=>{this.postMessageFn()},2e3),this.store=t,this.messageBound=e=>{try{const s=typeof e=="string"?JSON.parse(e):e;this.handleUIMessage(s)}catch(s){console.error("[DevEvent] Failed to parse UI message",s)}},this.tapEventBound=this.tapEvent.bind(this),this.throttleTouchStartEvent=_.throttle(this.touchStartEvent.bind(this),1e3),this.throttleTouchMoveEvent=_.throttle(this.touchMoveEvent.bind(this),1e3),this.throttleTouchEndEvent=_.throttle(this.touchEndEvent.bind(this),1e3)}setIntercept(t){this.intercept=t}emitToUI(t,e={}){try{const s=d.serializeCircular({type:t,data:e});if(s.length>500*1024){console.warn(`[DevTool] Data too large to emit (${(s.length/1024).toFixed(2)}KB). Dropped to prevent crash.`),uni.$emit(o.DEV_CORE_MESSAGE,JSON.stringify({type:t,data:{_warning:"Data too large, transmission dropped.",size:s.length}}));return}uni.$emit(o.DEV_CORE_MESSAGE,s)}catch(s){console.error("[DevTool] emitToUI bridge error",s);try{uni.$emit(o.DEV_CORE_MESSAGE,JSON.stringify({type:t,data:{}}))}catch{}}}addEventListener(){this.isListening||(uni.$on(o.DEV_UI_MESSAGE,this.messageBound),this.addCaptureEventListener(),this.isListening=!0)}removeEventListener(){this.isListening&&(uni.$off(o.DEV_UI_MESSAGE,this.messageBound),this.removeCaptureEventListener(),this.isListening=!1)}createDevTool(t){var s;if(!this.store.getDevToolDestroy()){console.log("[DevTool] 调试器已创建,不再创建");return}const e=this.store.getDevToolOptions();(s=this.intercept)==null||s.init({enableCaptureScreen:e==null?void 0:e.enableCaptureScreen,enableInterceptPromiseReject:e==null?void 0:e.enableInterceptPromiseReject}),this.store.setDevToolDestroy(!1),this.store.updateRouteList(),this.emitToUI(o.MSG_TYPE.BUTTON_VISIBLE,!0),this.store.setDevToolButtonVisible(!0),setTimeout(()=>{console.log(`[DevTool] 创建成功
|
|
2
2
|
当前版本:${t==null?void 0:t.devToolVersion}
|
|
3
3
|
构建时间:${t==null?void 0:t.devToolBuildTime}
|
|
4
|
-
一处编写,到处调试 😂`)},500),this.addEventListener(),this.postMessage()}destroyDevTool(){var t;this.store.getDevToolDestroy()||(this.emitToUI(o.MSG_TYPE.BUTTON_VISIBLE,!1),this.store.
|
|
5
|
-
`),s=e==null?void 0:e[1],a=Date.now(),r={type:"log",args:[{type:"string",value:t}],position:u.getCurrentPagePath(),time:S.getCurrentDate(),stack:s,mode:"input"};this.updateConsoleList([{...r}]),this.executeJS(t).then(c=>{const l=v.transformValueToView(c),E=d.parseValue(c),g=l==="object"||l==="array"?v.transformValueToShortString(E,l):"";r.args=[{type:l,value:E,shortValue:g}],r.time=S.getCurrentDate(),r.mode="output",r.executionTime=Date.now()-a,this.updateConsoleList([{...r}])})}addElEvent(t){this.store.addElEvent(t),this.postMessage()}clearElEventList(){this.store.clearElEventList(),this.postMessage()}hasCaptureEvent(t){const{includeCaptureElDataSet:e=[],excludeCaptureElDataSet:s=[]}=this.store.getDevToolOptions()??{includeCaptureElDataSet:[],excludeCaptureElDataSet:[]};return e&&e.length?e.some(a=>{var r;return Object.keys(((r=t==null?void 0:t.target)==null?void 0:r.dataset)??{}).includes(a)}):s&&s.length?!s.some(a=>{var r;return Object.keys(((r=t==null?void 0:t.target)==null?void 0:r.dataset)??{}).includes(a)}):!0}formatEventCoordinates(t){return!t||!Array.isArray(t)?t:t.map(e=>{const s={...e};return["clientX","clientY","pageX","pageY","x","y"].forEach(a=>{typeof e[a]=="number"&&(s[a]=parseFloat(e[a].toFixed(2)))}),s})}tapEvent(t){if(!this.hasCaptureEvent(t))return;const e={type:t.type,timer:Date.now(),target:{id:t.target.id,dataset:t.target.dataset},touches:this.formatEventCoordinates(t.touches||t.changedTouches||[]),path:u.getCurrentPagePath()};this.addElEvent(e)}touchStartEvent(t){if(!this.hasCaptureEvent(t))return;const e={type:t.type,timer:Date.now(),target:{id:t.target.id,dataset:t.target.dataset},touches:this.formatEventCoordinates(t.touches||t.changedTouches||[]),path:u.getCurrentPagePath()};this.addElEvent(e)}touchMoveEvent(t){if(!this.hasCaptureEvent(t))return;const e={type:t.type,timer:Date.now(),target:{id:t.target.id,dataset:t.target.dataset},touches:this.formatEventCoordinates(t.touches||t.changedTouches||[]),path:u.getCurrentPagePath()};this.addElEvent(e)}touchEndEvent(t){if(!this.hasCaptureEvent(t))return;const e={type:t.type,timer:Date.now(),target:{id:t.target.id,dataset:t.target.dataset},touches:this.formatEventCoordinates(t.touches||t.changedTouches||[]),path:u.getCurrentPagePath()};this.addElEvent(e)}addCaptureEventListener(){var e;const t=(e=this.store.getDevToolOptions())==null?void 0:e.captureList;Array.isArray(t)&&(t.includes("tap")&&uni.$on(o.DEV_CAPTURE_TAP_EVENT,this.tapEventBound),t.includes("touchstart")&&uni.$on(o.DEV_CAPTURE_TOUCH_START,this.throttleTouchStartEvent),t.includes("touchmove")&&uni.$on(o.DEV_CAPTURE_TOUCH_MOVE,this.throttleTouchMoveEvent),t.includes("touchend")&&uni.$on(o.DEV_CAPTURE_TOUCH_END,this.throttleTouchEndEvent))}removeCaptureEventListener(){var e;const t=(e=this.store.getDevToolOptions())==null?void 0:e.captureList;Array.isArray(t)&&(t.includes("tap")&&uni.$off(o.DEV_CAPTURE_TAP_EVENT,this.tapEventBound),t.includes("touchstart")&&uni.$off(o.DEV_CAPTURE_TOUCH_START,this.throttleTouchStartEvent),t.includes("touchmove")&&uni.$off(o.DEV_CAPTURE_TOUCH_MOVE,this.throttleTouchMoveEvent),t.includes("touchend")&&uni.$off(o.DEV_CAPTURE_TOUCH_END,this.throttleTouchEndEvent))}async getAbnormalData(){var c,l,E,D,g,M;const t=await this.store.getDevData(),e=((c=t.consoleList)==null?void 0:c.filter(i=>["error","warn"].includes(i.type)&&!i.hasUpload))??[],s=((l=t.networkList)==null?void 0:l.filter(i=>{var T,p;return i.sponsor==="user"&&!((p=(T=i.status)==null?void 0:T.toString())!=null&&p.startsWith("2"))&&!i.hasUpload}))??[],a=((E=t.transferList)==null?void 0:E.filter(i=>{var T,p;return!((p=(T=i.status)==null?void 0:T.toString())!=null&&p.startsWith("2"))&&!i.hasUpload}))??[],r=((D=t.elEventList)==null?void 0:D.filter(i=>!i.hasUpload))??[],n=((g=t.uniEventList)==null?void 0:g.filter(i=>!i.hasUpload))??[],h=((M=t.screenList)==null?void 0:M.filter(i=>!i.hasUpload))??[];return{consoleList:e,networkList:s,transferList:a,elEventList:r,uniEventList:n,screenList:h,systemInfo:t.systemInfo,deviceInfo:t.deviceInfo}}async performAbnormalUpload(t){const{consoleList:e,networkList:s,transferList:a,systemInfo:r,elEventList:n,uniEventList:h,screenList:c,deviceInfo:l}=await this.getAbnormalData();e.length||s.length||a.length||n.length||h.length||c.length?uni.request({method:"POST",url:t.url,header:{...(t==null?void 0:t.header)??{},"dev-tool-sponsor":Date.now()},timeout:(t==null?void 0:t.timerOut)??3*1e3,data:{...(t==null?void 0:t.payload)??{},consoleList:e,networkList:s,transferList:a,elEventList:n,uniEventList:h,screenList:c,deviceInfo:l,systemInfo:r,platform:uni.__dev_tool_platform__},success:()=>{this.store.updateHasUpload(),this.uploadAbnormal(),this.abnormalUploadCount=0},fail:()=>{this.uploadAbnormal(),this.abnormalUploadCount++}}):this.uploadAbnormal()}uploadAbnormal(t){if(!this.isAbnormalUploadActive)return;const{uploadAbnormalUV:e}=this.store.getDevToolOptions()??{uploadAbnormalUV:{url:"",header:{},payload:{},duration:10*1e3,timerOut:3*1e3}};if(!(e!=null&&e.url))return;const s=e.duration??10*1e3,a=5*60*1e3,r=Math.min(s*Math.pow(2,this.abnormalUploadCount),a),n=Math.max(r,s);this.abnormalUploadTimer&&clearTimeout(this.abnormalUploadTimer),t!=null&&t.immediately?this.performAbnormalUpload(e):this.abnormalUploadTimer=setTimeout(()=>{this.performAbnormalUpload(e)},n)}startAbnormalUpload(t){this.isAbnormalUploadActive=!0,this.abnormalUploadCount=0,this.uploadAbnormal(t)}stopAbnormalUpload(){this.isAbnormalUploadActive=!1,this.abnormalUploadTimer&&(clearTimeout(this.abnormalUploadTimer),this.abnormalUploadTimer=null)}updateConsoleList(t,e){this.store.updateConsoleList(t,e),this.postMessage(),this.emitToUI(o.MSG_TYPE.BARRAGE_ADD,{items:t.map(s=>({type:s.type||"log",args:s.args}))})}updateNetworkList(t,e){this.store.updateNetworkList(t,e),this.postMessage();const s=t.filter(a=>a.status&&!a.status.toString().startsWith("2"));s.length>0&&this.emitToUI(o.MSG_TYPE.BARRAGE_ADD,{items:s.map(a=>({type:"network",url:a.url,method:a.method,status:a.status}))})}updateWsList(t){this.store.updateWsList(t),this.postMessage(),t.message&&t.message.length>0&&this.emitToUI(o.MSG_TYPE.BARRAGE_ADD,{items:t.message.map(e=>({type:"websocket",url:t.url,data:e.value}))})}addWsTask(t,e){this.store.addWsTask(t,e)}removeWsTask(t){this.store.removeWsTask(t)}updateStorage(t){this.store.updateStoreList(t),this.postMessage()}updateTransfer(t,e){this.store.updateTransferList(t,e),this.postMessage();const s=t.filter(a=>a.status==="failed");s.length>0&&this.emitToUI(o.MSG_TYPE.BARRAGE_ADD,{items:s.map(a=>({type:"transfer",url:a.url}))})}updateUniEvent(t){this.store.updateUniEventList(t),this.postMessage()}updateScreen(t,e){this.store.updateScreenList(t,e),this.postMessage()}updateScanCode(t){this.store.updateScanCodeList(t),this.postMessage()}updateNfc(t){this.store.updateNfcList(t),this.postMessage()}updateBluetooth(t){this.store.updateBluetoothList(t),this.postMessage()}updateRouteList(t){this.store.updateRouteList(t),this.postMessage()}updateUniEventCount(t){this.store.updateUniEventCount(t),this.postMessage()}getInterceptNetworkMap(){return this.store.getInterceptNetworkMap()}getRequestIndex(){return this.store.getRequestIndex()}setRequestIndex(t){return this.store.setRequestIndex(t)}getDevToolDestroy(){return this.store.getDevToolDestroy()}getDevToolOptions(){return this.store.getDevToolOptions()}setVuexList(t){this.store.setVuexList(t),this.postMessage()}setVueStore(t){this.store.setVuexStore(t)}setPiniaList(t){this.store.setPiniaList(t),this.postMessage()}setPiniaStore(t){this.store.setPiniaStore(t)}clearStorage(t){this.store.clearStorageList(t),this.postMessage()}removeStorage(t,e){this.store.removeStorage(t,e),this.postMessage()}addTransferTask(t,e){this.store.addTransferTask(t,e),this.postMessage()}removeTransferTask(t){this.store.removeTransferTask(t),this.postMessage()}exportLog(t){const e=this.store.getExportData(t),s=JSON.stringify(e,null,2),a="dev-tool-log";switch(uni.__dev_tool_platform__){case"app":C.saveTxtFileApp(s,a);break;case"web":C.saveTextFileH5(s,a);break;case"mp-weixin":case"mp-alipay":case"mp-toutiao":C.saveTextFileMicro(s,a);break}}sendWsMessage(t,e){const s=this.store.getWsTask(t);if(s)s.send({data:e});else{const a=v.transformValueToView(e),r=d.parseValue(e),h=a==="object"||a==="array"?v.transformValueToShortString(r,a):typeof e=="string"?e.slice(0,50):String(e);this.updateWsList({url:t,readyState:"closed",message:[{value:r,valueType:a,shortValue:h,status:"error",time:Date.now(),type:"send"}]})}}restartApp(){switch(uni.__dev_tool_platform__){case"app":plus.runtime.restart();break;case"web":window.location.reload();break;case"mp-weixin":try{wx!=null&&wx.restartMiniProgram&&wx.restartMiniProgram({path:"/"+u.getCurrentPagePath()})}catch{}break}}handleUIMessage(t){const{type:e,data:s}=t;switch(e){case o.CMD_TYPE.CONSOLE_CLEAR:this.store.clearConsoleList();break;case o.CMD_TYPE.NETWORK_CLEAR:this.store.clearInterceptNetworkList(),this.postMessage();break;case o.CMD_TYPE.INTERCEPT_UPDATE:this.store.updateInterceptNetworkList(s);break;case o.CMD_TYPE.WS_CLEAR:this.store.clearWsList(),this.postMessage();break;case o.CMD_TYPE.WS_CLEAR_MESSAGE:this.store.clearWsMessage(s.url),this.postMessage();break;case o.CMD_TYPE.WS_SEND:this.sendWsMessage(s.url,s.message);break;case o.CMD_TYPE.TRANSFER_CLEAR:this.store.updateTransferList([]),this.postMessage();break;case o.CMD_TYPE.STORAGE_CLEAR:this.store.clearStorageList(!0),this.postMessage();break;case o.CMD_TYPE.STORAGE_REFRESH:this.store.refreshStore(),this.postMessage();break;case o.CMD_TYPE.STORAGE_REMOVE:this.store.removeStorage(s.key,!0),this.postMessage();break;case o.CMD_TYPE.STORAGE_ADD:this.store.addStorage(s,!0),this.postMessage();break;case o.CMD_TYPE.STORAGE_UPDATE:this.store.updateStore(s),this.postMessage();break;case o.CMD_TYPE.VUEX_CHANGE:this.store.updateVuexStore(s),this.postMessage();break;case o.CMD_TYPE.PINIA_CHANGE:this.store.updatePiniaStore(s),this.postMessage();break;case o.CMD_TYPE.EL_EVENT_CLEAR:this.clearElEventList();break;case o.CMD_TYPE.UNI_EVENT_CLEAR:this.store.clearUniEventList(),this.postMessage();break;case o.CMD_TYPE.SCAN_CODE_CLEAR:this.store.clearScanCodeList();break;case o.CMD_TYPE.NFC_CLEAR:this.store.clearNfcList();break;case o.CMD_TYPE.BLUETOOTH_CLEAR:this.store.clearBluetoothList(),this.postMessage();break;case o.CMD_TYPE.SCREEN_CLEAR:break;case o.CMD_TYPE.BUTTON_TOGGLE:s.show?this.showDevToolButton():this.hideDevToolButton(),this.postMessage();break;case o.CMD_TYPE.WINDOW_OPEN:this.openDevToolWindow();break;case o.CMD_TYPE.WINDOW_CLOSE:this.closeDevToolWindow();break;case o.CMD_TYPE.RESTART_DEBUGGER:this.restartDevTool();break;case o.CMD_TYPE.RESTART_APP:this.restartApp();break;case o.CMD_TYPE.DESTROY:this.destroyDevTool();break;case o.CMD_TYPE.EXPORT_LOG:this.exportLog(s);break;case o.CMD_TYPE.RUN_JS:this.devRunJS(s.code);break;case o.CMD_TYPE.ROUTE_REFRESH:this.postMessage();break;case o.CMD_TYPE.OPTION_GET:this.sendDevToolOption();break;case o.CMD_TYPE.CACHE_CLEAR:this.store.clearDevCache();break;case o.CMD_TYPE.SET_CACHE_INTERCEPT:this.store.setCacheInterceptConfig(s.cacheInterceptConfig);break;case o.CMD_TYPE.SET_CACHE_NETWORK_LOG:this.store.setCacheNetworkLog(s.cacheNetworkLog);break;case o.CMD_TYPE.SET_CACHE_CONSOLE_LOG:this.store.setCacheConsoleLog(s.cacheConsoleLog);break;case o.CMD_TYPE.SET_TRANSITION:this.store.setUseTransition(s.useTransition);break;case o.CMD_TYPE.SET_FONT:this.store.setBaseFontSize(s.baseFontSize),this.store.setTagFontSize(s.tagFontSize),this.store.setTipsFontSize(s.tipsFontSize),this.store.setFontFamily(s.fontFamily),this.store.setFontWeight(s.fontWeight),this.postMessage();break;case o.CMD_TYPE.BARRAGE_TOGGLE:this.store.setBarrageVisible(s.show),this.emitToUI(o.MSG_TYPE.BARRAGE_VISIBLE,s.show),this.postMessage();break;case o.CMD_TYPE.BARRAGE_MAX_TRACKS:this.store.setBarrageMaxTracks(s.value),this.postMessage();break;case o.CMD_TYPE.BARRAGE_TRACK_HEIGHT:this.store.setBarrageTrackHeight(s.value),this.postMessage();break;case o.CMD_TYPE.BARRAGE_START_TOP:this.store.setBarrageStartTop(s.value),this.postMessage();break;case o.CMD_TYPE.BARRAGE_DURATION:this.store.setBarrageDuration(s.value),this.postMessage();break;case o.CMD_TYPE.BARRAGE_MAX_LENGTH:this.store.setBarrageMaxLength(s.value),this.postMessage();break;case o.CMD_TYPE.BARRAGE_TYPES:this.store.setBarrageTypes(s.value),this.postMessage();break;case o.CMD_TYPE.SET_BARRAGE_SHOW_WHEN_OPEN:this.store.setBarrageShowWhenOpen(s.value),this.emitToUI(o.MSG_TYPE.BARRAGE_SHOW_WHEN_OPEN,s.value),this.postMessage();break;case o.CMD_TYPE.TAB_CHANGE:this.closeDevToolWindow(),this.updateRouteList(s.path);break}}acceptMessage(){this.addEventListener()}}exports.DevEvent=f;
|
|
4
|
+
一处编写,到处调试 😂`)},500),this.addEventListener(),this.postMessage()}destroyDevTool(){var t;this.store.getDevToolDestroy()||(this.emitToUI(o.MSG_TYPE.BUTTON_VISIBLE,!1),this.store.setDevToolButtonVisible(!1),this.emitToUI(o.MSG_TYPE.WINDOW_VISIBLE,!1),this.store.setRequestIndex(-1),this.store.setTransferIndex(-1),this.store.setDevToolDestroy(!0),this.store.clearAll(),(t=this.intercept)==null||t.reset(),this.removeEventListener(),f.backup.originalConsole.log("[DevTool] 调试器已销毁"))}restartDevTool(){this.destroyDevTool(),this.createDevTool({devToolBuildTime:this.store.devToolBuildTime,devToolVersion:this.store.devToolVersion}),this.emitToUI(o.MSG_TYPE.WINDOW_VISIBLE,!0)}async postMessageFn(){if(this.store.getDevToolDestroy())return;const t=await this.store.getDevData(),e=d.calculateObjectSize(t),s=d.formatStorageSize(e);t.size=e,t.sizeFormat=s,this.emitToUI(o.MSG_TYPE.DATA_UPDATE,t),e>this.store.cacheMaxSize&&this.store.clearDevCache()}openDevToolWindow(){this.store.getDevToolDestroy()||(setTimeout(()=>this.postMessage(),100),this.emitToUI(o.MSG_TYPE.WINDOW_VISIBLE,!0))}closeDevToolWindow(){this.store.getDevToolDestroy()||this.emitToUI(o.MSG_TYPE.WINDOW_VISIBLE,!1)}showDevToolButton(){this.store.getDevToolDestroy()||(this.emitToUI(o.MSG_TYPE.BUTTON_VISIBLE,!0),this.store.setDevToolButtonVisible(!0))}hideDevToolButton(){this.store.getDevToolDestroy()||(this.emitToUI(o.MSG_TYPE.BUTTON_VISIBLE,!1),this.store.setDevToolButtonVisible(!1))}sendDevToolOption(){const t=this.store.getDevToolOptions();this.emitToUI(o.MSG_TYPE.OPTION_UPDATE,t)}devToolScanCode(t,e){this.updateScanCode([{timer:Date.now(),result:t,scanType:e,charSet:"",rawData:"",errMsg:"",path:u.getCurrentPagePath()}])}devToolNFC(t){this.updateNfc([{timer:Date.now(),path:u.getCurrentPagePath(),...t}])}executeJS(t){const e="_e_v_a_l_".replace(/_/g,""),s="_e_v_a_l_F_n_".replace(/_/g,"");if(globalThis!=null&&globalThis[s])return Promise.resolve(globalThis==null?void 0:globalThis[s](t));if(globalThis!=null&&globalThis[e])return Promise.resolve(globalThis==null?void 0:globalThis[e](t));throw new Error("[DevTool] DevRunJS 当前环境不支持执行js")}devRunJS(t){var n,h;const e=(h=(n=new Error)==null?void 0:n.stack)==null?void 0:h.split(`
|
|
5
|
+
`),s=e==null?void 0:e[1],a=Date.now(),r={type:"log",args:[{type:"string",value:t}],position:u.getCurrentPagePath(),time:S.getCurrentDate(),stack:s,mode:"input"};this.updateConsoleList([{...r}]),this.executeJS(t).then(c=>{const l=D.transformValueToView(c),E=d.parseValue(c),g=l==="object"||l==="array"?D.transformValueToShortString(E,l):"";r.args=[{type:l,value:E,shortValue:g}],r.time=S.getCurrentDate(),r.mode="output",r.executionTime=Date.now()-a,this.updateConsoleList([{...r}])})}addElEvent(t){this.store.addElEvent(t),this.postMessage()}clearElEventList(){this.store.clearElEventList(),this.postMessage()}hasCaptureEvent(t){const{includeCaptureElDataSet:e=[],excludeCaptureElDataSet:s=[]}=this.store.getDevToolOptions()??{includeCaptureElDataSet:[],excludeCaptureElDataSet:[]};return e&&e.length?e.some(a=>{var r;return Object.keys(((r=t==null?void 0:t.target)==null?void 0:r.dataset)??{}).includes(a)}):s&&s.length?!s.some(a=>{var r;return Object.keys(((r=t==null?void 0:t.target)==null?void 0:r.dataset)??{}).includes(a)}):!0}formatEventCoordinates(t){return!t||!Array.isArray(t)?t:t.map(e=>{const s={...e};return["clientX","clientY","pageX","pageY","x","y"].forEach(a=>{typeof e[a]=="number"&&(s[a]=parseFloat(e[a].toFixed(2)))}),s})}tapEvent(t){if(!this.hasCaptureEvent(t))return;const e={type:t.type,timer:Date.now(),target:{id:t.target.id,dataset:t.target.dataset},touches:this.formatEventCoordinates(t.touches||t.changedTouches||[]),path:u.getCurrentPagePath()};this.addElEvent(e)}touchStartEvent(t){if(!this.hasCaptureEvent(t))return;const e={type:t.type,timer:Date.now(),target:{id:t.target.id,dataset:t.target.dataset},touches:this.formatEventCoordinates(t.touches||t.changedTouches||[]),path:u.getCurrentPagePath()};this.addElEvent(e)}touchMoveEvent(t){if(!this.hasCaptureEvent(t))return;const e={type:t.type,timer:Date.now(),target:{id:t.target.id,dataset:t.target.dataset},touches:this.formatEventCoordinates(t.touches||t.changedTouches||[]),path:u.getCurrentPagePath()};this.addElEvent(e)}touchEndEvent(t){if(!this.hasCaptureEvent(t))return;const e={type:t.type,timer:Date.now(),target:{id:t.target.id,dataset:t.target.dataset},touches:this.formatEventCoordinates(t.touches||t.changedTouches||[]),path:u.getCurrentPagePath()};this.addElEvent(e)}addCaptureEventListener(){var e;const t=(e=this.store.getDevToolOptions())==null?void 0:e.captureList;Array.isArray(t)&&(t.includes("tap")&&uni.$on(o.DEV_CAPTURE_TAP_EVENT,this.tapEventBound),t.includes("touchstart")&&uni.$on(o.DEV_CAPTURE_TOUCH_START,this.throttleTouchStartEvent),t.includes("touchmove")&&uni.$on(o.DEV_CAPTURE_TOUCH_MOVE,this.throttleTouchMoveEvent),t.includes("touchend")&&uni.$on(o.DEV_CAPTURE_TOUCH_END,this.throttleTouchEndEvent))}removeCaptureEventListener(){var e;const t=(e=this.store.getDevToolOptions())==null?void 0:e.captureList;Array.isArray(t)&&(t.includes("tap")&&uni.$off(o.DEV_CAPTURE_TAP_EVENT,this.tapEventBound),t.includes("touchstart")&&uni.$off(o.DEV_CAPTURE_TOUCH_START,this.throttleTouchStartEvent),t.includes("touchmove")&&uni.$off(o.DEV_CAPTURE_TOUCH_MOVE,this.throttleTouchMoveEvent),t.includes("touchend")&&uni.$off(o.DEV_CAPTURE_TOUCH_END,this.throttleTouchEndEvent))}async getAbnormalData(){var c,l,E,v,g,M;const t=await this.store.getDevData(),e=((c=t.consoleList)==null?void 0:c.filter(i=>["error","warn"].includes(i.type)&&!i.hasUpload))??[],s=((l=t.networkList)==null?void 0:l.filter(i=>{var T,p;return i.sponsor==="user"&&!((p=(T=i.status)==null?void 0:T.toString())!=null&&p.startsWith("2"))&&!i.hasUpload}))??[],a=((E=t.transferList)==null?void 0:E.filter(i=>{var T,p;return!((p=(T=i.status)==null?void 0:T.toString())!=null&&p.startsWith("2"))&&!i.hasUpload}))??[],r=((v=t.elEventList)==null?void 0:v.filter(i=>!i.hasUpload))??[],n=((g=t.uniEventList)==null?void 0:g.filter(i=>!i.hasUpload))??[],h=((M=t.screenList)==null?void 0:M.filter(i=>!i.hasUpload))??[];return{consoleList:e,networkList:s,transferList:a,elEventList:r,uniEventList:n,screenList:h,systemInfo:t.systemInfo,deviceInfo:t.deviceInfo}}async performAbnormalUpload(t){const{consoleList:e,networkList:s,transferList:a,systemInfo:r,elEventList:n,uniEventList:h,screenList:c,deviceInfo:l}=await this.getAbnormalData();e.length||s.length||a.length||n.length||h.length||c.length?uni.request({method:"POST",url:t.url,header:{...(t==null?void 0:t.header)??{},"dev-tool-sponsor":Date.now()},timeout:(t==null?void 0:t.timerOut)??3*1e3,data:{...(t==null?void 0:t.payload)??{},consoleList:e,networkList:s,transferList:a,elEventList:n,uniEventList:h,screenList:c,deviceInfo:l,systemInfo:r,platform:uni.__dev_tool_platform__},success:()=>{this.store.updateHasUpload(),this.uploadAbnormal(),this.abnormalUploadCount=0},fail:()=>{this.uploadAbnormal(),this.abnormalUploadCount++}}):this.uploadAbnormal()}uploadAbnormal(t){if(!this.isAbnormalUploadActive)return;const{uploadAbnormalUV:e}=this.store.getDevToolOptions()??{uploadAbnormalUV:{url:"",header:{},payload:{},duration:10*1e3,timerOut:3*1e3}};if(!(e!=null&&e.url))return;const s=e.duration??10*1e3,a=5*60*1e3,r=Math.min(s*Math.pow(2,this.abnormalUploadCount),a),n=Math.max(r,s);this.abnormalUploadTimer&&clearTimeout(this.abnormalUploadTimer),t!=null&&t.immediately?this.performAbnormalUpload(e):this.abnormalUploadTimer=setTimeout(()=>{this.performAbnormalUpload(e)},n)}startAbnormalUpload(t){this.isAbnormalUploadActive=!0,this.abnormalUploadCount=0,this.uploadAbnormal(t)}stopAbnormalUpload(){this.isAbnormalUploadActive=!1,this.abnormalUploadTimer&&(clearTimeout(this.abnormalUploadTimer),this.abnormalUploadTimer=null)}updateConsoleList(t,e){this.store.updateConsoleList(t,e),this.postMessage(),this.emitToUI(o.MSG_TYPE.BARRAGE_ADD,{items:t.map(s=>({type:s.type||"log",args:s.args}))})}updateNetworkList(t,e){this.store.updateNetworkList(t,e),this.postMessage();const s=t.filter(a=>a.status&&!a.status.toString().startsWith("2"));s.length>0&&this.emitToUI(o.MSG_TYPE.BARRAGE_ADD,{items:s.map(a=>({type:"network",url:a.url,method:a.method,status:a.status}))})}updateWsList(t){this.store.updateWsList(t),this.postMessage(),t.message&&t.message.length>0&&this.emitToUI(o.MSG_TYPE.BARRAGE_ADD,{items:t.message.map(e=>({type:"websocket",url:t.url,data:e.value}))})}addWsTask(t,e){this.store.addWsTask(t,e)}removeWsTask(t){this.store.removeWsTask(t)}updateStorage(t){this.store.updateStoreList(t),this.postMessage()}updateTransfer(t,e){this.store.updateTransferList(t,e),this.postMessage();const s=t.filter(a=>a.status==="failed");s.length>0&&this.emitToUI(o.MSG_TYPE.BARRAGE_ADD,{items:s.map(a=>({type:"transfer",url:a.url}))})}updateUniEvent(t){this.store.updateUniEventList(t),this.postMessage()}updateScreen(t,e){this.store.updateScreenList(t,e),this.postMessage()}updateScanCode(t){this.store.updateScanCodeList(t),this.postMessage()}updateNfc(t){this.store.updateNfcList(t),this.postMessage()}updateBluetooth(t){this.store.updateBluetoothList(t),this.postMessage()}updateRouteList(t){this.store.updateRouteList(t),this.postMessage()}updateUniEventCount(t){this.store.updateUniEventCount(t),this.postMessage()}getInterceptNetworkMap(){return this.store.getInterceptNetworkMap()}getRequestIndex(){return this.store.getRequestIndex()}setRequestIndex(t){return this.store.setRequestIndex(t)}getDevToolDestroy(){return this.store.getDevToolDestroy()}getDevToolOptions(){return this.store.getDevToolOptions()}setVuexList(t){this.store.setVuexList(t),this.postMessage()}setVueStore(t){this.store.setVuexStore(t)}setPiniaList(t){this.store.setPiniaList(t),this.postMessage()}setPiniaStore(t){this.store.setPiniaStore(t)}clearStorage(t){this.store.clearStorageList(t),this.postMessage()}removeStorage(t,e){this.store.removeStorage(t,e),this.postMessage()}addTransferTask(t,e){this.store.addTransferTask(t,e),this.postMessage()}removeTransferTask(t){this.store.removeTransferTask(t),this.postMessage()}exportLog(t){const e=this.store.getExportData(t),s=JSON.stringify(e,null,2),a="dev-tool-log";switch(uni.__dev_tool_platform__){case"app":C.saveTxtFileApp(s,a);break;case"web":C.saveTextFileH5(s,a);break;case"mp-weixin":case"mp-alipay":case"mp-toutiao":C.saveTextFileMicro(s,a);break}}sendWsMessage(t,e){const s=this.store.getWsTask(t);if(s)s.send({data:e});else{const a=D.transformValueToView(e),r=d.parseValue(e),h=a==="object"||a==="array"?D.transformValueToShortString(r,a):typeof e=="string"?e.slice(0,50):String(e);this.updateWsList({url:t,readyState:"closed",message:[{value:r,valueType:a,shortValue:h,status:"error",time:Date.now(),type:"send"}]})}}restartApp(){switch(uni.__dev_tool_platform__){case"app":plus.runtime.restart();break;case"web":window.location.reload();break;case"mp-weixin":try{wx!=null&&wx.restartMiniProgram&&wx.restartMiniProgram({path:"/"+u.getCurrentPagePath()})}catch{}break}}handleUIMessage(t){const{type:e,data:s}=t;switch(e){case o.CMD_TYPE.CONSOLE_CLEAR:this.store.clearConsoleList();break;case o.CMD_TYPE.NETWORK_CLEAR:this.store.clearInterceptNetworkList(),this.postMessage();break;case o.CMD_TYPE.INTERCEPT_UPDATE:this.store.updateInterceptNetworkList(s);break;case o.CMD_TYPE.WS_CLEAR:this.store.clearWsList(),this.postMessage();break;case o.CMD_TYPE.WS_CLEAR_MESSAGE:this.store.clearWsMessage(s.url),this.postMessage();break;case o.CMD_TYPE.WS_SEND:this.sendWsMessage(s.url,s.message);break;case o.CMD_TYPE.TRANSFER_CLEAR:this.store.updateTransferList([]),this.postMessage();break;case o.CMD_TYPE.STORAGE_CLEAR:this.store.clearStorageList(!0),this.postMessage();break;case o.CMD_TYPE.STORAGE_REFRESH:this.store.refreshStore(),this.postMessage();break;case o.CMD_TYPE.STORAGE_REMOVE:this.store.removeStorage(s.key,!0),this.postMessage();break;case o.CMD_TYPE.STORAGE_ADD:this.store.addStorage(s,!0),this.postMessage();break;case o.CMD_TYPE.STORAGE_UPDATE:this.store.updateStore(s),this.postMessage();break;case o.CMD_TYPE.VUEX_CHANGE:this.store.updateVuexStore(s),this.postMessage();break;case o.CMD_TYPE.PINIA_CHANGE:this.store.updatePiniaStore(s),this.postMessage();break;case o.CMD_TYPE.EL_EVENT_CLEAR:this.clearElEventList();break;case o.CMD_TYPE.UNI_EVENT_CLEAR:this.store.clearUniEventList(),this.postMessage();break;case o.CMD_TYPE.SCAN_CODE_CLEAR:this.store.clearScanCodeList();break;case o.CMD_TYPE.NFC_CLEAR:this.store.clearNfcList();break;case o.CMD_TYPE.BLUETOOTH_CLEAR:this.store.clearBluetoothList(),this.postMessage();break;case o.CMD_TYPE.SCREEN_CLEAR:break;case o.CMD_TYPE.BUTTON_TOGGLE:s.show?this.showDevToolButton():this.hideDevToolButton(),this.postMessage();break;case o.CMD_TYPE.WINDOW_OPEN:this.openDevToolWindow();break;case o.CMD_TYPE.WINDOW_CLOSE:this.closeDevToolWindow();break;case o.CMD_TYPE.RESTART_DEBUGGER:this.restartDevTool();break;case o.CMD_TYPE.RESTART_APP:this.restartApp();break;case o.CMD_TYPE.DESTROY:this.destroyDevTool();break;case o.CMD_TYPE.EXPORT_LOG:this.exportLog(s);break;case o.CMD_TYPE.RUN_JS:this.devRunJS(s.code);break;case o.CMD_TYPE.ROUTE_REFRESH:this.postMessage();break;case o.CMD_TYPE.OPTION_GET:this.sendDevToolOption();break;case o.CMD_TYPE.CACHE_CLEAR:this.store.clearDevCache();break;case o.CMD_TYPE.SET_CACHE_INTERCEPT:this.store.setCacheInterceptConfig(s.cacheInterceptConfig);break;case o.CMD_TYPE.SET_CACHE_NETWORK_LOG:this.store.setCacheNetworkLog(s.cacheNetworkLog);break;case o.CMD_TYPE.SET_CACHE_CONSOLE_LOG:this.store.setCacheConsoleLog(s.cacheConsoleLog);break;case o.CMD_TYPE.SET_TRANSITION:this.store.setUseTransition(s.useTransition);break;case o.CMD_TYPE.SET_FONT:this.store.setBaseFontSize(s.baseFontSize),this.store.setTagFontSize(s.tagFontSize),this.store.setTipsFontSize(s.tipsFontSize),this.store.setFontFamily(s.fontFamily),this.store.setFontWeight(s.fontWeight),this.postMessage();break;case o.CMD_TYPE.BARRAGE_TOGGLE:this.store.setBarrageVisible(s.show),this.emitToUI(o.MSG_TYPE.BARRAGE_VISIBLE,s.show),this.postMessage();break;case o.CMD_TYPE.BARRAGE_MAX_TRACKS:this.store.setBarrageMaxTracks(s.value),this.postMessage();break;case o.CMD_TYPE.BARRAGE_TRACK_HEIGHT:this.store.setBarrageTrackHeight(s.value),this.postMessage();break;case o.CMD_TYPE.BARRAGE_START_TOP:this.store.setBarrageStartTop(s.value),this.postMessage();break;case o.CMD_TYPE.BARRAGE_DURATION:this.store.setBarrageDuration(s.value),this.postMessage();break;case o.CMD_TYPE.BARRAGE_MAX_LENGTH:this.store.setBarrageMaxLength(s.value),this.postMessage();break;case o.CMD_TYPE.BARRAGE_ALLOW_DRAG:this.store.setBarrageAllowDrag(s.value),this.postMessage();break;case o.CMD_TYPE.BARRAGE_TYPES:this.store.setBarrageTypes(s.value),this.postMessage();break;case o.CMD_TYPE.SET_BARRAGE_SHOW_WHEN_OPEN:this.store.setBarrageShowWhenOpen(s.value),this.emitToUI(o.MSG_TYPE.BARRAGE_SHOW_WHEN_OPEN,s.value),this.postMessage();break;case o.CMD_TYPE.TAB_CHANGE:this.closeDevToolWindow(),this.updateRouteList(s.path);break}}acceptMessage(){this.addEventListener()}}exports.DevEvent=m;
|
|
@@ -68,8 +68,8 @@ export declare class DevEvent implements DevTool.DevEventInterface {
|
|
|
68
68
|
elEventList: DevTool.ElEventItem[];
|
|
69
69
|
uniEventList: DevTool.UniEventItem[];
|
|
70
70
|
screenList: DevTool.ScreenItem[];
|
|
71
|
-
systemInfo: Record<string,
|
|
72
|
-
deviceInfo: Record<string,
|
|
71
|
+
systemInfo: Record<string, unknown> | undefined;
|
|
72
|
+
deviceInfo: Record<string, unknown> | undefined;
|
|
73
73
|
}>;
|
|
74
74
|
performAbnormalUpload(uploadAbnormalUV: DevTool.UploadAbnormalUV): Promise<void>;
|
|
75
75
|
uploadAbnormal(params?: {
|
|
@@ -113,4 +113,3 @@ export declare class DevEvent implements DevTool.DevEventInterface {
|
|
|
113
113
|
/** 向后兼容 */
|
|
114
114
|
acceptMessage(): void;
|
|
115
115
|
}
|
|
116
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import{DEV_CORE_MESSAGE as _,DEV_UI_MESSAGE as f,MSG_TYPE as i,DEV_CAPTURE_TAP_EVENT as S,DEV_CAPTURE_TOUCH_START as L,DEV_CAPTURE_TOUCH_MOVE as A,DEV_CAPTURE_TOUCH_END as
|
|
1
|
+
import{DEV_CORE_MESSAGE as _,DEV_UI_MESSAGE as f,MSG_TYPE as i,DEV_CAPTURE_TAP_EVENT as S,DEV_CAPTURE_TOUCH_START as L,DEV_CAPTURE_TOUCH_MOVE as A,DEV_CAPTURE_TOUCH_END as b,CMD_TYPE as o}from"../../const.js";import"../../utils/index.js";import{backup as I}from"../../core-shared.js";import{throttle as v}from"../../utils/function.js";import{serializeCircular as y,calculateObjectSize as O,formatStorageSize as U,parseValue as C}from"../../utils/object.js";import{getCurrentPagePath as p}from"../../utils/page.js";import{getCurrentDate as R}from"../../utils/date.js";import{transformValueToView as M,transformValueToShortString as k}from"../../utils/language.js";import{saveTextFileMicro as B,saveTextFileH5 as N,saveTxtFileApp as w}from"../../utils/file.js";class j{constructor({store:t}){this.abnormalUploadCount=0,this.abnormalUploadTimer=null,this.isAbnormalUploadActive=!1,this.isListening=!1,this.postMessage=v(()=>{this.postMessageFn()},2e3),this.store=t,this.messageBound=e=>{try{const s=typeof e=="string"?JSON.parse(e):e;this.handleUIMessage(s)}catch(s){console.error("[DevEvent] Failed to parse UI message",s)}},this.tapEventBound=this.tapEvent.bind(this),this.throttleTouchStartEvent=v(this.touchStartEvent.bind(this),1e3),this.throttleTouchMoveEvent=v(this.touchMoveEvent.bind(this),1e3),this.throttleTouchEndEvent=v(this.touchEndEvent.bind(this),1e3)}setIntercept(t){this.intercept=t}emitToUI(t,e={}){try{const s=y({type:t,data:e});if(s.length>500*1024){console.warn(`[DevTool] Data too large to emit (${(s.length/1024).toFixed(2)}KB). Dropped to prevent crash.`),uni.$emit(_,JSON.stringify({type:t,data:{_warning:"Data too large, transmission dropped.",size:s.length}}));return}uni.$emit(_,s)}catch(s){console.error("[DevTool] emitToUI bridge error",s);try{uni.$emit(_,JSON.stringify({type:t,data:{}}))}catch{}}}addEventListener(){this.isListening||(uni.$on(f,this.messageBound),this.addCaptureEventListener(),this.isListening=!0)}removeEventListener(){this.isListening&&(uni.$off(f,this.messageBound),this.removeCaptureEventListener(),this.isListening=!1)}createDevTool(t){var s;if(!this.store.getDevToolDestroy()){console.log("[DevTool] 调试器已创建,不再创建");return}const e=this.store.getDevToolOptions();(s=this.intercept)==null||s.init({enableCaptureScreen:e==null?void 0:e.enableCaptureScreen,enableInterceptPromiseReject:e==null?void 0:e.enableInterceptPromiseReject}),this.store.setDevToolDestroy(!1),this.store.updateRouteList(),this.emitToUI(i.BUTTON_VISIBLE,!0),this.store.setDevToolButtonVisible(!0),setTimeout(()=>{console.log(`[DevTool] 创建成功
|
|
2
2
|
当前版本:${t==null?void 0:t.devToolVersion}
|
|
3
3
|
构建时间:${t==null?void 0:t.devToolBuildTime}
|
|
4
|
-
一处编写,到处调试 😂`)},500),this.addEventListener(),this.postMessage()}destroyDevTool(){var t;this.store.getDevToolDestroy()||(this.emitToUI(i.BUTTON_VISIBLE,!1),this.store.
|
|
5
|
-
`),s=e==null?void 0:e[1],a=Date.now(),r={type:"log",args:[{type:"string",value:t}],position:p(),time:R(),stack:s,mode:"input"};this.updateConsoleList([{...r}]),this.executeJS(t).then(u=>{const c=I(u),d=b(u),g=c==="object"||c==="array"?M(d,c):"";r.args=[{type:c,value:d,shortValue:g}],r.time=R(),r.mode="output",r.executionTime=Date.now()-a,this.updateConsoleList([{...r}])})}addElEvent(t){this.store.addElEvent(t),this.postMessage()}clearElEventList(){this.store.clearElEventList(),this.postMessage()}hasCaptureEvent(t){const{includeCaptureElDataSet:e=[],excludeCaptureElDataSet:s=[]}=this.store.getDevToolOptions()??{includeCaptureElDataSet:[],excludeCaptureElDataSet:[]};return e&&e.length?e.some(a=>{var r;return Object.keys(((r=t==null?void 0:t.target)==null?void 0:r.dataset)??{}).includes(a)}):s&&s.length?!s.some(a=>{var r;return Object.keys(((r=t==null?void 0:t.target)==null?void 0:r.dataset)??{}).includes(a)}):!0}formatEventCoordinates(t){return!t||!Array.isArray(t)?t:t.map(e=>{const s={...e};return["clientX","clientY","pageX","pageY","x","y"].forEach(a=>{typeof e[a]=="number"&&(s[a]=parseFloat(e[a].toFixed(2)))}),s})}tapEvent(t){if(!this.hasCaptureEvent(t))return;const e={type:t.type,timer:Date.now(),target:{id:t.target.id,dataset:t.target.dataset},touches:this.formatEventCoordinates(t.touches||t.changedTouches||[]),path:p()};this.addElEvent(e)}touchStartEvent(t){if(!this.hasCaptureEvent(t))return;const e={type:t.type,timer:Date.now(),target:{id:t.target.id,dataset:t.target.dataset},touches:this.formatEventCoordinates(t.touches||t.changedTouches||[]),path:p()};this.addElEvent(e)}touchMoveEvent(t){if(!this.hasCaptureEvent(t))return;const e={type:t.type,timer:Date.now(),target:{id:t.target.id,dataset:t.target.dataset},touches:this.formatEventCoordinates(t.touches||t.changedTouches||[]),path:p()};this.addElEvent(e)}touchEndEvent(t){if(!this.hasCaptureEvent(t))return;const e={type:t.type,timer:Date.now(),target:{id:t.target.id,dataset:t.target.dataset},touches:this.formatEventCoordinates(t.touches||t.changedTouches||[]),path:p()};this.addElEvent(e)}addCaptureEventListener(){var e;const t=(e=this.store.getDevToolOptions())==null?void 0:e.captureList;Array.isArray(t)&&(t.includes("tap")&&uni.$on(S,this.tapEventBound),t.includes("touchstart")&&uni.$on(L,this.throttleTouchStartEvent),t.includes("touchmove")&&uni.$on(A,this.throttleTouchMoveEvent),t.includes("touchend")&&uni.$on(C,this.throttleTouchEndEvent))}removeCaptureEventListener(){var e;const t=(e=this.store.getDevToolOptions())==null?void 0:e.captureList;Array.isArray(t)&&(t.includes("tap")&&uni.$off(S,this.tapEventBound),t.includes("touchstart")&&uni.$off(L,this.throttleTouchStartEvent),t.includes("touchmove")&&uni.$off(A,this.throttleTouchMoveEvent),t.includes("touchend")&&uni.$off(C,this.throttleTouchEndEvent))}async getAbnormalData(){var u,c,d,m,g,D;const t=await this.store.getDevData(),e=((u=t.consoleList)==null?void 0:u.filter(n=>["error","warn"].includes(n.type)&&!n.hasUpload))??[],s=((c=t.networkList)==null?void 0:c.filter(n=>{var T,E;return n.sponsor==="user"&&!((E=(T=n.status)==null?void 0:T.toString())!=null&&E.startsWith("2"))&&!n.hasUpload}))??[],a=((d=t.transferList)==null?void 0:d.filter(n=>{var T,E;return!((E=(T=n.status)==null?void 0:T.toString())!=null&&E.startsWith("2"))&&!n.hasUpload}))??[],r=((m=t.elEventList)==null?void 0:m.filter(n=>!n.hasUpload))??[],h=((g=t.uniEventList)==null?void 0:g.filter(n=>!n.hasUpload))??[],l=((D=t.screenList)==null?void 0:D.filter(n=>!n.hasUpload))??[];return{consoleList:e,networkList:s,transferList:a,elEventList:r,uniEventList:h,screenList:l,systemInfo:t.systemInfo,deviceInfo:t.deviceInfo}}async performAbnormalUpload(t){const{consoleList:e,networkList:s,transferList:a,systemInfo:r,elEventList:h,uniEventList:l,screenList:u,deviceInfo:c}=await this.getAbnormalData();e.length||s.length||a.length||h.length||l.length||u.length?uni.request({method:"POST",url:t.url,header:{...(t==null?void 0:t.header)??{},"dev-tool-sponsor":Date.now()},timeout:(t==null?void 0:t.timerOut)??3*1e3,data:{...(t==null?void 0:t.payload)??{},consoleList:e,networkList:s,transferList:a,elEventList:h,uniEventList:l,screenList:u,deviceInfo:c,systemInfo:r,platform:uni.__dev_tool_platform__},success:()=>{this.store.updateHasUpload(),this.uploadAbnormal(),this.abnormalUploadCount=0},fail:()=>{this.uploadAbnormal(),this.abnormalUploadCount++}}):this.uploadAbnormal()}uploadAbnormal(t){if(!this.isAbnormalUploadActive)return;const{uploadAbnormalUV:e}=this.store.getDevToolOptions()??{uploadAbnormalUV:{url:"",header:{},payload:{},duration:10*1e3,timerOut:3*1e3}};if(!(e!=null&&e.url))return;const s=e.duration??10*1e3,a=5*60*1e3,r=Math.min(s*Math.pow(2,this.abnormalUploadCount),a),h=Math.max(r,s);this.abnormalUploadTimer&&clearTimeout(this.abnormalUploadTimer),t!=null&&t.immediately?this.performAbnormalUpload(e):this.abnormalUploadTimer=setTimeout(()=>{this.performAbnormalUpload(e)},h)}startAbnormalUpload(t){this.isAbnormalUploadActive=!0,this.abnormalUploadCount=0,this.uploadAbnormal(t)}stopAbnormalUpload(){this.isAbnormalUploadActive=!1,this.abnormalUploadTimer&&(clearTimeout(this.abnormalUploadTimer),this.abnormalUploadTimer=null)}updateConsoleList(t,e){this.store.updateConsoleList(t,e),this.postMessage(),this.emitToUI(i.BARRAGE_ADD,{items:t.map(s=>({type:s.type||"log",args:s.args}))})}updateNetworkList(t,e){this.store.updateNetworkList(t,e),this.postMessage();const s=t.filter(a=>a.status&&!a.status.toString().startsWith("2"));s.length>0&&this.emitToUI(i.BARRAGE_ADD,{items:s.map(a=>({type:"network",url:a.url,method:a.method,status:a.status}))})}updateWsList(t){this.store.updateWsList(t),this.postMessage(),t.message&&t.message.length>0&&this.emitToUI(i.BARRAGE_ADD,{items:t.message.map(e=>({type:"websocket",url:t.url,data:e.value}))})}addWsTask(t,e){this.store.addWsTask(t,e)}removeWsTask(t){this.store.removeWsTask(t)}updateStorage(t){this.store.updateStoreList(t),this.postMessage()}updateTransfer(t,e){this.store.updateTransferList(t,e),this.postMessage();const s=t.filter(a=>a.status==="failed");s.length>0&&this.emitToUI(i.BARRAGE_ADD,{items:s.map(a=>({type:"transfer",url:a.url}))})}updateUniEvent(t){this.store.updateUniEventList(t),this.postMessage()}updateScreen(t,e){this.store.updateScreenList(t,e),this.postMessage()}updateScanCode(t){this.store.updateScanCodeList(t),this.postMessage()}updateNfc(t){this.store.updateNfcList(t),this.postMessage()}updateBluetooth(t){this.store.updateBluetoothList(t),this.postMessage()}updateRouteList(t){this.store.updateRouteList(t),this.postMessage()}updateUniEventCount(t){this.store.updateUniEventCount(t),this.postMessage()}getInterceptNetworkMap(){return this.store.getInterceptNetworkMap()}getRequestIndex(){return this.store.getRequestIndex()}setRequestIndex(t){return this.store.setRequestIndex(t)}getDevToolDestroy(){return this.store.getDevToolDestroy()}getDevToolOptions(){return this.store.getDevToolOptions()}setVuexList(t){this.store.setVuexList(t),this.postMessage()}setVueStore(t){this.store.setVuexStore(t)}setPiniaList(t){this.store.setPiniaList(t),this.postMessage()}setPiniaStore(t){this.store.setPiniaStore(t)}clearStorage(t){this.store.clearStorageList(t),this.postMessage()}removeStorage(t,e){this.store.removeStorage(t,e),this.postMessage()}addTransferTask(t,e){this.store.addTransferTask(t,e),this.postMessage()}removeTransferTask(t){this.store.removeTransferTask(t),this.postMessage()}exportLog(t){const e=this.store.getExportData(t),s=JSON.stringify(e,null,2),a="dev-tool-log";switch(uni.__dev_tool_platform__){case"app":w(s,a);break;case"web":N(s,a);break;case"mp-weixin":case"mp-alipay":case"mp-toutiao":U(s,a);break}}sendWsMessage(t,e){const s=this.store.getWsTask(t);if(s)s.send({data:e});else{const a=I(e),r=b(e),l=a==="object"||a==="array"?M(r,a):typeof e=="string"?e.slice(0,50):String(e);this.updateWsList({url:t,readyState:"closed",message:[{value:r,valueType:a,shortValue:l,status:"error",time:Date.now(),type:"send"}]})}}restartApp(){switch(uni.__dev_tool_platform__){case"app":plus.runtime.restart();break;case"web":window.location.reload();break;case"mp-weixin":try{wx!=null&&wx.restartMiniProgram&&wx.restartMiniProgram({path:"/"+p()})}catch{}break}}handleUIMessage(t){const{type:e,data:s}=t;switch(e){case o.CONSOLE_CLEAR:this.store.clearConsoleList();break;case o.NETWORK_CLEAR:this.store.clearInterceptNetworkList(),this.postMessage();break;case o.INTERCEPT_UPDATE:this.store.updateInterceptNetworkList(s);break;case o.WS_CLEAR:this.store.clearWsList(),this.postMessage();break;case o.WS_CLEAR_MESSAGE:this.store.clearWsMessage(s.url),this.postMessage();break;case o.WS_SEND:this.sendWsMessage(s.url,s.message);break;case o.TRANSFER_CLEAR:this.store.updateTransferList([]),this.postMessage();break;case o.STORAGE_CLEAR:this.store.clearStorageList(!0),this.postMessage();break;case o.STORAGE_REFRESH:this.store.refreshStore(),this.postMessage();break;case o.STORAGE_REMOVE:this.store.removeStorage(s.key,!0),this.postMessage();break;case o.STORAGE_ADD:this.store.addStorage(s,!0),this.postMessage();break;case o.STORAGE_UPDATE:this.store.updateStore(s),this.postMessage();break;case o.VUEX_CHANGE:this.store.updateVuexStore(s),this.postMessage();break;case o.PINIA_CHANGE:this.store.updatePiniaStore(s),this.postMessage();break;case o.EL_EVENT_CLEAR:this.clearElEventList();break;case o.UNI_EVENT_CLEAR:this.store.clearUniEventList(),this.postMessage();break;case o.SCAN_CODE_CLEAR:this.store.clearScanCodeList();break;case o.NFC_CLEAR:this.store.clearNfcList();break;case o.BLUETOOTH_CLEAR:this.store.clearBluetoothList(),this.postMessage();break;case o.SCREEN_CLEAR:break;case o.BUTTON_TOGGLE:s.show?this.showDevToolButton():this.hideDevToolButton(),this.postMessage();break;case o.WINDOW_OPEN:this.openDevToolWindow();break;case o.WINDOW_CLOSE:this.closeDevToolWindow();break;case o.RESTART_DEBUGGER:this.restartDevTool();break;case o.RESTART_APP:this.restartApp();break;case o.DESTROY:this.destroyDevTool();break;case o.EXPORT_LOG:this.exportLog(s);break;case o.RUN_JS:this.devRunJS(s.code);break;case o.ROUTE_REFRESH:this.postMessage();break;case o.OPTION_GET:this.sendDevToolOption();break;case o.CACHE_CLEAR:this.store.clearDevCache();break;case o.SET_CACHE_INTERCEPT:this.store.setCacheInterceptConfig(s.cacheInterceptConfig);break;case o.SET_CACHE_NETWORK_LOG:this.store.setCacheNetworkLog(s.cacheNetworkLog);break;case o.SET_CACHE_CONSOLE_LOG:this.store.setCacheConsoleLog(s.cacheConsoleLog);break;case o.SET_TRANSITION:this.store.setUseTransition(s.useTransition);break;case o.SET_FONT:this.store.setBaseFontSize(s.baseFontSize),this.store.setTagFontSize(s.tagFontSize),this.store.setTipsFontSize(s.tipsFontSize),this.store.setFontFamily(s.fontFamily),this.store.setFontWeight(s.fontWeight),this.postMessage();break;case o.BARRAGE_TOGGLE:this.store.setBarrageVisible(s.show),this.emitToUI(i.BARRAGE_VISIBLE,s.show),this.postMessage();break;case o.BARRAGE_MAX_TRACKS:this.store.setBarrageMaxTracks(s.value),this.postMessage();break;case o.BARRAGE_TRACK_HEIGHT:this.store.setBarrageTrackHeight(s.value),this.postMessage();break;case o.BARRAGE_START_TOP:this.store.setBarrageStartTop(s.value),this.postMessage();break;case o.BARRAGE_DURATION:this.store.setBarrageDuration(s.value),this.postMessage();break;case o.BARRAGE_MAX_LENGTH:this.store.setBarrageMaxLength(s.value),this.postMessage();break;case o.BARRAGE_TYPES:this.store.setBarrageTypes(s.value),this.postMessage();break;case o.SET_BARRAGE_SHOW_WHEN_OPEN:this.store.setBarrageShowWhenOpen(s.value),this.emitToUI(i.BARRAGE_SHOW_WHEN_OPEN,s.value),this.postMessage();break;case o.TAB_CHANGE:this.closeDevToolWindow(),this.updateRouteList(s.path);break}}acceptMessage(){this.addEventListener()}}export{$ as DevEvent};
|
|
4
|
+
一处编写,到处调试 😂`)},500),this.addEventListener(),this.postMessage()}destroyDevTool(){var t;this.store.getDevToolDestroy()||(this.emitToUI(i.BUTTON_VISIBLE,!1),this.store.setDevToolButtonVisible(!1),this.emitToUI(i.WINDOW_VISIBLE,!1),this.store.setRequestIndex(-1),this.store.setTransferIndex(-1),this.store.setDevToolDestroy(!0),this.store.clearAll(),(t=this.intercept)==null||t.reset(),this.removeEventListener(),I.originalConsole.log("[DevTool] 调试器已销毁"))}restartDevTool(){this.destroyDevTool(),this.createDevTool({devToolBuildTime:this.store.devToolBuildTime,devToolVersion:this.store.devToolVersion}),this.emitToUI(i.WINDOW_VISIBLE,!0)}async postMessageFn(){if(this.store.getDevToolDestroy())return;const t=await this.store.getDevData(),e=O(t),s=U(e);t.size=e,t.sizeFormat=s,this.emitToUI(i.DATA_UPDATE,t),e>this.store.cacheMaxSize&&this.store.clearDevCache()}openDevToolWindow(){this.store.getDevToolDestroy()||(setTimeout(()=>this.postMessage(),100),this.emitToUI(i.WINDOW_VISIBLE,!0))}closeDevToolWindow(){this.store.getDevToolDestroy()||this.emitToUI(i.WINDOW_VISIBLE,!1)}showDevToolButton(){this.store.getDevToolDestroy()||(this.emitToUI(i.BUTTON_VISIBLE,!0),this.store.setDevToolButtonVisible(!0))}hideDevToolButton(){this.store.getDevToolDestroy()||(this.emitToUI(i.BUTTON_VISIBLE,!1),this.store.setDevToolButtonVisible(!1))}sendDevToolOption(){const t=this.store.getDevToolOptions();this.emitToUI(i.OPTION_UPDATE,t)}devToolScanCode(t,e){this.updateScanCode([{timer:Date.now(),result:t,scanType:e,charSet:"",rawData:"",errMsg:"",path:p()}])}devToolNFC(t){this.updateNfc([{timer:Date.now(),path:p(),...t}])}executeJS(t){const e="_e_v_a_l_".replace(/_/g,""),s="_e_v_a_l_F_n_".replace(/_/g,"");if(globalThis!=null&&globalThis[s])return Promise.resolve(globalThis==null?void 0:globalThis[s](t));if(globalThis!=null&&globalThis[e])return Promise.resolve(globalThis==null?void 0:globalThis[e](t));throw new Error("[DevTool] DevRunJS 当前环境不支持执行js")}devRunJS(t){var h,l;const e=(l=(h=new Error)==null?void 0:h.stack)==null?void 0:l.split(`
|
|
5
|
+
`),s=e==null?void 0:e[1],a=Date.now(),r={type:"log",args:[{type:"string",value:t}],position:p(),time:R(),stack:s,mode:"input"};this.updateConsoleList([{...r}]),this.executeJS(t).then(u=>{const c=M(u),d=C(u),g=c==="object"||c==="array"?k(d,c):"";r.args=[{type:c,value:d,shortValue:g}],r.time=R(),r.mode="output",r.executionTime=Date.now()-a,this.updateConsoleList([{...r}])})}addElEvent(t){this.store.addElEvent(t),this.postMessage()}clearElEventList(){this.store.clearElEventList(),this.postMessage()}hasCaptureEvent(t){const{includeCaptureElDataSet:e=[],excludeCaptureElDataSet:s=[]}=this.store.getDevToolOptions()??{includeCaptureElDataSet:[],excludeCaptureElDataSet:[]};return e&&e.length?e.some(a=>{var r;return Object.keys(((r=t==null?void 0:t.target)==null?void 0:r.dataset)??{}).includes(a)}):s&&s.length?!s.some(a=>{var r;return Object.keys(((r=t==null?void 0:t.target)==null?void 0:r.dataset)??{}).includes(a)}):!0}formatEventCoordinates(t){return!t||!Array.isArray(t)?t:t.map(e=>{const s={...e};return["clientX","clientY","pageX","pageY","x","y"].forEach(a=>{typeof e[a]=="number"&&(s[a]=parseFloat(e[a].toFixed(2)))}),s})}tapEvent(t){if(!this.hasCaptureEvent(t))return;const e={type:t.type,timer:Date.now(),target:{id:t.target.id,dataset:t.target.dataset},touches:this.formatEventCoordinates(t.touches||t.changedTouches||[]),path:p()};this.addElEvent(e)}touchStartEvent(t){if(!this.hasCaptureEvent(t))return;const e={type:t.type,timer:Date.now(),target:{id:t.target.id,dataset:t.target.dataset},touches:this.formatEventCoordinates(t.touches||t.changedTouches||[]),path:p()};this.addElEvent(e)}touchMoveEvent(t){if(!this.hasCaptureEvent(t))return;const e={type:t.type,timer:Date.now(),target:{id:t.target.id,dataset:t.target.dataset},touches:this.formatEventCoordinates(t.touches||t.changedTouches||[]),path:p()};this.addElEvent(e)}touchEndEvent(t){if(!this.hasCaptureEvent(t))return;const e={type:t.type,timer:Date.now(),target:{id:t.target.id,dataset:t.target.dataset},touches:this.formatEventCoordinates(t.touches||t.changedTouches||[]),path:p()};this.addElEvent(e)}addCaptureEventListener(){var e;const t=(e=this.store.getDevToolOptions())==null?void 0:e.captureList;Array.isArray(t)&&(t.includes("tap")&&uni.$on(S,this.tapEventBound),t.includes("touchstart")&&uni.$on(L,this.throttleTouchStartEvent),t.includes("touchmove")&&uni.$on(A,this.throttleTouchMoveEvent),t.includes("touchend")&&uni.$on(b,this.throttleTouchEndEvent))}removeCaptureEventListener(){var e;const t=(e=this.store.getDevToolOptions())==null?void 0:e.captureList;Array.isArray(t)&&(t.includes("tap")&&uni.$off(S,this.tapEventBound),t.includes("touchstart")&&uni.$off(L,this.throttleTouchStartEvent),t.includes("touchmove")&&uni.$off(A,this.throttleTouchMoveEvent),t.includes("touchend")&&uni.$off(b,this.throttleTouchEndEvent))}async getAbnormalData(){var u,c,d,m,g,D;const t=await this.store.getDevData(),e=((u=t.consoleList)==null?void 0:u.filter(n=>["error","warn"].includes(n.type)&&!n.hasUpload))??[],s=((c=t.networkList)==null?void 0:c.filter(n=>{var T,E;return n.sponsor==="user"&&!((E=(T=n.status)==null?void 0:T.toString())!=null&&E.startsWith("2"))&&!n.hasUpload}))??[],a=((d=t.transferList)==null?void 0:d.filter(n=>{var T,E;return!((E=(T=n.status)==null?void 0:T.toString())!=null&&E.startsWith("2"))&&!n.hasUpload}))??[],r=((m=t.elEventList)==null?void 0:m.filter(n=>!n.hasUpload))??[],h=((g=t.uniEventList)==null?void 0:g.filter(n=>!n.hasUpload))??[],l=((D=t.screenList)==null?void 0:D.filter(n=>!n.hasUpload))??[];return{consoleList:e,networkList:s,transferList:a,elEventList:r,uniEventList:h,screenList:l,systemInfo:t.systemInfo,deviceInfo:t.deviceInfo}}async performAbnormalUpload(t){const{consoleList:e,networkList:s,transferList:a,systemInfo:r,elEventList:h,uniEventList:l,screenList:u,deviceInfo:c}=await this.getAbnormalData();e.length||s.length||a.length||h.length||l.length||u.length?uni.request({method:"POST",url:t.url,header:{...(t==null?void 0:t.header)??{},"dev-tool-sponsor":Date.now()},timeout:(t==null?void 0:t.timerOut)??3*1e3,data:{...(t==null?void 0:t.payload)??{},consoleList:e,networkList:s,transferList:a,elEventList:h,uniEventList:l,screenList:u,deviceInfo:c,systemInfo:r,platform:uni.__dev_tool_platform__},success:()=>{this.store.updateHasUpload(),this.uploadAbnormal(),this.abnormalUploadCount=0},fail:()=>{this.uploadAbnormal(),this.abnormalUploadCount++}}):this.uploadAbnormal()}uploadAbnormal(t){if(!this.isAbnormalUploadActive)return;const{uploadAbnormalUV:e}=this.store.getDevToolOptions()??{uploadAbnormalUV:{url:"",header:{},payload:{},duration:10*1e3,timerOut:3*1e3}};if(!(e!=null&&e.url))return;const s=e.duration??10*1e3,a=5*60*1e3,r=Math.min(s*Math.pow(2,this.abnormalUploadCount),a),h=Math.max(r,s);this.abnormalUploadTimer&&clearTimeout(this.abnormalUploadTimer),t!=null&&t.immediately?this.performAbnormalUpload(e):this.abnormalUploadTimer=setTimeout(()=>{this.performAbnormalUpload(e)},h)}startAbnormalUpload(t){this.isAbnormalUploadActive=!0,this.abnormalUploadCount=0,this.uploadAbnormal(t)}stopAbnormalUpload(){this.isAbnormalUploadActive=!1,this.abnormalUploadTimer&&(clearTimeout(this.abnormalUploadTimer),this.abnormalUploadTimer=null)}updateConsoleList(t,e){this.store.updateConsoleList(t,e),this.postMessage(),this.emitToUI(i.BARRAGE_ADD,{items:t.map(s=>({type:s.type||"log",args:s.args}))})}updateNetworkList(t,e){this.store.updateNetworkList(t,e),this.postMessage();const s=t.filter(a=>a.status&&!a.status.toString().startsWith("2"));s.length>0&&this.emitToUI(i.BARRAGE_ADD,{items:s.map(a=>({type:"network",url:a.url,method:a.method,status:a.status}))})}updateWsList(t){this.store.updateWsList(t),this.postMessage(),t.message&&t.message.length>0&&this.emitToUI(i.BARRAGE_ADD,{items:t.message.map(e=>({type:"websocket",url:t.url,data:e.value}))})}addWsTask(t,e){this.store.addWsTask(t,e)}removeWsTask(t){this.store.removeWsTask(t)}updateStorage(t){this.store.updateStoreList(t),this.postMessage()}updateTransfer(t,e){this.store.updateTransferList(t,e),this.postMessage();const s=t.filter(a=>a.status==="failed");s.length>0&&this.emitToUI(i.BARRAGE_ADD,{items:s.map(a=>({type:"transfer",url:a.url}))})}updateUniEvent(t){this.store.updateUniEventList(t),this.postMessage()}updateScreen(t,e){this.store.updateScreenList(t,e),this.postMessage()}updateScanCode(t){this.store.updateScanCodeList(t),this.postMessage()}updateNfc(t){this.store.updateNfcList(t),this.postMessage()}updateBluetooth(t){this.store.updateBluetoothList(t),this.postMessage()}updateRouteList(t){this.store.updateRouteList(t),this.postMessage()}updateUniEventCount(t){this.store.updateUniEventCount(t),this.postMessage()}getInterceptNetworkMap(){return this.store.getInterceptNetworkMap()}getRequestIndex(){return this.store.getRequestIndex()}setRequestIndex(t){return this.store.setRequestIndex(t)}getDevToolDestroy(){return this.store.getDevToolDestroy()}getDevToolOptions(){return this.store.getDevToolOptions()}setVuexList(t){this.store.setVuexList(t),this.postMessage()}setVueStore(t){this.store.setVuexStore(t)}setPiniaList(t){this.store.setPiniaList(t),this.postMessage()}setPiniaStore(t){this.store.setPiniaStore(t)}clearStorage(t){this.store.clearStorageList(t),this.postMessage()}removeStorage(t,e){this.store.removeStorage(t,e),this.postMessage()}addTransferTask(t,e){this.store.addTransferTask(t,e),this.postMessage()}removeTransferTask(t){this.store.removeTransferTask(t),this.postMessage()}exportLog(t){const e=this.store.getExportData(t),s=JSON.stringify(e,null,2),a="dev-tool-log";switch(uni.__dev_tool_platform__){case"app":w(s,a);break;case"web":N(s,a);break;case"mp-weixin":case"mp-alipay":case"mp-toutiao":B(s,a);break}}sendWsMessage(t,e){const s=this.store.getWsTask(t);if(s)s.send({data:e});else{const a=M(e),r=C(e),l=a==="object"||a==="array"?k(r,a):typeof e=="string"?e.slice(0,50):String(e);this.updateWsList({url:t,readyState:"closed",message:[{value:r,valueType:a,shortValue:l,status:"error",time:Date.now(),type:"send"}]})}}restartApp(){switch(uni.__dev_tool_platform__){case"app":plus.runtime.restart();break;case"web":window.location.reload();break;case"mp-weixin":try{wx!=null&&wx.restartMiniProgram&&wx.restartMiniProgram({path:"/"+p()})}catch{}break}}handleUIMessage(t){const{type:e,data:s}=t;switch(e){case o.CONSOLE_CLEAR:this.store.clearConsoleList();break;case o.NETWORK_CLEAR:this.store.clearInterceptNetworkList(),this.postMessage();break;case o.INTERCEPT_UPDATE:this.store.updateInterceptNetworkList(s);break;case o.WS_CLEAR:this.store.clearWsList(),this.postMessage();break;case o.WS_CLEAR_MESSAGE:this.store.clearWsMessage(s.url),this.postMessage();break;case o.WS_SEND:this.sendWsMessage(s.url,s.message);break;case o.TRANSFER_CLEAR:this.store.updateTransferList([]),this.postMessage();break;case o.STORAGE_CLEAR:this.store.clearStorageList(!0),this.postMessage();break;case o.STORAGE_REFRESH:this.store.refreshStore(),this.postMessage();break;case o.STORAGE_REMOVE:this.store.removeStorage(s.key,!0),this.postMessage();break;case o.STORAGE_ADD:this.store.addStorage(s,!0),this.postMessage();break;case o.STORAGE_UPDATE:this.store.updateStore(s),this.postMessage();break;case o.VUEX_CHANGE:this.store.updateVuexStore(s),this.postMessage();break;case o.PINIA_CHANGE:this.store.updatePiniaStore(s),this.postMessage();break;case o.EL_EVENT_CLEAR:this.clearElEventList();break;case o.UNI_EVENT_CLEAR:this.store.clearUniEventList(),this.postMessage();break;case o.SCAN_CODE_CLEAR:this.store.clearScanCodeList();break;case o.NFC_CLEAR:this.store.clearNfcList();break;case o.BLUETOOTH_CLEAR:this.store.clearBluetoothList(),this.postMessage();break;case o.SCREEN_CLEAR:break;case o.BUTTON_TOGGLE:s.show?this.showDevToolButton():this.hideDevToolButton(),this.postMessage();break;case o.WINDOW_OPEN:this.openDevToolWindow();break;case o.WINDOW_CLOSE:this.closeDevToolWindow();break;case o.RESTART_DEBUGGER:this.restartDevTool();break;case o.RESTART_APP:this.restartApp();break;case o.DESTROY:this.destroyDevTool();break;case o.EXPORT_LOG:this.exportLog(s);break;case o.RUN_JS:this.devRunJS(s.code);break;case o.ROUTE_REFRESH:this.postMessage();break;case o.OPTION_GET:this.sendDevToolOption();break;case o.CACHE_CLEAR:this.store.clearDevCache();break;case o.SET_CACHE_INTERCEPT:this.store.setCacheInterceptConfig(s.cacheInterceptConfig);break;case o.SET_CACHE_NETWORK_LOG:this.store.setCacheNetworkLog(s.cacheNetworkLog);break;case o.SET_CACHE_CONSOLE_LOG:this.store.setCacheConsoleLog(s.cacheConsoleLog);break;case o.SET_TRANSITION:this.store.setUseTransition(s.useTransition);break;case o.SET_FONT:this.store.setBaseFontSize(s.baseFontSize),this.store.setTagFontSize(s.tagFontSize),this.store.setTipsFontSize(s.tipsFontSize),this.store.setFontFamily(s.fontFamily),this.store.setFontWeight(s.fontWeight),this.postMessage();break;case o.BARRAGE_TOGGLE:this.store.setBarrageVisible(s.show),this.emitToUI(i.BARRAGE_VISIBLE,s.show),this.postMessage();break;case o.BARRAGE_MAX_TRACKS:this.store.setBarrageMaxTracks(s.value),this.postMessage();break;case o.BARRAGE_TRACK_HEIGHT:this.store.setBarrageTrackHeight(s.value),this.postMessage();break;case o.BARRAGE_START_TOP:this.store.setBarrageStartTop(s.value),this.postMessage();break;case o.BARRAGE_DURATION:this.store.setBarrageDuration(s.value),this.postMessage();break;case o.BARRAGE_MAX_LENGTH:this.store.setBarrageMaxLength(s.value),this.postMessage();break;case o.BARRAGE_ALLOW_DRAG:this.store.setBarrageAllowDrag(s.value),this.postMessage();break;case o.BARRAGE_TYPES:this.store.setBarrageTypes(s.value),this.postMessage();break;case o.SET_BARRAGE_SHOW_WHEN_OPEN:this.store.setBarrageShowWhenOpen(s.value),this.emitToUI(i.BARRAGE_SHOW_WHEN_OPEN,s.value),this.postMessage();break;case o.TAB_CHANGE:this.closeDevToolWindow(),this.updateRouteList(s.path);break}}acceptMessage(){this.addEventListener()}}export{j as DevEvent};
|