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.
- package/dist/core.js +1 -1
- package/dist/devIntercept/index.d.ts +3 -3
- package/dist/devIntercept/index.d.ts.map +1 -1
- package/dist/devIntercept/index.js +117 -114
- package/dist/plugins/uniDevTool/transform/transformApp.d.ts +32 -0
- package/dist/plugins/uniDevTool/transform/transformApp.d.ts.map +1 -0
- package/dist/plugins/uniDevTool/transform/transformApp.js +32 -0
- package/dist/plugins/uniDevTool/transform/transformMain.d.ts +26 -0
- package/dist/plugins/uniDevTool/transform/transformMain.d.ts.map +1 -0
- package/dist/plugins/uniDevTool/transform/transformMain.js +3 -0
- package/dist/plugins/uniDevTool/transform/transformVue.d.ts +41 -0
- package/dist/plugins/uniDevTool/transform/transformVue.d.ts.map +1 -0
- package/dist/plugins/uniDevTool/transform/transformVue.js +9 -0
- package/dist/plugins/uniDevTool/uniDevTool.d.ts +7 -3
- package/dist/plugins/uniDevTool/uniDevTool.d.ts.map +1 -1
- package/dist/plugins/uniDevTool/uniDevTool.js +3 -33
- package/dist/plugins/utils/index.d.ts +32 -0
- package/dist/plugins/utils/index.d.ts.map +1 -1
- package/dist/plugins/utils/index.js +1 -1
- package/dist/type.d.ts +2 -2
- package/dist/type.d.ts.map +1 -1
- package/dist/v2/AppInfo/index.vue +41 -0
- package/dist/v2/AutoSizer/index.vue +189 -0
- package/dist/v2/AutoSizer/index1.vue +193 -0
- package/dist/v2/AutoSizer/utils.ts +49 -0
- package/dist/v2/CaptureScreen/index.vue +78 -0
- package/dist/v2/CloseButton/index.vue +32 -0
- package/dist/v2/Connection/index.vue +94 -0
- package/dist/v2/ConsoleList/ConsoleItem.vue +235 -0
- package/dist/v2/ConsoleList/RunJSInput.vue +243 -0
- package/dist/v2/ConsoleList/index.vue +164 -0
- package/dist/v2/ConsoleList/staticTips.js +1144 -0
- package/dist/v2/DevTool/index.vue +162 -0
- package/dist/v2/DevToolButton/index.vue +228 -0
- package/dist/v2/DevToolTitle/index.vue +28 -0
- package/dist/v2/DevToolWindow/index.vue +1051 -0
- package/dist/v2/DeviceInfo/index.vue +48 -0
- package/dist/v2/Empty/empty.png +0 -0
- package/dist/v2/Empty/index.vue +40 -0
- package/dist/v2/FilterInput/index.vue +100 -0
- package/dist/v2/JsonPretty/components/Brackets/index.vue +30 -0
- package/dist/v2/JsonPretty/components/Carets/index.vue +65 -0
- package/dist/v2/JsonPretty/components/CheckController/index.vue +127 -0
- package/dist/v2/JsonPretty/components/TreeNode/index.vue +417 -0
- package/dist/v2/JsonPretty/hooks/useClipboard.ts +21 -0
- package/dist/v2/JsonPretty/hooks/useError.ts +21 -0
- package/dist/v2/JsonPretty/index.vue +531 -0
- package/dist/v2/JsonPretty/type.ts +125 -0
- package/dist/v2/JsonPretty/utils/index.js +211 -0
- package/dist/v2/NetworkList/NetworkDetail.vue +215 -0
- package/dist/v2/NetworkList/NetworkItem.vue +135 -0
- package/dist/v2/NetworkList/index.vue +148 -0
- package/dist/v2/PiniaList/index.vue +79 -0
- package/dist/v2/RouteList/index.vue +137 -0
- package/dist/v2/RunJS/index.vue +128 -0
- package/dist/v2/SettingList/index.vue +318 -0
- package/dist/v2/SourceCode/index.vue +237 -0
- package/dist/v2/StorageList/index.vue +165 -0
- package/dist/v2/SystemInfo/index.vue +49 -0
- package/dist/v2/Tabs/index.vue +127 -0
- package/dist/v2/Tag/index.vue +91 -0
- package/dist/v2/UniEvent/UniEventItem.vue +157 -0
- package/dist/v2/UniEvent/index.vue +127 -0
- package/dist/v2/UploadList/UploadDetail.vue +204 -0
- package/dist/v2/UploadList/UploadItem.vue +134 -0
- package/dist/v2/UploadList/index.vue +143 -0
- package/dist/v2/VirtualList/index.vue +140 -0
- package/dist/v2/VirtualListPro/AutoSize.vue +50 -0
- package/dist/v2/VirtualListPro/index.vue +255 -0
- package/dist/v2/VirtualListPro/readme.md +40 -0
- package/dist/v2/VuexList/index.vue +80 -0
- package/dist/v2/WebSocket/WebSocketItem.vue +129 -0
- package/dist/v2/WebSocket/WebSocketList.vue +183 -0
- package/dist/v2/WebSocket/index.vue +155 -0
- package/dist/v2/WindowInfo/index.vue +49 -0
- package/dist/v3/AppInfo/index.vue +35 -0
- package/dist/v3/AutoSizer/index.vue +193 -0
- package/dist/v3/AutoSizer/index1.vue +186 -0
- package/dist/v3/AutoSizer/utils.ts +49 -0
- package/dist/v3/CaptureScreen/index.vue +62 -0
- package/dist/v3/CloseButton/index.vue +29 -0
- package/dist/v3/Connection/index.vue +88 -0
- package/dist/v3/ConsoleList/ConsoleItem.vue +208 -0
- package/dist/v3/ConsoleList/RunJSInput.vue +240 -0
- package/dist/v3/ConsoleList/index.vue +139 -0
- package/dist/v3/ConsoleList/staticTips.ts +1145 -0
- package/dist/v3/DevTool/index.vue +217 -0
- package/dist/v3/DevToolButton/index.vue +210 -0
- package/dist/v3/DevToolTitle/index.vue +21 -0
- package/dist/v3/DevToolWindow/index.vue +1116 -0
- package/dist/v3/DeviceInfo/index.vue +32 -0
- package/dist/v3/Empty/empty.png +0 -0
- package/dist/v3/Empty/index.vue +28 -0
- package/dist/v3/FilterInput/index.vue +87 -0
- package/dist/v3/JsonPretty/components/Brackets/index.vue +23 -0
- package/dist/v3/JsonPretty/components/Carets/index.vue +59 -0
- package/dist/v3/JsonPretty/components/CheckController/index.vue +125 -0
- package/dist/v3/JsonPretty/components/TreeNode/index.vue +349 -0
- package/dist/v3/JsonPretty/hooks/useClipboard.ts +21 -0
- package/dist/v3/JsonPretty/hooks/useError.ts +21 -0
- package/dist/v3/JsonPretty/index.vue +476 -0
- package/dist/v3/JsonPretty/type.ts +125 -0
- package/dist/v3/JsonPretty/utils/index.ts +172 -0
- package/dist/v3/NetworkList/NetworkDetail.vue +194 -0
- package/dist/v3/NetworkList/NetworkItem.vue +120 -0
- package/dist/v3/NetworkList/index.vue +128 -0
- package/dist/v3/PiniaList/index.vue +64 -0
- package/dist/v3/RouteList/index.vue +121 -0
- package/dist/v3/RunJS/index.vue +128 -0
- package/dist/v3/SettingList/index.vue +313 -0
- package/dist/v3/SourceCode/index.vue +231 -0
- package/dist/v3/StorageList/index.vue +170 -0
- package/dist/v3/SystemInfo/index.vue +34 -0
- package/dist/v3/Tabs/index.vue +123 -0
- package/dist/v3/Tag/index.vue +89 -0
- package/dist/v3/UniEvent/UniEventItem.vue +126 -0
- package/dist/v3/UniEvent/index.vue +98 -0
- package/dist/v3/UploadList/UploadDetail.vue +192 -0
- package/dist/v3/UploadList/UploadItem.vue +117 -0
- package/dist/v3/UploadList/index.vue +117 -0
- package/dist/v3/VirtualList/index.vue +112 -0
- package/dist/v3/VirtualListPro/AutoSize.vue +43 -0
- package/dist/v3/VirtualListPro/index.vue +238 -0
- package/dist/v3/VirtualListPro/readme.md +40 -0
- package/dist/v3/VuexList/index.vue +54 -0
- package/dist/v3/WebSocket/WebSocketItem.vue +103 -0
- package/dist/v3/WebSocket/WebSocketList.vue +161 -0
- package/dist/v3/WebSocket/index.vue +124 -0
- package/dist/v3/WindowInfo/index.vue +33 -0
- 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;
|
|
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
|
|
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
|
-
${
|
|
3
|
+
${s.map(l=>`➜ Source File Network: http://${l}:${n==null?void 0:n.port}/__dev_sourcefile__`).join(`
|
|
4
4
|
`)}
|
|
5
|
-
`)}})},transform(t,
|
|
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
|
|
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
|
-
/** 用于捕获
|
|
77
|
-
|
|
76
|
+
/** 用于捕获 vue 抛出的错误和警告 */
|
|
77
|
+
vueInstance?: any;
|
|
78
78
|
/**
|
|
79
79
|
* 该属性处于实验当中,谨慎使用
|
|
80
80
|
* 读取开发环境 source file,source map,默认 禁用
|
package/dist/type.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../dev/type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,MAAM,CAAC,OAAO,WAAW,OAAO,CAAC;IAC/B,KAAK,IAAI,GAAG;QACV,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,EAAE;YACL,sBAAsB,CAAC,EAAE,MAAM,CAAC;SACjC,CAAC;KACH,CAAC;IAEF,KAAK,OAAO,GAAG;QACb,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC;QAC1B,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IAEF,KAAK,EAAE,GAAG;QACR,GAAG,EAAE,MAAM,CAAC;QACZ;;;;;;WAMG;QACH,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,EAAE;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;QAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QACrB,OAAO,EAAE,OAAO,EAAE,CAAC;KACpB,CAAC;IAEF,KAAK,GAAG,GAAG;QACT,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,KAAK,SAAS,GAAG;QACf,KAAK,EAAE,IAAI,EAAE,CAAC;QACd,WAAW,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,IAAI,EAAE,CAAA;SAAE,EAAE,CAAC;QAChD,MAAM,EAAE;YACN,IAAI,EAAE,GAAG,EAAE,CAAC;SACb,CAAC;KACH,CAAC;IAEF,KAAK,cAAc,GAAG;QACpB,qCAAqC;QACrC,4BAA4B,CAAC,EAAE,OAAO,CAAC;QACvC,gBAAgB;QAChB,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAC/B,mBAAmB;QACnB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,gBAAgB;QAChB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,gBAAgB;QAChB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,iBAAiB;QACjB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,gBAAgB;QAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,eAAe;QACf,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,eAAe;QACf,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,aAAa;QACb,SAAS,CAAC,EAAE,SAAS,CAAC;QACtB,cAAc;QACd,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC7B,wDAAwD;QACxD,IAAI,EAAE,MAAM,CAAC;QACb,
|
|
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>
|