From 3395e0a11041385471f3e99c4abf3e1fcd2bef97 Mon Sep 17 00:00:00 2001 From: wangzhiwei Date: Fri, 24 Apr 2026 11:55:21 +0800 Subject: [PATCH] =?UTF-8?q?=E9=9B=86=E6=88=90=20payment=5Forder=20?= =?UTF-8?q?=E8=A1=A8=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3=E5=88=B0=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E5=88=97=E8=A1=A8=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 24 + .vscode/extensions.json | 3 + README.md | 5 + index.html | 13 + package-lock.json | 1876 +++++++++++++++++++++++++++++++++ package.json | 23 + public/vite.svg | 1 + skills-api.json | 1 + src/App.vue | 15 + src/api/account.js | 16 + src/api/content.js | 29 + src/api/dict.js | 16 + src/api/index.js | 57 + src/api/order.js | 10 + src/api/role.js | 18 + src/api/user.js | 28 + src/assets/vue.svg | 1 + src/components/HelloWorld.vue | 43 + src/config/index.js | 8 + src/main.js | 16 + src/router/index.js | 73 ++ src/store/user.js | 27 + src/style.css | 79 ++ src/views/Dashboard.vue | 233 ++++ src/views/Home.vue | 322 ++++++ src/views/Login.vue | 231 ++++ src/views/account/List.vue | 527 +++++++++ src/views/content/List.vue | 822 +++++++++++++++ src/views/dict/List.vue | 484 +++++++++ src/views/order/List.vue | 415 ++++++++ src/views/role/List.vue | 547 ++++++++++ src/views/user/List.vue | 678 ++++++++++++ test-captcha.py | 37 + vite.config.js | 7 + 34 files changed, 6685 insertions(+) create mode 100644 .gitignore create mode 100644 .vscode/extensions.json create mode 100644 README.md create mode 100644 index.html create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 public/vite.svg create mode 100644 skills-api.json create mode 100644 src/App.vue create mode 100644 src/api/account.js create mode 100644 src/api/content.js create mode 100644 src/api/dict.js create mode 100644 src/api/index.js create mode 100644 src/api/order.js create mode 100644 src/api/role.js create mode 100644 src/api/user.js create mode 100644 src/assets/vue.svg create mode 100644 src/components/HelloWorld.vue create mode 100644 src/config/index.js create mode 100644 src/main.js create mode 100644 src/router/index.js create mode 100644 src/store/user.js create mode 100644 src/style.css create mode 100644 src/views/Dashboard.vue create mode 100644 src/views/Home.vue create mode 100644 src/views/Login.vue create mode 100644 src/views/account/List.vue create mode 100644 src/views/content/List.vue create mode 100644 src/views/dict/List.vue create mode 100644 src/views/order/List.vue create mode 100644 src/views/role/List.vue create mode 100644 src/views/user/List.vue create mode 100644 test-captcha.py create mode 100644 vite.config.js diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a547bf3 --- /dev/null +++ b/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..a7cea0b --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,3 @@ +{ + "recommendations": ["Vue.volar"] +} diff --git a/README.md b/README.md new file mode 100644 index 0000000..1511959 --- /dev/null +++ b/README.md @@ -0,0 +1,5 @@ +# Vue 3 + Vite + +This template should help get you started developing with Vue 3 in Vite. The template uses Vue 3 ` + + diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..7aca08c --- /dev/null +++ b/package-lock.json @@ -0,0 +1,1876 @@ +{ + "name": "admin-frontend", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "admin-frontend", + "version": "0.0.0", + "dependencies": { + "axios": "^1.7.7", + "crypto-js": "^4.2.0", + "element-plus": "^2.8.4", + "pinia": "^2.2.5", + "vue": "^3.5.25", + "vue-router": "^4.4.5" + }, + "devDependencies": { + "@vitejs/plugin-vue": "^6.0.2", + "vite": "^7.3.1" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.0", + "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.29.0.tgz", + "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.0" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.0", + "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.29.0.tgz", + "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" + }, + "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/aix-ppc64": { + "version": "0.27.3", + "resolved": "https://registry.npmmirror.com/@esbuild/aix-ppc64/-/aix-ppc64-0.27.3.tgz", + "integrity": "sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.27.3", + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.27.3.tgz", + "integrity": "sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.27.3.tgz", + "integrity": "sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.27.3.tgz", + "integrity": "sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.27.3.tgz", + "integrity": "sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.27.3.tgz", + "integrity": "sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.3.tgz", + "integrity": "sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.27.3.tgz", + "integrity": "sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.27.3", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.27.3.tgz", + "integrity": "sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.27.3.tgz", + "integrity": "sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.27.3", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.27.3.tgz", + "integrity": "sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.27.3", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.27.3.tgz", + "integrity": "sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.27.3", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.27.3.tgz", + "integrity": "sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.27.3", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.27.3.tgz", + "integrity": "sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.27.3", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.27.3.tgz", + "integrity": "sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.27.3", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.27.3.tgz", + "integrity": "sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.27.3.tgz", + "integrity": "sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmmirror.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.3.tgz", + "integrity": "sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.27.3.tgz", + "integrity": "sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmmirror.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.3.tgz", + "integrity": "sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.27.3.tgz", + "integrity": "sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmmirror.com/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.3.tgz", + "integrity": "sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.27.3.tgz", + "integrity": "sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.27.3.tgz", + "integrity": "sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.27.3", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.27.3.tgz", + "integrity": "sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.27.3.tgz", + "integrity": "sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "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/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/@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/@rolldown/pluginutils": { + "version": "1.0.0-rc.2", + "resolved": "https://registry.npmmirror.com/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.2.tgz", + "integrity": "sha512-izyXV/v+cHiRfozX62W9htOAvwMo4/bXKDrQ+vom1L1qRuexPock/7VZDAhnpHCLNejd3NJ6hiab+tO0D44Rgw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.59.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.59.0.tgz", + "integrity": "sha512-upnNBkA6ZH2VKGcBj9Fyl9IGNPULcjXRlg0LLeaioQWueH30p6IXtJEbKAgvyv+mJaMxSm1l6xwDXYjpEMiLMg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.59.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.59.0.tgz", + "integrity": "sha512-hZ+Zxj3SySm4A/DylsDKZAeVg0mvi++0PYVceVyX7hemkw7OreKdCvW2oQ3T1FMZvCaQXqOTHb8qmBShoqk69Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.59.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.59.0.tgz", + "integrity": "sha512-W2Psnbh1J8ZJw0xKAd8zdNgF9HRLkdWwwdWqubSVk0pUuQkoHnv7rx4GiF9rT4t5DIZGAsConRE3AxCdJ4m8rg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.59.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.59.0.tgz", + "integrity": "sha512-ZW2KkwlS4lwTv7ZVsYDiARfFCnSGhzYPdiOU4IM2fDbL+QGlyAbjgSFuqNRbSthybLbIJ915UtZBtmuLrQAT/w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.59.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.59.0.tgz", + "integrity": "sha512-EsKaJ5ytAu9jI3lonzn3BgG8iRBjV4LxZexygcQbpiU0wU0ATxhNVEpXKfUa0pS05gTcSDMKpn3Sx+QB9RlTTA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.59.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.59.0.tgz", + "integrity": "sha512-d3DuZi2KzTMjImrxoHIAODUZYoUUMsuUiY4SRRcJy6NJoZ6iIqWnJu9IScV9jXysyGMVuW+KNzZvBLOcpdl3Vg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.59.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.59.0.tgz", + "integrity": "sha512-t4ONHboXi/3E0rT6OZl1pKbl2Vgxf9vJfWgmUoCEVQVxhW6Cw/c8I6hbbu7DAvgp82RKiH7TpLwxnJeKv2pbsw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.59.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.59.0.tgz", + "integrity": "sha512-CikFT7aYPA2ufMD086cVORBYGHffBo4K8MQ4uPS/ZnY54GKj36i196u8U+aDVT2LX4eSMbyHtyOh7D7Zvk2VvA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.59.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.59.0.tgz", + "integrity": "sha512-jYgUGk5aLd1nUb1CtQ8E+t5JhLc9x5WdBKew9ZgAXg7DBk0ZHErLHdXM24rfX+bKrFe+Xp5YuJo54I5HFjGDAA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.59.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.59.0.tgz", + "integrity": "sha512-peZRVEdnFWZ5Bh2KeumKG9ty7aCXzzEsHShOZEFiCQlDEepP1dpUl/SrUNXNg13UmZl+gzVDPsiCwnV1uI0RUA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.59.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.59.0.tgz", + "integrity": "sha512-gbUSW/97f7+r4gHy3Jlup8zDG190AuodsWnNiXErp9mT90iCy9NKKU0Xwx5k8VlRAIV2uU9CsMnEFg/xXaOfXg==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-musl": { + "version": "4.59.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.59.0.tgz", + "integrity": "sha512-yTRONe79E+o0FWFijasoTjtzG9EBedFXJMl888NBEDCDV9I2wGbFFfJQQe63OijbFCUZqxpHz1GzpbtSFikJ4Q==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.59.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.59.0.tgz", + "integrity": "sha512-sw1o3tfyk12k3OEpRddF68a1unZ5VCN7zoTNtSn2KndUE+ea3m3ROOKRCZxEpmT9nsGnogpFP9x6mnLTCaoLkA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-musl": { + "version": "4.59.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.59.0.tgz", + "integrity": "sha512-+2kLtQ4xT3AiIxkzFVFXfsmlZiG5FXYW7ZyIIvGA7Bdeuh9Z0aN4hVyXS/G1E9bTP/vqszNIN/pUKCk/BTHsKA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.59.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.59.0.tgz", + "integrity": "sha512-NDYMpsXYJJaj+I7UdwIuHHNxXZ/b/N2hR15NyH3m2qAtb/hHPA4g4SuuvrdxetTdndfj9b1WOmy73kcPRoERUg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.59.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.59.0.tgz", + "integrity": "sha512-nLckB8WOqHIf1bhymk+oHxvM9D3tyPndZH8i8+35p/1YiVoVswPid2yLzgX7ZJP0KQvnkhM4H6QZ5m0LzbyIAg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.59.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.59.0.tgz", + "integrity": "sha512-oF87Ie3uAIvORFBpwnCvUzdeYUqi2wY6jRFWJAy1qus/udHFYIkplYRW+wo+GRUP4sKzYdmE1Y3+rY5Gc4ZO+w==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.59.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.59.0.tgz", + "integrity": "sha512-3AHmtQq/ppNuUspKAlvA8HtLybkDflkMuLK4DPo77DfthRb71V84/c4MlWJXixZz4uruIH4uaa07IqoAkG64fg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.59.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.59.0.tgz", + "integrity": "sha512-2UdiwS/9cTAx7qIUZB/fWtToJwvt0Vbo0zmnYt7ED35KPg13Q0ym1g442THLC7VyI6JfYTP4PiSOWyoMdV2/xg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openbsd-x64": { + "version": "4.59.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.59.0.tgz", + "integrity": "sha512-M3bLRAVk6GOwFlPTIxVBSYKUaqfLrn8l0psKinkCFxl4lQvOSz8ZrKDz2gxcBwHFpci0B6rttydI4IpS4IS/jQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.59.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.59.0.tgz", + "integrity": "sha512-tt9KBJqaqp5i5HUZzoafHZX8b5Q2Fe7UjYERADll83O4fGqJ49O1FsL6LpdzVFQcpwvnyd0i+K/VSwu/o/nWlA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.59.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.59.0.tgz", + "integrity": "sha512-V5B6mG7OrGTwnxaNUzZTDTjDS7F75PO1ae6MJYdiMu60sq0CqN5CVeVsbhPxalupvTX8gXVSU9gq+Rx1/hvu6A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.59.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.59.0.tgz", + "integrity": "sha512-UKFMHPuM9R0iBegwzKF4y0C4J9u8C6MEJgFuXTBerMk7EJ92GFVFYBfOZaSGLu6COf7FxpQNqhNS4c4icUPqxA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.59.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.59.0.tgz", + "integrity": "sha512-laBkYlSS1n2L8fSo1thDNGrCTQMmxjYY5G0WFWjFFYZkKPjsMBsgJfGf4TLxXrF6RyhI60L8TMOjBMvXiTcxeA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.59.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.59.0.tgz", + "integrity": "sha512-2HRCml6OztYXyJXAvdDXPKcawukWY2GpR5/nxKp4iBgiO3wcoEGkAaqctIbZcNB6KlUQBIqt8VYkNSj2397EfA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "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/web-bluetooth": { + "version": "0.0.20", + "resolved": "https://registry.npmmirror.com/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz", + "integrity": "sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==", + "license": "MIT" + }, + "node_modules/@vitejs/plugin-vue": { + "version": "6.0.4", + "resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-6.0.4.tgz", + "integrity": "sha512-uM5iXipgYIn13UUQCZNdWkYk+sysBeA97d5mHsAoAt1u/wpN3+zxOmsVJWosuzX+IMGRzeYUNytztrYznboIkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rolldown/pluginutils": "1.0.0-rc.2" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "peerDependencies": { + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0", + "vue": "^3.2.25" + } + }, + "node_modules/@vue/compiler-core": { + "version": "3.5.30", + "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.5.30.tgz", + "integrity": "sha512-s3DfdZkcu/qExZ+td75015ljzHc6vE+30cFMGRPROYjqkroYI5NV2X1yAMX9UeyBNWB9MxCfPcsjpLS11nzkkw==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.0", + "@vue/shared": "3.5.30", + "entities": "^7.0.1", + "estree-walker": "^2.0.2", + "source-map-js": "^1.2.1" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.5.30", + "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.5.30.tgz", + "integrity": "sha512-eCFYESUEVYHhiMuK4SQTldO3RYxyMR/UQL4KdGD1Yrkfdx4m/HYuZ9jSfPdA+nWJY34VWndiYdW/wZXyiPEB9g==", + "license": "MIT", + "dependencies": { + "@vue/compiler-core": "3.5.30", + "@vue/shared": "3.5.30" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.5.30", + "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.5.30.tgz", + "integrity": "sha512-LqmFPDn89dtU9vI3wHJnwaV6GfTRD87AjWpTWpyrdVOObVtjIuSeZr181z5C4PmVx/V3j2p+0f7edFKGRMpQ5A==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.0", + "@vue/compiler-core": "3.5.30", + "@vue/compiler-dom": "3.5.30", + "@vue/compiler-ssr": "3.5.30", + "@vue/shared": "3.5.30", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.21", + "postcss": "^8.5.8", + "source-map-js": "^1.2.1" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.5.30", + "resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.5.30.tgz", + "integrity": "sha512-NsYK6OMTnx109PSL2IAyf62JP6EUdk4Dmj6AkWcJGBvN0dQoMYtVekAmdqgTtWQgEJo+Okstbf/1p7qZr5H+bA==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.5.30", + "@vue/shared": "3.5.30" + } + }, + "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.30", + "resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.5.30.tgz", + "integrity": "sha512-179YNgKATuwj9gB+66snskRDOitDiuOZqkYia7mHKJaidOMo/WJxHKF8DuGc4V4XbYTJANlfEKb0yxTQotnx4Q==", + "license": "MIT", + "dependencies": { + "@vue/shared": "3.5.30" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.5.30", + "resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.5.30.tgz", + "integrity": "sha512-e0Z+8PQsUTdwV8TtEsLzUM7SzC7lQwYKePydb7K2ZnmS6jjND+WJXkmmfh/swYzRyfP1EY3fpdesyYoymCzYfg==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.30", + "@vue/shared": "3.5.30" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.5.30", + "resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.5.30.tgz", + "integrity": "sha512-2UIGakjU4WSQ0T4iwDEW0W7vQj6n7AFn7taqZ9Cvm0Q/RA2FFOziLESrDL4GmtI1wV3jXg5nMoJSYO66egDUBw==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.30", + "@vue/runtime-core": "3.5.30", + "@vue/shared": "3.5.30", + "csstype": "^3.2.3" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.5.30", + "resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.5.30.tgz", + "integrity": "sha512-v+R34icapydRwbZRD0sXwtHqrQJv38JuMB4JxbOxd8NEpGLny7cncMp53W9UH/zo4j8eDHjQ1dEJXwzFQknjtQ==", + "license": "MIT", + "dependencies": { + "@vue/compiler-ssr": "3.5.30", + "@vue/shared": "3.5.30" + }, + "peerDependencies": { + "vue": "3.5.30" + } + }, + "node_modules/@vue/shared": { + "version": "3.5.30", + "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.5.30.tgz", + "integrity": "sha512-YXgQ7JjaO18NeK2K9VTbDHaFy62WrObMa6XERNfNOkAhD1F1oDSf3ZJ7K6GqabZ0BvSDHajp8qfS5Sa2I9n8uQ==", + "license": "MIT" + }, + "node_modules/@vueuse/core": { + "version": "12.0.0", + "resolved": "https://registry.npmmirror.com/@vueuse/core/-/core-12.0.0.tgz", + "integrity": "sha512-C12RukhXiJCbx4MGhjmd/gH52TjJsc3G0E0kQj/kb19H3Nt6n1CA4DRWuTdWWcaFRdlTe0npWDS942mvacvNBw==", + "license": "MIT", + "dependencies": { + "@types/web-bluetooth": "^0.0.20", + "@vueuse/metadata": "12.0.0", + "@vueuse/shared": "12.0.0", + "vue": "^3.5.13" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/metadata": { + "version": "12.0.0", + "resolved": "https://registry.npmmirror.com/@vueuse/metadata/-/metadata-12.0.0.tgz", + "integrity": "sha512-Yzimd1D3sjxTDOlF05HekU5aSGdKjxhuhRFHA7gDWLn57PRbBIh+SF5NmjhJ0WRgF3my7T8LBucyxdFJjIfRJQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/shared": { + "version": "12.0.0", + "resolved": "https://registry.npmmirror.com/@vueuse/shared/-/shared-12.0.0.tgz", + "integrity": "sha512-3i6qtcq2PIio5i/vVYidkkcgvmTjCqrf26u+Fd4LhnbBmIT6FN8y6q/GJERp8lfcB9zVEfjdV0Br0443qZuJpw==", + "license": "MIT", + "dependencies": { + "vue": "^3.5.13" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "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.13.6", + "resolved": "https://registry.npmmirror.com/axios/-/axios-1.13.6.tgz", + "integrity": "sha512-ChTCHMouEe2kn713WHbQGcuYrr6fXTBiu460OTwWrWob16g1bXn4vtz07Ope7ewMozJAnEquLk5lWQWtBig9DQ==", + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.15.11", + "form-data": "^4.0.5", + "proxy-from-env": "^1.1.0" + } + }, + "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/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/crypto-js": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/crypto-js/-/crypto-js-4.2.0.tgz", + "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==", + "license": "MIT" + }, + "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.19", + "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.19.tgz", + "integrity": "sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==", + "license": "MIT" + }, + "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.13.5", + "resolved": "https://registry.npmmirror.com/element-plus/-/element-plus-2.13.5.tgz", + "integrity": "sha512-dmY24fhSREfZN/PuUt0YZigMso7wWzl+B5o+YKNN15kQIn/0hzamsPU+ebj9SES0IbUqsLX1wkrzYmzU8VrVOQ==", + "license": "MIT", + "dependencies": { + "@ctrl/tinycolor": "^4.2.0", + "@element-plus/icons-vue": "^2.3.2", + "@floating-ui/dom": "^1.0.1", + "@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7", + "@types/lodash": "^4.17.20", + "@types/lodash-es": "^4.17.12", + "@vueuse/core": "12.0.0", + "async-validator": "^4.2.5", + "dayjs": "^1.11.19", + "lodash": "^4.17.23", + "lodash-es": "^4.17.23", + "lodash-unified": "^1.0.3", + "memoize-one": "^6.0.0", + "normalize-wheel-es": "^1.2.0" + }, + "peerDependencies": { + "vue": "^3.3.0" + } + }, + "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/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.1", + "resolved": "https://registry.npmmirror.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.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.27.3", + "resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.27.3.tgz", + "integrity": "sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.27.3", + "@esbuild/android-arm": "0.27.3", + "@esbuild/android-arm64": "0.27.3", + "@esbuild/android-x64": "0.27.3", + "@esbuild/darwin-arm64": "0.27.3", + "@esbuild/darwin-x64": "0.27.3", + "@esbuild/freebsd-arm64": "0.27.3", + "@esbuild/freebsd-x64": "0.27.3", + "@esbuild/linux-arm": "0.27.3", + "@esbuild/linux-arm64": "0.27.3", + "@esbuild/linux-ia32": "0.27.3", + "@esbuild/linux-loong64": "0.27.3", + "@esbuild/linux-mips64el": "0.27.3", + "@esbuild/linux-ppc64": "0.27.3", + "@esbuild/linux-riscv64": "0.27.3", + "@esbuild/linux-s390x": "0.27.3", + "@esbuild/linux-x64": "0.27.3", + "@esbuild/netbsd-arm64": "0.27.3", + "@esbuild/netbsd-x64": "0.27.3", + "@esbuild/openbsd-arm64": "0.27.3", + "@esbuild/openbsd-x64": "0.27.3", + "@esbuild/openharmony-arm64": "0.27.3", + "@esbuild/sunos-x64": "0.27.3", + "@esbuild/win32-arm64": "0.27.3", + "@esbuild/win32-ia32": "0.27.3", + "@esbuild/win32-x64": "0.27.3" + } + }, + "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/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/follow-redirects": { + "version": "1.15.11", + "resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.11.tgz", + "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", + "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/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/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/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.2", + "resolved": "https://registry.npmmirror.com/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/lodash": { + "version": "4.17.23", + "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.23.tgz", + "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", + "license": "MIT" + }, + "node_modules/lodash-es": { + "version": "4.17.23", + "resolved": "https://registry.npmmirror.com/lodash-es/-/lodash-es-4.17.23.tgz", + "integrity": "sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg==", + "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/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/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/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/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/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.3", + "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pinia": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/pinia/-/pinia-2.3.1.tgz", + "integrity": "sha512-khUlZSwt9xXCaTbbxFYBKDc/bWAGWJjOgvxETwkTN7KRm66EeT1ZdZj6i2ceh9sP2Pzqsbc704r2yngBrxBVug==", + "license": "MIT", + "dependencies": { + "@vue/devtools-api": "^6.6.3", + "vue-demi": "^0.14.10" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "typescript": ">=4.4.4", + "vue": "^2.7.0 || ^3.5.11" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/postcss": { + "version": "8.5.8", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.5.8.tgz", + "integrity": "sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "license": "MIT" + }, + "node_modules/rollup": { + "version": "4.59.0", + "resolved": "https://registry.npmmirror.com/rollup/-/rollup-4.59.0.tgz", + "integrity": "sha512-2oMpl67a3zCH9H79LeMcbDhXW/UmWG/y2zuqnF2jQq5uq9TbM9TVyXvA4+t+ne2IIkBdrLpAaRQAvo7YI/Yyeg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.8" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.59.0", + "@rollup/rollup-android-arm64": "4.59.0", + "@rollup/rollup-darwin-arm64": "4.59.0", + "@rollup/rollup-darwin-x64": "4.59.0", + "@rollup/rollup-freebsd-arm64": "4.59.0", + "@rollup/rollup-freebsd-x64": "4.59.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.59.0", + "@rollup/rollup-linux-arm-musleabihf": "4.59.0", + "@rollup/rollup-linux-arm64-gnu": "4.59.0", + "@rollup/rollup-linux-arm64-musl": "4.59.0", + "@rollup/rollup-linux-loong64-gnu": "4.59.0", + "@rollup/rollup-linux-loong64-musl": "4.59.0", + "@rollup/rollup-linux-ppc64-gnu": "4.59.0", + "@rollup/rollup-linux-ppc64-musl": "4.59.0", + "@rollup/rollup-linux-riscv64-gnu": "4.59.0", + "@rollup/rollup-linux-riscv64-musl": "4.59.0", + "@rollup/rollup-linux-s390x-gnu": "4.59.0", + "@rollup/rollup-linux-x64-gnu": "4.59.0", + "@rollup/rollup-linux-x64-musl": "4.59.0", + "@rollup/rollup-openbsd-x64": "4.59.0", + "@rollup/rollup-openharmony-arm64": "4.59.0", + "@rollup/rollup-win32-arm64-msvc": "4.59.0", + "@rollup/rollup-win32-ia32-msvc": "4.59.0", + "@rollup/rollup-win32-x64-gnu": "4.59.0", + "@rollup/rollup-win32-x64-msvc": "4.59.0", + "fsevents": "~2.3.2" + } + }, + "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/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmmirror.com/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/vite": { + "version": "7.3.1", + "resolved": "https://registry.npmmirror.com/vite/-/vite-7.3.1.tgz", + "integrity": "sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.27.0", + "fdir": "^6.5.0", + "picomatch": "^4.0.3", + "postcss": "^8.5.6", + "rollup": "^4.43.0", + "tinyglobby": "^0.2.15" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^20.19.0 || >=22.12.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "lightningcss": "^1.21.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/vue": { + "version": "3.5.30", + "resolved": "https://registry.npmmirror.com/vue/-/vue-3.5.30.tgz", + "integrity": "sha512-hTHLc6VNZyzzEH/l7PFGjpcTvUgiaPK5mdLkbjrTeWSRcEfxFrv56g/XckIYlE9ckuobsdwqd5mk2g1sBkMewg==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.5.30", + "@vue/compiler-sfc": "3.5.30", + "@vue/runtime-dom": "3.5.30", + "@vue/server-renderer": "3.5.30", + "@vue/shared": "3.5.30" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/vue-demi": { + "version": "0.14.10", + "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.14.10.tgz", + "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/vue-router": { + "version": "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" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..3ffb8c4 --- /dev/null +++ b/package.json @@ -0,0 +1,23 @@ +{ + "name": "admin-frontend", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build", + "preview": "vite preview" + }, + "dependencies": { + "axios": "^1.7.7", + "crypto-js": "^4.2.0", + "element-plus": "^2.8.4", + "pinia": "^2.2.5", + "vue": "^3.5.25", + "vue-router": "^4.4.5" + }, + "devDependencies": { + "@vitejs/plugin-vue": "^6.0.2", + "vite": "^7.3.1" + } +} diff --git a/public/vite.svg b/public/vite.svg new file mode 100644 index 0000000..e7b8dfb --- /dev/null +++ b/public/vite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/skills-api.json b/skills-api.json new file mode 100644 index 0000000..c09e49c --- /dev/null +++ b/skills-api.json @@ -0,0 +1 @@ +{"openapi":"3.0.1","info":{"title":"可学AI-skills平台API","description":"API Documentation for Spring MVC Project","version":"1.0.0"},"servers":[{"url":"http://localhost:19001","description":"Generated server url"}],"paths":{"/api/sysUserRole/update":{"post":{"tags":["用户角色管理 Api"],"summary":"更新用户角色关联","description":"更新用户角色关联","operationId":"update","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SysUserRole"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultSysUserRole"}}}}}}},"/api/sysUserRole/queryById/{id}":{"post":{"tags":["用户角色管理 Api"],"summary":"通过ID查询用户角色关联","description":"通过ID查询用户角色关联","operationId":"queryById","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultSysUserRole"}}}}}}},"/api/sysUserRole/insert":{"post":{"tags":["用户角色管理 Api"],"summary":"新增用户角色关联","description":"新增用户角色关联","operationId":"insert","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SysUserRole"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultSysUserRole"}}}}}}},"/api/sysUserRole/getPageList":{"post":{"tags":["用户角色管理 Api"],"summary":"查询分页列表","description":"查询分页列表","operationId":"getPageList","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SysUserRoleDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultPageInfoSysUserRole"}}}}}}},"/api/sysUserRole/deleteById/{id}":{"post":{"tags":["用户角色管理 Api"],"summary":"删除用户角色关联","description":"删除用户角色关联","operationId":"deleteById","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultBoolean"}}}}}}},"/api/sysUser/update":{"post":{"tags":["用户管理 Api"],"summary":"更新用户","description":"更新用户","operationId":"update_1","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SysUser"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultSysUser"}}}}}}},"/api/sysUser/resetPwd":{"post":{"tags":["用户管理 Api"],"summary":"重置密码(管理员专用,通过用户ID)","description":"重置密码(管理员专用,通过用户ID)","operationId":"resetPwd","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResetPwdDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultBoolean"}}}}}}},"/api/sysUser/resetPassword":{"post":{"tags":["用户管理 Api"],"summary":"管理员帮助用户重置密码","description":"管理员帮助用户重置密码","operationId":"resetPasswordByAdmin","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResetPasswordDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultBoolean"}}}}}}},"/api/sysUser/resetPasswordByUsernameOrPhone":{"post":{"tags":["用户管理 Api"],"summary":"重置密码(管理员专用,通过用户名或手机号)","description":"重置密码(管理员专用,通过用户名或手机号,无需旧密码)","operationId":"resetPasswordByUsernameOrPhone","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminResetPasswordDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultBoolean"}}}}}}},"/api/sysUser/queryById/{id}":{"post":{"tags":["用户管理 Api"],"summary":"通过ID查询用户","description":"通过ID查询用户","operationId":"queryById_1","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultSysUser"}}}}}}},"/api/sysUser/insert":{"post":{"tags":["用户管理 Api"],"summary":"新增用户","description":"新增用户","operationId":"insert_1","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SysUser"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultSysUser"}}}}}}},"/api/sysUser/getPageList":{"post":{"tags":["用户管理 Api"],"summary":"查询分页列表","description":"查询分页列表","operationId":"getPageList_1","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SysUserDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultPageInfoSysUser"}}}}}}},"/api/sysUser/deleteByIdDto":{"post":{"tags":["用户管理 Api"],"summary":"通过ID删除用户","description":"通过ID删除用户","operationId":"deleteByIdDto","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultBoolean"}}}}}}},"/api/sysUser/deleteById/{id}":{"post":{"tags":["用户管理 Api"],"summary":"通过ID删除用户","description":"通过ID删除用户","operationId":"deleteById_1","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultBoolean"}}}}}}},"/api/sysRole/update":{"post":{"tags":["系统角色 Api"],"summary":"更新角色","description":"更新角色","operationId":"update_2","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SysRole"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultSysRole"}}}}}}},"/api/sysRole/queryById/{id}":{"post":{"tags":["系统角色 Api"],"summary":"通过ID查询角色","description":"通过ID查询角色","operationId":"queryById_2","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultSysRole"}}}}}}},"/api/sysRole/insert":{"post":{"tags":["系统角色 Api"],"summary":"新增角色","description":"新增角色","operationId":"insert_2","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SysRole"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultSysRole"}}}}}}},"/api/sysRole/getPageList":{"post":{"tags":["系统角色 Api"],"summary":"查询分页列表","description":"查询分页列表","operationId":"getPageList_2","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SysRoleDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultPageInfoSysRole"}}}}}}},"/api/sysRole/deleteById/{id}":{"post":{"tags":["系统角色 Api"],"summary":"删除角色","description":"删除角色","operationId":"deleteById_2","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultBoolean"}}}}}}},"/api/sysMenu/update":{"post":{"tags":["系统菜单 Api"],"summary":"更新菜单","description":"更新菜单","operationId":"update_3","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SysMenu"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultSysMenu"}}}}}}},"/api/sysMenu/queryById/{id}":{"post":{"tags":["系统菜单 Api"],"summary":"通过ID查询菜单","description":"通过ID查询菜单","operationId":"queryById_3","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultSysMenu"}}}}}}},"/api/sysMenu/insert":{"post":{"tags":["系统菜单 Api"],"summary":"新增菜单","description":"新增菜单","operationId":"insert_3","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SysMenu"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultSysMenu"}}}}}}},"/api/sysMenu/getPageList":{"post":{"tags":["系统菜单 Api"],"summary":"查询分页列表","description":"查询分页列表","operationId":"getPageList_3","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SysMenuDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultPageInfoSysMenu"}}}}}}},"/api/sysMenu/deleteById/{id}":{"post":{"tags":["系统菜单 Api"],"summary":"删除菜单","description":"删除菜单","operationId":"deleteById_3","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultBoolean"}}}}}}},"/api/sysLog/update":{"post":{"tags":["系统日志 Api"],"summary":"更新日志","description":"更新日志","operationId":"update_4","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SysLog"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultSysLog"}}}}}}},"/api/sysLog/queryById/{id}":{"post":{"tags":["系统日志 Api"],"summary":"通过ID查询日志","description":"通过ID查询日志","operationId":"queryById_4","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultSysLog"}}}}}}},"/api/sysLog/insert":{"post":{"tags":["系统日志 Api"],"summary":"新增日志","description":"新增日志","operationId":"insert_4","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SysLog"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultSysLog"}}}}}}},"/api/sysLog/getPageList":{"post":{"tags":["系统日志 Api"],"summary":"查询分页列表","description":"查询分页列表","operationId":"getPageList_4","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SysLogDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultPageInfoSysLog"}}}}}}},"/api/sysLog/deleteById/{id}":{"post":{"tags":["系统日志 Api"],"summary":"删除日志","description":"删除日志","operationId":"deleteById_4","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultBoolean"}}}}}}},"/api/sysDict/update":{"post":{"tags":["系统字典 Api"],"summary":"更新字典","description":"更新字典","operationId":"update_5","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SysDict"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultSysDict"}}}}}}},"/api/sysDict/queryById/{id}":{"post":{"tags":["系统字典 Api"],"summary":"通过ID查询字典","description":"通过ID查询字典","operationId":"queryById_5","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultSysDict"}}}}}}},"/api/sysDict/insert":{"post":{"tags":["系统字典 Api"],"summary":"新增字典","description":"新增字典","operationId":"insert_5","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SysDict"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultSysDict"}}}}}}},"/api/sysDict/getPageList":{"post":{"tags":["系统字典 Api"],"summary":"查询分页列表","description":"查询分页列表","operationId":"getPageList_5","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SysDictDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultPageInfoSysDict"}}}}}}},"/api/sysDict/getDictListByDictCode":{"post":{"tags":["系统字典 Api"],"summary":"通过字典编码查询字典列表","description":"通过字典编码查询字典列表","operationId":"getDictListByDictCode","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SysDict"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultListSysDict"}}}}}}},"/api/sysDict/deleteById/{id}":{"post":{"tags":["系统字典 Api"],"summary":"删除字典","description":"删除字典","operationId":"deleteById_5","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultBoolean"}}}}}}},"/api/skillGen/uploadSkill":{"post":{"tags":["技能生成 Api"],"summary":"上传技能压缩包","description":"上传技能压缩包并生成技能","operationId":"uploadSkill","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkillUploadDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultCmsContent"}}}}}}},"/api/skillGen/preGenerate":{"post":{"tags":["技能生成 Api"],"summary":"预生成技能","description":"生成技能","operationId":"preGenerate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkillPreGenRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultSkillResponse"}}}}}}},"/api/skillGen/preGenerateV2":{"post":{"tags":["技能生成 Api"],"summary":"预生成技能V2","description":"使用新模型生成技能","operationId":"preGenerateV2","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkillPreGenRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultSkillResponse"}}}}}}},"/api/skillGen/generate":{"post":{"tags":["技能生成 Api"],"summary":"生成技能","description":"生成技能","operationId":"generate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkillGenRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultCmsContent"}}}}}}},"/api/skillGen/genIntroduce":{"post":{"tags":["技能生成 Api"],"summary":"生成技能介绍","description":"生成技能介绍","operationId":"genIntroduce","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenIntroduceRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultString"}}}}}}},"/api/skillGen/analyze":{"post":{"tags":["技能生成 Api"],"summary":"分析技能","description":"分析技能","operationId":"analyze","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkillAnalyzeRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultString"}}}}}}},"/api/pointsAccount/queryByUserId/{userId}":{"post":{"tags":["积分账户管理 Api"],"summary":"通过用户ID查询积分账户","description":"通过用户ID查询积分账户","operationId":"queryByUserId","parameters":[{"name":"userId","in":"path","description":"用户ID","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultPointsAccount"}}}}}}},"/api/pointsAccount/queryById/{accountId}":{"post":{"tags":["积分账户管理 Api"],"summary":"通过ID查询积分账户","description":"通过ID查询积分账户","operationId":"queryById_6","parameters":[{"name":"accountId","in":"path","description":"账户ID","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultPointsAccount"}}}}}}},"/api/pointsAccount/pageList":{"post":{"tags":["积分账户管理 Api"],"summary":"分页查询积分账户","description":"分页查询积分账户","operationId":"getPageList_6","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PointsAccountDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultPageInfoPointsAccount"}}}}}}},"/api/pointsAccount/list":{"post":{"tags":["积分账户管理 Api"],"summary":"查询积分账户列表","description":"查询积分账户列表","operationId":"getList","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PointsAccountDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultListPointsAccount"}}}}}}},"/api/paymentOrder/queryByOrderNo":{"post":{"tags":["支付订单管理 Api"],"summary":"通过订单号查询支付订单","description":"通过订单号查询支付订单","operationId":"queryByOrderNo","parameters":[{"name":"orderNo","in":"query","description":"订单号","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultPaymentOrder"}}}}}}},"/api/paymentOrder/queryById/{orderId}":{"post":{"tags":["支付订单管理 Api"],"summary":"通过ID查询支付订单","description":"通过ID查询支付订单","operationId":"queryById_7","parameters":[{"name":"orderId","in":"path","description":"订单ID","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultPaymentOrder"}}}}}}},"/api/paymentOrder/pageList":{"post":{"tags":["支付订单管理 Api"],"summary":"分页查询支付订单","description":"分页查询支付订单","operationId":"getPageList_7","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentOrderDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultPageInfoPaymentOrder"}}}}}}},"/api/paymentOrder/list":{"post":{"tags":["支付订单管理 Api"],"summary":"查询支付订单列表","description":"查询支付订单列表","operationId":"getList_1","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentOrderDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultListPaymentOrder"}}}}}}},"/api/pay/wx/notify":{"post":{"tags":["支付管理 Api"],"summary":"处理微信支付回调","description":"处理微信支付回调","operationId":"handleWechatPayNotify","parameters":[{"name":"request","in":"query","required":true,"schema":{"type":"object","properties":{"method":{"type":"string"},"queryString":{"type":"string"},"contextPath":{"type":"string"},"session":{"type":"object","properties":{"id":{"type":"string"},"creationTime":{"type":"integer","format":"int64"},"attributeNames":{"type":"object"},"servletContext":{"type":"object","properties":{"classLoader":{"type":"object","properties":{"name":{"type":"string"},"registeredAsParallelCapable":{"type":"boolean"},"parent":{"type":"object","properties":{"name":{"type":"string"},"registeredAsParallelCapable":{"type":"boolean"},"unnamedModule":{"type":"object","properties":{"name":{"type":"string"},"descriptor":{"type":"object","properties":{"open":{"type":"boolean"},"automatic":{"type":"boolean"}}},"named":{"type":"boolean"},"annotations":{"type":"array","items":{"type":"object"}},"declaredAnnotations":{"type":"array","items":{"type":"object"}},"packages":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"layer":{"type":"object"}}},"definedPackages":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"annotations":{"type":"array","items":{"type":"object"}},"declaredAnnotations":{"type":"array","items":{"type":"object"}},"sealed":{"type":"boolean"},"specificationTitle":{"type":"string"},"specificationVersion":{"type":"string"},"specificationVendor":{"type":"string"},"implementationTitle":{"type":"string"},"implementationVersion":{"type":"string"},"implementationVendor":{"type":"string"}}}},"defaultAssertionStatus":{"type":"boolean","writeOnly":true}}},"unnamedModule":{"type":"object","properties":{"name":{"type":"string"},"descriptor":{"type":"object","properties":{"open":{"type":"boolean"},"automatic":{"type":"boolean"}}},"named":{"type":"boolean"},"annotations":{"type":"array","items":{"type":"object"}},"declaredAnnotations":{"type":"array","items":{"type":"object"}},"packages":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"layer":{"type":"object"}}},"definedPackages":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"annotations":{"type":"array","items":{"type":"object"}},"declaredAnnotations":{"type":"array","items":{"type":"object"}},"sealed":{"type":"boolean"},"specificationTitle":{"type":"string"},"specificationVersion":{"type":"string"},"specificationVendor":{"type":"string"},"implementationTitle":{"type":"string"},"implementationVersion":{"type":"string"},"implementationVendor":{"type":"string"}}}},"defaultAssertionStatus":{"type":"boolean","writeOnly":true}}},"majorVersion":{"type":"integer","format":"int32"},"minorVersion":{"type":"integer","format":"int32"},"attributeNames":{"type":"object"},"contextPath":{"type":"string"},"responseCharacterEncoding":{"type":"string"},"servletContextName":{"type":"string"},"filterRegistrations":{"type":"object","additionalProperties":{"type":"object","properties":{"servletNameMappings":{"type":"array","items":{"type":"string"}},"urlPatternMappings":{"type":"array","items":{"type":"string"}},"name":{"type":"string"},"className":{"type":"string"},"initParameters":{"type":"object","additionalProperties":{"type":"string"}}}}},"effectiveMajorVersion":{"type":"integer","format":"int32"},"sessionTrackingModes":{"uniqueItems":true,"type":"array","writeOnly":true,"items":{"type":"string","enum":["COOKIE","URL","SSL"]}},"initParameterNames":{"type":"object"},"requestCharacterEncoding":{"type":"string"},"jspConfigDescriptor":{"type":"object","properties":{"jspPropertyGroups":{"type":"array","items":{"type":"object","properties":{"buffer":{"type":"string"},"defaultContentType":{"type":"string"},"urlPatterns":{"type":"array","items":{"type":"string"}},"elIgnored":{"type":"string"},"pageEncoding":{"type":"string"},"isXml":{"type":"string"},"includePreludes":{"type":"array","items":{"type":"string"}},"includeCodas":{"type":"array","items":{"type":"string"}},"trimDirectiveWhitespaces":{"type":"string"},"scriptingInvalid":{"type":"string"},"deferredSyntaxAllowedAsLiteral":{"type":"string"},"errorOnUndeclaredNamespace":{"type":"string"}}}},"taglibs":{"type":"array","items":{"type":"object","properties":{"taglibURI":{"type":"string"},"taglibLocation":{"type":"string"}}}}}},"servletRegistrations":{"type":"object","additionalProperties":{"type":"object","properties":{"mappings":{"type":"array","items":{"type":"string"}},"runAsRole":{"type":"string"},"name":{"type":"string"},"className":{"type":"string"},"initParameters":{"type":"object","additionalProperties":{"type":"string"}}}}},"virtualServerName":{"type":"string"},"effectiveSessionTrackingModes":{"uniqueItems":true,"type":"array","items":{"type":"string","enum":["COOKIE","URL","SSL"]}},"effectiveMinorVersion":{"type":"integer","format":"int32"},"defaultSessionTrackingModes":{"uniqueItems":true,"type":"array","items":{"type":"string","enum":["COOKIE","URL","SSL"]}},"sessionCookieConfig":{"type":"object","properties":{"name":{"type":"string"},"path":{"type":"string"},"comment":{"type":"string"},"secure":{"type":"boolean"},"httpOnly":{"type":"boolean"},"maxAge":{"type":"integer","format":"int32"},"domain":{"type":"string"}}},"serverInfo":{"type":"string"},"sessionTimeout":{"type":"integer","format":"int32"},"servletNames":{"type":"object","deprecated":true},"servlets":{"type":"object","deprecated":true}}},"lastAccessedTime":{"type":"integer","format":"int64"},"maxInactiveInterval":{"type":"integer","format":"int32"},"new":{"type":"boolean"},"valueNames":{"type":"array","deprecated":true,"items":{"type":"string","deprecated":true}},"sessionContext":{"type":"object","properties":{"ids":{"type":"object","deprecated":true}},"deprecated":true}}},"userPrincipal":{"type":"object","properties":{"name":{"type":"string"}}},"headerNames":{"type":"object"},"remoteUser":{"type":"string"},"requestURI":{"type":"string"},"authType":{"type":"string"},"pathTranslated":{"type":"string"},"requestURL":{"type":"object","properties":{"length":{"type":"integer","format":"int32","writeOnly":true},"empty":{"type":"boolean"}}},"cookies":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"},"comment":{"type":"string"},"domain":{"type":"string"},"maxAge":{"type":"integer","format":"int32"},"path":{"type":"string"},"secure":{"type":"boolean"},"version":{"type":"integer","format":"int32"},"httpOnly":{"type":"boolean"}}}},"trailerFields":{"type":"object","additionalProperties":{"type":"string"}},"pathInfo":{"type":"string"},"servletPath":{"type":"string"},"parts":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"size":{"type":"integer","format":"int64"},"inputStream":{"type":"object"},"headerNames":{"type":"array","items":{"type":"string"}},"submittedFileName":{"type":"string"},"contentType":{"type":"string"}}}},"trailerFieldsReady":{"type":"boolean"},"requestedSessionIdValid":{"type":"boolean"},"requestedSessionIdFromURL":{"type":"boolean"},"httpServletMapping":{"type":"object","properties":{"pattern":{"type":"string"},"servletName":{"type":"string"},"mappingMatch":{"type":"string","enum":["CONTEXT_ROOT","DEFAULT","EXACT","EXTENSION","PATH"]},"matchValue":{"type":"string"}}},"requestedSessionId":{"type":"string"},"requestedSessionIdFromCookie":{"type":"boolean"},"requestedSessionIdFromUrl":{"type":"boolean","deprecated":true},"scheme":{"type":"string"},"inputStream":{"type":"object","properties":{"finished":{"type":"boolean"},"ready":{"type":"boolean"},"readListener":{"type":"object","writeOnly":true}}},"protocol":{"type":"string"},"contentLength":{"type":"integer","format":"int32"},"locale":{"type":"object","properties":{"language":{"type":"string"},"script":{"type":"string"},"country":{"type":"string"},"variant":{"type":"string"},"unicodeLocaleAttributes":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"unicodeLocaleKeys":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"displayLanguage":{"type":"string"},"displayScript":{"type":"string"},"displayCountry":{"type":"string"},"displayVariant":{"type":"string"},"displayName":{"type":"string"},"extensionKeys":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"iso3Language":{"type":"string"},"iso3Country":{"type":"string"}}},"localName":{"type":"string"},"attributeNames":{"type":"object"},"servletContext":{"type":"object","properties":{"classLoader":{"type":"object","properties":{"name":{"type":"string"},"registeredAsParallelCapable":{"type":"boolean"},"parent":{"type":"object","properties":{"name":{"type":"string"},"registeredAsParallelCapable":{"type":"boolean"},"unnamedModule":{"type":"object","properties":{"name":{"type":"string"},"descriptor":{"type":"object","properties":{"open":{"type":"boolean"},"automatic":{"type":"boolean"}}},"named":{"type":"boolean"},"annotations":{"type":"array","items":{"type":"object"}},"declaredAnnotations":{"type":"array","items":{"type":"object"}},"packages":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"layer":{"type":"object"}}},"definedPackages":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"annotations":{"type":"array","items":{"type":"object"}},"declaredAnnotations":{"type":"array","items":{"type":"object"}},"sealed":{"type":"boolean"},"specificationTitle":{"type":"string"},"specificationVersion":{"type":"string"},"specificationVendor":{"type":"string"},"implementationTitle":{"type":"string"},"implementationVersion":{"type":"string"},"implementationVendor":{"type":"string"}}}},"defaultAssertionStatus":{"type":"boolean","writeOnly":true}}},"unnamedModule":{"type":"object","properties":{"name":{"type":"string"},"descriptor":{"type":"object","properties":{"open":{"type":"boolean"},"automatic":{"type":"boolean"}}},"named":{"type":"boolean"},"annotations":{"type":"array","items":{"type":"object"}},"declaredAnnotations":{"type":"array","items":{"type":"object"}},"packages":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"layer":{"type":"object"}}},"definedPackages":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"annotations":{"type":"array","items":{"type":"object"}},"declaredAnnotations":{"type":"array","items":{"type":"object"}},"sealed":{"type":"boolean"},"specificationTitle":{"type":"string"},"specificationVersion":{"type":"string"},"specificationVendor":{"type":"string"},"implementationTitle":{"type":"string"},"implementationVersion":{"type":"string"},"implementationVendor":{"type":"string"}}}},"defaultAssertionStatus":{"type":"boolean","writeOnly":true}}},"majorVersion":{"type":"integer","format":"int32"},"minorVersion":{"type":"integer","format":"int32"},"attributeNames":{"type":"object"},"contextPath":{"type":"string"},"responseCharacterEncoding":{"type":"string"},"servletContextName":{"type":"string"},"filterRegistrations":{"type":"object","additionalProperties":{"type":"object","properties":{"servletNameMappings":{"type":"array","items":{"type":"string"}},"urlPatternMappings":{"type":"array","items":{"type":"string"}},"name":{"type":"string"},"className":{"type":"string"},"initParameters":{"type":"object","additionalProperties":{"type":"string"}}}}},"effectiveMajorVersion":{"type":"integer","format":"int32"},"sessionTrackingModes":{"uniqueItems":true,"type":"array","writeOnly":true,"items":{"type":"string","enum":["COOKIE","URL","SSL"]}},"initParameterNames":{"type":"object"},"requestCharacterEncoding":{"type":"string"},"jspConfigDescriptor":{"type":"object","properties":{"jspPropertyGroups":{"type":"array","items":{"type":"object","properties":{"buffer":{"type":"string"},"defaultContentType":{"type":"string"},"urlPatterns":{"type":"array","items":{"type":"string"}},"elIgnored":{"type":"string"},"pageEncoding":{"type":"string"},"isXml":{"type":"string"},"includePreludes":{"type":"array","items":{"type":"string"}},"includeCodas":{"type":"array","items":{"type":"string"}},"trimDirectiveWhitespaces":{"type":"string"},"scriptingInvalid":{"type":"string"},"deferredSyntaxAllowedAsLiteral":{"type":"string"},"errorOnUndeclaredNamespace":{"type":"string"}}}},"taglibs":{"type":"array","items":{"type":"object","properties":{"taglibURI":{"type":"string"},"taglibLocation":{"type":"string"}}}}}},"servletRegistrations":{"type":"object","additionalProperties":{"type":"object","properties":{"mappings":{"type":"array","items":{"type":"string"}},"runAsRole":{"type":"string"},"name":{"type":"string"},"className":{"type":"string"},"initParameters":{"type":"object","additionalProperties":{"type":"string"}}}}},"virtualServerName":{"type":"string"},"effectiveSessionTrackingModes":{"uniqueItems":true,"type":"array","items":{"type":"string","enum":["COOKIE","URL","SSL"]}},"effectiveMinorVersion":{"type":"integer","format":"int32"},"defaultSessionTrackingModes":{"uniqueItems":true,"type":"array","items":{"type":"string","enum":["COOKIE","URL","SSL"]}},"sessionCookieConfig":{"type":"object","properties":{"name":{"type":"string"},"path":{"type":"string"},"comment":{"type":"string"},"secure":{"type":"boolean"},"httpOnly":{"type":"boolean"},"maxAge":{"type":"integer","format":"int32"},"domain":{"type":"string"}}},"serverInfo":{"type":"string"},"sessionTimeout":{"type":"integer","format":"int32"},"servletNames":{"type":"object","deprecated":true},"servlets":{"type":"object","deprecated":true}}},"reader":{"type":"object"},"parameterNames":{"type":"object"},"characterEncoding":{"type":"string"},"remotePort":{"type":"integer","format":"int32"},"locales":{"type":"object"},"localAddr":{"type":"string"},"remoteAddr":{"type":"string"},"asyncContext":{"type":"object","properties":{"request":{"type":"object","properties":{"scheme":{"type":"string"},"inputStream":{"type":"object","properties":{"finished":{"type":"boolean"},"ready":{"type":"boolean"},"readListener":{"type":"object","writeOnly":true}}},"protocol":{"type":"string"},"contentLength":{"type":"integer","format":"int32"},"locale":{"type":"object","properties":{"language":{"type":"string"},"script":{"type":"string"},"country":{"type":"string"},"variant":{"type":"string"},"unicodeLocaleAttributes":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"unicodeLocaleKeys":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"displayLanguage":{"type":"string"},"displayScript":{"type":"string"},"displayCountry":{"type":"string"},"displayVariant":{"type":"string"},"displayName":{"type":"string"},"extensionKeys":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"iso3Language":{"type":"string"},"iso3Country":{"type":"string"}}},"localName":{"type":"string"},"attributeNames":{"type":"object"},"servletContext":{"type":"object","properties":{"classLoader":{"type":"object","properties":{"name":{"type":"string"},"registeredAsParallelCapable":{"type":"boolean"},"parent":{"type":"object","properties":{"name":{"type":"string"},"registeredAsParallelCapable":{"type":"boolean"},"unnamedModule":{"type":"object","properties":{"name":{"type":"string"},"descriptor":{"type":"object","properties":{"open":{"type":"boolean"},"automatic":{"type":"boolean"}}},"named":{"type":"boolean"},"annotations":{"type":"array","items":{"type":"object"}},"declaredAnnotations":{"type":"array","items":{"type":"object"}},"packages":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"layer":{"type":"object"}}},"definedPackages":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"annotations":{"type":"array","items":{"type":"object"}},"declaredAnnotations":{"type":"array","items":{"type":"object"}},"sealed":{"type":"boolean"},"specificationTitle":{"type":"string"},"specificationVersion":{"type":"string"},"specificationVendor":{"type":"string"},"implementationTitle":{"type":"string"},"implementationVersion":{"type":"string"},"implementationVendor":{"type":"string"}}}},"defaultAssertionStatus":{"type":"boolean","writeOnly":true}}},"unnamedModule":{"type":"object","properties":{"name":{"type":"string"},"descriptor":{"type":"object","properties":{"open":{"type":"boolean"},"automatic":{"type":"boolean"}}},"named":{"type":"boolean"},"annotations":{"type":"array","items":{"type":"object"}},"declaredAnnotations":{"type":"array","items":{"type":"object"}},"packages":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"layer":{"type":"object"}}},"definedPackages":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"annotations":{"type":"array","items":{"type":"object"}},"declaredAnnotations":{"type":"array","items":{"type":"object"}},"sealed":{"type":"boolean"},"specificationTitle":{"type":"string"},"specificationVersion":{"type":"string"},"specificationVendor":{"type":"string"},"implementationTitle":{"type":"string"},"implementationVersion":{"type":"string"},"implementationVendor":{"type":"string"}}}},"defaultAssertionStatus":{"type":"boolean","writeOnly":true}}},"majorVersion":{"type":"integer","format":"int32"},"minorVersion":{"type":"integer","format":"int32"},"attributeNames":{"type":"object"},"contextPath":{"type":"string"},"responseCharacterEncoding":{"type":"string"},"servletContextName":{"type":"string"},"filterRegistrations":{"type":"object","additionalProperties":{"type":"object","properties":{"servletNameMappings":{"type":"array","items":{"type":"string"}},"urlPatternMappings":{"type":"array","items":{"type":"string"}},"name":{"type":"string"},"className":{"type":"string"},"initParameters":{"type":"object","additionalProperties":{"type":"string"}}}}},"effectiveMajorVersion":{"type":"integer","format":"int32"},"sessionTrackingModes":{"uniqueItems":true,"type":"array","writeOnly":true,"items":{"type":"string","enum":["COOKIE","URL","SSL"]}},"initParameterNames":{"type":"object"},"requestCharacterEncoding":{"type":"string"},"jspConfigDescriptor":{"type":"object","properties":{"jspPropertyGroups":{"type":"array","items":{"type":"object","properties":{"buffer":{"type":"string"},"defaultContentType":{"type":"string"},"urlPatterns":{"type":"array","items":{"type":"string"}},"elIgnored":{"type":"string"},"pageEncoding":{"type":"string"},"isXml":{"type":"string"},"includePreludes":{"type":"array","items":{"type":"string"}},"includeCodas":{"type":"array","items":{"type":"string"}},"trimDirectiveWhitespaces":{"type":"string"},"scriptingInvalid":{"type":"string"},"deferredSyntaxAllowedAsLiteral":{"type":"string"},"errorOnUndeclaredNamespace":{"type":"string"}}}},"taglibs":{"type":"array","items":{"type":"object","properties":{"taglibURI":{"type":"string"},"taglibLocation":{"type":"string"}}}}}},"servletRegistrations":{"type":"object","additionalProperties":{"type":"object","properties":{"mappings":{"type":"array","items":{"type":"string"}},"runAsRole":{"type":"string"},"name":{"type":"string"},"className":{"type":"string"},"initParameters":{"type":"object","additionalProperties":{"type":"string"}}}}},"virtualServerName":{"type":"string"},"effectiveSessionTrackingModes":{"uniqueItems":true,"type":"array","items":{"type":"string","enum":["COOKIE","URL","SSL"]}},"effectiveMinorVersion":{"type":"integer","format":"int32"},"defaultSessionTrackingModes":{"uniqueItems":true,"type":"array","items":{"type":"string","enum":["COOKIE","URL","SSL"]}},"sessionCookieConfig":{"type":"object","properties":{"name":{"type":"string"},"path":{"type":"string"},"comment":{"type":"string"},"secure":{"type":"boolean"},"httpOnly":{"type":"boolean"},"maxAge":{"type":"integer","format":"int32"},"domain":{"type":"string"}}},"serverInfo":{"type":"string"},"sessionTimeout":{"type":"integer","format":"int32"},"servletNames":{"type":"object","deprecated":true},"servlets":{"type":"object","deprecated":true}}},"reader":{"type":"object"},"parameterNames":{"type":"object"},"characterEncoding":{"type":"string"},"remotePort":{"type":"integer","format":"int32"},"locales":{"type":"object"},"localAddr":{"type":"string"},"remoteAddr":{"type":"string"},"asyncSupported":{"type":"boolean"},"secure":{"type":"boolean"},"remoteHost":{"type":"string"},"serverName":{"type":"string"},"localPort":{"type":"integer","format":"int32"},"parameterMap":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}},"asyncStarted":{"type":"boolean"},"dispatcherType":{"type":"string","enum":["FORWARD","INCLUDE","REQUEST","ASYNC","ERROR"]},"serverPort":{"type":"integer","format":"int32"},"contentLengthLong":{"type":"integer","format":"int64"},"contentType":{"type":"string"}}},"response":{"type":"object","properties":{"locale":{"type":"object","properties":{"language":{"type":"string"},"script":{"type":"string"},"country":{"type":"string"},"variant":{"type":"string"},"unicodeLocaleAttributes":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"unicodeLocaleKeys":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"displayLanguage":{"type":"string"},"displayScript":{"type":"string"},"displayCountry":{"type":"string"},"displayVariant":{"type":"string"},"displayName":{"type":"string"},"extensionKeys":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"iso3Language":{"type":"string"},"iso3Country":{"type":"string"}}},"bufferSize":{"type":"integer","format":"int32"},"characterEncoding":{"type":"string"},"contentLengthLong":{"type":"integer","format":"int64","writeOnly":true},"writer":{"type":"object"},"committed":{"type":"boolean"},"contentType":{"type":"string"},"outputStream":{"type":"object","properties":{"ready":{"type":"boolean"},"writeListener":{"type":"object","writeOnly":true}}},"contentLength":{"type":"integer","format":"int32","writeOnly":true}}},"timeout":{"type":"integer","format":"int64"}}},"asyncSupported":{"type":"boolean"},"secure":{"type":"boolean"},"remoteHost":{"type":"string"},"serverName":{"type":"string"},"localPort":{"type":"integer","format":"int32"},"parameterMap":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}},"asyncStarted":{"type":"boolean"},"dispatcherType":{"type":"string","enum":["FORWARD","INCLUDE","REQUEST","ASYNC","ERROR"]},"serverPort":{"type":"integer","format":"int32"},"contentLengthLong":{"type":"integer","format":"int64"},"contentType":{"type":"string"}}}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"string"}}}}}}},"/api/pay/wx/create":{"post":{"tags":["支付管理 Api"],"summary":"创建微信支付订单","description":"创建微信支付订单","operationId":"createWechatPay","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentOrder"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultMapStringString"}}}}}}},"/api/pay/alipay/trade/notify":{"post":{"tags":["支付管理 Api"],"summary":"处理支付宝支付回调","description":"处理支付宝支付回调","operationId":"handleAlipayNotify","parameters":[{"name":"request","in":"query","required":true,"schema":{"type":"object","properties":{"method":{"type":"string"},"queryString":{"type":"string"},"contextPath":{"type":"string"},"session":{"type":"object","properties":{"id":{"type":"string"},"creationTime":{"type":"integer","format":"int64"},"attributeNames":{"type":"object"},"servletContext":{"type":"object","properties":{"classLoader":{"type":"object","properties":{"name":{"type":"string"},"registeredAsParallelCapable":{"type":"boolean"},"parent":{"type":"object","properties":{"name":{"type":"string"},"registeredAsParallelCapable":{"type":"boolean"},"unnamedModule":{"type":"object","properties":{"name":{"type":"string"},"descriptor":{"type":"object","properties":{"open":{"type":"boolean"},"automatic":{"type":"boolean"}}},"named":{"type":"boolean"},"annotations":{"type":"array","items":{"type":"object"}},"declaredAnnotations":{"type":"array","items":{"type":"object"}},"packages":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"layer":{"type":"object"}}},"definedPackages":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"annotations":{"type":"array","items":{"type":"object"}},"declaredAnnotations":{"type":"array","items":{"type":"object"}},"sealed":{"type":"boolean"},"specificationTitle":{"type":"string"},"specificationVersion":{"type":"string"},"specificationVendor":{"type":"string"},"implementationTitle":{"type":"string"},"implementationVersion":{"type":"string"},"implementationVendor":{"type":"string"}}}},"defaultAssertionStatus":{"type":"boolean","writeOnly":true}}},"unnamedModule":{"type":"object","properties":{"name":{"type":"string"},"descriptor":{"type":"object","properties":{"open":{"type":"boolean"},"automatic":{"type":"boolean"}}},"named":{"type":"boolean"},"annotations":{"type":"array","items":{"type":"object"}},"declaredAnnotations":{"type":"array","items":{"type":"object"}},"packages":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"layer":{"type":"object"}}},"definedPackages":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"annotations":{"type":"array","items":{"type":"object"}},"declaredAnnotations":{"type":"array","items":{"type":"object"}},"sealed":{"type":"boolean"},"specificationTitle":{"type":"string"},"specificationVersion":{"type":"string"},"specificationVendor":{"type":"string"},"implementationTitle":{"type":"string"},"implementationVersion":{"type":"string"},"implementationVendor":{"type":"string"}}}},"defaultAssertionStatus":{"type":"boolean","writeOnly":true}}},"majorVersion":{"type":"integer","format":"int32"},"minorVersion":{"type":"integer","format":"int32"},"attributeNames":{"type":"object"},"contextPath":{"type":"string"},"responseCharacterEncoding":{"type":"string"},"servletContextName":{"type":"string"},"filterRegistrations":{"type":"object","additionalProperties":{"type":"object","properties":{"servletNameMappings":{"type":"array","items":{"type":"string"}},"urlPatternMappings":{"type":"array","items":{"type":"string"}},"name":{"type":"string"},"className":{"type":"string"},"initParameters":{"type":"object","additionalProperties":{"type":"string"}}}}},"effectiveMajorVersion":{"type":"integer","format":"int32"},"sessionTrackingModes":{"uniqueItems":true,"type":"array","writeOnly":true,"items":{"type":"string","enum":["COOKIE","URL","SSL"]}},"initParameterNames":{"type":"object"},"requestCharacterEncoding":{"type":"string"},"jspConfigDescriptor":{"type":"object","properties":{"jspPropertyGroups":{"type":"array","items":{"type":"object","properties":{"buffer":{"type":"string"},"defaultContentType":{"type":"string"},"urlPatterns":{"type":"array","items":{"type":"string"}},"elIgnored":{"type":"string"},"pageEncoding":{"type":"string"},"isXml":{"type":"string"},"includePreludes":{"type":"array","items":{"type":"string"}},"includeCodas":{"type":"array","items":{"type":"string"}},"trimDirectiveWhitespaces":{"type":"string"},"scriptingInvalid":{"type":"string"},"deferredSyntaxAllowedAsLiteral":{"type":"string"},"errorOnUndeclaredNamespace":{"type":"string"}}}},"taglibs":{"type":"array","items":{"type":"object","properties":{"taglibURI":{"type":"string"},"taglibLocation":{"type":"string"}}}}}},"servletRegistrations":{"type":"object","additionalProperties":{"type":"object","properties":{"mappings":{"type":"array","items":{"type":"string"}},"runAsRole":{"type":"string"},"name":{"type":"string"},"className":{"type":"string"},"initParameters":{"type":"object","additionalProperties":{"type":"string"}}}}},"virtualServerName":{"type":"string"},"effectiveSessionTrackingModes":{"uniqueItems":true,"type":"array","items":{"type":"string","enum":["COOKIE","URL","SSL"]}},"effectiveMinorVersion":{"type":"integer","format":"int32"},"defaultSessionTrackingModes":{"uniqueItems":true,"type":"array","items":{"type":"string","enum":["COOKIE","URL","SSL"]}},"sessionCookieConfig":{"type":"object","properties":{"name":{"type":"string"},"path":{"type":"string"},"comment":{"type":"string"},"secure":{"type":"boolean"},"httpOnly":{"type":"boolean"},"maxAge":{"type":"integer","format":"int32"},"domain":{"type":"string"}}},"serverInfo":{"type":"string"},"sessionTimeout":{"type":"integer","format":"int32"},"servletNames":{"type":"object","deprecated":true},"servlets":{"type":"object","deprecated":true}}},"lastAccessedTime":{"type":"integer","format":"int64"},"maxInactiveInterval":{"type":"integer","format":"int32"},"new":{"type":"boolean"},"valueNames":{"type":"array","deprecated":true,"items":{"type":"string","deprecated":true}},"sessionContext":{"type":"object","properties":{"ids":{"type":"object","deprecated":true}},"deprecated":true}}},"userPrincipal":{"type":"object","properties":{"name":{"type":"string"}}},"headerNames":{"type":"object"},"remoteUser":{"type":"string"},"requestURI":{"type":"string"},"authType":{"type":"string"},"pathTranslated":{"type":"string"},"requestURL":{"type":"object","properties":{"length":{"type":"integer","format":"int32","writeOnly":true},"empty":{"type":"boolean"}}},"cookies":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"},"comment":{"type":"string"},"domain":{"type":"string"},"maxAge":{"type":"integer","format":"int32"},"path":{"type":"string"},"secure":{"type":"boolean"},"version":{"type":"integer","format":"int32"},"httpOnly":{"type":"boolean"}}}},"trailerFields":{"type":"object","additionalProperties":{"type":"string"}},"pathInfo":{"type":"string"},"servletPath":{"type":"string"},"parts":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"size":{"type":"integer","format":"int64"},"inputStream":{"type":"object"},"headerNames":{"type":"array","items":{"type":"string"}},"submittedFileName":{"type":"string"},"contentType":{"type":"string"}}}},"trailerFieldsReady":{"type":"boolean"},"requestedSessionIdValid":{"type":"boolean"},"requestedSessionIdFromURL":{"type":"boolean"},"httpServletMapping":{"type":"object","properties":{"pattern":{"type":"string"},"servletName":{"type":"string"},"mappingMatch":{"type":"string","enum":["CONTEXT_ROOT","DEFAULT","EXACT","EXTENSION","PATH"]},"matchValue":{"type":"string"}}},"requestedSessionId":{"type":"string"},"requestedSessionIdFromCookie":{"type":"boolean"},"requestedSessionIdFromUrl":{"type":"boolean","deprecated":true},"scheme":{"type":"string"},"inputStream":{"type":"object","properties":{"finished":{"type":"boolean"},"ready":{"type":"boolean"},"readListener":{"type":"object","writeOnly":true}}},"protocol":{"type":"string"},"contentLength":{"type":"integer","format":"int32"},"locale":{"type":"object","properties":{"language":{"type":"string"},"script":{"type":"string"},"country":{"type":"string"},"variant":{"type":"string"},"unicodeLocaleAttributes":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"unicodeLocaleKeys":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"displayLanguage":{"type":"string"},"displayScript":{"type":"string"},"displayCountry":{"type":"string"},"displayVariant":{"type":"string"},"displayName":{"type":"string"},"extensionKeys":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"iso3Language":{"type":"string"},"iso3Country":{"type":"string"}}},"localName":{"type":"string"},"attributeNames":{"type":"object"},"servletContext":{"type":"object","properties":{"classLoader":{"type":"object","properties":{"name":{"type":"string"},"registeredAsParallelCapable":{"type":"boolean"},"parent":{"type":"object","properties":{"name":{"type":"string"},"registeredAsParallelCapable":{"type":"boolean"},"unnamedModule":{"type":"object","properties":{"name":{"type":"string"},"descriptor":{"type":"object","properties":{"open":{"type":"boolean"},"automatic":{"type":"boolean"}}},"named":{"type":"boolean"},"annotations":{"type":"array","items":{"type":"object"}},"declaredAnnotations":{"type":"array","items":{"type":"object"}},"packages":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"layer":{"type":"object"}}},"definedPackages":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"annotations":{"type":"array","items":{"type":"object"}},"declaredAnnotations":{"type":"array","items":{"type":"object"}},"sealed":{"type":"boolean"},"specificationTitle":{"type":"string"},"specificationVersion":{"type":"string"},"specificationVendor":{"type":"string"},"implementationTitle":{"type":"string"},"implementationVersion":{"type":"string"},"implementationVendor":{"type":"string"}}}},"defaultAssertionStatus":{"type":"boolean","writeOnly":true}}},"unnamedModule":{"type":"object","properties":{"name":{"type":"string"},"descriptor":{"type":"object","properties":{"open":{"type":"boolean"},"automatic":{"type":"boolean"}}},"named":{"type":"boolean"},"annotations":{"type":"array","items":{"type":"object"}},"declaredAnnotations":{"type":"array","items":{"type":"object"}},"packages":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"layer":{"type":"object"}}},"definedPackages":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"annotations":{"type":"array","items":{"type":"object"}},"declaredAnnotations":{"type":"array","items":{"type":"object"}},"sealed":{"type":"boolean"},"specificationTitle":{"type":"string"},"specificationVersion":{"type":"string"},"specificationVendor":{"type":"string"},"implementationTitle":{"type":"string"},"implementationVersion":{"type":"string"},"implementationVendor":{"type":"string"}}}},"defaultAssertionStatus":{"type":"boolean","writeOnly":true}}},"majorVersion":{"type":"integer","format":"int32"},"minorVersion":{"type":"integer","format":"int32"},"attributeNames":{"type":"object"},"contextPath":{"type":"string"},"responseCharacterEncoding":{"type":"string"},"servletContextName":{"type":"string"},"filterRegistrations":{"type":"object","additionalProperties":{"type":"object","properties":{"servletNameMappings":{"type":"array","items":{"type":"string"}},"urlPatternMappings":{"type":"array","items":{"type":"string"}},"name":{"type":"string"},"className":{"type":"string"},"initParameters":{"type":"object","additionalProperties":{"type":"string"}}}}},"effectiveMajorVersion":{"type":"integer","format":"int32"},"sessionTrackingModes":{"uniqueItems":true,"type":"array","writeOnly":true,"items":{"type":"string","enum":["COOKIE","URL","SSL"]}},"initParameterNames":{"type":"object"},"requestCharacterEncoding":{"type":"string"},"jspConfigDescriptor":{"type":"object","properties":{"jspPropertyGroups":{"type":"array","items":{"type":"object","properties":{"buffer":{"type":"string"},"defaultContentType":{"type":"string"},"urlPatterns":{"type":"array","items":{"type":"string"}},"elIgnored":{"type":"string"},"pageEncoding":{"type":"string"},"isXml":{"type":"string"},"includePreludes":{"type":"array","items":{"type":"string"}},"includeCodas":{"type":"array","items":{"type":"string"}},"trimDirectiveWhitespaces":{"type":"string"},"scriptingInvalid":{"type":"string"},"deferredSyntaxAllowedAsLiteral":{"type":"string"},"errorOnUndeclaredNamespace":{"type":"string"}}}},"taglibs":{"type":"array","items":{"type":"object","properties":{"taglibURI":{"type":"string"},"taglibLocation":{"type":"string"}}}}}},"servletRegistrations":{"type":"object","additionalProperties":{"type":"object","properties":{"mappings":{"type":"array","items":{"type":"string"}},"runAsRole":{"type":"string"},"name":{"type":"string"},"className":{"type":"string"},"initParameters":{"type":"object","additionalProperties":{"type":"string"}}}}},"virtualServerName":{"type":"string"},"effectiveSessionTrackingModes":{"uniqueItems":true,"type":"array","items":{"type":"string","enum":["COOKIE","URL","SSL"]}},"effectiveMinorVersion":{"type":"integer","format":"int32"},"defaultSessionTrackingModes":{"uniqueItems":true,"type":"array","items":{"type":"string","enum":["COOKIE","URL","SSL"]}},"sessionCookieConfig":{"type":"object","properties":{"name":{"type":"string"},"path":{"type":"string"},"comment":{"type":"string"},"secure":{"type":"boolean"},"httpOnly":{"type":"boolean"},"maxAge":{"type":"integer","format":"int32"},"domain":{"type":"string"}}},"serverInfo":{"type":"string"},"sessionTimeout":{"type":"integer","format":"int32"},"servletNames":{"type":"object","deprecated":true},"servlets":{"type":"object","deprecated":true}}},"reader":{"type":"object"},"parameterNames":{"type":"object"},"characterEncoding":{"type":"string"},"remotePort":{"type":"integer","format":"int32"},"locales":{"type":"object"},"localAddr":{"type":"string"},"remoteAddr":{"type":"string"},"asyncContext":{"type":"object","properties":{"request":{"type":"object","properties":{"scheme":{"type":"string"},"inputStream":{"type":"object","properties":{"finished":{"type":"boolean"},"ready":{"type":"boolean"},"readListener":{"type":"object","writeOnly":true}}},"protocol":{"type":"string"},"contentLength":{"type":"integer","format":"int32"},"locale":{"type":"object","properties":{"language":{"type":"string"},"script":{"type":"string"},"country":{"type":"string"},"variant":{"type":"string"},"unicodeLocaleAttributes":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"unicodeLocaleKeys":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"displayLanguage":{"type":"string"},"displayScript":{"type":"string"},"displayCountry":{"type":"string"},"displayVariant":{"type":"string"},"displayName":{"type":"string"},"extensionKeys":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"iso3Language":{"type":"string"},"iso3Country":{"type":"string"}}},"localName":{"type":"string"},"attributeNames":{"type":"object"},"servletContext":{"type":"object","properties":{"classLoader":{"type":"object","properties":{"name":{"type":"string"},"registeredAsParallelCapable":{"type":"boolean"},"parent":{"type":"object","properties":{"name":{"type":"string"},"registeredAsParallelCapable":{"type":"boolean"},"unnamedModule":{"type":"object","properties":{"name":{"type":"string"},"descriptor":{"type":"object","properties":{"open":{"type":"boolean"},"automatic":{"type":"boolean"}}},"named":{"type":"boolean"},"annotations":{"type":"array","items":{"type":"object"}},"declaredAnnotations":{"type":"array","items":{"type":"object"}},"packages":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"layer":{"type":"object"}}},"definedPackages":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"annotations":{"type":"array","items":{"type":"object"}},"declaredAnnotations":{"type":"array","items":{"type":"object"}},"sealed":{"type":"boolean"},"specificationTitle":{"type":"string"},"specificationVersion":{"type":"string"},"specificationVendor":{"type":"string"},"implementationTitle":{"type":"string"},"implementationVersion":{"type":"string"},"implementationVendor":{"type":"string"}}}},"defaultAssertionStatus":{"type":"boolean","writeOnly":true}}},"unnamedModule":{"type":"object","properties":{"name":{"type":"string"},"descriptor":{"type":"object","properties":{"open":{"type":"boolean"},"automatic":{"type":"boolean"}}},"named":{"type":"boolean"},"annotations":{"type":"array","items":{"type":"object"}},"declaredAnnotations":{"type":"array","items":{"type":"object"}},"packages":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"layer":{"type":"object"}}},"definedPackages":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"annotations":{"type":"array","items":{"type":"object"}},"declaredAnnotations":{"type":"array","items":{"type":"object"}},"sealed":{"type":"boolean"},"specificationTitle":{"type":"string"},"specificationVersion":{"type":"string"},"specificationVendor":{"type":"string"},"implementationTitle":{"type":"string"},"implementationVersion":{"type":"string"},"implementationVendor":{"type":"string"}}}},"defaultAssertionStatus":{"type":"boolean","writeOnly":true}}},"majorVersion":{"type":"integer","format":"int32"},"minorVersion":{"type":"integer","format":"int32"},"attributeNames":{"type":"object"},"contextPath":{"type":"string"},"responseCharacterEncoding":{"type":"string"},"servletContextName":{"type":"string"},"filterRegistrations":{"type":"object","additionalProperties":{"type":"object","properties":{"servletNameMappings":{"type":"array","items":{"type":"string"}},"urlPatternMappings":{"type":"array","items":{"type":"string"}},"name":{"type":"string"},"className":{"type":"string"},"initParameters":{"type":"object","additionalProperties":{"type":"string"}}}}},"effectiveMajorVersion":{"type":"integer","format":"int32"},"sessionTrackingModes":{"uniqueItems":true,"type":"array","writeOnly":true,"items":{"type":"string","enum":["COOKIE","URL","SSL"]}},"initParameterNames":{"type":"object"},"requestCharacterEncoding":{"type":"string"},"jspConfigDescriptor":{"type":"object","properties":{"jspPropertyGroups":{"type":"array","items":{"type":"object","properties":{"buffer":{"type":"string"},"defaultContentType":{"type":"string"},"urlPatterns":{"type":"array","items":{"type":"string"}},"elIgnored":{"type":"string"},"pageEncoding":{"type":"string"},"isXml":{"type":"string"},"includePreludes":{"type":"array","items":{"type":"string"}},"includeCodas":{"type":"array","items":{"type":"string"}},"trimDirectiveWhitespaces":{"type":"string"},"scriptingInvalid":{"type":"string"},"deferredSyntaxAllowedAsLiteral":{"type":"string"},"errorOnUndeclaredNamespace":{"type":"string"}}}},"taglibs":{"type":"array","items":{"type":"object","properties":{"taglibURI":{"type":"string"},"taglibLocation":{"type":"string"}}}}}},"servletRegistrations":{"type":"object","additionalProperties":{"type":"object","properties":{"mappings":{"type":"array","items":{"type":"string"}},"runAsRole":{"type":"string"},"name":{"type":"string"},"className":{"type":"string"},"initParameters":{"type":"object","additionalProperties":{"type":"string"}}}}},"virtualServerName":{"type":"string"},"effectiveSessionTrackingModes":{"uniqueItems":true,"type":"array","items":{"type":"string","enum":["COOKIE","URL","SSL"]}},"effectiveMinorVersion":{"type":"integer","format":"int32"},"defaultSessionTrackingModes":{"uniqueItems":true,"type":"array","items":{"type":"string","enum":["COOKIE","URL","SSL"]}},"sessionCookieConfig":{"type":"object","properties":{"name":{"type":"string"},"path":{"type":"string"},"comment":{"type":"string"},"secure":{"type":"boolean"},"httpOnly":{"type":"boolean"},"maxAge":{"type":"integer","format":"int32"},"domain":{"type":"string"}}},"serverInfo":{"type":"string"},"sessionTimeout":{"type":"integer","format":"int32"},"servletNames":{"type":"object","deprecated":true},"servlets":{"type":"object","deprecated":true}}},"reader":{"type":"object"},"parameterNames":{"type":"object"},"characterEncoding":{"type":"string"},"remotePort":{"type":"integer","format":"int32"},"locales":{"type":"object"},"localAddr":{"type":"string"},"remoteAddr":{"type":"string"},"asyncSupported":{"type":"boolean"},"secure":{"type":"boolean"},"remoteHost":{"type":"string"},"serverName":{"type":"string"},"localPort":{"type":"integer","format":"int32"},"parameterMap":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}},"asyncStarted":{"type":"boolean"},"dispatcherType":{"type":"string","enum":["FORWARD","INCLUDE","REQUEST","ASYNC","ERROR"]},"serverPort":{"type":"integer","format":"int32"},"contentLengthLong":{"type":"integer","format":"int64"},"contentType":{"type":"string"}}},"response":{"type":"object","properties":{"locale":{"type":"object","properties":{"language":{"type":"string"},"script":{"type":"string"},"country":{"type":"string"},"variant":{"type":"string"},"unicodeLocaleAttributes":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"unicodeLocaleKeys":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"displayLanguage":{"type":"string"},"displayScript":{"type":"string"},"displayCountry":{"type":"string"},"displayVariant":{"type":"string"},"displayName":{"type":"string"},"extensionKeys":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"iso3Language":{"type":"string"},"iso3Country":{"type":"string"}}},"bufferSize":{"type":"integer","format":"int32"},"characterEncoding":{"type":"string"},"contentLengthLong":{"type":"integer","format":"int64","writeOnly":true},"writer":{"type":"object"},"committed":{"type":"boolean"},"contentType":{"type":"string"},"outputStream":{"type":"object","properties":{"ready":{"type":"boolean"},"writeListener":{"type":"object","writeOnly":true}}},"contentLength":{"type":"integer","format":"int32","writeOnly":true}}},"timeout":{"type":"integer","format":"int64"}}},"asyncSupported":{"type":"boolean"},"secure":{"type":"boolean"},"remoteHost":{"type":"string"},"serverName":{"type":"string"},"localPort":{"type":"integer","format":"int32"},"parameterMap":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}},"asyncStarted":{"type":"boolean"},"dispatcherType":{"type":"string","enum":["FORWARD","INCLUDE","REQUEST","ASYNC","ERROR"]},"serverPort":{"type":"integer","format":"int32"},"contentLengthLong":{"type":"integer","format":"int64"},"contentType":{"type":"string"}}}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"string"}}}}}}},"/api/pay/alipay/create":{"post":{"tags":["支付管理 Api"],"summary":"创建支付宝支付订单","description":"创建支付宝支付订单","operationId":"createAlipay","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentOrder"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultString"}}}}}}},"/api/login/validateToken":{"post":{"tags":["登录|登出 Api"],"summary":"验证token是否有效","description":"验证token是否有效","operationId":"validateToken","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultObject"}}}}}}},"/api/login/sendCode":{"post":{"tags":["登录|登出 Api"],"summary":"发送手机验证码","description":"向指定手机号发送登录验证码","operationId":"sendCode","parameters":[{"name":"phone","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultString"}}}}}}},"/api/login/phoneLogin":{"post":{"tags":["登录|登出 Api"],"summary":"手机号登录","description":"使用手机号和验证码登录","operationId":"phoneLogin","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhoneLoginDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultLoginUserDto"}}}}}}},"/api/login/accountLogout":{"post":{"tags":["登录|登出 Api"],"summary":"用户登出","description":"用户登出","operationId":"logout","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultString"}}}}}}},"/api/login/accountLogin":{"post":{"tags":["登录|登出 Api"],"summary":"用户登录","description":"用户登录","operationId":"login","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultLoginUserDto"}}}}}}},"/api/contentPurchase/queryById/{purchaseId}":{"post":{"tags":["内容购买管理 Api"],"summary":"通过ID查询内容购买记录","description":"通过ID查询内容购买记录","operationId":"queryById_8","parameters":[{"name":"purchaseId","in":"path","description":"购买记录ID","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultContentPurchase"}}}}}}},"/api/contentPurchase/purchase":{"post":{"tags":["内容购买管理 Api"],"summary":"购买内容","description":"购买内容","operationId":"purchaseContent","parameters":[{"name":"userId","in":"query","description":"用户ID","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"contentId","in":"query","description":"内容ID","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"payType","in":"query","description":"支付方式:1.余额支付 2.积分支付","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultContentPurchase"}}}}}}},"/api/contentPurchase/pageList":{"post":{"tags":["内容购买管理 Api"],"summary":"分页查询内容购买记录","description":"分页查询内容购买记录","operationId":"getPageList_8","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentPurchaseDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultPageInfoContentPurchase"}}}}}}},"/api/contentPurchase/list":{"post":{"tags":["内容购买管理 Api"],"summary":"查询内容购买记录列表","description":"查询内容购买记录列表","operationId":"getList_2","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentPurchaseDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultListContentPurchase"}}}}}}},"/api/contentPurchase/checkPermission":{"post":{"tags":["内容购买管理 Api"],"summary":"检查内容访问权限","description":"检查内容访问权限","operationId":"checkAccessPermission","parameters":[{"name":"userId","in":"query","description":"用户ID","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"contentId","in":"query","description":"内容ID","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultBoolean"}}}}}}},"/api/common/uploadImage":{"post":{"tags":["Common Api"],"summary":"图片上传","description":"图片上传接口","operationId":"uploadImage","requestBody":{"content":{"application/json":{"schema":{"required":["image"],"type":"object","properties":{"image":{"type":"string","format":"binary"}}}}}},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultUploadResponse"}}}}}}},"/api/common/uploadFile":{"post":{"tags":["Common Api"],"summary":"文件上传","description":"文件上传接口","operationId":"uploadFile","requestBody":{"content":{"application/json":{"schema":{"required":["file"],"type":"object","properties":{"file":{"type":"string","format":"binary"}}}}}},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultUploadResponse"}}}}}}},"/api/cmsTag/update":{"post":{"tags":["标签管理 Api"],"summary":"更新标签","description":"更新标签","operationId":"update_6","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CmsTag"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultCmsTag"}}}}}}},"/api/cmsTag/queryById/{tagId}":{"post":{"tags":["标签管理 Api"],"summary":"通过ID查询标签","description":"通过ID查询标签","operationId":"queryById_9","parameters":[{"name":"tagId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultCmsTag"}}}}}}},"/api/cmsTag/logicDeleteById":{"post":{"tags":["标签管理 Api"],"summary":"逻辑删除标签","description":"逻辑删除标签","operationId":"logicDeleteById","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultBoolean"}}}}}}},"/api/cmsTag/insert":{"post":{"tags":["标签管理 Api"],"summary":"新增标签","description":"新增标签","operationId":"insert_6","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CmsTag"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultCmsTag"}}}}}}},"/api/cmsTag/getPageList":{"post":{"tags":["标签管理 Api"],"summary":"查询分页列表","description":"查询分页列表","operationId":"getPageList_9","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CmsTagDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultPageInfoCmsTag"}}}}}}},"/api/cmsTag/getList":{"post":{"tags":["标签管理 Api"],"summary":"查询列表","description":"查询列表","operationId":"getList_3","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CmsTagDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultPageInfoCmsTag"}}}}}}},"/api/cmsTag/deleteById/{tagId}":{"post":{"tags":["标签管理 Api"],"summary":"物理删除标签","description":"物理删除标签","operationId":"deleteById_6","parameters":[{"name":"tagId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultBoolean"}}}}}}},"/api/cmsContent/update":{"post":{"tags":["skill(skills)管理 Api"],"summary":"更新skill","description":"更新skill","operationId":"update_7","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CmsContent"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultCmsContent"}}}}}}},"/api/cmsContent/updatePublishStatus":{"post":{"tags":["skill(skills)管理 Api"],"summary":"更新发布状态","description":"更新发布状态","operationId":"updatePublishStatus","parameters":[{"name":"contentId","in":"query","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"publishStatus","in":"query","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"publishTime","in":"query","required":false,"schema":{"type":"string"}},{"name":"updateBy","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultBoolean"}}}}}}},"/api/cmsContent/updateAuditStatus":{"post":{"tags":["skill(skills)管理 Api"],"summary":"更新审核状态","description":"更新审核状态","operationId":"updateAuditStatus","parameters":[{"name":"contentId","in":"query","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"auditStatus","in":"query","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"reviewerId","in":"query","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"reviewerName","in":"query","required":true,"schema":{"type":"string"}},{"name":"auditComment","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultBoolean"}}}}}}},"/api/cmsContent/removeFavorite":{"post":{"tags":["skill(skills)管理 Api"],"summary":"取消收藏","description":"取消skill收藏","operationId":"removeFavorite","parameters":[{"name":"contentId","in":"query","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultBoolean"}}}}}}},"/api/cmsContent/queryById/{contentId}":{"post":{"tags":["skill(skills)管理 Api"],"summary":"通过ID查询skill","description":"通过ID查询skill","operationId":"queryById_10","parameters":[{"name":"contentId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultCmsContent"}}}}}}},"/api/cmsContent/logicDeleteById":{"post":{"tags":["skill(skills)管理 Api"],"summary":"逻辑删除skill","description":"逻辑删除skill","operationId":"logicDeleteById_1","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultBoolean"}}}}}}},"/api/cmsContent/insert":{"post":{"tags":["skill(skills)管理 Api"],"summary":"新增skill","description":"新增skill","operationId":"insert_7","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CmsContent"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultCmsContent"}}}}}}},"/api/cmsContent/increaseViewCount/{contentId}":{"post":{"tags":["skill(skills)管理 Api"],"summary":"增加阅读量","description":"增加阅读量","operationId":"increaseViewCount","parameters":[{"name":"contentId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultBoolean"}}}}}}},"/api/cmsContent/importFromExcel":{"post":{"tags":["skill(skills)管理 Api"],"summary":"导入Excel数据","description":"从Excel文件导入数据到CmsContent","operationId":"importFromExcel","parameters":[{"name":"createBy","in":"query","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"required":["file"],"type":"object","properties":{"file":{"type":"string","format":"binary"}}}}}},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultInteger"}}}}}}},"/api/cmsContent/getUserPurchases":{"post":{"tags":["skill(skills)管理 Api"],"summary":"获取用户拥有","description":"获取当前用户购买的内容列表,带分页","operationId":"getUserPurchases","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CmsContentDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultPageInfoCmsContent"}}}}}}},"/api/cmsContent/getUserHistory":{"post":{"tags":["skill(skills)管理 Api"],"summary":"获取用户历史查看","description":"获取当前用户历史查看的内容列表,带分页","operationId":"getUserHistory","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CmsContentDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultPageInfoCmsContent"}}}}}}},"/api/cmsContent/getUserFavorites":{"post":{"tags":["skill(skills)管理 Api"],"summary":"获取用户收藏","description":"获取当前用户收藏的内容列表,带分页","operationId":"getUserFavorites","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CmsContentDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultPageInfoCmsContent"}}}}}}},"/api/cmsContent/getUserCreated":{"post":{"tags":["skill(skills)管理 Api"],"summary":"获取用户创建","description":"获取当前用户创建的内容列表,带分页,可查询已发布、未发布","operationId":"getUserCreated","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CmsContentDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultPageInfoCmsContent"}}}}}}},"/api/cmsContent/getPageList":{"post":{"tags":["skill(skills)管理 Api"],"summary":"查询分页列表","description":"查询分页列表","operationId":"getPageList_10","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CmsContentDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultPageInfoCmsContent"}}}}}}},"/api/cmsContent/getList":{"post":{"tags":["skill(skills)管理 Api"],"summary":"查询列表","description":"查询列表","operationId":"getList_4","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CmsContentDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultPageInfoCmsContent"}}}}}}},"/api/cmsContent/deleteById/{contentId}":{"post":{"tags":["skill(skills)管理 Api"],"summary":"物理删除skill","description":"物理删除skill","operationId":"deleteById_7","parameters":[{"name":"contentId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultBoolean"}}}}}}},"/api/cmsContent/addView":{"post":{"tags":["skill(skills)管理 Api"],"summary":"添加查看记录","description":"添加skill查看记录","operationId":"addView","parameters":[{"name":"contentId","in":"query","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultBoolean"}}}}}}},"/api/cmsContent/addFavorite":{"post":{"tags":["skill(skills)管理 Api"],"summary":"添加收藏","description":"添加skill收藏","operationId":"addFavorite","parameters":[{"name":"contentId","in":"query","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultBoolean"}}}}}}},"/api/cmsCategory/update":{"post":{"tags":["内容类目(skills-分类) Api"],"summary":"更新分类","description":"更新分类","operationId":"update_8","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CmsCategory"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultCmsCategory"}}}}}}},"/api/cmsCategory/logicDeleteById":{"post":{"tags":["内容类目(skills-分类) Api"],"summary":"逻辑删除分类","description":"逻辑删除分类","operationId":"logicDeleteById_2","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultBoolean"}}}}}}},"/api/cmsCategory/insert":{"post":{"tags":["内容类目(skills-分类) Api"],"summary":"新增分类","description":"新增分类","operationId":"insert_8","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CmsCategory"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultCmsCategory"}}}}}}},"/api/cmsCategory/getPageList":{"post":{"tags":["内容类目(skills-分类) Api"],"summary":"查询分页列表","description":"查询分页列表","operationId":"getPageList_11","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CmsCategoryDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultPageInfoCmsCategory"}}}}}}},"/api/cmsCategory/getList":{"post":{"tags":["内容类目(skills-分类) Api"],"summary":"查询列表","description":"查询列表","operationId":"getList_5","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CmsCategoryDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultPageInfoCmsCategory"}}}}}}},"/api/cmsCategory/deleteById/{categoryId}":{"post":{"tags":["内容类目(skills-分类) Api"],"summary":"物理删除分类","description":"物理删除分类","operationId":"deleteById_8","parameters":[{"name":"categoryId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultBoolean"}}}}}}},"/api/captcha/verify":{"post":{"tags":["验证码 Api"],"summary":"验证验证码","description":"验证验证码","operationId":"verifyCaptcha","parameters":[{"name":"captchaId","in":"query","required":true,"schema":{"type":"string"}},{"name":"captchaValue","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultBoolean"}}}}}}},"/api/account/queryByUserId/{userId}":{"post":{"tags":["账户管理 api"],"summary":"通过用户ID查询账户","description":"通过用户ID查询账户","operationId":"queryByUserId_1","parameters":[{"name":"userId","in":"path","description":"用户ID","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultAccount"}}}}}}},"/api/account/queryById/{accountId}":{"post":{"tags":["账户管理 api"],"summary":"通过ID查询账户","description":"通过ID查询账户","operationId":"queryById_11","parameters":[{"name":"accountId","in":"path","description":"账户ID","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultAccount"}}}}}}},"/api/account/pageList":{"post":{"tags":["账户管理 api"],"summary":"分页查询账户","description":"分页查询账户","operationId":"getPageList_12","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultPageInfoAccount"}}}}}}},"/api/account/list":{"post":{"tags":["账户管理 api"],"summary":"查询账户列表","description":"查询账户列表","operationId":"getList_6","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultListAccount"}}}}}}},"/api/sysUser/currentUser":{"get":{"tags":["用户管理 Api"],"summary":"获取当前登录用户信息","description":"获取当前登录用户信息","operationId":"currentUser","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultLoginUserDto"}}}}}}},"/api/sysDict/{dictCode}":{"get":{"tags":["系统字典 Api"],"summary":"通过字典编码查询字典列表","description":"通过字典编码查询字典列表","operationId":"getListByDictCode","parameters":[{"name":"dictCode","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultListSysDict"}}}}}}},"/api/sysDict/dictCodeList":{"get":{"tags":["系统字典 Api"],"summary":"查询所有字典编码","description":"查询所有字典编码","operationId":"getAllDictCode","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultListSysDict"}}}}}}},"/api/sysDict/allDictMap":{"get":{"tags":["系统字典 Api"],"summary":"查询所有字典映射","description":"查询所有字典映射","operationId":"getAllDictMap","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultMapStringListSysDict"}}}}}}},"/api/pay/alipay/trade/return":{"get":{"tags":["支付管理 Api"],"summary":"处理支付宝支付同步回调","description":"处理支付宝支付同步回调","operationId":"handleAlipayReturn","parameters":[{"name":"request","in":"query","required":true,"schema":{"type":"object","properties":{"method":{"type":"string"},"queryString":{"type":"string"},"contextPath":{"type":"string"},"session":{"type":"object","properties":{"id":{"type":"string"},"creationTime":{"type":"integer","format":"int64"},"attributeNames":{"type":"object"},"servletContext":{"type":"object","properties":{"classLoader":{"type":"object","properties":{"name":{"type":"string"},"registeredAsParallelCapable":{"type":"boolean"},"parent":{"type":"object","properties":{"name":{"type":"string"},"registeredAsParallelCapable":{"type":"boolean"},"unnamedModule":{"type":"object","properties":{"name":{"type":"string"},"descriptor":{"type":"object","properties":{"open":{"type":"boolean"},"automatic":{"type":"boolean"}}},"named":{"type":"boolean"},"annotations":{"type":"array","items":{"type":"object"}},"declaredAnnotations":{"type":"array","items":{"type":"object"}},"packages":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"layer":{"type":"object"}}},"definedPackages":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"annotations":{"type":"array","items":{"type":"object"}},"declaredAnnotations":{"type":"array","items":{"type":"object"}},"sealed":{"type":"boolean"},"specificationTitle":{"type":"string"},"specificationVersion":{"type":"string"},"specificationVendor":{"type":"string"},"implementationTitle":{"type":"string"},"implementationVersion":{"type":"string"},"implementationVendor":{"type":"string"}}}},"defaultAssertionStatus":{"type":"boolean","writeOnly":true}}},"unnamedModule":{"type":"object","properties":{"name":{"type":"string"},"descriptor":{"type":"object","properties":{"open":{"type":"boolean"},"automatic":{"type":"boolean"}}},"named":{"type":"boolean"},"annotations":{"type":"array","items":{"type":"object"}},"declaredAnnotations":{"type":"array","items":{"type":"object"}},"packages":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"layer":{"type":"object"}}},"definedPackages":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"annotations":{"type":"array","items":{"type":"object"}},"declaredAnnotations":{"type":"array","items":{"type":"object"}},"sealed":{"type":"boolean"},"specificationTitle":{"type":"string"},"specificationVersion":{"type":"string"},"specificationVendor":{"type":"string"},"implementationTitle":{"type":"string"},"implementationVersion":{"type":"string"},"implementationVendor":{"type":"string"}}}},"defaultAssertionStatus":{"type":"boolean","writeOnly":true}}},"majorVersion":{"type":"integer","format":"int32"},"minorVersion":{"type":"integer","format":"int32"},"attributeNames":{"type":"object"},"contextPath":{"type":"string"},"responseCharacterEncoding":{"type":"string"},"servletContextName":{"type":"string"},"filterRegistrations":{"type":"object","additionalProperties":{"type":"object","properties":{"servletNameMappings":{"type":"array","items":{"type":"string"}},"urlPatternMappings":{"type":"array","items":{"type":"string"}},"name":{"type":"string"},"className":{"type":"string"},"initParameters":{"type":"object","additionalProperties":{"type":"string"}}}}},"effectiveMajorVersion":{"type":"integer","format":"int32"},"sessionTrackingModes":{"uniqueItems":true,"type":"array","writeOnly":true,"items":{"type":"string","enum":["COOKIE","URL","SSL"]}},"initParameterNames":{"type":"object"},"requestCharacterEncoding":{"type":"string"},"jspConfigDescriptor":{"type":"object","properties":{"jspPropertyGroups":{"type":"array","items":{"type":"object","properties":{"buffer":{"type":"string"},"defaultContentType":{"type":"string"},"urlPatterns":{"type":"array","items":{"type":"string"}},"elIgnored":{"type":"string"},"pageEncoding":{"type":"string"},"isXml":{"type":"string"},"includePreludes":{"type":"array","items":{"type":"string"}},"includeCodas":{"type":"array","items":{"type":"string"}},"trimDirectiveWhitespaces":{"type":"string"},"scriptingInvalid":{"type":"string"},"deferredSyntaxAllowedAsLiteral":{"type":"string"},"errorOnUndeclaredNamespace":{"type":"string"}}}},"taglibs":{"type":"array","items":{"type":"object","properties":{"taglibURI":{"type":"string"},"taglibLocation":{"type":"string"}}}}}},"servletRegistrations":{"type":"object","additionalProperties":{"type":"object","properties":{"mappings":{"type":"array","items":{"type":"string"}},"runAsRole":{"type":"string"},"name":{"type":"string"},"className":{"type":"string"},"initParameters":{"type":"object","additionalProperties":{"type":"string"}}}}},"virtualServerName":{"type":"string"},"effectiveSessionTrackingModes":{"uniqueItems":true,"type":"array","items":{"type":"string","enum":["COOKIE","URL","SSL"]}},"effectiveMinorVersion":{"type":"integer","format":"int32"},"defaultSessionTrackingModes":{"uniqueItems":true,"type":"array","items":{"type":"string","enum":["COOKIE","URL","SSL"]}},"sessionCookieConfig":{"type":"object","properties":{"name":{"type":"string"},"path":{"type":"string"},"comment":{"type":"string"},"secure":{"type":"boolean"},"httpOnly":{"type":"boolean"},"maxAge":{"type":"integer","format":"int32"},"domain":{"type":"string"}}},"serverInfo":{"type":"string"},"sessionTimeout":{"type":"integer","format":"int32"},"servletNames":{"type":"object","deprecated":true},"servlets":{"type":"object","deprecated":true}}},"lastAccessedTime":{"type":"integer","format":"int64"},"maxInactiveInterval":{"type":"integer","format":"int32"},"new":{"type":"boolean"},"valueNames":{"type":"array","deprecated":true,"items":{"type":"string","deprecated":true}},"sessionContext":{"type":"object","properties":{"ids":{"type":"object","deprecated":true}},"deprecated":true}}},"userPrincipal":{"type":"object","properties":{"name":{"type":"string"}}},"headerNames":{"type":"object"},"remoteUser":{"type":"string"},"requestURI":{"type":"string"},"authType":{"type":"string"},"pathTranslated":{"type":"string"},"requestURL":{"type":"object","properties":{"length":{"type":"integer","format":"int32","writeOnly":true},"empty":{"type":"boolean"}}},"cookies":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"},"comment":{"type":"string"},"domain":{"type":"string"},"maxAge":{"type":"integer","format":"int32"},"path":{"type":"string"},"secure":{"type":"boolean"},"version":{"type":"integer","format":"int32"},"httpOnly":{"type":"boolean"}}}},"trailerFields":{"type":"object","additionalProperties":{"type":"string"}},"pathInfo":{"type":"string"},"servletPath":{"type":"string"},"parts":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"size":{"type":"integer","format":"int64"},"inputStream":{"type":"object"},"headerNames":{"type":"array","items":{"type":"string"}},"submittedFileName":{"type":"string"},"contentType":{"type":"string"}}}},"trailerFieldsReady":{"type":"boolean"},"requestedSessionIdValid":{"type":"boolean"},"requestedSessionIdFromURL":{"type":"boolean"},"httpServletMapping":{"type":"object","properties":{"pattern":{"type":"string"},"servletName":{"type":"string"},"mappingMatch":{"type":"string","enum":["CONTEXT_ROOT","DEFAULT","EXACT","EXTENSION","PATH"]},"matchValue":{"type":"string"}}},"requestedSessionId":{"type":"string"},"requestedSessionIdFromCookie":{"type":"boolean"},"requestedSessionIdFromUrl":{"type":"boolean","deprecated":true},"scheme":{"type":"string"},"inputStream":{"type":"object","properties":{"finished":{"type":"boolean"},"ready":{"type":"boolean"},"readListener":{"type":"object","writeOnly":true}}},"protocol":{"type":"string"},"contentLength":{"type":"integer","format":"int32"},"locale":{"type":"object","properties":{"language":{"type":"string"},"script":{"type":"string"},"country":{"type":"string"},"variant":{"type":"string"},"unicodeLocaleAttributes":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"unicodeLocaleKeys":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"displayLanguage":{"type":"string"},"displayScript":{"type":"string"},"displayCountry":{"type":"string"},"displayVariant":{"type":"string"},"displayName":{"type":"string"},"extensionKeys":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"iso3Language":{"type":"string"},"iso3Country":{"type":"string"}}},"localName":{"type":"string"},"attributeNames":{"type":"object"},"servletContext":{"type":"object","properties":{"classLoader":{"type":"object","properties":{"name":{"type":"string"},"registeredAsParallelCapable":{"type":"boolean"},"parent":{"type":"object","properties":{"name":{"type":"string"},"registeredAsParallelCapable":{"type":"boolean"},"unnamedModule":{"type":"object","properties":{"name":{"type":"string"},"descriptor":{"type":"object","properties":{"open":{"type":"boolean"},"automatic":{"type":"boolean"}}},"named":{"type":"boolean"},"annotations":{"type":"array","items":{"type":"object"}},"declaredAnnotations":{"type":"array","items":{"type":"object"}},"packages":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"layer":{"type":"object"}}},"definedPackages":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"annotations":{"type":"array","items":{"type":"object"}},"declaredAnnotations":{"type":"array","items":{"type":"object"}},"sealed":{"type":"boolean"},"specificationTitle":{"type":"string"},"specificationVersion":{"type":"string"},"specificationVendor":{"type":"string"},"implementationTitle":{"type":"string"},"implementationVersion":{"type":"string"},"implementationVendor":{"type":"string"}}}},"defaultAssertionStatus":{"type":"boolean","writeOnly":true}}},"unnamedModule":{"type":"object","properties":{"name":{"type":"string"},"descriptor":{"type":"object","properties":{"open":{"type":"boolean"},"automatic":{"type":"boolean"}}},"named":{"type":"boolean"},"annotations":{"type":"array","items":{"type":"object"}},"declaredAnnotations":{"type":"array","items":{"type":"object"}},"packages":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"layer":{"type":"object"}}},"definedPackages":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"annotations":{"type":"array","items":{"type":"object"}},"declaredAnnotations":{"type":"array","items":{"type":"object"}},"sealed":{"type":"boolean"},"specificationTitle":{"type":"string"},"specificationVersion":{"type":"string"},"specificationVendor":{"type":"string"},"implementationTitle":{"type":"string"},"implementationVersion":{"type":"string"},"implementationVendor":{"type":"string"}}}},"defaultAssertionStatus":{"type":"boolean","writeOnly":true}}},"majorVersion":{"type":"integer","format":"int32"},"minorVersion":{"type":"integer","format":"int32"},"attributeNames":{"type":"object"},"contextPath":{"type":"string"},"responseCharacterEncoding":{"type":"string"},"servletContextName":{"type":"string"},"filterRegistrations":{"type":"object","additionalProperties":{"type":"object","properties":{"servletNameMappings":{"type":"array","items":{"type":"string"}},"urlPatternMappings":{"type":"array","items":{"type":"string"}},"name":{"type":"string"},"className":{"type":"string"},"initParameters":{"type":"object","additionalProperties":{"type":"string"}}}}},"effectiveMajorVersion":{"type":"integer","format":"int32"},"sessionTrackingModes":{"uniqueItems":true,"type":"array","writeOnly":true,"items":{"type":"string","enum":["COOKIE","URL","SSL"]}},"initParameterNames":{"type":"object"},"requestCharacterEncoding":{"type":"string"},"jspConfigDescriptor":{"type":"object","properties":{"jspPropertyGroups":{"type":"array","items":{"type":"object","properties":{"buffer":{"type":"string"},"defaultContentType":{"type":"string"},"urlPatterns":{"type":"array","items":{"type":"string"}},"elIgnored":{"type":"string"},"pageEncoding":{"type":"string"},"isXml":{"type":"string"},"includePreludes":{"type":"array","items":{"type":"string"}},"includeCodas":{"type":"array","items":{"type":"string"}},"trimDirectiveWhitespaces":{"type":"string"},"scriptingInvalid":{"type":"string"},"deferredSyntaxAllowedAsLiteral":{"type":"string"},"errorOnUndeclaredNamespace":{"type":"string"}}}},"taglibs":{"type":"array","items":{"type":"object","properties":{"taglibURI":{"type":"string"},"taglibLocation":{"type":"string"}}}}}},"servletRegistrations":{"type":"object","additionalProperties":{"type":"object","properties":{"mappings":{"type":"array","items":{"type":"string"}},"runAsRole":{"type":"string"},"name":{"type":"string"},"className":{"type":"string"},"initParameters":{"type":"object","additionalProperties":{"type":"string"}}}}},"virtualServerName":{"type":"string"},"effectiveSessionTrackingModes":{"uniqueItems":true,"type":"array","items":{"type":"string","enum":["COOKIE","URL","SSL"]}},"effectiveMinorVersion":{"type":"integer","format":"int32"},"defaultSessionTrackingModes":{"uniqueItems":true,"type":"array","items":{"type":"string","enum":["COOKIE","URL","SSL"]}},"sessionCookieConfig":{"type":"object","properties":{"name":{"type":"string"},"path":{"type":"string"},"comment":{"type":"string"},"secure":{"type":"boolean"},"httpOnly":{"type":"boolean"},"maxAge":{"type":"integer","format":"int32"},"domain":{"type":"string"}}},"serverInfo":{"type":"string"},"sessionTimeout":{"type":"integer","format":"int32"},"servletNames":{"type":"object","deprecated":true},"servlets":{"type":"object","deprecated":true}}},"reader":{"type":"object"},"parameterNames":{"type":"object"},"characterEncoding":{"type":"string"},"remotePort":{"type":"integer","format":"int32"},"locales":{"type":"object"},"localAddr":{"type":"string"},"remoteAddr":{"type":"string"},"asyncContext":{"type":"object","properties":{"request":{"type":"object","properties":{"scheme":{"type":"string"},"inputStream":{"type":"object","properties":{"finished":{"type":"boolean"},"ready":{"type":"boolean"},"readListener":{"type":"object","writeOnly":true}}},"protocol":{"type":"string"},"contentLength":{"type":"integer","format":"int32"},"locale":{"type":"object","properties":{"language":{"type":"string"},"script":{"type":"string"},"country":{"type":"string"},"variant":{"type":"string"},"unicodeLocaleAttributes":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"unicodeLocaleKeys":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"displayLanguage":{"type":"string"},"displayScript":{"type":"string"},"displayCountry":{"type":"string"},"displayVariant":{"type":"string"},"displayName":{"type":"string"},"extensionKeys":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"iso3Language":{"type":"string"},"iso3Country":{"type":"string"}}},"localName":{"type":"string"},"attributeNames":{"type":"object"},"servletContext":{"type":"object","properties":{"classLoader":{"type":"object","properties":{"name":{"type":"string"},"registeredAsParallelCapable":{"type":"boolean"},"parent":{"type":"object","properties":{"name":{"type":"string"},"registeredAsParallelCapable":{"type":"boolean"},"unnamedModule":{"type":"object","properties":{"name":{"type":"string"},"descriptor":{"type":"object","properties":{"open":{"type":"boolean"},"automatic":{"type":"boolean"}}},"named":{"type":"boolean"},"annotations":{"type":"array","items":{"type":"object"}},"declaredAnnotations":{"type":"array","items":{"type":"object"}},"packages":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"layer":{"type":"object"}}},"definedPackages":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"annotations":{"type":"array","items":{"type":"object"}},"declaredAnnotations":{"type":"array","items":{"type":"object"}},"sealed":{"type":"boolean"},"specificationTitle":{"type":"string"},"specificationVersion":{"type":"string"},"specificationVendor":{"type":"string"},"implementationTitle":{"type":"string"},"implementationVersion":{"type":"string"},"implementationVendor":{"type":"string"}}}},"defaultAssertionStatus":{"type":"boolean","writeOnly":true}}},"unnamedModule":{"type":"object","properties":{"name":{"type":"string"},"descriptor":{"type":"object","properties":{"open":{"type":"boolean"},"automatic":{"type":"boolean"}}},"named":{"type":"boolean"},"annotations":{"type":"array","items":{"type":"object"}},"declaredAnnotations":{"type":"array","items":{"type":"object"}},"packages":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"layer":{"type":"object"}}},"definedPackages":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"annotations":{"type":"array","items":{"type":"object"}},"declaredAnnotations":{"type":"array","items":{"type":"object"}},"sealed":{"type":"boolean"},"specificationTitle":{"type":"string"},"specificationVersion":{"type":"string"},"specificationVendor":{"type":"string"},"implementationTitle":{"type":"string"},"implementationVersion":{"type":"string"},"implementationVendor":{"type":"string"}}}},"defaultAssertionStatus":{"type":"boolean","writeOnly":true}}},"majorVersion":{"type":"integer","format":"int32"},"minorVersion":{"type":"integer","format":"int32"},"attributeNames":{"type":"object"},"contextPath":{"type":"string"},"responseCharacterEncoding":{"type":"string"},"servletContextName":{"type":"string"},"filterRegistrations":{"type":"object","additionalProperties":{"type":"object","properties":{"servletNameMappings":{"type":"array","items":{"type":"string"}},"urlPatternMappings":{"type":"array","items":{"type":"string"}},"name":{"type":"string"},"className":{"type":"string"},"initParameters":{"type":"object","additionalProperties":{"type":"string"}}}}},"effectiveMajorVersion":{"type":"integer","format":"int32"},"sessionTrackingModes":{"uniqueItems":true,"type":"array","writeOnly":true,"items":{"type":"string","enum":["COOKIE","URL","SSL"]}},"initParameterNames":{"type":"object"},"requestCharacterEncoding":{"type":"string"},"jspConfigDescriptor":{"type":"object","properties":{"jspPropertyGroups":{"type":"array","items":{"type":"object","properties":{"buffer":{"type":"string"},"defaultContentType":{"type":"string"},"urlPatterns":{"type":"array","items":{"type":"string"}},"elIgnored":{"type":"string"},"pageEncoding":{"type":"string"},"isXml":{"type":"string"},"includePreludes":{"type":"array","items":{"type":"string"}},"includeCodas":{"type":"array","items":{"type":"string"}},"trimDirectiveWhitespaces":{"type":"string"},"scriptingInvalid":{"type":"string"},"deferredSyntaxAllowedAsLiteral":{"type":"string"},"errorOnUndeclaredNamespace":{"type":"string"}}}},"taglibs":{"type":"array","items":{"type":"object","properties":{"taglibURI":{"type":"string"},"taglibLocation":{"type":"string"}}}}}},"servletRegistrations":{"type":"object","additionalProperties":{"type":"object","properties":{"mappings":{"type":"array","items":{"type":"string"}},"runAsRole":{"type":"string"},"name":{"type":"string"},"className":{"type":"string"},"initParameters":{"type":"object","additionalProperties":{"type":"string"}}}}},"virtualServerName":{"type":"string"},"effectiveSessionTrackingModes":{"uniqueItems":true,"type":"array","items":{"type":"string","enum":["COOKIE","URL","SSL"]}},"effectiveMinorVersion":{"type":"integer","format":"int32"},"defaultSessionTrackingModes":{"uniqueItems":true,"type":"array","items":{"type":"string","enum":["COOKIE","URL","SSL"]}},"sessionCookieConfig":{"type":"object","properties":{"name":{"type":"string"},"path":{"type":"string"},"comment":{"type":"string"},"secure":{"type":"boolean"},"httpOnly":{"type":"boolean"},"maxAge":{"type":"integer","format":"int32"},"domain":{"type":"string"}}},"serverInfo":{"type":"string"},"sessionTimeout":{"type":"integer","format":"int32"},"servletNames":{"type":"object","deprecated":true},"servlets":{"type":"object","deprecated":true}}},"reader":{"type":"object"},"parameterNames":{"type":"object"},"characterEncoding":{"type":"string"},"remotePort":{"type":"integer","format":"int32"},"locales":{"type":"object"},"localAddr":{"type":"string"},"remoteAddr":{"type":"string"},"asyncSupported":{"type":"boolean"},"secure":{"type":"boolean"},"remoteHost":{"type":"string"},"serverName":{"type":"string"},"localPort":{"type":"integer","format":"int32"},"parameterMap":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}},"asyncStarted":{"type":"boolean"},"dispatcherType":{"type":"string","enum":["FORWARD","INCLUDE","REQUEST","ASYNC","ERROR"]},"serverPort":{"type":"integer","format":"int32"},"contentLengthLong":{"type":"integer","format":"int64"},"contentType":{"type":"string"}}},"response":{"type":"object","properties":{"locale":{"type":"object","properties":{"language":{"type":"string"},"script":{"type":"string"},"country":{"type":"string"},"variant":{"type":"string"},"unicodeLocaleAttributes":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"unicodeLocaleKeys":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"displayLanguage":{"type":"string"},"displayScript":{"type":"string"},"displayCountry":{"type":"string"},"displayVariant":{"type":"string"},"displayName":{"type":"string"},"extensionKeys":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"iso3Language":{"type":"string"},"iso3Country":{"type":"string"}}},"bufferSize":{"type":"integer","format":"int32"},"characterEncoding":{"type":"string"},"contentLengthLong":{"type":"integer","format":"int64","writeOnly":true},"writer":{"type":"object"},"committed":{"type":"boolean"},"contentType":{"type":"string"},"outputStream":{"type":"object","properties":{"ready":{"type":"boolean"},"writeListener":{"type":"object","writeOnly":true}}},"contentLength":{"type":"integer","format":"int32","writeOnly":true}}},"timeout":{"type":"integer","format":"int64"}}},"asyncSupported":{"type":"boolean"},"secure":{"type":"boolean"},"remoteHost":{"type":"string"},"serverName":{"type":"string"},"localPort":{"type":"integer","format":"int32"},"parameterMap":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}},"asyncStarted":{"type":"boolean"},"dispatcherType":{"type":"string","enum":["FORWARD","INCLUDE","REQUEST","ASYNC","ERROR"]},"serverPort":{"type":"integer","format":"int32"},"contentLengthLong":{"type":"integer","format":"int64"},"contentType":{"type":"string"}}}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultMapStringObject"}}}}}}},"/api/cmsCategory/tagList":{"get":{"tags":["内容类目(skills-分类) Api"],"summary":"获取标签列表","description":"获取标签列表,若传入分类ID则返回该分类下的标签,否则返回所有标签","operationId":"getTagList","parameters":[{"name":"categoryId","in":"query","required":false,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultListCmsTag"}}}}}}},"/api/cmsCategory/getCategoryTreeList":{"get":{"tags":["内容类目(skills-分类) Api"],"summary":"获取分类树列表","description":"获取分类树列表,包含分类名称、分类ID和子分类列表","operationId":"getCategoryTreeList","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultListCmsCategory"}}}}}}},"/api/cmsCategory/getCategoryDict":{"get":{"tags":["内容类目(skills-分类) Api"],"summary":"获取分类字典","description":"获取分类字典,返回Map,分类ID和分类名称的映射","operationId":"getCategoryDict","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultMapLongString"}}}}}}},"/api/captcha/generate":{"get":{"tags":["验证码 Api"],"summary":"生成验证码","description":"生成验证码","operationId":"generateCaptcha","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommonResultMapStringString"}}}}}}}},"components":{"schemas":{"SysUserRole":{"type":"object","properties":{"roleId":{"type":"integer","description":"角色ID","format":"int64"},"userId":{"type":"integer","description":"用户ID","format":"int64"},"createTime":{"type":"string","description":"创建时间","format":"date-time"},"updateTime":{"type":"string","description":"更新时间","format":"date-time"},"deleteFlag":{"type":"integer","description":"是否删除 :0 未删除,1已删除","format":"int32"},"createBy":{"type":"string","description":"创建人"},"updateBy":{"type":"string","description":"更新人"}}},"CommonResultSysUserRole":{"type":"object","properties":{"status":{"type":"integer","description":"返回编码","format":"int64"},"message":{"type":"string","description":"返回信息"},"data":{"$ref":"#/components/schemas/SysUserRole"}}},"SysUserRoleDto":{"type":"object","properties":{"pageNum":{"type":"integer","description":"当前页","format":"int32"},"pageSize":{"type":"integer","description":"每页数量","format":"int32"},"sortBy":{"type":"string","description":"排序字段"},"sortDesc":{"type":"boolean","description":"是否降序排序"},"roleId":{"type":"integer","description":"角色ID","format":"int64"},"userId":{"type":"integer","description":"用户ID","format":"int64"}}},"CommonResultPageInfoSysUserRole":{"type":"object","properties":{"status":{"type":"integer","description":"返回编码","format":"int64"},"message":{"type":"string","description":"返回信息"},"data":{"$ref":"#/components/schemas/PageInfoSysUserRole"}}},"PageInfoSysUserRole":{"type":"object","properties":{"total":{"type":"integer","format":"int64"},"list":{"type":"array","items":{"$ref":"#/components/schemas/SysUserRole"}},"pageNum":{"type":"integer","format":"int32"},"pageSize":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"},"startRow":{"type":"integer","format":"int64"},"endRow":{"type":"integer","format":"int64"},"pages":{"type":"integer","format":"int32"},"prePage":{"type":"integer","format":"int32"},"nextPage":{"type":"integer","format":"int32"},"isFirstPage":{"type":"boolean"},"isLastPage":{"type":"boolean"},"hasPreviousPage":{"type":"boolean"},"hasNextPage":{"type":"boolean"},"navigatePages":{"type":"integer","format":"int32"},"navigatepageNums":{"type":"array","items":{"type":"integer","format":"int32"}},"navigateFirstPage":{"type":"integer","format":"int32"},"navigateLastPage":{"type":"integer","format":"int32"}},"description":"返回结果"},"CommonResultBoolean":{"type":"object","properties":{"status":{"type":"integer","description":"返回编码","format":"int64"},"message":{"type":"string","description":"返回信息"},"data":{"type":"boolean","description":"返回结果"}}},"SysUser":{"type":"object","properties":{"userId":{"type":"integer","description":"主键ID","format":"int64"},"userName":{"type":"string","description":"用户登录名称"},"pwd":{"type":"string","description":"密码(非明文)"},"realName":{"type":"string","description":"真实姓名"},"tel":{"type":"string","description":"手机"},"email":{"type":"string","description":"邮箱"},"salt":{"type":"string","description":"加点盐(登录时候要用到的随机数)"},"remark":{"type":"string","description":"备注"},"createTime":{"type":"string","description":"创建时间","format":"date-time"},"updateTime":{"type":"string","description":"更新时间","format":"date-time"},"enable":{"type":"integer","description":"是否启用(1启用,2禁用)","format":"int32"},"deleteFlag":{"type":"integer","description":"是否删除 :0 未删除,1已删除","format":"int32"},"createBy":{"type":"string","description":"创建人"},"updateBy":{"type":"string","description":"更新人"}}},"CommonResultSysUser":{"type":"object","properties":{"status":{"type":"integer","description":"返回编码","format":"int64"},"message":{"type":"string","description":"返回信息"},"data":{"$ref":"#/components/schemas/SysUser"}}},"ResetPwdDto":{"type":"object","properties":{"userId":{"type":"integer","description":"用户ID","format":"int64"},"newPassword":{"type":"string","description":"新密码"}}},"ResetPasswordDto":{"type":"object","properties":{"userName":{"type":"string","description":"用户名"},"oldPassword":{"type":"string","description":"旧密码"},"newPassword":{"type":"string","description":"新密码"}}},"AdminResetPasswordDto":{"type":"object","properties":{"usernameOrPhone":{"type":"string","description":"用户名或手机号"},"newPassword":{"type":"string","description":"新密码"}}},"SysUserDto":{"type":"object","properties":{"pageNum":{"type":"integer","description":"当前页","format":"int32"},"pageSize":{"type":"integer","description":"每页数量","format":"int32"},"sortBy":{"type":"string","description":"排序字段"},"sortDesc":{"type":"boolean","description":"是否降序排序"},"userId":{"type":"integer","description":"主键ID","format":"int64"},"userName":{"type":"string","description":"用户登录名称"},"pwd":{"type":"string","description":"密码(非明文)"},"realName":{"type":"string","description":"真实姓名"},"tel":{"type":"string","description":"手机"},"email":{"type":"string","description":"邮箱"},"salt":{"type":"string","description":"加点盐(登录时候要用到的随机数)"},"remark":{"type":"string","description":"备注"},"createTime":{"type":"string","description":"创建时间","format":"date-time"},"enable":{"type":"integer","description":"是否启用(1启用,2禁用)","format":"int32"},"deleteFlag":{"type":"integer","description":"是否删除 :0 未删除,1已删除","format":"int32"}}},"CommonResultPageInfoSysUser":{"type":"object","properties":{"status":{"type":"integer","description":"返回编码","format":"int64"},"message":{"type":"string","description":"返回信息"},"data":{"$ref":"#/components/schemas/PageInfoSysUser"}}},"PageInfoSysUser":{"type":"object","properties":{"total":{"type":"integer","format":"int64"},"list":{"type":"array","items":{"$ref":"#/components/schemas/SysUser"}},"pageNum":{"type":"integer","format":"int32"},"pageSize":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"},"startRow":{"type":"integer","format":"int64"},"endRow":{"type":"integer","format":"int64"},"pages":{"type":"integer","format":"int32"},"prePage":{"type":"integer","format":"int32"},"nextPage":{"type":"integer","format":"int32"},"isFirstPage":{"type":"boolean"},"isLastPage":{"type":"boolean"},"hasPreviousPage":{"type":"boolean"},"hasNextPage":{"type":"boolean"},"navigatePages":{"type":"integer","format":"int32"},"navigatepageNums":{"type":"array","items":{"type":"integer","format":"int32"}},"navigateFirstPage":{"type":"integer","format":"int32"},"navigateLastPage":{"type":"integer","format":"int32"}},"description":"返回结果"},"IdDto":{"type":"object","properties":{"id":{"type":"integer","description":"主键ID","format":"int64"}}},"SysRole":{"type":"object","properties":{"roleId":{"type":"integer","description":"角色ID","format":"int64"},"roleCode":{"type":"string","description":"角色编码"},"roleName":{"type":"string","description":"角色名称"},"createTime":{"type":"string","description":"创建时间","format":"date-time"},"updateTime":{"type":"string","description":"更新时间","format":"date-time"},"remark":{"type":"string","description":"备注"},"deleteFlag":{"type":"string","description":"删除标记"},"createBy":{"type":"string","description":"创建人"},"updateBy":{"type":"string","description":"更新人"}}},"CommonResultSysRole":{"type":"object","properties":{"status":{"type":"integer","description":"返回编码","format":"int64"},"message":{"type":"string","description":"返回信息"},"data":{"$ref":"#/components/schemas/SysRole"}}},"SysRoleDto":{"type":"object","properties":{"pageNum":{"type":"integer","description":"当前页","format":"int32"},"pageSize":{"type":"integer","description":"每页数量","format":"int32"},"sortBy":{"type":"string","description":"排序字段"},"sortDesc":{"type":"boolean","description":"是否降序排序"},"roleId":{"type":"integer","description":"角色ID","format":"int64"},"roleCode":{"type":"string","description":"角色编码"},"roleName":{"type":"string","description":"角色名称"},"createTime":{"type":"string","description":"创建时间","format":"date-time"},"remark":{"type":"string","description":"备注"},"deleteFlag":{"type":"string","description":"删除标记"}}},"CommonResultPageInfoSysRole":{"type":"object","properties":{"status":{"type":"integer","description":"返回编码","format":"int64"},"message":{"type":"string","description":"返回信息"},"data":{"$ref":"#/components/schemas/PageInfoSysRole"}}},"PageInfoSysRole":{"type":"object","properties":{"total":{"type":"integer","format":"int64"},"list":{"type":"array","items":{"$ref":"#/components/schemas/SysRole"}},"pageNum":{"type":"integer","format":"int32"},"pageSize":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"},"startRow":{"type":"integer","format":"int64"},"endRow":{"type":"integer","format":"int64"},"pages":{"type":"integer","format":"int32"},"prePage":{"type":"integer","format":"int32"},"nextPage":{"type":"integer","format":"int32"},"isFirstPage":{"type":"boolean"},"isLastPage":{"type":"boolean"},"hasPreviousPage":{"type":"boolean"},"hasNextPage":{"type":"boolean"},"navigatePages":{"type":"integer","format":"int32"},"navigatepageNums":{"type":"array","items":{"type":"integer","format":"int32"}},"navigateFirstPage":{"type":"integer","format":"int32"},"navigateLastPage":{"type":"integer","format":"int32"}},"description":"返回结果"},"SysMenu":{"type":"object","properties":{"menuId":{"type":"integer","description":"主键ID","format":"int64"},"menuPid":{"type":"integer","description":"为空时表示是子系统","format":"int64"},"menuName":{"type":"string","description":"菜单名称"},"menuSrc":{"type":"string","description":"菜单链接地址"},"menuIcon":{"type":"string","description":"菜单图标"},"menuStyle":{"type":"string","description":"菜单样式"},"sort":{"type":"integer","description":"值越小越排在前面","format":"int32"},"note":{"type":"string","description":"备注"},"deleteFlag":{"type":"object","description":"删除标记"},"createTime":{"type":"string","description":"创建时间","format":"date-time"},"updateTime":{"type":"string","description":"更新时间","format":"date-time"},"createBy":{"type":"string","description":"创建人"},"updateBy":{"type":"string","description":"更新人"}}},"CommonResultSysMenu":{"type":"object","properties":{"status":{"type":"integer","description":"返回编码","format":"int64"},"message":{"type":"string","description":"返回信息"},"data":{"$ref":"#/components/schemas/SysMenu"}}},"SysMenuDto":{"type":"object","properties":{"pageNum":{"type":"integer","description":"当前页","format":"int32"},"pageSize":{"type":"integer","description":"每页数量","format":"int32"},"sortBy":{"type":"string","description":"排序字段"},"sortDesc":{"type":"boolean","description":"是否降序排序"},"menuId":{"type":"integer","description":"主键ID","format":"int64"},"menuPid":{"type":"integer","description":"为空时表示是子系统","format":"int64"},"menuName":{"type":"string","description":"菜单名称"},"menuSrc":{"type":"string","description":"菜单链接地址"},"menuIcon":{"type":"string","description":"菜单图标"},"menuStyle":{"type":"string","description":"菜单样式"},"sort":{"type":"integer","description":"值越小越排在前面","format":"int32"},"note":{"type":"string","description":"备注"},"deleteFlag":{"type":"object","description":"删除标记"}}},"CommonResultPageInfoSysMenu":{"type":"object","properties":{"status":{"type":"integer","description":"返回编码","format":"int64"},"message":{"type":"string","description":"返回信息"},"data":{"$ref":"#/components/schemas/PageInfoSysMenu"}}},"PageInfoSysMenu":{"type":"object","properties":{"total":{"type":"integer","format":"int64"},"list":{"type":"array","items":{"$ref":"#/components/schemas/SysMenu"}},"pageNum":{"type":"integer","format":"int32"},"pageSize":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"},"startRow":{"type":"integer","format":"int64"},"endRow":{"type":"integer","format":"int64"},"pages":{"type":"integer","format":"int32"},"prePage":{"type":"integer","format":"int32"},"nextPage":{"type":"integer","format":"int32"},"isFirstPage":{"type":"boolean"},"isLastPage":{"type":"boolean"},"hasPreviousPage":{"type":"boolean"},"hasNextPage":{"type":"boolean"},"navigatePages":{"type":"integer","format":"int32"},"navigatepageNums":{"type":"array","items":{"type":"integer","format":"int32"}},"navigateFirstPage":{"type":"integer","format":"int32"},"navigateLastPage":{"type":"integer","format":"int32"}},"description":"返回结果"},"SysLog":{"type":"object","properties":{"logId":{"type":"integer","description":"主键ID","format":"int64"},"userId":{"type":"string","description":"用户ID"},"userName":{"type":"string","description":"用户名称"},"logType":{"type":"string","description":"日志类型"},"logContent":{"type":"string","description":"日志类容"},"serverIp":{"type":"string","description":"服务端IP"},"clientIp":{"type":"string","description":"客户端IP"},"logTime":{"type":"string","description":"yyyyMMddHHmmss"},"note":{"type":"string","description":"备注"},"createTime":{"type":"string","description":"创建时间","format":"date-time"},"updateTime":{"type":"string","description":"更新时间","format":"date-time"},"deleteFlag":{"type":"integer","description":"是否删除 :0 未删除,1已删除","format":"int32"},"createBy":{"type":"string","description":"创建人"},"updateBy":{"type":"string","description":"更新人"}}},"CommonResultSysLog":{"type":"object","properties":{"status":{"type":"integer","description":"返回编码","format":"int64"},"message":{"type":"string","description":"返回信息"},"data":{"$ref":"#/components/schemas/SysLog"}}},"SysLogDto":{"type":"object","properties":{"pageNum":{"type":"integer","description":"当前页","format":"int32"},"pageSize":{"type":"integer","description":"每页数量","format":"int32"},"sortBy":{"type":"string","description":"排序字段"},"sortDesc":{"type":"boolean","description":"是否降序排序"},"logId":{"type":"integer","description":"主键ID","format":"int64"},"userId":{"type":"string","description":"用户ID"},"userName":{"type":"string","description":"用户名称"},"logType":{"type":"string","description":"日志类型"},"logContent":{"type":"string","description":"日志类容"},"serverIp":{"type":"string","description":"服务端IP"},"clientIp":{"type":"string","description":"客户端IP"},"logTime":{"type":"string","description":"yyyyMMddHHmmss"},"note":{"type":"string","description":"备注"}}},"CommonResultPageInfoSysLog":{"type":"object","properties":{"status":{"type":"integer","description":"返回编码","format":"int64"},"message":{"type":"string","description":"返回信息"},"data":{"$ref":"#/components/schemas/PageInfoSysLog"}}},"PageInfoSysLog":{"type":"object","properties":{"total":{"type":"integer","format":"int64"},"list":{"type":"array","items":{"$ref":"#/components/schemas/SysLog"}},"pageNum":{"type":"integer","format":"int32"},"pageSize":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"},"startRow":{"type":"integer","format":"int64"},"endRow":{"type":"integer","format":"int64"},"pages":{"type":"integer","format":"int32"},"prePage":{"type":"integer","format":"int32"},"nextPage":{"type":"integer","format":"int32"},"isFirstPage":{"type":"boolean"},"isLastPage":{"type":"boolean"},"hasPreviousPage":{"type":"boolean"},"hasNextPage":{"type":"boolean"},"navigatePages":{"type":"integer","format":"int32"},"navigatepageNums":{"type":"array","items":{"type":"integer","format":"int32"}},"navigateFirstPage":{"type":"integer","format":"int32"},"navigateLastPage":{"type":"integer","format":"int32"}},"description":"返回结果"},"SysDict":{"type":"object","properties":{"id":{"type":"integer","description":"字典表ID","format":"int64"},"dictCode":{"type":"string","description":"字典编码"},"dictName":{"type":"string","description":"字典名称"},"dictCn":{"type":"string","description":"字典值中文文本"},"dictEn":{"type":"string","description":"字典值英文文本"},"dictValue":{"type":"object","description":"字典值"},"sorts":{"type":"object","description":"字典排序"},"createTime":{"type":"string","description":"创建时间","format":"date-time"},"updateTime":{"type":"string","description":"更新时间","format":"date-time"},"deleteFlag":{"type":"integer","description":"是否删除 :0 未删除,1已删除","format":"int32"},"createBy":{"type":"string","description":"创建人"},"updateBy":{"type":"string","description":"更新人"}}},"CommonResultSysDict":{"type":"object","properties":{"status":{"type":"integer","description":"返回编码","format":"int64"},"message":{"type":"string","description":"返回信息"},"data":{"$ref":"#/components/schemas/SysDict"}}},"SysDictDto":{"type":"object","properties":{"pageNum":{"type":"integer","description":"当前页","format":"int32"},"pageSize":{"type":"integer","description":"每页数量","format":"int32"},"sortBy":{"type":"string","description":"排序字段"},"sortDesc":{"type":"boolean","description":"是否降序排序"},"id":{"type":"integer","description":"字典表ID","format":"int64"},"dictCode":{"type":"string","description":"字典编码"},"dictName":{"type":"string","description":"字典名称"},"dictCn":{"type":"string","description":"字典值中文文本"},"dictEn":{"type":"string","description":"字典值英文文本"},"dictValue":{"type":"object","description":"字典值"},"sorts":{"type":"object","description":"字典排序"},"createTime":{"type":"string","description":"创建时间","format":"date-time"}}},"CommonResultPageInfoSysDict":{"type":"object","properties":{"status":{"type":"integer","description":"返回编码","format":"int64"},"message":{"type":"string","description":"返回信息"},"data":{"$ref":"#/components/schemas/PageInfoSysDict"}}},"PageInfoSysDict":{"type":"object","properties":{"total":{"type":"integer","format":"int64"},"list":{"type":"array","items":{"$ref":"#/components/schemas/SysDict"}},"pageNum":{"type":"integer","format":"int32"},"pageSize":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"},"startRow":{"type":"integer","format":"int64"},"endRow":{"type":"integer","format":"int64"},"pages":{"type":"integer","format":"int32"},"prePage":{"type":"integer","format":"int32"},"nextPage":{"type":"integer","format":"int32"},"isFirstPage":{"type":"boolean"},"isLastPage":{"type":"boolean"},"hasPreviousPage":{"type":"boolean"},"hasNextPage":{"type":"boolean"},"navigatePages":{"type":"integer","format":"int32"},"navigatepageNums":{"type":"array","items":{"type":"integer","format":"int32"}},"navigateFirstPage":{"type":"integer","format":"int32"},"navigateLastPage":{"type":"integer","format":"int32"}},"description":"返回结果"},"CommonResultListSysDict":{"type":"object","properties":{"status":{"type":"integer","description":"返回编码","format":"int64"},"message":{"type":"string","description":"返回信息"},"data":{"type":"array","description":"返回结果","items":{"$ref":"#/components/schemas/SysDict"}}}},"SkillUploadDto":{"required":["url"],"type":"object","properties":{"url":{"type":"string","description":"技能包地址"}}},"CmsCategory":{"type":"object","properties":{"categoryId":{"type":"integer","description":"主键ID","format":"int64"},"categoryName":{"type":"string","description":"分类名称"},"parentId":{"type":"integer","description":"父分类ID","format":"int64"},"level":{"type":"integer","description":"分类层级","format":"int32"},"sort":{"type":"integer","description":"排序","format":"int32"},"status":{"type":"integer","description":"状态(1启用,2禁用)","format":"int32"},"createTime":{"type":"string","description":"创建时间","format":"date-time"},"updateTime":{"type":"string","description":"更新时间","format":"date-time"},"createBy":{"type":"string","description":"创建人"},"updateBy":{"type":"string","description":"更新人"},"deleteFlag":{"type":"integer","description":"是否删除 :0 未删除,1已删除","format":"int32"}},"description":"子分类列表"},"CmsContent":{"type":"object","properties":{"contentId":{"type":"integer","description":"主键ID","format":"int64"},"title":{"type":"string","description":"标题"},"titleEn":{"type":"string","description":"英文标题"},"isOfficial":{"type":"boolean","description":"是否是官方:0否,1是"},"icon":{"type":"string","description":"图标"},"background":{"type":"string","description":"背景"},"fileUrl":{"type":"string","description":"文件URL"},"summary":{"type":"string","description":"内容摘要"},"description":{"type":"string","description":"详细描述"},"descriptionEn":{"type":"string","description":"英文描述"},"requirement":{"type":"string","description":"需求说明"},"introduce":{"type":"string","description":"介绍信息"},"introduceEn":{"type":"string","description":"英文介绍"},"shareCount":{"type":"integer","description":"分享数量","format":"int32"},"likeCount":{"type":"integer","description":"点赞量","format":"int32"},"createTime":{"type":"string","description":"创建时间","format":"date-time"},"price":{"type":"number","description":"付费金额"},"contentType":{"type":"integer","description":"内容类型(1文章,2视频,3图片)","format":"int32"},"content":{"type":"string","description":"内容详情"},"contentEn":{"type":"string","description":"英文内容"},"coverImage":{"type":"string","description":"封面图片"},"authorId":{"type":"integer","description":"作者ID","format":"int64"},"authorName":{"type":"string","description":"作者名称"},"reviewerId":{"type":"integer","description":"审核人ID","format":"int64"},"reviewerName":{"type":"string","description":"审核人名称"},"auditStatus":{"type":"integer","description":"审核状态(1草稿,2待审核,3审核通过,4审核拒绝)","format":"int32"},"auditComment":{"type":"string","description":"审核意见"},"publishStatus":{"type":"integer","description":"发布状态(1未发布,2已发布,3已下架)","format":"int32"},"publishTime":{"type":"string","description":"发布时间","format":"date-time"},"viewCount":{"type":"integer","description":"阅读量","format":"int32"},"commentCount":{"type":"integer","description":"评论量","format":"int32"},"sort":{"type":"integer","description":"排序","format":"int32"},"requiredPoints":{"type":"integer","description":"所需积分","format":"int32"},"supportPointsPay":{"type":"integer","description":"是否支持积分支付:0不支持,1支持","format":"int32"},"updateTime":{"type":"string","description":"更新时间","format":"date-time"},"createBy":{"type":"string","description":"创建人"},"updateBy":{"type":"string","description":"更新人"},"deleteFlag":{"type":"integer","description":"是否删除 :0 未删除,1已删除","format":"int32"},"subCategoryList":{"type":"array","description":"子分类列表","items":{"$ref":"#/components/schemas/CmsCategory"}},"isPaid":{"type":"integer","description":"是否付费:0免费,1付费","format":"int32"},"subtitle":{"type":"string","description":"副标题"},"origin":{"type":"string","description":"来源"},"tags":{"type":"string","description":"标签"}},"description":"返回结果"},"CommonResultCmsContent":{"type":"object","properties":{"status":{"type":"integer","description":"返回编码","format":"int64"},"message":{"type":"string","description":"返回信息"},"data":{"$ref":"#/components/schemas/CmsContent"}}},"SkillPreGenRequest":{"type":"object","properties":{"prompt":{"type":"string","description":"用户提示词"},"fileUrl":{"type":"string","description":"文件地址"},"fileUrls":{"type":"array","description":"文件地址列表","items":{"type":"string","description":"文件地址列表"}}}},"CommonResultSkillResponse":{"type":"object","properties":{"status":{"type":"integer","description":"返回编码","format":"int64"},"message":{"type":"string","description":"返回信息"},"data":{"$ref":"#/components/schemas/SkillResponse"}}},"SkillResponse":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"summary":{"type":"string"}},"description":"返回结果"},"SkillGenRequest":{"type":"object","properties":{"name":{"type":"string","description":"技能名称"},"description":{"type":"string","description":"技能描述"},"tags":{"type":"array","description":"技能标签","items":{"type":"string","description":"技能标签"}},"requirement":{"type":"string","description":"需求说明"}}},"GenIntroduceRequest":{"required":["content"],"type":"object","properties":{"content":{"type":"string","description":"yaml或者skill.md内容"}}},"CommonResultString":{"type":"object","properties":{"status":{"type":"integer","description":"返回编码","format":"int64"},"message":{"type":"string","description":"返回信息"},"data":{"type":"string","description":"返回结果"}}},"SkillAnalyzeRequest":{"type":"object","properties":{"skillId":{"type":"integer","description":"技能ID","format":"int64"},"analyzeType":{"type":"string","description":"分析类型"}}},"CommonResultPointsAccount":{"type":"object","properties":{"status":{"type":"integer","description":"返回编码","format":"int64"},"message":{"type":"string","description":"返回信息"},"data":{"$ref":"#/components/schemas/PointsAccount"}}},"PointsAccount":{"type":"object","properties":{"accountId":{"type":"integer","description":"主键ID","format":"int64"},"userId":{"type":"integer","description":"用户ID","format":"int64"},"userName":{"type":"string","description":"用户名"},"totalPoints":{"type":"integer","description":"总积分","format":"int32"},"availablePoints":{"type":"integer","description":"可用积分","format":"int32"},"frozenPoints":{"type":"integer","description":"冻结积分","format":"int32"},"createTime":{"type":"string","description":"创建时间","format":"date-time"},"updateTime":{"type":"string","description":"更新时间","format":"date-time"},"deleteFlag":{"type":"integer","description":"是否删除 :0 未删除,1已删除","format":"int32"},"createBy":{"type":"string","description":"创建人"},"updateBy":{"type":"string","description":"更新人"}},"description":"返回结果"},"PointsAccountDto":{"type":"object","properties":{"pageNum":{"type":"integer","description":"当前页","format":"int32"},"pageSize":{"type":"integer","description":"每页数量","format":"int32"},"sortBy":{"type":"string","description":"排序字段"},"sortDesc":{"type":"boolean","description":"是否降序排序"},"accountId":{"type":"integer","description":"主键ID","format":"int64"},"userId":{"type":"integer","description":"用户ID","format":"int64"},"userName":{"type":"string","description":"用户名"},"totalPoints":{"type":"integer","description":"总积分","format":"int32"},"availablePoints":{"type":"integer","description":"可用积分","format":"int32"},"frozenPoints":{"type":"integer","description":"冻结积分","format":"int32"},"createTimeStart":{"type":"string","description":"创建时间开始","format":"date-time"},"createTimeEnd":{"type":"string","description":"创建时间结束","format":"date-time"},"updateTimeStart":{"type":"string","description":"更新时间开始","format":"date-time"},"updateTimeEnd":{"type":"string","description":"更新时间结束","format":"date-time"},"deleteFlag":{"type":"integer","description":"是否删除 :0 未删除,1已删除","format":"int32"}}},"CommonResultPageInfoPointsAccount":{"type":"object","properties":{"status":{"type":"integer","description":"返回编码","format":"int64"},"message":{"type":"string","description":"返回信息"},"data":{"$ref":"#/components/schemas/PageInfoPointsAccount"}}},"PageInfoPointsAccount":{"type":"object","properties":{"total":{"type":"integer","format":"int64"},"list":{"type":"array","items":{"$ref":"#/components/schemas/PointsAccount"}},"pageNum":{"type":"integer","format":"int32"},"pageSize":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"},"startRow":{"type":"integer","format":"int64"},"endRow":{"type":"integer","format":"int64"},"pages":{"type":"integer","format":"int32"},"prePage":{"type":"integer","format":"int32"},"nextPage":{"type":"integer","format":"int32"},"isFirstPage":{"type":"boolean"},"isLastPage":{"type":"boolean"},"hasPreviousPage":{"type":"boolean"},"hasNextPage":{"type":"boolean"},"navigatePages":{"type":"integer","format":"int32"},"navigatepageNums":{"type":"array","items":{"type":"integer","format":"int32"}},"navigateFirstPage":{"type":"integer","format":"int32"},"navigateLastPage":{"type":"integer","format":"int32"}},"description":"返回结果"},"CommonResultListPointsAccount":{"type":"object","properties":{"status":{"type":"integer","description":"返回编码","format":"int64"},"message":{"type":"string","description":"返回信息"},"data":{"type":"array","description":"返回结果","items":{"$ref":"#/components/schemas/PointsAccount"}}}},"CommonResultPaymentOrder":{"type":"object","properties":{"status":{"type":"integer","description":"返回编码","format":"int64"},"message":{"type":"string","description":"返回信息"},"data":{"$ref":"#/components/schemas/PaymentOrder"}}},"PaymentOrder":{"type":"object","properties":{"orderId":{"type":"integer","description":"主键ID","format":"int64"},"orderNo":{"type":"string","description":"订单号"},"userId":{"type":"integer","description":"用户ID","format":"int64"},"userName":{"type":"string","description":"用户名"},"amount":{"type":"number","description":"支付金额"},"payType":{"type":"integer","description":"支付方式:1.微信 2.支付宝","format":"int32"},"status":{"type":"integer","description":"支付状态:1.待支付 2.已支付 3.支付失败 4.已取消 5.已退款","format":"int32"},"channelOrderNo":{"type":"string","description":"支付渠道订单号"},"productName":{"type":"string","description":"商品名称"},"productDesc":{"type":"string","description":"商品描述"},"businessId":{"type":"integer","description":"关联业务ID","format":"int64"},"businessType":{"type":"string","description":"业务类型"},"notifyUrl":{"type":"string","description":"支付回调地址"},"returnUrl":{"type":"string","description":"支付成功跳转地址"},"expireTime":{"type":"string","description":"过期时间","format":"date-time"},"payTime":{"type":"string","description":"支付时间","format":"date-time"},"remark":{"type":"string","description":"支付备注"},"createTime":{"type":"string","description":"创建时间","format":"date-time"},"updateTime":{"type":"string","description":"更新时间","format":"date-time"},"deleteFlag":{"type":"integer","description":"是否删除 :0 未删除,1已删除","format":"int32"},"createBy":{"type":"string","description":"创建人"},"updateBy":{"type":"string","description":"更新人"}},"description":"返回结果"},"PaymentOrderDto":{"type":"object","properties":{"pageNum":{"type":"integer","description":"当前页","format":"int32"},"pageSize":{"type":"integer","description":"每页数量","format":"int32"},"sortBy":{"type":"string","description":"排序字段"},"sortDesc":{"type":"boolean","description":"是否降序排序"},"orderId":{"type":"integer","format":"int64"},"orderNo":{"type":"string"},"userId":{"type":"integer","format":"int64"},"userName":{"type":"string"},"payType":{"type":"integer","format":"int32"},"status":{"type":"integer","format":"int32"},"businessId":{"type":"integer","format":"int64"},"businessType":{"type":"string"},"deleteFlag":{"type":"integer","format":"int32"}}},"CommonResultPageInfoPaymentOrder":{"type":"object","properties":{"status":{"type":"integer","description":"返回编码","format":"int64"},"message":{"type":"string","description":"返回信息"},"data":{"$ref":"#/components/schemas/PageInfoPaymentOrder"}}},"PageInfoPaymentOrder":{"type":"object","properties":{"total":{"type":"integer","format":"int64"},"list":{"type":"array","items":{"$ref":"#/components/schemas/PaymentOrder"}},"pageNum":{"type":"integer","format":"int32"},"pageSize":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"},"startRow":{"type":"integer","format":"int64"},"endRow":{"type":"integer","format":"int64"},"pages":{"type":"integer","format":"int32"},"prePage":{"type":"integer","format":"int32"},"nextPage":{"type":"integer","format":"int32"},"isFirstPage":{"type":"boolean"},"isLastPage":{"type":"boolean"},"hasPreviousPage":{"type":"boolean"},"hasNextPage":{"type":"boolean"},"navigatePages":{"type":"integer","format":"int32"},"navigatepageNums":{"type":"array","items":{"type":"integer","format":"int32"}},"navigateFirstPage":{"type":"integer","format":"int32"},"navigateLastPage":{"type":"integer","format":"int32"}},"description":"返回结果"},"CommonResultListPaymentOrder":{"type":"object","properties":{"status":{"type":"integer","description":"返回编码","format":"int64"},"message":{"type":"string","description":"返回信息"},"data":{"type":"array","description":"返回结果","items":{"$ref":"#/components/schemas/PaymentOrder"}}}},"CommonResultMapStringString":{"type":"object","properties":{"status":{"type":"integer","description":"返回编码","format":"int64"},"message":{"type":"string","description":"返回信息"},"data":{"type":"object","additionalProperties":{"type":"string","description":"返回结果"},"description":"返回结果"}}},"CommonResultObject":{"type":"object","properties":{"status":{"type":"integer","description":"返回编码","format":"int64"},"message":{"type":"string","description":"返回信息"},"data":{"type":"object","description":"返回结果"}}},"PhoneLoginDto":{"type":"object","properties":{"phone":{"type":"string","description":"手机号"},"code":{"type":"string","description":"验证码"}}},"CommonResultLoginUserDto":{"type":"object","properties":{"status":{"type":"integer","description":"返回编码","format":"int64"},"message":{"type":"string","description":"返回信息"},"data":{"$ref":"#/components/schemas/LoginUserDto"}}},"LoginUserDto":{"type":"object","properties":{"token":{"type":"string"},"userInfo":{"$ref":"#/components/schemas/SysUser"},"favorites":{"type":"array","items":{"type":"integer","format":"int64"}},"history":{"type":"array","items":{"type":"integer","format":"int64"}},"create":{"type":"array","items":{"type":"integer","format":"int64"}},"has":{"type":"array","items":{"type":"integer","format":"int64"}}},"description":"返回结果"},"LoginDto":{"type":"object","properties":{"username":{"type":"string","description":"用户名"},"password":{"type":"string","description":"密码"},"captchaId":{"type":"string","description":"验证码ID"},"captchaValue":{"type":"string","description":"验证码值"}}},"CommonResultContentPurchase":{"type":"object","properties":{"status":{"type":"integer","description":"返回编码","format":"int64"},"message":{"type":"string","description":"返回信息"},"data":{"$ref":"#/components/schemas/ContentPurchase"}}},"ContentPurchase":{"type":"object","properties":{"purchaseId":{"type":"integer","description":"主键ID","format":"int64"},"userId":{"type":"integer","description":"用户ID","format":"int64"},"userName":{"type":"string","description":"用户名"},"contentId":{"type":"integer","description":"内容ID","format":"int64"},"contentTitle":{"type":"string","description":"内容标题"},"payType":{"type":"integer","description":"购买方式:1.余额支付 2.积分支付","format":"int32"},"amount":{"type":"number","description":"支付金额"},"points":{"type":"integer","description":"支付积分","format":"int32"},"status":{"type":"integer","description":"购买状态:1.待支付 2.已支付 3.已取消","format":"int32"},"purchaseTime":{"type":"string","description":"购买时间","format":"date-time"},"createTime":{"type":"string","description":"创建时间","format":"date-time"},"updateTime":{"type":"string","description":"更新时间","format":"date-time"},"deleteFlag":{"type":"integer","description":"是否删除 :0 未删除,1已删除","format":"int32"},"createBy":{"type":"string","description":"创建人"},"updateBy":{"type":"string","description":"更新人"}},"description":"返回结果"},"ContentPurchaseDto":{"type":"object","properties":{"pageNum":{"type":"integer","description":"当前页","format":"int32"},"pageSize":{"type":"integer","description":"每页数量","format":"int32"},"sortBy":{"type":"string","description":"排序字段"},"sortDesc":{"type":"boolean","description":"是否降序排序"},"purchaseId":{"type":"integer","description":"主键ID","format":"int64"},"userId":{"type":"integer","description":"用户ID","format":"int64"},"userName":{"type":"string","description":"用户名"},"contentId":{"type":"integer","description":"内容ID","format":"int64"},"contentTitle":{"type":"string","description":"内容标题"},"payType":{"type":"integer","description":"购买方式:1.余额支付 2.积分支付","format":"int32"},"amount":{"type":"number","description":"支付金额"},"points":{"type":"integer","description":"支付积分","format":"int32"},"status":{"type":"integer","description":"购买状态:1.待支付 2.已支付 3.已取消","format":"int32"},"purchaseTimeStart":{"type":"string","description":"购买时间开始","format":"date-time"},"purchaseTimeEnd":{"type":"string","description":"购买时间结束","format":"date-time"},"createTimeStart":{"type":"string","description":"创建时间开始","format":"date-time"},"createTimeEnd":{"type":"string","description":"创建时间结束","format":"date-time"},"updateTimeStart":{"type":"string","description":"更新时间开始","format":"date-time"},"updateTimeEnd":{"type":"string","description":"更新时间结束","format":"date-time"},"deleteFlag":{"type":"integer","description":"是否删除 :0 未删除,1已删除","format":"int32"}}},"CommonResultPageInfoContentPurchase":{"type":"object","properties":{"status":{"type":"integer","description":"返回编码","format":"int64"},"message":{"type":"string","description":"返回信息"},"data":{"$ref":"#/components/schemas/PageInfoContentPurchase"}}},"PageInfoContentPurchase":{"type":"object","properties":{"total":{"type":"integer","format":"int64"},"list":{"type":"array","items":{"$ref":"#/components/schemas/ContentPurchase"}},"pageNum":{"type":"integer","format":"int32"},"pageSize":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"},"startRow":{"type":"integer","format":"int64"},"endRow":{"type":"integer","format":"int64"},"pages":{"type":"integer","format":"int32"},"prePage":{"type":"integer","format":"int32"},"nextPage":{"type":"integer","format":"int32"},"isFirstPage":{"type":"boolean"},"isLastPage":{"type":"boolean"},"hasPreviousPage":{"type":"boolean"},"hasNextPage":{"type":"boolean"},"navigatePages":{"type":"integer","format":"int32"},"navigatepageNums":{"type":"array","items":{"type":"integer","format":"int32"}},"navigateFirstPage":{"type":"integer","format":"int32"},"navigateLastPage":{"type":"integer","format":"int32"}},"description":"返回结果"},"CommonResultListContentPurchase":{"type":"object","properties":{"status":{"type":"integer","description":"返回编码","format":"int64"},"message":{"type":"string","description":"返回信息"},"data":{"type":"array","description":"返回结果","items":{"$ref":"#/components/schemas/ContentPurchase"}}}},"CommonResultUploadResponse":{"type":"object","properties":{"status":{"type":"integer","description":"返回编码","format":"int64"},"message":{"type":"string","description":"返回信息"},"data":{"$ref":"#/components/schemas/UploadResponse"}}},"UploadResponse":{"type":"object","properties":{"fileName":{"type":"string"},"fileUrl":{"type":"string"}},"description":"返回结果"},"CmsTag":{"type":"object","properties":{"tagId":{"type":"integer","description":"主键ID","format":"int64"},"tagName":{"type":"string","description":"标签名称"},"description":{"type":"string","description":"标签描述"},"useCount":{"type":"integer","description":"使用次数","format":"int32"},"status":{"type":"integer","description":"状态(1启用,2禁用)","format":"int32"},"icon":{"type":"string","description":"标签图标"},"createTime":{"type":"string","description":"创建时间","format":"date-time"},"updateTime":{"type":"string","description":"更新时间","format":"date-time"},"createBy":{"type":"string","description":"创建人"},"updateBy":{"type":"string","description":"更新人"},"deleteFlag":{"type":"integer","description":"是否删除 :0 未删除,1已删除","format":"int32"}}},"CommonResultCmsTag":{"type":"object","properties":{"status":{"type":"integer","description":"返回编码","format":"int64"},"message":{"type":"string","description":"返回信息"},"data":{"$ref":"#/components/schemas/CmsTag"}}},"CmsTagDto":{"type":"object","properties":{"pageNum":{"type":"integer","description":"当前页","format":"int32"},"pageSize":{"type":"integer","description":"每页数量","format":"int32"},"sortBy":{"type":"string","description":"排序字段"},"sortDesc":{"type":"boolean","description":"是否降序排序"},"tagId":{"type":"integer","format":"int64"},"tagName":{"type":"string"},"description":{"type":"string"},"status":{"type":"integer","format":"int32"},"icon":{"type":"string"},"deleteFlag":{"type":"integer","format":"int32"}}},"CommonResultPageInfoCmsTag":{"type":"object","properties":{"status":{"type":"integer","description":"返回编码","format":"int64"},"message":{"type":"string","description":"返回信息"},"data":{"$ref":"#/components/schemas/PageInfoCmsTag"}}},"PageInfoCmsTag":{"type":"object","properties":{"total":{"type":"integer","format":"int64"},"list":{"type":"array","items":{"$ref":"#/components/schemas/CmsTag"}},"pageNum":{"type":"integer","format":"int32"},"pageSize":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"},"startRow":{"type":"integer","format":"int64"},"endRow":{"type":"integer","format":"int64"},"pages":{"type":"integer","format":"int32"},"prePage":{"type":"integer","format":"int32"},"nextPage":{"type":"integer","format":"int32"},"isFirstPage":{"type":"boolean"},"isLastPage":{"type":"boolean"},"hasPreviousPage":{"type":"boolean"},"hasNextPage":{"type":"boolean"},"navigatePages":{"type":"integer","format":"int32"},"navigatepageNums":{"type":"array","items":{"type":"integer","format":"int32"}},"navigateFirstPage":{"type":"integer","format":"int32"},"navigateLastPage":{"type":"integer","format":"int32"}},"description":"返回结果"},"CommonResultInteger":{"type":"object","properties":{"status":{"type":"integer","description":"返回编码","format":"int64"},"message":{"type":"string","description":"返回信息"},"data":{"type":"integer","description":"返回结果","format":"int32"}}},"CmsContentDto":{"type":"object","properties":{"pageNum":{"type":"integer","description":"当前页","format":"int32"},"pageSize":{"type":"integer","description":"每页数量","format":"int32"},"sortBy":{"type":"string","description":"排序字段"},"sortDesc":{"type":"boolean","description":"是否降序排序"},"contentId":{"type":"integer","format":"int64"},"title":{"type":"string"},"contentType":{"type":"integer","format":"int32"},"isOfficial":{"type":"boolean"},"shareCount":{"type":"integer","format":"int32"},"authorId":{"type":"integer","format":"int64"},"authorName":{"type":"string"},"auditStatus":{"type":"integer","format":"int32"},"publishStatus":{"type":"integer","format":"int32"},"createBy":{"type":"string"},"deleteFlag":{"type":"integer","format":"int32"},"parentCategoryId":{"type":"integer","format":"int64"},"tagId":{"type":"integer","format":"int64"},"tagIdList":{"type":"array","items":{"type":"integer","format":"int64"}},"languageType":{"type":"integer","format":"int32"},"keyword":{"type":"string"}}},"CommonResultPageInfoCmsContent":{"type":"object","properties":{"status":{"type":"integer","description":"返回编码","format":"int64"},"message":{"type":"string","description":"返回信息"},"data":{"$ref":"#/components/schemas/PageInfoCmsContent"}}},"PageInfoCmsContent":{"type":"object","properties":{"total":{"type":"integer","format":"int64"},"list":{"type":"array","items":{"$ref":"#/components/schemas/CmsContent"}},"pageNum":{"type":"integer","format":"int32"},"pageSize":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"},"startRow":{"type":"integer","format":"int64"},"endRow":{"type":"integer","format":"int64"},"pages":{"type":"integer","format":"int32"},"prePage":{"type":"integer","format":"int32"},"nextPage":{"type":"integer","format":"int32"},"isFirstPage":{"type":"boolean"},"isLastPage":{"type":"boolean"},"hasPreviousPage":{"type":"boolean"},"hasNextPage":{"type":"boolean"},"navigatePages":{"type":"integer","format":"int32"},"navigatepageNums":{"type":"array","items":{"type":"integer","format":"int32"}},"navigateFirstPage":{"type":"integer","format":"int32"},"navigateLastPage":{"type":"integer","format":"int32"}},"description":"返回结果"},"CommonResultCmsCategory":{"type":"object","properties":{"status":{"type":"integer","description":"返回编码","format":"int64"},"message":{"type":"string","description":"返回信息"},"data":{"$ref":"#/components/schemas/CmsCategory"}}},"CmsCategoryDto":{"type":"object","properties":{"pageNum":{"type":"integer","description":"当前页","format":"int32"},"pageSize":{"type":"integer","description":"每页数量","format":"int32"},"sortBy":{"type":"string","description":"排序字段"},"sortDesc":{"type":"boolean","description":"是否降序排序"},"categoryId":{"type":"integer","format":"int64"},"categoryName":{"type":"string"},"parentId":{"type":"integer","format":"int64"},"level":{"type":"integer","format":"int32"},"sort":{"type":"integer","format":"int32"},"status":{"type":"integer","format":"int32"},"deleteFlag":{"type":"integer","format":"int32"}}},"CommonResultPageInfoCmsCategory":{"type":"object","properties":{"status":{"type":"integer","description":"返回编码","format":"int64"},"message":{"type":"string","description":"返回信息"},"data":{"$ref":"#/components/schemas/PageInfoCmsCategory"}}},"PageInfoCmsCategory":{"type":"object","properties":{"total":{"type":"integer","format":"int64"},"list":{"type":"array","items":{"$ref":"#/components/schemas/CmsCategory"}},"pageNum":{"type":"integer","format":"int32"},"pageSize":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"},"startRow":{"type":"integer","format":"int64"},"endRow":{"type":"integer","format":"int64"},"pages":{"type":"integer","format":"int32"},"prePage":{"type":"integer","format":"int32"},"nextPage":{"type":"integer","format":"int32"},"isFirstPage":{"type":"boolean"},"isLastPage":{"type":"boolean"},"hasPreviousPage":{"type":"boolean"},"hasNextPage":{"type":"boolean"},"navigatePages":{"type":"integer","format":"int32"},"navigatepageNums":{"type":"array","items":{"type":"integer","format":"int32"}},"navigateFirstPage":{"type":"integer","format":"int32"},"navigateLastPage":{"type":"integer","format":"int32"}},"description":"返回结果"},"Account":{"type":"object","properties":{"accountId":{"type":"integer","description":"主键ID","format":"int64"},"userId":{"type":"integer","description":"用户ID","format":"int64"},"userName":{"type":"string","description":"用户名"},"balance":{"type":"number","description":"账户余额"},"frozenAmount":{"type":"number","description":"冻结金额"},"createTime":{"type":"string","description":"创建时间","format":"date-time"},"updateTime":{"type":"string","description":"更新时间","format":"date-time"},"deleteFlag":{"type":"integer","description":"是否删除 :0 未删除,1已删除","format":"int32"},"createBy":{"type":"string","description":"创建人"},"updateBy":{"type":"string","description":"更新人"}},"description":"返回结果"},"CommonResultAccount":{"type":"object","properties":{"status":{"type":"integer","description":"返回编码","format":"int64"},"message":{"type":"string","description":"返回信息"},"data":{"$ref":"#/components/schemas/Account"}}},"AccountDto":{"type":"object","properties":{"pageNum":{"type":"integer","description":"当前页","format":"int32"},"pageSize":{"type":"integer","description":"每页数量","format":"int32"},"sortBy":{"type":"string","description":"排序字段"},"sortDesc":{"type":"boolean","description":"是否降序排序"},"accountId":{"type":"integer","format":"int64"},"userId":{"type":"integer","format":"int64"},"userName":{"type":"string"},"deleteFlag":{"type":"integer","format":"int32"}}},"CommonResultPageInfoAccount":{"type":"object","properties":{"status":{"type":"integer","description":"返回编码","format":"int64"},"message":{"type":"string","description":"返回信息"},"data":{"$ref":"#/components/schemas/PageInfoAccount"}}},"PageInfoAccount":{"type":"object","properties":{"total":{"type":"integer","format":"int64"},"list":{"type":"array","items":{"$ref":"#/components/schemas/Account"}},"pageNum":{"type":"integer","format":"int32"},"pageSize":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"},"startRow":{"type":"integer","format":"int64"},"endRow":{"type":"integer","format":"int64"},"pages":{"type":"integer","format":"int32"},"prePage":{"type":"integer","format":"int32"},"nextPage":{"type":"integer","format":"int32"},"isFirstPage":{"type":"boolean"},"isLastPage":{"type":"boolean"},"hasPreviousPage":{"type":"boolean"},"hasNextPage":{"type":"boolean"},"navigatePages":{"type":"integer","format":"int32"},"navigatepageNums":{"type":"array","items":{"type":"integer","format":"int32"}},"navigateFirstPage":{"type":"integer","format":"int32"},"navigateLastPage":{"type":"integer","format":"int32"}},"description":"返回结果"},"CommonResultListAccount":{"type":"object","properties":{"status":{"type":"integer","description":"返回编码","format":"int64"},"message":{"type":"string","description":"返回信息"},"data":{"type":"array","description":"返回结果","items":{"$ref":"#/components/schemas/Account"}}}},"CommonResultMapStringListSysDict":{"type":"object","properties":{"status":{"type":"integer","description":"返回编码","format":"int64"},"message":{"type":"string","description":"返回信息"},"data":{"type":"object","additionalProperties":{"type":"array","description":"返回结果","items":{"$ref":"#/components/schemas/SysDict"}},"description":"返回结果"}}},"CommonResultMapStringObject":{"type":"object","properties":{"status":{"type":"integer","description":"返回编码","format":"int64"},"message":{"type":"string","description":"返回信息"},"data":{"type":"object","additionalProperties":{"type":"object","description":"返回结果"},"description":"返回结果"}}},"CommonResultListCmsTag":{"type":"object","properties":{"status":{"type":"integer","description":"返回编码","format":"int64"},"message":{"type":"string","description":"返回信息"},"data":{"type":"array","description":"返回结果","items":{"$ref":"#/components/schemas/CmsTag"}}}},"CommonResultListCmsCategory":{"type":"object","properties":{"status":{"type":"integer","description":"返回编码","format":"int64"},"message":{"type":"string","description":"返回信息"},"data":{"type":"array","description":"返回结果","items":{"$ref":"#/components/schemas/CmsCategory"}}}},"CommonResultMapLongString":{"type":"object","properties":{"status":{"type":"integer","description":"返回编码","format":"int64"},"message":{"type":"string","description":"返回信息"},"data":{"type":"object","additionalProperties":{"type":"string","description":"返回结果"},"description":"返回结果"}}}}}} \ No newline at end of file diff --git a/src/App.vue b/src/App.vue new file mode 100644 index 0000000..eac4966 --- /dev/null +++ b/src/App.vue @@ -0,0 +1,15 @@ + + + diff --git a/src/api/account.js b/src/api/account.js new file mode 100644 index 0000000..d30f400 --- /dev/null +++ b/src/api/account.js @@ -0,0 +1,16 @@ +import api from './index' + +export const accountApi = { + // 获取账户列表 + getPageList: (data) => api.post('/account/pageList', data), + // 根据ID查询账户 + queryById: (id) => api.post(`/account/queryById/${id}`), + // 更新账户 + update: (data) => api.post('/account/update', data), + // 冻结/解冻账户 + freeze: (data) => api.post('/account/freeze', data), + // 获取交易记录 + getTransactions: (data) => api.post('/account/getTransactions', data), + // 给用户赠送金额(不可提现) + addGiftBalance: (data) => api.post('/account/addGiftBalance', data) +} diff --git a/src/api/content.js b/src/api/content.js new file mode 100644 index 0000000..7deb12b --- /dev/null +++ b/src/api/content.js @@ -0,0 +1,29 @@ +import api from './index' + +export const contentApi = { + // 获取内容列表 + getPageList: (data) => api.post('/cmsContent/getPageList', data), + // 根据ID查询内容 + queryById: (id) => api.post(`/cmsContent/queryById/${id}`), + // 新增内容 + insert: (data) => api.post('/cmsContent/insert', data), + // 更新内容 + update: (data) => api.post('/cmsContent/update', data), + // 删除内容 + deleteById: (id) => api.post(`/cmsContent/deleteById/${id}`), + // 审核内容 + audit: (data) => api.post('/cmsContent/audit', data), + // 发布内容 + publish: (data) => api.post('/cmsContent/publish', data), + // 从ZIP文件导入 + importFromZip: (formData) => api.post('/cmsContent/importFromZip', formData, { + headers: { + 'Content-Type': 'multipart/form-data' + } + }) +} + +export const tagApi = { + // 获取标签列表 + getList: () => api.post('/cmsTag/getList', {}) +} diff --git a/src/api/dict.js b/src/api/dict.js new file mode 100644 index 0000000..a10c698 --- /dev/null +++ b/src/api/dict.js @@ -0,0 +1,16 @@ +import api from './index' + +export const dictApi = { + // 获取字典列表 + getPageList: (data) => api.post('/sysDict/getPageList', data), + // 根据ID查询字典 + queryById: (id) => api.post(`/sysDict/queryById/${id}`), + // 新增字典 + insert: (data) => api.post('/sysDict/insert', data), + // 更新字典 + update: (data) => api.post('/sysDict/update', data), + // 删除字典 + deleteById: (id) => api.post(`/sysDict/deleteById/${id}`), + // 获取字典类型 + getDictTypes: () => api.post('/sysDict/getDictTypes') +} diff --git a/src/api/index.js b/src/api/index.js new file mode 100644 index 0000000..98a51fb --- /dev/null +++ b/src/api/index.js @@ -0,0 +1,57 @@ +import axios from 'axios' +import router from '../router' +import { config } from '../config' + +const api = axios.create({ + baseURL: config.apiBaseUrl, + timeout: 10000 +}) + +// 请求拦截器 +api.interceptors.request.use( + requestConfig => { + console.log('请求拦截器执行', requestConfig.url) + const token = localStorage.getItem('token') + console.log('token:', token) + if (token) { + requestConfig.headers.Authorization = token + console.log('添加Authorization头部:', token) + } + return requestConfig + }, + error => { + return Promise.reject(error) + } +) + +// 响应拦截器 +api.interceptors.response.use( + response => { + const res = response.data + if (res.status !== 1000) { + // 处理token过期,状态码为-1000且提示中包含token相关字眼 + if (res.status === -1000 && res.message && (res.message.includes('token') || res.message.includes('Token'))) { + // 清除本地存储的token和用户信息 + localStorage.removeItem('token') + localStorage.removeItem('userInfo') + // 跳转到登录页面 + router.push('/login') + } + return Promise.reject(new Error(res.message || 'Error')) + } + return res + }, + error => { + // 处理token过期 + if (error.response && error.response.status === 401) { + // 清除本地存储的token和用户信息 + localStorage.removeItem('token') + localStorage.removeItem('userInfo') + // 跳转到登录页面 + router.push('/login') + } + return Promise.reject(error) + } +) + +export default api diff --git a/src/api/order.js b/src/api/order.js new file mode 100644 index 0000000..07b88bc --- /dev/null +++ b/src/api/order.js @@ -0,0 +1,10 @@ +import api from './index' + +export const orderApi = { + // 获取订单列表 + getPageList: (data) => api.post('/paymentOrder/pageList', data), + // 根据ID查询订单 + queryById: (id) => api.post(`/paymentOrder/queryById/${id}`), + // 通过订单号查询订单 + queryByOrderNo: (orderNo) => api.post('/paymentOrder/queryByOrderNo', { orderNo }) +} diff --git a/src/api/role.js b/src/api/role.js new file mode 100644 index 0000000..dab412f --- /dev/null +++ b/src/api/role.js @@ -0,0 +1,18 @@ +import api from './index' + +export const roleApi = { + // 获取角色列表 + getPageList: (data) => api.post('/sysRole/getPageList', data), + // 根据ID查询角色 + queryById: (id) => api.post(`/sysRole/queryById/${id}`), + // 新增角色 + insert: (data) => api.post('/sysRole/insert', data), + // 更新角色 + update: (data) => api.post('/sysRole/update', data), + // 删除角色 + deleteById: (id) => api.post(`/sysRole/deleteById/${id}`), + // 获取角色权限 + getRolePermissions: (roleId) => api.post(`/sysRole/getPermissions/${roleId}`), + // 分配权限 + assignPermissions: (data) => api.post('/sysRole/assignPermissions', data) +} diff --git a/src/api/user.js b/src/api/user.js new file mode 100644 index 0000000..3a46509 --- /dev/null +++ b/src/api/user.js @@ -0,0 +1,28 @@ +import api from './index' + +export const userApi = { + // 登录 + login: async (data) => { + console.log('发送登录请求:', data); + try { + const response = await api.post('/login/accountLogin', data); + console.log('登录响应:', response); + return response; + } catch (error) { + console.error('登录错误:', error); + throw error; + } + }, + // 获取用户列表 + getPageList: (data) => api.post('/sysUser/getPageList', data), + // 根据ID查询用户 + queryById: (id) => api.post(`/sysUser/queryById/${id}`), + // 新增用户 + insert: (data) => api.post('/sysUser/insert', data), + // 更新用户 + update: (data) => api.post('/sysUser/update', data), + // 删除用户 + deleteById: (id) => api.post(`/sysUser/deleteById/${id}`), + // 重置密码 + resetPassword: (data) => api.post('/sysUser/resetPassword', data) +} diff --git a/src/assets/vue.svg b/src/assets/vue.svg new file mode 100644 index 0000000..770e9d3 --- /dev/null +++ b/src/assets/vue.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/components/HelloWorld.vue b/src/components/HelloWorld.vue new file mode 100644 index 0000000..546ebbc --- /dev/null +++ b/src/components/HelloWorld.vue @@ -0,0 +1,43 @@ + + + + + diff --git a/src/config/index.js b/src/config/index.js new file mode 100644 index 0000000..a785bc5 --- /dev/null +++ b/src/config/index.js @@ -0,0 +1,8 @@ +// 配置文件 +export const config = { + // 后端API地址 + apiBaseUrl: 'http://localhost:19001/api', +// apiBaseUrl: 'https://skills.xueai.art/api', + // 前端基础路径 + baseUrl: '/' +} diff --git a/src/main.js b/src/main.js new file mode 100644 index 0000000..830eeda --- /dev/null +++ b/src/main.js @@ -0,0 +1,16 @@ +import { createApp } from 'vue' +import { createPinia } from 'pinia' +import ElementPlus from 'element-plus' +import zhCn from 'element-plus/dist/locale/zh-cn.mjs' +import 'element-plus/dist/index.css' +import router from './router' +import App from './App.vue' +import './style.css' + +const app = createApp(App) +app.use(createPinia()) +app.use(ElementPlus, { + locale: zhCn +}) +app.use(router) +app.mount('#app') diff --git a/src/router/index.js b/src/router/index.js new file mode 100644 index 0000000..30337bc --- /dev/null +++ b/src/router/index.js @@ -0,0 +1,73 @@ +import { createRouter, createWebHistory } from 'vue-router' + +const routes = [ + { + path: '/login', + name: 'Login', + component: () => import('../views/Login.vue') + }, + { + path: '/', + name: 'Home', + component: () => import('../views/Home.vue'), + meta: { requiresAuth: true }, + children: [ + { + path: 'dashboard', + name: 'Dashboard', + component: () => import('../views/Dashboard.vue') + }, + { + path: 'user', + name: 'User', + component: () => import('../views/user/List.vue') + }, + { + path: 'role', + name: 'Role', + component: () => import('../views/role/List.vue') + }, + { + path: 'content', + name: 'Content', + component: () => import('../views/content/List.vue') + }, + { + path: 'order', + name: 'Order', + component: () => import('../views/order/List.vue') + }, + { + path: 'account', + name: 'Account', + component: () => import('../views/account/List.vue') + }, + { + path: 'dict', + name: 'Dict', + component: () => import('../views/dict/List.vue') + } + ] + } +] + +const router = createRouter({ + history: createWebHistory(), + routes +}) + +// 路由守卫 +router.beforeEach((to, from, next) => { + if (to.meta.requiresAuth) { + const token = localStorage.getItem('token') + if (token) { + next() + } else { + next({ name: 'Login' }) + } + } else { + next() + } +}) + +export default router diff --git a/src/store/user.js b/src/store/user.js new file mode 100644 index 0000000..0b7ef50 --- /dev/null +++ b/src/store/user.js @@ -0,0 +1,27 @@ +import { defineStore } from 'pinia' + +export const useUserStore = defineStore('user', { + state: () => ({ + token: localStorage.getItem('token') || '', + userInfo: JSON.parse(localStorage.getItem('userInfo') || 'null') + }), + getters: { + isLoggedIn: (state) => !!state.token + }, + actions: { + setToken(token) { + this.token = token + localStorage.setItem('token', token) + }, + setUserInfo(userInfo) { + this.userInfo = userInfo + localStorage.setItem('userInfo', JSON.stringify(userInfo)) + }, + logout() { + this.token = '' + this.userInfo = null + localStorage.removeItem('token') + localStorage.removeItem('userInfo') + } + } +}) diff --git a/src/style.css b/src/style.css new file mode 100644 index 0000000..8414b1c --- /dev/null +++ b/src/style.css @@ -0,0 +1,79 @@ +:root { + font-family: system-ui, Avenir, Helvetica, Arial, sans-serif; + line-height: 1.5; + font-weight: 400; + + color-scheme: light dark; + color: rgba(255, 255, 255, 0.87); + background-color: #242424; + + font-synthesis: none; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +a { + font-weight: 500; + color: #646cff; + text-decoration: inherit; +} +a:hover { + color: #535bf2; +} + +body { + margin: 0; + min-width: 320px; + min-height: 100vh; + background-color: #f5f5f5; +} + +h1 { + font-size: 3.2em; + line-height: 1.1; +} + +button { + border-radius: 8px; + border: 1px solid transparent; + padding: 0.6em 1.2em; + font-size: 1em; + font-weight: 500; + font-family: inherit; + background-color: #1a1a1a; + cursor: pointer; + transition: border-color 0.25s; +} +button:hover { + border-color: #646cff; +} +button:focus, +button:focus-visible { + outline: 4px auto -webkit-focus-ring-color; +} + +.card { + padding: 2em; +} + +#app { + width: 100%; + height: 100vh; + margin: 0; + padding: 0; + text-align: left; +} + +@media (prefers-color-scheme: light) { + :root { + color: #213547; + background-color: #ffffff; + } + a:hover { + color: #747bff; + } + button { + background-color: #f9f9f9; + } +} diff --git a/src/views/Dashboard.vue b/src/views/Dashboard.vue new file mode 100644 index 0000000..730f256 --- /dev/null +++ b/src/views/Dashboard.vue @@ -0,0 +1,233 @@ + + + + + diff --git a/src/views/Home.vue b/src/views/Home.vue new file mode 100644 index 0000000..fa423a2 --- /dev/null +++ b/src/views/Home.vue @@ -0,0 +1,322 @@ + + + + + diff --git a/src/views/Login.vue b/src/views/Login.vue new file mode 100644 index 0000000..1369dd9 --- /dev/null +++ b/src/views/Login.vue @@ -0,0 +1,231 @@ + + + + + diff --git a/src/views/account/List.vue b/src/views/account/List.vue new file mode 100644 index 0000000..0dee6eb --- /dev/null +++ b/src/views/account/List.vue @@ -0,0 +1,527 @@ + + + + + diff --git a/src/views/content/List.vue b/src/views/content/List.vue new file mode 100644 index 0000000..ea3ef2b --- /dev/null +++ b/src/views/content/List.vue @@ -0,0 +1,822 @@ + + + + + diff --git a/src/views/dict/List.vue b/src/views/dict/List.vue new file mode 100644 index 0000000..b353a2e --- /dev/null +++ b/src/views/dict/List.vue @@ -0,0 +1,484 @@ + + + + + diff --git a/src/views/order/List.vue b/src/views/order/List.vue new file mode 100644 index 0000000..56a46be --- /dev/null +++ b/src/views/order/List.vue @@ -0,0 +1,415 @@ + + + + + diff --git a/src/views/role/List.vue b/src/views/role/List.vue new file mode 100644 index 0000000..dd09d82 --- /dev/null +++ b/src/views/role/List.vue @@ -0,0 +1,547 @@ + + + + + diff --git a/src/views/user/List.vue b/src/views/user/List.vue new file mode 100644 index 0000000..e786162 --- /dev/null +++ b/src/views/user/List.vue @@ -0,0 +1,678 @@ + + + + + diff --git a/test-captcha.py b/test-captcha.py new file mode 100644 index 0000000..a4dda4c --- /dev/null +++ b/test-captcha.py @@ -0,0 +1,37 @@ +from playwright.sync_api import sync_playwright +import time + +with sync_playwright() as p: + browser = p.chromium.launch(headless=False) # 非无头模式,以便查看 + page = browser.new_page() + + # 访问登录页面 + page.goto('http://localhost:5176/') + page.wait_for_load_state('networkidle') + + # 等待验证码加载 + time.sleep(2) + + # 检查验证码图片是否存在 + captcha_image = page.locator('img[alt="验证码"]') + if captcha_image.is_visible(): + print("验证码图片已显示") + # 截图保存 + page.screenshot(path='captcha-test.png') + print("已保存验证码截图到 captcha-test.png") + else: + print("验证码图片未显示") + + # 检查控制台日志 + print("\n控制台日志:") + for entry in page.context.logs(): + print(f"{entry.type}: {entry.text}") + + # 检查网络请求 + print("\n网络请求:") + for request in page.context.requests(): + if "captcha" in request.url: + print(f"验证码请求: {request.url}") + print(f"状态码: {request.response().status if request.response() else '无响应'}") + + browser.close() diff --git a/vite.config.js b/vite.config.js new file mode 100644 index 0000000..bbcf80c --- /dev/null +++ b/vite.config.js @@ -0,0 +1,7 @@ +import { defineConfig } from 'vite' +import vue from '@vitejs/plugin-vue' + +// https://vite.dev/config/ +export default defineConfig({ + plugins: [vue()], +})