diff --git a/uniapp/App.vue b/uniapp/App.vue index 1998ffd..be529b4 100644 --- a/uniapp/App.vue +++ b/uniapp/App.vue @@ -1,18 +1,31 @@ - diff --git a/uniapp/components/AppTabbar.vue b/uniapp/components/AppTabbar.vue new file mode 100644 index 0000000..6bb9267 --- /dev/null +++ b/uniapp/components/AppTabbar.vue @@ -0,0 +1,179 @@ + + + + + + + + + + + diff --git a/uniapp/components/FaIcon.vue b/uniapp/components/FaIcon.vue new file mode 100644 index 0000000..2369f5a --- /dev/null +++ b/uniapp/components/FaIcon.vue @@ -0,0 +1,61 @@ + + + + + + + diff --git a/uniapp/main.js b/uniapp/main.js index 84e5e56..ef10b7f 100644 --- a/uniapp/main.js +++ b/uniapp/main.js @@ -1,5 +1,6 @@ import App from './App' import uviewPlus from 'uview-plus' +import FaIcon from '@/components/FaIcon.vue' // #ifndef VUE3 import Vue from 'vue' @@ -19,6 +20,7 @@ import { export function createApp() { const app = createSSRApp(App) app.use(uviewPlus) + app.component('FaIcon', FaIcon) return { app } diff --git a/uniapp/package-lock.json b/uniapp/package-lock.json index 08d9435..6b248c6 100644 --- a/uniapp/package-lock.json +++ b/uniapp/package-lock.json @@ -5,15 +5,26 @@ "packages": { "": { "dependencies": { + "@fortawesome/fontawesome-free": "^7.3.0", "clipboard": "^2.0.11", "dayjs": "^1.11.21", "uview-plus": "^3.8.55" }, "devDependencies": { + "rollup-plugin-visualizer": "^7.0.1", "sass": "^1.63.2", "sass-loader": "^10.4.1" } }, + "node_modules/@fortawesome/fontawesome-free": { + "version": "7.3.0", + "resolved": "https://registry.npmmirror.com/@fortawesome/fontawesome-free/-/fontawesome-free-7.3.0.tgz", + "integrity": "sha512-Yw4Qa43P6e4Xwh0TwEUkHQNRJInWaqIBo73VJmns3j2AIlZPAvUcR4yGIxCPqPRCgyJ5KIVIalF/I1GxhZ/Kgw==", + "license": "(CC-BY-4.0 AND OFL-1.1 AND MIT)", + "engines": { + "node": ">=6" + } + }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.13", "resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", @@ -387,6 +398,32 @@ "ajv": "^6.9.1" } }, + "node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, "node_modules/anymatch": { "version": "3.1.3", "resolved": "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.3.tgz", @@ -494,6 +531,22 @@ "license": "MIT", "peer": true }, + "node_modules/bundle-name": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/bundle-name/-/bundle-name-4.1.0.tgz", + "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "run-applescript": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/caniuse-lite": { "version": "1.0.30001805", "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001805.tgz", @@ -563,6 +616,21 @@ "tiny-emitter": "^2.0.0" } }, + "node_modules/cliui": { + "version": "9.0.1", + "resolved": "https://registry.npmmirror.com/cliui/-/cliui-9.0.1.tgz", + "integrity": "sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^7.2.0", + "strip-ansi": "^7.1.0", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=20" + } + }, "node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz", @@ -577,6 +645,49 @@ "integrity": "sha512-98IT+HOahAisibz/yjKbzuOBwYcjJ7BCLPzARyHiyEBmRz4fatF+KPJszEHXsGYjUG234aH/cOjW1wwTbKUZlA==", "license": "MIT" }, + "node_modules/default-browser": { + "version": "5.5.0", + "resolved": "https://registry.npmmirror.com/default-browser/-/default-browser-5.5.0.tgz", + "integrity": "sha512-H9LMLr5zwIbSxrmvikGuI/5KGhZ8E2zH3stkMgM5LpOWDutGM2JZaj460Udnf1a+946zc7YBgrqEWwbk7zHvGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "bundle-name": "^4.1.0", + "default-browser-id": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser-id": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/default-browser-id/-/default-browser-id-5.0.1.tgz", + "integrity": "sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/delegate": { "version": "3.2.0", "resolved": "https://registry.npmmirror.com/delegate/-/delegate-3.2.0.tgz", @@ -591,6 +702,13 @@ "license": "ISC", "peer": true }, + "node_modules/emoji-regex": { + "version": "10.6.0", + "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-10.6.0.tgz", + "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==", + "dev": true, + "license": "MIT" + }, "node_modules/emojis-list": { "version": "3.0.0", "resolved": "https://registry.npmmirror.com/emojis-list/-/emojis-list-3.0.0.tgz", @@ -630,7 +748,6 @@ "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=6" } @@ -757,6 +874,29 @@ "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmmirror.com/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-east-asian-width": { + "version": "1.6.0", + "resolved": "https://registry.npmmirror.com/get-east-asian-width/-/get-east-asian-width-1.6.0.tgz", + "integrity": "sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/glob-parent": { "version": "5.1.2", "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz", @@ -818,6 +958,22 @@ "node": ">=8" } }, + "node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "dev": true, + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz", @@ -841,6 +997,38 @@ "node": ">=0.10.0" } }, + "node_modules/is-in-ssh": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/is-in-ssh/-/is-in-ssh-1.0.0.tgz", + "integrity": "sha512-jYa6Q9rH90kR1vKB6NM7qqd1mge3Fx4Dhw5TVlK1MUBqhEOuCagrEHMevNuCcbECmXZ0ThXkRm+Ymr51HwEPAw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz", @@ -851,6 +1039,22 @@ "node": ">=0.12.0" } }, + "node_modules/is-wsl": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/is-wsl/-/is-wsl-3.1.1.tgz", + "integrity": "sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-inside-container": "^1.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/jest-worker": { "version": "27.5.1", "resolved": "https://registry.npmmirror.com/jest-worker/-/jest-worker-27.5.1.tgz", @@ -1097,6 +1301,27 @@ "node": ">=0.10.0" } }, + "node_modules/open": { + "version": "11.0.0", + "resolved": "https://registry.npmmirror.com/open/-/open-11.0.0.tgz", + "integrity": "sha512-smsWv2LzFjP03xmvFoJ331ss6h+jixfA4UUV/Bsiyuu4YJPfN+FIQGOIiv4w9/+MoHkfkJ22UIaQWRVFRfH6Vw==", + "dev": true, + "license": "MIT", + "dependencies": { + "default-browser": "^5.4.0", + "define-lazy-prop": "^3.0.0", + "is-in-ssh": "^1.0.0", + "is-inside-container": "^1.0.0", + "powershell-utils": "^0.1.0", + "wsl-utils": "^0.3.0" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/picocolors": { "version": "1.1.1", "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.1.1.tgz", @@ -1118,6 +1343,19 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/powershell-utils": { + "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/powershell-utils/-/powershell-utils-0.1.0.tgz", + "integrity": "sha512-dM0jVuXJPsDN6DvRpea484tCUaMiXWjuCn++HGTqUWzGDjv5tZkEZldAJ/UMlqRYGFrD/etByo4/xOuC/snX2A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/punycode": { "version": "2.3.1", "resolved": "https://registry.npmmirror.com/punycode/-/punycode-2.3.1.tgz", @@ -1152,6 +1390,73 @@ "node": ">=0.10.0" } }, + "node_modules/rollup-plugin-visualizer": { + "version": "7.0.1", + "resolved": "https://registry.npmmirror.com/rollup-plugin-visualizer/-/rollup-plugin-visualizer-7.0.1.tgz", + "integrity": "sha512-UJUT4+1Ho4OcWmPYU3sYXgUqI8B8Ayfe06MX7y0qCJ1K8aGoKtR/NDd/2nZqM7ADkrzny+I99Ul7GgyoiVNAgg==", + "dev": true, + "license": "MIT", + "dependencies": { + "open": "^11.0.0", + "picomatch": "^4.0.2", + "source-map": "^0.7.4", + "yargs": "^18.0.0" + }, + "bin": { + "rollup-plugin-visualizer": "dist/bin/cli.js" + }, + "engines": { + "node": ">=22" + }, + "peerDependencies": { + "rolldown": "1.x || ^1.0.0-beta || ^1.0.0-rc", + "rollup": "2.x || 3.x || 4.x" + }, + "peerDependenciesMeta": { + "rolldown": { + "optional": true + }, + "rollup": { + "optional": true + } + } + }, + "node_modules/rollup-plugin-visualizer/node_modules/picomatch": { + "version": "4.0.5", + "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-4.0.5.tgz", + "integrity": "sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/rollup-plugin-visualizer/node_modules/source-map": { + "version": "0.7.6", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.7.6.tgz", + "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">= 12" + } + }, + "node_modules/run-applescript": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/run-applescript/-/run-applescript-7.1.0.tgz", + "integrity": "sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/sass": { "version": "1.63.2", "resolved": "https://registry.npmmirror.com/sass/-/sass-1.63.2.tgz", @@ -1279,6 +1584,40 @@ "source-map": "^0.6.0" } }, + "node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-ansi": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.2.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, "node_modules/supports-color": { "version": "8.1.1", "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-8.1.1.tgz", @@ -1542,6 +1881,79 @@ "type": "opencollective", "url": "https://opencollective.com/webpack" } + }, + "node_modules/wrap-ansi": { + "version": "9.0.2", + "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-9.0.2.tgz", + "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wsl-utils": { + "version": "0.3.1", + "resolved": "https://registry.npmmirror.com/wsl-utils/-/wsl-utils-0.3.1.tgz", + "integrity": "sha512-g/eziiSUNBSsdDJtCLB8bdYEUMj4jR7AGeUo96p/3dTafgjHhpF4RiCFPiRILwjQoDXx5MqkBr4fwWtR3Ky4Wg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-wsl": "^3.1.0", + "powershell-utils": "^0.1.0" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmmirror.com/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs": { + "version": "18.0.0", + "resolved": "https://registry.npmmirror.com/yargs/-/yargs-18.0.0.tgz", + "integrity": "sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^9.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "string-width": "^7.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^22.0.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=23" + } + }, + "node_modules/yargs-parser": { + "version": "22.0.0", + "resolved": "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-22.0.0.tgz", + "integrity": "sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=23" + } } } } diff --git a/uniapp/package.json b/uniapp/package.json index 920548b..2a84547 100644 --- a/uniapp/package.json +++ b/uniapp/package.json @@ -1,10 +1,12 @@ { "dependencies": { + "@fortawesome/fontawesome-free": "^7.3.0", "clipboard": "^2.0.11", "dayjs": "^1.11.21", "uview-plus": "^3.8.55" }, "devDependencies": { + "rollup-plugin-visualizer": "^7.0.1", "sass": "^1.63.2", "sass-loader": "^10.4.1" } diff --git a/uniapp/pages.json b/uniapp/pages.json index 0de3daa..87e8015 100644 --- a/uniapp/pages.json +++ b/uniapp/pages.json @@ -1,26 +1,48 @@ { "easycom": { "autoscan": true, - // 注意一定要放在custom里,否则无效,https://ask.dcloud.net.cn/question/131175 "custom": { + "^FaIcon$": "@/components/FaIcon.vue", "^u--(.*)": "uview-plus/components/u-$1/u-$1.vue", "^up-(.*)": "uview-plus/components/u-$1/u-$1.vue", - "^u-([^-].*)": "uview-plus/components/u-$1/u-$1.vue" + "^u-([^-].*)": "uview-plus/components/u-$1/u-$1.vue" } }, - "pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages + "pages": [ { - "path": "pages/index/index", + "path": "pages/login/login", "style": { - "navigationBarTitleText": "uni-app" + "navigationStyle": "custom", + "navigationBarTitleText": "登录" + } + }, + { + "path": "pages/dashboard/dashboard", + "style": { + "navigationStyle": "custom", + "navigationBarTitleText": "仪表盘" + } + }, + { + "path": "pages/features/features", + "style": { + "navigationStyle": "custom", + "navigationBarTitleText": "功能" + } + }, + { + "path": "pages/profile/profile", + "style": { + "navigationStyle": "custom", + "navigationBarTitleText": "我的" } } ], "globalStyle": { "navigationBarTextStyle": "black", - "navigationBarTitleText": "uni-app", - "navigationBarBackgroundColor": "#F8F8F8", - "backgroundColor": "#F8F8F8" + "navigationBarTitleText": "云泽", + "navigationBarBackgroundColor": "#F8FAFC", + "backgroundColor": "#F8FAFC" }, "uniIdRouter": {} } diff --git a/uniapp/pages/dashboard/dashboard.vue b/uniapp/pages/dashboard/dashboard.vue new file mode 100644 index 0000000..8a12f8e --- /dev/null +++ b/uniapp/pages/dashboard/dashboard.vue @@ -0,0 +1,342 @@ + + + + + diff --git a/uniapp/pages/features/features.vue b/uniapp/pages/features/features.vue new file mode 100644 index 0000000..e736182 --- /dev/null +++ b/uniapp/pages/features/features.vue @@ -0,0 +1,451 @@ + + + + + + + + + + + diff --git a/uniapp/pages/login/login.vue b/uniapp/pages/login/login.vue new file mode 100644 index 0000000..9bc46b3 --- /dev/null +++ b/uniapp/pages/login/login.vue @@ -0,0 +1,446 @@ + + + + + diff --git a/uniapp/pages/profile/profile.vue b/uniapp/pages/profile/profile.vue new file mode 100644 index 0000000..75d0a8a --- /dev/null +++ b/uniapp/pages/profile/profile.vue @@ -0,0 +1,649 @@ + + + + + + + + + + + diff --git a/uniapp/scripts/gen-fa-icons.js b/uniapp/scripts/gen-fa-icons.js new file mode 100644 index 0000000..159c62c --- /dev/null +++ b/uniapp/scripts/gen-fa-icons.js @@ -0,0 +1,24 @@ +/** + * 从 Font Awesome SCSS 变量生成图标 Unicode 映射表。 + * 升级 @fortawesome/fontawesome-free 后执行: node scripts/gen-fa-icons.js + */ +const fs = require('fs') +const path = require('path') + +const scssPath = path.join( + __dirname, + '../node_modules/@fortawesome/fontawesome-free/scss/_variables.scss' +) +const outputPath = path.join(__dirname, '../utils/fa-icons.js') + +const source = fs.readFileSync(scssPath, 'utf8') +const icons = {} + +for (const match of source.matchAll(/\$var-([a-z0-9-]+):\s*\\([a-f0-9]+);/gi)) { + const [, name, hex] = match + icons[name] = String.fromCharCode(parseInt(hex, 16)) +} + +const content = `export const FA_ICONS = ${JSON.stringify(icons, null, 2)}\n` +fs.writeFileSync(outputPath, content, 'utf8') +console.log(`Generated ${Object.keys(icons).length} icons -> utils/fa-icons.js`) diff --git a/uniapp/src/styles/fontawesome.scss b/uniapp/src/styles/fontawesome.scss new file mode 100644 index 0000000..c4438cf --- /dev/null +++ b/uniapp/src/styles/fontawesome.scss @@ -0,0 +1,15 @@ +@font-face { + font-family: 'Font Awesome 7 Free'; + font-style: normal; + font-weight: 900; + font-display: block; + src: url('/static/webfonts/fa-solid-900.woff2') format('woff2'); +} + +@font-face { + font-family: 'Font Awesome 7 Brands'; + font-style: normal; + font-weight: 400; + font-display: block; + src: url('/static/webfonts/fa-brands-400.woff2') format('woff2'); +} diff --git a/uniapp/src/styles/theme.scss b/uniapp/src/styles/theme.scss new file mode 100644 index 0000000..281baa4 --- /dev/null +++ b/uniapp/src/styles/theme.scss @@ -0,0 +1,19 @@ +// 简约潮流主题变量 +$color-primary: #6366f1; +$color-primary-light: #818cf8; +$color-primary-dark: #4f46e5; +$color-accent: #ec4899; +$color-bg: #f8fafc; +$color-card: #ffffff; +$color-text: #1e293b; +$color-text-secondary: #64748b; +$color-text-muted: #94a3b8; +$color-border: #e2e8f0; +$gradient-primary: linear-gradient(135deg, #6366f1 0%, #8b5cf6 50%, #ec4899 100%); +$gradient-soft: linear-gradient(160deg, #eef2ff 0%, #faf5ff 50%, #fdf2f8 100%); +$shadow-sm: 0 2rpx 12rpx rgba(99, 102, 241, 0.08); +$shadow-md: 0 8rpx 32rpx rgba(99, 102, 241, 0.12); +$radius-sm: 16rpx; +$radius-md: 24rpx; +$radius-lg: 32rpx; +$radius-full: 999rpx; diff --git a/uniapp/src/uni.scss b/uniapp/src/uni.scss index 5855d3a..d732cb8 100644 --- a/uniapp/src/uni.scss +++ b/uniapp/src/uni.scss @@ -1 +1,2 @@ -@import 'uview-plus/theme.scss'; \ No newline at end of file +// 已迁移至项目根目录 uni.scss,此文件保留兼容引用 +@import '../uni.scss'; diff --git a/uniapp/static/webfonts/fa-brands-400.woff2 b/uniapp/static/webfonts/fa-brands-400.woff2 new file mode 100644 index 0000000..4aa6dea Binary files /dev/null and b/uniapp/static/webfonts/fa-brands-400.woff2 differ diff --git a/uniapp/static/webfonts/fa-solid-900.woff2 b/uniapp/static/webfonts/fa-solid-900.woff2 new file mode 100644 index 0000000..d7e38a2 Binary files /dev/null and b/uniapp/static/webfonts/fa-solid-900.woff2 differ diff --git a/uniapp/tsconfig.json b/uniapp/tsconfig.json index a4764b7..89c483a 100644 --- a/uniapp/tsconfig.json +++ b/uniapp/tsconfig.json @@ -3,7 +3,7 @@ "sourceMap": true, "baseUrl": ".", "paths": { - "@/*": ["./src/*"] + "@/*": ["./*"] }, "lib": ["esnext", "dom"], "types": [ diff --git a/uniapp/uni.scss b/uniapp/uni.scss index b9249e9..d3cacef 100644 --- a/uniapp/uni.scss +++ b/uniapp/uni.scss @@ -74,3 +74,6 @@ $uni-color-subtitle: #555555; // 二级标题颜色 $uni-font-size-subtitle:26px; $uni-color-paragraph: #3F536E; // 文章段落颜色 $uni-font-size-paragraph:15px; + +/* uview-plus 主题变量与 mixin,需放在根目录 uni.scss 以便全局注入 */ +@import 'uview-plus/theme.scss'; diff --git a/uniapp/utils/auth.js b/uniapp/utils/auth.js new file mode 100644 index 0000000..9a4a8fe --- /dev/null +++ b/uniapp/utils/auth.js @@ -0,0 +1,37 @@ +const TOKEN_KEY = 'app_token' +const USER_KEY = 'app_user' + +export function setToken(token) { + uni.setStorageSync(TOKEN_KEY, token) +} + +export function getToken() { + return uni.getStorageSync(TOKEN_KEY) || '' +} + +export function setUser(user) { + uni.setStorageSync(USER_KEY, user) +} + +export function getUser() { + return uni.getStorageSync(USER_KEY) || null +} + +export function isLoggedIn() { + return !!getToken() +} + +export function logout() { + uni.removeStorageSync(TOKEN_KEY) + uni.removeStorageSync(USER_KEY) +} + +export function loginSuccess(user = {}) { + setToken('demo_token_' + Date.now()) + setUser({ + nickname: user.nickname || '云泽用户', + avatar: user.avatar || '', + phone: user.phone || '', + ...user + }) +} diff --git a/uniapp/utils/fa-icons.js b/uniapp/utils/fa-icons.js new file mode 100644 index 0000000..1e7c2fd --- /dev/null +++ b/uniapp/utils/fa-icons.js @@ -0,0 +1,2602 @@ +export const FA_ICONS={ + "0": "0", + "1": "1", + "2": "2", + "3": "3", + "4": "4", + "5": "5", + "6": "6", + "7": "7", + "8": "8", + "9": "9", + "exclamation": "!", + "hashtag": "#", + "dollar-sign": "$", + "dollar": "$", + "usd": "$", + "percent": "%", + "percentage": "%", + "asterisk": "*", + "plus": "+", + "add": "+", + "less-than": "<", + "equals": "=", + "greater-than": ">", + "question": "?", + "at": "@", + "a": "A", + "b": "B", + "c": "C", + "d": "D", + "e": "E", + "f": "F", + "g": "G", + "h": "H", + "i": "I", + "j": "J", + "k": "K", + "l": "L", + "m": "M", + "n": "N", + "o": "O", + "p": "P", + "q": "Q", + "r": "R", + "s": "S", + "t": "T", + "u": "U", + "v": "V", + "w": "W", + "x": "X", + "y": "Y", + "z": "Z", + "faucet": "", + "faucet-drip": "", + "house-chimney-window": "", + "house-signal": "", + "temperature-arrow-down": "", + "temperature-down": "", + "temperature-arrow-up": "", + "temperature-up": "", + "trailer": "", + "bacteria": "", + "bacterium": "", + "box-tissue": "", + "hand-holding-medical": "", + "hand-sparkles": "", + "hands-bubbles": "", + "hands-wash": "", + "handshake-slash": "", + "handshake-alt-slash": "", + "handshake-simple-slash": "", + "head-side-cough": "", + "head-side-cough-slash": "", + "head-side-mask": "", + "head-side-virus": "", + "house-chimney-user": "", + "house-laptop": "", + "laptop-house": "", + "lungs-virus": "", + "people-arrows": "", + "people-arrows-left-right": "", + "plane-slash": "", + "pump-medical": "", + "pump-soap": "", + "shield-virus": "", + "sink": "", + "soap": "", + "stopwatch-20": "", + "shop-slash": "", + "store-alt-slash": "", + "store-slash": "", + "toilet-paper-slash": "", + "users-slash": "", + "virus": "", + "virus-slash": "", + "viruses": "", + "vest": "", + "vest-patches": "", + "arrow-trend-down": "", + "arrow-trend-up": "", + "arrow-up-from-bracket": "", + "austral-sign": "", + "baht-sign": "", + "bitcoin-sign": "", + "bolt-lightning": "", + "book-bookmark": "", + "camera-rotate": "", + "cedi-sign": "", + "chart-column": "", + "chart-gantt": "", + "clapperboard": "", + "closed-captioning-slash": "", + "clover": "", + "code-compare": "", + "code-fork": "", + "code-pull-request": "", + "colon-sign": "", + "cruzeiro-sign": "", + "display": "", + "dong-sign": "", + "elevator": "", + "filter-circle-xmark": "", + "florin-sign": "", + "folder-closed": "", + "franc-sign": "", + "guarani-sign": "", + "gun": "", + "hands-clapping": "", + "house-user": "", + "home-user": "", + "indian-rupee-sign": "", + "indian-rupee": "", + "inr": "", + "kip-sign": "", + "lari-sign": "", + "litecoin-sign": "", + "manat-sign": "", + "mask-face": "", + "mill-sign": "", + "money-bills": "", + "naira-sign": "", + "notdef": "", + "panorama": "", + "peseta-sign": "", + "peso-sign": "", + "plane-up": "", + "rupiah-sign": "", + "stairs": "", + "timeline": "", + "truck-front": "", + "turkish-lira-sign": "", + "try": "", + "turkish-lira": "", + "vault": "", + "wand-magic-sparkles": "", + "magic-wand-sparkles": "", + "wheat-awn": "", + "wheat-alt": "", + "wheelchair-move": "", + "wheelchair-alt": "", + "bangladeshi-taka-sign": "", + "bowl-rice": "", + "person-pregnant": "", + "house-chimney": "", + "home-lg": "", + "house-crack": "", + "house-medical": "", + "cent-sign": "", + "plus-minus": "", + "sailboat": "", + "section": "", + "shrimp": "", + "brazilian-real-sign": "", + "chart-simple": "", + "diagram-next": "", + "diagram-predecessor": "", + "diagram-successor": "", + "earth-oceania": "", + "globe-oceania": "", + "bug-slash": "", + "file-circle-plus": "", + "shop-lock": "", + "virus-covid": "", + "virus-covid-slash": "", + "anchor-circle-check": "", + "anchor-circle-exclamation": "", + "anchor-circle-xmark": "", + "anchor-lock": "", + "arrow-down-up-across-line": "", + "arrow-down-up-lock": "", + "arrow-right-to-city": "", + "arrow-up-from-ground-water": "", + "arrow-up-from-water-pump": "", + "arrow-up-right-dots": "", + "arrows-down-to-line": "", + "arrows-down-to-people": "", + "arrows-left-right-to-line": "", + "arrows-spin": "", + "arrows-split-up-and-left": "", + "arrows-to-circle": "", + "arrows-to-dot": "", + "arrows-to-eye": "", + "arrows-turn-right": "", + "arrows-turn-to-dots": "", + "arrows-up-to-line": "", + "bore-hole": "", + "bottle-droplet": "", + "bottle-water": "", + "bowl-food": "", + "boxes-packing": "", + "bridge": "", + "bridge-circle-check": "", + "bridge-circle-exclamation": "", + "bridge-circle-xmark": "", + "bridge-lock": "", + "bridge-water": "", + "bucket": "", + "bugs": "", + "building-circle-arrow-right": "", + "building-circle-check": "", + "building-circle-exclamation": "", + "building-circle-xmark": "", + "building-flag": "", + "building-lock": "", + "building-ngo": "", + "building-shield": "", + "building-un": "", + "building-user": "", + "building-wheat": "", + "burst": "", + "car-on": "", + "car-tunnel": "", + "child-combatant": "", + "child-rifle": "", + "children": "", + "circle-nodes": "", + "clipboard-question": "", + "cloud-showers-water": "", + "computer": "", + "cubes-stacked": "", + "envelope-circle-check": "", + "explosion": "", + "ferry": "", + "file-circle-exclamation": "", + "file-circle-minus": "", + "file-circle-question": "", + "file-shield": "", + "fire-burner": "", + "fish-fins": "", + "flask-vial": "", + "glass-water": "", + "glass-water-droplet": "", + "group-arrows-rotate": "", + "hand-holding-hand": "", + "handcuffs": "", + "hands-bound": "", + "hands-holding-child": "", + "hands-holding-circle": "", + "heart-circle-bolt": "", + "heart-circle-check": "", + "heart-circle-exclamation": "", + "heart-circle-minus": "", + "heart-circle-plus": "", + "heart-circle-xmark": "", + "helicopter-symbol": "", + "helmet-un": "", + "hill-avalanche": "", + "hill-rockslide": "", + "house-circle-check": "", + "house-circle-exclamation": "", + "house-circle-xmark": "", + "house-fire": "", + "house-flag": "", + "house-flood-water": "", + "house-flood-water-circle-arrow-right": "", + "house-lock": "", + "house-medical-circle-check": "", + "house-medical-circle-exclamation": "", + "house-medical-circle-xmark": "", + "house-medical-flag": "", + "house-tsunami": "", + "jar": "", + "jar-wheat": "", + "jet-fighter-up": "", + "jug-detergent": "", + "kitchen-set": "", + "land-mine-on": "", + "landmark-flag": "", + "laptop-file": "", + "lines-leaning": "", + "location-pin-lock": "", + "locust": "", + "magnifying-glass-arrow-right": "", + "magnifying-glass-chart": "", + "mars-and-venus-burst": "", + "mask-ventilator": "", + "mattress-pillow": "", + "mobile-retro": "", + "money-bill-transfer": "", + "money-bill-trend-up": "", + "money-bill-wheat": "", + "mosquito": "", + "mosquito-net": "", + "mound": "", + "mountain-city": "", + "mountain-sun": "", + "oil-well": "", + "people-group": "", + "people-line": "", + "people-pulling": "", + "people-robbery": "", + "people-roof": "", + "person-arrow-down-to-line": "", + "person-arrow-up-from-line": "", + "person-breastfeeding": "", + "person-burst": "", + "person-cane": "", + "person-chalkboard": "", + "person-circle-check": "", + "person-circle-exclamation": "", + "person-circle-minus": "", + "person-circle-plus": "", + "person-circle-question": "", + "person-circle-xmark": "", + "person-dress-burst": "", + "person-drowning": "", + "person-falling": "", + "person-falling-burst": "", + "person-half-dress": "", + "person-harassing": "", + "person-military-pointing": "", + "person-military-rifle": "", + "person-military-to-person": "", + "person-rays": "", + "person-rifle": "", + "person-shelter": "", + "person-walking-arrow-loop-left": "", + "person-walking-arrow-right": "", + "person-walking-dashed-line-arrow-right": "", + "person-walking-luggage": "", + "plane-circle-check": "", + "plane-circle-exclamation": "", + "plane-circle-xmark": "", + "plane-lock": "", + "plate-wheat": "", + "plug-circle-bolt": "", + "plug-circle-check": "", + "plug-circle-exclamation": "", + "plug-circle-minus": "", + "plug-circle-plus": "", + "plug-circle-xmark": "", + "ranking-star": "", + "road-barrier": "", + "road-bridge": "", + "road-circle-check": "", + "road-circle-exclamation": "", + "road-circle-xmark": "", + "road-lock": "", + "road-spikes": "", + "rug": "", + "sack-xmark": "", + "school-circle-check": "", + "school-circle-exclamation": "", + "school-circle-xmark": "", + "school-flag": "", + "school-lock": "", + "sheet-plastic": "", + "shield-cat": "", + "shield-dog": "", + "shield-heart": "", + "square-nfi": "", + "square-person-confined": "", + "square-virus": "", + "staff-snake": "", + "rod-asclepius": "", + "rod-snake": "", + "staff-aesculapius": "", + "sun-plant-wilt": "", + "tarp": "", + "tarp-droplet": "", + "tent": "", + "tent-arrow-down-to-line": "", + "tent-arrow-left-right": "", + "tent-arrow-turn-left": "", + "tent-arrows-down": "", + "tents": "", + "toilet-portable": "", + "toilets-portable": "", + "tower-cell": "", + "tower-observation": "", + "tree-city": "", + "trowel": "", + "trowel-bricks": "", + "truck-arrow-right": "", + "truck-droplet": "", + "truck-field": "", + "truck-field-un": "", + "truck-plane": "", + "users-between-lines": "", + "users-line": "", + "users-rays": "", + "users-rectangle": "", + "users-viewfinder": "", + "vial-circle-check": "", + "vial-virus": "", + "wheat-awn-circle-exclamation": "", + "worm": "", + "xmarks-lines": "", + "child-dress": "", + "child-reaching": "", + "file-circle-check": "", + "file-circle-xmark": "", + "person-through-window": "", + "plant-wilt": "", + "stapler": "", + "train-tram": "", + "table-cells-column-lock": "", + "table-cells-row-lock": "", + "web-awesome": "", + "thumbtack-slash": "", + "thumb-tack-slash": "", + "table-cells-row-unlock": "", + "chart-diagram": "", + "comment-nodes": "", + "file-fragment": "", + "file-half-dashed": "", + "hexagon-nodes": "", + "hexagon-nodes-bolt": "", + "square-binary": "", + "pentagon": "", + "non-binary": "", + "spiral": "", + "picture-in-picture": "", + "mobile-vibrate": "", + "single-quote-left": "", + "single-quote-right": "", + "bus-side": "", + "septagon": "", + "heptagon": "", + "aquarius": "", + "aries": "", + "cancer": "", + "capricorn": "", + "gemini": "", + "leo": "", + "libra": "", + "pisces": "", + "sagittarius": "", + "scorpio": "", + "taurus": "", + "virgo": "", + "martini-glass-empty": "", + "glass-martini": "", + "music": "", + "magnifying-glass": "", + "search": "", + "heart": "", + "star": "", + "user": "", + "user-alt": "", + "user-large": "", + "film": "", + "film-alt": "", + "film-simple": "", + "table-cells-large": "", + "th-large": "", + "table-cells": "", + "th": "", + "table-list": "", + "th-list": "", + "check": "", + "xmark": "", + "close": "", + "multiply": "", + "remove": "", + "times": "", + "magnifying-glass-plus": "", + "search-plus": "", + "magnifying-glass-minus": "", + "search-minus": "", + "power-off": "", + "signal": "", + "signal-5": "", + "signal-perfect": "", + "gear": "", + "cog": "", + "house": "", + "home": "", + "home-alt": "", + "home-lg-alt": "", + "clock": "", + "clock-four": "", + "road": "", + "download": "", + "inbox": "", + "arrow-rotate-right": "", + "arrow-right-rotate": "", + "arrow-rotate-forward": "", + "redo": "", + "arrows-rotate": "", + "refresh": "", + "sync": "", + "rectangle-list": "", + "list-alt": "", + "lock": "", + "flag": "", + "headphones": "", + "headphones-alt": "", + "headphones-simple": "", + "volume-off": "", + "volume-low": "", + "volume-down": "", + "volume-high": "", + "volume-up": "", + "qrcode": "", + "barcode": "", + "tag": "", + "tags": "", + "book": "", + "bookmark": "", + "print": "", + "camera": "", + "camera-alt": "", + "font": "", + "bold": "", + "italic": "", + "text-height": "", + "text-width": "", + "align-left": "", + "align-center": "", + "align-right": "", + "align-justify": "", + "list": "", + "list-squares": "", + "outdent": "", + "dedent": "", + "indent": "", + "video": "", + "video-camera": "", + "image": "", + "location-pin": "", + "map-marker": "", + "circle-half-stroke": "", + "adjust": "", + "droplet": "", + "tint": "", + "pen-to-square": "", + "edit": "", + "arrows-up-down-left-right": "", + "arrows": "", + "backward-step": "", + "step-backward": "", + "backward-fast": "", + "fast-backward": "", + "backward": "", + "play": "", + "pause": "", + "stop": "", + "forward": "", + "forward-fast": "", + "fast-forward": "", + "forward-step": "", + "step-forward": "", + "eject": "", + "chevron-left": "", + "chevron-right": "", + "circle-plus": "", + "plus-circle": "", + "circle-minus": "", + "minus-circle": "", + "circle-xmark": "", + "times-circle": "", + "xmark-circle": "", + "circle-check": "", + "check-circle": "", + "circle-question": "", + "question-circle": "", + "circle-info": "", + "info-circle": "", + "crosshairs": "", + "ban": "", + "cancel": "", + "arrow-left": "", + "arrow-right": "", + "arrow-up": "", + "arrow-down": "", + "share": "", + "mail-forward": "", + "expand": "", + "compress": "", + "minus": "", + "subtract": "", + "circle-exclamation": "", + "exclamation-circle": "", + "gift": "", + "leaf": "", + "fire": "", + "eye": "", + "eye-slash": "", + "triangle-exclamation": "", + "exclamation-triangle": "", + "warning": "", + "plane": "", + "calendar-days": "", + "calendar-alt": "", + "shuffle": "", + "random": "", + "comment": "", + "magnet": "", + "chevron-up": "", + "chevron-down": "", + "retweet": "", + "cart-shopping": "", + "shopping-cart": "", + "folder": "", + "folder-blank": "", + "folder-open": "", + "arrows-up-down": "", + "arrows-v": "", + "arrows-left-right": "", + "arrows-h": "", + "chart-bar": "", + "bar-chart": "", + "camera-retro": "", + "key": "", + "gears": "", + "cogs": "", + "comments": "", + "star-half": "", + "arrow-right-from-bracket": "", + "sign-out": "", + "thumbtack": "", + "thumb-tack": "", + "arrow-up-right-from-square": "", + "external-link": "", + "arrow-right-to-bracket": "", + "sign-in": "", + "trophy": "", + "upload": "", + "lemon": "", + "phone": "", + "square-phone": "", + "phone-square": "", + "unlock": "", + "credit-card": "", + "credit-card-alt": "", + "rss": "", + "feed": "", + "hard-drive": "", + "hdd": "", + "bullhorn": "", + "certificate": "", + "hand-point-right": "", + "hand-point-left": "", + "hand-point-up": "", + "hand-point-down": "", + "circle-arrow-left": "", + "arrow-circle-left": "", + "circle-arrow-right": "", + "arrow-circle-right": "", + "circle-arrow-up": "", + "arrow-circle-up": "", + "circle-arrow-down": "", + "arrow-circle-down": "", + "globe": "", + "wrench": "", + "list-check": "", + "tasks": "", + "filter": "", + "briefcase": "", + "up-down-left-right": "", + "arrows-alt": "", + "users": "", + "link": "", + "chain": "", + "cloud": "", + "flask": "", + "scissors": "", + "cut": "", + "copy": "", + "paperclip": "", + "floppy-disk": "", + "save": "", + "square": "", + "bars": "", + "navicon": "", + "list-ul": "", + "list-dots": "", + "list-ol": "", + "list-1-2": "", + "list-numeric": "", + "strikethrough": "", + "underline": "", + "table": "", + "wand-magic": "", + "magic": "", + "truck": "", + "money-bill": "", + "caret-down": "", + "caret-up": "", + "caret-left": "", + "caret-right": "", + "table-columns": "", + "columns": "", + "sort": "", + "unsorted": "", + "sort-down": "", + "sort-desc": "", + "sort-up": "", + "sort-asc": "", + "envelope": "", + "arrow-rotate-left": "", + "arrow-left-rotate": "", + "arrow-rotate-back": "", + "arrow-rotate-backward": "", + "undo": "", + "gavel": "", + "legal": "", + "bolt": "", + "zap": "", + "sitemap": "", + "umbrella": "", + "paste": "", + "file-clipboard": "", + "lightbulb": "", + "arrow-right-arrow-left": "", + "exchange": "", + "cloud-arrow-down": "", + "cloud-download": "", + "cloud-download-alt": "", + "cloud-arrow-up": "", + "cloud-upload": "", + "cloud-upload-alt": "", + "user-doctor": "", + "user-md": "", + "stethoscope": "", + "suitcase": "", + "bell": "", + "mug-saucer": "", + "coffee": "", + "hospital": "", + "hospital-alt": "", + "hospital-wide": "", + "truck-medical": "", + "ambulance": "", + "suitcase-medical": "", + "medkit": "", + "jet-fighter": "", + "fighter-jet": "", + "beer-mug-empty": "", + "beer": "", + "square-h": "", + "h-square": "", + "square-plus": "", + "plus-square": "", + "angles-left": "", + "angle-double-left": "", + "angles-right": "", + "angle-double-right": "", + "angles-up": "", + "angle-double-up": "", + "angles-down": "", + "angle-double-down": "", + "angle-left": "", + "angle-right": "", + "angle-up": "", + "angle-down": "", + "laptop": "", + "tablet-button": "", + "mobile-button": "", + "quote-left": "", + "quote-left-alt": "", + "quote-right": "", + "quote-right-alt": "", + "spinner": "", + "circle": "", + "face-smile": "", + "smile": "", + "face-frown": "", + "frown": "", + "face-meh": "", + "meh": "", + "gamepad": "", + "keyboard": "", + "flag-checkered": "", + "terminal": "", + "code": "", + "reply-all": "", + "mail-reply-all": "", + "location-arrow": "", + "crop": "", + "code-branch": "", + "link-slash": "", + "chain-broken": "", + "chain-slash": "", + "unlink": "", + "info": "", + "superscript": "", + "subscript": "", + "eraser": "", + "puzzle-piece": "", + "microphone": "", + "microphone-slash": "", + "shield": "", + "shield-blank": "", + "calendar": "", + "fire-extinguisher": "", + "rocket": "", + "circle-chevron-left": "", + "chevron-circle-left": "", + "circle-chevron-right": "", + "chevron-circle-right": "", + "circle-chevron-up": "", + "chevron-circle-up": "", + "circle-chevron-down": "", + "chevron-circle-down": "", + "anchor": "", + "unlock-keyhole": "", + "unlock-alt": "", + "bullseye": "", + "ellipsis": "", + "ellipsis-h": "", + "ellipsis-vertical": "", + "ellipsis-v": "", + "square-rss": "", + "rss-square": "", + "circle-play": "", + "play-circle": "", + "ticket": "", + "square-minus": "", + "minus-square": "", + "arrow-turn-up": "", + "level-up": "", + "arrow-turn-down": "", + "level-down": "", + "square-check": "", + "check-square": "", + "square-pen": "", + "pen-square": "", + "pencil-square": "", + "square-arrow-up-right": "", + "external-link-square": "", + "share-from-square": "", + "share-square": "", + "compass": "", + "square-caret-down": "", + "caret-square-down": "", + "square-caret-up": "", + "caret-square-up": "", + "square-caret-right": "", + "caret-square-right": "", + "euro-sign": "", + "eur": "", + "euro": "", + "sterling-sign": "", + "gbp": "", + "pound-sign": "", + "rupee-sign": "", + "rupee": "", + "yen-sign": "", + "cny": "", + "jpy": "", + "rmb": "", + "yen": "", + "ruble-sign": "", + "rouble": "", + "rub": "", + "ruble": "", + "won-sign": "", + "krw": "", + "won": "", + "file": "", + "file-lines": "", + "file-alt": "", + "file-text": "", + "arrow-down-a-z": "", + "sort-alpha-asc": "", + "sort-alpha-down": "", + "arrow-up-a-z": "", + "sort-alpha-up": "", + "arrow-down-wide-short": "", + "sort-amount-asc": "", + "sort-amount-down": "", + "arrow-up-wide-short": "", + "sort-amount-up": "", + "arrow-down-1-9": "", + "sort-numeric-asc": "", + "sort-numeric-down": "", + "arrow-up-1-9": "", + "sort-numeric-up": "", + "thumbs-up": "", + "thumbs-down": "", + "arrow-down-long": "", + "long-arrow-down": "", + "arrow-up-long": "", + "long-arrow-up": "", + "arrow-left-long": "", + "long-arrow-left": "", + "arrow-right-long": "", + "long-arrow-right": "", + "person-dress": "", + "female": "", + "person": "", + "male": "", + "sun": "", + "moon": "", + "box-archive": "", + "archive": "", + "bug": "", + "square-caret-left": "", + "caret-square-left": "", + "circle-dot": "", + "dot-circle": "", + "wheelchair": "", + "lira-sign": "", + "shuttle-space": "", + "space-shuttle": "", + "square-envelope": "", + "envelope-square": "", + "building-columns": "", + "bank": "", + "institution": "", + "museum": "", + "university": "", + "graduation-cap": "", + "mortar-board": "", + "language": "", + "fax": "", + "building": "", + "child": "", + "paw": "", + "cube": "", + "cubes": "", + "recycle": "", + "car": "", + "automobile": "", + "taxi": "", + "cab": "", + "tree": "", + "database": "", + "file-pdf": "", + "file-word": "", + "file-excel": "", + "file-powerpoint": "", + "file-image": "", + "file-zipper": "", + "file-archive": "", + "file-audio": "", + "file-video": "", + "file-code": "", + "life-ring": "", + "circle-notch": "", + "paper-plane": "", + "clock-rotate-left": "", + "history": "", + "heading": "", + "header": "", + "paragraph": "", + "sliders": "", + "sliders-h": "", + "share-nodes": "", + "share-alt": "", + "square-share-nodes": "", + "share-alt-square": "", + "bomb": "", + "futbol": "", + "futbol-ball": "", + "soccer-ball": "", + "tty": "", + "teletype": "", + "binoculars": "", + "plug": "", + "newspaper": "", + "wifi": "", + "wifi-3": "", + "wifi-strong": "", + "calculator": "", + "bell-slash": "", + "trash": "", + "copyright": "", + "eye-dropper": "", + "eye-dropper-empty": "", + "eyedropper": "", + "paintbrush": "", + "paint-brush": "", + "cake-candles": "", + "birthday-cake": "", + "cake": "", + "chart-area": "", + "area-chart": "", + "chart-pie": "", + "pie-chart": "", + "chart-line": "", + "line-chart": "", + "toggle-off": "", + "toggle-on": "", + "bicycle": "", + "bus": "", + "closed-captioning": "", + "shekel-sign": "", + "ils": "", + "shekel": "", + "sheqel": "", + "sheqel-sign": "", + "cart-plus": "", + "cart-arrow-down": "", + "diamond": "", + "ship": "", + "user-secret": "", + "motorcycle": "", + "street-view": "", + "heart-pulse": "", + "heartbeat": "", + "venus": "", + "mars": "", + "mercury": "", + "mars-and-venus": "", + "transgender": "", + "transgender-alt": "", + "venus-double": "", + "mars-double": "", + "venus-mars": "", + "mars-stroke": "", + "mars-stroke-up": "", + "mars-stroke-v": "", + "mars-stroke-right": "", + "mars-stroke-h": "", + "neuter": "", + "genderless": "", + "server": "", + "user-plus": "", + "user-xmark": "", + "user-times": "", + "bed": "", + "train": "", + "train-subway": "", + "subway": "", + "battery-full": "", + "battery": "", + "battery-5": "", + "battery-three-quarters": "", + "battery-4": "", + "battery-half": "", + "battery-3": "", + "battery-quarter": "", + "battery-2": "", + "battery-empty": "", + "battery-0": "", + "arrow-pointer": "", + "mouse-pointer": "", + "i-cursor": "", + "object-group": "", + "object-ungroup": "", + "note-sticky": "", + "sticky-note": "", + "clone": "", + "scale-balanced": "", + "balance-scale": "", + "hourglass-start": "", + "hourglass-1": "", + "hourglass-half": "", + "hourglass-2": "", + "hourglass-end": "", + "hourglass-3": "", + "hourglass": "", + "hourglass-empty": "", + "hand-back-fist": "", + "hand-rock": "", + "hand": "", + "hand-paper": "", + "hand-scissors": "", + "hand-lizard": "", + "hand-spock": "", + "hand-pointer": "", + "hand-peace": "", + "trademark": "", + "registered": "", + "tv": "", + "television": "", + "tv-alt": "", + "calendar-plus": "", + "calendar-minus": "", + "calendar-xmark": "", + "calendar-times": "", + "calendar-check": "", + "industry": "", + "map-pin": "", + "signs-post": "", + "map-signs": "", + "map": "", + "message": "", + "comment-alt": "", + "circle-pause": "", + "pause-circle": "", + "circle-stop": "", + "stop-circle": "", + "bag-shopping": "", + "shopping-bag": "", + "basket-shopping": "", + "shopping-basket": "", + "universal-access": "", + "person-walking-with-cane": "", + "blind": "", + "audio-description": "", + "phone-volume": "", + "volume-control-phone": "", + "braille": "", + "ear-listen": "", + "assistive-listening-systems": "", + "hands-asl-interpreting": "", + "american-sign-language-interpreting": "", + "asl-interpreting": "", + "hands-american-sign-language-interpreting": "", + "ear-deaf": "", + "deaf": "", + "deafness": "", + "hard-of-hearing": "", + "hands": "", + "sign-language": "", + "signing": "", + "eye-low-vision": "", + "low-vision": "", + "font-awesome": "", + "font-awesome-flag": "", + "font-awesome-logo-full": "", + "handshake": "", + "handshake-alt": "", + "handshake-simple": "", + "envelope-open": "", + "address-book": "", + "contact-book": "", + "address-card": "", + "contact-card": "", + "vcard": "", + "circle-user": "", + "user-circle": "", + "id-badge": "", + "id-card": "", + "drivers-license": "", + "temperature-full": "", + "temperature-4": "", + "thermometer-4": "", + "thermometer-full": "", + "temperature-three-quarters": "", + "temperature-3": "", + "thermometer-3": "", + "thermometer-three-quarters": "", + "temperature-half": "", + "temperature-2": "", + "thermometer-2": "", + "thermometer-half": "", + "temperature-quarter": "", + "temperature-1": "", + "thermometer-1": "", + "thermometer-quarter": "", + "temperature-empty": "", + "temperature-0": "", + "thermometer-0": "", + "thermometer-empty": "", + "shower": "", + "bath": "", + "bathtub": "", + "podcast": "", + "window-maximize": "", + "window-minimize": "", + "window-restore": "", + "square-xmark": "", + "times-square": "", + "xmark-square": "", + "microchip": "", + "snowflake": "", + "spoon": "", + "utensil-spoon": "", + "utensils": "", + "cutlery": "", + "rotate-left": "", + "rotate-back": "", + "rotate-backward": "", + "undo-alt": "", + "trash-can": "", + "trash-alt": "", + "rotate": "", + "sync-alt": "", + "stopwatch": "", + "right-from-bracket": "", + "sign-out-alt": "", + "right-to-bracket": "", + "sign-in-alt": "", + "rotate-right": "", + "redo-alt": "", + "rotate-forward": "", + "poo": "", + "images": "", + "pencil": "", + "pencil-alt": "", + "pen": "", + "pen-clip": "", + "pen-alt": "", + "octagon": "", + "down-long": "", + "long-arrow-alt-down": "", + "left-long": "", + "long-arrow-alt-left": "", + "right-long": "", + "long-arrow-alt-right": "", + "up-long": "", + "long-arrow-alt-up": "", + "hexagon": "", + "file-pen": "", + "file-edit": "", + "maximize": "", + "expand-arrows-alt": "", + "clipboard": "", + "left-right": "", + "arrows-alt-h": "", + "up-down": "", + "arrows-alt-v": "", + "alarm-clock": "", + "circle-down": "", + "arrow-alt-circle-down": "", + "circle-left": "", + "arrow-alt-circle-left": "", + "circle-right": "", + "arrow-alt-circle-right": "", + "circle-up": "", + "arrow-alt-circle-up": "", + "up-right-from-square": "", + "external-link-alt": "", + "square-up-right": "", + "external-link-square-alt": "", + "right-left": "", + "exchange-alt": "", + "repeat": "", + "code-commit": "", + "code-merge": "", + "desktop": "", + "desktop-alt": "", + "gem": "", + "turn-down": "", + "level-down-alt": "", + "turn-up": "", + "level-up-alt": "", + "lock-open": "", + "location-dot": "", + "map-marker-alt": "", + "microphone-lines": "", + "microphone-alt": "", + "mobile-screen-button": "", + "mobile-alt": "", + "mobile": "", + "mobile-android": "", + "mobile-phone": "", + "mobile-screen": "", + "mobile-android-alt": "", + "money-bill-1": "", + "money-bill-alt": "", + "phone-slash": "", + "image-portrait": "", + "portrait": "", + "reply": "", + "mail-reply": "", + "shield-halved": "", + "shield-alt": "", + "tablet-screen-button": "", + "tablet-alt": "", + "tablet": "", + "tablet-android": "", + "ticket-simple": "", + "ticket-alt": "", + "rectangle-xmark": "", + "rectangle-times": "", + "times-rectangle": "", + "window-close": "", + "down-left-and-up-right-to-center": "", + "compress-alt": "", + "up-right-and-down-left-from-center": "", + "expand-alt": "", + "baseball-bat-ball": "", + "baseball": "", + "baseball-ball": "", + "basketball": "", + "basketball-ball": "", + "bowling-ball": "", + "chess": "", + "chess-bishop": "", + "chess-board": "", + "chess-king": "", + "chess-knight": "", + "chess-pawn": "", + "chess-queen": "", + "chess-rook": "", + "dumbbell": "", + "football": "", + "football-ball": "", + "golf-ball-tee": "", + "golf-ball": "", + "hockey-puck": "", + "broom-ball": "", + "quidditch": "", + "quidditch-broom-ball": "", + "square-full": "", + "table-tennis-paddle-ball": "", + "ping-pong-paddle-ball": "", + "table-tennis": "", + "volleyball": "", + "volleyball-ball": "", + "hand-dots": "", + "allergies": "", + "bandage": "", + "band-aid": "", + "box": "", + "boxes-stacked": "", + "boxes": "", + "boxes-alt": "", + "briefcase-medical": "", + "fire-flame-simple": "", + "burn": "", + "capsules": "", + "clipboard-check": "", + "clipboard-list": "", + "person-dots-from-line": "", + "diagnoses": "", + "dna": "", + "dolly": "", + "dolly-box": "", + "cart-flatbed": "", + "dolly-flatbed": "", + "file-medical": "", + "file-waveform": "", + "file-medical-alt": "", + "kit-medical": "", + "first-aid": "", + "circle-h": "", + "hospital-symbol": "", + "id-card-clip": "", + "id-card-alt": "", + "notes-medical": "", + "pallet": "", + "pills": "", + "prescription-bottle": "", + "prescription-bottle-medical": "", + "prescription-bottle-alt": "", + "bed-pulse": "", + "procedures": "", + "truck-fast": "", + "shipping-fast": "", + "smoking": "", + "syringe": "", + "tablets": "", + "thermometer": "", + "vial": "", + "vials": "", + "warehouse": "", + "weight-scale": "", + "weight": "", + "x-ray": "", + "box-open": "", + "comment-dots": "", + "commenting": "", + "comment-slash": "", + "couch": "", + "circle-dollar-to-slot": "", + "donate": "", + "dove": "", + "hand-holding": "", + "hand-holding-heart": "", + "hand-holding-dollar": "", + "hand-holding-usd": "", + "hand-holding-droplet": "", + "hand-holding-water": "", + "hands-holding": "", + "handshake-angle": "", + "hands-helping": "", + "parachute-box": "", + "people-carry-box": "", + "people-carry": "", + "piggy-bank": "", + "ribbon": "", + "route": "", + "seedling": "", + "sprout": "", + "sign-hanging": "", + "sign": "", + "face-smile-wink": "", + "smile-wink": "", + "tape": "", + "truck-ramp-box": "", + "truck-loading": "", + "truck-moving": "", + "video-slash": "", + "wine-glass": "", + "user-astronaut": "", + "user-check": "", + "user-clock": "", + "user-gear": "", + "user-cog": "", + "user-pen": "", + "user-edit": "", + "user-group": "", + "user-friends": "", + "user-graduate": "", + "user-lock": "", + "user-minus": "", + "user-ninja": "", + "user-shield": "", + "user-slash": "", + "user-alt-slash": "", + "user-large-slash": "", + "user-tag": "", + "user-tie": "", + "users-gear": "", + "users-cog": "", + "scale-unbalanced": "", + "balance-scale-left": "", + "scale-unbalanced-flip": "", + "balance-scale-right": "", + "blender": "", + "book-open": "", + "tower-broadcast": "", + "broadcast-tower": "", + "broom": "", + "chalkboard": "", + "blackboard": "", + "chalkboard-user": "", + "chalkboard-teacher": "", + "church": "", + "coins": "", + "compact-disc": "", + "crow": "", + "crown": "", + "dice": "", + "dice-five": "", + "dice-four": "", + "dice-one": "", + "dice-six": "", + "dice-three": "", + "dice-two": "", + "divide": "", + "door-closed": "", + "door-open": "", + "feather": "", + "frog": "", + "gas-pump": "", + "glasses": "", + "greater-than-equal": "", + "helicopter": "", + "infinity": "", + "kiwi-bird": "", + "less-than-equal": "", + "memory": "", + "microphone-lines-slash": "", + "microphone-alt-slash": "", + "money-bill-wave": "", + "money-bill-1-wave": "", + "money-bill-wave-alt": "", + "money-check": "", + "money-check-dollar": "", + "money-check-alt": "", + "not-equal": "", + "palette": "", + "square-parking": "", + "parking": "", + "diagram-project": "", + "project-diagram": "", + "receipt": "", + "robot": "", + "ruler": "", + "ruler-combined": "", + "ruler-horizontal": "", + "ruler-vertical": "", + "school": "", + "screwdriver": "", + "shoe-prints": "", + "skull": "", + "ban-smoking": "", + "smoking-ban": "", + "store": "", + "shop": "", + "store-alt": "", + "bars-staggered": "", + "reorder": "", + "stream": "", + "stroopwafel": "", + "toolbox": "", + "shirt": "", + "t-shirt": "", + "tshirt": "", + "person-walking": "", + "walking": "", + "wallet": "", + "face-angry": "", + "angry": "", + "archway": "", + "book-atlas": "", + "atlas": "", + "award": "", + "delete-left": "", + "backspace": "", + "bezier-curve": "", + "bong": "", + "brush": "", + "bus-simple": "", + "bus-alt": "", + "cannabis": "", + "check-double": "", + "martini-glass-citrus": "", + "cocktail": "", + "bell-concierge": "", + "concierge-bell": "", + "cookie": "", + "cookie-bite": "", + "crop-simple": "", + "crop-alt": "", + "tachograph-digital": "", + "digital-tachograph": "", + "face-dizzy": "", + "dizzy": "", + "compass-drafting": "", + "drafting-compass": "", + "drum": "", + "drum-steelpan": "", + "feather-pointed": "", + "feather-alt": "", + "file-contract": "", + "file-arrow-down": "", + "file-download": "", + "file-export": "", + "arrow-right-from-file": "", + "file-import": "", + "arrow-right-to-file": "", + "file-invoice": "", + "file-invoice-dollar": "", + "file-prescription": "", + "file-signature": "", + "file-arrow-up": "", + "file-upload": "", + "fill": "", + "fill-drip": "", + "fingerprint": "", + "fish": "", + "face-flushed": "", + "flushed": "", + "face-frown-open": "", + "frown-open": "", + "martini-glass": "", + "glass-martini-alt": "", + "earth-africa": "", + "globe-africa": "", + "earth-americas": "", + "earth": "", + "earth-america": "", + "globe-americas": "", + "earth-asia": "", + "globe-asia": "", + "face-grimace": "", + "grimace": "", + "face-grin": "", + "grin": "", + "face-grin-wide": "", + "grin-alt": "", + "face-grin-beam": "", + "grin-beam": "", + "face-grin-beam-sweat": "", + "grin-beam-sweat": "", + "face-grin-hearts": "", + "grin-hearts": "", + "face-grin-squint": "", + "grin-squint": "", + "face-grin-squint-tears": "", + "grin-squint-tears": "", + "face-grin-stars": "", + "grin-stars": "", + "face-grin-tears": "", + "grin-tears": "", + "face-grin-tongue": "", + "grin-tongue": "", + "face-grin-tongue-squint": "", + "grin-tongue-squint": "", + "face-grin-tongue-wink": "", + "grin-tongue-wink": "", + "face-grin-wink": "", + "grin-wink": "", + "grip": "", + "grid-horizontal": "", + "grip-horizontal": "", + "grip-vertical": "", + "grid-vertical": "", + "headset": "", + "highlighter": "", + "hot-tub-person": "", + "hot-tub": "", + "hotel": "", + "joint": "", + "face-kiss": "", + "kiss": "", + "face-kiss-beam": "", + "kiss-beam": "", + "face-kiss-wink-heart": "", + "kiss-wink-heart": "", + "face-laugh": "", + "laugh": "", + "face-laugh-beam": "", + "laugh-beam": "", + "face-laugh-squint": "", + "laugh-squint": "", + "face-laugh-wink": "", + "laugh-wink": "", + "cart-flatbed-suitcase": "", + "luggage-cart": "", + "map-location": "", + "map-marked": "", + "map-location-dot": "", + "map-marked-alt": "", + "marker": "", + "medal": "", + "face-meh-blank": "", + "meh-blank": "", + "face-rolling-eyes": "", + "meh-rolling-eyes": "", + "monument": "", + "mortar-pestle": "", + "paint-roller": "", + "passport": "", + "pen-fancy": "", + "pen-nib": "", + "pen-ruler": "", + "pencil-ruler": "", + "plane-arrival": "", + "plane-departure": "", + "prescription": "", + "face-sad-cry": "", + "sad-cry": "", + "face-sad-tear": "", + "sad-tear": "", + "van-shuttle": "", + "shuttle-van": "", + "signature": "", + "face-smile-beam": "", + "smile-beam": "", + "solar-panel": "", + "spa": "", + "lotus": "", + "splotch": "", + "spray-can": "", + "stamp": "", + "star-half-stroke": "", + "star-half-alt": "", + "suitcase-rolling": "", + "face-surprise": "", + "surprise": "", + "swatchbook": "", + "person-swimming": "", + "swimmer": "", + "water-ladder": "", + "ladder-water": "", + "swimming-pool": "", + "droplet-slash": "", + "tint-slash": "", + "face-tired": "", + "tired": "", + "tooth": "", + "umbrella-beach": "", + "weight-hanging": "", + "wine-glass-empty": "", + "wine-glass-alt": "", + "spray-can-sparkles": "", + "air-freshener": "", + "apple-whole": "", + "apple-alt": "", + "atom": "", + "bone": "", + "book-open-reader": "", + "book-reader": "", + "brain": "", + "car-rear": "", + "car-alt": "", + "car-battery": "", + "battery-car": "", + "car-burst": "", + "car-crash": "", + "car-side": "", + "charging-station": "", + "diamond-turn-right": "", + "directions": "", + "draw-polygon": "", + "vector-polygon": "", + "laptop-code": "", + "layer-group": "", + "location-crosshairs": "", + "location": "", + "lungs": "", + "microscope": "", + "oil-can": "", + "poop": "", + "shapes": "", + "triangle-circle-square": "", + "star-of-life": "", + "gauge": "", + "dashboard": "", + "gauge-med": "", + "tachometer-alt-average": "", + "gauge-high": "", + "tachometer-alt": "", + "tachometer-alt-fast": "", + "gauge-simple": "", + "gauge-simple-med": "", + "tachometer-average": "", + "gauge-simple-high": "", + "tachometer": "", + "tachometer-fast": "", + "teeth": "", + "teeth-open": "", + "masks-theater": "", + "theater-masks": "", + "traffic-light": "", + "truck-monster": "", + "truck-pickup": "", + "rectangle-ad": "", + "ad": "", + "ankh": "", + "book-bible": "", + "bible": "", + "business-time": "", + "briefcase-clock": "", + "city": "", + "comment-dollar": "", + "comments-dollar": "", + "cross": "", + "dharmachakra": "", + "envelope-open-text": "", + "folder-minus": "", + "folder-plus": "", + "filter-circle-dollar": "", + "funnel-dollar": "", + "gopuram": "", + "hamsa": "", + "bahai": "", + "haykal": "", + "jedi": "", + "book-journal-whills": "", + "journal-whills": "", + "kaaba": "", + "khanda": "", + "landmark": "", + "envelopes-bulk": "", + "mail-bulk": "", + "menorah": "", + "mosque": "", + "om": "", + "spaghetti-monster-flying": "", + "pastafarianism": "", + "peace": "", + "place-of-worship": "", + "square-poll-vertical": "", + "poll": "", + "square-poll-horizontal": "", + "poll-h": "", + "person-praying": "", + "pray": "", + "hands-praying": "", + "praying-hands": "", + "book-quran": "", + "quran": "", + "magnifying-glass-dollar": "", + "search-dollar": "", + "magnifying-glass-location": "", + "search-location": "", + "socks": "", + "square-root-variable": "", + "square-root-alt": "", + "star-and-crescent": "", + "star-of-david": "", + "synagogue": "", + "scroll-torah": "", + "torah": "", + "torii-gate": "", + "vihara": "", + "volume": "", + "volume-medium": "", + "volume-xmark": "", + "volume-mute": "", + "volume-times": "", + "yin-yang": "", + "blender-phone": "", + "book-skull": "", + "book-dead": "", + "campground": "", + "cat": "", + "chair": "", + "cloud-moon": "", + "cloud-sun": "", + "cow": "", + "dice-d20": "", + "dice-d6": "", + "dog": "", + "dragon": "", + "drumstick-bite": "", + "dungeon": "", + "file-csv": "", + "hand-fist": "", + "fist-raised": "", + "ghost": "", + "hammer": "", + "hanukiah": "", + "hat-wizard": "", + "person-hiking": "", + "hiking": "", + "hippo": "", + "horse": "", + "house-chimney-crack": "", + "house-damage": "", + "hryvnia-sign": "", + "hryvnia": "", + "mask": "", + "mountain": "", + "network-wired": "", + "otter": "", + "ring": "", + "person-running": "", + "running": "", + "scroll": "", + "skull-crossbones": "", + "slash": "", + "spider": "", + "toilet-paper": "", + "toilet-paper-alt": "", + "toilet-paper-blank": "", + "tractor": "", + "user-injured": "", + "vr-cardboard": "", + "wand-sparkles": "", + "wind": "", + "wine-bottle": "", + "cloud-meatball": "", + "cloud-moon-rain": "", + "cloud-rain": "", + "cloud-showers-heavy": "", + "cloud-sun-rain": "", + "democrat": "", + "flag-usa": "", + "hurricane": "", + "landmark-dome": "", + "landmark-alt": "", + "meteor": "", + "person-booth": "", + "poo-storm": "", + "poo-bolt": "", + "rainbow": "", + "republican": "", + "smog": "", + "temperature-high": "", + "temperature-low": "", + "cloud-bolt": "", + "thunderstorm": "", + "tornado": "", + "volcano": "", + "check-to-slot": "", + "vote-yea": "", + "water": "", + "baby": "", + "baby-carriage": "", + "carriage-baby": "", + "biohazard": "", + "blog": "", + "calendar-day": "", + "calendar-week": "", + "candy-cane": "", + "carrot": "", + "cash-register": "", + "minimize": "", + "compress-arrows-alt": "", + "dumpster": "", + "dumpster-fire": "", + "ethernet": "", + "gifts": "", + "champagne-glasses": "", + "glass-cheers": "", + "whiskey-glass": "", + "glass-whiskey": "", + "earth-europe": "", + "globe-europe": "", + "grip-lines": "", + "grip-lines-vertical": "", + "guitar": "", + "heart-crack": "", + "heart-broken": "", + "holly-berry": "", + "horse-head": "", + "icicles": "", + "igloo": "", + "mitten": "", + "mug-hot": "", + "radiation": "", + "circle-radiation": "", + "radiation-alt": "", + "restroom": "", + "satellite": "", + "satellite-dish": "", + "sd-card": "", + "sim-card": "", + "person-skating": "", + "skating": "", + "person-skiing": "", + "skiing": "", + "person-skiing-nordic": "", + "skiing-nordic": "", + "sleigh": "", + "comment-sms": "", + "sms": "", + "person-snowboarding": "", + "snowboarding": "", + "snowman": "", + "snowplow": "", + "tenge-sign": "", + "tenge": "", + "toilet": "", + "screwdriver-wrench": "", + "tools": "", + "cable-car": "", + "tram": "", + "fire-flame-curved": "", + "fire-alt": "", + "bacon": "", + "book-medical": "", + "bread-slice": "", + "cheese": "", + "house-chimney-medical": "", + "clinic-medical": "", + "clipboard-user": "", + "comment-medical": "", + "crutch": "", + "disease": "", + "egg": "", + "folder-tree": "", + "burger": "", + "hamburger": "", + "hand-middle-finger": "", + "helmet-safety": "", + "hard-hat": "", + "hat-hard": "", + "hospital-user": "", + "hotdog": "", + "ice-cream": "", + "laptop-medical": "", + "pager": "", + "pepper-hot": "", + "pizza-slice": "", + "sack-dollar": "", + "book-tanakh": "", + "tanakh": "", + "bars-progress": "", + "tasks-alt": "", + "trash-arrow-up": "", + "trash-restore": "", + "trash-can-arrow-up": "", + "trash-restore-alt": "", + "user-nurse": "", + "wave-square": "", + "person-biking": "", + "biking": "", + "border-all": "", + "border-none": "", + "border-top-left": "", + "border-style": "", + "person-digging": "", + "digging": "", + "fan": "", + "icons": "", + "heart-music-camera-bolt": "", + "phone-flip": "", + "phone-alt": "", + "square-phone-flip": "", + "phone-square-alt": "", + "photo-film": "", + "photo-video": "", + "text-slash": "", + "remove-format": "", + "arrow-down-z-a": "", + "sort-alpha-desc": "", + "sort-alpha-down-alt": "", + "arrow-up-z-a": "", + "sort-alpha-up-alt": "", + "arrow-down-short-wide": "", + "sort-amount-desc": "", + "sort-amount-down-alt": "", + "arrow-up-short-wide": "", + "sort-amount-up-alt": "", + "arrow-down-9-1": "", + "sort-numeric-desc": "", + "sort-numeric-down-alt": "", + "arrow-up-9-1": "", + "sort-numeric-up-alt": "", + "spell-check": "", + "voicemail": "", + "hat-cowboy": "", + "hat-cowboy-side": "", + "computer-mouse": "", + "mouse": "", + "radio": "", + "record-vinyl": "", + "walkie-talkie": "", + "caravan": "", + "firefox-browser": "", + "ideal": "", + "microblog": "", + "square-pied-piper": "", + "pied-piper-square": "", + "unity": "", + "dailymotion": "", + "square-instagram": "", + "instagram-square": "", + "mixer": "", + "shopify": "", + "deezer": "", + "edge-legacy": "", + "google-pay": "", + "rust": "", + "tiktok": "", + "unsplash": "", + "cloudflare": "", + "guilded": "", + "hive": "", + "42-group": "", + "innosoft": "", + "instalod": "", + "octopus-deploy": "", + "perbyte": "", + "uncharted": "", + "watchman-monitoring": "", + "wodu": "", + "wirsindhandwerk": "", + "wsh": "", + "bots": "", + "cmplid": "", + "bilibili": "", + "golang": "", + "pix": "", + "sitrox": "", + "hashnode": "", + "meta": "", + "padlet": "", + "nfc-directional": "", + "nfc-symbol": "", + "screenpal": "", + "space-awesome": "", + "square-font-awesome": "", + "square-gitlab": "", + "gitlab-square": "", + "odysee": "", + "stubber": "", + "debian": "", + "shoelace": "", + "threads": "", + "square-threads": "", + "square-x-twitter": "", + "x-twitter": "", + "opensuse": "", + "letterboxd": "", + "square-letterboxd": "", + "mintbit": "", + "google-scholar": "", + "brave": "", + "brave-reverse": "", + "pixiv": "", + "upwork": "", + "webflow": "", + "signal-messenger": "", + "bluesky": "", + "jxl": "", + "square-upwork": "", + "square-web-awesome": "", + "square-web-awesome-stroke": "", + "dart-lang": "", + "flutter": "", + "files-pinwheel": "", + "css": "", + "square-bluesky": "", + "openai": "", + "square-linkedin": "", + "cash-app": "", + "disqus": "", + "eleventy": "", + "11ty": "", + "kakao-talk": "", + "linktree": "", + "notion": "", + "pandora": "", + "pixelfed": "", + "tidal": "", + "vsco": "", + "w3c": "", + "lumon": "", + "lumon-drop": "", + "square-figma": "", + "tex": "", + "duolingo": "", + "supportnow": "", + "tor-browser": "", + "typescript": "", + "square-deskpro": "", + "circle-zulip": "", + "julia": "", + "zulip": "", + "unison": "", + "board-game-geek": "", + "bgg": "", + "ko-fi": "", + "kubernetes": "", + "postgresql": "", + "scaleway": "", + "venmo": "", + "venmo-v": "", + "unreal-engine": "", + "globaleaks": "", + "solana": "", + "threema": "", + "forgejo": "", + "claude": "", + "gitee": "", + "xmpp": "", + "fediverse": "", + "tailwind-css": "", + "arch-linux": "", + "svelte": "", + "hugging-face": "", + "leetcode": "", + "openstreetmap": "", + "ultralytics": "", + "ultralytics-hub": "", + "ultralytics-yolo": "", + "obsidian": "", + "zoom": "", + "vim": "", + "symfonycasts": "", + "build-awesome": "", + "codeberg": "", + "devpost": "", + "internet-archive": "", + "lets-encrypt": "", + "matrix": "", + "mattermost": "", + "nextcloud": "", + "roblox-creator-studio": "", + "square-build-awesome-stroke": "", + "substack": "", + "tesla": "", + "xrp": "", + "xrpl": "", + "youtube-shorts": "", + "ror": "", + "square-twitter": "", + "twitter-square": "", + "square-facebook": "", + "facebook-square": "", + "linkedin": "", + "square-github": "", + "github-square": "", + "twitter": "", + "facebook": "", + "github": "", + "pinterest": "", + "square-pinterest": "", + "pinterest-square": "", + "square-google-plus": "", + "google-plus-square": "", + "google-plus-g": "", + "linkedin-in": "", + "github-alt": "", + "maxcdn": "", + "html5": "", + "css3": "", + "btc": "", + "youtube": "", + "xing": "", + "square-xing": "", + "xing-square": "", + "dropbox": "", + "stack-overflow": "", + "instagram": "", + "flickr": "", + "adn": "", + "bitbucket": "", + "tumblr": "", + "square-tumblr": "", + "tumblr-square": "", + "apple": "", + "windows": "", + "android": "", + "linux": "", + "dribbble": "", + "skype": "", + "foursquare": "", + "trello": "", + "gratipay": "", + "vk": "", + "weibo": "", + "renren": "", + "pagelines": "", + "stack-exchange": "", + "square-vimeo": "", + "vimeo-square": "", + "slack": "", + "slack-hash": "", + "wordpress": "", + "openid": "", + "yahoo": "", + "google": "", + "reddit": "", + "square-reddit": "", + "reddit-square": "", + "stumbleupon-circle": "", + "stumbleupon": "", + "delicious": "", + "digg": "", + "pied-piper-pp": "", + "pied-piper-alt": "", + "drupal": "", + "joomla": "", + "behance": "", + "square-behance": "", + "behance-square": "", + "steam": "", + "square-steam": "", + "steam-square": "", + "spotify": "", + "deviantart": "", + "soundcloud": "", + "vine": "", + "codepen": "", + "jsfiddle": "", + "rebel": "", + "empire": "", + "square-git": "", + "git-square": "", + "git": "", + "hacker-news": "", + "tencent-weibo": "", + "qq": "", + "weixin": "", + "slideshare": "", + "twitch": "", + "yelp": "", + "paypal": "", + "google-wallet": "", + "cc-visa": "", + "cc-mastercard": "", + "cc-discover": "", + "cc-amex": "", + "cc-paypal": "", + "cc-stripe": "", + "lastfm": "", + "square-lastfm": "", + "lastfm-square": "", + "ioxhost": "", + "angellist": "", + "buysellads": "", + "connectdevelop": "", + "dashcube": "", + "forumbee": "", + "leanpub": "", + "sellsy": "", + "shirtsinbulk": "", + "simplybuilt": "", + "skyatlas": "", + "pinterest-p": "", + "whatsapp": "", + "viacoin": "", + "medium": "", + "medium-m": "", + "y-combinator": "", + "optin-monster": "", + "opencart": "", + "expeditedssl": "", + "cc-jcb": "", + "cc-diners-club": "", + "creative-commons": "", + "gg": "", + "gg-circle": "", + "odnoklassniki": "", + "square-odnoklassniki": "", + "odnoklassniki-square": "", + "get-pocket": "", + "wikipedia-w": "", + "safari": "", + "chrome": "", + "firefox": "", + "opera": "", + "internet-explorer": "", + "contao": "", + "500px": "", + "amazon": "", + "houzz": "", + "vimeo-v": "", + "black-tie": "", + "fonticons": "", + "reddit-alien": "", + "edge": "", + "codiepie": "", + "modx": "", + "fort-awesome": "", + "usb": "", + "product-hunt": "", + "mixcloud": "", + "scribd": "", + "bluetooth": "", + "bluetooth-b": "", + "gitlab": "", + "wpbeginner": "", + "wpforms": "", + "envira": "", + "glide": "", + "glide-g": "", + "viadeo": "", + "square-viadeo": "", + "viadeo-square": "", + "snapchat": "", + "snapchat-ghost": "", + "square-snapchat": "", + "snapchat-square": "", + "pied-piper": "", + "first-order": "", + "yoast": "", + "themeisle": "", + "google-plus": "", + "linode": "", + "quora": "", + "free-code-camp": "", + "telegram": "", + "telegram-plane": "", + "bandcamp": "", + "grav": "", + "etsy": "", + "imdb": "", + "ravelry": "", + "sellcast": "", + "superpowers": "", + "wpexplorer": "", + "meetup": "", + "square-font-awesome-stroke": "", + "font-awesome-alt": "", + "accessible-icon": "", + "accusoft": "", + "adversal": "", + "affiliatetheme": "", + "algolia": "", + "amilia": "", + "angrycreative": "", + "app-store": "", + "app-store-ios": "", + "apper": "", + "asymmetrik": "", + "audible": "", + "avianex": "", + "aws": "", + "bimobject": "", + "bitcoin": "", + "bity": "", + "blackberry": "", + "blogger": "", + "blogger-b": "", + "buromobelexperte": "", + "centercode": "", + "cloudscale": "", + "cloudsmith": "", + "cloudversify": "", + "cpanel": "", + "css3-alt": "", + "cuttlefish": "", + "d-and-d": "", + "deploydog": "", + "deskpro": "", + "digital-ocean": "", + "discord": "", + "discourse": "", + "dochub": "", + "docker": "", + "draft2digital": "", + "square-dribbble": "", + "dribbble-square": "", + "dyalog": "", + "earlybirds": "", + "erlang": "", + "facebook-f": "", + "facebook-messenger": "", + "firstdraft": "", + "fonticons-fi": "", + "fort-awesome-alt": "", + "freebsd": "", + "gitkraken": "", + "gofore": "", + "goodreads": "", + "goodreads-g": "", + "google-drive": "", + "google-play": "", + "gripfire": "", + "grunt": "", + "gulp": "", + "square-hacker-news": "", + "hacker-news-square": "", + "hire-a-helper": "", + "hotjar": "", + "hubspot": "", + "itunes": "", + "itunes-note": "", + "jenkins": "", + "joget": "", + "js": "", + "square-js": "", + "js-square": "", + "keycdn": "", + "kickstarter": "", + "square-kickstarter": "", + "kickstarter-k": "", + "laravel": "", + "line": "", + "lyft": "", + "magento": "", + "medapps": "", + "medrt": "", + "microsoft": "", + "mix": "", + "mizuni": "", + "monero": "", + "napster": "", + "node-js": "", + "npm": "", + "ns8": "", + "nutritionix": "", + "page4": "", + "palfed": "", + "patreon": "", + "periscope": "", + "phabricator": "", + "phoenix-framework": "", + "playstation": "", + "pushed": "", + "python": "", + "red-river": "", + "wpressr": "", + "rendact": "", + "replyd": "", + "resolving": "", + "rocketchat": "", + "rockrms": "", + "schlix": "", + "searchengin": "", + "servicestack": "", + "sistrix": "", + "speakap": "", + "staylinked": "", + "steam-symbol": "", + "sticker-mule": "", + "studiovinari": "", + "supple": "", + "uber": "", + "uikit": "", + "uniregistry": "", + "untappd": "", + "ussunnah": "", + "vaadin": "", + "viber": "", + "vimeo": "", + "vnv": "", + "square-whatsapp": "", + "whatsapp-square": "", + "whmcs": "", + "wordpress-simple": "", + "xbox": "", + "yandex": "", + "yandex-international": "", + "apple-pay": "", + "cc-apple-pay": "", + "fly": "", + "node": "", + "osi": "", + "react": "", + "autoprefixer": "", + "less": "", + "sass": "", + "vuejs": "", + "angular": "", + "aviato": "", + "ember": "", + "gitter": "", + "hooli": "", + "strava": "", + "stripe": "", + "stripe-s": "", + "typo3": "", + "amazon-pay": "", + "cc-amazon-pay": "", + "ethereum": "", + "korvue": "", + "elementor": "", + "square-youtube": "", + "youtube-square": "", + "flipboard": "", + "hips": "", + "php": "", + "quinscape": "", + "readme": "", + "java": "", + "pied-piper-hat": "", + "creative-commons-by": "", + "creative-commons-nc": "", + "creative-commons-nc-eu": "", + "creative-commons-nc-jp": "", + "creative-commons-nd": "", + "creative-commons-pd": "", + "creative-commons-pd-alt": "", + "creative-commons-remix": "", + "creative-commons-sa": "", + "creative-commons-sampling": "", + "creative-commons-sampling-plus": "", + "creative-commons-share": "", + "creative-commons-zero": "", + "ebay": "", + "keybase": "", + "mastodon": "", + "r-project": "", + "researchgate": "", + "teamspeak": "", + "first-order-alt": "", + "fulcrum": "", + "galactic-republic": "", + "galactic-senate": "", + "jedi-order": "", + "mandalorian": "", + "old-republic": "", + "phoenix-squadron": "", + "sith": "", + "trade-federation": "", + "wolf-pack-battalion": "", + "hornbill": "", + "mailchimp": "", + "megaport": "", + "nimblr": "", + "rev": "", + "shopware": "", + "squarespace": "", + "themeco": "", + "weebly": "", + "wix": "", + "ello": "", + "hackerrank": "", + "kaggle": "", + "markdown": "", + "neos": "", + "zhihu": "", + "alipay": "", + "the-red-yeti": "", + "critical-role": "", + "d-and-d-beyond": "", + "dev": "", + "fantasy-flight-games": "", + "wizards-of-the-coast": "", + "think-peaks": "", + "reacteurope": "", + "artstation": "", + "atlassian": "", + "canadian-maple-leaf": "", + "centos": "", + "confluence": "", + "dhl": "", + "diaspora": "", + "fedex": "", + "fedora": "", + "figma": "", + "intercom": "", + "invision": "", + "jira": "", + "mendeley": "", + "raspberry-pi": "", + "redhat": "", + "sketch": "", + "sourcetree": "", + "suse": "", + "ubuntu": "", + "ups": "", + "usps": "", + "yarn": "", + "airbnb": "", + "battle-net": "", + "bootstrap": "", + "buffer": "", + "chromecast": "", + "evernote": "", + "itch-io": "", + "salesforce": "", + "speaker-deck": "", + "symfony": "", + "waze": "", + "yammer": "", + "git-alt": "", + "stackpath": "", + "cotton-bureau": "", + "buy-n-large": "", + "mdb": "", + "orcid": "", + "swift": "", + "umbraco": "" +} diff --git a/uniapp/vite.config.js b/uniapp/vite.config.js index 6d3b7b6..ecb6bf2 100644 --- a/uniapp/vite.config.js +++ b/uniapp/vite.config.js @@ -1,28 +1,16 @@ -import { defineConfig } from "vite"; -import uni from "@dcloudio/vite-plugin-uni"; -import { visualizer } from "rollup-plugin-visualizer"; -import { uviewPlus } from "uview-plus/vite-plugin"; +import { defineConfig } from 'vite' + import uni from '@dcloudio/vite-plugin-uni' -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - uni(), - uviewPlus({ appFontLocal: true }), - visualizer() - ], - css: { - preprocessorOptions: { - scss: { - // 取消sass废弃API的报警 - silenceDeprecations: ['legacy-js-api', 'color-functions', 'import'], - }, - }, - }, - server: { - port: 5100, - fs: { - // Allow serving files from one level up to the project root - allow: ['..'] + export default defineConfig({ + plugins: [ + uni() + ], + css: { + preprocessorOptions: { + scss: { + // 关闭废弃 API 警告 + silenceDeprecations: ['legacy-js-api', 'color-functions', 'import'], + } + } } -}, -}); \ No newline at end of file + })