commit 5115886b2ff382e7b4270cf84e6044ad66a12a46 Author: ChenQiuYu Date: Thu Apr 24 09:36:59 2025 +0800 dev diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..8ee54e8 --- /dev/null +++ b/.gitignore @@ -0,0 +1,30 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +.DS_Store +dist +dist-ssr +coverage +*.local + +/cypress/videos/ +/cypress/screenshots/ + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? + +*.tsbuildinfo diff --git a/README.md b/README.md new file mode 100644 index 0000000..a51508e --- /dev/null +++ b/README.md @@ -0,0 +1,33 @@ +# web + +This template should help get you started developing with Vue 3 in Vite. + +## Recommended IDE Setup + +[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur). + +## Type Support for `.vue` Imports in TS + +TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) to make the TypeScript language service aware of `.vue` types. + +## Customize configuration + +See [Vite Configuration Reference](https://vite.dev/config/). + +## Project Setup + +```sh +npm install +``` + +### Compile and Hot-Reload for Development + +```sh +npm run dev +``` + +### Type-Check, Compile and Minify for Production + +```sh +npm run build +``` diff --git a/env.d.ts b/env.d.ts new file mode 100644 index 0000000..11f02fe --- /dev/null +++ b/env.d.ts @@ -0,0 +1 @@ +/// diff --git a/index.html b/index.html new file mode 100644 index 0000000..9e5fc8f --- /dev/null +++ b/index.html @@ -0,0 +1,13 @@ + + + + + + + Vite App + + +
+ + + diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..e509e5e --- /dev/null +++ b/package-lock.json @@ -0,0 +1,4211 @@ +{ + "name": "web", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "web", + "version": "0.0.0", + "dependencies": { + "axios": "^1.8.4", + "echarts": "^5.6.0", + "element-plus": "^2.9.7", + "pinia": "^3.0.1", + "vue": "^3.5.13", + "vue-router": "^4.5.0" + }, + "devDependencies": { + "@tsconfig/node22": "^22.0.1", + "@types/node": "^22.14.0", + "@vitejs/plugin-vue": "^5.2.3", + "@vue/tsconfig": "^0.7.0", + "npm-run-all2": "^7.0.2", + "sass": "^1.86.3", + "typescript": "~5.8.0", + "vite": "^6.2.4", + "vite-plugin-vue-devtools": "^7.7.2", + "vue-tsc": "^2.2.8" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@antfu/utils": { + "version": "0.7.10", + "resolved": "https://registry.npmjs.org/@antfu/utils/-/utils-0.7.10.tgz", + "integrity": "sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", + "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.25.9", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.26.8", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.8.tgz", + "integrity": "sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.26.10", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.10.tgz", + "integrity": "sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.26.2", + "@babel/generator": "^7.26.10", + "@babel/helper-compilation-targets": "^7.26.5", + "@babel/helper-module-transforms": "^7.26.0", + "@babel/helpers": "^7.26.10", + "@babel/parser": "^7.26.10", + "@babel/template": "^7.26.9", + "@babel/traverse": "^7.26.10", + "@babel/types": "^7.26.10", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.27.0.tgz", + "integrity": "sha512-VybsKvpiN1gU1sdMZIp7FcqphVVKEwcuj02x73uvcHE0PTihx1nlBcowYWhDwjpoAXRv43+gDzyggGnn1XZhVw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.27.0", + "@babel/types": "^7.27.0", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz", + "integrity": "sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.0.tgz", + "integrity": "sha512-LVk7fbXml0H2xH34dFzKQ7TDZ2G4/rVTOrq9V+icbbadjbVxxeFeDsNHv2SrZeWoA+6ZiTyWYWtScEIW07EAcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.26.8", + "@babel/helper-validator-option": "^7.25.9", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.27.0.tgz", + "integrity": "sha512-vSGCvMecvFCd/BdpGlhpXYNhhC4ccxyvQWpbGL4CWbvfEoLFWUZuSuf7s9Aw70flgQF+6vptvgK2IfOnKlRmBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-member-expression-to-functions": "^7.25.9", + "@babel/helper-optimise-call-expression": "^7.25.9", + "@babel/helper-replace-supers": "^7.26.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", + "@babel/traverse": "^7.27.0", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.9.tgz", + "integrity": "sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", + "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", + "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.9.tgz", + "integrity": "sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz", + "integrity": "sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.26.5.tgz", + "integrity": "sha512-bJ6iIVdYX1YooY2X7w1q6VITt+LnUILtNk7zT78ykuwStx8BauCzxvFqFaHjOpW1bVnSUM1PN1f0p5P21wHxvg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.25.9", + "@babel/helper-optimise-call-expression": "^7.25.9", + "@babel/traverse": "^7.26.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.9.tgz", + "integrity": "sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", + "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", + "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.0.tgz", + "integrity": "sha512-U5eyP/CTFPuNE3qk+WZMxFkp/4zUzdceQlfzf7DdGdhp+Fezd7HD+i8Y24ZuTMKX3wQBld449jijbGq6OdGNQg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.27.0", + "@babel/types": "^7.27.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.0.tgz", + "integrity": "sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.0" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-proposal-decorators": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.25.9.tgz", + "integrity": "sha512-smkNLL/O1ezy9Nhy4CNosc4Va+1wo5w4gzSZeLe6y6dM4mmHfYOCPolXQPHQxonZCF+ZyebxN9vqOolkYrSn5g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/plugin-syntax-decorators": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-decorators": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.25.9.tgz", + "integrity": "sha512-ryzI0McXUPJnRCvMo4lumIKZUzhYUO/ScI+Mz4YVaTLt04DHNSjEUjKVvbzQjZFLuod/cYEc07mJWhzl6v4DPg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz", + "integrity": "sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz", + "integrity": "sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.9.tgz", + "integrity": "sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.27.0.tgz", + "integrity": "sha512-fRGGjO2UEGPjvEcyAZXRXAS8AfdaQoq7HnxAbJoAoW10B9xOKesmmndJv+Sym2a+9FHWZ9KbyyLCe9s0Sn5jtg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-create-class-features-plugin": "^7.27.0", + "@babel/helper-plugin-utils": "^7.26.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", + "@babel/plugin-syntax-typescript": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.0.tgz", + "integrity": "sha512-2ncevenBqXI6qRMukPlXwHKHchC7RyMuu4xv5JBXRfOGVcTy1mXCD12qrp7Jsoxll1EV3+9sE4GugBVRjT2jFA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.26.2", + "@babel/parser": "^7.27.0", + "@babel/types": "^7.27.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.27.0.tgz", + "integrity": "sha512-19lYZFzYVQkkHkl4Cy4WrAVcqBkgvV2YM2TU3xG6DIwO7O3ecbDPfW3yM3bjAGcqcQHi+CCtjMR3dIEHxsd6bA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.26.2", + "@babel/generator": "^7.27.0", + "@babel/parser": "^7.27.0", + "@babel/template": "^7.27.0", + "@babel/types": "^7.27.0", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.0.tgz", + "integrity": "sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@ctrl/tinycolor": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz", + "integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/@element-plus/icons-vue": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz", + "integrity": "sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==", + "license": "MIT", + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.2.tgz", + "integrity": "sha512-wCIboOL2yXZym2cgm6mlA742s9QeJ8DjGVaL39dLN4rRwrOgOyYSnOaFPhKZGLb2ngj4EyfAFjsNJwPXZvseag==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.2.tgz", + "integrity": "sha512-NQhH7jFstVY5x8CKbcfa166GoV0EFkaPkCKBQkdPJFvo5u+nGXLEH/ooniLb3QI8Fk58YAx7nsPLozUWfCBOJA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.2.tgz", + "integrity": "sha512-5ZAX5xOmTligeBaeNEPnPaeEuah53Id2tX4c2CVP3JaROTH+j4fnfHCkr1PjXMd78hMst+TlkfKcW/DlTq0i4w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.2.tgz", + "integrity": "sha512-Ffcx+nnma8Sge4jzddPHCZVRvIfQ0kMsUsCMcJRHkGJ1cDmhe4SsrYIjLUKn1xpHZybmOqCWwB0zQvsjdEHtkg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.2.tgz", + "integrity": "sha512-MpM6LUVTXAzOvN4KbjzU/q5smzryuoNjlriAIx+06RpecwCkL9JpenNzpKd2YMzLJFOdPqBpuub6eVRP5IgiSA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.2.tgz", + "integrity": "sha512-5eRPrTX7wFyuWe8FqEFPG2cU0+butQQVNcT4sVipqjLYQjjh8a8+vUTfgBKM88ObB85ahsnTwF7PSIt6PG+QkA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.2.tgz", + "integrity": "sha512-mLwm4vXKiQ2UTSX4+ImyiPdiHjiZhIaE9QvC7sw0tZ6HoNMjYAqQpGyui5VRIi5sGd+uWq940gdCbY3VLvsO1w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.2.tgz", + "integrity": "sha512-6qyyn6TjayJSwGpm8J9QYYGQcRgc90nmfdUb0O7pp1s4lTY+9D0H9O02v5JqGApUyiHOtkz6+1hZNvNtEhbwRQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.2.tgz", + "integrity": "sha512-UHBRgJcmjJv5oeQF8EpTRZs/1knq6loLxTsjc3nxO9eXAPDLcWW55flrMVc97qFPbmZP31ta1AZVUKQzKTzb0g==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.2.tgz", + "integrity": "sha512-gq/sjLsOyMT19I8obBISvhoYiZIAaGF8JpeXu1u8yPv8BE5HlWYobmlsfijFIZ9hIVGYkbdFhEqC0NvM4kNO0g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.2.tgz", + "integrity": "sha512-bBYCv9obgW2cBP+2ZWfjYTU+f5cxRoGGQ5SeDbYdFCAZpYWrfjjfYwvUpP8MlKbP0nwZ5gyOU/0aUzZ5HWPuvQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.2.tgz", + "integrity": "sha512-SHNGiKtvnU2dBlM5D8CXRFdd+6etgZ9dXfaPCeJtz+37PIUlixvlIhI23L5khKXs3DIzAn9V8v+qb1TRKrgT5w==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.2.tgz", + "integrity": "sha512-hDDRlzE6rPeoj+5fsADqdUZl1OzqDYow4TB4Y/3PlKBD0ph1e6uPHzIQcv2Z65u2K0kpeByIyAjCmjn1hJgG0Q==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.2.tgz", + "integrity": "sha512-tsHu2RRSWzipmUi9UBDEzc0nLc4HtpZEI5Ba+Omms5456x5WaNuiG3u7xh5AO6sipnJ9r4cRWQB2tUjPyIkc6g==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.2.tgz", + "integrity": "sha512-k4LtpgV7NJQOml/10uPU0s4SAXGnowi5qBSjaLWMojNCUICNu7TshqHLAEbkBdAszL5TabfvQ48kK84hyFzjnw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.2.tgz", + "integrity": "sha512-GRa4IshOdvKY7M/rDpRR3gkiTNp34M0eLTaC1a08gNrh4u488aPhuZOCpkF6+2wl3zAN7L7XIpOFBhnaE3/Q8Q==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.2.tgz", + "integrity": "sha512-QInHERlqpTTZ4FRB0fROQWXcYRD64lAoiegezDunLpalZMjcUcld3YzZmVJ2H/Cp0wJRZ8Xtjtj0cEHhYc/uUg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.2.tgz", + "integrity": "sha512-talAIBoY5M8vHc6EeI2WW9d/CkiO9MQJ0IOWX8hrLhxGbro/vBXJvaQXefW2cP0z0nQVTdQ/eNyGFV1GSKrxfw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.2.tgz", + "integrity": "sha512-voZT9Z+tpOxrvfKFyfDYPc4DO4rk06qamv1a/fkuzHpiVBMOhpjK+vBmWM8J1eiB3OLSMFYNaOaBNLXGChf5tg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.2.tgz", + "integrity": "sha512-dcXYOC6NXOqcykeDlwId9kB6OkPUxOEqU+rkrYVqJbK2hagWOMrsTGsMr8+rW02M+d5Op5NNlgMmjzecaRf7Tg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.2.tgz", + "integrity": "sha512-t/TkWwahkH0Tsgoq1Ju7QfgGhArkGLkF1uYz8nQS/PPFlXbP5YgRpqQR3ARRiC2iXoLTWFxc6DJMSK10dVXluw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.2.tgz", + "integrity": "sha512-cfZH1co2+imVdWCjd+D1gf9NjkchVhhdpgb1q5y6Hcv9TP6Zi9ZG/beI3ig8TvwT9lH9dlxLq5MQBBgwuj4xvA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.2.tgz", + "integrity": "sha512-7Loyjh+D/Nx/sOTzV8vfbB3GJuHdOQyrOryFdZvPHLf42Tk9ivBU5Aedi7iyX+x6rbn2Mh68T4qq1SDqJBQO5Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.2.tgz", + "integrity": "sha512-WRJgsz9un0nqZJ4MfhabxaD9Ft8KioqU3JMinOTvobbX6MOSUigSBlogP8QB3uxpJDsFS6yN+3FDBdqE5lg9kg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.2.tgz", + "integrity": "sha512-kM3HKb16VIXZyIeVrM1ygYmZBKybX8N4p754bw390wGO3Tf2j4L2/WYL+4suWujpgf6GBYs3jv7TyUivdd05JA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@floating-ui/core": { + "version": "1.6.9", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.9.tgz", + "integrity": "sha512-uMXCuQ3BItDUbAMhIXw7UPXRfAlOAvZzdK9BWpE60MCn+Svt3aLn9jsPTi/WNGlRUu2uI0v5S7JiIUsbsvh3fw==", + "license": "MIT", + "dependencies": { + "@floating-ui/utils": "^0.2.9" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.6.13", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.13.tgz", + "integrity": "sha512-umqzocjDgNRGTuO7Q8CU32dkHkECqI8ZdMZ5Swb6QAM0t5rnlrN3lGo1hdpscRd3WS8T6DKYK4ephgIH9iRh3w==", + "license": "MIT", + "dependencies": { + "@floating-ui/core": "^1.6.0", + "@floating-ui/utils": "^0.2.9" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.9.tgz", + "integrity": "sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==", + "license": "MIT" + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", + "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@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/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@parcel/watcher": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.1.tgz", + "integrity": "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "detect-libc": "^1.0.3", + "is-glob": "^4.0.3", + "micromatch": "^4.0.5", + "node-addon-api": "^7.0.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.5.1", + "@parcel/watcher-darwin-arm64": "2.5.1", + "@parcel/watcher-darwin-x64": "2.5.1", + "@parcel/watcher-freebsd-x64": "2.5.1", + "@parcel/watcher-linux-arm-glibc": "2.5.1", + "@parcel/watcher-linux-arm-musl": "2.5.1", + "@parcel/watcher-linux-arm64-glibc": "2.5.1", + "@parcel/watcher-linux-arm64-musl": "2.5.1", + "@parcel/watcher-linux-x64-glibc": "2.5.1", + "@parcel/watcher-linux-x64-musl": "2.5.1", + "@parcel/watcher-win32-arm64": "2.5.1", + "@parcel/watcher-win32-ia32": "2.5.1", + "@parcel/watcher-win32-x64": "2.5.1" + } + }, + "node_modules/@parcel/watcher-android-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.1.tgz", + "integrity": "sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz", + "integrity": "sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.1.tgz", + "integrity": "sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-freebsd-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.1.tgz", + "integrity": "sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.1.tgz", + "integrity": "sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.1.tgz", + "integrity": "sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.1.tgz", + "integrity": "sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.1.tgz", + "integrity": "sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.1.tgz", + "integrity": "sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.1.tgz", + "integrity": "sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.1.tgz", + "integrity": "sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-ia32": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.1.tgz", + "integrity": "sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz", + "integrity": "sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@polka/url": { + "version": "1.0.0-next.28", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.28.tgz", + "integrity": "sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@popperjs/core": { + "name": "@sxzz/popperjs-es", + "version": "2.11.7", + "resolved": "https://registry.npmjs.org/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz", + "integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, + "node_modules/@rollup/pluginutils": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.4.tgz", + "integrity": "sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.39.0.tgz", + "integrity": "sha512-lGVys55Qb00Wvh8DMAocp5kIcaNzEFTmGhfFd88LfaogYTRKrdxgtlO5H6S49v2Nd8R2C6wLOal0qv6/kCkOwA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.39.0.tgz", + "integrity": "sha512-It9+M1zE31KWfqh/0cJLrrsCPiF72PoJjIChLX+rEcujVRCb4NLQ5QzFkzIZW8Kn8FTbvGQBY5TkKBau3S8cCQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.39.0.tgz", + "integrity": "sha512-lXQnhpFDOKDXiGxsU9/l8UEGGM65comrQuZ+lDcGUx+9YQ9dKpF3rSEGepyeR5AHZ0b5RgiligsBhWZfSSQh8Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.39.0.tgz", + "integrity": "sha512-mKXpNZLvtEbgu6WCkNij7CGycdw9cJi2k9v0noMb++Vab12GZjFgUXD69ilAbBh034Zwn95c2PNSz9xM7KYEAQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.39.0.tgz", + "integrity": "sha512-jivRRlh2Lod/KvDZx2zUR+I4iBfHcu2V/BA2vasUtdtTN2Uk3jfcZczLa81ESHZHPHy4ih3T/W5rPFZ/hX7RtQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.39.0.tgz", + "integrity": "sha512-8RXIWvYIRK9nO+bhVz8DwLBepcptw633gv/QT4015CpJ0Ht8punmoHU/DuEd3iw9Hr8UwUV+t+VNNuZIWYeY7Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.39.0.tgz", + "integrity": "sha512-mz5POx5Zu58f2xAG5RaRRhp3IZDK7zXGk5sdEDj4o96HeaXhlUwmLFzNlc4hCQi5sGdR12VDgEUqVSHer0lI9g==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.39.0.tgz", + "integrity": "sha512-+YDwhM6gUAyakl0CD+bMFpdmwIoRDzZYaTWV3SDRBGkMU/VpIBYXXEvkEcTagw/7VVkL2vA29zU4UVy1mP0/Yw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.39.0.tgz", + "integrity": "sha512-EKf7iF7aK36eEChvlgxGnk7pdJfzfQbNvGV/+l98iiMwU23MwvmV0Ty3pJ0p5WQfm3JRHOytSIqD9LB7Bq7xdQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.39.0.tgz", + "integrity": "sha512-vYanR6MtqC7Z2SNr8gzVnzUul09Wi1kZqJaek3KcIlI/wq5Xtq4ZPIZ0Mr/st/sv/NnaPwy/D4yXg5x0B3aUUA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loongarch64-gnu": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.39.0.tgz", + "integrity": "sha512-NMRUT40+h0FBa5fb+cpxtZoGAggRem16ocVKIv5gDB5uLDgBIwrIsXlGqYbLwW8YyO3WVTk1FkFDjMETYlDqiw==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.39.0.tgz", + "integrity": "sha512-0pCNnmxgduJ3YRt+D+kJ6Ai/r+TaePu9ZLENl+ZDV/CdVczXl95CbIiwwswu4L+K7uOIGf6tMo2vm8uadRaICQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.39.0.tgz", + "integrity": "sha512-t7j5Zhr7S4bBtksT73bO6c3Qa2AV/HqiGlj9+KB3gNF5upcVkx+HLgxTm8DK4OkzsOYqbdqbLKwvGMhylJCPhQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.39.0.tgz", + "integrity": "sha512-m6cwI86IvQ7M93MQ2RF5SP8tUjD39Y7rjb1qjHgYh28uAPVU8+k/xYWvxRO3/tBN2pZkSMa5RjnPuUIbrwVxeA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.39.0.tgz", + "integrity": "sha512-iRDJd2ebMunnk2rsSBYlsptCyuINvxUfGwOUldjv5M4tpa93K8tFMeYGpNk2+Nxl+OBJnBzy2/JCscGeO507kA==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.39.0.tgz", + "integrity": "sha512-t9jqYw27R6Lx0XKfEFe5vUeEJ5pF3SGIM6gTfONSMb7DuG6z6wfj2yjcoZxHg129veTqU7+wOhY6GX8wmf90dA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.39.0.tgz", + "integrity": "sha512-ThFdkrFDP55AIsIZDKSBWEt/JcWlCzydbZHinZ0F/r1h83qbGeenCt/G/wG2O0reuENDD2tawfAj2s8VK7Bugg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.39.0.tgz", + "integrity": "sha512-jDrLm6yUtbOg2TYB3sBF3acUnAwsIksEYjLeHL+TJv9jg+TmTwdyjnDex27jqEMakNKf3RwwPahDIt7QXCSqRQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.39.0.tgz", + "integrity": "sha512-6w9uMuza+LbLCVoNKL5FSLE7yvYkq9laSd09bwS0tMjkwXrmib/4KmoJcrKhLWHvw19mwU+33ndC69T7weNNjQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.39.0.tgz", + "integrity": "sha512-yAkUOkIKZlK5dl7u6dg897doBgLXmUHhIINM2c+sND3DZwnrdQkkSiDh7N75Ll4mM4dxSkYfXqU9fW3lLkMFug==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@sec-ant/readable-stream": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz", + "integrity": "sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@sindresorhus/merge-streams": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz", + "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@tsconfig/node22": { + "version": "22.0.1", + "resolved": "https://registry.npmjs.org/@tsconfig/node22/-/node22-22.0.1.tgz", + "integrity": "sha512-VkgOa3n6jvs1p+r3DiwBqeEwGAwEvnVCg/hIjiANl5IEcqP3G0u5m8cBJspe1t9qjZRlZ7WFgqq5bJrGdgAKMg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/estree": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz", + "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/lodash": { + "version": "4.17.16", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.16.tgz", + "integrity": "sha512-HX7Em5NYQAXKW+1T+FiuG27NGwzJfCX3s1GjOa7ujxZa52kjJLOr4FUxT+giF6Tgxv1e+/czV/iTtBw27WTU9g==", + "license": "MIT" + }, + "node_modules/@types/lodash-es": { + "version": "4.17.12", + "resolved": "https://registry.npmjs.org/@types/lodash-es/-/lodash-es-4.17.12.tgz", + "integrity": "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==", + "license": "MIT", + "dependencies": { + "@types/lodash": "*" + } + }, + "node_modules/@types/node": { + "version": "22.14.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.14.0.tgz", + "integrity": "sha512-Kmpl+z84ILoG+3T/zQFyAJsU6EPTmOCj8/2+83fSN6djd6I4o7uOuGIH6vq3PrjY5BGitSbFuMN18j3iknubbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "node_modules/@types/web-bluetooth": { + "version": "0.0.16", + "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz", + "integrity": "sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==", + "license": "MIT" + }, + "node_modules/@vitejs/plugin-vue": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.2.3.tgz", + "integrity": "sha512-IYSLEQj4LgZZuoVpdSUCw3dIynTWQgPlaRP6iAvMle4My0HdYwr5g5wQAfwOeHQBmYwEkqF70nRpSilr6PoUDg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "vite": "^5.0.0 || ^6.0.0", + "vue": "^3.2.25" + } + }, + "node_modules/@volar/language-core": { + "version": "2.4.12", + "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.4.12.tgz", + "integrity": "sha512-RLrFdXEaQBWfSnYGVxvR2WrO6Bub0unkdHYIdC31HzIEqATIuuhRRzYu76iGPZ6OtA4Au1SnW0ZwIqPP217YhA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/source-map": "2.4.12" + } + }, + "node_modules/@volar/source-map": { + "version": "2.4.12", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.4.12.tgz", + "integrity": "sha512-bUFIKvn2U0AWojOaqf63ER0N/iHIBYZPpNGogfLPQ68F5Eet6FnLlyho7BS0y2HJ1jFhSif7AcuTx1TqsCzRzw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@volar/typescript": { + "version": "2.4.12", + "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-2.4.12.tgz", + "integrity": "sha512-HJB73OTJDgPc80K30wxi3if4fSsZZAOScbj2fcicMuOPoOkcf9NNAINb33o+DzhBdF9xTKC1gnPmIRDous5S0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/language-core": "2.4.12", + "path-browserify": "^1.0.1", + "vscode-uri": "^3.0.8" + } + }, + "node_modules/@vue/babel-helper-vue-transform-on": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.4.0.tgz", + "integrity": "sha512-mCokbouEQ/ocRce/FpKCRItGo+013tHg7tixg3DUNS+6bmIchPt66012kBMm476vyEIJPafrvOf4E5OYj3shSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/babel-plugin-jsx": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.4.0.tgz", + "integrity": "sha512-9zAHmwgMWlaN6qRKdrg1uKsBKHvnUU+Py+MOCTuYZBoZsopa90Di10QRjB+YPnVss0BZbG/H5XFwJY1fTxJWhA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-plugin-utils": "^7.26.5", + "@babel/plugin-syntax-jsx": "^7.25.9", + "@babel/template": "^7.26.9", + "@babel/traverse": "^7.26.9", + "@babel/types": "^7.26.9", + "@vue/babel-helper-vue-transform-on": "1.4.0", + "@vue/babel-plugin-resolve-type": "1.4.0", + "@vue/shared": "^3.5.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + } + } + }, + "node_modules/@vue/babel-plugin-resolve-type": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-resolve-type/-/babel-plugin-resolve-type-1.4.0.tgz", + "integrity": "sha512-4xqDRRbQQEWHQyjlYSgZsWj44KfiF6D+ktCuXyZ8EnVDYV3pztmXJDf1HveAjUAXxAnR8daCQT51RneWWxtTyQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.26.2", + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-plugin-utils": "^7.26.5", + "@babel/parser": "^7.26.9", + "@vue/compiler-sfc": "^3.5.13" + }, + "funding": { + "url": "https://github.com/sponsors/sxzz" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/compiler-core": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.13.tgz", + "integrity": "sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.25.3", + "@vue/shared": "3.5.13", + "entities": "^4.5.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.2.0" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.13.tgz", + "integrity": "sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==", + "license": "MIT", + "dependencies": { + "@vue/compiler-core": "3.5.13", + "@vue/shared": "3.5.13" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.13.tgz", + "integrity": "sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.25.3", + "@vue/compiler-core": "3.5.13", + "@vue/compiler-dom": "3.5.13", + "@vue/compiler-ssr": "3.5.13", + "@vue/shared": "3.5.13", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.11", + "postcss": "^8.4.48", + "source-map-js": "^1.2.0" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.13.tgz", + "integrity": "sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.5.13", + "@vue/shared": "3.5.13" + } + }, + "node_modules/@vue/compiler-vue2": { + "version": "2.7.16", + "resolved": "https://registry.npmjs.org/@vue/compiler-vue2/-/compiler-vue2-2.7.16.tgz", + "integrity": "sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==", + "dev": true, + "license": "MIT", + "dependencies": { + "de-indent": "^1.0.2", + "he": "^1.2.0" + } + }, + "node_modules/@vue/devtools-api": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-7.7.2.tgz", + "integrity": "sha512-1syn558KhyN+chO5SjlZIwJ8bV/bQ1nOVTG66t2RbG66ZGekyiYNmRO7X9BJCXQqPsFHlnksqvPhce2qpzxFnA==", + "license": "MIT", + "dependencies": { + "@vue/devtools-kit": "^7.7.2" + } + }, + "node_modules/@vue/devtools-core": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/@vue/devtools-core/-/devtools-core-7.7.2.tgz", + "integrity": "sha512-lexREWj1lKi91Tblr38ntSsy6CvI8ba7u+jmwh2yruib/ltLUcsIzEjCnrkh1yYGGIKXbAuYV2tOG10fGDB9OQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/devtools-kit": "^7.7.2", + "@vue/devtools-shared": "^7.7.2", + "mitt": "^3.0.1", + "nanoid": "^5.0.9", + "pathe": "^2.0.2", + "vite-hot-client": "^0.2.4" + }, + "peerDependencies": { + "vue": "^3.0.0" + } + }, + "node_modules/@vue/devtools-core/node_modules/nanoid": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.1.5.tgz", + "integrity": "sha512-Ir/+ZpE9fDsNH0hQ3C68uyThDXzYcim2EqcZ8zn8Chtt1iylPT9xXJB0kPCnqzgcEGikO9RxSrh63MsmVCU7Fw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.js" + }, + "engines": { + "node": "^18 || >=20" + } + }, + "node_modules/@vue/devtools-kit": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/@vue/devtools-kit/-/devtools-kit-7.7.2.tgz", + "integrity": "sha512-CY0I1JH3Z8PECbn6k3TqM1Bk9ASWxeMtTCvZr7vb+CHi+X/QwQm5F1/fPagraamKMAHVfuuCbdcnNg1A4CYVWQ==", + "license": "MIT", + "dependencies": { + "@vue/devtools-shared": "^7.7.2", + "birpc": "^0.2.19", + "hookable": "^5.5.3", + "mitt": "^3.0.1", + "perfect-debounce": "^1.0.0", + "speakingurl": "^14.0.1", + "superjson": "^2.2.1" + } + }, + "node_modules/@vue/devtools-shared": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/@vue/devtools-shared/-/devtools-shared-7.7.2.tgz", + "integrity": "sha512-uBFxnp8gwW2vD6FrJB8JZLUzVb6PNRG0B0jBnHsOH8uKyva2qINY8PTF5Te4QlTbMDqU5K6qtJDr6cNsKWhbOA==", + "license": "MIT", + "dependencies": { + "rfdc": "^1.4.1" + } + }, + "node_modules/@vue/language-core": { + "version": "2.2.8", + "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-2.2.8.tgz", + "integrity": "sha512-rrzB0wPGBvcwaSNRriVWdNAbHQWSf0NlGqgKHK5mEkXpefjUlVRP62u03KvwZpvKVjRnBIQ/Lwre+Mx9N6juUQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/language-core": "~2.4.11", + "@vue/compiler-dom": "^3.5.0", + "@vue/compiler-vue2": "^2.7.16", + "@vue/shared": "^3.5.0", + "alien-signals": "^1.0.3", + "minimatch": "^9.0.3", + "muggle-string": "^0.4.1", + "path-browserify": "^1.0.1" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@vue/reactivity": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.13.tgz", + "integrity": "sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg==", + "license": "MIT", + "dependencies": { + "@vue/shared": "3.5.13" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.13.tgz", + "integrity": "sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.13", + "@vue/shared": "3.5.13" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.13.tgz", + "integrity": "sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.13", + "@vue/runtime-core": "3.5.13", + "@vue/shared": "3.5.13", + "csstype": "^3.1.3" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.13.tgz", + "integrity": "sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA==", + "license": "MIT", + "dependencies": { + "@vue/compiler-ssr": "3.5.13", + "@vue/shared": "3.5.13" + }, + "peerDependencies": { + "vue": "3.5.13" + } + }, + "node_modules/@vue/shared": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.13.tgz", + "integrity": "sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==", + "license": "MIT" + }, + "node_modules/@vue/tsconfig": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@vue/tsconfig/-/tsconfig-0.7.0.tgz", + "integrity": "sha512-ku2uNz5MaZ9IerPPUyOHzyjhXoX2kVJaVf7hL315DC17vS6IiZRmmCPfggNbU16QTvM80+uYYy3eYJB59WCtvg==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "typescript": "5.x", + "vue": "^3.4.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + }, + "vue": { + "optional": true + } + } + }, + "node_modules/@vueuse/core": { + "version": "9.13.0", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-9.13.0.tgz", + "integrity": "sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==", + "license": "MIT", + "dependencies": { + "@types/web-bluetooth": "^0.0.16", + "@vueuse/metadata": "9.13.0", + "@vueuse/shared": "9.13.0", + "vue-demi": "*" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/core/node_modules/vue-demi": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/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/@vueuse/metadata": { + "version": "9.13.0", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-9.13.0.tgz", + "integrity": "sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/shared": { + "version": "9.13.0", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-9.13.0.tgz", + "integrity": "sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==", + "license": "MIT", + "dependencies": { + "vue-demi": "*" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/shared/node_modules/vue-demi": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/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/alien-signals": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/alien-signals/-/alien-signals-1.0.13.tgz", + "integrity": "sha512-OGj9yyTnJEttvzhTUWuscOvtqxq5vrhF7vL9oS0xJ2mK0ItPYP1/y+vCFebfxoEyAz0++1AIwJ5CMr+Fk3nDmg==", + "dev": true, + "license": "MIT" + }, + "node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/async-validator": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-4.2.5.tgz", + "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==", + "license": "MIT" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" + }, + "node_modules/axios": { + "version": "1.8.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.8.4.tgz", + "integrity": "sha512-eBSYY4Y68NNlHbHBMdeDmKNtDgXWhQsJcGqzO3iLUM0GraQFSS9cVgPX5I9b3lbdFKyYoAEGAZF1DwhTaljNAw==", + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/birpc": { + "version": "0.2.19", + "resolved": "https://registry.npmjs.org/birpc/-/birpc-0.2.19.tgz", + "integrity": "sha512-5WeXXAvTmitV1RqJFppT5QtUiz2p1mRSYU000Jkft5ZUCLJIk4uQriYNO50HknxKwM6jd8utNc66K1qGIwwWBQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz", + "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001688", + "electron-to-chromium": "^1.5.73", + "node-releases": "^2.0.19", + "update-browserslist-db": "^1.1.1" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bundle-name": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", + "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "run-applescript": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001712", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001712.tgz", + "integrity": "sha512-MBqPpGYYdQ7/hfKiet9SCI+nmN5/hp4ZzveOJubl5DTAMa5oggjAuoi0Z4onBpKPFI2ePGnQuQIzF3VxDjDJig==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/copy-anything": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-3.0.5.tgz", + "integrity": "sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==", + "license": "MIT", + "dependencies": { + "is-what": "^4.1.8" + }, + "engines": { + "node": ">=12.13" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cross-spawn/node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/cross-spawn/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "license": "MIT" + }, + "node_modules/dayjs": { + "version": "1.11.13", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz", + "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==", + "license": "MIT" + }, + "node_modules/de-indent": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", + "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==", + "dev": true, + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/default-browser": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.2.1.tgz", + "integrity": "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==", + "dev": true, + "license": "MIT", + "dependencies": { + "bundle-name": "^4.1.0", + "default-browser-id": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser-id": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.0.tgz", + "integrity": "sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "dev": true, + "license": "Apache-2.0", + "optional": true, + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/echarts": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/echarts/-/echarts-5.6.0.tgz", + "integrity": "sha512-oTbVTsXfKuEhxftHqL5xprgLoc0k7uScAwtryCgWF6hPYFLRwOUHiFmHGCBKP5NPFNkDVopOieyUqYGH8Fa3kA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "2.3.0", + "zrender": "5.6.1" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.134", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.134.tgz", + "integrity": "sha512-zSwzrLg3jNP3bwsLqWHmS5z2nIOQ5ngMnfMZOWWtXnqqQkPVyOipxK98w+1beLw1TB+EImPNcG8wVP/cLVs2Og==", + "dev": true, + "license": "ISC" + }, + "node_modules/element-plus": { + "version": "2.9.7", + "resolved": "https://registry.npmmirror.com/element-plus/-/element-plus-2.9.7.tgz", + "integrity": "sha512-6vjZh5SXBncLhUwJGTVKS5oDljfgGMh6J4zVTeAZK3YdMUN76FgpvHkwwFXocpJpMbii6rDYU3sgie64FyPerQ==", + "license": "MIT", + "dependencies": { + "@ctrl/tinycolor": "^3.4.1", + "@element-plus/icons-vue": "^2.3.1", + "@floating-ui/dom": "^1.0.1", + "@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7", + "@types/lodash": "^4.14.182", + "@types/lodash-es": "^4.17.6", + "@vueuse/core": "^9.1.0", + "async-validator": "^4.2.5", + "dayjs": "^1.11.13", + "escape-html": "^1.0.3", + "lodash": "^4.17.21", + "lodash-es": "^4.17.21", + "lodash-unified": "^1.0.2", + "memoize-one": "^6.0.0", + "normalize-wheel-es": "^1.2.0" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/error-stack-parser-es": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/error-stack-parser-es/-/error-stack-parser-es-0.1.5.tgz", + "integrity": "sha512-xHku1X40RO+fO8yJ8Wh2f2rZWVjqyhb1zgq1yZ8aZRQkv6OOKhKWRUaht3eSCUbAOBaKIgM+ykwFLE+QUxgGeg==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/esbuild": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.2.tgz", + "integrity": "sha512-16854zccKPnC+toMywC+uKNeYSv+/eXkevRAfwRD/G9Cleq66m8XFIrigkbvauLLlCfDL45Q2cWegSg53gGBnQ==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.2", + "@esbuild/android-arm": "0.25.2", + "@esbuild/android-arm64": "0.25.2", + "@esbuild/android-x64": "0.25.2", + "@esbuild/darwin-arm64": "0.25.2", + "@esbuild/darwin-x64": "0.25.2", + "@esbuild/freebsd-arm64": "0.25.2", + "@esbuild/freebsd-x64": "0.25.2", + "@esbuild/linux-arm": "0.25.2", + "@esbuild/linux-arm64": "0.25.2", + "@esbuild/linux-ia32": "0.25.2", + "@esbuild/linux-loong64": "0.25.2", + "@esbuild/linux-mips64el": "0.25.2", + "@esbuild/linux-ppc64": "0.25.2", + "@esbuild/linux-riscv64": "0.25.2", + "@esbuild/linux-s390x": "0.25.2", + "@esbuild/linux-x64": "0.25.2", + "@esbuild/netbsd-arm64": "0.25.2", + "@esbuild/netbsd-x64": "0.25.2", + "@esbuild/openbsd-arm64": "0.25.2", + "@esbuild/openbsd-x64": "0.25.2", + "@esbuild/sunos-x64": "0.25.2", + "@esbuild/win32-arm64": "0.25.2", + "@esbuild/win32-ia32": "0.25.2", + "@esbuild/win32-x64": "0.25.2" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT" + }, + "node_modules/execa": { + "version": "9.5.2", + "resolved": "https://registry.npmjs.org/execa/-/execa-9.5.2.tgz", + "integrity": "sha512-EHlpxMCpHWSAh1dgS6bVeoLAXGnJNdR93aabr4QCGbzOM73o5XmRfM/e5FUqsw3aagP8S8XEWUWFAxnRBnAF0Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@sindresorhus/merge-streams": "^4.0.0", + "cross-spawn": "^7.0.3", + "figures": "^6.1.0", + "get-stream": "^9.0.0", + "human-signals": "^8.0.0", + "is-plain-obj": "^4.1.0", + "is-stream": "^4.0.1", + "npm-run-path": "^6.0.0", + "pretty-ms": "^9.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^4.0.0", + "yoctocolors": "^2.0.0" + }, + "engines": { + "node": "^18.19.0 || >=20.5.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/figures": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-6.1.0.tgz", + "integrity": "sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-unicode-supported": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/follow-redirects": { + "version": "1.15.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/form-data": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.2.tgz", + "integrity": "sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fs-extra": { + "version": "11.3.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.0.tgz", + "integrity": "sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-stream": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-9.0.1.tgz", + "integrity": "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@sec-ant/readable-stream": "^0.4.1", + "is-stream": "^4.0.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "license": "MIT", + "bin": { + "he": "bin/he" + } + }, + "node_modules/hookable": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/hookable/-/hookable-5.5.3.tgz", + "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==", + "license": "MIT" + }, + "node_modules/human-signals": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-8.0.1.tgz", + "integrity": "sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/immutable": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.1.tgz", + "integrity": "sha512-3jatXi9ObIsPGr3N5hGw/vWWcTkq6hUYhpQz4k0wLC+owqWi/LiugIw9x0EdNZ2yGedKN/HzePiBvaJRXa0Ujg==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "dev": true, + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-stream": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", + "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-unicode-supported": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz", + "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-what": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/is-what/-/is-what-4.1.16.tgz", + "integrity": "sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==", + "license": "MIT", + "engines": { + "node": ">=12.13" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/is-wsl": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", + "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-inside-container": "^1.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-4.0.0.tgz", + "integrity": "sha512-lR4MXjGNgkJc7tkQ97kb2nuEMnNCyU//XYVH0MKTGcXEiSudQ5MKGKen3C5QubYy0vmq+JGitUg92uuywGEwIA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/kolorist": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/kolorist/-/kolorist-1.8.0.tgz", + "integrity": "sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "license": "MIT" + }, + "node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", + "license": "MIT" + }, + "node_modules/lodash-unified": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/lodash-unified/-/lodash-unified-1.0.3.tgz", + "integrity": "sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==", + "license": "MIT", + "peerDependencies": { + "@types/lodash-es": "*", + "lodash": "*", + "lodash-es": "*" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/magic-string": { + "version": "0.30.17", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", + "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/memoize-one": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz", + "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==", + "license": "MIT" + }, + "node_modules/memorystream": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", + "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==", + "dev": true, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/micromatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/mitt": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", + "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==", + "license": "MIT" + }, + "node_modules/mrmime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", + "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/muggle-string": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.4.1.tgz", + "integrity": "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/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/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/node-releases": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", + "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", + "dev": true, + "license": "MIT" + }, + "node_modules/normalize-wheel-es": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz", + "integrity": "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==", + "license": "BSD-3-Clause" + }, + "node_modules/npm-normalize-package-bin": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-4.0.0.tgz", + "integrity": "sha512-TZKxPvItzai9kN9H/TkmCtx/ZN/hvr3vUycjlfmH0ootY9yFBzNOpiXAdIn1Iteqsvk4lQn6B5PTrt+n6h8k/w==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm-run-all2": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/npm-run-all2/-/npm-run-all2-7.0.2.tgz", + "integrity": "sha512-7tXR+r9hzRNOPNTvXegM+QzCuMjzUIIq66VDunL6j60O4RrExx32XUhlrS7UK4VcdGw5/Wxzb3kfNcFix9JKDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "cross-spawn": "^7.0.6", + "memorystream": "^0.3.1", + "minimatch": "^9.0.0", + "pidtree": "^0.6.0", + "read-package-json-fast": "^4.0.0", + "shell-quote": "^1.7.3", + "which": "^5.0.0" + }, + "bin": { + "npm-run-all": "bin/npm-run-all/index.js", + "npm-run-all2": "bin/npm-run-all/index.js", + "run-p": "bin/run-p/index.js", + "run-s": "bin/run-s/index.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0", + "npm": ">= 9" + } + }, + "node_modules/npm-run-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-6.0.0.tgz", + "integrity": "sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^4.0.0", + "unicorn-magic": "^0.3.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/open/-/open-10.1.0.tgz", + "integrity": "sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "default-browser": "^5.2.1", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "is-wsl": "^3.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse-ms": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-4.0.0.tgz", + "integrity": "sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "dev": true, + "license": "MIT" + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "dev": true, + "license": "MIT" + }, + "node_modules/perfect-debounce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-1.0.0.tgz", + "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==", + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pidtree": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", + "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", + "dev": true, + "license": "MIT", + "bin": { + "pidtree": "bin/pidtree.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/pinia": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/pinia/-/pinia-3.0.1.tgz", + "integrity": "sha512-WXglsDzztOTH6IfcJ99ltYZin2mY8XZCXujkYWVIJlBjqsP6ST7zw+Aarh63E1cDVYeyUcPCxPHzJpEOmzB6Wg==", + "license": "MIT", + "dependencies": { + "@vue/devtools-api": "^7.7.2" + }, + "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.3", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz", + "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==", + "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.8", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/pretty-ms": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-9.2.0.tgz", + "integrity": "sha512-4yf0QO/sllf/1zbZWYnvWw3NxCQwLXKzIj0G849LSufP15BXKM0rbD2Z3wVnkMfjdn/CB0Dpp444gYAACdsplg==", + "dev": true, + "license": "MIT", + "dependencies": { + "parse-ms": "^4.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "license": "MIT" + }, + "node_modules/read-package-json-fast": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-4.0.0.tgz", + "integrity": "sha512-qpt8EwugBWDw2cgE2W+/3oxC+KTez2uSVR8JU9Q36TXPAGCaozfQUs59v4j4GFpWTaw0i6hAZSvOmu1J0uOEUg==", + "dev": true, + "license": "ISC", + "dependencies": { + "json-parse-even-better-errors": "^4.0.0", + "npm-normalize-package-bin": "^4.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "license": "MIT" + }, + "node_modules/rollup": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.39.0.tgz", + "integrity": "sha512-thI8kNc02yNvnmJp8dr3fNWJ9tCONDhp6TV35X6HkKGGs9E6q7YWCHbe5vKiTa7TAiNcFEmXKj3X/pG2b3ci0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.7" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.39.0", + "@rollup/rollup-android-arm64": "4.39.0", + "@rollup/rollup-darwin-arm64": "4.39.0", + "@rollup/rollup-darwin-x64": "4.39.0", + "@rollup/rollup-freebsd-arm64": "4.39.0", + "@rollup/rollup-freebsd-x64": "4.39.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.39.0", + "@rollup/rollup-linux-arm-musleabihf": "4.39.0", + "@rollup/rollup-linux-arm64-gnu": "4.39.0", + "@rollup/rollup-linux-arm64-musl": "4.39.0", + "@rollup/rollup-linux-loongarch64-gnu": "4.39.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.39.0", + "@rollup/rollup-linux-riscv64-gnu": "4.39.0", + "@rollup/rollup-linux-riscv64-musl": "4.39.0", + "@rollup/rollup-linux-s390x-gnu": "4.39.0", + "@rollup/rollup-linux-x64-gnu": "4.39.0", + "@rollup/rollup-linux-x64-musl": "4.39.0", + "@rollup/rollup-win32-arm64-msvc": "4.39.0", + "@rollup/rollup-win32-ia32-msvc": "4.39.0", + "@rollup/rollup-win32-x64-msvc": "4.39.0", + "fsevents": "~2.3.2" + } + }, + "node_modules/run-applescript": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.0.0.tgz", + "integrity": "sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/sass": { + "version": "1.86.3", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.86.3.tgz", + "integrity": "sha512-iGtg8kus4GrsGLRDLRBRHY9dNVA78ZaS7xr01cWnS7PEMQyFtTqBiyCrfpTYTZXRWM94akzckYjh8oADfFNTzw==", + "dev": true, + "license": "MIT", + "dependencies": { + "chokidar": "^4.0.0", + "immutable": "^5.0.2", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + }, + "optionalDependencies": { + "@parcel/watcher": "^2.4.1" + } + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.2.tgz", + "integrity": "sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sirv": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-3.0.1.tgz", + "integrity": "sha512-FoqMu0NCGBLCcAkS1qA+XJIQTR6/JHfQXl+uGteNCQ76T91DMUjPa9xfmeqMY3z80nLSg9yQmNjK0Px6RWsH/A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@polka/url": "^1.0.0-next.24", + "mrmime": "^2.0.0", + "totalist": "^3.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/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/speakingurl": { + "version": "14.0.1", + "resolved": "https://registry.npmjs.org/speakingurl/-/speakingurl-14.0.1.tgz", + "integrity": "sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-final-newline": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-4.0.0.tgz", + "integrity": "sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/superjson": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/superjson/-/superjson-2.2.2.tgz", + "integrity": "sha512-5JRxVqC8I8NuOUjzBbvVJAKNM8qoVuH0O77h4WInc/qC2q5IreqKxYwgkga3PfA22OayK2ikceb/B26dztPl+Q==", + "license": "MIT", + "dependencies": { + "copy-anything": "^3.0.2" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/totalist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/tslib": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==", + "license": "0BSD" + }, + "node_modules/typescript": { + "version": "5.8.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", + "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", + "devOptional": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/unicorn-magic": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz", + "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", + "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/vite": { + "version": "6.2.5", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.2.5.tgz", + "integrity": "sha512-j023J/hCAa4pRIUH6J9HemwYfjB5llR2Ps0CWeikOtdR8+pAURAk0DoJC5/mm9kd+UgdnIy7d6HE4EAvlYhPhA==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.25.0", + "postcss": "^8.5.3", + "rollup": "^4.30.1" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "jiti": ">=1.21.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/vite-hot-client": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/vite-hot-client/-/vite-hot-client-0.2.4.tgz", + "integrity": "sha512-a1nzURqO7DDmnXqabFOliz908FRmIppkBKsJthS8rbe8hBEXwEwe4C3Pp33Z1JoFCYfVL4kTOMLKk0ZZxREIeA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "vite": "^2.6.0 || ^3.0.0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0" + } + }, + "node_modules/vite-plugin-inspect": { + "version": "0.8.9", + "resolved": "https://registry.npmjs.org/vite-plugin-inspect/-/vite-plugin-inspect-0.8.9.tgz", + "integrity": "sha512-22/8qn+LYonzibb1VeFZmISdVao5kC22jmEKm24vfFE8siEn47EpVcCLYMv6iKOYMJfjSvSJfueOwcFCkUnV3A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@antfu/utils": "^0.7.10", + "@rollup/pluginutils": "^5.1.3", + "debug": "^4.3.7", + "error-stack-parser-es": "^0.1.5", + "fs-extra": "^11.2.0", + "open": "^10.1.0", + "perfect-debounce": "^1.0.0", + "picocolors": "^1.1.1", + "sirv": "^3.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "vite": "^3.1.0 || ^4.0.0 || ^5.0.0-0 || ^6.0.1" + }, + "peerDependenciesMeta": { + "@nuxt/kit": { + "optional": true + } + } + }, + "node_modules/vite-plugin-vue-devtools": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/vite-plugin-vue-devtools/-/vite-plugin-vue-devtools-7.7.2.tgz", + "integrity": "sha512-5V0UijQWiSBj32blkyPEqIbzc6HO9c1bwnBhx+ay2dzU0FakH+qMdNUT8nF9BvDE+i6I1U8CqCuJiO20vKEdQw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/devtools-core": "^7.7.2", + "@vue/devtools-kit": "^7.7.2", + "@vue/devtools-shared": "^7.7.2", + "execa": "^9.5.1", + "sirv": "^3.0.0", + "vite-plugin-inspect": "0.8.9", + "vite-plugin-vue-inspector": "^5.3.1" + }, + "engines": { + "node": ">=v14.21.3" + }, + "peerDependencies": { + "vite": "^3.1.0 || ^4.0.0-0 || ^5.0.0-0 || ^6.0.0-0" + } + }, + "node_modules/vite-plugin-vue-inspector": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/vite-plugin-vue-inspector/-/vite-plugin-vue-inspector-5.3.1.tgz", + "integrity": "sha512-cBk172kZKTdvGpJuzCCLg8lJ909wopwsu3Ve9FsL1XsnLBiRT9U3MePcqrgGHgCX2ZgkqZmAGR8taxw+TV6s7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.23.0", + "@babel/plugin-proposal-decorators": "^7.23.0", + "@babel/plugin-syntax-import-attributes": "^7.22.5", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-transform-typescript": "^7.22.15", + "@vue/babel-plugin-jsx": "^1.1.5", + "@vue/compiler-dom": "^3.3.4", + "kolorist": "^1.8.0", + "magic-string": "^0.30.4" + }, + "peerDependencies": { + "vite": "^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0 || ^6.0.0-0" + } + }, + "node_modules/vscode-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.1.0.tgz", + "integrity": "sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/vue": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.13.tgz", + "integrity": "sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.5.13", + "@vue/compiler-sfc": "3.5.13", + "@vue/runtime-dom": "3.5.13", + "@vue/server-renderer": "3.5.13", + "@vue/shared": "3.5.13" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/vue-router": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.5.0.tgz", + "integrity": "sha512-HDuk+PuH5monfNuY+ct49mNmkCRK4xJAV9Ts4z9UFc4rzdDnxQLyCMGGc8pKhZhHTVzfanpNwB/lwqevcBwI4w==", + "license": "MIT", + "dependencies": { + "@vue/devtools-api": "^6.6.4" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/vue-router/node_modules/@vue/devtools-api": { + "version": "6.6.4", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.6.4.tgz", + "integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==", + "license": "MIT" + }, + "node_modules/vue-tsc": { + "version": "2.2.8", + "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-2.2.8.tgz", + "integrity": "sha512-jBYKBNFADTN+L+MdesNX/TB3XuDSyaWynKMDgR+yCSln0GQ9Tfb7JS2lr46s2LiFUT1WsmfWsSvIElyxzOPqcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/typescript": "~2.4.11", + "@vue/language-core": "2.2.8" + }, + "bin": { + "vue-tsc": "bin/vue-tsc.js" + }, + "peerDependencies": { + "typescript": ">=5.0.0" + } + }, + "node_modules/which": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", + "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + }, + "node_modules/yoctocolors": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.1.1.tgz", + "integrity": "sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zrender": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/zrender/-/zrender-5.6.1.tgz", + "integrity": "sha512-OFXkDJKcrlx5su2XbzJvj/34Q3m6PvyCZkVPHGYpcCJ52ek4U/ymZyfuV1nKE23AyBJ51E/6Yr0mhZ7xGTO4ag==", + "license": "BSD-3-Clause", + "dependencies": { + "tslib": "2.3.0" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..81e77d5 --- /dev/null +++ b/package.json @@ -0,0 +1,33 @@ +{ + "name": "web", + "version": "0.0.0", + "private": true, + "type": "module", + "scripts": { + "dev": "vite", + "build": "run-p type-check \"build-only {@}\" --", + "preview": "vite preview", + "build-only": "vite build", + "type-check": "vue-tsc --build" + }, + "dependencies": { + "axios": "^1.8.4", + "echarts": "^5.6.0", + "element-plus": "^2.9.7", + "pinia": "^3.0.1", + "vue": "^3.5.13", + "vue-router": "^4.5.0" + }, + "devDependencies": { + "@tsconfig/node22": "^22.0.1", + "@types/node": "^22.14.0", + "@vitejs/plugin-vue": "^5.2.3", + "@vue/tsconfig": "^0.7.0", + "npm-run-all2": "^7.0.2", + "sass": "^1.86.3", + "typescript": "~5.8.0", + "vite": "^6.2.4", + "vite-plugin-vue-devtools": "^7.7.2", + "vue-tsc": "^2.2.8" + } +} diff --git a/public/.gitignore b/public/.gitignore new file mode 100644 index 0000000..0cffcb3 --- /dev/null +++ b/public/.gitignore @@ -0,0 +1 @@ +config.json \ No newline at end of file diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000..1b36c1c Binary files /dev/null and b/public/favicon.ico differ diff --git a/public/static/images/flows/1.png b/public/static/images/flows/1.png new file mode 100644 index 0000000..a96ff82 Binary files /dev/null and b/public/static/images/flows/1.png differ diff --git a/public/static/images/flows/2.png b/public/static/images/flows/2.png new file mode 100644 index 0000000..f1e92ae Binary files /dev/null and b/public/static/images/flows/2.png differ diff --git a/public/static/images/flows/3.png b/public/static/images/flows/3.png new file mode 100644 index 0000000..73b9091 Binary files /dev/null and b/public/static/images/flows/3.png differ diff --git a/public/static/images/flows/4.png b/public/static/images/flows/4.png new file mode 100644 index 0000000..761fb5f Binary files /dev/null and b/public/static/images/flows/4.png differ diff --git a/public/static/images/flows/5.png b/public/static/images/flows/5.png new file mode 100644 index 0000000..5271151 Binary files /dev/null and b/public/static/images/flows/5.png differ diff --git a/public/static/images/home/1-danger.png b/public/static/images/home/1-danger.png new file mode 100644 index 0000000..d08e4e9 Binary files /dev/null and b/public/static/images/home/1-danger.png differ diff --git a/public/static/images/home/1-normal.png b/public/static/images/home/1-normal.png new file mode 100644 index 0000000..037a26a Binary files /dev/null and b/public/static/images/home/1-normal.png differ diff --git a/public/static/images/home/1-warn.png b/public/static/images/home/1-warn.png new file mode 100644 index 0000000..ea24888 Binary files /dev/null and b/public/static/images/home/1-warn.png differ diff --git a/public/static/images/home/1.png b/public/static/images/home/1.png new file mode 100644 index 0000000..bd48479 Binary files /dev/null and b/public/static/images/home/1.png differ diff --git a/public/static/images/home/2.png b/public/static/images/home/2.png new file mode 100644 index 0000000..04584e7 Binary files /dev/null and b/public/static/images/home/2.png differ diff --git a/public/static/images/home/3.png b/public/static/images/home/3.png new file mode 100644 index 0000000..f063d81 Binary files /dev/null and b/public/static/images/home/3.png differ diff --git a/public/static/images/home/4.png b/public/static/images/home/4.png new file mode 100644 index 0000000..69b3adf Binary files /dev/null and b/public/static/images/home/4.png differ diff --git a/public/static/images/home/5.png b/public/static/images/home/5.png new file mode 100644 index 0000000..24f5fe0 Binary files /dev/null and b/public/static/images/home/5.png differ diff --git a/public/static/images/home/app-head.png b/public/static/images/home/app-head.png new file mode 100644 index 0000000..53fec7a Binary files /dev/null and b/public/static/images/home/app-head.png differ diff --git a/public/static/images/home/banner.png b/public/static/images/home/banner.png new file mode 100644 index 0000000..1591ee2 Binary files /dev/null and b/public/static/images/home/banner.png differ diff --git a/public/static/images/home/banner1.png b/public/static/images/home/banner1.png new file mode 100644 index 0000000..a598e59 Binary files /dev/null and b/public/static/images/home/banner1.png differ diff --git a/public/static/images/home/banner2.png b/public/static/images/home/banner2.png new file mode 100644 index 0000000..7449056 Binary files /dev/null and b/public/static/images/home/banner2.png differ diff --git a/public/static/images/home/banner3.png b/public/static/images/home/banner3.png new file mode 100644 index 0000000..45c4c97 Binary files /dev/null and b/public/static/images/home/banner3.png differ diff --git a/public/static/images/home/danger.png b/public/static/images/home/danger.png new file mode 100644 index 0000000..af00618 Binary files /dev/null and b/public/static/images/home/danger.png differ diff --git a/public/static/images/home/normal.png b/public/static/images/home/normal.png new file mode 100644 index 0000000..953ec18 Binary files /dev/null and b/public/static/images/home/normal.png differ diff --git a/public/static/images/home/qr-code.png b/public/static/images/home/qr-code.png new file mode 100644 index 0000000..99b68e1 Binary files /dev/null and b/public/static/images/home/qr-code.png differ diff --git a/public/static/images/home/warn.png b/public/static/images/home/warn.png new file mode 100644 index 0000000..246704a Binary files /dev/null and b/public/static/images/home/warn.png differ diff --git a/public/static/images/member/head.png b/public/static/images/member/head.png new file mode 100644 index 0000000..7879acd Binary files /dev/null and b/public/static/images/member/head.png differ diff --git a/public/static/images/member/man.png b/public/static/images/member/man.png new file mode 100644 index 0000000..431de27 Binary files /dev/null and b/public/static/images/member/man.png differ diff --git a/public/static/images/member/women.png b/public/static/images/member/women.png new file mode 100644 index 0000000..f6dfe03 Binary files /dev/null and b/public/static/images/member/women.png differ diff --git a/public/static/images/menu_icon/1-active.png b/public/static/images/menu_icon/1-active.png new file mode 100644 index 0000000..8e085d1 Binary files /dev/null and b/public/static/images/menu_icon/1-active.png differ diff --git a/public/static/images/menu_icon/1.png b/public/static/images/menu_icon/1.png new file mode 100644 index 0000000..d20350c Binary files /dev/null and b/public/static/images/menu_icon/1.png differ diff --git a/public/static/images/menu_icon/2-active.png b/public/static/images/menu_icon/2-active.png new file mode 100644 index 0000000..c93c47c Binary files /dev/null and b/public/static/images/menu_icon/2-active.png differ diff --git a/public/static/images/menu_icon/2.png b/public/static/images/menu_icon/2.png new file mode 100644 index 0000000..737eb7c Binary files /dev/null and b/public/static/images/menu_icon/2.png differ diff --git a/public/static/images/menu_icon/3-active.png b/public/static/images/menu_icon/3-active.png new file mode 100644 index 0000000..df46ed4 Binary files /dev/null and b/public/static/images/menu_icon/3-active.png differ diff --git a/public/static/images/menu_icon/3.png b/public/static/images/menu_icon/3.png new file mode 100644 index 0000000..bbb1964 Binary files /dev/null and b/public/static/images/menu_icon/3.png differ diff --git a/public/static/images/menu_icon/4-active.png b/public/static/images/menu_icon/4-active.png new file mode 100644 index 0000000..d0746c8 Binary files /dev/null and b/public/static/images/menu_icon/4-active.png differ diff --git a/public/static/images/menu_icon/4.png b/public/static/images/menu_icon/4.png new file mode 100644 index 0000000..1e88058 Binary files /dev/null and b/public/static/images/menu_icon/4.png differ diff --git a/public/static/images/menu_icon/5-active.png b/public/static/images/menu_icon/5-active.png new file mode 100644 index 0000000..69c9f0f Binary files /dev/null and b/public/static/images/menu_icon/5-active.png differ diff --git a/public/static/images/menu_icon/5.png b/public/static/images/menu_icon/5.png new file mode 100644 index 0000000..82fdc51 Binary files /dev/null and b/public/static/images/menu_icon/5.png differ diff --git a/public/static/images/menu_icon/6-actvie.png b/public/static/images/menu_icon/6-actvie.png new file mode 100644 index 0000000..89186a6 Binary files /dev/null and b/public/static/images/menu_icon/6-actvie.png differ diff --git a/public/static/images/menu_icon/6.png b/public/static/images/menu_icon/6.png new file mode 100644 index 0000000..73d9a75 Binary files /dev/null and b/public/static/images/menu_icon/6.png differ diff --git a/public/static/images/menu_icon/7-active.png b/public/static/images/menu_icon/7-active.png new file mode 100644 index 0000000..b657b0f Binary files /dev/null and b/public/static/images/menu_icon/7-active.png differ diff --git a/public/static/images/menu_icon/7.png b/public/static/images/menu_icon/7.png new file mode 100644 index 0000000..5eecb6d Binary files /dev/null and b/public/static/images/menu_icon/7.png differ diff --git a/public/static/images/menu_icon/8-active.png b/public/static/images/menu_icon/8-active.png new file mode 100644 index 0000000..0fb1450 Binary files /dev/null and b/public/static/images/menu_icon/8-active.png differ diff --git a/public/static/images/menu_icon/8.png b/public/static/images/menu_icon/8.png new file mode 100644 index 0000000..9618432 Binary files /dev/null and b/public/static/images/menu_icon/8.png differ diff --git a/public/static/images/menu_icon/9-active.png b/public/static/images/menu_icon/9-active.png new file mode 100644 index 0000000..b761607 Binary files /dev/null and b/public/static/images/menu_icon/9-active.png differ diff --git a/public/static/images/menu_icon/9.png b/public/static/images/menu_icon/9.png new file mode 100644 index 0000000..e526b9b Binary files /dev/null and b/public/static/images/menu_icon/9.png differ diff --git a/public/static/images/outpatient/man.png b/public/static/images/outpatient/man.png new file mode 100644 index 0000000..431de27 Binary files /dev/null and b/public/static/images/outpatient/man.png differ diff --git a/public/static/images/outpatient/profile-picture.png b/public/static/images/outpatient/profile-picture.png new file mode 100644 index 0000000..1b1056d Binary files /dev/null and b/public/static/images/outpatient/profile-picture.png differ diff --git a/public/static/images/outpatient/search.png b/public/static/images/outpatient/search.png new file mode 100644 index 0000000..0e1de3e Binary files /dev/null and b/public/static/images/outpatient/search.png differ diff --git a/public/static/images/outpatient/women.png b/public/static/images/outpatient/women.png new file mode 100644 index 0000000..f6dfe03 Binary files /dev/null and b/public/static/images/outpatient/women.png differ diff --git a/public/static/images/overView/1.png b/public/static/images/overView/1.png new file mode 100644 index 0000000..b7c111a Binary files /dev/null and b/public/static/images/overView/1.png differ diff --git a/public/static/images/overView/2.png b/public/static/images/overView/2.png new file mode 100644 index 0000000..2ede9da Binary files /dev/null and b/public/static/images/overView/2.png differ diff --git a/public/static/images/overView/3.png b/public/static/images/overView/3.png new file mode 100644 index 0000000..32b89be Binary files /dev/null and b/public/static/images/overView/3.png differ diff --git a/public/static/images/overView/4.png b/public/static/images/overView/4.png new file mode 100644 index 0000000..ec5157e Binary files /dev/null and b/public/static/images/overView/4.png differ diff --git a/public/static/images/retail/null.png b/public/static/images/retail/null.png new file mode 100644 index 0000000..4347e1a Binary files /dev/null and b/public/static/images/retail/null.png differ diff --git a/src/App.vue b/src/App.vue new file mode 100644 index 0000000..8a0d8a2 --- /dev/null +++ b/src/App.vue @@ -0,0 +1,10 @@ + + + + + diff --git a/src/assets/config/antys.json b/src/assets/config/antys.json new file mode 100644 index 0000000..5b6afeb --- /dev/null +++ b/src/assets/config/antys.json @@ -0,0 +1,58 @@ +{ + "01": "汉族", + "02": "蒙古族", + "03": "回族", + "04": "藏族", + "05": "维吾尔族", + "06": "苗族", + "07": "彝族", + "08": "壮族", + "09": "布依族", + "10": "朝鲜族", + "11": "满族", + "12": "侗族", + "13": "瑶族", + "14": "白族", + "15": "土家族", + "16": "哈尼族", + "17": "哈萨克族", + "18": "傣族", + "19": "黎族", + "20": "傈僳族", + "21": "佤族", + "22": "畲族", + "23": "高山族", + "24": "拉祜族", + "25": "水族", + "26": "东乡族", + "27": "纳西族", + "28": "景颇族", + "29": "柯尔克孜族", + "30": "土族", + "31": "达斡尔族", + "32": "仫佬族", + "33": "羌族", + "34": "布朗族", + "35": "撒拉族", + "36": "毛南族", + "37": "仡佬族", + "38": "锡伯族", + "39": "阿昌族", + "40": "普米族", + "41": "塔吉克族", + "42": "怒族", + "43": "乌孜别克族", + "44": "俄罗斯族", + "45": "鄂温克族", + "46": "德昂族", + "47": "保安族", + "48": "裕固族", + "49": "京族", + "50": "塔塔尔族", + "51": "独龙族", + "52": "鄂伦春族", + "53": "赫哲族", + "54": "门巴族", + "55": "珞巴族", + "56": "基诺族" +} \ No newline at end of file diff --git a/src/assets/config/area.json b/src/assets/config/area.json new file mode 100644 index 0000000..6a5a877 --- /dev/null +++ b/src/assets/config/area.json @@ -0,0 +1,5730 @@ +[ + { + "name": "北京市", + "code": "110000", + "city": [ + { + "name": "市辖区", + "code": "110100", + "area": [ + {"name": "东城区","code": "110101"}, + {"name": "西城区","code": "110102"}, + {"name": "朝阳区","code": "110105"}, + {"name": "丰台区","code": "110106"}, + {"name": "石景山区","code": "110107"}, + {"name": "海淀区","code": "110108"}, + {"name": "门头沟区","code": "110109"}, + {"name": "房山区","code": "110111"}, + {"name": "通州区","code": "110112"}, + {"name": "顺义区","code": "110113"}, + {"name": "昌平区","code": "110114"}, + {"name": "大兴区","code": "110115"}, + {"name": "怀柔区","code": "110116"}, + {"name": "平谷区","code": "110117"}, + {"name": "密云区","code": "110118"}, + {"name": "延庆区","code": "110119" + } + ] + } + ] + }, + { + "name": "天津市", + "code": "120000", + "city": [ + { + "name": "市辖区", + "code": "120100", + "area": [ + {"name": "和平区","code": "120101"}, + {"name": "河东区","code": "120102"}, + {"name": "河西区","code": "120103"}, + {"name": "南开区","code": "120104"}, + {"name": "河北区","code": "120105"}, + {"name": "红桥区","code": "120106"}, + {"name": "东丽区","code": "120110"}, + {"name": "西青区","code": "120111"}, + {"name": "津南区","code": "120112"}, + {"name": "北辰区","code": "120113"}, + {"name": "武清区","code": "120114"}, + {"name": "宝坻区","code": "120115"}, + {"name": "滨海新区","code": "120116"}, + {"name": "宁河区","code": "120117"}, + {"name": "静海区","code": "120118"}, + {"name": "蓟州区","code": "120119" + } + ] + } + ] + }, + { + "name": "河北省", + "code": "130000", + "city": [ + { + "name": "石家庄市", + "code": "130100", + "area": [ + {"name": "市辖区","code": "130101"}, + {"name": "长安区","code": "130102"}, + {"name": "桥西区","code": "130104"}, + {"name": "新华区","code": "130105"}, + {"name": "井陉矿区","code": "130107"}, + {"name": "裕华区","code": "130108"}, + {"name": "藁城区","code": "130109"}, + {"name": "鹿泉区","code": "130110"}, + {"name": "栾城区","code": "130111"}, + {"name": "井陉县","code": "130121"}, + {"name": "正定县","code": "130123"}, + {"name": "行唐县","code": "130125"}, + {"name": "灵寿县","code": "130126"}, + {"name": "高邑县","code": "130127"}, + {"name": "深泽县","code": "130128"}, + {"name": "赞皇县","code": "130129"}, + {"name": "无极县","code": "130130"}, + {"name": "平山县","code": "130131"}, + {"name": "元氏县","code": "130132"}, + {"name": "赵县","code": "130133"}, + {"name": "晋州市","code": "130183"}, + {"name": "新乐市","code": "130184" + } + ] + }, + { + "name": "唐山市", + "code": "130200", + "area": [ + {"name": "市辖区","code": "130201"}, + {"name": "路南区","code": "130202"}, + {"name": "路北区","code": "130203"}, + {"name": "古冶区","code": "130204"}, + {"name": "开平区","code": "130205"}, + {"name": "丰南区","code": "130207"}, + {"name": "丰润区","code": "130208"}, + {"name": "曹妃甸区","code": "130209"}, + {"name": "滦县","code": "130223"}, + {"name": "滦南县","code": "130224"}, + {"name": "乐亭县","code": "130225"}, + {"name": "迁西县","code": "130227"}, + {"name": "玉田县","code": "130229"}, + {"name": "遵化市","code": "130281"}, + {"name": "迁安市","code": "130283" + } + ] + }, + { + "name": "秦皇岛市", + "code": "130300", + "area": [ + {"name": "市辖区","code": "130301"}, + {"name": "海港区","code": "130302"}, + {"name": "山海关区","code": "130303"}, + {"name": "北戴河区","code": "130304"}, + {"name": "抚宁区","code": "130306"}, + {"name": "青龙满族自治县","code": "130321"}, + {"name": "昌黎县","code": "130322"}, + {"name": "卢龙县","code": "130324" + } + ] + }, + { + "name": "邯郸市", + "code": "130400", + "area": [ + {"name": "市辖区","code": "130401"}, + {"name": "邯山区","code": "130402"}, + {"name": "丛台区","code": "130403"}, + {"name": "复兴区","code": "130404"}, + {"name": "峰峰矿区","code": "130406"}, + {"name": "邯郸县","code": "130421"}, + {"name": "临漳县","code": "130423"}, + {"name": "成安县","code": "130424"}, + {"name": "大名县","code": "130425"}, + {"name": "涉县","code": "130426"}, + {"name": "磁县","code": "130427"}, + {"name": "肥乡县","code": "130428"}, + {"name": "永年县","code": "130429"}, + {"name": "邱县","code": "130430"}, + {"name": "鸡泽县","code": "130431"}, + {"name": "广平县","code": "130432"}, + {"name": "馆陶县","code": "130433"}, + {"name": "魏县","code": "130434"}, + {"name": "曲周县","code": "130435"}, + {"name": "武安市","code": "130481" + } + ] + }, + { + "name": "邢台市", + "code": "130500", + "area": [ + {"name": "市辖区","code": "130501"}, + {"name": "桥东区","code": "130502"}, + {"name": "桥西区","code": "130503"}, + {"name": "邢台县","code": "130521"}, + {"name": "临城县","code": "130522"}, + {"name": "内丘县","code": "130523"}, + {"name": "柏乡县","code": "130524"}, + {"name": "隆尧县","code": "130525"}, + {"name": "任县","code": "130526"}, + {"name": "南和县","code": "130527"}, + {"name": "宁晋县","code": "130528"}, + {"name": "巨鹿县","code": "130529"}, + {"name": "新河县","code": "130530"}, + {"name": "广宗县","code": "130531"}, + {"name": "平乡县","code": "130532"}, + {"name": "威县","code": "130533"}, + {"name": "清河县","code": "130534"}, + {"name": "临西县","code": "130535"}, + {"name": "南宫市","code": "130581"}, + {"name": "沙河市","code": "130582" + } + ] + }, + { + "name": "保定市", + "code": "130600", + "area": [ + {"name": "市辖区","code": "130601"}, + {"name": "竞秀区","code": "130602"}, + {"name": "莲池区","code": "130606"}, + {"name": "满城区","code": "130607"}, + {"name": "清苑区","code": "130608"}, + {"name": "徐水区","code": "130609"}, + {"name": "涞水县","code": "130623"}, + {"name": "阜平县","code": "130624"}, + {"name": "定兴县","code": "130626"}, + {"name": "唐县","code": "130627"}, + {"name": "高阳县","code": "130628"}, + {"name": "容城县","code": "130629"}, + {"name": "涞源县","code": "130630"}, + {"name": "望都县","code": "130631"}, + {"name": "安新县","code": "130632"}, + {"name": "易县","code": "130633"}, + {"name": "曲阳县","code": "130634"}, + {"name": "蠡县","code": "130635"}, + {"name": "顺平县","code": "130636"}, + {"name": "博野县","code": "130637"}, + {"name": "雄县","code": "130638"}, + {"name": "涿州市","code": "130681"}, + {"name": "安国市","code": "130683"}, + {"name": "高碑店市","code": "130684" + } + ] + }, + { + "name": "张家口市", + "code": "130700", + "area": [ + {"name": "市辖区","code": "130701"}, + {"name": "桥东区","code": "130702"}, + {"name": "桥西区","code": "130703"}, + {"name": "宣化区","code": "130705"}, + {"name": "下花园区","code": "130706"}, + {"name": "万全区","code": "130708"}, + {"name": "崇礼区","code": "130709"}, + {"name": "张北县","code": "130722"}, + {"name": "康保县","code": "130723"}, + {"name": "沽源县","code": "130724"}, + {"name": "尚义县","code": "130725"}, + {"name": "蔚县","code": "130726"}, + {"name": "阳原县","code": "130727"}, + {"name": "怀安县","code": "130728"}, + {"name": "怀来县","code": "130730"}, + {"name": "涿鹿县","code": "130731"}, + {"name": "赤城县","code": "130732" + } + ] + }, + { + "name": "承德市", + "code": "130800", + "area": [ + {"name": "市辖区","code": "130801"}, + {"name": "双桥区","code": "130802"}, + {"name": "双滦区","code": "130803"}, + {"name": "鹰手营子矿区","code": "130804"}, + {"name": "承德县","code": "130821"}, + {"name": "兴隆县","code": "130822"}, + {"name": "平泉县","code": "130823"}, + {"name": "滦平县","code": "130824"}, + {"name": "隆化县","code": "130825"}, + {"name": "丰宁满族自治县","code": "130826"}, + {"name": "宽城满族自治县","code": "130827"}, + {"name": "围场满族蒙古族自治县","code": "130828" + } + ] + }, + { + "name": "沧州市", + "code": "130900", + "area": [ + {"name": "市辖区","code": "130901"}, + {"name": "新华区","code": "130902"}, + {"name": "运河区","code": "130903"}, + {"name": "沧县","code": "130921"}, + {"name": "青县","code": "130922"}, + {"name": "东光县","code": "130923"}, + {"name": "海兴县","code": "130924"}, + {"name": "盐山县","code": "130925"}, + {"name": "肃宁县","code": "130926"}, + {"name": "南皮县","code": "130927"}, + {"name": "吴桥县","code": "130928"}, + {"name": "献县","code": "130929"}, + {"name": "孟村回族自治县","code": "130930"}, + {"name": "泊头市","code": "130981"}, + {"name": "任丘市","code": "130982"}, + {"name": "黄骅市","code": "130983"}, + {"name": "河间市","code": "130984" + } + ] + }, + { + "name": "廊坊市", + "code": "131000", + "area": [ + {"name": "市辖区","code": "131001"}, + {"name": "安次区","code": "131002"}, + {"name": "广阳区","code": "131003"}, + {"name": "固安县","code": "131022"}, + {"name": "永清县","code": "131023"}, + {"name": "香河县","code": "131024"}, + {"name": "大城县","code": "131025"}, + {"name": "文安县","code": "131026"}, + {"name": "大厂回族自治县","code": "131028"}, + {"name": "霸州市","code": "131081"}, + {"name": "三河市","code": "131082" + } + ] + }, + { + "name": "衡水市", + "code": "131100", + "area": [ + {"name": "市辖区","code": "131101"}, + {"name": "桃城区","code": "131102"}, + {"name": "冀州区","code": "131103"}, + {"name": "枣强县","code": "131121"}, + {"name": "武邑县","code": "131122"}, + {"name": "武强县","code": "131123"}, + {"name": "饶阳县","code": "131124"}, + {"name": "安平县","code": "131125"}, + {"name": "故城县","code": "131126"}, + {"name": "景县","code": "131127"}, + {"name": "阜城县","code": "131128"}, + {"name": "深州市","code": "131182" + } + ] + }, + { + "name": "省直辖县级行政区划", + "code": "139000", + "area": [ + {"name": "定州市","code": "139001"}, + {"name": "辛集市","code": "139002" + } + ] + } + ] + }, + { + "name": "山西省", + "code": "140000", + "city": [ + { + "name": "太原市", + "code": "140100", + "area": [ + {"name": "市辖区","code": "140101"}, + {"name": "小店区","code": "140105"}, + {"name": "迎泽区","code": "140106"}, + {"name": "杏花岭区","code": "140107"}, + {"name": "尖草坪区","code": "140108"}, + {"name": "万柏林区","code": "140109"}, + {"name": "晋源区","code": "140110"}, + {"name": "清徐县","code": "140121"}, + {"name": "阳曲县","code": "140122"}, + {"name": "娄烦县","code": "140123"}, + {"name": "古交市","code": "140181" + } + ] + }, + { + "name": "大同市", + "code": "140200", + "area": [ + {"name": "市辖区","code": "140201"}, + {"name": "城区","code": "140202"}, + {"name": "矿区","code": "140203"}, + {"name": "南郊区","code": "140211"}, + {"name": "新荣区","code": "140212"}, + {"name": "阳高县","code": "140221"}, + {"name": "天镇县","code": "140222"}, + {"name": "广灵县","code": "140223"}, + {"name": "灵丘县","code": "140224"}, + {"name": "浑源县","code": "140225"}, + {"name": "左云县","code": "140226"}, + {"name": "大同县","code": "140227" + } + ] + }, + { + "name": "阳泉市", + "code": "140300", + "area": [ + {"name": "市辖区","code": "140301"}, + {"name": "城区","code": "140302"}, + {"name": "矿区","code": "140303"}, + {"name": "郊区","code": "140311"}, + {"name": "平定县","code": "140321"}, + {"name": "盂县","code": "140322" + } + ] + }, + { + "name": "长治市", + "code": "140400", + "area": [ + {"name": "市辖区","code": "140401"}, + {"name": "城区","code": "140402"}, + {"name": "郊区","code": "140411"}, + {"name": "长治县","code": "140421"}, + {"name": "襄垣县","code": "140423"}, + {"name": "屯留县","code": "140424"}, + {"name": "平顺县","code": "140425"}, + {"name": "黎城县","code": "140426"}, + {"name": "壶关县","code": "140427"}, + {"name": "长子县","code": "140428"}, + {"name": "武乡县","code": "140429"}, + {"name": "沁县","code": "140430"}, + {"name": "沁源县","code": "140431"}, + {"name": "潞城市","code": "140481" + } + ] + }, + { + "name": "晋城市", + "code": "140500", + "area": [ + {"name": "市辖区","code": "140501"}, + {"name": "城区","code": "140502"}, + {"name": "沁水县","code": "140521"}, + {"name": "阳城县","code": "140522"}, + {"name": "陵川县","code": "140524"}, + {"name": "泽州县","code": "140525"}, + {"name": "高平市","code": "140581" + } + ] + }, + { + "name": "朔州市", + "code": "140600", + "area": [ + {"name": "市辖区","code": "140601"}, + {"name": "朔城区","code": "140602"}, + {"name": "平鲁区","code": "140603"}, + {"name": "山阴县","code": "140621"}, + {"name": "应县","code": "140622"}, + {"name": "右玉县","code": "140623"}, + {"name": "怀仁县","code": "140624" + } + ] + }, + { + "name": "晋中市", + "code": "140700", + "area": [ + {"name": "市辖区","code": "140701"}, + {"name": "榆次区","code": "140702"}, + {"name": "榆社县","code": "140721"}, + {"name": "左权县","code": "140722"}, + {"name": "和顺县","code": "140723"}, + {"name": "昔阳县","code": "140724"}, + {"name": "寿阳县","code": "140725"}, + {"name": "太谷县","code": "140726"}, + {"name": "祁县","code": "140727"}, + {"name": "平遥县","code": "140728"}, + {"name": "灵石县","code": "140729"}, + {"name": "介休市","code": "140781" + } + ] + }, + { + "name": "运城市", + "code": "140800", + "area": [ + {"name": "市辖区","code": "140801"}, + {"name": "盐湖区","code": "140802"}, + {"name": "临猗县","code": "140821"}, + {"name": "万荣县","code": "140822"}, + {"name": "闻喜县","code": "140823"}, + {"name": "稷山县","code": "140824"}, + {"name": "新绛县","code": "140825"}, + {"name": "绛县","code": "140826"}, + {"name": "垣曲县","code": "140827"}, + {"name": "夏县","code": "140828"}, + {"name": "平陆县","code": "140829"}, + {"name": "芮城县","code": "140830"}, + {"name": "永济市","code": "140881"}, + {"name": "河津市","code": "140882" + } + ] + }, + { + "name": "忻州市", + "code": "140900", + "area": [ + {"name": "市辖区","code": "140901"}, + {"name": "忻府区","code": "140902"}, + {"name": "定襄县","code": "140921"}, + {"name": "五台县","code": "140922"}, + {"name": "代县","code": "140923"}, + {"name": "繁峙县","code": "140924"}, + {"name": "宁武县","code": "140925"}, + {"name": "静乐县","code": "140926"}, + {"name": "神池县","code": "140927"}, + {"name": "五寨县","code": "140928"}, + {"name": "岢岚县","code": "140929"}, + {"name": "河曲县","code": "140930"}, + {"name": "保德县","code": "140931"}, + {"name": "偏关县","code": "140932"}, + {"name": "原平市","code": "140981" + } + ] + }, + { + "name": "临汾市", + "code": "141000", + "area": [ + {"name": "市辖区","code": "141001"}, + {"name": "尧都区","code": "141002"}, + {"name": "曲沃县","code": "141021"}, + {"name": "翼城县","code": "141022"}, + {"name": "襄汾县","code": "141023"}, + {"name": "洪洞县","code": "141024"}, + {"name": "古县","code": "141025"}, + {"name": "安泽县","code": "141026"}, + {"name": "浮山县","code": "141027"}, + {"name": "吉县","code": "141028"}, + {"name": "乡宁县","code": "141029"}, + {"name": "大宁县","code": "141030"}, + {"name": "隰县","code": "141031"}, + {"name": "永和县","code": "141032"}, + {"name": "蒲县","code": "141033"}, + {"name": "汾西县","code": "141034"}, + {"name": "侯马市","code": "141081"}, + {"name": "霍州市","code": "141082" + } + ] + }, + { + "name": "吕梁市", + "code": "141100", + "area": [ + {"name": "市辖区","code": "141101"}, + {"name": "离石区","code": "141102"}, + {"name": "文水县","code": "141121"}, + {"name": "交城县","code": "141122"}, + {"name": "兴县","code": "141123"}, + {"name": "临县","code": "141124"}, + {"name": "柳林县","code": "141125"}, + {"name": "石楼县","code": "141126"}, + {"name": "岚县","code": "141127"}, + {"name": "方山县","code": "141128"}, + {"name": "中阳县","code": "141129"}, + {"name": "交口县","code": "141130"}, + {"name": "孝义市","code": "141181"}, + {"name": "汾阳市","code": "141182" + } + ] + } + ] + }, + { + "name": "内蒙古自治区", + "code": "150000", + "city": [ + { + "name": "呼和浩特市", + "code": "150100", + "area": [ + {"name": "市辖区","code": "150101"}, + {"name": "新城区","code": "150102"}, + {"name": "回民区","code": "150103"}, + {"name": "玉泉区","code": "150104"}, + {"name": "赛罕区","code": "150105"}, + {"name": "土默特左旗","code": "150121"}, + {"name": "托克托县","code": "150122"}, + {"name": "和林格尔县","code": "150123"}, + {"name": "清水河县","code": "150124"}, + {"name": "武川县","code": "150125" + } + ] + }, + { + "name": "包头市", + "code": "150200", + "area": [ + {"name": "市辖区","code": "150201"}, + {"name": "东河区","code": "150202"}, + {"name": "昆都仑区","code": "150203"}, + {"name": "青山区","code": "150204"}, + {"name": "石拐区","code": "150205"}, + {"name": "白云鄂博矿区","code": "150206"}, + {"name": "九原区","code": "150207"}, + {"name": "土默特右旗","code": "150221"}, + {"name": "固阳县","code": "150222"}, + {"name": "达尔罕茂明安联合旗","code": "150223" + } + ] + }, + { + "name": "乌海市", + "code": "150300", + "area": [ + {"name": "市辖区","code": "150301"}, + {"name": "海勃湾区","code": "150302"}, + {"name": "海南区","code": "150303"}, + {"name": "乌达区","code": "150304" + } + ] + }, + { + "name": "赤峰市", + "code": "150400", + "area": [ + {"name": "市辖区","code": "150401"}, + {"name": "红山区","code": "150402"}, + {"name": "元宝山区","code": "150403"}, + {"name": "松山区","code": "150404"}, + {"name": "阿鲁科尔沁旗","code": "150421"}, + {"name": "巴林左旗","code": "150422"}, + {"name": "巴林右旗","code": "150423"}, + {"name": "林西县","code": "150424"}, + {"name": "克什克腾旗","code": "150425"}, + {"name": "翁牛特旗","code": "150426"}, + {"name": "喀喇沁旗","code": "150428"}, + {"name": "宁城县","code": "150429"}, + {"name": "敖汉旗","code": "150430" + } + ] + }, + { + "name": "通辽市", + "code": "150500", + "area": [ + {"name": "市辖区","code": "150501"}, + {"name": "科尔沁区","code": "150502"}, + {"name": "科尔沁左翼中旗","code": "150521"}, + {"name": "科尔沁左翼后旗","code": "150522"}, + {"name": "开鲁县","code": "150523"}, + {"name": "库伦旗","code": "150524"}, + {"name": "奈曼旗","code": "150525"}, + {"name": "扎鲁特旗","code": "150526"}, + {"name": "霍林郭勒市","code": "150581" + } + ] + }, + { + "name": "鄂尔多斯市", + "code": "150600", + "area": [ + {"name": "市辖区","code": "150601"}, + {"name": "东胜区","code": "150602"}, + {"name": "康巴什区","code": "150603"}, + {"name": "达拉特旗","code": "150621"}, + {"name": "准格尔旗","code": "150622"}, + {"name": "鄂托克前旗","code": "150623"}, + {"name": "鄂托克旗","code": "150624"}, + {"name": "杭锦旗","code": "150625"}, + {"name": "乌审旗","code": "150626"}, + {"name": "伊金霍洛旗","code": "150627" + } + ] + }, + { + "name": "呼伦贝尔市", + "code": "150700", + "area": [ + {"name": "市辖区","code": "150701"}, + {"name": "海拉尔区","code": "150702"}, + {"name": "扎赉诺尔区","code": "150703"}, + {"name": "阿荣旗","code": "150721"}, + {"name": "莫力达瓦达斡尔族自治旗","code": "150722"}, + {"name": "鄂伦春自治旗","code": "150723"}, + {"name": "鄂温克族自治旗","code": "150724"}, + {"name": "陈巴尔虎旗","code": "150725"}, + {"name": "新巴尔虎左旗","code": "150726"}, + {"name": "新巴尔虎右旗","code": "150727"}, + {"name": "满洲里市","code": "150781"}, + {"name": "牙克石市","code": "150782"}, + {"name": "扎兰屯市","code": "150783"}, + {"name": "额尔古纳市","code": "150784"}, + {"name": "根河市","code": "150785" + } + ] + }, + { + "name": "巴彦淖尔市", + "code": "150800", + "area": [ + {"name": "市辖区","code": "150801"}, + {"name": "临河区","code": "150802"}, + {"name": "五原县","code": "150821"}, + {"name": "磴口县","code": "150822"}, + {"name": "乌拉特前旗","code": "150823"}, + {"name": "乌拉特中旗","code": "150824"}, + {"name": "乌拉特后旗","code": "150825"}, + {"name": "杭锦后旗","code": "150826" + } + ] + }, + { + "name": "乌兰察布市", + "code": "150900", + "area": [ + {"name": "市辖区","code": "150901"}, + {"name": "集宁区","code": "150902"}, + {"name": "卓资县","code": "150921"}, + {"name": "化德县","code": "150922"}, + {"name": "商都县","code": "150923"}, + {"name": "兴和县","code": "150924"}, + {"name": "凉城县","code": "150925"}, + {"name": "察哈尔右翼前旗","code": "150926"}, + {"name": "察哈尔右翼中旗","code": "150927"}, + {"name": "察哈尔右翼后旗","code": "150928"}, + {"name": "四子王旗","code": "150929"}, + {"name": "丰镇市","code": "150981" + } + ] + }, + { + "name": "兴安盟", + "code": "152200", + "area": [ + {"name": "乌兰浩特市","code": "152201"}, + {"name": "阿尔山市","code": "152202"}, + {"name": "科尔沁右翼前旗","code": "152221"}, + {"name": "科尔沁右翼中旗","code": "152222"}, + {"name": "扎赉特旗","code": "152223"}, + {"name": "突泉县","code": "152224" + } + ] + }, + { + "name": "锡林郭勒盟", + "code": "152500", + "area": [ + {"name": "二连浩特市","code": "152501"}, + {"name": "锡林浩特市","code": "152502"}, + {"name": "阿巴嘎旗","code": "152522"}, + {"name": "苏尼特左旗","code": "152523"}, + {"name": "苏尼特右旗","code": "152524"}, + {"name": "东乌珠穆沁旗","code": "152525"}, + {"name": "西乌珠穆沁旗","code": "152526"}, + {"name": "太仆寺旗","code": "152527"}, + {"name": "镶黄旗","code": "152528"}, + {"name": "正镶白旗","code": "152529"}, + {"name": "正蓝旗","code": "152530"}, + {"name": "多伦县","code": "152531" + } + ] + }, + { + "name": "阿拉善盟", + "code": "152900", + "area": [ + {"name": "阿拉善左旗","code": "152921"}, + {"name": "阿拉善右旗","code": "152922"}, + {"name": "额济纳旗","code": "152923" + } + ] + } + ] + }, + { + "name": "辽宁省", + "code": "210000", + "city": [ + { + "name": "沈阳市", + "code": "210100", + "area": [ + {"name": "市辖区","code": "210101"}, + {"name": "和平区","code": "210102"}, + {"name": "沈河区","code": "210103"}, + {"name": "大东区","code": "210104"}, + {"name": "皇姑区","code": "210105"}, + {"name": "铁西区","code": "210106"}, + {"name": "苏家屯区","code": "210111"}, + {"name": "浑南区","code": "210112"}, + {"name": "沈北新区","code": "210113"}, + {"name": "于洪区","code": "210114"}, + {"name": "辽中区","code": "210115"}, + {"name": "康平县","code": "210123"}, + {"name": "法库县","code": "210124"}, + {"name": "新民市","code": "210181" + } + ] + }, + { + "name": "大连市", + "code": "210200", + "area": [ + {"name": "市辖区","code": "210201"}, + {"name": "中山区","code": "210202"}, + {"name": "西岗区","code": "210203"}, + {"name": "沙河口区","code": "210204"}, + {"name": "甘井子区","code": "210211"}, + {"name": "旅顺口区","code": "210212"}, + {"name": "金州区","code": "210213"}, + {"name": "普兰店区","code": "210214"}, + {"name": "长海县","code": "210224"}, + {"name": "瓦房店市","code": "210281"}, + {"name": "庄河市","code": "210283" + } + ] + }, + { + "name": "鞍山市", + "code": "210300", + "area": [ + {"name": "市辖区","code": "210301"}, + {"name": "铁东区","code": "210302"}, + {"name": "铁西区","code": "210303"}, + {"name": "立山区","code": "210304"}, + {"name": "千山区","code": "210311"}, + {"name": "台安县","code": "210321"}, + {"name": "岫岩满族自治县","code": "210323"}, + {"name": "海城市","code": "210381" + } + ] + }, + { + "name": "抚顺市", + "code": "210400", + "area": [ + {"name": "市辖区","code": "210401"}, + {"name": "新抚区","code": "210402"}, + {"name": "东洲区","code": "210403"}, + {"name": "望花区","code": "210404"}, + {"name": "顺城区","code": "210411"}, + {"name": "抚顺县","code": "210421"}, + {"name": "新宾满族自治县","code": "210422"}, + {"name": "清原满族自治县","code": "210423" + } + ] + }, + { + "name": "本溪市", + "code": "210500", + "area": [ + {"name": "市辖区","code": "210501"}, + {"name": "平山区","code": "210502"}, + {"name": "溪湖区","code": "210503"}, + {"name": "明山区","code": "210504"}, + {"name": "南芬区","code": "210505"}, + {"name": "本溪满族自治县","code": "210521"}, + {"name": "桓仁满族自治县","code": "210522" + } + ] + }, + { + "name": "丹东市", + "code": "210600", + "area": [ + {"name": "市辖区","code": "210601"}, + {"name": "元宝区","code": "210602"}, + {"name": "振兴区","code": "210603"}, + {"name": "振安区","code": "210604"}, + {"name": "宽甸满族自治县","code": "210624"}, + {"name": "东港市","code": "210681"}, + {"name": "凤城市","code": "210682" + } + ] + }, + { + "name": "锦州市", + "code": "210700", + "area": [ + {"name": "市辖区","code": "210701"}, + {"name": "古塔区","code": "210702"}, + {"name": "凌河区","code": "210703"}, + {"name": "太和区","code": "210711"}, + {"name": "黑山县","code": "210726"}, + {"name": "义县","code": "210727"}, + {"name": "凌海市","code": "210781"}, + {"name": "北镇市","code": "210782" + } + ] + }, + { + "name": "营口市", + "code": "210800", + "area": [ + {"name": "市辖区","code": "210801"}, + {"name": "站前区","code": "210802"}, + {"name": "西市区","code": "210803"}, + {"name": "鲅鱼圈区","code": "210804"}, + {"name": "老边区","code": "210811"}, + {"name": "盖州市","code": "210881"}, + {"name": "大石桥市","code": "210882" + } + ] + }, + { + "name": "阜新市", + "code": "210900", + "area": [ + {"name": "市辖区","code": "210901"}, + {"name": "海州区","code": "210902"}, + {"name": "新邱区","code": "210903"}, + {"name": "太平区","code": "210904"}, + {"name": "清河门区","code": "210905"}, + {"name": "细河区","code": "210911"}, + {"name": "阜新蒙古族自治县","code": "210921"}, + {"name": "彰武县","code": "210922" + } + ] + }, + { + "name": "辽阳市", + "code": "211000", + "area": [ + {"name": "市辖区","code": "211001"}, + {"name": "白塔区","code": "211002"}, + {"name": "文圣区","code": "211003"}, + {"name": "宏伟区","code": "211004"}, + {"name": "弓长岭区","code": "211005"}, + {"name": "太子河区","code": "211011"}, + {"name": "辽阳县","code": "211021"}, + {"name": "灯塔市","code": "211081" + } + ] + }, + { + "name": "盘锦市", + "code": "211100", + "area": [ + {"name": "市辖区","code": "211101"}, + {"name": "双台子区","code": "211102"}, + {"name": "兴隆台区","code": "211103"}, + {"name": "大洼区","code": "211104"}, + {"name": "盘山县","code": "211122" + } + ] + }, + { + "name": "铁岭市", + "code": "211200", + "area": [ + {"name": "市辖区","code": "211201"}, + {"name": "银州区","code": "211202"}, + {"name": "清河区","code": "211204"}, + {"name": "铁岭县","code": "211221"}, + {"name": "西丰县","code": "211223"}, + {"name": "昌图县","code": "211224"}, + {"name": "调兵山市","code": "211281"}, + {"name": "开原市","code": "211282" + } + ] + }, + { + "name": "朝阳市", + "code": "211300", + "area": [ + {"name": "市辖区","code": "211301"}, + {"name": "双塔区","code": "211302"}, + {"name": "龙城区","code": "211303"}, + {"name": "朝阳县","code": "211321"}, + {"name": "建平县","code": "211322"}, + {"name": "喀喇沁左翼蒙古族自治县","code": "211324"}, + {"name": "北票市","code": "211381"}, + {"name": "凌源市","code": "211382" + } + ] + }, + { + "name": "葫芦岛市", + "code": "211400", + "area": [ + {"name": "市辖区","code": "211401"}, + {"name": "连山区","code": "211402"}, + {"name": "龙港区","code": "211403"}, + {"name": "南票区","code": "211404"}, + {"name": "绥中县","code": "211421"}, + {"name": "建昌县","code": "211422"}, + {"name": "兴城市","code": "211481" + } + ] + } + ] + }, + { + "name": "吉林省", + "code": "220000", + "city": [ + { + "name": "长春市", + "code": "220100", + "area": [ + {"name": "市辖区","code": "220101"}, + {"name": "南关区","code": "220102"}, + {"name": "宽城区","code": "220103"}, + {"name": "朝阳区","code": "220104"}, + {"name": "二道区","code": "220105"}, + {"name": "绿园区","code": "220106"}, + {"name": "双阳区","code": "220112"}, + {"name": "九台区","code": "220113"}, + {"name": "农安县","code": "220122"}, + {"name": "榆树市","code": "220182"}, + {"name": "德惠市","code": "220183" + } + ] + }, + { + "name": "吉林市", + "code": "220200", + "area": [ + {"name": "市辖区","code": "220201"}, + {"name": "昌邑区","code": "220202"}, + {"name": "龙潭区","code": "220203"}, + {"name": "船营区","code": "220204"}, + {"name": "丰满区","code": "220211"}, + {"name": "永吉县","code": "220221"}, + {"name": "蛟河市","code": "220281"}, + {"name": "桦甸市","code": "220282"}, + {"name": "舒兰市","code": "220283"}, + {"name": "磐石市","code": "220284" + } + ] + }, + { + "name": "四平市", + "code": "220300", + "area": [ + {"name": "市辖区","code": "220301"}, + {"name": "铁西区","code": "220302"}, + {"name": "铁东区","code": "220303"}, + {"name": "梨树县","code": "220322"}, + {"name": "伊通满族自治县","code": "220323"}, + {"name": "公主岭市","code": "220381"}, + {"name": "双辽市","code": "220382" + } + ] + }, + { + "name": "辽源市", + "code": "220400", + "area": [ + {"name": "市辖区","code": "220401"}, + {"name": "龙山区","code": "220402"}, + {"name": "西安区","code": "220403"}, + {"name": "东丰县","code": "220421"}, + {"name": "东辽县","code": "220422" + } + ] + }, + { + "name": "通化市", + "code": "220500", + "area": [ + {"name": "市辖区","code": "220501"}, + {"name": "东昌区","code": "220502"}, + {"name": "二道江区","code": "220503"}, + {"name": "通化县","code": "220521"}, + {"name": "辉南县","code": "220523"}, + {"name": "柳河县","code": "220524"}, + {"name": "梅河口市","code": "220581"}, + {"name": "集安市","code": "220582" + } + ] + }, + { + "name": "白山市", + "code": "220600", + "area": [ + {"name": "市辖区","code": "220601"}, + {"name": "浑江区","code": "220602"}, + {"name": "江源区","code": "220605"}, + {"name": "抚松县","code": "220621"}, + {"name": "靖宇县","code": "220622"}, + {"name": "长白朝鲜族自治县","code": "220623"}, + {"name": "临江市","code": "220681" + } + ] + }, + { + "name": "松原市", + "code": "220700", + "area": [ + {"name": "市辖区","code": "220701"}, + {"name": "宁江区","code": "220702"}, + {"name": "前郭尔罗斯蒙古族自治县","code": "220721"}, + {"name": "长岭县","code": "220722"}, + {"name": "乾安县","code": "220723"}, + {"name": "扶余市","code": "220781" + } + ] + }, + { + "name": "白城市", + "code": "220800", + "area": [ + {"name": "市辖区","code": "220801"}, + {"name": "洮北区","code": "220802"}, + {"name": "镇赉县","code": "220821"}, + {"name": "通榆县","code": "220822"}, + {"name": "洮南市","code": "220881"}, + {"name": "大安市","code": "220882" + } + ] + }, + { + "name": "延边朝鲜族自治州", + "code": "222400", + "area": [ + {"name": "延吉市","code": "222401"}, + {"name": "图们市","code": "222402"}, + {"name": "敦化市","code": "222403"}, + {"name": "珲春市","code": "222404"}, + {"name": "龙井市","code": "222405"}, + {"name": "和龙市","code": "222406"}, + {"name": "汪清县","code": "222424"}, + {"name": "安图县","code": "222426" + } + ] + } + ] + }, + { + "name": "黑龙江省", + "code": "230000", + "city": [ + { + "name": "哈尔滨市", + "code": "230100", + "area": [ + {"name": "市辖区","code": "230101"}, + {"name": "道里区","code": "230102"}, + {"name": "南岗区","code": "230103"}, + {"name": "道外区","code": "230104"}, + {"name": "平房区","code": "230108"}, + {"name": "松北区","code": "230109"}, + {"name": "香坊区","code": "230110"}, + {"name": "呼兰区","code": "230111"}, + {"name": "阿城区","code": "230112"}, + {"name": "双城区","code": "230113"}, + {"name": "依兰县","code": "230123"}, + {"name": "方正县","code": "230124"}, + {"name": "宾县","code": "230125"}, + {"name": "巴彦县","code": "230126"}, + {"name": "木兰县","code": "230127"}, + {"name": "通河县","code": "230128"}, + {"name": "延寿县","code": "230129"}, + {"name": "尚志市","code": "230183"}, + {"name": "五常市","code": "230184" + } + ] + }, + { + "name": "齐齐哈尔市", + "code": "230200", + "area": [ + {"name": "市辖区","code": "230201"}, + {"name": "龙沙区","code": "230202"}, + {"name": "建华区","code": "230203"}, + {"name": "铁锋区","code": "230204"}, + {"name": "昂昂溪区","code": "230205"}, + {"name": "富拉尔基区","code": "230206"}, + {"name": "碾子山区","code": "230207"}, + {"name": "梅里斯达斡尔族区","code": "230208"}, + {"name": "龙江县","code": "230221"}, + {"name": "依安县","code": "230223"}, + {"name": "泰来县","code": "230224"}, + {"name": "甘南县","code": "230225"}, + {"name": "富裕县","code": "230227"}, + {"name": "克山县","code": "230229"}, + {"name": "克东县","code": "230230"}, + {"name": "拜泉县","code": "230231"}, + {"name": "讷河市","code": "230281" + } + ] + }, + { + "name": "鸡西市", + "code": "230300", + "area": [ + {"name": "市辖区","code": "230301"}, + {"name": "鸡冠区","code": "230302"}, + {"name": "恒山区","code": "230303"}, + {"name": "滴道区","code": "230304"}, + {"name": "梨树区","code": "230305"}, + {"name": "城子河区","code": "230306"}, + {"name": "麻山区","code": "230307"}, + {"name": "鸡东县","code": "230321"}, + {"name": "虎林市","code": "230381"}, + {"name": "密山市","code": "230382" + } + ] + }, + { + "name": "鹤岗市", + "code": "230400", + "area": [ + {"name": "市辖区","code": "230401"}, + {"name": "向阳区","code": "230402"}, + {"name": "工农区","code": "230403"}, + {"name": "南山区","code": "230404"}, + {"name": "兴安区","code": "230405"}, + {"name": "东山区","code": "230406"}, + {"name": "兴山区","code": "230407"}, + {"name": "萝北县","code": "230421"}, + {"name": "绥滨县","code": "230422" + } + ] + }, + { + "name": "双鸭山市", + "code": "230500", + "area": [ + {"name": "市辖区","code": "230501"}, + {"name": "尖山区","code": "230502"}, + {"name": "岭东区","code": "230503"}, + {"name": "四方台区","code": "230505"}, + {"name": "宝山区","code": "230506"}, + {"name": "集贤县","code": "230521"}, + {"name": "友谊县","code": "230522"}, + {"name": "宝清县","code": "230523"}, + {"name": "饶河县","code": "230524" + } + ] + }, + { + "name": "大庆市", + "code": "230600", + "area": [ + {"name": "市辖区","code": "230601"}, + {"name": "萨尔图区","code": "230602"}, + {"name": "龙凤区","code": "230603"}, + {"name": "让胡路区","code": "230604"}, + {"name": "红岗区","code": "230605"}, + {"name": "大同区","code": "230606"}, + {"name": "肇州县","code": "230621"}, + {"name": "肇源县","code": "230622"}, + {"name": "林甸县","code": "230623"}, + {"name": "杜尔伯特蒙古族自治县","code": "230624" + } + ] + }, + { + "name": "伊春市", + "code": "230700", + "area": [ + {"name": "市辖区","code": "230701"}, + {"name": "伊春区","code": "230702"}, + {"name": "南岔区","code": "230703"}, + {"name": "友好区","code": "230704"}, + {"name": "西林区","code": "230705"}, + {"name": "翠峦区","code": "230706"}, + {"name": "新青区","code": "230707"}, + {"name": "美溪区","code": "230708"}, + {"name": "金山屯区","code": "230709"}, + {"name": "五营区","code": "230710"}, + {"name": "乌马河区","code": "230711"}, + {"name": "汤旺河区","code": "230712"}, + {"name": "带岭区","code": "230713"}, + {"name": "乌伊岭区","code": "230714"}, + {"name": "红星区","code": "230715"}, + {"name": "上甘岭区","code": "230716"}, + {"name": "嘉荫县","code": "230722"}, + {"name": "铁力市","code": "230781" + } + ] + }, + { + "name": "佳木斯市", + "code": "230800", + "area": [ + {"name": "市辖区","code": "230801"}, + {"name": "向阳区","code": "230803"}, + {"name": "前进区","code": "230804"}, + {"name": "东风区","code": "230805"}, + {"name": "郊区","code": "230811"}, + {"name": "桦南县","code": "230822"}, + {"name": "桦川县","code": "230826"}, + {"name": "汤原县","code": "230828"}, + {"name": "同江市","code": "230881"}, + {"name": "富锦市","code": "230882"}, + {"name": "抚远市","code": "230883" + } + ] + }, + { + "name": "七台河市", + "code": "230900", + "area": [ + {"name": "市辖区","code": "230901"}, + {"name": "新兴区","code": "230902"}, + {"name": "桃山区","code": "230903"}, + {"name": "茄子河区","code": "230904"}, + {"name": "勃利县","code": "230921" + } + ] + }, + { + "name": "牡丹江市", + "code": "231000", + "area": [ + {"name": "市辖区","code": "231001"}, + {"name": "东安区","code": "231002"}, + {"name": "阳明区","code": "231003"}, + {"name": "爱民区","code": "231004"}, + {"name": "西安区","code": "231005"}, + {"name": "林口县","code": "231025"}, + {"name": "绥芬河市","code": "231081"}, + {"name": "海林市","code": "231083"}, + {"name": "宁安市","code": "231084"}, + {"name": "穆棱市","code": "231085"}, + {"name": "东宁市","code": "231086" + } + ] + }, + { + "name": "黑河市", + "code": "231100", + "area": [ + {"name": "市辖区","code": "231101"}, + {"name": "爱辉区","code": "231102"}, + {"name": "嫩江县","code": "231121"}, + {"name": "逊克县","code": "231123"}, + {"name": "孙吴县","code": "231124"}, + {"name": "北安市","code": "231181"}, + {"name": "五大连池市","code": "231182" + } + ] + }, + { + "name": "绥化市", + "code": "231200", + "area": [ + {"name": "市辖区","code": "231201"}, + {"name": "北林区","code": "231202"}, + {"name": "望奎县","code": "231221"}, + {"name": "兰西县","code": "231222"}, + {"name": "青冈县","code": "231223"}, + {"name": "庆安县","code": "231224"}, + {"name": "明水县","code": "231225"}, + {"name": "绥棱县","code": "231226"}, + {"name": "安达市","code": "231281"}, + {"name": "肇东市","code": "231282"}, + {"name": "海伦市","code": "231283" + } + ] + }, + { + "name": "大兴安岭地区", + "code": "232700", + "area": [ + {"name": "呼玛县","code": "232721"}, + {"name": "塔河县","code": "232722"}, + {"name": "漠河县","code": "232723" + } + ] + } + ] + }, + { + "name": "上海市", + "code": "310000", + "city": [ + { + "name": "市辖区", + "code": "310100", + "area": [ + {"name": "黄浦区","code": "310101"}, + {"name": "徐汇区","code": "310104"}, + {"name": "长宁区","code": "310105"}, + {"name": "静安区","code": "310106"}, + {"name": "普陀区","code": "310107"}, + {"name": "虹口区","code": "310109"}, + {"name": "杨浦区","code": "310110"}, + {"name": "闵行区","code": "310112"}, + {"name": "宝山区","code": "310113"}, + {"name": "嘉定区","code": "310114"}, + {"name": "浦东新区","code": "310115"}, + {"name": "金山区","code": "310116"}, + {"name": "松江区","code": "310117"}, + {"name": "青浦区","code": "310118"}, + {"name": "奉贤区","code": "310120"}, + {"name": "崇明区","code": "310151" + } + ] + } + ] + }, + { + "name": "江苏省", + "code": "320000", + "city": [ + { + "name": "南京市", + "code": "320100", + "area": [ + {"name": "市辖区","code": "320101"}, + {"name": "玄武区","code": "320102"}, + {"name": "秦淮区","code": "320104"}, + {"name": "建邺区","code": "320105"}, + {"name": "鼓楼区","code": "320106"}, + {"name": "浦口区","code": "320111"}, + {"name": "栖霞区","code": "320113"}, + {"name": "雨花台区","code": "320114"}, + {"name": "江宁区","code": "320115"}, + {"name": "六合区","code": "320116"}, + {"name": "溧水区","code": "320117"}, + {"name": "高淳区","code": "320118" + } + ] + }, + { + "name": "无锡市", + "code": "320200", + "area": [ + {"name": "市辖区","code": "320201"}, + {"name": "锡山区","code": "320205"}, + {"name": "惠山区","code": "320206"}, + {"name": "滨湖区","code": "320211"}, + {"name": "梁溪区","code": "320213"}, + {"name": "新吴区","code": "320214"}, + {"name": "江阴市","code": "320281"}, + {"name": "宜兴市","code": "320282" + } + ] + }, + { + "name": "徐州市", + "code": "320300", + "area": [ + {"name": "市辖区","code": "320301"}, + {"name": "鼓楼区","code": "320302"}, + {"name": "云龙区","code": "320303"}, + {"name": "贾汪区","code": "320305"}, + {"name": "泉山区","code": "320311"}, + {"name": "铜山区","code": "320312"}, + {"name": "丰县","code": "320321"}, + {"name": "沛县","code": "320322"}, + {"name": "睢宁县","code": "320324"}, + {"name": "新沂市","code": "320381"}, + {"name": "邳州市","code": "320382" + } + ] + }, + { + "name": "常州市", + "code": "320400", + "area": [ + {"name": "市辖区","code": "320401"}, + {"name": "天宁区","code": "320402"}, + {"name": "钟楼区","code": "320404"}, + {"name": "新北区","code": "320411"}, + {"name": "武进区","code": "320412"}, + {"name": "金坛区","code": "320413"}, + {"name": "溧阳市","code": "320481" + } + ] + }, + { + "name": "苏州市", + "code": "320500", + "area": [ + {"name": "市辖区","code": "320501"}, + {"name": "虎丘区","code": "320505"}, + {"name": "吴中区","code": "320506"}, + {"name": "相城区","code": "320507"}, + {"name": "姑苏区","code": "320508"}, + {"name": "吴江区","code": "320509"}, + {"name": "常熟市","code": "320581"}, + {"name": "张家港市","code": "320582"}, + {"name": "昆山市","code": "320583"}, + {"name": "太仓市","code": "320585" + } + ] + }, + { + "name": "南通市", + "code": "320600", + "area": [ + {"name": "市辖区","code": "320601"}, + {"name": "崇川区","code": "320602"}, + {"name": "港闸区","code": "320611"}, + {"name": "通州区","code": "320612"}, + {"name": "海安县","code": "320621"}, + {"name": "如东县","code": "320623"}, + {"name": "启东市","code": "320681"}, + {"name": "如皋市","code": "320682"}, + {"name": "海门市","code": "320684" + } + ] + }, + { + "name": "连云港市", + "code": "320700", + "area": [ + {"name": "市辖区","code": "320701"}, + {"name": "连云区","code": "320703"}, + {"name": "海州区","code": "320706"}, + {"name": "赣榆区","code": "320707"}, + {"name": "东海县","code": "320722"}, + {"name": "灌云县","code": "320723"}, + {"name": "灌南县","code": "320724" + } + ] + }, + { + "name": "淮安市", + "code": "320800", + "area": [ + {"name": "市辖区","code": "320801"}, + {"name": "淮安区","code": "320803"}, + {"name": "淮阴区","code": "320804"}, + {"name": "清江浦区","code": "320812"}, + {"name": "洪泽区","code": "320813"}, + {"name": "涟水县","code": "320826"}, + {"name": "盱眙县","code": "320830"}, + {"name": "金湖县","code": "320831" + } + ] + }, + { + "name": "盐城市", + "code": "320900", + "area": [ + {"name": "市辖区","code": "320901"}, + {"name": "亭湖区","code": "320902"}, + {"name": "盐都区","code": "320903"}, + {"name": "大丰区","code": "320904"}, + {"name": "响水县","code": "320921"}, + {"name": "滨海县","code": "320922"}, + {"name": "阜宁县","code": "320923"}, + {"name": "射阳县","code": "320924"}, + {"name": "建湖县","code": "320925"}, + {"name": "东台市","code": "320981" + } + ] + }, + { + "name": "扬州市", + "code": "321000", + "area": [ + {"name": "市辖区","code": "321001"}, + {"name": "广陵区","code": "321002"}, + {"name": "邗江区","code": "321003"}, + {"name": "江都区","code": "321012"}, + {"name": "宝应县","code": "321023"}, + {"name": "仪征市","code": "321081"}, + {"name": "高邮市","code": "321084" + } + ] + }, + { + "name": "镇江市", + "code": "321100", + "area": [ + {"name": "市辖区","code": "321101"}, + {"name": "京口区","code": "321102"}, + {"name": "润州区","code": "321111"}, + {"name": "丹徒区","code": "321112"}, + {"name": "丹阳市","code": "321181"}, + {"name": "扬中市","code": "321182"}, + {"name": "句容市","code": "321183" + } + ] + }, + { + "name": "泰州市", + "code": "321200", + "area": [ + {"name": "市辖区","code": "321201"}, + {"name": "海陵区","code": "321202"}, + {"name": "高港区","code": "321203"}, + {"name": "姜堰区","code": "321204"}, + {"name": "兴化市","code": "321281"}, + {"name": "靖江市","code": "321282"}, + {"name": "泰兴市","code": "321283" + } + ] + }, + { + "name": "宿迁市", + "code": "321300", + "area": [ + {"name": "市辖区","code": "321301"}, + {"name": "宿城区","code": "321302"}, + {"name": "宿豫区","code": "321311"}, + {"name": "沭阳县","code": "321322"}, + {"name": "泗阳县","code": "321323"}, + {"name": "泗洪县","code": "321324" + } + ] + } + ] + }, + { + "name": "浙江省", + "code": "330000", + "city": [ + { + "name": "杭州市", + "code": "330100", + "area": [ + {"name": "市辖区","code": "330101"}, + {"name": "上城区","code": "330102"}, + {"name": "下城区","code": "330103"}, + {"name": "江干区","code": "330104"}, + {"name": "拱墅区","code": "330105"}, + {"name": "西湖区","code": "330106"}, + {"name": "滨江区","code": "330108"}, + {"name": "萧山区","code": "330109"}, + {"name": "余杭区","code": "330110"}, + {"name": "富阳区","code": "330111"}, + {"name": "桐庐县","code": "330122"}, + {"name": "淳安县","code": "330127"}, + {"name": "建德市","code": "330182"}, + {"name": "临安市","code": "330185" + } + ] + }, + { + "name": "宁波市", + "code": "330200", + "area": [ + {"name": "市辖区","code": "330201"}, + {"name": "海曙区","code": "330203"}, + {"name": "江东区","code": "330204"}, + {"name": "江北区","code": "330205"}, + {"name": "北仑区","code": "330206"}, + {"name": "镇海区","code": "330211"}, + {"name": "鄞州区","code": "330212"}, + {"name": "象山县","code": "330225"}, + {"name": "宁海县","code": "330226"}, + {"name": "余姚市","code": "330281"}, + {"name": "慈溪市","code": "330282"}, + {"name": "奉化市","code": "330283" + } + ] + }, + { + "name": "温州市", + "code": "330300", + "area": [ + {"name": "市辖区","code": "330301"}, + {"name": "鹿城区","code": "330302"}, + {"name": "龙湾区","code": "330303"}, + {"name": "瓯海区","code": "330304"}, + {"name": "洞头区","code": "330305"}, + {"name": "永嘉县","code": "330324"}, + {"name": "平阳县","code": "330326"}, + {"name": "苍南县","code": "330327"}, + {"name": "文成县","code": "330328"}, + {"name": "泰顺县","code": "330329"}, + {"name": "瑞安市","code": "330381"}, + {"name": "乐清市","code": "330382" + } + ] + }, + { + "name": "嘉兴市", + "code": "330400", + "area": [ + {"name": "市辖区","code": "330401"}, + {"name": "南湖区","code": "330402"}, + {"name": "秀洲区","code": "330411"}, + {"name": "嘉善县","code": "330421"}, + {"name": "海盐县","code": "330424"}, + {"name": "海宁市","code": "330481"}, + {"name": "平湖市","code": "330482"}, + {"name": "桐乡市","code": "330483" + } + ] + }, + { + "name": "湖州市", + "code": "330500", + "area": [ + {"name": "市辖区","code": "330501"}, + {"name": "吴兴区","code": "330502"}, + {"name": "南浔区","code": "330503"}, + {"name": "德清县","code": "330521"}, + {"name": "长兴县","code": "330522"}, + {"name": "安吉县","code": "330523" + } + ] + }, + { + "name": "绍兴市", + "code": "330600", + "area": [ + {"name": "市辖区","code": "330601"}, + {"name": "越城区","code": "330602"}, + {"name": "柯桥区","code": "330603"}, + {"name": "上虞区","code": "330604"}, + {"name": "新昌县","code": "330624"}, + {"name": "诸暨市","code": "330681"}, + {"name": "嵊州市","code": "330683" + } + ] + }, + { + "name": "金华市", + "code": "330700", + "area": [ + {"name": "市辖区","code": "330701"}, + {"name": "婺城区","code": "330702"}, + {"name": "金东区","code": "330703"}, + {"name": "武义县","code": "330723"}, + {"name": "浦江县","code": "330726"}, + {"name": "磐安县","code": "330727"}, + {"name": "兰溪市","code": "330781"}, + {"name": "义乌市","code": "330782"}, + {"name": "东阳市","code": "330783"}, + {"name": "永康市","code": "330784" + } + ] + }, + { + "name": "衢州市", + "code": "330800", + "area": [ + {"name": "市辖区","code": "330801"}, + {"name": "柯城区","code": "330802"}, + {"name": "衢江区","code": "330803"}, + {"name": "常山县","code": "330822"}, + {"name": "开化县","code": "330824"}, + {"name": "龙游县","code": "330825"}, + {"name": "江山市","code": "330881" + } + ] + }, + { + "name": "舟山市", + "code": "330900", + "area": [ + {"name": "市辖区","code": "330901"}, + {"name": "定海区","code": "330902"}, + {"name": "普陀区","code": "330903"}, + {"name": "岱山县","code": "330921"}, + {"name": "嵊泗县","code": "330922" + } + ] + }, + { + "name": "台州市", + "code": "331000", + "area": [ + {"name": "市辖区","code": "331001"}, + {"name": "椒江区","code": "331002"}, + {"name": "黄岩区","code": "331003"}, + {"name": "路桥区","code": "331004"}, + {"name": "玉环县","code": "331021"}, + {"name": "三门县","code": "331022"}, + {"name": "天台县","code": "331023"}, + {"name": "仙居县","code": "331024"}, + {"name": "温岭市","code": "331081"}, + {"name": "临海市","code": "331082" + } + ] + }, + { + "name": "丽水市", + "code": "331100", + "area": [ + {"name": "市辖区","code": "331101"}, + {"name": "莲都区","code": "331102"}, + {"name": "青田县","code": "331121"}, + {"name": "缙云县","code": "331122"}, + {"name": "遂昌县","code": "331123"}, + {"name": "松阳县","code": "331124"}, + {"name": "云和县","code": "331125"}, + {"name": "庆元县","code": "331126"}, + {"name": "景宁畲族自治县","code": "331127"}, + {"name": "龙泉市","code": "331181" + } + ] + } + ] + }, + { + "name": "安徽省", + "code": "340000", + "city": [ + { + "name": "合肥市", + "code": "340100", + "area": [ + {"name": "市辖区","code": "340101"}, + {"name": "瑶海区","code": "340102"}, + {"name": "庐阳区","code": "340103"}, + {"name": "蜀山区","code": "340104"}, + {"name": "包河区","code": "340111"}, + {"name": "长丰县","code": "340121"}, + {"name": "肥东县","code": "340122"}, + {"name": "肥西县","code": "340123"}, + {"name": "庐江县","code": "340124"}, + {"name": "巢湖市","code": "340181" + } + ] + }, + { + "name": "芜湖市", + "code": "340200", + "area": [ + {"name": "市辖区","code": "340201"}, + {"name": "镜湖区","code": "340202"}, + {"name": "弋江区","code": "340203"}, + {"name": "鸠江区","code": "340207"}, + {"name": "三山区","code": "340208"}, + {"name": "芜湖县","code": "340221"}, + {"name": "繁昌县","code": "340222"}, + {"name": "南陵县","code": "340223"}, + {"name": "无为县","code": "340225" + } + ] + }, + { + "name": "蚌埠市", + "code": "340300", + "area": [ + {"name": "市辖区","code": "340301"}, + {"name": "龙子湖区","code": "340302"}, + {"name": "蚌山区","code": "340303"}, + {"name": "禹会区","code": "340304"}, + {"name": "淮上区","code": "340311"}, + {"name": "怀远县","code": "340321"}, + {"name": "五河县","code": "340322"}, + {"name": "固镇县","code": "340323" + } + ] + }, + { + "name": "淮南市", + "code": "340400", + "area": [ + {"name": "市辖区","code": "340401"}, + {"name": "大通区","code": "340402"}, + {"name": "田家庵区","code": "340403"}, + {"name": "谢家集区","code": "340404"}, + {"name": "八公山区","code": "340405"}, + {"name": "潘集区","code": "340406"}, + {"name": "凤台县","code": "340421"}, + {"name": "寿县","code": "340422" + } + ] + }, + { + "name": "马鞍山市", + "code": "340500", + "area": [ + {"name": "市辖区","code": "340501"}, + {"name": "花山区","code": "340503"}, + {"name": "雨山区","code": "340504"}, + {"name": "博望区","code": "340506"}, + {"name": "当涂县","code": "340521"}, + {"name": "含山县","code": "340522"}, + {"name": "和县","code": "340523" + } + ] + }, + { + "name": "淮北市", + "code": "340600", + "area": [ + {"name": "市辖区","code": "340601"}, + {"name": "杜集区","code": "340602"}, + {"name": "相山区","code": "340603"}, + {"name": "烈山区","code": "340604"}, + {"name": "濉溪县","code": "340621" + } + ] + }, + { + "name": "铜陵市", + "code": "340700", + "area": [ + {"name": "市辖区","code": "340701"}, + {"name": "铜官区","code": "340705"}, + {"name": "义安区","code": "340706"}, + {"name": "郊区","code": "340711"}, + {"name": "枞阳县","code": "340722" + } + ] + }, + { + "name": "安庆市", + "code": "340800", + "area": [ + {"name": "市辖区","code": "340801"}, + {"name": "迎江区","code": "340802"}, + {"name": "大观区","code": "340803"}, + {"name": "宜秀区","code": "340811"}, + {"name": "怀宁县","code": "340822"}, + {"name": "潜山县","code": "340824"}, + {"name": "太湖县","code": "340825"}, + {"name": "宿松县","code": "340826"}, + {"name": "望江县","code": "340827"}, + {"name": "岳西县","code": "340828"}, + {"name": "桐城市","code": "340881" + } + ] + }, + { + "name": "黄山市", + "code": "341000", + "area": [ + {"name": "市辖区","code": "341001"}, + {"name": "屯溪区","code": "341002"}, + {"name": "黄山区","code": "341003"}, + {"name": "徽州区","code": "341004"}, + {"name": "歙县","code": "341021"}, + {"name": "休宁县","code": "341022"}, + {"name": "黟县","code": "341023"}, + {"name": "祁门县","code": "341024" + } + ] + }, + { + "name": "滁州市", + "code": "341100", + "area": [ + {"name": "市辖区","code": "341101"}, + {"name": "琅琊区","code": "341102"}, + {"name": "南谯区","code": "341103"}, + {"name": "来安县","code": "341122"}, + {"name": "全椒县","code": "341124"}, + {"name": "定远县","code": "341125"}, + {"name": "凤阳县","code": "341126"}, + {"name": "天长市","code": "341181"}, + {"name": "明光市","code": "341182" + } + ] + }, + { + "name": "阜阳市", + "code": "341200", + "area": [ + {"name": "市辖区","code": "341201"}, + {"name": "颍州区","code": "341202"}, + {"name": "颍东区","code": "341203"}, + {"name": "颍泉区","code": "341204"}, + {"name": "临泉县","code": "341221"}, + {"name": "太和县","code": "341222"}, + {"name": "阜南县","code": "341225"}, + {"name": "颍上县","code": "341226"}, + {"name": "界首市","code": "341282" + } + ] + }, + { + "name": "宿州市", + "code": "341300", + "area": [ + {"name": "市辖区","code": "341301"}, + {"name": "埇桥区","code": "341302"}, + {"name": "砀山县","code": "341321"}, + {"name": "萧县","code": "341322"}, + {"name": "灵璧县","code": "341323"}, + {"name": "泗县","code": "341324" + } + ] + }, + { + "name": "六安市", + "code": "341500", + "area": [ + {"name": "市辖区","code": "341501"}, + {"name": "金安区","code": "341502"}, + {"name": "裕安区","code": "341503"}, + {"name": "叶集区","code": "341504"}, + {"name": "霍邱县","code": "341522"}, + {"name": "舒城县","code": "341523"}, + {"name": "金寨县","code": "341524"}, + {"name": "霍山县","code": "341525" + } + ] + }, + { + "name": "亳州市", + "code": "341600", + "area": [ + {"name": "市辖区","code": "341601"}, + {"name": "谯城区","code": "341602"}, + {"name": "涡阳县","code": "341621"}, + {"name": "蒙城县","code": "341622"}, + {"name": "利辛县","code": "341623" + } + ] + }, + { + "name": "池州市", + "code": "341700", + "area": [ + {"name": "市辖区","code": "341701"}, + {"name": "贵池区","code": "341702"}, + {"name": "东至县","code": "341721"}, + {"name": "石台县","code": "341722"}, + {"name": "青阳县","code": "341723" + } + ] + }, + { + "name": "宣城市", + "code": "341800", + "area": [ + {"name": "市辖区","code": "341801"}, + {"name": "宣州区","code": "341802"}, + {"name": "郎溪县","code": "341821"}, + {"name": "广德县","code": "341822"}, + {"name": "泾县","code": "341823"}, + {"name": "绩溪县","code": "341824"}, + {"name": "旌德县","code": "341825"}, + {"name": "宁国市","code": "341881" + } + ] + } + ] + }, + { + "name": "福建省", + "code": "350000", + "city": [ + { + "name": "福州市", + "code": "350100", + "area": [ + {"name": "市辖区","code": "350101"}, + {"name": "鼓楼区","code": "350102"}, + {"name": "台江区","code": "350103"}, + {"name": "仓山区","code": "350104"}, + {"name": "马尾区","code": "350105"}, + {"name": "晋安区","code": "350111"}, + {"name": "闽侯县","code": "350121"}, + {"name": "连江县","code": "350122"}, + {"name": "罗源县","code": "350123"}, + {"name": "闽清县","code": "350124"}, + {"name": "永泰县","code": "350125"}, + {"name": "平潭县","code": "350128"}, + {"name": "福清市","code": "350181"}, + {"name": "长乐市","code": "350182" + } + ] + }, + { + "name": "厦门市", + "code": "350200", + "area": [ + {"name": "市辖区","code": "350201"}, + {"name": "思明区","code": "350203"}, + {"name": "海沧区","code": "350205"}, + {"name": "湖里区","code": "350206"}, + {"name": "集美区","code": "350211"}, + {"name": "同安区","code": "350212"}, + {"name": "翔安区","code": "350213" + } + ] + }, + { + "name": "莆田市", + "code": "350300", + "area": [ + {"name": "市辖区","code": "350301"}, + {"name": "城厢区","code": "350302"}, + {"name": "涵江区","code": "350303"}, + {"name": "荔城区","code": "350304"}, + {"name": "秀屿区","code": "350305"}, + {"name": "仙游县","code": "350322" + } + ] + }, + { + "name": "三明市", + "code": "350400", + "area": [ + {"name": "市辖区","code": "350401"}, + {"name": "梅列区","code": "350402"}, + {"name": "三元区","code": "350403"}, + {"name": "明溪县","code": "350421"}, + {"name": "清流县","code": "350423"}, + {"name": "宁化县","code": "350424"}, + {"name": "大田县","code": "350425"}, + {"name": "尤溪县","code": "350426"}, + {"name": "沙县","code": "350427"}, + {"name": "将乐县","code": "350428"}, + {"name": "泰宁县","code": "350429"}, + {"name": "建宁县","code": "350430"}, + {"name": "永安市","code": "350481" + } + ] + }, + { + "name": "泉州市", + "code": "350500", + "area": [ + {"name": "市辖区","code": "350501"}, + {"name": "鲤城区","code": "350502"}, + {"name": "丰泽区","code": "350503"}, + {"name": "洛江区","code": "350504"}, + {"name": "泉港区","code": "350505"}, + {"name": "惠安县","code": "350521"}, + {"name": "安溪县","code": "350524"}, + {"name": "永春县","code": "350525"}, + {"name": "德化县","code": "350526"}, + {"name": "金门县","code": "350527"}, + {"name": "石狮市","code": "350581"}, + {"name": "晋江市","code": "350582"}, + {"name": "南安市","code": "350583" + } + ] + }, + { + "name": "漳州市", + "code": "350600", + "area": [ + {"name": "市辖区","code": "350601"}, + {"name": "芗城区","code": "350602"}, + {"name": "龙文区","code": "350603"}, + {"name": "云霄县","code": "350622"}, + {"name": "漳浦县","code": "350623"}, + {"name": "诏安县","code": "350624"}, + {"name": "长泰县","code": "350625"}, + {"name": "东山县","code": "350626"}, + {"name": "南靖县","code": "350627"}, + {"name": "平和县","code": "350628"}, + {"name": "华安县","code": "350629"}, + {"name": "龙海市","code": "350681" + } + ] + }, + { + "name": "南平市", + "code": "350700", + "area": [ + {"name": "市辖区","code": "350701"}, + {"name": "延平区","code": "350702"}, + {"name": "建阳区","code": "350703"}, + {"name": "顺昌县","code": "350721"}, + {"name": "浦城县","code": "350722"}, + {"name": "光泽县","code": "350723"}, + {"name": "松溪县","code": "350724"}, + {"name": "政和县","code": "350725"}, + {"name": "邵武市","code": "350781"}, + {"name": "武夷山市","code": "350782"}, + {"name": "建瓯市","code": "350783" + } + ] + }, + { + "name": "龙岩市", + "code": "350800", + "area": [ + {"name": "市辖区","code": "350801"}, + {"name": "新罗区","code": "350802"}, + {"name": "永定区","code": "350803"}, + {"name": "长汀县","code": "350821"}, + {"name": "上杭县","code": "350823"}, + {"name": "武平县","code": "350824"}, + {"name": "连城县","code": "350825"}, + {"name": "漳平市","code": "350881" + } + ] + }, + { + "name": "宁德市", + "code": "350900", + "area": [ + {"name": "市辖区","code": "350901"}, + {"name": "蕉城区","code": "350902"}, + {"name": "霞浦县","code": "350921"}, + {"name": "古田县","code": "350922"}, + {"name": "屏南县","code": "350923"}, + {"name": "寿宁县","code": "350924"}, + {"name": "周宁县","code": "350925"}, + {"name": "柘荣县","code": "350926"}, + {"name": "福安市","code": "350981"}, + {"name": "福鼎市","code": "350982" + } + ] + } + ] + }, + { + "name": "江西省", + "code": "360000", + "city": [ + { + "name": "南昌市", + "code": "360100", + "area": [ + {"name": "市辖区","code": "360101"}, + {"name": "东湖区","code": "360102"}, + {"name": "西湖区","code": "360103"}, + {"name": "青云谱区","code": "360104"}, + {"name": "湾里区","code": "360105"}, + {"name": "青山湖区","code": "360111"}, + {"name": "新建区","code": "360112"}, + {"name": "南昌县","code": "360121"}, + {"name": "安义县","code": "360123"}, + {"name": "进贤县","code": "360124" + } + ] + }, + { + "name": "景德镇市", + "code": "360200", + "area": [ + {"name": "市辖区","code": "360201"}, + {"name": "昌江区","code": "360202"}, + {"name": "珠山区","code": "360203"}, + {"name": "浮梁县","code": "360222"}, + {"name": "乐平市","code": "360281" + } + ] + }, + { + "name": "萍乡市", + "code": "360300", + "area": [ + {"name": "市辖区","code": "360301"}, + {"name": "安源区","code": "360302"}, + {"name": "湘东区","code": "360313"}, + {"name": "莲花县","code": "360321"}, + {"name": "上栗县","code": "360322"}, + {"name": "芦溪县","code": "360323" + } + ] + }, + { + "name": "九江市", + "code": "360400", + "area": [ + {"name": "市辖区","code": "360401"}, + {"name": "濂溪区","code": "360402"}, + {"name": "浔阳区","code": "360403"}, + {"name": "九江县","code": "360421"}, + {"name": "武宁县","code": "360423"}, + {"name": "修水县","code": "360424"}, + {"name": "永修县","code": "360425"}, + {"name": "德安县","code": "360426"}, + {"name": "都昌县","code": "360428"}, + {"name": "湖口县","code": "360429"}, + {"name": "彭泽县","code": "360430"}, + {"name": "瑞昌市","code": "360481"}, + {"name": "共青城市","code": "360482"}, + {"name": "庐山市","code": "360483" + } + ] + }, + { + "name": "新余市", + "code": "360500", + "area": [ + {"name": "市辖区","code": "360501"}, + {"name": "渝水区","code": "360502"}, + {"name": "分宜县","code": "360521" + } + ] + }, + { + "name": "鹰潭市", + "code": "360600", + "area": [ + {"name": "市辖区","code": "360601"}, + {"name": "月湖区","code": "360602"}, + {"name": "余江县","code": "360622"}, + {"name": "贵溪市","code": "360681" + } + ] + }, + { + "name": "赣州市", + "code": "360700", + "area": [ + {"name": "市辖区","code": "360701"}, + {"name": "章贡区","code": "360702"}, + {"name": "南康区","code": "360703"}, + {"name": "赣县","code": "360721"}, + {"name": "信丰县","code": "360722"}, + {"name": "大余县","code": "360723"}, + {"name": "上犹县","code": "360724"}, + {"name": "崇义县","code": "360725"}, + {"name": "安远县","code": "360726"}, + {"name": "龙南县","code": "360727"}, + {"name": "定南县","code": "360728"}, + {"name": "全南县","code": "360729"}, + {"name": "宁都县","code": "360730"}, + {"name": "于都县","code": "360731"}, + {"name": "兴国县","code": "360732"}, + {"name": "会昌县","code": "360733"}, + {"name": "寻乌县","code": "360734"}, + {"name": "石城县","code": "360735"}, + {"name": "瑞金市","code": "360781" + } + ] + }, + { + "name": "吉安市", + "code": "360800", + "area": [ + {"name": "市辖区","code": "360801"}, + {"name": "吉州区","code": "360802"}, + {"name": "青原区","code": "360803"}, + {"name": "吉安县","code": "360821"}, + {"name": "吉水县","code": "360822"}, + {"name": "峡江县","code": "360823"}, + {"name": "新干县","code": "360824"}, + {"name": "永丰县","code": "360825"}, + {"name": "泰和县","code": "360826"}, + {"name": "遂川县","code": "360827"}, + {"name": "万安县","code": "360828"}, + {"name": "安福县","code": "360829"}, + {"name": "永新县","code": "360830"}, + {"name": "井冈山市","code": "360881" + } + ] + }, + { + "name": "宜春市", + "code": "360900", + "area": [ + {"name": "市辖区","code": "360901"}, + {"name": "袁州区","code": "360902"}, + {"name": "奉新县","code": "360921"}, + {"name": "万载县","code": "360922"}, + {"name": "上高县","code": "360923"}, + {"name": "宜丰县","code": "360924"}, + {"name": "靖安县","code": "360925"}, + {"name": "铜鼓县","code": "360926"}, + {"name": "丰城市","code": "360981"}, + {"name": "樟树市","code": "360982"}, + {"name": "高安市","code": "360983" + } + ] + }, + { + "name": "抚州市", + "code": "361000", + "area": [ + {"name": "市辖区","code": "361001"}, + {"name": "临川区","code": "361002"}, + {"name": "南城县","code": "361021"}, + {"name": "黎川县","code": "361022"}, + {"name": "南丰县","code": "361023"}, + {"name": "崇仁县","code": "361024"}, + {"name": "乐安县","code": "361025"}, + {"name": "宜黄县","code": "361026"}, + {"name": "金溪县","code": "361027"}, + {"name": "资溪县","code": "361028"}, + {"name": "东乡县","code": "361029"}, + {"name": "广昌县","code": "361030" + } + ] + }, + { + "name": "上饶市", + "code": "361100", + "area": [ + {"name": "市辖区","code": "361101"}, + {"name": "信州区","code": "361102"}, + {"name": "广丰区","code": "361103"}, + {"name": "上饶县","code": "361121"}, + {"name": "玉山县","code": "361123"}, + {"name": "铅山县","code": "361124"}, + {"name": "横峰县","code": "361125"}, + {"name": "弋阳县","code": "361126"}, + {"name": "余干县","code": "361127"}, + {"name": "鄱阳县","code": "361128"}, + {"name": "万年县","code": "361129"}, + {"name": "婺源县","code": "361130"}, + {"name": "德兴市","code": "361181" + } + ] + } + ] + }, + { + "name": "山东省", + "code": "370000", + "city": [ + { + "name": "济南市", + "code": "370100", + "area": [ + {"name": "市辖区","code": "370101"}, + {"name": "历下区","code": "370102"}, + {"name": "市中区","code": "370103"}, + {"name": "槐荫区","code": "370104"}, + {"name": "天桥区","code": "370105"}, + {"name": "历城区","code": "370112"}, + {"name": "长清区","code": "370113"}, + {"name": "平阴县","code": "370124"}, + {"name": "济阳县","code": "370125"}, + {"name": "商河县","code": "370126"}, + {"name": "章丘市","code": "370181" + } + ] + }, + { + "name": "青岛市", + "code": "370200", + "area": [ + {"name": "市辖区","code": "370201"}, + {"name": "市南区","code": "370202"}, + {"name": "市北区","code": "370203"}, + {"name": "黄岛区","code": "370211"}, + {"name": "崂山区","code": "370212"}, + {"name": "李沧区","code": "370213"}, + {"name": "城阳区","code": "370214"}, + {"name": "胶州市","code": "370281"}, + {"name": "即墨市","code": "370282"}, + {"name": "平度市","code": "370283"}, + {"name": "莱西市","code": "370285" + } + ] + }, + { + "name": "淄博市", + "code": "370300", + "area": [ + {"name": "市辖区","code": "370301"}, + {"name": "淄川区","code": "370302"}, + {"name": "张店区","code": "370303"}, + {"name": "博山区","code": "370304"}, + {"name": "临淄区","code": "370305"}, + {"name": "周村区","code": "370306"}, + {"name": "桓台县","code": "370321"}, + {"name": "高青县","code": "370322"}, + {"name": "沂源县","code": "370323" + } + ] + }, + { + "name": "枣庄市", + "code": "370400", + "area": [ + {"name": "市辖区","code": "370401"}, + {"name": "市中区","code": "370402"}, + {"name": "薛城区","code": "370403"}, + {"name": "峄城区","code": "370404"}, + {"name": "台儿庄区","code": "370405"}, + {"name": "山亭区","code": "370406"}, + {"name": "滕州市","code": "370481" + } + ] + }, + { + "name": "东营市", + "code": "370500", + "area": [ + {"name": "市辖区","code": "370501"}, + {"name": "东营区","code": "370502"}, + {"name": "河口区","code": "370503"}, + {"name": "垦利区","code": "370505"}, + {"name": "利津县","code": "370522"}, + {"name": "广饶县","code": "370523" + } + ] + }, + { + "name": "烟台市", + "code": "370600", + "area": [ + {"name": "市辖区","code": "370601"}, + {"name": "芝罘区","code": "370602"}, + {"name": "福山区","code": "370611"}, + {"name": "牟平区","code": "370612"}, + {"name": "莱山区","code": "370613"}, + {"name": "长岛县","code": "370634"}, + {"name": "龙口市","code": "370681"}, + {"name": "莱阳市","code": "370682"}, + {"name": "莱州市","code": "370683"}, + {"name": "蓬莱市","code": "370684"}, + {"name": "招远市","code": "370685"}, + {"name": "栖霞市","code": "370686"}, + {"name": "海阳市","code": "370687" + } + ] + }, + { + "name": "潍坊市", + "code": "370700", + "area": [ + {"name": "市辖区","code": "370701"}, + {"name": "潍城区","code": "370702"}, + {"name": "寒亭区","code": "370703"}, + {"name": "坊子区","code": "370704"}, + {"name": "奎文区","code": "370705"}, + {"name": "临朐县","code": "370724"}, + {"name": "昌乐县","code": "370725"}, + {"name": "青州市","code": "370781"}, + {"name": "诸城市","code": "370782"}, + {"name": "寿光市","code": "370783"}, + {"name": "安丘市","code": "370784"}, + {"name": "高密市","code": "370785"}, + {"name": "昌邑市","code": "370786" + } + ] + }, + { + "name": "济宁市", + "code": "370800", + "area": [ + {"name": "市辖区","code": "370801"}, + {"name": "任城区","code": "370811"}, + {"name": "兖州区","code": "370812"}, + {"name": "微山县","code": "370826"}, + {"name": "鱼台县","code": "370827"}, + {"name": "金乡县","code": "370828"}, + {"name": "嘉祥县","code": "370829"}, + {"name": "汶上县","code": "370830"}, + {"name": "泗水县","code": "370831"}, + {"name": "梁山县","code": "370832"}, + {"name": "曲阜市","code": "370881"}, + {"name": "邹城市","code": "370883" + } + ] + }, + { + "name": "泰安市", + "code": "370900", + "area": [ + {"name": "市辖区","code": "370901"}, + {"name": "泰山区","code": "370902"}, + {"name": "岱岳区","code": "370911"}, + {"name": "宁阳县","code": "370921"}, + {"name": "东平县","code": "370923"}, + {"name": "新泰市","code": "370982"}, + {"name": "肥城市","code": "370983" + } + ] + }, + { + "name": "威海市", + "code": "371000", + "area": [ + {"name": "市辖区","code": "371001"}, + {"name": "环翠区","code": "371002"}, + {"name": "文登区","code": "371003"}, + {"name": "荣成市","code": "371082"}, + {"name": "乳山市","code": "371083" + } + ] + }, + { + "name": "日照市", + "code": "371100", + "area": [ + {"name": "市辖区","code": "371101"}, + {"name": "东港区","code": "371102"}, + {"name": "岚山区","code": "371103"}, + {"name": "五莲县","code": "371121"}, + {"name": "莒县","code": "371122" + } + ] + }, + { + "name": "莱芜市", + "code": "371200", + "area": [ + {"name": "市辖区","code": "371201"}, + {"name": "莱城区","code": "371202"}, + {"name": "钢城区","code": "371203" + } + ] + }, + { + "name": "临沂市", + "code": "371300", + "area": [ + {"name": "市辖区","code": "371301"}, + {"name": "兰山区","code": "371302"}, + {"name": "罗庄区","code": "371311"}, + {"name": "河东区","code": "371312"}, + {"name": "沂南县","code": "371321"}, + {"name": "郯城县","code": "371322"}, + {"name": "沂水县","code": "371323"}, + {"name": "兰陵县","code": "371324"}, + {"name": "费县","code": "371325"}, + {"name": "平邑县","code": "371326"}, + {"name": "莒南县","code": "371327"}, + {"name": "蒙阴县","code": "371328"}, + {"name": "临沭县","code": "371329" + } + ] + }, + { + "name": "德州市", + "code": "371400", + "area": [ + {"name": "市辖区","code": "371401"}, + {"name": "德城区","code": "371402"}, + {"name": "陵城区","code": "371403"}, + {"name": "宁津县","code": "371422"}, + {"name": "庆云县","code": "371423"}, + {"name": "临邑县","code": "371424"}, + {"name": "齐河县","code": "371425"}, + {"name": "平原县","code": "371426"}, + {"name": "夏津县","code": "371427"}, + {"name": "武城县","code": "371428"}, + {"name": "乐陵市","code": "371481"}, + {"name": "禹城市","code": "371482" + } + ] + }, + { + "name": "聊城市", + "code": "371500", + "area": [ + {"name": "市辖区","code": "371501"}, + {"name": "东昌府区","code": "371502"}, + {"name": "阳谷县","code": "371521"}, + {"name": "莘县","code": "371522"}, + {"name": "茌平县","code": "371523"}, + {"name": "东阿县","code": "371524"}, + {"name": "冠县","code": "371525"}, + {"name": "高唐县","code": "371526"}, + {"name": "临清市","code": "371581" + } + ] + }, + { + "name": "滨州市", + "code": "371600", + "area": [ + {"name": "市辖区","code": "371601"}, + {"name": "滨城区","code": "371602"}, + {"name": "沾化区","code": "371603"}, + {"name": "惠民县","code": "371621"}, + {"name": "阳信县","code": "371622"}, + {"name": "无棣县","code": "371623"}, + {"name": "博兴县","code": "371625"}, + {"name": "邹平县","code": "371626" + } + ] + }, + { + "name": "菏泽市", + "code": "371700", + "area": [ + {"name": "市辖区","code": "371701"}, + {"name": "牡丹区","code": "371702"}, + {"name": "定陶区","code": "371703"}, + {"name": "曹县","code": "371721"}, + {"name": "单县","code": "371722"}, + {"name": "成武县","code": "371723"}, + {"name": "巨野县","code": "371724"}, + {"name": "郓城县","code": "371725"}, + {"name": "鄄城县","code": "371726"}, + {"name": "东明县","code": "371728" + } + ] + } + ] + }, + { + "name": "河南省", + "code": "410000", + "city": [ + { + "name": "郑州市", + "code": "410100", + "area": [ + {"name": "市辖区","code": "410101"}, + {"name": "中原区","code": "410102"}, + {"name": "二七区","code": "410103"}, + {"name": "管城回族区","code": "410104"}, + {"name": "金水区","code": "410105"}, + {"name": "上街区","code": "410106"}, + {"name": "惠济区","code": "410108"}, + {"name": "中牟县","code": "410122"}, + {"name": "巩义市","code": "410181"}, + {"name": "荥阳市","code": "410182"}, + {"name": "新密市","code": "410183"}, + {"name": "新郑市","code": "410184"}, + {"name": "登封市","code": "410185" + } + ] + }, + { + "name": "开封市", + "code": "410200", + "area": [ + {"name": "市辖区","code": "410201"}, + {"name": "龙亭区","code": "410202"}, + {"name": "顺河回族区","code": "410203"}, + {"name": "鼓楼区","code": "410204"}, + {"name": "禹王台区","code": "410205"}, + {"name": "金明区","code": "410211"}, + {"name": "祥符区","code": "410212"}, + {"name": "杞县","code": "410221"}, + {"name": "通许县","code": "410222"}, + {"name": "尉氏县","code": "410223"}, + {"name": "兰考县","code": "410225" + } + ] + }, + { + "name": "洛阳市", + "code": "410300", + "area": [ + {"name": "市辖区","code": "410301"}, + {"name": "老城区","code": "410302"}, + {"name": "西工区","code": "410303"}, + {"name": "瀍河回族区","code": "410304"}, + {"name": "涧西区","code": "410305"}, + {"name": "吉利区","code": "410306"}, + {"name": "洛龙区","code": "410311"}, + {"name": "孟津县","code": "410322"}, + {"name": "新安县","code": "410323"}, + {"name": "栾川县","code": "410324"}, + {"name": "嵩县","code": "410325"}, + {"name": "汝阳县","code": "410326"}, + {"name": "宜阳县","code": "410327"}, + {"name": "洛宁县","code": "410328"}, + {"name": "伊川县","code": "410329"}, + {"name": "偃师市","code": "410381" + } + ] + }, + { + "name": "平顶山市", + "code": "410400", + "area": [ + {"name": "市辖区","code": "410401"}, + {"name": "新华区","code": "410402"}, + {"name": "卫东区","code": "410403"}, + {"name": "石龙区","code": "410404"}, + {"name": "湛河区","code": "410411"}, + {"name": "宝丰县","code": "410421"}, + {"name": "叶县","code": "410422"}, + {"name": "鲁山县","code": "410423"}, + {"name": "郏县","code": "410425"}, + {"name": "舞钢市","code": "410481"}, + {"name": "汝州市","code": "410482" + } + ] + }, + { + "name": "安阳市", + "code": "410500", + "area": [ + {"name": "市辖区","code": "410501"}, + {"name": "文峰区","code": "410502"}, + {"name": "北关区","code": "410503"}, + {"name": "殷都区","code": "410505"}, + {"name": "龙安区","code": "410506"}, + {"name": "安阳县","code": "410522"}, + {"name": "汤阴县","code": "410523"}, + {"name": "滑县","code": "410526"}, + {"name": "内黄县","code": "410527"}, + {"name": "林州市","code": "410581" + } + ] + }, + { + "name": "鹤壁市", + "code": "410600", + "area": [ + {"name": "市辖区","code": "410601"}, + {"name": "鹤山区","code": "410602"}, + {"name": "山城区","code": "410603"}, + {"name": "淇滨区","code": "410611"}, + {"name": "浚县","code": "410621"}, + {"name": "淇县","code": "410622" + } + ] + }, + { + "name": "新乡市", + "code": "410700", + "area": [ + {"name": "市辖区","code": "410701"}, + {"name": "红旗区","code": "410702"}, + {"name": "卫滨区","code": "410703"}, + {"name": "凤泉区","code": "410704"}, + {"name": "牧野区","code": "410711"}, + {"name": "新乡县","code": "410721"}, + {"name": "获嘉县","code": "410724"}, + {"name": "原阳县","code": "410725"}, + {"name": "延津县","code": "410726"}, + {"name": "封丘县","code": "410727"}, + {"name": "长垣县","code": "410728"}, + {"name": "卫辉市","code": "410781"}, + {"name": "辉县市","code": "410782" + } + ] + }, + { + "name": "焦作市", + "code": "410800", + "area": [ + {"name": "市辖区","code": "410801"}, + {"name": "解放区","code": "410802"}, + {"name": "中站区","code": "410803"}, + {"name": "马村区","code": "410804"}, + {"name": "山阳区","code": "410811"}, + {"name": "修武县","code": "410821"}, + {"name": "博爱县","code": "410822"}, + {"name": "武陟县","code": "410823"}, + {"name": "温县","code": "410825"}, + {"name": "沁阳市","code": "410882"}, + {"name": "孟州市","code": "410883" + } + ] + }, + { + "name": "濮阳市", + "code": "410900", + "area": [ + {"name": "市辖区","code": "410901"}, + {"name": "华龙区","code": "410902"}, + {"name": "清丰县","code": "410922"}, + {"name": "南乐县","code": "410923"}, + {"name": "范县","code": "410926"}, + {"name": "台前县","code": "410927"}, + {"name": "濮阳县","code": "410928" + } + ] + }, + { + "name": "许昌市", + "code": "411000", + "area": [ + {"name": "市辖区","code": "411001"}, + {"name": "魏都区","code": "411002"}, + {"name": "许昌县","code": "411023"}, + {"name": "鄢陵县","code": "411024"}, + {"name": "襄城县","code": "411025"}, + {"name": "禹州市","code": "411081"}, + {"name": "长葛市","code": "411082" + } + ] + }, + { + "name": "漯河市", + "code": "411100", + "area": [ + {"name": "市辖区","code": "411101"}, + {"name": "源汇区","code": "411102"}, + {"name": "郾城区","code": "411103"}, + {"name": "召陵区","code": "411104"}, + {"name": "舞阳县","code": "411121"}, + {"name": "临颍县","code": "411122" + } + ] + }, + { + "name": "三门峡市", + "code": "411200", + "area": [ + {"name": "市辖区","code": "411201"}, + {"name": "湖滨区","code": "411202"}, + {"name": "陕州区","code": "411203"}, + {"name": "渑池县","code": "411221"}, + {"name": "卢氏县","code": "411224"}, + {"name": "义马市","code": "411281"}, + {"name": "灵宝市","code": "411282" + } + ] + }, + { + "name": "南阳市", + "code": "411300", + "area": [ + {"name": "市辖区","code": "411301"}, + {"name": "宛城区","code": "411302"}, + {"name": "卧龙区","code": "411303"}, + {"name": "南召县","code": "411321"}, + {"name": "方城县","code": "411322"}, + {"name": "西峡县","code": "411323"}, + {"name": "镇平县","code": "411324"}, + {"name": "内乡县","code": "411325"}, + {"name": "淅川县","code": "411326"}, + {"name": "社旗县","code": "411327"}, + {"name": "唐河县","code": "411328"}, + {"name": "新野县","code": "411329"}, + {"name": "桐柏县","code": "411330"}, + {"name": "邓州市","code": "411381" + } + ] + }, + { + "name": "商丘市", + "code": "411400", + "area": [ + {"name": "市辖区","code": "411401"}, + {"name": "梁园区","code": "411402"}, + {"name": "睢阳区","code": "411403"}, + {"name": "民权县","code": "411421"}, + {"name": "睢县","code": "411422"}, + {"name": "宁陵县","code": "411423"}, + {"name": "柘城县","code": "411424"}, + {"name": "虞城县","code": "411425"}, + {"name": "夏邑县","code": "411426"}, + {"name": "永城市","code": "411481" + } + ] + }, + { + "name": "信阳市", + "code": "411500", + "area": [ + {"name": "市辖区","code": "411501"}, + {"name": "浉河区","code": "411502"}, + {"name": "平桥区","code": "411503"}, + {"name": "罗山县","code": "411521"}, + {"name": "光山县","code": "411522"}, + {"name": "新县","code": "411523"}, + {"name": "商城县","code": "411524"}, + {"name": "固始县","code": "411525"}, + {"name": "潢川县","code": "411526"}, + {"name": "淮滨县","code": "411527"}, + {"name": "息县","code": "411528" + } + ] + }, + { + "name": "周口市", + "code": "411600", + "area": [ + {"name": "市辖区","code": "411601"}, + {"name": "川汇区","code": "411602"}, + {"name": "扶沟县","code": "411621"}, + {"name": "西华县","code": "411622"}, + {"name": "商水县","code": "411623"}, + {"name": "沈丘县","code": "411624"}, + {"name": "郸城县","code": "411625"}, + {"name": "淮阳县","code": "411626"}, + {"name": "太康县","code": "411627"}, + {"name": "鹿邑县","code": "411628"}, + {"name": "项城市","code": "411681" + } + ] + }, + { + "name": "驻马店市", + "code": "411700", + "area": [ + {"name": "市辖区","code": "411701"}, + {"name": "驿城区","code": "411702"}, + {"name": "西平县","code": "411721"}, + {"name": "上蔡县","code": "411722"}, + {"name": "平舆县","code": "411723"}, + {"name": "正阳县","code": "411724"}, + {"name": "确山县","code": "411725"}, + {"name": "泌阳县","code": "411726"}, + {"name": "汝南县","code": "411727"}, + {"name": "遂平县","code": "411728"}, + {"name": "新蔡县","code": "411729" + } + ] + }, + { + "name": "省直辖县级行政区划", + "code": "419000", + "area": [ + {"name": "济源市","code": "419001" + } + ] + } + ] + }, + { + "name": "湖北省", + "code": "420000", + "city": [ + { + "name": "武汉市", + "code": "420100", + "area": [ + {"name": "市辖区","code": "420101"}, + {"name": "江岸区","code": "420102"}, + {"name": "江汉区","code": "420103"}, + {"name": "硚口区","code": "420104"}, + {"name": "汉阳区","code": "420105"}, + {"name": "武昌区","code": "420106"}, + {"name": "青山区","code": "420107"}, + {"name": "洪山区","code": "420111"}, + {"name": "东西湖区","code": "420112"}, + {"name": "汉南区","code": "420113"}, + {"name": "蔡甸区","code": "420114"}, + {"name": "江夏区","code": "420115"}, + {"name": "黄陂区","code": "420116"}, + {"name": "新洲区","code": "420117" + } + ] + }, + { + "name": "黄石市", + "code": "420200", + "area": [ + {"name": "市辖区","code": "420201"}, + {"name": "黄石港区","code": "420202"}, + {"name": "西塞山区","code": "420203"}, + {"name": "下陆区","code": "420204"}, + {"name": "铁山区","code": "420205"}, + {"name": "阳新县","code": "420222"}, + {"name": "大冶市","code": "420281" + } + ] + }, + { + "name": "十堰市", + "code": "420300", + "area": [ + {"name": "市辖区","code": "420301"}, + {"name": "茅箭区","code": "420302"}, + {"name": "张湾区","code": "420303"}, + {"name": "郧阳区","code": "420304"}, + {"name": "郧西县","code": "420322"}, + {"name": "竹山县","code": "420323"}, + {"name": "竹溪县","code": "420324"}, + {"name": "房县","code": "420325"}, + {"name": "丹江口市","code": "420381" + } + ] + }, + { + "name": "宜昌市", + "code": "420500", + "area": [ + {"name": "市辖区","code": "420501"}, + {"name": "西陵区","code": "420502"}, + {"name": "伍家岗区","code": "420503"}, + {"name": "点军区","code": "420504"}, + {"name": "猇亭区","code": "420505"}, + {"name": "夷陵区","code": "420506"}, + {"name": "远安县","code": "420525"}, + {"name": "兴山县","code": "420526"}, + {"name": "秭归县","code": "420527"}, + {"name": "长阳土家族自治县","code": "420528"}, + {"name": "五峰土家族自治县","code": "420529"}, + {"name": "宜都市","code": "420581"}, + {"name": "当阳市","code": "420582"}, + {"name": "枝江市","code": "420583" + } + ] + }, + { + "name": "襄阳市", + "code": "420600", + "area": [ + {"name": "市辖区","code": "420601"}, + {"name": "襄城区","code": "420602"}, + {"name": "樊城区","code": "420606"}, + {"name": "襄州区","code": "420607"}, + {"name": "南漳县","code": "420624"}, + {"name": "谷城县","code": "420625"}, + {"name": "保康县","code": "420626"}, + {"name": "老河口市","code": "420682"}, + {"name": "枣阳市","code": "420683"}, + {"name": "宜城市","code": "420684" + } + ] + }, + { + "name": "鄂州市", + "code": "420700", + "area": [ + {"name": "市辖区","code": "420701"}, + {"name": "梁子湖区","code": "420702"}, + {"name": "华容区","code": "420703"}, + {"name": "鄂城区","code": "420704" + } + ] + }, + { + "name": "荆门市", + "code": "420800", + "area": [ + {"name": "市辖区","code": "420801"}, + {"name": "东宝区","code": "420802"}, + {"name": "掇刀区","code": "420804"}, + {"name": "京山县","code": "420821"}, + {"name": "沙洋县","code": "420822"}, + {"name": "钟祥市","code": "420881" + } + ] + }, + { + "name": "孝感市", + "code": "420900", + "area": [ + {"name": "市辖区","code": "420901"}, + {"name": "孝南区","code": "420902"}, + {"name": "孝昌县","code": "420921"}, + {"name": "大悟县","code": "420922"}, + {"name": "云梦县","code": "420923"}, + {"name": "应城市","code": "420981"}, + {"name": "安陆市","code": "420982"}, + {"name": "汉川市","code": "420984" + } + ] + }, + { + "name": "荆州市", + "code": "421000", + "area": [ + {"name": "市辖区","code": "421001"}, + {"name": "沙市区","code": "421002"}, + {"name": "荆州区","code": "421003"}, + {"name": "公安县","code": "421022"}, + {"name": "监利县","code": "421023"}, + {"name": "江陵县","code": "421024"}, + {"name": "石首市","code": "421081"}, + {"name": "洪湖市","code": "421083"}, + {"name": "松滋市","code": "421087" + } + ] + }, + { + "name": "黄冈市", + "code": "421100", + "area": [ + {"name": "市辖区","code": "421101"}, + {"name": "黄州区","code": "421102"}, + {"name": "团风县","code": "421121"}, + {"name": "红安县","code": "421122"}, + {"name": "罗田县","code": "421123"}, + {"name": "英山县","code": "421124"}, + {"name": "浠水县","code": "421125"}, + {"name": "蕲春县","code": "421126"}, + {"name": "黄梅县","code": "421127"}, + {"name": "麻城市","code": "421181"}, + {"name": "武穴市","code": "421182" + } + ] + }, + { + "name": "咸宁市", + "code": "421200", + "area": [ + {"name": "市辖区","code": "421201"}, + {"name": "咸安区","code": "421202"}, + {"name": "嘉鱼县","code": "421221"}, + {"name": "通城县","code": "421222"}, + {"name": "崇阳县","code": "421223"}, + {"name": "通山县","code": "421224"}, + {"name": "赤壁市","code": "421281" + } + ] + }, + { + "name": "随州市", + "code": "421300", + "area": [ + {"name": "市辖区","code": "421301"}, + {"name": "曾都区","code": "421303"}, + {"name": "随县","code": "421321"}, + {"name": "广水市","code": "421381" + } + ] + }, + { + "name": "恩施土家族苗族自治州", + "code": "422800", + "area": [ + {"name": "恩施市","code": "422801"}, + {"name": "利川市","code": "422802"}, + {"name": "建始县","code": "422822"}, + {"name": "巴东县","code": "422823"}, + {"name": "宣恩县","code": "422825"}, + {"name": "咸丰县","code": "422826"}, + {"name": "来凤县","code": "422827"}, + {"name": "鹤峰县","code": "422828" + } + ] + }, + { + "name": "省直辖县级行政区划", + "code": "429000", + "area": [ + {"name": "仙桃市","code": "429004"}, + {"name": "潜江市","code": "429005"}, + {"name": "天门市","code": "429006"}, + {"name": "神农架林区","code": "429021" + } + ] + } + ] + }, + { + "name": "湖南省", + "code": "430000", + "city": [ + { + "name": "长沙市", + "code": "430100", + "area": [ + {"name": "市辖区","code": "430101"}, + {"name": "芙蓉区","code": "430102"}, + {"name": "天心区","code": "430103"}, + {"name": "岳麓区","code": "430104"}, + {"name": "开福区","code": "430105"}, + {"name": "雨花区","code": "430111"}, + {"name": "望城区","code": "430112"}, + {"name": "长沙县","code": "430121"}, + {"name": "宁乡县","code": "430124"}, + {"name": "浏阳市","code": "430181" + } + ] + }, + { + "name": "株洲市", + "code": "430200", + "area": [ + {"name": "市辖区","code": "430201"}, + {"name": "荷塘区","code": "430202"}, + {"name": "芦淞区","code": "430203"}, + {"name": "石峰区","code": "430204"}, + {"name": "天元区","code": "430211"}, + {"name": "株洲县","code": "430221"}, + {"name": "攸县","code": "430223"}, + {"name": "茶陵县","code": "430224"}, + {"name": "炎陵县","code": "430225"}, + {"name": "醴陵市","code": "430281" + } + ] + }, + { + "name": "湘潭市", + "code": "430300", + "area": [ + {"name": "市辖区","code": "430301"}, + {"name": "雨湖区","code": "430302"}, + {"name": "岳塘区","code": "430304"}, + {"name": "湘潭县","code": "430321"}, + {"name": "湘乡市","code": "430381"}, + {"name": "韶山市","code": "430382" + } + ] + }, + { + "name": "衡阳市", + "code": "430400", + "area": [ + {"name": "市辖区","code": "430401"}, + {"name": "珠晖区","code": "430405"}, + {"name": "雁峰区","code": "430406"}, + {"name": "石鼓区","code": "430407"}, + {"name": "蒸湘区","code": "430408"}, + {"name": "南岳区","code": "430412"}, + {"name": "衡阳县","code": "430421"}, + {"name": "衡南县","code": "430422"}, + {"name": "衡山县","code": "430423"}, + {"name": "衡东县","code": "430424"}, + {"name": "祁东县","code": "430426"}, + {"name": "耒阳市","code": "430481"}, + {"name": "常宁市","code": "430482" + } + ] + }, + { + "name": "邵阳市", + "code": "430500", + "area": [ + {"name": "市辖区","code": "430501"}, + {"name": "双清区","code": "430502"}, + {"name": "大祥区","code": "430503"}, + {"name": "北塔区","code": "430511"}, + {"name": "邵东县","code": "430521"}, + {"name": "新邵县","code": "430522"}, + {"name": "邵阳县","code": "430523"}, + {"name": "隆回县","code": "430524"}, + {"name": "洞口县","code": "430525"}, + {"name": "绥宁县","code": "430527"}, + {"name": "新宁县","code": "430528"}, + {"name": "城步苗族自治县","code": "430529"}, + {"name": "武冈市","code": "430581" + } + ] + }, + { + "name": "岳阳市", + "code": "430600", + "area": [ + {"name": "市辖区","code": "430601"}, + {"name": "岳阳楼区","code": "430602"}, + {"name": "云溪区","code": "430603"}, + {"name": "君山区","code": "430611"}, + {"name": "岳阳县","code": "430621"}, + {"name": "华容县","code": "430623"}, + {"name": "湘阴县","code": "430624"}, + {"name": "平江县","code": "430626"}, + {"name": "汨罗市","code": "430681"}, + {"name": "临湘市","code": "430682" + } + ] + }, + { + "name": "常德市", + "code": "430700", + "area": [ + {"name": "市辖区","code": "430701"}, + {"name": "武陵区","code": "430702"}, + {"name": "鼎城区","code": "430703"}, + {"name": "安乡县","code": "430721"}, + {"name": "汉寿县","code": "430722"}, + {"name": "澧县","code": "430723"}, + {"name": "临澧县","code": "430724"}, + {"name": "桃源县","code": "430725"}, + {"name": "石门县","code": "430726"}, + {"name": "津市市","code": "430781" + } + ] + }, + { + "name": "张家界市", + "code": "430800", + "area": [ + {"name": "市辖区","code": "430801"}, + {"name": "永定区","code": "430802"}, + {"name": "武陵源区","code": "430811"}, + {"name": "慈利县","code": "430821"}, + {"name": "桑植县","code": "430822" + } + ] + }, + { + "name": "益阳市", + "code": "430900", + "area": [ + {"name": "市辖区","code": "430901"}, + {"name": "资阳区","code": "430902"}, + {"name": "赫山区","code": "430903"}, + {"name": "南县","code": "430921"}, + {"name": "桃江县","code": "430922"}, + {"name": "安化县","code": "430923"}, + {"name": "沅江市","code": "430981" + } + ] + }, + { + "name": "郴州市", + "code": "431000", + "area": [ + {"name": "市辖区","code": "431001"}, + {"name": "北湖区","code": "431002"}, + {"name": "苏仙区","code": "431003"}, + {"name": "桂阳县","code": "431021"}, + {"name": "宜章县","code": "431022"}, + {"name": "永兴县","code": "431023"}, + {"name": "嘉禾县","code": "431024"}, + {"name": "临武县","code": "431025"}, + {"name": "汝城县","code": "431026"}, + {"name": "桂东县","code": "431027"}, + {"name": "安仁县","code": "431028"}, + {"name": "资兴市","code": "431081" + } + ] + }, + { + "name": "永州市", + "code": "431100", + "area": [ + {"name": "市辖区","code": "431101"}, + {"name": "零陵区","code": "431102"}, + {"name": "冷水滩区","code": "431103"}, + {"name": "祁阳县","code": "431121"}, + {"name": "东安县","code": "431122"}, + {"name": "双牌县","code": "431123"}, + {"name": "道县","code": "431124"}, + {"name": "江永县","code": "431125"}, + {"name": "宁远县","code": "431126"}, + {"name": "蓝山县","code": "431127"}, + {"name": "新田县","code": "431128"}, + {"name": "江华瑶族自治县","code": "431129" + } + ] + }, + { + "name": "怀化市", + "code": "431200", + "area": [ + {"name": "市辖区","code": "431201"}, + {"name": "鹤城区","code": "431202"}, + {"name": "中方县","code": "431221"}, + {"name": "沅陵县","code": "431222"}, + {"name": "辰溪县","code": "431223"}, + {"name": "溆浦县","code": "431224"}, + {"name": "会同县","code": "431225"}, + {"name": "麻阳苗族自治县","code": "431226"}, + {"name": "新晃侗族自治县","code": "431227"}, + {"name": "芷江侗族自治县","code": "431228"}, + {"name": "靖州苗族侗族自治县","code": "431229"}, + {"name": "通道侗族自治县","code": "431230"}, + {"name": "洪江市","code": "431281" + } + ] + }, + { + "name": "娄底市", + "code": "431300", + "area": [ + {"name": "市辖区","code": "431301"}, + {"name": "娄星区","code": "431302"}, + {"name": "双峰县","code": "431321"}, + {"name": "新化县","code": "431322"}, + {"name": "冷水江市","code": "431381"}, + {"name": "涟源市","code": "431382" + } + ] + }, + { + "name": "湘西土家族苗族自治州", + "code": "433100", + "area": [ + {"name": "吉首市","code": "433101"}, + {"name": "泸溪县","code": "433122"}, + {"name": "凤凰县","code": "433123"}, + {"name": "花垣县","code": "433124"}, + {"name": "保靖县","code": "433125"}, + {"name": "古丈县","code": "433126"}, + {"name": "永顺县","code": "433127"}, + {"name": "龙山县","code": "433130" + } + ] + } + ] + }, + { + "name": "广东省", + "code": "440000", + "city": [ + { + "name": "广州市", + "code": "440100", + "area": [ + {"name": "市辖区","code": "440101"}, + {"name": "荔湾区","code": "440103"}, + {"name": "越秀区","code": "440104"}, + {"name": "海珠区","code": "440105"}, + {"name": "天河区","code": "440106"}, + {"name": "白云区","code": "440111"}, + {"name": "黄埔区","code": "440112"}, + {"name": "番禺区","code": "440113"}, + {"name": "花都区","code": "440114"}, + {"name": "南沙区","code": "440115"}, + {"name": "从化区","code": "440117"}, + {"name": "增城区","code": "440118" + } + ] + }, + { + "name": "韶关市", + "code": "440200", + "area": [ + {"name": "市辖区","code": "440201"}, + {"name": "武江区","code": "440203"}, + {"name": "浈江区","code": "440204"}, + {"name": "曲江区","code": "440205"}, + {"name": "始兴县","code": "440222"}, + {"name": "仁化县","code": "440224"}, + {"name": "翁源县","code": "440229"}, + {"name": "乳源瑶族自治县","code": "440232"}, + {"name": "新丰县","code": "440233"}, + {"name": "乐昌市","code": "440281"}, + {"name": "南雄市","code": "440282" + } + ] + }, + { + "name": "深圳市", + "code": "440300", + "area": [ + {"name": "市辖区","code": "440301"}, + {"name": "罗湖区","code": "440303"}, + {"name": "福田区","code": "440304"}, + {"name": "南山区","code": "440305"}, + {"name": "宝安区","code": "440306"}, + {"name": "龙岗区","code": "440307"}, + {"name": "盐田区","code": "440308" + } + ] + }, + { + "name": "珠海市", + "code": "440400", + "area": [ + {"name": "市辖区","code": "440401"}, + {"name": "香洲区","code": "440402"}, + {"name": "斗门区","code": "440403"}, + {"name": "金湾区","code": "440404" + } + ] + }, + { + "name": "汕头市", + "code": "440500", + "area": [ + {"name": "市辖区","code": "440501"}, + {"name": "龙湖区","code": "440507"}, + {"name": "金平区","code": "440511"}, + {"name": "濠江区","code": "440512"}, + {"name": "潮阳区","code": "440513"}, + {"name": "潮南区","code": "440514"}, + {"name": "澄海区","code": "440515"}, + {"name": "南澳县","code": "440523" + } + ] + }, + { + "name": "佛山市", + "code": "440600", + "area": [ + {"name": "市辖区","code": "440601"}, + {"name": "禅城区","code": "440604"}, + {"name": "南海区","code": "440605"}, + {"name": "顺德区","code": "440606"}, + {"name": "三水区","code": "440607"}, + {"name": "高明区","code": "440608" + } + ] + }, + { + "name": "江门市", + "code": "440700", + "area": [ + {"name": "市辖区","code": "440701"}, + {"name": "蓬江区","code": "440703"}, + {"name": "江海区","code": "440704"}, + {"name": "新会区","code": "440705"}, + {"name": "台山市","code": "440781"}, + {"name": "开平市","code": "440783"}, + {"name": "鹤山市","code": "440784"}, + {"name": "恩平市","code": "440785" + } + ] + }, + { + "name": "湛江市", + "code": "440800", + "area": [ + {"name": "市辖区","code": "440801"}, + {"name": "赤坎区","code": "440802"}, + {"name": "霞山区","code": "440803"}, + {"name": "坡头区","code": "440804"}, + {"name": "麻章区","code": "440811"}, + {"name": "遂溪县","code": "440823"}, + {"name": "徐闻县","code": "440825"}, + {"name": "廉江市","code": "440881"}, + {"name": "雷州市","code": "440882"}, + {"name": "吴川市","code": "440883" + } + ] + }, + { + "name": "茂名市", + "code": "440900", + "area": [ + {"name": "市辖区","code": "440901"}, + {"name": "茂南区","code": "440902"}, + {"name": "电白区","code": "440904"}, + {"name": "高州市","code": "440981"}, + {"name": "化州市","code": "440982"}, + {"name": "信宜市","code": "440983" + } + ] + }, + { + "name": "肇庆市", + "code": "441200", + "area": [ + {"name": "市辖区","code": "441201"}, + {"name": "端州区","code": "441202"}, + {"name": "鼎湖区","code": "441203"}, + {"name": "高要区","code": "441204"}, + {"name": "广宁县","code": "441223"}, + {"name": "怀集县","code": "441224"}, + {"name": "封开县","code": "441225"}, + {"name": "德庆县","code": "441226"}, + {"name": "四会市","code": "441284" + } + ] + }, + { + "name": "惠州市", + "code": "441300", + "area": [ + {"name": "市辖区","code": "441301"}, + {"name": "惠城区","code": "441302"}, + {"name": "惠阳区","code": "441303"}, + {"name": "博罗县","code": "441322"}, + {"name": "惠东县","code": "441323"}, + {"name": "龙门县","code": "441324" + } + ] + }, + { + "name": "梅州市", + "code": "441400", + "area": [ + {"name": "市辖区","code": "441401"}, + {"name": "梅江区","code": "441402"}, + {"name": "梅县区","code": "441403"}, + {"name": "大埔县","code": "441422"}, + {"name": "丰顺县","code": "441423"}, + {"name": "五华县","code": "441424"}, + {"name": "平远县","code": "441426"}, + {"name": "蕉岭县","code": "441427"}, + {"name": "兴宁市","code": "441481" + } + ] + }, + { + "name": "汕尾市", + "code": "441500", + "area": [ + {"name": "市辖区","code": "441501"}, + {"name": "城区","code": "441502"}, + {"name": "海丰县","code": "441521"}, + {"name": "陆河县","code": "441523"}, + {"name": "陆丰市","code": "441581" + } + ] + }, + { + "name": "河源市", + "code": "441600", + "area": [ + {"name": "市辖区","code": "441601"}, + {"name": "源城区","code": "441602"}, + {"name": "紫金县","code": "441621"}, + {"name": "龙川县","code": "441622"}, + {"name": "连平县","code": "441623"}, + {"name": "和平县","code": "441624"}, + {"name": "东源县","code": "441625" + } + ] + }, + { + "name": "阳江市", + "code": "441700", + "area": [ + {"name": "市辖区","code": "441701"}, + {"name": "江城区","code": "441702"}, + {"name": "阳东区","code": "441704"}, + {"name": "阳西县","code": "441721"}, + {"name": "阳春市","code": "441781" + } + ] + }, + { + "name": "清远市", + "code": "441800", + "area": [ + {"name": "市辖区","code": "441801"}, + {"name": "清城区","code": "441802"}, + {"name": "清新区","code": "441803"}, + {"name": "佛冈县","code": "441821"}, + {"name": "阳山县","code": "441823"}, + {"name": "连山壮族瑶族自治县","code": "441825"}, + {"name": "连南瑶族自治县","code": "441826"}, + {"name": "英德市","code": "441881"}, + {"name": "连州市","code": "441882" + } + ] + }, + { + "name": "东莞市", + "code": "441900", + "area": [] + }, + { + "name": "中山市", + "code": "442000", + "area": [] + }, + { + "name": "潮州市", + "code": "445100", + "area": [ + {"name": "市辖区","code": "445101"}, + {"name": "湘桥区","code": "445102"}, + {"name": "潮安区","code": "445103"}, + {"name": "饶平县","code": "445122" + } + ] + }, + { + "name": "揭阳市", + "code": "445200", + "area": [ + {"name": "市辖区","code": "445201"}, + {"name": "榕城区","code": "445202"}, + {"name": "揭东区","code": "445203"}, + {"name": "揭西县","code": "445222"}, + {"name": "惠来县","code": "445224"}, + {"name": "普宁市","code": "445281" + } + ] + }, + { + "name": "云浮市", + "code": "445300", + "area": [ + {"name": "市辖区","code": "445301"}, + {"name": "云城区","code": "445302"}, + {"name": "云安区","code": "445303"}, + {"name": "新兴县","code": "445321"}, + {"name": "郁南县","code": "445322"}, + {"name": "罗定市","code": "445381" + } + ] + } + ] + }, + { + "name": "广西壮族自治区", + "code": "450000", + "city": [ + { + "name": "南宁市", + "code": "450100", + "area": [ + {"name": "市辖区","code": "450101"}, + {"name": "兴宁区","code": "450102"}, + {"name": "青秀区","code": "450103"}, + {"name": "江南区","code": "450105"}, + {"name": "西乡塘区","code": "450107"}, + {"name": "良庆区","code": "450108"}, + {"name": "邕宁区","code": "450109"}, + {"name": "武鸣区","code": "450110"}, + {"name": "隆安县","code": "450123"}, + {"name": "马山县","code": "450124"}, + {"name": "上林县","code": "450125"}, + {"name": "宾阳县","code": "450126"}, + {"name": "横县","code": "450127" + } + ] + }, + { + "name": "柳州市", + "code": "450200", + "area": [ + {"name": "市辖区","code": "450201"}, + {"name": "城中区","code": "450202"}, + {"name": "鱼峰区","code": "450203"}, + {"name": "柳南区","code": "450204"}, + {"name": "柳北区","code": "450205"}, + {"name": "柳江区","code": "450206"}, + {"name": "柳城县","code": "450222"}, + {"name": "鹿寨县","code": "450223"}, + {"name": "融安县","code": "450224"}, + {"name": "融水苗族自治县","code": "450225"}, + {"name": "三江侗族自治县","code": "450226" + } + ] + }, + { + "name": "桂林市", + "code": "450300", + "area": [ + {"name": "市辖区","code": "450301"}, + {"name": "秀峰区","code": "450302"}, + {"name": "叠彩区","code": "450303"}, + {"name": "象山区","code": "450304"}, + {"name": "七星区","code": "450305"}, + {"name": "雁山区","code": "450311"}, + {"name": "临桂区","code": "450312"}, + {"name": "阳朔县","code": "450321"}, + {"name": "灵川县","code": "450323"}, + {"name": "全州县","code": "450324"}, + {"name": "兴安县","code": "450325"}, + {"name": "永福县","code": "450326"}, + {"name": "灌阳县","code": "450327"}, + {"name": "龙胜各族自治县","code": "450328"}, + {"name": "资源县","code": "450329"}, + {"name": "平乐县","code": "450330"}, + {"name": "荔浦县","code": "450331"}, + {"name": "恭城瑶族自治县","code": "450332" + } + ] + }, + { + "name": "梧州市", + "code": "450400", + "area": [ + {"name": "市辖区","code": "450401"}, + {"name": "万秀区","code": "450403"}, + {"name": "长洲区","code": "450405"}, + {"name": "龙圩区","code": "450406"}, + {"name": "苍梧县","code": "450421"}, + {"name": "藤县","code": "450422"}, + {"name": "蒙山县","code": "450423"}, + {"name": "岑溪市","code": "450481" + } + ] + }, + { + "name": "北海市", + "code": "450500", + "area": [ + {"name": "市辖区","code": "450501"}, + {"name": "海城区","code": "450502"}, + {"name": "银海区","code": "450503"}, + {"name": "铁山港区","code": "450512"}, + {"name": "合浦县","code": "450521" + } + ] + }, + { + "name": "防城港市", + "code": "450600", + "area": [ + {"name": "市辖区","code": "450601"}, + {"name": "港口区","code": "450602"}, + {"name": "防城区","code": "450603"}, + {"name": "上思县","code": "450621"}, + {"name": "东兴市","code": "450681" + } + ] + }, + { + "name": "钦州市", + "code": "450700", + "area": [ + {"name": "市辖区","code": "450701"}, + {"name": "钦南区","code": "450702"}, + {"name": "钦北区","code": "450703"}, + {"name": "灵山县","code": "450721"}, + {"name": "浦北县","code": "450722" + } + ] + }, + { + "name": "贵港市", + "code": "450800", + "area": [ + {"name": "市辖区","code": "450801"}, + {"name": "港北区","code": "450802"}, + {"name": "港南区","code": "450803"}, + {"name": "覃塘区","code": "450804"}, + {"name": "平南县","code": "450821"}, + {"name": "桂平市","code": "450881" + } + ] + }, + { + "name": "玉林市", + "code": "450900", + "area": [ + {"name": "市辖区","code": "450901"}, + {"name": "玉州区","code": "450902"}, + {"name": "福绵区","code": "450903"}, + {"name": "容县","code": "450921"}, + {"name": "陆川县","code": "450922"}, + {"name": "博白县","code": "450923"}, + {"name": "兴业县","code": "450924"}, + {"name": "北流市","code": "450981" + } + ] + }, + { + "name": "百色市", + "code": "451000", + "area": [ + {"name": "市辖区","code": "451001"}, + {"name": "右江区","code": "451002"}, + {"name": "田阳县","code": "451021"}, + {"name": "田东县","code": "451022"}, + {"name": "平果县","code": "451023"}, + {"name": "德保县","code": "451024"}, + {"name": "那坡县","code": "451026"}, + {"name": "凌云县","code": "451027"}, + {"name": "乐业县","code": "451028"}, + {"name": "田林县","code": "451029"}, + {"name": "西林县","code": "451030"}, + {"name": "隆林各族自治县","code": "451031"}, + {"name": "靖西市","code": "451081" + } + ] + }, + { + "name": "贺州市", + "code": "451100", + "area": [ + {"name": "市辖区","code": "451101"}, + {"name": "八步区","code": "451102"}, + {"name": "平桂区","code": "451103"}, + {"name": "昭平县","code": "451121"}, + {"name": "钟山县","code": "451122"}, + {"name": "富川瑶族自治县","code": "451123" + } + ] + }, + { + "name": "河池市", + "code": "451200", + "area": [ + {"name": "市辖区","code": "451201"}, + {"name": "金城江区","code": "451202"}, + {"name": "南丹县","code": "451221"}, + {"name": "天峨县","code": "451222"}, + {"name": "凤山县","code": "451223"}, + {"name": "东兰县","code": "451224"}, + {"name": "罗城仫佬族自治县","code": "451225"}, + {"name": "环江毛南族自治县","code": "451226"}, + {"name": "巴马瑶族自治县","code": "451227"}, + {"name": "都安瑶族自治县","code": "451228"}, + {"name": "大化瑶族自治县","code": "451229"}, + {"name": "宜州市","code": "451281" + } + ] + }, + { + "name": "来宾市", + "code": "451300", + "area": [ + {"name": "市辖区","code": "451301"}, + {"name": "兴宾区","code": "451302"}, + {"name": "忻城县","code": "451321"}, + {"name": "象州县","code": "451322"}, + {"name": "武宣县","code": "451323"}, + {"name": "金秀瑶族自治县","code": "451324"}, + {"name": "合山市","code": "451381" + } + ] + }, + { + "name": "崇左市", + "code": "451400", + "area": [ + {"name": "市辖区","code": "451401"}, + {"name": "江州区","code": "451402"}, + {"name": "扶绥县","code": "451421"}, + {"name": "宁明县","code": "451422"}, + {"name": "龙州县","code": "451423"}, + {"name": "大新县","code": "451424"}, + {"name": "天等县","code": "451425"}, + {"name": "凭祥市","code": "451481" + } + ] + } + ] + }, + { + "name": "海南省", + "code": "460000", + "city": [ + { + "name": "海口市", + "code": "460100", + "area": [ + {"name": "市辖区","code": "460101"}, + {"name": "秀英区","code": "460105"}, + {"name": "龙华区","code": "460106"}, + {"name": "琼山区","code": "460107"}, + {"name": "美兰区","code": "460108" + } + ] + }, + { + "name": "三亚市", + "code": "460200", + "area": [ + {"name": "市辖区","code": "460201"}, + {"name": "海棠区","code": "460202"}, + {"name": "吉阳区","code": "460203"}, + {"name": "天涯区","code": "460204"}, + {"name": "崖州区","code": "460205" + } + ] + }, + { + "name": "三沙市", + "code": "460300", + "area": [] + }, + { + "name": "儋州市", + "code": "460400", + "area": [] + }, + { + "name": "省直辖县级行政区划", + "code": "469000", + "area": [ + {"name": "五指山市","code": "469001"}, + {"name": "琼海市","code": "469002"}, + {"name": "文昌市","code": "469005"}, + {"name": "万宁市","code": "469006"}, + {"name": "东方市","code": "469007"}, + {"name": "定安县","code": "469021"}, + {"name": "屯昌县","code": "469022"}, + {"name": "澄迈县","code": "469023"}, + {"name": "临高县","code": "469024"}, + {"name": "白沙黎族自治县","code": "469025"}, + {"name": "昌江黎族自治县","code": "469026"}, + {"name": "乐东黎族自治县","code": "469027"}, + {"name": "陵水黎族自治县","code": "469028"}, + {"name": "保亭黎族苗族自治县","code": "469029"}, + {"name": "琼中黎族苗族自治县","code": "469030" + } + ] + } + ] + }, + { + "name": "重庆市", + "code": "500000", + "city": [ + { + "name": "市辖区", + "code": "500100", + "area": [ + {"name": "万州区","code": "500101"}, + {"name": "涪陵区","code": "500102"}, + {"name": "渝中区","code": "500103"}, + {"name": "大渡口区","code": "500104"}, + {"name": "江北区","code": "500105"}, + {"name": "沙坪坝区","code": "500106"}, + {"name": "九龙坡区","code": "500107"}, + {"name": "南岸区","code": "500108"}, + {"name": "北碚区","code": "500109"}, + {"name": "綦江区","code": "500110"}, + {"name": "大足区","code": "500111"}, + {"name": "渝北区","code": "500112"}, + {"name": "巴南区","code": "500113"}, + {"name": "黔江区","code": "500114"}, + {"name": "长寿区","code": "500115"}, + {"name": "江津区","code": "500116"}, + {"name": "合川区","code": "500117"}, + {"name": "永川区","code": "500118"}, + {"name": "南川区","code": "500119"}, + {"name": "璧山区","code": "500120"}, + {"name": "铜梁区","code": "500151"}, + {"name": "潼南区","code": "500152"}, + {"name": "荣昌区","code": "500153"}, + {"name": "开州区","code": "500154" + } + ] + }, + { + "name": "县", + "code": "500200", + "area": [ + {"name": "梁平县","code": "500228"}, + {"name": "城口县","code": "500229"}, + {"name": "丰都县","code": "500230"}, + {"name": "垫江县","code": "500231"}, + {"name": "武隆县","code": "500232"}, + {"name": "忠县","code": "500233"}, + {"name": "云阳县","code": "500235"}, + {"name": "奉节县","code": "500236"}, + {"name": "巫山县","code": "500237"}, + {"name": "巫溪县","code": "500238"}, + {"name": "石柱土家族自治县","code": "500240"}, + {"name": "秀山土家族苗族自治县","code": "500241"}, + {"name": "酉阳土家族苗族自治县","code": "500242"}, + {"name": "彭水苗族土家族自治县","code": "500243" + } + ] + } + ] + }, + { + "name": "四川省", + "code": "510000", + "city": [ + { + "name": "成都市", + "code": "510100", + "area": [ + {"name": "市辖区","code": "510101"}, + {"name": "锦江区","code": "510104"}, + {"name": "青羊区","code": "510105"}, + {"name": "金牛区","code": "510106"}, + {"name": "武侯区","code": "510107"}, + {"name": "成华区","code": "510108"}, + {"name": "龙泉驿区","code": "510112"}, + {"name": "青白江区","code": "510113"}, + {"name": "新都区","code": "510114"}, + {"name": "温江区","code": "510115"}, + {"name": "双流区","code": "510116"}, + {"name": "金堂县","code": "510121"}, + {"name": "郫县","code": "510124"}, + {"name": "大邑县","code": "510129"}, + {"name": "蒲江县","code": "510131"}, + {"name": "新津县","code": "510132"}, + {"name": "都江堰市","code": "510181"}, + {"name": "彭州市","code": "510182"}, + {"name": "邛崃市","code": "510183"}, + {"name": "崇州市","code": "510184"}, + {"name": "简阳市","code": "510185" + } + ] + }, + { + "name": "自贡市", + "code": "510300", + "area": [ + {"name": "市辖区","code": "510301"}, + {"name": "自流井区","code": "510302"}, + {"name": "贡井区","code": "510303"}, + {"name": "大安区","code": "510304"}, + {"name": "沿滩区","code": "510311"}, + {"name": "荣县","code": "510321"}, + {"name": "富顺县","code": "510322" + } + ] + }, + { + "name": "攀枝花市", + "code": "510400", + "area": [ + {"name": "市辖区","code": "510401"}, + {"name": "东区","code": "510402"}, + {"name": "西区","code": "510403"}, + {"name": "仁和区","code": "510411"}, + {"name": "米易县","code": "510421"}, + {"name": "盐边县","code": "510422" + } + ] + }, + { + "name": "泸州市", + "code": "510500", + "area": [ + {"name": "市辖区","code": "510501"}, + {"name": "江阳区","code": "510502"}, + {"name": "纳溪区","code": "510503"}, + {"name": "龙马潭区","code": "510504"}, + {"name": "泸县","code": "510521"}, + {"name": "合江县","code": "510522"}, + {"name": "叙永县","code": "510524"}, + {"name": "古蔺县","code": "510525" + } + ] + }, + { + "name": "德阳市", + "code": "510600", + "area": [ + {"name": "市辖区","code": "510601"}, + {"name": "旌阳区","code": "510603"}, + {"name": "中江县","code": "510623"}, + {"name": "罗江县","code": "510626"}, + {"name": "广汉市","code": "510681"}, + {"name": "什邡市","code": "510682"}, + {"name": "绵竹市","code": "510683" + } + ] + }, + { + "name": "绵阳市", + "code": "510700", + "area": [ + {"name": "市辖区","code": "510701"}, + {"name": "涪城区","code": "510703"}, + {"name": "游仙区","code": "510704"}, + {"name": "安州区","code": "510705"}, + {"name": "三台县","code": "510722"}, + {"name": "盐亭县","code": "510723"}, + {"name": "梓潼县","code": "510725"}, + {"name": "北川羌族自治县","code": "510726"}, + {"name": "平武县","code": "510727"}, + {"name": "江油市","code": "510781" + } + ] + }, + { + "name": "广元市", + "code": "510800", + "area": [ + {"name": "市辖区","code": "510801"}, + {"name": "利州区","code": "510802"}, + {"name": "昭化区","code": "510811"}, + {"name": "朝天区","code": "510812"}, + {"name": "旺苍县","code": "510821"}, + {"name": "青川县","code": "510822"}, + {"name": "剑阁县","code": "510823"}, + {"name": "苍溪县","code": "510824" + } + ] + }, + { + "name": "遂宁市", + "code": "510900", + "area": [ + {"name": "市辖区","code": "510901"}, + {"name": "船山区","code": "510903"}, + {"name": "安居区","code": "510904"}, + {"name": "蓬溪县","code": "510921"}, + {"name": "射洪县","code": "510922"}, + {"name": "大英县","code": "510923" + } + ] + }, + { + "name": "内江市", + "code": "511000", + "area": [ + {"name": "市辖区","code": "511001"}, + {"name": "市中区","code": "511002"}, + {"name": "东兴区","code": "511011"}, + {"name": "威远县","code": "511024"}, + {"name": "资中县","code": "511025"}, + {"name": "隆昌县","code": "511028" + } + ] + }, + { + "name": "乐山市", + "code": "511100", + "area": [ + {"name": "市辖区","code": "511101"}, + {"name": "市中区","code": "511102"}, + {"name": "沙湾区","code": "511111"}, + {"name": "五通桥区","code": "511112"}, + {"name": "金口河区","code": "511113"}, + {"name": "犍为县","code": "511123"}, + {"name": "井研县","code": "511124"}, + {"name": "夹江县","code": "511126"}, + {"name": "沐川县","code": "511129"}, + {"name": "峨边彝族自治县","code": "511132"}, + {"name": "马边彝族自治县","code": "511133"}, + {"name": "峨眉山市","code": "511181" + } + ] + }, + { + "name": "南充市", + "code": "511300", + "area": [ + {"name": "市辖区","code": "511301"}, + {"name": "顺庆区","code": "511302"}, + {"name": "高坪区","code": "511303"}, + {"name": "嘉陵区","code": "511304"}, + {"name": "南部县","code": "511321"}, + {"name": "营山县","code": "511322"}, + {"name": "蓬安县","code": "511323"}, + {"name": "仪陇县","code": "511324"}, + {"name": "西充县","code": "511325"}, + {"name": "阆中市","code": "511381" + } + ] + }, + { + "name": "眉山市", + "code": "511400", + "area": [ + {"name": "市辖区","code": "511401"}, + {"name": "东坡区","code": "511402"}, + {"name": "彭山区","code": "511403"}, + {"name": "仁寿县","code": "511421"}, + {"name": "洪雅县","code": "511423"}, + {"name": "丹棱县","code": "511424"}, + {"name": "青神县","code": "511425" + } + ] + }, + { + "name": "宜宾市", + "code": "511500", + "area": [ + {"name": "市辖区","code": "511501"}, + {"name": "翠屏区","code": "511502"}, + {"name": "南溪区","code": "511503"}, + {"name": "宜宾县","code": "511521"}, + {"name": "江安县","code": "511523"}, + {"name": "长宁县","code": "511524"}, + {"name": "高县","code": "511525"}, + {"name": "珙县","code": "511526"}, + {"name": "筠连县","code": "511527"}, + {"name": "兴文县","code": "511528"}, + {"name": "屏山县","code": "511529" + } + ] + }, + { + "name": "广安市", + "code": "511600", + "area": [ + {"name": "市辖区","code": "511601"}, + {"name": "广安区","code": "511602"}, + {"name": "前锋区","code": "511603"}, + {"name": "岳池县","code": "511621"}, + {"name": "武胜县","code": "511622"}, + {"name": "邻水县","code": "511623"}, + {"name": "华蓥市","code": "511681" + } + ] + }, + { + "name": "达州市", + "code": "511700", + "area": [ + {"name": "市辖区","code": "511701"}, + {"name": "通川区","code": "511702"}, + {"name": "达川区","code": "511703"}, + {"name": "宣汉县","code": "511722"}, + {"name": "开江县","code": "511723"}, + {"name": "大竹县","code": "511724"}, + {"name": "渠县","code": "511725"}, + {"name": "万源市","code": "511781" + } + ] + }, + { + "name": "雅安市", + "code": "511800", + "area": [ + {"name": "市辖区","code": "511801"}, + {"name": "雨城区","code": "511802"}, + {"name": "名山区","code": "511803"}, + {"name": "荥经县","code": "511822"}, + {"name": "汉源县","code": "511823"}, + {"name": "石棉县","code": "511824"}, + {"name": "天全县","code": "511825"}, + {"name": "芦山县","code": "511826"}, + {"name": "宝兴县","code": "511827" + } + ] + }, + { + "name": "巴中市", + "code": "511900", + "area": [ + {"name": "市辖区","code": "511901"}, + {"name": "巴州区","code": "511902"}, + {"name": "恩阳区","code": "511903"}, + {"name": "通江县","code": "511921"}, + {"name": "南江县","code": "511922"}, + {"name": "平昌县","code": "511923" + } + ] + }, + { + "name": "资阳市", + "code": "512000", + "area": [ + {"name": "市辖区","code": "512001"}, + {"name": "雁江区","code": "512002"}, + {"name": "安岳县","code": "512021"}, + {"name": "乐至县","code": "512022" + } + ] + }, + { + "name": "阿坝藏族羌族自治州", + "code": "513200", + "area": [ + {"name": "马尔康市","code": "513201"}, + {"name": "汶川县","code": "513221"}, + {"name": "理县","code": "513222"}, + {"name": "茂县","code": "513223"}, + {"name": "松潘县","code": "513224"}, + {"name": "九寨沟县","code": "513225"}, + {"name": "金川县","code": "513226"}, + {"name": "小金县","code": "513227"}, + {"name": "黑水县","code": "513228"}, + {"name": "壤塘县","code": "513230"}, + {"name": "阿坝县","code": "513231"}, + {"name": "若尔盖县","code": "513232"}, + {"name": "红原县","code": "513233" + } + ] + }, + { + "name": "甘孜藏族自治州", + "code": "513300", + "area": [ + {"name": "康定市","code": "513301"}, + {"name": "泸定县","code": "513322"}, + {"name": "丹巴县","code": "513323"}, + {"name": "九龙县","code": "513324"}, + {"name": "雅江县","code": "513325"}, + {"name": "道孚县","code": "513326"}, + {"name": "炉霍县","code": "513327"}, + {"name": "甘孜县","code": "513328"}, + {"name": "新龙县","code": "513329"}, + {"name": "德格县","code": "513330"}, + {"name": "白玉县","code": "513331"}, + {"name": "石渠县","code": "513332"}, + {"name": "色达县","code": "513333"}, + {"name": "理塘县","code": "513334"}, + {"name": "巴塘县","code": "513335"}, + {"name": "乡城县","code": "513336"}, + {"name": "稻城县","code": "513337"}, + {"name": "得荣县","code": "513338" + } + ] + }, + { + "name": "凉山彝族自治州", + "code": "513400", + "area": [ + {"name": "西昌市","code": "513401"}, + {"name": "木里藏族自治县","code": "513422"}, + {"name": "盐源县","code": "513423"}, + {"name": "德昌县","code": "513424"}, + {"name": "会理县","code": "513425"}, + {"name": "会东县","code": "513426"}, + {"name": "宁南县","code": "513427"}, + {"name": "普格县","code": "513428"}, + {"name": "布拖县","code": "513429"}, + {"name": "金阳县","code": "513430"}, + {"name": "昭觉县","code": "513431"}, + {"name": "喜德县","code": "513432"}, + {"name": "冕宁县","code": "513433"}, + {"name": "越西县","code": "513434"}, + {"name": "甘洛县","code": "513435"}, + {"name": "美姑县","code": "513436"}, + {"name": "雷波县","code": "513437" + } + ] + } + ] + }, + { + "name": "贵州省", + "code": "520000", + "city": [ + { + "name": "贵阳市", + "code": "520100", + "area": [ + {"name": "市辖区","code": "520101"}, + {"name": "南明区","code": "520102"}, + {"name": "云岩区","code": "520103"}, + {"name": "花溪区","code": "520111"}, + {"name": "乌当区","code": "520112"}, + {"name": "白云区","code": "520113"}, + {"name": "观山湖区","code": "520115"}, + {"name": "开阳县","code": "520121"}, + {"name": "息烽县","code": "520122"}, + {"name": "修文县","code": "520123"}, + {"name": "清镇市","code": "520181" + } + ] + }, + { + "name": "六盘水市", + "code": "520200", + "area": [ + {"name": "钟山区","code": "520201"}, + {"name": "六枝特区","code": "520203"}, + {"name": "水城县","code": "520221"}, + {"name": "盘县","code": "520222" + } + ] + }, + { + "name": "遵义市", + "code": "520300", + "area": [ + {"name": "市辖区","code": "520301"}, + {"name": "红花岗区","code": "520302"}, + {"name": "汇川区","code": "520303"}, + {"name": "播州区","code": "520304"}, + {"name": "桐梓县","code": "520322"}, + {"name": "绥阳县","code": "520323"}, + {"name": "正安县","code": "520324"}, + {"name": "道真仡佬族苗族自治县","code": "520325"}, + {"name": "务川仡佬族苗族自治县","code": "520326"}, + {"name": "凤冈县","code": "520327"}, + {"name": "湄潭县","code": "520328"}, + {"name": "余庆县","code": "520329"}, + {"name": "习水县","code": "520330"}, + {"name": "赤水市","code": "520381"}, + {"name": "仁怀市","code": "520382" + } + ] + }, + { + "name": "安顺市", + "code": "520400", + "area": [ + {"name": "市辖区","code": "520401"}, + {"name": "西秀区","code": "520402"}, + {"name": "平坝区","code": "520403"}, + {"name": "普定县","code": "520422"}, + {"name": "镇宁布依族苗族自治县","code": "520423"}, + {"name": "关岭布依族苗族自治县","code": "520424"}, + {"name": "紫云苗族布依族自治县","code": "520425" + } + ] + }, + { + "name": "毕节市", + "code": "520500", + "area": [ + {"name": "市辖区","code": "520501"}, + {"name": "七星关区","code": "520502"}, + {"name": "大方县","code": "520521"}, + {"name": "黔西县","code": "520522"}, + {"name": "金沙县","code": "520523"}, + {"name": "织金县","code": "520524"}, + {"name": "纳雍县","code": "520525"}, + {"name": "威宁彝族回族苗族自治县","code": "520526"}, + {"name": "赫章县","code": "520527" + } + ] + }, + { + "name": "铜仁市", + "code": "520600", + "area": [ + {"name": "市辖区","code": "520601"}, + {"name": "碧江区","code": "520602"}, + {"name": "万山区","code": "520603"}, + {"name": "江口县","code": "520621"}, + {"name": "玉屏侗族自治县","code": "520622"}, + {"name": "石阡县","code": "520623"}, + {"name": "思南县","code": "520624"}, + {"name": "印江土家族苗族自治县","code": "520625"}, + {"name": "德江县","code": "520626"}, + {"name": "沿河土家族自治县","code": "520627"}, + {"name": "松桃苗族自治县","code": "520628" + } + ] + }, + { + "name": "黔西南布依族苗族自治州", + "code": "522300", + "area": [ + {"name": "兴义市","code": "522301"}, + {"name": "兴仁县","code": "522322"}, + {"name": "普安县","code": "522323"}, + {"name": "晴隆县","code": "522324"}, + {"name": "贞丰县","code": "522325"}, + {"name": "望谟县","code": "522326"}, + {"name": "册亨县","code": "522327"}, + {"name": "安龙县","code": "522328" + } + ] + }, + { + "name": "黔东南苗族侗族自治州", + "code": "522600", + "area": [ + {"name": "凯里市","code": "522601"}, + {"name": "黄平县","code": "522622"}, + {"name": "施秉县","code": "522623"}, + {"name": "三穗县","code": "522624"}, + {"name": "镇远县","code": "522625"}, + {"name": "岑巩县","code": "522626"}, + {"name": "天柱县","code": "522627"}, + {"name": "锦屏县","code": "522628"}, + {"name": "剑河县","code": "522629"}, + {"name": "台江县","code": "522630"}, + {"name": "黎平县","code": "522631"}, + {"name": "榕江县","code": "522632"}, + {"name": "从江县","code": "522633"}, + {"name": "雷山县","code": "522634"}, + {"name": "麻江县","code": "522635"}, + {"name": "丹寨县","code": "522636" + } + ] + }, + { + "name": "黔南布依族苗族自治州", + "code": "522700", + "area": [ + {"name": "都匀市","code": "522701"}, + {"name": "福泉市","code": "522702"}, + {"name": "荔波县","code": "522722"}, + {"name": "贵定县","code": "522723"}, + {"name": "瓮安县","code": "522725"}, + {"name": "独山县","code": "522726"}, + {"name": "平塘县","code": "522727"}, + {"name": "罗甸县","code": "522728"}, + {"name": "长顺县","code": "522729"}, + {"name": "龙里县","code": "522730"}, + {"name": "惠水县","code": "522731"}, + {"name": "三都水族自治县","code": "522732" + } + ] + } + ] + }, + { + "name": "云南省", + "code": "530000", + "city": [ + { + "name": "昆明市", + "code": "530100", + "area": [ + {"name": "市辖区","code": "530101"}, + {"name": "五华区","code": "530102"}, + {"name": "盘龙区","code": "530103"}, + {"name": "官渡区","code": "530111"}, + {"name": "西山区","code": "530112"}, + {"name": "东川区","code": "530113"}, + {"name": "呈贡区","code": "530114"}, + {"name": "晋宁县","code": "530122"}, + {"name": "富民县","code": "530124"}, + {"name": "宜良县","code": "530125"}, + {"name": "石林彝族自治县","code": "530126"}, + {"name": "嵩明县","code": "530127"}, + {"name": "禄劝彝族苗族自治县","code": "530128"}, + {"name": "寻甸回族彝族自治县","code": "530129"}, + {"name": "安宁市","code": "530181" + } + ] + }, + { + "name": "曲靖市", + "code": "530300", + "area": [ + {"name": "市辖区","code": "530301"}, + {"name": "麒麟区","code": "530302"}, + {"name": "沾益区","code": "530303"}, + {"name": "马龙县","code": "530321"}, + {"name": "陆良县","code": "530322"}, + {"name": "师宗县","code": "530323"}, + {"name": "罗平县","code": "530324"}, + {"name": "富源县","code": "530325"}, + {"name": "会泽县","code": "530326"}, + {"name": "宣威市","code": "530381" + } + ] + }, + { + "name": "玉溪市", + "code": "530400", + "area": [ + {"name": "市辖区","code": "530401"}, + {"name": "红塔区","code": "530402"}, + {"name": "江川区","code": "530403"}, + {"name": "澄江县","code": "530422"}, + {"name": "通海县","code": "530423"}, + {"name": "华宁县","code": "530424"}, + {"name": "易门县","code": "530425"}, + {"name": "峨山彝族自治县","code": "530426"}, + {"name": "新平彝族傣族自治县","code": "530427"}, + {"name": "元江哈尼族彝族傣族自治县","code": "530428" + } + ] + }, + { + "name": "保山市", + "code": "530500", + "area": [ + {"name": "市辖区","code": "530501"}, + {"name": "隆阳区","code": "530502"}, + {"name": "施甸县","code": "530521"}, + {"name": "龙陵县","code": "530523"}, + {"name": "昌宁县","code": "530524"}, + {"name": "腾冲市","code": "530581" + } + ] + }, + { + "name": "昭通市", + "code": "530600", + "area": [ + {"name": "市辖区","code": "530601"}, + {"name": "昭阳区","code": "530602"}, + {"name": "鲁甸县","code": "530621"}, + {"name": "巧家县","code": "530622"}, + {"name": "盐津县","code": "530623"}, + {"name": "大关县","code": "530624"}, + {"name": "永善县","code": "530625"}, + {"name": "绥江县","code": "530626"}, + {"name": "镇雄县","code": "530627"}, + {"name": "彝良县","code": "530628"}, + {"name": "威信县","code": "530629"}, + {"name": "水富县","code": "530630" + } + ] + }, + { + "name": "丽江市", + "code": "530700", + "area": [ + {"name": "市辖区","code": "530701"}, + {"name": "古城区","code": "530702"}, + {"name": "玉龙纳西族自治县","code": "530721"}, + {"name": "永胜县","code": "530722"}, + {"name": "华坪县","code": "530723"}, + {"name": "宁蒗彝族自治县","code": "530724" + } + ] + }, + { + "name": "普洱市", + "code": "530800", + "area": [ + {"name": "市辖区","code": "530801"}, + {"name": "思茅区","code": "530802"}, + {"name": "宁洱哈尼族彝族自治县","code": "530821"}, + {"name": "墨江哈尼族自治县","code": "530822"}, + {"name": "景东彝族自治县","code": "530823"}, + {"name": "景谷傣族彝族自治县","code": "530824"}, + {"name": "镇沅彝族哈尼族拉祜族自治县","code": "530825"}, + {"name": "江城哈尼族彝族自治县","code": "530826"}, + {"name": "孟连傣族拉祜族佤族自治县","code": "530827"}, + {"name": "澜沧拉祜族自治县","code": "530828"}, + {"name": "西盟佤族自治县","code": "530829" + } + ] + }, + { + "name": "临沧市", + "code": "530900", + "area": [ + {"name": "市辖区","code": "530901"}, + {"name": "临翔区","code": "530902"}, + {"name": "凤庆县","code": "530921"}, + {"name": "云县","code": "530922"}, + {"name": "永德县","code": "530923"}, + {"name": "镇康县","code": "530924"}, + {"name": "双江拉祜族佤族布朗族傣族自治县","code": "530925"}, + {"name": "耿马傣族佤族自治县","code": "530926"}, + {"name": "沧源佤族自治县","code": "530927" + } + ] + }, + { + "name": "楚雄彝族自治州", + "code": "532300", + "area": [ + {"name": "楚雄市","code": "532301"}, + {"name": "双柏县","code": "532322"}, + {"name": "牟定县","code": "532323"}, + {"name": "南华县","code": "532324"}, + {"name": "姚安县","code": "532325"}, + {"name": "大姚县","code": "532326"}, + {"name": "永仁县","code": "532327"}, + {"name": "元谋县","code": "532328"}, + {"name": "武定县","code": "532329"}, + {"name": "禄丰县","code": "532331" + } + ] + }, + { + "name": "红河哈尼族彝族自治州", + "code": "532500", + "area": [ + {"name": "个旧市","code": "532501"}, + {"name": "开远市","code": "532502"}, + {"name": "蒙自市","code": "532503"}, + {"name": "弥勒市","code": "532504"}, + {"name": "屏边苗族自治县","code": "532523"}, + {"name": "建水县","code": "532524"}, + {"name": "石屏县","code": "532525"}, + {"name": "泸西县","code": "532527"}, + {"name": "元阳县","code": "532528"}, + {"name": "红河县","code": "532529"}, + {"name": "金平苗族瑶族傣族自治县","code": "532530"}, + {"name": "绿春县","code": "532531"}, + {"name": "河口瑶族自治县","code": "532532" + } + ] + }, + { + "name": "文山壮族苗族自治州", + "code": "532600", + "area": [ + {"name": "文山市","code": "532601"}, + {"name": "砚山县","code": "532622"}, + {"name": "西畴县","code": "532623"}, + {"name": "麻栗坡县","code": "532624"}, + {"name": "马关县","code": "532625"}, + {"name": "丘北县","code": "532626"}, + {"name": "广南县","code": "532627"}, + {"name": "富宁县","code": "532628" + } + ] + }, + { + "name": "西双版纳傣族自治州", + "code": "532800", + "area": [ + {"name": "景洪市","code": "532801"}, + {"name": "勐海县","code": "532822"}, + {"name": "勐腊县","code": "532823" + } + ] + }, + { + "name": "大理白族自治州", + "code": "532900", + "area": [ + {"name": "大理市","code": "532901"}, + {"name": "漾濞彝族自治县","code": "532922"}, + {"name": "祥云县","code": "532923"}, + {"name": "宾川县","code": "532924"}, + {"name": "弥渡县","code": "532925"}, + {"name": "南涧彝族自治县","code": "532926"}, + {"name": "巍山彝族回族自治县","code": "532927"}, + {"name": "永平县","code": "532928"}, + {"name": "云龙县","code": "532929"}, + {"name": "洱源县","code": "532930"}, + {"name": "剑川县","code": "532931"}, + {"name": "鹤庆县","code": "532932" + } + ] + }, + { + "name": "德宏傣族景颇族自治州", + "code": "533100", + "area": [ + {"name": "瑞丽市","code": "533102"}, + {"name": "芒市","code": "533103"}, + {"name": "梁河县","code": "533122"}, + {"name": "盈江县","code": "533123"}, + {"name": "陇川县","code": "533124" + } + ] + }, + { + "name": "怒江傈僳族自治州", + "code": "533300", + "area": [ + {"name": "泸水市","code": "533301"}, + {"name": "福贡县","code": "533323"}, + {"name": "贡山独龙族怒族自治县","code": "533324"}, + {"name": "兰坪白族普米族自治县","code": "533325" + } + ] + }, + { + "name": "迪庆藏族自治州", + "code": "533400", + "area": [ + {"name": "香格里拉市","code": "533401"}, + {"name": "德钦县","code": "533422"}, + {"name": "维西傈僳族自治县","code": "533423" + } + ] + } + ] + }, + { + "name": "西藏自治区", + "code": "540000", + "city": [ + { + "name": "拉萨市", + "code": "540100", + "area": [ + {"name": "市辖区","code": "540101"}, + {"name": "城关区","code": "540102"}, + {"name": "堆龙德庆区","code": "540103"}, + {"name": "林周县","code": "540121"}, + {"name": "当雄县","code": "540122"}, + {"name": "尼木县","code": "540123"}, + {"name": "曲水县","code": "540124"}, + {"name": "达孜县","code": "540126"}, + {"name": "墨竹工卡县","code": "540127" + } + ] + }, + { + "name": "日喀则市", + "code": "540200", + "area": [ + {"name": "桑珠孜区","code": "540202"}, + {"name": "南木林县","code": "540221"}, + {"name": "江孜县","code": "540222"}, + {"name": "定日县","code": "540223"}, + {"name": "萨迦县","code": "540224"}, + {"name": "拉孜县","code": "540225"}, + {"name": "昂仁县","code": "540226"}, + {"name": "谢通门县","code": "540227"}, + {"name": "白朗县","code": "540228"}, + {"name": "仁布县","code": "540229"}, + {"name": "康马县","code": "540230"}, + {"name": "定结县","code": "540231"}, + {"name": "仲巴县","code": "540232"}, + {"name": "亚东县","code": "540233"}, + {"name": "吉隆县","code": "540234"}, + {"name": "聂拉木县","code": "540235"}, + {"name": "萨嘎县","code": "540236"}, + {"name": "岗巴县","code": "540237" + } + ] + }, + { + "name": "昌都市", + "code": "540300", + "area": [ + {"name": "卡若区","code": "540302"}, + {"name": "江达县","code": "540321"}, + {"name": "贡觉县","code": "540322"}, + {"name": "类乌齐县","code": "540323"}, + {"name": "丁青县","code": "540324"}, + {"name": "察雅县","code": "540325"}, + {"name": "八宿县","code": "540326"}, + {"name": "左贡县","code": "540327"}, + {"name": "芒康县","code": "540328"}, + {"name": "洛隆县","code": "540329"}, + {"name": "边坝县","code": "540330" + } + ] + }, + { + "name": "林芝市", + "code": "540400", + "area": [ + {"name": "巴宜区","code": "540402"}, + {"name": "工布江达县","code": "540421"}, + {"name": "米林县","code": "540422"}, + {"name": "墨脱县","code": "540423"}, + {"name": "波密县","code": "540424"}, + {"name": "察隅县","code": "540425"}, + {"name": "朗县","code": "540426" + } + ] + }, + { + "name": "山南市", + "code": "540500", + "area": [ + {"name": "市辖区","code": "540501"}, + {"name": "乃东区","code": "540502"}, + {"name": "扎囊县","code": "540521"}, + {"name": "贡嘎县","code": "540522"}, + {"name": "桑日县","code": "540523"}, + {"name": "琼结县","code": "540524"}, + {"name": "曲松县","code": "540525"}, + {"name": "措美县","code": "540526"}, + {"name": "洛扎县","code": "540527"}, + {"name": "加查县","code": "540528"}, + {"name": "隆子县","code": "540529"}, + {"name": "错那县","code": "540530"}, + {"name": "浪卡子县","code": "540531" + } + ] + }, + { + "name": "那曲地区", + "code": "542400", + "area": [ + {"name": "那曲县","code": "542421"}, + {"name": "嘉黎县","code": "542422"}, + {"name": "比如县","code": "542423"}, + {"name": "聂荣县","code": "542424"}, + {"name": "安多县","code": "542425"}, + {"name": "申扎县","code": "542426"}, + {"name": "索县","code": "542427"}, + {"name": "班戈县","code": "542428"}, + {"name": "巴青县","code": "542429"}, + {"name": "尼玛县","code": "542430"}, + {"name": "双湖县","code": "542431" + } + ] + }, + { + "name": "阿里地区", + "code": "542500", + "area": [ + {"name": "普兰县","code": "542521"}, + {"name": "札达县","code": "542522"}, + {"name": "噶尔县","code": "542523"}, + {"name": "日土县","code": "542524"}, + {"name": "革吉县","code": "542525"}, + {"name": "改则县","code": "542526"}, + {"name": "措勤县","code": "542527" + } + ] + } + ] + }, + { + "name": "陕西省", + "code": "610000", + "city": [ + { + "name": "西安市", + "code": "610100", + "area": [ + {"name": "市辖区","code": "610101"}, + {"name": "新城区","code": "610102"}, + {"name": "碑林区","code": "610103"}, + {"name": "莲湖区","code": "610104"}, + {"name": "灞桥区","code": "610111"}, + {"name": "未央区","code": "610112"}, + {"name": "雁塔区","code": "610113"}, + {"name": "阎良区","code": "610114"}, + {"name": "临潼区","code": "610115"}, + {"name": "长安区","code": "610116"}, + {"name": "高陵区","code": "610117"}, + {"name": "蓝田县","code": "610122"}, + {"name": "周至县","code": "610124"}, + {"name": "户县","code": "610125" + } + ] + }, + { + "name": "铜川市", + "code": "610200", + "area": [ + {"name": "市辖区","code": "610201"}, + {"name": "王益区","code": "610202"}, + {"name": "印台区","code": "610203"}, + {"name": "耀州区","code": "610204"}, + {"name": "宜君县","code": "610222" + } + ] + }, + { + "name": "宝鸡市", + "code": "610300", + "area": [ + {"name": "市辖区","code": "610301"}, + {"name": "渭滨区","code": "610302"}, + {"name": "金台区","code": "610303"}, + {"name": "陈仓区","code": "610304"}, + {"name": "凤翔县","code": "610322"}, + {"name": "岐山县","code": "610323"}, + {"name": "扶风县","code": "610324"}, + {"name": "眉县","code": "610326"}, + {"name": "陇县","code": "610327"}, + {"name": "千阳县","code": "610328"}, + {"name": "麟游县","code": "610329"}, + {"name": "凤县","code": "610330"}, + {"name": "太白县","code": "610331" + } + ] + }, + { + "name": "咸阳市", + "code": "610400", + "area": [ + {"name": "市辖区","code": "610401"}, + {"name": "秦都区","code": "610402"}, + {"name": "杨陵区","code": "610403"}, + {"name": "渭城区","code": "610404"}, + {"name": "三原县","code": "610422"}, + {"name": "泾阳县","code": "610423"}, + {"name": "乾县","code": "610424"}, + {"name": "礼泉县","code": "610425"}, + {"name": "永寿县","code": "610426"}, + {"name": "彬县","code": "610427"}, + {"name": "长武县","code": "610428"}, + {"name": "旬邑县","code": "610429"}, + {"name": "淳化县","code": "610430"}, + {"name": "武功县","code": "610431"}, + {"name": "兴平市","code": "610481" + } + ] + }, + { + "name": "渭南市", + "code": "610500", + "area": [ + {"name": "市辖区","code": "610501"}, + {"name": "临渭区","code": "610502"}, + {"name": "华州区","code": "610503"}, + {"name": "潼关县","code": "610522"}, + {"name": "大荔县","code": "610523"}, + {"name": "合阳县","code": "610524"}, + {"name": "澄城县","code": "610525"}, + {"name": "蒲城县","code": "610526"}, + {"name": "白水县","code": "610527"}, + {"name": "富平县","code": "610528"}, + {"name": "韩城市","code": "610581"}, + {"name": "华阴市","code": "610582" + } + ] + }, + { + "name": "延安市", + "code": "610600", + "area": [ + {"name": "市辖区","code": "610601"}, + {"name": "宝塔区","code": "610602"}, + {"name": "安塞区","code": "610603"}, + {"name": "延长县","code": "610621"}, + {"name": "延川县","code": "610622"}, + {"name": "子长县","code": "610623"}, + {"name": "志丹县","code": "610625"}, + {"name": "吴起县","code": "610626"}, + {"name": "甘泉县","code": "610627"}, + {"name": "富县","code": "610628"}, + {"name": "洛川县","code": "610629"}, + {"name": "宜川县","code": "610630"}, + {"name": "黄龙县","code": "610631"}, + {"name": "黄陵县","code": "610632" + } + ] + }, + { + "name": "汉中市", + "code": "610700", + "area": [ + {"name": "市辖区","code": "610701"}, + {"name": "汉台区","code": "610702"}, + {"name": "南郑县","code": "610721"}, + {"name": "城固县","code": "610722"}, + {"name": "洋县","code": "610723"}, + {"name": "西乡县","code": "610724"}, + {"name": "勉县","code": "610725"}, + {"name": "宁强县","code": "610726"}, + {"name": "略阳县","code": "610727"}, + {"name": "镇巴县","code": "610728"}, + {"name": "留坝县","code": "610729"}, + {"name": "佛坪县","code": "610730" + } + ] + }, + { + "name": "榆林市", + "code": "610800", + "area": [ + {"name": "市辖区","code": "610801"}, + {"name": "榆阳区","code": "610802"}, + {"name": "横山区","code": "610803"}, + {"name": "神木县","code": "610821"}, + {"name": "府谷县","code": "610822"}, + {"name": "靖边县","code": "610824"}, + {"name": "定边县","code": "610825"}, + {"name": "绥德县","code": "610826"}, + {"name": "米脂县","code": "610827"}, + {"name": "佳县","code": "610828"}, + {"name": "吴堡县","code": "610829"}, + {"name": "清涧县","code": "610830"}, + {"name": "子洲县","code": "610831" + } + ] + }, + { + "name": "安康市", + "code": "610900", + "area": [ + {"name": "市辖区","code": "610901"}, + {"name": "汉滨区","code": "610902"}, + {"name": "汉阴县","code": "610921"}, + {"name": "石泉县","code": "610922"}, + {"name": "宁陕县","code": "610923"}, + {"name": "紫阳县","code": "610924"}, + {"name": "岚皋县","code": "610925"}, + {"name": "平利县","code": "610926"}, + {"name": "镇坪县","code": "610927"}, + {"name": "旬阳县","code": "610928"}, + {"name": "白河县","code": "610929" + } + ] + }, + { + "name": "商洛市", + "code": "611000", + "area": [ + {"name": "市辖区","code": "611001"}, + {"name": "商州区","code": "611002"}, + {"name": "洛南县","code": "611021"}, + {"name": "丹凤县","code": "611022"}, + {"name": "商南县","code": "611023"}, + {"name": "山阳县","code": "611024"}, + {"name": "镇安县","code": "611025"}, + {"name": "柞水县","code": "611026" + } + ] + } + ] + }, + { + "name": "甘肃省", + "code": "620000", + "city": [ + { + "name": "兰州市", + "code": "620100", + "area": [ + {"name": "市辖区","code": "620101"}, + {"name": "城关区","code": "620102"}, + {"name": "七里河区","code": "620103"}, + {"name": "西固区","code": "620104"}, + {"name": "安宁区","code": "620105"}, + {"name": "红古区","code": "620111"}, + {"name": "永登县","code": "620121"}, + {"name": "皋兰县","code": "620122"}, + {"name": "榆中县","code": "620123" + } + ] + }, + { + "name": "嘉峪关市", + "code": "620200", + "area": [ + {"name": "市辖区","code": "620201" + } + ] + }, + { + "name": "金昌市", + "code": "620300", + "area": [ + {"name": "市辖区","code": "620301"}, + {"name": "金川区","code": "620302"}, + {"name": "永昌县","code": "620321" + } + ] + }, + { + "name": "白银市", + "code": "620400", + "area": [ + {"name": "市辖区","code": "620401"}, + {"name": "白银区","code": "620402"}, + {"name": "平川区","code": "620403"}, + {"name": "靖远县","code": "620421"}, + {"name": "会宁县","code": "620422"}, + {"name": "景泰县","code": "620423" + } + ] + }, + { + "name": "天水市", + "code": "620500", + "area": [ + {"name": "市辖区","code": "620501"}, + {"name": "秦州区","code": "620502"}, + {"name": "麦积区","code": "620503"}, + {"name": "清水县","code": "620521"}, + {"name": "秦安县","code": "620522"}, + {"name": "甘谷县","code": "620523"}, + {"name": "武山县","code": "620524"}, + {"name": "张家川回族自治县","code": "620525" + } + ] + }, + { + "name": "武威市", + "code": "620600", + "area": [ + {"name": "市辖区","code": "620601"}, + {"name": "凉州区","code": "620602"}, + {"name": "民勤县","code": "620621"}, + {"name": "古浪县","code": "620622"}, + {"name": "天祝藏族自治县","code": "620623" + } + ] + }, + { + "name": "张掖市", + "code": "620700", + "area": [ + {"name": "市辖区","code": "620701"}, + {"name": "甘州区","code": "620702"}, + {"name": "肃南裕固族自治县","code": "620721"}, + {"name": "民乐县","code": "620722"}, + {"name": "临泽县","code": "620723"}, + {"name": "高台县","code": "620724"}, + {"name": "山丹县","code": "620725" + } + ] + }, + { + "name": "平凉市", + "code": "620800", + "area": [ + {"name": "市辖区","code": "620801"}, + {"name": "崆峒区","code": "620802"}, + {"name": "泾川县","code": "620821"}, + {"name": "灵台县","code": "620822"}, + {"name": "崇信县","code": "620823"}, + {"name": "华亭县","code": "620824"}, + {"name": "庄浪县","code": "620825"}, + {"name": "静宁县","code": "620826" + } + ] + }, + { + "name": "酒泉市", + "code": "620900", + "area": [ + {"name": "市辖区","code": "620901"}, + {"name": "肃州区","code": "620902"}, + {"name": "金塔县","code": "620921"}, + {"name": "瓜州县","code": "620922"}, + {"name": "肃北蒙古族自治县","code": "620923"}, + {"name": "阿克塞哈萨克族自治县","code": "620924"}, + {"name": "玉门市","code": "620981"}, + {"name": "敦煌市","code": "620982" + } + ] + }, + { + "name": "庆阳市", + "code": "621000", + "area": [ + {"name": "市辖区","code": "621001"}, + {"name": "西峰区","code": "621002"}, + {"name": "庆城县","code": "621021"}, + {"name": "环县","code": "621022"}, + {"name": "华池县","code": "621023"}, + {"name": "合水县","code": "621024"}, + {"name": "正宁县","code": "621025"}, + {"name": "宁县","code": "621026"}, + {"name": "镇原县","code": "621027" + } + ] + }, + { + "name": "定西市", + "code": "621100", + "area": [ + {"name": "市辖区","code": "621101"}, + {"name": "安定区","code": "621102"}, + {"name": "通渭县","code": "621121"}, + {"name": "陇西县","code": "621122"}, + {"name": "渭源县","code": "621123"}, + {"name": "临洮县","code": "621124"}, + {"name": "漳县","code": "621125"}, + {"name": "岷县","code": "621126" + } + ] + }, + { + "name": "陇南市", + "code": "621200", + "area": [ + {"name": "市辖区","code": "621201"}, + {"name": "武都区","code": "621202"}, + {"name": "成县","code": "621221"}, + {"name": "文县","code": "621222"}, + {"name": "宕昌县","code": "621223"}, + {"name": "康县","code": "621224"}, + {"name": "西和县","code": "621225"}, + {"name": "礼县","code": "621226"}, + {"name": "徽县","code": "621227"}, + {"name": "两当县","code": "621228" + } + ] + }, + { + "name": "临夏回族自治州", + "code": "622900", + "area": [ + {"name": "临夏市","code": "622901"}, + {"name": "临夏县","code": "622921"}, + {"name": "康乐县","code": "622922"}, + {"name": "永靖县","code": "622923"}, + {"name": "广河县","code": "622924"}, + {"name": "和政县","code": "622925"}, + {"name": "东乡族自治县","code": "622926"}, + {"name": "积石山保安族东乡族撒拉族自治县","code": "622927" + } + ] + }, + { + "name": "甘南藏族自治州", + "code": "623000", + "area": [ + {"name": "合作市","code": "623001"}, + {"name": "临潭县","code": "623021"}, + {"name": "卓尼县","code": "623022"}, + {"name": "舟曲县","code": "623023"}, + {"name": "迭部县","code": "623024"}, + {"name": "玛曲县","code": "623025"}, + {"name": "碌曲县","code": "623026"}, + {"name": "夏河县","code": "623027" + } + ] + } + ] + }, + { + "name": "青海省", + "code": "630000", + "city": [ + { + "name": "西宁市", + "code": "630100", + "area": [ + {"name": "市辖区","code": "630101"}, + {"name": "城东区","code": "630102"}, + {"name": "城中区","code": "630103"}, + {"name": "城西区","code": "630104"}, + {"name": "城北区","code": "630105"}, + {"name": "大通回族土族自治县","code": "630121"}, + {"name": "湟中县","code": "630122"}, + {"name": "湟源县","code": "630123" + } + ] + }, + { + "name": "海东市", + "code": "630200", + "area": [ + {"name": "乐都区","code": "630202"}, + {"name": "平安区","code": "630203"}, + {"name": "民和回族土族自治县","code": "630222"}, + {"name": "互助土族自治县","code": "630223"}, + {"name": "化隆回族自治县","code": "630224"}, + {"name": "循化撒拉族自治县","code": "630225" + } + ] + }, + { + "name": "海北藏族自治州", + "code": "632200", + "area": [ + {"name": "门源回族自治县","code": "632221"}, + {"name": "祁连县","code": "632222"}, + {"name": "海晏县","code": "632223"}, + {"name": "刚察县","code": "632224" + } + ] + }, + { + "name": "黄南藏族自治州", + "code": "632300", + "area": [ + {"name": "同仁县","code": "632321"}, + {"name": "尖扎县","code": "632322"}, + {"name": "泽库县","code": "632323"}, + {"name": "河南蒙古族自治县","code": "632324" + } + ] + }, + { + "name": "海南藏族自治州", + "code": "632500", + "area": [ + {"name": "共和县","code": "632521"}, + {"name": "同德县","code": "632522"}, + {"name": "贵德县","code": "632523"}, + {"name": "兴海县","code": "632524"}, + {"name": "贵南县","code": "632525" + } + ] + }, + { + "name": "果洛藏族自治州", + "code": "632600", + "area": [ + {"name": "玛沁县","code": "632621"}, + {"name": "班玛县","code": "632622"}, + {"name": "甘德县","code": "632623"}, + {"name": "达日县","code": "632624"}, + {"name": "久治县","code": "632625"}, + {"name": "玛多县","code": "632626" + } + ] + }, + { + "name": "玉树藏族自治州", + "code": "632700", + "area": [ + {"name": "玉树市","code": "632701"}, + {"name": "杂多县","code": "632722"}, + {"name": "称多县","code": "632723"}, + {"name": "治多县","code": "632724"}, + {"name": "囊谦县","code": "632725"}, + {"name": "曲麻莱县","code": "632726" + } + ] + }, + { + "name": "海西蒙古族藏族自治州", + "code": "632800", + "area": [ + {"name": "格尔木市","code": "632801"}, + {"name": "德令哈市","code": "632802"}, + {"name": "乌兰县","code": "632821"}, + {"name": "都兰县","code": "632822"}, + {"name": "天峻县","code": "632823" + } + ] + } + ] + }, + { + "name": "宁夏回族自治区", + "code": "640000", + "city": [ + { + "name": "银川市", + "code": "640100", + "area": [ + {"name": "市辖区","code": "640101"}, + {"name": "兴庆区","code": "640104"}, + {"name": "西夏区","code": "640105"}, + {"name": "金凤区","code": "640106"}, + {"name": "永宁县","code": "640121"}, + {"name": "贺兰县","code": "640122"}, + {"name": "灵武市","code": "640181" + } + ] + }, + { + "name": "石嘴山市", + "code": "640200", + "area": [ + {"name": "市辖区","code": "640201"}, + {"name": "大武口区","code": "640202"}, + {"name": "惠农区","code": "640205"}, + {"name": "平罗县","code": "640221" + } + ] + }, + { + "name": "吴忠市", + "code": "640300", + "area": [ + {"name": "市辖区","code": "640301"}, + {"name": "利通区","code": "640302"}, + {"name": "红寺堡区","code": "640303"}, + {"name": "盐池县","code": "640323"}, + {"name": "同心县","code": "640324"}, + {"name": "青铜峡市","code": "640381" + } + ] + }, + { + "name": "固原市", + "code": "640400", + "area": [ + {"name": "市辖区","code": "640401"}, + {"name": "原州区","code": "640402"}, + {"name": "西吉县","code": "640422"}, + {"name": "隆德县","code": "640423"}, + {"name": "泾源县","code": "640424"}, + {"name": "彭阳县","code": "640425" + } + ] + }, + { + "name": "中卫市", + "code": "640500", + "area": [ + {"name": "市辖区","code": "640501"}, + {"name": "沙坡头区","code": "640502"}, + {"name": "中宁县","code": "640521"}, + {"name": "海原县","code": "640522" + } + ] + } + ] + }, + { + "name": "新疆维吾尔自治区", + "code": "650000", + "city": [ + { + "name": "乌鲁木齐市", + "code": "650100", + "area": [ + {"name": "市辖区","code": "650101"}, + {"name": "天山区","code": "650102"}, + {"name": "沙依巴克区","code": "650103"}, + {"name": "新市区","code": "650104"}, + {"name": "水磨沟区","code": "650105"}, + {"name": "头屯河区","code": "650106"}, + {"name": "达坂城区","code": "650107"}, + {"name": "米东区","code": "650109"}, + {"name": "乌鲁木齐县","code": "650121" + } + ] + }, + { + "name": "克拉玛依市", + "code": "650200", + "area": [ + {"name": "市辖区","code": "650201"}, + {"name": "独山子区","code": "650202"}, + {"name": "克拉玛依区","code": "650203"}, + {"name": "白碱滩区","code": "650204"}, + {"name": "乌尔禾区","code": "650205" + } + ] + }, + { + "name": "吐鲁番市", + "code": "650400", + "area": [ + {"name": "高昌区","code": "650402"}, + {"name": "鄯善县","code": "650421"}, + {"name": "托克逊县","code": "650422" + } + ] + }, + { + "name": "哈密市", + "code": "650500", + "area": [ + {"name": "伊州区","code": "650502"}, + {"name": "巴里坤哈萨克自治县","code": "650521"}, + {"name": "伊吾县","code": "650522" + } + ] + }, + { + "name": "昌吉回族自治州", + "code": "652300", + "area": [ + {"name": "昌吉市","code": "652301"}, + {"name": "阜康市","code": "652302"}, + {"name": "呼图壁县","code": "652323"}, + {"name": "玛纳斯县","code": "652324"}, + {"name": "奇台县","code": "652325"}, + {"name": "吉木萨尔县","code": "652327"}, + {"name": "木垒哈萨克自治县","code": "652328" + } + ] + }, + { + "name": "博尔塔拉蒙古自治州", + "code": "652700", + "area": [ + {"name": "博乐市","code": "652701"}, + {"name": "阿拉山口市","code": "652702"}, + {"name": "精河县","code": "652722"}, + {"name": "温泉县","code": "652723" + } + ] + }, + { + "name": "巴音郭楞蒙古自治州", + "code": "652800", + "area": [ + {"name": "库尔勒市","code": "652801"}, + {"name": "轮台县","code": "652822"}, + {"name": "尉犁县","code": "652823"}, + {"name": "若羌县","code": "652824"}, + {"name": "且末县","code": "652825"}, + {"name": "焉耆回族自治县","code": "652826"}, + {"name": "和静县","code": "652827"}, + {"name": "和硕县","code": "652828"}, + {"name": "博湖县","code": "652829" + } + ] + }, + { + "name": "阿克苏地区", + "code": "652900", + "area": [ + {"name": "阿克苏市","code": "652901"}, + {"name": "温宿县","code": "652922"}, + {"name": "库车县","code": "652923"}, + {"name": "沙雅县","code": "652924"}, + {"name": "新和县","code": "652925"}, + {"name": "拜城县","code": "652926"}, + {"name": "乌什县","code": "652927"}, + {"name": "阿瓦提县","code": "652928"}, + {"name": "柯坪县","code": "652929" + } + ] + }, + { + "name": "克孜勒苏柯尔克孜自治州", + "code": "653000", + "area": [ + {"name": "阿图什市","code": "653001"}, + {"name": "阿克陶县","code": "653022"}, + {"name": "阿合奇县","code": "653023"}, + {"name": "乌恰县","code": "653024" + } + ] + }, + { + "name": "喀什地区", + "code": "653100", + "area": [ + {"name": "喀什市","code": "653101"}, + {"name": "疏附县","code": "653121"}, + {"name": "疏勒县","code": "653122"}, + {"name": "英吉沙县","code": "653123"}, + {"name": "泽普县","code": "653124"}, + {"name": "莎车县","code": "653125"}, + {"name": "叶城县","code": "653126"}, + {"name": "麦盖提县","code": "653127"}, + {"name": "岳普湖县","code": "653128"}, + {"name": "伽师县","code": "653129"}, + {"name": "巴楚县","code": "653130"}, + {"name": "塔什库尔干塔吉克自治县","code": "653131" + } + ] + }, + { + "name": "和田地区", + "code": "653200", + "area": [ + {"name": "和田市","code": "653201"}, + {"name": "和田县","code": "653221"}, + {"name": "墨玉县","code": "653222"}, + {"name": "皮山县","code": "653223"}, + {"name": "洛浦县","code": "653224"}, + {"name": "策勒县","code": "653225"}, + {"name": "于田县","code": "653226"}, + {"name": "民丰县","code": "653227" + } + ] + }, + { + "name": "伊犁哈萨克自治州", + "code": "654000", + "area": [ + {"name": "伊宁市","code": "654002"}, + {"name": "奎屯市","code": "654003"}, + {"name": "霍尔果斯市","code": "654004"}, + {"name": "伊宁县","code": "654021"}, + {"name": "察布查尔锡伯自治县","code": "654022"}, + {"name": "霍城县","code": "654023"}, + {"name": "巩留县","code": "654024"}, + {"name": "新源县","code": "654025"}, + {"name": "昭苏县","code": "654026"}, + {"name": "特克斯县","code": "654027"}, + {"name": "尼勒克县","code": "654028" + } + ] + }, + { + "name": "塔城地区", + "code": "654200", + "area": [ + {"name": "塔城市","code": "654201"}, + {"name": "乌苏市","code": "654202"}, + {"name": "额敏县","code": "654221"}, + {"name": "沙湾县","code": "654223"}, + {"name": "托里县","code": "654224"}, + {"name": "裕民县","code": "654225"}, + {"name": "和布克赛尔蒙古自治县","code": "654226" + } + ] + }, + { + "name": "阿勒泰地区", + "code": "654300", + "area": [ + {"name": "阿勒泰市","code": "654301"}, + {"name": "布尔津县","code": "654321"}, + {"name": "富蕴县","code": "654322"}, + {"name": "福海县","code": "654323"}, + {"name": "哈巴河县","code": "654324"}, + {"name": "青河县","code": "654325"}, + {"name": "吉木乃县","code": "654326" + } + ] + }, + { + "name": "自治区直辖县级行政区划", + "code": "659000", + "area": [ + {"name": "石河子市","code": "659001"}, + {"name": "阿拉尔市","code": "659002"}, + {"name": "图木舒克市","code": "659003"}, + {"name": "五家渠市","code": "659004"}, + {"name": "铁门关市","code": "659006" + } + ] + } + ] + }, + { + "name": "台湾省", + "code": "710000" + }, + { + "name": "香港特别行政区", + "code": "810000" + }, + { + "name": "澳门特别行政区", + "code": "820000" + } +] \ No newline at end of file diff --git a/src/assets/config/constants.ts b/src/assets/config/constants.ts new file mode 100644 index 0000000..b95eed5 --- /dev/null +++ b/src/assets/config/constants.ts @@ -0,0 +1,64 @@ +export const priceBtnList = [ + {name: '医保', type: 1, img: '/src/assets/images/price/yiBaoKa.png', color: '#39b035'}, + {name: '微信', type: 2, img: '/src/assets/images/price/weiXin.png', color: '#39b035'}, + {name: '支付宝', type: 3, img: '/src/assets/images/price/zhiFuBao.png', color: '#409eff'}, + {name: '现金', type: 4, img: '/src/assets/images/price/xianJin.png', color: '#faf205'}, + {name: '其他', type: 5, img: '/src/assets/images/price/qiTa.png', color: '#05c5ff'}, +] +export const priceBtnListNoSocial = [ + {name: '微信', type: 2, img: '/src/assets/images/price/weiXin.png', color: '#39b035'}, + {name: '支付宝', type: 3, img: '/src/assets/images/price/zhiFuBao.png', color: '#409eff'}, + {name: '现金', type: 4, img: '/src/assets/images/price/xianJin.png', color: '#faf205'}, + {name: '其他', type: 5, img: '/src/assets/images/price/qiTa.png', color: '#05c5ff'}, +] + +export const reconciliationResult = + { + "0": "平", + "1": "不平", + "101": "中心多", + "102": "医药机构多", + "103": "数据不一致" + } +export const medTypeJson ={ + "41": "定点药店购药", + "11": "普通门诊", + "140201": "门诊特病", + "140104": "门诊慢病", + "1301": "急诊抢救", + "9107": "体检", + "110104": "门诊统筹", + "21": "普通住院", + "990301": "统筹区内转院", + "990901": "特殊病住院", + "71": "家庭病床", + "210303": "精神病住院", + "28": "日间手术", + "15": "门诊特药", + "51": "生育门诊", + "52": "生育住院", + "530102": "计划生育门诊", + "530202": "计划生育住院", + "990503": "日间病床(日间治疗)", + "990101": "门诊单病种(门诊治疗病种)", + "12": "门诊挂号", + "1102": "新冠门诊", + "2110": "新冠住院", + "23": "转外诊治住院", + "990502": "特殊情况门诊(用于家庭医生签约)", + "110105": "门诊统筹手术病种", + "990504": "特殊日间病床", + "14": "门诊慢特病", + "1404": "城乡两病门诊", + "510102": "产前检查", + "108": "辅助生殖门诊" +} +export const tempList = [ + ["咳嗽", "干咳", "咳痰", "夜咳", "晨咳", "咽干", "咽痒", "咽痛", "痰中带血", "声音嘶哑", "咽部异物感", "反复感冒", "发热", "喷嚏", "流涕", "鼻塞", "头痛", "头晕", "耳鸣", "汗多", "盗汗", "自汗", "出汗", "易汗出"], + ["胃胀", "胃痛", "胃不适", "腹胀", "腹痛", "腹泻", "恶心", "呕吐", "反酸", "嗳气", "烧心", "纳差", "便秘", "便溏", "便血", "黑便", "大便干", "大便黏", "五更泻", "腹痛欲便", "里急后重", "排便不爽", "溏结不调"], + ["胸闷", "胸痛", "心悸", "气短", "气喘", "气促", "眠差", "眠浅", "多梦", "易醒", "早醒", "入睡困难", "嗜睡", "尿频", "尿急", "尿痛", "尿不尽", "尿灼热", "尿分叉", "夜尿多", "尿浊", "尿血", "水肿", "阳痿", "早泄"], + ["胁痛", "颈椎痛", "关节痛", "关节僵硬", "四肢麻木", "半身麻木", "四肢无力", "偏瘫", "拘挛", "肩痛", "背痛", "腰痛", "眼干", "0千", "口苦", "牙痛", "齿衄", "口疮", "皮疹", "斑疹", "丘疹", "风团", "皮肤红斑", "皮肤瘙痒"], + ["闭经", "崩漏", "月经量多", "月经量少", "经期错乱", "带下量多", "带下量少", "带下异味", "黄带", "痛经", "月经提前", "月经延后"], + ["偶尔1天", "2天", "3天", "4天", "5天", "1个月", "2个月", "3个月", "半年", "1年", "1周", "2周", "3周"] +] + diff --git a/src/assets/config/depts.json b/src/assets/config/depts.json new file mode 100644 index 0000000..e43e289 --- /dev/null +++ b/src/assets/config/depts.json @@ -0,0 +1,292 @@ +{ + "A01": "预防保健科", + "A02": "全科医疗科", + "A03": { + "name": "内科", + "children": { + "A03.01": "呼吸内科专业", + "A03.02": "消化内科专业", + "A03.03": "神经内科专业", + "A03.04": "心血管内科专业", + "A03.05": "血液内科专业", + "A03.06": "肾病学专业", + "A03.07": "内分泌专业", + "A03.08": "免疫学专业", + "A03.09": "变态反应专业", + "A03.10": "老年病专业", + "A03.11": "其他" + } + }, + "A04": { + "name": "外科", + "children": { + "A04.01": "普通外科专业", + "A04.01.01": "肝脏移植项目", + "A04.01.02": "胰腺移植项目", + "A04.01.03": "小肠移植项目", + "A04.02": "神经外科专业", + "A04.03": "骨科专业", + "A04.04": "泌尿外科专业", + "A04.04.01": "肾脏移植项目", + "A04.05": "胸外科专业", + "A04.05.01": "肺脏移植项目", + "A04.06": "心脏大血管外科专业", + "A04.06.01": "心脏移植项目", + "A04.07": "烧伤科专业", + "A04.08": "整形外科专业", + "A04.09": "其他" + } + }, + "A05": { + "name": "妇产科", + "children": { + "A05.01": "妇科专业", + "A05.02": "产科专业", + "A05.03": "计划生育专业", + "A05.04": "优生学专业", + "A05.05": "生殖健康与不孕症专业", + "A05.06": "其他" + } + }, + "A06": { + "name": "妇女保健科", + "children": { + "A06.01": "青春期保健专业", + "A06.02": "围产期保健专业", + "A06.03": "更年期保健专业", + "A06.04": "妇女心理卫生专业", + "A06.05": "妇女营养专业", + "A06.06": "其他" + } + }, + "A07": { + "name": "儿科", + "children": { + "A07.01": "新生儿专业", + "A07.02": "小儿传染病专业", + "A07.03": "小儿消化专业", + "A07.04": "小儿呼吸专业", + "A07.05": "小儿心脏病专业", + "A07.06": "小儿肾病专业", + "A07.07": "小儿血液病专业", + "A07.08": "小儿神经病学专业", + "A07.09": "小儿内分泌专业", + "A07.10": "小儿遗传病专业", + "A07.11": "小儿免疫专业", + "A07.12": "其他" + } + }, + "A08": { + "name": "小儿外科", + "children": { + "A08.01": "小儿普通外科专业", + "A08.02": "小儿骨科专业", + "A08.03": "小儿泌尿外科专业", + "A08.04": "小儿胸心外科专业", + "A08.05": "小儿神经外科专业", + "A08.06": "其他" + } + }, + "A09": { + "name": "儿童保健科", + "children": { + "A09.01": "儿童生长发育专业", + "A09.02": "儿童营养专业", + "A09.03": "儿童心理卫生专业", + "A09.04": "儿童五官保健专业", + "A09.05": "儿童康复专业", + "A09.06": "其他" + } + }, + "A10": "眼科", + "A11": { + "name": "耳鼻咽喉科", + "children": { + "A11.01": "耳科专业", + "A11.02": "鼻科专业", + "A11.03": "咽喉科专业", + "A11.04": "其他" + } + }, + "A12": { + "name": "口腔科", + "children": { + "A12.01": "牙体牙髓病专业", + "A12.02": "牙周病专业", + "A12.03": "口腔黏膜病专业", + "A12.04": "儿童口腔专业", + "A12.05": "口腔颌骨外科专业", + "A12.06": "口腔修复专业", + "A12.07": "口腔正畸专业", + "A12.08": "口腔种植专业", + "A12.09": "口腔麻醉专业", + "A12.10": "口腔颌面医学影像专业" + } + }, + "A13": { + "name": "皮肤科", + "children": { + "A13.01": "皮肤病专业", + "A13.02": "性传播疾病专业", + "A13.03": "其他" + } + }, + "A14": "医疗美容科", + "A15": { + "name": "精神科", + "children": { + "A15.01": "精神病专业", + "A15.02": "精神卫生专业", + "A15.03": "药物依赖专业", + "A15.04": "精神康复专业", + "A15.05": "社区防治专业", + "A15.06": "临床心理专业", + "A15.07": "司法精神专业", + "A15.08": "其他" + } + }, + "A16": { + "name": "传染科", + "children": { + "A16.01": "肠道传染病专业", + "A16.02": "呼吸道传染病专业", + "A16.03": "肝炎专业", + "A16.04": "虫媒传染病专业", + "A16.05": "动物源性传染病专业", + "A16.06": "蠕虫病专业", + "A16.07": "其它" + } + }, + "A17": "结核病科", + "A18": "地方病科", + "A19": "肿瘤科", + "A20": "急诊医学科", + "A21": "康复医学科", + "A22": "运动医学科", + "A23": { + "name": "职业病科", + "children": { + "A23.01": "职业中毒专业", + "A23.02": "尘肺专业", + "A23.03": "放射病专业", + "A23.04": "物理因素损伤专业", + "A23.05": "职业健康监护专业", + "A23.06": "其他" + } + }, + "A24": "临终关怀科", + "A25": "特种医学与军事医学科", + "A26": "麻醉科", + "A27": "疼痛科", + "A28": "重症医学科", + "A30": { + "name": "医学检验科", + "children": { + "A30.01": "临床体液、血液专业", + "A30.02": "临床微生物学专业", + "A30.03": "临床生化检验专业", + "A30.04": "临床免疫、血清学专业", + "A30.05": "临床细胞分子遗传学专业", + "A30.06": "其他" + } + }, + "A31": "病理科", + "A32": { + "name": "医学影像科", + "children": { + "A32.01": "X线诊断专业", + "A32.02": "CT诊断专业", + "A32.03": "磁共振成像诊断专业", + "A32.04": "核医学专业", + "A32.05": "超声诊断专业", + "A32.06": "心电诊断专业", + "A32.07": "脑电及脑血流图诊断专业", + "A32.08": "神经肌肉电图专业", + "A32.09": "介入放射学专业", + "A32.10": "放射治疗专业", + "A32.11": "其他" + } + }, + "A50": { + "name": "中医科", + "children": { + "A50.01": "内科专业", + "A50.02": "外科专业", + "A50.03": "妇产科专业", + "A50.04": "儿科专业", + "A50.05": "皮肤科专业", + "A50.06": "眼科专业", + "A50.07": "耳鼻咽喉科专业", + "A50.08": "口腔科专业", + "A50.09": "肿瘤科专业", + "A50.10": "骨伤科专业", + "A50.11": "肛肠科专业", + "A50.12": "老年病科专业", + "A50.13": "针灸科专业", + "A50.14": "推拿科专业", + "A50.15": "康复医学专业", + "A50.16": "急诊科专业", + "A50.17": "预防保健科专业", + "A50.18": "其他" + } + }, + "A51": { + "name": "民族医学科", + "children": { + "A51.01": "维吾尔医学", + "A51.02": "藏医学", + "A51.03": "蒙医学", + "A51.04": "彝医学", + "A51.05": "傣医学", + "A51.06": "其他" + } + }, + "A52": "中西医结合科", + "A69": "其他业务科室", + "B01": "传染病预防控制科(中心)", + "B02": "性病艾滋病预防控制科(中心)", + "B03": "结核病预防控制科(中心)", + "B04": "血吸虫预防控制科(中心)", + "B05": "慢性非传染性疾病预防控制科(中心)", + "B06": "寄生虫病预防控制科(中心)", + "B07": "地方病控制科(中心)", + "B08": "精神卫生科(中心)", + "B09": "妇幼保健科", + "B10": "免疫规划科(中心)", + "B11": "农村改水技术指导科(中心)", + "B12": "疾病控制与应急处理办公室", + "B13": "食品卫生科", + "B14": "环境卫生所", + "B15": "职业卫生科", + "B16": "放射卫生科", + "B17": "学校卫生科", + "B18": "健康教育科(中心)", + "B19": "预防医学门诊", + "B69": "其他业务科室", + "C01": "综合卫生监督科", + "C02": "产品卫生监督科", + "C03": "职业卫生监督科", + "C04": "环境卫生监督科", + "C05": "传染病执法监督科", + "C06": "医疗服务监督科", + "C07": "稽查科(大队)", + "C08": "许可受理科", + "C09": "放射卫生监督科", + "C10": "学校卫生监督科", + "C11": "食品安全监督科", + "C69": "其他", + "D71": "护理部", + "D72": "药剂科(药房)", + "D73": "感染科", + "D74": "输血科(血库)", + "D81": "办公室", + "D82": "人事科", + "D83": "财务科", + "D84": "设备科", + "D85": "信息科(中心)", + "D86": "医政科", + "D87": "教育培训科", + "D88": "总务科", + "D89": "新农合管理办公室", + "D99": "其他科室" +} \ No newline at end of file diff --git a/src/assets/config/gends.json b/src/assets/config/gends.json new file mode 100644 index 0000000..4a46dc6 --- /dev/null +++ b/src/assets/config/gends.json @@ -0,0 +1,6 @@ +{ + "0": "未知", + "1": "男", + "2": "女", + "9": "未说明" +} \ No newline at end of file diff --git a/src/assets/config/insutypes.json b/src/assets/config/insutypes.json new file mode 100644 index 0000000..35de1c9 --- /dev/null +++ b/src/assets/config/insutypes.json @@ -0,0 +1,28 @@ +{ + "310": "职工基本医疗保险", + "31003": "医疗保险个人账户(用人单位)", + "312": "农民工住院医疗", + "320": "公务员医疗补助", + "321": "公务员医疗补助(市直统发)", + "323": "公务员医疗补助(市直非统发)", + "330": "大额医疗费用补助", + "331": "二次补助", + "340": "离休人员医疗保障", + "350": "一至六级残废军人医疗补助", + "360": "老红军医疗保障", + "370": "企业补充医疗保险", + "380": "新型农村合作医疗", + "390": "城乡居民基本医疗保险", + "391": "城镇居民基本医疗保险", + "392": "城乡居民大病医疗保险", + "399": "其他特殊人员医疗保障", + "39901": "劳模医疗保障", + "39902": "补充百分之10医疗", + "39903": "城乡居民补充医疗保险", + "39904": "建国前老工人医疗保险", + "39905": "二乙医疗保险", + "39906": "意外伤害医疗保险", + "410": "长期照护保险", + "510": "生育保险", + "520": "公务员生育" +} \ No newline at end of file diff --git a/src/assets/config/menu.json b/src/assets/config/menu.json new file mode 100644 index 0000000..f189332 --- /dev/null +++ b/src/assets/config/menu.json @@ -0,0 +1,143 @@ +[ + { + "name": "首页", + "icon": "icon-shouye", + "path": "/home/index", + "children": [ + { + "name": "首页", + "path": "/home/index" + } + ] + }, + { + "name": "零售", + "icon": "icon-renminbi1688", + "path": "/retail/retail", + "children": [ + { + "name": "零售", + "path": "/retail/retail" + }, + { + "name": "零售单", + "path": "/retail/sales" + }, + { + "name": "对账", + "path": "/retail/flows" + } + ] + }, + { + "name": "库存", + "icon": "icon-cangku", + "path": "/inventory/goods", + "children": [ + { + "name": "商品", + "path": "/inventory/goods" + }, + { + "name": "采购", + "path": "/inventory/purchase" + }, + { + "name": "领用", + "path": "/inventory/use" + }, + { + "name": "供应商", + "path": "/inventory/supplier" + }, + { + "name": "盘点", + "path": "/inventory/check" + } + ] + }, + { + "name": "会员", + "icon": "icon-huiyuan", + "path": "/member/index", + "children": [ + { + "name": "首页", + "path": "/member/index" + } + ] + }, + { + "name": "医保", + "icon": "icon-yibao", + "path": "/social/directory", + "children": [ + { + "name": "医保目录", + "path": "/social/directory" + }, + { + "name": "数据更新", + "path": "/social/update" + }, + { + "name": "进销存上报", + "path": "/social/inventoryUp" + }, + { + "name": "结算", + "path": "/social/costRecord" + }, + { + "name": "对账", + "path": "/social/accountRecords" + }, + { + "name": "自费病人", + "path": "/social/selfPerson" + } + ] + }, + { + "name": "统计", + "icon": "icon-tongjifenxi-xiangmubiaogetongji", + "path": "/statistics/overview", + "children": [ + { + "name": "营收统计", + "path": "/statistics/overView" + } + ] + }, + { + "name": "设置", + "icon": "icon-shezhi", + "path": "/settings/baseinfo", + "children": [ + { + "name": "基本设置", + "path": "/settings/baseinfo" + }, + { + "name": "授权设置", + "path": "/settings/auth" + }, + { + "name": "用户管理", + "path": "/settings/userManage" + }, + { + "name": "打印管理", + "path": "/settings/print" + }, + { + "name": "模版管理", + "path": "/settings/template" + }, + { + "name": "操作日志", + "path": "/settings/operationLog" + } + ] + } +] diff --git a/src/assets/config/nation.json b/src/assets/config/nation.json new file mode 100644 index 0000000..5b6afeb --- /dev/null +++ b/src/assets/config/nation.json @@ -0,0 +1,58 @@ +{ + "01": "汉族", + "02": "蒙古族", + "03": "回族", + "04": "藏族", + "05": "维吾尔族", + "06": "苗族", + "07": "彝族", + "08": "壮族", + "09": "布依族", + "10": "朝鲜族", + "11": "满族", + "12": "侗族", + "13": "瑶族", + "14": "白族", + "15": "土家族", + "16": "哈尼族", + "17": "哈萨克族", + "18": "傣族", + "19": "黎族", + "20": "傈僳族", + "21": "佤族", + "22": "畲族", + "23": "高山族", + "24": "拉祜族", + "25": "水族", + "26": "东乡族", + "27": "纳西族", + "28": "景颇族", + "29": "柯尔克孜族", + "30": "土族", + "31": "达斡尔族", + "32": "仫佬族", + "33": "羌族", + "34": "布朗族", + "35": "撒拉族", + "36": "毛南族", + "37": "仡佬族", + "38": "锡伯族", + "39": "阿昌族", + "40": "普米族", + "41": "塔吉克族", + "42": "怒族", + "43": "乌孜别克族", + "44": "俄罗斯族", + "45": "鄂温克族", + "46": "德昂族", + "47": "保安族", + "48": "裕固族", + "49": "京族", + "50": "塔塔尔族", + "51": "独龙族", + "52": "鄂伦春族", + "53": "赫哲族", + "54": "门巴族", + "55": "珞巴族", + "56": "基诺族" +} \ No newline at end of file diff --git a/src/assets/config/psnCertTypes.json b/src/assets/config/psnCertTypes.json new file mode 100644 index 0000000..371aa03 --- /dev/null +++ b/src/assets/config/psnCertTypes.json @@ -0,0 +1,23 @@ +{ + "01": "居民身份证(户口簿)", + "02": "中国人民解放军军官证", + "03": "中国人民武装警察警官证", + "04": "香港特区护照/港澳居民来往内地通行证", + "05": "澳门特区护照/港澳居民来往内地通行证", + "06": "台湾居民来往大陆通行证", + "07": "外国人永久居留证", + "08": "外国人护照", + "09": "残疾人证", + "10": "军烈属证明", + "11": "外国人就业证", + "12": "外国专家证", + "13": "外国人常驻记者证", + "14": "台港澳人员就业证", + "15": "回国(来华)定居专家证", + "16": "中国护照", + "17": "港澳台居民居住证", + "90": "社会保障卡", + "99": "其他身份证件", + "990102": "扶贫人口编码", + "990201": "医学出生证明" +} \ No newline at end of file diff --git a/src/assets/config/psnTypes.json b/src/assets/config/psnTypes.json new file mode 100644 index 0000000..7e1f566 --- /dev/null +++ b/src/assets/config/psnTypes.json @@ -0,0 +1,96 @@ +{ + "11": "在职", + "1101": "职工在职", + "1102": "公务员在职", + "11021": "转制并轨在职", + "1103": "灵活就业人员在职", + "11031": "保健对象在职", + "1104": "减员职工", + "1105": "农民工", + "1111": "伤残军人在职", + "1112": "伤残军人退休", + "1113": "职工在职(农垦)", + "1114": "公务员退休(特)", + "116003": "失业人员", + "116004": "子女", + "116006": "企业高管(在职)", + "116011": "非财政划拨在职保健对象", + "116012": "国务院特殊津贴在职人员", + "116013": "在职副厅以上干部", + "116014": "在职残疾军人", + "116015": "二等乙级在职职工", + "116016": "下岗职工", + "116017": "在职二级保健对象", + "12": "退休人员", + "1201": "职工退休", + "1202": "公务员退休", + "1203": "灵活就业人员退休", + "12031": "保健对象退休", + "1204": "退职职工", + "1205": "转制并轨退休", + "126000": "老工人", + "126001": "退休新人", + "126002": "退休非新人", + "126003": "提前退休", + "126004": "退休二级保健对象", + "126009": "非财政划拨退休保健对象", + "126010": "国务院特殊津贴退休人员", + "126013": "退休副厅以上干部", + "126014": "省直代管512退休干部", + "126015": "退休残疾军人", + "126016": "二等乙级退休职工", + "126017": "退休(满足年限)", + "126018": "退休保健对象", + "126019": "退休(不满足年限)", + "126022": "企业高管(退休)", + "13": "离休", + "1300": "离休人员", + "136001": "行政离休", + "136002": "财政供养离休人员", + "136003": "缴专项基金的建国前工人", + "136004": "地震截瘫(市属离休)", + "136005": "离休省属有级别", + "136006": "离休省属无级别", + "136007": "离休市属有级别", + "136008": "离休市属无级别", + "136009": "市直离休", + "136010": "建国前老工人(市属离休)", + "136011": "二等乙(市属离休)", + "136012": "企业离休", + "136013": "已剥离专项基金的建国前工人", + "136014": "普通离休(非地市)", + "136015": "省属离休人员", + "136016": "市直机关事业单位离休", + "136017": "企业自筹离休人员", + "136018": "普通离休(地市级)", + "136019": "市属离休人员", + "136020": "市直企业离休", + "136021": "特殊离休", + "136022": "垦区离休人员", + "136023": "省直代管离休", + "136024": "享受副省部级待遇离休", + "14": "居民(未成年)", + "1401": "新生儿", + "1402": "学龄前儿童", + "1403": "中小学生", + "1404": "大学生", + "1405": "未成年(未入学)", + "1406": "低保学生儿童", + "146001": "市直财政供养人员", + "146002": "残疾人员", + "146004": "低保人员", + "146005": "重度残疾学生", + "1461": "积分入学(百佳学子)", + "149901": "学生儿童", + "15": "居民(成年)", + "1501": "普通居民(成年)", + "151": "居民", + "156001": "普通居民", + "16": "居民(老年)", + "17": "农牧民少", + "18": "农牧民中", + "20": "农牧民老", + "33": "一至六级残疾军人", + "34": "建国前老工人 ", + "99": "其他" +} diff --git a/src/assets/scss/base.scss b/src/assets/scss/base.scss new file mode 100644 index 0000000..6696834 --- /dev/null +++ b/src/assets/scss/base.scss @@ -0,0 +1,123 @@ +// 主题色 +$primary-color: #409EFF; +$success-color: #67C23A; +$warning-color: #E6A23C; +$danger-color: #F56C6C; +$info-color: #909399; + +// 文字颜色 +$text-primary: #303133; +// 次级文字颜色 +$text-color-secondary: #909399; + +// 边框颜色 +$border-color-base: #DCDFE6; +$border-color-light: #E4E7ED; +$border-color-lighter: #EBEEF5; +$border-color-extra-light: #F2F6FC; + +// 背景颜色 +$background-color-base: #eee; +$background-color-main: #5078c8; +$background-color-panel: #FFFFFF; +$background-color-b1:#E2E2E2; + +// 字体大小 +$font-size-extra-large: 20px; +$font-size-large: 18px; +$font-size-medium: 16px; +$font-size-base: 14px; +$font-size-small: 13px; +$font-size-extra-small: 12px; + +// 边框圆角 +$border-radius-base: 4px; +$border-radius-small: 2px; +$border-radius-large: 8px; +$border-radius-circle: 50%; + +// 间距 +$spacing-base: 8px; +$spacing-small: 4px; +$spacing-large: 16px; +$spacing-extra-large: 24px; + +// 尺寸 +$padding-base: 18px; +$margin-base: 8px; + +// 阴影 +$box-shadow-base: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04); +$box-shadow-light: 0 2px 12px 0 rgba(0, 0, 0, 0.1); + +// 过渡 +$transition-duration: 0.3s; +$transition-timing-function: ease-in-out; + +// 布局 +$header-height: 60px; +$sidebar-width: 200px; +$sidebar-collapse-width: 64px; + +@mixin space{ + margin: $spacing-base; +} +// 圆角混合器 +@mixin border-radius { + border-radius: $border-radius-base; +} +@mixin center-wrapper{ + max-width: 1920px; + min-width: 1280px; + margin: 0 auto; +} + +// 内间距混合器 +@mixin padding { + padding: $padding-base; +} + +// 外边距混合器 +@mixin margin{ + margin: $margin-base; +} + + +// 阴影混合器 +@mixin box-shadow { + box-shadow: $box-shadow-base; +} + +// 背景颜色混合器 +@mixin background-color { + background-color: $background-color-base; +} +@mixin background-color-panel { + background-color: $background-color-panel; +} + +// 文字颜色混合器 +@mixin text-color { + color: $text-primary; +} + +// 边框颜色混合器 +@mixin border{ + border:1px solid $border-color-base; +} + +// 字体大小混合器 +@mixin font-size { + font-size: $font-size-base; +} + +// 间距混合器 +@mixin spacing{ + margin: $spacing-base; + padding: $spacing-base; +} +@mixin main-background { + background-color: $background-color-main; +} + + diff --git a/src/assets/scss/layout.scss b/src/assets/scss/layout.scss new file mode 100644 index 0000000..ce7a292 --- /dev/null +++ b/src/assets/scss/layout.scss @@ -0,0 +1,18 @@ +.layout-container{ + .header{ + height: 80px; + } + position: relative; + width: 100%; + height: 100%; + overflow: hidden; + display: flex; + flex-direction: column; + .layout-main{ + flex: 1; + min-height: 0; + } + .footer{ + height: 50px; + } +} \ No newline at end of file diff --git a/src/assets/scss/main.scss b/src/assets/scss/main.scss new file mode 100644 index 0000000..77a654e --- /dev/null +++ b/src/assets/scss/main.scss @@ -0,0 +1,98 @@ +@use "base"; + +ul, li { + list-style: none; /* 移除项目符号(如圆点、数字等) */ + margin: 0; /* 清除默认外边距 */ + padding: 0; /* 清除默认内边距 */ +} + +// 重置样式 +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +html, body { + height: 100%; + font-family: PingFangSC, PingFang SC, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; + font-size: base.$font-size-base; + color: base.$text-primary; + background-color: base.$background-color-base; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +#app { + height: 100vh; + width: 100vw; + overflow: hidden; +} + +html { + +} + +body { + background-color: base.$background-color-base; + //font-family: Helvetica Neue, Helvetica, Arial, PingFang SC, MyHeiTi, Hiragino Sans GB, Heiti SC, WenQuanYi Micro Hei, sans-serif !important; + font-family: Source Han Sans, serif; +} + +.center-wrapper { + @include base.center-wrapper; +} + +.container-wrapper { + height: 100%; + //background-color: base.$background-color-panel; + @include base.center-wrapper; + //@include base.padding; + @include base.border-radius; + @include base.box-shadow; +} + +.space { + @include base.space; +} + +.container-wrapper_flex { + @include base.center-wrapper; + display: flex; + flex-direction: column; + min-height: 0; + height: 100%; +} + +.content-wrapper { + flex: 1; + overflow: auto; + width: 100%; + @include base.padding; + @include base.border-radius; + @include base.box-shadow; + @include base.background-color-panel; + margin-top: 10px; + min-height: 0; +} + +// 清除圆角 +.clear-border-radius { + border-radius: 0; +} + +// 清除背景色 +.clear-background-color { + background-color: transparent; +} + +// 清除内边距 +.clear-padding { + padding: 0; +} + +// 清除外边距 +.clear-margin { + margin: 0; +} + diff --git a/src/components/CloseBtn.vue b/src/components/CloseBtn.vue new file mode 100644 index 0000000..dc65ee0 --- /dev/null +++ b/src/components/CloseBtn.vue @@ -0,0 +1,21 @@ + + + + + \ No newline at end of file diff --git a/src/components/Divider.vue b/src/components/Divider.vue new file mode 100644 index 0000000..5b934bc --- /dev/null +++ b/src/components/Divider.vue @@ -0,0 +1,15 @@ + + + + + \ No newline at end of file diff --git a/src/components/Mask.vue b/src/components/Mask.vue new file mode 100644 index 0000000..75a31bd --- /dev/null +++ b/src/components/Mask.vue @@ -0,0 +1,54 @@ + + + + + diff --git a/src/components/Picker.vue b/src/components/Picker.vue new file mode 100644 index 0000000..cb281ec --- /dev/null +++ b/src/components/Picker.vue @@ -0,0 +1,36 @@ + + + + + \ No newline at end of file diff --git a/src/components/PopoverInput.vue b/src/components/PopoverInput.vue new file mode 100644 index 0000000..28323ee --- /dev/null +++ b/src/components/PopoverInput.vue @@ -0,0 +1,60 @@ + + + + + \ No newline at end of file diff --git a/src/components/SearchInput.vue b/src/components/SearchInput.vue new file mode 100644 index 0000000..012a38a --- /dev/null +++ b/src/components/SearchInput.vue @@ -0,0 +1,108 @@ + + + + + + \ No newline at end of file diff --git a/src/components/SelectArea.vue b/src/components/SelectArea.vue new file mode 100644 index 0000000..4a08ea2 --- /dev/null +++ b/src/components/SelectArea.vue @@ -0,0 +1,59 @@ + + + \ No newline at end of file diff --git a/src/components/UpLoad.vue b/src/components/UpLoad.vue new file mode 100644 index 0000000..b611932 --- /dev/null +++ b/src/components/UpLoad.vue @@ -0,0 +1,67 @@ + + + + diff --git a/src/components/charge/CardPay.vue b/src/components/charge/CardPay.vue new file mode 100644 index 0000000..75aee38 --- /dev/null +++ b/src/components/charge/CardPay.vue @@ -0,0 +1,197 @@ + + + + + \ No newline at end of file diff --git a/src/components/charge/ChargeQueue.vue b/src/components/charge/ChargeQueue.vue new file mode 100644 index 0000000..52a38ef --- /dev/null +++ b/src/components/charge/ChargeQueue.vue @@ -0,0 +1,185 @@ + + + \ No newline at end of file diff --git a/src/components/charge/GoodsDetail.vue b/src/components/charge/GoodsDetail.vue new file mode 100644 index 0000000..deaa394 --- /dev/null +++ b/src/components/charge/GoodsDetail.vue @@ -0,0 +1,77 @@ + + + \ No newline at end of file diff --git a/src/components/charge/ServiceDetail.vue b/src/components/charge/ServiceDetail.vue new file mode 100644 index 0000000..bab2b98 --- /dev/null +++ b/src/components/charge/ServiceDetail.vue @@ -0,0 +1,50 @@ + + + \ No newline at end of file diff --git a/src/components/charge/Settlement.vue b/src/components/charge/Settlement.vue new file mode 100644 index 0000000..1623ef5 --- /dev/null +++ b/src/components/charge/Settlement.vue @@ -0,0 +1,195 @@ + + + + + + + \ No newline at end of file diff --git a/src/components/common/Footer.vue b/src/components/common/Footer.vue new file mode 100644 index 0000000..383e1f8 --- /dev/null +++ b/src/components/common/Footer.vue @@ -0,0 +1,21 @@ + + + + diff --git a/src/components/common/Header.vue b/src/components/common/Header.vue new file mode 100644 index 0000000..35aeced --- /dev/null +++ b/src/components/common/Header.vue @@ -0,0 +1,145 @@ + + + + diff --git a/src/components/common/Mask.vue b/src/components/common/Mask.vue new file mode 100644 index 0000000..46b2d62 --- /dev/null +++ b/src/components/common/Mask.vue @@ -0,0 +1,92 @@ + + + + + diff --git a/src/components/common/Panel.vue b/src/components/common/Panel.vue new file mode 100644 index 0000000..ab23a55 --- /dev/null +++ b/src/components/common/Panel.vue @@ -0,0 +1,88 @@ + + + + + + \ No newline at end of file diff --git a/src/components/home/ExpireWarnDetail.vue b/src/components/home/ExpireWarnDetail.vue new file mode 100644 index 0000000..78e295a --- /dev/null +++ b/src/components/home/ExpireWarnDetail.vue @@ -0,0 +1,54 @@ + + + \ No newline at end of file diff --git a/src/components/home/InventoryWarnDetail.vue b/src/components/home/InventoryWarnDetail.vue new file mode 100644 index 0000000..d3f954c --- /dev/null +++ b/src/components/home/InventoryWarnDetail.vue @@ -0,0 +1,53 @@ + + + \ No newline at end of file diff --git a/src/components/inventory/GoodsSearch.vue b/src/components/inventory/GoodsSearch.vue new file mode 100644 index 0000000..1c0af11 --- /dev/null +++ b/src/components/inventory/GoodsSearch.vue @@ -0,0 +1,120 @@ + + + + + \ No newline at end of file diff --git a/src/components/inventory/UnitSelector.vue b/src/components/inventory/UnitSelector.vue new file mode 100644 index 0000000..8167d0e --- /dev/null +++ b/src/components/inventory/UnitSelector.vue @@ -0,0 +1,69 @@ + + + + + \ No newline at end of file diff --git a/src/components/inventory/apply/AddApply.vue b/src/components/inventory/apply/AddApply.vue new file mode 100644 index 0000000..86468ab --- /dev/null +++ b/src/components/inventory/apply/AddApply.vue @@ -0,0 +1,285 @@ + + + \ No newline at end of file diff --git a/src/components/inventory/apply/DetailApply.vue b/src/components/inventory/apply/DetailApply.vue new file mode 100644 index 0000000..f8b868c --- /dev/null +++ b/src/components/inventory/apply/DetailApply.vue @@ -0,0 +1,224 @@ + + + \ No newline at end of file diff --git a/src/components/inventory/check/Add.vue b/src/components/inventory/check/Add.vue new file mode 100644 index 0000000..7933aac --- /dev/null +++ b/src/components/inventory/check/Add.vue @@ -0,0 +1,457 @@ + + + + \ No newline at end of file diff --git a/src/components/inventory/check/Detail.vue b/src/components/inventory/check/Detail.vue new file mode 100644 index 0000000..d59f11b --- /dev/null +++ b/src/components/inventory/check/Detail.vue @@ -0,0 +1,350 @@ + + + + \ No newline at end of file diff --git a/src/components/inventory/goods/Cate.vue b/src/components/inventory/goods/Cate.vue new file mode 100644 index 0000000..d66f03b --- /dev/null +++ b/src/components/inventory/goods/Cate.vue @@ -0,0 +1,172 @@ + + + + + \ No newline at end of file diff --git a/src/components/inventory/goods/Edit.vue b/src/components/inventory/goods/Edit.vue new file mode 100644 index 0000000..60c5310 --- /dev/null +++ b/src/components/inventory/goods/Edit.vue @@ -0,0 +1,679 @@ + + + + + + diff --git a/src/components/inventory/goods/EditBack.vue b/src/components/inventory/goods/EditBack.vue new file mode 100644 index 0000000..530d899 --- /dev/null +++ b/src/components/inventory/goods/EditBack.vue @@ -0,0 +1,274 @@ + + + + + + diff --git a/src/components/inventory/goods/InventoryBatchDetail.vue b/src/components/inventory/goods/InventoryBatchDetail.vue new file mode 100644 index 0000000..e2b4362 --- /dev/null +++ b/src/components/inventory/goods/InventoryBatchDetail.vue @@ -0,0 +1,53 @@ + + + \ No newline at end of file diff --git a/src/components/inventory/goods/InventoryStatistics.vue b/src/components/inventory/goods/InventoryStatistics.vue new file mode 100644 index 0000000..0768ab7 --- /dev/null +++ b/src/components/inventory/goods/InventoryStatistics.vue @@ -0,0 +1,184 @@ + + + + + + diff --git a/src/components/inventory/goods/Search.vue b/src/components/inventory/goods/Search.vue new file mode 100644 index 0000000..5e9de64 --- /dev/null +++ b/src/components/inventory/goods/Search.vue @@ -0,0 +1,227 @@ + + + diff --git a/src/components/inventory/goods/SocialInfo.vue b/src/components/inventory/goods/SocialInfo.vue new file mode 100644 index 0000000..09fd746 --- /dev/null +++ b/src/components/inventory/goods/SocialInfo.vue @@ -0,0 +1,113 @@ + + + \ No newline at end of file diff --git a/src/components/inventory/purchase/AddOrder.vue b/src/components/inventory/purchase/AddOrder.vue new file mode 100644 index 0000000..840d9eb --- /dev/null +++ b/src/components/inventory/purchase/AddOrder.vue @@ -0,0 +1,383 @@ + + + + \ No newline at end of file diff --git a/src/components/inventory/purchase/EditOrder.vue b/src/components/inventory/purchase/EditOrder.vue new file mode 100644 index 0000000..e8c6cd2 --- /dev/null +++ b/src/components/inventory/purchase/EditOrder.vue @@ -0,0 +1,470 @@ + + + + \ No newline at end of file diff --git a/src/components/inventory/supplier/AddSupplier.vue b/src/components/inventory/supplier/AddSupplier.vue new file mode 100644 index 0000000..004be89 --- /dev/null +++ b/src/components/inventory/supplier/AddSupplier.vue @@ -0,0 +1,99 @@ + + + + + diff --git a/src/components/member/memberProfile/Exchange.vue b/src/components/member/memberProfile/Exchange.vue new file mode 100644 index 0000000..3950751 --- /dev/null +++ b/src/components/member/memberProfile/Exchange.vue @@ -0,0 +1,130 @@ + + + \ No newline at end of file diff --git a/src/components/member/memberProfile/FlowingWater.vue b/src/components/member/memberProfile/FlowingWater.vue new file mode 100644 index 0000000..3e3b71a --- /dev/null +++ b/src/components/member/memberProfile/FlowingWater.vue @@ -0,0 +1,140 @@ + + + + diff --git a/src/components/member/memberProfile/Grant.vue b/src/components/member/memberProfile/Grant.vue new file mode 100644 index 0000000..68f7a19 --- /dev/null +++ b/src/components/member/memberProfile/Grant.vue @@ -0,0 +1,116 @@ + + + \ No newline at end of file diff --git a/src/components/member/memberProfile/VipEdit.vue b/src/components/member/memberProfile/VipEdit.vue new file mode 100644 index 0000000..da6ed67 --- /dev/null +++ b/src/components/member/memberProfile/VipEdit.vue @@ -0,0 +1,226 @@ + + + \ No newline at end of file diff --git a/src/components/member/memberProfile/VipLevelEdit.vue b/src/components/member/memberProfile/VipLevelEdit.vue new file mode 100644 index 0000000..d550358 --- /dev/null +++ b/src/components/member/memberProfile/VipLevelEdit.vue @@ -0,0 +1,53 @@ + + + + + \ No newline at end of file diff --git a/src/components/outpatient/Case.vue b/src/components/outpatient/Case.vue new file mode 100644 index 0000000..89816fd --- /dev/null +++ b/src/components/outpatient/Case.vue @@ -0,0 +1,149 @@ + + + \ No newline at end of file diff --git a/src/components/outpatient/CaseDetail.vue b/src/components/outpatient/CaseDetail.vue new file mode 100644 index 0000000..1326121 --- /dev/null +++ b/src/components/outpatient/CaseDetail.vue @@ -0,0 +1,89 @@ + + + \ No newline at end of file diff --git a/src/components/outpatient/DiagnosisSearchInput.vue b/src/components/outpatient/DiagnosisSearchInput.vue new file mode 100644 index 0000000..25f1943 --- /dev/null +++ b/src/components/outpatient/DiagnosisSearchInput.vue @@ -0,0 +1,100 @@ + + + \ No newline at end of file diff --git a/src/components/outpatient/DiseaseDetails.vue b/src/components/outpatient/DiseaseDetails.vue new file mode 100644 index 0000000..c6aee55 --- /dev/null +++ b/src/components/outpatient/DiseaseDetails.vue @@ -0,0 +1,148 @@ + + + \ No newline at end of file diff --git a/src/components/outpatient/MedicalHistory.vue b/src/components/outpatient/MedicalHistory.vue new file mode 100644 index 0000000..ee37c86 --- /dev/null +++ b/src/components/outpatient/MedicalHistory.vue @@ -0,0 +1,70 @@ + + + \ No newline at end of file diff --git a/src/components/outpatient/MedicalInformation.vue b/src/components/outpatient/MedicalInformation.vue new file mode 100644 index 0000000..11f5330 --- /dev/null +++ b/src/components/outpatient/MedicalInformation.vue @@ -0,0 +1,128 @@ + + + \ No newline at end of file diff --git a/src/components/outpatient/MedicalQueue.vue b/src/components/outpatient/MedicalQueue.vue new file mode 100644 index 0000000..95a1fee --- /dev/null +++ b/src/components/outpatient/MedicalQueue.vue @@ -0,0 +1,269 @@ + + + \ No newline at end of file diff --git a/src/components/outpatient/PharmaceuticalConsumables.vue b/src/components/outpatient/PharmaceuticalConsumables.vue new file mode 100644 index 0000000..bdae8bb --- /dev/null +++ b/src/components/outpatient/PharmaceuticalConsumables.vue @@ -0,0 +1,175 @@ + + + + \ No newline at end of file diff --git a/src/components/outpatient/PharmaceuticalConsumablesDetail.vue b/src/components/outpatient/PharmaceuticalConsumablesDetail.vue new file mode 100644 index 0000000..de7e65e --- /dev/null +++ b/src/components/outpatient/PharmaceuticalConsumablesDetail.vue @@ -0,0 +1,158 @@ + + + + \ No newline at end of file diff --git a/src/components/outpatient/ServiceItems.vue b/src/components/outpatient/ServiceItems.vue new file mode 100644 index 0000000..aae6e38 --- /dev/null +++ b/src/components/outpatient/ServiceItems.vue @@ -0,0 +1,126 @@ + + + + \ No newline at end of file diff --git a/src/components/outpatient/ServiceItemsDetail.vue b/src/components/outpatient/ServiceItemsDetail.vue new file mode 100644 index 0000000..4ec289c --- /dev/null +++ b/src/components/outpatient/ServiceItemsDetail.vue @@ -0,0 +1,92 @@ + + + + \ No newline at end of file diff --git a/src/components/outpatient/Settlement.vue b/src/components/outpatient/Settlement.vue new file mode 100644 index 0000000..5c10b1c --- /dev/null +++ b/src/components/outpatient/Settlement.vue @@ -0,0 +1,47 @@ + + + + + \ No newline at end of file diff --git a/src/components/registration/CardDefault.vue b/src/components/registration/CardDefault.vue new file mode 100644 index 0000000..42911e5 --- /dev/null +++ b/src/components/registration/CardDefault.vue @@ -0,0 +1,236 @@ + + + + + \ No newline at end of file diff --git a/src/components/registration/Edit.vue b/src/components/registration/Edit.vue new file mode 100644 index 0000000..e6787c3 --- /dev/null +++ b/src/components/registration/Edit.vue @@ -0,0 +1,171 @@ + + + \ No newline at end of file diff --git a/src/components/registration/List.vue b/src/components/registration/List.vue new file mode 100644 index 0000000..665775d --- /dev/null +++ b/src/components/registration/List.vue @@ -0,0 +1,52 @@ + + + \ No newline at end of file diff --git a/src/components/retail/AssociationIdCode.vue b/src/components/retail/AssociationIdCode.vue new file mode 100644 index 0000000..9bb30f1 --- /dev/null +++ b/src/components/retail/AssociationIdCode.vue @@ -0,0 +1,218 @@ + + + \ No newline at end of file diff --git a/src/components/retail/BatchDetail.vue b/src/components/retail/BatchDetail.vue new file mode 100644 index 0000000..20bfb6f --- /dev/null +++ b/src/components/retail/BatchDetail.vue @@ -0,0 +1,129 @@ + + + \ No newline at end of file diff --git a/src/components/retail/CardDefault.vue b/src/components/retail/CardDefault.vue new file mode 100644 index 0000000..112ffd8 --- /dev/null +++ b/src/components/retail/CardDefault.vue @@ -0,0 +1,236 @@ + + + + + \ No newline at end of file diff --git a/src/components/retail/CardPay.vue b/src/components/retail/CardPay.vue new file mode 100644 index 0000000..f740780 --- /dev/null +++ b/src/components/retail/CardPay.vue @@ -0,0 +1,197 @@ + + + + + \ No newline at end of file diff --git a/src/components/retail/CheckoutDetail.vue b/src/components/retail/CheckoutDetail.vue new file mode 100644 index 0000000..11c24c5 --- /dev/null +++ b/src/components/retail/CheckoutDetail.vue @@ -0,0 +1,215 @@ + + + \ No newline at end of file diff --git a/src/components/retail/IdCodeListShow.vue b/src/components/retail/IdCodeListShow.vue new file mode 100644 index 0000000..051d33a --- /dev/null +++ b/src/components/retail/IdCodeListShow.vue @@ -0,0 +1,47 @@ + + + + + \ No newline at end of file diff --git a/src/components/retail/LadingBill.vue b/src/components/retail/LadingBill.vue new file mode 100644 index 0000000..cdf9e5f --- /dev/null +++ b/src/components/retail/LadingBill.vue @@ -0,0 +1,53 @@ + + + + + \ No newline at end of file diff --git a/src/components/retail/OrderDetail.vue b/src/components/retail/OrderDetail.vue new file mode 100644 index 0000000..d8a247b --- /dev/null +++ b/src/components/retail/OrderDetail.vue @@ -0,0 +1,340 @@ + + + \ No newline at end of file diff --git a/src/components/retail/PersonalPayment.vue b/src/components/retail/PersonalPayment.vue new file mode 100644 index 0000000..a8cd328 --- /dev/null +++ b/src/components/retail/PersonalPayment.vue @@ -0,0 +1,140 @@ + + + \ No newline at end of file diff --git a/src/components/retail/PurchaseHistory.vue b/src/components/retail/PurchaseHistory.vue new file mode 100644 index 0000000..70a6f2c --- /dev/null +++ b/src/components/retail/PurchaseHistory.vue @@ -0,0 +1,82 @@ + + + \ No newline at end of file diff --git a/src/components/retail/RetailAssociationDetail.vue b/src/components/retail/RetailAssociationDetail.vue new file mode 100644 index 0000000..b206228 --- /dev/null +++ b/src/components/retail/RetailAssociationDetail.vue @@ -0,0 +1,81 @@ + + + \ No newline at end of file diff --git a/src/components/retail/Settlement.vue b/src/components/retail/Settlement.vue new file mode 100644 index 0000000..4cc0202 --- /dev/null +++ b/src/components/retail/Settlement.vue @@ -0,0 +1,198 @@ + + + + + + + \ No newline at end of file diff --git a/src/components/retail/TraceabilityCodeAdd.vue b/src/components/retail/TraceabilityCodeAdd.vue new file mode 100644 index 0000000..273a60b --- /dev/null +++ b/src/components/retail/TraceabilityCodeAdd.vue @@ -0,0 +1,229 @@ + + + \ No newline at end of file diff --git a/src/components/retail/VipSearch.vue b/src/components/retail/VipSearch.vue new file mode 100644 index 0000000..eacce76 --- /dev/null +++ b/src/components/retail/VipSearch.vue @@ -0,0 +1,275 @@ + + + + + \ No newline at end of file diff --git a/src/components/retail/WholeOrderNegotiation.vue b/src/components/retail/WholeOrderNegotiation.vue new file mode 100644 index 0000000..9b15fa5 --- /dev/null +++ b/src/components/retail/WholeOrderNegotiation.vue @@ -0,0 +1,168 @@ + + + \ No newline at end of file diff --git a/src/components/settings/AddProject.vue b/src/components/settings/AddProject.vue new file mode 100644 index 0000000..b0816fe --- /dev/null +++ b/src/components/settings/AddProject.vue @@ -0,0 +1,132 @@ + + + \ No newline at end of file diff --git a/src/components/settings/ItemEdit.vue b/src/components/settings/ItemEdit.vue new file mode 100644 index 0000000..2cc63c8 --- /dev/null +++ b/src/components/settings/ItemEdit.vue @@ -0,0 +1,159 @@ + + + \ No newline at end of file diff --git a/src/components/settings/List.vue b/src/components/settings/List.vue new file mode 100644 index 0000000..6291eb0 --- /dev/null +++ b/src/components/settings/List.vue @@ -0,0 +1,39 @@ + + + + + \ No newline at end of file diff --git a/src/components/settings/ListChild.vue b/src/components/settings/ListChild.vue new file mode 100644 index 0000000..58cec08 --- /dev/null +++ b/src/components/settings/ListChild.vue @@ -0,0 +1,57 @@ + + + + + \ No newline at end of file diff --git a/src/components/settings/MemberEdit.vue b/src/components/settings/MemberEdit.vue new file mode 100644 index 0000000..2a8af28 --- /dev/null +++ b/src/components/settings/MemberEdit.vue @@ -0,0 +1,217 @@ + + + \ No newline at end of file diff --git a/src/components/settings/Search.vue b/src/components/settings/Search.vue new file mode 100644 index 0000000..9d8cd8d --- /dev/null +++ b/src/components/settings/Search.vue @@ -0,0 +1,230 @@ + + + diff --git a/src/components/settings/SectionEdit.vue b/src/components/settings/SectionEdit.vue new file mode 100644 index 0000000..61263af --- /dev/null +++ b/src/components/settings/SectionEdit.vue @@ -0,0 +1,198 @@ + + + \ No newline at end of file diff --git a/src/components/settings/SetMenu.vue b/src/components/settings/SetMenu.vue new file mode 100644 index 0000000..1a0893b --- /dev/null +++ b/src/components/settings/SetMenu.vue @@ -0,0 +1,204 @@ + + + diff --git a/src/components/social/inventoryUp/List_3501.vue b/src/components/social/inventoryUp/List_3501.vue new file mode 100644 index 0000000..ceee360 --- /dev/null +++ b/src/components/social/inventoryUp/List_3501.vue @@ -0,0 +1,134 @@ + + + + + \ No newline at end of file diff --git a/src/components/social/inventoryUp/List_3502.vue b/src/components/social/inventoryUp/List_3502.vue new file mode 100644 index 0000000..13e6ff6 --- /dev/null +++ b/src/components/social/inventoryUp/List_3502.vue @@ -0,0 +1,225 @@ + + + + + \ No newline at end of file diff --git a/src/components/social/inventoryUp/List_3503.vue b/src/components/social/inventoryUp/List_3503.vue new file mode 100644 index 0000000..fffec36 --- /dev/null +++ b/src/components/social/inventoryUp/List_3503.vue @@ -0,0 +1,187 @@ + + + + \ No newline at end of file diff --git a/src/components/social/inventoryUp/List_3505.vue b/src/components/social/inventoryUp/List_3505.vue new file mode 100644 index 0000000..b0f20ad --- /dev/null +++ b/src/components/social/inventoryUp/List_3505.vue @@ -0,0 +1,114 @@ + + + + + + \ No newline at end of file diff --git a/src/components/social/reconciliation/DetailList.vue b/src/components/social/reconciliation/DetailList.vue new file mode 100644 index 0000000..ca986be --- /dev/null +++ b/src/components/social/reconciliation/DetailList.vue @@ -0,0 +1,99 @@ + + + + + \ No newline at end of file diff --git a/src/components/social/reconciliation/ReversalEdit.vue b/src/components/social/reconciliation/ReversalEdit.vue new file mode 100644 index 0000000..463e627 --- /dev/null +++ b/src/components/social/reconciliation/ReversalEdit.vue @@ -0,0 +1,99 @@ + + + \ No newline at end of file diff --git a/src/components/statistics/over/Charge.vue b/src/components/statistics/over/Charge.vue new file mode 100644 index 0000000..78197fb --- /dev/null +++ b/src/components/statistics/over/Charge.vue @@ -0,0 +1,120 @@ + + + \ No newline at end of file diff --git a/src/components/statistics/over/ChargeDetail.vue b/src/components/statistics/over/ChargeDetail.vue new file mode 100644 index 0000000..6f9f1f0 --- /dev/null +++ b/src/components/statistics/over/ChargeDetail.vue @@ -0,0 +1,266 @@ + + + \ No newline at end of file diff --git a/src/components/statistics/over/ChargeMan.vue b/src/components/statistics/over/ChargeMan.vue new file mode 100644 index 0000000..ed30559 --- /dev/null +++ b/src/components/statistics/over/ChargeMan.vue @@ -0,0 +1,82 @@ + + + \ No newline at end of file diff --git a/src/components/statistics/over/Retail.vue b/src/components/statistics/over/Retail.vue new file mode 100644 index 0000000..b9e20da --- /dev/null +++ b/src/components/statistics/over/Retail.vue @@ -0,0 +1,216 @@ + + + \ No newline at end of file diff --git a/src/components/statistics/over/Revenue.vue b/src/components/statistics/over/Revenue.vue new file mode 100644 index 0000000..2593171 --- /dev/null +++ b/src/components/statistics/over/Revenue.vue @@ -0,0 +1,522 @@ + + + + + diff --git a/src/components/statistics/record/MemberRecharge.vue b/src/components/statistics/record/MemberRecharge.vue new file mode 100644 index 0000000..39517e2 --- /dev/null +++ b/src/components/statistics/record/MemberRecharge.vue @@ -0,0 +1,169 @@ + + + \ No newline at end of file diff --git a/src/components/statistics/record/Sales.vue b/src/components/statistics/record/Sales.vue new file mode 100644 index 0000000..7cd5c59 --- /dev/null +++ b/src/components/statistics/record/Sales.vue @@ -0,0 +1,189 @@ + + + \ No newline at end of file diff --git a/src/main.ts b/src/main.ts new file mode 100644 index 0000000..75904d9 --- /dev/null +++ b/src/main.ts @@ -0,0 +1,26 @@ +import './assets/scss/main.scss' + +import {createApp} from 'vue' +import ElementPlus from 'element-plus' +import 'element-plus/dist/index.css' +import {createPinia} from 'pinia' + +import App from './App.vue' +import router from './router' +import {initRequest} from "@/utils/request.ts"; +import zhCn from "element-plus/es/locale/lang/zh-cn"; + +const app = createApp(App) + +app.use(createPinia()) + +app.use(ElementPlus, { + locale: zhCn, +}) +app.use(router) + +initRequest(router).then(() => { + app.mount('#app') +}) + + diff --git a/src/router/index.ts b/src/router/index.ts new file mode 100644 index 0000000..16e62c5 --- /dev/null +++ b/src/router/index.ts @@ -0,0 +1,181 @@ +import {createRouter, createWebHistory} from 'vue-router' + +const router = createRouter({ + history: createWebHistory(import.meta.env.BASE_URL), + routes: [ + { + path: '/', + redirect: '/home/index', + }, + { + path: '/home', + component: () => import('../views/Layout.vue'), + children: [ + { + path: "", + redirect: "/home/index", + }, + { + path: "index", + component: () => import('../views/home/index.vue'), + }, + { + path: "sectionList", + component: () => import('../views/home/SectionList.vue'), + }, + + ] + }, + { + path: '/inventory', + component: () => import('../views/LayoutInventory.vue'), + children: [ + { + path: "", + redirect: "/inventory/goods", + }, + { + path: "goods", + component: () => import('../views/inventory/goods.vue'), + }, + { + path: "inventory", + component: () => import('../views/inventory/inventory.vue'), + }, + { + path: "apply", + component: () => import('../views/inventory/apply.vue'), + }, + { + path: "check", + component: () => import('../views/inventory/check.vue'), + }, + { + path: "supplier", + component: () => import('../views/inventory/supplier.vue'), + }, + ] + }, + { + path: '/member', + component: () => import('../views/Layout.vue'), + children: [ + { + path: "", + redirect: "/member/index", + }, + { + path: "index", + component: () => import('../views/member/index.vue'), + } + ] + }, + { + path: '/registration', + component: () => import('../views/Layout.vue'), + children: [ + { + path: "", + redirect: "/registration/index", + }, + { + path: "index", + component: () => import('../views/registration/index.vue'), + } + ] + }, + { + path: '/outpatient', + component: () => import('../views/Layout.vue'), + children: [ + { + path: "", + redirect: "/outpatient/index", + }, + { + path: "index", + component: () => import('../views/outpatient/index.vue'), + } + ] + }, + { + path: '/charge', + component: () => import('../views/Layout.vue'), + children: [ + { + path: "", + redirect: "/charge/index", + }, + { + path: "index", + component: () => import('../views/charge/index.vue'), + } + ] + }, + { + path: '/social', + component: () => import('../views/Layout.vue'), + children: [ + { + path: "", + redirect: "/social/index", + }, + { + path: "index", + component: () => import('../views/social/directory.vue'), + } + ] + }, + { + path: '/statistics', + component: () => import('../views/Layout.vue'), + children: [ + { + path: "", + redirect: "/statistics/index", + }, + { + path: "index", + component: () => import('../views/statistics/overView.vue'), + } + ] + }, + { + path: '/settings', + component: () => import('../views/LayoutSetting.vue'), + children: [ + { + path: "", + redirect: "/settings/index", + }, + { + path: "index", + component: () => import('../views/settings/index.vue'), + }, + { + path: "section", + component: () => import('../views/settings/section.vue'), + }, + { + path: "member", + component: () => import('../views/settings/member.vue'), + }, + { + path: "item", + component: () => import('../views/settings/item.vue'), + }, + { + path: "print", + component: () => import('../views/settings/print.vue'), + }, + { + path: "log", + component: () => import('../views/settings/log.vue'), + }, + ] + }, + + ], +}) + +export default router diff --git a/src/stores/counter.ts b/src/stores/counter.ts new file mode 100644 index 0000000..b6757ba --- /dev/null +++ b/src/stores/counter.ts @@ -0,0 +1,12 @@ +import { ref, computed } from 'vue' +import { defineStore } from 'pinia' + +export const useCounterStore = defineStore('counter', () => { + const count = ref(0) + const doubleCount = computed(() => count.value * 2) + function increment() { + count.value++ + } + + return { count, doubleCount, increment } +}) diff --git a/src/stores/wsStore.ts b/src/stores/wsStore.ts new file mode 100644 index 0000000..2d42bda --- /dev/null +++ b/src/stores/wsStore.ts @@ -0,0 +1,34 @@ +import { defineStore } from 'pinia'; +import { wsInit, wsSend, wsSetMessageCallback,wsRemoveMessageCallback,wsRemoveAllMessageCallback,wsClose, type Response, type Request } from '@/utils/ws'; + +export const useWsStore = defineStore('ws', { + state: () => ({ + isConnected: false, + lastMessage: null as Response | null, + }), + actions: { + initWebSocket(funish: () => void) { + wsInit(funish); + this.isConnected = true; + }, + setMessageCallback(onMessage: (response: Response) => void) { + wsSetMessageCallback(onMessage); + }, + removeMessageCallback(onMessage: (response: Response) => void) { + wsRemoveMessageCallback(onMessage); + }, + removeAllMessageCallback() { + wsRemoveAllMessageCallback(); + }, + + sendMessage(request: Request) { + wsSend(request); + }, + + closeWebSocket() { + wsClose(); + this.isConnected = false; + }, + + }, +}); diff --git a/src/utils/config.ts b/src/utils/config.ts new file mode 100644 index 0000000..ff7e370 --- /dev/null +++ b/src/utils/config.ts @@ -0,0 +1,8 @@ +let appConfig: any = null; +export async function loadConfig() { + if (!appConfig) { + const response = await fetch('/config.json?v=' + Date.now()); + appConfig = await response.json(); + } + return appConfig; +} \ No newline at end of file diff --git a/src/utils/dateUtils.ts b/src/utils/dateUtils.ts new file mode 100644 index 0000000..0d39256 --- /dev/null +++ b/src/utils/dateUtils.ts @@ -0,0 +1,97 @@ +export const formatDate = (date: Date|string): any => { + if (date === undefined || date === null) { + return '-'; + } + + let dateDetail: Date; + + if (date instanceof Date) { + dateDetail = date; + } else { + dateDetail = new Date(date as string); + if (isNaN(dateDetail.getTime())) { + return '-'; + } + } + + const year = dateDetail.getFullYear(); + const month = String(dateDetail.getMonth() + 1).padStart(2, '0'); + const day = String(dateDetail.getDate()).padStart(2, '0'); + const hours = String(dateDetail.getHours()).padStart(2, '0'); + const minutes = String(dateDetail.getMinutes()).padStart(2, '0'); + const seconds = String(dateDetail.getSeconds()).padStart(2, '0'); + + return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; +}; +export const formatTime = (date: any) => { + let dateDetail: Date; + if (date instanceof Date) { + dateDetail = date; + } else if (typeof date === 'string') { + dateDetail = new Date(date); + if (isNaN(dateDetail.getTime())) { + console.error(`Invalid date string: ${date}`); + return '-'; + } + } else { + console.error(`Invalid date type: ${typeof date}`); + return '-'; + } + const hours = dateDetail.getHours(); + const minutes = String(dateDetail.getMinutes()).padStart(2, '0'); + const seconds = String(dateDetail.getSeconds()).padStart(2, '0'); + const period = hours >= 12 ? '下午' : '上午'; + const formattedHours = String(hours % 12 || 12).padStart(2, '0'); // 将24小时制转换为12小时制 + + return `${period} ${formattedHours}:${minutes}:${seconds}`; +} + + +export const formatDateArray = (dates: Date[]): string[] => { + return dates.map(date => formatDate(date)); +}; + +export const getToday = () => { + const today = new Date(); + return { start: formatDate(new Date(today.setHours(0, 0, 0, 0))), end: formatDate(new Date(today.setHours(23, 59, 59, 999))) }; +}; + +export const getYesterday = () => { + const yesterday = new Date(); + yesterday.setDate(yesterday.getDate() - 1); + return { start: formatDate(new Date(yesterday.setHours(0, 0, 0, 0))), end: formatDate(new Date(yesterday.setHours(23, 59, 59, 999))) }; +}; + +export const getTomorrow = () => { + const tomorrow = new Date(); + tomorrow.setDate(tomorrow.getDate() + 1); + return { start: formatDate(new Date(tomorrow.setHours(0, 0, 0, 0))), end: formatDate(new Date(tomorrow.setHours(23, 59, 59, 999))) }; +}; + +export const getThisWeek = () => { + const today = new Date(); + const startOfWeek = new Date(today.setDate(today.getDate() - today.getDay())); + const endOfWeek = new Date(today.setDate(today.getDate() - today.getDay() + 6)); + return { start: formatDate(new Date(startOfWeek.setHours(0, 0, 0, 0))), end: formatDate(new Date(endOfWeek.setHours(23, 59, 59, 999))) }; +}; + +export const getThisMonth = () => { + const today = new Date(); + const startOfMonth = new Date(today.getFullYear(), today.getMonth(), 1); + const endOfMonth = new Date(today.getFullYear(), today.getMonth() + 1, 0); + return { start: formatDate(new Date(startOfMonth.setHours(0, 0, 0, 0))), end: formatDate(new Date(endOfMonth.setHours(23, 59, 59, 999))) }; +}; + +export const getDaysBetweenDates = (startDateStr: string, endDateStr: string): string[] => { + const startDate = new Date(startDateStr); + const endDate = new Date(endDateStr); + const days: string[] = []; + let currentDate = new Date(startDate); + + while (currentDate <= endDate) { + days.push(formatDate(currentDate).split(' ')[0]); + currentDate.setDate(currentDate.getDate() + 1); + } + + return days; +}; diff --git a/src/utils/discrotyUtil.ts b/src/utils/discrotyUtil.ts new file mode 100644 index 0000000..c5a7738 --- /dev/null +++ b/src/utils/discrotyUtil.ts @@ -0,0 +1,6 @@ +export function getKey(map: any, key: any) { + if (Object.keys(map).length === 0) { + return "未知"; + } + return map[key] !== undefined ? map[key] : "未知"; +} diff --git a/src/utils/request.ts b/src/utils/request.ts new file mode 100644 index 0000000..9248fd2 --- /dev/null +++ b/src/utils/request.ts @@ -0,0 +1,77 @@ +import axios from "axios"; +import {ElMessage, ElNotification} from 'element-plus' +import {loadConfig} from './config.ts' +let globalConfig: any = null +let router; +// 添加初始化方法(在应用启动时调用) +export async function initRequest(_router:any) { + globalConfig = await loadConfig() + router=_router +} +function post(path: string, data: any = {}, options: any = {}) { + let config={catch_error: false,base_url:globalConfig.base_url} + config={...config,...options} + + let token = localStorage.getItem('token'); + let headers: Record = {}; + if (token) { + headers['Authorization'] = token; // 推荐Bearer认证模式 + } + return new Promise((resolve, reject) => { + axios.post(config.base_url + path, data,{ + headers: headers // 添加headers配置 + }) + .then(response => { + if (response.status != 200) { + show_error("请求失败,请稍后重试"); + if (config.catch_error) { + reject("请求失败,请稍后重试"); + } + return; + } + let data = response.data; + if (data.code == 0) { + resolve(data.data); + } + else if (data.code == 301) { + router.push('/manager/login') + return; + } + else{ + show_error(data.message); + if (config.catch_error) { + reject(data.message); + } + return; + } + + }) + .catch(error => { + // 可以在这里添加通知,例如使用 ElNotification + show_error("请求异常,请稍后重试") + console.error(error) + if(config.catch_error){ + reject(error); + } + + }); + }) + + +} + +function show_error(mes: any): void { + // ElNotification({ + // title: '错误', + // message: mes, + // type: 'error', + // }) + ElMessage({ + message: mes, + type: 'error', + }) +} + +export { + post +}; diff --git a/src/utils/unitList.ts b/src/utils/unitList.ts new file mode 100644 index 0000000..6d291b1 --- /dev/null +++ b/src/utils/unitList.ts @@ -0,0 +1,15 @@ +const dosageUnitList = + ["g", "mg", "ug", "ng" + , "L", "ml", "ul", "nl", + "s", "u", "万u", "IU", + "万IU", "Bq", "kBq", "GBq", + "MBq", "LSU", "PNA单位", "片", + "粒", "丸", "喷", "适量", + "单位"] +const packagingUnit = [ + "片", "颗", "粒", "支", "只", "丸", "枚", "张", "贴", "条", + "根", "板", "块", "滴", "揿", "盒", "瓶", "杯", "袋", + "包", "桶", "罐", "盆", "箱", "件", "泡", "喷", "吸", "付", + "副", "对", "份", "锭", "膜", "管", "g", "mg", "ml", "IU", +]; +export { dosageUnitList, packagingUnit} \ No newline at end of file diff --git a/src/utils/ws.ts b/src/utils/ws.ts new file mode 100644 index 0000000..6a00062 --- /dev/null +++ b/src/utils/ws.ts @@ -0,0 +1,85 @@ +import { ElMessageBox, ElMessage } from 'element-plus'; // 引入 ElementPlus 的 ElMessageBox 和 ElMessage 组件 + +let socket: WebSocket | null = null; +let reconnectAttempts = 0; // 重连次数计数器 +const reconnectInterval = 3000; // 重连间隔时间,单位毫秒 +let onMessageList = [] as ((response: Response) => void)[]; +interface Response { + Code: number; + Message: string; + Data: any; +} + +interface Request { + type: string; + data: any; + config?: any; +} + +// 初始化 WebSocket 连接 +const wsInit = (finish: () => void) => { + // 如果已经存在一个WebSocket连接,先关闭它 + if (socket && socket.readyState === WebSocket.OPEN) { + socket.close(); + } + socket = new WebSocket('ws://localhost:8090'); + socket.addEventListener('open', (event) => { + console.log('WebSocket连接已打开'); + finish(); + reconnectAttempts = 0; // 连接成功后重置重连计数器 + }); + + // 监听错误事件 + socket.addEventListener('error', (event) => { + console.log('WebSocket连接失败'); + }); + socket.addEventListener('message', (event) => { + console.log('收到服务器消息:', event.data); + let parsedMessage: Response = JSON.parse(event.data); + onMessageList.forEach(callback => { + callback(parsedMessage); + }); + }); + socket.onerror = (e) => e.stopImmediatePropagation(); + // 监听连接关闭事件 + socket.addEventListener('close', (event) => { + console.log("websocket连接异常") + }); +}; + +// 设置消息回调函数 +const wsSetMessageCallback = (onMessage: (response: Response) => void) => { + onMessageList.push(onMessage) +}; +const wsRemoveMessageCallback = (onMessage: (response: Response) => void) => { + onMessageList = onMessageList.filter(callback => callback !== onMessage); +}; +const wsRemoveAllMessageCallback = () => { + onMessageList = []; +}; +const wsSend = (request: Request) => { + if (socket && socket.readyState === WebSocket.OPEN) { + socket.send(JSON.stringify(request)); + } else { + wsInit(()=>{ + wsSend(request); + }) + } +}; + +const wsClose = () => { + if (socket) { + socket.close(); + } +}; + +export { + wsInit, + wsSetMessageCallback, + wsRemoveAllMessageCallback, + wsRemoveMessageCallback, + wsSend, + wsClose, + type Response, + type Request, +}; \ No newline at end of file diff --git a/src/views/Layout.vue b/src/views/Layout.vue new file mode 100644 index 0000000..9ded5df --- /dev/null +++ b/src/views/Layout.vue @@ -0,0 +1,23 @@ + + + + + + \ No newline at end of file diff --git a/src/views/LayoutInventory.vue b/src/views/LayoutInventory.vue new file mode 100644 index 0000000..705b77f --- /dev/null +++ b/src/views/LayoutInventory.vue @@ -0,0 +1,79 @@ + + + + + + \ No newline at end of file diff --git a/src/views/LayoutSetting.vue b/src/views/LayoutSetting.vue new file mode 100644 index 0000000..ed09206 --- /dev/null +++ b/src/views/LayoutSetting.vue @@ -0,0 +1,83 @@ + + + + + + \ No newline at end of file diff --git a/src/views/charge/index.vue b/src/views/charge/index.vue new file mode 100644 index 0000000..e9db921 --- /dev/null +++ b/src/views/charge/index.vue @@ -0,0 +1,234 @@ + + + + \ No newline at end of file diff --git a/src/views/home/111.vue b/src/views/home/111.vue new file mode 100644 index 0000000..eafeb4b --- /dev/null +++ b/src/views/home/111.vue @@ -0,0 +1,682 @@ + + + \ No newline at end of file diff --git a/src/views/home/SectionList.vue b/src/views/home/SectionList.vue new file mode 100644 index 0000000..96110c1 --- /dev/null +++ b/src/views/home/SectionList.vue @@ -0,0 +1,44 @@ + + + + \ No newline at end of file diff --git a/src/views/home/index.vue b/src/views/home/index.vue new file mode 100644 index 0000000..f9884ba --- /dev/null +++ b/src/views/home/index.vue @@ -0,0 +1,679 @@ + + + \ No newline at end of file diff --git a/src/views/inventory/apply.vue b/src/views/inventory/apply.vue new file mode 100644 index 0000000..5964151 --- /dev/null +++ b/src/views/inventory/apply.vue @@ -0,0 +1,128 @@ + + + + \ No newline at end of file diff --git a/src/views/inventory/check.vue b/src/views/inventory/check.vue new file mode 100644 index 0000000..9c30d31 --- /dev/null +++ b/src/views/inventory/check.vue @@ -0,0 +1,121 @@ + + + \ No newline at end of file diff --git a/src/views/inventory/goods.vue b/src/views/inventory/goods.vue new file mode 100644 index 0000000..ff2ad2e --- /dev/null +++ b/src/views/inventory/goods.vue @@ -0,0 +1,441 @@ + + + \ No newline at end of file diff --git a/src/views/inventory/inventory.vue b/src/views/inventory/inventory.vue new file mode 100644 index 0000000..c47c076 --- /dev/null +++ b/src/views/inventory/inventory.vue @@ -0,0 +1,199 @@ + + + + \ No newline at end of file diff --git a/src/views/inventory/supplier.vue b/src/views/inventory/supplier.vue new file mode 100644 index 0000000..3c12e48 --- /dev/null +++ b/src/views/inventory/supplier.vue @@ -0,0 +1,146 @@ + + + \ No newline at end of file diff --git a/src/views/member/index.vue b/src/views/member/index.vue new file mode 100644 index 0000000..d867d9c --- /dev/null +++ b/src/views/member/index.vue @@ -0,0 +1,569 @@ + + + \ No newline at end of file diff --git a/src/views/outpatient/index.vue b/src/views/outpatient/index.vue new file mode 100644 index 0000000..44007a8 --- /dev/null +++ b/src/views/outpatient/index.vue @@ -0,0 +1,209 @@ + + + \ No newline at end of file diff --git a/src/views/registration/index.vue b/src/views/registration/index.vue new file mode 100644 index 0000000..032644e --- /dev/null +++ b/src/views/registration/index.vue @@ -0,0 +1,178 @@ + + + \ No newline at end of file diff --git a/src/views/settings/index.vue b/src/views/settings/index.vue new file mode 100644 index 0000000..aa43bdc --- /dev/null +++ b/src/views/settings/index.vue @@ -0,0 +1,126 @@ + + + + diff --git a/src/views/settings/item.vue b/src/views/settings/item.vue new file mode 100644 index 0000000..e87f07d --- /dev/null +++ b/src/views/settings/item.vue @@ -0,0 +1,211 @@ + + + \ No newline at end of file diff --git a/src/views/settings/log.vue b/src/views/settings/log.vue new file mode 100644 index 0000000..debd3a0 --- /dev/null +++ b/src/views/settings/log.vue @@ -0,0 +1,11 @@ + + + \ No newline at end of file diff --git a/src/views/settings/member.vue b/src/views/settings/member.vue new file mode 100644 index 0000000..9aa9eee --- /dev/null +++ b/src/views/settings/member.vue @@ -0,0 +1,106 @@ + + + \ No newline at end of file diff --git a/src/views/settings/print.vue b/src/views/settings/print.vue new file mode 100644 index 0000000..511542c --- /dev/null +++ b/src/views/settings/print.vue @@ -0,0 +1,11 @@ + + + \ No newline at end of file diff --git a/src/views/settings/section.vue b/src/views/settings/section.vue new file mode 100644 index 0000000..1326897 --- /dev/null +++ b/src/views/settings/section.vue @@ -0,0 +1,84 @@ + + + \ No newline at end of file diff --git a/src/views/social/accountRecords.vue b/src/views/social/accountRecords.vue new file mode 100644 index 0000000..14a6990 --- /dev/null +++ b/src/views/social/accountRecords.vue @@ -0,0 +1,91 @@ + + + \ No newline at end of file diff --git a/src/views/social/costRecord.vue b/src/views/social/costRecord.vue new file mode 100644 index 0000000..0f404ff --- /dev/null +++ b/src/views/social/costRecord.vue @@ -0,0 +1,65 @@ + + + \ No newline at end of file diff --git a/src/views/social/directory.vue b/src/views/social/directory.vue new file mode 100644 index 0000000..cf1c20b --- /dev/null +++ b/src/views/social/directory.vue @@ -0,0 +1,209 @@ + + + + + \ No newline at end of file diff --git a/src/views/social/inventoryUp.vue b/src/views/social/inventoryUp.vue new file mode 100644 index 0000000..5fb40fd --- /dev/null +++ b/src/views/social/inventoryUp.vue @@ -0,0 +1,148 @@ + + + + + \ No newline at end of file diff --git a/src/views/social/update.vue b/src/views/social/update.vue new file mode 100644 index 0000000..69f9e1d --- /dev/null +++ b/src/views/social/update.vue @@ -0,0 +1,304 @@ + + + + + \ No newline at end of file diff --git a/src/views/statistics/index.vue b/src/views/statistics/index.vue new file mode 100644 index 0000000..89b1f33 --- /dev/null +++ b/src/views/statistics/index.vue @@ -0,0 +1,11 @@ + + + + + \ No newline at end of file diff --git a/src/views/statistics/overView.vue b/src/views/statistics/overView.vue new file mode 100644 index 0000000..e283741 --- /dev/null +++ b/src/views/statistics/overView.vue @@ -0,0 +1,45 @@ + + + + + \ No newline at end of file diff --git a/src/views/statistics/recordView.vue b/src/views/statistics/recordView.vue new file mode 100644 index 0000000..335dde7 --- /dev/null +++ b/src/views/statistics/recordView.vue @@ -0,0 +1,26 @@ + + + \ No newline at end of file diff --git a/tsconfig.app.json b/tsconfig.app.json new file mode 100644 index 0000000..913b8f2 --- /dev/null +++ b/tsconfig.app.json @@ -0,0 +1,12 @@ +{ + "extends": "@vue/tsconfig/tsconfig.dom.json", + "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], + "exclude": ["src/**/__tests__/*"], + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", + + "paths": { + "@/*": ["./src/*"] + } + } +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..66b5e57 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,11 @@ +{ + "files": [], + "references": [ + { + "path": "./tsconfig.node.json" + }, + { + "path": "./tsconfig.app.json" + } + ] +} diff --git a/tsconfig.node.json b/tsconfig.node.json new file mode 100644 index 0000000..a83dfc9 --- /dev/null +++ b/tsconfig.node.json @@ -0,0 +1,19 @@ +{ + "extends": "@tsconfig/node22/tsconfig.json", + "include": [ + "vite.config.*", + "vitest.config.*", + "cypress.config.*", + "nightwatch.conf.*", + "playwright.config.*", + "eslint.config.*" + ], + "compilerOptions": { + "noEmit": true, + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", + + "module": "ESNext", + "moduleResolution": "Bundler", + "types": ["node"] + } +} diff --git a/vite.config.ts b/vite.config.ts new file mode 100644 index 0000000..4217010 --- /dev/null +++ b/vite.config.ts @@ -0,0 +1,18 @@ +import { fileURLToPath, URL } from 'node:url' + +import { defineConfig } from 'vite' +import vue from '@vitejs/plugin-vue' +import vueDevTools from 'vite-plugin-vue-devtools' + +// https://vite.dev/config/ +export default defineConfig({ + plugins: [ + vue(), + vueDevTools(), + ], + resolve: { + alias: { + '@': fileURLToPath(new URL('./src', import.meta.url)) + }, + }, +})