diff --git a/.gitignore b/.gitignore index 5c54c3c5..0e54258b 100644 --- a/.gitignore +++ b/.gitignore @@ -30,4 +30,5 @@ build # widget widget -archive.zip \ No newline at end of file +archive.zip +components.d.ts \ No newline at end of file diff --git a/package.json b/package.json index cfbaa191..525e314d 100644 --- a/package.json +++ b/package.json @@ -44,6 +44,7 @@ "@element-plus/icons-vue": "^2.1.0", "@vueuse/components": "^10.3.0", "@vueuse/core": "^10.3.0", + "cross-fetch": "^4.0.0", "element-plus": "^2.3.8", "js-base64": "^3.7.5", "pinia": "^2.1.6", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a3f30c46..c5c53b67 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -14,6 +14,9 @@ dependencies: '@vueuse/core': specifier: ^10.3.0 version: 10.3.0(vue@3.3.4) + cross-fetch: + specifier: ^4.0.0 + version: 4.0.0 element-plus: specifier: ^2.3.8 version: 2.3.8(vue@3.3.4) @@ -2050,6 +2053,14 @@ packages: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} dev: true + /cross-fetch@4.0.0: + resolution: {integrity: sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==} + dependencies: + node-fetch: 2.6.12 + transitivePeerDependencies: + - encoding + dev: false + /cross-spawn@7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} @@ -3781,6 +3792,18 @@ packages: tslib: 2.6.1 dev: true + /node-fetch@2.6.12: + resolution: {integrity: sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + dependencies: + whatwg-url: 5.0.0 + dev: false + /node-html-parser@5.4.2: resolution: {integrity: sha512-RaBPP3+51hPne/OolXxcz89iYvQvKOydaqoePpOgXcrOKZhjVIzmpKZz+Hd/RBO2/zN2q6CNJhQzucVz+u3Jyw==} dependencies: @@ -4779,6 +4802,10 @@ packages: is-number: 7.0.0 dev: true + /tr46@0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + dev: false + /tr46@1.0.1: resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} dependencies: @@ -5263,6 +5290,10 @@ packages: '@vue/server-renderer': 3.3.4(vue@3.3.4) '@vue/shared': 3.3.4 + /webidl-conversions@3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + dev: false + /webidl-conversions@4.0.2: resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} dev: true @@ -5276,6 +5307,13 @@ packages: resolution: {integrity: sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==} dev: true + /whatwg-url@5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + dependencies: + tr46: 0.0.3 + webidl-conversions: 3.0.1 + dev: false + /whatwg-url@7.1.0: resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} dependencies: diff --git a/src/appInstance.ts b/src/appInstance.ts index fa5cf8fa..31b2e611 100644 --- a/src/appInstance.ts +++ b/src/appInstance.ts @@ -27,6 +27,7 @@ import { createAppLogger } from "~/src/utils/appLogger.ts" import { DeviceDetection } from "zhi-device" import xmlbuilder2 from "xmlbuilder2" import { Deserializer, Serializer, SimpleXmlRpcClient, XmlrpcUtil } from "simple-xmlrpc" +import fetch from "cross-fetch" /** * 应用实例 @@ -43,7 +44,6 @@ export class AppInstance { this.logger = createAppLogger("app-instance") this.deviceType = DeviceDetection.getDevice() - // Node 18 已经原生支持fetch,不再 polyfill this.fetch = fetch this.xmlbuilder2 = xmlbuilder2 this.simpleXmlrpc = {