vite-uni-dev-tool 1.0.0 → 1.2.0

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.
Files changed (170) hide show
  1. package/README.md +54 -0
  2. package/dist/const.cjs +1 -1
  3. package/dist/const.d.ts +13 -0
  4. package/dist/const.d.ts.map +1 -1
  5. package/dist/const.js +1 -1
  6. package/dist/core-shared.d.ts +1 -1
  7. package/dist/core-shared.d.ts.map +1 -1
  8. package/dist/core-shared.js +1 -1
  9. package/dist/core.d.ts +10 -3
  10. package/dist/core.d.ts.map +1 -1
  11. package/dist/core.js +2 -2
  12. package/dist/i18n/locales/en.cjs +1 -1
  13. package/dist/i18n/locales/en.d.ts +86 -0
  14. package/dist/i18n/locales/en.d.ts.map +1 -1
  15. package/dist/i18n/locales/en.js +1 -1
  16. package/dist/i18n/locales/zh-Hans.cjs +1 -1
  17. package/dist/i18n/locales/zh-Hans.d.ts +87 -1
  18. package/dist/i18n/locales/zh-Hans.d.ts.map +1 -1
  19. package/dist/i18n/locales/zh-Hans.js +1 -1
  20. package/dist/modules/devConsole/index.cjs +1 -1
  21. package/dist/modules/devConsole/index.js +3 -3
  22. package/dist/modules/devEvent/index.cjs +3 -3
  23. package/dist/modules/devEvent/index.d.ts +1 -0
  24. package/dist/modules/devEvent/index.d.ts.map +1 -1
  25. package/dist/modules/devEvent/index.js +3 -3
  26. package/dist/modules/devIntercept/index.cjs +14 -13
  27. package/dist/modules/devIntercept/index.d.ts +20 -1
  28. package/dist/modules/devIntercept/index.d.ts.map +1 -1
  29. package/dist/modules/devIntercept/index.js +14 -13
  30. package/dist/modules/devStore/index.cjs +1 -1
  31. package/dist/modules/devStore/index.d.ts +21 -0
  32. package/dist/modules/devStore/index.d.ts.map +1 -1
  33. package/dist/modules/devStore/index.js +1 -1
  34. package/dist/plugins/uniDevTool/transform/transformMain.cjs +3 -3
  35. package/dist/plugins/uniDevTool/transform/transformMain.d.ts +2 -1
  36. package/dist/plugins/uniDevTool/transform/transformMain.d.ts.map +1 -1
  37. package/dist/plugins/uniDevTool/transform/transformMain.js +3 -3
  38. package/dist/plugins/uniDevTool/transform/transformVue.cjs +31 -25
  39. package/dist/plugins/uniDevTool/transform/transformVue.d.ts +2 -1
  40. package/dist/plugins/uniDevTool/transform/transformVue.d.ts.map +1 -1
  41. package/dist/plugins/uniDevTool/transform/transformVue.js +30 -24
  42. package/dist/plugins/uniDevTool/uniDevTool.cjs +3 -3
  43. package/dist/plugins/uniDevTool/uniDevTool.d.ts +3 -1
  44. package/dist/plugins/uniDevTool/uniDevTool.d.ts.map +1 -1
  45. package/dist/plugins/uniDevTool/uniDevTool.js +3 -3
  46. package/dist/type.d.ts +50 -2
  47. package/dist/type.d.ts.map +1 -1
  48. package/dist/utils/language.cjs +1 -1
  49. package/dist/utils/language.d.ts.map +1 -1
  50. package/dist/utils/language.js +1 -1
  51. package/dist/utils/object.cjs +1 -1
  52. package/dist/utils/object.d.ts.map +1 -1
  53. package/dist/utils/object.js +1 -1
  54. package/dist/v3/DevTool/components/BluetoothList/BluetoothItem.vue +199 -0
  55. package/dist/v3/DevTool/components/BluetoothList/BluetoothTool.vue +730 -0
  56. package/dist/v3/DevTool/components/BluetoothList/index.vue +167 -0
  57. package/dist/v3/{CaptureScreen → DevTool/components/CaptureScreen}/index.vue +4 -4
  58. package/dist/v3/{ConsoleList → DevTool/components/ConsoleList}/ConsoleItem.vue +22 -16
  59. package/dist/v3/{ConsoleList → DevTool/components/ConsoleList}/RunJSInput.vue +4 -6
  60. package/dist/v3/{ConsoleList → DevTool/components/ConsoleList}/index.vue +21 -10
  61. package/dist/v3/{DevToolButton → DevTool/components/DevToolButton}/index.vue +7 -4
  62. package/dist/v3/{DevToolWindow → DevTool/components/DevToolWindow}/DevToolOverlay.vue +17 -2
  63. package/dist/v3/{DevToolWindow → DevTool/components/DevToolWindow}/const.ts +28 -5
  64. package/dist/v3/{DevToolWindow → DevTool/components/DevToolWindow}/hooks/dataUtils.ts +1 -1
  65. package/dist/v3/{DevToolWindow → DevTool/components/DevToolWindow}/hooks/useDevToolData.ts +55 -6
  66. package/dist/v3/{DevToolWindow → DevTool/components/DevToolWindow}/hooks/useDevToolHandlers.ts +85 -5
  67. package/dist/v3/{DevToolWindow → DevTool/components/DevToolWindow}/hooks/useDevToolOverlay.ts +25 -8
  68. package/dist/v3/{DevToolWindow → DevTool/components/DevToolWindow}/index.vue +67 -16
  69. package/dist/v3/{ElEvent → DevTool/components/ElEvent}/ElEventItem.vue +3 -3
  70. package/dist/v3/{ElEvent → DevTool/components/ElEvent}/index.vue +10 -13
  71. package/dist/v3/{Instance → DevTool/components/Instance}/index.vue +1 -1
  72. package/dist/v3/{Instance → DevTool/components/Instance}/transformTree.ts +1 -1
  73. package/dist/v3/{Instance → DevTool/components/Instance}/transformTreeCtx.ts +1 -1
  74. package/dist/v3/{InstanceDetail → DevTool/components/InstanceDetail}/index.vue +4 -4
  75. package/dist/v3/{JsonDetail → DevTool/components/JsonDetail}/index.vue +4 -4
  76. package/dist/v3/{NFCList → DevTool/components/NFCList}/NFCItem.vue +4 -5
  77. package/dist/v3/{NFCList → DevTool/components/NFCList}/NFCTool.vue +33 -57
  78. package/dist/v3/{NFCList → DevTool/components/NFCList}/index.vue +12 -16
  79. package/dist/v3/{NetworkList → DevTool/components/NetworkList}/InterceptConfig.vue +20 -4
  80. package/dist/v3/{NetworkList → DevTool/components/NetworkList}/InterceptItem.vue +3 -3
  81. package/dist/v3/{NetworkList → DevTool/components/NetworkList}/NetworkDetail.vue +18 -27
  82. package/dist/v3/{NetworkList → DevTool/components/NetworkList}/NetworkIntercept.vue +11 -16
  83. package/dist/v3/{NetworkList → DevTool/components/NetworkList}/NetworkItem.vue +10 -14
  84. package/dist/v3/{NetworkList → DevTool/components/NetworkList}/NetworkSend.vue +67 -34
  85. package/dist/v3/{NetworkList → DevTool/components/NetworkList}/index.vue +8 -8
  86. package/dist/v3/{Performance → DevTool/components/Performance}/index.vue +7 -4
  87. package/dist/v3/{Performance → DevTool/components/Performance}/modules/PerformanceWidget.vue +12 -9
  88. package/dist/v3/{Performance → DevTool/components/Performance}/modules/usePerformanceChart.ts +1 -1
  89. package/dist/v3/{Performance → DevTool/components/Performance}/modules/usePerformanceData.ts +2 -2
  90. package/dist/v3/{PiniaList → DevTool/components/PiniaList}/index.vue +5 -6
  91. package/dist/v3/{RouteList → DevTool/components/RouteList}/index.vue +21 -24
  92. package/dist/v3/{RunJS → DevTool/components/RunJS}/index.vue +3 -3
  93. package/dist/v3/{ScanCodeList → DevTool/components/ScanCodeList}/ScanCodeItem.vue +3 -4
  94. package/dist/v3/{ScanCodeList → DevTool/components/ScanCodeList}/index.vue +12 -16
  95. package/dist/v3/{SettingList → DevTool/components/SettingList}/index.vue +68 -0
  96. package/dist/v3/DevTool/components/SettingList/modules/SettingBarrage.vue +304 -0
  97. package/dist/v3/{SettingList → DevTool/components/SettingList}/modules/SettingDevTool.vue +8 -4
  98. package/dist/v3/{SettingList → DevTool/components/SettingList}/modules/SettingInfo.vue +47 -9
  99. package/dist/v3/{SettingList → DevTool/components/SettingList}/modules/SettingLanguage.vue +2 -2
  100. package/dist/v3/{SettingList → DevTool/components/SettingList}/modules/SettingLog.vue +2 -2
  101. package/dist/v3/{SettingList → DevTool/components/SettingList}/modules/SettingNetwork.vue +3 -3
  102. package/dist/v3/{SettingList → DevTool/components/SettingList}/modules/SettingTheme.vue +37 -7
  103. package/dist/v3/{SourceCode → DevTool/components/SourceCode}/Line.vue +22 -11
  104. package/dist/v3/{SourceCode → DevTool/components/SourceCode}/index.vue +8 -8
  105. package/dist/v3/{SourceCode → DevTool/components/SourceCode}/parseCode.ts +136 -228
  106. package/dist/v3/{StorageList → DevTool/components/StorageList}/index.vue +7 -7
  107. package/dist/v3/{TransferList → DevTool/components/TransferList}/TransferDetail.vue +6 -6
  108. package/dist/v3/{TransferList → DevTool/components/TransferList}/TransferItem.vue +4 -4
  109. package/dist/v3/{TransferList → DevTool/components/TransferList}/index.vue +8 -8
  110. package/dist/v3/{UniEvent → DevTool/components/UniEvent}/UniEventItem.vue +6 -7
  111. package/dist/v3/{UniEvent → DevTool/components/UniEvent}/index.vue +6 -6
  112. package/dist/v3/{VuexList → DevTool/components/VuexList}/index.vue +3 -3
  113. package/dist/v3/{WebSocket → DevTool/components/WebSocket}/WebSocketDetail.vue +8 -8
  114. package/dist/v3/{WebSocket → DevTool/components/WebSocket}/WebSocketItem.vue +4 -4
  115. package/dist/v3/{WebSocket → DevTool/components/WebSocket}/index.vue +8 -8
  116. package/dist/v3/DevTool/index.vue +179 -4
  117. package/dist/v3/{AppTransition → components/AppTransition}/index.vue +6 -0
  118. package/dist/v3/components/Barrage/BarrageItem.vue +137 -0
  119. package/dist/v3/components/Barrage/index.vue +202 -0
  120. package/dist/v3/components/DevErrorBoundary/index.vue +380 -0
  121. package/dist/v3/{DraggableContainer → components/DraggableContainer}/index.vue +1 -1
  122. package/dist/v3/{FilterInput → components/FilterInput}/index.vue +1 -1
  123. package/dist/v3/{JsonPretty → components/JsonPretty}/components/CheckController/index.vue +1 -1
  124. package/dist/v3/{JsonPretty → components/JsonPretty}/components/TreeNode/index.vue +11 -5
  125. package/dist/v3/{JsonPretty → components/JsonPretty}/index.vue +16 -13
  126. package/dist/v3/{JsonPretty → components/JsonPretty}/type.ts +1 -0
  127. package/dist/v3/{JsonPretty → components/JsonPretty}/utils/index.ts +1 -1
  128. package/dist/v3/{MovableContainer → components/MovableContainer}/index.vue +9 -5
  129. package/dist/v3/{Pick → components/Pick}/index.vue +1 -1
  130. package/dist/v3/{Tabs → components/Tabs}/index.vue +30 -4
  131. package/dist/v3/{VirtualList → components/VirtualList}/AutoSize.vue +1 -1
  132. package/dist/v3/{VirtualList → components/VirtualList}/index.vue +4 -0
  133. package/dist/v3/hooks/useBluetooth/index.ts +561 -0
  134. package/dist/v3/hooks/useRequest/index.ts +33 -20
  135. package/dist/v3/hooks/useWebsocket/README.md +79 -0
  136. package/dist/v3/hooks/useWebsocket/index.ts +253 -0
  137. package/dist/v3/styles/theme.css +17 -10
  138. package/package.json +67 -64
  139. package/dist/plugins/uniParseStock/index.d.ts +0 -10
  140. package/dist/plugins/uniParseStock/index.d.ts.map +0 -1
  141. /package/dist/v3/{ConsoleList → DevTool/components/ConsoleList}/staticTips.ts +0 -0
  142. /package/dist/v3/{DevToolTitle → DevTool/components/DevToolTitle}/index.vue +0 -0
  143. /package/dist/v3/{DevToolWindow → DevTool/components/DevToolWindow}/index.css +0 -0
  144. /package/dist/v3/{Instance → DevTool/components/Instance}/components/InstanceTreeNode.vue +0 -0
  145. /package/dist/v3/{Instance → DevTool/components/Instance}/flatten.ts +0 -0
  146. /package/dist/v3/{Instance → DevTool/components/Instance}/registry.ts +0 -0
  147. /package/dist/v3/{Instance → DevTool/components/Instance}/typing.d.ts +0 -0
  148. /package/dist/v3/{NFCList → DevTool/components/NFCList}/const.ts +0 -0
  149. /package/dist/v3/{NetworkList → DevTool/components/NetworkList}/const.ts +0 -0
  150. /package/dist/v3/{NetworkList → DevTool/components/NetworkList}/hooks/useNetworkForm.ts +0 -0
  151. /package/dist/v3/{NetworkList → DevTool/components/NetworkList}/utils.ts +0 -0
  152. /package/dist/v3/{Performance → DevTool/components/Performance}/modules/PerformanceMetrics.vue +0 -0
  153. /package/dist/v3/{SettingButton → DevTool/components/SettingButton}/index.vue +0 -0
  154. /package/dist/v3/{SettingList → DevTool/components/SettingList}/index.css +0 -0
  155. /package/dist/v3/{SettingList → DevTool/components/SettingList}/typing.d.ts +0 -0
  156. /package/dist/v3/{AutoSizer → components/AutoSizer}/index.vue +0 -0
  157. /package/dist/v3/{AutoSizer → components/AutoSizer}/index1.vue +0 -0
  158. /package/dist/v3/{AutoSizer → components/AutoSizer}/utils.ts +0 -0
  159. /package/dist/v3/{CircularButton → components/CircularButton}/index.vue +0 -0
  160. /package/dist/v3/{CustomSwiper → components/CustomSwiper}/CustomSwiperItem.vue +0 -0
  161. /package/dist/v3/{CustomSwiper → components/CustomSwiper}/index.vue +0 -0
  162. /package/dist/v3/{Empty → components/Empty}/empty.png +0 -0
  163. /package/dist/v3/{Empty → components/Empty}/index.vue +0 -0
  164. /package/dist/v3/{FilterSelect → components/FilterSelect}/index.vue +0 -0
  165. /package/dist/v3/{JsonPretty → components/JsonPretty}/components/Brackets/index.vue +0 -0
  166. /package/dist/v3/{JsonPretty → components/JsonPretty}/components/Carets/index.vue +0 -0
  167. /package/dist/v3/{JsonPretty → components/JsonPretty}/hooks/useClipboard.ts +0 -0
  168. /package/dist/v3/{JsonPretty → components/JsonPretty}/hooks/useError.ts +0 -0
  169. /package/dist/v3/{Tag → components/Tag}/index.vue +0 -0
  170. /package/dist/v3/{VirtualList → components/VirtualList}/readme.md +0 -0
