5 changed files with 832 additions and 160 deletions
@ -0,0 +1,650 @@ |
|||
{ |
|||
"name": "afvue", |
|||
"version": "0.0.0", |
|||
"lockfileVersion": 3, |
|||
"requires": true, |
|||
"packages": { |
|||
"": { |
|||
"name": "afvue", |
|||
"version": "0.0.0", |
|||
"dependencies": { |
|||
"event-source-polyfill": "^1.0.31", |
|||
"pinia": "^2.0.16", |
|||
"vue": "^2.7.7", |
|||
"vue-router": "^3.5.4" |
|||
}, |
|||
"devDependencies": { |
|||
"@vitejs/plugin-legacy": "^2.0.0", |
|||
"@vitejs/plugin-vue2": "^1.1.2", |
|||
"terser": "^5.14.2", |
|||
"vite": "^3.0.2" |
|||
} |
|||
}, |
|||
"node_modules/@babel/helper-string-parser": { |
|||
"version": "7.27.1", |
|||
"resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", |
|||
"integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", |
|||
"license": "MIT", |
|||
"engines": { |
|||
"node": ">=6.9.0" |
|||
} |
|||
}, |
|||
"node_modules/@babel/helper-validator-identifier": { |
|||
"version": "7.27.1", |
|||
"resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", |
|||
"integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", |
|||
"license": "MIT", |
|||
"engines": { |
|||
"node": ">=6.9.0" |
|||
} |
|||
}, |
|||
"node_modules/@babel/parser": { |
|||
"version": "7.28.0", |
|||
"resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.28.0.tgz", |
|||
"integrity": "sha512-jVZGvOxOuNSsuQuLRTh13nU0AogFlw32w/MT+LV6D3sP5WdbW61E77RnkbaO2dUvmPAYrBDJXGn5gGS6tH4j8g==", |
|||
"license": "MIT", |
|||
"dependencies": { |
|||
"@babel/types": "^7.28.0" |
|||
}, |
|||
"bin": { |
|||
"parser": "bin/babel-parser.js" |
|||
}, |
|||
"engines": { |
|||
"node": ">=6.0.0" |
|||
} |
|||
}, |
|||
"node_modules/@babel/standalone": { |
|||
"version": "7.28.2", |
|||
"resolved": "https://registry.npmmirror.com/@babel/standalone/-/standalone-7.28.2.tgz", |
|||
"integrity": "sha512-1kjA8XzBRN68HoDDYKP38bucHtxYWCIX8XdYwe1drRNUOjOVNt8EMy9jiE6UwaGFfU7NOHCG+C8KgBc9CR08nA==", |
|||
"dev": true, |
|||
"license": "MIT", |
|||
"engines": { |
|||
"node": ">=6.9.0" |
|||
} |
|||
}, |
|||
"node_modules/@babel/types": { |
|||
"version": "7.28.2", |
|||
"resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.28.2.tgz", |
|||
"integrity": "sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==", |
|||
"license": "MIT", |
|||
"dependencies": { |
|||
"@babel/helper-string-parser": "^7.27.1", |
|||
"@babel/helper-validator-identifier": "^7.27.1" |
|||
}, |
|||
"engines": { |
|||
"node": ">=6.9.0" |
|||
} |
|||
}, |
|||
"node_modules/@jridgewell/gen-mapping": { |
|||
"version": "0.3.12", |
|||
"resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.12.tgz", |
|||
"integrity": "sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg==", |
|||
"dev": true, |
|||
"license": "MIT", |
|||
"dependencies": { |
|||
"@jridgewell/sourcemap-codec": "^1.5.0", |
|||
"@jridgewell/trace-mapping": "^0.3.24" |
|||
} |
|||
}, |
|||
"node_modules/@jridgewell/resolve-uri": { |
|||
"version": "3.1.2", |
|||
"resolved": "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", |
|||
"integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", |
|||
"dev": true, |
|||
"license": "MIT", |
|||
"engines": { |
|||
"node": ">=6.0.0" |
|||
} |
|||
}, |
|||
"node_modules/@jridgewell/source-map": { |
|||
"version": "0.3.10", |
|||
"resolved": "https://registry.npmmirror.com/@jridgewell/source-map/-/source-map-0.3.10.tgz", |
|||
"integrity": "sha512-0pPkgz9dY+bijgistcTTJ5mR+ocqRXLuhXHYdzoMmmoJ2C9S46RCm2GMUbatPEUK9Yjy26IrAy8D/M00lLkv+Q==", |
|||
"dev": true, |
|||
"license": "MIT", |
|||
"dependencies": { |
|||
"@jridgewell/gen-mapping": "^0.3.5", |
|||
"@jridgewell/trace-mapping": "^0.3.25" |
|||
} |
|||
}, |
|||
"node_modules/@jridgewell/sourcemap-codec": { |
|||
"version": "1.5.4", |
|||
"resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.4.tgz", |
|||
"integrity": "sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw==", |
|||
"dev": true, |
|||
"license": "MIT" |
|||
}, |
|||
"node_modules/@jridgewell/trace-mapping": { |
|||
"version": "0.3.29", |
|||
"resolved": "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.29.tgz", |
|||
"integrity": "sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==", |
|||
"dev": true, |
|||
"license": "MIT", |
|||
"dependencies": { |
|||
"@jridgewell/resolve-uri": "^3.1.0", |
|||
"@jridgewell/sourcemap-codec": "^1.4.14" |
|||
} |
|||
}, |
|||
"node_modules/@vitejs/plugin-legacy": { |
|||
"version": "2.3.1", |
|||
"resolved": "https://registry.npmmirror.com/@vitejs/plugin-legacy/-/plugin-legacy-2.3.1.tgz", |
|||
"integrity": "sha512-J5KaGBlSt2tEYPVjM/C8dA6DkRzkFkbPe+Xb4IX5G+XOV5OGbVAfkMjKywdrkO3gGynO8S98i71Lmsff4cWkCQ==", |
|||
"dev": true, |
|||
"license": "MIT", |
|||
"dependencies": { |
|||
"@babel/standalone": "^7.20.0", |
|||
"core-js": "^3.26.0", |
|||
"magic-string": "^0.26.7", |
|||
"regenerator-runtime": "^0.13.10", |
|||
"systemjs": "^6.13.0" |
|||
}, |
|||
"engines": { |
|||
"node": "^14.18.0 || >=16.0.0" |
|||
}, |
|||
"peerDependencies": { |
|||
"terser": "^5.4.0", |
|||
"vite": "^3.0.0" |
|||
} |
|||
}, |
|||
"node_modules/@vitejs/plugin-vue2": { |
|||
"version": "1.1.2", |
|||
"resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue2/-/plugin-vue2-1.1.2.tgz", |
|||
"integrity": "sha512-y6OEA+2UdJ0xrEQHodq20v9r3SpS62IOHrgN92JPLvVpNkhcissu7yvD5PXMzMESyazj0XNWGsc8UQk8+mVrjQ==", |
|||
"dev": true, |
|||
"license": "MIT", |
|||
"engines": { |
|||
"node": ">=14.6.0" |
|||
}, |
|||
"peerDependencies": { |
|||
"vite": ">=2.5.10", |
|||
"vue": "^2.7.0-0" |
|||
} |
|||
}, |
|||
"node_modules/@vue/compiler-sfc": { |
|||
"version": "2.7.16", |
|||
"resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-2.7.16.tgz", |
|||
"integrity": "sha512-KWhJ9k5nXuNtygPU7+t1rX6baZeqOYLEforUPjgNDBnLicfHCoi48H87Q8XyLZOrNNsmhuwKqtpDQWjEFe6Ekg==", |
|||
"dependencies": { |
|||
"@babel/parser": "^7.23.5", |
|||
"postcss": "^8.4.14", |
|||
"source-map": "^0.6.1" |
|||
}, |
|||
"optionalDependencies": { |
|||
"prettier": "^1.18.2 || ^2.0.0" |
|||
} |
|||
}, |
|||
"node_modules/@vue/devtools-api": { |
|||
"version": "6.6.4", |
|||
"resolved": "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.6.4.tgz", |
|||
"integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==", |
|||
"license": "MIT" |
|||
}, |
|||
"node_modules/acorn": { |
|||
"version": "8.15.0", |
|||
"resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.15.0.tgz", |
|||
"integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", |
|||
"dev": true, |
|||
"license": "MIT", |
|||
"bin": { |
|||
"acorn": "bin/acorn" |
|||
}, |
|||
"engines": { |
|||
"node": ">=0.4.0" |
|||
} |
|||
}, |
|||
"node_modules/buffer-from": { |
|||
"version": "1.1.2", |
|||
"resolved": "https://registry.npmmirror.com/buffer-from/-/buffer-from-1.1.2.tgz", |
|||
"integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", |
|||
"dev": true, |
|||
"license": "MIT" |
|||
}, |
|||
"node_modules/commander": { |
|||
"version": "2.20.3", |
|||
"resolved": "https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz", |
|||
"integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", |
|||
"dev": true, |
|||
"license": "MIT" |
|||
}, |
|||
"node_modules/core-js": { |
|||
"version": "3.45.0", |
|||
"resolved": "https://registry.npmmirror.com/core-js/-/core-js-3.45.0.tgz", |
|||
"integrity": "sha512-c2KZL9lP4DjkN3hk/an4pWn5b5ZefhRJnAc42n6LJ19kSnbeRbdQZE5dSeE2LBol1OwJD3X1BQvFTAsa8ReeDA==", |
|||
"dev": true, |
|||
"hasInstallScript": true, |
|||
"license": "MIT", |
|||
"funding": { |
|||
"type": "opencollective", |
|||
"url": "https://opencollective.com/core-js" |
|||
} |
|||
}, |
|||
"node_modules/csstype": { |
|||
"version": "3.1.3", |
|||
"resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.1.3.tgz", |
|||
"integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", |
|||
"license": "MIT" |
|||
}, |
|||
"node_modules/esbuild": { |
|||
"version": "0.15.18", |
|||
"resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.15.18.tgz", |
|||
"integrity": "sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q==", |
|||
"dev": true, |
|||
"hasInstallScript": true, |
|||
"license": "MIT", |
|||
"bin": { |
|||
"esbuild": "bin/esbuild" |
|||
}, |
|||
"engines": { |
|||
"node": ">=12" |
|||
}, |
|||
"optionalDependencies": { |
|||
"@esbuild/android-arm": "0.15.18", |
|||
"@esbuild/linux-loong64": "0.15.18", |
|||
"esbuild-android-64": "0.15.18", |
|||
"esbuild-android-arm64": "0.15.18", |
|||
"esbuild-darwin-64": "0.15.18", |
|||
"esbuild-darwin-arm64": "0.15.18", |
|||
"esbuild-freebsd-64": "0.15.18", |
|||
"esbuild-freebsd-arm64": "0.15.18", |
|||
"esbuild-linux-32": "0.15.18", |
|||
"esbuild-linux-64": "0.15.18", |
|||
"esbuild-linux-arm": "0.15.18", |
|||
"esbuild-linux-arm64": "0.15.18", |
|||
"esbuild-linux-mips64le": "0.15.18", |
|||
"esbuild-linux-ppc64le": "0.15.18", |
|||
"esbuild-linux-riscv64": "0.15.18", |
|||
"esbuild-linux-s390x": "0.15.18", |
|||
"esbuild-netbsd-64": "0.15.18", |
|||
"esbuild-openbsd-64": "0.15.18", |
|||
"esbuild-sunos-64": "0.15.18", |
|||
"esbuild-windows-32": "0.15.18", |
|||
"esbuild-windows-64": "0.15.18", |
|||
"esbuild-windows-arm64": "0.15.18" |
|||
} |
|||
}, |
|||
"node_modules/esbuild-windows-64": { |
|||
"version": "0.15.18", |
|||
"resolved": "https://registry.npmmirror.com/esbuild-windows-64/-/esbuild-windows-64-0.15.18.tgz", |
|||
"integrity": "sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw==", |
|||
"cpu": [ |
|||
"x64" |
|||
], |
|||
"dev": true, |
|||
"license": "MIT", |
|||
"optional": true, |
|||
"os": [ |
|||
"win32" |
|||
], |
|||
"engines": { |
|||
"node": ">=12" |
|||
} |
|||
}, |
|||
"node_modules/event-source-polyfill": { |
|||
"version": "1.0.31", |
|||
"resolved": "https://registry.npmmirror.com/event-source-polyfill/-/event-source-polyfill-1.0.31.tgz", |
|||
"integrity": "sha512-4IJSItgS/41IxN5UVAVuAyczwZF7ZIEsM1XAoUzIHA6A+xzusEZUutdXz2Nr+MQPLxfTiCvqE79/C8HT8fKFvA==", |
|||
"license": "MIT" |
|||
}, |
|||
"node_modules/function-bind": { |
|||
"version": "1.1.2", |
|||
"resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz", |
|||
"integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", |
|||
"dev": true, |
|||
"license": "MIT", |
|||
"funding": { |
|||
"url": "https://github.com/sponsors/ljharb" |
|||
} |
|||
}, |
|||
"node_modules/hasown": { |
|||
"version": "2.0.2", |
|||
"resolved": "https://registry.npmmirror.com/hasown/-/hasown-2.0.2.tgz", |
|||
"integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", |
|||
"dev": true, |
|||
"license": "MIT", |
|||
"dependencies": { |
|||
"function-bind": "^1.1.2" |
|||
}, |
|||
"engines": { |
|||
"node": ">= 0.4" |
|||
} |
|||
}, |
|||
"node_modules/is-core-module": { |
|||
"version": "2.16.1", |
|||
"resolved": "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.16.1.tgz", |
|||
"integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", |
|||
"dev": true, |
|||
"license": "MIT", |
|||
"dependencies": { |
|||
"hasown": "^2.0.2" |
|||
}, |
|||
"engines": { |
|||
"node": ">= 0.4" |
|||
}, |
|||
"funding": { |
|||
"url": "https://github.com/sponsors/ljharb" |
|||
} |
|||
}, |
|||
"node_modules/magic-string": { |
|||
"version": "0.26.7", |
|||
"resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.26.7.tgz", |
|||
"integrity": "sha512-hX9XH3ziStPoPhJxLq1syWuZMxbDvGNbVchfrdCtanC7D13888bMFow61x8axrx+GfHLtVeAx2kxL7tTGRl+Ow==", |
|||
"dev": true, |
|||
"license": "MIT", |
|||
"dependencies": { |
|||
"sourcemap-codec": "^1.4.8" |
|||
}, |
|||
"engines": { |
|||
"node": ">=12" |
|||
} |
|||
}, |
|||
"node_modules/nanoid": { |
|||
"version": "3.3.11", |
|||
"resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.11.tgz", |
|||
"integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", |
|||
"funding": [ |
|||
{ |
|||
"type": "github", |
|||
"url": "https://github.com/sponsors/ai" |
|||
} |
|||
], |
|||
"license": "MIT", |
|||
"bin": { |
|||
"nanoid": "bin/nanoid.cjs" |
|||
}, |
|||
"engines": { |
|||
"node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" |
|||
} |
|||
}, |
|||
"node_modules/path-parse": { |
|||
"version": "1.0.7", |
|||
"resolved": "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz", |
|||
"integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", |
|||
"dev": true, |
|||
"license": "MIT" |
|||
}, |
|||
"node_modules/picocolors": { |
|||
"version": "1.1.1", |
|||
"resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.1.1.tgz", |
|||
"integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", |
|||
"license": "ISC" |
|||
}, |
|||
"node_modules/pinia": { |
|||
"version": "2.3.1", |
|||
"resolved": "https://registry.npmmirror.com/pinia/-/pinia-2.3.1.tgz", |
|||
"integrity": "sha512-khUlZSwt9xXCaTbbxFYBKDc/bWAGWJjOgvxETwkTN7KRm66EeT1ZdZj6i2ceh9sP2Pzqsbc704r2yngBrxBVug==", |
|||
"license": "MIT", |
|||
"dependencies": { |
|||
"@vue/devtools-api": "^6.6.3", |
|||
"vue-demi": "^0.14.10" |
|||
}, |
|||
"funding": { |
|||
"url": "https://github.com/sponsors/posva" |
|||
}, |
|||
"peerDependencies": { |
|||
"typescript": ">=4.4.4", |
|||
"vue": "^2.7.0 || ^3.5.11" |
|||
}, |
|||
"peerDependenciesMeta": { |
|||
"typescript": { |
|||
"optional": true |
|||
} |
|||
} |
|||
}, |
|||
"node_modules/postcss": { |
|||
"version": "8.5.6", |
|||
"resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.5.6.tgz", |
|||
"integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", |
|||
"funding": [ |
|||
{ |
|||
"type": "opencollective", |
|||
"url": "https://opencollective.com/postcss/" |
|||
}, |
|||
{ |
|||
"type": "tidelift", |
|||
"url": "https://tidelift.com/funding/github/npm/postcss" |
|||
}, |
|||
{ |
|||
"type": "github", |
|||
"url": "https://github.com/sponsors/ai" |
|||
} |
|||
], |
|||
"license": "MIT", |
|||
"dependencies": { |
|||
"nanoid": "^3.3.11", |
|||
"picocolors": "^1.1.1", |
|||
"source-map-js": "^1.2.1" |
|||
}, |
|||
"engines": { |
|||
"node": "^10 || ^12 || >=14" |
|||
} |
|||
}, |
|||
"node_modules/prettier": { |
|||
"version": "2.8.8", |
|||
"resolved": "https://registry.npmmirror.com/prettier/-/prettier-2.8.8.tgz", |
|||
"integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", |
|||
"license": "MIT", |
|||
"optional": true, |
|||
"bin": { |
|||
"prettier": "bin-prettier.js" |
|||
}, |
|||
"engines": { |
|||
"node": ">=10.13.0" |
|||
}, |
|||
"funding": { |
|||
"url": "https://github.com/prettier/prettier?sponsor=1" |
|||
} |
|||
}, |
|||
"node_modules/regenerator-runtime": { |
|||
"version": "0.13.11", |
|||
"resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", |
|||
"integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", |
|||
"dev": true, |
|||
"license": "MIT" |
|||
}, |
|||
"node_modules/resolve": { |
|||
"version": "1.22.10", |
|||
"resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.10.tgz", |
|||
"integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", |
|||
"dev": true, |
|||
"license": "MIT", |
|||
"dependencies": { |
|||
"is-core-module": "^2.16.0", |
|||
"path-parse": "^1.0.7", |
|||
"supports-preserve-symlinks-flag": "^1.0.0" |
|||
}, |
|||
"bin": { |
|||
"resolve": "bin/resolve" |
|||
}, |
|||
"engines": { |
|||
"node": ">= 0.4" |
|||
}, |
|||
"funding": { |
|||
"url": "https://github.com/sponsors/ljharb" |
|||
} |
|||
}, |
|||
"node_modules/rollup": { |
|||
"version": "2.79.2", |
|||
"resolved": "https://registry.npmmirror.com/rollup/-/rollup-2.79.2.tgz", |
|||
"integrity": "sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ==", |
|||
"dev": true, |
|||
"license": "MIT", |
|||
"bin": { |
|||
"rollup": "dist/bin/rollup" |
|||
}, |
|||
"engines": { |
|||
"node": ">=10.0.0" |
|||
}, |
|||
"optionalDependencies": { |
|||
"fsevents": "~2.3.2" |
|||
} |
|||
}, |
|||
"node_modules/source-map": { |
|||
"version": "0.6.1", |
|||
"resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", |
|||
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", |
|||
"license": "BSD-3-Clause", |
|||
"engines": { |
|||
"node": ">=0.10.0" |
|||
} |
|||
}, |
|||
"node_modules/source-map-js": { |
|||
"version": "1.2.1", |
|||
"resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.2.1.tgz", |
|||
"integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", |
|||
"license": "BSD-3-Clause", |
|||
"engines": { |
|||
"node": ">=0.10.0" |
|||
} |
|||
}, |
|||
"node_modules/source-map-support": { |
|||
"version": "0.5.21", |
|||
"resolved": "https://registry.npmmirror.com/source-map-support/-/source-map-support-0.5.21.tgz", |
|||
"integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", |
|||
"dev": true, |
|||
"license": "MIT", |
|||
"dependencies": { |
|||
"buffer-from": "^1.0.0", |
|||
"source-map": "^0.6.0" |
|||
} |
|||
}, |
|||
"node_modules/sourcemap-codec": { |
|||
"version": "1.4.8", |
|||
"resolved": "https://registry.npmmirror.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", |
|||
"integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", |
|||
"dev": true, |
|||
"license": "MIT" |
|||
}, |
|||
"node_modules/supports-preserve-symlinks-flag": { |
|||
"version": "1.0.0", |
|||
"resolved": "https://registry.npmmirror.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", |
|||
"integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", |
|||
"dev": true, |
|||
"license": "MIT", |
|||
"engines": { |
|||
"node": ">= 0.4" |
|||
}, |
|||
"funding": { |
|||
"url": "https://github.com/sponsors/ljharb" |
|||
} |
|||
}, |
|||
"node_modules/systemjs": { |
|||
"version": "6.15.1", |
|||
"resolved": "https://registry.npmmirror.com/systemjs/-/systemjs-6.15.1.tgz", |
|||
"integrity": "sha512-Nk8c4lXvMB98MtbmjX7JwJRgJOL8fluecYCfCeYBznwmpOs8Bf15hLM6z4z71EDAhQVrQrI+wt1aLWSXZq+hXA==", |
|||
"dev": true, |
|||
"license": "MIT" |
|||
}, |
|||
"node_modules/terser": { |
|||
"version": "5.43.1", |
|||
"resolved": "https://registry.npmmirror.com/terser/-/terser-5.43.1.tgz", |
|||
"integrity": "sha512-+6erLbBm0+LROX2sPXlUYx/ux5PyE9K/a92Wrt6oA+WDAoFTdpHE5tCYCI5PNzq2y8df4rA+QgHLJuR4jNymsg==", |
|||
"dev": true, |
|||
"license": "BSD-2-Clause", |
|||
"dependencies": { |
|||
"@jridgewell/source-map": "^0.3.3", |
|||
"acorn": "^8.14.0", |
|||
"commander": "^2.20.0", |
|||
"source-map-support": "~0.5.20" |
|||
}, |
|||
"bin": { |
|||
"terser": "bin/terser" |
|||
}, |
|||
"engines": { |
|||
"node": ">=10" |
|||
} |
|||
}, |
|||
"node_modules/vite": { |
|||
"version": "3.2.11", |
|||
"resolved": "https://registry.npmmirror.com/vite/-/vite-3.2.11.tgz", |
|||
"integrity": "sha512-K/jGKL/PgbIgKCiJo5QbASQhFiV02X9Jh+Qq0AKCRCRKZtOTVi4t6wh75FDpGf2N9rYOnzH87OEFQNaFy6pdxQ==", |
|||
"dev": true, |
|||
"license": "MIT", |
|||
"dependencies": { |
|||
"esbuild": "^0.15.9", |
|||
"postcss": "^8.4.18", |
|||
"resolve": "^1.22.1", |
|||
"rollup": "^2.79.1" |
|||
}, |
|||
"bin": { |
|||
"vite": "bin/vite.js" |
|||
}, |
|||
"engines": { |
|||
"node": "^14.18.0 || >=16.0.0" |
|||
}, |
|||
"optionalDependencies": { |
|||
"fsevents": "~2.3.2" |
|||
}, |
|||
"peerDependencies": { |
|||
"@types/node": ">= 14", |
|||
"less": "*", |
|||
"sass": "*", |
|||
"stylus": "*", |
|||
"sugarss": "*", |
|||
"terser": "^5.4.0" |
|||
}, |
|||
"peerDependenciesMeta": { |
|||
"@types/node": { |
|||
"optional": true |
|||
}, |
|||
"less": { |
|||
"optional": true |
|||
}, |
|||
"sass": { |
|||
"optional": true |
|||
}, |
|||
"stylus": { |
|||
"optional": true |
|||
}, |
|||
"sugarss": { |
|||
"optional": true |
|||
}, |
|||
"terser": { |
|||
"optional": true |
|||
} |
|||
} |
|||
}, |
|||
"node_modules/vue": { |
|||
"version": "2.7.16", |
|||
"resolved": "https://registry.npmmirror.com/vue/-/vue-2.7.16.tgz", |
|||
"integrity": "sha512-4gCtFXaAA3zYZdTp5s4Hl2sozuySsgz4jy1EnpBHNfpMa9dK1ZCG7viqBPCwXtmgc8nHqUsAu3G4gtmXkkY3Sw==", |
|||
"license": "MIT", |
|||
"dependencies": { |
|||
"@vue/compiler-sfc": "2.7.16", |
|||
"csstype": "^3.1.0" |
|||
} |
|||
}, |
|||
"node_modules/vue-demi": { |
|||
"version": "0.14.10", |
|||
"resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.14.10.tgz", |
|||
"integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", |
|||
"hasInstallScript": true, |
|||
"license": "MIT", |
|||
"bin": { |
|||
"vue-demi-fix": "bin/vue-demi-fix.js", |
|||
"vue-demi-switch": "bin/vue-demi-switch.js" |
|||
}, |
|||
"engines": { |
|||
"node": ">=12" |
|||
}, |
|||
"funding": { |
|||
"url": "https://github.com/sponsors/antfu" |
|||
}, |
|||
"peerDependencies": { |
|||
"@vue/composition-api": "^1.0.0-rc.1", |
|||
"vue": "^3.0.0-0 || ^2.6.0" |
|||
}, |
|||
"peerDependenciesMeta": { |
|||
"@vue/composition-api": { |
|||
"optional": true |
|||
} |
|||
} |
|||
}, |
|||
"node_modules/vue-router": { |
|||
"version": "3.6.5", |
|||
"resolved": "https://registry.npmmirror.com/vue-router/-/vue-router-3.6.5.tgz", |
|||
"integrity": "sha512-VYXZQLtjuvKxxcshuRAwjHnciqZVoXAjTjcqBTz4rKc8qih9g9pI3hbDjmqXaHdgL3v8pV6P8Z335XvHzESxLQ==", |
|||
"license": "MIT" |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,92 @@ |
|||
import {EventSourcePolyfill} from "event-source-polyfill"; |
|||
import { getToken } from "@/utils/auth"; |
|||
|
|||
|
|||
const defaultOptions = { |
|||
retry: 5, |
|||
interval: 3 * 1000, |
|||
}; |
|||
|
|||
class SSEClient { |
|||
constructor(url, options = defaultOptions) { |
|||
this.url = url; |
|||
this.es = null; |
|||
this.options = options; |
|||
this.retry = options.retry; |
|||
this.timer = null; |
|||
} |
|||
|
|||
_onOpen() { |
|||
console.log("server sent event connect created"); |
|||
} |
|||
|
|||
_onMessage(handler) { |
|||
return (event) => { |
|||
this.retry = this.options.retry; |
|||
let payload; |
|||
|
|||
try { |
|||
payload = JSON.parse(event.data); |
|||
console.log("receiving data...", payload); |
|||
} catch (error) { |
|||
console.error("failed to parse payload from server", error); |
|||
} |
|||
|
|||
if (typeof handler === "function") { |
|||
handler(payload); |
|||
} |
|||
}; |
|||
} |
|||
|
|||
_onError(type, handler) { |
|||
return () => { |
|||
console.error("EventSource connection failed for subscribe.Retry"); |
|||
if (this.es) { |
|||
this._removeAllEvent(type, handler); |
|||
this.unsunscribe(); |
|||
} |
|||
|
|||
if (this.retry > 0) { |
|||
this.timer = setTimeout(() => { |
|||
this.subscribe(type, handler); |
|||
}, this.options.interval); |
|||
} else { |
|||
this.retry--; |
|||
} |
|||
}; |
|||
} |
|||
|
|||
_removeAllEvent(type, handler) { |
|||
this.es.removeEventListener("open", this._onOpen); |
|||
this.es.removeEventListener(type, this._onMessage(handler)); |
|||
this.es.removeEventListener("error", this._onError(type, handler)); |
|||
} |
|||
|
|||
subscribe(type, handler) { |
|||
this.es = new EventSourcePolyfill(this.url,{ |
|||
// 设置重连时间
|
|||
heartbeatTimeout: 60 * 60 * 1000, |
|||
// 添加token
|
|||
headers: { |
|||
Authorization: "Bearer " + getToken(), |
|||
} |
|||
}); |
|||
// this.es = new EventSource(url);
|
|||
|
|||
this.es.addEventListener("open", this._onOpen); |
|||
this.es.addEventListener(type, this._onMessage(handler)); |
|||
this.es.addEventListener("error", this._onError(type, handler)); |
|||
} |
|||
|
|||
unsunscribe() { |
|||
if (this.es) { |
|||
this.es.close(); |
|||
this.es = null; |
|||
} |
|||
if (this.timer) { |
|||
clearTimeout(this.timer); |
|||
} |
|||
} |
|||
} |
|||
|
|||
export default SSEClient |
|||
Loading…
Reference in new issue