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/.vs/VSWorkspaceState.json b/.vs/VSWorkspaceState.json new file mode 100644 index 0000000..6b61141 --- /dev/null +++ b/.vs/VSWorkspaceState.json @@ -0,0 +1,6 @@ +{ + "ExpandedNodes": [ + "" + ], + "PreviewInSolutionExplorer": false +} \ No newline at end of file diff --git a/.vs/foresight-frontend/FileContentIndex/0fc74fad-574a-461a-a2f4-c8e6366ad85d.vsidx b/.vs/foresight-frontend/FileContentIndex/0fc74fad-574a-461a-a2f4-c8e6366ad85d.vsidx new file mode 100644 index 0000000..1ea048a Binary files /dev/null and b/.vs/foresight-frontend/FileContentIndex/0fc74fad-574a-461a-a2f4-c8e6366ad85d.vsidx differ diff --git a/.vs/foresight-frontend/FileContentIndex/read.lock b/.vs/foresight-frontend/FileContentIndex/read.lock new file mode 100644 index 0000000..e69de29 diff --git a/.vs/slnx.sqlite b/.vs/slnx.sqlite new file mode 100644 index 0000000..02a6d21 Binary files /dev/null and b/.vs/slnx.sqlite differ diff --git a/Foresigt.svg b/Foresigt.svg new file mode 100644 index 0000000..afeb669 --- /dev/null +++ b/Foresigt.svg @@ -0,0 +1,3 @@ + + + diff --git a/README.en.md b/README.en.md new file mode 100644 index 0000000..93c98d4 --- /dev/null +++ b/README.en.md @@ -0,0 +1,25 @@ +# Foresight + +## Introduction +Foresight official website + + +### Npm install + +Install the dependency packages needed to run +``` +npm i +``` + +### Run + +``` +npm run dev +``` + + +### Pack + +``` +npm run build +``` \ No newline at end of file diff --git a/README.md b/README.md index e69de29..7dc6680 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,25 @@ +# Foresight + +## 介绍 +Foresight 官网 + + +### 安装依赖 + +安装运行所需要的依赖包 +``` +npm i +``` + +### 运行 + +``` +npm run dev +``` + + +### 打包 + +``` +npm run build +``` \ No newline at end of file diff --git a/foresightVertures.zip b/foresightVertures.zip new file mode 100644 index 0000000..3023b5e Binary files /dev/null and b/foresightVertures.zip differ diff --git a/index.html b/index.html new file mode 100644 index 0000000..b42e459 --- /dev/null +++ b/index.html @@ -0,0 +1,13 @@ + + + + + + + Foresight + + +
+ + + diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..301e33c --- /dev/null +++ b/package-lock.json @@ -0,0 +1,1025 @@ +{ + "name": "foresight", + "version": "0.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@antfu/utils": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/@antfu/utils/-/utils-0.6.2.tgz", + "integrity": "sha512-Qdwda+qE1KOKXuM8Gnn09zIJSA293J5putdHBx4J9sdbHzqp5QY4OmH77KgwJoi0PuY+kbddkVVdkSoZ9ruiug==", + "dev": true + }, + "@babel/parser": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.0.tgz", + "integrity": "sha512-G9VgAhEaICnz8iiJeGJQyVl6J2nTjbW0xeisva0PK6XcKsga7BIaqm4ZF8Rg1Wbaqmy6znspNqhPaPkyukujzg==" + }, + "@esbuild/android-arm": { + "version": "0.15.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.15.12.tgz", + "integrity": "sha512-IC7TqIqiyE0MmvAhWkl/8AEzpOtbhRNDo7aph47We1NbE5w2bt/Q+giAhe0YYeVpYnIhGMcuZY92qDK6dQauvA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-loong64": { + "version": "0.15.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.15.12.tgz", + "integrity": "sha512-tZEowDjvU7O7I04GYvWQOS4yyP9E/7YlsB0jjw1Ycukgr2ycEzKyIk5tms5WnLBymaewc6VmRKnn5IJWgK4eFw==", + "dev": true, + "optional": true + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@rollup/pluginutils": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.2.tgz", + "integrity": "sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==", + "dev": true, + "requires": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + }, + "dependencies": { + "@types/estree": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz", + "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==", + "dev": true + } + } + }, + "@vant/icons": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@vant/icons/-/icons-1.8.0.tgz", + "integrity": "sha512-sKfEUo2/CkQFuERxvkuF6mGQZDKu3IQdj5rV9Fm0weJXtchDSSQ+zt8qPCNUEhh9Y8shy5PzxbvAfOOkCwlCXg==" + }, + "@vant/popperjs": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@vant/popperjs/-/popperjs-1.3.0.tgz", + "integrity": "sha512-hB+czUG+aHtjhaEmCJDuXOep0YTZjdlRR+4MSmIFnkCQIxJaXLQdSsR90XWvAI2yvKUI7TCGqR8pQg2RtvkMHw==" + }, + "@vant/use": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@vant/use/-/use-1.4.3.tgz", + "integrity": "sha512-rSnETN7P9qT1WbItMpQxBqe3cHeK2ZFYp1sCxWUXaTeI71TqA8sOdzC36ledZ36NQgFNTch9fsRPYOkrCgZfQA==" + }, + "@vitejs/plugin-vue": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-3.2.0.tgz", + "integrity": "sha512-E0tnaL4fr+qkdCNxJ+Xd0yM31UwMkQje76fsDVBBUCoGOUPexu2VDUYHL8P4CwV+zMvWw6nlRw19OnRKmYAJpw==", + "dev": true + }, + "@vue/compiler-core": { + "version": "3.2.41", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.41.tgz", + "integrity": "sha512-oA4mH6SA78DT+96/nsi4p9DX97PHcNROxs51lYk7gb9Z4BPKQ3Mh+BLn6CQZBw857Iuhu28BfMSRHAlPvD4vlw==", + "requires": { + "@babel/parser": "^7.16.4", + "@vue/shared": "3.2.41", + "estree-walker": "^2.0.2", + "source-map": "^0.6.1" + } + }, + "@vue/compiler-dom": { + "version": "3.2.41", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.41.tgz", + "integrity": "sha512-xe5TbbIsonjENxJsYRbDJvthzqxLNk+tb3d/c47zgREDa/PCp6/Y4gC/skM4H6PIuX5DAxm7fFJdbjjUH2QTMw==", + "requires": { + "@vue/compiler-core": "3.2.41", + "@vue/shared": "3.2.41" + } + }, + "@vue/compiler-sfc": { + "version": "3.2.41", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.41.tgz", + "integrity": "sha512-+1P2m5kxOeaxVmJNXnBskAn3BenbTmbxBxWOtBq3mQTCokIreuMULFantBUclP0+KnzNCMOvcnKinqQZmiOF8w==", + "requires": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.41", + "@vue/compiler-dom": "3.2.41", + "@vue/compiler-ssr": "3.2.41", + "@vue/reactivity-transform": "3.2.41", + "@vue/shared": "3.2.41", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7", + "postcss": "^8.1.10", + "source-map": "^0.6.1" + } + }, + "@vue/compiler-ssr": { + "version": "3.2.41", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.41.tgz", + "integrity": "sha512-Y5wPiNIiaMz/sps8+DmhaKfDm1xgj6GrH99z4gq2LQenfVQcYXmHIOBcs5qPwl7jaW3SUQWjkAPKMfQemEQZwQ==", + "requires": { + "@vue/compiler-dom": "3.2.41", + "@vue/shared": "3.2.41" + } + }, + "@vue/devtools-api": { + "version": "6.4.5", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.4.5.tgz", + "integrity": "sha512-JD5fcdIuFxU4fQyXUu3w2KpAJHzTVdN+p4iOX2lMWSHMOoQdMAcpFLZzm9Z/2nmsoZ1a96QEhZ26e50xLBsgOQ==" + }, + "@vue/reactivity": { + "version": "3.2.41", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.41.tgz", + "integrity": "sha512-9JvCnlj8uc5xRiQGZ28MKGjuCoPhhTwcoAdv3o31+cfGgonwdPNuvqAXLhlzu4zwqavFEG5tvaoINQEfxz+l6g==", + "requires": { + "@vue/shared": "3.2.41" + } + }, + "@vue/reactivity-transform": { + "version": "3.2.41", + "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.41.tgz", + "integrity": "sha512-mK5+BNMsL4hHi+IR3Ft/ho6Za+L3FA5j8WvreJ7XzHrqkPq8jtF/SMo7tuc9gHjLDwKZX1nP1JQOKo9IEAn54A==", + "requires": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.41", + "@vue/shared": "3.2.41", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7" + } + }, + "@vue/runtime-core": { + "version": "3.2.41", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.41.tgz", + "integrity": "sha512-0LBBRwqnI0p4FgIkO9q2aJBBTKDSjzhnxrxHYengkAF6dMOjeAIZFDADAlcf2h3GDALWnblbeprYYpItiulSVQ==", + "requires": { + "@vue/reactivity": "3.2.41", + "@vue/shared": "3.2.41" + } + }, + "@vue/runtime-dom": { + "version": "3.2.41", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.41.tgz", + "integrity": "sha512-U7zYuR1NVIP8BL6jmOqmapRAHovEFp7CSw4pR2FacqewXNGqZaRfHoNLQsqQvVQ8yuZNZtxSZy0FFyC70YXPpA==", + "requires": { + "@vue/runtime-core": "3.2.41", + "@vue/shared": "3.2.41", + "csstype": "^2.6.8" + } + }, + "@vue/server-renderer": { + "version": "3.2.41", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.41.tgz", + "integrity": "sha512-7YHLkfJdTlsZTV0ae5sPwl9Gn/EGr2hrlbcS/8naXm2CDpnKUwC68i1wGlrYAfIgYWL7vUZwk2GkYLQH5CvFig==", + "requires": { + "@vue/compiler-ssr": "3.2.41", + "@vue/shared": "3.2.41" + } + }, + "@vue/shared": { + "version": "3.2.41", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.41.tgz", + "integrity": "sha512-W9mfWLHmJhkfAmV+7gDjcHeAWALQtgGT3JErxULl0oz6R6+3ug91I7IErs93eCFhPCZPHBs4QJS7YWEV7A3sxw==" + }, + "acorn": { + "version": "8.8.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", + "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==", + "dev": true + }, + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "autoprefixer": { + "version": "10.4.13", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.13.tgz", + "integrity": "sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==", + "requires": { + "browserslist": "^4.21.4", + "caniuse-lite": "^1.0.30001426", + "fraction.js": "^4.2.0", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + } + }, + "axios": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.1.3.tgz", + "integrity": "sha512-00tXVRwKx/FZr/IDVFt4C+f9FYairX517WoGCL6dpOntqLkZofjhu43F/Xl44UOpqa+9sLFDrG/XAnFsUYgkDA==", + "requires": { + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" + }, + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "browserslist": { + "version": "4.21.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", + "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", + "requires": { + "caniuse-lite": "^1.0.30001400", + "electron-to-chromium": "^1.4.251", + "node-releases": "^2.0.6", + "update-browserslist-db": "^1.0.9" + } + }, + "caniuse-lite": { + "version": "1.0.30001427", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001427.tgz", + "integrity": "sha512-lfXQ73oB9c8DP5Suxaszm+Ta2sr/4tf8+381GkIm1MLj/YdLf+rEDyDSRCzeltuyTVGm+/s18gdZ0q+Wmp8VsQ==" + }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + } + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "csstype": { + "version": "2.6.21", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz", + "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==" + }, + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + }, + "electron-to-chromium": { + "version": "1.4.284", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", + "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==" + }, + "esbuild": { + "version": "0.15.12", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.12.tgz", + "integrity": "sha512-PcT+/wyDqJQsRVhaE9uX/Oq4XLrFh0ce/bs2TJh4CSaw9xuvI+xFrH2nAYOADbhQjUgAhNWC5LKoUsakm4dxng==", + "dev": true, + "requires": { + "@esbuild/android-arm": "0.15.12", + "@esbuild/linux-loong64": "0.15.12", + "esbuild-android-64": "0.15.12", + "esbuild-android-arm64": "0.15.12", + "esbuild-darwin-64": "0.15.12", + "esbuild-darwin-arm64": "0.15.12", + "esbuild-freebsd-64": "0.15.12", + "esbuild-freebsd-arm64": "0.15.12", + "esbuild-linux-32": "0.15.12", + "esbuild-linux-64": "0.15.12", + "esbuild-linux-arm": "0.15.12", + "esbuild-linux-arm64": "0.15.12", + "esbuild-linux-mips64le": "0.15.12", + "esbuild-linux-ppc64le": "0.15.12", + "esbuild-linux-riscv64": "0.15.12", + "esbuild-linux-s390x": "0.15.12", + "esbuild-netbsd-64": "0.15.12", + "esbuild-openbsd-64": "0.15.12", + "esbuild-sunos-64": "0.15.12", + "esbuild-windows-32": "0.15.12", + "esbuild-windows-64": "0.15.12", + "esbuild-windows-arm64": "0.15.12" + } + }, + "esbuild-android-64": { + "version": "0.15.12", + "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.15.12.tgz", + "integrity": "sha512-MJKXwvPY9g0rGps0+U65HlTsM1wUs9lbjt5CU19RESqycGFDRijMDQsh68MtbzkqWSRdEtiKS1mtPzKneaAI0Q==", + "dev": true, + "optional": true + }, + "esbuild-android-arm64": { + "version": "0.15.12", + "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.15.12.tgz", + "integrity": "sha512-Hc9SEcZbIMhhLcvhr1DH+lrrec9SFTiRzfJ7EGSBZiiw994gfkVV6vG0sLWqQQ6DD7V4+OggB+Hn0IRUdDUqvA==", + "dev": true, + "optional": true + }, + "esbuild-darwin-64": { + "version": "0.15.12", + "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.15.12.tgz", + "integrity": "sha512-qkmqrTVYPFiePt5qFjP8w/S+GIUMbt6k8qmiPraECUWfPptaPJUGkCKrWEfYFRWB7bY23FV95rhvPyh/KARP8Q==", + "dev": true, + "optional": true + }, + "esbuild-darwin-arm64": { + "version": "0.15.12", + "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.12.tgz", + "integrity": "sha512-z4zPX02tQ41kcXMyN3c/GfZpIjKoI/BzHrdKUwhC/Ki5BAhWv59A9M8H+iqaRbwpzYrYidTybBwiZAIWCLJAkw==", + "dev": true, + "optional": true + }, + "esbuild-freebsd-64": { + "version": "0.15.12", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.12.tgz", + "integrity": "sha512-XFL7gKMCKXLDiAiBjhLG0XECliXaRLTZh6hsyzqUqPUf/PY4C6EJDTKIeqqPKXaVJ8+fzNek88285krSz1QECw==", + "dev": true, + "optional": true + }, + "esbuild-freebsd-arm64": { + "version": "0.15.12", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.12.tgz", + "integrity": "sha512-jwEIu5UCUk6TjiG1X+KQnCGISI+ILnXzIzt9yDVrhjug2fkYzlLbl0K43q96Q3KB66v6N1UFF0r5Ks4Xo7i72g==", + "dev": true, + "optional": true + }, + "esbuild-linux-32": { + "version": "0.15.12", + "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.15.12.tgz", + "integrity": "sha512-uSQuSEyF1kVzGzuIr4XM+v7TPKxHjBnLcwv2yPyCz8riV8VUCnO/C4BF3w5dHiVpCd5Z1cebBtZJNlC4anWpwA==", + "dev": true, + "optional": true + }, + "esbuild-linux-64": { + "version": "0.15.12", + "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.15.12.tgz", + "integrity": "sha512-QcgCKb7zfJxqT9o5z9ZUeGH1k8N6iX1Y7VNsEi5F9+HzN1OIx7ESxtQXDN9jbeUSPiRH1n9cw6gFT3H4qbdvcA==", + "dev": true, + "optional": true + }, + "esbuild-linux-arm": { + "version": "0.15.12", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.15.12.tgz", + "integrity": "sha512-Wf7T0aNylGcLu7hBnzMvsTfEXdEdJY/hY3u36Vla21aY66xR0MS5I1Hw8nVquXjTN0A6fk/vnr32tkC/C2lb0A==", + "dev": true, + "optional": true + }, + "esbuild-linux-arm64": { + "version": "0.15.12", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.12.tgz", + "integrity": "sha512-HtNq5xm8fUpZKwWKS2/YGwSfTF+339L4aIA8yphNKYJckd5hVdhfdl6GM2P3HwLSCORS++++7++//ApEwXEuAQ==", + "dev": true, + "optional": true + }, + "esbuild-linux-mips64le": { + "version": "0.15.12", + "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.12.tgz", + "integrity": "sha512-Qol3+AvivngUZkTVFgLpb0H6DT+N5/zM3V1YgTkryPYFeUvuT5JFNDR3ZiS6LxhyF8EE+fiNtzwlPqMDqVcc6A==", + "dev": true, + "optional": true + }, + "esbuild-linux-ppc64le": { + "version": "0.15.12", + "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.12.tgz", + "integrity": "sha512-4D8qUCo+CFKaR0cGXtGyVsOI7w7k93Qxb3KFXWr75An0DHamYzq8lt7TNZKoOq/Gh8c40/aKaxvcZnTgQ0TJNg==", + "dev": true, + "optional": true + }, + "esbuild-linux-riscv64": { + "version": "0.15.12", + "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.12.tgz", + "integrity": "sha512-G9w6NcuuCI6TUUxe6ka0enjZHDnSVK8bO+1qDhMOCtl7Tr78CcZilJj8SGLN00zO5iIlwNRZKHjdMpfFgNn1VA==", + "dev": true, + "optional": true + }, + "esbuild-linux-s390x": { + "version": "0.15.12", + "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.12.tgz", + "integrity": "sha512-Lt6BDnuXbXeqSlVuuUM5z18GkJAZf3ERskGZbAWjrQoi9xbEIsj/hEzVnSAFLtkfLuy2DE4RwTcX02tZFunXww==", + "dev": true, + "optional": true + }, + "esbuild-netbsd-64": { + "version": "0.15.12", + "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.12.tgz", + "integrity": "sha512-jlUxCiHO1dsqoURZDQts+HK100o0hXfi4t54MNRMCAqKGAV33JCVvMplLAa2FwviSojT/5ZG5HUfG3gstwAG8w==", + "dev": true, + "optional": true + }, + "esbuild-openbsd-64": { + "version": "0.15.12", + "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.12.tgz", + "integrity": "sha512-1o1uAfRTMIWNOmpf8v7iudND0L6zRBYSH45sofCZywrcf7NcZA+c7aFsS1YryU+yN7aRppTqdUK1PgbZVaB1Dw==", + "dev": true, + "optional": true + }, + "esbuild-sunos-64": { + "version": "0.15.12", + "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.15.12.tgz", + "integrity": "sha512-nkl251DpoWoBO9Eq9aFdoIt2yYmp4I3kvQjba3jFKlMXuqQ9A4q+JaqdkCouG3DHgAGnzshzaGu6xofGcXyPXg==", + "dev": true, + "optional": true + }, + "esbuild-windows-32": { + "version": "0.15.12", + "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.15.12.tgz", + "integrity": "sha512-WlGeBZHgPC00O08luIp5B2SP4cNCp/PcS+3Pcg31kdcJPopHxLkdCXtadLU9J82LCfw4TVls21A6lilQ9mzHrw==", + "dev": true, + "optional": true + }, + "esbuild-windows-64": { + "version": "0.15.12", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.15.12.tgz", + "integrity": "sha512-VActO3WnWZSN//xjSfbiGOSyC+wkZtI8I4KlgrTo5oHJM6z3MZZBCuFaZHd8hzf/W9KPhF0lY8OqlmWC9HO5AA==", + "dev": true, + "optional": true + }, + "esbuild-windows-arm64": { + "version": "0.15.12", + "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.12.tgz", + "integrity": "sha512-Of3MIacva1OK/m4zCNIvBfz8VVROBmQT+gRX6pFTLPngFYcj6TFH/12VveAqq1k9VB2l28EoVMNMUCcmsfwyuA==", + "dev": true, + "optional": true + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + }, + "estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + }, + "fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + } + }, + "fastq": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "follow-redirects": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" + }, + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "fraction.js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", + "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==" + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "requires": { + "is-glob": "^4.0.1" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "immutable": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.1.0.tgz", + "integrity": "sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==" + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-core-module": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "klona": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz", + "integrity": "sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==" + }, + "less-loader": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-11.1.0.tgz", + "integrity": "sha512-C+uDBV7kS7W5fJlUjq5mPBeBVhYpTIm5gB09APT9o3n/ILeaXVsiSFTbZpTJCJwQ/Crczfn3DmfQFwxYusWFug==", + "requires": { + "klona": "^2.0.4" + } + }, + "lib-flexible": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/lib-flexible/-/lib-flexible-0.3.2.tgz", + "integrity": "sha512-9yowMWA70tKhKdCJDaltY0mNQG4OWo7pWKScnTp9aiSxS7s20ZYlwBRE3335nweOf5qKXVC7sDxJwMPM8/MFZg==" + }, + "local-pkg": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.2.tgz", + "integrity": "sha512-mlERgSPrbxU3BP4qBqAvvwlgW4MTg78iwJdGGnv7kibKjWcJksrG3t6LB5lXI93wXRDvG4NpUgJFmTG4T6rdrg==", + "dev": true + }, + "magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "requires": { + "sourcemap-codec": "^1.4.8" + } + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "requires": { + "mime-db": "1.52.0" + } + }, + "minimatch": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", + "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "nanoid": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==" + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + }, + "node-releases": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", + "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==" + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==" + }, + "ometa": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/ometa/-/ometa-0.2.2.tgz", + "integrity": "sha512-LZuoK/yjU3FvrxPjUXUlZ1bavCfBPqauA7fsNdwi+AVhRdyk2IzgP3JRnevvjzQ6fKHdUw8YISshf53FmpHrng==" + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" + }, + "postcss": { + "version": "8.4.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.18.tgz", + "integrity": "sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA==", + "requires": { + "nanoid": "^3.3.4", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + } + }, + "postcss-pxtorem": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-pxtorem/-/postcss-pxtorem-6.0.0.tgz", + "integrity": "sha512-ZRXrD7MLLjLk2RNGV6UA4f5Y7gy+a/j1EqjAfp9NdcNYVjUMvg5HTYduTjSkKBkRkfqbg/iKrjMO70V4g1LZeg==" + }, + "postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + }, + "proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "requires": { + "picomatch": "^2.2.1" + } + }, + "resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "dev": true, + "requires": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "rollup": { + "version": "2.79.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", + "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", + "dev": true, + "requires": { + "fsevents": "~2.3.2" + } + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "sass": { + "version": "1.55.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.55.0.tgz", + "integrity": "sha512-Pk+PMy7OGLs9WaxZGJMn7S96dvlyVBwwtToX895WmCpAOr5YiJYEUJfiJidMuKb613z2xNWcXCHEuOvjZbqC6A==", + "requires": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + } + }, + "sass-loader": { + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-13.1.0.tgz", + "integrity": "sha512-tZS1RJQ2n2+QNyf3CCAo1H562WjL/5AM6Gi8YcPVVoNxQX8d19mx8E+8fRrMWsyc93ZL6Q8vZDSM0FHVTJaVnQ==", + "requires": { + "klona": "^2.0.4", + "neo-async": "^2.6.2" + } + }, + "scss": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/scss/-/scss-0.2.4.tgz", + "integrity": "sha512-4u8V87F+Q/upVhUmhPnB4C1R11xojkRkWjExL2v0CX2EXTg18VrKd+9JWoeyCp2VEMdSpJsyAvVU+rVjogh51A==", + "requires": { + "ometa": "0.2.2" + } + }, + "scss-loader": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/scss-loader/-/scss-loader-0.0.1.tgz", + "integrity": "sha512-SbT/smRJjkvvdHSEdAYAplosVkrtaSwwgUlnQCOuDS5sOKNjrS/eYCMvKeV6+YxK5cCOCsOJZd3vltrXatFp+g==" + }, + "shvl": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/shvl/-/shvl-2.0.3.tgz", + "integrity": "sha512-V7C6S9Hlol6SzOJPnQ7qzOVEWUQImt3BNmmzh40wObhla3XOYMe4gGiYzLrJd5TFa+cI2f9LKIRJTTKZSTbWgw==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" + }, + "sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } + }, + "unplugin": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-0.10.2.tgz", + "integrity": "sha512-6rk7GUa4ICYjae5PrAllvcDeuT8pA9+j5J5EkxbMFaV+SalHhxZ7X2dohMzu6C3XzsMT+6jwR/+pwPNR3uK9MA==", + "dev": true, + "requires": { + "acorn": "^8.8.0", + "chokidar": "^3.5.3", + "webpack-sources": "^3.2.3", + "webpack-virtual-modules": "^0.4.5" + } + }, + "unplugin-vue-components": { + "version": "0.22.9", + "resolved": "https://registry.npmjs.org/unplugin-vue-components/-/unplugin-vue-components-0.22.9.tgz", + "integrity": "sha512-qBvooq3EgpjtYicxeccRUGUBBQCCw9rJ0kHPZPOSJd8TBZViSv86vuKLTRDHPyjWtclwOIkVStZJfPdJFhYUMw==", + "dev": true, + "requires": { + "@antfu/utils": "^0.6.0", + "@rollup/pluginutils": "^5.0.2", + "chokidar": "^3.5.3", + "debug": "^4.3.4", + "fast-glob": "^3.2.12", + "local-pkg": "^0.4.2", + "magic-string": "^0.26.7", + "minimatch": "^5.1.0", + "resolve": "^1.22.1", + "unplugin": "^0.10.1" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "magic-string": { + "version": "0.26.7", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.26.7.tgz", + "integrity": "sha512-hX9XH3ziStPoPhJxLq1syWuZMxbDvGNbVchfrdCtanC7D13888bMFow61x8axrx+GfHLtVeAx2kxL7tTGRl+Ow==", + "dev": true, + "requires": { + "sourcemap-codec": "^1.4.8" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "update-browserslist-db": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", + "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, + "vant": { + "version": "3.6.4", + "resolved": "https://registry.npmjs.org/vant/-/vant-3.6.4.tgz", + "integrity": "sha512-IgPzekX7YGoqf7h/jx75F087lsBEWA/cQfRqPVgiR6cyqrmi8+dfpfFTz2OcPZ755avTzKk3L0WaclXIbHnVeQ==", + "requires": { + "@vant/icons": "^1.8.0", + "@vant/popperjs": "^1.2.1", + "@vant/use": "^1.4.2" + } + }, + "vite": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/vite/-/vite-3.2.2.tgz", + "integrity": "sha512-pLrhatFFOWO9kS19bQ658CnRYzv0WLbsPih6R+iFeEEhDOuYgYCX2rztUViMz/uy/V8cLCJvLFeiOK7RJEzHcw==", + "dev": true, + "requires": { + "esbuild": "^0.15.9", + "fsevents": "~2.3.2", + "postcss": "^8.4.18", + "resolve": "^1.22.1", + "rollup": "^2.79.1" + } + }, + "vue": { + "version": "3.2.41", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.41.tgz", + "integrity": "sha512-uuuvnrDXEeZ9VUPljgHkqB5IaVO8SxhPpqF2eWOukVrBnRBx2THPSGQBnVRt0GrIG1gvCmFXMGbd7FqcT1ixNQ==", + "requires": { + "@vue/compiler-dom": "3.2.41", + "@vue/compiler-sfc": "3.2.41", + "@vue/runtime-dom": "3.2.41", + "@vue/server-renderer": "3.2.41", + "@vue/shared": "3.2.41" + } + }, + "vue-router": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.1.6.tgz", + "integrity": "sha512-DYWYwsG6xNPmLq/FmZn8Ip+qrhFEzA14EI12MsMgVxvHFDYvlr4NXpVF5hrRH1wVcDP8fGi5F4rxuJSl8/r+EQ==", + "requires": { + "@vue/devtools-api": "^6.4.5" + } + }, + "vuex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/vuex/-/vuex-4.1.0.tgz", + "integrity": "sha512-hmV6UerDrPcgbSy9ORAtNXDr9M4wlNP4pEFKye4ujJF8oqgFFuxDCdOLS3eNoRTtq5O3hoBDh9Doj1bQMYHRbQ==", + "requires": { + "@vue/devtools-api": "^6.0.0-beta.11" + } + }, + "vuex-persistedstate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/vuex-persistedstate/-/vuex-persistedstate-4.1.0.tgz", + "integrity": "sha512-3SkEj4NqwM69ikJdFVw6gObeB0NHyspRYMYkR/EbhR0hbvAKyR5gksVhtAfY1UYuWUOCCA0QNGwv9pOwdj+XUQ==", + "requires": { + "deepmerge": "^4.2.2", + "shvl": "^2.0.3" + } + }, + "webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true + }, + "webpack-virtual-modules": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.4.6.tgz", + "integrity": "sha512-5tyDlKLqPfMqjT3Q9TAqf2YqjwmnUleZwzJi1A5qXnlBCdj2AtOJ6wAWdglTIDOPgOiOrXeBeFcsQ8+aGQ6QbA==", + "dev": true + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..bb1f8fa --- /dev/null +++ b/package.json @@ -0,0 +1,32 @@ +{ + "name": "foresight", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build --mode=production", + "preview": "vite preview" + }, + "dependencies": { + "autoprefixer": "^10.4.13", + "axios": "^1.1.3", + "less-loader": "^11.1.0", + "lib-flexible": "^0.3.2", + "postcss-pxtorem": "^6.0.0", + "sass": "^1.55.0", + "sass-loader": "^13.1.0", + "scss": "^0.2.4", + "scss-loader": "^0.0.1", + "vant": "^3.6.4", + "vue": "^3.2.41", + "vue-router": "^4.1.6", + "vuex": "^4.1.0", + "vuex-persistedstate": "^4.1.0" + }, + "devDependencies": { + "@vitejs/plugin-vue": "^3.2.0", + "unplugin-vue-components": "^0.22.9", + "vite": "^3.2.0" + } +} diff --git a/postcss.config.js b/postcss.config.js new file mode 100644 index 0000000..b11b14b --- /dev/null +++ b/postcss.config.js @@ -0,0 +1,14 @@ +export default { + plugins: { + // 兼容浏览器,添加前缀 + autoprefixer: {}, + 'postcss-pxtorem': { + rootValue: 37.5, //结果为:设计稿元素尺寸/16,比如元素宽320px,最终页面会换算成 20rem + propList: ['*'], //是一个存储哪些将被转换的属性列表,这里设置为['*']全部,假设需要仅对边框进行设置,可以写['*', '!border*'] + unitPrecision: 5, //保留rem小数点多少位 + selectorBlackList: ['.radius'], //则是一个对css选择器进行过滤的数组,比如你设置为['fs'],那例如fs-xl类名,里面有关px的样式将不被转换,这里也支持正则写法。 + mediaQuery: true, //媒体查询( @media screen 之类的)中不生效 + minPixelValue: 12 //px小于12的不会被转换 + } + } +} diff --git a/public/Logo.svg b/public/Logo.svg new file mode 100644 index 0000000..afeb669 --- /dev/null +++ b/public/Logo.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/images/About/email.jpg b/public/images/About/email.jpg new file mode 100644 index 0000000..8769440 Binary files /dev/null and b/public/images/About/email.jpg differ diff --git a/public/images/About/email.png b/public/images/About/email.png new file mode 100644 index 0000000..8769440 Binary files /dev/null and b/public/images/About/email.png differ diff --git a/public/images/About/email_a.png b/public/images/About/email_a.png new file mode 100644 index 0000000..967932c Binary files /dev/null and b/public/images/About/email_a.png differ diff --git a/public/images/About/image 56.jpg b/public/images/About/image 56.jpg new file mode 100644 index 0000000..cffedfc Binary files /dev/null and b/public/images/About/image 56.jpg differ diff --git a/public/images/About/image 57.jpg b/public/images/About/image 57.jpg new file mode 100644 index 0000000..8867341 Binary files /dev/null and b/public/images/About/image 57.jpg differ diff --git a/public/images/About/image 58.jpg b/public/images/About/image 58.jpg new file mode 100644 index 0000000..0b87f4d Binary files /dev/null and b/public/images/About/image 58.jpg differ diff --git a/public/images/About/image 59.jpg b/public/images/About/image 59.jpg new file mode 100644 index 0000000..5e5ed3d Binary files /dev/null and b/public/images/About/image 59.jpg differ diff --git a/public/images/About/image 60.jpg b/public/images/About/image 60.jpg new file mode 100644 index 0000000..54db30e Binary files /dev/null and b/public/images/About/image 60.jpg differ diff --git a/public/images/About/image 61.jpg b/public/images/About/image 61.jpg new file mode 100644 index 0000000..5e089e3 Binary files /dev/null and b/public/images/About/image 61.jpg differ diff --git a/public/images/About/image 62.jpg b/public/images/About/image 62.jpg new file mode 100644 index 0000000..b50d500 Binary files /dev/null and b/public/images/About/image 62.jpg differ diff --git a/public/images/About/image 63.jpg b/public/images/About/image 63.jpg new file mode 100644 index 0000000..2a83c0f Binary files /dev/null and b/public/images/About/image 63.jpg differ diff --git a/public/images/About/image 64.jpg b/public/images/About/image 64.jpg new file mode 100644 index 0000000..c5a7822 Binary files /dev/null and b/public/images/About/image 64.jpg differ diff --git a/public/images/About/image 65.jpg b/public/images/About/image 65.jpg new file mode 100644 index 0000000..de8d965 Binary files /dev/null and b/public/images/About/image 65.jpg differ diff --git a/public/images/About/image 66.jpg b/public/images/About/image 66.jpg new file mode 100644 index 0000000..7650bb0 Binary files /dev/null and b/public/images/About/image 66.jpg differ diff --git a/public/images/About/image 67.jpg b/public/images/About/image 67.jpg new file mode 100644 index 0000000..8677af2 Binary files /dev/null and b/public/images/About/image 67.jpg differ diff --git a/public/images/About/linkedin.png b/public/images/About/linkedin.png new file mode 100644 index 0000000..60548d9 Binary files /dev/null and b/public/images/About/linkedin.png differ diff --git a/public/images/About/linkedin_a.png b/public/images/About/linkedin_a.png new file mode 100644 index 0000000..7aa1bbb Binary files /dev/null and b/public/images/About/linkedin_a.png differ diff --git a/public/images/About/telegram.png b/public/images/About/telegram.png new file mode 100644 index 0000000..1a3518e Binary files /dev/null and b/public/images/About/telegram.png differ diff --git a/public/images/About/telegram_a.png b/public/images/About/telegram_a.png new file mode 100644 index 0000000..d0dc856 Binary files /dev/null and b/public/images/About/telegram_a.png differ diff --git a/public/images/About/twitter.png b/public/images/About/twitter.png new file mode 100644 index 0000000..68a7dc7 Binary files /dev/null and b/public/images/About/twitter.png differ diff --git a/public/images/About/twitter_a.png b/public/images/About/twitter_a.png new file mode 100644 index 0000000..5203b5b Binary files /dev/null and b/public/images/About/twitter_a.png differ diff --git a/public/images/Footer/Enter.svg b/public/images/Footer/Enter.svg new file mode 100644 index 0000000..b508de5 --- /dev/null +++ b/public/images/Footer/Enter.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/images/ForesightLogo.png b/public/images/ForesightLogo.png new file mode 100644 index 0000000..e217bb2 Binary files /dev/null and b/public/images/ForesightLogo.png differ diff --git a/public/images/Hackathon/image1.jpg b/public/images/Hackathon/image1.jpg new file mode 100644 index 0000000..d2567ce Binary files /dev/null and b/public/images/Hackathon/image1.jpg differ diff --git a/public/images/Hackathon/image2.jpg b/public/images/Hackathon/image2.jpg new file mode 100644 index 0000000..a9c4960 Binary files /dev/null and b/public/images/Hackathon/image2.jpg differ diff --git a/public/images/Hackathon/image3.jpg b/public/images/Hackathon/image3.jpg new file mode 100644 index 0000000..07f5927 Binary files /dev/null and b/public/images/Hackathon/image3.jpg differ diff --git a/public/images/Hackathon/image4.jpg b/public/images/Hackathon/image4.jpg new file mode 100644 index 0000000..dd05337 Binary files /dev/null and b/public/images/Hackathon/image4.jpg differ diff --git a/public/images/Hackathon/image5.jpg b/public/images/Hackathon/image5.jpg new file mode 100644 index 0000000..35d2f80 Binary files /dev/null and b/public/images/Hackathon/image5.jpg differ diff --git a/public/images/Hackathon/image6.jpg b/public/images/Hackathon/image6.jpg new file mode 100644 index 0000000..069d6b7 Binary files /dev/null and b/public/images/Hackathon/image6.jpg differ diff --git a/public/images/Linkedin.svg b/public/images/Linkedin.svg new file mode 100644 index 0000000..c061f64 --- /dev/null +++ b/public/images/Linkedin.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/images/Logo.svg b/public/images/Logo.svg new file mode 100644 index 0000000..afeb669 --- /dev/null +++ b/public/images/Logo.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/images/Logo_bw.png b/public/images/Logo_bw.png new file mode 100644 index 0000000..dead883 Binary files /dev/null and b/public/images/Logo_bw.png differ diff --git a/public/images/Logo_dual_text.svg b/public/images/Logo_dual_text.svg new file mode 100644 index 0000000..070d81f --- /dev/null +++ b/public/images/Logo_dual_text.svg @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/images/Logo_dual_text_bw.svg b/public/images/Logo_dual_text_bw.svg new file mode 100644 index 0000000..0be23c5 --- /dev/null +++ b/public/images/Logo_dual_text_bw.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/public/images/Logo_mono_text.png b/public/images/Logo_mono_text.png new file mode 100644 index 0000000..a451d61 Binary files /dev/null and b/public/images/Logo_mono_text.png differ diff --git a/public/images/Logo_mono_text.svg b/public/images/Logo_mono_text.svg new file mode 100644 index 0000000..25a97b7 --- /dev/null +++ b/public/images/Logo_mono_text.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/public/images/Logo_mono_text_bw.svg b/public/images/Logo_mono_text_bw.svg new file mode 100644 index 0000000..4fa4674 --- /dev/null +++ b/public/images/Logo_mono_text_bw.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/public/images/Media/image 51.jpg b/public/images/Media/image 51.jpg new file mode 100644 index 0000000..d1228d0 Binary files /dev/null and b/public/images/Media/image 51.jpg differ diff --git a/public/images/Media/image 52.jpg b/public/images/Media/image 52.jpg new file mode 100644 index 0000000..462d63b Binary files /dev/null and b/public/images/Media/image 52.jpg differ diff --git a/public/images/Media/image 53.jpg b/public/images/Media/image 53.jpg new file mode 100644 index 0000000..d747239 Binary files /dev/null and b/public/images/Media/image 53.jpg differ diff --git a/public/images/Media/image 54.jpg b/public/images/Media/image 54.jpg new file mode 100644 index 0000000..6fe8cf5 Binary files /dev/null and b/public/images/Media/image 54.jpg differ diff --git a/public/images/Medium.svg b/public/images/Medium.svg new file mode 100644 index 0000000..268ddd7 --- /dev/null +++ b/public/images/Medium.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/images/News/Group 2402.jpg b/public/images/News/Group 2402.jpg new file mode 100644 index 0000000..fce2df8 Binary files /dev/null and b/public/images/News/Group 2402.jpg differ diff --git a/public/images/News/image 3.jpg b/public/images/News/image 3.jpg new file mode 100644 index 0000000..0c22186 Binary files /dev/null and b/public/images/News/image 3.jpg differ diff --git a/public/images/News/image 4.jpg b/public/images/News/image 4.jpg new file mode 100644 index 0000000..90d547b Binary files /dev/null and b/public/images/News/image 4.jpg differ diff --git a/public/images/Portfolio/Portfolio 1a.jpg b/public/images/Portfolio/Portfolio 1a.jpg new file mode 100644 index 0000000..35f4bc7 Binary files /dev/null and b/public/images/Portfolio/Portfolio 1a.jpg differ diff --git a/public/images/Portfolio/Portfolio 1b.jpg b/public/images/Portfolio/Portfolio 1b.jpg new file mode 100644 index 0000000..0fea660 Binary files /dev/null and b/public/images/Portfolio/Portfolio 1b.jpg differ diff --git a/public/images/Portfolio/Portfolio 1c.jpg b/public/images/Portfolio/Portfolio 1c.jpg new file mode 100644 index 0000000..e83af25 Binary files /dev/null and b/public/images/Portfolio/Portfolio 1c.jpg differ diff --git a/public/images/Portfolio/Portfolio 1d.jpg b/public/images/Portfolio/Portfolio 1d.jpg new file mode 100644 index 0000000..eb6d4a5 Binary files /dev/null and b/public/images/Portfolio/Portfolio 1d.jpg differ diff --git a/public/images/Portfolio/Portfolio 1e.jpg b/public/images/Portfolio/Portfolio 1e.jpg new file mode 100644 index 0000000..245b25a Binary files /dev/null and b/public/images/Portfolio/Portfolio 1e.jpg differ diff --git a/public/images/Portfolio/Portfolio 1f.jpg b/public/images/Portfolio/Portfolio 1f.jpg new file mode 100644 index 0000000..3bd8f04 Binary files /dev/null and b/public/images/Portfolio/Portfolio 1f.jpg differ diff --git a/public/images/Portfolio/Portfolio 1g.jpg b/public/images/Portfolio/Portfolio 1g.jpg new file mode 100644 index 0000000..35f4bc7 Binary files /dev/null and b/public/images/Portfolio/Portfolio 1g.jpg differ diff --git a/public/images/Portfolio/Portfolio 2a.jpg b/public/images/Portfolio/Portfolio 2a.jpg new file mode 100644 index 0000000..9ba2f10 Binary files /dev/null and b/public/images/Portfolio/Portfolio 2a.jpg differ diff --git a/public/images/Portfolio/Portfolio 2b.jpg b/public/images/Portfolio/Portfolio 2b.jpg new file mode 100644 index 0000000..0624be2 Binary files /dev/null and b/public/images/Portfolio/Portfolio 2b.jpg differ diff --git a/public/images/Portfolio/Portfolio 2c.jpg b/public/images/Portfolio/Portfolio 2c.jpg new file mode 100644 index 0000000..0b09f9c Binary files /dev/null and b/public/images/Portfolio/Portfolio 2c.jpg differ diff --git a/public/images/Portfolio/Portfolio 2d.jpg b/public/images/Portfolio/Portfolio 2d.jpg new file mode 100644 index 0000000..f05bca7 Binary files /dev/null and b/public/images/Portfolio/Portfolio 2d.jpg differ diff --git a/public/images/Portfolio/Portfolio 2e.jpg b/public/images/Portfolio/Portfolio 2e.jpg new file mode 100644 index 0000000..ea765c7 Binary files /dev/null and b/public/images/Portfolio/Portfolio 2e.jpg differ diff --git a/public/images/Portfolio/Portfolio 2f.jpg b/public/images/Portfolio/Portfolio 2f.jpg new file mode 100644 index 0000000..3cde5c3 Binary files /dev/null and b/public/images/Portfolio/Portfolio 2f.jpg differ diff --git a/public/images/Portfolio/Portfolio 2g.jpg b/public/images/Portfolio/Portfolio 2g.jpg new file mode 100644 index 0000000..193210b Binary files /dev/null and b/public/images/Portfolio/Portfolio 2g.jpg differ diff --git a/public/images/Portfolio/Portfolio 2h.jpg b/public/images/Portfolio/Portfolio 2h.jpg new file mode 100644 index 0000000..1265ab8 Binary files /dev/null and b/public/images/Portfolio/Portfolio 2h.jpg differ diff --git a/public/images/Portfolio/Portfolio 2i.jpg b/public/images/Portfolio/Portfolio 2i.jpg new file mode 100644 index 0000000..bbcceb1 Binary files /dev/null and b/public/images/Portfolio/Portfolio 2i.jpg differ diff --git a/public/images/Portfolio/Portfolio 3a.jpg b/public/images/Portfolio/Portfolio 3a.jpg new file mode 100644 index 0000000..5b960fd Binary files /dev/null and b/public/images/Portfolio/Portfolio 3a.jpg differ diff --git a/public/images/Portfolio/Portfolio 3b.jpg b/public/images/Portfolio/Portfolio 3b.jpg new file mode 100644 index 0000000..c1b3d5b Binary files /dev/null and b/public/images/Portfolio/Portfolio 3b.jpg differ diff --git a/public/images/Portfolio/Portfolio 3c.jpg b/public/images/Portfolio/Portfolio 3c.jpg new file mode 100644 index 0000000..9b35e60 Binary files /dev/null and b/public/images/Portfolio/Portfolio 3c.jpg differ diff --git a/public/images/Portfolio/Portfolio 3d.jpg b/public/images/Portfolio/Portfolio 3d.jpg new file mode 100644 index 0000000..16a7541 Binary files /dev/null and b/public/images/Portfolio/Portfolio 3d.jpg differ diff --git a/public/images/Portfolio/Portfolio 3e.jpg b/public/images/Portfolio/Portfolio 3e.jpg new file mode 100644 index 0000000..9dc2c72 Binary files /dev/null and b/public/images/Portfolio/Portfolio 3e.jpg differ diff --git a/public/images/Portfolio/Portfolio 4a.jpg b/public/images/Portfolio/Portfolio 4a.jpg new file mode 100644 index 0000000..79d4cd6 Binary files /dev/null and b/public/images/Portfolio/Portfolio 4a.jpg differ diff --git a/public/images/Portfolio/Portfolio 4b.jpg b/public/images/Portfolio/Portfolio 4b.jpg new file mode 100644 index 0000000..038b5ae Binary files /dev/null and b/public/images/Portfolio/Portfolio 4b.jpg differ diff --git a/public/images/Portfolio/Portfolio 4c.jpg b/public/images/Portfolio/Portfolio 4c.jpg new file mode 100644 index 0000000..d9f7e20 Binary files /dev/null and b/public/images/Portfolio/Portfolio 4c.jpg differ diff --git a/public/images/Portfolio/Portfolio 4d.jpg b/public/images/Portfolio/Portfolio 4d.jpg new file mode 100644 index 0000000..1879ad0 Binary files /dev/null and b/public/images/Portfolio/Portfolio 4d.jpg differ diff --git a/public/images/Portfolio/Portfolio 4e.jpg b/public/images/Portfolio/Portfolio 4e.jpg new file mode 100644 index 0000000..85c8f6a Binary files /dev/null and b/public/images/Portfolio/Portfolio 4e.jpg differ diff --git a/public/images/Portfolio/Portfolio 4f.jpg b/public/images/Portfolio/Portfolio 4f.jpg new file mode 100644 index 0000000..bc2ee70 Binary files /dev/null and b/public/images/Portfolio/Portfolio 4f.jpg differ diff --git a/public/images/Portfolio/Portfolio 5a.jpg b/public/images/Portfolio/Portfolio 5a.jpg new file mode 100644 index 0000000..7101730 Binary files /dev/null and b/public/images/Portfolio/Portfolio 5a.jpg differ diff --git a/public/images/Portfolio/Portfolio 5b.jpg b/public/images/Portfolio/Portfolio 5b.jpg new file mode 100644 index 0000000..a16e90e Binary files /dev/null and b/public/images/Portfolio/Portfolio 5b.jpg differ diff --git a/public/images/Portfolio/Portfolio 5c.jpg b/public/images/Portfolio/Portfolio 5c.jpg new file mode 100644 index 0000000..8c7c782 Binary files /dev/null and b/public/images/Portfolio/Portfolio 5c.jpg differ diff --git a/public/images/Portfolio/Portfolio 5d.jpg b/public/images/Portfolio/Portfolio 5d.jpg new file mode 100644 index 0000000..94bf65a Binary files /dev/null and b/public/images/Portfolio/Portfolio 5d.jpg differ diff --git a/public/images/Portfolio/Portfolio 5e.jpg b/public/images/Portfolio/Portfolio 5e.jpg new file mode 100644 index 0000000..dd3b983 Binary files /dev/null and b/public/images/Portfolio/Portfolio 5e.jpg differ diff --git a/public/images/Portfolio/Portfolio 5f.jpg b/public/images/Portfolio/Portfolio 5f.jpg new file mode 100644 index 0000000..882830e Binary files /dev/null and b/public/images/Portfolio/Portfolio 5f.jpg differ diff --git a/public/images/Portfolio/Portfolio 6a.jpg b/public/images/Portfolio/Portfolio 6a.jpg new file mode 100644 index 0000000..1bb8686 Binary files /dev/null and b/public/images/Portfolio/Portfolio 6a.jpg differ diff --git a/public/images/Portfolio/Portfolio 6b.jpg b/public/images/Portfolio/Portfolio 6b.jpg new file mode 100644 index 0000000..24dc79a Binary files /dev/null and b/public/images/Portfolio/Portfolio 6b.jpg differ diff --git a/public/images/Portfolio/Portfolio 7a.jpg b/public/images/Portfolio/Portfolio 7a.jpg new file mode 100644 index 0000000..b51fa70 Binary files /dev/null and b/public/images/Portfolio/Portfolio 7a.jpg differ diff --git a/public/images/Portfolio/Portfolio 8a.jpg b/public/images/Portfolio/Portfolio 8a.jpg new file mode 100644 index 0000000..d6400d4 Binary files /dev/null and b/public/images/Portfolio/Portfolio 8a.jpg differ diff --git a/public/images/Portfolio/Rectangle 120.jpg b/public/images/Portfolio/Rectangle 120.jpg new file mode 100644 index 0000000..1265ab8 Binary files /dev/null and b/public/images/Portfolio/Rectangle 120.jpg differ diff --git a/public/images/Twitter.svg b/public/images/Twitter.svg new file mode 100644 index 0000000..c02d243 --- /dev/null +++ b/public/images/Twitter.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/images/article_1.png b/public/images/article_1.png new file mode 100644 index 0000000..4b5ceaa Binary files /dev/null and b/public/images/article_1.png differ diff --git a/public/images/avatar.png b/public/images/avatar.png new file mode 100644 index 0000000..1b3b1c3 Binary files /dev/null and b/public/images/avatar.png differ diff --git a/public/images/menu.svg b/public/images/menu.svg new file mode 100644 index 0000000..f134fef --- /dev/null +++ b/public/images/menu.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/images/nav/close.svg b/public/images/nav/close.svg new file mode 100644 index 0000000..ff13d53 --- /dev/null +++ b/public/images/nav/close.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/images/nav/logo.jpg b/public/images/nav/logo.jpg new file mode 100644 index 0000000..e217bb2 Binary files /dev/null and b/public/images/nav/logo.jpg differ diff --git a/public/images/search.svg b/public/images/search.svg new file mode 100644 index 0000000..da2b796 --- /dev/null +++ b/public/images/search.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/images/searchResult/article_1.jpg b/public/images/searchResult/article_1.jpg new file mode 100644 index 0000000..1877c71 Binary files /dev/null and b/public/images/searchResult/article_1.jpg differ diff --git a/public/images/searchResult/article_2.jpg b/public/images/searchResult/article_2.jpg new file mode 100644 index 0000000..723a988 Binary files /dev/null and b/public/images/searchResult/article_2.jpg differ diff --git a/public/images/searchResult/article_3.jpg b/public/images/searchResult/article_3.jpg new file mode 100644 index 0000000..b7d410a Binary files /dev/null and b/public/images/searchResult/article_3.jpg differ diff --git a/public/images/searchResult/article_4.jpg b/public/images/searchResult/article_4.jpg new file mode 100644 index 0000000..44494c1 Binary files /dev/null and b/public/images/searchResult/article_4.jpg differ diff --git a/public/images/searchResult/article_5.jpg b/public/images/searchResult/article_5.jpg new file mode 100644 index 0000000..12023a4 Binary files /dev/null and b/public/images/searchResult/article_5.jpg differ diff --git a/public/images/searchResult/article_6.jpg b/public/images/searchResult/article_6.jpg new file mode 100644 index 0000000..eb36767 Binary files /dev/null and b/public/images/searchResult/article_6.jpg differ diff --git a/public/images/searchResult/article_7.jpg b/public/images/searchResult/article_7.jpg new file mode 100644 index 0000000..991d7fc Binary files /dev/null and b/public/images/searchResult/article_7.jpg differ diff --git a/public/images/search_close.svg b/public/images/search_close.svg new file mode 100644 index 0000000..483d0b9 --- /dev/null +++ b/public/images/search_close.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/images/share/Linkedin.svg b/public/images/share/Linkedin.svg new file mode 100644 index 0000000..c061f64 --- /dev/null +++ b/public/images/share/Linkedin.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/images/share/Telegram.svg b/public/images/share/Telegram.svg new file mode 100644 index 0000000..842cc8d --- /dev/null +++ b/public/images/share/Telegram.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/images/share/Twitter.svg b/public/images/share/Twitter.svg new file mode 100644 index 0000000..c02d243 --- /dev/null +++ b/public/images/share/Twitter.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/App.vue b/src/App.vue new file mode 100644 index 0000000..df58ee3 --- /dev/null +++ b/src/App.vue @@ -0,0 +1,46 @@ + + + + + diff --git a/src/api/manage.js b/src/api/manage.js new file mode 100644 index 0000000..b521fb4 --- /dev/null +++ b/src/api/manage.js @@ -0,0 +1,186 @@ +import request from "../utils/request.js"; + +/** + * restFul GET API + * @param {string} url request address + * @param {any} params query Params + * @param {any} data other request header params + * @return {Promise} + */ +export const getAction = ({url, params, ...data})=>{ + return request({ + url, + method: 'get', + params, + ...data + }) +} + +/** + * restFul GET API + * @param {string} url request address + * @param {any} body request body + * @param {any} data other request header params + * @return {Promise} + */ +export const postAction = ({url, body, ...data})=>{ + return request({ + url, + method: 'get', + data: body, + ...data + }) +} + + +/** + * get nav list + */ +export const getNavData = ()=>{ + return request({ + url: '/index/getNav', + method:'get', + }) +} +/** + * get nav list + */ +export const getNavInfoApi = (params)=>{ + return request({ + url: '/index/getNavInfo', + method: 'get', + params, + }) +} + +/** + * + */ +export const getHackathonApi = (data)=>{ + return request({ + url: '/hackathon/getHackathon', + method: 'post', + data, + headers:{ + "Content-Type": 'multipart/form-data' + } + }) +} + +export const clickMediaApi = (data)=>{ + return request({ + url: '/media/clickMedia', + method: 'post', + data, + headers: { + "Content-Type": 'multipart/form-data' + } + }) +} + +export const getMediaApi = (data)=>{ + return request({ + url: '/media/getMedia', + method: 'post', + data, + headers: { + "Content-Type": 'multipart/form-data' + } + }) +} + +export const getPortfolioApi = (data)=>{ + return request({ + url: '/portfolio/getPortfolio', + method: 'post', + data, + headers:{ + "Content-Type": 'multipart/form-data' + } + }) +} + +export const clickNewsApi = (data)=>{ + return request({ + url: '/news/clickNews', + method: 'post', + data, + headers:{ + "Content-Type": 'multipart/form-data' + } + }) +} +export const getNewsApi = (data)=>{ + return request({ + url: '/news/getNews', + method: 'post', + data, + headers:{ + "Content-Type": 'multipart/form-data' + } + }) +} + +export const subscribedApi = (data)=>{ + return request({ + url: '/newsletter/subscribed', + method: 'post', + data, + headers:{ + "Content-Type": 'multipart/form-data' + } + }) +} + +export const getTeamApi = (data)=>{ + return request({ + url: '/team/getTeam', + method: 'post', + data, + headers:{ + "Content-Type": 'multipart/form-data' + } + }) +} +export const getConfigApi = (data)=>{ + return request({ + url: '/index/getConfig', + method: 'post', + data, + headers:{ + "Content-Type": 'multipart/form-data' + } + }) +} + +export const getPageApi = (data)=>{ + return request({ + url: '/page/getPage', + method: 'post', + data, + headers:{ + "Content-Type": 'multipart/form-data' + } + }) +} + +export const clickHackathon = (data)=>{ + return request({ + url: '/hackathon/clickHackathon', + method: 'post', + data, + headers: { + "Content-Type": 'multipart/form-data' + } + }) +} +export const clickPortfolio = (data)=>{ + return request({ + url: '/portfolio/clickPortfolio', + method: 'post', + data, + headers: { + "Content-Type": 'multipart/form-data' + } + }) +} diff --git a/src/api/research.js b/src/api/research.js new file mode 100644 index 0000000..d10018b --- /dev/null +++ b/src/api/research.js @@ -0,0 +1,73 @@ +import request from "../utils/request.js"; + +/** + * get research list + * @param params + */ +export const getResearchType = (params)=>{ + return request({ + url:'/research/getTopic', + method: 'get', + params, + }) +} +export const getResearchAuthorApi = ()=>{ + return request({ + url:'/research/getAuthor', + method: 'post', + }) +} +/** + * get research list + * @param params + * @return {*} + */ +export const getResearch = (params)=>{ + return request({ + url: '/research/getResearch', + method: 'post', + data: params, + headers:{ + "Content-Type": 'multipart/form-data' + } + }) +} + +/** + * + */ +export const getArticleDetail = (articleId)=>{ + return request({ + url: '/research/viewResearch', + method: 'post', + data: { + research_id: articleId + }, + headers:{ + "Content-Type": 'multipart/form-data' + } + }) +} + + +export const searchTitleApi = (data)=>{ + return request({ + url: '/research/searchTitle', + method: 'post', + data, + headers: { + "Content-Type": 'multipart/form-data' + } + }) +} + +export const recommendResearchApi = (data)=>{ + return request({ + url: '/research/recommendResearch', + method: 'post', + data, + headers: { + "Content-Type": 'multipart/form-data' + } + }) +} diff --git a/src/assets/datas/Datas.js b/src/assets/datas/Datas.js new file mode 100644 index 0000000..bc6b22e --- /dev/null +++ b/src/assets/datas/Datas.js @@ -0,0 +1,266 @@ +export const researchData = [ + { + id: 1, + img: '/images/article_1.png', + author: 'Joseph Bonneau', + date: 'Aug.4', + title: 'Why blockchain performance is hard to measure', + content: + 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi eget purus et lacus sollicitudin pharetra. Praesent placerat tempus metus, vehicula aliquet metus. Mauris Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi eget purus et lacus sollicitudin pharetra. Praesent placerat tempus metus, vehicula aliquet metus. Mauris Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi eget purus et lacus sollicitudin pharetra. Praesent placerat tempus metus, vehicula aliquet metus. Mauris' + }, + { + id: 2, + img: '/images/article_1.png', + author: 'Joseph Bonneau', + date: 'Aug.4', + title: 'Investing Ready Player Me', + content: + ' Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi eget purus et lacus sollicitudin pharetra. Praesent placerat tempus metus, vehicula aliquet metus. Mauris' + }, + { + id: 3, + img: '/images/article_1.png', + author: 'Joseph Bonneau', + date: 'Aug.4', + title: 'Ben Horowitz on how the best leaders build', + content: + ' Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi eget purus et lacus sollicitudin pharetra. Praesent placerat tempus metus, vehicula aliquet metus. Mauris' + }, + { + id: 4, + img: '/images/article_1.png', + author: 'Joseph Bonneau', + date: 'Aug.4', + title: 'The strategic approach to building a board', + content: + ' Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi eget purus et lacus sollicitudin pharetra. Praesent placerat tempus metus, vehicula aliquet metus. Mauris' + } +]; + +export const newsData = [ + { + id: 1, + img: '/images/News/Group 2402.jpg', + date: 'Aug.4', + title: 'BitCoin2022-Yield App', + content: + 'The healthy development of Gamefi tokenomics must satisfy to attract the input of external assets and diversified non-monetary…' + }, + { + id: 2, + img: '/images/News/image 4.jpg', + date: 'Aug.4 2022', + title: 'BitCoin2022-Yield App', + content: + 'The healthy development of Gamefi tokenomics must satisfy to attract the input of external assets and diversified non-monetary…' + }, + { + id: 3, + img: '/images/News/Group 2402.jpg', + date: 'Aug.4 2022', + title: 'BitCoin2022-Yield App', + content: + 'The healthy development of Gamefi tokenomics must satisfy to attract the input of external assets and diversified non-monetary…' + }, + { + id: 4, + img: '/images/News/image 4.jpg', + date: 'Aug.4 2022', + title: 'BitCoin2022-Yield App', + content: + 'The healthy development of Gamefi tokenomics must satisfy to attract the input of external assets and diversified non-monetary…' + }, + { + id: 5, + img: '/images/News/image 4.jpg', + date: 'Aug.4 2022', + title: 'BitCoin2022-Yield App', + content: + 'The healthy development of Gamefi tokenomics must satisfy to attract the input of external assets and diversified non-monetary…' + }, + { + id: 6, + img: '/images/News/Group 2402.jpg', + date: 'Aug.4 2022', + title: 'BitCoin2022-Yield App', + content: + 'The healthy development of Gamefi tokenomics must satisfy to attract the input of external assets and diversified non-monetary…' + }, + { + id: 7, + img: '/images/News/image 4.jpg', + date: 'Aug.4 2022', + title: 'BitCoin2022-Yield App', + content: + 'The healthy development of Gamefi tokenomics must satisfy to attract the input of external assets and diversified non-monetary…' + }, + { + id: 8, + img: '/images/News/Group 2402.jpg', + date: 'Aug.4 2022', + title: 'BitCoin2022-Yield App', + content: + 'The healthy development of Gamefi tokenomics must satisfy to attract the input of external assets and diversified non-monetary…' + }, { + id: 9, + img: '/images/News/Group 2402.jpg', + date: 'Aug.4 2022', + title: 'BitCoin2022-Yield App', + content: + 'The healthy development of Gamefi tokenomics must satisfy to attract the input of external assets and diversified non-monetary…' + }, + { + id: 10, + img: '/images/News/image 4.jpg', + date: 'Aug.4 2022', + title: 'BitCoin2022-Yield App', + content: + 'The healthy development of Gamefi tokenomics must satisfy to attract the input of external assets and diversified non-monetary…' + }, + { + id: 11, + img: '/images/News/image 4.jpg', + date: 'Aug.4 2022', + title: 'BitCoin2022-Yield App', + content: + 'The healthy development of Gamefi tokenomics must satisfy to attract the input of external assets and diversified non-monetary…' + }, + { + id: 12, + img: '/images/News/Group 2402.jpg', + date: 'Aug.4 2022', + title: 'BitCoin2022-Yield App', + content: + 'The healthy development of Gamefi tokenomics must satisfy to attract the input of external assets and diversified non-monetary…' + }, + { + id: 13, + img: '/images/News/Group 2402.jpg', + date: 'Aug.4 2022', + title: 'BitCoin2022-Yield App', + content: + 'The healthy development of Gamefi tokenomics must satisfy to attract the input of external assets and diversified non-monetary…' + }, + { + id: 14, + img: '/images/News/image 3.jpg', + date: 'Aug.4 2022', + title: 'BitCoin2022-Yield App', + content: + 'The healthy development of Gamefi tokenomics must satisfy to attract the input of external assets and diversified non-monetary…' + }, + { + id: 15, + img: '/images/News/Group 2402.jpg', + date: 'Aug.4 2022', + title: 'BitCoin2022-Yield App', + content: + 'The healthy development of Gamefi tokenomics must satisfy to attract the input of external assets and diversified non-monetary…' + }, + { + id: 16, + img: '/images/News/image 3.jpg', + date: 'Aug.4 2022', + title: 'BitCoin2022-Yield App', + content: + 'The healthy development of Gamefi tokenomics must satisfy to attract the input of external assets and diversified non-monetary…' + }, + { + id: 17, + img: '/images/News/image 4.jpg', + date: 'Aug.4 2022', + title: 'BitCoin2022-Yield App', + content: + 'The healthy development of Gamefi tokenomics must satisfy to attract the input of external assets and diversified non-monetary…' + }, + { + id: 18, + img: '/images/News/Group 2402.jpg', + date: 'Aug.4 2022', + title: 'BitCoin2022-Yield App', + content: + 'The healthy development of Gamefi tokenomics must satisfy to attract the input of external assets and diversified non-monetary…' + }, + +] + +export const hackathonData = [ + { + id: 0, + img: '/images/Hackathon/image1.jpg', + date: 'Jun 23 - Jul 18 2022', + title: 'Decentralized Governance Hackathon', + content: 'This 3 week hackathon is focused on building with the tools needed to scale decentralized governance, DAO treasury operation', + status: 1, + }, + { + id:1, + img: '/images/Hackathon/image2.jpg', + date: 'Jun 23 - Jul 18 2022', + title: 'Algorand GreenHouse Hack#1', + content: 'Algorand has partnered with Gitcoin to bring you the first of the Greenhouse Hacks series. Join us for this 4-part bounty series designed to grow…', + status: 1, + }, + { + id: 2, + img: '/images/Hackathon/image3.jpg', + date: 'Jun 23 - Jul 18 2022', + title: 'ETH Shanghai Hackathon', + content: 'Join us to BUIDL the next generation social applications! In the two-week hackathon, we offer a variety of online workshops, grants,', + status: 1, + }, + { + id: 3, + img: '/images/Hackathon/image4.jpg', + date: 'Jun 23 - Jul 18 2022', + title: 'L2 Rollathon: a Virtual Hackathon', + content: 'We invite you to join us in building the future of Web3, learn from online workshops, open new grants, and if you can, help fund great projects…', + status: 2, + }, + { + id: 4, + img: '/images/Hackathon/image5.jpg', + date: 'Jun 23 - Jul 18 2022', + title: 'Open Web Foundry', + content: 'Arweave is back for their 6th incubation program on Gitcoin.', + status: 2, + }, + { + id: 5, + img: '/images/Hackathon/image6.jpg', + date: 'Jun 23 - Jul 18 2022', + title: 'Game on! Tezos', + content: 'Gaming on Tezos competition - explore the technology of Tezos, and build toys and games that delight, entertain, and help pave the way for', + status: 3, + } +] +export const MediaData = [ + { + id:1, + img:'/images/Media/image 51.jpg', + name:'Foresight News', + describe:'Foresight News, a leading think-tank for transformative crypto media.', + url:'foresightnews.pro' + }, + { + id:2, + img:'/images/Media/image 52.jpg', + name:'Coinkolik', + describe:'Coinkolik.com is the fastest growing cryptocurrency news site of Turkey!', + url:'coinkolik.com' + }, + { + id:3, + img:'/images/Media/image 53.jpg', + name:'BTCHaber', + describe:'Turkeys of the expert staffed crypto and blockchain news platform.', + url:'btchaber.com' + }, + { + id:4, + img:'/images/Media/image 54.jpg', + name:'Coin Bilgi', + describe:'Turkeys cryptocurrency and Blockchain information website.', + url:'coinbilgi.net' + }, +] \ No newline at end of file diff --git a/src/assets/datas/searchResultData.js b/src/assets/datas/searchResultData.js new file mode 100644 index 0000000..e4b869e --- /dev/null +++ b/src/assets/datas/searchResultData.js @@ -0,0 +1,162 @@ +export const searchResult = [ + { + id: 0, + img: '/images/searchResult/article_1.jpg', + author: 'Joseph Bonneau', + date: 'Aug. 4', + title: 'Why blockchain performance is hard to measure', + content: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi eget purus et lacus sollicitudin pharetra. Praesent placerat tempus metus, vehicula aliquet metus. Mauris non mattis nunc. Etiam ac dolor neque. Praesent dapibus ante id urna tempus vulputate. Fusce eu ultricies lorem, ac convallis mi. Aenean placerat faucibus nisi vitae dignissim. Phasellus finibus aliquet odio, vitae tristique neque sodales eget..' + }, + { + id: 1, + img: '/images/searchResult/article_2.jpg', + author: 'Jonathan Lai', + date: 'Jul. 21', + title: 'Investing Ready Player Me', + content: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi eget purus et lacus sollicitudin pharetra. Praesent placerat tempus metus, vehicula aliquet metus. Mauris non mattis nunc. Etiam ac dolor neque. Praesent dapibus ante id urna tempus vulputate. Fusce eu ultricies lorem, ac convallis mi. Aenean placerat faucibus nisi vitae dignissim. Phasellus finibus aliquet odio, vitae tristique neque sodales eget..' + }, + { + id: 2, + img: '/images/searchResult/article_3.jpg', + author: 'Ben Horowitz and David Weiden', + date: 'July. 20', + title: 'Ben Horowitz on how the best leaders build', + content: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi eget purus et lacus sollicitudin pharetra. Praesent placerat tempus metus, vehicula aliquet metus. Mauris non mattis nunc. Etiam ac dolor neque. Praesent dapibus ante id urna tempus vulputate. Fusce eu ultricies lorem, ac convallis mi. Aenean placerat faucibus nisi vitae dignissim. Phasellus finibus aliquet odio, vitae tristique neque sodales eget..' + }, + { + id: 3, + img: '/images/searchResult/article_4.jpg', + author: ' Jeff Stump and Shannon Barbour ', + date: 'July. 20', + title: 'The strategic approach to building a board', + content: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi eget purus et lacus sollicitudin pharetra. Praesent placerat tempus metus, vehicula aliquet metus. Mauris non mattis nunc. Etiam ac dolor neque. Praesent dapibus ante id urna tempus vulputate. Fusce eu ultricies lorem, ac convallis mi. Aenean placerat faucibus nisi vitae dignissim. Phasellus finibus aliquet odio, vitae tristique neque sodales eget..' + }, + { + id: 4, + img: '/images/searchResult/article_5.jpg', + author: ' Jeff Stump and Shannon Barbour ', + date: 'July. 20', + title: 'Composability is Decomposing', + content: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi eget purus et lacus sollicitudin pharetra. Praesent placerat tempus metus, vehicula aliquet metus. Mauris non mattis nunc. Etiam ac dolor neque. Praesent dapibus ante id urna tempus vulputate. Fusce eu ultricies lorem, ac convallis mi. Aenean placerat faucibus nisi vitae dignissim. Phasellus finibus aliquet odio, vitae tristique neque sodales eget..' + }, + { + id: 5, + img: '/images/searchResult/article_6.jpg', + author: ' Jeff Stump and Shannon Barbour ', + date: 'July. 20', + title: 'Crypto Visions (1997-2022)', + content: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi eget purus et lacus sollicitudin pharetra. Praesent placerat tempus metus, vehicula aliquet metus. Mauris non mattis nunc. Etiam ac dolor neque. Praesent dapibus ante id urna tempus vulputate. Fusce eu ultricies lorem, ac convallis mi. Aenean placerat faucibus nisi vitae dignissim. Phasellus finibus aliquet odio, vitae tristique neque sodales eget..' + }, + { + id: 6, + img: '/images/searchResult/article_7.jpg', + author: ' Jeff Stump and Shannon Barbour ', + date: 'July. 20', + title: 'Redefine NFT (Music, 4th-Dimension, Privacy, Interaction)', + content: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi eget purus et lacus sollicitudin pharetra. Praesent placerat tempus metus, vehicula aliquet metus. Mauris non mattis nunc. Etiam ac dolor neque. Praesent dapibus ante id urna tempus vulputate. Fusce eu ultricies lorem, ac convallis mi. Aenean placerat faucibus nisi vitae dignissim. Phasellus finibus aliquet odio, vitae tristique neque sodales eget..' + }, + { + id: 7, + img: '/images/searchResult/article_5.jpg', + author: ' Jeff Stump and Shannon Barbour ', + date: 'July. 20', + title: 'Composability is Decomposing', + content: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi eget purus et lacus sollicitudin pharetra. Praesent placerat tempus metus, vehicula aliquet metus. Mauris non mattis nunc. Etiam ac dolor neque. Praesent dapibus ante id urna tempus vulputate. Fusce eu ultricies lorem, ac convallis mi. Aenean placerat faucibus nisi vitae dignissim. Phasellus finibus aliquet odio, vitae tristique neque sodales eget..' + }, + { + id: 8, + img: '/images/searchResult/article_6.jpg', + author: ' Jeff Stump and Shannon Barbour ', + date: 'July. 20', + title: 'Crypto Visions (1997-2022)', + content: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi eget purus et lacus sollicitudin pharetra. Praesent placerat tempus metus, vehicula aliquet metus. Mauris non mattis nunc. Etiam ac dolor neque. Praesent dapibus ante id urna tempus vulputate. Fusce eu ultricies lorem, ac convallis mi. Aenean placerat faucibus nisi vitae dignissim. Phasellus finibus aliquet odio, vitae tristique neque sodales eget..' + }, + { + id: 9, + img: '/images/searchResult/article_7.jpg', + author: ' Jeff Stump and Shannon Barbour ', + date: 'July. 20', + title: 'Redefine NFT (Music, 4th-Dimension, Privacy, Interaction)', + content: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi eget purus et lacus sollicitudin pharetra. Praesent placerat tempus metus, vehicula aliquet metus. Mauris non mattis nunc. Etiam ac dolor neque. Praesent dapibus ante id urna tempus vulputate. Fusce eu ultricies lorem, ac convallis mi. Aenean placerat faucibus nisi vitae dignissim. Phasellus finibus aliquet odio, vitae tristique neque sodales eget..' + }, + { + id: 10, + img: '/images/searchResult/article_7.jpg', + author: 'Joseph Bonneau', + date: 'Aug. 4', + title: 'Why blockchain performance is hard to measure', + content: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi eget purus et lacus sollicitudin pharetra. Praesent placerat tempus metus, vehicula aliquet metus. Mauris non mattis nunc. Etiam ac dolor neque. Praesent dapibus ante id urna tempus vulputate. Fusce eu ultricies lorem, ac convallis mi. Aenean placerat faucibus nisi vitae dignissim. Phasellus finibus aliquet odio, vitae tristique neque sodales eget..' + }, + { + id: 11, + img: '/images/searchResult/article_2.jpg', + author: 'Jonathan Lai', + date: 'Jul. 21', + title: 'Investing Ready Player Me', + content: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi eget purus et lacus sollicitudin pharetra. Praesent placerat tempus metus, vehicula aliquet metus. Mauris non mattis nunc. Etiam ac dolor neque. Praesent dapibus ante id urna tempus vulputate. Fusce eu ultricies lorem, ac convallis mi. Aenean placerat faucibus nisi vitae dignissim. Phasellus finibus aliquet odio, vitae tristique neque sodales eget..' + }, + { + id: 12, + img: '/images/searchResult/article_6.jpg', + author: 'Ben Horowitz and David Weiden', + date: 'July. 20', + title: 'Ben Horowitz on how the best leaders build', + content: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi eget purus et lacus sollicitudin pharetra. Praesent placerat tempus metus, vehicula aliquet metus. Mauris non mattis nunc. Etiam ac dolor neque. Praesent dapibus ante id urna tempus vulputate. Fusce eu ultricies lorem, ac convallis mi. Aenean placerat faucibus nisi vitae dignissim. Phasellus finibus aliquet odio, vitae tristique neque sodales eget..' + }, + { + id: 13, + img: '/images/searchResult/article_4.jpg', + author: ' Jeff Stump and Shannon Barbour ', + date: 'July. 20', + title: 'The strategic approach to building a board', + content: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi eget purus et lacus sollicitudin pharetra. Praesent placerat tempus metus, vehicula aliquet metus. Mauris non mattis nunc. Etiam ac dolor neque. Praesent dapibus ante id urna tempus vulputate. Fusce eu ultricies lorem, ac convallis mi. Aenean placerat faucibus nisi vitae dignissim. Phasellus finibus aliquet odio, vitae tristique neque sodales eget..' + }, + { + id: 14, + img: '/images/searchResult/article_3.jpg', + author: ' Jeff Stump and Shannon Barbour ', + date: 'July. 20', + title: 'Composability is Decomposing', + content: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi eget purus et lacus sollicitudin pharetra. Praesent placerat tempus metus, vehicula aliquet metus. Mauris non mattis nunc. Etiam ac dolor neque. Praesent dapibus ante id urna tempus vulputate. Fusce eu ultricies lorem, ac convallis mi. Aenean placerat faucibus nisi vitae dignissim. Phasellus finibus aliquet odio, vitae tristique neque sodales eget..' + }, + { + id: 15, + img: '/images/searchResult/article_6.jpg', + author: ' Jeff Stump and Shannon Barbour ', + date: 'July. 20', + title: 'Crypto Visions (1997-2022)', + content: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi eget purus et lacus sollicitudin pharetra. Praesent placerat tempus metus, vehicula aliquet metus. Mauris non mattis nunc. Etiam ac dolor neque. Praesent dapibus ante id urna tempus vulputate. Fusce eu ultricies lorem, ac convallis mi. Aenean placerat faucibus nisi vitae dignissim. Phasellus finibus aliquet odio, vitae tristique neque sodales eget..' + }, + { + id: 16, + img: '/images/searchResult/article_1.jpg', + author: ' Jeff Stump and Shannon Barbour ', + date: 'July. 20', + title: 'Redefine NFT (Music, 4th-Dimension, Privacy, Interaction)', + content: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi eget purus et lacus sollicitudin pharetra. Praesent placerat tempus metus, vehicula aliquet metus. Mauris non mattis nunc. Etiam ac dolor neque. Praesent dapibus ante id urna tempus vulputate. Fusce eu ultricies lorem, ac convallis mi. Aenean placerat faucibus nisi vitae dignissim. Phasellus finibus aliquet odio, vitae tristique neque sodales eget..' + }, + { + id: 17, + img: '/images/searchResult/article_2.jpg', + author: ' Jeff Stump and Shannon Barbour ', + date: 'July. 20', + title: 'Composability is Decomposing', + content: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi eget purus et lacus sollicitudin pharetra. Praesent placerat tempus metus, vehicula aliquet metus. Mauris non mattis nunc. Etiam ac dolor neque. Praesent dapibus ante id urna tempus vulputate. Fusce eu ultricies lorem, ac convallis mi. Aenean placerat faucibus nisi vitae dignissim. Phasellus finibus aliquet odio, vitae tristique neque sodales eget..' + }, + { + id: 18, + img: '/images/searchResult/article_3.jpg', + author: ' Jeff Stump and Shannon Barbour ', + date: 'July. 20', + title: 'Crypto Visions (1997-2022)', + content: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi eget purus et lacus sollicitudin pharetra. Praesent placerat tempus metus, vehicula aliquet metus. Mauris non mattis nunc. Etiam ac dolor neque. Praesent dapibus ante id urna tempus vulputate. Fusce eu ultricies lorem, ac convallis mi. Aenean placerat faucibus nisi vitae dignissim. Phasellus finibus aliquet odio, vitae tristique neque sodales eget..' + }, + { + id: 19, + img: '/images/searchResult/article_4.jpg', + author: ' Jeff Stump and Shannon Barbour ', + date: 'July. 20', + title: 'Redefine NFT (Music, 4th-Dimension, Privacy, Interaction)', + content: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi eget purus et lacus sollicitudin pharetra. Praesent placerat tempus metus, vehicula aliquet metus. Mauris non mattis nunc. Etiam ac dolor neque. Praesent dapibus ante id urna tempus vulputate. Fusce eu ultricies lorem, ac convallis mi. Aenean placerat faucibus nisi vitae dignissim. Phasellus finibus aliquet odio, vitae tristique neque sodales eget..' + }, +] \ No newline at end of file diff --git a/src/assets/font-family/Cinzel/cinzel.woff.ttf b/src/assets/font-family/Cinzel/cinzel.woff.ttf new file mode 100644 index 0000000..67bde31 Binary files /dev/null and b/src/assets/font-family/Cinzel/cinzel.woff.ttf differ diff --git a/src/assets/font-family/Libre-Bodoni/libre-bodoni.ttf b/src/assets/font-family/Libre-Bodoni/libre-bodoni.ttf new file mode 100644 index 0000000..e5f12e7 Binary files /dev/null and b/src/assets/font-family/Libre-Bodoni/libre-bodoni.ttf differ diff --git a/src/assets/font-family/Raleway/Raleway-Regular-2.ttf b/src/assets/font-family/Raleway/Raleway-Regular-2.ttf new file mode 100644 index 0000000..e570a2d Binary files /dev/null and b/src/assets/font-family/Raleway/Raleway-Regular-2.ttf differ diff --git a/src/assets/font-family/Raleway/Raleway-SemiBold.ttf b/src/assets/font-family/Raleway/Raleway-SemiBold.ttf new file mode 100644 index 0000000..78f4321 Binary files /dev/null and b/src/assets/font-family/Raleway/Raleway-SemiBold.ttf differ diff --git a/src/assets/next.svg b/src/assets/next.svg new file mode 100644 index 0000000..8a08274 --- /dev/null +++ b/src/assets/next.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/prev.svg b/src/assets/prev.svg new file mode 100644 index 0000000..1d78fd2 --- /dev/null +++ b/src/assets/prev.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/components/ArticleCom.vue b/src/components/ArticleCom.vue new file mode 100644 index 0000000..96e70ec --- /dev/null +++ b/src/components/ArticleCom.vue @@ -0,0 +1,54 @@ + + + + + \ No newline at end of file diff --git a/src/components/BigTitleCom.vue b/src/components/BigTitleCom.vue new file mode 100644 index 0000000..b3554c6 --- /dev/null +++ b/src/components/BigTitleCom.vue @@ -0,0 +1,74 @@ + + + + + diff --git a/src/components/ChangeNext.vue b/src/components/ChangeNext.vue new file mode 100644 index 0000000..5967016 --- /dev/null +++ b/src/components/ChangeNext.vue @@ -0,0 +1,27 @@ + + + + + diff --git a/src/components/ChangePrev.vue b/src/components/ChangePrev.vue new file mode 100644 index 0000000..698ec2d --- /dev/null +++ b/src/components/ChangePrev.vue @@ -0,0 +1,26 @@ + + + + + diff --git a/src/components/FooterCom.vue b/src/components/FooterCom.vue new file mode 100644 index 0000000..4f41862 --- /dev/null +++ b/src/components/FooterCom.vue @@ -0,0 +1,305 @@ + + + diff --git a/src/components/HeaderCom.vue b/src/components/HeaderCom.vue new file mode 100644 index 0000000..f044d9e --- /dev/null +++ b/src/components/HeaderCom.vue @@ -0,0 +1,501 @@ + + + diff --git a/src/components/LineCom.vue b/src/components/LineCom.vue new file mode 100644 index 0000000..6e71d4d --- /dev/null +++ b/src/components/LineCom.vue @@ -0,0 +1,18 @@ + + + + + \ No newline at end of file diff --git a/src/components/LineTitleCom.vue b/src/components/LineTitleCom.vue new file mode 100644 index 0000000..a185442 --- /dev/null +++ b/src/components/LineTitleCom.vue @@ -0,0 +1,52 @@ + + + + + \ No newline at end of file diff --git a/src/components/MediaCom.vue b/src/components/MediaCom.vue new file mode 100644 index 0000000..956e4af --- /dev/null +++ b/src/components/MediaCom.vue @@ -0,0 +1,226 @@ + + + + + diff --git a/src/components/MembersCom.vue b/src/components/MembersCom.vue new file mode 100644 index 0000000..a932718 --- /dev/null +++ b/src/components/MembersCom.vue @@ -0,0 +1,204 @@ + + + + + diff --git a/src/components/MenuComp.vue b/src/components/MenuComp.vue new file mode 100644 index 0000000..9929b37 --- /dev/null +++ b/src/components/MenuComp.vue @@ -0,0 +1,111 @@ + + + + + diff --git a/src/components/NewsCom.vue b/src/components/NewsCom.vue new file mode 100644 index 0000000..077a8a7 --- /dev/null +++ b/src/components/NewsCom.vue @@ -0,0 +1,237 @@ + + + + + diff --git a/src/components/PaginationCom.vue b/src/components/PaginationCom.vue new file mode 100644 index 0000000..c1f4516 --- /dev/null +++ b/src/components/PaginationCom.vue @@ -0,0 +1,85 @@ + + + + + diff --git a/src/components/ResearchCom.vue b/src/components/ResearchCom.vue new file mode 100644 index 0000000..0348944 --- /dev/null +++ b/src/components/ResearchCom.vue @@ -0,0 +1,258 @@ + + + diff --git a/src/components/SideTitleCom.vue b/src/components/SideTitleCom.vue new file mode 100644 index 0000000..7a9642f --- /dev/null +++ b/src/components/SideTitleCom.vue @@ -0,0 +1,23 @@ + + + diff --git a/src/main.js b/src/main.js new file mode 100644 index 0000000..6a895d9 --- /dev/null +++ b/src/main.js @@ -0,0 +1,15 @@ +import { createApp } from 'vue' +import './style.css' +import App from './App.vue' +import router from './router' +import store from './store' +import 'lib-flexible' +import { Popup, Icon, Col, Row, Pagination } from 'vant' + +HTMLInputElement.prototype["_focus"] = HTMLInputElement.prototype.focus; +HTMLInputElement.prototype.focus = function () { + console.log("调用focus::", this); + this["_focus"](); +} + +createApp(App).use(router).use(store).use(Popup).use(Icon).use(Col).use(Row).use(Pagination).mount('#app') diff --git a/src/router/index.js b/src/router/index.js new file mode 100644 index 0000000..779a846 --- /dev/null +++ b/src/router/index.js @@ -0,0 +1,66 @@ +import {createRouter, createWebHashHistory, createWebHistory} from 'vue-router' + +const routes = [ + { + path: '/', + name: 'home', + component: () => import('../views/HomeView.vue') + }, + { + path: '/news', + name: 'news', + component: () => import('../views/NewsView.vue') + }, + { + path: '/portfolio', + name: 'portfolio', + component: () => import('../views/PortfolioView.vue') + }, + { + path: '/about', + name: 'about', + component: () => import('../views/AboutView.vue') + }, + { + path: '/research', + name: 'Research', + component: () => import('../views/Research.vue') + }, + { + path: '/ContentPages', + name: 'ContentPages', + component: () => import('../views/ContentPagesView.vue') + }, + { + path: '/hackathon', + name: 'hackathon', + component: () => import('../views/HackathonView.vue') + }, + { + path: '/search/result', + name: 'searchResult', + component: () => import('../views/SearchResultView.vue') + }, + { + path: '/terms', + name: 'terms', + component: () => import('../views/TermsView.vue') + }, + { + path: '/privacy', + name: 'privacy', + component: () => import('../views/PrivacyView.vue') + }, + { + path: '/media', + name: 'media', + component: () => import('../views/MediaView.vue') + }, +] + +const router = createRouter({ + history: createWebHistory(), + routes +}) + +export default router diff --git a/src/store/index.js b/src/store/index.js new file mode 100644 index 0000000..4b2b4fd --- /dev/null +++ b/src/store/index.js @@ -0,0 +1,50 @@ +import { createStore } from 'vuex' + +import createPersistedstate from 'vuex-persistedstate' + +export default createStore({ + state: { + searchVal:'', + navList: [], + routerList: [] + }, + getters: { + navList: state=>state.navList, + routerList: state=>state.routerList, + }, + mutations: { + changeSearchVal(state,val){ + state.searchVal = val + }, + changeNavList(state, val) { + let data = [] + const getData = (tree) =>{ + if (tree) { + for (let i = 0; i < tree.length; i++) { + const item = tree[i]; + if (item.children && item.children.length) { + getData(item.children) + }else { + data.push(item) + } + } + } + } + getData(val) + state.routerList = val + state.navList = data + } + }, + actions: { + }, + modules: { + }, + plugins: [ + //默认是存储在localStorage中 + createPersistedstate({ + // key: 存储数据的键名 + key: 'longStore', + //paths:存储state中的那些数据 + paths: ['searchVal', 'navList', "routerList"] + })] +}) diff --git a/src/style.css b/src/style.css new file mode 100644 index 0000000..c03b8db --- /dev/null +++ b/src/style.css @@ -0,0 +1,267 @@ +* { + box-sizing: border-box; + background-repeat: no-repeat; +} + +body { + padding: 0; + margin: 0; + background: #f5f5f5; +} + +a{ + color: #000000; +} + +.block{ + width: 100%; + height: 16px; +} + +.container{ + max-width: 1000px; + margin: 0 auto; + padding: 0px 28px; +} + +.clear::after { + content: ''; + display: block; + width: 0px; + height: 0px; + clear: both; +} + +.flex { + display: flex; +} + +.overflow { + overflow: hidden; +} + +@font-face { + font-family: 'Cinzel'; + src: url('./assets/font-family/Cinzel/cinzel.woff.ttf'); +} + +@font-face { + font-family: 'Raleway'; + src: url('./assets/font-family/Raleway/Raleway-Regular-2.ttf'); +} +@font-face { + font-family: 'Raleway-Semibold'; + src: url('./assets/font-family/Raleway/Raleway-SemiBold.ttf') format('truetype'); +} + +@font-face { + font-family: 'Libre Bodoni'; + src: url('./assets/font-family/Libre-Bodoni/libre-bodoni.ttf'); +} + +@media screen and (max-width: 431Px) and (min-width: 0Px) { + .nav{ + padding: 24px !important; + } + #header{ + height: 36px !important; + } + .block{ + height: 48px !important; + } + .icon{ + top: 20% !important; + } + .logo-text{ + top: 0px !important; + } + .container,.update,.research{ + padding: 24px 24px !important; + } + .updates{ + padding-bottom: 0 !important; + } + .update-modules { + flex-direction: column !important; + margin: 24px 0 0 !important; + } + .update-module{ + width: 314px !important; + margin: 0 !important; + } + .update-content{ + width: 314px !important; + } + .update-module:nth-of-type(3) { + display: none; + } + .research-info{ + width: 375px; + } + #footer{ + padding: 20px 0 !important; + } + .footer-item{ + position: relative; + width: 375px !important; + text-align: left !important; + } + .search{ + display: none; + } + .description { + width: 327px !important; + } + .banner{ + padding-top: 64px !important; + padding-bottom: 64px; + /* height: 256px !important; */ + } + .hero-title { + font-size: 30Px !important; + line-height: 36px !important; + } + .footer-logo{ + /*width:140px !important;*/ + /*height: 24px !important;*/ + /*background: url('/images/Logo_mono_text.png') no-repeat center/100% !important;*/ + } + .subscribe{ + margin-top: 38px !important; + font-size: 18px !important; + } + .small-font{ + font-size: 12px !important; + line-height: 16px !important; + } + .email{ + justify-content: flex-start !important; + } + .email-input{ + width: 240px !important; + height: 24px !important; + } + .submit{ + height: 24px !important; + } + .arrow-right{ + width: 40px !important; + } + .arrow-right>img{ + width: 20px !important; + left: 10px !important; + top: 3px !important; + } + .social>img{ + width: 16px !important; + height: 16px !important; + margin-left: 0 !important; + margin-right: 24px !important; + } + .footer-provider{ + margin-top: 10px !important; + } + .popup-logo{ + /*width: 24px !important;*/ + /*background-image: url(/images/Logo.svg) !important;*/ + } + .view-all{ + padding: 0px !important; + } + .menu-bar { + padding: 10px 24px 40px !important; + } + .nav-search{ + padding: 0 24px !important; + } + .nav-close{ + padding: 24px 24px !important; + } +} + +@media screen and (max-width: 1440Px) and (min-width: 431Px) { + .update-modules { + flex-direction: row; + justify-content: space-around !important; + } + .update-module:nth-of-type(3) { + display: none; + } + .research-img{ + width: 135px !important; + height: 90px !important; + } + .research-img img{ + width: 135px !important; + height: 90px !important; + } + .banner{ + padding-top: 60px !important; + padding-bottom: 60px !important; + } + .hero-title { + font-size: 39px !important; + line-height: 51px !important; + } +} + +@media screen and (min-width: 1440Px) and (max-width: 100vw){ + #header,.nav{ + height: 48px !important; + } + .block{ + height: 56px !important; + } + .logo-text{ + top: 12px !important; + } + .container,.research{ + padding: 24px 52px !important; + } + .update-modules{ + padding: 24px -10px 0 !important; + } + .update-modules { + flex-direction: row; + } + .update-module:nth-of-type(3) { + display: block; + } + .research-info{ + width: 840px; + } + .research-img{ + /*width: 300px !important;*/ + /*height: 200px !important;*/ + /*margin-right: 120px !important;*/ + } + .research-img>img{ + /*width: 210px !important;*/ + /*height: 140px !important;*/ + } + .banner{ + padding-top: 80px !important; + padding-bottom: 80px !important; + } + .hero-title { + font-size: 56px !important; + line-height: 72px !important; + } + .subscribe{ + font-size: 16px !important; + } + .email-input{ + width: 172px !important; + height: 16px !important; + } + .submit{ + height: 16px !important; + } + .arrow-right>img{ + width: 20px; + top: 20% !important; + } + .line{ + padding: 0 12px !important; + } +} diff --git a/src/utils/request.js b/src/utils/request.js new file mode 100644 index 0000000..6ea0fb6 --- /dev/null +++ b/src/utils/request.js @@ -0,0 +1,22 @@ +import axios from "axios"; +// import +const request = axios.create({ + baseURL: import.meta.env.DEV ? import.meta.env.VITE_DOMAIN_URL: import.meta.env.VITE_DOMAIN_URL, + timeout: 1000*60, + headers:{ + 'Access-Control-Allow-Origin':'*' + } +}) + +request.interceptors.response.use((config)=>{ + + + if (config.data.code !== 1) { + console.log('alarm>>>>>>>error:>>>', config.config.url, config.data.msg) + } + return config.data +}, (e)=>{ + console.log('alarm>>>>>>>error:>>>', e) +}) + +export default request diff --git a/src/utils/tools.js b/src/utils/tools.js new file mode 100644 index 0000000..bc9d459 --- /dev/null +++ b/src/utils/tools.js @@ -0,0 +1,40 @@ +// 函数防抖 Function of the debounce + +export const debounce = (fn, interval = 500) => { + let timeout = null; + return function () { + clearTimeout(timeout); + timeout = setTimeout(() => { + fn.apply(this, arguments); + }, interval); + }; +} + +// 函数节流 Function of the throttle + +export const throttle = (fn, interval = 500) => { + let canRun = true; + return function () { + if (!canRun) return; + canRun = false; + setTimeout(() => { + fn.apply(this, arguments); + canRun = true; + }, interval); + }; +} + +export const isTrue = function (bool) { + return new Promise((resolve,reject) => { + if(bool) resolve() + }) +} +// +export const transformDate = (timestamp)=>{ + if (timestamp) { + let _time = new Date(typeof timestamp === 'string' ? timestamp : timestamp * 1000).toDateString() + _time = _time.split(' ') + return _time[1]+ '. ' + _time[2] + ' ' + _time[3]; + } + return '' +} diff --git a/src/utils/useTitleInfo.js b/src/utils/useTitleInfo.js new file mode 100644 index 0000000..4f97c19 --- /dev/null +++ b/src/utils/useTitleInfo.js @@ -0,0 +1,27 @@ +import {useRoute} from "vue-router"; +import {reactive} from "vue"; +import {getNavInfoApi} from "../api/manage.js"; +import {useStore} from "vuex"; + +export default function useTitleInfo(){ + const route = useRoute() + const store = useStore() + const titleInfo = reactive({ + title:'', + subTitle:'' + }) + console.log(route, store) + const getTitle = ()=>{ + getNavInfoApi({ + title: store.getters.navList.find(it=> it.link === route.path)?.title ?? '' + }).then(res=>{ + if (res.data) { + titleInfo.title = res.data.title; + titleInfo.subTitle = res.data.description; + } + }) + } + getTitle(); + return titleInfo + +} diff --git a/src/views/AboutView.vue b/src/views/AboutView.vue new file mode 100644 index 0000000..1c5d5a1 --- /dev/null +++ b/src/views/AboutView.vue @@ -0,0 +1,289 @@ + + + diff --git a/src/views/ContentPagesView.vue b/src/views/ContentPagesView.vue new file mode 100644 index 0000000..f3e4d2d --- /dev/null +++ b/src/views/ContentPagesView.vue @@ -0,0 +1,698 @@ + + + diff --git a/src/views/HackathonView.vue b/src/views/HackathonView.vue new file mode 100644 index 0000000..7f54a92 --- /dev/null +++ b/src/views/HackathonView.vue @@ -0,0 +1,304 @@ + + + + + diff --git a/src/views/HomeView.vue b/src/views/HomeView.vue new file mode 100644 index 0000000..2919d08 --- /dev/null +++ b/src/views/HomeView.vue @@ -0,0 +1,284 @@ + + + diff --git a/src/views/MediaView.vue b/src/views/MediaView.vue new file mode 100644 index 0000000..11a1b0a --- /dev/null +++ b/src/views/MediaView.vue @@ -0,0 +1,118 @@ + + + + + diff --git a/src/views/NewsView.vue b/src/views/NewsView.vue new file mode 100644 index 0000000..fcf30e8 --- /dev/null +++ b/src/views/NewsView.vue @@ -0,0 +1,131 @@ + + + + + diff --git a/src/views/PortfolioView.vue b/src/views/PortfolioView.vue new file mode 100644 index 0000000..53bb520 --- /dev/null +++ b/src/views/PortfolioView.vue @@ -0,0 +1,447 @@ + + + + + diff --git a/src/views/PrivacyView.vue b/src/views/PrivacyView.vue new file mode 100644 index 0000000..dbf85d9 --- /dev/null +++ b/src/views/PrivacyView.vue @@ -0,0 +1,36 @@ + + + + + diff --git a/src/views/Research.vue b/src/views/Research.vue new file mode 100644 index 0000000..39deb1d --- /dev/null +++ b/src/views/Research.vue @@ -0,0 +1,380 @@ + + + diff --git a/src/views/SearchResultView.vue b/src/views/SearchResultView.vue new file mode 100644 index 0000000..f31b6ee --- /dev/null +++ b/src/views/SearchResultView.vue @@ -0,0 +1,458 @@ + + + + + diff --git a/src/views/TermsView.vue b/src/views/TermsView.vue new file mode 100644 index 0000000..5014bef --- /dev/null +++ b/src/views/TermsView.vue @@ -0,0 +1,37 @@ + + + + + diff --git a/vite.config.js b/vite.config.js new file mode 100644 index 0000000..de3eac4 --- /dev/null +++ b/vite.config.js @@ -0,0 +1,45 @@ +import { defineConfig,loadEnv } from 'vite' +import vue from '@vitejs/plugin-vue' +import Components from 'unplugin-vue-components/vite' +import { VantResolver } from 'unplugin-vue-components/resolvers' + +// https://vitejs.dev/config/ + +/** + * @type {import('vite').UserConfig} + */ +export default defineConfig(({mode})=>{ + const {VITE_API_URL, VITE_DOMAIN_URL, VITE_IMG_API_URL, VITE_IMG_DOMAIN_URL} = loadEnv(mode, process.cwd()) + return { + plugins: [ + vue(), + Components({ + resolvers: [VantResolver()] + }) + ], + server:{ + host: true, + proxy: { + [VITE_API_URL]: { + target: VITE_DOMAIN_URL, + changeOrigin: true, + ws: true, + rewrite: path=> path.replace(new RegExp(`^${VITE_API_URL}`), ''), + }, + [VITE_IMG_API_URL]: { + target: VITE_IMG_DOMAIN_URL, + changeOrigin: true, + ws: true, + rewrite: path=> path.replace(new RegExp(`^${VITE_IMG_API_URL}`), ''), + } + } + }, + build: { + rollupOptions: { + external: [ + "element-plus", + ], + }, + } + } +})