diff --git a/web-ui/components.d.ts b/web-ui/components.d.ts index b6cbf09d4926278565afa94b577f480f47731aab..7a83e47d37bf379261489b7b42e67815083ae3f0 100644 --- a/web-ui/components.d.ts +++ b/web-ui/components.d.ts @@ -4,6 +4,7 @@ declare module 'vue' { export interface GlobalComponents { + AppContent: typeof import('./src/components/AppContent.vue')['default'] AppFooter: typeof import('./src/components/AppFooter.vue')['default'] AppHeader: typeof import('./src/components/AppHeader.vue')['default'] ElOption: typeof import('element-plus/es')['ElOption'] diff --git a/web-ui/pnpm-lock.yaml b/web-ui/pnpm-lock.yaml index 2a8da15a47fefd393552be1784c376bc57d2fbf6..645a81da90cbc636624e665f1f46eea07a6fd12c 100644 --- a/web-ui/pnpm-lock.yaml +++ b/web-ui/pnpm-lock.yaml @@ -1,4 +1,4 @@ -lockfileVersion: 5.3 +lockfileVersion: 5.4 specifiers: '@types/lodash-es': ^4.17.6 @@ -29,18 +29,18 @@ dependencies: axios: 0.26.1 element-plus: 2.2.0_vue@3.2.33 normalize.css: 8.0.1 - pinia: 2.0.14_typescript@4.6.4+vue@3.2.33 + pinia: 2.0.14_ytvqwwdyss532bvoq2clv4ed5m vue: 3.2.33 vue-router: 4.0.13_vue@3.2.33 devDependencies: '@types/lodash-es': 4.17.6 '@types/node': 17.0.34 - '@typescript-eslint/eslint-plugin': 5.24.0_b7082f82c31c8938795d79ce8f1e88a5 - '@typescript-eslint/parser': 5.24.0_eslint@8.15.0+typescript@4.6.4 + '@typescript-eslint/eslint-plugin': 5.24.0_w4ec7awddsetq6k5phhi6huiuu + '@typescript-eslint/parser': 5.24.0_hcfsmds2fshutdssjqluwm76uu '@vitejs/plugin-vue': 2.3.3_vite@2.9.9+vue@3.2.33 - '@vue/eslint-config-prettier': 7.0.0_eslint@8.15.0+prettier@2.6.2 - '@vue/eslint-config-typescript': 10.0.0_7f105dc3ebd31cec885fdbbd30d5cc4c + '@vue/eslint-config-prettier': 7.0.0_bppm6sp3oxoychvfagx6tcd7pe + '@vue/eslint-config-typescript': 10.0.0_p4if3q7l2moozcc73o6tbvomjq eslint: 8.15.0 eslint-plugin-vue: 8.7.1_eslint@8.15.0 prettier: 2.6.2 @@ -61,12 +61,13 @@ packages: /@babel/helper-validator-identifier/7.16.7: resolution: {integrity: sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==} engines: {node: '>=6.9.0'} - dev: true /@babel/parser/7.17.12: resolution: {integrity: sha512-FLzHmN9V3AJIrWfOpvRlZCeVg/WLdicSnTMsLur6uDj9TT8ymUlG9XxURdW/XvuygK+2CW0poOJABdA4m/YKxA==} engines: {node: '>=6.0.0'} hasBin: true + dependencies: + '@babel/types': 7.17.12 /@babel/types/7.17.12: resolution: {integrity: sha512-rH8i29wcZ6x9xjzI5ILHL/yZkbQnCERdHlogKuIb4PUr7do4iT8DPekrTbBLWTnRQm6U0GYABbTMSzijmEqlAg==} @@ -74,7 +75,6 @@ packages: dependencies: '@babel/helper-validator-identifier': 7.16.7 to-fast-properties: 2.0.0 - dev: true /@ctrl/tinycolor/3.4.1: resolution: {integrity: sha512-ej5oVy6lykXsvieQtqZxCOaLT+xD4+QNarq78cIYISHmZXshCvROLudpQN3lfL8G0NL7plMSSK+zlyvCaIJ4Iw==} @@ -207,7 +207,7 @@ packages: '@types/node': 17.0.34 dev: true - /@typescript-eslint/eslint-plugin/5.24.0_b7082f82c31c8938795d79ce8f1e88a5: + /@typescript-eslint/eslint-plugin/5.24.0_w4ec7awddsetq6k5phhi6huiuu: resolution: {integrity: sha512-6bqFGk6wa9+6RrU++eLknKyDqXU1Oc8nyoLu5a1fU17PNRJd9UBr56rMF7c4DRaRtnarlkQ4jwxUbvBo8cNlpw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -218,10 +218,10 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/parser': 5.24.0_eslint@8.15.0+typescript@4.6.4 + '@typescript-eslint/parser': 5.24.0_hcfsmds2fshutdssjqluwm76uu '@typescript-eslint/scope-manager': 5.24.0 - '@typescript-eslint/type-utils': 5.24.0_eslint@8.15.0+typescript@4.6.4 - '@typescript-eslint/utils': 5.24.0_eslint@8.15.0+typescript@4.6.4 + '@typescript-eslint/type-utils': 5.24.0_hcfsmds2fshutdssjqluwm76uu + '@typescript-eslint/utils': 5.24.0_hcfsmds2fshutdssjqluwm76uu debug: 4.3.4 eslint: 8.15.0 functional-red-black-tree: 1.0.1 @@ -234,7 +234,7 @@ packages: - supports-color dev: true - /@typescript-eslint/parser/5.24.0_eslint@8.15.0+typescript@4.6.4: + /@typescript-eslint/parser/5.24.0_hcfsmds2fshutdssjqluwm76uu: resolution: {integrity: sha512-4q29C6xFYZ5B2CXqSBBdcS0lPyfM9M09DoQLtHS5kf+WbpV8pBBhHDLNhXfgyVwFnhrhYzOu7xmg02DzxeF2Uw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -262,7 +262,7 @@ packages: '@typescript-eslint/visitor-keys': 5.24.0 dev: true - /@typescript-eslint/type-utils/5.24.0_eslint@8.15.0+typescript@4.6.4: + /@typescript-eslint/type-utils/5.24.0_hcfsmds2fshutdssjqluwm76uu: resolution: {integrity: sha512-uGi+sQiM6E5CeCZYBXiaIvIChBXru4LZ1tMoeKbh1Lze+8BO9syUG07594C4lvN2YPT4KVeIupOJkVI+9/DAmQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -272,7 +272,7 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/utils': 5.24.0_eslint@8.15.0+typescript@4.6.4 + '@typescript-eslint/utils': 5.24.0_hcfsmds2fshutdssjqluwm76uu debug: 4.3.4 eslint: 8.15.0 tsutils: 3.21.0_typescript@4.6.4 @@ -307,7 +307,7 @@ packages: - supports-color dev: true - /@typescript-eslint/utils/5.24.0_eslint@8.15.0+typescript@4.6.4: + /@typescript-eslint/utils/5.24.0_hcfsmds2fshutdssjqluwm76uu: resolution: {integrity: sha512-K05sbWoeCBJH8KXu6hetBJ+ukG0k2u2KlgD3bN+v+oBKm8adJqVHpSSLHNzqyuv0Lh4GVSAUgZ5lB4icmPmWLw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -432,20 +432,18 @@ packages: magic-string: 0.25.9 postcss: 8.4.13 source-map: 0.6.1 - dev: false /@vue/compiler-ssr/3.2.33: resolution: {integrity: sha512-XQh1Xdk3VquDpXsnoCd7JnMoWec9CfAzQDQsaMcSU79OrrO2PNR0ErlIjm/mGq3GmBfkQjzZACV+7GhfRB8xMQ==} dependencies: '@vue/compiler-dom': 3.2.33 '@vue/shared': 3.2.33 - dev: false /@vue/devtools-api/6.1.4: resolution: {integrity: sha512-IiA0SvDrJEgXvVxjNkHPFfDx6SXw0b/TUkqMcDZWNg9fnCAHbTpoo59YfJ9QLFkwa3raau5vSlRVzMSLDnfdtQ==} dev: false - /@vue/eslint-config-prettier/7.0.0_eslint@8.15.0+prettier@2.6.2: + /@vue/eslint-config-prettier/7.0.0_bppm6sp3oxoychvfagx6tcd7pe: resolution: {integrity: sha512-/CTc6ML3Wta1tCe1gUeO0EYnVXfo3nJXsIhZ8WJr3sov+cGASr6yuiibJTL6lmIBm7GobopToOuB3B6AWyV0Iw==} peerDependencies: eslint: '>= 7.28.0' @@ -453,25 +451,29 @@ packages: dependencies: eslint: 8.15.0 eslint-config-prettier: 8.5.0_eslint@8.15.0 - eslint-plugin-prettier: 4.0.0_440b30a60bbe5bb6e3ad0057150b2782 + eslint-plugin-prettier: 4.0.0_iqftbjqlxzn3ny5nablrkczhqi prettier: 2.6.2 dev: true - /@vue/eslint-config-typescript/10.0.0_7f105dc3ebd31cec885fdbbd30d5cc4c: + /@vue/eslint-config-typescript/10.0.0_p4if3q7l2moozcc73o6tbvomjq: resolution: {integrity: sha512-F94cL8ug3FaYXlCfU5/wiGjk1qeadmoBpRGAOBq+qre3Smdupa59dd6ZJrsfRODpsMPyTG7330juMDsUvpZ3Rw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 eslint-plugin-vue: ^8.0.1 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true dependencies: - '@typescript-eslint/eslint-plugin': 5.24.0_b7082f82c31c8938795d79ce8f1e88a5 - '@typescript-eslint/parser': 5.24.0_eslint@8.15.0+typescript@4.6.4 + '@typescript-eslint/eslint-plugin': 5.24.0_w4ec7awddsetq6k5phhi6huiuu + '@typescript-eslint/parser': 5.24.0_hcfsmds2fshutdssjqluwm76uu eslint: 8.15.0 eslint-plugin-vue: 8.7.1_eslint@8.15.0 + typescript: 4.6.4 vue-eslint-parser: 8.3.0_eslint@8.15.0 transitivePeerDependencies: - supports-color - - typescript dev: true /@vue/reactivity-transform/3.2.33: @@ -482,7 +484,6 @@ packages: '@vue/shared': 3.2.33 estree-walker: 2.0.2 magic-string: 0.25.9 - dev: false /@vue/reactivity/3.2.33: resolution: {integrity: sha512-62Sq0mp9/0bLmDuxuLD5CIaMG2susFAGARLuZ/5jkU1FCf9EDbwUuF+BO8Ub3Rbodx0ziIecM/NsmyjardBxfQ==} @@ -494,7 +495,6 @@ packages: dependencies: '@vue/reactivity': 3.2.33 '@vue/shared': 3.2.33 - dev: false /@vue/runtime-dom/3.2.33: resolution: {integrity: sha512-LSrJ6W7CZTSUygX5s8aFkraDWlO6K4geOwA3quFF2O+hC3QuAMZt/0Xb7JKE3C4JD4pFwCSO7oCrZmZ0BIJUnw==} @@ -502,7 +502,6 @@ packages: '@vue/runtime-core': 3.2.33 '@vue/shared': 3.2.33 csstype: 2.6.20 - dev: false /@vue/server-renderer/3.2.33_vue@3.2.33: resolution: {integrity: sha512-4jpJHRD4ORv8PlbYi+/MfP8ec1okz6rybe36MdpkDrGIdEItHEUyaHSKvz+ptNEyQpALmmVfRteHkU9F8vxOew==} @@ -512,7 +511,6 @@ packages: '@vue/compiler-ssr': 3.2.33 '@vue/shared': 3.2.33 vue: 3.2.33 - dev: false /@vue/shared/3.2.33: resolution: {integrity: sha512-UBc1Pg1T3yZ97vsA2ueER0F6GbJebLHYlEi4ou1H5YL4KWvMOOWwpYo9/QpWq93wxKG6Wo13IY74Hcn/f7c7Bg==} @@ -740,6 +738,8 @@ packages: snapdragon-node: 2.1.1 split-string: 3.1.0 to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color dev: true /braces/3.0.2: @@ -930,7 +930,6 @@ packages: /csstype/2.6.20: resolution: {integrity: sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA==} - dev: false /dayjs/1.11.2: resolution: {integrity: sha512-F4LXf1OeU9hrSYRPTTj/6FbO4HTjPKXvEIC1P2kcnFurViINCVk3ZV0xAS3XVx9MkMsXbbqlK6hjseaYbgKEHw==} @@ -938,6 +937,11 @@ packages: /debug/2.6.9: resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true dependencies: ms: 2.0.0 dev: true @@ -1071,7 +1075,7 @@ packages: escape-html: 1.0.3 lodash: 4.17.21 lodash-es: 4.17.21 - lodash-unified: 1.0.2_da03a4540fbd16bbaafbb96724306afd + lodash-unified: 1.0.2_3ib2ivapxullxkx3xftsimdk7u memoize-one: 6.0.0 normalize-wheel-es: 1.1.2 vue: 3.2.33 @@ -1335,7 +1339,7 @@ packages: eslint: 8.15.0 dev: true - /eslint-plugin-prettier/4.0.0_440b30a60bbe5bb6e3ad0057150b2782: + /eslint-plugin-prettier/4.0.0_iqftbjqlxzn3ny5nablrkczhqi: resolution: {integrity: sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ==} engines: {node: '>=6.0.0'} peerDependencies: @@ -1506,6 +1510,8 @@ packages: regex-not: 1.0.2 snapdragon: 0.8.2 to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color dev: true /extend-shallow/2.0.1: @@ -1535,6 +1541,8 @@ packages: regex-not: 1.0.2 snapdragon: 0.8.2 to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color dev: true /fast-deep-equal/3.1.3: @@ -2107,7 +2115,7 @@ packages: resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} dev: false - /lodash-unified/1.0.2_da03a4540fbd16bbaafbb96724306afd: + /lodash-unified/1.0.2_3ib2ivapxullxkx3xftsimdk7u: resolution: {integrity: sha512-OGbEy+1P+UT26CYi4opY4gebD8cWRDxAT6MAObIVQMiqYdxZr1g3QHWCToVsm31x2NkLS4K3+MC2qInaRMa39g==} peerDependencies: '@types/lodash-es': '*' @@ -2137,7 +2145,6 @@ packages: resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} dependencies: sourcemap-codec: 1.4.8 - dev: false /magic-string/0.26.2: resolution: {integrity: sha512-NzzlXpclt5zAbmo6h6jNc8zl2gNRGHvmsZW4IvZhTC4W7k4OlLP+S5YLussa/r3ixNT66KOQfNORlXHSOy/X4A==} @@ -2195,6 +2202,8 @@ packages: regex-not: 1.0.2 snapdragon: 0.8.2 to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color dev: true /micromatch/4.0.5: @@ -2258,6 +2267,8 @@ packages: regex-not: 1.0.2 snapdragon: 0.8.2 to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color dev: true /natural-compare/1.4.0: @@ -2372,7 +2383,7 @@ packages: engines: {node: '>=8.6'} dev: true - /pinia/2.0.14_typescript@4.6.4+vue@3.2.33: + /pinia/2.0.14_ytvqwwdyss532bvoq2clv4ed5m: resolution: {integrity: sha512-0nPuZR4TetT/WcLN+feMSjWJku3SQU7dBbXC6uw+R6FLQJCsg+/0pzXyD82T1FmAYe0lsx+jnEDQ1BLgkRKlxA==} peerDependencies: '@vue/composition-api': ^1.4.0 @@ -2772,6 +2783,8 @@ packages: source-map: 0.5.7 source-map-resolve: 0.5.3 use: 3.1.1 + transitivePeerDependencies: + - supports-color dev: true /source-map-js/1.0.2: @@ -2895,6 +2908,8 @@ packages: posthtml-svg-mode: 1.0.3 query-string: 4.3.4 traverse: 0.6.6 + transitivePeerDependencies: + - supports-color dev: true /svgo/2.8.0: @@ -2918,7 +2933,6 @@ packages: /to-fast-properties/2.0.0: resolution: {integrity: sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=} engines: {node: '>=4'} - dev: true /to-object-path/0.3.0: resolution: {integrity: sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=} @@ -2990,7 +3004,6 @@ packages: resolution: {integrity: sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==} engines: {node: '>=4.2.0'} hasBin: true - dev: true /union-value/1.0.1: resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==} @@ -3349,7 +3362,6 @@ packages: '@vue/runtime-dom': 3.2.33 '@vue/server-renderer': 3.2.33_vue@3.2.33 '@vue/shared': 3.2.33 - dev: false /webpack-virtual-modules/0.4.3: resolution: {integrity: sha512-5NUqC2JquIL2pBAAo/VfBP6KuGkHIZQXW/lNKupLPfhViwh8wNsu0BObtl09yuKZszeEUfbXz8xhrHvSG16Nqw==} diff --git a/web-ui/src/assets/footer-img/atom-mo.png b/web-ui/src/assets/footer-img/atom-mo.png deleted file mode 100644 index 9aa3dda40b4e97203e1e1d3f019f720dc6783651..0000000000000000000000000000000000000000 Binary files a/web-ui/src/assets/footer-img/atom-mo.png and /dev/null differ diff --git a/web-ui/src/assets/footer-img/atom-pc.png b/web-ui/src/assets/footer-img/atom-pc.png deleted file mode 100644 index a5feafdd08c47ed32452b9ad23364bf28f1df44d..0000000000000000000000000000000000000000 Binary files a/web-ui/src/assets/footer-img/atom-pc.png and /dev/null differ diff --git a/web-ui/src/assets/footer-img/footer-logo2.svg b/web-ui/src/assets/footer-img/footer-logo2.svg deleted file mode 100644 index 3023ab1a3288d82157f84cff4cc68dc3cf861fc1..0000000000000000000000000000000000000000 --- a/web-ui/src/assets/footer-img/footer-logo2.svg +++ /dev/null @@ -1,33 +0,0 @@ - - - 页尾logo(手机网页共用) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/web-ui/src/assets/footer-img/qrcode.png b/web-ui/src/assets/footer-img/qrcode.png deleted file mode 100644 index ea524b978506fb77676aee485d468f2af3abd51a..0000000000000000000000000000000000000000 Binary files a/web-ui/src/assets/footer-img/qrcode.png and /dev/null differ diff --git a/web-ui/src/assets/footer/51cto.png b/web-ui/src/assets/footer/51cto.png new file mode 100644 index 0000000000000000000000000000000000000000..ad23c8864144205ec040b464cd9f27ce63d2a2d8 Binary files /dev/null and b/web-ui/src/assets/footer/51cto.png differ diff --git a/web-ui/src/assets/footer/atom-logo.png b/web-ui/src/assets/footer/atom-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..1e7589c44ee9927abb9d95aee92a7c1132dab068 Binary files /dev/null and b/web-ui/src/assets/footer/atom-logo.png differ diff --git a/web-ui/src/assets/footer/atom-logo.svg b/web-ui/src/assets/footer/atom-logo.svg new file mode 100644 index 0000000000000000000000000000000000000000..0cce03d0379659ecc5f3ec9113f747633ec0f287 --- /dev/null +++ b/web-ui/src/assets/footer/atom-logo.svg @@ -0,0 +1,16 @@ + + + 开放原子开源基金会 + + + + + + + + + + \ No newline at end of file diff --git a/web-ui/src/assets/footer/bilibili.png b/web-ui/src/assets/footer/bilibili.png new file mode 100644 index 0000000000000000000000000000000000000000..c7c07526ce6be5b436aa14774af78ff29c9a407b Binary files /dev/null and b/web-ui/src/assets/footer/bilibili.png differ diff --git a/web-ui/src/assets/footer/code-xzs.png b/web-ui/src/assets/footer/code-xzs.png new file mode 100644 index 0000000000000000000000000000000000000000..e78a9836a8e294921ad2da821bdb9daa384e87d9 Binary files /dev/null and b/web-ui/src/assets/footer/code-xzs.png differ diff --git a/web-ui/src/assets/footer/code-zgz.png b/web-ui/src/assets/footer/code-zgz.png new file mode 100644 index 0000000000000000000000000000000000000000..ba38aaee5973fac8246cfa37ff0f1d5bc92e193d Binary files /dev/null and b/web-ui/src/assets/footer/code-zgz.png differ diff --git a/web-ui/src/assets/footer/csdn.png b/web-ui/src/assets/footer/csdn.png new file mode 100644 index 0000000000000000000000000000000000000000..f4fd71d08f709f03832ceb8889154d75b2556ff0 Binary files /dev/null and b/web-ui/src/assets/footer/csdn.png differ diff --git a/web-ui/src/assets/footer/footer-bg-mo.png b/web-ui/src/assets/footer/footer-bg-mo.png new file mode 100644 index 0000000000000000000000000000000000000000..6e527ca485015a15ad0fb0f497ef9f43053092d8 Binary files /dev/null and b/web-ui/src/assets/footer/footer-bg-mo.png differ diff --git a/web-ui/src/assets/footer/footer-bg.png b/web-ui/src/assets/footer/footer-bg.png new file mode 100644 index 0000000000000000000000000000000000000000..7d1337c78284795708a7108be3999001a2adc279 Binary files /dev/null and b/web-ui/src/assets/footer/footer-bg.png differ diff --git a/web-ui/src/assets/footer/footer-bg1.png b/web-ui/src/assets/footer/footer-bg1.png new file mode 100644 index 0000000000000000000000000000000000000000..be4dbf4cecb7cbceac40a69a74f6b631c637129f Binary files /dev/null and b/web-ui/src/assets/footer/footer-bg1.png differ diff --git a/web-ui/src/assets/footer/footer-logo1.png b/web-ui/src/assets/footer/footer-logo1.png new file mode 100644 index 0000000000000000000000000000000000000000..80f97536b255acb11f11412c2ee3b3a836e21a43 Binary files /dev/null and b/web-ui/src/assets/footer/footer-logo1.png differ diff --git a/web-ui/src/assets/footer/footer-logo2.png b/web-ui/src/assets/footer/footer-logo2.png new file mode 100644 index 0000000000000000000000000000000000000000..a7a1f28ff53132ca991eb82e7ee5a0f9af2498a9 Binary files /dev/null and b/web-ui/src/assets/footer/footer-logo2.png differ diff --git a/web-ui/src/assets/footer/img-gzh.png b/web-ui/src/assets/footer/img-gzh.png new file mode 100644 index 0000000000000000000000000000000000000000..afc3f345e603e73aa297c656ee2e15b085945b18 Binary files /dev/null and b/web-ui/src/assets/footer/img-gzh.png differ diff --git a/web-ui/src/assets/footer/img-xzs.png b/web-ui/src/assets/footer/img-xzs.png new file mode 100644 index 0000000000000000000000000000000000000000..de17acbd32440e608d227645a2d9b4425cb0bda8 Binary files /dev/null and b/web-ui/src/assets/footer/img-xzs.png differ diff --git a/web-ui/src/assets/footer/infoq.png b/web-ui/src/assets/footer/infoq.png new file mode 100644 index 0000000000000000000000000000000000000000..d1d02c1e374b67d79b2594713da02e353d529696 Binary files /dev/null and b/web-ui/src/assets/footer/infoq.png differ diff --git a/web-ui/src/assets/footer/juejin.png b/web-ui/src/assets/footer/juejin.png new file mode 100644 index 0000000000000000000000000000000000000000..245b8384eb0c7994cc42984ed749dd5046344017 Binary files /dev/null and b/web-ui/src/assets/footer/juejin.png differ diff --git a/web-ui/src/assets/footer/logo.svg b/web-ui/src/assets/footer/logo.svg new file mode 100644 index 0000000000000000000000000000000000000000..291baca7d896b6d9ed122e9574f880cc9da48463 --- /dev/null +++ b/web-ui/src/assets/footer/logo.svg @@ -0,0 +1,29 @@ + + + 切片 + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/web-ui/src/assets/footer/oschina.png b/web-ui/src/assets/footer/oschina.png new file mode 100644 index 0000000000000000000000000000000000000000..1551d3b87509c33f0a7b1259581bfb9e9ccdd8ad Binary files /dev/null and b/web-ui/src/assets/footer/oschina.png differ diff --git a/web-ui/src/components/AppContent.vue b/web-ui/src/components/AppContent.vue new file mode 100644 index 0000000000000000000000000000000000000000..c6390b5e2bb9b183d8789c357926ec152fb77d83 --- /dev/null +++ b/web-ui/src/components/AppContent.vue @@ -0,0 +1,47 @@ + + + + + diff --git a/web-ui/src/components/AppFooter.vue b/web-ui/src/components/AppFooter.vue index 361ad52f6f346a95f888016a1cd58fde69e49ba6..5933a492874a0ae3096f3813454a32447bcb7818 100644 --- a/web-ui/src/components/AppFooter.vue +++ b/web-ui/src/components/AppFooter.vue @@ -1,199 +1,495 @@ - - - + + + + + diff --git a/web-ui/src/main.ts b/web-ui/src/main.ts index 4854bb3b958ff6606a9ef98402f50d852fb862c6..abc858580c38df66fd1ea7183132a998b6a96ec0 100644 --- a/web-ui/src/main.ts +++ b/web-ui/src/main.ts @@ -1,14 +1,15 @@ -import 'virtual:svg-icons-register'; -import '@/shared/styles/base.scss'; -import '@/shared/styles/mixin.scss'; -import { createApp } from 'vue'; -import { createPinia } from 'pinia'; -import App from './App.vue'; -import { router } from './router'; -import SvgIcon from '@/components/SvgIcon.vue'; - -const app = createApp(App); -app.use(router); -app.use(createPinia()); -app.component('SvgIcon', SvgIcon); -app.mount('#app'); +import 'virtual:svg-icons-register'; +import '@/shared/styles/base.scss'; +import '@/shared/styles/mixin.scss'; +import '@/shared/styles/var.scss'; +import { createApp } from 'vue'; +import { createPinia } from 'pinia'; +import App from './App.vue'; +import { router } from './router'; +import SvgIcon from '@/components/SvgIcon.vue'; + +const app = createApp(App); +app.use(router); +app.use(createPinia()); +app.component('SvgIcon', SvgIcon); +app.mount('#app'); diff --git a/web-ui/src/shared/styles/_color.scss b/web-ui/src/shared/styles/_color.scss new file mode 100644 index 0000000000000000000000000000000000000000..924c296729df675cb164de372b20bbacaf098f4a --- /dev/null +++ b/web-ui/src/shared/styles/_color.scss @@ -0,0 +1,181 @@ +// 颜色 +:root { + /** + * 基础色盘 + */ + + // 克莱因蓝 + --o-color-kleinblue1: #000412; + --o-color-kleinblue2: #000827; + --o-color-kleinblue3: #0c2360; + --o-color-kleinblue4: #00288d; + --o-color-kleinblue5: #002fa7; + --o-color-kleinblue6: #0d3cb4; + --o-color-kleinblue7: #2555cd; + --o-color-kleinblue8: #406fe7; + --o-color-kleinblue9: #5988ff; + --o-color-kleinblue10: #b2c0e4; + + // 中性色 + --o-color-neutral1: #121212; + --o-color-neutral2: #151515; + --o-color-neutral3: #2d2d2d; + --o-color-neutral4: #3f3f3f; + --o-color-neutral5: #555555; + --o-color-neutral6: #707070; + --o-color-neutral7: #848484; + --o-color-neutral8: #999999; + --o-color-neutral9: #b2b2b2; + --o-color-neutral10: #cccccc; + --o-color-neutral11: #e5e5e5; + + // 红色 + --o-color-red1: #850d09; + --o-color-red2: #b4110c; + --o-color-red3: #e4160f; + --o-color-red4: #f13b35; + --o-color-red5: #f3524d; + --o-color-red6: #ff5f5a; + --o-color-red7: #ff7873; + --o-color-red8: #ff928d; + --o-color-red9: #ffaba6; + --o-color-red10: #ffd2af; + + // 黄色 + --o-color-yellow1: #754c01; + --o-color-yellow2: #a86d01; + --o-color-yellow3: #dabe01; + --o-color-yellow4: #feaa11; + --o-color-yellow5: #feb32a; + --o-color-yellow6: #ffc037; + --o-color-yellow7: #ffd950; + --o-color-yellow8: #fff36a; + --o-color-yellow9: #ffff83; + --o-color-yellow10: #ffe1aa; + + // 绿色 + --o-color-green1: #1f370f; + --o-color-green2: #355f1a; + --o-color-green3: #4b8725; + --o-color-green4: #62af30; + --o-color-green5: #6dc335; + --o-color-green6: #7ad042; + --o-color-green7: #93e95b; + --o-color-green8: #adff75; + --o-color-green9: #c6ff8e; + --o-color-green10: #c5e7ae; + + // 橙色 + --o-color-orange1: #9b370e; + --o-color-orange2: #b54f00; + --o-color-orange3: #e86600; + --o-color-orange4: #ff801c; + --o-color-orange5: #ff8e36; + --o-color-orange6: #ff9b43; + --o-color-orange7: #ffb45c; + --o-color-orange8: #ffce76; + --o-color-orange9: #ffcf8f; + --o-color-orange10: #ffd2af; + + // 灰蓝色 + --o-color-greyblue1: #e5e8f0; + --o-color-greyblue2: #f7f8fa; + --o-color-greyblue3: #f5f6f8; + + // 灰黑色 + --o-color-greyblack1: #1e1e1e; + --o-color-greyblack2: #242424; + --o-color-greyblack3: #2e2e2e; + --o-color-greyblack4: #383838; + + // 白色 + --o-color-white: #ffffff; + + // 黑色 + --o-color-black: #000000; + + // 透明 + --o-color-transparent: transparent; + + /** + * 状态颜色 && 功能颜色 + */ + + // 成功色 + --o-color-success1: var(--o-color-green5); // normal + --o-color-success2: var(--o-color-green7); // hover + --o-color-success3: var(--o-color-green10); // disabled + + // 告警色 + --o-color-warning1: var(--o-color-orange5); // normal + --o-color-warning2: var(--o-color-orange7); // hover + --o-color-warning3: var(--o-color-orange10); // disabled + + // 错误色 + --o-color-error1: var(--o-color-red5); // normal + --o-color-error2: var(--o-color-red7); // hover + --o-color-error3: var(--o-color-red10); // disabled + + // 品牌色 + --o-color-brand1: var(--o-color-kleinblue5); // 常规、文字 + --o-color-brand2: var(--o-color-kleinblue8); // 悬浮 + --o-color-brand3: var(--o-color-kleinblue4); // 确认 + --o-color-brand4: var(--o-color-kleinblue6); // 特殊场景 + --o-color-brand5: var(--o-color-kleinblue10); // 一般禁用 + --o-color-brand6: var( + --o-color-kleinblue10 + ); // 文字禁用,暂和一般禁用保持一致 + + // 文字颜色 + --o-color-text1: var(--o-color-black); // 强调/正文标题 黑色 + --o-color-text2: var(--o-color-white); // 强调/正文标题 白色 + --o-color-text3: var(--o-color-neutral4); // 次强调/正文标题 + --o-color-text4: var(--o-color-neutral6); // 次要信息/正文 + --o-color-text5: var(--o-color-neutral11); // 置灰信息 + --o-color-text-secondary: var(--o-color-neutral6); // 次级文字颜色 + + // 背景色 + --o-color-bg1: var(--o-color-greyblue3); // 整体背景色 + --o-color-bg2: var(--o-color-white); // 一级容器背景色 + --o-color-bg3: var(--o-color-greyblue2); // 二级容器背景色 + --o-color-bg4: var(--o-color-greyblue1); // 三级容器背景色 + --o-color-bg5: var(--o-color-white); // 弹出框、tooltip背景色 + --o-color-bg6: rgba(0, 0, 0, 0.5); // 蒙层 + --o-color-bg-secondary: var(--o-color-neutral11); // 次级颜色背景颜色 + + // 链接色 + --o-color-link1: var(--o-color-kleinblue5); // 常规 + --o-color-link2: var(--o-color-kleinblue8); // 悬浮 + --o-color-link3: var(--o-color-kleinblue4); // 点击 + --o-color-link4: var(--o-color-kleinblue6); // 特殊场景 + --o-color-link5: var(--o-color-kleinblue10); // 一般禁用 + --o-color-link6: var(--o-color-kleinblue10); // 文字禁用,暂和一般禁用保持一致 + + // 边框颜色 + --o-color-border1: var(--o-color-neutral6); + --o-color-border2: var(--o-color-neutral11); + --o-color-border3: var(--o-color-kleinblue5); + + // 分割线颜色 + --o-color-division1: var(--o-color-neutral11); + + // 填充色,用于阴影容器背景 + --o-color-fill1: var( + --o-color-white + ); // SL1 一级投影容器背景,应用于默认状态的卡片、楼层、导航栏、组件里局部投影背景等 + --o-color-fill2: var( + --o-color-white + ); // SL2 二级投影容器背景,应用于卡片、组件里局部投影等 + --o-color-fill2_hover: var( + --o-color-white + ); // SL2-hover 升起投影容器背景,应用于悬停状态的卡片等,是SL2的激活态 + --o-color-fill3: var( + --o-color-white + ); // SL3 三级投影容器背景,应用于一级投影上的卡片、组件等 + --o-color-fill4: var( + --o-color-white + ); // SL4 覆盖阴影容器背景,应用于信息提示【tips、活动进入按钮等】等投影容器 + --o-color-fill5: var( + --o-color-white + ); // SL5 弹出阴影容器背景,应用于模态弹窗投影 +} diff --git a/web-ui/src/shared/styles/_font.scss b/web-ui/src/shared/styles/_font.scss new file mode 100644 index 0000000000000000000000000000000000000000..56116fef4f7959919bfd44ce074a6761428aaa17 --- /dev/null +++ b/web-ui/src/shared/styles/_font.scss @@ -0,0 +1,26 @@ +// 字体 +:root { + // 字体font-size + --o-font-size-h1: 64px; + --o-font-size-h2: 54px; + --o-font-size-h3: 36px; + --o-font-size-h4: 28px; + --o-font-size-h5: 24px; + --o-font-size-h6: 20px; + --o-font-size-h7: 18px; + --o-font-size-h8: 16px; + --o-font-size-text: 14px; + --o-font-size-tip: 12px; + + // 字体line-height + --o-line-height-h1: 84px; + --o-line-height-h2: 76px; + --o-line-height-h3: 48px; + --o-line-height-h4: 36px; + --o-line-height-h5: 32px; + --o-line-height-h6: 28px; + --o-line-height-h7: 26px; + --o-line-height-h8: 24px; + --o-line-height-text: 22px; + --o-line-height-tip: 18px; +} diff --git a/web-ui/src/shared/styles/_shadow.scss b/web-ui/src/shared/styles/_shadow.scss new file mode 100644 index 0000000000000000000000000000000000000000..78dcd8d96a0a483060378c3cdb1dd4e6b7e80178 --- /dev/null +++ b/web-ui/src/shared/styles/_shadow.scss @@ -0,0 +1,9 @@ +// 阴影,注:SL2有hover投影 +:root { + --o-shadow-l1: 0 1px 5px rgba(45, 47, 51, 0.1); // SL1 一级投影,应用于楼层、导航栏、组件里局部投影等, + --o-shadow-l2: 0 1px 5px rgba(45, 47, 51, 0.1); // SL2-normal 二级投影,应用于卡片、组件里局部投影等 + --o-shadow-l2_hover: 0 6px 18px rgba(0, 47, 167, 0.14); // SL2-hover 升起投影,应用于悬停状态的卡片等,是SL2的激活态 + --o-shadow-l3: 0 6px 18px rgba(45, 47, 51, 0.14); // SL3 三级投影,应用于一级投影上的卡片、组件等 + --o-shadow-l4: 0 10px 32px rgba(45, 47, 51, 0.18); // SL4 覆盖阴影,应用于信息提示【tips、活动进入按钮等】等投影 + --o-shadow-l5: 0 12px 42px rgba(45, 47, 51, 0.24); // SL5 弹出阴影,应用于模态弹窗投影 +} diff --git a/web-ui/src/shared/styles/_spacing.scss b/web-ui/src/shared/styles/_spacing.scss new file mode 100644 index 0000000000000000000000000000000000000000..e3dcd5bfbe1370420420c90af1683fed7df3393f --- /dev/null +++ b/web-ui/src/shared/styles/_spacing.scss @@ -0,0 +1,13 @@ +// 间距 +:root { + --o-spacing-h1: 64px; + --o-spacing-h2: 40px; + --o-spacing-h3: 32px; + --o-spacing-h4: 24px; + --o-spacing-h5: 16px; + --o-spacing-h6: 12px; + --o-spacing-h7: 10px; + --o-spacing-h8: 8px; + --o-spacing-h9: 6px; + --o-spacing-h10: 4px; +} diff --git a/web-ui/src/shared/styles/var.scss b/web-ui/src/shared/styles/var.scss new file mode 100644 index 0000000000000000000000000000000000000000..c7242722c856dd379092fd4ea79825a664a01b7b --- /dev/null +++ b/web-ui/src/shared/styles/var.scss @@ -0,0 +1,4 @@ +@import './_color.scss'; +@import './_shadow.scss'; +@import './_font.scss'; +@import './_spacing.scss';