@@ -1 +1 @@
1
- "use strict";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",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)",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: 拦截请求,发送请求之前将采用输入的请求头和请求参数,返回响应头和响应参数。会真实发起一次请求(真实请求可能失败),更改最后的响应结果。",tipsTimeout:"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:"配置保存成功,正在重启中..."},info:{title:"信息",viewWindow:"查看 Window 信息",viewWindowTip:"通过 uni.getWindowInfo 获取当前窗口信息(可能不支持)",viewDevice:"查看 Device 信息",viewDeviceTip:"通过 uni.getDeviceInfo 获取当前设备信息(可能不支持)",viewSystem:"查看 System 信息",viewSystemTip:"通过 uni.getSystemInfoSync 获取当前系统信息(可能不支持)",viewAppInfo:"查看 AppInfo 信息",viewAppInfoTip:"通过 uni.getAppBaseInfo 获取当前应用信息(可能不支持)",notSupported:"不支持"},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: 防止请求不存在,请求时长异常",placeholderHeaderName:"请输入请求头名称",placeholderHeaderValue:"请输入请求头值",placeholderParamName:"请输入参数名称",placeholderParamValue:"请输入参数值",placeholderUrl:"请输入请求地址",placeholderBody:"请输入请求体",placeholderRespHeaderName:"请输入响应头名称",placeholderRespHeaderValue:"请输入响应头值",placeholderRespBody:"请输入响应体",emptyParams:"暂无请求参数",toastEnterUrl:"请输入请求地址",toastBodyJson:"请求体请输入正确的JSON格式",toastRespJson:"响应体请输入正确的JSON格式",toastSaveSuccess:"保存成功",toastRequestSuccess:"请求完成,点击左下角详情进行查看结果"},common:{clear:"清空",console:"控制台",all:"全部",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:"网络"}};module.exports=e;
1
+ "use strict";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:"断开失败"},errorBoundary:{title:"业务代码已崩溃",tips:"为了保证 DevTool 仍然可用,错误已被拦截。你可以通过 DevTool 查看日志或尝试重启。",retry:"尝试恢复 (可能无效)"}};module.exports=e;
@@ -22,6 +22,7 @@ declare const _default: {
22
22
  captureScreen: string;
23
23
  scanCode: string;
24
24
  nfc: string;
25
+ bluetooth: string;
25
26
  storage: string;
26
27
  vuex: string;
27
28
  pinia: string;
@@ -166,6 +167,7 @@ declare const _default: {
166
167
  interceptedShort: string;
167
168
  interceptConfig: string;
168
169
  timeout: string;
170
+ tipsTimeout: string;
169
171
  responseStatus: string;
170
172
  requestMethod: string;
171
173
  placeholderHeaderName: string;
@@ -187,7 +189,6 @@ declare const _default: {
187
189
  toastBodyJson: string;
188
190
  toastRespJson: string;
189
191
  tipsIntercept: string;
190
- tipsTimeout: string;
191
192
  expectedStatus: string;
192
193
  expectedResult: string;
193
194
  };
@@ -225,6 +226,9 @@ declare const _default: {
225
226
  fangSong: string;
226
227
  };
227
228
  saveTip: string;
229
+ showSafeArea: string;
230
+ showSafeAreaTip: string;
231
+ hideSafeArea: string;
228
232
  };
229
233
  info: {
230
234
  title: string;
@@ -237,6 +241,11 @@ declare const _default: {
237
241
  viewAppInfo: string;
238
242
  viewAppInfoTip: string;
239
243
  notSupported: string;
244
+ systemEnv: string;
245
+ deviceBrand: string;
246
+ hostVersion: string;
247
+ sdkVersion: string;
248
+ platform: string;
240
249
  };
241
250
  log: {
242
251
  title: string;
@@ -412,6 +421,8 @@ declare const _default: {
412
421
  sending: string;
413
422
  tipsIntercept: string;
414
423
  tipsTimeout: string;
424
+ delay: string;
425
+ tipsDelay: string;
415
426
  placeholderHeaderName: string;
416
427
  placeholderHeaderValue: string;
417
428
  placeholderParamName: string;
@@ -432,6 +443,15 @@ declare const _default: {
432
443
  clear: string;
433
444
  console: string;
434
445
  all: string;
446
+ barrage: string;
447
+ enableBarrage: string;
448
+ barrageShowWhenOpen: string;
449
+ barrageMaxTracks: string;
450
+ barrageTrackHeight: string;
451
+ barrageStartTop: string;
452
+ barrageDuration: string;
453
+ barrageMaxLength: string;
454
+ barrageTypes: string;
435
455
  selectType: string;
436
456
  refresh: string;
437
457
  navigate: string;
@@ -470,6 +490,72 @@ declare const _default: {
470
490
  upload: string;
471
491
  download: string;
472
492
  network: string;
493
+ bluetooth: string;
494
+ };
495
+ bluetooth: {
496
+ title: string;
497
+ startSearch: string;
498
+ stopSearch: string;
499
+ noDevice: string;
500
+ error: string;
501
+ connected: string;
502
+ paired: string;
503
+ pair: string;
504
+ tool: string;
505
+ disconnect: string;
506
+ connect: string;
507
+ unknownDevice: string;
508
+ tip: string;
509
+ id: string;
510
+ uuids: string;
511
+ rssi: string;
512
+ service: string;
513
+ selectService: string;
514
+ characteristic: string;
515
+ selectChar: string;
516
+ properties: string;
517
+ propertyRead: string;
518
+ propertyWrite: string;
519
+ propertyNotify: string;
520
+ propertyIndicate: string;
521
+ receiveNotify: string;
522
+ notifying: string;
523
+ stopNotify: string;
524
+ notifyEnabled: string;
525
+ notifyDisabled: string;
526
+ notifyToggleFail: string;
527
+ tx: string;
528
+ rx: string;
529
+ sys: string;
530
+ noData: string;
531
+ format: string;
532
+ suffix: string;
533
+ mode: string;
534
+ auto: string;
535
+ placeholder: string;
536
+ send: string;
537
+ selectCharFirst: string;
538
+ charNotWritable: string;
539
+ invalidData: string;
540
+ sendFail: string;
541
+ fromDevice: string;
542
+ charField: string;
543
+ gettingService: string;
544
+ gettingChar: string;
545
+ requestPairing: string;
546
+ pairRequestSent: string;
547
+ pairRequestFail: string;
548
+ connecting: string;
549
+ connectSuccess: string;
550
+ connectFail: string;
551
+ disconnecting: string;
552
+ disconnectSuccess: string;
553
+ disconnectFail: string;
554
+ };
555
+ errorBoundary: {
556
+ title: string;
557
+ tips: string;
558
+ retry: string;
473
559
  };
474
560
  };
475
561
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"zh-Hans.d.ts","sourceRoot":"","sources":["../../../src/i18n/locales/zh-Hans.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wBA+dE"}
1
+ {"version":3,"file":"zh-Hans.d.ts","sourceRoot":"","sources":["../../../src/i18n/locales/zh-Hans.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wBAsjBE"}
@@ -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",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)",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: 拦截请求,发送请求之前将采用输入的请求头和请求参数,返回响应头和响应参数。会真实发起一次请求(真实请求可能失败),更改最后的响应结果。",tipsTimeout:"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:"配置保存成功,正在重启中..."},info:{title:"信息",viewWindow:"查看 Window 信息",viewWindowTip:"通过 uni.getWindowInfo 获取当前窗口信息(可能不支持)",viewDevice:"查看 Device 信息",viewDeviceTip:"通过 uni.getDeviceInfo 获取当前设备信息(可能不支持)",viewSystem:"查看 System 信息",viewSystemTip:"通过 uni.getSystemInfoSync 获取当前系统信息(可能不支持)",viewAppInfo:"查看 AppInfo 信息",viewAppInfoTip:"通过 uni.getAppBaseInfo 获取当前应用信息(可能不支持)",notSupported:"不支持"},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: 防止请求不存在,请求时长异常",placeholderHeaderName:"请输入请求头名称",placeholderHeaderValue:"请输入请求头值",placeholderParamName:"请输入参数名称",placeholderParamValue:"请输入参数值",placeholderUrl:"请输入请求地址",placeholderBody:"请输入请求体",placeholderRespHeaderName:"请输入响应头名称",placeholderRespHeaderValue:"请输入响应头值",placeholderRespBody:"请输入响应体",emptyParams:"暂无请求参数",toastEnterUrl:"请输入请求地址",toastBodyJson:"请求体请输入正确的JSON格式",toastRespJson:"响应体请输入正确的JSON格式",toastSaveSuccess:"保存成功",toastRequestSuccess:"请求完成,点击左下角详情进行查看结果"},common:{clear:"清空",console:"控制台",all:"全部",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:"网络"}};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:"弹幕文字截断长度",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};
@@ -1,4 +1,4 @@
1
1
  "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../../core-shared.cjs");require("../../utils/index.cjs");const h=require("../../utils/language.cjs"),y=require("../../utils/page.cjs"),C=require("../../utils/date.cjs"),f=require("../../utils/object.cjs");class v{constructor(t){this.timeMap=new Map,this.countMap=new Map,this.event=t}factory(t,e){var c,u,p;if(o.backup.originalConsole[t](...e),this.event.getDevToolDestroy())return;const a=y.getCurrentPagePath(),s=C.getCurrentDate(),n=(u=(c=new Error)==null?void 0:c.stack)==null?void 0:u.split(`
2
2
  `),i=(p=n==null?void 0:n.slice(3))==null?void 0:p[0],l=e==null?void 0:e.map(d=>{const g=h.transformValueToView(d),m=f.parseValue(d),D=g==="object"||g==="array"?h.transformValueToShortString(m,g):"";return{type:g,value:m,shortValue:D}});h.isArray(e)&&e.length>0&&this.event.updateConsoleList([{type:t,position:a,time:s,args:l,stack:i}])}log(...t){this.factory("log",t)}info(...t){this.factory("info",t)}warn(...t){this.factory("warn",t)}error(...t){this.factory("error",t)}time(t){o.backup.originalConsole.time(t),this.timeMap.set(t,Date.now())}timeEnd(t){var l,c,u;if(this.factory("timeEnd",[t]),this.event.getDevToolDestroy())return;const r=y.getCurrentPagePath(),a=C.getCurrentDate(),s=(c=(l=new Error)==null?void 0:l.stack)==null?void 0:c.split(`
3
3
  `),n=(u=s==null?void 0:s.slice(3))==null?void 0:u[0],i=this.timeMap.get(t);if(i){const p=Date.now()-i;this.event.updateConsoleList([{type:"log",position:r,time:a,args:[{type:"string",value:`${t??"[DevTool timeEnd error]"}: ${p}ms`}],stack:n}])}this.timeMap.delete(t)}clear(){this.factory("clear",[]),this.event.updateConsoleList([])}count(t=""){var s,n,i;if(this.factory("count",[t]),this.event.getDevToolDestroy())return;this.countMap.set(t,(this.countMap.get(t)||0)+1);const r=(n=(s=new Error)==null?void 0:s.stack)==null?void 0:n.split(`
4
- `),a=(i=r==null?void 0:r.slice(3))==null?void 0:i[0];this.event.updateConsoleList([{type:"log",position:y.getCurrentPagePath(),time:C.getCurrentDate(),args:[{type:"string",value:`${t}: ${this.countMap.get(t)}`}],stack:a}])}countReset(t=""){this.countMap.delete(t)}assert(...t){o.backup.originalConsole.assert(...t)}debug(...t){o.backup.originalConsole.debug(...t)}dir(...t){o.backup.originalConsole.dir(...t)}dirxml(...t){o.backup.originalConsole.dirxml(...t)}group(...t){o.backup.originalConsole.group(t)}groupCollapsed(...t){o.backup.originalConsole.groupCollapsed(...t)}groupEnd(){o.backup.originalConsole.groupEnd()}table(...t){o.backup.originalConsole.table(...t)}timeStamp(...t){o.backup.originalConsole.timeStamp(...t)}trace(...t){var e,r;(r=(e=o.backup.originalConsole)==null?void 0:e.trace)==null||r.call(e,...t)}}exports.DevConsole=v;
4
+ `),a=(i=r==null?void 0:r.slice(3))==null?void 0:i[0];this.event.updateConsoleList([{type:"log",position:y.getCurrentPagePath(),time:C.getCurrentDate(),args:[{type:"string",value:`${t}: ${this.countMap.get(t)}`}],stack:a}])}countReset(t=""){this.countMap.delete(t)}assert(...t){o.backup.originalConsole.assert(...t)}debug(...t){this.factory("debug",t)}dir(...t){o.backup.originalConsole.dir(...t)}dirxml(...t){o.backup.originalConsole.dirxml(...t)}group(...t){o.backup.originalConsole.group(t)}groupCollapsed(...t){o.backup.originalConsole.groupCollapsed(...t)}groupEnd(){o.backup.originalConsole.groupEnd()}table(...t){o.backup.originalConsole.table(...t)}timeStamp(...t){o.backup.originalConsole.timeStamp(...t)}trace(...t){var e,r;(r=(e=o.backup.originalConsole)==null?void 0:e.trace)==null||r.call(e,...t)}}exports.DevConsole=v;
@@ -1,4 +1,4 @@
1
- import{backup as e}from"../../core-shared.js";import"../../utils/index.js";import{transformValueToView as d,transformValueToShortString as D,isArray as v}from"../../utils/language.js";import{getCurrentPagePath as m}from"../../utils/page.js";import{getCurrentDate as h}from"../../utils/date.js";import{parseValue as M}from"../../utils/object.js";class L{constructor(t){this.timeMap=new Map,this.countMap=new Map,this.event=t}factory(t,o){var c,l,u;if(e.originalConsole[t](...o),this.event.getDevToolDestroy())return;const a=m(),i=h(),r=(l=(c=new Error)==null?void 0:c.stack)==null?void 0:l.split(`
2
- `),n=(u=r==null?void 0:r.slice(3))==null?void 0:u[0],p=o==null?void 0:o.map(y=>{const g=d(y),f=M(y),C=g==="object"||g==="array"?D(f,g):"";return{type:g,value:f,shortValue:C}});v(o)&&o.length>0&&this.event.updateConsoleList([{type:t,position:a,time:i,args:p,stack:n}])}log(...t){this.factory("log",t)}info(...t){this.factory("info",t)}warn(...t){this.factory("warn",t)}error(...t){this.factory("error",t)}time(t){e.originalConsole.time(t),this.timeMap.set(t,Date.now())}timeEnd(t){var p,c,l;if(this.factory("timeEnd",[t]),this.event.getDevToolDestroy())return;const s=m(),a=h(),i=(c=(p=new Error)==null?void 0:p.stack)==null?void 0:c.split(`
1
+ import{backup as e}from"../../core-shared.js";import"../../utils/index.js";import{transformValueToView as C,transformValueToShortString as D,isArray as v}from"../../utils/language.js";import{getCurrentPagePath as m}from"../../utils/page.js";import{getCurrentDate as h}from"../../utils/date.js";import{parseValue as M}from"../../utils/object.js";class L{constructor(t){this.timeMap=new Map,this.countMap=new Map,this.event=t}factory(t,o){var c,l,u;if(e.originalConsole[t](...o),this.event.getDevToolDestroy())return;const a=m(),i=h(),r=(l=(c=new Error)==null?void 0:c.stack)==null?void 0:l.split(`
2
+ `),n=(u=r==null?void 0:r.slice(3))==null?void 0:u[0],p=o==null?void 0:o.map(y=>{const g=C(y),f=M(y),d=g==="object"||g==="array"?D(f,g):"";return{type:g,value:f,shortValue:d}});v(o)&&o.length>0&&this.event.updateConsoleList([{type:t,position:a,time:i,args:p,stack:n}])}log(...t){this.factory("log",t)}info(...t){this.factory("info",t)}warn(...t){this.factory("warn",t)}error(...t){this.factory("error",t)}time(t){e.originalConsole.time(t),this.timeMap.set(t,Date.now())}timeEnd(t){var p,c,l;if(this.factory("timeEnd",[t]),this.event.getDevToolDestroy())return;const s=m(),a=h(),i=(c=(p=new Error)==null?void 0:p.stack)==null?void 0:c.split(`
3
3
  `),r=(l=i==null?void 0:i.slice(3))==null?void 0:l[0],n=this.timeMap.get(t);if(n){const u=Date.now()-n;this.event.updateConsoleList([{type:"log",position:s,time:a,args:[{type:"string",value:`${t??"[DevTool timeEnd error]"}: ${u}ms`}],stack:r}])}this.timeMap.delete(t)}clear(){this.factory("clear",[]),this.event.updateConsoleList([])}count(t=""){var i,r,n;if(this.factory("count",[t]),this.event.getDevToolDestroy())return;this.countMap.set(t,(this.countMap.get(t)||0)+1);const s=(r=(i=new Error)==null?void 0:i.stack)==null?void 0:r.split(`
4
- `),a=(n=s==null?void 0:s.slice(3))==null?void 0:n[0];this.event.updateConsoleList([{type:"log",position:m(),time:h(),args:[{type:"string",value:`${t}: ${this.countMap.get(t)}`}],stack:a}])}countReset(t=""){this.countMap.delete(t)}assert(...t){e.originalConsole.assert(...t)}debug(...t){e.originalConsole.debug(...t)}dir(...t){e.originalConsole.dir(...t)}dirxml(...t){e.originalConsole.dirxml(...t)}group(...t){e.originalConsole.group(t)}groupCollapsed(...t){e.originalConsole.groupCollapsed(...t)}groupEnd(){e.originalConsole.groupEnd()}table(...t){e.originalConsole.table(...t)}timeStamp(...t){e.originalConsole.timeStamp(...t)}trace(...t){var o,s;(s=(o=e.originalConsole)==null?void 0:o.trace)==null||s.call(o,...t)}}export{L as DevConsole};
4
+ `),a=(n=s==null?void 0:s.slice(3))==null?void 0:n[0];this.event.updateConsoleList([{type:"log",position:m(),time:h(),args:[{type:"string",value:`${t}: ${this.countMap.get(t)}`}],stack:a}])}countReset(t=""){this.countMap.delete(t)}assert(...t){e.originalConsole.assert(...t)}debug(...t){this.factory("debug",t)}dir(...t){e.originalConsole.dir(...t)}dirxml(...t){e.originalConsole.dirxml(...t)}group(...t){e.originalConsole.group(t)}groupCollapsed(...t){e.originalConsole.groupCollapsed(...t)}groupEnd(){e.originalConsole.groupEnd()}table(...t){e.originalConsole.table(...t)}timeStamp(...t){e.originalConsole.timeStamp(...t)}trace(...t){var o,s;(s=(o=e.originalConsole)==null?void 0:o.trace)==null||s.call(o,...t)}}export{L 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 v=require("../../utils/function.cjs"),p=require("../../utils/object.cjs"),u=require("../../utils/page.cjs"),M=require("../../utils/date.cjs"),_=require("../../utils/language.cjs"),C=require("../../utils/file.cjs");class f{constructor({store:t}){this.abnormalUploadCount=0,this.abnormalUploadTimer=null,this.isAbnormalUploadActive=!1,this.isListening=!1,this.postMessage=v.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=v.throttle(this.touchStartEvent.bind(this),1e3),this.throttleTouchMoveEvent=v.throttle(this.touchMoveEvent.bind(this),1e3),this.throttleTouchEndEvent=v.throttle(this.touchEndEvent.bind(this),1e3)}setIntercept(t){this.intercept=t}emitToUI(t,e={}){try{const s=p.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 serialize 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.setDevToolVisible(!0),setTimeout(()=>{console.log(`[DevTool] 创建成功
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"),v=require("../../utils/language.cjs"),C=require("../../utils/file.cjs");class f{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 serialize 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.setDevToolVisible(!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.setDevToolVisible(!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(),console.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=p.calculateObjectSize(t),s=p.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.setDevToolVisible(!0))}hideDevToolButton(){this.store.getDevToolDestroy()||(this.emitToUI(o.MSG_TYPE.BUTTON_VISIBLE,!1),this.store.setDevToolVisible(!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:M.getCurrentDate(),stack:s,mode:"input"};this.updateConsoleList([{...r}]),this.executeJS(t).then(c=>{const l=_.transformValueToView(c),E=p.parseValue(c),g=l==="object"||l==="array"?_.transformValueToShortString(E,l):"";r.args=[{type:l,value:E,shortValue:g}],r.time=M.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)??[];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)??[];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,S;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,d;return i.sponsor==="user"&&!((d=(T=i.status)==null?void 0:T.toString())!=null&&d.startsWith("2"))&&!i.hasUpload}))??[],a=((E=t.transferList)==null?void 0:E.filter(i=>{var T,d;return!((d=(T=i.status)==null?void 0:T.toString())!=null&&d.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=((S=t.screenList)==null?void 0:S.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()}updateNetworkList(t,e){this.store.updateNetworkList(t,e),this.postMessage()}updateWsList(t){this.store.updateWsList(t),this.postMessage()}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()}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()}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=_.transformValueToView(e),r=p.parseValue(e),h=a==="object"||a==="array"?_.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.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.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.setDevToolVisible(!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(),console.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.setDevToolVisible(!0))}hideDevToolButton(){this.store.getDevToolDestroy()||(this.emitToUI(o.MSG_TYPE.BUTTON_VISIBLE,!1),this.store.setDevToolVisible(!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=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;
@@ -90,6 +90,7 @@ export declare class DevEvent implements DevTool.DevEventInterface {
90
90
  updateScreen(items: DevTool.ScreenItem[], index?: number): void;
91
91
  updateScanCode(items: DevTool.ScanCodeItem[]): void;
92
92
  updateNfc(items: DevTool.NFCItem[]): void;
93
+ updateBluetooth(items: DevTool.BluetoothItem[]): void;
93
94
  updateRouteList(path?: string): void;
94
95
  updateUniEventCount(type: DevTool.EventCountKey): void;
95
96
  getInterceptNetworkMap(): Map<string, DevTool.NetworkItem>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/devEvent/index.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAe1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD;;;;;;;;;GASG;AACH,qBAAa,QAAS,YAAW,OAAO,CAAC,iBAAiB;IACxD,OAAO,CAAC,KAAK,CAAW;IACxB,OAAO,CAAC,SAAS,CAA2B;IAG5C,OAAO,CAAC,mBAAmB,CAAa;IACxC,OAAO,CAAC,mBAAmB,CAAa;IACxC,OAAO,CAAC,sBAAsB,CAAkB;IAGhD,OAAO,CAAC,aAAa,CAAM;IAC3B,OAAO,CAAC,uBAAuB,CAAM;IACrC,OAAO,CAAC,sBAAsB,CAAM;IACpC,OAAO,CAAC,qBAAqB,CAAM;IAEnC,OAAO,CAAC,YAAY,CAAM;IAC1B,OAAO,CAAC,WAAW,CAAS;gBAEhB,EAAE,KAAK,EAAE,EAAE;QAAE,KAAK,EAAE,QAAQ,CAAA;KAAE;IAsB1C,YAAY,CAAC,SAAS,EAAE,YAAY;IAKpC;;OAEG;IACH,OAAO,CAAC,QAAQ;IAsChB,gBAAgB;IAQhB,mBAAmB;IAQnB,aAAa,CAAC,IAAI,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,MAAM,CAAC;QAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAE;IA2B3E,cAAc;IAiBd,cAAc;YAUA,aAAa;IAmB3B,WAAW,yBAEF;IAET,iBAAiB;IAMjB,kBAAkB;IAKlB,iBAAiB;IAMjB,iBAAiB;IAMjB,iBAAiB;IAMjB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAc1C,UAAU,CAAC,GAAG,EAAE,GAAG;IAWnB,OAAO,CAAC,SAAS;IAkBjB,QAAQ,CAAC,IAAI,EAAE,MAAM;IA8BrB,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,WAAW;IAKpC,gBAAgB;IAKhB,OAAO,CAAC,eAAe;IAqBvB,OAAO,CAAC,sBAAsB;IAa9B,OAAO,CAAC,QAAQ;IAehB,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,aAAa;IAerB,OAAO,CAAC,uBAAuB;IAgB/B,OAAO,CAAC,0BAA0B;IAiB5B,eAAe;;;;;;;;;;IAuCf,qBAAqB,CAAC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;IAwDtE,cAAc,CAAC,MAAM,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE;IAoCjD,mBAAmB,CAAC,MAAM,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE;IAMtD,kBAAkB;IASlB,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM;IAK9D,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM;IAK9D,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE;IAK7B,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG;IAIhC,YAAY,CAAC,GAAG,EAAE,MAAM;IAIxB,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,WAAW,EAAE;IAK1C,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,YAAY,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM;IAK5D,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,YAAY,EAAE;IAK5C,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM;IAKxD,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,YAAY,EAAE;IAK5C,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,EAAE;IAKlC,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM;IAK7B,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,aAAa;IAK/C,sBAAsB;IAItB,eAAe;IAIf,eAAe,CAAC,KAAK,EAAE,MAAM;IAI7B,iBAAiB;IAIjB,iBAAiB;IAIjB,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAKrC,WAAW,CAAC,KAAK,EAAE,GAAG;IAItB,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAKtC,aAAa,CAAC,UAAU,EAAE,GAAG;IAK7B,YAAY,CAAC,KAAK,CAAC,EAAE,OAAO;IAK5B,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO;IAK1C,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,GAAG;IAKjD,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAMzC,SAAS,CAAC,IAAI,EAAE,GAAG;IAmBnB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG;IA+BvC,UAAU;IAyBV,OAAO,CAAC,eAAe;IA+JvB,WAAW;IACX,aAAa;CAGd"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/devEvent/index.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAe1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD;;;;;;;;;GASG;AACH,qBAAa,QAAS,YAAW,OAAO,CAAC,iBAAiB;IACxD,OAAO,CAAC,KAAK,CAAW;IACxB,OAAO,CAAC,SAAS,CAA2B;IAG5C,OAAO,CAAC,mBAAmB,CAAa;IACxC,OAAO,CAAC,mBAAmB,CAAa;IACxC,OAAO,CAAC,sBAAsB,CAAkB;IAGhD,OAAO,CAAC,aAAa,CAAM;IAC3B,OAAO,CAAC,uBAAuB,CAAM;IACrC,OAAO,CAAC,sBAAsB,CAAM;IACpC,OAAO,CAAC,qBAAqB,CAAM;IAEnC,OAAO,CAAC,YAAY,CAAM;IAC1B,OAAO,CAAC,WAAW,CAAS;gBAEhB,EAAE,KAAK,EAAE,EAAE;QAAE,KAAK,EAAE,QAAQ,CAAA;KAAE;IAsB1C,YAAY,CAAC,SAAS,EAAE,YAAY;IAKpC;;OAEG;IACH,OAAO,CAAC,QAAQ;IAsChB,gBAAgB;IAQhB,mBAAmB;IAQnB,aAAa,CAAC,IAAI,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,MAAM,CAAC;QAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAE;IA2B3E,cAAc;IAiBd,cAAc;YAUA,aAAa;IAmB3B,WAAW,yBAEF;IAET,iBAAiB;IAMjB,kBAAkB;IAKlB,iBAAiB;IAMjB,iBAAiB;IAMjB,iBAAiB;IAMjB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAc1C,UAAU,CAAC,GAAG,EAAE,GAAG;IAWnB,OAAO,CAAC,SAAS;IAkBjB,QAAQ,CAAC,IAAI,EAAE,MAAM;IA8BrB,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,WAAW;IAKpC,gBAAgB;IAKhB,OAAO,CAAC,eAAe;IAqBvB,OAAO,CAAC,sBAAsB;IAa9B,OAAO,CAAC,QAAQ;IAehB,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,aAAa;IAerB,OAAO,CAAC,uBAAuB;IAkB/B,OAAO,CAAC,0BAA0B;IAmB5B,eAAe;;;;;;;;;;IAuCf,qBAAqB,CAAC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;IAwDtE,cAAc,CAAC,MAAM,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE;IAoCjD,mBAAmB,CAAC,MAAM,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE;IAMtD,kBAAkB;IASlB,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM;IAa9D,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM;IAoB9D,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE;IAgB7B,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG;IAIhC,YAAY,CAAC,GAAG,EAAE,MAAM;IAIxB,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,WAAW,EAAE;IAK1C,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,YAAY,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM;IAgB5D,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,YAAY,EAAE;IAK5C,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM;IAKxD,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,YAAY,EAAE;IAK5C,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,EAAE;IAKlC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,aAAa,EAAE;IAK9C,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM;IAK7B,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,aAAa;IAK/C,sBAAsB;IAItB,eAAe;IAIf,eAAe,CAAC,KAAK,EAAE,MAAM;IAI7B,iBAAiB;IAIjB,iBAAiB;IAIjB,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAKrC,WAAW,CAAC,KAAK,EAAE,GAAG;IAItB,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAKtC,aAAa,CAAC,UAAU,EAAE,GAAG;IAK7B,YAAY,CAAC,KAAK,CAAC,EAAE,OAAO;IAK5B,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO;IAK1C,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,GAAG;IAKjD,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAMzC,SAAS,CAAC,IAAI,EAAE,GAAG;IAmBnB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG;IA+BvC,UAAU;IAyBV,OAAO,CAAC,eAAe;IAqMvB,WAAW;IACX,aAAa;CAGd"}
@@ -1,5 +1,5 @@
1
- import{DEV_CORE_MESSAGE as D,DEV_UI_MESSAGE as S,MSG_TYPE as h,DEV_CAPTURE_TAP_EVENT as _,DEV_CAPTURE_TOUCH_START as L,DEV_CAPTURE_TOUCH_MOVE as C,DEV_CAPTURE_TOUCH_END as b,CMD_TYPE as o}from"../../const.js";import"../../utils/index.js";import{throttle as g}from"../../utils/function.js";import{serializeCircular as O,calculateObjectSize as A,formatStorageSize as R,parseValue as I}from"../../utils/object.js";import{getCurrentPagePath as p}from"../../utils/page.js";import{getCurrentDate as M}from"../../utils/date.js";import{transformValueToView as k,transformValueToShortString as y}from"../../utils/language.js";import{saveTextFileMicro as U,saveTextFileH5 as N,saveTxtFileApp as w}from"../../utils/file.js";class H{constructor({store:t}){this.abnormalUploadCount=0,this.abnormalUploadTimer=null,this.isAbnormalUploadActive=!1,this.isListening=!1,this.postMessage=g(()=>{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=g(this.touchStartEvent.bind(this),1e3),this.throttleTouchMoveEvent=g(this.touchMoveEvent.bind(this),1e3),this.throttleTouchEndEvent=g(this.touchEndEvent.bind(this),1e3)}setIntercept(t){this.intercept=t}emitToUI(t,e={}){try{const s=O({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(D,JSON.stringify({type:t,data:{_warning:"Data too large, transmission dropped.",size:s.length}}));return}uni.$emit(D,s)}catch(s){console.error("[DevTool] emitToUI serialize error",s);try{uni.$emit(D,JSON.stringify({type:t,data:{}}))}catch{}}}addEventListener(){this.isListening||(uni.$on(S,this.messageBound),this.addCaptureEventListener(),this.isListening=!0)}removeEventListener(){this.isListening&&(uni.$off(S,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(h.BUTTON_VISIBLE,!0),this.store.setDevToolVisible(!0),setTimeout(()=>{console.log(`[DevTool] 创建成功
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 C,CMD_TYPE as o}from"../../const.js";import"../../utils/index.js";import{throttle as v}from"../../utils/function.js";import{serializeCircular as k,calculateObjectSize as y,formatStorageSize as O,parseValue as b}from"../../utils/object.js";import{getCurrentPagePath as p}from"../../utils/page.js";import{getCurrentDate as R}from"../../utils/date.js";import{transformValueToView as I,transformValueToShortString as M}from"../../utils/language.js";import{saveTextFileMicro as U,saveTextFileH5 as N,saveTxtFileApp as w}from"../../utils/file.js";class ${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=k({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 serialize 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.setDevToolVisible(!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(h.BUTTON_VISIBLE,!1),this.store.setDevToolVisible(!1),this.emitToUI(h.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(),console.log("[DevTool] 调试器已销毁"))}restartDevTool(){this.destroyDevTool(),this.createDevTool({devToolBuildTime:this.store.devToolBuildTime,devToolVersion:this.store.devToolVersion}),this.emitToUI(h.WINDOW_VISIBLE,!0)}async postMessageFn(){if(this.store.getDevToolDestroy())return;const t=await this.store.getDevData(),e=A(t),s=R(e);t.size=e,t.sizeFormat=s,this.emitToUI(h.DATA_UPDATE,t),e>this.store.cacheMaxSize&&this.store.clearDevCache()}openDevToolWindow(){this.store.getDevToolDestroy()||(setTimeout(()=>this.postMessage(),100),this.emitToUI(h.WINDOW_VISIBLE,!0))}closeDevToolWindow(){this.store.getDevToolDestroy()||this.emitToUI(h.WINDOW_VISIBLE,!1)}showDevToolButton(){this.store.getDevToolDestroy()||(this.emitToUI(h.BUTTON_VISIBLE,!0),this.store.setDevToolVisible(!0))}hideDevToolButton(){this.store.getDevToolDestroy()||(this.emitToUI(h.BUTTON_VISIBLE,!1),this.store.setDevToolVisible(!1))}sendDevToolOption(){const t=this.store.getDevToolOptions();this.emitToUI(h.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 n,l;const e=(l=(n=new Error)==null?void 0:n.stack)==null?void 0:l.split(`
5
- `),s=e==null?void 0:e[1],i=Date.now(),a={type:"log",args:[{type:"string",value:t}],position:p(),time:M(),stack:s,mode:"input"};this.updateConsoleList([{...a}]),this.executeJS(t).then(u=>{const c=k(u),d=I(u),v=c==="object"||c==="array"?y(d,c):"";a.args=[{type:c,value:d,shortValue:v}],a.time=M(),a.mode="output",a.executionTime=Date.now()-i,this.updateConsoleList([{...a}])})}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(i=>{var a;return Object.keys(((a=t==null?void 0:t.target)==null?void 0:a.dataset)??{}).includes(i)}):s&&s.length?!s.some(i=>{var a;return Object.keys(((a=t==null?void 0:t.target)==null?void 0:a.dataset)??{}).includes(i)}):!0}formatEventCoordinates(t){return!t||!Array.isArray(t)?t:t.map(e=>{const s={...e};return["clientX","clientY","pageX","pageY","x","y"].forEach(i=>{typeof e[i]=="number"&&(s[i]=parseFloat(e[i].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)??[];t.includes("tap")&&uni.$on(_,this.tapEventBound),t.includes("touchstart")&&uni.$on(L,this.throttleTouchStartEvent),t.includes("touchmove")&&uni.$on(C,this.throttleTouchMoveEvent),t.includes("touchend")&&uni.$on(b,this.throttleTouchEndEvent)}removeCaptureEventListener(){var e;const t=((e=this.store.getDevToolOptions())==null?void 0:e.captureList)??[];t.includes("tap")&&uni.$off(_,this.tapEventBound),t.includes("touchstart")&&uni.$off(L,this.throttleTouchStartEvent),t.includes("touchmove")&&uni.$off(C,this.throttleTouchMoveEvent),t.includes("touchend")&&uni.$off(b,this.throttleTouchEndEvent)}async getAbnormalData(){var u,c,d,m,v,f;const t=await this.store.getDevData(),e=((u=t.consoleList)==null?void 0:u.filter(r=>["error","warn"].includes(r.type)&&!r.hasUpload))??[],s=((c=t.networkList)==null?void 0:c.filter(r=>{var T,E;return r.sponsor==="user"&&!((E=(T=r.status)==null?void 0:T.toString())!=null&&E.startsWith("2"))&&!r.hasUpload}))??[],i=((d=t.transferList)==null?void 0:d.filter(r=>{var T,E;return!((E=(T=r.status)==null?void 0:T.toString())!=null&&E.startsWith("2"))&&!r.hasUpload}))??[],a=((m=t.elEventList)==null?void 0:m.filter(r=>!r.hasUpload))??[],n=((v=t.uniEventList)==null?void 0:v.filter(r=>!r.hasUpload))??[],l=((f=t.screenList)==null?void 0:f.filter(r=>!r.hasUpload))??[];return{consoleList:e,networkList:s,transferList:i,elEventList:a,uniEventList:n,screenList:l,systemInfo:t.systemInfo,deviceInfo:t.deviceInfo}}async performAbnormalUpload(t){const{consoleList:e,networkList:s,transferList:i,systemInfo:a,elEventList:n,uniEventList:l,screenList:u,deviceInfo:c}=await this.getAbnormalData();e.length||s.length||i.length||n.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:i,elEventList:n,uniEventList:l,screenList:u,deviceInfo:c,systemInfo:a,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,i=5*60*1e3,a=Math.min(s*Math.pow(2,this.abnormalUploadCount),i),n=Math.max(a,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()}updateNetworkList(t,e){this.store.updateNetworkList(t,e),this.postMessage()}updateWsList(t){this.store.updateWsList(t),this.postMessage()}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()}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()}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),i="dev-tool-log";switch(uni.__dev_tool_platform__){case"app":w(s,i);break;case"web":N(s,i);break;case"mp-weixin":case"mp-alipay":case"mp-toutiao":U(s,i);break}}sendWsMessage(t,e){const s=this.store.getWsTask(t);if(s)s.send({data:e});else{const i=k(e),a=I(e),l=i==="object"||i==="array"?y(a,i):typeof e=="string"?e.slice(0,50):String(e);this.updateWsList({url:t,readyState:"closed",message:[{value:a,valueType:i,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.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.TAB_CHANGE:this.closeDevToolWindow(),this.updateRouteList(s.path);break}}acceptMessage(){this.addEventListener()}}export{H as DevEvent};
4
+ 一处编写,到处调试 😂`)},500),this.addEventListener(),this.postMessage()}destroyDevTool(){var t;this.store.getDevToolDestroy()||(this.emitToUI(i.BUTTON_VISIBLE,!1),this.store.setDevToolVisible(!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(),console.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=y(t),s=O(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.setDevToolVisible(!0))}hideDevToolButton(){this.store.getDevToolDestroy()||(this.emitToUI(i.BUTTON_VISIBLE,!1),this.store.setDevToolVisible(!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=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};