diff --git a/README.md b/README.md
index 6c9636d..7f724e2 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,3 @@
-# template-h5
-
+# Pan.Template.H5
+
+h5底版
\ No newline at end of file
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..6098820
--- /dev/null
+++ b/index.html
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+
+ 素材网
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
new file mode 100644
index 0000000..8ed0fc4
--- /dev/null
+++ b/package-lock.json
@@ -0,0 +1,2841 @@
+{
+ "name": "pan.template.h5",
+ "version": "0.0.0",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "pan.template.h5",
+ "version": "0.0.0",
+ "dependencies": {
+ "@element-plus/icons-vue": "^2.3.1",
+ "axios": "^1.7.9",
+ "canvas2image": "^1.0.5",
+ "element-plus": "^2.9.4",
+ "html2canvas": "^1.4.1",
+ "jquery": "^3.7.1",
+ "pan.template.h5": "file:",
+ "postcss-px-to-viewport": "^1.1.1",
+ "vant": "^4.9.9",
+ "vue": "^3.2.45",
+ "vue-fast-marquee": "^1.0.6",
+ "vue-qr": "^4.0.9",
+ "vue-router": "^4.5.0",
+ "vuex": "^4.1.0"
+ },
+ "devDependencies": {
+ "@types/node": "^22.10.5",
+ "@vant/auto-import-resolver": "^1.0.1",
+ "@vitejs/plugin-vue": "^4.3.4",
+ "less": "^4.2.0",
+ "unplugin-auto-import": "^19.1.0",
+ "unplugin-vue-components": "^0.25.2",
+ "vite": "^4.5.5"
+ }
+ },
+ "node_modules/@antfu/utils": {
+ "version": "0.7.10",
+ "resolved": "https://registry.npmmirror.com/@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/helper-string-parser": {
+ "version": "7.29.7",
+ "resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.29.7.tgz",
+ "integrity": "sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-validator-identifier": {
+ "version": "7.29.7",
+ "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz",
+ "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/parser": {
+ "version": "7.29.7",
+ "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.29.7.tgz",
+ "integrity": "sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.29.7"
+ },
+ "bin": {
+ "parser": "bin/babel-parser.js"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@babel/types": {
+ "version": "7.29.7",
+ "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.29.7.tgz",
+ "integrity": "sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-string-parser": "^7.29.7",
+ "@babel/helper-validator-identifier": "^7.29.7"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@ctrl/tinycolor": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmmirror.com/@ctrl/tinycolor/-/tinycolor-4.2.0.tgz",
+ "integrity": "sha512-kzyuwOAQnXJNLS9PSyrk0CWk35nWJW/zl/6KvnTBMFK65gm7U1/Z5BqjxeapjZCIhQcM/DsrEmcbRwDyXyXK4A==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/@element-plus/icons-vue": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.3.2.tgz",
+ "integrity": "sha512-OzIuTaIfC8QXEPmJvB4Y4kw34rSXdCJzxcD1kFStBvr8bK6X1zQAYDo0CNMjojnfTqRQCJ0I7prlErcoRiET2A==",
+ "license": "MIT",
+ "peerDependencies": {
+ "vue": "^3.2.0"
+ }
+ },
+ "node_modules/@esbuild/android-arm": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.18.20.tgz",
+ "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/android-arm64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz",
+ "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/android-x64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.18.20.tgz",
+ "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/darwin-arm64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz",
+ "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/darwin-x64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz",
+ "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/freebsd-arm64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz",
+ "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/freebsd-x64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz",
+ "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-arm": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz",
+ "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-arm64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz",
+ "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-ia32": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz",
+ "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-loong64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz",
+ "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==",
+ "cpu": [
+ "loong64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-mips64el": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz",
+ "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==",
+ "cpu": [
+ "mips64el"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-ppc64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz",
+ "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-riscv64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz",
+ "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-s390x": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz",
+ "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-x64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz",
+ "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/netbsd-x64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz",
+ "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/openbsd-x64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz",
+ "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/sunos-x64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz",
+ "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "sunos"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/win32-arm64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz",
+ "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/win32-ia32": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz",
+ "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/win32-x64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz",
+ "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@floating-ui/core": {
+ "version": "1.7.5",
+ "resolved": "https://registry.npmmirror.com/@floating-ui/core/-/core-1.7.5.tgz",
+ "integrity": "sha512-1Ih4WTWyw0+lKyFMcBHGbb5U5FtuHJuujoyyr5zTaWS5EYMeT6Jb2AuDeftsCsEuchO+mM2ij5+q9crhydzLhQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@floating-ui/utils": "^0.2.11"
+ }
+ },
+ "node_modules/@floating-ui/dom": {
+ "version": "1.7.6",
+ "resolved": "https://registry.npmmirror.com/@floating-ui/dom/-/dom-1.7.6.tgz",
+ "integrity": "sha512-9gZSAI5XM36880PPMm//9dfiEngYoC6Am2izES1FF406YFsjvyBMmeJ2g4SAju3xWwtuynNRFL2s9hgxpLI5SQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@floating-ui/core": "^1.7.5",
+ "@floating-ui/utils": "^0.2.11"
+ }
+ },
+ "node_modules/@floating-ui/utils": {
+ "version": "0.2.11",
+ "resolved": "https://registry.npmmirror.com/@floating-ui/utils/-/utils-0.2.11.tgz",
+ "integrity": "sha512-RiB/yIh78pcIxl6lLMG0CgBXAZ2Y0eVHqMPYugu+9U0AeT6YBeiJpf7lbdJNIugFP5SIjwNRgo4DhR1Qxi26Gg==",
+ "license": "MIT"
+ },
+ "node_modules/@jridgewell/gen-mapping": {
+ "version": "0.3.13",
+ "resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz",
+ "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/sourcemap-codec": "^1.5.0",
+ "@jridgewell/trace-mapping": "^0.3.24"
+ }
+ },
+ "node_modules/@jridgewell/remapping": {
+ "version": "2.3.5",
+ "resolved": "https://registry.npmmirror.com/@jridgewell/remapping/-/remapping-2.3.5.tgz",
+ "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.24"
+ }
+ },
+ "node_modules/@jridgewell/resolve-uri": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
+ "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/sourcemap-codec": {
+ "version": "1.5.5",
+ "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz",
+ "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==",
+ "license": "MIT"
+ },
+ "node_modules/@jridgewell/trace-mapping": {
+ "version": "0.3.31",
+ "resolved": "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz",
+ "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/resolve-uri": "^3.1.0",
+ "@jridgewell/sourcemap-codec": "^1.4.14"
+ }
+ },
+ "node_modules/@nodelib/fs.scandir": {
+ "version": "2.1.5",
+ "resolved": "https://registry.npmmirror.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
+ "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@nodelib/fs.stat": "2.0.5",
+ "run-parallel": "^1.1.9"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.stat": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmmirror.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
+ "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.walk": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmmirror.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
+ "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@nodelib/fs.scandir": "2.1.5",
+ "fastq": "^1.6.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@popperjs/core": {
+ "name": "@sxzz/popperjs-es",
+ "version": "2.11.8",
+ "resolved": "https://registry.npmmirror.com/@sxzz/popperjs-es/-/popperjs-es-2.11.8.tgz",
+ "integrity": "sha512-wOwESXvvED3S8xBmcPWHs2dUuzrE4XiZeFu7e1hROIJkm02a49N120pmOXxY33sBb6hArItm5W5tcg1cBtV+HQ==",
+ "license": "MIT",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/popperjs"
+ }
+ },
+ "node_modules/@rollup/pluginutils": {
+ "version": "5.4.0",
+ "resolved": "https://registry.npmmirror.com/@rollup/pluginutils/-/pluginutils-5.4.0.tgz",
+ "integrity": "sha512-MfPp06CjRLfXQ3wY0R8vJDYBy/MvVcc9OulEfR0B8Iv9ko+GCNaRZ+EpJYFl27LhKsZK0o420sYCRHCjfCgeUg==",
+ "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/pluginutils/node_modules/estree-walker": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz",
+ "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/estree": {
+ "version": "1.0.9",
+ "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.9.tgz",
+ "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/lodash": {
+ "version": "4.17.24",
+ "resolved": "https://registry.npmmirror.com/@types/lodash/-/lodash-4.17.24.tgz",
+ "integrity": "sha512-gIW7lQLZbue7lRSWEFql49QJJWThrTFFeIMJdp3eH4tKoxm1OvEPg02rm4wCCSHS0cL3/Fizimb35b7k8atwsQ==",
+ "license": "MIT"
+ },
+ "node_modules/@types/lodash-es": {
+ "version": "4.17.12",
+ "resolved": "https://registry.npmmirror.com/@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.19.19",
+ "resolved": "https://registry.npmmirror.com/@types/node/-/node-22.19.19.tgz",
+ "integrity": "sha512-dyh/xO2Fh5bYrfWaaqGrRQQGkNdmYw6AmaAUvYeUMNTWQtvb796ikLdmTchRmOlOiIJ1TDXfWgVx1QkUlQ6Hew==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "undici-types": "~6.21.0"
+ }
+ },
+ "node_modules/@types/web-bluetooth": {
+ "version": "0.0.21",
+ "resolved": "https://registry.npmmirror.com/@types/web-bluetooth/-/web-bluetooth-0.0.21.tgz",
+ "integrity": "sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA==",
+ "license": "MIT"
+ },
+ "node_modules/@vant/auto-import-resolver": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmmirror.com/@vant/auto-import-resolver/-/auto-import-resolver-1.3.0.tgz",
+ "integrity": "sha512-lJyWtCyFizR4bHZvMiNMF3w+WTFTUWAvka1eqTnPK9ticUcKTCOx6qEmHcm8JPb3g1t3GaD2W3MnHkBp/nHamw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@vant/popperjs": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmmirror.com/@vant/popperjs/-/popperjs-1.3.0.tgz",
+ "integrity": "sha512-hB+czUG+aHtjhaEmCJDuXOep0YTZjdlRR+4MSmIFnkCQIxJaXLQdSsR90XWvAI2yvKUI7TCGqR8pQg2RtvkMHw==",
+ "license": "MIT"
+ },
+ "node_modules/@vant/use": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmmirror.com/@vant/use/-/use-1.6.0.tgz",
+ "integrity": "sha512-PHHxeAASgiOpSmMjceweIrv2AxDZIkWXyaczksMoWvKV2YAYEhoizRuk/xFnKF+emUIi46TsQ+rvlm/t2BBCfA==",
+ "license": "MIT",
+ "peerDependencies": {
+ "vue": "^3.0.0"
+ }
+ },
+ "node_modules/@vitejs/plugin-vue": {
+ "version": "4.6.2",
+ "resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-4.6.2.tgz",
+ "integrity": "sha512-kqf7SGFoG+80aZG6Pf+gsZIVvGSCKE98JbiWqcCV9cThtg91Jav0yvYFC9Zb+jKetNGF6ZKeoaxgZfND21fWKw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^14.18.0 || >=16.0.0"
+ },
+ "peerDependencies": {
+ "vite": "^4.0.0 || ^5.0.0",
+ "vue": "^3.2.25"
+ }
+ },
+ "node_modules/@vue/compiler-core": {
+ "version": "3.5.35",
+ "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.5.35.tgz",
+ "integrity": "sha512-BUmHaR1J+O+CKZ9uJucdVTEr1LHsdyvv7vG3eNRhK3CczEHeMd/LtsHAuD7PbrxvI2envCY2v7HI1vC1aBRzKw==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/parser": "^7.29.3",
+ "@vue/shared": "3.5.35",
+ "entities": "^7.0.1",
+ "estree-walker": "^2.0.2",
+ "source-map-js": "^1.2.1"
+ }
+ },
+ "node_modules/@vue/compiler-core/node_modules/estree-walker": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz",
+ "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
+ "license": "MIT"
+ },
+ "node_modules/@vue/compiler-dom": {
+ "version": "3.5.35",
+ "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.5.35.tgz",
+ "integrity": "sha512-k+bprkXxuqhVajgTx5mUHuir7TwQzUKOWR40ng1ncAqQRPnrLngGGgqVEEhOnTMlc8btHYVKmrP8s5Qyg0hvYA==",
+ "license": "MIT",
+ "dependencies": {
+ "@vue/compiler-core": "3.5.35",
+ "@vue/shared": "3.5.35"
+ }
+ },
+ "node_modules/@vue/compiler-sfc": {
+ "version": "3.5.35",
+ "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.5.35.tgz",
+ "integrity": "sha512-G5VPMcXTSywXBgtFOZOnHKBxKSrwXUcvY1iaF5/hRcy7t0J6CH/d8ha9F4nzi00Fax1eLV0QHM7v4mQu68jydw==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/parser": "^7.29.3",
+ "@vue/compiler-core": "3.5.35",
+ "@vue/compiler-dom": "3.5.35",
+ "@vue/compiler-ssr": "3.5.35",
+ "@vue/shared": "3.5.35",
+ "estree-walker": "^2.0.2",
+ "magic-string": "^0.30.21",
+ "postcss": "^8.5.15",
+ "source-map-js": "^1.2.1"
+ }
+ },
+ "node_modules/@vue/compiler-sfc/node_modules/estree-walker": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz",
+ "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
+ "license": "MIT"
+ },
+ "node_modules/@vue/compiler-ssr": {
+ "version": "3.5.35",
+ "resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.5.35.tgz",
+ "integrity": "sha512-rGhAeXgdM7/ffTJGXT69rCCdTmjDewnFuUZfBQQHTdcEBeWdT5HCGY60y2ytLJr9/Dsu7IntUi5z/w0h6Rjnzw==",
+ "license": "MIT",
+ "dependencies": {
+ "@vue/compiler-dom": "3.5.35",
+ "@vue/shared": "3.5.35"
+ }
+ },
+ "node_modules/@vue/devtools-api": {
+ "version": "6.6.4",
+ "resolved": "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.6.4.tgz",
+ "integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==",
+ "license": "MIT"
+ },
+ "node_modules/@vue/reactivity": {
+ "version": "3.5.35",
+ "resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.5.35.tgz",
+ "integrity": "sha512-tVc+SsHConvh/Lz64qq1pP3rYArBmK42xonovEcxY74SQtvctZodG/zhq54P5dr38cVuw25d27cPNRdlMidpGQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@vue/shared": "3.5.35"
+ }
+ },
+ "node_modules/@vue/runtime-core": {
+ "version": "3.5.35",
+ "resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.5.35.tgz",
+ "integrity": "sha512-A/xFNX9loIcWDygeQuNCfKuh0CoYBzxhqEMNah5TSFg9Z53DrFYEN2qi5CU9necjM1OWYegYREUTHmXTmhfXtg==",
+ "license": "MIT",
+ "dependencies": {
+ "@vue/reactivity": "3.5.35",
+ "@vue/shared": "3.5.35"
+ }
+ },
+ "node_modules/@vue/runtime-dom": {
+ "version": "3.5.35",
+ "resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.5.35.tgz",
+ "integrity": "sha512-odrJ1C391dbGnyDRh8U+rnP7J2amIEzfmRk5vXy7xi3aZhEXofTvpi0T4HJb6jlNqQZTNPR5MPHSB3RHNkIORA==",
+ "license": "MIT",
+ "dependencies": {
+ "@vue/reactivity": "3.5.35",
+ "@vue/runtime-core": "3.5.35",
+ "@vue/shared": "3.5.35",
+ "csstype": "^3.2.3"
+ }
+ },
+ "node_modules/@vue/server-renderer": {
+ "version": "3.5.35",
+ "resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.5.35.tgz",
+ "integrity": "sha512-NkebSOYdB97wi8OQcO3HqzZSlymJi/aWsN/7h74OSVhRTm6qGs3Jp3e0rCXynmWwSlKeRrnlIug+ilYoHBmQDA==",
+ "license": "MIT",
+ "dependencies": {
+ "@vue/compiler-ssr": "3.5.35",
+ "@vue/shared": "3.5.35"
+ },
+ "peerDependencies": {
+ "vue": "3.5.35"
+ }
+ },
+ "node_modules/@vue/shared": {
+ "version": "3.5.35",
+ "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.5.35.tgz",
+ "integrity": "sha512-zSbjL7gRXwks2ZQLRGCajBtBXEOXW9Ddhn/HvSdrGkE2dqGnumzW8XtusRrxrE9LvqtiqDXQ+A60Hp6mvdYxfA==",
+ "license": "MIT"
+ },
+ "node_modules/@vueuse/core": {
+ "version": "14.3.0",
+ "resolved": "https://registry.npmmirror.com/@vueuse/core/-/core-14.3.0.tgz",
+ "integrity": "sha512-aHfz47g0ZhMtTVHmIzMVpJy8ePhhOy68GY5bv110+5DVtZ+W7BsOx+m61UNQqfrWyPztIHIanWa3E2tib3NFIw==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/web-bluetooth": "^0.0.21",
+ "@vueuse/metadata": "14.3.0",
+ "@vueuse/shared": "14.3.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ },
+ "peerDependencies": {
+ "vue": "^3.5.0"
+ }
+ },
+ "node_modules/@vueuse/metadata": {
+ "version": "14.3.0",
+ "resolved": "https://registry.npmmirror.com/@vueuse/metadata/-/metadata-14.3.0.tgz",
+ "integrity": "sha512-BwxmbAzwAVF50+MW57GXOUEV61nFBGnlBvrTqj49PqWJu3uw7hdu72ztXeZ33RdZtDY6kO+bfCAE1PCn88Tktw==",
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/@vueuse/shared": {
+ "version": "14.3.0",
+ "resolved": "https://registry.npmmirror.com/@vueuse/shared/-/shared-14.3.0.tgz",
+ "integrity": "sha512-bZpge9eSXwa4ToSiqJ7j6KRwhAsneMFoSz3LMWKQDkqimm3D/tbFlrklrs/IOqC8tEcYmXQZJ6N0UrjhBirVCg==",
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ },
+ "peerDependencies": {
+ "vue": "^3.5.0"
+ }
+ },
+ "node_modules/acorn": {
+ "version": "8.16.0",
+ "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.16.0.tgz",
+ "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/agent-base": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmmirror.com/agent-base/-/agent-base-6.0.2.tgz",
+ "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
+ "license": "MIT",
+ "dependencies": {
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 6.0.0"
+ }
+ },
+ "node_modules/anymatch": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.3.tgz",
+ "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/anymatch/node_modules/picomatch": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.2.tgz",
+ "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/async-validator": {
+ "version": "4.2.5",
+ "resolved": "https://registry.npmmirror.com/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.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
+ "license": "MIT"
+ },
+ "node_modules/axios": {
+ "version": "1.16.1",
+ "resolved": "https://registry.npmmirror.com/axios/-/axios-1.16.1.tgz",
+ "integrity": "sha512-caYkukvroVPO8KrzuJEb50Hm07KwfBZPEC3VeFHTsqWHvKTsy54hjJz9BS/cdaypROE2rH6xvm9mHX4fgWkr3A==",
+ "license": "MIT",
+ "dependencies": {
+ "follow-redirects": "^1.16.0",
+ "form-data": "^4.0.5",
+ "https-proxy-agent": "^5.0.1",
+ "proxy-from-env": "^2.1.0"
+ }
+ },
+ "node_modules/balanced-match": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz",
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
+ "license": "MIT"
+ },
+ "node_modules/base64-arraybuffer": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmmirror.com/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz",
+ "integrity": "sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6.0"
+ }
+ },
+ "node_modules/binary-extensions": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.3.0.tgz",
+ "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/brace-expansion": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.1.1.tgz",
+ "integrity": "sha512-WR1cURNjuvBLMZBMbqM0UoE+WAfdUcEV1ccD8PVBVOI+Z3ND4+SZbN8RsfT2bMuG1qwz5RFvPukSZm5fF2D5eA==",
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/braces": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.3.tgz",
+ "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "fill-range": "^7.1.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/call-bind-apply-helpers": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmmirror.com/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/canvas2image": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmmirror.com/canvas2image/-/canvas2image-1.0.5.tgz",
+ "integrity": "sha512-IrHS9EjnsdWj45WjcsylHMBD4SmQKm4ylfKrsmlqvVyL3GkQlGoP8FDF+piNrYLM4h0JTjQk7xbjqtNJTmpTBQ==",
+ "license": "MIT"
+ },
+ "node_modules/chokidar": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-3.6.0.tgz",
+ "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "anymatch": "~3.1.2",
+ "braces": "~3.0.2",
+ "glob-parent": "~5.1.2",
+ "is-binary-path": "~2.1.0",
+ "is-glob": "~4.0.1",
+ "normalize-path": "~3.0.0",
+ "readdirp": "~3.6.0"
+ },
+ "engines": {
+ "node": ">= 8.10.0"
+ },
+ "funding": {
+ "url": "https://paulmillr.com/funding/"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.2"
+ }
+ },
+ "node_modules/combined-stream": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmmirror.com/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/confbox": {
+ "version": "0.2.4",
+ "resolved": "https://registry.npmmirror.com/confbox/-/confbox-0.2.4.tgz",
+ "integrity": "sha512-ysOGlgTFbN2/Y6Cg3Iye8YKulHw+R2fNXHrgSmXISQdMnomY6eNDprVdW9R5xBguEqI954+S6709UyiO7B+6OQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/copy-anything": {
+ "version": "3.0.5",
+ "resolved": "https://registry.npmmirror.com/copy-anything/-/copy-anything-3.0.5.tgz",
+ "integrity": "sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-what": "^4.1.8"
+ },
+ "engines": {
+ "node": ">=12.13"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/mesqueeb"
+ }
+ },
+ "node_modules/css-line-break": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmmirror.com/css-line-break/-/css-line-break-2.1.0.tgz",
+ "integrity": "sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==",
+ "license": "MIT",
+ "dependencies": {
+ "utrie": "^1.0.2"
+ }
+ },
+ "node_modules/csstype": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.2.3.tgz",
+ "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==",
+ "license": "MIT"
+ },
+ "node_modules/dayjs": {
+ "version": "1.11.21",
+ "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.21.tgz",
+ "integrity": "sha512-98IT+HOahAisibz/yjKbzuOBwYcjJ7BCLPzARyHiyEBmRz4fatF+KPJszEHXsGYjUG234aH/cOjW1wwTbKUZlA==",
+ "license": "MIT"
+ },
+ "node_modules/debug": {
+ "version": "4.4.3",
+ "resolved": "https://registry.npmmirror.com/debug/-/debug-4.4.3.tgz",
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
+ "license": "MIT",
+ "dependencies": {
+ "ms": "^2.1.3"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/decompress-response": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmmirror.com/decompress-response/-/decompress-response-6.0.0.tgz",
+ "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==",
+ "license": "MIT",
+ "dependencies": {
+ "mimic-response": "^3.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/delayed-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/dunder-proto": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmmirror.com/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/element-plus": {
+ "version": "2.14.1",
+ "resolved": "https://registry.npmmirror.com/element-plus/-/element-plus-2.14.1.tgz",
+ "integrity": "sha512-UFnm1+BckNi+azkKJ7L32q1uXs9ekr99Z9pWTQPeDR05jqEWUwQq51ro4kZMVrANbjknX3Z7ukCZwTi2T6Tr9A==",
+ "license": "MIT",
+ "dependencies": {
+ "@ctrl/tinycolor": "^4.2.0",
+ "@element-plus/icons-vue": "^2.3.2",
+ "@floating-ui/dom": "^1.7.6",
+ "@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.8",
+ "@types/lodash": "^4.17.24",
+ "@types/lodash-es": "^4.17.12",
+ "@vueuse/core": "14.3.0",
+ "async-validator": "^4.2.5",
+ "dayjs": "^1.11.20",
+ "lodash": "^4.18.1",
+ "lodash-es": "^4.18.1",
+ "lodash-unified": "^1.0.3",
+ "memoize-one": "^6.0.0",
+ "normalize-wheel-es": "^1.2.0",
+ "vue-component-type-helpers": "^3.3.1"
+ },
+ "peerDependencies": {
+ "vue": "^3.3.7"
+ }
+ },
+ "node_modules/entities": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmmirror.com/entities/-/entities-7.0.1.tgz",
+ "integrity": "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==",
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=0.12"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/entities?sponsor=1"
+ }
+ },
+ "node_modules/errno": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmmirror.com/errno/-/errno-0.1.8.tgz",
+ "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==",
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "prr": "~1.0.1"
+ },
+ "bin": {
+ "errno": "cli.js"
+ }
+ },
+ "node_modules/es-define-property": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.2",
+ "resolved": "https://registry.npmmirror.com/es-object-atoms/-/es-object-atoms-1.1.2.tgz",
+ "integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==",
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es-set-tostringtag": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmmirror.com/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.18.20",
+ "resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.18.20.tgz",
+ "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "MIT",
+ "bin": {
+ "esbuild": "bin/esbuild"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "optionalDependencies": {
+ "@esbuild/android-arm": "0.18.20",
+ "@esbuild/android-arm64": "0.18.20",
+ "@esbuild/android-x64": "0.18.20",
+ "@esbuild/darwin-arm64": "0.18.20",
+ "@esbuild/darwin-x64": "0.18.20",
+ "@esbuild/freebsd-arm64": "0.18.20",
+ "@esbuild/freebsd-x64": "0.18.20",
+ "@esbuild/linux-arm": "0.18.20",
+ "@esbuild/linux-arm64": "0.18.20",
+ "@esbuild/linux-ia32": "0.18.20",
+ "@esbuild/linux-loong64": "0.18.20",
+ "@esbuild/linux-mips64el": "0.18.20",
+ "@esbuild/linux-ppc64": "0.18.20",
+ "@esbuild/linux-riscv64": "0.18.20",
+ "@esbuild/linux-s390x": "0.18.20",
+ "@esbuild/linux-x64": "0.18.20",
+ "@esbuild/netbsd-x64": "0.18.20",
+ "@esbuild/openbsd-x64": "0.18.20",
+ "@esbuild/sunos-x64": "0.18.20",
+ "@esbuild/win32-arm64": "0.18.20",
+ "@esbuild/win32-ia32": "0.18.20",
+ "@esbuild/win32-x64": "0.18.20"
+ }
+ },
+ "node_modules/escape-string-regexp": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz",
+ "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/estree-walker": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-3.0.3.tgz",
+ "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/estree": "^1.0.0"
+ }
+ },
+ "node_modules/exsolve": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmmirror.com/exsolve/-/exsolve-1.0.8.tgz",
+ "integrity": "sha512-LmDxfWXwcTArk8fUEnOfSZpHOJ6zOMUJKOtFLFqJLoKJetuQG874Uc7/Kki7zFLzYybmZhp1M7+98pfMqeX8yA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/fast-glob": {
+ "version": "3.3.3",
+ "resolved": "https://registry.npmmirror.com/fast-glob/-/fast-glob-3.3.3.tgz",
+ "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@nodelib/fs.stat": "^2.0.2",
+ "@nodelib/fs.walk": "^1.2.3",
+ "glob-parent": "^5.1.2",
+ "merge2": "^1.3.0",
+ "micromatch": "^4.0.8"
+ },
+ "engines": {
+ "node": ">=8.6.0"
+ }
+ },
+ "node_modules/fastq": {
+ "version": "1.20.1",
+ "resolved": "https://registry.npmmirror.com/fastq/-/fastq-1.20.1.tgz",
+ "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "reusify": "^1.0.4"
+ }
+ },
+ "node_modules/fdir": {
+ "version": "6.5.0",
+ "resolved": "https://registry.npmmirror.com/fdir/-/fdir-6.5.0.tgz",
+ "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "peerDependencies": {
+ "picomatch": "^3 || ^4"
+ },
+ "peerDependenciesMeta": {
+ "picomatch": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/fill-range": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-7.1.1.tgz",
+ "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "to-regex-range": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/follow-redirects": {
+ "version": "1.16.0",
+ "resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.16.0.tgz",
+ "integrity": "sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==",
+ "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.5",
+ "resolved": "https://registry.npmmirror.com/form-data/-/form-data-4.0.5.tgz",
+ "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==",
+ "license": "MIT",
+ "dependencies": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.8",
+ "es-set-tostringtag": "^2.1.0",
+ "hasown": "^2.0.2",
+ "mime-types": "^2.1.12"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
+ "license": "ISC"
+ },
+ "node_modules/fsevents": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmmirror.com/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.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz",
+ "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/get-intrinsic": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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/glob": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmmirror.com/glob/-/glob-8.1.0.tgz",
+ "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
+ "deprecated": "Glob versions prior to v9 are no longer supported",
+ "license": "ISC",
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^5.0.1",
+ "once": "^1.3.0"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/glob/node_modules/minimatch": {
+ "version": "5.1.9",
+ "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-5.1.9.tgz",
+ "integrity": "sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==",
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/gopd": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmmirror.com/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.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz",
+ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
+ "dev": true,
+ "license": "ISC",
+ "optional": true
+ },
+ "node_modules/has-symbols": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.4",
+ "resolved": "https://registry.npmmirror.com/hasown/-/hasown-2.0.4.tgz",
+ "integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==",
+ "license": "MIT",
+ "dependencies": {
+ "function-bind": "^1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/html2canvas": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmmirror.com/html2canvas/-/html2canvas-1.4.1.tgz",
+ "integrity": "sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==",
+ "license": "MIT",
+ "dependencies": {
+ "css-line-break": "^2.1.0",
+ "text-segmentation": "^1.0.3"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/https-proxy-agent": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmmirror.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
+ "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
+ "license": "MIT",
+ "dependencies": {
+ "agent-base": "6",
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/iconv-lite": {
+ "version": "0.6.3",
+ "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.6.3.tgz",
+ "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "safer-buffer": ">= 2.1.2 < 3.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/image-size": {
+ "version": "0.5.5",
+ "resolved": "https://registry.npmmirror.com/image-size/-/image-size-0.5.5.tgz",
+ "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==",
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "bin": {
+ "image-size": "bin/image-size.js"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
+ "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.",
+ "license": "ISC",
+ "dependencies": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "node_modules/inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
+ "license": "ISC"
+ },
+ "node_modules/is-binary-path": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmmirror.com/is-binary-path/-/is-binary-path-2.1.0.tgz",
+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "binary-extensions": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-core-module": {
+ "version": "2.16.2",
+ "resolved": "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.16.2.tgz",
+ "integrity": "sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "hasown": "^2.0.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-glob": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz",
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-extglob": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.12.0"
+ }
+ },
+ "node_modules/is-what": {
+ "version": "4.1.16",
+ "resolved": "https://registry.npmmirror.com/is-what/-/is-what-4.1.16.tgz",
+ "integrity": "sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12.13"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/mesqueeb"
+ }
+ },
+ "node_modules/jquery": {
+ "version": "3.7.1",
+ "resolved": "https://registry.npmmirror.com/jquery/-/jquery-3.7.1.tgz",
+ "integrity": "sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==",
+ "license": "MIT"
+ },
+ "node_modules/js-binary-schema-parser": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmmirror.com/js-binary-schema-parser/-/js-binary-schema-parser-2.0.3.tgz",
+ "integrity": "sha512-xezGJmOb4lk/M1ZZLTR/jaBHQ4gG/lqQnJqdIv4721DMggsa1bDVlHXNeHYogaIEHD9vCRv0fcL4hMA+Coarkg==",
+ "license": "MIT"
+ },
+ "node_modules/js-tokens": {
+ "version": "9.0.1",
+ "resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-9.0.1.tgz",
+ "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/less": {
+ "version": "4.6.4",
+ "resolved": "https://registry.npmmirror.com/less/-/less-4.6.4.tgz",
+ "integrity": "sha512-OJmO5+HxZLLw0RLzkqaNHzcgEAQG7C0y3aMbwtCzIUFZsLMNNq/1IdAdHEycQ58CwUO3jPTHmoN+tE5I7FQxNg==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "copy-anything": "^3.0.5",
+ "parse-node-version": "^1.0.1"
+ },
+ "bin": {
+ "lessc": "bin/lessc"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "optionalDependencies": {
+ "errno": "^0.1.1",
+ "graceful-fs": "^4.1.2",
+ "image-size": "~0.5.0",
+ "make-dir": "^2.1.0",
+ "mime": "^1.4.1",
+ "needle": "^3.1.0",
+ "source-map": "~0.6.0"
+ }
+ },
+ "node_modules/local-pkg": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmmirror.com/local-pkg/-/local-pkg-1.2.1.tgz",
+ "integrity": "sha512-++gUqRDEvcnN6Zhqrr+y/CkVEHhlrR96vZn3nZZPYzMcBUyBtTKzB9NadClFIsIVSsu+3i9tfk/erqy9kAmt7Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "mlly": "^1.7.4",
+ "pkg-types": "^2.3.0",
+ "quansync": "^0.2.11"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/lodash": {
+ "version": "4.18.1",
+ "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.18.1.tgz",
+ "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==",
+ "license": "MIT"
+ },
+ "node_modules/lodash-es": {
+ "version": "4.18.1",
+ "resolved": "https://registry.npmmirror.com/lodash-es/-/lodash-es-4.18.1.tgz",
+ "integrity": "sha512-J8xewKD/Gk22OZbhpOVSwcs60zhd95ESDwezOFuA3/099925PdHJ7OFHNTGtajL3AlZkykD32HykiMo+BIBI8A==",
+ "license": "MIT"
+ },
+ "node_modules/lodash-unified": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmmirror.com/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/magic-string": {
+ "version": "0.30.21",
+ "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.21.tgz",
+ "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/sourcemap-codec": "^1.5.5"
+ }
+ },
+ "node_modules/make-dir": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmmirror.com/make-dir/-/make-dir-2.1.0.tgz",
+ "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "pify": "^4.0.1",
+ "semver": "^5.6.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/math-intrinsics": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmmirror.com/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.npmmirror.com/memoize-one/-/memoize-one-6.0.0.tgz",
+ "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==",
+ "license": "MIT"
+ },
+ "node_modules/merge2": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmmirror.com/merge2/-/merge2-1.4.1.tgz",
+ "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/micromatch": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.8.tgz",
+ "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "braces": "^3.0.3",
+ "picomatch": "^2.3.1"
+ },
+ "engines": {
+ "node": ">=8.6"
+ }
+ },
+ "node_modules/micromatch/node_modules/picomatch": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.2.tgz",
+ "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/mime": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz",
+ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "bin": {
+ "mime": "cli.js"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/mime-db": {
+ "version": "1.52.0",
+ "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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/mimic-response": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmmirror.com/mimic-response/-/mimic-response-3.1.0.tgz",
+ "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/minimatch": {
+ "version": "9.0.9",
+ "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-9.0.9.tgz",
+ "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^2.0.2"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/mlly": {
+ "version": "1.8.2",
+ "resolved": "https://registry.npmmirror.com/mlly/-/mlly-1.8.2.tgz",
+ "integrity": "sha512-d+ObxMQFmbt10sretNDytwt85VrbkhhUA/JBGm1MPaWJ65Cl4wOgLaB1NYvJSZ0Ef03MMEU/0xpPMXUIQ29UfA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "acorn": "^8.16.0",
+ "pathe": "^2.0.3",
+ "pkg-types": "^1.3.1",
+ "ufo": "^1.6.3"
+ }
+ },
+ "node_modules/mlly/node_modules/confbox": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmmirror.com/confbox/-/confbox-0.1.8.tgz",
+ "integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/mlly/node_modules/pkg-types": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmmirror.com/pkg-types/-/pkg-types-1.3.1.tgz",
+ "integrity": "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "confbox": "^0.1.8",
+ "mlly": "^1.7.4",
+ "pathe": "^2.0.1"
+ }
+ },
+ "node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "license": "MIT"
+ },
+ "node_modules/nanoid": {
+ "version": "3.3.12",
+ "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.12.tgz",
+ "integrity": "sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==",
+ "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/needle": {
+ "version": "3.5.0",
+ "resolved": "https://registry.npmmirror.com/needle/-/needle-3.5.0.tgz",
+ "integrity": "sha512-jaQyPKKk2YokHrEg+vFDYxXIHTCBgiZwSHOoVx/8V3GIBS8/VN6NdVRmg8q1ERtPkMvmOvebsgga4sAj5hls/w==",
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "iconv-lite": "^0.6.3",
+ "sax": "^1.2.4"
+ },
+ "bin": {
+ "needle": "bin/needle"
+ },
+ "engines": {
+ "node": ">= 4.4.x"
+ }
+ },
+ "node_modules/normalize-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz",
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/normalize-wheel-es": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmmirror.com/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz",
+ "integrity": "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==",
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmmirror.com/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmmirror.com/once/-/once-1.4.0.tgz",
+ "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
+ "license": "ISC",
+ "dependencies": {
+ "wrappy": "1"
+ }
+ },
+ "node_modules/pan.template.h5": {
+ "resolved": "",
+ "link": true
+ },
+ "node_modules/parenthesis": {
+ "version": "3.1.8",
+ "resolved": "https://registry.npmmirror.com/parenthesis/-/parenthesis-3.1.8.tgz",
+ "integrity": "sha512-KF/U8tk54BgQewkJPvB4s/US3VQY68BRDpH638+7O/n58TpnwiwnOtGIOsT2/i+M78s61BBpeC83STB88d8sqw==",
+ "license": "MIT"
+ },
+ "node_modules/parse-node-version": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmmirror.com/parse-node-version/-/parse-node-version-1.0.1.tgz",
+ "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/path-parse": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz",
+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/pathe": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmmirror.com/pathe/-/pathe-2.0.3.tgz",
+ "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/picocolors": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.1.1.tgz",
+ "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
+ "license": "ISC"
+ },
+ "node_modules/picomatch": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-4.0.4.tgz",
+ "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/pify": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmmirror.com/pify/-/pify-4.0.1.tgz",
+ "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/pkg-types": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmmirror.com/pkg-types/-/pkg-types-2.3.1.tgz",
+ "integrity": "sha512-y+ichcgc2LrADuhLNAx8DFjVfgz91pRxfZdI3UDhxHvcVEZsenLO+7XaU5vOp0u/7V/wZ+plyuQxtrDlZJ+yeg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "confbox": "^0.2.4",
+ "exsolve": "^1.0.8",
+ "pathe": "^2.0.3"
+ }
+ },
+ "node_modules/postcss": {
+ "version": "8.5.15",
+ "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.5.15.tgz",
+ "integrity": "sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==",
+ "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.12",
+ "picocolors": "^1.1.1",
+ "source-map-js": "^1.2.1"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14"
+ }
+ },
+ "node_modules/postcss-px-to-viewport": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmmirror.com/postcss-px-to-viewport/-/postcss-px-to-viewport-1.1.1.tgz",
+ "integrity": "sha512-2x9oGnBms+e0cYtBJOZdlwrFg/mLR4P1g2IFu7jYKvnqnH/HLhoKyareW2Q/x4sg0BgklHlP1qeWo2oCyPm8FQ==",
+ "license": "MIT",
+ "dependencies": {
+ "object-assign": ">=4.0.1",
+ "postcss": ">=5.0.2"
+ }
+ },
+ "node_modules/proxy-from-env": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmmirror.com/proxy-from-env/-/proxy-from-env-2.1.0.tgz",
+ "integrity": "sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/prr": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmmirror.com/prr/-/prr-1.0.1.tgz",
+ "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==",
+ "dev": true,
+ "license": "MIT",
+ "optional": true
+ },
+ "node_modules/quansync": {
+ "version": "0.2.11",
+ "resolved": "https://registry.npmmirror.com/quansync/-/quansync-0.2.11.tgz",
+ "integrity": "sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://github.com/sponsors/antfu"
+ },
+ {
+ "type": "individual",
+ "url": "https://github.com/sponsors/sxzz"
+ }
+ ],
+ "license": "MIT"
+ },
+ "node_modules/queue-microtask": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmmirror.com/queue-microtask/-/queue-microtask-1.2.3.tgz",
+ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT"
+ },
+ "node_modules/readdirp": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz",
+ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "picomatch": "^2.2.1"
+ },
+ "engines": {
+ "node": ">=8.10.0"
+ }
+ },
+ "node_modules/readdirp/node_modules/picomatch": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.2.tgz",
+ "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/resolve": {
+ "version": "1.22.12",
+ "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.12.tgz",
+ "integrity": "sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "is-core-module": "^2.16.1",
+ "path-parse": "^1.0.7",
+ "supports-preserve-symlinks-flag": "^1.0.0"
+ },
+ "bin": {
+ "resolve": "bin/resolve"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/reusify": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmmirror.com/reusify/-/reusify-1.1.0.tgz",
+ "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "iojs": ">=1.0.0",
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/rollup": {
+ "version": "3.30.0",
+ "resolved": "https://registry.npmmirror.com/rollup/-/rollup-3.30.0.tgz",
+ "integrity": "sha512-kQvGasUgN+AlWGliFn2POSajRQEsULVYFGTvOZmK06d7vCD+YhZztt70kGk3qaeAXeWYL5eO7zx+rAubBc55eA==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "rollup": "dist/bin/rollup"
+ },
+ "engines": {
+ "node": ">=14.18.0",
+ "npm": ">=8.0.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.2"
+ }
+ },
+ "node_modules/run-parallel": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmmirror.com/run-parallel/-/run-parallel-1.2.0.tgz",
+ "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "queue-microtask": "^1.2.2"
+ }
+ },
+ "node_modules/safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
+ "dev": true,
+ "license": "MIT",
+ "optional": true
+ },
+ "node_modules/sax": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmmirror.com/sax/-/sax-1.6.0.tgz",
+ "integrity": "sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
+ "optional": true,
+ "engines": {
+ "node": ">=11.0.0"
+ }
+ },
+ "node_modules/scule": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmmirror.com/scule/-/scule-1.3.0.tgz",
+ "integrity": "sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/semver": {
+ "version": "5.7.2",
+ "resolved": "https://registry.npmmirror.com/semver/-/semver-5.7.2.tgz",
+ "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
+ "dev": true,
+ "license": "ISC",
+ "optional": true,
+ "bin": {
+ "semver": "bin/semver"
+ }
+ },
+ "node_modules/simple-concat": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmmirror.com/simple-concat/-/simple-concat-1.0.1.tgz",
+ "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT"
+ },
+ "node_modules/simple-get": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmmirror.com/simple-get/-/simple-get-4.0.1.tgz",
+ "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "decompress-response": "^6.0.0",
+ "once": "^1.3.1",
+ "simple-concat": "^1.0.0"
+ }
+ },
+ "node_modules/source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "optional": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/source-map-js": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.2.1.tgz",
+ "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/string-split-by": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmmirror.com/string-split-by/-/string-split-by-1.0.0.tgz",
+ "integrity": "sha512-KaJKY+hfpzNyet/emP81PJA9hTVSfxNLS9SFTWxdCnnW1/zOOwiV248+EfoX7IQFcBaOp4G5YE6xTJMF+pLg6A==",
+ "license": "MIT",
+ "dependencies": {
+ "parenthesis": "^3.1.5"
+ }
+ },
+ "node_modules/strip-literal": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmmirror.com/strip-literal/-/strip-literal-3.1.0.tgz",
+ "integrity": "sha512-8r3mkIM/2+PpjHoOtiAW8Rg3jJLHaV7xPwG+YRGrv6FP0wwk/toTpATxWYOW0BKdWwl82VT2tFYi5DlROa0Mxg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "js-tokens": "^9.0.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/supports-preserve-symlinks-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmmirror.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
+ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/text-segmentation": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmmirror.com/text-segmentation/-/text-segmentation-1.0.3.tgz",
+ "integrity": "sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==",
+ "license": "MIT",
+ "dependencies": {
+ "utrie": "^1.0.2"
+ }
+ },
+ "node_modules/tinyglobby": {
+ "version": "0.2.17",
+ "resolved": "https://registry.npmmirror.com/tinyglobby/-/tinyglobby-0.2.17.tgz",
+ "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "fdir": "^6.5.0",
+ "picomatch": "^4.0.4"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/SuperchupuDev"
+ }
+ },
+ "node_modules/to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-number": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=8.0"
+ }
+ },
+ "node_modules/ufo": {
+ "version": "1.6.4",
+ "resolved": "https://registry.npmmirror.com/ufo/-/ufo-1.6.4.tgz",
+ "integrity": "sha512-JFNbkD1Svwe0KvGi8GOeLcP4kAWQ609twvCdcHxq1oSL8svv39ZuSvajcD8B+5D0eL4+s1Is2D/O6KN3qcTeRA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/undici-types": {
+ "version": "6.21.0",
+ "resolved": "https://registry.npmmirror.com/undici-types/-/undici-types-6.21.0.tgz",
+ "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/unimport": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmmirror.com/unimport/-/unimport-4.2.0.tgz",
+ "integrity": "sha512-mYVtA0nmzrysnYnyb3ALMbByJ+Maosee2+WyE0puXl+Xm2bUwPorPaaeZt0ETfuroPOtG8jj1g/qeFZ6buFnag==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "acorn": "^8.14.1",
+ "escape-string-regexp": "^5.0.0",
+ "estree-walker": "^3.0.3",
+ "local-pkg": "^1.1.1",
+ "magic-string": "^0.30.17",
+ "mlly": "^1.7.4",
+ "pathe": "^2.0.3",
+ "picomatch": "^4.0.2",
+ "pkg-types": "^2.1.0",
+ "scule": "^1.3.0",
+ "strip-literal": "^3.0.0",
+ "tinyglobby": "^0.2.12",
+ "unplugin": "^2.2.2",
+ "unplugin-utils": "^0.2.4"
+ },
+ "engines": {
+ "node": ">=18.12.0"
+ }
+ },
+ "node_modules/unplugin": {
+ "version": "2.3.11",
+ "resolved": "https://registry.npmmirror.com/unplugin/-/unplugin-2.3.11.tgz",
+ "integrity": "sha512-5uKD0nqiYVzlmCRs01Fhs2BdkEgBS3SAVP6ndrBsuK42iC2+JHyxM05Rm9G8+5mkmRtzMZGY8Ct5+mliZxU/Ww==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/remapping": "^2.3.5",
+ "acorn": "^8.15.0",
+ "picomatch": "^4.0.3",
+ "webpack-virtual-modules": "^0.6.2"
+ },
+ "engines": {
+ "node": ">=18.12.0"
+ }
+ },
+ "node_modules/unplugin-auto-import": {
+ "version": "19.3.0",
+ "resolved": "https://registry.npmmirror.com/unplugin-auto-import/-/unplugin-auto-import-19.3.0.tgz",
+ "integrity": "sha512-iIi0u4Gq2uGkAOGqlPJOAMI8vocvjh1clGTfSK4SOrJKrt+tirrixo/FjgBwXQNNdS7ofcr7OxzmOb/RjWxeEQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "local-pkg": "^1.1.1",
+ "magic-string": "^0.30.17",
+ "picomatch": "^4.0.2",
+ "unimport": "^4.2.0",
+ "unplugin": "^2.3.4",
+ "unplugin-utils": "^0.2.4"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ },
+ "peerDependencies": {
+ "@nuxt/kit": "^3.2.2",
+ "@vueuse/core": "*"
+ },
+ "peerDependenciesMeta": {
+ "@nuxt/kit": {
+ "optional": true
+ },
+ "@vueuse/core": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/unplugin-utils": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmmirror.com/unplugin-utils/-/unplugin-utils-0.2.5.tgz",
+ "integrity": "sha512-gwXJnPRewT4rT7sBi/IvxKTjsms7jX7QIDLOClApuZwR49SXbrB1z2NLUZ+vDHyqCj/n58OzRRqaW+B8OZi8vg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "pathe": "^2.0.3",
+ "picomatch": "^4.0.3"
+ },
+ "engines": {
+ "node": ">=18.12.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sxzz"
+ }
+ },
+ "node_modules/unplugin-vue-components": {
+ "version": "0.25.2",
+ "resolved": "https://registry.npmmirror.com/unplugin-vue-components/-/unplugin-vue-components-0.25.2.tgz",
+ "integrity": "sha512-OVmLFqILH6w+eM8fyt/d/eoJT9A6WO51NZLf1vC5c1FZ4rmq2bbGxTy8WP2Jm7xwFdukaIdv819+UI7RClPyCA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@antfu/utils": "^0.7.5",
+ "@rollup/pluginutils": "^5.0.2",
+ "chokidar": "^3.5.3",
+ "debug": "^4.3.4",
+ "fast-glob": "^3.3.0",
+ "local-pkg": "^0.4.3",
+ "magic-string": "^0.30.1",
+ "minimatch": "^9.0.3",
+ "resolve": "^1.22.2",
+ "unplugin": "^1.4.0"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ },
+ "peerDependencies": {
+ "@babel/parser": "^7.15.8",
+ "@nuxt/kit": "^3.2.2",
+ "vue": "2 || 3"
+ },
+ "peerDependenciesMeta": {
+ "@babel/parser": {
+ "optional": true
+ },
+ "@nuxt/kit": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/unplugin-vue-components/node_modules/local-pkg": {
+ "version": "0.4.3",
+ "resolved": "https://registry.npmmirror.com/local-pkg/-/local-pkg-0.4.3.tgz",
+ "integrity": "sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/unplugin-vue-components/node_modules/unplugin": {
+ "version": "1.16.1",
+ "resolved": "https://registry.npmmirror.com/unplugin/-/unplugin-1.16.1.tgz",
+ "integrity": "sha512-4/u/j4FrCKdi17jaxuJA0jClGxB1AvU2hw/IuayPc4ay1XGaJs/rbb4v5WKwAjNifjmXK9PIFyuPiaK8azyR9w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "acorn": "^8.14.0",
+ "webpack-virtual-modules": "^0.6.2"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/utrie": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmmirror.com/utrie/-/utrie-1.0.2.tgz",
+ "integrity": "sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==",
+ "license": "MIT",
+ "dependencies": {
+ "base64-arraybuffer": "^1.0.2"
+ }
+ },
+ "node_modules/vant": {
+ "version": "4.9.24",
+ "resolved": "https://registry.npmmirror.com/vant/-/vant-4.9.24.tgz",
+ "integrity": "sha512-tP1A7Vjzv1/B1ljb95Jhv9Q9w6acaaZDJvy6wcKrwGgY0gQZlg+FXLZH/AIKZBE3xvYGDUsv/M7AuGcr/Pqd6A==",
+ "license": "MIT",
+ "dependencies": {
+ "@vant/popperjs": "^1.3.0",
+ "@vant/use": "^1.6.0",
+ "@vue/shared": "^3.5.31"
+ },
+ "peerDependencies": {
+ "vue": "^3.0.0"
+ }
+ },
+ "node_modules/vite": {
+ "version": "4.5.14",
+ "resolved": "https://registry.npmmirror.com/vite/-/vite-4.5.14.tgz",
+ "integrity": "sha512-+v57oAaoYNnO3hIu5Z/tJRZjq5aHM2zDve9YZ8HngVHbhk66RStobhb1sqPMIPEleV6cNKYK4eGrAbE9Ulbl2g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "esbuild": "^0.18.10",
+ "postcss": "^8.4.27",
+ "rollup": "^3.27.1"
+ },
+ "bin": {
+ "vite": "bin/vite.js"
+ },
+ "engines": {
+ "node": "^14.18.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/vitejs/vite?sponsor=1"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.2"
+ },
+ "peerDependencies": {
+ "@types/node": ">= 14",
+ "less": "*",
+ "lightningcss": "^1.21.0",
+ "sass": "*",
+ "stylus": "*",
+ "sugarss": "*",
+ "terser": "^5.4.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ },
+ "less": {
+ "optional": true
+ },
+ "lightningcss": {
+ "optional": true
+ },
+ "sass": {
+ "optional": true
+ },
+ "stylus": {
+ "optional": true
+ },
+ "sugarss": {
+ "optional": true
+ },
+ "terser": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/vue": {
+ "version": "3.5.35",
+ "resolved": "https://registry.npmmirror.com/vue/-/vue-3.5.35.tgz",
+ "integrity": "sha512-cx89fnr+0kVGHiNFG6y6s0bdjypJRFNZn6x3WPstNdQR1bi1mbB7h4v5IBGTsPJU3nK1+0Iqj3Zf+hZWMieR4Q==",
+ "license": "MIT",
+ "dependencies": {
+ "@vue/compiler-dom": "3.5.35",
+ "@vue/compiler-sfc": "3.5.35",
+ "@vue/runtime-dom": "3.5.35",
+ "@vue/server-renderer": "3.5.35",
+ "@vue/shared": "3.5.35"
+ },
+ "peerDependencies": {
+ "typescript": "*"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/vue-component-type-helpers": {
+ "version": "3.3.3",
+ "resolved": "https://registry.npmmirror.com/vue-component-type-helpers/-/vue-component-type-helpers-3.3.3.tgz",
+ "integrity": "sha512-x4nsFpy5Pe8fqPzp/5vkTPeTTDBpAx4WVtV47Ejt0+2FQrq4pRRsJs7JmYRqMFzTu/LW+pCWEjQ3YVCkPV7f9g==",
+ "license": "MIT"
+ },
+ "node_modules/vue-fast-marquee": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmmirror.com/vue-fast-marquee/-/vue-fast-marquee-1.0.6.tgz",
+ "integrity": "sha512-VMqaeuBSS3L55Q84EuLJPHZ4Zv4UVBDXmh+2hb1IBTLKt/FmurJnWVXv8BNnbQSupA4kHbPlWDLwp+kvEMOF7A==",
+ "license": "MIT",
+ "peerDependencies": {
+ "vue": ">=3.2.0"
+ }
+ },
+ "node_modules/vue-qr": {
+ "version": "4.0.9",
+ "resolved": "https://registry.npmmirror.com/vue-qr/-/vue-qr-4.0.9.tgz",
+ "integrity": "sha512-pAISV94T0MNEYA3NGjykUpsXRE2QfaNxlu9ZhEL6CERgqNc21hJYuP3hRVzAWfBQlgO18DPmZTbrFerJC3+Ikw==",
+ "license": "MIT",
+ "dependencies": {
+ "glob": "^8.0.1",
+ "js-binary-schema-parser": "^2.0.2",
+ "simple-get": "^4.0.1",
+ "string-split-by": "^1.0.0"
+ }
+ },
+ "node_modules/vue-router": {
+ "version": "4.6.4",
+ "resolved": "https://registry.npmmirror.com/vue-router/-/vue-router-4.6.4.tgz",
+ "integrity": "sha512-Hz9q5sa33Yhduglwz6g9skT8OBPii+4bFn88w6J+J4MfEo4KRRpmiNG/hHHkdbRFlLBOqxN8y8gf2Fb0MTUgVg==",
+ "license": "MIT",
+ "dependencies": {
+ "@vue/devtools-api": "^6.6.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/posva"
+ },
+ "peerDependencies": {
+ "vue": "^3.5.0"
+ }
+ },
+ "node_modules/vuex": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmmirror.com/vuex/-/vuex-4.1.0.tgz",
+ "integrity": "sha512-hmV6UerDrPcgbSy9ORAtNXDr9M4wlNP4pEFKye4ujJF8oqgFFuxDCdOLS3eNoRTtq5O3hoBDh9Doj1bQMYHRbQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@vue/devtools-api": "^6.0.0-beta.11"
+ },
+ "peerDependencies": {
+ "vue": "^3.2.0"
+ }
+ },
+ "node_modules/webpack-virtual-modules": {
+ "version": "0.6.2",
+ "resolved": "https://registry.npmmirror.com/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz",
+ "integrity": "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
+ "license": "ISC"
+ }
+ }
+}
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..0b9b5cc
--- /dev/null
+++ b/package.json
@@ -0,0 +1,34 @@
+{
+ "name": "pan.template.h5",
+ "private": true,
+ "version": "0.0.0",
+ "scripts": {
+ "dev": "vite",
+ "build": "vite build"
+ },
+ "dependencies": {
+ "@element-plus/icons-vue": "^2.3.1",
+ "axios": "^1.7.9",
+ "canvas2image": "^1.0.5",
+ "element-plus": "^2.9.4",
+ "html2canvas": "^1.4.1",
+ "jquery": "^3.7.1",
+ "pan.template.h5": "file:",
+ "postcss-px-to-viewport": "^1.1.1",
+ "vant": "^4.9.9",
+ "vue": "^3.2.45",
+ "vue-fast-marquee": "^1.0.6",
+ "vue-qr": "^4.0.9",
+ "vue-router": "^4.5.0",
+ "vuex": "^4.1.0"
+ },
+ "devDependencies": {
+ "@types/node": "^22.10.5",
+ "@vant/auto-import-resolver": "^1.0.1",
+ "@vitejs/plugin-vue": "^4.3.4",
+ "less": "^4.2.0",
+ "unplugin-auto-import": "^19.1.0",
+ "unplugin-vue-components": "^0.25.2",
+ "vite": "^4.5.5"
+ }
+}
diff --git a/public/css/common.less b/public/css/common.less
new file mode 100644
index 0000000..0f35163
--- /dev/null
+++ b/public/css/common.less
@@ -0,0 +1,140 @@
+body {
+ .b_l_w;
+ font-size: 3.2vw;
+}
+
+.bg(@e, @url) {
+ &::before {
+ content: '';
+ width: 100vw;
+ height: 100vh;
+ position: fixed;
+ left: 0;
+ top: 0;
+ background-color: @e;
+ background-image: @url;
+ background-repeat: no-repeat;
+ background-size: 100% auto;
+ z-index: -1;
+ }
+}
+
+.f5 {
+ .bg(#f5f5f5, none);
+}
+
+p {
+ margin: 0;
+}
+
+img {
+ display: block;
+ object-fit: contain;
+}
+
+[v-cloak] {
+ display: none !important;
+}
+
+body,
+.van-pull-refresh {
+ overflow: visible !important;
+}
+
+.van-toast {
+ width: max-content !important;
+}
+
+.van-nav-bar--fixed {
+ z-index: 999 !important;
+}
+
+.van-tabbar__placeholder {
+ .b_l_w;
+}
+
+.van-nav-bar {
+
+ .van-nav-bar__text,
+ .van-icon {
+ color: #000 !important;
+ }
+}
+
+.van-nav-bar__placeholder {
+ .van-nav-bar .van-icon {
+ color: #000;
+ }
+}
+
+.van-tabbar {
+ .b_l_w;
+ height: 20vw !important;
+
+ .van-tabbar-item__icon img {
+ height: 10vw;
+ margin: -2vw 0 0;
+ }
+
+ .van-tabbar-item__text {
+ font-size: 3.2vw;
+ }
+}
+
+.tabs {
+ --van-tabs-line-height: 12vw;
+ --van-tab-font-size: 4.267vw;
+
+ .van-tabs__line {
+ border-radius: 0 !important;
+ }
+}
+
+
+.van-image-preview__cover {
+ left: 0 !important;
+ bottom: 0 !important;
+ top: initial !important;
+ width: 100%;
+ height: 12vw !important;
+}
+
+.van-uploader {
+
+ .van-uploader__input-wrapper {
+ .b_l_w;
+ .box;
+ .box-tb;
+ .box-align-center;
+
+ >p {
+ font-size: 3.467vw;
+ color: #1b1b1b;
+ }
+ }
+
+ .Avatar {
+ width: 33.333vw;
+ height: 33.333vw;
+ margin: 0 0 5vw;
+ position: relative;
+
+ &::before {
+ content: '';
+ position: absolute;
+ right: 0;
+ bottom: 2vw;
+ width: 9.333vw;
+ height: 9.333vw;
+ .y50;
+ background: url(/images/upload-picture.png) no-repeat;
+ background-size: 100% 100%;
+ }
+
+ img {
+ width: 100%;
+ height: 100%;
+ .y50;
+ }
+ }
+}
\ No newline at end of file
diff --git a/public/css/gm.less b/public/css/gm.less
new file mode 100644
index 0000000..4c84444
--- /dev/null
+++ b/public/css/gm.less
@@ -0,0 +1,334 @@
+::after,
+::before,
+* {
+ word-wrap: break-word;
+ box-sizing: border-box;
+}
+
+a {
+ text-decoration: none;
+ color: #000;
+}
+
+.mx-auto {
+ margin: 0 auto !important;
+}
+
+.bs {
+ color: #fff;
+}
+
+.f(@e, @u) {
+ font-size: unit(@e, @u);
+}
+
+.r(@e, @u) {
+ border-radius: unit(@e, @u);
+}
+
+.mt(@e, @u) {
+ margin-top: unit(@e, @u);
+}
+
+.mb(@e, @u) {
+ margin-bottom: unit(@e, @u);
+}
+
+.b_k {
+ background: #fff;
+}
+
+.b {
+ font-weight: bold;
+}
+
+.y50 {
+ border-radius: 50%;
+ object-fit: cover !important;
+}
+
+.w(@e, @u) {
+ width: unit(@e, @u);
+}
+
+.w {
+ width: 100%;
+}
+
+.h {
+ height: 100%;
+}
+
+.w100 {
+ width: 100% !important;
+
+ img {
+ width: 100% !important;
+ }
+}
+
+.p-r {
+ position: relative;
+}
+
+.p-a {
+ position: absolute;
+}
+
+.p-f {
+ position: fixed;
+}
+
+.div_chao {
+ white-space: nowrap;
+ overflow-x: auto;
+
+ .inline {
+ display: inline-block !important;
+ }
+}
+
+.dis {
+ display: none;
+}
+
+.dis-l {
+ display: block;
+}
+
+.songti {
+ font-family: 宋体;
+}
+
+.b_l {
+ float: left;
+}
+
+.b_r {
+ float: right;
+}
+
+.r {
+ margin-left: auto;
+}
+
+.b_l_w {
+ width: 100%;
+ float: left;
+}
+
+.w1 {
+ width: 100%;
+ float: left;
+}
+
+.text-center {
+ text-align: center;
+}
+
+.text-left {
+ text-align: left;
+}
+
+.text-right {
+ text-align: right;
+}
+
+.text-hide(@line) {
+ overflow: hidden !important;
+ text-overflow: ellipsis;
+ display: -webkit-box !important;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: @line;
+}
+
+.text-hide-1 {
+ overflow: hidden !important;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.gray(@a, @b) {
+ filter: grayscale(@a) invert(@b);
+}
+
+.brightness(@a, @b) {
+ filter: brightness(@a) invert(@b);
+}
+
+/*伸缩盒子模型*/
+.box {
+ display: flex;
+ flex-wrap: nowrap;
+}
+
+/*从左至右*/
+
+.box-lr {
+ flex-direction: row;
+}
+
+
+/*从右至左*/
+
+.box-rl {
+ flex-direction: row-reverse;
+}
+
+
+/*从上至下*/
+
+.box-tb {
+ flex-direction: column;
+}
+
+
+/*从下至上*/
+
+.box-bt {
+ flex-direction: column-reverse;
+}
+
+
+/*主轴居中*/
+
+.box-pack-center {
+ justify-content: center;
+}
+
+.middle {
+ display: flex;
+ justify-content: space-between;
+ /*justify-content: space-evenly;*/
+}
+
+.middle::before,
+.middle::after {
+ content: '';
+ display: block;
+}
+
+/*主轴居左*/
+
+.box-pack-start {
+ justify-content: flex-start;
+}
+
+
+/*主轴居右*/
+
+.box-pack-end {
+ justify-content: flex-end;
+}
+
+
+/*主轴左右不留白*/
+
+.box-pack-between {
+ justify-content: space-between;
+}
+
+
+/*主轴左右留白*/
+
+.box-pack-around {
+ justify-content: space-around;
+}
+
+/*自动间隔,每个元素的间隔相等*/
+
+.box-middle {
+ justify-content: space-evenly;
+}
+
+/*交叉轴居中对齐*/
+
+.box-align-center {
+ align-items: center;
+}
+
+
+/*交叉轴居左对齐*/
+
+.box-align-start {
+ align-items: flex-start;
+}
+
+
+/*交叉轴居右对齐*/
+
+.box-align-end {
+ align-items: flex-end;
+}
+
+
+/**单个指定的子元素自定义对齐方式,可以不同于其他子元素对齐方式**/
+
+
+/**指定子元素居中对齐**/
+
+.self-align-center {
+ align-self: center;
+ margin: 0 auto;
+}
+
+
+/**指定子元素顶部对齐**/
+
+.self-align-start {
+ align-self: flex-start;
+}
+
+
+/**指定子元素底部对齐**/
+
+.self-align-end {
+ align-self: flex-end;
+}
+
+
+/**指定子元素拉伸**/
+
+.self-align-stretch {
+ align-self: stretch;
+}
+
+
+/**子元素换行**/
+
+.box-wrap {
+ flex-wrap: wrap;
+}
+
+
+/**子元素不换行**/
+
+.box-nowrap {
+ flex-wrap: nowrap;
+}
+
+
+/*允许子元素伸展(1倍)*/
+
+.flex {
+ flex-grow: 1;
+ /*如果值是2 那么当前元素就是其他元素宽的2倍了*/
+}
+
+/* flex:1 是 flex-grow、flex-shrink、flex-basis的缩写。故其取值可以考虑以下情况:
+ flex-grow:0表示不会拉伸 flex-shrink:1表示 可以缩小
+ flex 的默认值是以上三个属性值的组合。假设以上三个属性同样取默认值,则 flex 的默认值是 0 1 auto*/
+
+/*允许子元素收缩(1倍)*/
+
+.shrink {
+ flex-shrink: 1;
+}
+
+/**水平居中*/
+
+.box-center-center {
+ justify-content: center;
+ align-items: center;
+ text-align: center;
+}
\ No newline at end of file
diff --git a/public/css/ly.less b/public/css/ly.less
new file mode 100644
index 0000000..7f2bbc4
--- /dev/null
+++ b/public/css/ly.less
@@ -0,0 +1,569 @@
+@import 'gm.less';
+@import 'common.less';
+
+.cente {
+ .box;
+ .box-align-center;
+}
+
+.home {
+ .box;
+ .box-tb;
+ .box-align-center;
+ .b_l_w;
+ width: 1600px;
+ position: relative;
+ margin: 0 auto;
+
+ hr {
+ border: none;
+ width: 100%;
+ height: 2px;
+ background: #ebebeb;
+ margin-top: 31px;
+ z-index: 1;
+ margin-bottom: 34px;
+ }
+
+ >div {
+ .b_l_w;
+ }
+
+ .el-header {
+ padding: 0 120px;
+ }
+
+ .el-main {
+ padding: 0 120px;
+ }
+
+ .title {
+ .box;
+ .box-align-center;
+ height: 100px;
+
+ .t-title {
+ font-size: 24px;
+ font-weight: bold;
+ color: #fe4343;
+ line-height: 100px;
+ min-width: 104px;
+ margin-right: 29px;
+ }
+
+ .t-tabs {
+ margin-top: 10px;
+ font-size: 20px;
+ font-weight: normal;
+ line-height: 29px;
+ letter-spacing: 2px;
+ color: #2d2d2d;
+ margin-right: 300px;
+
+ .el-tabs__item.is-active,
+ .el-tabs__item:hover {
+ color: #fe4343;
+ }
+
+ .el-tabs__item {
+ height: 90px;
+ }
+
+ .el-tabs__active-bar {
+ background-color: #fe4343;
+ width: 30px;
+ height: 5px;
+ border-radius: 2.5px;
+ }
+ }
+
+ .search-box {
+ .r;
+ .box;
+ width: 500px;
+
+ .search {
+ .box;
+ .box-align-center;
+ width: 420px;
+ height: 42px;
+ padding: 13px 17px;
+ background-color: #f5f7f8;
+ border-radius: 8px 0px 0px 8px;
+ border: solid 1px #e7e7e7;
+
+ img {
+ width: 16px;
+ margin-right: 10px;
+ }
+
+ span {
+ min-width: 36px;
+ font-size: 16px;
+ color: #666666;
+ letter-spacing: 1.6px;
+ margin-right: 14px;
+ }
+
+ .van-icon {
+ font-size: 10px;
+ color: #666666;
+ margin-right: 15px;
+ }
+
+ input {
+ border: none;
+ outline: none;
+ background: none;
+ width: 300px;
+ height: 30px;
+ z-index: 1;
+ font-size: 16px;
+ color: #666666;
+ letter-spacing: 1.6px;
+ }
+
+ .option {
+ .box;
+ min-width: 100px;
+ }
+
+ .el-select__wrapper {
+ border: none;
+ background: none;
+ font-size: 16px;
+ line-height: 29px;
+ letter-spacing: 1.6px;
+ color: #666666;
+ box-shadow: none;
+ padding-left: 0px;
+ min-width: 100px;
+ border-right: 1px solid #ebebeb;
+
+ img {
+ width: 16px;
+ }
+ }
+ }
+
+ button {
+ width: 80px;
+ background-color: #fe4343;
+ border: none;
+ border-radius: 0px 8px 8px 0px;
+ .box;
+ .box-pack-center;
+
+ img {
+ width: 24px;
+ }
+ }
+ }
+
+ }
+
+ .f-title {
+ font-size: 24px;
+ font-weight: bold;
+ color: #2d2d2d;
+ line-height: 40px;
+ min-width: 104px;
+ margin-right: 32px;
+ }
+
+ .hotspot {
+ .box;
+ .box-align-center;
+ padding: 23px 0 17px 0;
+
+ .right {
+ .r;
+ .box;
+ .box-align-center;
+ height: 80px;
+ max-width: 950px;
+ overflow: hidden;
+ overflow-x: auto;
+ -ms-overflow-style: none;
+ scrollbar-width: none;
+ scroll-behavior: smooth;
+
+ .chosebox {
+ .box;
+
+ .c-tb {
+ .box;
+ .box-tb;
+
+ .c-title {
+ font-size: 16px;
+ letter-spacing: 1.6px;
+ }
+
+ .c-time {
+ font-size: 12px;
+ margin-top: 12px;
+ }
+ }
+
+ .c-lr {
+ .box;
+ .box-lr;
+ .box-align-center;
+ margin-left: 30px;
+
+ .c-countdown {
+ font-size: 24px;
+ font-weight: bold;
+ margin-right: 5px;
+ }
+
+ .c-day {
+ writing-mode: vertical-lr;
+ font-size: 12px;
+ }
+ }
+ }
+
+ .el-tabs__item.is-active,
+ .el-tabs__item:hover {
+ color: #fe4343 !important;
+ border: solid 1px #ffe6e6;
+ background-color: #fcf2f2;
+ }
+
+ .el-tabs__item {
+ padding: 0;
+ background-color: #ffffff;
+ border-radius: 5px;
+ margin-right: 18px;
+ border: solid 2px #f5f5f5;
+ height: 63px !important;
+ width: 175px !important;
+ color: #b1b1b1;
+ }
+
+ .el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,
+ .el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:last-child,
+ .el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,
+ .el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:last-child {
+ padding: 0;
+ }
+
+ .el-tabs--card>.el-tabs__header .el-tabs__nav {
+ border: none;
+ }
+
+ .el-tabs--card>.el-tabs__header .el-tabs__item:first-child {
+ border: solid 2px #f5f5f5;
+ }
+
+ --el-border-color-light:none;
+ }
+
+ .arrow {
+ .box;
+ .box-align-center;
+ .text-center;
+ .box-pack-center;
+ width: 40px;
+ height: 40px;
+ box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.15);
+ border-radius: 50%;
+ font-size: 22px;
+ margin-left: -50px;
+ margin-top: -10px;
+ z-index: 10;
+ background: #fff;
+ }
+
+ .leftarrow {
+ .r;
+ .box;
+ .box-align-center;
+ .text-center;
+ .box-pack-center;
+ width: 40px;
+ height: 40px;
+ box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.15);
+ border-radius: 50%;
+ font-size: 22px;
+ margin-right: -350px;
+ margin-top: -10px;
+ z-index: 10;
+ background: #fff;
+ }
+ }
+
+ .hp_img {
+ height: 380px;
+ margin-bottom: 61px;
+ .box;
+
+ >div {
+ img {
+ margin-bottom: 19px;
+ height: 180px;
+ }
+ }
+
+ img {
+ height: 380px;
+ margin-right: 22px;
+ }
+ }
+
+ .element {
+ .e-title {
+ .box;
+
+ .el-tabs__item {
+ background-color: #f6f7f9;
+ border-radius: 18px;
+ margin-right: 15px;
+ }
+
+ .el-tabs--card>.el-tabs__header .el-tabs__item {
+ border-left: none;
+ }
+
+ .el-tabs--card>.el-tabs__header .el-tabs__nav {
+ border: none;
+ }
+
+ .el-tabs__item.is-active,
+ .el-tabs__item:hover {
+ color: #fe4343;
+ background: #fee9e9;
+ }
+
+ --el-border-color-light:none;
+ }
+
+ .e_img {
+ .box;
+ margin-bottom: 60px;
+
+ .ex-box {
+ position: relative;
+ width: 250px;
+ height: 277px;
+ background-color: #f6f7f9;
+ border-radius: 10px 10px 0 0;
+
+ img {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%, -50%);
+ }
+ }
+
+ .base-box {
+ .box;
+ .box-pack-between;
+ .box-align-center;
+ padding: 0px 16px 0;
+ height: 43px;
+ width: 250px;
+ background-color: #eff1f4;
+ border-radius: 0 0 10px 10px;
+
+ span {
+ font-size: 14px;
+ font-weight: bold;
+ color: #2d2d2d;
+ }
+
+ .el-icon {
+ font-size: 10px;
+ color: #2d2d2d;
+ }
+ }
+
+ }
+ }
+
+ .liveimg {
+ .box;
+ width: 100%;
+
+ img {
+ border-radius: 10px;
+ }
+
+ .legend {
+ .box;
+ .box-pack-between;
+ .box-align-center;
+ padding: 0 16px;
+ margin-top: -46px;
+ width: 640px;
+ height: 46px;
+ background-color: #000000;
+ opacity: 0.5;
+ border-radius: 10px;
+ color: #ffffff;
+ font-size: 16px;
+ }
+
+ .l-leftbox {
+ margin-right: 20px;
+ }
+
+ .l-rightbox {
+ .box;
+ .box-lr;
+ .box-pack-between;
+ min-width: 720px;
+ min-height: 420px;
+ flex-wrap: wrap;
+ overflow: hidden;
+
+ img {
+ height: 200px;
+ margin: 0 20px 20px 0;
+ }
+ }
+ }
+
+ .fontimg {
+ .box;
+ .box-lr;
+ margin: 42px 0 60px 0;
+ min-width: 1380px;
+ flex-wrap: wrap;
+
+ >div {
+ .box;
+ .box-tb;
+
+ span {
+ font-size: 16px;
+ color: #2d2d2d;
+ margin: 0 0 32px 8px;
+ }
+ }
+
+ img {
+ width: 324px;
+ margin-right: 20px;
+ margin-bottom: 14px;
+ }
+
+ }
+
+ .mlist {
+ .box-lr;
+ .box-pack-between;
+ min-width: 1360px;
+ margin-top: 20px;
+ column-count: 6;
+ flex-flow: column wrap;
+
+ img {
+ width: 210px;
+ height: auto;
+ margin-bottom: 20px;
+ border-radius: 10px;
+ }
+ }
+
+ .end {
+ position: absolute;
+ bottom: -80px;
+ left: 750px;
+ font-size: 14px;
+ color: #999999;
+ line-height: 50px;
+ }
+
+ .el-dialog {
+ .box;
+ background-color: #ffffff;
+ border-radius: 30px;
+ padding: 40px 30px;
+
+ .el-dialog__header.show-close {
+ padding: 0;
+ }
+
+ .dialog {
+ .box;
+ .box-lr;
+ }
+
+ .more {
+ .box;
+ .box-tb;
+ width: 349px;
+ margin-left: 37px;
+
+ span {
+ font-size: 14px;
+ color: #444444;
+ margin-bottom: 10px;
+ margin-top: 7px;
+ }
+
+ button {
+ width: 340px;
+ height: 46px;
+ background-color: #fe4343;
+ border-radius: 10px;
+ border: none;
+ color: #ffffff;
+ margin-top: 10px;
+ }
+
+ hr {
+ margin: 27px 0 23px 0;
+ }
+
+ .tbox {
+ .box;
+ .box-tb;
+ }
+
+ .btmbox {
+ .box;
+ .box-tb;
+
+ .xbox {
+ .box;
+ .box-align-center;
+ margin-bottom: 15px;
+ }
+
+ span {
+ .box;
+ .box-align-center;
+ font-weight: bold;
+ color: #222222;
+ margin: 0 14px 0 0;
+ }
+
+ .imgbox {
+ .box;
+ .box-lr;
+ height: 310px;
+ overflow: hidden;
+
+ >div {
+ margin-right: 20px;
+
+ img {
+ width: 104px;
+ margin-bottom: 20px;
+ border-radius: 5px;
+ }
+ }
+ }
+ }
+ }
+ }
+
+ .el-overlay-dialog {
+ top: -50px;
+ }
+}
\ No newline at end of file
diff --git a/public/images/all.png b/public/images/all.png
new file mode 100644
index 0000000..54cb35d
Binary files /dev/null and b/public/images/all.png differ
diff --git a/public/images/car1.jpg b/public/images/car1.jpg
new file mode 100644
index 0000000..8913ce1
Binary files /dev/null and b/public/images/car1.jpg differ
diff --git a/public/images/car2.jpg b/public/images/car2.jpg
new file mode 100644
index 0000000..de611ff
Binary files /dev/null and b/public/images/car2.jpg differ
diff --git a/public/images/e-i1.png b/public/images/e-i1.png
new file mode 100644
index 0000000..f0a86d6
Binary files /dev/null and b/public/images/e-i1.png differ
diff --git a/public/images/e-i2.png b/public/images/e-i2.png
new file mode 100644
index 0000000..7feca23
Binary files /dev/null and b/public/images/e-i2.png differ
diff --git a/public/images/e-i3.png b/public/images/e-i3.png
new file mode 100644
index 0000000..5d9aa3a
Binary files /dev/null and b/public/images/e-i3.png differ
diff --git a/public/images/e-i4.png b/public/images/e-i4.png
new file mode 100644
index 0000000..90671df
Binary files /dev/null and b/public/images/e-i4.png differ
diff --git a/public/images/e-i5.png b/public/images/e-i5.png
new file mode 100644
index 0000000..0e88e4d
Binary files /dev/null and b/public/images/e-i5.png differ
diff --git a/public/images/f-i1.png b/public/images/f-i1.png
new file mode 100644
index 0000000..8ac31a6
Binary files /dev/null and b/public/images/f-i1.png differ
diff --git a/public/images/f-i2.png b/public/images/f-i2.png
new file mode 100644
index 0000000..e78fd06
Binary files /dev/null and b/public/images/f-i2.png differ
diff --git a/public/images/f-i3.png b/public/images/f-i3.png
new file mode 100644
index 0000000..37b0354
Binary files /dev/null and b/public/images/f-i3.png differ
diff --git a/public/images/f-i4.png b/public/images/f-i4.png
new file mode 100644
index 0000000..b87306b
Binary files /dev/null and b/public/images/f-i4.png differ
diff --git a/public/images/f-i5.png b/public/images/f-i5.png
new file mode 100644
index 0000000..d54d113
Binary files /dev/null and b/public/images/f-i5.png differ
diff --git a/public/images/f-i6.png b/public/images/f-i6.png
new file mode 100644
index 0000000..b57e4fa
Binary files /dev/null and b/public/images/f-i6.png differ
diff --git a/public/images/f-i7.png b/public/images/f-i7.png
new file mode 100644
index 0000000..84c4aac
Binary files /dev/null and b/public/images/f-i7.png differ
diff --git a/public/images/f-i8.png b/public/images/f-i8.png
new file mode 100644
index 0000000..95930db
Binary files /dev/null and b/public/images/f-i8.png differ
diff --git a/public/images/hp-i1.png b/public/images/hp-i1.png
new file mode 100644
index 0000000..c5c4ece
Binary files /dev/null and b/public/images/hp-i1.png differ
diff --git a/public/images/hp-i2.png b/public/images/hp-i2.png
new file mode 100644
index 0000000..111eb41
Binary files /dev/null and b/public/images/hp-i2.png differ
diff --git a/public/images/hp-i3.png b/public/images/hp-i3.png
new file mode 100644
index 0000000..7442047
Binary files /dev/null and b/public/images/hp-i3.png differ
diff --git a/public/images/hp-i4.png b/public/images/hp-i4.png
new file mode 100644
index 0000000..c129e1c
Binary files /dev/null and b/public/images/hp-i4.png differ
diff --git a/public/images/hp-i5.png b/public/images/hp-i5.png
new file mode 100644
index 0000000..fdbbddc
Binary files /dev/null and b/public/images/hp-i5.png differ
diff --git a/public/images/hp-i6.png b/public/images/hp-i6.png
new file mode 100644
index 0000000..ec67102
Binary files /dev/null and b/public/images/hp-i6.png differ
diff --git a/public/images/i-i1.png b/public/images/i-i1.png
new file mode 100644
index 0000000..14babe2
Binary files /dev/null and b/public/images/i-i1.png differ
diff --git a/public/images/i-i2.png b/public/images/i-i2.png
new file mode 100644
index 0000000..5314b03
Binary files /dev/null and b/public/images/i-i2.png differ
diff --git a/public/images/i-i3.png b/public/images/i-i3.png
new file mode 100644
index 0000000..c171685
Binary files /dev/null and b/public/images/i-i3.png differ
diff --git a/public/images/i-i4.png b/public/images/i-i4.png
new file mode 100644
index 0000000..1ff971a
Binary files /dev/null and b/public/images/i-i4.png differ
diff --git a/public/images/i-i5.png b/public/images/i-i5.png
new file mode 100644
index 0000000..fc68b8c
Binary files /dev/null and b/public/images/i-i5.png differ
diff --git a/public/images/i1.png b/public/images/i1.png
new file mode 100644
index 0000000..468f6d5
Binary files /dev/null and b/public/images/i1.png differ
diff --git a/public/images/i2.png b/public/images/i2.png
new file mode 100644
index 0000000..459d212
Binary files /dev/null and b/public/images/i2.png differ
diff --git a/public/images/i3.png b/public/images/i3.png
new file mode 100644
index 0000000..be8d885
Binary files /dev/null and b/public/images/i3.png differ
diff --git a/public/images/i4.png b/public/images/i4.png
new file mode 100644
index 0000000..bcf2cec
Binary files /dev/null and b/public/images/i4.png differ
diff --git a/public/images/l-i1.png b/public/images/l-i1.png
new file mode 100644
index 0000000..abf2d91
Binary files /dev/null and b/public/images/l-i1.png differ
diff --git a/public/images/l-i2.png b/public/images/l-i2.png
new file mode 100644
index 0000000..3f5b7a7
Binary files /dev/null and b/public/images/l-i2.png differ
diff --git a/public/images/l-i3.png b/public/images/l-i3.png
new file mode 100644
index 0000000..4059ac6
Binary files /dev/null and b/public/images/l-i3.png differ
diff --git a/public/images/l-i4.png b/public/images/l-i4.png
new file mode 100644
index 0000000..93b33cc
Binary files /dev/null and b/public/images/l-i4.png differ
diff --git a/public/images/l-i5.png b/public/images/l-i5.png
new file mode 100644
index 0000000..c778e03
Binary files /dev/null and b/public/images/l-i5.png differ
diff --git a/public/images/m-i1.png b/public/images/m-i1.png
new file mode 100644
index 0000000..b2d12f5
Binary files /dev/null and b/public/images/m-i1.png differ
diff --git a/public/images/search.png b/public/images/search.png
new file mode 100644
index 0000000..ec4ea3a
Binary files /dev/null and b/public/images/search.png differ
diff --git a/public/js/canvas2image.js b/public/js/canvas2image.js
new file mode 100644
index 0000000..5071c7b
--- /dev/null
+++ b/public/js/canvas2image.js
@@ -0,0 +1,235 @@
+/*
+ * Canvas2Image v0.1
+ * Copyright (c) 2008 Jacob Seidelin, jseidelin@nihilogic.dk
+ * MIT License [http://www.opensource.org/licenses/mit-license.php]
+ */
+
+var Canvas2Image = (function () {
+
+ // check if we have canvas support
+ var bHasCanvas = false;
+ var oCanvas = document.createElement("canvas");
+ if (oCanvas.getContext("2d")) {
+ bHasCanvas = true;
+ }
+
+ // no canvas, bail out.
+ if (!bHasCanvas) {
+ return {
+ saveAsBMP: function () { },
+ saveAsPNG: function () { },
+ saveAsJPEG: function () { }
+ }
+ }
+
+ var bHasImageData = !!(oCanvas.getContext("2d").getImageData);
+ var bHasDataURL = !!(oCanvas.toDataURL);
+ var bHasBase64 = !!(window.btoa);
+
+ var strDownloadMime = "image/octet-stream";
+
+ // ok, we're good
+ var readCanvasData = function (oCanvas) {
+ var iWidth = parseInt(oCanvas.width);
+ var iHeight = parseInt(oCanvas.height);
+ return oCanvas.getContext("2d").getImageData(0, 0, iWidth, iHeight);
+ }
+
+ // base64 encodes either a string or an array of charcodes
+ var encodeData = function (data) {
+ var strData = "";
+ if (typeof data == "string") {
+ strData = data;
+ } else {
+ var aData = data;
+ for (var i = 0; i < aData.length; i++) {
+ strData += String.fromCharCode(aData[i]);
+ }
+ }
+ return btoa(strData);
+ }
+
+ // creates a base64 encoded string containing BMP data
+ // takes an imagedata object as argument
+ var createBMP = function (oData) {
+ var aHeader = [];
+
+ var iWidth = oData.width;
+ var iHeight = oData.height;
+
+ aHeader.push(0x42); // magic 1
+ aHeader.push(0x4D);
+
+ var iFileSize = iWidth * iHeight * 3 + 54; // total header size = 54 bytes
+ aHeader.push(iFileSize % 256); iFileSize = Math.floor(iFileSize / 256);
+ aHeader.push(iFileSize % 256); iFileSize = Math.floor(iFileSize / 256);
+ aHeader.push(iFileSize % 256); iFileSize = Math.floor(iFileSize / 256);
+ aHeader.push(iFileSize % 256);
+
+ aHeader.push(0); // reserved
+ aHeader.push(0);
+ aHeader.push(0); // reserved
+ aHeader.push(0);
+
+ aHeader.push(54); // dataoffset
+ aHeader.push(0);
+ aHeader.push(0);
+ aHeader.push(0);
+
+ var aInfoHeader = [];
+ aInfoHeader.push(40); // info header size
+ aInfoHeader.push(0);
+ aInfoHeader.push(0);
+ aInfoHeader.push(0);
+
+ var iImageWidth = iWidth;
+ aInfoHeader.push(iImageWidth % 256); iImageWidth = Math.floor(iImageWidth / 256);
+ aInfoHeader.push(iImageWidth % 256); iImageWidth = Math.floor(iImageWidth / 256);
+ aInfoHeader.push(iImageWidth % 256); iImageWidth = Math.floor(iImageWidth / 256);
+ aInfoHeader.push(iImageWidth % 256);
+
+ var iImageHeight = iHeight;
+ aInfoHeader.push(iImageHeight % 256); iImageHeight = Math.floor(iImageHeight / 256);
+ aInfoHeader.push(iImageHeight % 256); iImageHeight = Math.floor(iImageHeight / 256);
+ aInfoHeader.push(iImageHeight % 256); iImageHeight = Math.floor(iImageHeight / 256);
+ aInfoHeader.push(iImageHeight % 256);
+
+ aInfoHeader.push(1); // num of planes
+ aInfoHeader.push(0);
+
+ aInfoHeader.push(24); // num of bits per pixel
+ aInfoHeader.push(0);
+
+ aInfoHeader.push(0); // compression = none
+ aInfoHeader.push(0);
+ aInfoHeader.push(0);
+ aInfoHeader.push(0);
+
+ var iDataSize = iWidth * iHeight * 3;
+ aInfoHeader.push(iDataSize % 256); iDataSize = Math.floor(iDataSize / 256);
+ aInfoHeader.push(iDataSize % 256); iDataSize = Math.floor(iDataSize / 256);
+ aInfoHeader.push(iDataSize % 256); iDataSize = Math.floor(iDataSize / 256);
+ aInfoHeader.push(iDataSize % 256);
+
+ for (var i = 0; i < 16; i++) {
+ aInfoHeader.push(0); // these bytes not used
+ }
+
+ var iPadding = (4 - ((iWidth * 3) % 4)) % 4;
+
+ var aImgData = oData.data;
+
+ var strPixelData = "";
+ var y = iHeight;
+ do {
+ var iOffsetY = iWidth * (y - 1) * 4;
+ var strPixelRow = "";
+ for (var x = 0; x < iWidth; x++) {
+ var iOffsetX = 4 * x;
+
+ strPixelRow += String.fromCharCode(aImgData[iOffsetY + iOffsetX + 2]);
+ strPixelRow += String.fromCharCode(aImgData[iOffsetY + iOffsetX + 1]);
+ strPixelRow += String.fromCharCode(aImgData[iOffsetY + iOffsetX]);
+ }
+ for (var c = 0; c < iPadding; c++) {
+ strPixelRow += String.fromCharCode(0);
+ }
+ strPixelData += strPixelRow;
+ } while (--y);
+
+ var strEncoded = encodeData(aHeader.concat(aInfoHeader)) + encodeData(strPixelData);
+
+ return strEncoded;
+ }
+
+
+ // sends the generated file to the client
+ var saveFile = function (strData) {
+ document.location.href = strData;
+ }
+
+ var makeDataURI = function (strData, strMime) {
+ return "data:" + strMime + ";base64," + strData;
+ }
+
+ // generates a
object containing the imagedata
+ var makeImageObject = function (strSource) {
+ var oImgElement = document.createElement("img");
+ oImgElement.src = strSource;
+ return oImgElement;
+ }
+
+ var scaleCanvas = function (oCanvas, iWidth, iHeight) {
+ if (iWidth && iHeight) {
+ var oSaveCanvas = document.createElement("canvas");
+ oSaveCanvas.width = iWidth;
+ oSaveCanvas.height = iHeight;
+ oSaveCanvas.style.width = iWidth + "px";
+ oSaveCanvas.style.height = iHeight + "px";
+
+ var oSaveCtx = oSaveCanvas.getContext("2d");
+
+ oSaveCtx.drawImage(oCanvas, 0, 0, oCanvas.width, oCanvas.height, 0, 0, iWidth, iHeight);
+ return oSaveCanvas;
+ }
+ return oCanvas;
+ }
+
+ return {
+
+ saveAsPNG: function (oCanvas, bReturnImg, iWidth, iHeight) {
+ if (!bHasDataURL) {
+ return false;
+ }
+ var oScaledCanvas = scaleCanvas(oCanvas, iWidth, iHeight);
+ var strData = oScaledCanvas.toDataURL("image/png");
+ if (bReturnImg) {
+ return makeImageObject(strData);
+ } else {
+ saveFile(strData.replace("image/png", strDownloadMime));
+ }
+ return true;
+ },
+
+ saveAsJPEG: function (oCanvas, bReturnImg, iWidth, iHeight) {
+ if (!bHasDataURL) {
+ return false;
+ }
+
+ var oScaledCanvas = scaleCanvas(oCanvas, iWidth, iHeight);
+ var strMime = "image/jpeg";
+ var strData = oScaledCanvas.toDataURL(strMime);
+
+ // check if browser actually supports jpeg by looking for the mime type in the data uri.
+ // if not, return false
+ if (strData.indexOf(strMime) != 5) {
+ return false;
+ }
+
+ if (bReturnImg) {
+ return makeImageObject(strData);
+ } else {
+ saveFile(strData.replace(strMime, strDownloadMime));
+ }
+ return true;
+ },
+
+ saveAsBMP: function (oCanvas, bReturnImg, iWidth, iHeight) {
+ if (!(bHasImageData && bHasBase64)) {
+ return false;
+ }
+
+ var oScaledCanvas = scaleCanvas(oCanvas, iWidth, iHeight);
+
+ var oData = readCanvasData(oScaledCanvas);
+ var strImgData = createBMP(oData);
+ if (bReturnImg) {
+ return makeImageObject(makeDataURI(strImgData, "image/bmp"));
+ } else {
+ saveFile(makeDataURI(strImgData, strDownloadMime));
+ }
+ return true;
+ }
+ };
+
+})();
\ No newline at end of file
diff --git a/public/js/html2canvas.min.js b/public/js/html2canvas.min.js
new file mode 100644
index 0000000..e9e1ace
--- /dev/null
+++ b/public/js/html2canvas.min.js
@@ -0,0 +1,3718 @@
+/*
+ html2canvas 0.5.0-beta4
+ Copyright (c) 2017 Niklas von Hertzen
+ 2017-06-14 Custom build by Erik Koopmans, featuring latest bugfixes and features
+ Released under MIT License
+*/
+
+(function (f) { if (typeof exports === "object" && typeof module !== "undefined") { module.exports = f() } else if (typeof define === "function" && define.amd) { define([], f) } else { var g; if (typeof window !== "undefined") { g = window } else if (typeof global !== "undefined") { g = global } else if (typeof self !== "undefined") { g = self } else { g = this } g.html2canvas = f() } })(function () {
+ var define, module, exports; return (function e(t, n, r) { function s(o, u) { if (!n[o]) { if (!t[o]) { var a = typeof require == "function" && require; if (!u && a) return a(o, !0); if (i) return i(o, !0); var f = new Error("Cannot find module '" + o + "'"); throw f.code = "MODULE_NOT_FOUND", f } var l = n[o] = { exports: {} }; t[o][0].call(l.exports, function (e) { var n = t[o][1][e]; return s(n ? n : e) }, l, l.exports, e, t, n, r) } return n[o].exports } var i = typeof require == "function" && require; for (var o = 0; o < r.length; o++)s(r[o]); return s })({
+ 1: [function (_dereq_, module, exports) {
+ (function (global) {
+ /*! https://mths.be/punycode v1.4.1 by @mathias */
+ ; (function (root) {
+
+ /** Detect free variables */
+ var freeExports = typeof exports == 'object' && exports &&
+ !exports.nodeType && exports;
+ var freeModule = typeof module == 'object' && module &&
+ !module.nodeType && module;
+ var freeGlobal = typeof global == 'object' && global;
+ if (
+ freeGlobal.global === freeGlobal ||
+ freeGlobal.window === freeGlobal ||
+ freeGlobal.self === freeGlobal
+ ) {
+ root = freeGlobal;
+ }
+
+ /**
+ * The `punycode` object.
+ * @name punycode
+ * @type Object
+ */
+ var punycode,
+
+ /** Highest positive signed 32-bit float value */
+ maxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1
+
+ /** Bootstring parameters */
+ base = 36,
+ tMin = 1,
+ tMax = 26,
+ skew = 38,
+ damp = 700,
+ initialBias = 72,
+ initialN = 128, // 0x80
+ delimiter = '-', // '\x2D'
+
+ /** Regular expressions */
+ regexPunycode = /^xn--/,
+ regexNonASCII = /[^\x20-\x7E]/, // unprintable ASCII chars + non-ASCII chars
+ regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g, // RFC 3490 separators
+
+ /** Error messages */
+ errors = {
+ 'overflow': 'Overflow: input needs wider integers to process',
+ 'not-basic': 'Illegal input >= 0x80 (not a basic code point)',
+ 'invalid-input': 'Invalid input'
+ },
+
+ /** Convenience shortcuts */
+ baseMinusTMin = base - tMin,
+ floor = Math.floor,
+ stringFromCharCode = String.fromCharCode,
+
+ /** Temporary variable */
+ key;
+
+ /*--------------------------------------------------------------------------*/
+
+ /**
+ * A generic error utility function.
+ * @private
+ * @param {String} type The error type.
+ * @returns {Error} Throws a `RangeError` with the applicable error message.
+ */
+ function error(type) {
+ throw new RangeError(errors[type]);
+ }
+
+ /**
+ * A generic `Array#map` utility function.
+ * @private
+ * @param {Array} array The array to iterate over.
+ * @param {Function} callback The function that gets called for every array
+ * item.
+ * @returns {Array} A new array of values returned by the callback function.
+ */
+ function map(array, fn) {
+ var length = array.length;
+ var result = [];
+ while (length--) {
+ result[length] = fn(array[length]);
+ }
+ return result;
+ }
+
+ /**
+ * A simple `Array#map`-like wrapper to work with domain name strings or email
+ * addresses.
+ * @private
+ * @param {String} domain The domain name or email address.
+ * @param {Function} callback The function that gets called for every
+ * character.
+ * @returns {Array} A new string of characters returned by the callback
+ * function.
+ */
+ function mapDomain(string, fn) {
+ var parts = string.split('@');
+ var result = '';
+ if (parts.length > 1) {
+ // In email addresses, only the domain name should be punycoded. Leave
+ // the local part (i.e. everything up to `@`) intact.
+ result = parts[0] + '@';
+ string = parts[1];
+ }
+ // Avoid `split(regex)` for IE8 compatibility. See #17.
+ string = string.replace(regexSeparators, '\x2E');
+ var labels = string.split('.');
+ var encoded = map(labels, fn).join('.');
+ return result + encoded;
+ }
+
+ /**
+ * Creates an array containing the numeric code points of each Unicode
+ * character in the string. While JavaScript uses UCS-2 internally,
+ * this function will convert a pair of surrogate halves (each of which
+ * UCS-2 exposes as separate characters) into a single code point,
+ * matching UTF-16.
+ * @see `punycode.ucs2.encode`
+ * @see
+ * @memberOf punycode.ucs2
+ * @name decode
+ * @param {String} string The Unicode input string (UCS-2).
+ * @returns {Array} The new array of code points.
+ */
+ function ucs2decode(string) {
+ var output = [],
+ counter = 0,
+ length = string.length,
+ value,
+ extra;
+ while (counter < length) {
+ value = string.charCodeAt(counter++);
+ if (value >= 0xD800 && value <= 0xDBFF && counter < length) {
+ // high surrogate, and there is a next character
+ extra = string.charCodeAt(counter++);
+ if ((extra & 0xFC00) == 0xDC00) { // low surrogate
+ output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);
+ } else {
+ // unmatched surrogate; only append this code unit, in case the next
+ // code unit is the high surrogate of a surrogate pair
+ output.push(value);
+ counter--;
+ }
+ } else {
+ output.push(value);
+ }
+ }
+ return output;
+ }
+
+ /**
+ * Creates a string based on an array of numeric code points.
+ * @see `punycode.ucs2.decode`
+ * @memberOf punycode.ucs2
+ * @name encode
+ * @param {Array} codePoints The array of numeric code points.
+ * @returns {String} The new Unicode string (UCS-2).
+ */
+ function ucs2encode(array) {
+ return map(array, function (value) {
+ var output = '';
+ if (value > 0xFFFF) {
+ value -= 0x10000;
+ output += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);
+ value = 0xDC00 | value & 0x3FF;
+ }
+ output += stringFromCharCode(value);
+ return output;
+ }).join('');
+ }
+
+ /**
+ * Converts a basic code point into a digit/integer.
+ * @see `digitToBasic()`
+ * @private
+ * @param {Number} codePoint The basic numeric code point value.
+ * @returns {Number} The numeric value of a basic code point (for use in
+ * representing integers) in the range `0` to `base - 1`, or `base` if
+ * the code point does not represent a value.
+ */
+ function basicToDigit(codePoint) {
+ if (codePoint - 48 < 10) {
+ return codePoint - 22;
+ }
+ if (codePoint - 65 < 26) {
+ return codePoint - 65;
+ }
+ if (codePoint - 97 < 26) {
+ return codePoint - 97;
+ }
+ return base;
+ }
+
+ /**
+ * Converts a digit/integer into a basic code point.
+ * @see `basicToDigit()`
+ * @private
+ * @param {Number} digit The numeric value of a basic code point.
+ * @returns {Number} The basic code point whose value (when used for
+ * representing integers) is `digit`, which needs to be in the range
+ * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is
+ * used; else, the lowercase form is used. The behavior is undefined
+ * if `flag` is non-zero and `digit` has no uppercase form.
+ */
+ function digitToBasic(digit, flag) {
+ // 0..25 map to ASCII a..z or A..Z
+ // 26..35 map to ASCII 0..9
+ return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);
+ }
+
+ /**
+ * Bias adaptation function as per section 3.4 of RFC 3492.
+ * https://tools.ietf.org/html/rfc3492#section-3.4
+ * @private
+ */
+ function adapt(delta, numPoints, firstTime) {
+ var k = 0;
+ delta = firstTime ? floor(delta / damp) : delta >> 1;
+ delta += floor(delta / numPoints);
+ for (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {
+ delta = floor(delta / baseMinusTMin);
+ }
+ return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));
+ }
+
+ /**
+ * Converts a Punycode string of ASCII-only symbols to a string of Unicode
+ * symbols.
+ * @memberOf punycode
+ * @param {String} input The Punycode string of ASCII-only symbols.
+ * @returns {String} The resulting string of Unicode symbols.
+ */
+ function decode(input) {
+ // Don't use UCS-2
+ var output = [],
+ inputLength = input.length,
+ out,
+ i = 0,
+ n = initialN,
+ bias = initialBias,
+ basic,
+ j,
+ index,
+ oldi,
+ w,
+ k,
+ digit,
+ t,
+ /** Cached calculation results */
+ baseMinusT;
+
+ // Handle the basic code points: let `basic` be the number of input code
+ // points before the last delimiter, or `0` if there is none, then copy
+ // the first basic code points to the output.
+
+ basic = input.lastIndexOf(delimiter);
+ if (basic < 0) {
+ basic = 0;
+ }
+
+ for (j = 0; j < basic; ++j) {
+ // if it's not a basic code point
+ if (input.charCodeAt(j) >= 0x80) {
+ error('not-basic');
+ }
+ output.push(input.charCodeAt(j));
+ }
+
+ // Main decoding loop: start just after the last delimiter if any basic code
+ // points were copied; start at the beginning otherwise.
+
+ for (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {
+
+ // `index` is the index of the next character to be consumed.
+ // Decode a generalized variable-length integer into `delta`,
+ // which gets added to `i`. The overflow checking is easier
+ // if we increase `i` as we go, then subtract off its starting
+ // value at the end to obtain `delta`.
+ for (oldi = i, w = 1, k = base; /* no condition */; k += base) {
+
+ if (index >= inputLength) {
+ error('invalid-input');
+ }
+
+ digit = basicToDigit(input.charCodeAt(index++));
+
+ if (digit >= base || digit > floor((maxInt - i) / w)) {
+ error('overflow');
+ }
+
+ i += digit * w;
+ t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);
+
+ if (digit < t) {
+ break;
+ }
+
+ baseMinusT = base - t;
+ if (w > floor(maxInt / baseMinusT)) {
+ error('overflow');
+ }
+
+ w *= baseMinusT;
+
+ }
+
+ out = output.length + 1;
+ bias = adapt(i - oldi, out, oldi == 0);
+
+ // `i` was supposed to wrap around from `out` to `0`,
+ // incrementing `n` each time, so we'll fix that now:
+ if (floor(i / out) > maxInt - n) {
+ error('overflow');
+ }
+
+ n += floor(i / out);
+ i %= out;
+
+ // Insert `n` at position `i` of the output
+ output.splice(i++, 0, n);
+
+ }
+
+ return ucs2encode(output);
+ }
+
+ /**
+ * Converts a string of Unicode symbols (e.g. a domain name label) to a
+ * Punycode string of ASCII-only symbols.
+ * @memberOf punycode
+ * @param {String} input The string of Unicode symbols.
+ * @returns {String} The resulting Punycode string of ASCII-only symbols.
+ */
+ function encode(input) {
+ var n,
+ delta,
+ handledCPCount,
+ basicLength,
+ bias,
+ j,
+ m,
+ q,
+ k,
+ t,
+ currentValue,
+ output = [],
+ /** `inputLength` will hold the number of code points in `input`. */
+ inputLength,
+ /** Cached calculation results */
+ handledCPCountPlusOne,
+ baseMinusT,
+ qMinusT;
+
+ // Convert the input in UCS-2 to Unicode
+ input = ucs2decode(input);
+
+ // Cache the length
+ inputLength = input.length;
+
+ // Initialize the state
+ n = initialN;
+ delta = 0;
+ bias = initialBias;
+
+ // Handle the basic code points
+ for (j = 0; j < inputLength; ++j) {
+ currentValue = input[j];
+ if (currentValue < 0x80) {
+ output.push(stringFromCharCode(currentValue));
+ }
+ }
+
+ handledCPCount = basicLength = output.length;
+
+ // `handledCPCount` is the number of code points that have been handled;
+ // `basicLength` is the number of basic code points.
+
+ // Finish the basic string - if it is not empty - with a delimiter
+ if (basicLength) {
+ output.push(delimiter);
+ }
+
+ // Main encoding loop:
+ while (handledCPCount < inputLength) {
+
+ // All non-basic code points < n have been handled already. Find the next
+ // larger one:
+ for (m = maxInt, j = 0; j < inputLength; ++j) {
+ currentValue = input[j];
+ if (currentValue >= n && currentValue < m) {
+ m = currentValue;
+ }
+ }
+
+ // Increase `delta` enough to advance the decoder's state to ,
+ // but guard against overflow
+ handledCPCountPlusOne = handledCPCount + 1;
+ if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {
+ error('overflow');
+ }
+
+ delta += (m - n) * handledCPCountPlusOne;
+ n = m;
+
+ for (j = 0; j < inputLength; ++j) {
+ currentValue = input[j];
+
+ if (currentValue < n && ++delta > maxInt) {
+ error('overflow');
+ }
+
+ if (currentValue == n) {
+ // Represent delta as a generalized variable-length integer
+ for (q = delta, k = base; /* no condition */; k += base) {
+ t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);
+ if (q < t) {
+ break;
+ }
+ qMinusT = q - t;
+ baseMinusT = base - t;
+ output.push(
+ stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))
+ );
+ q = floor(qMinusT / baseMinusT);
+ }
+
+ output.push(stringFromCharCode(digitToBasic(q, 0)));
+ bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);
+ delta = 0;
+ ++handledCPCount;
+ }
+ }
+
+ ++delta;
+ ++n;
+
+ }
+ return output.join('');
+ }
+
+ /**
+ * Converts a Punycode string representing a domain name or an email address
+ * to Unicode. Only the Punycoded parts of the input will be converted, i.e.
+ * it doesn't matter if you call it on a string that has already been
+ * converted to Unicode.
+ * @memberOf punycode
+ * @param {String} input The Punycoded domain name or email address to
+ * convert to Unicode.
+ * @returns {String} The Unicode representation of the given Punycode
+ * string.
+ */
+ function toUnicode(input) {
+ return mapDomain(input, function (string) {
+ return regexPunycode.test(string)
+ ? decode(string.slice(4).toLowerCase())
+ : string;
+ });
+ }
+
+ /**
+ * Converts a Unicode string representing a domain name or an email address to
+ * Punycode. Only the non-ASCII parts of the domain name will be converted,
+ * i.e. it doesn't matter if you call it with a domain that's already in
+ * ASCII.
+ * @memberOf punycode
+ * @param {String} input The domain name or email address to convert, as a
+ * Unicode string.
+ * @returns {String} The Punycode representation of the given domain name or
+ * email address.
+ */
+ function toASCII(input) {
+ return mapDomain(input, function (string) {
+ return regexNonASCII.test(string)
+ ? 'xn--' + encode(string)
+ : string;
+ });
+ }
+
+ /*--------------------------------------------------------------------------*/
+
+ /** Define the public API */
+ punycode = {
+ /**
+ * A string representing the current Punycode.js version number.
+ * @memberOf punycode
+ * @type String
+ */
+ 'version': '1.4.1',
+ /**
+ * An object of methods to convert from JavaScript's internal character
+ * representation (UCS-2) to Unicode code points, and back.
+ * @see
+ * @memberOf punycode
+ * @type Object
+ */
+ 'ucs2': {
+ 'decode': ucs2decode,
+ 'encode': ucs2encode
+ },
+ 'decode': decode,
+ 'encode': encode,
+ 'toASCII': toASCII,
+ 'toUnicode': toUnicode
+ };
+
+ /** Expose `punycode` */
+ // Some AMD build optimizers, like r.js, check for specific condition patterns
+ // like the following:
+ if (
+ typeof define == 'function' &&
+ typeof define.amd == 'object' &&
+ define.amd
+ ) {
+ define('punycode', function () {
+ return punycode;
+ });
+ } else if (freeExports && freeModule) {
+ if (module.exports == freeExports) {
+ // in Node.js, io.js, or RingoJS v0.8.0+
+ freeModule.exports = punycode;
+ } else {
+ // in Narwhal or RingoJS v0.7.0-
+ for (key in punycode) {
+ punycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]);
+ }
+ }
+ } else {
+ // in Rhino or a web browser
+ root.punycode = punycode;
+ }
+
+ }(this));
+
+ }).call(this, typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
+ }, {}], 2: [function (_dereq_, module, exports) {
+ var log = _dereq_('./log');
+
+ function restoreOwnerScroll(ownerDocument, x, y) {
+ if (ownerDocument.defaultView && (x !== ownerDocument.defaultView.pageXOffset || y !== ownerDocument.defaultView.pageYOffset)) {
+ ownerDocument.defaultView.scrollTo(x, y);
+ }
+ }
+
+ function cloneCanvasContents(canvas, clonedCanvas) {
+ try {
+ if (clonedCanvas) {
+ clonedCanvas.width = canvas.width;
+ clonedCanvas.height = canvas.height;
+ clonedCanvas.getContext("2d").putImageData(canvas.getContext("2d").getImageData(0, 0, canvas.width, canvas.height), 0, 0);
+ }
+ } catch (e) {
+ log("Unable to copy canvas content from", canvas, e);
+ }
+ }
+
+ function cloneNode(node, javascriptEnabled) {
+ var clone = node.nodeType === 3 ? document.createTextNode(node.nodeValue) : node.cloneNode(false);
+
+ var child = node.firstChild;
+ while (child) {
+ if (javascriptEnabled === true || child.nodeType !== 1 || child.nodeName !== 'SCRIPT') {
+ clone.appendChild(cloneNode(child, javascriptEnabled));
+ }
+ child = child.nextSibling;
+ }
+
+ if (node.nodeType === 1) {
+ clone._scrollTop = node.scrollTop;
+ clone._scrollLeft = node.scrollLeft;
+ if (node.nodeName === "CANVAS") {
+ cloneCanvasContents(node, clone);
+ } else if (node.nodeName === "TEXTAREA" || node.nodeName === "SELECT") {
+ clone.value = node.value;
+ }
+ }
+
+ return clone;
+ }
+
+ function initNode(node) {
+ if (node.nodeType === 1) {
+ node.scrollTop = node._scrollTop;
+ node.scrollLeft = node._scrollLeft;
+
+ var child = node.firstChild;
+ while (child) {
+ initNode(child);
+ child = child.nextSibling;
+ }
+ }
+ }
+
+ module.exports = function (ownerDocument, containerDocument, width, height, options, x, y) {
+ var documentElement = cloneNode(ownerDocument.documentElement, options.javascriptEnabled);
+ var container = containerDocument.createElement("iframe");
+
+ container.className = "html2canvas-container";
+ container.style.visibility = "hidden";
+ container.style.position = "fixed";
+ container.style.left = "-10000px";
+ container.style.top = "0px";
+ container.style.border = "0";
+ container.width = width;
+ container.height = height;
+ container.scrolling = "no"; // ios won't scroll without it
+ containerDocument.body.appendChild(container);
+
+ return new Promise(function (resolve) {
+ var documentClone = container.contentWindow.document;
+
+ /* Chrome doesn't detect relative background-images assigned in inline
diff --git a/src/api/area.json b/src/api/area.json
new file mode 100644
index 0000000..0fa5a0e
--- /dev/null
+++ b/src/api/area.json
@@ -0,0 +1,14780 @@
+[
+ {
+ "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/api/common.js b/src/api/common.js
new file mode 100644
index 0000000..fe1e925
--- /dev/null
+++ b/src/api/common.js
@@ -0,0 +1,11 @@
+import http from '../utils/http';
+
+const CommonAPI = {
+ Post(name, data, index, size) {
+ if (index)
+ return http.post(`Common/${name}`, { data: data, PageIndex: index, PageSize: size });
+ return http.post(`Common/${name}`, { data: data });
+ },
+}
+
+export default CommonAPI;
\ No newline at end of file
diff --git a/src/api/location.js b/src/api/location.js
new file mode 100644
index 0000000..3d29340
--- /dev/null
+++ b/src/api/location.js
@@ -0,0 +1,37 @@
+export function getCurrentPosition() {
+ return new Promise((resolve, reject) => {
+ if (navigator.geolocation) {
+ navigator.geolocation.getCurrentPosition(
+ (position) => {
+ resolve({
+ latitude: position.coords.latitude,
+ longitude: position.coords.longitude
+ });
+ },
+ (error) => {
+ reject(error);
+ },
+ {
+ enableHighAccuracy: true,
+ timeout: 5000,
+ maximumAge: 0
+ }
+ );
+ } else {
+ reject(new Error('Geolocation is not supported'));
+ }
+ });
+}
+
+// 获取城市代码
+export async function getCityCode() {
+ try {
+ const position = await getCurrentPosition();
+ const url = `https://restapi.amap.com/v3/geocode/regeo?key=${AMAP_KEY}&location=${position.longitude},${position.latitude}`;
+ const response = await axios.get(url);
+ return response.data?.regeocode?.addressComponent?.citycode;
+ } catch (error) {
+ console.error('获取城市代码失败:', error);
+ return null;
+ }
+}
diff --git a/src/api/member.js b/src/api/member.js
new file mode 100644
index 0000000..a120b51
--- /dev/null
+++ b/src/api/member.js
@@ -0,0 +1,17 @@
+import http from '../utils/http'
+
+const MemberAPI = {
+ WXAuthorize(data) {
+ return http.get('Wechat/Authorize', { path: data });
+ },
+ Login(data) {
+ return http.get('Auth/Token', data);
+ },
+ Post(name, data, index, size) {
+ if (index)
+ return http.post(`Member/${name}`, { data: data, PageIndex: index, PageSize: size });
+ return http.post(`Member/${name}`, { data: data });
+ },
+}
+
+export default MemberAPI;
\ No newline at end of file
diff --git a/src/api/pay.js b/src/api/pay.js
new file mode 100644
index 0000000..bad7ce6
--- /dev/null
+++ b/src/api/pay.js
@@ -0,0 +1,21 @@
+import http from '../utils/http'
+
+const PayAPI = {
+ PayInfo(data) {
+ return http.post('Member/PayInfo', { data: data });
+ },
+ WalletPay(data) {
+ return http.post('Member/WalletPay', { data, data });
+ },
+ Wechat_JS(data) {
+ return http.get('Pay/Wechat_JS', data);
+ },
+ AliPay_H5(data) {
+ return http.get('Pay/AliPay_H5', data);
+ },
+ // Wechat_Mini(data) {
+ // return http.get('Pay/Wechat_Mini', data);
+ // },
+}
+
+export default PayAPI;
\ No newline at end of file
diff --git a/src/main.js b/src/main.js
new file mode 100644
index 0000000..ac5574f
--- /dev/null
+++ b/src/main.js
@@ -0,0 +1,288 @@
+import $ from 'jquery';
+import { createApp, h, render } from "vue";
+import App from "./App.vue";
+import store from './store';
+// import { initPreload } from './api/amap';
+import { createRouter, createWebHashHistory } from "vue-router";
+import ElementPlus from 'element-plus'
+import 'element-plus/dist/index.css'
+
+
+// // 初始化预加载
+// initPreload().then(() => {
+// console.log('地区数据预加载完成');
+// }).catch(err => {
+// console.error('地区数据预加载失败:', err);
+// });
+import routes from "./router";
+import less from "less";
+import axios from 'axios';
+import "vue-fast-marquee/style.css";
+import Marquee from 'vue-fast-marquee';
+import VueQr from "vue-qr/src/packages/vue-qr.vue";
+import * as ElementPlusIconsVue from '@element-plus/icons-vue'
+import {
+ showToast,
+ showLoadingToast,
+ showSuccessToast,
+ showFailToast,
+ showNotify,
+ showDialog,
+ showConfirmDialog,
+ showImagePreview,
+ closeToast
+} from "vant";
+import "vant/es/notify/style";
+import "vant/es/dialog/style";
+import "vant/es/toast/style";
+import "vant/es/image-preview/style";
+
+const app = createApp(App);
+app.config.globalProperties.$ = $;
+app.use(ElementPlus);
+app.component("VueQr", VueQr)
+for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
+ app.component(key, component)
+}
+const router = createRouter({
+ history: createWebHashHistory(),
+ routes,
+ scrollBehavior(to, from, savedPosition) {
+ if (to.meta.cache && savedPosition)
+ return new Promise((resolve, reject) => {
+ resolve(savedPosition);
+ });
+ else
+ return { top: 0 };
+ }
+});
+
+app.use(router);
+
+app.use(store);
+app.use(Marquee);
+const getStore = (e) => {
+ return store.state[e];
+}
+app.config.globalProperties.$getStore = getStore;
+
+app.config.globalProperties.$showDialog = showDialog;
+app.config.globalProperties.$showConfirmDialog = showConfirmDialog;
+app.config.globalProperties.$showNotify = showNotify;
+app.config.globalProperties.$showToast = showToast;
+app.config.globalProperties.$showLoadingToast = showLoadingToast;
+app.config.globalProperties.$showSuccessToast = showSuccessToast;
+app.config.globalProperties.$showFailToast = showFailToast;
+app.config.globalProperties.$closeToast = closeToast;
+app.config.globalProperties.$showImagePreview = showImagePreview;
+
+app.config.globalProperties.$toMoney = (e, label) => {
+ const num = parseFloat(e).toFixed(2);
+ const [a, b] = num.split('.');
+ return `${a}.<${label}>${b}${label}>`;
+};
+
+app.config.globalProperties.$autoToast = (val, msg, type = 'Fail', isThrow = true) => {
+ if (val) {
+ app.config.globalProperties[`$show${type}Toast`](msg);
+ if (isThrow)
+ throw msg;
+ }
+};
+
+let skeleton;
+app.config.globalProperties.$showSkeleton = () => {
+ if (!skeleton)
+ skeleton = h(BaseSkeleton);
+ render(skeleton, document.body);
+ document.body.appendChild(skeleton.el);
+};
+app.config.globalProperties.$closeSkeleton = () => {
+ if (skeleton && document.body.contains(skeleton.el))
+ document.body.removeChild(skeleton.el);
+};
+
+app.config.globalProperties.$navigate = (e) => {
+ if (window.__wxjs_environment === 'miniprogram') {
+ const index = e.indexOf('?');
+ let query = '';
+ if (index > -1)
+ query = e.slice(index);
+ const data = router.resolve({ path: e });
+ wx.miniProgram.navigateTo({
+ url: `/pages/webview/webview?url=${encodeURIComponent(`${location.origin}/${data.href}${query}`)}`,
+ });
+ }
+ else { router.push(e); }
+};
+app.config.globalProperties.$ls = {
+ set: (e, obj) => {
+ localStorage.setItem(e, obj);
+ },
+ get: (e) => {
+ return localStorage.getItem(e);
+ },
+ remove: (e) => {
+ localStorage.removeItem(e);
+ }
+};
+app.config.globalProperties.$ss = {
+ set: (e, obj) => {
+ sessionStorage.setItem(e, obj);
+ },
+ get: (e) => {
+ return sessionStorage.getItem(e);
+ },
+ remove: (e) => {
+ sessionStorage.removeItem(e);
+ }
+};
+
+app.config.globalProperties.$conf = {
+ apiUrl: import.meta.env.VITE_API_URL,
+ ossUrl: import.meta.env.VITE_OSS_URL,
+};
+app.config.globalProperties.$unsigned = (e) => { return e > 0 ? e : 0 };
+app.config.globalProperties.$truncate = (e, p, a) => {
+ return `${e.substring(0, p)}...${e.substring(e.length - a)}`;
+};
+app.config.globalProperties.$token = (e) => {
+ const token = localStorage.getItem(e).split('.');
+ return {
+ header: JSON.parse(atob(token[0])),
+ payload: JSON.parse(atob(token[1])),
+ }
+};
+app.config.globalProperties.$file = (e) => {
+ e = e || 'base/avatar.png';
+ if (e.startsWith('http://') || e.startsWith('https://'))
+ return e;
+ else
+ return import.meta.env.VITE_OSS_URL + e;
+};
+app.config.globalProperties.$openUrl = (e) => {
+ window.open(e);
+};
+app.config.globalProperties.$refresh = () => { window.location.replace('#/refresh?key=' + app.config.globalProperties.$route.name) };
+app.config.globalProperties.$verify = (permissions, module, type) => {
+ return permissions.indexOf(`${module}:${type}`) > -1;
+};
+app.config.globalProperties.$substring = (e, begin, end) => {
+ if (typeof e !== 'string') {
+ return '';
+ }
+ return e.length > end ? e.substring(begin, end) + "..." : e;
+}
+app.config.globalProperties.$fileSize = (e) => {
+ let level = 0;
+ while (e >= 1024 && level < 4) {
+ e /= 1024;
+ level++;
+ }
+ return `${e.toFixed(2)}${['B', 'KB', 'MB', 'GB'][level]}`;
+};
+app.config.globalProperties.$compressFiles = (files) => {
+ const fileArray = Array.isArray(files) ? files : [files];
+
+ const promises = fileArray.map(file => {
+ return new Promise((resolve, reject) => {
+ if (!(file instanceof File)) {
+ return reject(new Error('Invalid file type'));
+ }
+ imageConversion.compressAccurately(file, 400)
+ .then(res => {
+ res = new File([res], file.name, { type: res.type, lastModified: Date.now() });
+ resolve(res);
+ })
+ .catch(err => {
+ console.error('压缩失败', err);
+ reject(err);
+ });
+ });
+ });
+
+ return Promise.all(promises);
+};
+
+app.config.globalProperties.$uploadFiles = (files) => {
+ return new Promise((resolve, reject) => {
+ const config = {
+ headers: {
+ 'Content-Type': "multipart/form-data",
+ 'Member-Token': localStorage.getItem('member_token'),
+ }
+ };
+ axios.post(`${import.meta.env.VITE_API_URL}File/MemberUpload`, files, config).then(data => {
+ if (data?.data) {
+ if (data.data?.errcode) {
+ reject(data.data);
+ }
+ else {
+ //上传成功
+ resolve(data.data);
+ }
+ }
+ else {
+ reject({ errmsg: '上传失败' });
+ }
+ }).catch(err => {
+ reject(err);
+ });
+ });
+}
+
+app.config.globalProperties.$distance = (e) => {
+ if (e < 1)
+ return `${e * 1000}m`;
+ return `${e}km`;
+};
+app.config.globalProperties.$goIndex = () => {
+ if (window.__wxjs_environment == 'miniprogram') {
+ wx.miniProgram.reLaunch({
+ url: `/pages/index/index`,
+ });
+ }
+ else {
+ location.replace('#/');
+ setTimeout(() => {
+ location.reload();
+ }, 100);
+ }
+}
+
+app.config.globalProperties.$CheckStates = [{ label: '待审核', color: 'primary' }, { label: '已通过', color: 'success' }, { label: '已拒绝', color: 'danger' }];
+
+// api
+import MemberAPI from './api/member';
+import CommonAPI from './api/common';
+import PayAPI from './api/pay';
+app.config.globalProperties.$MemberAPI = MemberAPI;
+app.config.globalProperties.$CommonAPI = CommonAPI;
+app.config.globalProperties.$PayAPI = PayAPI;
+
+app.config.globalProperties.$isWechat = () => { return navigator.userAgent.toLowerCase().match(/MicroMessenger/i) == 'micromessenger' };
+app.config.globalProperties.$isWechatMini = () => { return window.__wxjs_environment == 'miniprogram' };
+app.config.globalProperties.$openLocation = (lon, lat, name = '', address = '') => {
+ if (wx && app.config.globalProperties.$isWechat())
+ wx.openLocation({
+ longitude: lon,
+ latitude: lat,
+ name: name,
+ address: address,
+ scale: 18,
+ });
+ else
+ window.open(`http://api.map.baidu.com/marker?location=${lat},${lon}&coord_type=gcj02&title=${name}&content=${address}&output=html`);
+};
+
+app.config.globalProperties.$isLogin = () => {
+ if (!localStorage.getItem('member_token'))
+ return false;
+ const token = app.config.globalProperties.$token('member_token');
+ return token.header.exp > Date.now() && (window.__wxjs_environment != 'miniprogram' || localStorage.getItem('miniopenid'));
+}
+
+app.config.globalProperties.$validPhone = (e) => {
+ return /^1(3|4|5|6|7|8|9)\d{9}$/.test(e);
+}
+app.mount("#app");
diff --git a/src/router.js b/src/router.js
new file mode 100644
index 0000000..b189107
--- /dev/null
+++ b/src/router.js
@@ -0,0 +1,61 @@
+const routes = [
+ {
+ path: '/',
+ name: 'Index',
+ component: () => import('./views/Index.vue'),
+ children: [
+
+ ],
+ meta: { noLogin: true, }
+ },
+ {
+ path: '/SyncAuth',
+ name: 'SyncAuth',
+ component: () => import('./views/SyncAuth.vue'),
+ meta: {
+ title: '同步认证',
+ noLogin: true,
+ }
+ },
+ {
+ path: '/Clear',
+ name: 'Clear',
+ component: () => import('./views/Clear.vue'),
+ meta: {
+ title: '清除缓存',
+ noLogin: true,
+ }
+ },
+ {
+ path: '/404',
+ name: '404',
+ component: () => import('./views/404.vue'),
+ meta: {
+ title: '404',
+ noLogin: true,
+ }
+ },
+ {
+ path: '/Home',
+ name: 'Home',
+ component: () => import('./views/Home.vue'),
+ meta: {
+ noLogin: true,
+ }
+ },
+ {
+ path: '/List',
+ name: 'List',
+ component: () => import('./views/List.vue'),
+ meta: {
+ noLogin: true,
+ }
+ },
+ {
+ path: '/:pathMatch(.*)',
+ redirect: '/404'
+ },
+
+];
+
+export default routes;
\ No newline at end of file
diff --git a/src/store/index.js b/src/store/index.js
new file mode 100644
index 0000000..fc0a83b
--- /dev/null
+++ b/src/store/index.js
@@ -0,0 +1,20 @@
+// store.js
+import { createStore } from 'vuex';
+
+const store = createStore({
+ state: {
+ imageSrc: null,
+ },
+ mutations: {
+ setImageSrc(state, src) {
+ state.imageSrc = src;
+ },
+ },
+ actions: {
+ updateImageSrc({ commit }, src) {
+ commit('setImageSrc', src);
+ },
+ },
+});
+
+export default store;
diff --git a/src/utils/http.js b/src/utils/http.js
new file mode 100644
index 0000000..4c07148
--- /dev/null
+++ b/src/utils/http.js
@@ -0,0 +1,36 @@
+import {request} from './request'
+const http = {
+ get(url, params) {
+ const config = {
+ method: 'get',
+ url: url
+ }
+ if (params) config.params = params
+ return request(config)
+ },
+ post(url, params) {
+ const config = {
+ method: 'post',
+ url: url
+ }
+ if (params) config.data = params
+ return request(config)
+ },
+ put(url, params) {
+ const config = {
+ method: 'put',
+ url: url
+ }
+ if (params) config.params = params
+ return request(config)
+ },
+ delete(url, params) {
+ const config = {
+ method: 'post',
+ url: url
+ }
+ if (params) config.params = params
+ return request(config)
+ }
+}
+export default http
\ No newline at end of file
diff --git a/src/utils/request.js b/src/utils/request.js
new file mode 100644
index 0000000..8887aef
--- /dev/null
+++ b/src/utils/request.js
@@ -0,0 +1,68 @@
+import axios from 'axios'
+
+export function request(config) {
+ const instance = axios.create({
+ baseURL: import.meta.env.VITE_API_URL,
+ timeout: 60000,
+ })
+ instance.interceptors.request.use(config => {
+ config.headers['Member-Token'] = localStorage.getItem('member_token') || '';
+ config.headers['Content-Type'] = 'application/json';
+ if (config.data) {
+ config.data.ts = Date.now();
+ } else {
+ config.data = {
+ data: {},
+ ts: Date.now(),
+ };
+ }
+ return config;
+ }, error => {
+ return Promise.error(error)
+ }
+ )
+ instance.interceptors.response.use(rep => {
+ if (rep.data.errcode) {
+ if (rep.data.errcode == 41000) {
+ localStorage.setItem('member_token', rep.data.access_token);
+ return new Promise((resolve, reject) => {
+ axios.request(rep.config).then(data => {
+ if (data.data.errcode)
+ reject(data.data);
+ else
+ resolve(data.data);
+ }).catch(err => {
+ if (err.isAxiosError) {
+ switch (err.code) {
+ case 'ERR_NETWORK': reject('服务器连接失败');
+ case 'ECONNABORTED': reject('网络繁忙,请重试');
+ default: reject(err.message);
+ }
+ }
+ reject(err);
+ });
+ });
+ }
+ else if ([41001, 40001, 40002].includes(rep.data.errcode)) {
+ localStorage.removeItem('member_token');
+ location.replace('#/Login');
+ return Promise.reject({ errcode: rep.data.errcode, errmsg: '请先登录' });
+ }
+ else
+ return Promise.reject(rep.data);
+ }
+ else
+ return Promise.resolve(rep.data);
+ }, error => {
+ if (error.isAxiosError) {
+ switch (error.code) {
+ case 'ERR_NETWORK': return Promise.reject('服务器连接失败');
+ case 'ECONNABORTED': return Promise.reject('网络繁忙,请重试');
+ default: return Promise.reject(error.message);
+ }
+ }
+ return Promise.reject(error)
+ })
+ return instance(config);
+}
+export default request
\ No newline at end of file
diff --git a/src/views/404.vue b/src/views/404.vue
new file mode 100644
index 0000000..4cbcd10
--- /dev/null
+++ b/src/views/404.vue
@@ -0,0 +1,24 @@
+
+
+
+ 返回
+
+
+
+
\ No newline at end of file
diff --git a/src/views/Clear.vue b/src/views/Clear.vue
new file mode 100644
index 0000000..70b6fe7
--- /dev/null
+++ b/src/views/Clear.vue
@@ -0,0 +1,22 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/Home.vue b/src/views/Home.vue
new file mode 100644
index 0000000..4dc8326
--- /dev/null
+++ b/src/views/Home.vue
@@ -0,0 +1,535 @@
+
+
+
+
+
+
+
+
+
素材中心
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

+
{{ label }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 营销热点
+
+
+
+
+
+
+
+
+
+
+
+ {{ list.title }}
+
+
+ {{ list.time }}
+
+
+
+
+
+ {{ list.countdown }}
+
+
+ 天后
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 免抠元素
+
+
+
+
+
+
+
+
+
+
![]()
+
+
+
{{ list.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 行业专区
+
+
+
+
+
+
+
+
+
+
![]()
+
+
+
{{ list.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

+
毛笔
+
+
+

+
硬笔书法
+
+
+

+
电商海报
+
+
+

+
卡通
+
+
+

+
黑体
+
+
+

+
宋体
+
+
+

+
隶书
+
+
+

+
创意
+
+
+
+
+
+
+ 没有更多了
+
+
+
+
+
+
+
+
+
diff --git a/src/views/Index.vue b/src/views/Index.vue
new file mode 100644
index 0000000..4a4a725
--- /dev/null
+++ b/src/views/Index.vue
@@ -0,0 +1,69 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/List.vue b/src/views/List.vue
new file mode 100644
index 0000000..f3cdb4c
--- /dev/null
+++ b/src/views/List.vue
@@ -0,0 +1,275 @@
+
+
+
+
+
+
+
+
+
素材中心
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

+
{{ label }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 场景
+
+
+
+
+
+
+ 版式
+
+
+
+
+
+
+
+

+

+

+

+

+


+

+

+

+

+


+

+

+

+

+


+

+

+

+

+

+

+

+

+


+

+

+

+

+


+

+

+

+

+

+
+
+
+
+

+
+

+
+
素材ID:20037324
+
素材分类:广告设计
+
颜色模式:RGB
+
尺寸像素:2953×6398px
+
文件大小:50.9M
+
文件格式: 
+
推荐软件:Photoshop CC
+
+
+
+
+
+
+
+

+

+
+
+

+

+
+
+

+

+
+
+
+
+
+
+
+
+
+ 没有更多了
+
+
+
+
+
+
+
+
diff --git a/src/views/SyncAuth.vue b/src/views/SyncAuth.vue
new file mode 100644
index 0000000..3249e5d
--- /dev/null
+++ b/src/views/SyncAuth.vue
@@ -0,0 +1,28 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/tsconfig.json b/tsconfig.json
new file mode 100644
index 0000000..e534ebe
--- /dev/null
+++ b/tsconfig.json
@@ -0,0 +1,43 @@
+{
+ "compilerOptions": {
+ "target": "esnext",
+ "module": "esnext",
+ "moduleResolution": "node",
+ "strict": true,
+ "jsx": "preserve",
+ "esModuleInterop": true,
+ "skipLibCheck": true,
+ "forceConsistentCasingInFileNames": true,
+ "baseUrl": ".",
+ "paths": {
+ "@/*": [
+ "src/*"
+ ]
+ },
+ "types": [
+ "vite/client",
+ "node"
+ ],
+ "lib": [
+ "esnext",
+ "dom",
+ "dom.iterable",
+ "scripthost"
+ ],
+ "resolveJsonModule": true,
+ "allowJs": true
+ },
+ "include": [
+ "src/**/*.ts",
+ "src/**/*.d.ts",
+ "src/**/*.tsx",
+ "src/**/*.vue",
+ "src/**/*.js",
+ "src/**/*.json",
+ "public/js/canvas2image.js"
+ ],
+ "exclude": [
+ "node_modules",
+ "dist"
+ ]
+}
\ No newline at end of file
diff --git a/vite.config.js b/vite.config.js
new file mode 100644
index 0000000..46e3ab2
--- /dev/null
+++ b/vite.config.js
@@ -0,0 +1,41 @@
+import vue from "@vitejs/plugin-vue";
+import Components from "unplugin-vue-components/vite";
+import { VantResolver } from "@vant/auto-import-resolver";
+import { defineConfig } from 'vite'
+import AutoImport from 'unplugin-auto-import/vite'
+import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
+
+export default {
+ server: {
+ host: '0.0.0.0',
+ port: 9992,
+ // 是否开启 https
+ https: false,
+ },
+ plugins: [
+ vue(),
+ Components({
+ resolvers: [VantResolver()],
+ }),
+ AutoImport({
+ resolvers: [ElementPlusResolver()],
+ }),
+ Components({
+ resolvers: [ElementPlusResolver()],
+ }),
+ ],
+ css: {
+ postcss: {
+ plugins: [
+ // require('postcss-px-to-viewport')({
+ // viewportWidth: 375, // 设计稿的宽度
+ // unitPrecision: 5,
+ // viewportUnit: 'vw',
+ // selectorBlackList: ['ignore', 'tab-bar'],
+ // minPixelValue: 1,
+ // mediaQuery: false
+ // })
+ ]
+ }
+ }
+};