From 614dcb2c313c02d52c7480ea6dda421635fbdaed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=8B=E7=94=B0=E5=BC=98?= <1240092443@qq.com> Date: Fri, 29 Nov 2024 21:53:15 +0800 Subject: [PATCH] =?UTF-8?q?add=EF=BC=9A=E5=AE=9E=E7=8E=B0github=E7=AC=AC?= =?UTF-8?q?=E4=B8=89=E6=96=B9=E7=99=BB=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/auto-imports.d.ts | 3 +- frontend/components.d.ts | 1 + frontend/pnpm-lock.yaml | 984 +++++++++++++++++- frontend/public/image/login/GitHub.png | Bin 0 -> 4041 bytes frontend/public/image/login/QQ.png | Bin 0 -> 2761 bytes frontend/public/image/login/gitee.png | Bin 0 -> 3288 bytes frontend/public/image/login/微信.png | Bin 0 -> 3718 bytes frontend/public/image/login/新浪微博.png | Bin 0 -> 4601 bytes .../src/components/desktop/LockDesktop.vue | 893 ++++++++++------ frontend/src/components/setting/SetSystem.vue | 892 ++++++++-------- frontend/src/stores/login.ts | 12 + frontend/src/system/index.ts | 22 +- frontend/src/system/router.ts | 9 +- frontend/src/system/type/type.ts | 11 +- 14 files changed, 2091 insertions(+), 736 deletions(-) create mode 100644 frontend/public/image/login/GitHub.png create mode 100644 frontend/public/image/login/QQ.png create mode 100644 frontend/public/image/login/gitee.png create mode 100644 frontend/public/image/login/微信.png create mode 100644 frontend/public/image/login/新浪微博.png create mode 100644 frontend/src/stores/login.ts diff --git a/frontend/auto-imports.d.ts b/frontend/auto-imports.d.ts index 87319db..2d82a80 100644 --- a/frontend/auto-imports.d.ts +++ b/frontend/auto-imports.d.ts @@ -3,6 +3,7 @@ // @ts-nocheck // noinspection JSUnusedGlobalSymbols // Generated by unplugin-auto-import +// biome-ignore lint: disable export {} declare global { const EffectScope: typeof import('vue')['EffectScope'] @@ -71,6 +72,6 @@ declare global { // for type re-export declare global { // @ts-ignore - export type { Component, ComponentPublicInstance, ComputedRef, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, VNode, WritableComputedRef } from 'vue' + export type { Component, ComponentPublicInstance, ComputedRef, DirectiveBinding, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, MaybeRef, MaybeRefOrGetter, VNode, WritableComputedRef } from 'vue' import('vue') } diff --git a/frontend/components.d.ts b/frontend/components.d.ts index fb8ce18..696b6ef 100644 --- a/frontend/components.d.ts +++ b/frontend/components.d.ts @@ -92,6 +92,7 @@ declare module 'vue' { FilePwd: typeof import('./src/components/oa/FilePwd.vue')['default'] FileTree: typeof import('./src/components/builtin/FileTree.vue')['default'] FileViewer: typeof import('./src/components/builtin/FileViewer.vue')['default'] + GithubNext: typeof import('./src/components/desktop/GithubNext.vue')['default'] IframeFile: typeof import('./src/components/window/IframeFile.vue')['default'] ImageViewer: typeof import('./src/components/builtin/ImageViewer.vue')['default'] Install: typeof import('./src/components/install/Install.vue')['default'] diff --git a/frontend/pnpm-lock.yaml b/frontend/pnpm-lock.yaml index 653be6f..41b4d5b 100644 --- a/frontend/pnpm-lock.yaml +++ b/frontend/pnpm-lock.yaml @@ -14,6 +14,9 @@ importers: '@liripeng/vue-audio-player': specifier: ^1.6.2 version: 1.6.2(typescript@5.6.3) + cherry-markdown: + specifier: ^0.8.52 + version: 0.8.52 dexie: specifier: ^4.0.8 version: 4.0.8 @@ -41,9 +44,6 @@ importers: pinia-plugin-persist: specifier: ^1.0.0 version: 1.0.0(pinia@2.2.4(typescript@5.6.3)(vue@3.5.12(typescript@5.6.3)))(vue@3.5.12(typescript@5.6.3)) - vditor: - specifier: ^3.10.4 - version: 3.10.7 vite-plugin-svg-icons: specifier: ^2.0.1 version: 2.0.1(vite@5.4.9(@types/node@20.16.13)(sass@1.80.3)(terser@5.36.0)) @@ -62,6 +62,9 @@ importers: vue-web-screen-shot: specifier: ^1.5.3 version: 1.5.3(core-js@3.38.1)(vue@3.5.12(typescript@5.6.3)) + vue3-lottie: + specifier: ^3.3.1 + version: 3.3.1(vue@3.5.12(typescript@5.6.3)) devDependencies: '@types/file-saver': specifier: ^2.0.7 @@ -116,6 +119,9 @@ packages: resolution: {integrity: sha512-JWtuCu8VQsMladxVz/P4HzHUGCAwpuqacmowgXFs5XjxIgKuNjnLokQzuVjlTvIzODaDmpjT3oxcC48vyk9EWg==} engines: {node: '>=6.9.0'} + '@braintree/sanitize-url@6.0.4': + resolution: {integrity: sha512-s3jaWicZd0pkP0jf5ysyHUI/RE7MHos6qlToFcGWXVp+ykHOy77OUMrfbgJ9it2C5bow7OIQwYYaHjk9XlBQ2A==} + '@ctrl/tinycolor@3.6.1': resolution: {integrity: sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==} engines: {node: '>=10'} @@ -502,10 +508,20 @@ packages: '@sxzz/popperjs-es@2.11.7': resolution: {integrity: sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==} + '@tootallnate/once@2.0.0': + resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} + engines: {node: '>= 10'} + '@trysound/sax@0.2.0': resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} engines: {node: '>=10.13.0'} + '@types/codemirror@0.0.108': + resolution: {integrity: sha512-3FGFcus0P7C2UOGCNUVENqObEb4SFk+S8Dnxq7K6aIsLVs/vDtlangl3PEO0ykaKXyK56swVF6Nho7VsA44uhw==} + + '@types/dompurify@2.4.0': + resolution: {integrity: sha512-IDBwO5IZhrKvHFUl+clZxgf3hn2b/lU6H1KaBShPkQyGJUQ0xwebezIPSuiyGwfz1UzJWQl4M7BDxtHtCCPlTg==} + '@types/estree@1.0.6': resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} @@ -524,6 +540,12 @@ packages: '@types/svgo@2.6.4': resolution: {integrity: sha512-l4cmyPEckf8moNYHdJ+4wkHvFxjyW6ulm9l4YGaOxeyBWPhBOT0gvni1InpFPdzx1dKf/2s62qGITwxNWnPQng==} + '@types/tern@0.23.9': + resolution: {integrity: sha512-ypzHFE/wBzh+BlH6rrBgS5I/Z7RD21pGhZ2rltb/+ZrVM1awdZwjx7hE5XfuYgHWk9uvV5HLZN3SloevCAp3Bw==} + + '@types/trusted-types@2.0.7': + resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} + '@types/web-bluetooth@0.0.16': resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==} @@ -598,16 +620,36 @@ packages: '@vueuse/shared@9.13.0': resolution: {integrity: sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==} + abab@2.0.6: + resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} + deprecated: Use your platform's native atob() and btoa() methods instead + + acorn-globals@6.0.0: + resolution: {integrity: sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==} + + acorn-walk@7.2.0: + resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==} + engines: {node: '>=0.4.0'} + acorn@3.3.0: resolution: {integrity: sha512-OLUyIIZ7mF5oaAUT1w0TFqQS81q3saT46x8t7ukpPjMNk+nbs4ZHhs7ToV8EWnLYLepjETXd4XaCE4uxkMeqUw==} engines: {node: '>=0.4.0'} hasBin: true + acorn@7.4.1: + resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} + engines: {node: '>=0.4.0'} + hasBin: true + acorn@8.13.0: resolution: {integrity: sha512-8zSiw54Oxrdym50NlZ9sUusyO1Z1ZchgRLWRaK6c86XJFClyCgFKetdowBg5bKxyp/u+CDBJG4Mpp0m3HLZl9w==} engines: {node: '>=0.4.0'} hasBin: true + agent-base@6.0.2: + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} + align-text@0.1.4: resolution: {integrity: sha512-GrTZLRpmp6wIC2ztrWW9MjjTgSKccffgFagbNDOX95/dcjEcYZibYTeaOntySQLcdw1ztBoFkviiUvTMbb9MYg==} engines: {node: '>=0.10.0'} @@ -685,6 +727,9 @@ packages: async@1.5.2: resolution: {integrity: sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==} + asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + atob@2.1.2: resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==} engines: {node: '>= 4.5.0'} @@ -934,6 +979,9 @@ packages: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} + browser-process-hrtime@1.0.0: + resolution: {integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==} + browserify-aes@0.4.0: resolution: {integrity: sha512-hnvbMhZ/Ete34qnoKKyjikiYQfZbl89d5UZ29cz3EG13cv/8VRyM8Zs84luB/O7BRzC3qSng9dVovJ6jghcAvg==} @@ -969,6 +1017,10 @@ packages: resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==} engines: {node: '>=0.10.0'} + cherry-markdown@0.8.52: + resolution: {integrity: sha512-Bo9TN/ajPWPVbfF0wCKS2z9ILcaT50khZ0eJ4fYTD/hbNqjg7wCM9FqVZCcOWa0Rb34G6AqfIbHTjEUSIhNWoQ==} + engines: {node: '>=14'} + chokidar@1.7.0: resolution: {integrity: sha512-mk8fAWcRUOxY7btlLtitj3A45jOwSAxH4tOFOoEGbVsl6cL6pPMWUy7dwZ/canfj3QEdP6FHSnf/l1c6/WkzVg==} @@ -999,6 +1051,10 @@ packages: resolution: {integrity: sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==} engines: {node: '>=0.10.0'} + combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} @@ -1039,6 +1095,12 @@ packages: resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} engines: {node: '>= 0.10'} + cose-base@1.0.3: + resolution: {integrity: sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==} + + cose-base@2.2.0: + resolution: {integrity: sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==} + crypto-browserify@3.3.0: resolution: {integrity: sha512-9n5nGl6D8zb29Ui8Ji8pVdUIE3RUe6A9zQf2iLPjFKftnkkkJBCGb7TkYAFNjt9nfsvZTLL52CwxzS9Tw7Bujw==} @@ -1060,9 +1122,167 @@ packages: resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==} engines: {node: '>=8.0.0'} + cssom@0.3.8: + resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==} + + cssom@0.5.0: + resolution: {integrity: sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==} + + cssstyle@2.3.0: + resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==} + engines: {node: '>=8'} + csstype@3.1.3: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + cytoscape-cose-bilkent@4.1.0: + resolution: {integrity: sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==} + peerDependencies: + cytoscape: ^3.2.0 + + cytoscape-fcose@2.2.0: + resolution: {integrity: sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ==} + peerDependencies: + cytoscape: ^3.2.0 + + cytoscape@3.30.4: + resolution: {integrity: sha512-OxtlZwQl1WbwMmLiyPSEBuzeTIQnwZhJYYWFzZ2PhEHVFwpeaqNIkUzSiso00D98qk60l8Gwon2RP304d3BJ1A==} + engines: {node: '>=0.10'} + + d3-array@3.2.4: + resolution: {integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==} + engines: {node: '>=12'} + + d3-axis@3.0.0: + resolution: {integrity: sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==} + engines: {node: '>=12'} + + d3-brush@3.0.0: + resolution: {integrity: sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==} + engines: {node: '>=12'} + + d3-chord@3.0.1: + resolution: {integrity: sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==} + engines: {node: '>=12'} + + d3-color@3.1.0: + resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==} + engines: {node: '>=12'} + + d3-contour@4.0.2: + resolution: {integrity: sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==} + engines: {node: '>=12'} + + d3-delaunay@6.0.4: + resolution: {integrity: sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==} + engines: {node: '>=12'} + + d3-dispatch@3.0.1: + resolution: {integrity: sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==} + engines: {node: '>=12'} + + d3-drag@3.0.0: + resolution: {integrity: sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==} + engines: {node: '>=12'} + + d3-dsv@3.0.1: + resolution: {integrity: sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==} + engines: {node: '>=12'} + hasBin: true + + d3-ease@3.0.1: + resolution: {integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==} + engines: {node: '>=12'} + + d3-fetch@3.0.1: + resolution: {integrity: sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==} + engines: {node: '>=12'} + + d3-force@3.0.0: + resolution: {integrity: sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==} + engines: {node: '>=12'} + + d3-format@3.1.0: + resolution: {integrity: sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==} + engines: {node: '>=12'} + + d3-geo@3.1.1: + resolution: {integrity: sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==} + engines: {node: '>=12'} + + d3-hierarchy@3.1.2: + resolution: {integrity: sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==} + engines: {node: '>=12'} + + d3-interpolate@3.0.1: + resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==} + engines: {node: '>=12'} + + d3-path@3.1.0: + resolution: {integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==} + engines: {node: '>=12'} + + d3-polygon@3.0.1: + resolution: {integrity: sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==} + engines: {node: '>=12'} + + d3-quadtree@3.0.1: + resolution: {integrity: sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==} + engines: {node: '>=12'} + + d3-random@3.0.1: + resolution: {integrity: sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==} + engines: {node: '>=12'} + + d3-scale-chromatic@3.1.0: + resolution: {integrity: sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==} + engines: {node: '>=12'} + + d3-scale@4.0.2: + resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==} + engines: {node: '>=12'} + + d3-selection@3.0.0: + resolution: {integrity: sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==} + engines: {node: '>=12'} + + d3-shape@3.2.0: + resolution: {integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==} + engines: {node: '>=12'} + + d3-time-format@4.1.0: + resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==} + engines: {node: '>=12'} + + d3-time@3.1.0: + resolution: {integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==} + engines: {node: '>=12'} + + d3-timer@3.0.1: + resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==} + engines: {node: '>=12'} + + d3-transition@3.0.1: + resolution: {integrity: sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==} + engines: {node: '>=12'} + peerDependencies: + d3-selection: 2 - 3 + + d3-zoom@3.0.0: + resolution: {integrity: sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==} + engines: {node: '>=12'} + + d3@7.9.0: + resolution: {integrity: sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==} + engines: {node: '>=12'} + + dagre-d3-es@7.0.9: + resolution: {integrity: sha512-rYR4QfVmy+sR44IBDvVtcAmOReGBvRCWDpO2QjYwqgh9yijw6eSHBqaPG/LIOEy7aBsniLvtMW6pg19qJhq60w==} + + data-urls@3.0.2: + resolution: {integrity: sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==} + engines: {node: '>=12'} + data-view-buffer@1.0.1: resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} engines: {node: '>= 0.4'} @@ -1102,6 +1322,9 @@ packages: resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} engines: {node: '>=0.10.0'} + decimal.js@10.4.3: + resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} + decode-uri-component@0.2.2: resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} engines: {node: '>=0.10'} @@ -1126,6 +1349,13 @@ packages: resolution: {integrity: sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==} engines: {node: '>=0.10.0'} + delaunator@5.0.1: + resolution: {integrity: sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==} + + delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + detect-libc@1.0.3: resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} engines: {node: '>=0.10'} @@ -1134,9 +1364,6 @@ packages: dexie@4.0.8: resolution: {integrity: sha512-1G6cJevS17KMDK847V3OHvK2zei899GwpDiqfEXHP1ASvme6eWJmAp9AU4s1son2TeGkWmC0g3y8ezOBPnalgQ==} - diff-match-patch@1.0.5: - resolution: {integrity: sha512-IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw==} - dom-serializer@0.2.2: resolution: {integrity: sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==} @@ -1153,6 +1380,11 @@ packages: domelementtype@2.3.0: resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + domexception@4.0.0: + resolution: {integrity: sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==} + engines: {node: '>=12'} + deprecated: Use your platform's native DOMException instead + domhandler@2.4.2: resolution: {integrity: sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==} @@ -1160,6 +1392,9 @@ packages: resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} engines: {node: '>= 4'} + dompurify@2.4.3: + resolution: {integrity: sha512-q6QaLcakcRjebxjg8/+NP+h0rPfatOgOzc46Fst9VAA3jF2ApfKBNKMzdP4DYTqtUMXSCd5pRS/8Po/OmoCHZQ==} + domutils@1.7.0: resolution: {integrity: sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==} @@ -1171,6 +1406,9 @@ packages: peerDependencies: vue: ^3.2.0 + elkjs@0.8.2: + resolution: {integrity: sha512-L6uRgvZTH+4OF5NE/MBbzQx/WYpru1xCBE9respNj6qznEewGUIfhzmm7horWWxbNO2M0WckQypGctR8lH79xQ==} + emojis-list@2.1.0: resolution: {integrity: sha512-knHEZMgs8BB+MInokmNTg/OyPlAddghe1YBgNwJBc5zsJi/uyIcXoSDsL/W9ymOsBoBGdPIHXYJ9+qKFwRwDng==} engines: {node: '>= 0.10'} @@ -1237,6 +1475,20 @@ packages: resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} engines: {node: '>=12'} + escodegen@2.1.0: + resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} + engines: {node: '>=6.0'} + hasBin: true + + esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + + estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + estree-walker@2.0.2: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} @@ -1283,6 +1535,9 @@ packages: resolution: {integrity: sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==} engines: {node: '>=0.10.0'} + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + fast-glob@3.3.2: resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} engines: {node: '>=8.6.0'} @@ -1323,6 +1578,10 @@ packages: resolution: {integrity: sha512-SKmowqGTJoPzLO1T0BBJpkfp3EMacCMOuH40hOUbrbzElVktk4DioXVM99QkLCyKoiuOmyjgcWMpVz2xjE7LZw==} engines: {node: '>=0.10.0'} + form-data@4.0.1: + resolution: {integrity: sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==} + engines: {node: '>= 6'} + fragment-cache@0.2.1: resolution: {integrity: sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==} engines: {node: '>=0.10.0'} @@ -1439,6 +1698,10 @@ packages: resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} hasBin: true + html-encoding-sniffer@3.0.0: + resolution: {integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==} + engines: {node: '>=12'} + html2canvas@1.4.1: resolution: {integrity: sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==} engines: {node: '>=8.0.0'} @@ -1446,9 +1709,21 @@ packages: htmlparser2@3.10.1: resolution: {integrity: sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==} + http-proxy-agent@5.0.0: + resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} + engines: {node: '>= 6'} + https-browserify@0.0.1: resolution: {integrity: sha512-EjDQFbgJr1vDD/175UJeSX3ncQ3+RUnCL5NkthQGHvF4VNHlzTy8ifJfTqz47qiPRqaFH58+CbuG3x51WuB1XQ==} + https-proxy-agent@5.0.1: + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} + + iconv-lite@0.6.3: + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} + ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} @@ -1476,6 +1751,10 @@ packages: resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} engines: {node: '>= 0.4'} + internmap@2.0.3: + resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==} + engines: {node: '>=12'} + interpret@0.6.6: resolution: {integrity: sha512-Vg6X07U0AOZb4HF6CWHa+jnJU8j71buKQ9Pc0C75qBXgvCYbxWBkGo4jnTS3O0MIc9FZtt0mB7h+uclojqdw1Q==} @@ -1600,6 +1879,9 @@ packages: resolution: {integrity: sha512-Yu68oeXJ7LeWNmZ3Zov/xg/oDBnBK2RNxwYY1ilNJX+tKKZqgPK+qOn/Gs9jEu66KDY9Netf5XLKNGzas/vPfQ==} engines: {node: '>=0.10.0'} + is-potential-custom-element-name@1.0.1: + resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} + is-primitive@2.0.0: resolution: {integrity: sha512-N3w1tFaRfk3UrPfqeRyD+GYDASU3W5VinKhlORy8EWVf/sIdDL9GAcew85XmktCfH+ngG7SRXEVDoO18WMdB/Q==} engines: {node: '>=0.10.0'} @@ -1660,6 +1942,15 @@ packages: js-tokens@9.0.0: resolution: {integrity: sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==} + jsdom@19.0.0: + resolution: {integrity: sha512-RYAyjCbxy/vri/CfnjUWJQQtZ3LKlLnDqj+9XLNnJPgEGeirZs3hllKR20re8LUZ6o1b1X4Jat+Qd26zmP41+A==} + engines: {node: '>=12'} + peerDependencies: + canvas: ^2.5.0 + peerDependenciesMeta: + canvas: + optional: true + jsesc@0.5.0: resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} hasBin: true @@ -1678,6 +1969,9 @@ packages: jszip@3.10.1: resolution: {integrity: sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==} + khroma@2.1.0: + resolution: {integrity: sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==} + kind-of@3.2.2: resolution: {integrity: sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==} engines: {node: '>=0.10.0'} @@ -1694,6 +1988,16 @@ packages: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} + klona@2.0.6: + resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==} + engines: {node: '>= 8'} + + layout-base@1.0.2: + resolution: {integrity: sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==} + + layout-base@2.0.1: + resolution: {integrity: sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==} + lazy-cache@1.0.4: resolution: {integrity: sha512-RE2g0b5VGZsOCFOCgP7omTRYFqydmZkBwl5oNnQ1lDYC57uyO9KqNnNVxT7COSHTxrRCWVcAVOcbjk+tvh/rgQ==} engines: {node: '>=0.10.0'} @@ -1733,6 +2037,9 @@ packages: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true + lottie-web@5.12.2: + resolution: {integrity: sha512-uvhvYPC8kGPjXT3MyKMrL3JitEAmDMp30lVkuq/590Mw9ok6pWcFCwXJveo0t5uqYw1UREQHofD+jVpdjBv8wg==} + lunar-typescript@1.7.5: resolution: {integrity: sha512-AlOwYrxHRCR9Plba5TlZY0NVv6aFobmR1gxfiAE1KxjDzBXoDtT2KrsBYCVaErGokiL8qLMS1FNwGPiPRX2a4g==} @@ -1770,6 +2077,9 @@ packages: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} + mermaid@9.4.3: + resolution: {integrity: sha512-TLkQEtqhRSuEHSE34lh5bCa94KATCyluAXmFnNI2PRZwOpXFeqiJWwZl+d2CcemE1RS6QbbueSSq9QIg8Uxcyw==} + micromatch@2.3.11: resolution: {integrity: sha512-LnU2XFEk9xxSJ6rfgAry/ty5qwUTyHYOBU0g4R6tIw5ljwgGIBmiKhRWLw5NpMOnrgUNcDJ4WMp8rl3sYVHLNA==} engines: {node: '>=0.10.0'} @@ -1786,6 +2096,14 @@ packages: resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} + mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + minimatch@9.0.5: resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} engines: {node: '>=16 || 14 >=14.17'} @@ -1837,6 +2155,9 @@ packages: node-libs-browser@0.7.0: resolution: {integrity: sha512-V0EeBff5/nauAta4yGYMdn/CYXpn2KYcE8r6rwU9qJDXG6wMrBhtWVfoKWphSvsnX+mZk6DzaGSO+Yz/MGBAGQ==} + non-layered-tidy-tree-layout@2.0.2: + resolution: {integrity: sha512-gkXMxRzUH+PB0ax9dUN0yYF0S25BqeAYqhgMaLUFmpXLEk7Fcu8f4emJuOAY0V8kjDICxROIKsTAKsV/v355xw==} + normalize-path@2.1.1: resolution: {integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==} engines: {node: '>=0.10.0'} @@ -1851,6 +2172,9 @@ packages: nth-check@2.1.1: resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + nwsapi@2.2.13: + resolution: {integrity: sha512-cTGB9ptp9dY9A5VbMSe7fQBcl/tt22Vcqdq8+eN93rblOuE0aCFu4aZ2vMwct/2t+lFnosm8RkQW1I0Omb1UtQ==} + object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} @@ -1899,6 +2223,9 @@ packages: resolution: {integrity: sha512-FC5TeK0AwXzq3tUBFtH74naWkPQCEWs4K+xMxWZBlKDWu0bVHXGZa+KKqxKidd7xwhdZ19ZNuF2uO1M/r196HA==} engines: {node: '>=0.10.0'} + parse5@6.0.1: + resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} + pascalcase@0.1.1: resolution: {integrity: sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==} engines: {node: '>=0.10.0'} @@ -2015,9 +2342,16 @@ packages: prr@1.0.1: resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==} + psl@1.13.0: + resolution: {integrity: sha512-BFwmFXiJoFqlUpZ5Qssolv15DMyc84gTBds1BjsV1BfXEo1UyyD7GsmN67n7J77uRhoSNW1AXtXKPLcBFQn9Aw==} + punycode@1.4.1: resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==} + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + qs@6.13.0: resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==} engines: {node: '>=0.6'} @@ -2030,6 +2364,9 @@ packages: resolution: {integrity: sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==} engines: {node: '>=0.4.x'} + querystringify@2.2.0: + resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} + queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} @@ -2098,6 +2435,9 @@ packages: resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} engines: {node: '>=0.10'} + requires-port@1.0.0: + resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} + resolve-url@0.2.1: resolution: {integrity: sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==} deprecated: https://github.com/lydell/resolve-url#deprecated @@ -2117,6 +2457,9 @@ packages: ripemd160@0.2.0: resolution: {integrity: sha512-JJsJ74Mw4sUDDisXGDnNNyN9xWmt5HcH6Kwvb/0m/IvTKjnLAtZfzeoLdpxk44AxQZki54oCCd+Kt0nPQ2AF2g==} + robust-predicates@3.0.2: + resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==} + rollup@4.24.0: resolution: {integrity: sha512-DOmrlGSXNk1DM0ljiQA+i+o0rSLhtii1je5wgk60j49d1jHT5YYttBv1iWOnYSTG+fZZESUOSNiAl89SIet+Cg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} @@ -2129,6 +2472,9 @@ packages: run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + rw@1.3.3: + resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==} + safe-array-concat@1.1.2: resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} engines: {node: '>=0.4'} @@ -2143,6 +2489,9 @@ packages: safe-regex@1.1.0: resolution: {integrity: sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==} + safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + sass@1.80.3: resolution: {integrity: sha512-ptDWyVmDMVielpz/oWy3YP3nfs7LpJTHIJZboMVs8GEC9eUmtZTZhMHlTW98wY4aEorDfjN38+Wr/XjskFWcfA==} engines: {node: '>=14.0.0'} @@ -2151,6 +2500,10 @@ packages: sax@1.4.1: resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==} + saxes@5.0.1: + resolution: {integrity: sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==} + engines: {node: '>=10'} + scule@1.3.0: resolution: {integrity: sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==} @@ -2273,6 +2626,9 @@ packages: strip-literal@2.1.0: resolution: {integrity: sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==} + stylis@4.3.4: + resolution: {integrity: sha512-osIBl6BGUmSfDkyH2mB7EFvCJntXDrLhKjHTRj/rK6xLH0yuPrHULDRQzKokSOD4VoorhtKpfcfW1GAntu8now==} + supports-color@2.0.0: resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==} engines: {node: '>=0.8.0'} @@ -2289,6 +2645,9 @@ packages: engines: {node: '>=10.13.0'} hasBin: true + symbol-tree@3.2.4: + resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} + tapable@0.1.10: resolution: {integrity: sha512-jX8Et4hHg57mug1/079yitEKWGB3LCwoxByLsNim89LABq8NqgiX+6iYVOsq0vX8uJHkU+DZ5fnq95f800bEsQ==} engines: {node: '>=0.6'} @@ -2332,10 +2691,22 @@ packages: resolution: {integrity: sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==} engines: {node: '>=0.10.0'} + tough-cookie@4.1.4: + resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==} + engines: {node: '>=6'} + + tr46@3.0.0: + resolution: {integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==} + engines: {node: '>=12'} + traverse@0.6.10: resolution: {integrity: sha512-hN4uFRxbK+PX56DxYiGHsTn2dME3TVr9vbNqlQGcGcPhJAn+tdP126iA+TArMpI4YSgnTkMWyoLl5bf81Hi5TA==} engines: {node: '>= 0.4'} + ts-dedent@2.2.0: + resolution: {integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==} + engines: {node: '>=6.10'} + tty-browserify@0.0.0: resolution: {integrity: sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==} @@ -2388,6 +2759,10 @@ packages: resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==} engines: {node: '>=0.10.0'} + universalify@0.2.0: + resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} + engines: {node: '>= 4.0.0'} + universalify@2.0.1: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} @@ -2434,6 +2809,9 @@ packages: resolution: {integrity: sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==} deprecated: Please see https://github.com/lydell/urix#deprecated + url-parse@1.5.10: + resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} + url@0.11.4: resolution: {integrity: sha512-oCwdVC7mTuWiPyjLUz/COz5TLk6wgp0RCsN+wHZ2Ekneac9w8uuV0njcbbie2ME+Vs+d6duwmYuR3HgQXs1fOg==} engines: {node: '>= 0.4'} @@ -2451,13 +2829,14 @@ packages: utrie@1.0.2: resolution: {integrity: sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==} + uuid@9.0.1: + resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} + hasBin: true + vary@1.1.2: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} - vditor@3.10.7: - resolution: {integrity: sha512-n+ZM1IgLJzUGZeXzQT4xKbUwCplSFoRlsnmMvLv2kMPLnUTMk9O2qV8nMEOahYed0xExhQZtVb6TKeavgA6w3w==} - vite-plugin-svg-icons@2.0.1: resolution: {integrity: sha512-6ktD+DhV6Rz3VtedYvBKKVA2eXF+sAQVaKkKLDSqGUfnhqXl3bj5PPkVTl3VexfTuZy66PmINi8Q6eFnVfRUmA==} peerDependencies: @@ -2549,6 +2928,12 @@ packages: core-js: ^3.6.5 vue: ^3.2.47 + vue3-lottie@3.3.1: + resolution: {integrity: sha512-60uQmx4eefi3FdPjAxWnblrgJJjnVTXUA6e4BAI3jGzgOSR76pyzL1rrWDiyPmMFo4mTw4wGTW6Gbkg3HR1mYw==} + engines: {node: '>=12'} + peerDependencies: + vue: ^3.2 + vue@2.7.16: resolution: {integrity: sha512-4gCtFXaAA3zYZdTp5s4Hl2sozuySsgz4jy1EnpBHNfpMa9dK1ZCG7viqBPCwXtmgc8nHqUsAu3G4gtmXkkY3Sw==} deprecated: Vue 2 has reached EOL and is no longer actively maintained. See https://v2.vuejs.org/eol/ for more details. @@ -2561,9 +2946,24 @@ packages: typescript: optional: true + w3c-hr-time@1.0.2: + resolution: {integrity: sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==} + deprecated: Use your platform's native performance.now() and performance.timeOrigin. + + w3c-xmlserializer@3.0.0: + resolution: {integrity: sha512-3WFqGEgSXIyGhOmAFtlicJNMjEps8b1MG31NCA0/vOF9+nKMUW1ckhi9cnNHmf88Rzw5V+dwIwsm2C7X8k9aQg==} + engines: {node: '>=12'} + watchpack@0.2.9: resolution: {integrity: sha512-hmLWdxNfe0Ou1xaRj+ublbOYUaZJfVz1VuHQfERLVlUrLS21gUaGa2gWRl8L5Ej1aUS3KxFN+1qoWK4kZLMvKw==} + web-worker@1.3.0: + resolution: {integrity: sha512-BSR9wyRsy/KOValMgd5kMyr3JzpdeoR9KVId8u5GVlTTAtNChlsE4yTxeY7zMdNSyOmoKBv8NH2qeRY9Tg+IaA==} + + webidl-conversions@7.0.0: + resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} + engines: {node: '>=12'} + webpack-core@0.6.9: resolution: {integrity: sha512-P6ZUGXn5buTEZyTStCHHLwtWGKSm/jA629Zgp4pcHSsy60CCsT9MaHDxNIPL+GGJ2KwOgI6ORwQtHcrYHAt2UQ==} engines: {node: '>=0.6'} @@ -2588,6 +2988,22 @@ packages: resolution: {integrity: sha512-TbrbBmiQBL9n0/5bvDdORc6ZfRY/Z7JnEj+EYOD1ghseZdpJ+nF2yx14k3LgQKc7JZnG7HAcL+zHnY25So9d7A==} engines: {node: '>=6.0.0', npm: '>=3.10.0'} + whatwg-encoding@2.0.0: + resolution: {integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==} + engines: {node: '>=12'} + + whatwg-mimetype@3.0.0: + resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==} + engines: {node: '>=12'} + + whatwg-url@10.0.0: + resolution: {integrity: sha512-CLxxCmdUby142H5FZzn4D8ikO1cmypvXVQktsgosNy4a4BHrDHeciBBGZhb0bNoR5/MltoCatso+vFjjGx8t0w==} + engines: {node: '>=12'} + + whatwg-url@11.0.0: + resolution: {integrity: sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==} + engines: {node: '>=12'} + which-boxed-primitive@1.0.2: resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} @@ -2607,9 +3023,25 @@ packages: resolution: {integrity: sha512-1tMA907+V4QmxV7dbRvb4/8MaRALK6q9Abid3ndMYnbyo8piisCmeONVqVSXqQA3KaP4SLt5b7ud6E2sqP8TFw==} engines: {node: '>=0.4.0'} + ws@8.18.0: + resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + xml-loader@1.1.0: resolution: {integrity: sha512-fvt5MMZYYkhYu93kSkVACNa0la1Gj+tM1AvH3gIOyY97ZeAxn4xDadXANVdsq2ACqwIVY1AD2Hz3odCT0MI0Gg==} + xml-name-validator@4.0.0: + resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} + engines: {node: '>=12'} + xml2js@0.4.23: resolution: {integrity: sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==} engines: {node: '>=4.0.0'} @@ -2618,6 +3050,9 @@ packages: resolution: {integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==} engines: {node: '>=4.0'} + xmlchars@2.2.0: + resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} + xtend@4.0.2: resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} engines: {node: '>=0.4'} @@ -2643,6 +3078,9 @@ snapshots: '@babel/helper-validator-identifier': 7.25.7 to-fast-properties: 2.0.0 + '@braintree/sanitize-url@6.0.4': + optional: true + '@ctrl/tinycolor@3.6.1': {} '@element-plus/icons-vue@2.3.1(vue@3.5.12(typescript@5.6.3))': @@ -2896,8 +3334,18 @@ snapshots: '@sxzz/popperjs-es@2.11.7': {} + '@tootallnate/once@2.0.0': {} + '@trysound/sax@0.2.0': {} + '@types/codemirror@0.0.108': + dependencies: + '@types/tern': 0.23.9 + + '@types/dompurify@2.4.0': + dependencies: + '@types/trusted-types': 2.0.7 + '@types/estree@1.0.6': {} '@types/file-saver@2.0.7': {} @@ -2916,6 +3364,12 @@ snapshots: dependencies: '@types/node': 20.16.13 + '@types/tern@0.23.9': + dependencies: + '@types/estree': 1.0.6 + + '@types/trusted-types@2.0.7': {} + '@types/web-bluetooth@0.0.16': {} '@vitejs/plugin-vue@5.1.4(vite@5.4.9(@types/node@20.16.13)(sass@1.80.3)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3))': @@ -3036,10 +3490,27 @@ snapshots: - '@vue/composition-api' - vue + abab@2.0.6: {} + + acorn-globals@6.0.0: + dependencies: + acorn: 7.4.1 + acorn-walk: 7.2.0 + + acorn-walk@7.2.0: {} + acorn@3.3.0: {} + acorn@7.4.1: {} + acorn@8.13.0: {} + agent-base@6.0.2: + dependencies: + debug: 4.3.7 + transitivePeerDependencies: + - supports-color + align-text@0.1.4: dependencies: kind-of: 3.2.2 @@ -3109,6 +3580,8 @@ snapshots: async@1.5.2: {} + asynckit@0.4.0: {} + atob@2.1.2: {} available-typed-arrays@1.0.7: @@ -3597,6 +4070,8 @@ snapshots: dependencies: fill-range: 7.1.1 + browser-process-hrtime@1.0.0: {} + browserify-aes@0.4.0: dependencies: inherits: 2.0.4 @@ -3650,6 +4125,19 @@ snapshots: strip-ansi: 3.0.1 supports-color: 2.0.0 + cherry-markdown@0.8.52: + dependencies: + '@types/codemirror': 0.0.108 + '@types/dompurify': 2.4.0 + jsdom: 19.0.0 + optionalDependencies: + mermaid: 9.4.3 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - utf-8-validate + chokidar@1.7.0(supports-color@3.2.3): dependencies: anymatch: 1.3.2 @@ -3703,6 +4191,10 @@ snapshots: map-visit: 1.0.0 object-visit: 1.0.1 + combined-stream@1.0.8: + dependencies: + delayed-stream: 1.0.0 + commander@2.20.3: {} commander@7.2.0: {} @@ -3730,6 +4222,16 @@ snapshots: object-assign: 4.1.1 vary: 1.1.2 + cose-base@1.0.3: + dependencies: + layout-base: 1.0.2 + optional: true + + cose-base@2.2.0: + dependencies: + layout-base: 2.0.1 + optional: true + crypto-browserify@3.3.0: dependencies: browserify-aes: 0.4.0 @@ -3760,8 +4262,226 @@ snapshots: dependencies: css-tree: 1.1.3 + cssom@0.3.8: {} + + cssom@0.5.0: {} + + cssstyle@2.3.0: + dependencies: + cssom: 0.3.8 + csstype@3.1.3: {} + cytoscape-cose-bilkent@4.1.0(cytoscape@3.30.4): + dependencies: + cose-base: 1.0.3 + cytoscape: 3.30.4 + optional: true + + cytoscape-fcose@2.2.0(cytoscape@3.30.4): + dependencies: + cose-base: 2.2.0 + cytoscape: 3.30.4 + optional: true + + cytoscape@3.30.4: + optional: true + + d3-array@3.2.4: + dependencies: + internmap: 2.0.3 + optional: true + + d3-axis@3.0.0: + optional: true + + d3-brush@3.0.0: + dependencies: + d3-dispatch: 3.0.1 + d3-drag: 3.0.0 + d3-interpolate: 3.0.1 + d3-selection: 3.0.0 + d3-transition: 3.0.1(d3-selection@3.0.0) + optional: true + + d3-chord@3.0.1: + dependencies: + d3-path: 3.1.0 + optional: true + + d3-color@3.1.0: + optional: true + + d3-contour@4.0.2: + dependencies: + d3-array: 3.2.4 + optional: true + + d3-delaunay@6.0.4: + dependencies: + delaunator: 5.0.1 + optional: true + + d3-dispatch@3.0.1: + optional: true + + d3-drag@3.0.0: + dependencies: + d3-dispatch: 3.0.1 + d3-selection: 3.0.0 + optional: true + + d3-dsv@3.0.1: + dependencies: + commander: 7.2.0 + iconv-lite: 0.6.3 + rw: 1.3.3 + optional: true + + d3-ease@3.0.1: + optional: true + + d3-fetch@3.0.1: + dependencies: + d3-dsv: 3.0.1 + optional: true + + d3-force@3.0.0: + dependencies: + d3-dispatch: 3.0.1 + d3-quadtree: 3.0.1 + d3-timer: 3.0.1 + optional: true + + d3-format@3.1.0: + optional: true + + d3-geo@3.1.1: + dependencies: + d3-array: 3.2.4 + optional: true + + d3-hierarchy@3.1.2: + optional: true + + d3-interpolate@3.0.1: + dependencies: + d3-color: 3.1.0 + optional: true + + d3-path@3.1.0: + optional: true + + d3-polygon@3.0.1: + optional: true + + d3-quadtree@3.0.1: + optional: true + + d3-random@3.0.1: + optional: true + + d3-scale-chromatic@3.1.0: + dependencies: + d3-color: 3.1.0 + d3-interpolate: 3.0.1 + optional: true + + d3-scale@4.0.2: + dependencies: + d3-array: 3.2.4 + d3-format: 3.1.0 + d3-interpolate: 3.0.1 + d3-time: 3.1.0 + d3-time-format: 4.1.0 + optional: true + + d3-selection@3.0.0: + optional: true + + d3-shape@3.2.0: + dependencies: + d3-path: 3.1.0 + optional: true + + d3-time-format@4.1.0: + dependencies: + d3-time: 3.1.0 + optional: true + + d3-time@3.1.0: + dependencies: + d3-array: 3.2.4 + optional: true + + d3-timer@3.0.1: + optional: true + + d3-transition@3.0.1(d3-selection@3.0.0): + dependencies: + d3-color: 3.1.0 + d3-dispatch: 3.0.1 + d3-ease: 3.0.1 + d3-interpolate: 3.0.1 + d3-selection: 3.0.0 + d3-timer: 3.0.1 + optional: true + + d3-zoom@3.0.0: + dependencies: + d3-dispatch: 3.0.1 + d3-drag: 3.0.0 + d3-interpolate: 3.0.1 + d3-selection: 3.0.0 + d3-transition: 3.0.1(d3-selection@3.0.0) + optional: true + + d3@7.9.0: + dependencies: + d3-array: 3.2.4 + d3-axis: 3.0.0 + d3-brush: 3.0.0 + d3-chord: 3.0.1 + d3-color: 3.1.0 + d3-contour: 4.0.2 + d3-delaunay: 6.0.4 + d3-dispatch: 3.0.1 + d3-drag: 3.0.0 + d3-dsv: 3.0.1 + d3-ease: 3.0.1 + d3-fetch: 3.0.1 + d3-force: 3.0.0 + d3-format: 3.1.0 + d3-geo: 3.1.1 + d3-hierarchy: 3.1.2 + d3-interpolate: 3.0.1 + d3-path: 3.1.0 + d3-polygon: 3.0.1 + d3-quadtree: 3.0.1 + d3-random: 3.0.1 + d3-scale: 4.0.2 + d3-scale-chromatic: 3.1.0 + d3-selection: 3.0.0 + d3-shape: 3.2.0 + d3-time: 3.1.0 + d3-time-format: 4.1.0 + d3-timer: 3.0.1 + d3-transition: 3.0.1(d3-selection@3.0.0) + d3-zoom: 3.0.0 + optional: true + + dagre-d3-es@7.0.9: + dependencies: + d3: 7.9.0 + lodash-es: 4.17.21 + optional: true + + data-urls@3.0.2: + dependencies: + abab: 2.0.6 + whatwg-mimetype: 3.0.0 + whatwg-url: 11.0.0 + data-view-buffer@1.0.1: dependencies: call-bind: 1.0.7 @@ -3796,6 +4516,8 @@ snapshots: decamelize@1.2.0: {} + decimal.js@10.4.3: {} + decode-uri-component@0.2.2: {} define-data-property@1.1.4: @@ -3823,12 +4545,17 @@ snapshots: is-descriptor: 1.0.3 isobject: 3.0.1 + delaunator@5.0.1: + dependencies: + robust-predicates: 3.0.2 + optional: true + + delayed-stream@1.0.0: {} + detect-libc@1.0.3: {} dexie@4.0.8: {} - diff-match-patch@1.0.5: {} - dom-serializer@0.2.2: dependencies: domelementtype: 2.3.0 @@ -3846,6 +4573,10 @@ snapshots: domelementtype@2.3.0: {} + domexception@4.0.0: + dependencies: + webidl-conversions: 7.0.0 + domhandler@2.4.2: dependencies: domelementtype: 1.3.1 @@ -3854,6 +4585,9 @@ snapshots: dependencies: domelementtype: 2.3.0 + dompurify@2.4.3: + optional: true + domutils@1.7.0: dependencies: dom-serializer: 0.2.2 @@ -3886,6 +4620,9 @@ snapshots: transitivePeerDependencies: - '@vue/composition-api' + elkjs@0.8.2: + optional: true + emojis-list@2.1.0: {} emojis-list@3.0.0: {} @@ -4009,6 +4746,18 @@ snapshots: escape-string-regexp@5.0.0: {} + escodegen@2.1.0: + dependencies: + esprima: 4.0.1 + estraverse: 5.3.0 + esutils: 2.0.3 + optionalDependencies: + source-map: 0.6.1 + + esprima@4.0.1: {} + + estraverse@5.3.0: {} + estree-walker@2.0.2: {} estree-walker@3.0.3: @@ -4067,6 +4816,8 @@ snapshots: transitivePeerDependencies: - supports-color + fast-deep-equal@3.1.3: {} + fast-glob@3.3.2: dependencies: '@nodelib/fs.stat': 2.0.5 @@ -4115,6 +4866,12 @@ snapshots: dependencies: for-in: 1.0.2 + form-data@4.0.1: + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + fragment-cache@0.2.1: dependencies: map-cache: 0.2.2 @@ -4232,6 +4989,10 @@ snapshots: he@1.2.0: {} + html-encoding-sniffer@3.0.0: + dependencies: + whatwg-encoding: 2.0.0 + html2canvas@1.4.1: dependencies: css-line-break: 2.1.0 @@ -4246,8 +5007,27 @@ snapshots: inherits: 2.0.4 readable-stream: 3.6.2 + http-proxy-agent@5.0.0: + dependencies: + '@tootallnate/once': 2.0.0 + agent-base: 6.0.2 + debug: 4.3.7 + transitivePeerDependencies: + - supports-color + https-browserify@0.0.1: {} + https-proxy-agent@5.0.1: + dependencies: + agent-base: 6.0.2 + debug: 4.3.7 + transitivePeerDependencies: + - supports-color + + iconv-lite@0.6.3: + dependencies: + safer-buffer: 2.1.2 + ieee754@1.2.1: {} image-size@0.5.5: {} @@ -4268,6 +5048,9 @@ snapshots: hasown: 2.0.2 side-channel: 1.0.6 + internmap@2.0.3: + optional: true + interpret@0.6.6: {} invariant@2.2.4: @@ -4376,6 +5159,8 @@ snapshots: is-posix-bracket@0.1.1: {} + is-potential-custom-element-name@1.0.1: {} + is-primitive@2.0.0: {} is-regex@1.1.4: @@ -4425,6 +5210,40 @@ snapshots: js-tokens@9.0.0: {} + jsdom@19.0.0: + dependencies: + abab: 2.0.6 + acorn: 8.13.0 + acorn-globals: 6.0.0 + cssom: 0.5.0 + cssstyle: 2.3.0 + data-urls: 3.0.2 + decimal.js: 10.4.3 + domexception: 4.0.0 + escodegen: 2.1.0 + form-data: 4.0.1 + html-encoding-sniffer: 3.0.0 + http-proxy-agent: 5.0.0 + https-proxy-agent: 5.0.1 + is-potential-custom-element-name: 1.0.1 + nwsapi: 2.2.13 + parse5: 6.0.1 + saxes: 5.0.1 + symbol-tree: 3.2.4 + tough-cookie: 4.1.4 + w3c-hr-time: 1.0.2 + w3c-xmlserializer: 3.0.0 + webidl-conversions: 7.0.0 + whatwg-encoding: 2.0.0 + whatwg-mimetype: 3.0.0 + whatwg-url: 10.0.0 + ws: 8.18.0 + xml-name-validator: 4.0.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + jsesc@0.5.0: {} json5@0.5.1: {} @@ -4446,6 +5265,9 @@ snapshots: readable-stream: 2.3.8 setimmediate: 1.0.5 + khroma@2.1.0: + optional: true + kind-of@3.2.2: dependencies: is-buffer: 1.1.6 @@ -4458,6 +5280,14 @@ snapshots: kind-of@6.0.3: {} + klona@2.0.6: {} + + layout-base@1.0.2: + optional: true + + layout-base@2.0.1: + optional: true + lazy-cache@1.0.4: {} lie@3.3.0: @@ -4498,6 +5328,8 @@ snapshots: dependencies: js-tokens: 4.0.0 + lottie-web@5.12.2: {} + lunar-typescript@1.7.5: {} magic-string@0.30.12: @@ -4529,6 +5361,26 @@ snapshots: merge2@1.4.1: {} + mermaid@9.4.3: + dependencies: + '@braintree/sanitize-url': 6.0.4 + cytoscape: 3.30.4 + cytoscape-cose-bilkent: 4.1.0(cytoscape@3.30.4) + cytoscape-fcose: 2.2.0(cytoscape@3.30.4) + d3: 7.9.0 + dagre-d3-es: 7.0.9 + dayjs: 1.11.13 + dompurify: 2.4.3 + elkjs: 0.8.2 + khroma: 2.1.0 + lodash-es: 4.17.21 + non-layered-tidy-tree-layout: 2.0.2 + stylis: 4.3.4 + ts-dedent: 2.2.0 + uuid: 9.0.1 + web-worker: 1.3.0 + optional: true + micromatch@2.3.11: dependencies: arr-diff: 2.0.0 @@ -4586,6 +5438,12 @@ snapshots: braces: 3.0.3 picomatch: 2.3.1 + mime-db@1.52.0: {} + + mime-types@2.1.35: + dependencies: + mime-db: 1.52.0 + minimatch@9.0.5: dependencies: brace-expansion: 2.0.1 @@ -4667,6 +5525,9 @@ snapshots: util: 0.10.4 vm-browserify: 0.0.4 + non-layered-tidy-tree-layout@2.0.2: + optional: true + normalize-path@2.1.1: dependencies: remove-trailing-separator: 1.1.0 @@ -4679,6 +5540,8 @@ snapshots: dependencies: boolbase: 1.0.0 + nwsapi@2.2.13: {} + object-assign@4.1.1: {} object-copy@0.1.0: @@ -4729,6 +5592,8 @@ snapshots: is-extglob: 1.0.0 is-glob: 2.0.1 + parse5@6.0.1: {} + pascalcase@0.1.1: {} path-browserify@0.0.0: {} @@ -4824,8 +5689,14 @@ snapshots: prr@1.0.1: {} + psl@1.13.0: + dependencies: + punycode: 2.3.1 + punycode@1.4.1: {} + punycode@2.3.1: {} + qs@6.13.0: dependencies: side-channel: 1.0.6 @@ -4837,6 +5708,8 @@ snapshots: querystring-es3@0.2.1: {} + querystringify@2.2.0: {} + queue-microtask@1.2.3: {} randomatic@3.1.1: @@ -4919,6 +5792,8 @@ snapshots: repeat-string@1.6.1: {} + requires-port@1.0.0: {} + resolve-url@0.2.1: {} ret@0.1.15: {} @@ -4931,6 +5806,9 @@ snapshots: ripemd160@0.2.0: {} + robust-predicates@3.0.2: + optional: true + rollup@4.24.0: dependencies: '@types/estree': 1.0.6 @@ -4961,6 +5839,9 @@ snapshots: dependencies: queue-microtask: 1.2.3 + rw@1.3.3: + optional: true + safe-array-concat@1.1.2: dependencies: call-bind: 1.0.7 @@ -4980,6 +5861,8 @@ snapshots: dependencies: ret: 0.1.15 + safer-buffer@2.1.2: {} + sass@1.80.3: dependencies: '@parcel/watcher': 2.4.1 @@ -4989,6 +5872,10 @@ snapshots: sax@1.4.1: {} + saxes@5.0.1: + dependencies: + xmlchars: 2.2.0 + scule@1.3.0: {} sdp@2.12.0: {} @@ -5138,6 +6025,9 @@ snapshots: dependencies: js-tokens: 9.0.0 + stylis@4.3.4: + optional: true + supports-color@2.0.0: {} supports-color@3.2.3: @@ -5172,6 +6062,8 @@ snapshots: picocolors: 1.1.1 stable: 0.1.8 + symbol-tree@3.2.4: {} + tapable@0.1.10: {} terser@5.36.0: @@ -5215,12 +6107,26 @@ snapshots: regex-not: 1.0.2 safe-regex: 1.1.0 + tough-cookie@4.1.4: + dependencies: + psl: 1.13.0 + punycode: 2.3.1 + universalify: 0.2.0 + url-parse: 1.5.10 + + tr46@3.0.0: + dependencies: + punycode: 2.3.1 + traverse@0.6.10: dependencies: gopd: 1.0.1 typedarray.prototype.slice: 1.0.3 which-typed-array: 1.1.15 + ts-dedent@2.2.0: + optional: true + tty-browserify@0.0.0: {} typed-array-buffer@1.0.2: @@ -5312,6 +6218,8 @@ snapshots: is-extendable: 0.1.1 set-value: 2.0.1 + universalify@0.2.0: {} + universalify@2.0.1: {} unplugin-auto-import@0.18.3(@vueuse/core@9.13.0(vue@3.5.12(typescript@5.6.3)))(rollup@4.24.0): @@ -5362,6 +6270,11 @@ snapshots: urix@0.1.0: {} + url-parse@1.5.10: + dependencies: + querystringify: 2.2.0 + requires-port: 1.0.0 + url@0.11.4: dependencies: punycode: 1.4.1 @@ -5379,11 +6292,10 @@ snapshots: dependencies: base64-arraybuffer: 1.0.2 - vary@1.1.2: {} + uuid@9.0.1: + optional: true - vditor@3.10.7: - dependencies: - diff-match-patch: 1.0.5 + vary@1.1.2: {} vite-plugin-svg-icons@2.0.1(vite@5.4.9(@types/node@20.16.13)(sass@1.80.3)(terser@5.36.0)): dependencies: @@ -5462,6 +6374,13 @@ snapshots: vue: 3.5.12(typescript@5.6.3) webrtc-adapter: 7.7.1 + vue3-lottie@3.3.1(vue@3.5.12(typescript@5.6.3)): + dependencies: + fast-deep-equal: 3.1.3 + klona: 2.0.6 + lottie-web: 5.12.2 + vue: 3.5.12(typescript@5.6.3) + vue@2.7.16: dependencies: '@vue/compiler-sfc': 2.7.16 @@ -5477,6 +6396,14 @@ snapshots: optionalDependencies: typescript: 5.6.3 + w3c-hr-time@1.0.2: + dependencies: + browser-process-hrtime: 1.0.0 + + w3c-xmlserializer@3.0.0: + dependencies: + xml-name-validator: 4.0.0 + watchpack@0.2.9(supports-color@3.2.3): dependencies: async: 0.9.2 @@ -5485,6 +6412,11 @@ snapshots: transitivePeerDependencies: - supports-color + web-worker@1.3.0: + optional: true + + webidl-conversions@7.0.0: {} + webpack-core@0.6.9: dependencies: source-list-map: 0.1.8 @@ -5515,6 +6447,22 @@ snapshots: rtcpeerconnection-shim: 1.2.15 sdp: 2.12.0 + whatwg-encoding@2.0.0: + dependencies: + iconv-lite: 0.6.3 + + whatwg-mimetype@3.0.0: {} + + whatwg-url@10.0.0: + dependencies: + tr46: 3.0.0 + webidl-conversions: 7.0.0 + + whatwg-url@11.0.0: + dependencies: + tr46: 3.0.0 + webidl-conversions: 7.0.0 + which-boxed-primitive@1.0.2: dependencies: is-bigint: 1.0.4 @@ -5537,11 +6485,15 @@ snapshots: wordwrap@0.0.3: {} + ws@8.18.0: {} + xml-loader@1.1.0: dependencies: loader-utils: 0.2.17 xml2js: 0.4.23 + xml-name-validator@4.0.0: {} + xml2js@0.4.23: dependencies: sax: 1.4.1 @@ -5549,6 +6501,8 @@ snapshots: xmlbuilder@11.0.1: {} + xmlchars@2.2.0: {} + xtend@4.0.2: {} yargs@3.10.0: diff --git a/frontend/public/image/login/GitHub.png b/frontend/public/image/login/GitHub.png new file mode 100644 index 0000000000000000000000000000000000000000..451a5e2d33e4fd6dd485013233a42c444e038e6a GIT binary patch literal 4041 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 literal 0 HcmV?d00001 diff --git a/frontend/public/image/login/QQ.png b/frontend/public/image/login/QQ.png new file mode 100644 index 0000000000000000000000000000000000000000..715df9b7a113040480f0460ec2698faa9eedfc3e GIT binary patch literal 2761 zcmZ{m`#;m|AIGoH*f6JI=BzEMk*JkW$sEQU%W~MdBjlJv3n8ht><&52Dw=YpkkEuA z9Vo|=Lvo0+yXlTbROpt&cl`n1AFk_lJ+Alb`tA9;9jUkfkVV{e!C;{q;j zN5Gzpa9m+|Jbi8Oyo)Yg`&%VachmxN5YK?gEB|8d6=|k2K#enDhtL2eWWvBDiNl3X z5P{5%xMiFI1B5P{-LD96Q0ipTn`;9Bu79ywAQuKGw>5&Civh!l&@WTx1OdIl^t!FC zfOu=$N@UaHDqPq`e##eft%MeDi;by4ZwQ3cOiy4uQHtUg+Zm=;V#KCS!2ezDms(wG zf&srtwwFhoS9Y21?gtq&vOe9qa5iD$NnX8G7K2Cfw%(~H+^-?1g(1n2Gb0r%jDSK7GuGi%rvbn3Ch@K{jwRpn7Kg!)12U| z!Z>;Wk~1-F$Ot&KRZd>=jYm@(PPR*iG4B>3W2@VEF$uvM&_}2>;{^`)d?6@&mz43Mhx|Qnr{B0|FZBFE2}Yhu?w` zmOxfZY(L!#7&QcnmxNIZeZY@>U<+djah;uu@v^he`<_qrnvCjrR@e6AMFbw=i&?VK9Y}yRt zuy?xHp-zG$2GxD{bZ7GFmlOi_vBQ3h4sICN{bvd%t2;j=I4X+f3!PLuaqN!U7~;`# zRbDzhAp0c3cTHj7_0FC$o?BIvGj)4MoVUV~SUox!|QM)wW|1FJe9OIY^ z$G48~9J$K-64~bB;bAHShOmCixe+tx2LS*=xqgj7zW?OhR=WjL^DZVb&&9-_eN(2j zMPBR2QZkwdN|WCB|E8a{(2YzXA+i>E_LCs;s^zcvO-cnJduQ$w4>^!}v7mT5Ahq0! zXBSQM&JM6=&s#z{9Ztn!t&SANeLaA^srdD4{q+0yM-co(m_3xU;{#od75k=$p8_-d z%HEk8o!kbytSIf?^NhD<0u*|B0uPLe*kdKDS%mH80XDweYC-gEv<*u*=X2nO4X zel8u>GFR0sBH#Gk$pCL=$D zVtcY5g?tcyyi^VApNV>cP2NBUQv&P7MRs!?y*@#^uM)9SJ1fD` zU_ZRFPLeTsCri0}Ju=DT5949GC+@rF(1t|k=|@4AJ40jZfIlMVm3e#R8L~7HU-Nmd z&(D6(>oj+fgS3oT7+Q~pF(!-n%H_1Ax3Jc4l5(eNa0u#Sxe7RIu>-ZPb^)~p@rMg9 zn+%b~q9N9%QOz!^6PabdGU89Cyp(%4lA#_J{qnCCK)9i#+Uo^B27D!?O)BvKtG}Cc z%Mb~YQ-#r$#S8=Nw~d3y`Ql>2>2Cc(DRR6x`QZIw&9dJa_vGE->}5WuEfZ z`$=9{(b02XHSpN?Uu4s*vzr7Vg~pzeT)l05yOHB!rPCy{Z8we*BZqM`w2C(_vb}4U zAM${HYH#+E@sxY24CjXn8KW6$tKVdm>}<{t#M9lv_q6P^NWG(Tlp;`%Tuf?dIg_4*^@i3^f#ekD%9Fh1+E1`GN)Rw|D_~w7@C~a0#&rP;7m!zm$ z!2Ktz{hSGmGl@ z5Qq#Ja$+Wz4eg~W6CW~z0}m}%JAMhTsTwU0t>Dn2Ah@wh?D&!t=~g1;86Ku z>`+j<)?3xOLuflB`sq~cTYAq^$12MRiC5;FYz#fb5hmB9_*D)c1~va`t~{bd;uZK>x&Cg!$-im|x zfj)6c%aS|A@qE$up#9K<<4@cS6G-1u1|O!s3gp65?{bBtzgN-C^VE<4t@RrTsFo=o4V~ z4O-JbAYVz7Dfy=;KbMYwSs#4~WA`Bz<*I+nd8pINNh`UehbsSszl>XpHM+M~YBP-R zqY?jPV&U^ryI|?gsJCiVqK-d;R!8nVwW+--XrBZW$_i-o;A;J zZa9sYCklO1s%a|b4mb`Zxc!szd$UBWlJE&=J2%S1)#I2e7dW`>QR^aXnoJ2i!i$$UD>vIUWj(5_>H<_NDEg zvurch*X!Au{ih E2mQ#yX8-^I literal 0 HcmV?d00001 diff --git a/frontend/public/image/login/gitee.png b/frontend/public/image/login/gitee.png new file mode 100644 index 0000000000000000000000000000000000000000..8d8c1224c6169486ac5409c45d2430a7db0a3d08 GIT binary patch literal 3288 zcmV;}3@7u6P)Px>l1W5CRCr$Poeh%PIu3-D`}hudIoaDe*-q}@`|O4uaze|LB}xE@23u9BsmaLv z0sA8Wil%-nywogkyWRfDg_ob{*Pj~|*7uZKK3DhtUj6=gzu(vQsP$*Yf`81|Y3V+% zKqvsT1TS56U0wpE28i$oSet-!8nJ@m--dVSEY0lpk5tqBe*ceIjX^3RAO{9ALxBXu zUattuo`v$?2}r|G0fBfYhZ34GBx_iSfMla&C{o^#atQ1E;oy8`a@z+(vA=en9+1jg z%nU_~JceP*vP=mGq3HHR)50^1)DS{`g%u>dS6aDXtJf~77!Y=qnI1qBGhDOfmQ!!8&=Zns+sr?_7#1S2@lPTT{+ zTq6b%8@+I!o45vqAysHNAQE`DfH0(*0uJ|(xC4YC)l^`(e+usk5QbD!!{O4KxB-N4 z5RS?MZjyHwfDjJC(XfCENQMJKI0(lZ3k-*3C?H&^A{+-SFcgwufDn!Y(%>z{0%;G| zuMy@L0tn$4G1TyN4uQlR5W)d3)R7%9hr|>RCgdZv6{c=eNX!5s9AO0Np(AFAy9pqK z!-J;6wZQ}ubwCJ5IAMC~kUAu)fDjH(S_<11RY=qTAsk@^>9J$KwBFUI3CRCET9R#w zX@UFwuA*g?Lg_tXiqLtlRF;3m0U;dDWfZ%4;`xXuAcP~f`apUonvX~W!n^}SMUk5+ znU9D8Lhlh-a&UbU%SS{2Aslc5nxVlW`N(BJCOm~Cy;nS4zh_XHKp#iG;p=ifA^}L` z*PIm?%3EH`?*h7+r-*?O#^q4!5+DORuBomB0f7*<@Ib9x@*-COiL`3<07Glbg0S8o ziyQT2xhtz$rvVu_BS?#bU`ShZqr6doo3t4vx#=8RB4hyiLFY&UAEW0zC={lJ_7S0%F!E z!Wkfkmi%`Can`B5aU&di78>|>hg#b8B1Zs$@gBWv+yk{TWz`M=+4UlC0dd%&cfz9g zaE_f*J-ziJQ2-$v&f##f)ud&mw_aoq5Qy-Kp%nlfUwg4!ZgPF6pG`oVy2F+d=sf`V zaIUA#Fbf_KdJq3}IENz{a5Kz$2M9uVHPn0L6J7i(bX*JnS(fGJ9|5MH-mj(?X#xU3 zd@=U!I=1wvWGK>6HVA_*-TlbrH7DCGKoGpg?i#k_XaY?dlHH!Etfrn`00BA(&Lq47 zvd2tf*6Qm^MA8BT;vhJSuS}{QUJ(wrBGzo!AwUrF57qFB zVU?x^eV4tCOrAUl(5$Hq2*M=cTWPqhd&)x~0nyAqfF=oC3HomNQ<${|1Y+h?1_Z(e zzBLBjI(R_T5_EbGXkkk>{yWV2_8>swARv-bU|B5-Km($dpxSsTu005f zI8*@P(k{uUEI>fkav&fCq_#j=2zq!BFmcd>P|Fq;c;q1k5QzO(*(wCYLLRJxfYcfQ z^P-fmz6Bl=F+E5&Gy&0999RvHM7;olu!FbQmmwCI(mjz-$O%Fl=TUp=%2+|TSdWiLrw=tx5v`=vX>Z=}?4+3Jh zilyTDP$=_y?C6gD2uLxIa;P~q9LdJY_SKpv2#5tBnqTnJQievkfL`P?g;+?>Kp=Av z0`i3$U_L@X=s`4mMY~J_VqgYRL2T?SUJD=~OIpRE2T@+9XAT0JgAfp|Vu?G7%>wB`Y;4UC%f`;)wV(pR2Zao= z#9?R^NI*=?%w=91Gt1Wk2ne5~GY63eVXH&}VqcQkd=uUVsV+blEn8U{7BNX2SHipqzBQRKUM6THHPveoq()0 zMi26Bk?8@cAC!K35THCnWdI4t7a&?s(UCj|0cnIN1ms~9mC2_H;}JrvCmXCi2tppB zGKd63*L$EwC{KWZJP#otI!U_9vyZx|2+!KqA!Z8@@6SUBh&&)FHf=0~ct0rpv4gj6 zHvz$0=9b383J$pZBN@5{i1$21Z9oBEXnGYE^{@&oL4UEw3m^c=lqMkFCx@#*l+UZ# zaI1j`lTT}jdkYZH?of4b^J><=%d#X`B3++(88`hjzW@^SrmnUC@jR2N0)o{=ed+AzSBnpYSQ!v6`?Cm0w{-PCfCR@;@6qK!9C;A}qObSv z8XT^6Zua4*_c#NH2QNZEy5+0)0l?kQUHUm3ViglRSibA(pq?~XGFVvk7_c7i(d|K; zUpRkgLcwbSiE96T54?xX`fg=zvQ94`kl92u0efQ)>)PC$-~tinBj`Nk#h zaVo^Ba*B~gK`+x32@XaYr_+<_DGxF@VJ9F)Xa)e|RAOG6_bMQxLaoy?f|0gh ztI1HL_D4Cm;*wS_0WvsYztnM91uHZ>Ly;!CpTSOZxvUWhKt_3yB9#vX%|tIUfl#gx zC%0@2*yV%qE(4Oi$f$%px{%qw^A@=5JuaAr~^Vsd?+Yz zD^%ey0fdkQmgm^6sl#Cg2q77(q=2=Xz+nmqmwyAwbWE4b;4lY-kc?4OpjyqpET^{2 z`)*LUu`!Tj?Yd$P#}E%v>`6%Mlog<+A#e-@go%3q+1hkr7#za^AtW{m1Fpq1A#d4f zNDi`Y2C1q%qh$yH6d`Mm3p3L20MNjgh5{Y$5h^TM&fXMRsd`U!Kn&q1~<$yF{G zjirXV&o#EJ2@42w69_<{!l{-;;Q^^~lW6a@fFNL_k&xk3SU~7aT(Jc2HEL^y@E~h> zFh3arOeipl1w#Ttk75c)NHC@VgrKN_5+=vkvruRc!q97P_`Cl;4H#2-kPT4MfAeAE zF-E2XV`@NZP2_~0u)KmYEfnEbv5rlOuXl0vYe`W2{Z^vU{Qp)ykN|kPhh9N%5dROL WACS0ygKUie0000By-{H6eV8D{|-WU!w3Y0gzvAwB~&#a1Tu@#bB< zDX!7?Tn?>iahoY+!vq7)ix~M9NA5K*JjwOalSv+i4g8L?^&D zCrX61kHVX{4FRI;g5#aIJOG$qeTk0}0kGU2vbnwY0OBw28>P3{092F$_vn%+fc2}- zxG%^6kZ$otJ>EU{}iL zV*1Zcj_d_kti$dHuK@*IubVh&F;7>E!6X??klBW2c`c_6WgxNj*I}C-d%Sf$vy*h_ z^OIkzQzJeHMf!i&KeNCh0}^nO5c*byXb{mTjhU4Qz>*gYpMCjr`!Sh;z7^+TDW8Zp z%gTPtxkd)#)+4t`_wrk4*a`_dn~^jj#mw8hw{@|ahS!>(NMT9W7gA%tvV6?Wui1P+ zi?EGq)MJbuKbSZ;NdE_&%Fr+Xd0+wU5jp~#boXn{B^p{GlX@@DHvsOdF&l{1TyRj7 z5|Fh-&`rLKXl>j7&#(K;^N>Tr?ThUY1O42`h|(|Iq!Hs`=y`pil)}9p>$g`4fE5-X zHD6gso&Ew`h*st+Rb8ecHSKsEFs*wST-R1j;0e0Tg8-96~=w zPiOf=42YPu!C>)f&$*o#fk_?%K%TV;90O{rUu?{u?;9VlL1PEnb|%SXR5d|Cv>PvclCY_G>^`zB51mTdd+1ohKV zBt`jqyhFyfAHjP)qyHHa^A-EvANFv^w2?-g1hRKccTN%iIy1R+M%hq)PKW<8Q@T00Kdt z>w~=VB92E5-W$l+!FbY#+wbGV$m0&eQ8K@{e$0&%#oT~$#&BU?@!Da;Lx-devo*Pt zn=W7h_wlQi_RE;kwEN3dNW`UIulB0DZD++%7S3-|B7fJh0yqoYr{tTBM8|jcSsbi5 zkU|;n81iGi%ur*F>^tDhA7QVw(ST^G2AaL5Yo+YAlF>-svK(cG2U}Iytza2kX|m&= z`iNa zz>dGxsGr68g-)vev-x|jVOLPpcZj#S15F!6geZ2J)uL}>MhMCR}PXi-dHV= z?;0})a9Nu*y_L4?Dgq@1KtU)0sZ=`y0Z!A5$)Io>0GbGb!_|OOhBnHXs)9t*-thl26@P z^yZkv547fGnQus97+dU#s(}#**78?Kqb*8P2Z;X6q#`}zqnC4qYVZCXj9$~-lsuVE~8eYXx z>btRpTzr*@D{d_)t1SPdF%-m<=K3A4$X{ST3N0~PJ7rq4v1L-+UJA*6{Um6~HlB}C z)5~3A+`F!Z`)}7ku|g<` z^x3li^kT1Vy$^Iy$G66mi22fPCEM2dSC4B8)K$t+ha0w91DSl>JWx`{fe4@L@1cKF zh%1Fj1P1Rc%?b#u9s86RUV)TAd3M_e)`XW---04GV!C`IORL)JLre3_^xHE7X~Ja~ z^l}=YIhQPD29f1Ci5!S;1KtzlN;=tWXR~_kI|a)S+W~>e0VS$cb7jmk_O#87nQ7Mp z{TtrX6F+ql9P^uGg0u>%8R>_JJIsWu0b%$>ljiRmLsUJ=A#`%_Q@(4EHH3I0XIvcB zBj7>wt9)g&4_6FO%Ua+PUvSyn7*&wsOR#uFbmZjWNPKGXz84t-swHM4df41e#91yo z`qGELE`Lf;cZ?|5X#30UUZ8vQZTQx^3TKZN8|@Ypiu*HEa1rAKgLoMYlnPC1{ z2dXvbUbq68`asj^^&|3qv-ke5)EJu$Zrx{O<+B1}J~v-ciMz7y@|aiQ8;n4zs_<04 zUE;ouU)o*|mu+$t_k4RBpUlbkdFoKgl&*Os+a4b?elBP+ovQT&lkah*LP&`ybE{97>XDqz z%hcR!l81^sC~~pR9emsEw{&mHjIgvMb`%Kpq)ay9tGP@MI<@YaGFPC}9*f&&Q9?dt zltqA;q8JB|j5ag_QS?1mFHrK8fm0jl;^};LTQV`4jSkcu(=c(4_-2+ z&=QTArxf2{j0j{n`Na+s*0U3T$tE9=7N5CRI#rG<6=;r&GN#GiZ`i867|R=A0{h5_ z%YgTzRX|v@akYHzWa^(0V`r;ZbLPdQSHn9E+^A~x!v+wo)shk&bCJ1iP_n#f4mJHn zb=9kM7NNg;1n5VpqiE#HlF0llVpe>Ew&!1n$N zQh!c49y`i0`V`*~k#ejjBT)tNbTqRw4~oPYq8!rmD&ybgX4Mcq)_3c0P@Su#;nrcY zDWM%h3Tjw)bu_x^a5hdYh$O9S>Yu;`i#}z_ZGule=W?!{o>A!5;NxK^Q~wy}q*ibu z2|#_Di&;Sj)<55w1UIGfb?FxW+$|(X3hUn-zFy=kWyS>Amz!j#L;IPkf;heCVk+#I zh6!(MA<_HrL^|8;wXxpTq((LseslvX&64Td&)=|2qMvSbT*wZl(p?|zd-6J(gX)84 zBXv>!ELjgUg;$3=-dW*MS!fWdAlB{{@=KPn_i{7{-FkiaB9jxf2(K$yCu|GGBeIvI zoMuxpvrW0X84^t6?h=TOcc@gUa_gEOF%7Ea?kZGjN~d{oyPZ`)TK02eHZHBnAd%`Y zh%l3WFR}-v#NaOQ=v0)WGxUexY*mi=)u?S{u3fch^Gieq3rQ{d%b0*ofD z%-*uGr}%aCIb3F6{l5_d(j!mB77knxMgLM}-vnotycz)LZWn`JP?c$=BU1i~I!D7D zJnacfBrp-3jW|6>aYu!Y>gx?8Mvdp-KD=7n?mWc`W*C|X6w2Kitm zN=0olTwRv|UGB5kQvt*)CU~s`QU#$e_yOn?1Xa;v(k^l(p zS0vj%g73-2h*Xj^U`o8glykQyZBe D>FAtJ literal 0 HcmV?d00001 diff --git a/frontend/public/image/login/新浪微博.png b/frontend/public/image/login/新浪微博.png new file mode 100644 index 0000000000000000000000000000000000000000..7653ecef3795d24972bd1265e088f37068d1422b GIT binary patch literal 4601 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 literal 0 HcmV?d00001 diff --git a/frontend/src/components/desktop/LockDesktop.vue b/frontend/src/components/desktop/LockDesktop.vue index 28c3043..f3023a8 100644 --- a/frontend/src/components/desktop/LockDesktop.vue +++ b/frontend/src/components/desktop/LockDesktop.vue @@ -1,314 +1,595 @@ \ No newline at end of file + .lockscreen { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 201; + display: flex; + justify-content: center; + align-items: center; + overflow: hidden; + color: #fff; + background-color: rgba(25, 28, 34, 0.78); + backdrop-filter: blur(7px); + + .login-box { + width: 300px; + padding: 20px; + text-align: center; + background: #ffffff; + border-radius: 10px; + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); + border: 1px solid #e0e0e0; + + .avatar-container { + margin-bottom: 20px; + } + + .el-input { + width: 100%; + margin-bottom: 10px; + background: #f9f9f9; + border-radius: 4px; + } + + .el-button { + width: 100%; + margin-top: 10px; + background: #409eff; + color: #ffffff; + border: none; + border-radius: 4px; + transition: background 0.3s ease; + } + + .el-button:hover { + background: #66b1ff; + } + + .tip { + padding: 4px 0; + font-size: 12px; + color: red; + height: 30px; + } + + .actions { + margin-top: 10px; + display: flex; + justify-content: space-between; + + a { + color: #409eff; + text-decoration: none; + cursor: pointer; + + &:hover { + text-decoration: underline; + } + } + } + } + + .screen-hidean { + animation: outan 0.5s forwards; + } + + .screen-hide { + display: none; + } + + .third-party-login { + margin-top: 10px; + display: flex; + justify-content: center; + gap: 15px; + + el-icon { + font-size: 24px; + cursor: pointer; + transition: color 0.3s ease; + + &:hover { + color: #409eff; + } + } + } + + .divider { + display: flex; + align-items: center; + text-align: center; + margin: 20px 0; + color: #999; + font-size: 14px; + + &::before, + &::after { + content: ""; + flex: 1; + border-bottom: 1px solid #ddd; + } + + &::before { + margin-right: 0.25em; + } + + &::after { + margin-left: 0.25em; + } + } + } + + @keyframes outan { + 0% { + opacity: 1; + } + + 30% { + opacity: 0; + } + + 100% { + transform: translateY(-100%); + opacity: 0; + } + } + diff --git a/frontend/src/components/setting/SetSystem.vue b/frontend/src/components/setting/SetSystem.vue index c30ac92..b87bfed 100644 --- a/frontend/src/components/setting/SetSystem.vue +++ b/frontend/src/components/setting/SetSystem.vue @@ -1,422 +1,500 @@ diff --git a/frontend/src/stores/login.ts b/frontend/src/stores/login.ts new file mode 100644 index 0000000..41c5fb5 --- /dev/null +++ b/frontend/src/stores/login.ts @@ -0,0 +1,12 @@ +import { defineStore } from 'pinia'; + +export const useLoginStore = defineStore("login", () => { + // 第三方登录方式 + const ThirdPartyPlatform = ref(null); + + const State = ref(null); + return { + ThirdPartyPlatform, + State + }; +}); \ No newline at end of file diff --git a/frontend/src/system/index.ts b/frontend/src/system/index.ts index 38239bb..0ecfaad 100644 --- a/frontend/src/system/index.ts +++ b/frontend/src/system/index.ts @@ -14,9 +14,9 @@ import { } from './type/type'; import { BrowserWindow, BrowserWindowOption } from './window/BrowserWindow'; -import { useUpgradeStore } from '@/stores/upgrade'; import { useAssistantStore } from '@/stores/assistant'; import { useModelStore } from "@/stores/model.ts"; +import { useUpgradeStore } from '@/stores/upgrade'; import { RestartApp } from '@/util/goutil'; import { notifyError } from '@/util/msg'; import { isShareFile } from '@/util/sharePath'; @@ -134,6 +134,7 @@ export class System { */ private async isLogin() { const config = getSystemConfig(); + if (config.userType == 'person') { if (!this._options.login) { this._rootState.state = SystemStateEnum.open; @@ -159,6 +160,7 @@ export class System { }; } } else { + // 非个人用户 const userInfo = config.userInfo; if (userInfo.url == '') { return true; @@ -171,25 +173,35 @@ export class System { const data = await res.json(); //console.log(data) if (data.success) { + // 登录成功 this._rootState.state = SystemStateEnum.open; return true; } else { + // 登录失败 //return true; this._rootState.state = SystemStateEnum.lock; - - this._options.loginCallback = async (username: string, password: string) => { + // 登录回调 + this._options.loginCallback = async ( + username: string, password: string, loginCode?: { + github_code?: string, + gitee_code?: string + } + ) => { const serverUrl = config.userInfo.url + '/member/login' const res: any = await fetch(serverUrl, { method: "POST", body: JSON.stringify({ username: username, password: password, + github_code: loginCode?.github_code, + gitee_code: loginCode?.gitee_code, clientId: getClientId(), }), }); if (!res.ok) { return false } + const jsondata = await res.json(); if (jsondata.success) { jsondata.data.url = config.userInfo.url @@ -198,12 +210,16 @@ export class System { setSystemConfig(config); this._rootState.state = SystemStateEnum.open; this.refershAppList() + window.location.href = "/"; return true } else { notifyError(jsondata.message) return false } }; + + + // //const tmpCallBack = this._options.authCallback; // this._options.authCallback = async (username: string, password: string, captcha :string) => { // //this._rootState.state = SystemStateEnum.open; diff --git a/frontend/src/system/router.ts b/frontend/src/system/router.ts index 6abfe18..e5be824 100644 --- a/frontend/src/system/router.ts +++ b/frontend/src/system/router.ts @@ -1,4 +1,4 @@ -import { createWebHistory, createRouter } from "vue-router"; +import { createRouter, createWebHistory } from "vue-router"; const routes = [ // { @@ -10,8 +10,13 @@ const routes = [ // name: "install", // component: () => import('../views/install/install.vue') // 关于我们组件 // }, + // { + // path: "/login/github/next", + // name: "login-github", + // component: () => import("../components/desktop/GithubNext.vue"), + // }, { - path: '/:pathMatch(.*)*', + path: "/:pathMatch(.*)*", name: "not-found", component: () => import('../components/window/NotFound.vue') } diff --git a/frontend/src/system/type/type.ts b/frontend/src/system/type/type.ts index d6f5e19..715f9a7 100644 --- a/frontend/src/system/type/type.ts +++ b/frontend/src/system/type/type.ts @@ -1,5 +1,5 @@ -import { BrowserWindowOption } from '../window/BrowserWindow'; import { MenuItem, MenuItemConstructorOptions } from '../menu/MenuItem'; +import { BrowserWindowOption } from '../window/BrowserWindow'; export type BuiltinFeature = | 'MyComputer' | 'AppStore' @@ -56,7 +56,14 @@ export interface SystemOptionsCertainly { }; contextMenus?: Array; noPassword?: boolean; - loginCallback?: (username: string, password: string) => Promise; + loginCallback?: ( + username: string, + password: string, + loginCode?: { + github_code?: string, + gitee_code?: string + } + ) => Promise; } export type SystemOptions = SystemOptionsCertainly & { [key: string]: SafeAny;