vite-uni-dev-tool 0.0.13 → 0.0.15

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 (130) hide show
  1. package/dist/core.js +1 -1
  2. package/dist/devIntercept/index.d.ts +3 -3
  3. package/dist/devIntercept/index.d.ts.map +1 -1
  4. package/dist/devIntercept/index.js +117 -114
  5. package/dist/plugins/uniDevTool/transform/transformApp.d.ts +32 -0
  6. package/dist/plugins/uniDevTool/transform/transformApp.d.ts.map +1 -0
  7. package/dist/plugins/uniDevTool/transform/transformApp.js +32 -0
  8. package/dist/plugins/uniDevTool/transform/transformMain.d.ts +26 -0
  9. package/dist/plugins/uniDevTool/transform/transformMain.d.ts.map +1 -0
  10. package/dist/plugins/uniDevTool/transform/transformMain.js +3 -0
  11. package/dist/plugins/uniDevTool/transform/transformVue.d.ts +41 -0
  12. package/dist/plugins/uniDevTool/transform/transformVue.d.ts.map +1 -0
  13. package/dist/plugins/uniDevTool/transform/transformVue.js +9 -0
  14. package/dist/plugins/uniDevTool/uniDevTool.d.ts +7 -3
  15. package/dist/plugins/uniDevTool/uniDevTool.d.ts.map +1 -1
  16. package/dist/plugins/uniDevTool/uniDevTool.js +3 -33
  17. package/dist/plugins/utils/index.d.ts +32 -0
  18. package/dist/plugins/utils/index.d.ts.map +1 -1
  19. package/dist/plugins/utils/index.js +1 -1
  20. package/dist/type.d.ts +2 -2
  21. package/dist/type.d.ts.map +1 -1
  22. package/dist/v2/AppInfo/index.vue +41 -0
  23. package/dist/v2/AutoSizer/index.vue +189 -0
  24. package/dist/v2/AutoSizer/index1.vue +193 -0
  25. package/dist/v2/AutoSizer/utils.ts +49 -0
  26. package/dist/v2/CaptureScreen/index.vue +78 -0
  27. package/dist/v2/CloseButton/index.vue +32 -0
  28. package/dist/v2/Connection/index.vue +94 -0
  29. package/dist/v2/ConsoleList/ConsoleItem.vue +235 -0
  30. package/dist/v2/ConsoleList/RunJSInput.vue +243 -0
  31. package/dist/v2/ConsoleList/index.vue +164 -0
  32. package/dist/v2/ConsoleList/staticTips.js +1144 -0
  33. package/dist/v2/DevTool/index.vue +162 -0
  34. package/dist/v2/DevToolButton/index.vue +228 -0
  35. package/dist/v2/DevToolTitle/index.vue +28 -0
  36. package/dist/v2/DevToolWindow/index.vue +1051 -0
  37. package/dist/v2/DeviceInfo/index.vue +48 -0
  38. package/dist/v2/Empty/empty.png +0 -0
  39. package/dist/v2/Empty/index.vue +40 -0
  40. package/dist/v2/FilterInput/index.vue +100 -0
  41. package/dist/v2/JsonPretty/components/Brackets/index.vue +30 -0
  42. package/dist/v2/JsonPretty/components/Carets/index.vue +65 -0
  43. package/dist/v2/JsonPretty/components/CheckController/index.vue +127 -0
  44. package/dist/v2/JsonPretty/components/TreeNode/index.vue +417 -0
  45. package/dist/v2/JsonPretty/hooks/useClipboard.ts +21 -0
  46. package/dist/v2/JsonPretty/hooks/useError.ts +21 -0
  47. package/dist/v2/JsonPretty/index.vue +531 -0
  48. package/dist/v2/JsonPretty/type.ts +125 -0
  49. package/dist/v2/JsonPretty/utils/index.js +211 -0
  50. package/dist/v2/NetworkList/NetworkDetail.vue +215 -0
  51. package/dist/v2/NetworkList/NetworkItem.vue +135 -0
  52. package/dist/v2/NetworkList/index.vue +148 -0
  53. package/dist/v2/PiniaList/index.vue +79 -0
  54. package/dist/v2/RouteList/index.vue +137 -0
  55. package/dist/v2/RunJS/index.vue +128 -0
  56. package/dist/v2/SettingList/index.vue +318 -0
  57. package/dist/v2/SourceCode/index.vue +237 -0
  58. package/dist/v2/StorageList/index.vue +165 -0
  59. package/dist/v2/SystemInfo/index.vue +49 -0
  60. package/dist/v2/Tabs/index.vue +127 -0
  61. package/dist/v2/Tag/index.vue +91 -0
  62. package/dist/v2/UniEvent/UniEventItem.vue +157 -0
  63. package/dist/v2/UniEvent/index.vue +127 -0
  64. package/dist/v2/UploadList/UploadDetail.vue +204 -0
  65. package/dist/v2/UploadList/UploadItem.vue +134 -0
  66. package/dist/v2/UploadList/index.vue +143 -0
  67. package/dist/v2/VirtualList/index.vue +140 -0
  68. package/dist/v2/VirtualListPro/AutoSize.vue +50 -0
  69. package/dist/v2/VirtualListPro/index.vue +255 -0
  70. package/dist/v2/VirtualListPro/readme.md +40 -0
  71. package/dist/v2/VuexList/index.vue +80 -0
  72. package/dist/v2/WebSocket/WebSocketItem.vue +129 -0
  73. package/dist/v2/WebSocket/WebSocketList.vue +183 -0
  74. package/dist/v2/WebSocket/index.vue +155 -0
  75. package/dist/v2/WindowInfo/index.vue +49 -0
  76. package/dist/v3/AppInfo/index.vue +35 -0
  77. package/dist/v3/AutoSizer/index.vue +193 -0
  78. package/dist/v3/AutoSizer/index1.vue +186 -0
  79. package/dist/v3/AutoSizer/utils.ts +49 -0
  80. package/dist/v3/CaptureScreen/index.vue +62 -0
  81. package/dist/v3/CloseButton/index.vue +29 -0
  82. package/dist/v3/Connection/index.vue +88 -0
  83. package/dist/v3/ConsoleList/ConsoleItem.vue +208 -0
  84. package/dist/v3/ConsoleList/RunJSInput.vue +240 -0
  85. package/dist/v3/ConsoleList/index.vue +139 -0
  86. package/dist/v3/ConsoleList/staticTips.ts +1145 -0
  87. package/dist/v3/DevTool/index.vue +217 -0
  88. package/dist/v3/DevToolButton/index.vue +210 -0
  89. package/dist/v3/DevToolTitle/index.vue +21 -0
  90. package/dist/v3/DevToolWindow/index.vue +1116 -0
  91. package/dist/v3/DeviceInfo/index.vue +32 -0
  92. package/dist/v3/Empty/empty.png +0 -0
  93. package/dist/v3/Empty/index.vue +28 -0
  94. package/dist/v3/FilterInput/index.vue +87 -0
  95. package/dist/v3/JsonPretty/components/Brackets/index.vue +23 -0
  96. package/dist/v3/JsonPretty/components/Carets/index.vue +59 -0
  97. package/dist/v3/JsonPretty/components/CheckController/index.vue +125 -0
  98. package/dist/v3/JsonPretty/components/TreeNode/index.vue +349 -0
  99. package/dist/v3/JsonPretty/hooks/useClipboard.ts +21 -0
  100. package/dist/v3/JsonPretty/hooks/useError.ts +21 -0
  101. package/dist/v3/JsonPretty/index.vue +476 -0
  102. package/dist/v3/JsonPretty/type.ts +125 -0
  103. package/dist/v3/JsonPretty/utils/index.ts +172 -0
  104. package/dist/v3/NetworkList/NetworkDetail.vue +194 -0
  105. package/dist/v3/NetworkList/NetworkItem.vue +120 -0
  106. package/dist/v3/NetworkList/index.vue +128 -0
  107. package/dist/v3/PiniaList/index.vue +64 -0
  108. package/dist/v3/RouteList/index.vue +121 -0
  109. package/dist/v3/RunJS/index.vue +128 -0
  110. package/dist/v3/SettingList/index.vue +313 -0
  111. package/dist/v3/SourceCode/index.vue +231 -0
  112. package/dist/v3/StorageList/index.vue +170 -0
  113. package/dist/v3/SystemInfo/index.vue +34 -0
  114. package/dist/v3/Tabs/index.vue +123 -0
  115. package/dist/v3/Tag/index.vue +89 -0
  116. package/dist/v3/UniEvent/UniEventItem.vue +126 -0
  117. package/dist/v3/UniEvent/index.vue +98 -0
  118. package/dist/v3/UploadList/UploadDetail.vue +192 -0
  119. package/dist/v3/UploadList/UploadItem.vue +117 -0
  120. package/dist/v3/UploadList/index.vue +117 -0
  121. package/dist/v3/VirtualList/index.vue +112 -0
  122. package/dist/v3/VirtualListPro/AutoSize.vue +43 -0
  123. package/dist/v3/VirtualListPro/index.vue +238 -0
  124. package/dist/v3/VirtualListPro/readme.md +40 -0
  125. package/dist/v3/VuexList/index.vue +54 -0
  126. package/dist/v3/WebSocket/WebSocketItem.vue +103 -0
  127. package/dist/v3/WebSocket/WebSocketList.vue +161 -0
  128. package/dist/v3/WebSocket/index.vue +124 -0
  129. package/dist/v3/WindowInfo/index.vue +33 -0
  130. package/package.json +1 -1
@@ -0,0 +1,26 @@
1
+ interface TransformMainOptions {
2
+ code: string;
3
+ vueVersion: number;
4
+ }
5
+ /**
6
+ * 转换 main.ts|js 文件
7
+ * 注入全局组件
8
+ *
9
+ * @param {{
10
+ * code: string;
11
+ * vueVersion: number;
12
+ * }} {
13
+ * code,
14
+ * vueVersion,
15
+ * }
16
+ * @return {*} {{
17
+ * code: string;
18
+ * map: any;
19
+ * }}
20
+ */
21
+ export declare const transformMain: ({ code, vueVersion, }: TransformMainOptions) => {
22
+ code: string;
23
+ map: any;
24
+ };
25
+ export {};
26
+ //# sourceMappingURL=transformMain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformMain.d.ts","sourceRoot":"","sources":["../../../../../plugins/src/plugins/uniDevTool/transform/transformMain.ts"],"names":[],"mappings":"AAEA,UAAU,oBAAoB;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AA0FD;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,aAAa,0BAGvB,oBAAoB;UACf,MAAM;SACP,GAAG;CAgCT,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("../../utils/index.js");function l(t){if(![2,3].includes(t))throw new Error("vite-uni-dev-tool: vueVersion 只支持 2 或 3")}function p(t){const{lines:r}=t,e=[...r],i=s.findInsertionIndex(e,n=>n.trim().startsWith("import")||n.trim().startsWith("export"));i!==-1&&e.splice(i,0,"import DevTool from 'vite-uni-dev-tool/dist/v3/DevTool/index.vue';");const o=s.findInsertionIndex(e,n=>n.includes("const app = createSSRApp(App)"));return o!==-1&&e.splice(o+1,0," app.component('DevTool', DevTool);"),e}function d(t){const{lines:r}=t,e=[...r],i=s.findInsertionIndex(e,n=>n.trim().startsWith("import")||n.trim().startsWith("export"));i!==-1&&e.splice(i,0,"import DevTool from 'vite-uni-dev-tool/dist/v2/DevTool/index.vue';");const o=s.findInsertionIndex(e,n=>n.includes("new Vue("));return o!==-1&&e.splice(o,0,"Vue.component('DevTool', DevTool);"),e}const u=({code:t,vueVersion:r})=>{try{l(r);const e=t.split(`
2
+ `),i={lines:e,vueVersion:r},o=r===2?d(i):p(i);return o.length===e.length&&o.every((n,c)=>n===e[c])?{code:t,map:null}:{code:o.join(`
3
+ `),map:null}}catch(e){return console.error("[DevTool] 转换 main 文件时出错:",e),{code:t,map:null}}};exports.transformMain=u;
@@ -0,0 +1,41 @@
1
+ interface TransformVueOptions {
2
+ id: string;
3
+ code: string;
4
+ pages: {
5
+ pages: {
6
+ path: string;
7
+ }[];
8
+ subPackages?: {
9
+ root: string;
10
+ pages: {
11
+ path: string;
12
+ }[];
13
+ }[];
14
+ };
15
+ scriptRow: string;
16
+ importConsole?: boolean;
17
+ excludeImportConsole: string[];
18
+ excludeImportDevTool: string[];
19
+ }
20
+ /**
21
+ *
22
+ * vue 文件中注入 console 功能
23
+ * vue 文件中注入 DevTool 组件
24
+ *
25
+ * @param {TransformVueOptions} {
26
+ * id,
27
+ * code,
28
+ * pages,
29
+ * scriptRow,
30
+ * importConsole,
31
+ * excludeImportConsole,
32
+ * excludeImportDevTool,
33
+ * }
34
+ * @return {*} {{ code: string; map: any }}
35
+ */
36
+ export declare const transformVue: ({ id, code, pages, scriptRow, importConsole, excludeImportConsole, excludeImportDevTool, }: TransformVueOptions) => {
37
+ code: string;
38
+ map: any;
39
+ };
40
+ export {};
41
+ //# sourceMappingURL=transformVue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformVue.d.ts","sourceRoot":"","sources":["../../../../../plugins/src/plugins/uniDevTool/transform/transformVue.ts"],"names":[],"mappings":"AAQA,UAAU,mBAAmB;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE;QACL,KAAK,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;QAC1B,WAAW,CAAC,EAAE;YACZ,IAAI,EAAE,MAAM,CAAC;YACb,KAAK,EAAE;gBAAE,IAAI,EAAE,MAAM,CAAA;aAAE,EAAE,CAAC;SAC3B,EAAE,CAAC;KACL,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,oBAAoB,EAAE,MAAM,EAAE,CAAC;CAChC;AA+HD;;;;;;;;;;;;;;;GAeG;AAEH,eAAO,MAAM,YAAY,+FAQtB,mBAAmB;UAAW,MAAM;SAAO,GAAG;CAmDhD,CAAC"}
@@ -0,0 +1,9 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("../../utils/index.js");function m(e,o){var s;const t=o.pages.some(r=>e.includes(r.path)),n=((s=o.subPackages)==null?void 0:s.some(r=>r.pages.some(l=>e.includes(`${r.root}/${l.path}`))))??!1;return{isPage:t,isSubPage:n}}function p(e,o,t,n){return{shouldInjectConsole:!!n,hasExistingConsoleImport:i.hasImportConsole(e),usesConsole:i.hasUseConsole(e),isExcludedFromConsole:!i.hasDirOrFile(o,t)}}function h(e,o,t,n){const{isPage:s,isSubPage:r}=m(e,t);return{isPageOrSubPage:s||r,hasTemplate:o.includes("<template>"),isExcludedFromDevTool:!i.hasDirOrFile(e,n)}}function C(e,o,t){const n=e.match(i.regScript);if(!n||!n[1])return e;const s=n[1],l=`
2
+ ${t?"import { console } from 'vite-uni-dev-tool/dist/core';":""}
3
+ ${s}
4
+ `.trim();return e.replace(i.regScript,`${o}
5
+ ${l}
6
+ <\/script>`)}function f(e){const o=i.getTemplateContent(e);if(!o)return e;const t=`<view>
7
+ ${o}
8
+ <DevTool />
9
+ </view>`;return e.replace(o,t)}const g=({id:e,code:o,pages:t,scriptRow:n,importConsole:s,excludeImportConsole:r,excludeImportDevTool:l})=>{try{let c=o;const u=p(o,e,r,s);u.shouldInjectConsole&&!u.hasExistingConsoleImport&&u.usesConsole&&u.isExcludedFromConsole&&(c=C(c,n,s));const a=h(e,o,t,l);return a.isPageOrSubPage&&a.hasTemplate&&a.isExcludedFromDevTool&&(c=f(c)),{code:c,map:null}}catch(c){return console.error("[DevTool] 转换 Vue 文件时出错:",c),{code:o,map:null}}};exports.transformVue=g;
@@ -3,7 +3,7 @@ import { Plugin } from 'vite';
3
3
  /**
4
4
  * vite-uni-dev-tool 插件
5
5
  *
6
- * 自动在 main.ts 中注入调试插件,并在每个页面的模板中注入 DevTool 组件。
6
+ * 自动在 main.ts|js 中注入调试插件,并在每个页面的模板中注入 DevTool 组件。
7
7
  *
8
8
  * 如果组件不是用 template 定义的,则不会被该插件添加。
9
9
  *
@@ -20,7 +20,7 @@ import { Plugin } from 'vite';
20
20
  * }
21
21
  * @return {*} {Plugin}
22
22
  */
23
- export default function uniDevTool({ pages, sourceFileServers, importConsole, vueVersion, ...reset }: {
23
+ export default function uniDevTool({ pages, sourceFileServers, importConsole, vueVersion, excludeImportConsole, excludeImportDevTool, ...reset }: {
24
24
  /** 是否拦截Promise.reject 最好不要拦截 默认禁用 */
25
25
  enableInterceptPromiseReject?: boolean;
26
26
  /** 打开窗口时隐藏按钮 */
@@ -63,7 +63,7 @@ export default function uniDevTool({ pages, sourceFileServers, importConsole, vu
63
63
  * 开发环境 source file 服务器地址,默认 [] ,配合 useDevSource 使用
64
64
  */
65
65
  sourceFileServers?: string[];
66
- /** 是否导入 console 默认不导入, 只会捕获error 和 warn , */
66
+ /** 是否导入 console 默认不导入, 只会捕获 error 和 warn , */
67
67
  importConsole?: boolean;
68
68
  /**
69
69
  * 该属性处于实验当中,目前只支持 vue3
@@ -83,5 +83,9 @@ export default function uniDevTool({ pages, sourceFileServers, importConsole, vu
83
83
  }[];
84
84
  }[];
85
85
  };
86
+ /** 排除导入 console 的目录 */
87
+ excludeImportConsole?: string[];
88
+ /** 排除导入 DevTool 的目录 */
89
+ excludeImportDevTool?: string[];
86
90
  }): Plugin;
87
91
  //# sourceMappingURL=uniDevTool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"uniDevTool.d.ts","sourceRoot":"","sources":["../../../../plugins/src/plugins/uniDevTool/uniDevTool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAwBnC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,KAAK,EACL,iBAAiB,EACjB,aAAa,EACb,UAAc,EACd,GAAG,KAAK,EACT,EAAE;IACD,qCAAqC;IACrC,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,gBAAgB;IAChB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,mBAAmB;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qBAAqB;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe;IACf,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe;IACf,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,WAAW;IACX,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW;IACX,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa;IACb,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa;IACb,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,wBAAwB;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,oBAAoB;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,6CAA6C;IAC7C,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB;IAClB,KAAK,EAAE;QACL,KAAK,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;QAC1B,WAAW,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE;gBAAE,IAAI,EAAE,MAAM,CAAA;aAAE,EAAE,CAAA;SAAE,EAAE,CAAC;KAC7D,CAAC;CACH,GAAG,MAAM,CA6OT"}
1
+ {"version":3,"file":"uniDevTool.d.ts","sourceRoot":"","sources":["../../../../plugins/src/plugins/uniDevTool/uniDevTool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAsBnC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,KAAK,EACL,iBAAiB,EACjB,aAAa,EACb,UAAc,EACd,oBAAqE,EACrE,oBAAsD,EACtD,GAAG,KAAK,EACT,EAAE;IACD,qCAAqC;IACrC,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,gBAAgB;IAChB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,mBAAmB;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qBAAqB;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe;IACf,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe;IACf,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,WAAW;IACX,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW;IACX,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa;IACb,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa;IACb,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,wBAAwB;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,oBAAoB;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,8CAA8C;IAC9C,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB;IAClB,KAAK,EAAE;QACL,KAAK,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;QAC1B,WAAW,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE;gBAAE,IAAI,EAAE,MAAM,CAAA;aAAE,EAAE,CAAA;SAAE,EAAE,CAAC;KAC7D,CAAC;IACF,wBAAwB;IACxB,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,wBAAwB;IACxB,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;CACjC,GAAG,MAAM,CA0GT"}
@@ -1,35 +1,5 @@
1
- "use strict";const C=require("path"),T=require("fs"),o=require("../utils/index.js");function I(l){const v=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(l){for(const u in l)if(u!=="default"){const d=Object.getOwnPropertyDescriptor(l,u);Object.defineProperty(v,u,d.get?d:{enumerable:!0,get:()=>l[u]})}}return v.default=l,Object.freeze(v)}const y=I(C),w=I(T),_=/<script[^>]*>([\s\S]*?)<\/script>/,S={isReady:!1,urls:[]};function D({pages:l,sourceFileServers:v,importConsole:u,vueVersion:d=3,...$}){return{name:"vite-uni-dev-tool",enforce:"pre",configureServer(t){var a;t.middlewares.use((i,n,e)=>{const{originalUrl:r}=i;if($.useDevSource&&(r!=null&&r.includes("__dev_sourcefile__"))){const c=r.replace("/__dev_sourcefile__","");try{const p=t.config.root,f=y.join(p,c),s=w.readFileSync(f,"utf-8");n.setHeader("Content-Type",o.getContentType(f)),n.end(s)}catch{e()}}else e()}),(a=t.httpServer)==null||a.once("listening",()=>{var e;const i=(e=t.httpServer)==null?void 0:e.address(),n=o.getLocalIPs();if(i&&!Array.isArray(i)&&typeof i!="string"){const r=n.map(c=>`http://${c}:${i.port}/__dev_sourcefile__`);S.isReady=!0,S.urls=r,console.warn(`
1
+ "use strict";const y=require("path"),j=require("fs"),o=require("../utils/index.js"),b=require("./transform/transformMain.js"),q=require("./transform/transformApp.js"),w=require("./transform/transformVue.js");function d(i){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(i){for(const u in i)if(u!=="default"){const p=Object.getOwnPropertyDescriptor(i,u);Object.defineProperty(a,u,p.get?p:{enumerable:!0,get:()=>i[u]})}}return a.default=i,Object.freeze(a)}const A=d(y),T=d(j),f={isReady:!1,urls:[]};function L({pages:i,sourceFileServers:a,importConsole:u,vueVersion:p=3,excludeImportConsole:S=["uni_modules","node_modules","src/App.vue"],excludeImportDevTool:v=["uni_modules","node_modules"],..._}){return{name:"vite-uni-dev-tool",enforce:"pre",configureServer(t){var c;t.middlewares.use((n,s,r)=>{const{originalUrl:e}=n;if(_.useDevSource&&(e!=null&&e.includes("__dev_sourcefile__"))){const l=e.replace("/__dev_sourcefile__","");try{const m=t.config.root,g=A.join(m,l),h=T.readFileSync(g,"utf-8");s.setHeader("Content-Type",o.getContentType(g)),s.end(h)}catch{r()}}else r()}),(c=t.httpServer)==null||c.once("listening",()=>{var r;const n=(r=t.httpServer)==null?void 0:r.address(),s=o.getLocalIPs();if(n&&!Array.isArray(n)&&typeof n!="string"){const e=s.map(l=>`http://${l}:${n.port}/__dev_sourcefile__`);f.isReady=!0,f.urls=e,console.warn(`
2
2
  ⚡️ vite-uni-dev-tool source file server running at:
3
- ${n.map(c=>`➜ Source File Network: http://${c}:${i==null?void 0:i.port}/__dev_sourcefile__`).join(`
3
+ ${s.map(l=>`➜ Source File Network: http://${l}:${n==null?void 0:n.port}/__dev_sourcefile__`).join(`
4
4
  `)}
5
- `)}})},transform(t,a){var i;if(a.endsWith("/src/main.ts")||a.endsWith("/src/main.js"))try{if(![2,3].includes(d))throw new Error("vite-uni-dev-tool: vueVersion 只支持 2 , 3");const n=t.split(`
6
- `);let e=[...n];const r=o.findInsertionIndex(e,p=>p.trim().startsWith("import")||p.trim().startsWith("export"));r!==-1&&e.splice(r,0,`import DevTool from 'vite-uni-dev-tool/dist/v${d}/DevTool/index.vue';`);const c=o.findInsertionIndex(e,p=>p.includes(".mount(")||p.includes("createApp("));if(c!==-1&&e.splice(c+1,0," app.component('DevTool', DevTool);"),e.length!==n.length)return{code:e.join(`
7
- `),map:null}}catch(n){return console.error("[DevTool] 转换 main 文件时出错:",n),{code:t,map:null}}if(a.endsWith("/src/App.vue")){const n=t.match(_);if(n&&n[1]){const e=n[1].trim(),r=o.hasImportCurrentInstance(e),c=o.hasImportOnLaunch(e),p=r?"":"import { getCurrentInstance } from 'vue'",f=c?"":"import { onLaunch } from '@dcloudio/uni-app'",s=`
8
- import { initDevTool${u?", console":""} } from 'vite-uni-dev-tool/dist/core';
9
- import pagesJson from './pages.json';
10
- ${e}
11
- onLaunch(() => {
12
- const vue3instance = getCurrentInstance();
13
- initDevTool({
14
- pagesJson,
15
- vue3instance,
16
- mode: import.meta.env.MODE,
17
- sourceFileServers: [
18
- ${[...S.urls??[],...v??[]].map(g=>`'${g}'`)}
19
- ],
20
- ...${JSON.stringify($)},
21
- });
22
- });`;return{code:t.replace(_,`
23
- <script lang="ts" setup>
24
- ${p}
25
- ${f}
26
- ${s}
27
- <\/script>`),map:null}}return{code:t,map:null}}if(a.endsWith(".vue")){const n=t.includes("<template>"),e=l.pages.some(s=>a.includes(s.path)),r=(i=l.subPackages)==null?void 0:i.some(s=>s.pages.some(m=>a.includes(`${s.root}/${m.path}`))),c=["<DevTool />"],p=o.hasImportConsole(t),f=o.hasUseConsole(t);if(!p&&f&&!a.endsWith("/src/App.vue")){const s=t.match(_);if(s&&s[1]){const m=s[1],g=`
28
- ${u?"import { console } from 'vite-uni-dev-tool/dist/core';":""}
29
- ${m}
30
- `;let h="<script>";o.hasLangTS(t)||o.hasSetup(t)?h='<script lang="ts" setup>':o.hasLangJS(t)||o.hasSetup(t)?h='<script lang="js" setup>':o.hasLangJS(t)?h='<script lang="js">':o.hasLangTS(t)?h='<script lang="ts">':o.hasSetup(t)&&(h="<script setup>"),t=t.replace(_,`
31
- ${h}
32
- ${g}
33
- <\/script>`)}}if((e||r)&&n){const s=o.getTemplateContent(t);let m=t;if(s){const g=`<view>${s}
34
- ${c.join(`
35
- `)}</view>`;m=t.replace(s,g)}return{code:m,map:null}}}return{code:t,map:null}}}}module.exports=D;
5
+ `)}})},transform(t,c){const n=o.hasLangTS(t),s=o.hasLangJS(t),r=o.hasSetup(t);let e="<script>";return n&&r?e='<script lang="ts" setup>':s&&r?e='<script lang="js" setup>':s?e='<script lang="js">':n?e='<script lang="ts">':r&&(e="<script setup>"),o.isMainFile(c)?b.transformMain({code:t,vueVersion:p}):o.isAppVue(c)?q.transformApp({code:t,isSetup:r,importConsole:u,scriptRow:e,netWorkInfo:f,sourceFileServers:a,reset:_}):o.isVueFile(c)?w.transformVue({id:c,code:t,pages:i,scriptRow:e,importConsole:u,excludeImportConsole:S,excludeImportDevTool:v}):{code:t,map:null}}}}module.exports=L;
@@ -1,6 +1,8 @@
1
+ export declare const regScript: RegExp;
1
2
  export declare function findInsertionIndex(lines: string[], condition: (p: string) => boolean): number;
2
3
  export declare function getContentType(filePath: string): string;
3
4
  export declare function getLocalIPs(): string[];
5
+ export declare function hasImportVue(str: string): boolean;
4
6
  export declare function hasImportOnLaunch(str: string): boolean;
5
7
  export declare function hasImportCurrentInstance(str: string): boolean;
6
8
  export declare function hasImportConsole(str: string): boolean;
@@ -61,4 +63,34 @@ export declare function parseQueryString(queryString: string): any;
61
63
  * @return {*}
62
64
  */
63
65
  export declare function getTemplateContent(code: string): string;
66
+ /**
67
+ * 检查路径中是否包含指定的目录或文件名
68
+ *
69
+ * @export
70
+ * @param {string} path 路径
71
+ * @param {string[]} dirs 待检查的目录或文件名
72
+ * @return {*}
73
+ */
74
+ export declare function hasDirOrFile(path: string, dirs: string[]): boolean;
75
+ /**
76
+ * 判断是否是 App.vue 文件
77
+ *
78
+ * @param {string} id
79
+ * @return {*}
80
+ */
81
+ export declare const isAppVue: (id: string) => boolean;
82
+ /**
83
+ * 判断是否是 main.ts|js 文件
84
+ *
85
+ * @param {string} id
86
+ * @return {*}
87
+ */
88
+ export declare const isMainFile: (id: string) => boolean;
89
+ /**
90
+ * 判断是否是 .vue 文件
91
+ *
92
+ * @param {string} id
93
+ * @return {*}
94
+ */
95
+ export declare const isVueFile: (id: string) => boolean;
64
96
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../plugins/src/plugins/utils/index.ts"],"names":[],"mappings":"AAGA,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,EAAE,EACf,SAAS,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,GAChC,MAAM,CAOR;AAGD,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,UAe9C;AAGD,wBAAgB,WAAW,aAiB1B;AAKD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEtD;AAKD,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAE7D;AAID,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAErD;AAGD,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAElD;AAID,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,WAarC;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,WAWrC;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,WAYpC;AAID;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM;;;;;EAQvC;AAGD;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,UAGtC;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,UAGvC;AAID;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,UAG5C;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,OA4BnD;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,UAqD9C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../plugins/src/plugins/utils/index.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,SAAS,QAAsC,CAAC;AAE7D,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,EAAE,EACf,SAAS,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,GAChC,MAAM,CAOR;AAGD,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,UAe9C;AAGD,wBAAgB,WAAW,aAiB1B;AAKD,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEjD;AAKD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEtD;AAKD,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAE7D;AAID,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAErD;AAGD,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAElD;AAID,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,WAarC;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,WAWrC;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,WAYpC;AAID;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM;;;;;EAQvC;AAGD;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,UAGtC;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,UAGvC;AAID;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,UAG5C;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,OA4BnD;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,UAqD9C;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAkCxD;AAED;;;;;GAKG;AAEH,eAAO,MAAM,QAAQ,OAAQ,MAAM,YAElC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,UAAU,OAAQ,MAAM,YAEpC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,SAAS,OAAQ,MAAM,YAEnC,CAAC"}
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("path"),h=require("os");function u(t){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const n in t)if(n!=="default"){const s=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,s.get?s:{enumerable:!0,get:()=>t[n]})}}return e.default=t,Object.freeze(e)}const m=u(f),d=u(h);function x(t,e){for(let n=0;n<t.length;n++)if(e(t[n]))return n+1;return-1}function I(t){const e=m.extname(t).toLowerCase();return{".html":"text/html",".js":"text/javascript",".css":"text/css",".json":"application/json",".png":"image/png",".jpg":"image/jpeg",".gif":"image/gif",".svg":"image/svg+xml",".woff":"font/woff",".woff2":"font/woff2"}[e]||"text/plain"}function y(){const t=d.networkInterfaces(),e=[];return Object.keys(t).forEach(n=>{var s;t!=null&&t[n]&&Array.isArray(t==null?void 0:t[n])&&((s=t==null?void 0:t[n])==null||s.forEach(r=>{r.family==="IPv4"&&!r.internal&&e.push(r.address)}))}),e.push("localhost"),e}const S=/import\s*\{[^}]*onLaunch[^}]*\}\s*from\s+['"]@dcloudio\/uni-app['"];?/;function T(t){return S.test(t)}const L=/import\s*\{[^}]*getCurrentInstance[^}]*\}\s*from\s+['"]vue['"];?/;function j(t){return L.test(t)}const C=/import\s*\{[^}]*console[^}]*\}\s*from\s+['"]vite-uni-dev-tool['"];?/;function b(t){return C.test(t)}const w=/console\.\w+\(/;function v(t){return w.test(t)}const i=/<script[^>]*>/;function O(t){const e=t.match(i);if(!e)return!1;const n=e[0];return/lang=['"]ts['"]/.test(n)}function P(t){const e=t.match(i);if(!e)return!1;const n=e[0];return/lang=['"]js['"]/.test(n)}function R(t){const e=t.match(i);if(!e)return!1;const n=e[0];return/\ssetup(?=\s|>)/.test(n)}function M(t){let e=0,n=-1,s=-1,r="";const l=/<template(\s[^>]*)?>/g,p=/<\/template>/g,c=[];let a;for(;(a=l.exec(t))!==null;)c.push({index:a.index,type:"start",length:a[0].length});for(;(a=p.exec(t))!==null;)c.push({index:a.index,type:"end",length:a[0].length});c.sort((o,g)=>o.index-g.index);for(const o of c)if(o.type==="start")e===0&&(n=o.index+o.length),e++;else if(o.type==="end"&&(e--,e===0)){s=o.index,r=t.substring(n,s);break}return r.trim()}exports.findInsertionIndex=x;exports.getContentType=I;exports.getLocalIPs=y;exports.getTemplateContent=M;exports.hasImportConsole=b;exports.hasImportCurrentInstance=j;exports.hasImportOnLaunch=T;exports.hasLangJS=P;exports.hasLangTS=O;exports.hasSetup=R;exports.hasUseConsole=v;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("path"),f=require("os");function p(t){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const n in t)if(n!=="default"){const s=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,s.get?s:{enumerable:!0,get:()=>t[n]})}}return e.default=t,Object.freeze(e)}const m=p(h),d=p(f),S=/<script[^>]*>([\s\S]*?)<\/script>/;function x(t,e){for(let n=0;n<t.length;n++)if(e(t[n]))return n+1;return-1}function I(t){const e=m.extname(t).toLowerCase();return{".html":"text/html",".js":"text/javascript",".css":"text/css",".json":"application/json",".png":"image/png",".jpg":"image/jpeg",".gif":"image/gif",".svg":"image/svg+xml",".woff":"font/woff",".woff2":"font/woff2"}[e]||"text/plain"}function y(){const t=d.networkInterfaces(),e=[];return Object.keys(t).forEach(n=>{var s;t!=null&&t[n]&&Array.isArray(t==null?void 0:t[n])&&((s=t==null?void 0:t[n])==null||s.forEach(o=>{o.family==="IPv4"&&!o.internal&&e.push(o.address)}))}),e.push("localhost"),e}const T=/import\s*\{[^}]*Vue[^}]*\}\s*from\s+['"]@dcloudio\/uni-app['"];?/;function L(t){return T.test(t)}const j=/import\s*\{[^}]*onLaunch[^}]*\}\s*from\s+['"]@dcloudio\/uni-app['"];?/;function C(t){return j.test(t)}const v=/import\s*\{[^}]*getCurrentInstance[^}]*\}\s*from\s+['"]vue['"];?/;function b(t){return v.test(t)}const O=/import\s*\{[^}]*console[^}]*\}\s*from\s+['"]vite-uni-dev-tool['"];?/;function w(t){return O.test(t)}const M=/console\.\w+\(/;function P(t){return M.test(t)}const l=/<script[^>]*>/;function R(t){const e=t.match(l);if(!e)return!1;const n=e[0];return/lang=['"]ts['"]/.test(n)}function V(t){const e=t.match(l);if(!e)return!1;const n=e[0];return/lang=['"]js['"]/.test(n)}function D(t){const e=t.match(l);if(!e)return!1;const n=e[0];return/\ssetup(?=\s|>)/.test(n)}function F(t){let e=0,n=-1,s=-1,o="";const a=/<template(\s[^>]*)?>/g,c=/<\/template>/g,r=[];let u;for(;(u=a.exec(t))!==null;)r.push({index:u.index,type:"start",length:u[0].length});for(;(u=c.exec(t))!==null;)r.push({index:u.index,type:"end",length:u[0].length});r.sort((i,g)=>i.index-g.index);for(const i of r)if(i.type==="start")e===0&&(n=i.index+i.length),e++;else if(i.type==="end"&&(e--,e===0)){s=i.index,o=t.substring(n,s);break}return o.trim()}function A(t,e){const n=t.replace(/\\/g,"/");return n.split("/").filter(a=>a.length>0).some(a=>e.some(c=>{const r=c.replace(/\\/g,"/");return r.includes("/")?n.endsWith(r):r===a}))?!0:e.some(a=>{const c=a.replace(/\\/g,"/");return c.includes("/")?n.includes(c):!1})}const _=t=>t.endsWith("/src/App.vue"),k=t=>t.includes("/src/main.ts")||t.includes("/src/main.js"),z=t=>t.endsWith(".vue");exports.findInsertionIndex=x;exports.getContentType=I;exports.getLocalIPs=y;exports.getTemplateContent=F;exports.hasDirOrFile=A;exports.hasImportConsole=w;exports.hasImportCurrentInstance=b;exports.hasImportOnLaunch=C;exports.hasImportVue=L;exports.hasLangJS=V;exports.hasLangTS=R;exports.hasSetup=D;exports.hasUseConsole=P;exports.isAppVue=_;exports.isMainFile=k;exports.isVueFile=z;exports.regScript=S;
package/dist/type.d.ts CHANGED
@@ -73,8 +73,8 @@ export declare namespace DevTool {
73
73
  sourceFileServers?: string[];
74
74
  /** 用于区分生产环境和开发环境,开发环境下,为了获取 Android 异常栈源码会获取本地源码进行展示 */
75
75
  mode: string;
76
- /** 用于捕获 vue3 抛出的错误和警告 */
77
- vue3instance?: any;
76
+ /** 用于捕获 vue 抛出的错误和警告 */
77
+ vueInstance?: any;
78
78
  /**
79
79
  * 该属性处于实验当中,谨慎使用
80
80
  * 读取开发环境 source file,source map,默认 禁用
@@ -1 +1 @@
1
- {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../dev/type.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../dev/type.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ <template>
2
+ <view class="app-info-content">
3
+ <JsonPretty v-if="showJson" :data="appInfo" />
4
+ <Empty v-else />
5
+ </view>
6
+ </template>
7
+ <script>
8
+ import JsonPretty from '../JsonPretty/index.vue';
9
+ import Empty from '../Empty/index.vue';
10
+ export default {
11
+ components: { JsonPretty, Empty },
12
+ props: {
13
+ appInfo: {
14
+ type: Object,
15
+ default: () => ({}),
16
+ },
17
+ },
18
+ computed: {
19
+ showJson: () => {
20
+ try {
21
+ const str = JSON.stringify(props.appInfo);
22
+ if (typeof props.appInfo === 'object' && (str === '' || str === '{}')) {
23
+ return false;
24
+ }
25
+ return true;
26
+ } catch (error) {
27
+ return false;
28
+ }
29
+ },
30
+ },
31
+ };
32
+ </script>
33
+ <style scoped>
34
+ .app-info-content {
35
+ padding: 16px;
36
+ font-size: var(--dev-tool-base-font-size);
37
+
38
+ height: calc(100% - 32px);
39
+ overflow: auto;
40
+ }
41
+ </style>
@@ -0,0 +1,189 @@
1
+ <template>
2
+ <view class="auto-sizer">
3
+ <!-- 大小和slot 内容宽度一致 -->
4
+ <view class="listener-slot">
5
+ <slot></slot>
6
+ </view>
7
+
8
+ <!-- 变大监听固定在 listener-slot 右下角大1px位置 变大时 相交触发监听 -->
9
+ <view
10
+ class="anchor-height-add"
11
+ :style="{
12
+ top: listenerSlot.height + 1 + 'px',
13
+ }"
14
+ >
15
+ </view>
16
+
17
+ <!-- 变小监听固定在 listener-slot 右下角小1px位置 减小时 离开触发监听 -->
18
+ <view
19
+ class="anchor-height-sub"
20
+ :style="{
21
+ top: listenerSlot.height - 1 + 'px',
22
+ }"
23
+ >
24
+ </view>
25
+
26
+ <!-- 变大监听固定在 listener-slot 右下角大1px位置 变大时 相交触发监听 -->
27
+ <view
28
+ class="anchor-width-add"
29
+ :style="{
30
+ left: listenerSlot.width + 1 + 'px',
31
+ top: '0px',
32
+ }"
33
+ >
34
+ </view>
35
+
36
+ <!-- 变小监听固定在 listener-slot 右下角小1px位置 减小时 离开触发监听 -->
37
+ <view
38
+ class="anchor-width-sub"
39
+ :style="{
40
+ left: listenerSlot.width - 1 + 'px',
41
+ top: '0px',
42
+ }"
43
+ >
44
+ </view>
45
+ </view>
46
+ </template>
47
+
48
+ <script>
49
+ import { debounce } from '../../utils';
50
+
51
+ export default {
52
+ inject: ['onSizeChange', 'itemsHeight'],
53
+ props: {
54
+ index: {
55
+ type: Number,
56
+ required: true,
57
+ },
58
+ immediate: {
59
+ type: Boolean,
60
+ default: false,
61
+ },
62
+ },
63
+
64
+ data() {
65
+ return {
66
+ isMounted: false,
67
+ listenerSlot: {
68
+ width: 0,
69
+ height: 0,
70
+ },
71
+ size: {
72
+ width: 0,
73
+ height: 0,
74
+ top: 0,
75
+ left: 0,
76
+ right: 0,
77
+ bottom: 0,
78
+ },
79
+ observer: null,
80
+ };
81
+ },
82
+
83
+ created() {
84
+ this.debounceReact = debounce(
85
+ (rect) => {
86
+ if (Array.isArray(rect)) return;
87
+
88
+ // 获取屏幕尺寸
89
+ const { windowWidth, windowHeight } = uni.getSystemInfoSync();
90
+
91
+ // 在尺寸更新时限制最大值
92
+ this.listenerSlot.height = Math.min(rect.height ?? 0, windowHeight);
93
+ this.listenerSlot.width = Math.min(rect.width ?? 0, windowWidth);
94
+
95
+ this?.onSizeChange?.(this.index, rect.height ?? 0);
96
+
97
+ this.size.width = rect.width ?? 0;
98
+ this.size.height = rect.height ?? 0;
99
+ this.size.top = rect.top ?? 0;
100
+ this.size.left = rect.left ?? 0;
101
+ this.size.right = rect.right ?? 0;
102
+ this.size.bottom = rect.bottom ?? 0;
103
+
104
+ if (this.immediate && !this.isMounted) {
105
+ this.$emit('resize', this.size);
106
+ }
107
+
108
+ if (this.isMounted) {
109
+ this.$emit('resize', this.size);
110
+ }
111
+
112
+ this.isMounted = true;
113
+ },
114
+ 100,
115
+ true,
116
+ );
117
+
118
+ this.debounceGetSize = debounce(this.getSize, 100, true);
119
+ },
120
+
121
+ mounted() {
122
+ // 防止重复获取
123
+ // TODO
124
+ // if (this.itemsHeight && this.itemsHeight?.[this.index]) return;
125
+
126
+ // 初始大小
127
+ this.debounceGetSize();
128
+
129
+ // TODO 只有可视范围之内才获取大小
130
+ this.observer = uni.createIntersectionObserver(this, {
131
+ thresholds: [0, 1],
132
+ });
133
+ // 变大监听
134
+ this.observer
135
+ .relativeTo('.auto-sizer')
136
+ .observe('.anchor-height-add', this.debounceGetSize);
137
+ // 变小监听
138
+ this.observer
139
+ .relativeTo('.auto-sizer')
140
+ .observe('.anchor-height-sub', this.debounceGetSize);
141
+
142
+ // 变大监听
143
+ this.observer
144
+ .relativeTo('.auto-sizer')
145
+ .observe('.anchor-width-add', this.debounceGetSize);
146
+ // 变小监听
147
+ this.observer
148
+ .relativeTo('.auto-sizer')
149
+ .observe('.anchor-width-sub', this.debounceGetSize);
150
+ },
151
+
152
+ beforeDestroy() {
153
+ // 销毁监听
154
+ this.observer.disconnect();
155
+ },
156
+
157
+ methods: {
158
+ getSize() {
159
+ uni
160
+ .createSelectorQuery()
161
+ .in(this)
162
+ .select('.listener-slot')
163
+ .boundingClientRect(this.debounceReact)
164
+ .exec();
165
+ },
166
+ },
167
+ };
168
+ </script>
169
+
170
+ <style scoped>
171
+ .auto-sizer {
172
+ position: relative;
173
+ overflow: hidden;
174
+ width: min-content;
175
+ height: min-content;
176
+ }
177
+
178
+ .anchor-height-add,
179
+ .anchor-height-sub,
180
+ .anchor-width-add,
181
+ .anchor-width-sub {
182
+ position: absolute;
183
+ width: 1px;
184
+ height: 1px;
185
+
186
+ background-color: skyblue;
187
+ visibility: hidden;
188
+ }
189
+ </style>