From ed9536f6ab6a5655904ecdf33f877ea3680c5e37 Mon Sep 17 00:00:00 2001 From: JenniferW <1627055433@qq.com> Date: Thu, 15 Jan 2026 15:50:49 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A6=96=E6=AC=A1=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .browserslistrc | 4 + .changeset/README.md | 5 + .changeset/config.json | 18 + .commitlintrc.js | 1 + .dockerignore | 7 + .editorconfig | 18 + .gitattributes | 11 + .gitconfig | 2 + .gitignore | 52 + .gitpod.yml | 6 + .node-version | 1 + .npmrc | 13 + .prettierignore | 18 + .prettierrc.mjs | 1 + .stylelintignore | 4 + aiflowy.code-workspace | 152 + app/.env | 8 + app/.env.analyze | 7 + app/.env.development | 13 + app/.env.production | 26 + app/index.html | 32 + app/package.json | 59 + app/postcss.config.mjs | 1 + app/public/empty-dark.png | Bin 0 -> 51245 bytes app/public/empty.png | Bin 0 -> 44215 bytes app/public/favicon.png | Bin 0 -> 45486 bytes app/public/favicon.svg | 11 + app/public/load.min.js | 1 + app/public/logo.svg | 22 + app/public/logoDark.svg | 22 + app/public/logoMini.svg | 11 + app/public/slogan.png | Bin 0 -> 1011410 bytes app/public/tac/css/tac.css | 7 + app/public/tac/images/dun.jpeg | Bin 0 -> 8340 bytes app/public/tac/images/icon.png | Bin 0 -> 3100 bytes app/public/tac/js/tac.min.js | 1 + app/src/adapter/component/index.ts | 331 + app/src/adapter/form.ts | 41 + app/src/adapter/vxe-table.ts | 70 + app/src/api/ai/bot.ts | 138 + app/src/api/ai/index.ts | 2 + app/src/api/ai/knowledge.ts | 0 app/src/api/ai/llm.ts | 44 + app/src/api/common/file.ts | 27 + app/src/api/common/hasPermission.ts | 9 + app/src/api/core/auth.ts | 52 + app/src/api/core/index.ts | 3 + app/src/api/core/menu.ts | 12 + app/src/api/core/user.ts | 10 + app/src/api/index.ts | 2 + app/src/api/request.ts | 221 + app/src/app.vue | 17 + app/src/assets/ai/bot/defaultBotAvatar.png | Bin 0 -> 20748 bytes app/src/assets/ai/knowledge/book.png | Bin 0 -> 1242 bytes app/src/assets/ai/knowledge/book.svg | 17 + app/src/assets/ai/knowledge/document.svg | 27 + .../assets/ai/plugin/defaultPluginIcon.png | Bin 0 -> 4292 bytes app/src/assets/ai/resource/audio-icon.png | Bin 0 -> 14784 bytes app/src/assets/ai/resource/doc-icon.png | Bin 0 -> 13087 bytes app/src/assets/ai/resource/other-icon.png | Bin 0 -> 12675 bytes app/src/assets/ai/resource/video-icon.png | Bin 0 -> 14329 bytes app/src/assets/ai/workflow/confirm-file.png | Bin 0 -> 408 bytes app/src/assets/ai/workflow/confirm-icon.png | Bin 0 -> 2388 bytes app/src/assets/ai/workflow/confirm-other.png | Bin 0 -> 668 bytes app/src/assets/ai/workflow/fileIcon.png | Bin 0 -> 9609 bytes app/src/assets/ai/workflow/workflowIcon.png | Bin 0 -> 177200 bytes app/src/assets/datacenter/table2x.png | Bin 0 -> 2581 bytes app/src/assets/datacenter/upload.png | Bin 0 -> 9474 bytes app/src/assets/defaultUserAvatar.png | Bin 0 -> 44718 bytes app/src/assets/login/dingding-60.png | Bin 0 -> 2393 bytes app/src/assets/login/wx-60.png | Bin 0 -> 2633 bytes app/src/bootstrap.ts | 90 + app/src/components/botAvatar/botAvatar.vue | 14 + app/src/components/cardPage/CardPage.vue | 355 + .../categoryPanel/CategoryCrudPanel.vue | 325 + .../categoryPanel/CategoryPanel.vue | 370 + .../components/chat/ProblemPresupposition.vue | 91 + .../chat/PublishWxOfficalAccount.vue | 146 + app/src/components/chat/SenderHeader.vue | 126 + app/src/components/chat/chat.vue | 407 + .../components/collapse/CustomCoolapse.vue | 309 + .../collapseViewItem/CollapseViewItem.vue | 119 + .../CommonSelectDataModal.vue | 471 + app/src/components/cron/CronGenerator.vue | 281 + app/src/components/cron/CronPicker.vue | 38 + app/src/components/cron/CronTabPane.vue | 174 + app/src/components/dict/DictSelect.vue | 190 + .../components/headerSearch/HeaderSearch.vue | 221 + app/src/components/icons/CategorizeIcon.vue | 31 + app/src/components/icons/DesignIcon.vue | 18 + app/src/components/icons/EditIcon.vue | 33 + app/src/components/icons/MagicStaffIcon.vue | 55 + app/src/components/icons/ManageIcon.vue | 40 + app/src/components/icons/PluginIcon.vue | 46 + app/src/components/icons/PluginToolIcon.vue | 31 + app/src/components/icons/RecordingIcon.vue | 129 + app/src/components/icons/SendEnableIcon.vue | 37 + app/src/components/icons/SendIcon.vue | 38 + app/src/components/icons/SendingIcon.vue | 47 + app/src/components/json/ShowJson.vue | 42 + app/src/components/page/CardList.vue | 198 + app/src/components/page/PageData.vue | 129 + app/src/components/page/PageSide.vue | 236 + app/src/components/tag/Tag.vue | 226 + app/src/components/tree/Tree.vue | 262 + app/src/components/upload/Cropper.vue | 461 + app/src/components/upload/CropperMulti.vue | 603 + app/src/components/upload/DragFileUpload.vue | 83 + app/src/components/upload/Upload.vue | 72 + app/src/components/upload/UploadAvatar.vue | 125 + app/src/layouts/auth.vue | 27 + app/src/layouts/basic.vue | 201 + app/src/layouts/index.ts | 6 + app/src/locales/README.md | 3 + app/src/locales/index.ts | 102 + app/src/locales/langs/en-US/aiResource.json | 20 + app/src/locales/langs/en-US/aiWorkflow.json | 71 + .../langs/en-US/aiWorkflowCategory.json | 10 + .../langs/en-US/aiWorkflowExecRecord.json | 25 + .../langs/en-US/aiWorkflowRecordStep.json | 22 + app/src/locales/langs/en-US/bot.json | 26 + app/src/locales/langs/en-US/button.json | 46 + app/src/locales/langs/en-US/common.json | 25 + app/src/locales/langs/en-US/cron.json | 18 + app/src/locales/langs/en-US/cropper.json | 20 + .../locales/langs/en-US/datacenterTable.json | 33 + .../langs/en-US/datacenterTableFields.json | 13 + app/src/locales/langs/en-US/demos.json | 14 + app/src/locales/langs/en-US/dictSelect.json | 4 + .../langs/en-US/documentCollection.json | 81 + app/src/locales/langs/en-US/headerSearch.json | 1 + app/src/locales/langs/en-US/llm.json | 79 + app/src/locales/langs/en-US/llmProvider.json | 15 + app/src/locales/langs/en-US/mcp.json | 20 + app/src/locales/langs/en-US/menus.json | 33 + app/src/locales/langs/en-US/message.json | 46 + app/src/locales/langs/en-US/page.json | 23 + app/src/locales/langs/en-US/plugin.json | 33 + app/src/locales/langs/en-US/pluginItem.json | 35 + .../locales/langs/en-US/settingsConfig.json | 10 + app/src/locales/langs/en-US/sysAccount.json | 27 + app/src/locales/langs/en-US/sysApiKey.json | 18 + .../en-US/sysApiKeyResourcePermission.json | 6 + .../locales/langs/en-US/sysAppearance.json | 24 + app/src/locales/langs/en-US/sysDept.json | 17 + app/src/locales/langs/en-US/sysDict.json | 12 + app/src/locales/langs/en-US/sysFeedback.json | 20 + app/src/locales/langs/en-US/sysJob.json | 23 + app/src/locales/langs/en-US/sysJobLog.json | 14 + app/src/locales/langs/en-US/sysLog.json | 14 + app/src/locales/langs/en-US/sysMenu.json | 20 + app/src/locales/langs/en-US/sysOption.json | 4 + app/src/locales/langs/en-US/sysPosition.json | 24 + app/src/locales/langs/en-US/sysRole.json | 17 + app/src/locales/langs/zh-CN/aiResource.json | 20 + app/src/locales/langs/zh-CN/aiWorkflow.json | 71 + .../langs/zh-CN/aiWorkflowCategory.json | 10 + .../langs/zh-CN/aiWorkflowExecRecord.json | 25 + .../langs/zh-CN/aiWorkflowRecordStep.json | 22 + app/src/locales/langs/zh-CN/bot.json | 26 + app/src/locales/langs/zh-CN/button.json | 46 + app/src/locales/langs/zh-CN/common.json | 25 + app/src/locales/langs/zh-CN/cron.json | 18 + app/src/locales/langs/zh-CN/cropper.json | 20 + .../locales/langs/zh-CN/datacenterTable.json | 33 + .../langs/zh-CN/datacenterTableFields.json | 13 + app/src/locales/langs/zh-CN/demos.json | 14 + app/src/locales/langs/zh-CN/dictSelect.json | 4 + .../langs/zh-CN/documentCollection.json | 81 + app/src/locales/langs/zh-CN/headerSearch.json | 1 + app/src/locales/langs/zh-CN/llm.json | 76 + app/src/locales/langs/zh-CN/llmProvider.json | 15 + app/src/locales/langs/zh-CN/mcp.json | 20 + app/src/locales/langs/zh-CN/menus.json | 33 + app/src/locales/langs/zh-CN/message.json | 46 + app/src/locales/langs/zh-CN/page.json | 23 + app/src/locales/langs/zh-CN/plugin.json | 33 + app/src/locales/langs/zh-CN/pluginItem.json | 35 + .../locales/langs/zh-CN/settingsConfig.json | 10 + app/src/locales/langs/zh-CN/sysAccount.json | 28 + app/src/locales/langs/zh-CN/sysApiKey.json | 18 + .../zh-CN/sysApiKeyResourcePermission.json | 6 + .../locales/langs/zh-CN/sysAppearance.json | 24 + app/src/locales/langs/zh-CN/sysDept.json | 17 + app/src/locales/langs/zh-CN/sysDict.json | 12 + app/src/locales/langs/zh-CN/sysFeedback.json | 20 + app/src/locales/langs/zh-CN/sysJob.json | 23 + app/src/locales/langs/zh-CN/sysJobLog.json | 14 + app/src/locales/langs/zh-CN/sysLog.json | 14 + app/src/locales/langs/zh-CN/sysMenu.json | 20 + app/src/locales/langs/zh-CN/sysOption.json | 4 + app/src/locales/langs/zh-CN/sysPosition.json | 24 + app/src/locales/langs/zh-CN/sysRole.json | 17 + app/src/main.ts | 31 + app/src/preferences.ts | 14 + app/src/router/access.ts | 42 + app/src/router/guard.ts | 133 + app/src/router/index.ts | 37 + app/src/router/routes/core.ts | 108 + app/src/router/routes/index.ts | 47 + app/src/router/routes/modules/aiflowy.ts | 63 + app/src/router/routes/modules/bot.ts | 32 + app/src/router/routes/modules/dashboard.ts | 38 + app/src/router/routes/modules/datacenter.ts | 20 + app/src/router/routes/modules/demos.ts | 52 + app/src/router/routes/modules/document.ts | 21 + app/src/router/routes/modules/plugins.ts | 32 + app/src/router/routes/modules/sysFeedback.ts | 20 + app/src/router/routes/modules/sysJob.ts | 20 + app/src/router/routes/modules/workflow.ts | 55 + app/src/shims-vue.d.ts | 17 + app/src/store/auth.ts | 119 + app/src/store/dict.ts | 54 + app/src/store/index.ts | 2 + app/src/utils/resource.ts | 57 + app/src/views/_core/README.md | 3 + app/src/views/_core/about/index.vue | 39 + .../views/_core/authentication/code-login.vue | 69 + .../_core/authentication/forget-password.vue | 43 + app/src/views/_core/authentication/login.vue | 127 + .../views/_core/authentication/oauth-page.vue | 32 + .../_core/authentication/qrcode-login.vue | 10 + .../views/_core/authentication/register.vue | 96 + app/src/views/_core/fallback/coming-soon.vue | 7 + app/src/views/_core/fallback/forbidden.vue | 9 + .../views/_core/fallback/internal-error.vue | 9 + app/src/views/_core/fallback/not-found.vue | 9 + app/src/views/_core/fallback/offline.vue | 9 + app/src/views/_core/profile/base-setting.vue | 77 + app/src/views/_core/profile/index.vue | 43 + .../_core/profile/notification-setting.vue | 33 + .../views/_core/profile/password-setting.vue | 78 + .../views/_core/profile/security-setting.vue | 43 + app/src/views/ai/bots/index.vue | 344 + app/src/views/ai/bots/modal.vue | 120 + app/src/views/ai/bots/pages/Run.vue | 159 + .../pages/setting/PromptChoreChatModal.vue | 91 + .../views/ai/bots/pages/setting/config.vue | 1048 + app/src/views/ai/bots/pages/setting/index.vue | 66 + .../views/ai/bots/pages/setting/preview.vue | 34 + .../views/ai/bots/pages/setting/prompt.vue | 94 + .../documentCollection/ChunkDocumentTable.vue | 164 + .../ComfirmImportDocument.vue | 105 + .../views/ai/documentCollection/Document.vue | 228 + .../documentCollection/DocumentCollection.vue | 181 + .../DocumentCollectionModal.vue | 284 + .../ai/documentCollection/DocumentTable.vue | 155 + .../ImportKnowledgeDocFile.vue | 253 + .../ImportKnowledgeFileContainer.vue | 107 + .../ai/documentCollection/KnowledgeSearch.vue | 75 + .../PreviewSearchKnowledge.vue | 251 + .../ai/documentCollection/SegmenterDoc.vue | 144 + .../documentCollection/SplitterDocPreview.vue | 174 + app/src/views/ai/mcp/Mcp.vue | 157 + app/src/views/ai/mcp/McpModal.vue | 341 + app/src/views/ai/model/AddModelModal.vue | 377 + .../views/ai/model/AddModelProviderModal.vue | 197 + app/src/views/ai/model/ManageModelModal.vue | 350 + app/src/views/ai/model/Model.vue | 622 + app/src/views/ai/model/ModelVerifyConfig.vue | 118 + .../views/ai/model/ModelViewItemOperation.vue | 201 + .../views/ai/model/modelUtils/defaultIcon.ts | 27 + .../model/modelUtils/model-ability-utils.ts | 71 + .../ai/model/modelUtils/model-ability.ts | 169 + .../views/ai/model/modelUtils/modelTypes.ts | 16 + .../ai/model/modelUtils/providerList.json | 577 + app/src/views/ai/plugin/AddPluginModal.vue | 285 + app/src/views/ai/plugin/AiPluginToolModal.vue | 196 + .../views/ai/plugin/CategoryPluginModal.vue | 133 + app/src/views/ai/plugin/Plugin.vue | 308 + .../ai/plugin/PluginInputAndOutParams.vue | 703 + app/src/views/ai/plugin/PluginRunParams.vue | 259 + .../views/ai/plugin/PluginRunTestModal.vue | 215 + .../views/ai/plugin/PluginToolCollapse.vue | 5 + app/src/views/ai/plugin/PluginToolEdit.vue | 763 + app/src/views/ai/plugin/PluginToolTable.vue | 135 + app/src/views/ai/plugin/PluginTools.vue | 62 + app/src/views/ai/resource/ChooseResource.vue | 77 + app/src/views/ai/resource/PreviewModal.vue | 47 + .../views/ai/resource/ResourceCardList.vue | 155 + app/src/views/ai/resource/ResourceList.vue | 467 + app/src/views/ai/resource/ResourceModal.vue | 168 + app/src/views/ai/workflow/RunPage.vue | 133 + app/src/views/ai/workflow/WorkflowDesign.vue | 312 + app/src/views/ai/workflow/WorkflowList.vue | 435 + app/src/views/ai/workflow/WorkflowModal.vue | 140 + .../ai/workflow/components/ConfirmItem.vue | 211 + .../workflow/components/ConfirmItemMulti.vue | 216 + .../ai/workflow/components/ExecResult.vue | 97 + .../ai/workflow/components/ExecResultItem.vue | 88 + .../ai/workflow/components/SingleRun.vue | 81 + .../ai/workflow/components/WorkflowForm.vue | 131 + .../workflow/components/WorkflowFormItem.vue | 122 + .../ai/workflow/components/WorkflowSteps.vue | 242 + .../ai/workflow/customNode/documentNode.ts | 37 + .../ai/workflow/customNode/downloadNode.ts | 90 + app/src/views/ai/workflow/customNode/index.ts | 29 + .../ai/workflow/customNode/makeFileNode.ts | 58 + .../views/ai/workflow/customNode/nodeNames.ts | 10 + .../ai/workflow/customNode/pluginNode.ts | 30 + .../workflow/customNode/saveToDatacenter.ts | 58 + .../workflow/customNode/searchDatacenter.ts | 68 + .../views/ai/workflow/customNode/sqlNode.ts | 37 + .../ai/workflow/customNode/workflowNode.ts | 30 + .../execute/WorkflowExecResultList.vue | 244 + .../workflow/execute/WorkflowExecStepList.vue | 184 + app/src/views/config/apikey/SysApiKey.vue | 30 + app/src/views/config/apikey/SysApiKeyList.vue | 209 + .../views/config/apikey/SysApiKeyModal.vue | 259 + .../SysApiKeyResourcePermissionList.vue | 157 + .../SysApiKeyResourcePermissionModal.vue | 116 + ...SysApiKeyResourcePermissionSelectModal.vue | 130 + app/src/views/config/settings/Settings.vue | 161 + .../dashboard/analytics/analytics-trends.vue | 98 + .../analytics/analytics-visits-data.vue | 82 + .../analytics/analytics-visits-sales.vue | 46 + .../analytics/analytics-visits-source.vue | 65 + .../dashboard/analytics/analytics-visits.vue | 55 + app/src/views/dashboard/analytics/index.vue | 90 + app/src/views/dashboard/workspace/index.vue | 266 + app/src/views/datacenter/BatchImportModal.vue | 158 + .../datacenter/DatacenterTableDetail.vue | 272 + .../views/datacenter/DatacenterTableList.vue | 175 + .../views/datacenter/DatacenterTableModal.vue | 280 + app/src/views/datacenter/RecordModal.vue | 154 + app/src/views/demos/cardTest/index.vue | 177 + app/src/views/demos/categoryPanel/index.vue | 34 + app/src/views/demos/element/index.vue | 117 + app/src/views/demos/form/basic.vue | 191 + .../system/sysAccount/SysAccountList.vue | 214 + .../system/sysAccount/SysAccountModal.vue | 173 + app/src/views/system/sysDept/SysDeptList.vue | 196 + app/src/views/system/sysDept/SysDeptModal.vue | 144 + .../system/sysFeedback/sysFeedbackDetail.vue | 187 + .../system/sysFeedback/sysFeedbackList.vue | 241 + app/src/views/system/sysJob/SysJobList.vue | 278 + app/src/views/system/sysJob/SysJobLogList.vue | 136 + app/src/views/system/sysJob/SysJobModal.vue | 244 + app/src/views/system/sysLog/SysLogList.vue | 83 + app/src/views/system/sysLog/SysLogModal.vue | 143 + app/src/views/system/sysMenu/SysMenuList.vue | 182 + app/src/views/system/sysMenu/SysMenuModal.vue | 187 + .../system/sysPosition/SysPositionList.vue | 238 + .../system/sysPosition/SysPositionModal.vue | 161 + app/src/views/system/sysRole/SysRoleList.vue | 167 + app/src/views/system/sysRole/SysRoleModal.vue | 176 + app/tailwind.config.mjs | 1 + app/tsconfig.json | 12 + app/tsconfig.node.json | 10 + app/vite.config.mts | 27 + cspell.json | 69 + eslint.config.mjs | 5 + .../lint-configs/commitlint-config/index.mjs | 153 + .../commitlint-config/package.json | 33 + .../eslint-config/build.config.ts | 7 + .../lint-configs/eslint-config/package.json | 56 + .../eslint-config/src/configs/command.ts | 10 + .../eslint-config/src/configs/comments.ts | 24 + .../eslint-config/src/configs/disableds.ts | 28 + .../eslint-config/src/configs/ignores.ts | 52 + .../eslint-config/src/configs/import.ts | 25 + .../eslint-config/src/configs/index.ts | 17 + .../eslint-config/src/configs/javascript.ts | 241 + .../eslint-config/src/configs/jsdoc.ts | 34 + .../eslint-config/src/configs/jsonc.ts | 258 + .../eslint-config/src/configs/node.ts | 57 + .../src/configs/perfectionist.ts | 89 + .../eslint-config/src/configs/prettier.ts | 19 + .../eslint-config/src/configs/regexp.ts | 20 + .../eslint-config/src/configs/test.ts | 45 + .../eslint-config/src/configs/turbo.ts | 18 + .../eslint-config/src/configs/typescript.ts | 72 + .../eslint-config/src/configs/unicorn.ts | 45 + .../eslint-config/src/configs/vue.ts | 153 + .../eslint-config/src/custom-config.ts | 156 + .../lint-configs/eslint-config/src/index.ts | 60 + .../lint-configs/eslint-config/src/util.ts | 8 + .../lint-configs/eslint-config/tsconfig.json | 6 + .../lint-configs/prettier-config/index.mjs | 18 + .../lint-configs/prettier-config/package.json | 28 + .../lint-configs/stylelint-config/index.mjs | 141 + .../stylelint-config/package.json | 43 + internal/node-utils/build.config.ts | 7 + internal/node-utils/package.json | 43 + .../node-utils/src/__tests__/hash.test.ts | 52 + .../node-utils/src/__tests__/path.test.ts | 67 + internal/node-utils/src/constants.ts | 6 + internal/node-utils/src/date.ts | 12 + internal/node-utils/src/fs.ts | 39 + internal/node-utils/src/git.ts | 34 + internal/node-utils/src/hash.ts | 18 + internal/node-utils/src/index.ts | 19 + internal/node-utils/src/monorepo.ts | 46 + internal/node-utils/src/path.ts | 11 + internal/node-utils/src/prettier.ts | 21 + internal/node-utils/src/spinner.ts | 26 + internal/node-utils/tsconfig.json | 6 + internal/tailwind-config/build.config.ts | 10 + internal/tailwind-config/package.json | 66 + internal/tailwind-config/src/index.ts | 266 + internal/tailwind-config/src/module.d.ts | 3 + internal/tailwind-config/src/plugins/entry.ts | 53 + .../tailwind-config/src/postcss.config.ts | 15 + internal/tailwind-config/tsconfig.json | 9 + internal/tsconfig/base.json | 40 + internal/tsconfig/library.json | 13 + internal/tsconfig/node.json | 12 + internal/tsconfig/package.json | 25 + internal/tsconfig/web-app.json | 8 + internal/tsconfig/web.json | 14 + internal/vite-config/build.config.ts | 7 + internal/vite-config/package.json | 59 + .../vite-config/src/config/application.ts | 125 + internal/vite-config/src/config/common.ts | 13 + internal/vite-config/src/config/index.ts | 37 + internal/vite-config/src/config/library.ts | 59 + internal/vite-config/src/index.ts | 4 + internal/vite-config/src/options.ts | 45 + internal/vite-config/src/plugins/archiver.ts | 75 + .../src/plugins/extra-app-config.ts | 92 + internal/vite-config/src/plugins/importmap.ts | 245 + internal/vite-config/src/plugins/index.ts | 247 + .../src/plugins/inject-app-loading/README.md | 3 + .../default-loading-antd.html | 107 + .../inject-app-loading/default-loading.html | 113 + .../src/plugins/inject-app-loading/index.ts | 66 + .../src/plugins/inject-metadata.ts | 111 + internal/vite-config/src/plugins/license.ts | 63 + .../vite-config/src/plugins/nitro-mock.ts | 98 + internal/vite-config/src/plugins/print.ts | 28 + internal/vite-config/src/plugins/vxe-table.ts | 20 + internal/vite-config/src/typing.ts | 343 + internal/vite-config/src/utils/env.ts | 110 + internal/vite-config/tsconfig.json | 6 + lefthook.yml | 76 + package.json | 96 + packages/@core/README.md | 3 + packages/@core/base/README.md | 5 + packages/@core/base/design/package.json | 41 + packages/@core/base/design/src/css/global.css | 170 + .../@core/base/design/src/css/nprogress.css | 59 + .../@core/base/design/src/css/transition.css | 236 + packages/@core/base/design/src/css/ui.css | 101 + .../base/design/src/design-tokens/dark.css | 454 + .../base/design/src/design-tokens/default.css | 392 + .../base/design/src/design-tokens/index.ts | 4 + packages/@core/base/design/src/index.ts | 8 + .../@core/base/design/src/scss-bem/bem.scss | 34 + .../base/design/src/scss-bem/constants.scss | 5 + packages/@core/base/design/tsconfig.json | 6 + packages/@core/base/design/vite.config.mts | 9 + packages/@core/base/icons/build.config.ts | 7 + packages/@core/base/icons/package.json | 41 + packages/@core/base/icons/src/create-icon.ts | 14 + packages/@core/base/icons/src/index.ts | 11 + packages/@core/base/icons/src/lucide.ts | 69 + packages/@core/base/icons/tsconfig.json | 6 + packages/@core/base/shared/build.config.ts | 14 + packages/@core/base/shared/package.json | 100 + .../cache/__tests__/storage-manager.test.ts | 130 + packages/@core/base/shared/src/cache/index.ts | 1 + .../base/shared/src/cache/storage-manager.ts | 118 + packages/@core/base/shared/src/cache/types.ts | 17 + .../src/color/__tests__/convert.test.ts | 58 + packages/@core/base/shared/src/color/color.ts | 9 + .../@core/base/shared/src/color/convert.ts | 62 + .../@core/base/shared/src/color/generator.ts | 45 + packages/@core/base/shared/src/color/index.ts | 3 + .../base/shared/src/constants/aiflowy.ts | 20 + .../base/shared/src/constants/globals.ts | 16 + .../@core/base/shared/src/constants/index.ts | 2 + .../@core/base/shared/src/global-state.ts | 45 + packages/@core/base/shared/src/store.ts | 1 + .../shared/src/utils/__tests__/date.test.ts | 143 + .../shared/src/utils/__tests__/diff.test.ts | 53 + .../shared/src/utils/__tests__/dom.test.ts | 127 + .../src/utils/__tests__/inference.test.ts | 183 + .../shared/src/utils/__tests__/letter.test.ts | 116 + .../src/utils/__tests__/resources.test.ts | 82 + .../src/utils/__tests__/state-handler.test.ts | 60 + .../shared/src/utils/__tests__/tree.test.ts | 196 + .../shared/src/utils/__tests__/unique.test.ts | 60 + .../__tests__/update-css-variables.test.ts | 30 + .../shared/src/utils/__tests__/util.test.ts | 156 + .../shared/src/utils/__tests__/window.test.ts | 33 + packages/@core/base/shared/src/utils/cn.ts | 10 + packages/@core/base/shared/src/utils/date.ts | 75 + packages/@core/base/shared/src/utils/diff.ts | 96 + packages/@core/base/shared/src/utils/dom.ts | 95 + .../@core/base/shared/src/utils/download.ts | 157 + packages/@core/base/shared/src/utils/index.ts | 23 + .../@core/base/shared/src/utils/inference.ts | 165 + .../@core/base/shared/src/utils/letter.ts | 47 + packages/@core/base/shared/src/utils/merge.ts | 10 + .../@core/base/shared/src/utils/nprogress.ts | 43 + .../@core/base/shared/src/utils/resources.ts | 21 + .../base/shared/src/utils/state-handler.ts | 50 + packages/@core/base/shared/src/utils/to.ts | 21 + packages/@core/base/shared/src/utils/tree.ts | 97 + .../@core/base/shared/src/utils/unique.ts | 15 + .../shared/src/utils/update-css-variables.ts | 35 + packages/@core/base/shared/src/utils/util.ts | 191 + .../@core/base/shared/src/utils/window.ts | 37 + packages/@core/base/shared/tsconfig.json | 6 + packages/@core/base/typings/build.config.ts | 7 + packages/@core/base/typings/package.json | 44 + packages/@core/base/typings/src/app.d.ts | 121 + packages/@core/base/typings/src/basic.d.ts | 35 + packages/@core/base/typings/src/helper.d.ts | 132 + packages/@core/base/typings/src/index.ts | 6 + .../@core/base/typings/src/menu-record.ts | 76 + packages/@core/base/typings/src/tabs.ts | 8 + .../@core/base/typings/src/vue-router.d.ts | 153 + packages/@core/base/typings/tsconfig.json | 6 + packages/@core/base/typings/vue-router.d.ts | 9 + packages/@core/composables/build.config.ts | 7 + packages/@core/composables/package.json | 47 + .../src/__tests__/use-sortable.test.ts | 48 + packages/@core/composables/src/index.ts | 13 + .../@core/composables/src/use-is-mobile.ts | 7 + .../@core/composables/src/use-layout-style.ts | 87 + .../@core/composables/src/use-namespace.ts | 106 + .../composables/src/use-priority-value.ts | 94 + .../@core/composables/src/use-scroll-lock.ts | 54 + .../src/use-simple-locale/README.md | 3 + .../src/use-simple-locale/index.ts | 27 + .../src/use-simple-locale/messages.ts | 24 + .../@core/composables/src/use-sortable.ts | 29 + packages/@core/composables/tsconfig.json | 6 + .../__snapshots__/config.test.ts.snap | 139 + .../preferences/__tests__/config.test.ts | 10 + .../preferences/__tests__/preferences.test.ts | 253 + packages/@core/preferences/build.config.ts | 7 + packages/@core/preferences/package.json | 37 + packages/@core/preferences/src/config.ts | 150 + packages/@core/preferences/src/constants.ts | 119 + packages/@core/preferences/src/index.ts | 40 + packages/@core/preferences/src/preferences.ts | 239 + packages/@core/preferences/src/types.ts | 354 + .../preferences/src/update-css-variables.ts | 116 + .../@core/preferences/src/use-preferences.ts | 254 + packages/@core/preferences/tsconfig.json | 6 + packages/@core/ui-kit/README.md | 3 + .../ui-kit/form-ui/__tests__/form-api.test.ts | 189 + packages/@core/ui-kit/form-ui/build.config.ts | 21 + packages/@core/ui-kit/form-ui/package.json | 52 + .../@core/ui-kit/form-ui/postcss.config.mjs | 1 + .../@core/ui-kit/form-ui/src/aiflowy-form.vue | 79 + .../ui-kit/form-ui/src/aiflowy-use-form.vue | 151 + .../form-ui/src/components/form-actions.vue | 188 + packages/@core/ui-kit/form-ui/src/config.ts | 87 + packages/@core/ui-kit/form-ui/src/form-api.ts | 597 + .../ui-kit/form-ui/src/form-render/context.ts | 24 + .../form-ui/src/form-render/dependencies.ts | 124 + .../form-ui/src/form-render/expandable.ts | 105 + .../form-ui/src/form-render/form-field.vue | 395 + .../form-ui/src/form-render/form-label.vue | 31 + .../ui-kit/form-ui/src/form-render/form.vue | 191 + .../ui-kit/form-ui/src/form-render/helper.ts | 60 + .../ui-kit/form-ui/src/form-render/index.ts | 3 + packages/@core/ui-kit/form-ui/src/index.ts | 12 + packages/@core/ui-kit/form-ui/src/types.ts | 464 + .../ui-kit/form-ui/src/use-aiflowy-form.ts | 50 + .../ui-kit/form-ui/src/use-form-context.ts | 109 + .../@core/ui-kit/form-ui/tailwind.config.mjs | 1 + packages/@core/ui-kit/form-ui/tsconfig.json | 6 + .../@core/ui-kit/layout-ui/build.config.ts | 21 + packages/@core/ui-kit/layout-ui/package.json | 48 + .../@core/ui-kit/layout-ui/postcss.config.mjs | 1 + .../ui-kit/layout-ui/src/aiflowy-layout.ts | 175 + .../ui-kit/layout-ui/src/aiflowy-layout.vue | 617 + .../ui-kit/layout-ui/src/components/index.ts | 5 + .../src/components/layout-content.vue | 64 + .../src/components/layout-footer.vue | 44 + .../src/components/layout-header.vue | 77 + .../src/components/layout-sidebar.vue | 322 + .../src/components/layout-tabbar.vue | 30 + .../layout-ui/src/components/widgets/index.ts | 2 + .../widgets/sidebar-collapse-button.vue | 19 + .../widgets/sidebar-fixed-button.vue | 19 + .../ui-kit/layout-ui/src/hooks/use-layout.ts | 53 + packages/@core/ui-kit/layout-ui/src/index.ts | 2 + .../ui-kit/layout-ui/tailwind.config.mjs | 1 + packages/@core/ui-kit/layout-ui/tsconfig.json | 6 + packages/@core/ui-kit/menu-ui/README.md | 1 + packages/@core/ui-kit/menu-ui/build.config.ts | 26 + packages/@core/ui-kit/menu-ui/package.json | 48 + .../@core/ui-kit/menu-ui/postcss.config.mjs | 1 + .../src/components/collapse-transition.vue | 96 + .../ui-kit/menu-ui/src/components/index.ts | 4 + .../menu-ui/src/components/menu-badge-dot.vue | 28 + .../menu-ui/src/components/menu-badge.vue | 57 + .../menu-ui/src/components/menu-item.vue | 122 + .../ui-kit/menu-ui/src/components/menu.vue | 875 + .../src/components/normal-menu/index.ts | 2 + .../src/components/normal-menu/normal-menu.ts | 27 + .../components/normal-menu/normal-menu.vue | 161 + .../src/components/sub-menu-content.vue | 105 + .../menu-ui/src/components/sub-menu.vue | 275 + .../@core/ui-kit/menu-ui/src/hooks/index.ts | 2 + .../menu-ui/src/hooks/use-menu-context.ts | 55 + .../menu-ui/src/hooks/use-menu-scroll.ts | 46 + .../ui-kit/menu-ui/src/hooks/use-menu.ts | 48 + packages/@core/ui-kit/menu-ui/src/index.ts | 4 + packages/@core/ui-kit/menu-ui/src/menu.vue | 32 + .../@core/ui-kit/menu-ui/src/sub-menu.vue | 89 + packages/@core/ui-kit/menu-ui/src/types.ts | 145 + .../@core/ui-kit/menu-ui/src/utils/index.ts | 52 + .../@core/ui-kit/menu-ui/tailwind.config.mjs | 1 + packages/@core/ui-kit/menu-ui/tsconfig.json | 6 + .../@core/ui-kit/popup-ui/build.config.ts | 21 + packages/@core/ui-kit/popup-ui/package.json | 48 + .../@core/ui-kit/popup-ui/postcss.config.mjs | 1 + .../ui-kit/popup-ui/src/alert/AlertBuilder.ts | 244 + .../@core/ui-kit/popup-ui/src/alert/alert.ts | 99 + .../@core/ui-kit/popup-ui/src/alert/alert.vue | 210 + .../@core/ui-kit/popup-ui/src/alert/index.ts | 14 + .../src/drawer/__tests__/drawer-api.test.ts | 116 + .../ui-kit/popup-ui/src/drawer/drawer-api.ts | 183 + .../ui-kit/popup-ui/src/drawer/drawer.ts | 179 + .../ui-kit/popup-ui/src/drawer/drawer.vue | 332 + .../@core/ui-kit/popup-ui/src/drawer/index.ts | 3 + .../ui-kit/popup-ui/src/drawer/use-drawer.ts | 142 + packages/@core/ui-kit/popup-ui/src/index.ts | 3 + .../src/modal/__tests__/modal-api.test.ts | 117 + .../@core/ui-kit/popup-ui/src/modal/index.ts | 3 + .../ui-kit/popup-ui/src/modal/modal-api.ts | 196 + .../@core/ui-kit/popup-ui/src/modal/modal.ts | 194 + .../@core/ui-kit/popup-ui/src/modal/modal.vue | 364 + .../popup-ui/src/modal/use-modal-draggable.ts | 134 + .../ui-kit/popup-ui/src/modal/use-modal.ts | 151 + .../@core/ui-kit/popup-ui/tailwind.config.mjs | 1 + packages/@core/ui-kit/popup-ui/tsconfig.json | 6 + .../@core/ui-kit/shadcn-ui/build.config.ts | 27 + .../@core/ui-kit/shadcn-ui/components.json | 16 + packages/@core/ui-kit/shadcn-ui/package.json | 54 + .../@core/ui-kit/shadcn-ui/postcss.config.mjs | 1 + .../src/components/avatar/avatar.vue | 77 + .../shadcn-ui/src/components/avatar/index.ts | 1 + .../src/components/back-top/back-top.vue | 43 + .../src/components/back-top/backtop.ts | 38 + .../src/components/back-top/index.ts | 1 + .../src/components/back-top/use-backtop.ts | 45 + .../breadcrumb/breadcrumb-background.vue | 109 + .../components/breadcrumb/breadcrumb-view.vue | 39 + .../src/components/breadcrumb/breadcrumb.vue | 98 + .../src/components/breadcrumb/index.ts | 3 + .../src/components/breadcrumb/types.ts | 17 + .../src/components/button/button-group.vue | 98 + .../shadcn-ui/src/components/button/button.ts | 53 + .../src/components/button/button.vue | 42 + .../components/button/check-button-group.vue | 196 + .../src/components/button/icon-button.vue | 68 + .../shadcn-ui/src/components/button/index.ts | 5 + .../src/components/checkbox/checkbox.vue | 26 + .../src/components/checkbox/index.ts | 1 + .../components/context-menu/context-menu.vue | 97 + .../src/components/context-menu/index.ts | 3 + .../src/components/context-menu/interface.ts | 38 + .../count-to-animator/count-to-animator.vue | 128 + .../src/components/count-to-animator/index.ts | 1 + .../dropdown-menu/dropdown-menu.vue | 49 + .../dropdown-menu/dropdown-radio-menu.vue | 52 + .../src/components/dropdown-menu/index.ts | 4 + .../src/components/dropdown-menu/interface.ts | 32 + .../expandable-arrow/expandable-arrow.vue | 31 + .../src/components/expandable-arrow/index.ts | 1 + .../components/full-screen/full-screen.vue | 31 + .../src/components/full-screen/index.ts | 1 + .../src/components/hover-card/hover-card.vue | 55 + .../src/components/hover-card/index.ts | 2 + .../shadcn-ui/src/components/icon/icon.vue | 35 + .../shadcn-ui/src/components/icon/index.ts | 1 + .../ui-kit/shadcn-ui/src/components/index.ts | 23 + .../src/components/input-password/index.ts | 1 + .../input-password/input-password.vue | 57 + .../input-password/password-strength.vue | 66 + .../shadcn-ui/src/components/logo/index.ts | 1 + .../shadcn-ui/src/components/logo/logo.vue | 107 + .../src/components/pin-input/index.ts | 3 + .../src/components/pin-input/input.vue | 122 + .../src/components/pin-input/types.ts | 30 + .../shadcn-ui/src/components/popover/index.ts | 1 + .../src/components/popover/popover.vue | 60 + .../src/components/render-content/index.ts | 1 + .../render-content/render-content.vue | 56 + .../src/components/scrollbar/index.ts | 1 + .../src/components/scrollbar/scrollbar.vue | 165 + .../src/components/segmented/index.ts | 3 + .../src/components/segmented/segmented.vue | 67 + .../components/segmented/tabs-indicator.vue | 37 + .../src/components/segmented/types.ts | 6 + .../shadcn-ui/src/components/select/index.ts | 1 + .../src/components/select/select.vue | 57 + .../src/components/spine-text/index.ts | 1 + .../src/components/spine-text/spine-text.vue | 49 + .../shadcn-ui/src/components/spinner/index.ts | 2 + .../src/components/spinner/loading.vue | 140 + .../src/components/spinner/spinner.vue | 137 + .../src/components/tooltip/help-tooltip.vue | 31 + .../shadcn-ui/src/components/tooltip/index.ts | 2 + .../src/components/tooltip/tooltip.vue | 44 + packages/@core/ui-kit/shadcn-ui/src/index.ts | 3 + .../shadcn-ui/src/ui/accordion/Accordion.vue | 16 + .../src/ui/accordion/AccordionContent.vue | 28 + .../src/ui/accordion/AccordionItem.vue | 25 + .../src/ui/accordion/AccordionTrigger.vue | 39 + .../shadcn-ui/src/ui/accordion/index.ts | 4 + .../src/ui/alert-dialog/AlertDialog.vue | 16 + .../src/ui/alert-dialog/AlertDialogAction.vue | 13 + .../src/ui/alert-dialog/AlertDialogCancel.vue | 13 + .../ui/alert-dialog/AlertDialogContent.vue | 98 + .../alert-dialog/AlertDialogDescription.vue | 28 + .../ui/alert-dialog/AlertDialogOverlay.vue | 8 + .../src/ui/alert-dialog/AlertDialogTitle.vue | 30 + .../shadcn-ui/src/ui/alert-dialog/index.ts | 6 + .../ui-kit/shadcn-ui/src/ui/avatar/Avatar.vue | 27 + .../src/ui/avatar/AvatarFallback.vue | 13 + .../shadcn-ui/src/ui/avatar/AvatarImage.vue | 11 + .../ui-kit/shadcn-ui/src/ui/avatar/avatar.ts | 22 + .../ui-kit/shadcn-ui/src/ui/avatar/index.ts | 4 + .../ui-kit/shadcn-ui/src/ui/badge/Badge.vue | 18 + .../ui-kit/shadcn-ui/src/ui/badge/badge.ts | 25 + .../ui-kit/shadcn-ui/src/ui/badge/index.ts | 3 + .../src/ui/breadcrumb/Breadcrumb.vue | 11 + .../src/ui/breadcrumb/BreadcrumbEllipsis.vue | 22 + .../src/ui/breadcrumb/BreadcrumbItem.vue | 17 + .../src/ui/breadcrumb/BreadcrumbLink.vue | 21 + .../src/ui/breadcrumb/BreadcrumbList.vue | 20 + .../src/ui/breadcrumb/BreadcrumbPage.vue | 18 + .../src/ui/breadcrumb/BreadcrumbSeparator.vue | 21 + .../shadcn-ui/src/ui/breadcrumb/index.ts | 7 + .../ui-kit/shadcn-ui/src/ui/button/Button.vue | 32 + .../ui-kit/shadcn-ui/src/ui/button/button.ts | 34 + .../ui-kit/shadcn-ui/src/ui/button/index.ts | 5 + .../ui-kit/shadcn-ui/src/ui/button/types.ts | 20 + .../ui-kit/shadcn-ui/src/ui/card/Card.vue | 20 + .../shadcn-ui/src/ui/card/CardContent.vue | 13 + .../shadcn-ui/src/ui/card/CardDescription.vue | 13 + .../shadcn-ui/src/ui/card/CardFooter.vue | 13 + .../shadcn-ui/src/ui/card/CardHeader.vue | 13 + .../shadcn-ui/src/ui/card/CardTitle.vue | 13 + .../ui-kit/shadcn-ui/src/ui/card/index.ts | 6 + .../shadcn-ui/src/ui/checkbox/Checkbox.vue | 43 + .../ui-kit/shadcn-ui/src/ui/checkbox/index.ts | 1 + .../src/ui/context-menu/ContextMenu.vue | 18 + .../context-menu/ContextMenuCheckboxItem.vue | 47 + .../ui/context-menu/ContextMenuContent.vue | 40 + .../src/ui/context-menu/ContextMenuGroup.vue | 13 + .../src/ui/context-menu/ContextMenuItem.vue | 37 + .../src/ui/context-menu/ContextMenuLabel.vue | 34 + .../src/ui/context-menu/ContextMenuPortal.vue | 13 + .../ui/context-menu/ContextMenuRadioGroup.vue | 19 + .../ui/context-menu/ContextMenuRadioItem.vue | 47 + .../ui/context-menu/ContextMenuSeparator.vue | 24 + .../ui/context-menu/ContextMenuShortcut.vue | 17 + .../src/ui/context-menu/ContextMenuSub.vue | 16 + .../ui/context-menu/ContextMenuSubContent.vue | 37 + .../ui/context-menu/ContextMenuSubTrigger.vue | 41 + .../ui/context-menu/ContextMenuTrigger.vue | 15 + .../shadcn-ui/src/ui/context-menu/index.ts | 14 + .../ui-kit/shadcn-ui/src/ui/dialog/Dialog.vue | 16 + .../shadcn-ui/src/ui/dialog/DialogClose.vue | 13 + .../shadcn-ui/src/ui/dialog/DialogContent.vue | 131 + .../src/ui/dialog/DialogDescription.vue | 28 + .../shadcn-ui/src/ui/dialog/DialogFooter.vue | 15 + .../shadcn-ui/src/ui/dialog/DialogHeader.vue | 15 + .../shadcn-ui/src/ui/dialog/DialogOverlay.vue | 11 + .../src/ui/dialog/DialogScrollContent.vue | 71 + .../shadcn-ui/src/ui/dialog/DialogTitle.vue | 30 + .../shadcn-ui/src/ui/dialog/DialogTrigger.vue | 13 + .../ui-kit/shadcn-ui/src/ui/dialog/index.ts | 9 + .../src/ui/dropdown-menu/DropdownMenu.vue | 18 + .../DropdownMenuCheckboxItem.vue | 47 + .../ui/dropdown-menu/DropdownMenuContent.vue | 48 + .../ui/dropdown-menu/DropdownMenuGroup.vue | 13 + .../src/ui/dropdown-menu/DropdownMenuItem.vue | 36 + .../ui/dropdown-menu/DropdownMenuLabel.vue | 32 + .../dropdown-menu/DropdownMenuRadioGroup.vue | 19 + .../dropdown-menu/DropdownMenuRadioItem.vue | 48 + .../dropdown-menu/DropdownMenuSeparator.vue | 28 + .../ui/dropdown-menu/DropdownMenuShortcut.vue | 13 + .../src/ui/dropdown-menu/DropdownMenuSub.vue | 16 + .../dropdown-menu/DropdownMenuSubContent.vue | 37 + .../dropdown-menu/DropdownMenuSubTrigger.vue | 35 + .../ui/dropdown-menu/DropdownMenuTrigger.vue | 15 + .../shadcn-ui/src/ui/dropdown-menu/index.ts | 16 + .../shadcn-ui/src/ui/form/FormControl.vue | 19 + .../shadcn-ui/src/ui/form/FormDescription.vue | 20 + .../ui-kit/shadcn-ui/src/ui/form/FormItem.vue | 20 + .../shadcn-ui/src/ui/form/FormLabel.vue | 18 + .../shadcn-ui/src/ui/form/FormMessage.vue | 18 + .../ui-kit/shadcn-ui/src/ui/form/index.ts | 11 + .../shadcn-ui/src/ui/form/injectionKeys.ts | 4 + .../shadcn-ui/src/ui/form/useFormField.ts | 38 + .../shadcn-ui/src/ui/hover-card/HoverCard.vue | 16 + .../src/ui/hover-card/HoverCardContent.vue | 40 + .../src/ui/hover-card/HoverCardTrigger.vue | 13 + .../shadcn-ui/src/ui/hover-card/index.ts | 3 + .../@core/ui-kit/shadcn-ui/src/ui/index.ts | 31 + .../ui-kit/shadcn-ui/src/ui/input/Input.vue | 37 + .../ui-kit/shadcn-ui/src/ui/input/index.ts | 1 + .../ui-kit/shadcn-ui/src/ui/label/Label.vue | 31 + .../ui-kit/shadcn-ui/src/ui/label/index.ts | 1 + .../src/ui/number-field/NumberField.vue | 26 + .../ui/number-field/NumberFieldContent.vue | 20 + .../ui/number-field/NumberFieldDecrement.vue | 37 + .../ui/number-field/NumberFieldIncrement.vue | 37 + .../src/ui/number-field/NumberFieldInput.vue | 16 + .../shadcn-ui/src/ui/number-field/index.ts | 5 + .../src/ui/pagination/PaginationEllipsis.vue | 29 + .../src/ui/pagination/PaginationFirst.vue | 35 + .../src/ui/pagination/PaginationLast.vue | 35 + .../src/ui/pagination/PaginationNext.vue | 35 + .../src/ui/pagination/PaginationPrev.vue | 35 + .../shadcn-ui/src/ui/pagination/index.ts | 10 + .../shadcn-ui/src/ui/pin-input/PinInput.vue | 28 + .../src/ui/pin-input/PinInputGroup.vue | 25 + .../src/ui/pin-input/PinInputInput.vue | 30 + .../src/ui/pin-input/PinInputSeparator.vue | 17 + .../shadcn-ui/src/ui/pin-input/index.ts | 4 + .../shadcn-ui/src/ui/popover/Popover.vue | 16 + .../src/ui/popover/PopoverContent.vue | 46 + .../src/ui/popover/PopoverTrigger.vue | 13 + .../ui-kit/shadcn-ui/src/ui/popover/index.ts | 4 + .../src/ui/radio-group/RadioGroup.vue | 26 + .../src/ui/radio-group/RadioGroupItem.vue | 36 + .../shadcn-ui/src/ui/radio-group/index.ts | 2 + .../src/ui/resizable/ResizableHandle.vue | 50 + .../src/ui/resizable/ResizablePanelGroup.vue | 37 + .../shadcn-ui/src/ui/resizable/index.ts | 3 + .../src/ui/scroll-area/ScrollArea.vue | 46 + .../src/ui/scroll-area/ScrollBar.vue | 40 + .../shadcn-ui/src/ui/scroll-area/index.ts | 2 + .../ui-kit/shadcn-ui/src/ui/select/Select.vue | 16 + .../shadcn-ui/src/ui/select/SelectContent.vue | 67 + .../shadcn-ui/src/ui/select/SelectGroup.vue | 23 + .../shadcn-ui/src/ui/select/SelectItem.vue | 47 + .../src/ui/select/SelectItemText.vue | 13 + .../shadcn-ui/src/ui/select/SelectLabel.vue | 15 + .../src/ui/select/SelectScrollDownButton.vue | 33 + .../src/ui/select/SelectScrollUpButton.vue | 33 + .../src/ui/select/SelectSeparator.vue | 24 + .../shadcn-ui/src/ui/select/SelectTrigger.vue | 37 + .../shadcn-ui/src/ui/select/SelectValue.vue | 13 + .../ui-kit/shadcn-ui/src/ui/select/index.ts | 11 + .../shadcn-ui/src/ui/separator/Separator.vue | 44 + .../shadcn-ui/src/ui/separator/index.ts | 1 + .../ui-kit/shadcn-ui/src/ui/sheet/Sheet.vue | 16 + .../shadcn-ui/src/ui/sheet/SheetClose.vue | 13 + .../shadcn-ui/src/ui/sheet/SheetContent.vue | 107 + .../src/ui/sheet/SheetDescription.vue | 26 + .../shadcn-ui/src/ui/sheet/SheetFooter.vue | 15 + .../shadcn-ui/src/ui/sheet/SheetHeader.vue | 11 + .../shadcn-ui/src/ui/sheet/SheetOverlay.vue | 11 + .../shadcn-ui/src/ui/sheet/SheetTitle.vue | 26 + .../shadcn-ui/src/ui/sheet/SheetTrigger.vue | 13 + .../ui-kit/shadcn-ui/src/ui/sheet/index.ts | 10 + .../ui-kit/shadcn-ui/src/ui/sheet/sheet.ts | 24 + .../ui-kit/shadcn-ui/src/ui/switch/Switch.vue | 41 + .../ui-kit/shadcn-ui/src/ui/switch/index.ts | 1 + .../ui-kit/shadcn-ui/src/ui/tabs/Tabs.vue | 16 + .../shadcn-ui/src/ui/tabs/TabsContent.vue | 31 + .../ui-kit/shadcn-ui/src/ui/tabs/TabsList.vue | 31 + .../shadcn-ui/src/ui/tabs/TabsTrigger.vue | 33 + .../ui-kit/shadcn-ui/src/ui/tabs/index.ts | 5 + .../shadcn-ui/src/ui/textarea/Textarea.vue | 32 + .../ui-kit/shadcn-ui/src/ui/textarea/index.ts | 1 + .../src/ui/toggle-group/ToggleGroup.vue | 44 + .../src/ui/toggle-group/ToggleGroupItem.vue | 48 + .../shadcn-ui/src/ui/toggle-group/index.ts | 2 + .../ui-kit/shadcn-ui/src/ui/toggle/Toggle.vue | 47 + .../ui-kit/shadcn-ui/src/ui/toggle/index.ts | 2 + .../ui-kit/shadcn-ui/src/ui/toggle/toggle.ts | 27 + .../shadcn-ui/src/ui/tooltip/Tooltip.vue | 16 + .../src/ui/tooltip/TooltipContent.vue | 48 + .../src/ui/tooltip/TooltipProvider.vue | 13 + .../src/ui/tooltip/TooltipTrigger.vue | 13 + .../ui-kit/shadcn-ui/src/ui/tooltip/index.ts | 4 + .../ui-kit/shadcn-ui/src/ui/tree/index.ts | 4 + .../ui-kit/shadcn-ui/src/ui/tree/tree.vue | 467 + .../ui-kit/shadcn-ui/src/ui/tree/types.ts | 62 + .../ui-kit/shadcn-ui/tailwind.config.mjs | 1 + packages/@core/ui-kit/shadcn-ui/tsconfig.json | 12 + packages/@core/ui-kit/tabs-ui/build.config.ts | 21 + packages/@core/ui-kit/tabs-ui/package.json | 47 + .../@core/ui-kit/tabs-ui/postcss.config.mjs | 1 + .../ui-kit/tabs-ui/src/components/index.ts | 2 + .../src/components/tabs-chrome/tabs.vue | 209 + .../tabs-ui/src/components/tabs/tabs.vue | 148 + .../tabs-ui/src/components/widgets/index.ts | 2 + .../src/components/widgets/tool-more.vue | 18 + .../src/components/widgets/tool-screen.vue | 19 + packages/@core/ui-kit/tabs-ui/src/index.ts | 3 + .../@core/ui-kit/tabs-ui/src/tabs-view.vue | 106 + packages/@core/ui-kit/tabs-ui/src/types.ts | 73 + .../@core/ui-kit/tabs-ui/src/use-tabs-drag.ts | 124 + .../tabs-ui/src/use-tabs-view-scroll.ts | 202 + .../@core/ui-kit/tabs-ui/tailwind.config.mjs | 1 + packages/@core/ui-kit/tabs-ui/tsconfig.json | 6 + packages/constants/README.md | 19 + packages/constants/package.json | 25 + packages/constants/src/core.ts | 23 + packages/constants/src/index.ts | 2 + packages/constants/tsconfig.json | 6 + packages/effects/README.md | 10 + packages/effects/access/package.json | 29 + .../effects/access/src/access-control.vue | 47 + packages/effects/access/src/accessible.ts | 156 + packages/effects/access/src/directive.ts | 42 + packages/effects/access/src/index.ts | 4 + packages/effects/access/src/use-access.ts | 53 + packages/effects/access/tsconfig.json | 6 + packages/effects/common-ui/package.json | 54 + .../api-component/api-component.vue | 288 + .../src/components/api-component/index.ts | 1 + .../captcha/hooks/useCaptchaPoints.ts | 19 + .../common-ui/src/components/captcha/index.ts | 7 + .../captcha/point-selection-captcha/index.vue | 176 + .../point-selection-captcha-card.vue | 84 + .../captcha/slider-captcha/index.vue | 244 + .../slider-captcha/slider-captcha-action.vue | 65 + .../slider-captcha/slider-captcha-bar.vue | 40 + .../slider-captcha/slider-captcha-content.vue | 53 + .../captcha/slider-rotate-captcha/index.vue | 213 + .../slider-translate-captcha/index.vue | 311 + .../common-ui/src/components/captcha/types.ts | 211 + .../src/components/col-page/col-page.vue | 107 + .../src/components/col-page/index.ts | 2 + .../src/components/col-page/types.ts | 26 + .../src/components/count-to/count-to.vue | 123 + .../src/components/count-to/index.ts | 2 + .../src/components/count-to/types.ts | 53 + .../ellipsis-text/ellipsis-text.vue | 232 + .../src/components/ellipsis-text/index.ts | 1 + .../components/icon-picker/icon-picker.vue | 346 + .../src/components/icon-picker/icons.ts | 56 + .../src/components/icon-picker/index.ts | 1 + .../effects/common-ui/src/components/index.ts | 34 + .../src/components/json-viewer/index.ts | 3 + .../src/components/json-viewer/index.vue | 116 + .../src/components/json-viewer/style.scss | 98 + .../src/components/json-viewer/types.ts | 44 + .../src/components/loading/directive.ts | 132 + .../common-ui/src/components/loading/index.ts | 3 + .../src/components/loading/loading.vue | 39 + .../src/components/loading/spinner.vue | 28 + .../components/page/__tests__/page.test.ts | 89 + .../common-ui/src/components/page/index.ts | 2 + .../common-ui/src/components/page/page.vue | 100 + .../common-ui/src/components/page/types.ts | 17 + .../common-ui/src/components/resize/index.ts | 1 + .../src/components/resize/resize.vue | 1122 + .../src/components/tippy/directive.ts | 100 + .../common-ui/src/components/tippy/index.ts | 67 + .../common-ui/src/components/tree/index.ts | 1 + .../common-ui/src/components/tree/tree.vue | 25 + packages/effects/common-ui/src/index.ts | 2 + .../effects/common-ui/src/ui/about/about.ts | 14 + .../effects/common-ui/src/ui/about/about.vue | 182 + .../effects/common-ui/src/ui/about/index.ts | 1 + .../src/ui/authentication/auth-title.vue | 13 + .../src/ui/authentication/code-login.vue | 127 + .../src/ui/authentication/dingding-login.vue | 113 + .../src/ui/authentication/forget-password.vue | 116 + .../common-ui/src/ui/authentication/index.ts | 7 + .../ui/authentication/login-expired-modal.vue | 95 + .../common-ui/src/ui/authentication/login.vue | 186 + .../src/ui/authentication/qrcode-login.vue | 105 + .../src/ui/authentication/register.vue | 121 + .../ui/authentication/third-party-login.vue | 71 + .../common-ui/src/ui/authentication/types.ts | 70 + .../analysis/analysis-chart-card.vue | 24 + .../analysis/analysis-charts-tabs.vue | 40 + .../dashboard/analysis/analysis-overview.vue | 55 + .../src/ui/dashboard/analysis/index.ts | 3 + .../common-ui/src/ui/dashboard/index.ts | 3 + .../common-ui/src/ui/dashboard/typing.ts | 48 + .../src/ui/dashboard/workbench/index.ts | 5 + .../dashboard/workbench/workbench-header.vue | 46 + .../dashboard/workbench/workbench-project.vue | 65 + .../workbench/workbench-quick-nav.vue | 56 + .../ui/dashboard/workbench/workbench-todo.vue | 63 + .../dashboard/workbench/workbench-trends.vue | 64 + .../common-ui/src/ui/fallback/fallback.ts | 25 + .../common-ui/src/ui/fallback/fallback.vue | 170 + .../src/ui/fallback/icons/icon-403.vue | 151 + .../src/ui/fallback/icons/icon-404.png | Bin 0 -> 2270908 bytes .../src/ui/fallback/icons/icon-404.vue | 154 + .../src/ui/fallback/icons/icon-500.vue | 215 + .../ui/fallback/icons/icon-coming-soon.vue | 262 + .../src/ui/fallback/icons/icon-offline.vue | 112 + .../src/ui/fallback/icons/warning.svg | 1 + .../common-ui/src/ui/fallback/index.ts | 2 + packages/effects/common-ui/src/ui/index.ts | 5 + .../common-ui/src/ui/profile/base-setting.vue | 68 + .../effects/common-ui/src/ui/profile/index.ts | 6 + .../src/ui/profile/notification-setting.vue | 53 + .../src/ui/profile/password-setting.vue | 65 + .../common-ui/src/ui/profile/profile.vue | 61 + .../src/ui/profile/security-setting.vue | 53 + .../effects/common-ui/src/ui/profile/types.ts | 21 + packages/effects/common-ui/tsconfig.json | 6 + packages/effects/hooks/README.md | 19 + packages/effects/hooks/package.json | 33 + packages/effects/hooks/src/index.ts | 9 + packages/effects/hooks/src/use-app-config.ts | 36 + .../effects/hooks/src/use-content-maximize.ts | 24 + .../effects/hooks/src/use-design-tokens.ts | 321 + .../effects/hooks/src/use-hover-toggle.ts | 163 + packages/effects/hooks/src/use-pagination.ts | 58 + packages/effects/hooks/src/use-refresh.ts | 16 + packages/effects/hooks/src/use-tabs.ts | 133 + packages/effects/hooks/src/use-watermark.ts | 84 + packages/effects/hooks/tsconfig.json | 9 + packages/effects/layouts/package.json | 43 + .../src/authentication/authentication.vue | 198 + .../layouts/src/authentication/form.vue | 38 + .../src/authentication/icons/slogan.vue | 4568 ++++ .../layouts/src/authentication/index.ts | 2 + .../layouts/src/authentication/toolbar.vue | 49 + .../layouts/src/authentication/types.ts | 1 + packages/effects/layouts/src/basic/README.md | 7 + .../src/basic/content/content-spinner.vue | 12 + .../layouts/src/basic/content/content.vue | 148 + .../layouts/src/basic/content/index.ts | 2 + .../src/basic/content/use-content-spinner.ts | 50 + .../layouts/src/basic/copyright/copyright.vue | 48 + .../layouts/src/basic/copyright/index.ts | 1 + .../layouts/src/basic/footer/footer.vue | 11 + .../effects/layouts/src/basic/footer/index.ts | 1 + .../layouts/src/basic/header/header.vue | 195 + .../effects/layouts/src/basic/header/index.ts | 1 + packages/effects/layouts/src/basic/index.ts | 1 + packages/effects/layouts/src/basic/layout.vue | 414 + .../layouts/src/basic/menu/extra-menu.vue | 41 + .../effects/layouts/src/basic/menu/index.ts | 5 + .../effects/layouts/src/basic/menu/menu.vue | 45 + .../layouts/src/basic/menu/mixed-menu.vue | 46 + .../layouts/src/basic/menu/use-extra-menu.ts | 133 + .../layouts/src/basic/menu/use-mixed-menu.ts | 172 + .../layouts/src/basic/menu/use-navigation.ts | 74 + .../effects/layouts/src/basic/tabbar/index.ts | 2 + .../layouts/src/basic/tabbar/tabbar.vue | 75 + .../layouts/src/basic/tabbar/use-tabbar.ts | 227 + .../layouts/src/iframe/iframe-router-view.vue | 86 + .../layouts/src/iframe/iframe-view.vue | 3 + packages/effects/layouts/src/iframe/index.ts | 2 + packages/effects/layouts/src/index.ts | 4 + .../layouts/src/widgets/breadcrumb.vue | 74 + .../widgets/check-updates/check-updates.vue | 136 + .../src/widgets/check-updates/index.ts | 1 + .../layouts/src/widgets/color-toggle.vue | 64 + .../widgets/global-search/global-search.vue | 157 + .../src/widgets/global-search/index.ts | 1 + .../widgets/global-search/search-panel.vue | 288 + packages/effects/layouts/src/widgets/index.ts | 12 + .../layouts/src/widgets/language-toggle.vue | 39 + .../layouts/src/widgets/layout-toggle.vue | 64 + .../layouts/src/widgets/lock-screen/index.ts | 2 + .../widgets/lock-screen/lock-screen-modal.vue | 110 + .../src/widgets/lock-screen/lock-screen.vue | 167 + .../layouts/src/widgets/notification/index.ts | 3 + .../src/widgets/notification/notification.vue | 235 + .../layouts/src/widgets/notification/types.ts | 17 + .../src/widgets/preferences/blocks/block.vue | 22 + .../preferences/blocks/checkbox-item.vue | 63 + .../preferences/blocks/general/animation.vue | 51 + .../preferences/blocks/general/general.vue | 47 + .../src/widgets/preferences/blocks/index.ts | 19 + .../widgets/preferences/blocks/input-item.vue | 63 + .../preferences/blocks/layout/breadcrumb.vue | 56 + .../preferences/blocks/layout/content.vue | 53 + .../preferences/blocks/layout/copyright.vue | 44 + .../preferences/blocks/layout/footer.vue | 17 + .../preferences/blocks/layout/header.vue | 74 + .../preferences/blocks/layout/layout.vue | 112 + .../preferences/blocks/layout/navigation.vue | 45 + .../preferences/blocks/layout/sidebar.vue | 100 + .../preferences/blocks/layout/tabbar.vue | 94 + .../preferences/blocks/layout/widget.vue | 71 + .../preferences/blocks/number-field-item.vue | 74 + .../preferences/blocks/select-item.vue | 68 + .../blocks/shortcut-keys/global.vue | 50 + .../preferences/blocks/switch-item.vue | 55 + .../preferences/blocks/theme/builtin.vue | 163 + .../preferences/blocks/theme/color-mode.vue | 26 + .../preferences/blocks/theme/radius.vue | 38 + .../preferences/blocks/theme/theme.vue | 83 + .../preferences/blocks/toggle-item.vue | 46 + .../preferences/icons/content-compact.vue | 119 + .../preferences/icons/full-content.vue | 50 + .../preferences/icons/header-mixed-nav.vue | 202 + .../widgets/preferences/icons/header-nav.vue | 119 + .../preferences/icons/header-sidebar-nav.vue | 177 + .../src/widgets/preferences/icons/index.ts | 12 + .../widgets/preferences/icons/mixed-nav.vue | 161 + .../src/widgets/preferences/icons/setting.vue | 12 + .../preferences/icons/sidebar-mixed-nav.vue | 173 + .../widgets/preferences/icons/sidebar-nav.vue | 153 + .../layouts/src/widgets/preferences/index.ts | 4 + .../preferences/preferences-button.vue | 20 + .../preferences/preferences-drawer.vue | 487 + .../src/widgets/preferences/preferences.vue | 72 + .../preferences/use-open-preferences.ts | 16 + .../layouts/src/widgets/theme-toggle/index.ts | 1 + .../src/widgets/theme-toggle/theme-button.vue | 188 + .../src/widgets/theme-toggle/theme-toggle.vue | 83 + .../layouts/src/widgets/timezone/index.ts | 1 + .../src/widgets/timezone/timezone-button.vue | 87 + .../src/widgets/user-dropdown/index.ts | 1 + .../widgets/user-dropdown/user-dropdown.vue | 262 + packages/effects/layouts/tsconfig.json | 6 + packages/effects/plugins/README.md | 28 + packages/effects/plugins/package.json | 47 + .../plugins/src/echarts/echarts-ui.vue | 15 + .../effects/plugins/src/echarts/echarts.ts | 59 + packages/effects/plugins/src/echarts/index.ts | 3 + .../plugins/src/echarts/use-echarts.ts | 148 + packages/effects/plugins/src/motion/index.ts | 8 + packages/effects/plugins/src/motion/types.ts | 26 + packages/effects/plugins/src/vxe-table/api.ts | 128 + .../effects/plugins/src/vxe-table/extends.ts | 81 + .../effects/plugins/src/vxe-table/index.ts | 10 + .../effects/plugins/src/vxe-table/init.ts | 131 + .../effects/plugins/src/vxe-table/style.css | 117 + .../effects/plugins/src/vxe-table/types.ts | 93 + .../plugins/src/vxe-table/use-vxe-grid.ts | 70 + .../plugins/src/vxe-table/use-vxe-grid.vue | 479 + packages/effects/plugins/tsconfig.json | 6 + packages/effects/request/package.json | 32 + packages/effects/request/src/index.ts | 2 + .../request/src/request-client/index.ts | 3 + .../request-client/modules/downloader.test.ts | 157 + .../src/request-client/modules/downloader.ts | 60 + .../src/request-client/modules/interceptor.ts | 40 + .../src/request-client/modules/sse.test.ts | 142 + .../request/src/request-client/modules/sse.ts | 136 + .../request-client/modules/uploader.test.ts | 118 + .../src/request-client/modules/uploader.ts | 42 + .../src/request-client/preset-interceptors.ts | 174 + .../src/request-client/request-client.test.ts | 99 + .../src/request-client/request-client.ts | 199 + .../request/src/request-client/types.ts | 90 + packages/effects/request/tsconfig.json | 6 + packages/icons/README.md | 19 + packages/icons/package.json | 22 + packages/icons/src/iconify/index.ts | 5 + packages/icons/src/icons/empty-icon.vue | 27 + packages/icons/src/index.ts | 3 + packages/icons/src/svg/icons/account.svg | 18 + packages/icons/src/svg/icons/antdv-logo.svg | 29 + packages/icons/src/svg/icons/api.svg | 20 + packages/icons/src/svg/icons/avatar-1.svg | 1 + packages/icons/src/svg/icons/avatar-2.svg | 1 + packages/icons/src/svg/icons/avatar-3.svg | 1 + packages/icons/src/svg/icons/avatar-4.svg | 1 + packages/icons/src/svg/icons/bell.svg | 1 + packages/icons/src/svg/icons/cake.svg | 1 + packages/icons/src/svg/icons/card.svg | 1 + packages/icons/src/svg/icons/data-center.svg | 18 + packages/icons/src/svg/icons/department.svg | 19 + packages/icons/src/svg/icons/dingding.svg | 1 + packages/icons/src/svg/icons/download.svg | 1 + packages/icons/src/svg/icons/github.svg | 1 + packages/icons/src/svg/icons/google.svg | 1 + packages/icons/src/svg/icons/knowledge.svg | 17 + packages/icons/src/svg/icons/llm.svg | 18 + packages/icons/src/svg/icons/log.svg | 17 + packages/icons/src/svg/icons/mcp.svg | 18 + packages/icons/src/svg/icons/menu.svg | 15 + packages/icons/src/svg/icons/oauth.svg | 18 + packages/icons/src/svg/icons/plugin.svg | 14 + packages/icons/src/svg/icons/position.svg | 20 + packages/icons/src/svg/icons/qqchat.svg | 1 + packages/icons/src/svg/icons/resolved.svg | 18 + packages/icons/src/svg/icons/resource.svg | 17 + packages/icons/src/svg/icons/role.svg | 18 + packages/icons/src/svg/icons/setting.svg | 13 + packages/icons/src/svg/icons/talk.svg | 15 + packages/icons/src/svg/icons/tdesign-logo.svg | 39 + packages/icons/src/svg/icons/time.svg | 27 + .../icons/src/svg/icons/user-feedback.svg | 18 + packages/icons/src/svg/icons/wechat.svg | 1 + packages/icons/src/svg/icons/workflow.svg | 17 + packages/icons/src/svg/index.ts | 67 + packages/icons/src/svg/load.ts | 61 + packages/icons/tsconfig.json | 6 + packages/locales/package.json | 28 + packages/locales/src/i18n.ts | 147 + packages/locales/src/index.ts | 30 + .../src/langs/en-US/authentication.json | 65 + packages/locales/src/langs/en-US/common.json | 24 + .../locales/src/langs/en-US/preferences.json | 192 + packages/locales/src/langs/en-US/ui.json | 111 + .../src/langs/zh-CN/authentication.json | 65 + packages/locales/src/langs/zh-CN/common.json | 24 + .../locales/src/langs/zh-CN/preferences.json | 192 + packages/locales/src/langs/zh-CN/ui.json | 111 + packages/locales/src/typing.ts | 25 + packages/locales/tsconfig.json | 6 + packages/preferences/package.json | 26 + packages/preferences/src/index.ts | 17 + packages/preferences/tsconfig.json | 6 + packages/stores/package.json | 32 + packages/stores/shim-pinia.d.ts | 9 + packages/stores/src/index.ts | 3 + packages/stores/src/modules/access.test.ts | 46 + packages/stores/src/modules/access.ts | 129 + packages/stores/src/modules/bot.ts | 33 + packages/stores/src/modules/index.ts | 5 + packages/stores/src/modules/tabbar.test.ts | 300 + packages/stores/src/modules/tabbar.ts | 658 + packages/stores/src/modules/timezone.ts | 132 + packages/stores/src/modules/user.test.ts | 37 + packages/stores/src/modules/user.ts | 64 + packages/stores/src/setup.ts | 60 + packages/stores/tsconfig.json | 5 + packages/styles/README.md | 19 + packages/styles/package.json | 34 + packages/styles/src/antd/index.css | 75 + packages/styles/src/ele/index.css | 96 + packages/styles/src/global/index.scss | 1 + packages/styles/src/index.ts | 1 + packages/styles/src/naive/index.css | 20 + packages/styles/tsconfig.json | 6 + packages/types/README.md | 20 + packages/types/global.d.ts | 32 + packages/types/package.json | 27 + packages/types/src/api.ts | 5 + packages/types/src/bot.ts | 99 + packages/types/src/index.ts | 4 + packages/types/src/user.ts | 20 + packages/types/tsconfig.json | 6 + packages/utils/README.md | 19 + packages/utils/package.json | 27 + .../__tests__/find-menu-by-path.test.ts | 88 + .../helpers/__tests__/generate-menus.test.ts | 233 + .../generate-routes-frontend.test.ts | 105 + .../__tests__/merge-route-modules.test.ts | 68 + .../utils/src/helpers/find-menu-by-path.ts | 37 + packages/utils/src/helpers/generate-menus.ts | 90 + .../src/helpers/generate-routes-backend.ts | 86 + .../src/helpers/generate-routes-frontend.ts | 58 + .../utils/src/helpers/get-popup-container.ts | 10 + packages/utils/src/helpers/index.ts | 8 + .../utils/src/helpers/merge-route-modules.ts | 28 + packages/utils/src/helpers/reset-routes.ts | 31 + .../src/helpers/unmount-global-loading.ts | 31 + packages/utils/src/helpers/uuid.ts | 23 + packages/utils/src/index.ts | 5 + packages/utils/tsconfig.json | 9 + pnpm-lock.yaml | 20750 ++++++++++++++++ pnpm-workspace.yaml | 191 + readme.md | 2 + scripts/clean.mjs | 141 + scripts/deploy/Dockerfile | 37 + scripts/deploy/build-local-docker-image.sh | 55 + scripts/deploy/nginx.conf | 75 + scripts/turbo-run/README.md | 59 + scripts/turbo-run/bin/turbo-run.mjs | 3 + scripts/turbo-run/build.config.ts | 7 + scripts/turbo-run/package.json | 29 + scripts/turbo-run/src/index.ts | 29 + scripts/turbo-run/src/run.ts | 67 + scripts/turbo-run/tsconfig.json | 6 + scripts/vsh/README.md | 56 + scripts/vsh/bin/vsh.mjs | 3 + scripts/vsh/build.config.ts | 7 + scripts/vsh/package.json | 31 + scripts/vsh/src/check-circular/index.ts | 170 + scripts/vsh/src/check-dep/index.ts | 194 + scripts/vsh/src/code-workspace/index.ts | 78 + scripts/vsh/src/index.ts | 74 + scripts/vsh/src/lint/index.ts | 48 + scripts/vsh/src/publint/index.ts | 185 + scripts/vsh/tsconfig.json | 6 + stylelint.config.mjs | 4 + tea.yaml | 6 + turbo.json | 49 + vitest.config.ts | 11 + vitest.workspace.ts | 3 + 1282 files changed, 115024 insertions(+) create mode 100644 .browserslistrc create mode 100644 .changeset/README.md create mode 100644 .changeset/config.json create mode 100644 .commitlintrc.js create mode 100644 .dockerignore create mode 100644 .editorconfig create mode 100644 .gitattributes create mode 100644 .gitconfig create mode 100644 .gitignore create mode 100644 .gitpod.yml create mode 100644 .node-version create mode 100644 .npmrc create mode 100644 .prettierignore create mode 100644 .prettierrc.mjs create mode 100644 .stylelintignore create mode 100644 aiflowy.code-workspace create mode 100644 app/.env create mode 100644 app/.env.analyze create mode 100644 app/.env.development create mode 100644 app/.env.production create mode 100644 app/index.html create mode 100644 app/package.json create mode 100644 app/postcss.config.mjs create mode 100644 app/public/empty-dark.png create mode 100644 app/public/empty.png create mode 100644 app/public/favicon.png create mode 100644 app/public/favicon.svg create mode 100644 app/public/load.min.js create mode 100644 app/public/logo.svg create mode 100644 app/public/logoDark.svg create mode 100644 app/public/logoMini.svg create mode 100644 app/public/slogan.png create mode 100644 app/public/tac/css/tac.css create mode 100644 app/public/tac/images/dun.jpeg create mode 100644 app/public/tac/images/icon.png create mode 100644 app/public/tac/js/tac.min.js create mode 100644 app/src/adapter/component/index.ts create mode 100644 app/src/adapter/form.ts create mode 100644 app/src/adapter/vxe-table.ts create mode 100644 app/src/api/ai/bot.ts create mode 100644 app/src/api/ai/index.ts create mode 100644 app/src/api/ai/knowledge.ts create mode 100644 app/src/api/ai/llm.ts create mode 100644 app/src/api/common/file.ts create mode 100644 app/src/api/common/hasPermission.ts create mode 100644 app/src/api/core/auth.ts create mode 100644 app/src/api/core/index.ts create mode 100644 app/src/api/core/menu.ts create mode 100644 app/src/api/core/user.ts create mode 100644 app/src/api/index.ts create mode 100644 app/src/api/request.ts create mode 100644 app/src/app.vue create mode 100644 app/src/assets/ai/bot/defaultBotAvatar.png create mode 100644 app/src/assets/ai/knowledge/book.png create mode 100644 app/src/assets/ai/knowledge/book.svg create mode 100644 app/src/assets/ai/knowledge/document.svg create mode 100644 app/src/assets/ai/plugin/defaultPluginIcon.png create mode 100644 app/src/assets/ai/resource/audio-icon.png create mode 100644 app/src/assets/ai/resource/doc-icon.png create mode 100644 app/src/assets/ai/resource/other-icon.png create mode 100644 app/src/assets/ai/resource/video-icon.png create mode 100644 app/src/assets/ai/workflow/confirm-file.png create mode 100644 app/src/assets/ai/workflow/confirm-icon.png create mode 100644 app/src/assets/ai/workflow/confirm-other.png create mode 100644 app/src/assets/ai/workflow/fileIcon.png create mode 100644 app/src/assets/ai/workflow/workflowIcon.png create mode 100644 app/src/assets/datacenter/table2x.png create mode 100644 app/src/assets/datacenter/upload.png create mode 100644 app/src/assets/defaultUserAvatar.png create mode 100644 app/src/assets/login/dingding-60.png create mode 100644 app/src/assets/login/wx-60.png create mode 100644 app/src/bootstrap.ts create mode 100644 app/src/components/botAvatar/botAvatar.vue create mode 100644 app/src/components/cardPage/CardPage.vue create mode 100644 app/src/components/categoryPanel/CategoryCrudPanel.vue create mode 100644 app/src/components/categoryPanel/CategoryPanel.vue create mode 100644 app/src/components/chat/ProblemPresupposition.vue create mode 100644 app/src/components/chat/PublishWxOfficalAccount.vue create mode 100644 app/src/components/chat/SenderHeader.vue create mode 100644 app/src/components/chat/chat.vue create mode 100644 app/src/components/collapse/CustomCoolapse.vue create mode 100644 app/src/components/collapseViewItem/CollapseViewItem.vue create mode 100644 app/src/components/commonSelectModal/CommonSelectDataModal.vue create mode 100644 app/src/components/cron/CronGenerator.vue create mode 100644 app/src/components/cron/CronPicker.vue create mode 100644 app/src/components/cron/CronTabPane.vue create mode 100644 app/src/components/dict/DictSelect.vue create mode 100644 app/src/components/headerSearch/HeaderSearch.vue create mode 100644 app/src/components/icons/CategorizeIcon.vue create mode 100644 app/src/components/icons/DesignIcon.vue create mode 100644 app/src/components/icons/EditIcon.vue create mode 100644 app/src/components/icons/MagicStaffIcon.vue create mode 100644 app/src/components/icons/ManageIcon.vue create mode 100644 app/src/components/icons/PluginIcon.vue create mode 100644 app/src/components/icons/PluginToolIcon.vue create mode 100644 app/src/components/icons/RecordingIcon.vue create mode 100644 app/src/components/icons/SendEnableIcon.vue create mode 100644 app/src/components/icons/SendIcon.vue create mode 100644 app/src/components/icons/SendingIcon.vue create mode 100644 app/src/components/json/ShowJson.vue create mode 100644 app/src/components/page/CardList.vue create mode 100644 app/src/components/page/PageData.vue create mode 100644 app/src/components/page/PageSide.vue create mode 100644 app/src/components/tag/Tag.vue create mode 100644 app/src/components/tree/Tree.vue create mode 100644 app/src/components/upload/Cropper.vue create mode 100644 app/src/components/upload/CropperMulti.vue create mode 100644 app/src/components/upload/DragFileUpload.vue create mode 100644 app/src/components/upload/Upload.vue create mode 100644 app/src/components/upload/UploadAvatar.vue create mode 100644 app/src/layouts/auth.vue create mode 100644 app/src/layouts/basic.vue create mode 100644 app/src/layouts/index.ts create mode 100644 app/src/locales/README.md create mode 100644 app/src/locales/index.ts create mode 100644 app/src/locales/langs/en-US/aiResource.json create mode 100644 app/src/locales/langs/en-US/aiWorkflow.json create mode 100644 app/src/locales/langs/en-US/aiWorkflowCategory.json create mode 100644 app/src/locales/langs/en-US/aiWorkflowExecRecord.json create mode 100644 app/src/locales/langs/en-US/aiWorkflowRecordStep.json create mode 100644 app/src/locales/langs/en-US/bot.json create mode 100644 app/src/locales/langs/en-US/button.json create mode 100644 app/src/locales/langs/en-US/common.json create mode 100644 app/src/locales/langs/en-US/cron.json create mode 100644 app/src/locales/langs/en-US/cropper.json create mode 100644 app/src/locales/langs/en-US/datacenterTable.json create mode 100644 app/src/locales/langs/en-US/datacenterTableFields.json create mode 100644 app/src/locales/langs/en-US/demos.json create mode 100644 app/src/locales/langs/en-US/dictSelect.json create mode 100644 app/src/locales/langs/en-US/documentCollection.json create mode 100644 app/src/locales/langs/en-US/headerSearch.json create mode 100644 app/src/locales/langs/en-US/llm.json create mode 100644 app/src/locales/langs/en-US/llmProvider.json create mode 100644 app/src/locales/langs/en-US/mcp.json create mode 100644 app/src/locales/langs/en-US/menus.json create mode 100644 app/src/locales/langs/en-US/message.json create mode 100644 app/src/locales/langs/en-US/page.json create mode 100644 app/src/locales/langs/en-US/plugin.json create mode 100644 app/src/locales/langs/en-US/pluginItem.json create mode 100644 app/src/locales/langs/en-US/settingsConfig.json create mode 100644 app/src/locales/langs/en-US/sysAccount.json create mode 100644 app/src/locales/langs/en-US/sysApiKey.json create mode 100644 app/src/locales/langs/en-US/sysApiKeyResourcePermission.json create mode 100644 app/src/locales/langs/en-US/sysAppearance.json create mode 100644 app/src/locales/langs/en-US/sysDept.json create mode 100644 app/src/locales/langs/en-US/sysDict.json create mode 100644 app/src/locales/langs/en-US/sysFeedback.json create mode 100644 app/src/locales/langs/en-US/sysJob.json create mode 100644 app/src/locales/langs/en-US/sysJobLog.json create mode 100644 app/src/locales/langs/en-US/sysLog.json create mode 100644 app/src/locales/langs/en-US/sysMenu.json create mode 100644 app/src/locales/langs/en-US/sysOption.json create mode 100644 app/src/locales/langs/en-US/sysPosition.json create mode 100644 app/src/locales/langs/en-US/sysRole.json create mode 100644 app/src/locales/langs/zh-CN/aiResource.json create mode 100644 app/src/locales/langs/zh-CN/aiWorkflow.json create mode 100644 app/src/locales/langs/zh-CN/aiWorkflowCategory.json create mode 100644 app/src/locales/langs/zh-CN/aiWorkflowExecRecord.json create mode 100644 app/src/locales/langs/zh-CN/aiWorkflowRecordStep.json create mode 100644 app/src/locales/langs/zh-CN/bot.json create mode 100644 app/src/locales/langs/zh-CN/button.json create mode 100644 app/src/locales/langs/zh-CN/common.json create mode 100644 app/src/locales/langs/zh-CN/cron.json create mode 100644 app/src/locales/langs/zh-CN/cropper.json create mode 100644 app/src/locales/langs/zh-CN/datacenterTable.json create mode 100644 app/src/locales/langs/zh-CN/datacenterTableFields.json create mode 100644 app/src/locales/langs/zh-CN/demos.json create mode 100644 app/src/locales/langs/zh-CN/dictSelect.json create mode 100644 app/src/locales/langs/zh-CN/documentCollection.json create mode 100644 app/src/locales/langs/zh-CN/headerSearch.json create mode 100644 app/src/locales/langs/zh-CN/llm.json create mode 100644 app/src/locales/langs/zh-CN/llmProvider.json create mode 100644 app/src/locales/langs/zh-CN/mcp.json create mode 100644 app/src/locales/langs/zh-CN/menus.json create mode 100644 app/src/locales/langs/zh-CN/message.json create mode 100644 app/src/locales/langs/zh-CN/page.json create mode 100644 app/src/locales/langs/zh-CN/plugin.json create mode 100644 app/src/locales/langs/zh-CN/pluginItem.json create mode 100644 app/src/locales/langs/zh-CN/settingsConfig.json create mode 100644 app/src/locales/langs/zh-CN/sysAccount.json create mode 100644 app/src/locales/langs/zh-CN/sysApiKey.json create mode 100644 app/src/locales/langs/zh-CN/sysApiKeyResourcePermission.json create mode 100644 app/src/locales/langs/zh-CN/sysAppearance.json create mode 100644 app/src/locales/langs/zh-CN/sysDept.json create mode 100644 app/src/locales/langs/zh-CN/sysDict.json create mode 100644 app/src/locales/langs/zh-CN/sysFeedback.json create mode 100644 app/src/locales/langs/zh-CN/sysJob.json create mode 100644 app/src/locales/langs/zh-CN/sysJobLog.json create mode 100644 app/src/locales/langs/zh-CN/sysLog.json create mode 100644 app/src/locales/langs/zh-CN/sysMenu.json create mode 100644 app/src/locales/langs/zh-CN/sysOption.json create mode 100644 app/src/locales/langs/zh-CN/sysPosition.json create mode 100644 app/src/locales/langs/zh-CN/sysRole.json create mode 100644 app/src/main.ts create mode 100644 app/src/preferences.ts create mode 100644 app/src/router/access.ts create mode 100644 app/src/router/guard.ts create mode 100644 app/src/router/index.ts create mode 100644 app/src/router/routes/core.ts create mode 100644 app/src/router/routes/index.ts create mode 100644 app/src/router/routes/modules/aiflowy.ts create mode 100644 app/src/router/routes/modules/bot.ts create mode 100644 app/src/router/routes/modules/dashboard.ts create mode 100644 app/src/router/routes/modules/datacenter.ts create mode 100644 app/src/router/routes/modules/demos.ts create mode 100644 app/src/router/routes/modules/document.ts create mode 100644 app/src/router/routes/modules/plugins.ts create mode 100644 app/src/router/routes/modules/sysFeedback.ts create mode 100644 app/src/router/routes/modules/sysJob.ts create mode 100644 app/src/router/routes/modules/workflow.ts create mode 100644 app/src/shims-vue.d.ts create mode 100644 app/src/store/auth.ts create mode 100644 app/src/store/dict.ts create mode 100644 app/src/store/index.ts create mode 100644 app/src/utils/resource.ts create mode 100644 app/src/views/_core/README.md create mode 100644 app/src/views/_core/about/index.vue create mode 100644 app/src/views/_core/authentication/code-login.vue create mode 100644 app/src/views/_core/authentication/forget-password.vue create mode 100644 app/src/views/_core/authentication/login.vue create mode 100644 app/src/views/_core/authentication/oauth-page.vue create mode 100644 app/src/views/_core/authentication/qrcode-login.vue create mode 100644 app/src/views/_core/authentication/register.vue create mode 100644 app/src/views/_core/fallback/coming-soon.vue create mode 100644 app/src/views/_core/fallback/forbidden.vue create mode 100644 app/src/views/_core/fallback/internal-error.vue create mode 100644 app/src/views/_core/fallback/not-found.vue create mode 100644 app/src/views/_core/fallback/offline.vue create mode 100644 app/src/views/_core/profile/base-setting.vue create mode 100644 app/src/views/_core/profile/index.vue create mode 100644 app/src/views/_core/profile/notification-setting.vue create mode 100644 app/src/views/_core/profile/password-setting.vue create mode 100644 app/src/views/_core/profile/security-setting.vue create mode 100644 app/src/views/ai/bots/index.vue create mode 100644 app/src/views/ai/bots/modal.vue create mode 100644 app/src/views/ai/bots/pages/Run.vue create mode 100644 app/src/views/ai/bots/pages/setting/PromptChoreChatModal.vue create mode 100644 app/src/views/ai/bots/pages/setting/config.vue create mode 100644 app/src/views/ai/bots/pages/setting/index.vue create mode 100644 app/src/views/ai/bots/pages/setting/preview.vue create mode 100644 app/src/views/ai/bots/pages/setting/prompt.vue create mode 100644 app/src/views/ai/documentCollection/ChunkDocumentTable.vue create mode 100644 app/src/views/ai/documentCollection/ComfirmImportDocument.vue create mode 100644 app/src/views/ai/documentCollection/Document.vue create mode 100644 app/src/views/ai/documentCollection/DocumentCollection.vue create mode 100644 app/src/views/ai/documentCollection/DocumentCollectionModal.vue create mode 100644 app/src/views/ai/documentCollection/DocumentTable.vue create mode 100644 app/src/views/ai/documentCollection/ImportKnowledgeDocFile.vue create mode 100644 app/src/views/ai/documentCollection/ImportKnowledgeFileContainer.vue create mode 100644 app/src/views/ai/documentCollection/KnowledgeSearch.vue create mode 100644 app/src/views/ai/documentCollection/PreviewSearchKnowledge.vue create mode 100644 app/src/views/ai/documentCollection/SegmenterDoc.vue create mode 100644 app/src/views/ai/documentCollection/SplitterDocPreview.vue create mode 100644 app/src/views/ai/mcp/Mcp.vue create mode 100644 app/src/views/ai/mcp/McpModal.vue create mode 100644 app/src/views/ai/model/AddModelModal.vue create mode 100644 app/src/views/ai/model/AddModelProviderModal.vue create mode 100644 app/src/views/ai/model/ManageModelModal.vue create mode 100644 app/src/views/ai/model/Model.vue create mode 100644 app/src/views/ai/model/ModelVerifyConfig.vue create mode 100644 app/src/views/ai/model/ModelViewItemOperation.vue create mode 100644 app/src/views/ai/model/modelUtils/defaultIcon.ts create mode 100644 app/src/views/ai/model/modelUtils/model-ability-utils.ts create mode 100644 app/src/views/ai/model/modelUtils/model-ability.ts create mode 100644 app/src/views/ai/model/modelUtils/modelTypes.ts create mode 100644 app/src/views/ai/model/modelUtils/providerList.json create mode 100644 app/src/views/ai/plugin/AddPluginModal.vue create mode 100644 app/src/views/ai/plugin/AiPluginToolModal.vue create mode 100644 app/src/views/ai/plugin/CategoryPluginModal.vue create mode 100644 app/src/views/ai/plugin/Plugin.vue create mode 100644 app/src/views/ai/plugin/PluginInputAndOutParams.vue create mode 100644 app/src/views/ai/plugin/PluginRunParams.vue create mode 100644 app/src/views/ai/plugin/PluginRunTestModal.vue create mode 100644 app/src/views/ai/plugin/PluginToolCollapse.vue create mode 100644 app/src/views/ai/plugin/PluginToolEdit.vue create mode 100644 app/src/views/ai/plugin/PluginToolTable.vue create mode 100644 app/src/views/ai/plugin/PluginTools.vue create mode 100644 app/src/views/ai/resource/ChooseResource.vue create mode 100644 app/src/views/ai/resource/PreviewModal.vue create mode 100644 app/src/views/ai/resource/ResourceCardList.vue create mode 100644 app/src/views/ai/resource/ResourceList.vue create mode 100644 app/src/views/ai/resource/ResourceModal.vue create mode 100644 app/src/views/ai/workflow/RunPage.vue create mode 100644 app/src/views/ai/workflow/WorkflowDesign.vue create mode 100644 app/src/views/ai/workflow/WorkflowList.vue create mode 100644 app/src/views/ai/workflow/WorkflowModal.vue create mode 100644 app/src/views/ai/workflow/components/ConfirmItem.vue create mode 100644 app/src/views/ai/workflow/components/ConfirmItemMulti.vue create mode 100644 app/src/views/ai/workflow/components/ExecResult.vue create mode 100644 app/src/views/ai/workflow/components/ExecResultItem.vue create mode 100644 app/src/views/ai/workflow/components/SingleRun.vue create mode 100644 app/src/views/ai/workflow/components/WorkflowForm.vue create mode 100644 app/src/views/ai/workflow/components/WorkflowFormItem.vue create mode 100644 app/src/views/ai/workflow/components/WorkflowSteps.vue create mode 100644 app/src/views/ai/workflow/customNode/documentNode.ts create mode 100644 app/src/views/ai/workflow/customNode/downloadNode.ts create mode 100644 app/src/views/ai/workflow/customNode/index.ts create mode 100644 app/src/views/ai/workflow/customNode/makeFileNode.ts create mode 100644 app/src/views/ai/workflow/customNode/nodeNames.ts create mode 100644 app/src/views/ai/workflow/customNode/pluginNode.ts create mode 100644 app/src/views/ai/workflow/customNode/saveToDatacenter.ts create mode 100644 app/src/views/ai/workflow/customNode/searchDatacenter.ts create mode 100644 app/src/views/ai/workflow/customNode/sqlNode.ts create mode 100644 app/src/views/ai/workflow/customNode/workflowNode.ts create mode 100644 app/src/views/ai/workflow/execute/WorkflowExecResultList.vue create mode 100644 app/src/views/ai/workflow/execute/WorkflowExecStepList.vue create mode 100644 app/src/views/config/apikey/SysApiKey.vue create mode 100644 app/src/views/config/apikey/SysApiKeyList.vue create mode 100644 app/src/views/config/apikey/SysApiKeyModal.vue create mode 100644 app/src/views/config/apikey/SysApiKeyResourcePermissionList.vue create mode 100644 app/src/views/config/apikey/SysApiKeyResourcePermissionModal.vue create mode 100644 app/src/views/config/apikey/SysApiKeyResourcePermissionSelectModal.vue create mode 100644 app/src/views/config/settings/Settings.vue create mode 100644 app/src/views/dashboard/analytics/analytics-trends.vue create mode 100644 app/src/views/dashboard/analytics/analytics-visits-data.vue create mode 100644 app/src/views/dashboard/analytics/analytics-visits-sales.vue create mode 100644 app/src/views/dashboard/analytics/analytics-visits-source.vue create mode 100644 app/src/views/dashboard/analytics/analytics-visits.vue create mode 100644 app/src/views/dashboard/analytics/index.vue create mode 100644 app/src/views/dashboard/workspace/index.vue create mode 100644 app/src/views/datacenter/BatchImportModal.vue create mode 100644 app/src/views/datacenter/DatacenterTableDetail.vue create mode 100644 app/src/views/datacenter/DatacenterTableList.vue create mode 100644 app/src/views/datacenter/DatacenterTableModal.vue create mode 100644 app/src/views/datacenter/RecordModal.vue create mode 100644 app/src/views/demos/cardTest/index.vue create mode 100644 app/src/views/demos/categoryPanel/index.vue create mode 100644 app/src/views/demos/element/index.vue create mode 100644 app/src/views/demos/form/basic.vue create mode 100644 app/src/views/system/sysAccount/SysAccountList.vue create mode 100644 app/src/views/system/sysAccount/SysAccountModal.vue create mode 100644 app/src/views/system/sysDept/SysDeptList.vue create mode 100644 app/src/views/system/sysDept/SysDeptModal.vue create mode 100644 app/src/views/system/sysFeedback/sysFeedbackDetail.vue create mode 100644 app/src/views/system/sysFeedback/sysFeedbackList.vue create mode 100644 app/src/views/system/sysJob/SysJobList.vue create mode 100644 app/src/views/system/sysJob/SysJobLogList.vue create mode 100644 app/src/views/system/sysJob/SysJobModal.vue create mode 100644 app/src/views/system/sysLog/SysLogList.vue create mode 100644 app/src/views/system/sysLog/SysLogModal.vue create mode 100644 app/src/views/system/sysMenu/SysMenuList.vue create mode 100644 app/src/views/system/sysMenu/SysMenuModal.vue create mode 100644 app/src/views/system/sysPosition/SysPositionList.vue create mode 100644 app/src/views/system/sysPosition/SysPositionModal.vue create mode 100644 app/src/views/system/sysRole/SysRoleList.vue create mode 100644 app/src/views/system/sysRole/SysRoleModal.vue create mode 100644 app/tailwind.config.mjs create mode 100644 app/tsconfig.json create mode 100644 app/tsconfig.node.json create mode 100644 app/vite.config.mts create mode 100644 cspell.json create mode 100644 eslint.config.mjs create mode 100644 internal/lint-configs/commitlint-config/index.mjs create mode 100644 internal/lint-configs/commitlint-config/package.json create mode 100644 internal/lint-configs/eslint-config/build.config.ts create mode 100644 internal/lint-configs/eslint-config/package.json create mode 100644 internal/lint-configs/eslint-config/src/configs/command.ts create mode 100644 internal/lint-configs/eslint-config/src/configs/comments.ts create mode 100644 internal/lint-configs/eslint-config/src/configs/disableds.ts create mode 100644 internal/lint-configs/eslint-config/src/configs/ignores.ts create mode 100644 internal/lint-configs/eslint-config/src/configs/import.ts create mode 100644 internal/lint-configs/eslint-config/src/configs/index.ts create mode 100644 internal/lint-configs/eslint-config/src/configs/javascript.ts create mode 100644 internal/lint-configs/eslint-config/src/configs/jsdoc.ts create mode 100644 internal/lint-configs/eslint-config/src/configs/jsonc.ts create mode 100644 internal/lint-configs/eslint-config/src/configs/node.ts create mode 100644 internal/lint-configs/eslint-config/src/configs/perfectionist.ts create mode 100644 internal/lint-configs/eslint-config/src/configs/prettier.ts create mode 100644 internal/lint-configs/eslint-config/src/configs/regexp.ts create mode 100644 internal/lint-configs/eslint-config/src/configs/test.ts create mode 100644 internal/lint-configs/eslint-config/src/configs/turbo.ts create mode 100644 internal/lint-configs/eslint-config/src/configs/typescript.ts create mode 100644 internal/lint-configs/eslint-config/src/configs/unicorn.ts create mode 100644 internal/lint-configs/eslint-config/src/configs/vue.ts create mode 100644 internal/lint-configs/eslint-config/src/custom-config.ts create mode 100644 internal/lint-configs/eslint-config/src/index.ts create mode 100644 internal/lint-configs/eslint-config/src/util.ts create mode 100644 internal/lint-configs/eslint-config/tsconfig.json create mode 100644 internal/lint-configs/prettier-config/index.mjs create mode 100644 internal/lint-configs/prettier-config/package.json create mode 100644 internal/lint-configs/stylelint-config/index.mjs create mode 100644 internal/lint-configs/stylelint-config/package.json create mode 100644 internal/node-utils/build.config.ts create mode 100644 internal/node-utils/package.json create mode 100644 internal/node-utils/src/__tests__/hash.test.ts create mode 100644 internal/node-utils/src/__tests__/path.test.ts create mode 100644 internal/node-utils/src/constants.ts create mode 100644 internal/node-utils/src/date.ts create mode 100644 internal/node-utils/src/fs.ts create mode 100644 internal/node-utils/src/git.ts create mode 100644 internal/node-utils/src/hash.ts create mode 100644 internal/node-utils/src/index.ts create mode 100644 internal/node-utils/src/monorepo.ts create mode 100644 internal/node-utils/src/path.ts create mode 100644 internal/node-utils/src/prettier.ts create mode 100644 internal/node-utils/src/spinner.ts create mode 100644 internal/node-utils/tsconfig.json create mode 100644 internal/tailwind-config/build.config.ts create mode 100644 internal/tailwind-config/package.json create mode 100644 internal/tailwind-config/src/index.ts create mode 100644 internal/tailwind-config/src/module.d.ts create mode 100644 internal/tailwind-config/src/plugins/entry.ts create mode 100644 internal/tailwind-config/src/postcss.config.ts create mode 100644 internal/tailwind-config/tsconfig.json create mode 100644 internal/tsconfig/base.json create mode 100644 internal/tsconfig/library.json create mode 100644 internal/tsconfig/node.json create mode 100644 internal/tsconfig/package.json create mode 100644 internal/tsconfig/web-app.json create mode 100644 internal/tsconfig/web.json create mode 100644 internal/vite-config/build.config.ts create mode 100644 internal/vite-config/package.json create mode 100644 internal/vite-config/src/config/application.ts create mode 100644 internal/vite-config/src/config/common.ts create mode 100644 internal/vite-config/src/config/index.ts create mode 100644 internal/vite-config/src/config/library.ts create mode 100644 internal/vite-config/src/index.ts create mode 100644 internal/vite-config/src/options.ts create mode 100644 internal/vite-config/src/plugins/archiver.ts create mode 100644 internal/vite-config/src/plugins/extra-app-config.ts create mode 100644 internal/vite-config/src/plugins/importmap.ts create mode 100644 internal/vite-config/src/plugins/index.ts create mode 100644 internal/vite-config/src/plugins/inject-app-loading/README.md create mode 100644 internal/vite-config/src/plugins/inject-app-loading/default-loading-antd.html create mode 100644 internal/vite-config/src/plugins/inject-app-loading/default-loading.html create mode 100644 internal/vite-config/src/plugins/inject-app-loading/index.ts create mode 100644 internal/vite-config/src/plugins/inject-metadata.ts create mode 100644 internal/vite-config/src/plugins/license.ts create mode 100644 internal/vite-config/src/plugins/nitro-mock.ts create mode 100644 internal/vite-config/src/plugins/print.ts create mode 100644 internal/vite-config/src/plugins/vxe-table.ts create mode 100644 internal/vite-config/src/typing.ts create mode 100644 internal/vite-config/src/utils/env.ts create mode 100644 internal/vite-config/tsconfig.json create mode 100644 lefthook.yml create mode 100644 package.json create mode 100644 packages/@core/README.md create mode 100644 packages/@core/base/README.md create mode 100644 packages/@core/base/design/package.json create mode 100644 packages/@core/base/design/src/css/global.css create mode 100644 packages/@core/base/design/src/css/nprogress.css create mode 100644 packages/@core/base/design/src/css/transition.css create mode 100644 packages/@core/base/design/src/css/ui.css create mode 100644 packages/@core/base/design/src/design-tokens/dark.css create mode 100644 packages/@core/base/design/src/design-tokens/default.css create mode 100644 packages/@core/base/design/src/design-tokens/index.ts create mode 100644 packages/@core/base/design/src/index.ts create mode 100644 packages/@core/base/design/src/scss-bem/bem.scss create mode 100644 packages/@core/base/design/src/scss-bem/constants.scss create mode 100644 packages/@core/base/design/tsconfig.json create mode 100644 packages/@core/base/design/vite.config.mts create mode 100644 packages/@core/base/icons/build.config.ts create mode 100644 packages/@core/base/icons/package.json create mode 100644 packages/@core/base/icons/src/create-icon.ts create mode 100644 packages/@core/base/icons/src/index.ts create mode 100644 packages/@core/base/icons/src/lucide.ts create mode 100644 packages/@core/base/icons/tsconfig.json create mode 100644 packages/@core/base/shared/build.config.ts create mode 100644 packages/@core/base/shared/package.json create mode 100644 packages/@core/base/shared/src/cache/__tests__/storage-manager.test.ts create mode 100644 packages/@core/base/shared/src/cache/index.ts create mode 100644 packages/@core/base/shared/src/cache/storage-manager.ts create mode 100644 packages/@core/base/shared/src/cache/types.ts create mode 100644 packages/@core/base/shared/src/color/__tests__/convert.test.ts create mode 100644 packages/@core/base/shared/src/color/color.ts create mode 100644 packages/@core/base/shared/src/color/convert.ts create mode 100644 packages/@core/base/shared/src/color/generator.ts create mode 100644 packages/@core/base/shared/src/color/index.ts create mode 100644 packages/@core/base/shared/src/constants/aiflowy.ts create mode 100644 packages/@core/base/shared/src/constants/globals.ts create mode 100644 packages/@core/base/shared/src/constants/index.ts create mode 100644 packages/@core/base/shared/src/global-state.ts create mode 100644 packages/@core/base/shared/src/store.ts create mode 100644 packages/@core/base/shared/src/utils/__tests__/date.test.ts create mode 100644 packages/@core/base/shared/src/utils/__tests__/diff.test.ts create mode 100644 packages/@core/base/shared/src/utils/__tests__/dom.test.ts create mode 100644 packages/@core/base/shared/src/utils/__tests__/inference.test.ts create mode 100644 packages/@core/base/shared/src/utils/__tests__/letter.test.ts create mode 100644 packages/@core/base/shared/src/utils/__tests__/resources.test.ts create mode 100644 packages/@core/base/shared/src/utils/__tests__/state-handler.test.ts create mode 100644 packages/@core/base/shared/src/utils/__tests__/tree.test.ts create mode 100644 packages/@core/base/shared/src/utils/__tests__/unique.test.ts create mode 100644 packages/@core/base/shared/src/utils/__tests__/update-css-variables.test.ts create mode 100644 packages/@core/base/shared/src/utils/__tests__/util.test.ts create mode 100644 packages/@core/base/shared/src/utils/__tests__/window.test.ts create mode 100644 packages/@core/base/shared/src/utils/cn.ts create mode 100644 packages/@core/base/shared/src/utils/date.ts create mode 100644 packages/@core/base/shared/src/utils/diff.ts create mode 100644 packages/@core/base/shared/src/utils/dom.ts create mode 100644 packages/@core/base/shared/src/utils/download.ts create mode 100644 packages/@core/base/shared/src/utils/index.ts create mode 100644 packages/@core/base/shared/src/utils/inference.ts create mode 100644 packages/@core/base/shared/src/utils/letter.ts create mode 100644 packages/@core/base/shared/src/utils/merge.ts create mode 100644 packages/@core/base/shared/src/utils/nprogress.ts create mode 100644 packages/@core/base/shared/src/utils/resources.ts create mode 100644 packages/@core/base/shared/src/utils/state-handler.ts create mode 100644 packages/@core/base/shared/src/utils/to.ts create mode 100644 packages/@core/base/shared/src/utils/tree.ts create mode 100644 packages/@core/base/shared/src/utils/unique.ts create mode 100644 packages/@core/base/shared/src/utils/update-css-variables.ts create mode 100644 packages/@core/base/shared/src/utils/util.ts create mode 100644 packages/@core/base/shared/src/utils/window.ts create mode 100644 packages/@core/base/shared/tsconfig.json create mode 100644 packages/@core/base/typings/build.config.ts create mode 100644 packages/@core/base/typings/package.json create mode 100644 packages/@core/base/typings/src/app.d.ts create mode 100644 packages/@core/base/typings/src/basic.d.ts create mode 100644 packages/@core/base/typings/src/helper.d.ts create mode 100644 packages/@core/base/typings/src/index.ts create mode 100644 packages/@core/base/typings/src/menu-record.ts create mode 100644 packages/@core/base/typings/src/tabs.ts create mode 100644 packages/@core/base/typings/src/vue-router.d.ts create mode 100644 packages/@core/base/typings/tsconfig.json create mode 100644 packages/@core/base/typings/vue-router.d.ts create mode 100644 packages/@core/composables/build.config.ts create mode 100644 packages/@core/composables/package.json create mode 100644 packages/@core/composables/src/__tests__/use-sortable.test.ts create mode 100644 packages/@core/composables/src/index.ts create mode 100644 packages/@core/composables/src/use-is-mobile.ts create mode 100644 packages/@core/composables/src/use-layout-style.ts create mode 100644 packages/@core/composables/src/use-namespace.ts create mode 100644 packages/@core/composables/src/use-priority-value.ts create mode 100644 packages/@core/composables/src/use-scroll-lock.ts create mode 100644 packages/@core/composables/src/use-simple-locale/README.md create mode 100644 packages/@core/composables/src/use-simple-locale/index.ts create mode 100644 packages/@core/composables/src/use-simple-locale/messages.ts create mode 100644 packages/@core/composables/src/use-sortable.ts create mode 100644 packages/@core/composables/tsconfig.json create mode 100644 packages/@core/preferences/__tests__/__snapshots__/config.test.ts.snap create mode 100644 packages/@core/preferences/__tests__/config.test.ts create mode 100644 packages/@core/preferences/__tests__/preferences.test.ts create mode 100644 packages/@core/preferences/build.config.ts create mode 100644 packages/@core/preferences/package.json create mode 100644 packages/@core/preferences/src/config.ts create mode 100644 packages/@core/preferences/src/constants.ts create mode 100644 packages/@core/preferences/src/index.ts create mode 100644 packages/@core/preferences/src/preferences.ts create mode 100644 packages/@core/preferences/src/types.ts create mode 100644 packages/@core/preferences/src/update-css-variables.ts create mode 100644 packages/@core/preferences/src/use-preferences.ts create mode 100644 packages/@core/preferences/tsconfig.json create mode 100644 packages/@core/ui-kit/README.md create mode 100644 packages/@core/ui-kit/form-ui/__tests__/form-api.test.ts create mode 100644 packages/@core/ui-kit/form-ui/build.config.ts create mode 100644 packages/@core/ui-kit/form-ui/package.json create mode 100644 packages/@core/ui-kit/form-ui/postcss.config.mjs create mode 100644 packages/@core/ui-kit/form-ui/src/aiflowy-form.vue create mode 100644 packages/@core/ui-kit/form-ui/src/aiflowy-use-form.vue create mode 100644 packages/@core/ui-kit/form-ui/src/components/form-actions.vue create mode 100644 packages/@core/ui-kit/form-ui/src/config.ts create mode 100644 packages/@core/ui-kit/form-ui/src/form-api.ts create mode 100644 packages/@core/ui-kit/form-ui/src/form-render/context.ts create mode 100644 packages/@core/ui-kit/form-ui/src/form-render/dependencies.ts create mode 100644 packages/@core/ui-kit/form-ui/src/form-render/expandable.ts create mode 100644 packages/@core/ui-kit/form-ui/src/form-render/form-field.vue create mode 100644 packages/@core/ui-kit/form-ui/src/form-render/form-label.vue create mode 100644 packages/@core/ui-kit/form-ui/src/form-render/form.vue create mode 100644 packages/@core/ui-kit/form-ui/src/form-render/helper.ts create mode 100644 packages/@core/ui-kit/form-ui/src/form-render/index.ts create mode 100644 packages/@core/ui-kit/form-ui/src/index.ts create mode 100644 packages/@core/ui-kit/form-ui/src/types.ts create mode 100644 packages/@core/ui-kit/form-ui/src/use-aiflowy-form.ts create mode 100644 packages/@core/ui-kit/form-ui/src/use-form-context.ts create mode 100644 packages/@core/ui-kit/form-ui/tailwind.config.mjs create mode 100644 packages/@core/ui-kit/form-ui/tsconfig.json create mode 100644 packages/@core/ui-kit/layout-ui/build.config.ts create mode 100644 packages/@core/ui-kit/layout-ui/package.json create mode 100644 packages/@core/ui-kit/layout-ui/postcss.config.mjs create mode 100644 packages/@core/ui-kit/layout-ui/src/aiflowy-layout.ts create mode 100644 packages/@core/ui-kit/layout-ui/src/aiflowy-layout.vue create mode 100644 packages/@core/ui-kit/layout-ui/src/components/index.ts create mode 100644 packages/@core/ui-kit/layout-ui/src/components/layout-content.vue create mode 100644 packages/@core/ui-kit/layout-ui/src/components/layout-footer.vue create mode 100644 packages/@core/ui-kit/layout-ui/src/components/layout-header.vue create mode 100644 packages/@core/ui-kit/layout-ui/src/components/layout-sidebar.vue create mode 100644 packages/@core/ui-kit/layout-ui/src/components/layout-tabbar.vue create mode 100644 packages/@core/ui-kit/layout-ui/src/components/widgets/index.ts create mode 100644 packages/@core/ui-kit/layout-ui/src/components/widgets/sidebar-collapse-button.vue create mode 100644 packages/@core/ui-kit/layout-ui/src/components/widgets/sidebar-fixed-button.vue create mode 100644 packages/@core/ui-kit/layout-ui/src/hooks/use-layout.ts create mode 100644 packages/@core/ui-kit/layout-ui/src/index.ts create mode 100644 packages/@core/ui-kit/layout-ui/tailwind.config.mjs create mode 100644 packages/@core/ui-kit/layout-ui/tsconfig.json create mode 100644 packages/@core/ui-kit/menu-ui/README.md create mode 100644 packages/@core/ui-kit/menu-ui/build.config.ts create mode 100644 packages/@core/ui-kit/menu-ui/package.json create mode 100644 packages/@core/ui-kit/menu-ui/postcss.config.mjs create mode 100644 packages/@core/ui-kit/menu-ui/src/components/collapse-transition.vue create mode 100644 packages/@core/ui-kit/menu-ui/src/components/index.ts create mode 100644 packages/@core/ui-kit/menu-ui/src/components/menu-badge-dot.vue create mode 100644 packages/@core/ui-kit/menu-ui/src/components/menu-badge.vue create mode 100644 packages/@core/ui-kit/menu-ui/src/components/menu-item.vue create mode 100644 packages/@core/ui-kit/menu-ui/src/components/menu.vue create mode 100644 packages/@core/ui-kit/menu-ui/src/components/normal-menu/index.ts create mode 100644 packages/@core/ui-kit/menu-ui/src/components/normal-menu/normal-menu.ts create mode 100644 packages/@core/ui-kit/menu-ui/src/components/normal-menu/normal-menu.vue create mode 100644 packages/@core/ui-kit/menu-ui/src/components/sub-menu-content.vue create mode 100644 packages/@core/ui-kit/menu-ui/src/components/sub-menu.vue create mode 100644 packages/@core/ui-kit/menu-ui/src/hooks/index.ts create mode 100644 packages/@core/ui-kit/menu-ui/src/hooks/use-menu-context.ts create mode 100644 packages/@core/ui-kit/menu-ui/src/hooks/use-menu-scroll.ts create mode 100644 packages/@core/ui-kit/menu-ui/src/hooks/use-menu.ts create mode 100644 packages/@core/ui-kit/menu-ui/src/index.ts create mode 100644 packages/@core/ui-kit/menu-ui/src/menu.vue create mode 100644 packages/@core/ui-kit/menu-ui/src/sub-menu.vue create mode 100644 packages/@core/ui-kit/menu-ui/src/types.ts create mode 100644 packages/@core/ui-kit/menu-ui/src/utils/index.ts create mode 100644 packages/@core/ui-kit/menu-ui/tailwind.config.mjs create mode 100644 packages/@core/ui-kit/menu-ui/tsconfig.json create mode 100644 packages/@core/ui-kit/popup-ui/build.config.ts create mode 100644 packages/@core/ui-kit/popup-ui/package.json create mode 100644 packages/@core/ui-kit/popup-ui/postcss.config.mjs create mode 100644 packages/@core/ui-kit/popup-ui/src/alert/AlertBuilder.ts create mode 100644 packages/@core/ui-kit/popup-ui/src/alert/alert.ts create mode 100644 packages/@core/ui-kit/popup-ui/src/alert/alert.vue create mode 100644 packages/@core/ui-kit/popup-ui/src/alert/index.ts create mode 100644 packages/@core/ui-kit/popup-ui/src/drawer/__tests__/drawer-api.test.ts create mode 100644 packages/@core/ui-kit/popup-ui/src/drawer/drawer-api.ts create mode 100644 packages/@core/ui-kit/popup-ui/src/drawer/drawer.ts create mode 100644 packages/@core/ui-kit/popup-ui/src/drawer/drawer.vue create mode 100644 packages/@core/ui-kit/popup-ui/src/drawer/index.ts create mode 100644 packages/@core/ui-kit/popup-ui/src/drawer/use-drawer.ts create mode 100644 packages/@core/ui-kit/popup-ui/src/index.ts create mode 100644 packages/@core/ui-kit/popup-ui/src/modal/__tests__/modal-api.test.ts create mode 100644 packages/@core/ui-kit/popup-ui/src/modal/index.ts create mode 100644 packages/@core/ui-kit/popup-ui/src/modal/modal-api.ts create mode 100644 packages/@core/ui-kit/popup-ui/src/modal/modal.ts create mode 100644 packages/@core/ui-kit/popup-ui/src/modal/modal.vue create mode 100644 packages/@core/ui-kit/popup-ui/src/modal/use-modal-draggable.ts create mode 100644 packages/@core/ui-kit/popup-ui/src/modal/use-modal.ts create mode 100644 packages/@core/ui-kit/popup-ui/tailwind.config.mjs create mode 100644 packages/@core/ui-kit/popup-ui/tsconfig.json create mode 100644 packages/@core/ui-kit/shadcn-ui/build.config.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/components.json create mode 100644 packages/@core/ui-kit/shadcn-ui/package.json create mode 100644 packages/@core/ui-kit/shadcn-ui/postcss.config.mjs create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/avatar/avatar.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/avatar/index.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/back-top/back-top.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/back-top/backtop.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/back-top/index.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/back-top/use-backtop.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/breadcrumb/breadcrumb-background.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/breadcrumb/breadcrumb-view.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/breadcrumb/breadcrumb.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/breadcrumb/index.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/breadcrumb/types.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/button/button-group.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/button/button.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/button/button.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/button/check-button-group.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/button/icon-button.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/button/index.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/checkbox/checkbox.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/checkbox/index.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/context-menu/context-menu.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/context-menu/index.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/context-menu/interface.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/count-to-animator/count-to-animator.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/count-to-animator/index.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/dropdown-menu/dropdown-menu.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/dropdown-menu/dropdown-radio-menu.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/dropdown-menu/index.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/dropdown-menu/interface.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/expandable-arrow/expandable-arrow.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/expandable-arrow/index.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/full-screen/full-screen.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/full-screen/index.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/hover-card/hover-card.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/hover-card/index.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/icon/icon.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/icon/index.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/index.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/input-password/index.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/input-password/input-password.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/input-password/password-strength.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/logo/index.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/logo/logo.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/pin-input/index.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/pin-input/input.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/pin-input/types.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/popover/index.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/popover/popover.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/render-content/index.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/render-content/render-content.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/scrollbar/index.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/scrollbar/scrollbar.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/segmented/index.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/segmented/segmented.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/segmented/tabs-indicator.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/segmented/types.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/select/index.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/select/select.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/spine-text/index.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/spine-text/spine-text.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/spinner/index.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/spinner/loading.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/spinner/spinner.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/tooltip/help-tooltip.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/tooltip/index.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/components/tooltip/tooltip.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/index.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/accordion/Accordion.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/accordion/AccordionContent.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/accordion/AccordionItem.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/accordion/AccordionTrigger.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/accordion/index.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/alert-dialog/AlertDialog.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/alert-dialog/AlertDialogAction.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/alert-dialog/AlertDialogCancel.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/alert-dialog/AlertDialogContent.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/alert-dialog/AlertDialogDescription.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/alert-dialog/AlertDialogOverlay.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/alert-dialog/AlertDialogTitle.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/alert-dialog/index.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/avatar/Avatar.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/avatar/AvatarFallback.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/avatar/AvatarImage.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/avatar/avatar.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/avatar/index.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/badge/Badge.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/badge/badge.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/badge/index.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/breadcrumb/Breadcrumb.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/breadcrumb/BreadcrumbEllipsis.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/breadcrumb/BreadcrumbItem.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/breadcrumb/BreadcrumbLink.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/breadcrumb/BreadcrumbList.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/breadcrumb/BreadcrumbPage.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/breadcrumb/BreadcrumbSeparator.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/breadcrumb/index.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/button/Button.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/button/button.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/button/index.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/button/types.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/card/Card.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/card/CardContent.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/card/CardDescription.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/card/CardFooter.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/card/CardHeader.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/card/CardTitle.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/card/index.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/checkbox/Checkbox.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/checkbox/index.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/context-menu/ContextMenu.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/context-menu/ContextMenuCheckboxItem.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/context-menu/ContextMenuContent.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/context-menu/ContextMenuGroup.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/context-menu/ContextMenuItem.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/context-menu/ContextMenuLabel.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/context-menu/ContextMenuPortal.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/context-menu/ContextMenuRadioGroup.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/context-menu/ContextMenuRadioItem.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/context-menu/ContextMenuSeparator.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/context-menu/ContextMenuShortcut.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/context-menu/ContextMenuSub.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/context-menu/ContextMenuSubContent.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/context-menu/ContextMenuSubTrigger.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/context-menu/ContextMenuTrigger.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/context-menu/index.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/dialog/Dialog.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/dialog/DialogClose.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/dialog/DialogContent.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/dialog/DialogDescription.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/dialog/DialogFooter.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/dialog/DialogHeader.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/dialog/DialogOverlay.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/dialog/DialogScrollContent.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/dialog/DialogTitle.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/dialog/DialogTrigger.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/dialog/index.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/dropdown-menu/DropdownMenu.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/dropdown-menu/DropdownMenuCheckboxItem.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/dropdown-menu/DropdownMenuContent.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/dropdown-menu/DropdownMenuGroup.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/dropdown-menu/DropdownMenuItem.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/dropdown-menu/DropdownMenuLabel.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/dropdown-menu/DropdownMenuRadioGroup.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/dropdown-menu/DropdownMenuRadioItem.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/dropdown-menu/DropdownMenuSeparator.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/dropdown-menu/DropdownMenuShortcut.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/dropdown-menu/DropdownMenuSub.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/dropdown-menu/DropdownMenuSubContent.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/dropdown-menu/DropdownMenuSubTrigger.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/dropdown-menu/DropdownMenuTrigger.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/dropdown-menu/index.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/form/FormControl.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/form/FormDescription.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/form/FormItem.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/form/FormLabel.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/form/FormMessage.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/form/index.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/form/injectionKeys.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/form/useFormField.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/hover-card/HoverCard.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/hover-card/HoverCardContent.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/hover-card/HoverCardTrigger.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/hover-card/index.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/index.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/input/Input.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/input/index.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/label/Label.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/label/index.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/number-field/NumberField.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/number-field/NumberFieldContent.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/number-field/NumberFieldDecrement.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/number-field/NumberFieldIncrement.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/number-field/NumberFieldInput.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/number-field/index.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/pagination/PaginationEllipsis.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/pagination/PaginationFirst.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/pagination/PaginationLast.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/pagination/PaginationNext.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/pagination/PaginationPrev.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/pagination/index.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/pin-input/PinInput.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/pin-input/PinInputGroup.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/pin-input/PinInputInput.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/pin-input/PinInputSeparator.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/pin-input/index.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/popover/Popover.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/popover/PopoverContent.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/popover/PopoverTrigger.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/popover/index.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/radio-group/RadioGroup.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/radio-group/RadioGroupItem.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/radio-group/index.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/resizable/ResizableHandle.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/resizable/ResizablePanelGroup.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/resizable/index.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/scroll-area/ScrollArea.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/scroll-area/ScrollBar.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/scroll-area/index.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/select/Select.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/select/SelectContent.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/select/SelectGroup.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/select/SelectItem.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/select/SelectItemText.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/select/SelectLabel.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/select/SelectScrollDownButton.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/select/SelectScrollUpButton.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/select/SelectSeparator.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/select/SelectTrigger.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/select/SelectValue.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/select/index.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/separator/Separator.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/separator/index.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/sheet/Sheet.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/sheet/SheetClose.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/sheet/SheetContent.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/sheet/SheetDescription.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/sheet/SheetFooter.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/sheet/SheetHeader.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/sheet/SheetOverlay.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/sheet/SheetTitle.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/sheet/SheetTrigger.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/sheet/index.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/sheet/sheet.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/switch/Switch.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/switch/index.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/tabs/Tabs.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/tabs/TabsContent.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/tabs/TabsList.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/tabs/TabsTrigger.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/tabs/index.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/textarea/Textarea.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/textarea/index.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/toggle-group/ToggleGroup.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/toggle-group/ToggleGroupItem.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/toggle-group/index.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/toggle/Toggle.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/toggle/index.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/toggle/toggle.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/tooltip/Tooltip.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/tooltip/TooltipContent.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/tooltip/TooltipProvider.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/tooltip/TooltipTrigger.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/tooltip/index.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/tree/index.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/tree/tree.vue create mode 100644 packages/@core/ui-kit/shadcn-ui/src/ui/tree/types.ts create mode 100644 packages/@core/ui-kit/shadcn-ui/tailwind.config.mjs create mode 100644 packages/@core/ui-kit/shadcn-ui/tsconfig.json create mode 100644 packages/@core/ui-kit/tabs-ui/build.config.ts create mode 100644 packages/@core/ui-kit/tabs-ui/package.json create mode 100644 packages/@core/ui-kit/tabs-ui/postcss.config.mjs create mode 100644 packages/@core/ui-kit/tabs-ui/src/components/index.ts create mode 100644 packages/@core/ui-kit/tabs-ui/src/components/tabs-chrome/tabs.vue create mode 100644 packages/@core/ui-kit/tabs-ui/src/components/tabs/tabs.vue create mode 100644 packages/@core/ui-kit/tabs-ui/src/components/widgets/index.ts create mode 100644 packages/@core/ui-kit/tabs-ui/src/components/widgets/tool-more.vue create mode 100644 packages/@core/ui-kit/tabs-ui/src/components/widgets/tool-screen.vue create mode 100644 packages/@core/ui-kit/tabs-ui/src/index.ts create mode 100644 packages/@core/ui-kit/tabs-ui/src/tabs-view.vue create mode 100644 packages/@core/ui-kit/tabs-ui/src/types.ts create mode 100644 packages/@core/ui-kit/tabs-ui/src/use-tabs-drag.ts create mode 100644 packages/@core/ui-kit/tabs-ui/src/use-tabs-view-scroll.ts create mode 100644 packages/@core/ui-kit/tabs-ui/tailwind.config.mjs create mode 100644 packages/@core/ui-kit/tabs-ui/tsconfig.json create mode 100644 packages/constants/README.md create mode 100644 packages/constants/package.json create mode 100644 packages/constants/src/core.ts create mode 100644 packages/constants/src/index.ts create mode 100644 packages/constants/tsconfig.json create mode 100644 packages/effects/README.md create mode 100644 packages/effects/access/package.json create mode 100644 packages/effects/access/src/access-control.vue create mode 100644 packages/effects/access/src/accessible.ts create mode 100644 packages/effects/access/src/directive.ts create mode 100644 packages/effects/access/src/index.ts create mode 100644 packages/effects/access/src/use-access.ts create mode 100644 packages/effects/access/tsconfig.json create mode 100644 packages/effects/common-ui/package.json create mode 100644 packages/effects/common-ui/src/components/api-component/api-component.vue create mode 100644 packages/effects/common-ui/src/components/api-component/index.ts create mode 100644 packages/effects/common-ui/src/components/captcha/hooks/useCaptchaPoints.ts create mode 100644 packages/effects/common-ui/src/components/captcha/index.ts create mode 100644 packages/effects/common-ui/src/components/captcha/point-selection-captcha/index.vue create mode 100644 packages/effects/common-ui/src/components/captcha/point-selection-captcha/point-selection-captcha-card.vue create mode 100644 packages/effects/common-ui/src/components/captcha/slider-captcha/index.vue create mode 100644 packages/effects/common-ui/src/components/captcha/slider-captcha/slider-captcha-action.vue create mode 100644 packages/effects/common-ui/src/components/captcha/slider-captcha/slider-captcha-bar.vue create mode 100644 packages/effects/common-ui/src/components/captcha/slider-captcha/slider-captcha-content.vue create mode 100644 packages/effects/common-ui/src/components/captcha/slider-rotate-captcha/index.vue create mode 100644 packages/effects/common-ui/src/components/captcha/slider-translate-captcha/index.vue create mode 100644 packages/effects/common-ui/src/components/captcha/types.ts create mode 100644 packages/effects/common-ui/src/components/col-page/col-page.vue create mode 100644 packages/effects/common-ui/src/components/col-page/index.ts create mode 100644 packages/effects/common-ui/src/components/col-page/types.ts create mode 100644 packages/effects/common-ui/src/components/count-to/count-to.vue create mode 100644 packages/effects/common-ui/src/components/count-to/index.ts create mode 100644 packages/effects/common-ui/src/components/count-to/types.ts create mode 100644 packages/effects/common-ui/src/components/ellipsis-text/ellipsis-text.vue create mode 100644 packages/effects/common-ui/src/components/ellipsis-text/index.ts create mode 100644 packages/effects/common-ui/src/components/icon-picker/icon-picker.vue create mode 100644 packages/effects/common-ui/src/components/icon-picker/icons.ts create mode 100644 packages/effects/common-ui/src/components/icon-picker/index.ts create mode 100644 packages/effects/common-ui/src/components/index.ts create mode 100644 packages/effects/common-ui/src/components/json-viewer/index.ts create mode 100644 packages/effects/common-ui/src/components/json-viewer/index.vue create mode 100644 packages/effects/common-ui/src/components/json-viewer/style.scss create mode 100644 packages/effects/common-ui/src/components/json-viewer/types.ts create mode 100644 packages/effects/common-ui/src/components/loading/directive.ts create mode 100644 packages/effects/common-ui/src/components/loading/index.ts create mode 100644 packages/effects/common-ui/src/components/loading/loading.vue create mode 100644 packages/effects/common-ui/src/components/loading/spinner.vue create mode 100644 packages/effects/common-ui/src/components/page/__tests__/page.test.ts create mode 100644 packages/effects/common-ui/src/components/page/index.ts create mode 100644 packages/effects/common-ui/src/components/page/page.vue create mode 100644 packages/effects/common-ui/src/components/page/types.ts create mode 100644 packages/effects/common-ui/src/components/resize/index.ts create mode 100644 packages/effects/common-ui/src/components/resize/resize.vue create mode 100644 packages/effects/common-ui/src/components/tippy/directive.ts create mode 100644 packages/effects/common-ui/src/components/tippy/index.ts create mode 100644 packages/effects/common-ui/src/components/tree/index.ts create mode 100644 packages/effects/common-ui/src/components/tree/tree.vue create mode 100644 packages/effects/common-ui/src/index.ts create mode 100644 packages/effects/common-ui/src/ui/about/about.ts create mode 100644 packages/effects/common-ui/src/ui/about/about.vue create mode 100644 packages/effects/common-ui/src/ui/about/index.ts create mode 100644 packages/effects/common-ui/src/ui/authentication/auth-title.vue create mode 100644 packages/effects/common-ui/src/ui/authentication/code-login.vue create mode 100644 packages/effects/common-ui/src/ui/authentication/dingding-login.vue create mode 100644 packages/effects/common-ui/src/ui/authentication/forget-password.vue create mode 100644 packages/effects/common-ui/src/ui/authentication/index.ts create mode 100644 packages/effects/common-ui/src/ui/authentication/login-expired-modal.vue create mode 100644 packages/effects/common-ui/src/ui/authentication/login.vue create mode 100644 packages/effects/common-ui/src/ui/authentication/qrcode-login.vue create mode 100644 packages/effects/common-ui/src/ui/authentication/register.vue create mode 100644 packages/effects/common-ui/src/ui/authentication/third-party-login.vue create mode 100644 packages/effects/common-ui/src/ui/authentication/types.ts create mode 100644 packages/effects/common-ui/src/ui/dashboard/analysis/analysis-chart-card.vue create mode 100644 packages/effects/common-ui/src/ui/dashboard/analysis/analysis-charts-tabs.vue create mode 100644 packages/effects/common-ui/src/ui/dashboard/analysis/analysis-overview.vue create mode 100644 packages/effects/common-ui/src/ui/dashboard/analysis/index.ts create mode 100644 packages/effects/common-ui/src/ui/dashboard/index.ts create mode 100644 packages/effects/common-ui/src/ui/dashboard/typing.ts create mode 100644 packages/effects/common-ui/src/ui/dashboard/workbench/index.ts create mode 100644 packages/effects/common-ui/src/ui/dashboard/workbench/workbench-header.vue create mode 100644 packages/effects/common-ui/src/ui/dashboard/workbench/workbench-project.vue create mode 100644 packages/effects/common-ui/src/ui/dashboard/workbench/workbench-quick-nav.vue create mode 100644 packages/effects/common-ui/src/ui/dashboard/workbench/workbench-todo.vue create mode 100644 packages/effects/common-ui/src/ui/dashboard/workbench/workbench-trends.vue create mode 100644 packages/effects/common-ui/src/ui/fallback/fallback.ts create mode 100644 packages/effects/common-ui/src/ui/fallback/fallback.vue create mode 100644 packages/effects/common-ui/src/ui/fallback/icons/icon-403.vue create mode 100644 packages/effects/common-ui/src/ui/fallback/icons/icon-404.png create mode 100644 packages/effects/common-ui/src/ui/fallback/icons/icon-404.vue create mode 100644 packages/effects/common-ui/src/ui/fallback/icons/icon-500.vue create mode 100644 packages/effects/common-ui/src/ui/fallback/icons/icon-coming-soon.vue create mode 100644 packages/effects/common-ui/src/ui/fallback/icons/icon-offline.vue create mode 100644 packages/effects/common-ui/src/ui/fallback/icons/warning.svg create mode 100644 packages/effects/common-ui/src/ui/fallback/index.ts create mode 100644 packages/effects/common-ui/src/ui/index.ts create mode 100644 packages/effects/common-ui/src/ui/profile/base-setting.vue create mode 100644 packages/effects/common-ui/src/ui/profile/index.ts create mode 100644 packages/effects/common-ui/src/ui/profile/notification-setting.vue create mode 100644 packages/effects/common-ui/src/ui/profile/password-setting.vue create mode 100644 packages/effects/common-ui/src/ui/profile/profile.vue create mode 100644 packages/effects/common-ui/src/ui/profile/security-setting.vue create mode 100644 packages/effects/common-ui/src/ui/profile/types.ts create mode 100644 packages/effects/common-ui/tsconfig.json create mode 100644 packages/effects/hooks/README.md create mode 100644 packages/effects/hooks/package.json create mode 100644 packages/effects/hooks/src/index.ts create mode 100644 packages/effects/hooks/src/use-app-config.ts create mode 100644 packages/effects/hooks/src/use-content-maximize.ts create mode 100644 packages/effects/hooks/src/use-design-tokens.ts create mode 100644 packages/effects/hooks/src/use-hover-toggle.ts create mode 100644 packages/effects/hooks/src/use-pagination.ts create mode 100644 packages/effects/hooks/src/use-refresh.ts create mode 100644 packages/effects/hooks/src/use-tabs.ts create mode 100644 packages/effects/hooks/src/use-watermark.ts create mode 100644 packages/effects/hooks/tsconfig.json create mode 100644 packages/effects/layouts/package.json create mode 100644 packages/effects/layouts/src/authentication/authentication.vue create mode 100644 packages/effects/layouts/src/authentication/form.vue create mode 100644 packages/effects/layouts/src/authentication/icons/slogan.vue create mode 100644 packages/effects/layouts/src/authentication/index.ts create mode 100644 packages/effects/layouts/src/authentication/toolbar.vue create mode 100644 packages/effects/layouts/src/authentication/types.ts create mode 100644 packages/effects/layouts/src/basic/README.md create mode 100644 packages/effects/layouts/src/basic/content/content-spinner.vue create mode 100644 packages/effects/layouts/src/basic/content/content.vue create mode 100644 packages/effects/layouts/src/basic/content/index.ts create mode 100644 packages/effects/layouts/src/basic/content/use-content-spinner.ts create mode 100644 packages/effects/layouts/src/basic/copyright/copyright.vue create mode 100644 packages/effects/layouts/src/basic/copyright/index.ts create mode 100644 packages/effects/layouts/src/basic/footer/footer.vue create mode 100644 packages/effects/layouts/src/basic/footer/index.ts create mode 100644 packages/effects/layouts/src/basic/header/header.vue create mode 100644 packages/effects/layouts/src/basic/header/index.ts create mode 100644 packages/effects/layouts/src/basic/index.ts create mode 100644 packages/effects/layouts/src/basic/layout.vue create mode 100644 packages/effects/layouts/src/basic/menu/extra-menu.vue create mode 100644 packages/effects/layouts/src/basic/menu/index.ts create mode 100644 packages/effects/layouts/src/basic/menu/menu.vue create mode 100644 packages/effects/layouts/src/basic/menu/mixed-menu.vue create mode 100644 packages/effects/layouts/src/basic/menu/use-extra-menu.ts create mode 100644 packages/effects/layouts/src/basic/menu/use-mixed-menu.ts create mode 100644 packages/effects/layouts/src/basic/menu/use-navigation.ts create mode 100644 packages/effects/layouts/src/basic/tabbar/index.ts create mode 100644 packages/effects/layouts/src/basic/tabbar/tabbar.vue create mode 100644 packages/effects/layouts/src/basic/tabbar/use-tabbar.ts create mode 100644 packages/effects/layouts/src/iframe/iframe-router-view.vue create mode 100644 packages/effects/layouts/src/iframe/iframe-view.vue create mode 100644 packages/effects/layouts/src/iframe/index.ts create mode 100644 packages/effects/layouts/src/index.ts create mode 100644 packages/effects/layouts/src/widgets/breadcrumb.vue create mode 100644 packages/effects/layouts/src/widgets/check-updates/check-updates.vue create mode 100644 packages/effects/layouts/src/widgets/check-updates/index.ts create mode 100644 packages/effects/layouts/src/widgets/color-toggle.vue create mode 100644 packages/effects/layouts/src/widgets/global-search/global-search.vue create mode 100644 packages/effects/layouts/src/widgets/global-search/index.ts create mode 100644 packages/effects/layouts/src/widgets/global-search/search-panel.vue create mode 100644 packages/effects/layouts/src/widgets/index.ts create mode 100644 packages/effects/layouts/src/widgets/language-toggle.vue create mode 100644 packages/effects/layouts/src/widgets/layout-toggle.vue create mode 100644 packages/effects/layouts/src/widgets/lock-screen/index.ts create mode 100644 packages/effects/layouts/src/widgets/lock-screen/lock-screen-modal.vue create mode 100644 packages/effects/layouts/src/widgets/lock-screen/lock-screen.vue create mode 100644 packages/effects/layouts/src/widgets/notification/index.ts create mode 100644 packages/effects/layouts/src/widgets/notification/notification.vue create mode 100644 packages/effects/layouts/src/widgets/notification/types.ts create mode 100644 packages/effects/layouts/src/widgets/preferences/blocks/block.vue create mode 100644 packages/effects/layouts/src/widgets/preferences/blocks/checkbox-item.vue create mode 100644 packages/effects/layouts/src/widgets/preferences/blocks/general/animation.vue create mode 100644 packages/effects/layouts/src/widgets/preferences/blocks/general/general.vue create mode 100644 packages/effects/layouts/src/widgets/preferences/blocks/index.ts create mode 100644 packages/effects/layouts/src/widgets/preferences/blocks/input-item.vue create mode 100644 packages/effects/layouts/src/widgets/preferences/blocks/layout/breadcrumb.vue create mode 100644 packages/effects/layouts/src/widgets/preferences/blocks/layout/content.vue create mode 100644 packages/effects/layouts/src/widgets/preferences/blocks/layout/copyright.vue create mode 100644 packages/effects/layouts/src/widgets/preferences/blocks/layout/footer.vue create mode 100644 packages/effects/layouts/src/widgets/preferences/blocks/layout/header.vue create mode 100644 packages/effects/layouts/src/widgets/preferences/blocks/layout/layout.vue create mode 100644 packages/effects/layouts/src/widgets/preferences/blocks/layout/navigation.vue create mode 100644 packages/effects/layouts/src/widgets/preferences/blocks/layout/sidebar.vue create mode 100644 packages/effects/layouts/src/widgets/preferences/blocks/layout/tabbar.vue create mode 100644 packages/effects/layouts/src/widgets/preferences/blocks/layout/widget.vue create mode 100644 packages/effects/layouts/src/widgets/preferences/blocks/number-field-item.vue create mode 100644 packages/effects/layouts/src/widgets/preferences/blocks/select-item.vue create mode 100644 packages/effects/layouts/src/widgets/preferences/blocks/shortcut-keys/global.vue create mode 100644 packages/effects/layouts/src/widgets/preferences/blocks/switch-item.vue create mode 100644 packages/effects/layouts/src/widgets/preferences/blocks/theme/builtin.vue create mode 100644 packages/effects/layouts/src/widgets/preferences/blocks/theme/color-mode.vue create mode 100644 packages/effects/layouts/src/widgets/preferences/blocks/theme/radius.vue create mode 100644 packages/effects/layouts/src/widgets/preferences/blocks/theme/theme.vue create mode 100644 packages/effects/layouts/src/widgets/preferences/blocks/toggle-item.vue create mode 100644 packages/effects/layouts/src/widgets/preferences/icons/content-compact.vue create mode 100644 packages/effects/layouts/src/widgets/preferences/icons/full-content.vue create mode 100644 packages/effects/layouts/src/widgets/preferences/icons/header-mixed-nav.vue create mode 100644 packages/effects/layouts/src/widgets/preferences/icons/header-nav.vue create mode 100644 packages/effects/layouts/src/widgets/preferences/icons/header-sidebar-nav.vue create mode 100644 packages/effects/layouts/src/widgets/preferences/icons/index.ts create mode 100644 packages/effects/layouts/src/widgets/preferences/icons/mixed-nav.vue create mode 100644 packages/effects/layouts/src/widgets/preferences/icons/setting.vue create mode 100644 packages/effects/layouts/src/widgets/preferences/icons/sidebar-mixed-nav.vue create mode 100644 packages/effects/layouts/src/widgets/preferences/icons/sidebar-nav.vue create mode 100644 packages/effects/layouts/src/widgets/preferences/index.ts create mode 100644 packages/effects/layouts/src/widgets/preferences/preferences-button.vue create mode 100644 packages/effects/layouts/src/widgets/preferences/preferences-drawer.vue create mode 100644 packages/effects/layouts/src/widgets/preferences/preferences.vue create mode 100644 packages/effects/layouts/src/widgets/preferences/use-open-preferences.ts create mode 100644 packages/effects/layouts/src/widgets/theme-toggle/index.ts create mode 100644 packages/effects/layouts/src/widgets/theme-toggle/theme-button.vue create mode 100644 packages/effects/layouts/src/widgets/theme-toggle/theme-toggle.vue create mode 100644 packages/effects/layouts/src/widgets/timezone/index.ts create mode 100644 packages/effects/layouts/src/widgets/timezone/timezone-button.vue create mode 100644 packages/effects/layouts/src/widgets/user-dropdown/index.ts create mode 100644 packages/effects/layouts/src/widgets/user-dropdown/user-dropdown.vue create mode 100644 packages/effects/layouts/tsconfig.json create mode 100644 packages/effects/plugins/README.md create mode 100644 packages/effects/plugins/package.json create mode 100644 packages/effects/plugins/src/echarts/echarts-ui.vue create mode 100644 packages/effects/plugins/src/echarts/echarts.ts create mode 100644 packages/effects/plugins/src/echarts/index.ts create mode 100644 packages/effects/plugins/src/echarts/use-echarts.ts create mode 100644 packages/effects/plugins/src/motion/index.ts create mode 100644 packages/effects/plugins/src/motion/types.ts create mode 100644 packages/effects/plugins/src/vxe-table/api.ts create mode 100644 packages/effects/plugins/src/vxe-table/extends.ts create mode 100644 packages/effects/plugins/src/vxe-table/index.ts create mode 100644 packages/effects/plugins/src/vxe-table/init.ts create mode 100644 packages/effects/plugins/src/vxe-table/style.css create mode 100644 packages/effects/plugins/src/vxe-table/types.ts create mode 100644 packages/effects/plugins/src/vxe-table/use-vxe-grid.ts create mode 100644 packages/effects/plugins/src/vxe-table/use-vxe-grid.vue create mode 100644 packages/effects/plugins/tsconfig.json create mode 100644 packages/effects/request/package.json create mode 100644 packages/effects/request/src/index.ts create mode 100644 packages/effects/request/src/request-client/index.ts create mode 100644 packages/effects/request/src/request-client/modules/downloader.test.ts create mode 100644 packages/effects/request/src/request-client/modules/downloader.ts create mode 100644 packages/effects/request/src/request-client/modules/interceptor.ts create mode 100644 packages/effects/request/src/request-client/modules/sse.test.ts create mode 100644 packages/effects/request/src/request-client/modules/sse.ts create mode 100644 packages/effects/request/src/request-client/modules/uploader.test.ts create mode 100644 packages/effects/request/src/request-client/modules/uploader.ts create mode 100644 packages/effects/request/src/request-client/preset-interceptors.ts create mode 100644 packages/effects/request/src/request-client/request-client.test.ts create mode 100644 packages/effects/request/src/request-client/request-client.ts create mode 100644 packages/effects/request/src/request-client/types.ts create mode 100644 packages/effects/request/tsconfig.json create mode 100644 packages/icons/README.md create mode 100644 packages/icons/package.json create mode 100644 packages/icons/src/iconify/index.ts create mode 100644 packages/icons/src/icons/empty-icon.vue create mode 100644 packages/icons/src/index.ts create mode 100644 packages/icons/src/svg/icons/account.svg create mode 100644 packages/icons/src/svg/icons/antdv-logo.svg create mode 100644 packages/icons/src/svg/icons/api.svg create mode 100644 packages/icons/src/svg/icons/avatar-1.svg create mode 100644 packages/icons/src/svg/icons/avatar-2.svg create mode 100644 packages/icons/src/svg/icons/avatar-3.svg create mode 100644 packages/icons/src/svg/icons/avatar-4.svg create mode 100644 packages/icons/src/svg/icons/bell.svg create mode 100644 packages/icons/src/svg/icons/cake.svg create mode 100644 packages/icons/src/svg/icons/card.svg create mode 100644 packages/icons/src/svg/icons/data-center.svg create mode 100644 packages/icons/src/svg/icons/department.svg create mode 100644 packages/icons/src/svg/icons/dingding.svg create mode 100644 packages/icons/src/svg/icons/download.svg create mode 100644 packages/icons/src/svg/icons/github.svg create mode 100644 packages/icons/src/svg/icons/google.svg create mode 100644 packages/icons/src/svg/icons/knowledge.svg create mode 100644 packages/icons/src/svg/icons/llm.svg create mode 100644 packages/icons/src/svg/icons/log.svg create mode 100644 packages/icons/src/svg/icons/mcp.svg create mode 100644 packages/icons/src/svg/icons/menu.svg create mode 100644 packages/icons/src/svg/icons/oauth.svg create mode 100644 packages/icons/src/svg/icons/plugin.svg create mode 100644 packages/icons/src/svg/icons/position.svg create mode 100644 packages/icons/src/svg/icons/qqchat.svg create mode 100644 packages/icons/src/svg/icons/resolved.svg create mode 100644 packages/icons/src/svg/icons/resource.svg create mode 100644 packages/icons/src/svg/icons/role.svg create mode 100644 packages/icons/src/svg/icons/setting.svg create mode 100644 packages/icons/src/svg/icons/talk.svg create mode 100644 packages/icons/src/svg/icons/tdesign-logo.svg create mode 100644 packages/icons/src/svg/icons/time.svg create mode 100644 packages/icons/src/svg/icons/user-feedback.svg create mode 100644 packages/icons/src/svg/icons/wechat.svg create mode 100644 packages/icons/src/svg/icons/workflow.svg create mode 100644 packages/icons/src/svg/index.ts create mode 100644 packages/icons/src/svg/load.ts create mode 100644 packages/icons/tsconfig.json create mode 100644 packages/locales/package.json create mode 100644 packages/locales/src/i18n.ts create mode 100644 packages/locales/src/index.ts create mode 100644 packages/locales/src/langs/en-US/authentication.json create mode 100644 packages/locales/src/langs/en-US/common.json create mode 100644 packages/locales/src/langs/en-US/preferences.json create mode 100644 packages/locales/src/langs/en-US/ui.json create mode 100644 packages/locales/src/langs/zh-CN/authentication.json create mode 100644 packages/locales/src/langs/zh-CN/common.json create mode 100644 packages/locales/src/langs/zh-CN/preferences.json create mode 100644 packages/locales/src/langs/zh-CN/ui.json create mode 100644 packages/locales/src/typing.ts create mode 100644 packages/locales/tsconfig.json create mode 100644 packages/preferences/package.json create mode 100644 packages/preferences/src/index.ts create mode 100644 packages/preferences/tsconfig.json create mode 100644 packages/stores/package.json create mode 100644 packages/stores/shim-pinia.d.ts create mode 100644 packages/stores/src/index.ts create mode 100644 packages/stores/src/modules/access.test.ts create mode 100644 packages/stores/src/modules/access.ts create mode 100644 packages/stores/src/modules/bot.ts create mode 100644 packages/stores/src/modules/index.ts create mode 100644 packages/stores/src/modules/tabbar.test.ts create mode 100644 packages/stores/src/modules/tabbar.ts create mode 100644 packages/stores/src/modules/timezone.ts create mode 100644 packages/stores/src/modules/user.test.ts create mode 100644 packages/stores/src/modules/user.ts create mode 100644 packages/stores/src/setup.ts create mode 100644 packages/stores/tsconfig.json create mode 100644 packages/styles/README.md create mode 100644 packages/styles/package.json create mode 100644 packages/styles/src/antd/index.css create mode 100644 packages/styles/src/ele/index.css create mode 100644 packages/styles/src/global/index.scss create mode 100644 packages/styles/src/index.ts create mode 100644 packages/styles/src/naive/index.css create mode 100644 packages/styles/tsconfig.json create mode 100644 packages/types/README.md create mode 100644 packages/types/global.d.ts create mode 100644 packages/types/package.json create mode 100644 packages/types/src/api.ts create mode 100644 packages/types/src/bot.ts create mode 100644 packages/types/src/index.ts create mode 100644 packages/types/src/user.ts create mode 100644 packages/types/tsconfig.json create mode 100644 packages/utils/README.md create mode 100644 packages/utils/package.json create mode 100644 packages/utils/src/helpers/__tests__/find-menu-by-path.test.ts create mode 100644 packages/utils/src/helpers/__tests__/generate-menus.test.ts create mode 100644 packages/utils/src/helpers/__tests__/generate-routes-frontend.test.ts create mode 100644 packages/utils/src/helpers/__tests__/merge-route-modules.test.ts create mode 100644 packages/utils/src/helpers/find-menu-by-path.ts create mode 100644 packages/utils/src/helpers/generate-menus.ts create mode 100644 packages/utils/src/helpers/generate-routes-backend.ts create mode 100644 packages/utils/src/helpers/generate-routes-frontend.ts create mode 100644 packages/utils/src/helpers/get-popup-container.ts create mode 100644 packages/utils/src/helpers/index.ts create mode 100644 packages/utils/src/helpers/merge-route-modules.ts create mode 100644 packages/utils/src/helpers/reset-routes.ts create mode 100644 packages/utils/src/helpers/unmount-global-loading.ts create mode 100644 packages/utils/src/helpers/uuid.ts create mode 100644 packages/utils/src/index.ts create mode 100644 packages/utils/tsconfig.json create mode 100644 pnpm-lock.yaml create mode 100644 pnpm-workspace.yaml create mode 100644 readme.md create mode 100644 scripts/clean.mjs create mode 100644 scripts/deploy/Dockerfile create mode 100644 scripts/deploy/build-local-docker-image.sh create mode 100644 scripts/deploy/nginx.conf create mode 100644 scripts/turbo-run/README.md create mode 100644 scripts/turbo-run/bin/turbo-run.mjs create mode 100644 scripts/turbo-run/build.config.ts create mode 100644 scripts/turbo-run/package.json create mode 100644 scripts/turbo-run/src/index.ts create mode 100644 scripts/turbo-run/src/run.ts create mode 100644 scripts/turbo-run/tsconfig.json create mode 100644 scripts/vsh/README.md create mode 100644 scripts/vsh/bin/vsh.mjs create mode 100644 scripts/vsh/build.config.ts create mode 100644 scripts/vsh/package.json create mode 100644 scripts/vsh/src/check-circular/index.ts create mode 100644 scripts/vsh/src/check-dep/index.ts create mode 100644 scripts/vsh/src/code-workspace/index.ts create mode 100644 scripts/vsh/src/index.ts create mode 100644 scripts/vsh/src/lint/index.ts create mode 100644 scripts/vsh/src/publint/index.ts create mode 100644 scripts/vsh/tsconfig.json create mode 100644 stylelint.config.mjs create mode 100644 tea.yaml create mode 100644 turbo.json create mode 100644 vitest.config.ts create mode 100644 vitest.workspace.ts diff --git a/.browserslistrc b/.browserslistrc new file mode 100644 index 0000000..dc3bc09 --- /dev/null +++ b/.browserslistrc @@ -0,0 +1,4 @@ +> 1% +last 2 versions +not dead +not ie 11 diff --git a/.changeset/README.md b/.changeset/README.md new file mode 100644 index 0000000..5654e89 --- /dev/null +++ b/.changeset/README.md @@ -0,0 +1,5 @@ +# Changesets + +Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works with multi-package repos, or single-package repos to help you version and publish your code. You can find the full documentation for it [in our repository](https://github.com/changesets/changesets) + +We have a quick list of common questions to get you started engaging with this project in [our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md) diff --git a/.changeset/config.json b/.changeset/config.json new file mode 100644 index 0000000..737e5d8 --- /dev/null +++ b/.changeset/config.json @@ -0,0 +1,18 @@ +{ + "$schema": "https://unpkg.com/@changesets/config@3.0.0/schema.json", + "changelog": [ + "@changesets/changelog-github", + { "repo": "aiflowy/aiflowy" } + ], + "commit": false, + "fixed": [["@aiflowy-core/*", "@aiflowy/*"]], + "snapshot": { + "prereleaseTemplate": "{tag}-{datetime}" + }, + "privatePackages": { "version": true, "tag": true }, + "linked": [], + "access": "public", + "baseBranch": "main", + "updateInternalDependencies": "patch", + "ignore": [] +} diff --git a/.commitlintrc.js b/.commitlintrc.js new file mode 100644 index 0000000..e45361c --- /dev/null +++ b/.commitlintrc.js @@ -0,0 +1 @@ +export { default } from '@aiflowy/commitlint-config'; diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..52b833a --- /dev/null +++ b/.dockerignore @@ -0,0 +1,7 @@ +node_modules +.git +.gitignore +*.md +dist +.turbo +dist.zip diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..179aec6 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,18 @@ +root = true + +[*] +charset=utf-8 +end_of_line=lf +insert_final_newline=true +indent_style=space +indent_size=2 +max_line_length = 100 +trim_trailing_whitespace = true +quote_type = single + +[*.{yml,yaml,json}] +indent_style = space +indent_size = 2 + +[*.md] +trim_trailing_whitespace = false diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..d4e5bd3 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,11 @@ +# https://docs.github.com/cn/get-started/getting-started-with-git/configuring-git-to-handle-line-endings + +# Automatically normalize line endings (to LF) for all text-based files. +* text=auto eol=lf + +# Declare files that will always have CRLF line endings on checkout. +*.{cmd,[cC][mM][dD]} text eol=crlf +*.{bat,[bB][aA][tT]} text eol=crlf + +# Denote all files that are truly binary and should not be modified. +*.{ico,png,jpg,jpeg,gif,webp,svg,woff,woff2} binary \ No newline at end of file diff --git a/.gitconfig b/.gitconfig new file mode 100644 index 0000000..4b28a69 --- /dev/null +++ b/.gitconfig @@ -0,0 +1,2 @@ +[core] + ignorecase = false diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3399f39 --- /dev/null +++ b/.gitignore @@ -0,0 +1,52 @@ +node_modules +.DS_Store +dist +dist-ssr +dist.zip +dist.tar +dist.war +.nitro +.output +*-dist.zip +*-dist.tar +*-dist.war +coverage +*.local +**/.vitepress/cache +.cache +.turbo +.temp +dev-dist +.stylelintcache +yarn.lock +package-lock.json +.VSCodeCounter +**/backend-mock/data + +# local env files +.env.local +.env.*.local +.eslintcache + +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* +vite.config.mts.* +vite.config.mjs.* +vite.config.js.* +vite.config.ts.* + +# Editor directories and files +.idea +# .vscode +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? +.history +.cursor diff --git a/.gitpod.yml b/.gitpod.yml new file mode 100644 index 0000000..5fda2cf --- /dev/null +++ b/.gitpod.yml @@ -0,0 +1,6 @@ +ports: + - port: 5555 + onOpen: open-preview +tasks: + - init: npm i -g corepack && pnpm install + command: pnpm run dev:play diff --git a/.node-version b/.node-version new file mode 100644 index 0000000..ee5c244 --- /dev/null +++ b/.node-version @@ -0,0 +1 @@ +22.1.0 diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000..aeac1ae --- /dev/null +++ b/.npmrc @@ -0,0 +1,13 @@ +registry=https://registry.npmmirror.com +public-hoist-pattern[]=lefthook +public-hoist-pattern[]=eslint +public-hoist-pattern[]=prettier +public-hoist-pattern[]=prettier-plugin-tailwindcss +public-hoist-pattern[]=stylelint +public-hoist-pattern[]=*postcss* +public-hoist-pattern[]=@commitlint/* +public-hoist-pattern[]=czg + +strict-peer-dependencies=false +auto-install-peers=true +dedupe-peer-dependents=true diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..d0b0ca1 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,18 @@ +dist +dev-dist +.local +.output.js +node_modules +.nvmrc +coverage +CODEOWNERS +.nitro +.output + + +**/*.svg +**/*.sh + +public +.npmrc +*-lock.yaml diff --git a/.prettierrc.mjs b/.prettierrc.mjs new file mode 100644 index 0000000..c7740a9 --- /dev/null +++ b/.prettierrc.mjs @@ -0,0 +1 @@ +export { default } from '@aiflowy/prettier-config'; diff --git a/.stylelintignore b/.stylelintignore new file mode 100644 index 0000000..f4b2db2 --- /dev/null +++ b/.stylelintignore @@ -0,0 +1,4 @@ +dist +public +__tests__ +coverage diff --git a/aiflowy.code-workspace b/aiflowy.code-workspace new file mode 100644 index 0000000..53fc07b --- /dev/null +++ b/aiflowy.code-workspace @@ -0,0 +1,152 @@ +{ + "folders": [ + { + "name": "@aiflowy/app", + "path": "app", + }, + { + "name": "@aiflowy/commitlint-config", + "path": "internal/lint-configs/commitlint-config", + }, + { + "name": "@aiflowy/eslint-config", + "path": "internal/lint-configs/eslint-config", + }, + { + "name": "@aiflowy/prettier-config", + "path": "internal/lint-configs/prettier-config", + }, + { + "name": "@aiflowy/stylelint-config", + "path": "internal/lint-configs/stylelint-config", + }, + { + "name": "@aiflowy/node-utils", + "path": "internal/node-utils", + }, + { + "name": "@aiflowy/tailwind-config", + "path": "internal/tailwind-config", + }, + { + "name": "@aiflowy/tsconfig", + "path": "internal/tsconfig", + }, + { + "name": "@aiflowy/vite-config", + "path": "internal/vite-config", + }, + { + "name": "@aiflowy-core/design", + "path": "packages/@core/base/design", + }, + { + "name": "@aiflowy-core/icons", + "path": "packages/@core/base/icons", + }, + { + "name": "@aiflowy-core/shared", + "path": "packages/@core/base/shared", + }, + { + "name": "@aiflowy-core/typings", + "path": "packages/@core/base/typings", + }, + { + "name": "@aiflowy-core/composables", + "path": "packages/@core/composables", + }, + { + "name": "@aiflowy-core/preferences", + "path": "packages/@core/preferences", + }, + { + "name": "@aiflowy-core/form-ui", + "path": "packages/@core/ui-kit/form-ui", + }, + { + "name": "@aiflowy-core/layout-ui", + "path": "packages/@core/ui-kit/layout-ui", + }, + { + "name": "@aiflowy-core/menu-ui", + "path": "packages/@core/ui-kit/menu-ui", + }, + { + "name": "@aiflowy-core/popup-ui", + "path": "packages/@core/ui-kit/popup-ui", + }, + { + "name": "@aiflowy-core/shadcn-ui", + "path": "packages/@core/ui-kit/shadcn-ui", + }, + { + "name": "@aiflowy-core/tabs-ui", + "path": "packages/@core/ui-kit/tabs-ui", + }, + { + "name": "@aiflowy/constants", + "path": "packages/constants", + }, + { + "name": "@aiflowy/access", + "path": "packages/effects/access", + }, + { + "name": "@aiflowy/common-ui", + "path": "packages/effects/common-ui", + }, + { + "name": "@aiflowy/hooks", + "path": "packages/effects/hooks", + }, + { + "name": "@aiflowy/layouts", + "path": "packages/effects/layouts", + }, + { + "name": "@aiflowy/plugins", + "path": "packages/effects/plugins", + }, + { + "name": "@aiflowy/request", + "path": "packages/effects/request", + }, + { + "name": "@aiflowy/icons", + "path": "packages/icons", + }, + { + "name": "@aiflowy/locales", + "path": "packages/locales", + }, + { + "name": "@aiflowy/preferences", + "path": "packages/preferences", + }, + { + "name": "@aiflowy/stores", + "path": "packages/stores", + }, + { + "name": "@aiflowy/styles", + "path": "packages/styles", + }, + { + "name": "@aiflowy/types", + "path": "packages/types", + }, + { + "name": "@aiflowy/utils", + "path": "packages/utils", + }, + { + "name": "@aiflowy/turbo-run", + "path": "scripts/turbo-run", + }, + { + "name": "@aiflowy/vsh", + "path": "scripts/vsh", + }, + ], +} diff --git a/app/.env b/app/.env new file mode 100644 index 0000000..cf6fcbd --- /dev/null +++ b/app/.env @@ -0,0 +1,8 @@ +# 应用标题 +VITE_APP_TITLE=AIFlowy + +# 应用命名空间,用于缓存、store等功能的前缀,确保隔离 +VITE_APP_NAMESPACE=aiflowy-web + +# 对store进行加密的密钥,在将store持久化到localStorage时会使用该密钥进行加密 +VITE_APP_STORE_SECURE_KEY=please-replace-me-with-your-own-key diff --git a/app/.env.analyze b/app/.env.analyze new file mode 100644 index 0000000..ffafa8d --- /dev/null +++ b/app/.env.analyze @@ -0,0 +1,7 @@ +# public path +VITE_BASE=/ + +# Basic interface address SPA +VITE_GLOB_API_URL=/api + +VITE_VISUALIZER=true diff --git a/app/.env.development b/app/.env.development new file mode 100644 index 0000000..92e0426 --- /dev/null +++ b/app/.env.development @@ -0,0 +1,13 @@ +# 端口号 +VITE_PORT=5090 + +VITE_BASE=/ + +# 接口地址 +VITE_GLOB_API_URL=http://127.0.0.1:8080 + +# 是否打开 devtools,true 为打开,false 为关闭 +VITE_DEVTOOLS=false + +# 是否注入全局loading +VITE_INJECT_APP_LOADING=true diff --git a/app/.env.production b/app/.env.production new file mode 100644 index 0000000..2fc1855 --- /dev/null +++ b/app/.env.production @@ -0,0 +1,26 @@ +VITE_BASE=/ + +# 接口地址 +VITE_GLOB_API_URL=/ + +# 是否开启压缩,可以设置为 none, brotli, gzip +VITE_COMPRESS=none + +# 是否开启 PWA +VITE_PWA=false + +# vue-router 的模式 +VITE_ROUTER_HISTORY=hash + +# 是否注入全局loading +VITE_INJECT_APP_LOADING=true + +# 打包后是否生成dist.zip +VITE_ARCHIVER=true + + + + + + + diff --git a/app/index.html b/app/index.html new file mode 100644 index 0000000..239dace --- /dev/null +++ b/app/index.html @@ -0,0 +1,32 @@ + + + + + + + + + + + <%= VITE_APP_TITLE %> + + + + +
+ + + + + diff --git a/app/package.json b/app/package.json new file mode 100644 index 0000000..eba0a8d --- /dev/null +++ b/app/package.json @@ -0,0 +1,59 @@ +{ + "name": "@aiflowy/app", + "version": "1.0.0", + "homepage": "https://aiflowy.tech", + "bugs": "https://github.com/aiflowy/aiflowy/issues", + "repository": { + "type": "git", + "url": "git+https://github.com/aiflowy/aiflowy.git", + "directory": "app" + }, + "type": "module", + "scripts": { + "build": "pnpm vite build --mode production", + "build:analyze": "pnpm vite build --mode analyze", + "dev": "pnpm vite --mode development", + "preview": "vite preview", + "typecheck": "vue-tsc --noEmit --skipLibCheck" + }, + "imports": { + "#/*": "./src/*" + }, + "dependencies": { + "@aiflowy-core/shadcn-ui": "workspace:*", + "@aiflowy/access": "workspace:*", + "@aiflowy/common-ui": "workspace:*", + "@aiflowy/constants": "workspace:*", + "@aiflowy/hooks": "workspace:*", + "@aiflowy/icons": "workspace:*", + "@aiflowy/layouts": "workspace:*", + "@aiflowy/locales": "workspace:*", + "@aiflowy/plugins": "workspace:*", + "@aiflowy/preferences": "workspace:*", + "@aiflowy/request": "workspace:*", + "@aiflowy/stores": "workspace:*", + "@aiflowy/styles": "workspace:*", + "@aiflowy/types": "workspace:*", + "@aiflowy/utils": "workspace:*", + "@element-plus/icons-vue": "^2.3.2", + "@tinyflow-ai/vue": "^1.1.10", + "@vueuse/core": "catalog:", + "dayjs": "catalog:", + "dompurify": "^3.3.1", + "element-plus": "catalog:", + "fetch-event-stream": "^0.1.6", + "highlight.js": "^11.11.1", + "markdown-it": "^14.1.0", + "pinia": "catalog:", + "radash": "^12.1.1", + "vue": "catalog:", + "vue-cropper": "^1.1.4", + "vue-element-plus-x": "^1.3.7", + "vue-router": "catalog:", + "vue3-json-viewer": "^2.4.1" + }, + "devDependencies": { + "cssnano": "catalog:", + "unplugin-element-plus": "catalog:" + } +} diff --git a/app/postcss.config.mjs b/app/postcss.config.mjs new file mode 100644 index 0000000..b5ceb95 --- /dev/null +++ b/app/postcss.config.mjs @@ -0,0 +1 @@ +export { default } from '@aiflowy/tailwind-config/postcss'; diff --git a/app/public/empty-dark.png b/app/public/empty-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..d1537a427eecf83131c3f6ded0cff9fc489f825d GIT binary patch literal 51245 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 CyLUAJ literal 0 HcmV?d00001 diff --git a/app/public/empty.png b/app/public/empty.png new file mode 100644 index 0000000000000000000000000000000000000000..41429c1fc171c7c002920073e71b271702f4a58d GIT binary patch literal 44215 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 literal 0 HcmV?d00001 diff --git a/app/public/favicon.png b/app/public/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..c03e09348fe40ad4706201eb9906f6932ed537d6 GIT binary patch literal 45486 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 DRUkuy literal 0 HcmV?d00001 diff --git a/app/public/favicon.svg b/app/public/favicon.svg new file mode 100644 index 0000000..e4e6ccd --- /dev/null +++ b/app/public/favicon.svg @@ -0,0 +1,11 @@ + + + 编组备份 + + + + + + + + diff --git a/app/public/load.min.js b/app/public/load.min.js new file mode 100644 index 0000000..f482e16 --- /dev/null +++ b/app/public/load.min.js @@ -0,0 +1 @@ +const Math=window.Math,head=document.getElementsByTagName("head")[0],TIMEOUT=1e4,TAC_LOADING_DIV='
请稍等...
';function showLoading(e){var t=document.querySelector(e);t&&(t.innerHTML=TAC_LOADING_DIV)}function hideLoading(e){let t=document.querySelector(e);t&&(t.innerHTML="")}function loadCaptchaScript(e,t,n,r,o){const i=e.scriptUrls,c=e.cssUrls,l=e.timeout||TIMEOUT;let s=i.length+c.length;function d(e,i){if(s--,e&&0===s){if(hideLoading(t.bindEl),!window.TAC)throw new Error("TAC未加载,请检查地址是否正确");r(new TAC(t,n))}else e||(hideLoading(t.bindEl),o(i))}setTimeout(()=>{0!==s&&showLoading(t.bindEl)},10),i.forEach(function(e){loadResource("string"==typeof e?{url:e}:e,d,"script",l)}),c.forEach(function(e){loadResource("string"==typeof e?{url:e}:e,d,"link",l)})}function loadResource(e,t,n="script",r){if(document.querySelector(`${n}[${"script"===n?"src":"href"}="${e.url}"]`))return void t(!0,e);let o=!1;const i=document.createElement(n);"link"===n?i.rel="stylesheet":i.async=!0,i["script"===n?"src":"href"]=e.url;let c;i.onload=i.onreadystatechange=(()=>{o||i.readyState&&"loaded"!==i.readyState&&"complete"!==i.readyState||function t(n){e.checkOnReady?c=setTimeout(()=>{e.checkOnReady()?n():t(n)},10):n()}(()=>{o=!0,setTimeout(()=>t(o,e),0)})}),i.onerror=(()=>{t(o=!1,e)}),head.appendChild(i),setTimeout(()=>{o||(c&&clearTimeout(c),i.onload=i.onerror=null,i.remove&&i.remove(),t(o,e))},r||TIMEOUT)}function loadTAC(e,t,n){return new Promise((r,o)=>{let i={..."string"==typeof e?{url:e}:e};i.url&&(i.url.endsWith("/")||(i.url+="/"),i.scriptUrls||(i.scriptUrls=[i.url+"js/tac.min.js"]),i.cssUrls||(i.cssUrls=[i.url+"css/tac.css"])),i.scriptUrls&&i.cssUrls?loadCaptchaScript(i,t,n,r,o):o("请按照文档配置tac")})}setTimeout(()=>{let e=document.scripts,t=null;for(let n=0;n1||e[n].src.indexOf("load.min.js")>1){t=e[n].src.substring(e[n].src.indexOf("/"),e[n].src.lastIndexOf("/"));break}},100),window.loadCaptchaScript=loadCaptchaScript,window.loadTAC=loadTAC,window.initTAC=loadTAC; diff --git a/app/public/logo.svg b/app/public/logo.svg new file mode 100644 index 0000000..d65df8b --- /dev/null +++ b/app/public/logo.svg @@ -0,0 +1,22 @@ + + + 编组备份 2 + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/public/logoDark.svg b/app/public/logoDark.svg new file mode 100644 index 0000000..1a97672 --- /dev/null +++ b/app/public/logoDark.svg @@ -0,0 +1,22 @@ + + + 编组备份 2 + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/public/logoMini.svg b/app/public/logoMini.svg new file mode 100644 index 0000000..dbc45c8 --- /dev/null +++ b/app/public/logoMini.svg @@ -0,0 +1,11 @@ + + + 编组 13备份 + + + + + + + + \ No newline at end of file diff --git a/app/public/slogan.png b/app/public/slogan.png new file mode 100644 index 0000000000000000000000000000000000000000..029391e5c8e10767ddfe471f1974b6acca8ada13 GIT binary patch literal 1011410 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≦6X^dH^Bdl~sM;C#?h`GMA$!}t{%n=SouZRX(U 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 D3h#-(#O_bO;K1SUCR+4!B>0XlQ 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

1fkyzT=xlxK8BZ^_|y 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

ka`I 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

JHTox}Q;w^ffm}(plQ_UTB8V=Yn85 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%0A`4~fqiAZrq9 z`F(bW`u8FloVZj=bKKPDbwocekx6&(xjSH?)J2ss;RNc21ecHfp;U=bUG_k;V5G^0 zdc6-AYapJ&FR>aT#93MtW==rrbWjdCL5k+M#19wgmmfYS)nSP-SoS1H z2t1I34_sIFws_7#;w{334!DR5wEhHId5}Xkc-J{CB9=TQe!2V+H()pZKzg&@puros z^D`tIp3=>Pe^gqKLs-ZNxnGAr;sy+v0j*0FMuyx*9ZM~Z>HkvTiL?N5!_t>R(p>{1 zyqz3x6#uBSwERj$^VSDDFkERX^859hP$k#J0H0PRSraQ;)?c$$ee#BFM198N!GlLN zxVNBTyKtRtsWUQD+}#@d=giJ<2ep-_1_4>^sTHMK6?Ac-&iG_6n_hG4jn{hzkLCJJ z%ShkmpR++9dEh=7Sr;()qcb4SRxj)P(YqGkr1O&R!6=4!^UF|Dvtsze9lM%8`~J6e zKJY~I$hYp5!TWHvU)#qoU$$7QAAJIvR&8C-io-Xmb*psd?4ErZNL}W0aX;9xQ``P7 zlkxmabBlCOEZX3A{|}ycu-YRd>du{ewT1JB=C0dstWSJ-R$Kb&yQUS7oa@X(i_NCVt z(64X5^TY2xtbul|Ak_-- z39Z`wo4@}#WnOK4>;at{e6f1s+YiYYxKdm4O=?BjaaM}D%o&5wQ7YONc4f0(TTtJz zZ3}5@e){yY9+3Xdqu=8B*lEC7w0T+;x2k^ijSreTx80yEU{_Q-d%GJMn(MdT`>&nKG%6ZU+7z`fog5l%g5K>7#{iAv!|LD{oXMbS~^8-?|&)fL6fnudZ0ST!xZmtaQ}bvd3A; zR_)T6sQ=X;J%M9g*+`U5pIBGH!up9gP z7gx)JF$Z7%ePt0X7$-mE81lO~rPa-6)b^XNHrpqk?$&C^i!y>9)lNW1Y*=JFY#p1^ zT)+9+>Xz#_)iTUBuf6%M3|9*(CUIOLL%{ZX@6y)!^JN%bR%yqB>Se9gcH>EVPN|LA z+<)(_GMucaZoO%%Rf!BMWh7Y~d63~uE9aknQQK`#vYNfR_x4+wMKVJD^r>Gpn>St~3Q^%m&J(PSL&&Y|;ay`ofg)~y#lBl?l( ztm2ckj)L%+?K!{B4_p5qIdPOWv$jZ2#(jko*4CFfGKsIg>PppJt%6s&hq#uXw0xq; zE5Fov)7NU-_II_zg{pV+{qH_fJtx``z5n0U7PU7t26= zu-ftIuIAeh-d}ILE*Z{b_^$7l5nC&VS$SXW+P%AZ`uSID?c|`HQT7qP`p#q9wR6Ec zGM-ZZ;! z*SBu2c2l|ASQ9ZeA~A z)k5Cq+Wq9QYUdYwnwMXHUy}nq@kEDrHG$-PUH9I#tvaC{Ri1tRwVLgq@454~`unOo z>|ntTDbK$2X7i-ZZr78j*JzT_9WtCQ*W@Z41EKS-&(_=Td!XU_^@ArKViH?*SVtak z9=lvTJ0PxoKFQnC3hw|qV}72u9Bl(Cn#(9l8itp˅{zgOyrkWuNKNq(|ggO;DO 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 UeICUjXC})9HI}o*!NVuY#~!|4VsbY4RC)5u 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

$EjXkUmqLpaDDLjA!QCB#yC!%b5Lll7 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�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

#Itm^C-wh<|V1|FoaVQt6$H0|E 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 +0PtsiTX=V`p!w<+j+Z9sa%%H8OqM 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 literal 0 HcmV?d00001 diff --git a/app/public/tac/css/tac.css b/app/public/tac/css/tac.css new file mode 100644 index 0000000..9a842f7 --- /dev/null +++ b/app/public/tac/css/tac.css @@ -0,0 +1,7 @@ +#tianai-captcha-parent{box-shadow:0 0 11px 0 #999;width:318px;height:318px;overflow:hidden;position:relative;z-index:997;box-sizing:border-box;border-radius:5px;padding:8px}#tianai-captcha-parent #tianai-captcha-box{height:260px;width:100%;position:relative;overflow:hidden}#tianai-captcha-parent #tianai-captcha-box .loading{width:120px;height:20px;-webkit-mask:linear-gradient(90deg, #000 70%, rgba(0, 0, 0, 0) 0) 0/20%;background:linear-gradient(#f7b645 0 0) 0/0% no-repeat rgba(221,221,221,.4196078431);animation:cartoon 1s infinite steps(6);margin:120px auto}@keyframes cartoon{100%{background-size:120%}}#tianai-captcha-parent #tianai-captcha-box #tianai-captcha{transform-style:preserve-3d;will-change:transform;transition-duration:.45s;transform:translateX(-300px)}#tianai-captcha-parent #tianai-captcha-bg-img{background-color:#fff;background-position:top;background-size:cover;z-index:-1;width:100%;height:100%;top:0;left:0;position:absolute;border-radius:6px}#tianai-captcha-parent .slider-bottom{height:19px;width:100%}#tianai-captcha-parent .slider-bottom .close-btn{width:20px;height:20px;background-image:url(../images/icon.png);background-repeat:no-repeat;background-position:0 -14px;float:right;margin-right:2px;cursor:pointer}#tianai-captcha-parent .slider-bottom .refresh-btn{width:20px;height:20px;background-image:url(../images/icon.png);background-position:0 -167px;background-repeat:no-repeat;float:right;margin-right:10px;cursor:pointer}#tianai-captcha-parent .slider-bottom .logo{height:30px;float:left}#tianai-captcha-parent .slider-move-shadow{animation:myanimation 2s infinite;height:100%;width:5px;background-color:#fff;position:absolute;top:0;left:0;filter:opacity(0.5);box-shadow:1px 1px 1px #fff;border-radius:50%}#tianai-captcha-parent #tianai-captcha-slider-move-track-mask{border-width:1px;border-style:solid;border-color:#00f4ab;width:0;height:32px;background-color:#a9ffe5;opacity:.5;position:absolute;top:-1px;left:-1px;border-radius:5px} +#tianai-captcha{text-align:left;box-sizing:content-box;width:300px;height:260px;z-index:999}#tianai-captcha .slider-bottom .logo{height:30px}#tianai-captcha .slider-bottom{height:19px;width:100%}#tianai-captcha .content .tianai-captcha-tips{height:25px;width:100%;position:absolute;bottom:-25px;left:0;z-index:999;font-size:15px;line-height:25px;color:#fff;text-align:center;transition:bottom .3s ease-in-out}#tianai-captcha .content .tianai-captcha-tips.tianai-captcha-tips-error{background-color:#ff5d39}#tianai-captcha .content .tianai-captcha-tips.tianai-captcha-tips-success{background-color:#39c522}#tianai-captcha .content .tianai-captcha-tips.tianai-captcha-tips-on{bottom:0}#tianai-captcha .content #tianai-captcha-loading{z-index:9999;background-color:#f5f5f5;text-align:center;height:100%;overflow:hidden;position:relative;display:flex;justify-content:center;align-items:center}#tianai-captcha .content #tianai-captcha-loading img{display:block;width:45px;height:45px}#tianai-captcha #tianai-captcha-slider-bg-canvas{position:absolute;left:0;top:0;width:100%;height:100%;border-radius:5px}#tianai-captcha #tianai-captcha-slider-bg-div{position:absolute;left:0;top:0;width:100%;height:100%;border-radius:5px}#tianai-captcha #tianai-captcha-slider-bg-div .tianai-captcha-slider-bg-div-slice{position:absolute}@keyframes myanimation{from{left:0}to{left:289px}} +#tianai-captcha.tianai-captcha-slider{z-index:999;position:absolute;left:0;top:0;user-select:none}#tianai-captcha.tianai-captcha-slider .content{width:100%;height:180px;position:relative;overflow:hidden}#tianai-captcha.tianai-captcha-slider .bg-img-div{width:100%;height:100%;position:absolute;transform:translate(0px, 0px)}#tianai-captcha.tianai-captcha-slider .bg-img-div img{height:100%;width:100%;border-radius:5px}#tianai-captcha.tianai-captcha-slider .slider-img-div{height:100%;position:absolute;left:0;transform:translate(0px, 0px)}#tianai-captcha.tianai-captcha-slider .slider-img-div #tianai-captcha-slider-move-img{height:100%}#tianai-captcha.tianai-captcha-slider .slider-move{height:34px;width:100%;margin:11px 0;position:relative}#tianai-captcha.tianai-captcha-slider .slider-move-track{position:relative;height:32px;line-height:32px;text-align:center;background:#f5f5f5;color:#999;transition:0s;font-size:14px;box-sizing:content-box;border:1px solid #f5f5f5;border-radius:4px}#tianai-captcha.tianai-captcha-slider .refresh-btn,#tianai-captcha.tianai-captcha-slider .close-btn{display:inline-block}#tianai-captcha.tianai-captcha-slider .slider-move{line-height:38px;font-size:14px;text-align:center;white-space:nowrap;color:#88949d;-moz-user-select:none;-webkit-user-select:none;user-select:none;filter:opacity(0.8)}#tianai-captcha.tianai-captcha-slider .slider-move .slider-move-btn{transform:translate(0px, 0px);position:absolute;top:-6px;left:0;width:63px;height:45px;background-color:#fff;background-repeat:no-repeat;background-size:contain;border-radius:5px}#tianai-captcha.tianai-captcha-slider .slider-tip{margin-bottom:5px;font-weight:bold;font-size:15px;line-height:normal;color:#000}#tianai-captcha.tianai-captcha-slider .slider-move-btn:hover{cursor:pointer} +#tianai-captcha.tianai-captcha-rotate .rotate-img-div{height:100%;text-align:center}#tianai-captcha.tianai-captcha-rotate .rotate-img-div img{height:100%;transform:rotate(0deg);display:inline-block} +#tianai-captcha.tianai-captcha-concat .tianai-captcha-slider-concat-img-div{background-size:100% 180px;position:absolute;transform:translate(0px, 0px);z-index:1;width:100%}#tianai-captcha.tianai-captcha-concat .tianai-captcha-slider-concat-bg-img{width:100%;height:100%;position:absolute;transform:translate(0px, 0px);background-size:100% 180px} +#tianai-captcha.tianai-captcha-disable{z-index:999;position:absolute;left:0;top:0}#tianai-captcha.tianai-captcha-disable .content{width:100%;height:180px;position:relative;overflow:hidden}#tianai-captcha.tianai-captcha-disable .content .bg-img-div{background-image:url(../images/dun.jpeg);width:100%;height:100%;overflow:hidden}#tianai-captcha.tianai-captcha-disable .content .bg-img-div #content-span{color:#fff;overflow:hidden;margin-top:132px;display:block;text-align:center} +#tianai-captcha.tianai-captcha-word-click{box-sizing:border-box}#tianai-captcha.tianai-captcha-word-click .click-tip{position:relative;height:40px;width:100%}#tianai-captcha.tianai-captcha-word-click .click-tip .tip-img{height:35px;position:absolute;right:15px}#tianai-captcha.tianai-captcha-word-click .click-tip #tianai-captcha-click-track-font{font-size:18px;display:inline-block;height:40px;line-height:40px;position:absolute}#tianai-captcha.tianai-captcha-word-click .slider-bottom{position:relative;top:6px}#tianai-captcha.tianai-captcha-word-click .content #bg-img-click-mask{width:100%;height:100%;position:absolute;left:0;top:0}#tianai-captcha.tianai-captcha-word-click .content #bg-img-click-mask .click-span{position:absolute;left:0;top:0;border-radius:50px;background-color:#409eff;width:20px;height:20px;text-align:center;line-height:20px;color:#fff;border:2px solid #fff;box-sizing:content-box}#tianai-captcha.tianai-captcha-word-click .click-confirm-btn{width:100%;height:35px;border-radius:4px;background-image:linear-gradient(173deg, hsl(38.09, 91%, 57.89%) 0%, hsl(38.09, 89.38%, 71.74%) 100%);font-size:15px;text-align:center;box-sizing:border-box;line-height:35px;color:#fff;margin-top:3px}#tianai-captcha.tianai-captcha-word-click .click-confirm-btn:hover{cursor:pointer} diff --git a/app/public/tac/images/dun.jpeg b/app/public/tac/images/dun.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..347a371cb4cbf05b15bc0546d520675bb2418819 GIT binary patch literal 8340 zcmbVxWmp``w)RYLhX4sK!66VVxCVD837$Z(!F|vG2@qrmF2QYJu;30McyI;@g9Z0N z2MdG`_CDv_eed)Ax%aK=s<&!&tzJ)8Jzdpn-Tu7&1t3;cR8a%~fe!#IcL{Ji2ap4x zJ-EkxiFOBcO!RwTV`5@p;$Y+A;$Y+8;NlbE2t8>-}Hi_8Wi%8&C^;iUuSBJRkw0kpOSI0kn6f0)QBI#eV>N zfQF8NiG_`GCzd1z+&%cgUj}2KVcgvV1l)^BFdt$u^68L1k$r?%u5vuC z7)VFcq+ytv0#oRl8R7I(GBlfUvi#R5k*ksiCX!mxp4j|;iNq;{;EfO`$uZN#E$X&0 z4W!KC8o~dekR^G5*LZbum8Ta}1V`y+Kdp(I!srF(5og0NwKR*-GrY7JUD;W6aH3Hg zg`By6t%3h40O+UaIeDT)+E|k%#_G`)o-V)H6;tErE6;W1NSA@hDEa;fK4jPs;p|oJ z*PE(SnQwbvg!;PA^a{3)Boh>4NoNIZ|4r=V3uu-F?d0>f^5ve$Zs0Pi1{0EnKU2V# z|7+q%88{|9tXO0CjwBPe#U!+>#`C++G^p-Lk;dXdze~O{oR9QIhTcHJYU09j>K2ff z8X*WI-c2~y_?D+AeE2mmlJyO~slb&L=RP}~3d=x^U3`GHIt@y%D)5KUhlN=Ay#&!y zSv_0Ltcb)#@xU#+Fx(bRev8~*buy8GkZ?*~?NwG>8mrE|a7wF*jZ<7f$U`ToT)|Hj zDQOp2D2nT(AF;#UYacj~a(Ll{S{c|<>^{V?j z5vTdhb3I=THr=p6D@Q3C@~mO@!*IoQ@qATgv>dd(e8o_v-@h1(Sk_K{)M^b)IG_F~ zhc@+DA2`9nDe7uqb=GYs!EOeRIo15s84q`PI2HC6L!wp zE4xZFxhElyNH8r=%Zgx9+Y@qjvD^nL?FT3UsaoX>@dL=E;@n)yetbe`l`^LzoU~TuUvX1Z&ITXP||Vtde2Erbs>m^Ch zh922cxZ`vN2{gC8dch(=cEV`iB~p2#aYvb2(!KL!l*yRw$)*j#sS}n-8CNo^u(%eq zfoufFoRfZ8*Z35pv-?+lte*TV@Qg6!7Em}&D-Y7UdIBn*3!b47pQfS;tM2idc+ za3Un9`}3m)b5DMpLuY=Z_Eb4eU~B%6_SgJboy!a$LqZqOyshxFU%aPX0JK!�MuV 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 N3?*}KN6_u;{{tW|-Jbve literal 0 HcmV?d00001 diff --git a/app/public/tac/images/icon.png b/app/public/tac/images/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..586a123e00915dd6a143d4d74f134c5faa4a9831 GIT binary patch literal 3100 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"use strict";var t,e,a={783:(t,e,a)=>{var i=a(618),n=Object.create(null),r="undefined"==typeof document,s=Array.prototype.forEach;function c(){}function o(t,e){if(!e){if(!t.href)return;e=t.href.split("?")[0]}if(l(e)&&!1!==t.isLoaded&&e&&e.indexOf(".css")>-1){t.visited=!0;var a=t.cloneNode();a.isLoaded=!1,a.addEventListener("load",(function(){a.isLoaded||(a.isLoaded=!0,t.parentNode.removeChild(t))})),a.addEventListener("error",(function(){a.isLoaded||(a.isLoaded=!0,t.parentNode.removeChild(t))})),a.href="".concat(e,"?").concat(Date.now()),t.nextSibling?t.parentNode.insertBefore(a,t.nextSibling):t.parentNode.appendChild(a)}}function d(t){if(!t)return!1;var e=document.querySelectorAll("link"),a=!1;return s.call(e,(function(e){if(e.href){var n=function(t,e){var a;return t=i(t),e.some((function(i){t.indexOf(e)>-1&&(a=i)})),a}(e.href,t);l(n)&&!0!==e.visited&&n&&(o(e,n),a=!0)}})),a}function h(){var t=document.querySelectorAll("link");s.call(t,(function(t){!0!==t.visited&&o(t)}))}function l(t){return!!/^[a-zA-Z][a-zA-Z\d+\-.]*:/.test(t)}t.exports=function(t,e){if(r)return c;var a,s,o,l=function(t){var e=n[t];if(!e){if(document.currentScript)e=document.currentScript.src;else{var a=document.getElementsByTagName("script"),r=a[a.length-1];r&&(e=r.src)}n[t]=e}return function(t){if(!e)return null;var a=e.split(/([^\\/]+)\.js$/),n=a&&a[1];return n&&t?t.split(",").map((function(t){var a=new RegExp("".concat(n,"\\.js$"),"g");return i(e.replace(a,"".concat(t.replace(/{fileName}/g,n),".css")))})):[e.replace(".js",".css")]}}(t);return a=function(){var t=d(l(e.filename));e.locals?h():t||h()},s=50,o=0,function(){var t=this,e=arguments;clearTimeout(o),o=setTimeout((function(){return a.apply(t,e)}),s)}}},618:t=>{t.exports=function(t){if(t=t.trim(),/^data:/i.test(t))return t;var e=-1!==t.indexOf("//")?t.split("//")[0]+"//":"",a=t.replace(new RegExp(e,"i"),"").split("/"),i=a[0].toLowerCase().replace(/\.$/,"");return a[0]="",e+i+a.reduce((function(t,e){switch(e){case"..":t.pop();break;case".":break;default:t.push(e)}return t}),[]).join("/")}},488:(t,e,a)=>{var i=a(783)(t.id,{locals:!1});t.hot.dispose(i),t.hot.accept(void 0,i)},523:(t,e,a)=>{var i=a(783)(t.id,{locals:!1});t.hot.dispose(i),t.hot.accept(void 0,i)},991:(t,e,a)=>{var i=a(783)(t.id,{locals:!1});t.hot.dispose(i),t.hot.accept(void 0,i)},2:(t,e,a)=>{var i=a(783)(t.id,{locals:!1});t.hot.dispose(i),t.hot.accept(void 0,i)},492:(t,e,a)=>{var i=a(783)(t.id,{locals:!1});t.hot.dispose(i),t.hot.accept(void 0,i)},305:(t,e,a)=>{var i=a(783)(t.id,{locals:!1});t.hot.dispose(i),t.hot.accept(void 0,i)},444:(t,e,a)=>{var i=a(783)(t.id,{locals:!1});t.hot.dispose(i),t.hot.accept(void 0,i)},687:(t,e,a)=>{a(488),a(523),a(444);function i(t){t.preventDefault&&t.preventDefault()}function n(t){f(t).each((t=>{t.addEventListener("touchmove",i,{passive:!1}),t.addEventListener("mousemove",i,{passive:!1})}))}function r(t){if(null!==t.pageX&&void 0!==t.pageX)return{x:Math.round(t.pageX),y:Math.round(t.pageY)};let e;return t.changedTouches?e=t.changedTouches:t.targetTouches?e=t.targetTouches:t.originalEvent&&t.originalEvent.targetTouches&&(e=t.originalEvent.targetTouches),null!==e[0].pageX&&void 0!==e[0].pageX?{x:Math.round(e[0].pageX),y:Math.round(e[0].pageY)}:{x:Math.round(e[0].clientX),y:Math.round(e[0].clientY)}}function s(t,e){const a=r(e);let i=a.x,n=a.y;t.currentCaptchaData.startX=i,t.currentCaptchaData.startY=n;const s=t.currentCaptchaData.trackList;t.currentCaptchaData.startTime=new Date;const o=t.currentCaptchaData.startTime;s.push({x:a.x,y:a.y,type:"down",t:(new Date).getTime()-o.getTime()}),t.__m__=c.bind(null,t),t.__u__=d.bind(null,t),window.addEventListener("mousemove",t.__m__),window.addEventListener("mouseup",t.__u__),window.addEventListener("touchmove",t.__m__,!1),window.addEventListener("touchend",t.__u__,!1),t&&t.doDown&&t.doDown(e,t)}function c(t,e){e.touches&&e.touches.length>0&&(e=e.touches[0]);const a=r(e);let i=a.x,n=a.y;const s=t.currentCaptchaData.startX,c=t.currentCaptchaData.startY,o=t.currentCaptchaData.startTime,d=t.currentCaptchaData.end,h=(t.currentCaptchaData.bgImageWidth,t.currentCaptchaData.trackList);let l=i-s,p=n-c;const u={x:a.x,y:a.y,type:"move",t:(new Date).getTime()-o.getTime()};h.push(u),l<0?l=0:l>d&&(l=d),t.currentCaptchaData.moveX=l,t.currentCaptchaData.moveY=p,t.doMove&&t.doMove(e,t)}function o(t){t&&(t.__m__&&(window.removeEventListener("mousemove",t.__m__),window.removeEventListener("touchmove",t.__m__)),t.__u__&&(window.removeEventListener("mouseup",t.__u__),window.removeEventListener("touchend",t.__u__)))}function d(t,e){o(t);const a=r(e);t.currentCaptchaData.stopTime=new Date;const i=t.currentCaptchaData.startTime,n=t.currentCaptchaData.trackList,s={x:a.x,y:a.y,type:"up",t:(new Date).getTime()-i.getTime()};n.push(s),t.doUp&&t.doUp(e,t),t.endCallback(t.currentCaptchaData,t)}function h(t,e,a,i,n){const r={startTime:new Date,trackList:[],movePercent:0,clickCount:0,bgImageWidth:Math.round(t),bgImageHeight:Math.round(e),templateImageWidth:Math.round(a),templateImageHeight:Math.round(i),end:n};return r}function l(t,e){f(t).find("#tianai-captcha-tips").removeClass("tianai-captcha-tips-on"),e&&setTimeout(e,.35)}function p(t,e,a,i){const n=f(t).find("#tianai-captcha-tips");n.text(e),1===a?(n.removeClass("tianai-captcha-tips-error"),n.addClass("tianai-captcha-tips-success")):(n.removeClass("tianai-captcha-tips-success"),n.addClass("tianai-captcha-tips-error")),n.addClass("tianai-captcha-tips-on"),setTimeout(i,1e3)}class u{showTips(t,e,a){p(this.el,t,e,a)}closeTips(t,e){l(this.el,t)}}function f(t,e){return new m(t,e)}class m{constructor(t,e){if(e&&"object"==typeof e&&void 0!==e.nodeType)return this.dom=e,void(this.domStr=t);if(t instanceof m)this.dom=t.dom,this.domStr=t.domStr;else if("string"==typeof t)this.dom=document.querySelector(t),this.domStr=t;else{if("object"!=typeof document||void 0===document.nodeType)throw new Error("不支持的类型");this.dom=t,this.domStr=t.nodeName}}each(t){this.getTarget().querySelectorAll("*").forEach(t)}removeClass(t){let e=this.getTarget();if(e.classList)e.classList.remove(t);else{const a=e.className,i=new RegExp("(?:^|\\s)"+t+"(?!\\S)","g");e.className=a.replace(i,"")}return this}addClass(t){const e=this.getTarget();if(e.classList)e.classList.add(t);else{let a=e.className;-1===a.indexOf(t)&&(e.className=a+" "+t)}return this}find(t){const e=this.getTarget().querySelector(t);return e?new m(t,e):null}children(t){const e=this.getTarget().childNodes;for(let a=0;a\n

\n
\n
\n \n \n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n\n`}(this.styleConfig)),this.el=this.boxEl.find("#tianai-captcha"),this.loadStyle(),this.el.find("#tianai-captcha-slider-move-btn").mousedown(s.bind(null,this)),this.el.find("#tianai-captcha-slider-move-btn").touchstart(s.bind(null,this)),this.loadCaptchaForData(this,t),this.endCallback=e,a&&a(this),this}showTips(t,e,a){p(this.el,t,e,a)}closeTips(t){l(this.el,t)}destroy(){const t=this.boxEl.children("#tianai-captcha");t&&t.remove(),o()}doMove(){const t=this.currentCaptchaData.moveX;this.el.find("#tianai-captcha-slider-move-btn").css("transform","translate("+t+"px, 0px)"),this.el.find("#tianai-captcha-slider-img-div").css("transform","translate("+t+"px, 0px)"),this.el.find("#tianai-captcha-slider-move-track-mask").css("width",t+"px")}loadStyle(){let t="",e="#00f4ab",a="#a9ffe5";const i=this.styleConfig;i&&(t=i.btnUrl,a=i.moveTrackMaskBgColor,e=i.moveTrackMaskBorderColor),this.el.find(".slider-move .slider-move-btn").css("background-image","url("+t+")"),this.el.find("#tianai-captcha-slider-move-track-mask").css("border-color",e),this.el.find("#tianai-captcha-slider-move-track-mask").css("background-color",a)}loadCaptchaForData(t,e){const a=t.el.find("#tianai-captcha-slider-bg-img"),i=t.el.find("#tianai-captcha-slider-move-img");a.attr("src",e.data.backgroundImage),i.attr("src",e.data.templateImage),a.on("load",(()=>{t.currentCaptchaData=h(a.width(),a.height(),i.width(),i.height(),242),t.currentCaptchaData.currentCaptchaId=e.data.id}))}};a(305);const g=class extends u{constructor(t,e){super(),this.boxEl=t,this.styleConfig=e,this.type="ROTATE",this.currentCaptchaData={}}init(t,e,a){return this.destroy(),this.boxEl.append(function(t){return`\n
\n
\n ${t.i18n.rotate_title}\n
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n`}(this.styleConfig)),this.el=this.boxEl.find("#tianai-captcha"),this.loadStyle(),this.el.find("#tianai-captcha-slider-move-btn").mousedown(s.bind(null,this)),this.el.find("#tianai-captcha-slider-move-btn").touchstart(s.bind(null,this)),this.loadCaptchaForData(this,t),this.endCallback=e,a&&a(this),this}destroy(){const t=this.boxEl.children("#tianai-captcha");t&&t.remove(),o()}doMove(){const t=this.currentCaptchaData.moveX;this.el.find("#tianai-captcha-slider-move-btn").css("transform","translate("+t+"px, 0px)"),this.el.find("#tianai-captcha-slider-move-img").css("transform","rotate("+t/(this.currentCaptchaData.end/360)+"deg)"),this.el.find("#tianai-captcha-slider-move-track-mask").css("width",t+"px")}loadStyle(){let t="",e="#00f4ab",a="#a9ffe5";const i=this.styleConfig;i&&(t=i.btnUrl,a=i.moveTrackMaskBgColor,e=i.moveTrackMaskBorderColor),this.el.find(".slider-move .slider-move-btn").css("background-image","url("+t+")"),this.el.find("#tianai-captcha-slider-move-track-mask").css("border-color",e),this.el.find("#tianai-captcha-slider-move-track-mask").css("background-color",a)}loadCaptchaForData(t,e){const a=t.el.find("#tianai-captcha-slider-bg-img"),i=t.el.find("#tianai-captcha-slider-move-img");a.attr("src",e.data.backgroundImage),i.attr("src",e.data.templateImage),a.on("load",(()=>{t.currentCaptchaData=h(a.width(),a.height(),i.width(),i.height(),242),t.currentCaptchaData.currentCaptchaId=e.data.id}))}};a(991);const b=class extends u{constructor(t,e){super(),this.boxEl=f(t),this.styleConfig=e,this.type="CONCAT",this.currentCaptchaData={}}init(t,e,a){return this.destroy(),this.boxEl.append((this.styleConfig,'\n
\n
\n 拖动滑块完成拼图\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n ')),this.el=this.boxEl.find("#tianai-captcha"),this.loadStyle(),this.el.find("#tianai-captcha-slider-move-btn").mousedown(s.bind(null,this)),this.el.find("#tianai-captcha-slider-move-btn").touchstart(s.bind(null,this)),n(this.el),window.currentCaptcha=this,this.loadCaptchaForData(this,t),this.endCallback=e,a&&a(this),this}destroy(){o();const t=this.boxEl.children("#tianai-captcha");t&&t.remove()}doMove(){const t=this.currentCaptchaData.moveX;this.el.find("#tianai-captcha-slider-move-btn").css("transform","translate("+t+"px, 0px)"),this.el.find("#tianai-captcha-slider-concat-img-div").css("background-position-x",t+"px"),this.el.find("#tianai-captcha-slider-move-track-mask").css("width",t+"px")}loadStyle(){let t="",e="#00f4ab",a="#a9ffe5";const i=this.styleConfig;i&&(t=i.btnUrl,a=i.moveTrackMaskBgColor,e=i.moveTrackMaskBorderColor),this.el.find(".slider-move .slider-move-btn").css("background-image","url("+t+")"),this.el.find("#tianai-captcha-slider-move-track-mask").css("border-color",e),this.el.find("#tianai-captcha-slider-move-track-mask").css("background-color",a)}loadCaptchaForData(t,e){const a=t.el.find(".tianai-captcha-slider-concat-bg-img"),i=t.el.find("#tianai-captcha-slider-concat-img-div");a.css("background-image","url("+e.data.backgroundImage+")"),i.css("background-image","url("+e.data.backgroundImage+")"),i.css("background-position","0px 0px");var n=e.data.backgroundImageHeight,r=(n-e.data.data.randomY)/n*180;i.css("height",r+"px"),t.currentCaptchaData=h(a.width(),a.height(),i.width(),i.height(),242),t.currentCaptchaData.currentCaptchaId=e.data.id}};a(2);const C=class{constructor(t,e){this.boxEl=t,this.styleConfig=e,this.type="DISABLE",this.currentCaptchaData={}}init(t,e,a){return this.destroy(),this.boxEl.append(function(t){return`\n
\n
\n ${t.i18n.disable_title}\n
\n
\n
\n\x3c!-- --\x3e\n\x3c!-- --\x3e\n\x3c!-- --\x3e\n\x3c!-- --\x3e\n \n
\n
\n
\n `}(this.styleConfig)),this.el=this.boxEl.find("#tianai-captcha"),this.loadCaptchaForData(this,t),this.endCallback=e,a&&a(this),this}destroy(){const t=this.boxEl.find("#tianai-captcha");t&&t.remove()}loadCaptchaForData(t,e){const a=e.msg||e.message||"接口异常";t.el.find("#content-span").text(a)}};a(492);const y=class extends u{constructor(t,e){super(),this.boxEl=t,this.styleConfig=e,this.type="IMAGE_CLICK",this.currentCaptchaData={}}init(t,e,a){this.destroy(),this.boxEl.append(function(t){return`\n
\n
\n ${t.i18n.image_click_title}\n \n
\n
\n
\n \n \n
\n
\n
\n
\n
确定
\n
\n`}(this.styleConfig)),this.el=this.boxEl.find("#tianai-captcha"),this.loadCaptchaForData(this,t),this.endCallback=e;const i=c.bind(null,this);return this.el.find("#bg-img-click-mask").click((t=>{if("click-span"===t.target.className)return;this.currentCaptchaData.clickCount++;const e=this.currentCaptchaData.trackList;1===this.currentCaptchaData.clickCount&&(this.currentCaptchaData.startTime=new Date,window.addEventListener("mousemove",i),this.currentCaptchaData.startX=t.offsetX,this.currentCaptchaData.startY=t.offsetY);const a=this.currentCaptchaData.startTime;e.push({x:Math.round(t.offsetX),y:Math.round(t.offsetY),type:"click",t:(new Date).getTime()-a.getTime()});const n=t.offsetX-10,r=t.offsetY-10;this.el.find("#bg-img-click-mask").append(""+this.currentCaptchaData.clickCount+"")})),this.el.find(".click-confirm-btn").click((()=>{this.currentCaptchaData.clickCount>0&&(this.currentCaptchaData.stopTime=new Date,window.removeEventListener("mousemove",i),this.endCallback(this.currentCaptchaData,this))})),a&&a(this),this}destroy(){const t=this.boxEl.children("#tianai-captcha");t&&t.remove(),o()}loadCaptchaForData(t,e){const a=t.el.find("#tianai-captcha-slider-bg-img"),i=t.el.find("#tianai-captcha-tip-img");a.on("load",(()=>{t.currentCaptchaData=h(a.width(),a.height(),i.width(),i.height()),t.currentCaptchaData.currentCaptchaId=e.data.id})),a.attr("src",e.data.backgroundImage),i.attr("src",e.data.templateImage)}};const w=class extends y{constructor(t,e){super(t,e),this.type="WORD_IMAGE_CLICK"}},k={btnUrl:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIwAAABkCAYAAABU19jRAAAJcUlEQVR4nO2d63MT1xmHf9rV6mr5fgNMuSW+ENsY8N0EE2BMhinJNB8y/dD2Qz/0v+gMf0w/JHTKNJAhICwbsA02TpNAHEMgQIwNBSEb8F2rvXTeY1kjYyA+TmVJmfeZ8YiRWa9299E57/mdI63Dtm3E+RjAKTDMaj4F8AU9uyzMCQBn+EQxb+EjAF+RMH8AcJrPFLMGvCSMzWeKWSN/I2GiAFx8xpi1oPBZYiTQWRhGChaGkYKFYaRgYRgpWBhGChaGkYKFYaRgYRgpWBhGChaGkYKFYaRgYRgpWBhGChaGkYKFYaRgYRgpWBhGChaGkYKFYaRgYRgpWBhGChaGkYKFYaRgYRgpWBhGCiefrtShGwZiup74+4qqwu12Z/W7lIVJEfN6FDfv3sPXfYOIRRfpm1UQKC7EkQ+PYFtRcdZKw8KkiLsPJ/CfgSFcH7yOxWhU7MSluYQoR44fxdaCoqyUhoVJEfZ8FN99c1N0Sx6PR+zEMAz0XAgBNtB14hi25OXDkWXHxUVvinA4ln6ScTqdsGwbvRd7EPwyiEcvXyDbvpyHhUkRaq4fe/c3wEWSWFZiJySNYZroCYYQPHsBY1OTWSWNevLkyb/TYwa8lt8UAb8ftluDW9UwPj4hDs0Rb3JUVRXd09j9nwELKKgoR4HXlw2Hb3INkyK8mob9NdUwLROq4sCVKwMrdqRpGkzTFN0TaWR2HcKu0rKMr2lYmBTi1jS01dUt7UBx4PKlfvHP5JaGuqseIY0DjmOHsKukNKOPiYVJMU5VRXt9PSwboO+fvHJ5QEiiKEvlIz3S86HuHiiqAhw9iJ0lpRnb0rAwG4CqKHh/Tz0UhwOWaWGg/5oofEkmJLU4wfPdQia765CQJhNHJCzMBkEtSVtdLRw2YNo2hgaGEDMMMWpahrwJBUMUCkM9djgjE2EWZgOhFqW5rlbMKdm2heHBYUT1mCiAEW9pKKfpPh8Sj5mYCLMwG4zLqWJfTZWQgL5S++uhYURjBrR4S0MtUSYnwixMGvBoGvZUV4quh0S4Pjgsaho1XtOIcM8wxJCb+qmu33dljDS/CWEeTb/E/Pw89EUdebkBVBQWrnnbWVjQoMAtsT9asGDQhf8VUbnX5UJ9VaVoZahVuXZ1cMXoiaSJxWIiEab/dPj4UXFczjRrk/VJ70/hp/jhuxF89o9TGP1+FH6fD9OxGHw5Pnicb34/PJ2dweitu7hwLojvb47A9rhQmJeXGLm8iQeP/4uRH27h88/+iZhhYs40UFZQsK7XrqkqigvyYbk18VrHH74+EX74YAzRqI66mupE15UmzKwW5kEkgtFvRxA8ex7hJ2HMzczgzu0f8fjxExRt2YzcgB9udfUJjuo6Tv/7HE6f+pe4GHd//AkwLRhuDeXFRW+U5v7EI4yMjKI3GMLt0Tt4cO8BAoEcWJoTZYXrl6asqBC6U0GOy42HY+MrZi1JmoWFRZQW5sNyuVBeUpxOabJ7aiASjiB4/iKmnj+H5loaacwvLOL2jRF4AjnY8dc/I/DKbTdoSHvr8SO8DD/DzPSMWHrg1JwYvHZdpK2NVZWU26/aF3VDTyLP0N/bh4mJR3C7XZiZnRVdht/nx7u7tsOzzg5qORFWHAocigO9vX2Jronwej24cXMEbq8XrfW169rH/4usnq02o1FEo9FEE47luN22sTAzC0OPrd7ItnHn9h0MDg3D6/WKbZdHJqYRg26ar92XDgvD39zA2Ng4VKdTbEf7mpmeRX/fAPRfeRch+luNNTXICeSu+h3ti7okUzdgp3luO6uFUTUN9lLmnniOCkdKVnML8uB0r76rD72Di4qL4NI0IUnydpZlw/WmGsY00bRvDzZvKhfFKLAU9VOG8v7BdijW+i8kLX649yyMz0+fwVQksur3NILyejzw5efCoaT3kmW1MN68AMq2bBIXXtd18WMZBt6r242DBzvgda3uWhQ4xNzOkeNdohZYXFjA4vwCfD4/Sio2i9bjdeSoGirKylFYXirykehiFHpUR2FJCbZu+x1yXlMrrQWSZWwygv6Ll3DxXBCX+66u6I7o2DRFRWtbM1o62xNdb7rI7lGSqqBs+zZMTj4XLYY/x49t7+zABx8eReWO7ciLL41ctZmqoqRiE/x+P6amp5FbkI9jx7tw+GgncqmbesPuPAEfduzcgenZOTg0FaWby/GXP/0RdZXvrOvlkyzjzyfR81UIoQs9IpRJniqglszt0tDc1oS9bc2o37lTLMhKI2bW35HtRXQRs3MLmH/xUrzzVb8HJQUFyHX/crJCQ+JwOALFqaKspGjNRWtkbg5zc7PQXC5szl/f6Ig6MFqiSavuqHCmumuFLIYBt+ZEY0sTGtua0VBTJQK/NKPzLfzSQEKWL4NiiG5a1gpZzPhMdnNrE/a3N2NPVaUI+jIAnacGNhiShdbx9pzrFgunSA4tqeUQRbuqoLW9BQ0tjSINzhBZBCzMBvPzVAS950KiG6KWJVkWGnXRELrjQBtqG/eioTqzZAELs3FQy3Iv/BR9wUtiUtGOr+tNhoptGt1V7atD4+4aEehlGizMBnH/WRj9wcuiG7LjI7Vllm8d3nnoAKoaakXq+0tzWumChUkxdlyWge4rYt0uzRMpSck01SzUDR3s7MC7e2pFRqSmOZx7GyxMCrESLcsldAd7oCgrEx6xrldRRM1SvbceHfV1K0K7TISFSREx28L41KRIcGmdruOVz82KBFd1oqWjBe/tb0ArLd3McFnAwqSOiclJ9JwP4fLFXtEtJXdDywluU2uTGDpTgZupNcur8GerU8R0eBJDV6+LRVbJLYdIcF2aSHD3tzaL9b20zjdbYGFShB0z4HY6V9QtFNLRXFATxf2U4FZXZkLcLwULkyJoaUXMNMV6HbyS4O6jicQMS3DXCguTInJKC9HU0YoPOg8k1uy0t7eivnmfSHB9WSgLwZOPKcKwLcT0GL69cxe3b46KoK6+ZS92V2zNyAR3jfBsdaox6LPSpiVyf/rEo/rq11JlFzxbnWoomEMW5CtrhWsYRgoWhpGChWGkYGEYKVgYRgoWhpGChWGkYGEYKVgYRgoWhpGChWGkYGEYKVgYRgoWhpGChWGkYGEYKVgYRgoWhpGChWGkYGEYKVgYRgoWhpGChWGkYGEYKVgYRgr6qGx6b4/BZBXUwnzCl4xZI5844g3MCQBn+Kwxb+EjAGcdST3SxwBO8RljXsOnAL4AgP8BXnVIgIvemwsAAAAASUVORK5CYII=",moveTrackMaskBgColor:"#89d2ff",moveTrackMaskBorderColor:"#0298f8",i18n:{tips_success:"验证成功,耗时%s秒",tips_error:"验证失败,请重新尝试!",slider_title:"拖动滑块完成拼图",concat_title:"拖动滑块完成拼图",image_click_title:"请依次点击:",rotate_title:"拖动滑块完成拼图",slider_title_size:"15px",concat_title_size:"15px",image_click_title_size:"20px",rotate_title_size:"15px"}};class E{constructor(t){if(!t.bindEl)throw new Error("[TAC] 必须配置 [bindEl]用于将验证码绑定到该元素上");if(!t.requestCaptchaDataUrl)throw new Error("[TAC] 必须配置 [requestCaptchaDataUrl]请求验证码接口");if(!t.validCaptchaUrl)throw new Error("[TAC] 必须配置 [validCaptchaUrl]验证验证码接口");this.bindEl=t.bindEl,this.domBindEl=f(t.bindEl),this.requestCaptchaDataUrl=t.requestCaptchaDataUrl,this.validCaptchaUrl=t.validCaptchaUrl,t.validSuccess&&(this.validSuccess=t.validSuccess),t.validFail&&(this.validFail=t.validFail),t.requestHeaders?this.requestHeaders=t.requestHeaders:this.requestHeaders={},t.btnCloseFun&&(this.btnCloseFun=t.btnCloseFun),t.btnRefreshFun&&(this.btnRefreshFun=t.btnRefreshFun),this.requestChain=[],this.timeToTimestamp=t.timeToTimestamp||!0,this.insertRequestChain(0,{preRequest(t,e,a,i){if(this.timeToTimestamp&&e.data)for(let t in e.data)e.data[t]instanceof Date&&(e.data[t]=e.data[t].getTime());return!0}})}addRequestChain(t){this.requestChain.push(t)}insertRequestChain(t,e){this.requestChain.splice(t,0,e)}removeRequestChain(t){this.requestChain.splice(t,1)}requestCaptchaData(){const t={};t.headers=this.requestHeaders||{},t.data={},t.headers["Content-Type"]="application/json;charset=UTF-8",t.method="POST",t.url=this.requestCaptchaDataUrl,this._preRequest("requestCaptchaData",t);return this.doSendRequest(t).then((e=>(this._postRequest("requestCaptchaData",t,e),e)))}doSendRequest(t){if(t.headers)for(const e in t.headers)if(t.headers[e].indexOf("application/json")>-1){"string"!=typeof t.data&&(t.data=JSON.stringify(t.data));break}return(e=t,new Promise((function(t,a){var i=new XMLHttpRequest;if(i.open(e.method||"GET",e.url),e.headers)for(const t in e.headers)e.headers.hasOwnProperty(t)&&i.setRequestHeader(t,e.headers[t]);i.onreadystatechange=function(){if(i.readyState===XMLHttpRequest.DONE)if(i.status>=200&&i.status<=500){const e=i.getResponseHeader("Content-Type");e&&-1!==e.indexOf("application/json")?t(JSON.parse(i.responseText)):t(i.responseText)}else a(new Error("Request failed with status: "+i.status))},i.onerror=function(){a(new Error("Network Error"))},i.send(e.data)}))).then((t=>{try{return JSON.parse(t)}catch(e){return t}}));var e}_preRequest(t,e,a,i){for(let n=0;n(this._postRequest("validCaptcha",r,t,a,i),t))).then((t=>{if(200==t.code){const n=(e.stopTime-e.startTime)/1e3;a.showTips(`验证成功,耗时${n}秒`,1,(()=>this.validSuccess(t,a,i)))}else{let e="验证失败,请重新尝试!";t.code&&4001!=t.code&&(e="验证码被黑洞吸走了!"),a.showTips(e,0,(()=>this.validFail(t,a,i)))}})).catch((t=>{let e=a.styleConfig.i18n.tips_error;t.code&&200!=t.code&&(4001!=res.code&&(e=a.styleConfig.i18n.tips_4001),a.showTips(e,0,(()=>this.validFail(res,a,i))))}))}validSuccess(t,e,a){window.currentCaptchaRes=t,a.destroyWindow()}validFail(t,e,a){a.reloadCaptcha()}}window.TAC=class{constructor(t,e){this.config=function(t){return t instanceof E?t:new E(t)}(t),this.config.btnRefreshFun&&(this.btnRefreshFun=this.config.btnRefreshFun),this.config.btnCloseFun&&(this.btnCloseFun=this.config.btnCloseFun),this.style=function(t){let e={...k,...t};return e.i18n={...k.i18n,...t?.i18n},e}(e)}init(){return this.destroyWindow(),this.config.domBindEl.append('\n
\n
\n
\n
\n
\n \x3c!-- 底部 --\x3e\n
\n \n
\n
\n
\n
\n '),this.domTemplate=this.config.domBindEl.find("#tianai-captcha-parent"),n(this.domTemplate),this.loadStyle(),this.config.domBindEl.find("#tianai-captcha-slider-refresh-btn").click((t=>{this.btnRefreshFun(t,this)})),this.config.domBindEl.find("#tianai-captcha-slider-close-btn").click((t=>{this.btnCloseFun(t,this)})),this.reloadCaptcha(),this}btnRefreshFun(t,e){e.reloadCaptcha()}btnCloseFun(t,e){e.destroyWindow()}reloadCaptcha(){this.showLoading(),this.destroyCaptcha((()=>{this.createCaptcha()}))}showLoading(){this.config.domBindEl.find("#tianai-captcha-loading").css("display","block")}closeLoading(){this.config.domBindEl.find("#tianai-captcha-loading").css("display","none")}loadStyle(){const t=this.style.bgUrl,e=this.style.logoUrl;t&&this.config.domBindEl.find("#tianai-captcha-bg-img").css("background-image","url("+t+")"),e&&""!==e?this.config.domBindEl.find("#tianai-captcha-logo").attr("src",e):null===e&&this.config.domBindEl.find("#tianai-captcha-logo").css("display","none")}destroyWindow(){this.C&&(this.C.destroy(),this.C=void 0),this.domTemplate&&this.domTemplate.remove()}openCaptcha(){setTimeout((()=>{this.C.el.css("transform","translateX(0)")}),10)}createCaptcha(){this.config.requestCaptchaData().then((t=>{if(this.closeLoading(),!t.code)throw new Error("[TAC] 后台验证码接口数据错误!!!");let e=200===t.code?t.data?.type:"DISABLED";const a=function(t,e){const a=e.config.domBindEl.find("#tianai-captcha-box"),i=e.style;switch(t){case"SLIDER":return new v(a,i);case"ROTATE":return new g(a,i);case"CONCAT":return new b(a,i);case"WORD_IMAGE_CLICK":return new w(a,i);case"DISABLED":return new C(a,i);default:return null}}(e,this);if(null==a)throw new Error("[TAC] 未知的验证码类型["+e+"]");a.init(t,((t,e)=>{const a=e.currentCaptchaData,i={bgImageWidth:a.bgImageWidth,bgImageHeight:a.bgImageHeight,templateImageWidth:a.templateImageWidth,templateImageHeight:a.templateImageHeight,startTime:a.startTime.getTime(),stopTime:a.stopTime.getTime(),trackList:a.trackList};"ROTATE_DEGREE"!==e.type&&"ROTATE"!==e.type||(i.bgImageWidth=e.currentCaptchaData.end),a.data&&(i.data=a.data);const n=e.currentCaptchaData.currentCaptchaId;e.currentCaptchaData=void 0,this.config.validCaptcha(n,i,e,this)})),this.C=a,this.openCaptcha()}))}destroyCaptcha(t){this.C?(this.C.el.css("transform","translateX(300px)"),setTimeout((()=>{this.C.destroy(),t&&t()}),500)):t()}},window.CaptchaConfig=E}},i={};function n(t){var e=i[t];if(void 0!==e){if(void 0!==e.error)throw e.error;return e.exports}var r=i[t]={id:t,exports:{}};try{var s={id:t,module:r,factory:a[t],require:n};n.i.forEach((function(t){t(s)})),r=s.module,s.factory.call(r.exports,r,r.exports,s.require)}catch(t){throw r.error=t,t}return r.exports}n.m=a,n.c=i,n.i=[],n.hu=t=>t+"."+n.h()+".hot-update.js",n.miniCssF=t=>{},n.hmrF=()=>"main."+n.h()+".hot-update.json",n.h=()=>"7ca661d8917e051f770d",n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),t={},e="webpack-demo:",n.l=(a,i,r,s)=>{if(t[a])t[a].push(i);else{var c,o;if(void 0!==r)for(var d=document.getElementsByTagName("script"),h=0;h{c.onerror=c.onload=null,clearTimeout(u);var n=t[a];if(delete t[a],c.parentNode&&c.parentNode.removeChild(c),n&&n.forEach((t=>t(i))),e)return e(i)},u=setTimeout(p.bind(null,void 0,{type:"timeout",target:c}),12e4);c.onerror=p.bind(null,c.onerror),c.onload=p.bind(null,c.onload),o&&document.head.appendChild(c)}},(()=>{var t,e,a,i={},r=n.c,s=[],c=[],o="idle",d=0,h=[];function l(t){o=t;for(var e=[],a=0;a0)return l("abort").then((function(){throw n[0]}));var r=l("dispose");i.forEach((function(t){t.dispose&&t.dispose()}));var s,c=l("apply"),o=function(t){s||(s=t)},d=[];return i.forEach((function(t){if(t.apply){var e=t.apply(o);if(e)for(var a=0;a=0&&b._disposeHandlers.splice(e,1)},invalidate:function(){switch(this._selfInvalidated=!0,o){case"idle":e=[],Object.keys(n.hmrI).forEach((function(t){n.hmrI[t](m,e)})),l("ready");break;case"ready":Object.keys(n.hmrI).forEach((function(t){n.hmrI[t](m,e)}));break;case"prepare":case"check":case"dispose":case"apply":(a=a||[]).push(m)}},check:u,apply:f,status:function(t){if(!t)return o;c.push(t)},addStatusHandler:function(t){c.push(t)},removeStatusHandler:function(t){var e=c.indexOf(t);e>=0&&c.splice(e,1)},data:i[m]},t=void 0,b),C.parents=s,C.children=[],s=[],h.require=y})),n.hmrC={},n.hmrI={}})(),(()=>{var t;n.g.importScripts&&(t=n.g.location+"");var e=n.g.document;if(!t&&e&&(e.currentScript&&(t=e.currentScript.src),!t)){var a=e.getElementsByTagName("script");if(a.length)for(var i=a.length-1;i>-1&&!t;)t=a[i--].src}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),n.p=t+"../../"})(),(()=>{if("undefined"!=typeof document){var t=(t,e,a,i,n)=>{var r=document.createElement("link");r.rel="stylesheet",r.type="text/css";return r.onerror=r.onload=a=>{if(r.onerror=r.onload=null,"load"===a.type)i();else{var s=a&&("load"===a.type?"missing":a.type),c=a&&a.target&&a.target.href||e,o=new Error("Loading CSS chunk "+t+" failed.\n("+c+")");o.code="CSS_CHUNK_LOAD_FAILED",o.type=s,o.request=c,r.parentNode&&r.parentNode.removeChild(r),n(o)}},r.href=e,a?a.parentNode.insertBefore(r,a.nextSibling):document.head.appendChild(r),r},e=(t,e)=>{for(var a=document.getElementsByTagName("link"),i=0;i({dispose:()=>{for(var t=0;t{for(var t=0;t{h.push(r),s.forEach((r=>{var s=n.miniCssF(r),c=n.p+s,o=e(s,c);o&&d.push(new Promise(((e,n)=>{var s=t(r,c,o,(()=>{s.as="style",s.rel="preload",e()}),n);a.push(o),i.push(s)})))}))}}})(),(()=>{var t,e,a,i,r,s=n.hmrS_jsonp=n.hmrS_jsonp||{179:0},c={};function o(e,a){return t=a,new Promise(((t,a)=>{c[e]=t;var i=n.p+n.hu(e),r=new Error;n.l(i,(t=>{if(c[e]){c[e]=void 0;var i=t&&("load"===t.type?"missing":t.type),n=t&&t.target&&t.target.src;r.message="Loading hot update chunk "+e+" failed.\n("+i+": "+n+")",r.name="ChunkLoadError",r.type=i,r.request=n,a(r)}}))}))}function d(t){function c(t){for(var e=[t],a={},i=e.map((function(t){return{chain:[t],id:t}}));i.length>0;){var r=i.pop(),s=r.id,c=r.chain,d=n.c[s];if(d&&(!d.hot._selfAccepted||d.hot._selfInvalidated)){if(d.hot._selfDeclined)return{type:"self-declined",chain:c,moduleId:s};if(d.hot._main)return{type:"unaccepted",chain:c,moduleId:s};for(var h=0;h ")),f.type){case"self-declined":t.onDeclined&&t.onDeclined(f),t.ignoreDeclined||(v=new Error("Aborted because of self decline: "+f.moduleId+C));break;case"declined":t.onDeclined&&t.onDeclined(f),t.ignoreDeclined||(v=new Error("Aborted because of declined dependency: "+f.moduleId+" in "+f.parentId+C));break;case"unaccepted":t.onUnaccepted&&t.onUnaccepted(f),t.ignoreUnaccepted||(v=new Error("Aborted because "+u+" is not accepted"+C));break;case"accepted":t.onAccepted&&t.onAccepted(f),g=!0;break;case"disposed":t.onDisposed&&t.onDisposed(f),b=!0;break;default:throw new Error("Unexception type "+f.type)}if(v)return{error:v};if(g)for(u in l[u]=m,o(h,f.outdatedModules),f.outdatedDependencies)n.o(f.outdatedDependencies,u)&&(d[u]||(d[u]=[]),o(d[u],f.outdatedDependencies[u]));b&&(o(h,[f.moduleId]),l[u]=p)}a=void 0;for(var y,w=[],k=0;k0;){var r=a.pop(),c=n.c[r];if(c){var o={},l=c.hot._disposeHandlers;for(k=0;k=0&&p.parents.splice(t,1))}}}for(var u in d)if(n.o(d,u)&&(c=n.c[u]))for(y=d[u],k=0;k=0&&c.children.splice(t,1)},apply:function(e){for(var a in l)n.o(l,a)&&(n.m[a]=l[a]);for(var i=0;i{for(var o in i)n.o(i,o)&&(a[o]=i[o],t&&t.push(o));s&&r.push(s),c[e]&&(c[e](),c[e]=void 0)},n.hmrI.jsonp=function(t,e){a||(a={},r=[],i=[],e.push(d)),n.o(a,t)||(a[t]=n.m[t])},n.hmrC.jsonp=function(t,c,h,l,p,u){p.push(d),e={},i=c,a=h.reduce((function(t,e){return t[e]=!1,t}),{}),r=[],t.forEach((function(t){n.o(s,t)&&void 0!==s[t]?(l.push(o(t,u)),e[t]=!0):e[t]=!1})),n.f&&(n.f.jsonpHmr=function(t,a){e&&n.o(e,t)&&!e[t]&&(a.push(o(t)),e[t]=!0)})},n.hmrM=()=>{if("undefined"==typeof fetch)throw new Error("No browser support: need fetch API");return fetch(n.p+n.hmrF()).then((t=>{if(404!==t.status){if(!t.ok)throw new Error("Failed to fetch update manifest "+t.statusText);return t.json()}}))}})();n(687)})(); diff --git a/app/src/adapter/component/index.ts b/app/src/adapter/component/index.ts new file mode 100644 index 0000000..25d2fad --- /dev/null +++ b/app/src/adapter/component/index.ts @@ -0,0 +1,331 @@ +/** + * 通用组件共同的使用的基础组件,原先放在 adapter/form 内部,限制了使用范围,这里提取出来,方便其他地方使用 + * 可用于 aiflowy-form、aiflowy-modal、aiflowy-drawer 等组件使用, + */ + +import type { Component } from 'vue'; + +import type { BaseFormComponentType } from '@aiflowy/common-ui'; +import type { Recordable } from '@aiflowy/types'; + +import { defineAsyncComponent, defineComponent, h, ref } from 'vue'; + +import { ApiComponent, globalShareState, IconPicker } from '@aiflowy/common-ui'; +import { $t } from '@aiflowy/locales'; + +import { ElNotification } from 'element-plus'; + +const ElButton = defineAsyncComponent(() => + Promise.all([ + import('element-plus/es/components/button/index'), + import('element-plus/es/components/button/style/css'), + ]).then(([res]) => res.ElButton), +); +const ElCheckbox = defineAsyncComponent(() => + Promise.all([ + import('element-plus/es/components/checkbox/index'), + import('element-plus/es/components/checkbox/style/css'), + ]).then(([res]) => res.ElCheckbox), +); +const ElCheckboxButton = defineAsyncComponent(() => + Promise.all([ + import('element-plus/es/components/checkbox/index'), + import('element-plus/es/components/checkbox-button/style/css'), + ]).then(([res]) => res.ElCheckboxButton), +); +const ElCheckboxGroup = defineAsyncComponent(() => + Promise.all([ + import('element-plus/es/components/checkbox/index'), + import('element-plus/es/components/checkbox-group/style/css'), + ]).then(([res]) => res.ElCheckboxGroup), +); +const ElDatePicker = defineAsyncComponent(() => + Promise.all([ + import('element-plus/es/components/date-picker/index'), + import('element-plus/es/components/date-picker/style/css'), + ]).then(([res]) => res.ElDatePicker), +); +const ElDivider = defineAsyncComponent(() => + Promise.all([ + import('element-plus/es/components/divider/index'), + import('element-plus/es/components/divider/style/css'), + ]).then(([res]) => res.ElDivider), +); +const ElInput = defineAsyncComponent(() => + Promise.all([ + import('element-plus/es/components/input/index'), + import('element-plus/es/components/input/style/css'), + ]).then(([res]) => res.ElInput), +); +const ElInputNumber = defineAsyncComponent(() => + Promise.all([ + import('element-plus/es/components/input-number/index'), + import('element-plus/es/components/input-number/style/css'), + ]).then(([res]) => res.ElInputNumber), +); +const ElRadio = defineAsyncComponent(() => + Promise.all([ + import('element-plus/es/components/radio/index'), + import('element-plus/es/components/radio/style/css'), + ]).then(([res]) => res.ElRadio), +); +const ElRadioButton = defineAsyncComponent(() => + Promise.all([ + import('element-plus/es/components/radio/index'), + import('element-plus/es/components/radio-button/style/css'), + ]).then(([res]) => res.ElRadioButton), +); +const ElRadioGroup = defineAsyncComponent(() => + Promise.all([ + import('element-plus/es/components/radio/index'), + import('element-plus/es/components/radio-group/style/css'), + ]).then(([res]) => res.ElRadioGroup), +); +const ElSelectV2 = defineAsyncComponent(() => + Promise.all([ + import('element-plus/es/components/select-v2/index'), + import('element-plus/es/components/select-v2/style/css'), + ]).then(([res]) => res.ElSelectV2), +); +const ElSpace = defineAsyncComponent(() => + Promise.all([ + import('element-plus/es/components/space/index'), + import('element-plus/es/components/space/style/css'), + ]).then(([res]) => res.ElSpace), +); +const ElSwitch = defineAsyncComponent(() => + Promise.all([ + import('element-plus/es/components/switch/index'), + import('element-plus/es/components/switch/style/css'), + ]).then(([res]) => res.ElSwitch), +); +const ElTimePicker = defineAsyncComponent(() => + Promise.all([ + import('element-plus/es/components/time-picker/index'), + import('element-plus/es/components/time-picker/style/css'), + ]).then(([res]) => res.ElTimePicker), +); +const ElTreeSelect = defineAsyncComponent(() => + Promise.all([ + import('element-plus/es/components/tree-select/index'), + import('element-plus/es/components/tree-select/style/css'), + ]).then(([res]) => res.ElTreeSelect), +); +const ElUpload = defineAsyncComponent(() => + Promise.all([ + import('element-plus/es/components/upload/index'), + import('element-plus/es/components/upload/style/css'), + ]).then(([res]) => res.ElUpload), +); + +const withDefaultPlaceholder = ( + component: T, + type: 'input' | 'select', + componentProps: Recordable = {}, +) => { + return defineComponent({ + name: component.name, + inheritAttrs: false, + setup: (props: any, { attrs, expose, slots }) => { + const placeholder = + props?.placeholder || + attrs?.placeholder || + $t(`ui.placeholder.${type}`); + // 透传组件暴露的方法 + const innerRef = ref(); + expose( + new Proxy( + {}, + { + get: (_target, key) => innerRef.value?.[key], + has: (_target, key) => key in (innerRef.value || {}), + }, + ), + ); + return () => + h( + component, + { ...componentProps, placeholder, ...props, ...attrs, ref: innerRef }, + slots, + ); + }, + }); +}; + +// 这里需要自行根据业务组件库进行适配,需要用到的组件都需要在这里类型说明 +export type ComponentType = + | 'ApiSelect' + | 'ApiTreeSelect' + | 'Checkbox' + | 'CheckboxGroup' + | 'DatePicker' + | 'Divider' + | 'IconPicker' + | 'Input' + | 'InputNumber' + | 'RadioGroup' + | 'Select' + | 'Space' + | 'Switch' + | 'TimePicker' + | 'TreeSelect' + | 'Upload' + | BaseFormComponentType; + +async function initComponentAdapter() { + const components: Partial> = { + // 如果你的组件体积比较大,可以使用异步加载 + // Button: () => + // import('xxx').then((res) => res.Button), + ApiSelect: withDefaultPlaceholder( + { + ...ApiComponent, + name: 'ApiSelect', + }, + 'select', + { + component: ElSelectV2, + loadingSlot: 'loading', + visibleEvent: 'onVisibleChange', + }, + ), + ApiTreeSelect: withDefaultPlaceholder( + { + ...ApiComponent, + name: 'ApiTreeSelect', + }, + 'select', + { + component: ElTreeSelect, + props: { label: 'label', children: 'children' }, + nodeKey: 'value', + loadingSlot: 'loading', + optionsPropName: 'data', + visibleEvent: 'onVisibleChange', + }, + ), + Checkbox: ElCheckbox, + CheckboxGroup: (props, { attrs, slots }) => { + let defaultSlot; + if (Reflect.has(slots, 'default')) { + defaultSlot = slots.default; + } else { + const { options, isButton } = attrs; + if (Array.isArray(options)) { + defaultSlot = () => + options.map((option) => + h(isButton ? ElCheckboxButton : ElCheckbox, option), + ); + } + } + return h( + ElCheckboxGroup, + { ...props, ...attrs }, + { ...slots, default: defaultSlot }, + ); + }, + // 自定义默认按钮 + DefaultButton: (props, { attrs, slots }) => { + return h(ElButton, { ...props, attrs, type: 'info' }, slots); + }, + // 自定义主要按钮 + PrimaryButton: (props, { attrs, slots }) => { + return h(ElButton, { ...props, attrs, type: 'primary' }, slots); + }, + Divider: ElDivider, + IconPicker: withDefaultPlaceholder(IconPicker, 'select', { + iconSlot: 'append', + modelValueProp: 'model-value', + inputComponent: ElInput, + }), + Input: withDefaultPlaceholder(ElInput, 'input'), + InputNumber: withDefaultPlaceholder(ElInputNumber, 'input'), + RadioGroup: (props, { attrs, slots }) => { + let defaultSlot; + if (Reflect.has(slots, 'default')) { + defaultSlot = slots.default; + } else { + const { options } = attrs; + if (Array.isArray(options)) { + defaultSlot = () => + options.map((option) => + h(attrs.isButton ? ElRadioButton : ElRadio, option), + ); + } + } + return h( + ElRadioGroup, + { ...props, ...attrs }, + { ...slots, default: defaultSlot }, + ); + }, + Select: (props, { attrs, slots }) => { + return h(ElSelectV2, { ...props, attrs }, slots); + }, + Space: ElSpace, + Switch: ElSwitch, + TimePicker: (props, { attrs, slots }) => { + const { name, id, isRange } = props; + const extraProps: Recordable = {}; + if (isRange) { + if (name && !Array.isArray(name)) { + extraProps.name = [name, `${name}_end`]; + } + if (id && !Array.isArray(id)) { + extraProps.id = [id, `${id}_end`]; + } + } + return h( + ElTimePicker, + { + ...props, + ...attrs, + ...extraProps, + }, + slots, + ); + }, + DatePicker: (props, { attrs, slots }) => { + const { name, id, type } = props; + const extraProps: Recordable = {}; + if (type && type.includes('range')) { + if (name && !Array.isArray(name)) { + extraProps.name = [name, `${name}_end`]; + } + if (id && !Array.isArray(id)) { + extraProps.id = [id, `${id}_end`]; + } + } + return h( + ElDatePicker, + { + ...props, + ...attrs, + ...extraProps, + }, + slots, + ); + }, + TreeSelect: withDefaultPlaceholder(ElTreeSelect, 'select'), + Upload: ElUpload, + }; + + // 将组件注册到全局共享状态中 + globalShareState.setComponents(components); + + // 定义全局共享状态中的消息提示 + globalShareState.defineMessage({ + // 复制成功消息提示 + copyPreferencesSuccess: (title, content) => { + ElNotification({ + title, + message: content, + position: 'bottom-right', + duration: 0, + type: 'success', + }); + }, + }); +} + +export { initComponentAdapter }; diff --git a/app/src/adapter/form.ts b/app/src/adapter/form.ts new file mode 100644 index 0000000..9542f52 --- /dev/null +++ b/app/src/adapter/form.ts @@ -0,0 +1,41 @@ +import type { + AIFlowyFormSchema as FormSchema, + AIFlowyFormProps, +} from '@aiflowy/common-ui'; + +import type { ComponentType } from './component'; + +import { setupAIFlowyForm, useAIFlowyForm as useForm, z } from '@aiflowy/common-ui'; +import { $t } from '@aiflowy/locales'; + +async function initSetupAIFlowyForm() { + setupAIFlowyForm({ + config: { + modelPropNameMap: { + Upload: 'fileList', + CheckboxGroup: 'model-value', + }, + }, + defineRules: { + required: (value, _params, ctx) => { + if (value === undefined || value === null || value.length === 0) { + return $t('ui.formRules.required', [ctx.label]); + } + return true; + }, + selectRequired: (value, _params, ctx) => { + if (value === undefined || value === null) { + return $t('ui.formRules.selectRequired', [ctx.label]); + } + return true; + }, + }, + }); +} + +const useAIFlowyForm = useForm; + +export { initSetupAIFlowyForm, useAIFlowyForm, z }; + +export type AIFlowyFormSchema = FormSchema; +export type { AIFlowyFormProps }; diff --git a/app/src/adapter/vxe-table.ts b/app/src/adapter/vxe-table.ts new file mode 100644 index 0000000..9a96581 --- /dev/null +++ b/app/src/adapter/vxe-table.ts @@ -0,0 +1,70 @@ +import type { VxeTableGridOptions } from '@aiflowy/plugins/vxe-table'; + +import { h } from 'vue'; + +import { setupAIFlowyVxeTable, useAIFlowyVxeGrid } from '@aiflowy/plugins/vxe-table'; + +import { ElButton, ElImage } from 'element-plus'; + +import { useAIFlowyForm } from './form'; + +setupAIFlowyVxeTable({ + configVxeTable: (vxeUI) => { + vxeUI.setConfig({ + grid: { + align: 'center', + border: false, + columnConfig: { + resizable: true, + }, + minHeight: 180, + formConfig: { + // 全局禁用vxe-table的表单配置,使用formOptions + enabled: false, + }, + proxyConfig: { + autoLoad: true, + response: { + result: 'items', + total: 'total', + list: 'items', + }, + showActiveMsg: true, + showResponseMsg: false, + }, + round: true, + showOverflow: true, + size: 'small', + } as VxeTableGridOptions, + }); + + // 表格配置项可以用 cellRender: { name: 'CellImage' }, + vxeUI.renderer.add('CellImage', { + renderTableDefault(_renderOpts, params) { + const { column, row } = params; + const src = row[column.field]; + return h(ElImage, { src, previewSrcList: [src] }); + }, + }); + + // 表格配置项可以用 cellRender: { name: 'CellLink' }, + vxeUI.renderer.add('CellLink', { + renderTableDefault(renderOpts) { + const { props } = renderOpts; + return h( + ElButton, + { size: 'small', link: true }, + { default: () => props?.text }, + ); + }, + }); + + // 这里可以自行扩展 vxe-table 的全局配置,比如自定义格式化 + // vxeUI.formats.add + }, + useAIFlowyForm, +}); + +export { useAIFlowyVxeGrid }; + +export type * from '@aiflowy/plugins/vxe-table'; diff --git a/app/src/api/ai/bot.ts b/app/src/api/ai/bot.ts new file mode 100644 index 0000000..1f4e249 --- /dev/null +++ b/app/src/api/ai/bot.ts @@ -0,0 +1,138 @@ +import type { + AiLlm, + BotInfo, + ChatMessage, + RequestResult, + Session, +} from '@aiflowy/types'; + +import { api } from '#/api/request.js'; + +/** 获取bot详情 */ +export const getBotDetails = (id: string) => { + return api.get>('/api/v1/bot/getDetail', { + params: { id }, + }); +}; + +export interface GetSessionListParams { + botId: string; + tempUserId: string; +} +/** 获取bot对话列表 */ +export const getSessionList = (params: GetSessionListParams) => { + return api.get>( + '/api/v1/conversation/externalList', + { params }, + ); +}; + +export interface SaveBotParams { + icon: string; + title: string; + alias: string; + description: string; + categoryId: any; + status: number; +} +/** 创建Bot */ +export const saveBot = (params: SaveBotParams) => { + return api.post('/api/v1/bot/save', { ...params }); +}; + +export interface UpdateBotParams extends SaveBotParams { + id: string; +} +/** 修改Bot */ +export const updateBotApi = (params: UpdateBotParams) => { + return api.post('/api/v1/bot/update', { ...params }); +}; + +/** 删除Bot */ +export const removeBotFromId = (id: string) => { + return api.post('/api/v1/bot/update', { id }); +}; + +export interface GetMessageListParams { + conversationId: string; + botId: string; + tempUserId: string; +} +/** 获取单个对话的信息列表 */ +export const getMessageList = (params: GetMessageListParams) => { + return api.get>( + '/api/v1/botMessage/messageList', + { + params, + }, + ); +}; + +/** 更新Bot的LLM配置 */ +export interface UpdateLlmOptionsParams { + id: string; + llmOptions: { + [key: string]: any; + }; +} +export interface UpdateBotOptionsParams { + id: string; + options: { + [key: string]: any; + }; +} + +export const updateLlmOptions = (params: UpdateLlmOptionsParams) => { + return api.post('/api/v1/bot/updateLlmOptions', { + ...params, + }); +}; + +export const updateBotOptions = (params: UpdateBotOptionsParams) => { + return api.post('/api/v1/bot/updateOptions', { + ...params, + }); +}; + +/** 更新Bot的LLM配置 */ +export interface GetAiLlmListParams { + [key: string]: any; +} +export const getAiLlmList = (params: GetAiLlmListParams) => { + return api.get>('/api/v1/model/list', { + params, + }); +}; + +/** 更新modelId */ +export interface UpdateLlmIdParams { + id: string; + modelId: string; +} +export const updateLlmId = (params: UpdateLlmIdParams) => { + return api.post('/api/v1/bot/updateLlmId', { + ...params, + }); +}; + +export const doPostBotPluginTools = (botId: string) => { + return api.post>('/api/v1/pluginItem/tool/list', { + id: botId, + }); +}; + +export const getPerQuestions = (presetQuestions: any[]) => { + if (!presetQuestions) { + return []; + } + return presetQuestions + .filter((item: any) => { + return ( + typeof item.description === 'string' && item.description.trim() !== '' + ); + }) + .map((item: any) => ({ + key: item.key, + description: item.description, + })); +}; diff --git a/app/src/api/ai/index.ts b/app/src/api/ai/index.ts new file mode 100644 index 0000000..9db119a --- /dev/null +++ b/app/src/api/ai/index.ts @@ -0,0 +1,2 @@ +export * from './bot'; +export * from './llm'; diff --git a/app/src/api/ai/knowledge.ts b/app/src/api/ai/knowledge.ts new file mode 100644 index 0000000..e69de29 diff --git a/app/src/api/ai/llm.ts b/app/src/api/ai/llm.ts new file mode 100644 index 0000000..76cb2b3 --- /dev/null +++ b/app/src/api/ai/llm.ts @@ -0,0 +1,44 @@ +import { api } from '#/api/request.js'; + +// 获取LLM供应商 +export async function getLlmProviderList() { + return api.get('/api/v1/modelProvider/list'); +} + +// 保存LLM +export async function saveLlm(data: string) { + return api.post('/api/v1/model/save', data); +} + +// 删除LLM +export async function deleteLlm(data: any) { + return api.post(`/api/v1/model/remove`, data); +} + +// 修改LLM +export async function updateLlm(data: any) { + return api.post(`/api/v1/model/update`, data); +} + +// 一键添加LLM +export async function quickAddLlm(data: any) { + return api.post(`/api/v1/model/quickAdd`, data); +} + +export interface llmType { + id: string; + title: string; + modelProvider: { + icon: string; + providerName: string; + providerType: string; + }; + withUsed: boolean; + llmModel: string; + icon: string; + description: string; + modelType: string; + groupName: string; + added: boolean; + aiLlmProvider: any; +} diff --git a/app/src/api/common/file.ts b/app/src/api/common/file.ts new file mode 100644 index 0000000..525beb2 --- /dev/null +++ b/app/src/api/common/file.ts @@ -0,0 +1,27 @@ +/** + * 格式化文件大小(字节转 B/KB/MB/GB/TB) + * @param bytes - 文件大小(单位:字节 Byte) + * @param decimalPlaces - 保留小数位数(默认 2 位) + * @returns 格式化后的大小字符串(如:1.23 MB、456 B、7.8 GB) + */ +export function formatFileSize( + bytes: number, + decimalPlaces: number = 2, +): string { + // 处理特殊情况:bytes 为 0 或非数字 + if (Number.isNaN(bytes) || bytes < 0) return '0 B'; + if (bytes === 0) return '0 B'; + + // 单位数组(从 Byte 到 TB) + const units = ['B', 'KB', 'MB', 'GB', 'TB']; + // 计算合适的单位索引(1 KB = 1024 B,每次除以 1024 切换单位) + const unitIndex = Math.floor(Math.log(bytes) / Math.log(1024)); + // 计算对应单位的大小(保留指定小数位) + const formattedSize = (bytes / 1024 ** unitIndex).toFixed(decimalPlaces); + + // 移除末尾多余的 .00(如 2.00 MB → 2 MB,1.50 KB → 1.5 KB) + const sizeWithoutTrailingZeros = Number.parseFloat(formattedSize).toString(); + + // 返回格式化结果(单位与大小拼接) + return `${sizeWithoutTrailingZeros} ${units[unitIndex]}`; +} diff --git a/app/src/api/common/hasPermission.ts b/app/src/api/common/hasPermission.ts new file mode 100644 index 0000000..e1aa91b --- /dev/null +++ b/app/src/api/common/hasPermission.ts @@ -0,0 +1,9 @@ +import { useAccessStore } from '@aiflowy/stores'; + +export function hasPermission(codes: string[]) { + const accessStore = useAccessStore(); + const userCodesSet = new Set(accessStore.accessCodes); + + const intersection = codes.filter((item) => userCodesSet.has(item)); + return intersection.length > 0; +} diff --git a/app/src/api/core/auth.ts b/app/src/api/core/auth.ts new file mode 100644 index 0000000..d0e8700 --- /dev/null +++ b/app/src/api/core/auth.ts @@ -0,0 +1,52 @@ +import { baseRequestClient, requestClient } from '#/api/request'; + +export namespace AuthApi { + /** 登录接口参数 */ + export interface LoginParams { + password?: string; + username?: string; + } + + /** 登录接口返回值 */ + export interface LoginResult { + accessToken: string; + token: string; + } + + export interface RefreshTokenResult { + data: string; + status: number; + } +} + +/** + * 登录 + */ +export async function loginApi(data: AuthApi.LoginParams) { + return requestClient.post('/api/v1/auth/login', data); +} + +/** + * 刷新accessToken + */ +export async function refreshTokenApi() { + return baseRequestClient.post('/auth/refresh', { + withCredentials: true, + }); +} + +/** + * 退出登录 + */ +export async function logoutApi() { + return requestClient.post('/api/v1/auth/logout', { + withCredentials: true, + }); +} + +/** + * 获取用户权限码 + */ +export async function getAccessCodesApi() { + return requestClient.get('/api/v1/auth/getPermissions'); +} diff --git a/app/src/api/core/index.ts b/app/src/api/core/index.ts new file mode 100644 index 0000000..28a5aef --- /dev/null +++ b/app/src/api/core/index.ts @@ -0,0 +1,3 @@ +export * from './auth'; +export * from './menu'; +export * from './user'; diff --git a/app/src/api/core/menu.ts b/app/src/api/core/menu.ts new file mode 100644 index 0000000..42af3ac --- /dev/null +++ b/app/src/api/core/menu.ts @@ -0,0 +1,12 @@ +import type { RouteRecordStringComponent } from '@aiflowy/types'; + +import { requestClient } from '#/api/request'; + +/** + * 获取用户所有菜单 + */ +export async function getAllMenusApi() { + return requestClient.get( + '/api/v1/sysMenu/treeV2', + ); +} diff --git a/app/src/api/core/user.ts b/app/src/api/core/user.ts new file mode 100644 index 0000000..5fa2b14 --- /dev/null +++ b/app/src/api/core/user.ts @@ -0,0 +1,10 @@ +import type { UserInfo } from '@aiflowy/types'; + +import { requestClient } from '#/api/request'; + +/** + * 获取用户信息 + */ +export async function getUserInfoApi() { + return requestClient.get('/api/v1/sysAccount/myProfile'); +} diff --git a/app/src/api/index.ts b/app/src/api/index.ts new file mode 100644 index 0000000..3b785a2 --- /dev/null +++ b/app/src/api/index.ts @@ -0,0 +1,2 @@ +export * from './ai'; +export * from './core'; diff --git a/app/src/api/request.ts b/app/src/api/request.ts new file mode 100644 index 0000000..f62a542 --- /dev/null +++ b/app/src/api/request.ts @@ -0,0 +1,221 @@ +import type { ServerSentEventMessage } from 'fetch-event-stream'; + +/** + * 该文件可自行根据业务逻辑进行调整 + */ +import type { RequestClientOptions } from '@aiflowy/request'; + +import { useAppConfig } from '@aiflowy/hooks'; +import { preferences } from '@aiflowy/preferences'; +import { + authenticateResponseInterceptor, + defaultResponseInterceptor, + errorMessageResponseInterceptor, + RequestClient, +} from '@aiflowy/request'; +import { useAccessStore } from '@aiflowy/stores'; + +import { ElMessage } from 'element-plus'; +import { events } from 'fetch-event-stream'; + +import { useAuthStore } from '#/store'; + +import { refreshTokenApi } from './core'; + +const { apiURL } = useAppConfig(import.meta.env, import.meta.env.PROD); + +function createRequestClient(baseURL: string, options?: RequestClientOptions) { + const client = new RequestClient({ + ...options, + baseURL, + }); + + /** + * 重新认证逻辑 + */ + async function doReAuthenticate() { + console.warn('Access token or refresh token is invalid or expired. '); + const accessStore = useAccessStore(); + const authStore = useAuthStore(); + accessStore.setAccessToken(null); + if ( + preferences.app.loginExpiredMode === 'modal' && + accessStore.isAccessChecked + ) { + accessStore.setLoginExpired(true); + } else { + await authStore.logout(); + } + } + + /** + * 刷新token逻辑 + */ + async function doRefreshToken() { + const accessStore = useAccessStore(); + const resp = await refreshTokenApi(); + const newToken = resp.data; + accessStore.setAccessToken(newToken); + return newToken; + } + + function formatToken(token: null | string) { + return token ? `${token}` : null; + } + + // 请求头处理 + client.addRequestInterceptor({ + fulfilled: async (config) => { + const accessStore = useAccessStore(); + + config.headers['aiflowy-token'] = formatToken(accessStore.accessToken); + config.headers['Accept-Language'] = preferences.app.locale; + return config; + }, + }); + + // 处理返回的响应数据格式 + client.addResponseInterceptor( + defaultResponseInterceptor({ + codeField: 'errorCode', + dataField: 'data', + showErrorMessage: (message) => { + ElMessage.error(message); + }, + successCode: 0, + }), + ); + + // token过期的处理 + client.addResponseInterceptor( + authenticateResponseInterceptor({ + client, + doReAuthenticate, + doRefreshToken, + enableRefreshToken: preferences.app.enableRefreshToken, + formatToken, + }), + ); + + // 通用的错误处理,如果没有进入上面的错误处理逻辑,就会进入这里 + client.addResponseInterceptor( + errorMessageResponseInterceptor((msg: string, error) => { + // 这里可以根据业务进行定制,你可以拿到 error 内的信息进行定制化处理,根据不同的 code 做不同的提示,而不是直接使用 message.error 提示 msg + // 当前mock接口返回的错误字段是 error 或者 message + const responseData = error?.response?.data ?? {}; + const errorMessage = responseData?.error ?? responseData?.message ?? ''; + // 如果没有错误信息,则会根据状态码进行提示 + ElMessage.error(errorMessage || msg); + }), + ); + + return client; +} + +export const requestClient = createRequestClient(apiURL, { + responseReturn: 'data', +}); + +export const api = createRequestClient(apiURL, { + responseReturn: 'body', +}); + +export const baseRequestClient = new RequestClient({ baseURL: apiURL }); + +export interface SseOptions { + onMessage?: (message: ServerSentEventMessage) => void; + onError?: (err: any) => void; + onFinished?: () => void; +} +export class SseClient { + private controller: AbortController | null = null; + private currentRequestId = 0; + + abort(): void { + if (this.controller) { + this.controller.abort(); + this.controller = null; + } + } + + isActive(): boolean { + return this.controller !== null; + } + + async post(url: string, data?: any, options?: SseOptions): Promise { + // 生成唯一的请求ID + const requestId = ++this.currentRequestId; + const currentRequestId = requestId; + + // 如果已有请求,先取消 + this.abort(); + + // 创建新的控制器 + const controller = new AbortController(); + this.controller = controller; + + // 保存信号的引用到局部变量 + const signal = controller.signal; + + try { + const res = await fetch(apiURL + url, { + method: 'POST', + signal, // 使用局部变量 signal + headers: this.getHeaders(), + body: JSON.stringify(data), + }); + + if (!res.ok) { + const error = new Error(`HTTP ${res.status}: ${res.statusText}`); + options?.onError?.(error); + return; + } + + // 在开始事件流之前检查是否还是同一个请求 + if (this.currentRequestId !== currentRequestId) { + return; + } + + const msgEvents = events(res, signal); + + try { + for await (const event of msgEvents) { + // 每次迭代都检查是否还是同一个请求 + if (this.currentRequestId !== currentRequestId) { + break; + } + options?.onMessage?.(event); + } + } catch (innerError) { + options?.onError?.(innerError); + } + + // 只有在还是同一个请求的情况下才调用 onFinished + if (this.currentRequestId === currentRequestId) { + options?.onFinished?.(); + } + } catch (error) { + if (this.currentRequestId !== currentRequestId) { + return; + } + console.error('SSE错误:', error); + options?.onError?.(error); + } finally { + // 只有当还是当前请求时才清除 controller + if (this.currentRequestId === currentRequestId) { + this.controller = null; + } + } + } + + private getHeaders() { + const accessStore = useAccessStore(); + return { + Accept: 'text/event-stream', + 'Content-Type': 'application/json', + 'aiflowy-token': accessStore.accessToken || '', + }; + } +} + +export const sseClient = new SseClient(); diff --git a/app/src/app.vue b/app/src/app.vue new file mode 100644 index 0000000..db9459c --- /dev/null +++ b/app/src/app.vue @@ -0,0 +1,17 @@ + + + diff --git a/app/src/assets/ai/bot/defaultBotAvatar.png b/app/src/assets/ai/bot/defaultBotAvatar.png new file mode 100644 index 0000000000000000000000000000000000000000..817cc265b14469d30ac9d7e302522da8ddb06ade GIT binary patch literal 20748 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 Eg76_X_y7O^ literal 0 HcmV?d00001 diff --git a/app/src/assets/ai/knowledge/book.svg b/app/src/assets/ai/knowledge/book.svg new file mode 100644 index 0000000..840d42e --- /dev/null +++ b/app/src/assets/ai/knowledge/book.svg @@ -0,0 +1,17 @@ + + + 编组备份 + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/assets/ai/knowledge/document.svg b/app/src/assets/ai/knowledge/document.svg new file mode 100644 index 0000000..53589b8 --- /dev/null +++ b/app/src/assets/ai/knowledge/document.svg @@ -0,0 +1,27 @@ + + + 编组 9 + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/assets/ai/plugin/defaultPluginIcon.png b/app/src/assets/ai/plugin/defaultPluginIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..4f1aa84d4efdc2f4d70642ed08ff30299f67d4ab GIT binary patch literal 4292 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≫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 YeakK5XjY6~kxYQRw6avy2jk%X1)V_bt^fc4 literal 0 HcmV?d00001 diff --git a/app/src/assets/ai/resource/doc-icon.png b/app/src/assets/ai/resource/doc-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..26853bb44201642fe9f9936e9c6ba45c07ed092c GIT binary patch literal 13087 zcma)jRa6{JwDrv3PLSX*0S0$>26xxsfe?bbO9lz<9y~C(LvR~{2MewNf(C*+!7ktb z@UQ!Ld#&o)57n#As;+Z-*XeztG}RSwFv&3i0054XqOA5yKm1=qM}4_h8`k8#bU=4) z1!+Ld1m!*e00t<@O6mHT9R=FfQ7(9{Ei3{pA@z}1!_hcu~X7^V)=)>CB(aNvVN$<%Zrw|OEIQagd2N8{2NCG|c zgj`4?fDOcjhls@xlFOmhE{Fw10AoRmpNalXBTv!|h>wV^c8MwBdZ;wRXE5eZ)JY&Z zE?UVOv;Z0;uF{#dP1hulcmW~^;9bn@q?GVGo%c0EhlsF(70f|>Mp$9+v6yDdmLIn7{Um{4f;W;P;htJenK6me0-cZ*OcJU1)^5pyUy)o+2~xZaH{&e zBKwd*jPMxHJvT{A3XcDb1|xfWv*LL>>}?LII#Olo~r`CBd$<_RHJ$`d6$i0)zLl zXCHC+1(CClV0)ef+L3dykHB7=r$m5cP!boeL6c6P>mF|0XaMrFDiu>a*-xJWrbr@1 z1!7GRvq4~{B2N1UqXZ|Ay<4MEBK&33gG8gF5Lo^1fxbO#z&X| zy^bhK^(+Efs_y4j7pd(+k$>L0;_9A4&!^>pUyTc20|%9eP>EEy@B|oblU2#1BF{=O zy^2;*gn zx?7Ugo7<2X!W?Lj^t(3=wn6eU#73Da^l`?YA2DmzSU)^jbQ)*(Es}!Z1romDBy(|k zqA2!>EMup36vP3g&DiFmDnw@J9!{oI+s12v4t4Hx=$PE=%@)s8Sdf)_~XSo4$A^|>*tEC|7< zlVv|2``V0+1Xg6zJ6c4oC+I~o^5LSi8KPi@Z-uaw9FUZ|Z|aF!OAX@J9s_F3g(W^& z36z7-)tC?uU7xT_p0M6l*=Cv{VI-Q~2j9=f`Bxg^VB`xQ_liii`Mia=1ym2V(G*d$ zp%LlTW5S5_eeaI`v@)vI4unAG=x&ZD_cdt5-b-QLrRD9_SzS4EAFlH_oBRs!qjR~} zfgFke3BvUF?jEMR0qc)fzqLD13BZ-}NZHr19ma2qUB{%ImMAa$u7=6yFp(wHt-$JT zi7dpKdHPQEZ#{bT{D;b&;nQcH+p$i`l!c)1_2CZUSa&zmM!Vu3P6?pUK5_#cV6{i! z-r&v-%#FEsK9t`>*?Q*9o3O&w`7#r09ty6{qY;?~jl4QRqU&gQ(=zxlN!wG&5j$7o zFr#kMUtKplv}bZa23_nxUmxG!9X%>!uHTUjI!j$&k!DJ?ePVsVb5n;hNu>dtbl^F( zgD4V1D}qY*C4GUXJrbgnuDQWTkzAYX8ot>uO3w7ROOe*lGLg;Ln>xOP(p({!A@eqw z*<6)LRcJ`~k4(%E?F{yg;1Q%!Gl4D=&Q>EakKg`oxWo0O9LT$OX`*9E0EKvvq#x1Z zhIr7iNF{0afj2Al*zNN*^M<#C&@IpV4S?G%y35MUyQHzg`Mkexv$ih-`uckbi_fr{ zgdc>ysP`f&^i|ko>CVPZ;i&a3D#d9P9}lp9n7T_{N(!!#o*$;A`A!(7%I*3(S!*fv z-2LuDsMBa3@&8p$ya<*Y3&{kIphjC7&A--qs z{ddNJe5UxC9vc$9 ze-Ad;ZPDHzMkA3`ZrWzhA`oSLL1ZX~=X0omx^gA@GF>Z$&*_dUZ2J&cYqZyCnD;Jq zO6aG-b`xeY9Fbdz%Ew6OR#*rc=HZ}N{G6}Uv<3bek3-Fq%n`&stZne{H>Wr(r<2#7 zk`FNNh~(t!mJ@zl#uBA<)qxU8^Ss50bRt?*`&o7+hC&EdwSp@qF!0^d{(? zNslx!2^(KjR8`PhZ|)&E>2yvN8f{xcw=&EUY#OMvz-OL-;oF~Wi#V#P`8ti$Y~$N( zJyD-~ldJ&uzpVZS`ov~1Lno(2l%hkoL+-E;!Px_fD6bftC0T_x8cB%t-jxr*M$`+I~^;=MUY z9)28(qj|2)3|)kJO@D51hrsp7Kz2D{j>x$S?+F{XEdX5T ze2=m{jg^usf-L0ktLSk!ZfqH>3x2ZUKbr2gd-9(qJABo>sz_#n5bW+vAlLL%*_}T< z25tZvEOAc%N$8O70BI+GGH#&GjgU{Va8r`TzRJHaOp>B;z)LwT>y_G}(p$LA>CKjt zQknA(>5|&OlotzDm71JR-b=h-&%(*!>CsEmp10ZqG!~`On?DQHIXXLMUaqzPyv^6L z+Y*MVkkIgbGo3$@x7(Z+94CtOSvSS^DmMKXkP_RY)N+1RTv!=~Q82wxSYhxKV5DGa za6_rt$)wrDp@^!D*N4P;svn0Y$P>Ces6jt2tNp7IkYvSj(ncQoiZ2s5N=!qOkhR-hV`t4~PO~peMlniW>L2|CK7ADy|s}|oX?H7lXLTq9>&BiX< z5VT5|6P4#NO@zqBUg1fUY`D=5cqOalSPk+7!Ubtb=|_T+@-?=P92-NGk04zgX~i(>kIeUcqIxX1YCyfBkY4p*A-#_GS(*Sjj*Z0P$~;c2 z*U_<++b#>m71^Fs6^~mO-&sKm!?-$>vb`^zG{W0Jdn)bA}FC`ar#Y%;r;He5V8t@>Myjw$;fMzrL41e z@;ZX2Q^&DiZS+fb-kU|wQ78sM1U%=SsjFFWvmP0};EfXp()5b@50fsrS{I+-Z6m~0Uma@5^9?DyJpc=s z2Ksa(cKXmP5G?C&5v9BfAb<>?^+v+KtUdn|7Oe}W#Q^P?6sgc zj>GcKq_&RbVq#aL)Jw3ygPN_Pu0Egpj8aa-O`{d<({bSc$ro5iWaZM;OX>+F-ytNE zxvqVCMjYwHe`A+~68E?^@F5m%Wyd{y=}&>ojwDBlw{e7w|0JQvaS>@4lDb4Uefc|l z4wfq9{m%_>r(CMgb2o&OigVsCzi}3~7Be6sN!HnBk+0-$!?i7@VV9uE;H*NQhxiV_ ztQ0ksG5oAnqc=RDT^dqh3a>%o;wr<=|5m2O?6THyhAF{MQblwS_6r{P6GsDpMlYAw zh0Nb&!hw74pPSPr8BfLpd$@#b3>@A0gz_+vsDH+du2@Mqct6LXSN%S3V~5AWA}x+A zQ(X5joE-}v)iXL@+_y-GVLI7#xIi14^fAc@f1e}SKP@UeypvHp!8stBg^PmngkBL@ z5h>b}`|_F}vD>v3H~XID9g76NI9d!bcNFIR1+00gAi( z?L8(nzmcQ6mUHs!A3c<(?vjL75%ltf#uHz+YfrZC-bM_V0c3Ym1FBc@i|i|t!B5h( z&~}U4k_fYVp}G?nR;U{_9Ax2gY0_or7OPC?IA(G2&8G@Wh~QYKN5|^f! z&vjXPfS)|OtRST%*4unDP~P$;XI;43=4$6FaMw_0)rNt@DklDoMbz&l|Kg20DVa3t z8i`-tYTGBNS~8e1wo^sN7Q&v2rsr0z6Mf`6S-K-aEf4rT!A# zXOXWNiY72D6CJIWt6R+Nt9?ulKX%EH>9venR1YzPE!CH@7ofVSG1Q#V=PsuK?(u*N zk{Gdi9*V96+oSvp$1`t`tU^1xX4&4&r&!(9HlC8X`W%iHbd*Uuf zxP^f-K$|b=TO4gf1a#u58gA2tieR4;(~;j!*`V@Qwo6SF%HFKeU?bx`^8~S!=bKrd zKy|I0ezN_ZmC{x7tp-$7@N~=#<20Vi90~52ujy{tr^MiWwLsw^sM{I7le!vrqKQ(? zo-CTkrt)>b=T%lqX-}ETYAq&i#Z4k0T+_J1(xc}wdp7FZ=(%TgSipC#w~1Guu(IGM0IKW+!}Pg4x;&GtPApp|liG@CJ6?)L>luN~f= zq*dtHB_JQv@o9bF)U0LWPphwlCZ>S-b?X>3)L`GC(>-LGv~qBkBy(qT)CW^!MM7C;54R-+~nMA3#O$G8YYYbPo%4j`eTU6)_YIA;d*;CTnqihux=` zA>Ft7X(U;8u7#&ur~kdMLK+Y%=-<@yPo(ahcQA6)izCkWJiEMZ!ZlSXQ;h0ORN;BQ zP!+^cr|^D9(i`Jcf#&+3*T~WEYmg{17bpj5$p)=3@X7x!8(K9p8}Cn4HLr)|Gj*a@ zVVF{C4Z+W!d}{VWtFz{lycbOevT``O4L*^J;uFY{9)7AFb6zZOmNFda6465gtA}JR zCrCbVo#Hw^tq$-ex8=^BS-b)`-arXX6))c+AW9kRZz8g^WfLkv8YC@KQ(q^YQ0N7| z*P*jD#~hhGy$UIGDye{;BVLwjK6Xl42^^P9kKe@))mI846)`j%1I|~5whp^qTt^XqDdCjG?k0t`X^zeKWW=pk zdR>m&r!0Uax~g?~T7hg5!UnpH!-8q#%}~&Ki&O$0u8?5JTTcGKR)5n{UaI^peJ5l% zzfR15OL~Nq*f42tkZt7QHCkc%wN2;1`dm9?i~3E{lz;cP39CV(jp-YJq_^Mh#Np6F z{v%QAv}$QvO=s}Dp2Y_ET2#i!p6VJh){4T11a_jM@Ad-RH&TXJ)`MMW@- z8qnT05DM&Gkoes?e4DKNg}& zwzqkDAS;?;dU30F(%p0!VdHbyVa85Q7bE5>3mTXi1@vh%Opx($$=%$Ah7xE0c^qG| z73m{3pYA4A#0q4!*>m(h;q^Q};k#@#ZiTU-K$B!G==r78d)=)#vx3$F@qLWQ$M;9` zHN---LOgmOJaGeMmmeKyVMGH^L+iqCHya~`vtB5AD(`a-v%pfSb}{qi5o(gY#k;6@ zRcZJ#Mr*0?-jom4cDXRc^{d7*Z?t#->pV!(XeQi9#MRWZJo*%~EX!iq72p%({}(RV zh~0W2SgAhW(}Nd=Ln|y%X!Zy5gv3r^&V>54&6V4_X^~yIT4B>476_$9fOVl-M2jm4 z$3@dC_tLebcq>8z`}3TRp7eS(TnV#)3{dtEECYf!YGRH&?COIqSPg9cQKJp-4pTMG zj*$D(CY+|y!4R!=Ok!&H`xw7{QP4_FSEiN6E4-kLmBY98iU4m!$hlr_ z79rRitBlI{ib$89T^dKEQunDbNG~%&4?&~mdq4i6p2Qop0+;_q$|Tvy2ZHZS?)q0Y z=m>RRHiuQb&9SYt_<3md7za_(obfOy2c2Y~P%ebH{OEYu=s%{)^pCSJz@D?kQb^$v z4>m1G9k{8B;QYVBF_(wPft*sv_y!XC*ok#>Kz?)05>I)rgOw;h{xOIsIrL)={cH$6 zx@S-avGGR)BCeLd(3x5f7c95x+-;AEPinalk65ID2)r=3Nx-4e zn90>`>(N4kBX9+KFz6@sTNbGhmK_5xrw>%^-PwRbPvq@`DJ2y5t!TSZ`wGJ*m=;&r zyzBMZC3wYk?sfhLOT8)xBKL*tAPq0R*;p>chR)7!%wB~c3PAk~>OMSbtdoGP+0Gk0T6UE6>gbI@c7t3!*qtN5YF zxo!QZy(yC3k69)kxj*hs&|bq2$AVPCds;bHAUK z7dR}p94V+s0EKnwJDVaujP!7*V{5%j>K6oOmB|f2XdoqTJ20i-Jxj9cv-2jpRza^EjqM|;E zQf~)JKDdp0g(G1r0e(G)I=(P!e4#z~aU?4?E$g3WLzF`ai)#$Fg9gRY%B|}oOv+!s zjH-)nC_#C@`3OaRC?%pN8hIRkO!QIES0bP+cKxWP!1dknnAo?{;h~R#>uHX$A)qYE zC#v$Il67!S%HEquIZ=R-L$|Vm<6BK2cW@b@5{ql1iH+Q+mv^RzS2em$LkgV#S)*;| zUPh6D<0PD>jMHN9HG}845fycA=PzV>=LBu-lX3=$QpBfS2I%xfE|iWx<|rwBz6es9 z52ZdnMrGxYomMsD9w)yH+vAKQfQxP#PCchoU0CvG)e9ToX&mqa{8sS~2YZz6^ARKaUeqQ<9foS7=Qyc+)!Gc)4!;HNT$Sg!NS+c zuJMW*W6Z0{aonU34l5|EreIby)V&Yk^))X1({0}_kjb>QzIt=1Q2JmNGbrY3TGTz> zU)ch>ryqxJ>;TTc7#YlEg#I%M8MX_!(joihBj;V&E?~OxvE87@NF+mZm*WJZFedP= z_18R|m{Jh>w?R`J*X0kv`EF?>DxaK_*yKFHVrB1g3h5>qtwSC0I}Z4jdAYY<{tp!f zb%nww?nHWS!i=xfB-v~-b(Y(dQ`0#ZAmvBwo^NJXgYWJ4+u9h+dWoSH_m|oqoHd&q zSd_8{=fu;%uLtC+NhuW5(FD^MdPHFlMqPWq5{h2zR0Jqr`ZcjjOS0L~RY2u0}Xcu2S6;KY`S6hUyRakVUu=v<)-SNMES=gUGFEfu6atz2%%$C#tIde zFeJGjlC-WYD_6ZMhI^bZgaNqJ$XpzK8lN$YTJNjHkX1wQhJ<@z&2ZT;UfihJ`L$Ac z9Y3F^mkkC1xu6eyU6@YDx42NE9fMaDbWvG|P{EYvR#m5)gG0r1f=fO!YP&i`uM@H^Imv z<-go>&k18|-5T0F)@_+*>rrQGg2LD@F)vB0(h~QkcQX4Q&Z}gnh~aYoMPFyw!z!-D z&Ih*(JBjpT!m?^v@sA;DuCpB;ZMP$mQ0{4&c~1Vi-JEKCm9OYxm3kH3QAS@;J5#_! z;@$Wh(^)jP-{S; z7n%xk%fCjEojInxHDb>w69lMCj<-?2sFnsqzn|zxhGOz(s}kE;w+k#4jqTnfLnOt| z|HTO4%X>F$UZBFer1RBM4tBY#^s57i&mUu8%U`#IVh=1NfUVD6RW=Xg*dh$paB>vB zbb|29(UQWaM4LEdZ-8efqL2#bYYn`p)WbYI;uxUi@T}s%0Zvp$-qoBqf+62upKl38 zC3xjIaG}(9hT)GrhTBTJ11FB2-uHu=xUJTKgbYgT*LrQU1+f4C!T5h#fNYQ^Q`XbU z9ukdMweT-%j+XmWfV@}UbRcxQ@p8mj})!_3!pXvOn6o`qwXsoiugM+i}SnXGo;j zsC{0sG&2(Zcnc;_bSBim5jUN7Rp~7HW^b-?>yasM1><2#gI8~2en!9$(Kz~H*D1io z+q>J(*f%R`j1o9a6{wQ%`a}11o9kqv+KtP>YXfXM+CuW3S@x+4Lt4)X6M)H?goS<_ z+b`;0w8wtLxAQX9jRxnfR6jkg_H^{~s=7Q}Z5fOL`YQ6C1A2KjuFa2$QT!#H*Oe1x z6oM)8Ceb%Gsm}9T^~ASEZ=`57F{7W3Lq7BDer&FdL`rS{6nLsJy|mtlE#&L8J3g&@ zgTk9_Pnj#mat3%@c0?g~PYVe_(V&9zwSGYp^aUCcDD_we6Yi| z@LALx93w24WM`OJGsF#r6G+JJ&buZuRDrL@Pd(psOUR1UbzFLxvo`n$aJkz(-ZPUk zSDq{!A8CiA0t;$%Z5iWO5ZlwL@V7GA2FQxuV%mP+d_s-`AT$n*rugpEtc0^z1*i3R zdL!TB5|F-ZfB0fyS)&r|<$t5iCOg;FpT#SVG;WD9>0l96`|1^7q~|kl%*}J+<>}~i zz0j~gZ_Go#_#5|k9OJSrVoVp7au__WmwR9OTY^p$&5ALv_ELK*EA(UD7laKaI$0Ve zwinPg;mx^zJ&kT3VJ(oxeXYk=;W6`fA+unNmwyBv50VFX{y{%Qe1J~#MI(N;0JsyD zi@$WPJ>B)VGrOz|bp1~Hk9jPE|9T;@wrD0MlJXq>+cr3-Tf1S6O^eBFv>6TkD#vaG z)=Dr>(~n*J45MT(Nc?3I(2gBQfJ+42(2yi8;%`_j*ACS^mP}gEm=!s7s_qd>~FN^guiITU~7Rr^+8`bh@vg z9}(cPx3$N`d?^H+^P(gQuuEj{a~*K8T{2&c6eb<+$&_8ZjGHD>)0uvVeXaW$Knvlt z>k_%Snq%r-mSiE$LH@cukccb8TFuiISgXf1fT~7?xsV3(+}-4M)ZSV+{_4c=8XOew z9gW;pwy$(=6Y#Rgf<1hBrW6ineP8MW!F+O$PagVSL#6;-9NljepgH5CLlC)3`RNQ*zdYyZ|9(yUD; zQuAo!*fZ)X3d~Xh43|V$tCb^ zM}ZR=ai#ssvrB&`cR3$=*@I?sc&NC6YfYrLFMb`kJWs|fy1e$UVgK{a)dRj->9^~R zE*9<|ru`-f3*(~988Jr$X+(DYjk!hnJJg_$#Mpxjt_2_I#Fq!;7lX=WYRwXu31lN6 zKO*GIuA@=Q)E>}u|E%#QhV!}ckZa|TDGgs5Z7pyxY9((LBH6+Il;IdGCni9 zyDbB;T~5k>alYKld9@h{A>Ob@H9+mQe~e62!@HoD-xx4wJu14oyPS~xqu6OBM{o=f z20IC)1> z6ly>Ao}FOhozLa1lf){>{L3TPnj;0t3dIS73ax?6Dhz))nsGxc>PX78;_F8gZTLqC z-oOf=CLZ)sJdhF;F06){-;DR@UJ#D71V!dme|m!;Q=(>abD zRDLoDCl^!1Iw~_yVVj|-B}JELe@{zGu`4lSZ{lpt(sF$Vk;etgqgZmKg+zS%)7)Hy zjB@-pJaY9Lo{wA>zb+*Sa2hGBb}bLmTfRJ?kO;JvdCn^Z0Uga*cjV_2~nAWbfdeXxO?z9Vs`RiqAS`hf%6Z6 zDU_wm_u3&<%b1FJliW1#8(DB`|2gTEx*3z8Ujn};=9GQuMA>IDp&{74LTmsEc^v^zjqq*iG}GnFAVx@i%sk_nEfq5 z4*VT*b{{WZhq)uAOwk|8t)E0hSIXtf#UqiFqOQ=C29sLMw+U~VG7AOZ>t0$On-R3OQxhF}!^*_+axobd)9AL7b%oawb=A~5q8J1~?F2(l1q>^d zijjBxVR~IW91C^1S<3iZ=Qvm3!4%>jw(QUcl-+-hU&Pqd)pZ3q8F@tdvTHh2<0`B} zXCa0ItsG}Rc{(n8{bY;&M4$3dY{StLG5lihY^m3At5Tw+jgn;GD;>7JpAr%WkAHQ2 zhg0HzD`yhPpd9j2tW){e^NJ&VTCvS z0jq2wmrVAdOdG4!E{^C+405UDvarJ-x(mxW-xt3toEUzhoXHS~Ojb7fq1c_!{$7SF zA=d2}UdCZ!dN!);BrH5Ns0`ZDX(816G8<}*)wb=21Z7I^MGesEZyPh7OClLPHK>J0 z+8F4%BA4#;=60DGx=*?LYoce4B0)+@p*kdk-&7hx zRI(bDZ<2zDn8h15wAdkaTKR@m*~~rmg0jwwRFB;2HegN(9gaXj9<+*;cYu! z7o)hn_Rn6EdX7EuhoP4v(|_uDwFpTL6Vv}%(g&}qJo*Z0`CbM}cVSzi&G|+OQ$TIk zSuqUBBqHSRC&p%j%x>wSC*nG!G&^jOHF4k`G!*1&e7ro3clcdSC-wCAGs1drUflRO zjshKqz7(cJbDXApxA}dei9f|j@4jfB4bhbkS`(<<-H@OZ-~wnZD^Z2OzdNt((fwI< z&JZ{pLm`w4VM-jn{QxVYchwGuME+vTJy6f7ubCb&2dgA*T%H3p?8{ns2SvGOML~*h zjg+G*n*2z(4q7rs&l=+wury#Th-U2?SgN(2lKayzxEb&}*_b7>fx0ri2kY`83R%(Eg%7GuY6QSvLU_da)Y^4- zpK)x&AXS--IO4KFFUg_;&%cWDMA3H0jpu;IvM|TyKg~2uHdIyz30f)d#{Cw;u)%N_ zQGSP7dsLy=7V;TdztmZg*YxgN2?0HqKxnZ3MV6SU(b^lVF{_S8CvCZuFN*)l83B@y zau)I#{$;aW$7XR9J}~rmPH*u7c7A`L&&mUUi0&8*vV^HJcY0FdT(?CZ9i#KJOgkt^ zw?FIcwE0I|YsH)-~0kbp}c{WpAXGagy%+on92G`$zod&ll#ve2K1?wWk&! z0=)Vc^ys?byr8$h=yA>#=3ByQQ3Ap>8M*bwZnjlwey9HC(9kI86)ex89d44<2pn z8OkIHTwQ9#^S8n9b*#*iC?C7M-Ue)4#1ucWEH{N;77=y+`~5@vA!T|63~|YC*sTY9 zkAYXh7Yl8jUxAUURboG%&zW5MDpOIXxNm0P(8MvHZhng+ygjqT5WW4WX8I7dVOcE3s(MZ$PD~?Axk__8yvDw*d`)iiH&=&*n7Y(M|Gxl;Nsc!o& zf+u^bjcKpf&tx$0-(1x6A-waEYJ4$-3@_{0Wds8S)FARL7bH<}$%daRGPSdlQ=rs_ z=ecFx9O@~ch&RcxfhhG7rNfh`P>2eujcF_Dlu~AJTJq*X2y%vhcy; z$P7x`n;cgms&;i`Wyg|~74Ph`MO&Xf0ZJbSP2}MP9O`a_s_qVT5di#4oU$io21 zPM`g*QYfaI>&BQgghoT1;(P ztng(5Cp6crJIfV=Cz$GJ-0K&cY^cc8oIx(GHW&RxFM9N3kRWG%hRNptSDc5R3v8*$ zVR}G=`39VGB_!K^0N+0zdrYO48{%2OZs?9+m}iNK!Iqe@)S}V66NZ_Gm{g~Nu_fjj zFlV`FIZRbA%!iBa>UE(&vvbF4sz3esTL?5 z@0(;$B4{?TTPkpP|H+Rf-cnDuiGeXeb+cnFq}*ryTzG_`MCvzg5S{-to(1MH3YR?r zA=}!&?XL(a%D#weLoVNcuZ@9d-u{O)oPgApPRGk{S!^d zAR}<=+;=@^p^7eV$%KqL4drG}57OavR#tI5=T?8!chBfg@j==rMAHPc!FL>Lmua3PW?dr>C>`x-8?u+QnfIRh*es78?Lb{y;P@Hov#5_NNePQ1;N?=1QnafjmW?(SZSLveR^Ep~X`nfFgP zb3P=QN$zAavHO?Fl@NJZaWoVn6aWB#CMhAR_?8a+7v3Sg#pUW18E*;DK~Y>7P%%bw z004jhlA=P&uDT~W(ox!ys{D;)8W_J$YSJO$tt)&hCuH|Pka`bXUuedHKZ0-e?-q0I>UHkFh#z(c;UY1tvis9j~P5ZG2S<&UPl980(V?-tB5t*vcrUQi~7S#c)E6{o*i7q`!0uF&MHqCJUviR$=P z;BiAkB8e^0i>*85L|;WX|J_YbPy2XWZvRfT_*I^K4HOp_zZ(ncl_S!82q=11pgnoyOAtjaz~4NkU-==r!CDR3zjrOW;2DDDb@D|(v9g@;98bg7YzDG+dUy7$ zGtEh$_HjA^z(M$7)uQ-;1?zcPg-o-u_{~bs_Y6GaUAuPXW52-7ia4atb|09Sa;98v zzo0mKwr7Qy@m5^AcJ?~gWFPfbY~__Evrr>5aM9h93B~4t-_)n!({mf&?M;f%+f*I z$n7XUtO{<7=HX$+jtg*6vHa}+TDDs9&2`NQ9jC18?jOeKD`g7|P4M;>-8(AfwvyJ> zu06k^%dkvv>FK5S=iO@%Efv5X>+)tb=#NRUP*=a}Unl&y@~+ye+D18^O%{L~KjD+T z$Y`eQ?TEXYj&Hw)Z{nhW+sxT(a%v26u=LljD;TQ;87CAUm!keX`7H^`((W z@3^j>ujqzEslu$?Yf^Q6`+8Keb75)e(aBPkU#D*2@52mUk~`w!B<<+x>WiMDh!5LM z?;-pl3ezG=-L)Dz==D3=^J30u`B-5^*9_ytR41p0zyB+>Wv1+N)jwDZ9BL!n=w0fb z|Fe+Dwf@GgDy_1b{xF_-$ZcwS_sh~^irH{NStIKqN*WKWF6>L|m&z8n=?X!_p*lwO zGrfJhB7nyJoE9zD35qi8d#m5gOQ5bVN_3!iyVH;Vb2D{USe>;rK`s{B&y82{T&(&T zY;d)$i}XgPSL$Y76UR%TN04qNfqu{#uPv>mxI!?|tCs6-fRCoQOrb~FtLCYTkAwKm z{ZJ45GFWRV)zPe#jG2eood6#sYd${q(-A_VxP;Wrv;l(k{%+L83236g_k18$)iO@W zpNFqNgByYMoGl^*9e}Y6HWFcQh)Nbu58%tk8AV&8IMvjk(_`i6@9?pK2tyAKi0!24 z7MwpQ2LP}YwK_2bG2CrO2lQ5#0O1^p>#G3)?ja{>nXQ12xF~C^hU9obp6ET}DQILc zB4lM{_0)CcR!ATM0?H}e3wgX#5y63h2MDzgfv^+?7!%_6 zJg8waXh_Rae3B+~-vu{z@A&11W?5skLBG-;h5qaY(^P7I2xthF(^iRA_>tMECum%%gueo(oeB|?sI}T+=ic`8LQmP>++bBdK z9Xms|g?g34D7lD>!F%M6SP5BMRm|ZbERD-1kO*1%C)!{`8`_rO)Wq&B{)FJHyp69W zM(pv^88l?{Qv2&2z~1lX-)OSSMnRoqn}U@Z8=d-RT&rl1{s+#|hX&kb38La`QCWX0`1hhH1QXl)iMfV1Yxj6b9`%^9xxE1!5_QUYDDh%TKfnMbaqx$;3xrXEWr1Rs3{<(=mLF!GREuPg3J33+ zu1hyblLf0GL=2Ee333G>4Pg5Nh!sr)@d7jMUbcZN&cX0qbTB_6jOcwmbcg~D{V!gY z<5}kJIs><_9LVRB!KW%R9Qc$DXweEwQ>Af@CN4*WnkJl5huMnpzkBliB3YKh6{(4k zP1X>ARC={G<~uNwS9yE_v2KX+y9$pRte%u|e{}H!;>C`7DvE#Mi^XRPdRx}9QjMX4 z$xv96#6xQ1-Xt5M2hc+GTK?l5%RHr_EpA;9fzZ2`WEjflr#_s(QA%u^MFy}ok%GxFh79krP{ud{nzm1UX|2O>oDcwt?#K=k)U|N7SKjhrCAhlhvNhpVmh#=wGUP#5lP zQ9M^_08jZMqe)a+ESm3?{srOa=zL=7U$N|!A z#>b*Cw>aZ%@YvW%>$~?`^0lsWJj&7A=b2C#_hWCfOY3ERfM1m;kq7*bLKJ$c9D>+0 z*UG3TF~88&YY7|&q1Ja@>p&X%ntMQjtB?}ABR6PB_TApe<{q-Gx^&~&@nYS_COePx>Jfrio^#970NrO z|HT6KR!SV9W57-Aw%#z*_s7*k1w9q5&^!b7hAvIPEy|1cznw9F))JwH{*dE&V6Zbn zGi|7sY#ECoQTP*#`iEsN9pZIB&Bp!DKYvi_q^u~A6ASWrT~4cg{xqes|M}xy)=T25 znj40-(%vpvDs2-t(uo8l7Nt|6+zVpK4{~f%?OWMa&vy%8=%P2l_Ut3&+jUDq4)AD! zDotIKj-h@&U+ms7aAU@T%F&5U=MG;OLq#3U?sSth)MjB;*hx4@VH;$hTh6iWOptzS z!*B2Wrf*JXk$-OTs-@6JfTvtq|AF^_wK1iiz3&$Z@;jcF*bs~{FX~oDPNTzEt!yg1 zI`1aaC!!u`sU4;g^mBgC#a@o`pt;e1mlR%i7dmnjIlgS1< z6$r)%5Wn7X)M8bGXW(O0sL3jvAlv919XDgC`YI!k7Z-qwl`W?YKIqOiZ*rJZWRh-V ztHd!k%D&F<53Treby`kVUS3YUG-CL=rwuPkhd;p>F5w_-P=eRQl;{sn5{OR>y6{Qq zA|l)t6Ors;;x$U1%_IAqrCl5pTu(t#H4`8KDM{lY3)C9+TydHFOL`0G`@Iam-D81yvmFYZ_DrHdr%9n&`>inKZ>Py+ zlg%6QEoM1RjYX`rdw?*)rL5GnAI7qeOxXtkr*;{>BCX%In~KsY9XR`j3gzb%zt_0i&(O4uR*BHJ=;E~CIYl2g z(HsLGtBR$r;2o9~IWS%_ZSryQtAi7FW8-Ym z+z~U=N{RS3NZ(*5xB)Uo7D*k9Q{U- z4Qk7vzA@x6aLjBbiWy25^$5Dn`%uKT%iDSmnLIJ-2xGeAn5PSMM{nSG%lV&Ly({DYUX)aYW--)hXvt%3NlANhcX>}yVu)Rq*z zS(cVoJ9u$Xn zbPqR{J^Ai^bS>kOj%XzDs&3H;xuSIQ!-ps*%L~jiF8XES(3QXzlOT^pmG{NJ4wF!k zV{cRzR~^$y_g>eQ;YAf?a=a+uikyot9m~2U8pgibmg>)&uAnFUGA5&yr!YB-5nHUE zA+S`-p^@iBh-UK0>=WK; zJRC>W;&!6LX76B~U}HTlAhAmXV%6)+b`Y=rQWWAHovV1Wi)NkGg6_|zWh!vY0qh~ccZNWL7}u`)@wwnKgtFUZJXAOncTJ&o<&mOq zkYBS|1lD-j0b9qIHtGb5PZ|!cjjWcKyOPz#;D&MsH)Y~f;=0u(y9ntWetVR|HekMGJBu za>7T+OP7KBb9DQo8umc?Wzv0LBi3rG2mJCd3C*Wxu0|InB!Z2AB&8(2e$Y0pfCi9C zK_|T;j@D;x8HPGno@ks@ed^-Y zakRJWnw&!NE=ur8!mR6nbzvi3Ks-1$q3ygQl4x*F>|xCw#{iXdDOUJ{*mfH4kHUf2 zCqK8q=rY#xXuWWIlDp~ZjOimn@~-fvt7Dc$X*^J^ATkyyY34+r?INa&@YlbRe)goC zsLtFYQ{WhTmhr!X#N~$J=Lm#Bl`ctm$$O>T-X67|&<1ehKuIh;EX|?a|FESs!8Fjt zf)Jx0gW^$G*}G201>DQz*9S#UngdJ>ASTw7p9>3Jo4G?B1xt=eQ{<#RLS{EsCf&Hd zd!irQdo|i>tPGJlX70fLMzPTry8gUj_1sG##33u?p~(xVZC-90GFLgcp+DkJrbwT< zSR}D^TLlTRLP*UeDjCa-|6+%>{o@?_VM{fH-ggvk00`|LXZNh2XYUs8el3TBltfHE zy;wysUYa`w0dQ*hZ^`7YU2VR%entK;R7_+Hxd$Nx!w|4buRWtVm2+}TAo5wvV)Cru zCZQuX0rI#nQz!Y@*tqeLX&8!xowN_=Sp1%3kdQu__cXOcb3y#yHvZlg{KJk|QDV~= z82~tUylTTrLsIZSpW%i!E})rV)YVahqeiKI5AHk=MWl#qv8pX1YsDODBUpEkS7JIN z`%eiBgC~7TU+JWLFx>K55a+N$g}e?OL^2?f*4@=zbp}*Mm842P(RK01TCO=;%5!bw zzOk!$X4g!P=1C3k>oIH%zTW_r6Z!B~r2$$2q zTx7f$mVmdmM%fBHiKcrgGa=MlmG$+Pp41CJ;3iW(oD?yk)MOh&Buo{a@~8>se{u&; znZaR+SGT3kx%$8u)*pzp<>M8R;&xKZ%7Y6fmy4ZC+|X5D_->J92^iYR52P8MRH-iG z)KmLf@D%7sIMK|Cm-3|1Uo1unjob}{{0yg#IZT|UPS~qj=RXr_x7#$A#_;2~V)BIM z7t;vI%!l&SG5w(~r09+kp?C9DV)LXLjG9{dh{Zb3U|?}ffPymPPG5C-h6^fFprnYs zXl(|(_PP^JX61+pmr$8w<9r_^j9{QqsZ3fn|KMsJzc)vZgi@O7f&}96{HV=Wsd6J&KBpVvdX<1=?83Me7Jww2e{Y}4^J0A^F2 z1?yKR@%&8v#EQU8PX3&+`P~IpwYXsa!g|5JMlNq`VMyx7G=1Nx8s~5f<_Cc`q=zav zV~+Qkmn<03R}OI{*3&~ORY`-il69M%jXgw&v?!`-P_jIV`7^FumOx8Bs1kx7Rf8DC zRTK1SU2FJsudRk{ESxFCtET}D`Ju|Jnq0&FY4#?(A@sMWO>l_Qw1AK{GY8W1ZJPy`QWV8dql*9cd;t3j(qq8%lwUJ}@mzt_J{SiLj@twsemr>Wn zR!|lQ0}#BhXTLXoC`b5B`%AL<&kwparkiA_sWMhBB_=%9h(l$c4$i6JMGkvqhG_2Okqi~m@-A%<~y)@=nL+3DYz z7lhf?H1e|x$=f{2o4pcPGCa^W$0VaT$lMTI?KY(fHH8(sV7$2VzrdU29VPohY);#(eWzd@of>-&ekGwpG$LfDZ)WR5_88{tw z+t$`8w3y)y?<#~z@JW2}mf@Prb38d6%f#bT5%f_!44m0N+``aIt^GLtwLU?`EKiN= z4E*iUlx5Aw{x}XVVvxN}!|urWz1pffvM;2;S)_Fc$eq6+t~g0Zg;(I=c}Z-9KQN%Gt6U122`Z&YEMt!QNwwhvq~#O__^M}o=LzW zLQ3T$&voz)uMjE_IUO?)~aJMc_T`se6;I;N=Zn&z@vB-E}@?9o_e9k+`c z=>g5ylS4M`}D>2N1BhRtW1atJd6=Ov!q@ITVV0{hJCPv6mV(gi7vkI&SOqIp6 zM2z?S-7|GFR=hH>Ac*2&zOE@@q>)9TBb=G%K&RZrzS`&K5avQ1y|d3~h_d|jJYf8y ziLof)e&A4zKuCIlRzNnFt&Q&}>Gw-{KKTl>rg{%-8+uszO zF!zOLG2UUnbJZ>)g?iPLvmKB+c&J|VpDC*|fQOgdG7S^#`7;c1I+%ix`k^>!8ez4d zOw!N1($Q=Od5L3HIhPLe%Dc#78F@ys?Gwb1~EBO29n%2o#xBT zQTZ3V*Ixn|8kKs%%WUx3h6~)&8T7}!3Yl2dXNVQU+wRPb->pWA)N!09uN@~6U}}<# zNyOXL#^0Ww`gsB;AQrwV%H<*s8!w1BzXv<5WW9?TAI~yQel9%#5q>a*F;?Q7~+Es@GucOLVN{`WxEWPGI zEscl|4JO8?vrIlP`VpsH(D11K=)rx`WXE8HDRGe?M}z-0?HaDs?dzSm`HPtO2S~W% zgOTLo`$}-QDlJj)y<0yA?FCiGA9gEkh|3rOksm%5ut`;H3fA$henMJjr<$epvTv7Jm|K zQ7PSJL;F~ z4%Zx_lE+V0tCIJL3C^OU8l`MrLpq(!gEaXXM2~d&5$k4zYzSWvksvSpQ%!#;A6K@J z{Zs3a?-8$?QP$5jltI-oX*QIH>_*)fb;DoaK|531-8@`pgXAi#v)`jxi9Ut+2DyfPd%0uH_Yuain^5PuPji$9ipKQReg`+M z@>(!bg#OAs09qmiD#D)~?lKCR!eLMr3caa%OCcpssEsBs=;sh0q9d19qOhCNNrK|D4Z)3}gtgU<#&8}p@$%v3-;2BkDK(;2na;cMD6^-F#PR_L zw|1o^;Z1_#RMm7n-(z3m7ThbW)Ey?iO35KHx6dy1hFDT`IkYx@4 z6l209-D2XF0EGSnmrloK348p$0>M$iNM=G(`F^BXi`1k(DU!W_s+|hU;DioVWWEOg zW`jtyY~bEQavtq(A#Y+ITS!ntK1y`5Ak~vON;F3~$_E~=Rvn=#f;a#4(hW?12yzs7 z@u~Ra&1T`QJ+MzNoAN?hP20!Jz0TG=`W@rTkxv`jPuH{5z(Z3aYRs{LNGCQhe+;c zDDDcT*TeBg(oT19El>OFDUPO=7EXqd)qY)K+vhn3$&`Tk;J*xhL^lFX*W*$;O%wPX z6HmInn=jM9zQ6$hSnU6?0GckoJ(hXnVggrSle=lNiavr+GcPnD@iD862oyKQ@m zo0%W_UVkWVDQ{!2c!BwlMabz-*Ls3x*HoGQAu}j~`FDRv1T9;snFEzb={&`cb-9|O zKkEL~Cdei^yU{*W8spj~WT#9KoXQM1c^V>s)uM#OK5$+bjTp)cMeB4l2) zPxR=MEMv%Ik~`*QyML!b#Pvs@@he^3^M>jBz$^NxO&VgnyG_)C?RP|IL`W2k56V)$ zpnk2HxR%J4daaHlBL_$-W-&_sybQu;my0Y}$aXJhK1Vd4r+2*iNI$v$ZzU4bl4s)= z`Al+~y+D-LPE{ZWv0am%*C`Mi&Yf}*vv|x!d;RbSK~-{(*$(9Je(jfq!gW+$h{K~-eBA`1-0IA*w;b%w88jvYu$jPAKiH$b99JIdtbZ9@t) z8DQXwBM>%AA=LI?GZ98WLuz# zk4nX=?~%N9F*0@)7Zz>l^kn?}Ox=LvZr3C@6y2rB&PX*~Z4q>w8UCokR~;k9{2{?bvy*bGyI-UT$C-IA2v-6RNStDd>GSDV8-7r={de=^ZPXjQL@p%eLVr-cudkrH;M?ZK9Cm!7KTR7>La#3YnjBQg! ze+oR~^$&W}yR?7bqZs_$xdK-u(Vuig67xmrosc_9?4)X7AMR2` zR2Yc;39;oW*qo+WpJ3$+fdR zGT-jPi&RWBtQ!Xn@qu*0YV;bZkneQs)2jo3gG&f~ApKotOZba zF;xO0C0YY^2W(h-7*VAuc=2; z!8)?MBhQE*b|VF0q9w5zPYh%F>&!+!iUvNOEl}`>@dOiQ9p z{}q*~gdtBn>>^tL*(()NNSQ_l>TF^lt{{ir87FOsINZDb7l$0a zDAKfUQ=+1;`1?!A@A}mM6J1 z4@8OX`CCmR!K{iH70c4HQQ!PEkLVSv8#3zZ+GP{bn5tx5?%7xi;$~OjaJvZLR@R46 z?yeTXi_8}!e!($y%FIJ4VhY`>X%bF}o5q3L*PQXoiS6tRFdipEG=q03?$4E&YjkiW zR0eD=)JJDpUFICw`H>;2!QJoU?A|qClLaPDajZOBYbydWjR}5fHyuXJ~sQM+Lsz1ZeX`L;X? z+MlW1y?&$+c3Z47KO{)>edapL--Ct=pv!>cpP$XQMEIH%g+dgZXZ-`J9o)a*d(4Y| z8zPdh+%vfaq)oLD)JwhR7HplV$An=GSPK2{FiY)tS>3YGyBRsnJbK&dxde`$PXnwO zEw-(HzNt)SW!tn1&I1@sH|mmnEM#M4rTjv(fI zG<}wZ?-Wi5c5pW!h@?~zR^I-voR?x`mcKM)Zd|?LL{8Fmm+o@K7C0@a*%SqhV#zHwg*XJwEz&!5KB;v&_P;a?|p~0WNcT$C2vB zjg?XnlqLPhA^9zOT7^-A~N-Fg_^zWGthHQ#tTuy8K;?wa0&- zq`0fI_4xC3d$Qo`=6}<-m&(5=?Y3U&HZYaSRqRchGhIFSD-7sse;v={E8IAz^eqsZ zlWz4TI3^*<8E{`|Le`DszgI&RAuSDxb`8 zJlsH-jsV0l{ww`&xctUc(d}W??J4;5Y&F@;3W1d83^#18>!lm3-P1|&tDDM)*+{BUw&9Ep1!+F3 zn!%l7Ix^>ISKmRLE*DI60+TM~ArMtHSEyK9Ixw;`UhXd<>>QV6KcYHf8$h0&jSc_4 z)~U-5pb_AM3Xe(qPGFHYFOI8llJ)aA3sHx;JW;q9jhgHZ+k+ka4*?LBqK+=-brOswZXdE^d z^Q((ZDMJ2Vus5V?@*%51@`-U0zgWpXb;f?6`tfBfed&5TT|B$@(eFu%4tCD#cERD= zz#=vVkC5Z~JI1KUO*FMAkT32E+=EU^@j>GF2Om+(yDn8Bu}7eGE&D}@GUi`W)c1G1 zB2R^6D}^u5D~P^oyD_MBdV!R?$ACeD(Vm~pbbE4uwQVaV6ge%d3`R{r$5wN&^tIu z3uAkb*Z4~H0SPR9C@Q#bh&I^dj_!EW0?)I;6PikVa$^#WmvMRca8Rfx4#z(4Wnz8@ktFZ(+g**%Y;j0Zc zHx<+xZ}=*;+oV%UT=^U2`oC<(4Qr#$c{pMDy3lr{$NVT-ITPzN!P(KKZn5&{YL;- ziB4B2l{4DalK>rOqZ@GRF*JSi84+^@>}pf9@mzSmY)EztXU^#j+Bp3 zv>V`P3vFfpbzB{AR_BJ)HKwJlnd#zLJ0NF3sLO`(<|NRN#a- zP$?*VVk>ZX_u37=y}!S|`f$F9Eb7?GqOIfG0_WJ)(eUr(^z<~FWc%Ec?S3mLMW8%P zNlkx2Ei3<4j_l^qXLnWzaJlnK&!+MY(jh0Rr*(^1a;0~O=j!ZzdwZ}o81+p5eU~n) zz1@E;x8V6GUpM2+!;Y?R!^87WjI&oXRzIM`QbVc#8{z#aCsXTGrKDDG3h!R`wfkAm zDn)DzcN{&A_yf{e-OQ6qzNRz-S1EZgZt$ zo*}C1b=kMS{yo3=xjdWz=zK=*;^wG}wR-&Xcg=b#$FzWsKB9KrZaND-}F1E8g z#aNQs?4r;FHEuh=%rWjq_x_+=d6|PM@>0i3DDoF(d2fsR)+M zj@hGU1Cdekzsu!_1cm*{tM<|-nHb|^FMd?pYUzvhz#a_e_mO738?0CJvC^WOBuUFFB#Spe0^^j9KI;uyZ`Cvl%Ps1{$kh%UYC7M)Q z3q|JA^pNk3Yp+e*Z_3_{UYy;*e!-aBUz3xQdp-FbM{8U0FS_FBg}nEri{U3%w$a9p3M}r|SDL z(_J%DcRw@rOn2AaeMM@hDWIc}pa1{>bVaZ%mJ&w+&Sey-84&3i9^E)WH2Ky{&K{urBEz|z23TaeciINa;QZigaq!Yv^nTO@?kW0_G;^~DH+sAEG)rgQwpr+H@o zR<*re?d6|MR{P$VxaoQ5>Db7PyLxo{W}dw~1U%$Flu09sALczNBqt^cl<>KA2X&w^ zcM~zS0+!&+%3);&*lFOS7&$S`NKnEPE7zH36m)32+r&kl$ld<6@Ql%A8`vWrCgwXU z5+t9Ne-wdqVfQUTo}%vLP^tm&YSPtjU(P!G5n)Dr-^GyGQ7yMT>}TA;Au2z zcuw{$u=ME9eaE6A7M$VGCZgky#5-_AVZ4c>Nq_?;Rp=bv7406Jdc~`oroz~_CRQ$n z&ehOEiGrW|ZC$kKoE#Pz@Rm%~=g0hht^*_7_tcCpC9idFMpAw)+NQ&Z92rvf%6CA? zp{#1B-W)U6v!}Nts|qOB=f)b-<;zmQ9l4}7_4-!+f> zZU_b8c8aG|UdN{|*mSW#3IZ4lAUE5Ott{g5&LzMiT+HO%!wkcDiDa@(%MW-NwTs7p zwStNfhW`vqct~%%j2&@rkTFfEKMhc@Tscb)EE>BPPPU$OA*y z-ydTjJ}A3c?Hs&&|H=S(dSoh>23~bUFmdOB0?Ih9)4f_EOm2ZB9GIb;=;^=^ zMHYH}IyXdk3ATtk%Kc>N8Q~8OsTnq|J1tKM= zX>i?6x8X$q4p%E;ITn!LHC%(D8sd9O-(@$|9DN(qG~P9EwPXCQ+1_Oz-R*ax-GbgV zatq8)ik+F>W!tn!O{;PLqXCC+LFuRbF58p4a&P|shgMAq}&)?oM* z_+cfk7ciBl#J-c8=1{-ex)$^A>g?}XgyZwEI1ArRddEx4n0G8MB@eIv@>P1A9;|#T z4Y?5ck|+C2lWFkvxE@d@Tj}g%5a9(gA#|r)>`|zkp$CRFhcUmH8-cmgg#X9aGYrC-ogIFru(B`v?sNVZOlJRV#gTKZr)u*y`hM2z zJ}rhPm|SA;np`77D{n}wf+kn<0d}BrvFk7IZDdukbQ@$9DTd(ZI`+ai%9R%js@;-0f8%bFAhhmRvGTAPiVUC0n0aPJPw^ZEvr3SFSA-4Qag{6 zKv+`Y7x}6c(@kK>?UbWNd;oPanKE~hU-7D8gUEnnyH-KTo7xi6Oytzzt8c36b$;HB zJ#X!kwtAJJA3RpeU1#~rL2vB|N>h@s@4<+kPZ#%5%Y$ev;R{1adUt2_Vr}<^1i+59 zz<-ggFS6TM`NZwP4Aug?afxpBU7%|97F}}gA4g&9G4AOqnU&FMtHlN+bM_jIq+ z&gh%T?KfkuZf5|b^U0$iPE1p6w-wfdyj9Tv7-3X=^U=%upOOB(RP;hcKE~dt7^mD5-WL^)iuNh25q~-eFKS!|nLdwaR}9LzQfDEwCsywbeuk&k*y*gwKfn|qTcwBT zN2AikEtz7>k&WXe0W|vzR~`=xmPbL01HxX%OPT>B4_QfIuk(Syv9l3p2P@xD8(-BZ z;PPJi>pxeYM6MlMo$0xEJ2Xe#m8Ex)$Bw;~SGU!6ZV&>drTW)RYvtGWmXJzl=6>5x z#z=gphV7e@FW`qeFk*jP95((g>+#`6NvpACd%iVL_|`|jCHfwC@k1MRGzuo# zzRK@$$4nzI{7Wtzk{D5iLSFL}vlciA>5%)9%*@hof_(07Ky9nUvjPgg1`9gT3ltimu}7GX6pJeJK! z{8n=A`GgQ*=Hw{Csnrx>#-~`RLVXj7?vTd2#sNE~QmWb}@Pgq0$Dg+-IyvX`1!3ul z-0bntT-;W#NH+y3Rfqqd^9dTrx!tAxx#Q^Wj$SfCD2bSnTmNsor0T!%7&Go9zMnpC zIcG>j(FlwXZY=$SPaX0Ss+5nIOkzYDa)67~CW00`C>87ry|Bf+!NvYV$P4$Y*47s6 ze(s8j@dvgvQX%pYbdS0PTXNE}Hh^@2;43eu3li9_7?(?gi=skqe2N-cKQ}x_GtZeM zql{b3Y=`^@R+eb3qb31OiZmosA56TE#XEdL88m`Ubef`snf~$iHwPmCX*0!|7|!P( z41s#b_;jtTKKm#9SOHg(B+}U2?`vGT7q1jRFpA0>!qKit@gGj4lB@v$mzkLxxKd5N zd#0d~A09Tu5zZo5UuKnP4GoLMxTKqUjbA#;oA zGU6cytBD(~kLe&3aA%jK&IVJYpHVJH?S`Gz(tPr;F8_xJ=0eL^a)vdpC{~9n;mt* zNved_|MtGcGdL2Z;9|mrQ#hmvQ|DETZVep7TEq$DOvwGWXEBKU}N@ejG7 z-PVvB9P^K!ES%of4R9Z&cAGhqLh~%1fAtNhFGdWG*QeCqFHlyW^00oq{s%YwgR7ht z^RJU~6^bHqQt%JH4ph3IyR+k!NAv!E}EO{(|A6@tG2|oVIr~ z=BvVKB8#_^3nOWZb;S>^xFUTpLKGQQ-eNQzk}AF;LADfWL}>jnzomj2EaXKGY(gqk`EHZ|DE4fJucVd4g3{L1xPQHUSji0YjOIbf8c{0WdW zF0J}Pra_Y`V>}xO zP@#H|70rhUn-{kY8LJffyBGglNl`XpvqqRO!#^n}oC5I8J@rEV-n$d9eQQrN;*Mf{ zyHNH7`1*&qJo6>*+6?;L9cq6mop@>n-Bp+)hk}66`cZlyjnPn-fnnqy;vIhz-DKB~ zZl90=(+vq@C{dJ1hH{sA@TL8!JKt0TE!2TeihEh6KigXh`#=a8xBX*TfQsOSgrl2&kWqPYEYH`@vQh@*Zc z|G2vexC(cB%Pe$)T3Jw67lp2M%n*DWp-LjC$r?l(v(KKq{_)e24t|xjvF0FrtxLub z6%-N7uV;y8f+JTOSrLDVaJ&BL>zXCknH9YRcY%gXqhGA?Z)Jc9Axy|X{YTjI;{g|9-amlQZ=y0Nkzt4%R^@0jIXCiNkt!F2`Wh`qJcQ6BAk{b^{RBz zWyJ2nly;Q@uJFyCUybBu1EsjaED})ZZPc@LOn3Q^?Kf)^DCjw=(&=cFlM)=IlOp+D z9R&pvLTmw~zAi$w!NdCtw~2(%U^J^ff@YV$D=nwuP?b|S5*H_J z1BI5oqcNs`ASrHo9l{qM=&iHfLyjlOVV#o;(7Y)iGjPwE`H<=yYDR~I&bo?x173lh zLH(8uMo33HCEdJXt!f)--FmV@_=w60KGUVHfovUE^aVb}WOs#*>V$55Q~i3S?o*3q zcL&^EvgmuZY=t1inh8)w!-gKgQw~SbYd`SrC;YoFxGweSV=@TdcF7? zc(x~HQ=GJ~=o=$qu)6l%1-$q|$a3yhx#fTYMjNiQ^idWK*=Z#@Cnj0)pns}~sT z=>+7EAyzL=>()*%_K#nvrIyZ9(MAgjBRq$;j*2!vX$?MV6`B)=d6-jM;S9vjB3XL` zh4riq92IF7g7ibYLGv7sxy&4SU+sFlD)FeERpf9OuySkw4^6Ju(`bw*Tt+`s6riku zwyJHcWZ}Zn;$D;g>UCuGD--4jhi(?qwFPGKUzzcUi}=;H&w$&q@`oc|yKRUmxok@- zK{{NMai7UB;U()?x}1YEdMg;=8Q5Flz^I4QFdWOJK|X)!c~U=_%-l9F0>5PLQ)`msHer(zqdR3}gH$zdfw&cO7b2QXez;A6 zh+<@($fCeh>C5y$3cP!CGr4?zaxkdopuZ9Y2hme{CQ(fK4GFY^3HX(7e~h;YQcBp{ z3HH|5`DRa5#Wlg4{a0nLUH>^(GgYk<$NpGZu5tuef>)S-pSWI^rz3-{>A7KRHP4O^ z21u~_O37=@#0D49Eb^?=+xJ>O##7}$fh5RZ6g`TbX8D+Qq)lv01c-eYpa1vVy`{!Z zUa0CG`DXXAnc+PlX0SsTN3)9*zXE<#F{l5%K;aMJ_F1O2x-0z)Pj;#8^=~qI!KHp` zd54{Lhnsv;pexkT{N_PJ+ZZ}^*;{6U@0CLolY*i?Pk3k=TlF(sn;ilA(KiW(1WBHG zO8u{v`Ohi;+=}p(4Cl~Ydaakn*v^FxySsKT#UL_2qKs_&iG%sM(e<8oye*xD6Z$!o zRG*Ho7Aw%g#8d2%tM6USIGIl7bSR{I4v2~zX(?1;hvcbIbxkW)-;7sy(#jtEM|OdR zKe?tJFqvz`l75jyAfUmpr|B`PL_xRL!B7%sS`oeZgf6~)b2qs2qXDhHNSoM|z7O5v z7Fm__6YfT8av!1fPr6HZ!W;di3Z+qliC0j=Wow*h$%2@yL9MrC z)G{5`YQY;FAy_5P3gqRvyct)PTWzh8a+0FD4H9I!<;EOeqI+xz$=WSxQkJ(62^+z! zS0qE04!D;Whb`GMDf<-Q;JlXB1S-|hl$i}f3Daum&~J0I3i`I@?(Dx6%_k24^c2;PzC3y$$$sCbH!2x7e zaJiUgapvh^Pg=HtUO^W4XSo`=2!_LMk+Z-s}}X5~*#Sy0c%$47hCGDE6%hh{PkR zo@WTAuCu2>b3w%Wp`T!F5o;Y*=CQ|c2~UTz|a7PR3Y`8OUcT6wg*P6 zFjvHa@59~wTMAPW(dqY%KR9m*mMq{K$u9+{cCl8e?(RpDH~)o{*{S7I`^8Wv( z5LjwUu#!MA2d}gIx2wI;!E`0rUxw7APAR7GGPXl2C_%~RAbf}&2~QELU$m{U=*waw z@6_O|;AGTkdiCev4X022R4cX=AA?Qy4M)nm>#0jV)&fsq2ehKe=n2ExOu9-fQEFCd zPB7Byee;RhW+<@UUQwuua;j;2T}dCMBhc>ysX@+hI;z45c5a?}X?VY|ovTo+#xv8O zN3_(d8{Vau%p67av*KU$6)8$R1SGhoVpM-Xq=Nb@KYg9Q{X-FVY7U-HSukmiLai{L z=h_yxhv{bqgjDiEHpqgD=1&&G61wPMN?ZVimV$m0p%DT42+0WEj5tmp80Ca-+{H%R z5you}i=J}THPK7y6xJ;*4~E3$TPgAkXkt%E#kj)P(`lL!Tk_gWwAJ1AE{O%zP1!4HhG^K*&<^gbXoR|EN6{QMv?wDP+ zhDLKzBt|>o0HPz#`C;zIo>;css`j1!KM~%N2D?_uS709sOFZT*N-k$5GfRZT3nFBi zo_{?45f6JFJ&$;QtiJ^p7_xA})p7NWtB=g3u5|*TQx9xcvwL3>9+8p+Udmmb8REmb*D6U97mfq=%ve_;vm+a&8W(8NH*N z>!=AsG;`F#pF^Jbge8Ha7zvC zVuC4&QJJsP%K1Z;YxlQG->X2wrxA2zkP5C;ozWUR1QBy)6`xm=DB_PMOLJ4u7XQhj z6f+FTpZu^^TDd#Ol%@LuHJArkewQ|n=pXc8gO}Agq(&5&6z`cf4LU^Cn5(MHq|x8m6lUtdr_mr4LW#( z2y^O?@pXPzT{1GdmA4EYjDUxZ!EkEC-6~p_(7)Z`!h=i$(Jnc%3`l1t>!#>T{on@a zYdwZK)(yAz&4@=@!~??p0b~KvQ^7j8)c8@_pmps^ed@+XmG#lVW3e!coVKbcugOL* zX_=ZA5ed>?=pT$4u} zsrLp)w1m`kF0=nRyYHCN2XE;q96|iMzf=H1fJ1nKTTwo`#54=2aVy!g=#bG{Aqa_FO8xD1v`5P z0=V3#yn11c&To&-ey~;SFKz??h5`VfF3hezf7`v%M%uOndVF}r7Q8!xI$=4|GPN*L zPO~t6>IcVU=!*FK!bw~$|4f4?nSBsyS37Z2<_mSK`{DGT`TQN)8H5p#eA*bDOWo4^ zm}Fuer>+-Kf!kKrq!s>R`eUJ1^X(@5$;&rQ+7I6MLv3UQLD%QTKUU5K{F>oZta$l) z8^m2xCycm$aFtY|=LPMW4!X>wkFsw+l}F^b-WWX5TIgrj+gcEe_YDH2k=b3YdSOR>v4v8q|(|R{|b`9#!91tzbE*;gr|kf`c~6Xy02{(3=>9; zY_3!N8|?q&v&VbTNU&aGp6FixwiP|K_kwTDP_#13O z32Z#6xDc7*M>;&_ws*WWv6Pbj*__rcl&J|u_&}?i_MAw;$rPHU^f>J5vBT*(zo{$X z^ifE=Flc)BWd^dBa8MB?)|eCc;^X(CLL|T|5w42ePJ{pHTpLu^+m?*k%E(GpV`n|8QJ`I-Dvx>YgL0+V9>90F)WeKHSyJ?3_q#3FJ?nq^c1u z>kK(8)5Dh!hnZ-1X?=O zHP0rT(d8>$Lf6l>1kz_h$_sOH1W@W9N^)f>Y{9+huY6Ev4P(=FPCs!>MW2rWfJ)@vZs0B8;pR(@iL4 zAWZg=c~7$0)tSTv@8`=*YtoR|+wIweE_S5^ew$V$7x=9CDWUZW9UWslo1 zJm-FNo2$kYtXkvj!?6Y;+8UD^z5@C1#p;XjnPbZ5cpbfzAHhJH;xF*c-fFx*kMUv9b?$%lVryj6 zFk1-*wBJH<5!vK?x?%Qfx^KEcTEDNguhf?r^dPdSNLaj3?L-yTj@l+ zFHs;Y@WD@n_B!(hP~wmq3pC@&Dyi5sTG?r-=-*@y@cY4?o^O%?M*W*%<~7o#OJax4 zc49QmpBkr92TQ*$*{!aGM4p7MEL?S#m`yrWZ&)hS@Fx2+49VeQ##rH<- zoDO!((ZmnkX!W9nToOnMBqu*KHowB37sc1EYeO`n6<*W5%A(?_Pmi%^5j&Ys%QKF( zM4*FqZHN>W_bQ+|uE;Wc$`;bB8w5!b9u35Q1Ui!3^lnXFkvS&|drGwLR^|ZpyfWW7 zwQ%8M4+7E#1)fda<8Wr*m_*a#71(|&IUhdnA?k0tffAI~((wLI`Dl+}D)FJq&PVT< zoXFkz_k{n+dPp|vxX}^#{*+&B_w;=*VCMH>hzTVlTa2p++@=l1=UZYZhH0u#?fukOWELZajJ zM!cI~3@ch3cg?8$3Ot~4D{ii;SOT-R?_e2ROUqW!Cf*I3P=N?thNX}!F|aCHRrBsl zVK-V;(lt!sYt+vz3Kpd!8b71&rjzhm1Sdvspyv4PjQ$q38h(A$>gz|*JQ$U~gHQ^< zsRWXZGUqW1f*4>dD`e|DH?Mzc;BmE9frt-*Q2ovUKv1K%P(*nPg5B`dSxO!V@Z*9& zVeb-zM0#e^%NHG9JrEvL-1~_1`B^bhf-e2*2USgRs4Z zBxKfA@O9+CCDG{acWS{*)a^14PKY~xSw8zU5cRvLe?MFW>+2qkE;7Y%T=E=<-ML;xUVg10|Kqar!j& zTh@L~Kpc0;K#MOjp@AJ$ie~^ze-!(myHHO+!v&^{Q8(iHSa#BKSF0zlPmL#R>UGpZ z1LpShOwe#ieoP*E*Y%``VAcD;P6)N>!9)6v9M&e!=Pbh?zs30#Ko!R|v8c+I%nU&4 zt{6Z&T}Q@GBo#p%X~CuSL?K2N-bBM7h!KpYGc#eB)BO-9oBW+5i|^#der{{?IUY1^jPAgkYRe&jiGy^G{fk zCd9x-n5Hacc(<+WcJv~>PKVUVZ%Vsr53Ruj5B@N;Zhdk)U-8HPaW&|y{pR~^6j&k$ zb1){3j+WokbYxCz&7-+tZ$uUrZq?%OER=O9iVZ&M)0_ciz@wOi5>U>of~I>vnKhLee8DWmR=#E){Y~!_w48TYTn{+oKB)# z<8bMq?sHwJI}!VhjQ7*OH&otzFTQhcb9ziJHh~-B4;{^-KYPxFSV(qj{xK9#V$Kbd zh+&Sjc(A5Qe{wf<2JUXnl_9Z08jRPta|q()!vZMKET08fz+bHKxzbsOO#yii-Vra68ts@-n>p$Qj&-NBue)E%d!iJ`yDBSO;zy9lOS-^UrF%YW(O-4s*iy z39xDcZ}gbInk|J=saZr_^WC4hR&~@8e>jA;X1Or&(vGSu;1&!>DPg{J3o zv9yQQU1v6iT?G1H+ID)F5;1zarWSFHzi_!L1IeR`k-iIvb+DgCq38FUU$ zuf}dR+|6>9TxnnLz$`E~QEfl(~A3GXwiE@)<=V5dQ1-%CM*lBW!}0 zLe75wqTv!{mQ7|NomNZZhwr)AK=&P7KU29VFsx}aLyOL8)W&;Hfj=cKfh=dArV1I? zyE!>grd7PAWF;4EtHb3gvq|IgeV`!5;P4Lko&Zbk{;+EU zSmEj4LQ0C+9O1PXYGYp{KoF29{+GVma;e=Af)ZGX0)8gsyd!%gsJD&F*`X(8m%WUt ztAR;&b&uFcq8dRi|5Ay?u50{0yKyeUkrF?=N!s%hocO4vxf>_j7UkQ69Zi>7_Tx~9 zYjc_+akln1&57k4#37hjCTV55;L&(at@Z>GG^`^w&~@4AP9#|3p2`I&518EgoE0H4 zbOujA-vrdBC5;9!72jXh&Guk@ke!epaG@V_MA#m(irn$6@hr6#kypZzKyh9<%7~U8 zWjGPGr*H|jK@=iM`pDVYmZ$im0GSBRfP`eyRHx->{ED}g2N$!^h8jFk>{tID+esj}#L^gY}(|4lSsyFwVhwjr0A51C*f0%@RmU+^eAj=u4H~M&6 zml9+|IP~JxaZ_wI=M~#MWfTMeB8AZR^a@k2lKgpYI}1Eu*i*{YucDwQ4v&OA51#@? zgJ-|jy9TRLd3+t!h>GRzz7RzpnHW^yHx0c?)y`C4STj0oG1`Q#ZA2(31IcOWA{6 zI$|w7KTHpli$cEYBkww&rm~1g5Gb-p!H6o>;RP4HG+infi&~ zKt_pr3%BZi5=-|F-|JR6(=c17T8mv~$I8^?vbk#Hh%1Own1J$nML}Xk7kiJS)95AcZl3K#U2UafM!yf@x zjU)h%35Yqw?Rs#4sMMH7(t-?sL367iBv$pYx`@XvtNIG9D71DRMkGXs4MI1v%6J=E zV&kN+(`cAJUjE6=;tUwFu!}6rmdX&BIbk}Tc@a61*&tLg4I7#&=$nS5iuf{dH>3Z9 z?qom$4vF{dvOThAbVoc~WE&>qHpo{3p_oA~Y8*{L367+tkw;0DB>8Ianj?uSc@t4h z)QR>m7WEZy_;B`tMcnlAdpB~z2qn_D^s0_CYpbDAoiZbx#7go zEu_VK1eA;*r{p_}hpgs0$B-}M7fCIJV?TE4Cy#Lf#@DF~T2%5lZJmYW1&4y#>K<`s zVtZRG<&CRIeQ>FMxo0ICXCi}UhxNlhns*0l1oh=OGKv{rb`YRg+A81Gt#R%xW49hf zy7oT0Ba`kzW-@Y!6G>3~o^8TE1GN2G0D1QZy}TeFJ`7^CYeKe8bnR zm#){l{bzRqa+!wf>SkDu+ZosnOV9Yrf@kMqbEC3O&o?e9`{hKHiI!%4{o5$2I$rRw z_s=DyNuBR1xwJ!xRNN2RqCGO~{6m9RpRyGQR1#1F?|SkU=IuK@t#__m5l`YOe*|@I zqwA^y%3{Jr0+ZDb!yS#zpTLs=n@8M=;qu3dP&0Rlxsgq{jD*Z&J;??|C3R+4N%icJ z3LO3zx0=V>FtB>VgU-zD)`hG?NT%kJgqJ-F4->44gRT97E}E9IA`M-tnfJwtsw5KI zt+>YNX3-a7Te8o)lDbbl8RXdtWveDH=mp{n)M>`+PTsgws0szm_qWhK_duQWOWuT- z>Y0CLq_oLc|0bk1YsO+Y%t^&}n#z=UVk*u)?O=3$R#s2fcp@9(J=&sqzPe&>5z0hl7T>Ed!_B}-`={G+d zAP&14Ag99>nF@YMEFU^bLc}Zdw)ObT(pLNXaqmL{L=j9Ii%V@KxYrYzFMW5dF^3gK7R zvh4Z;#OYm>x`(kgT>ZZ`n0mJYgQSfi2Fn`&RVDg%!q8bgvRAZnV|RuU=iMe%ke)Ty zx8!z1-eVluo|0{!k{4 ztu_y(sMJ{+CK@GYwK!Kj+)Gej!lIodwSjdWaE6$d{RK&b)CA#^`>z@?6s$d9hz`Bb zMN*=^LA}8bE>yek(K^PJ`dvO#l`1o{bh2R_r6;-IP9;Dw-kdrA$!jSwC3fEc56X-s@$Z|8hM!Pf30lP$W3% zy{?Y|toQfl=Qf`{3TQNRe3K0G9nypFS;*sUhQjz~1}6KFrA`Ty`=zRNWgE|b;C`gS zD$JnyxuW^o*EltEQ^Y)$Faz-Rjg&*CV-J7*=Q6o>QXV|gK0|@^9da!WbLx#H@lYav zV6p<;daXRlfloypG~}~n3Rjt`F_(otTi9LEQsiadfTlNlxDvjG^ifhVg4a-YTc1te z&X-;DkG5KtK8Tqk5d^0C@PKru?|26?pKZOCqZ3`l@<+au^#N#AD4;Z)NKu?K~{!_`YDsqyYctMv@gFw5p?P zTCYkJ3waC9Qt`sTh;%}`a{5ZR*~G(Cpc^&86?k-S@xX1D$=f^{6|3n_UmK&d^vpu7 zngPrfwag>`aY)_T*mWqwagG9iGntSS+12@cI^0-zxQPqYM>lV1=6 zj3#WZ0;rd{o*dHnMk52=`_WEtF_*FVUxIb2B(K+z*B*%b#m`GB>2%1LrqO0aZsQkQ z6<_SF3KpULTHF9MhY8&P1SpA-z>x-V6UUzSB&=+{W_f8uh0We7=xYlG$=U`23o-&5 zb;cK~pkkwWvDKennjX0bH%$@|LjHy(Z&CZ@69t@Wmt;LCz7YQgK@lW1>n)gAvCk6m z4*Z}~s~V-rLQ#?TnJwJK3j$j&pJo#N!b|V)%+n|8oG?IU6x)Nd zxn=Zu-Vh4JlYr3cHzX*ZjAH;m_UaUEZf!$U!`e&h=rK%jd1t5G$X`XaT(*CUM&bNL zi~=|xr|SjrI?6@^$nyZosU^{?mv?^!jxkM10H#szS?AWIsB#5Zy!&kbBDEoCNWwRM zLDS7G5vH4`()|r7;4is(b%l0`TR@BE1Bl8oYd>LX2tBz4M8CoytrDSXX=qdGR>_=f zT*uf*cZ^=KKoy!VH1IU=qA0vGr_AdvZ?@e0N@3p46kAv}d=N9M|57az1BUNtid%{2 z>SzqE&pU1;g~GTdUVk%c$PHCF@nyhk#8v;p0HK0FTT!|{nXRVgPex6WJv^j=6!Q@3 znP%wUZvkd+ykC6Xj`qS&t-~$N7sDZ`uV3B+>hmsxD$R!SY*E4Y6>&VqS5b{QEwI;px|CYf+=e}|IJ2=CLQ+Zd~l$688pkW22XL?boY8$5+GdfK@lXSwE2>5*b)Zu+C$DMrTW$epQ>P+yCKW zg3=~8ZYu~#9@V&Hg#Sg*xc)IzC|xc&r80iTLGdUK6gh&u5n;Ue%(TN!OcnPimt89_ zzmc#ocY|`oU4Cs|vSbcYVP$Gg$&9?yF6|SA+A)&JSGt#hDRpA6Hy%$;Jm%ULC$vvX d%GcizmsKpCyHsBl-&sC@qMVv+t+ZLt{{UEwJyHMw literal 0 HcmV?d00001 diff --git a/app/src/assets/ai/workflow/confirm-file.png b/app/src/assets/ai/workflow/confirm-file.png new file mode 100644 index 0000000000000000000000000000000000000000..fa28fb8c45fa15c5b90b1c90f1a75703a5d736a8 GIT binary patch literal 408 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 literal 0 HcmV?d00001 diff --git a/app/src/assets/ai/workflow/workflowIcon.png b/app/src/assets/ai/workflow/workflowIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..69d3c8bad7e2c61dbec95b0ce14d208a3b86aae7 GIT binary patch literal 177200 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%0AsxD!?kX~*PVDT*(y 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�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 P_`9p7sakT=Ea3kDL2+1Z literal 0 HcmV?d00001 diff --git a/app/src/assets/datacenter/table2x.png b/app/src/assets/datacenter/table2x.png new file mode 100644 index 0000000000000000000000000000000000000000..7e41bbea9f93f4ae1a545372806a78378a2615c1 GIT binary patch literal 2581 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 U0iTilt^fc407*qoM6N<$f>F5`G5`Po literal 0 HcmV?d00001 diff --git a/app/src/assets/defaultUserAvatar.png b/app/src/assets/defaultUserAvatar.png new file mode 100644 index 0000000000000000000000000000000000000000..207dc70d9925b7946a43440791f26efd3444fdbc GIT binary patch literal 44718 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 literal 0 HcmV?d00001 diff --git a/app/src/assets/login/dingding-60.png b/app/src/assets/login/dingding-60.png new file mode 100644 index 0000000000000000000000000000000000000000..3b86c171a35c1373e12a0ec2a1405a777afde531 GIT binary patch literal 2393 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 LNkvXXu0mjffHaWW literal 0 HcmV?d00001 diff --git a/app/src/assets/login/wx-60.png b/app/src/assets/login/wx-60.png new file mode 100644 index 0000000000000000000000000000000000000000..52383efdc10804c0fef92ae4edb7cf47a0df5dcf GIT binary patch literal 2633 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 literal 0 HcmV?d00001 diff --git a/app/src/bootstrap.ts b/app/src/bootstrap.ts new file mode 100644 index 0000000..366e088 --- /dev/null +++ b/app/src/bootstrap.ts @@ -0,0 +1,90 @@ +import { createApp, watchEffect } from 'vue'; +import { + BubbleList, + Conversations, + Sender, + XMarkdown, +} from 'vue-element-plus-x'; + +import { registerAccessDirective } from '@aiflowy/access'; +import { registerLoadingDirective } from '@aiflowy/common-ui'; +import { preferences } from '@aiflowy/preferences'; +import { initStores } from '@aiflowy/stores'; +import '@aiflowy/styles'; +import '@aiflowy/styles/ele'; + +import { useTitle } from '@vueuse/core'; +import { ElLoading } from 'element-plus'; + +import { $t, setupI18n } from '#/locales'; + +import { initComponentAdapter } from './adapter/component'; +import { initSetupAIFlowyForm } from './adapter/form'; +import App from './app.vue'; +import { router } from './router'; + +async function bootstrap(namespace: string) { + // 初始化组件适配器 + await initComponentAdapter(); + + // 初始化表单组件 + await initSetupAIFlowyForm(); + + // // 设置弹窗的默认配置 + // setDefaultModalProps({ + // fullscreenButton: false, + // }); + // // 设置抽屉的默认配置 + // setDefaultDrawerProps({ + // zIndex: 2000, + // }); + const app = createApp(App); + + // 注册Element Plus提供的v-loading指令 + app.directive('loading', ElLoading.directive); + + app.component('ElBubbleList', BubbleList); + app.component('ElConversations', Conversations); + app.component('ElSender', Sender); + app.component('XMarkdown', XMarkdown); + + // 注册AIFlowy提供的v-loading和v-spinning指令 + registerLoadingDirective(app, { + loading: false, // AIFlowy提供的v-loading指令和Element Plus提供的v-loading指令二选一即可,此处false表示不注册AIFlowy提供的v-loading指令 + spinning: 'spinning', + }); + + // 国际化 i18n 配置 + await setupI18n(app); + + // 配置 pinia-tore + await initStores(app, { namespace }); + + // 安装权限指令 + registerAccessDirective(app); + + // 初始化 tippy + const { initTippy } = await import('@aiflowy/common-ui/es/tippy'); + initTippy(app); + + // 配置路由及路由守卫 + app.use(router); + + // 配置Motion插件 + const { MotionPlugin } = await import('@aiflowy/plugins/motion'); + app.use(MotionPlugin); + + // 动态更新标题 + watchEffect(() => { + if (preferences.app.dynamicTitle) { + const routeTitle = router.currentRoute.value.meta?.title; + const pageTitle = + (routeTitle ? `${$t(routeTitle)} - ` : '') + preferences.app.name; + useTitle(pageTitle); + } + }); + + app.mount('#app'); +} + +export { bootstrap }; diff --git a/app/src/components/botAvatar/botAvatar.vue b/app/src/components/botAvatar/botAvatar.vue new file mode 100644 index 0000000..8b6bc90 --- /dev/null +++ b/app/src/components/botAvatar/botAvatar.vue @@ -0,0 +1,14 @@ + + + diff --git a/app/src/components/cardPage/CardPage.vue b/app/src/components/cardPage/CardPage.vue new file mode 100644 index 0000000..3621443 --- /dev/null +++ b/app/src/components/cardPage/CardPage.vue @@ -0,0 +1,355 @@ + + + + + diff --git a/app/src/components/categoryPanel/CategoryCrudPanel.vue b/app/src/components/categoryPanel/CategoryCrudPanel.vue new file mode 100644 index 0000000..21d0dd1 --- /dev/null +++ b/app/src/components/categoryPanel/CategoryCrudPanel.vue @@ -0,0 +1,325 @@ + + + + + diff --git a/app/src/components/categoryPanel/CategoryPanel.vue b/app/src/components/categoryPanel/CategoryPanel.vue new file mode 100644 index 0000000..4a32d23 --- /dev/null +++ b/app/src/components/categoryPanel/CategoryPanel.vue @@ -0,0 +1,370 @@ + + + + + diff --git a/app/src/components/chat/ProblemPresupposition.vue b/app/src/components/chat/ProblemPresupposition.vue new file mode 100644 index 0000000..0d99199 --- /dev/null +++ b/app/src/components/chat/ProblemPresupposition.vue @@ -0,0 +1,91 @@ + + + + + diff --git a/app/src/components/chat/PublishWxOfficalAccount.vue b/app/src/components/chat/PublishWxOfficalAccount.vue new file mode 100644 index 0000000..6a336df --- /dev/null +++ b/app/src/components/chat/PublishWxOfficalAccount.vue @@ -0,0 +1,146 @@ + + + + + diff --git a/app/src/components/chat/SenderHeader.vue b/app/src/components/chat/SenderHeader.vue new file mode 100644 index 0000000..ac63180 --- /dev/null +++ b/app/src/components/chat/SenderHeader.vue @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/components/chat/chat.vue b/app/src/components/chat/chat.vue new file mode 100644 index 0000000..9204473 --- /dev/null +++ b/app/src/components/chat/chat.vue @@ -0,0 +1,407 @@ + + + + + diff --git a/app/src/components/collapse/CustomCoolapse.vue b/app/src/components/collapse/CustomCoolapse.vue new file mode 100644 index 0000000..0ff32f2 --- /dev/null +++ b/app/src/components/collapse/CustomCoolapse.vue @@ -0,0 +1,309 @@ + + + + + diff --git a/app/src/components/collapseViewItem/CollapseViewItem.vue b/app/src/components/collapseViewItem/CollapseViewItem.vue new file mode 100644 index 0000000..e38b664 --- /dev/null +++ b/app/src/components/collapseViewItem/CollapseViewItem.vue @@ -0,0 +1,119 @@ + + + + + diff --git a/app/src/components/commonSelectModal/CommonSelectDataModal.vue b/app/src/components/commonSelectModal/CommonSelectDataModal.vue new file mode 100644 index 0000000..725c1e0 --- /dev/null +++ b/app/src/components/commonSelectModal/CommonSelectDataModal.vue @@ -0,0 +1,471 @@ + + + + + diff --git a/app/src/components/cron/CronGenerator.vue b/app/src/components/cron/CronGenerator.vue new file mode 100644 index 0000000..a0951b5 --- /dev/null +++ b/app/src/components/cron/CronGenerator.vue @@ -0,0 +1,281 @@ + + + + + diff --git a/app/src/components/cron/CronPicker.vue b/app/src/components/cron/CronPicker.vue new file mode 100644 index 0000000..78775f0 --- /dev/null +++ b/app/src/components/cron/CronPicker.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/app/src/components/cron/CronTabPane.vue b/app/src/components/cron/CronTabPane.vue new file mode 100644 index 0000000..afeb34c --- /dev/null +++ b/app/src/components/cron/CronTabPane.vue @@ -0,0 +1,174 @@ + + + + + diff --git a/app/src/components/dict/DictSelect.vue b/app/src/components/dict/DictSelect.vue new file mode 100644 index 0000000..4baa82e --- /dev/null +++ b/app/src/components/dict/DictSelect.vue @@ -0,0 +1,190 @@ + + + + + diff --git a/app/src/components/headerSearch/HeaderSearch.vue b/app/src/components/headerSearch/HeaderSearch.vue new file mode 100644 index 0000000..c4e5e56 --- /dev/null +++ b/app/src/components/headerSearch/HeaderSearch.vue @@ -0,0 +1,221 @@ + + + + + diff --git a/app/src/components/icons/CategorizeIcon.vue b/app/src/components/icons/CategorizeIcon.vue new file mode 100644 index 0000000..9aeffdd --- /dev/null +++ b/app/src/components/icons/CategorizeIcon.vue @@ -0,0 +1,31 @@ + + + + + diff --git a/app/src/components/icons/DesignIcon.vue b/app/src/components/icons/DesignIcon.vue new file mode 100644 index 0000000..c5052ae --- /dev/null +++ b/app/src/components/icons/DesignIcon.vue @@ -0,0 +1,18 @@ + diff --git a/app/src/components/icons/EditIcon.vue b/app/src/components/icons/EditIcon.vue new file mode 100644 index 0000000..92141a8 --- /dev/null +++ b/app/src/components/icons/EditIcon.vue @@ -0,0 +1,33 @@ + + + + + diff --git a/app/src/components/icons/MagicStaffIcon.vue b/app/src/components/icons/MagicStaffIcon.vue new file mode 100644 index 0000000..318bf7b --- /dev/null +++ b/app/src/components/icons/MagicStaffIcon.vue @@ -0,0 +1,55 @@ + diff --git a/app/src/components/icons/ManageIcon.vue b/app/src/components/icons/ManageIcon.vue new file mode 100644 index 0000000..866f6e4 --- /dev/null +++ b/app/src/components/icons/ManageIcon.vue @@ -0,0 +1,40 @@ + + + + + diff --git a/app/src/components/icons/PluginIcon.vue b/app/src/components/icons/PluginIcon.vue new file mode 100644 index 0000000..0e8497e --- /dev/null +++ b/app/src/components/icons/PluginIcon.vue @@ -0,0 +1,46 @@ + + + + + diff --git a/app/src/components/icons/PluginToolIcon.vue b/app/src/components/icons/PluginToolIcon.vue new file mode 100644 index 0000000..dcc0e42 --- /dev/null +++ b/app/src/components/icons/PluginToolIcon.vue @@ -0,0 +1,31 @@ + + + + + diff --git a/app/src/components/icons/RecordingIcon.vue b/app/src/components/icons/RecordingIcon.vue new file mode 100644 index 0000000..6165ebd --- /dev/null +++ b/app/src/components/icons/RecordingIcon.vue @@ -0,0 +1,129 @@ + diff --git a/app/src/components/icons/SendEnableIcon.vue b/app/src/components/icons/SendEnableIcon.vue new file mode 100644 index 0000000..bfa1d10 --- /dev/null +++ b/app/src/components/icons/SendEnableIcon.vue @@ -0,0 +1,37 @@ + diff --git a/app/src/components/icons/SendIcon.vue b/app/src/components/icons/SendIcon.vue new file mode 100644 index 0000000..a400927 --- /dev/null +++ b/app/src/components/icons/SendIcon.vue @@ -0,0 +1,38 @@ + diff --git a/app/src/components/icons/SendingIcon.vue b/app/src/components/icons/SendingIcon.vue new file mode 100644 index 0000000..d29473b --- /dev/null +++ b/app/src/components/icons/SendingIcon.vue @@ -0,0 +1,47 @@ + diff --git a/app/src/components/json/ShowJson.vue b/app/src/components/json/ShowJson.vue new file mode 100644 index 0000000..193fcf5 --- /dev/null +++ b/app/src/components/json/ShowJson.vue @@ -0,0 +1,42 @@ + + + + + diff --git a/app/src/components/page/CardList.vue b/app/src/components/page/CardList.vue new file mode 100644 index 0000000..4e7cea8 --- /dev/null +++ b/app/src/components/page/CardList.vue @@ -0,0 +1,198 @@ + + + + + diff --git a/app/src/components/page/PageData.vue b/app/src/components/page/PageData.vue new file mode 100644 index 0000000..a1cc74f --- /dev/null +++ b/app/src/components/page/PageData.vue @@ -0,0 +1,129 @@ + + + diff --git a/app/src/components/page/PageSide.vue b/app/src/components/page/PageSide.vue new file mode 100644 index 0000000..dc193ef --- /dev/null +++ b/app/src/components/page/PageSide.vue @@ -0,0 +1,236 @@ + + + + + diff --git a/app/src/components/tag/Tag.vue b/app/src/components/tag/Tag.vue new file mode 100644 index 0000000..85a6cf3 --- /dev/null +++ b/app/src/components/tag/Tag.vue @@ -0,0 +1,226 @@ + + + + + diff --git a/app/src/components/tree/Tree.vue b/app/src/components/tree/Tree.vue new file mode 100644 index 0000000..61556c3 --- /dev/null +++ b/app/src/components/tree/Tree.vue @@ -0,0 +1,262 @@ + + + + + diff --git a/app/src/components/upload/Cropper.vue b/app/src/components/upload/Cropper.vue new file mode 100644 index 0000000..0dae046 --- /dev/null +++ b/app/src/components/upload/Cropper.vue @@ -0,0 +1,461 @@ + + + + + diff --git a/app/src/components/upload/CropperMulti.vue b/app/src/components/upload/CropperMulti.vue new file mode 100644 index 0000000..8afe5af --- /dev/null +++ b/app/src/components/upload/CropperMulti.vue @@ -0,0 +1,603 @@ + + + + + diff --git a/app/src/components/upload/DragFileUpload.vue b/app/src/components/upload/DragFileUpload.vue new file mode 100644 index 0000000..3c042dc --- /dev/null +++ b/app/src/components/upload/DragFileUpload.vue @@ -0,0 +1,83 @@ + + + diff --git a/app/src/components/upload/Upload.vue b/app/src/components/upload/Upload.vue new file mode 100644 index 0000000..b6d889c --- /dev/null +++ b/app/src/components/upload/Upload.vue @@ -0,0 +1,72 @@ + + + diff --git a/app/src/components/upload/UploadAvatar.vue b/app/src/components/upload/UploadAvatar.vue new file mode 100644 index 0000000..22719a1 --- /dev/null +++ b/app/src/components/upload/UploadAvatar.vue @@ -0,0 +1,125 @@ + + + + + + + diff --git a/app/src/layouts/auth.vue b/app/src/layouts/auth.vue new file mode 100644 index 0000000..ed889f8 --- /dev/null +++ b/app/src/layouts/auth.vue @@ -0,0 +1,27 @@ + + + diff --git a/app/src/layouts/basic.vue b/app/src/layouts/basic.vue new file mode 100644 index 0000000..35ee1e8 --- /dev/null +++ b/app/src/layouts/basic.vue @@ -0,0 +1,201 @@ + + + diff --git a/app/src/layouts/index.ts b/app/src/layouts/index.ts new file mode 100644 index 0000000..53bd2b7 --- /dev/null +++ b/app/src/layouts/index.ts @@ -0,0 +1,6 @@ +const BasicLayout = () => import('./basic.vue'); +const AuthPageLayout = () => import('./auth.vue'); + +const IFrameView = () => import('@aiflowy/layouts').then((m) => m.IFrameView); + +export { AuthPageLayout, BasicLayout, IFrameView }; diff --git a/app/src/locales/README.md b/app/src/locales/README.md new file mode 100644 index 0000000..7b45103 --- /dev/null +++ b/app/src/locales/README.md @@ -0,0 +1,3 @@ +# locale + +每个app使用的国际化可能不同,这里用于扩展国际化的功能,例如扩展 dayjs、antd组件库的多语言切换,以及app本身的国际化文件。 diff --git a/app/src/locales/index.ts b/app/src/locales/index.ts new file mode 100644 index 0000000..551dff8 --- /dev/null +++ b/app/src/locales/index.ts @@ -0,0 +1,102 @@ +import type { Language } from 'element-plus/es/locale'; + +import type { App } from 'vue'; + +import type { LocaleSetupOptions, SupportedLanguagesType } from '@aiflowy/locales'; + +import { ref } from 'vue'; + +import { + $t, + setupI18n as coreSetup, + loadLocalesMapFromDir, +} from '@aiflowy/locales'; +import { preferences } from '@aiflowy/preferences'; + +import dayjs from 'dayjs'; +import enLocale from 'element-plus/es/locale/lang/en'; +import defaultLocale from 'element-plus/es/locale/lang/zh-cn'; + +const elementLocale = ref(defaultLocale); + +const modules = import.meta.glob('./langs/**/*.json'); + +const localesMap = loadLocalesMapFromDir( + /\.\/langs\/([^/]+)\/(.*)\.json$/, + modules, +); +/** + * 加载应用特有的语言包 + * 这里也可以改造为从服务端获取翻译数据 + * @param lang + */ +async function loadMessages(lang: SupportedLanguagesType) { + const [appLocaleMessages] = await Promise.all([ + localesMap[lang]?.(), + loadThirdPartyMessage(lang), + ]); + return appLocaleMessages?.default; +} + +/** + * 加载第三方组件库的语言包 + * @param lang + */ +async function loadThirdPartyMessage(lang: SupportedLanguagesType) { + await Promise.all([loadElementLocale(lang), loadDayjsLocale(lang)]); +} + +/** + * 加载dayjs的语言包 + * @param lang + */ +async function loadDayjsLocale(lang: SupportedLanguagesType) { + let locale; + switch (lang) { + case 'en-US': { + locale = await import('dayjs/locale/en'); + break; + } + case 'zh-CN': { + locale = await import('dayjs/locale/zh-cn'); + break; + } + // 默认使用英语 + default: { + locale = await import('dayjs/locale/en'); + } + } + if (locale) { + dayjs.locale(locale); + } else { + console.error(`Failed to load dayjs locale for ${lang}`); + } +} + +/** + * 加载element-plus的语言包 + * @param lang + */ +async function loadElementLocale(lang: SupportedLanguagesType) { + switch (lang) { + case 'en-US': { + elementLocale.value = enLocale; + break; + } + case 'zh-CN': { + elementLocale.value = defaultLocale; + break; + } + } +} + +async function setupI18n(app: App, options: LocaleSetupOptions = {}) { + await coreSetup(app, { + defaultLocale: preferences.app.locale, + loadMessages, + missingWarn: !import.meta.env.PROD, + ...options, + }); +} + +export { $t, elementLocale, setupI18n }; diff --git a/app/src/locales/langs/en-US/aiResource.json b/app/src/locales/langs/en-US/aiResource.json new file mode 100644 index 0000000..f18527a --- /dev/null +++ b/app/src/locales/langs/en-US/aiResource.json @@ -0,0 +1,20 @@ +{ + "id": "Id", + "deptId": "DeptId", + "tenantId": "TenantId", + "resourceType": "ResourceType", + "resourceName": "ResourceName", + "suffix": "Suffix", + "resourceUrl": "ResourceUrl", + "origin": "Origin", + "status": "Status", + "created": "Created", + "createdBy": "CreatedBy", + "modified": "Modified", + "modifiedBy": "ModifiedBy", + "options": "Options", + "isDeleted": "IsDeleted", + "fileSize": "FileSize", + "categoryId": "Category", + "choose": "Choose" +} diff --git a/app/src/locales/langs/en-US/aiWorkflow.json b/app/src/locales/langs/en-US/aiWorkflow.json new file mode 100644 index 0000000..e3f7393 --- /dev/null +++ b/app/src/locales/langs/en-US/aiWorkflow.json @@ -0,0 +1,71 @@ +{ + "id": "Id", + "alias": "Alias", + "deptId": "DeptId", + "tenantId": "TenantId", + "title": "Title", + "description": "Description", + "icon": "Icon", + "content": "Content", + "created": "Created", + "createdBy": "CreatedBy", + "modified": "Modified", + "modifiedBy": "ModifiedBy", + "englishName": "EnglishName", + "status": "ShowInUserCenter", + "categoryId": "Category", + "params": "Params", + "steps": "Steps", + "result": "Result", + "confirm": "For contents to be confirmed, please confirm first!", + "completed": "Chain has been completed, please start a new one.", + "fileContentExtraction": "FileContentExtraction", + "documentAddress": "DocumentAddress", + "parsedText": "ParsedText", + "resourceSync": "ResourceSync", + "originUrl": "OriginUrl", + "savedUrl": "SavedUrl", + "saveOptions": "SaveOptions", + "image": "Image", + "video": "Video", + "audio": "Audio", + "document": "Document", + "other": "Other", + "fileGeneration": "FileGeneration", + "fileSettings": "FileSettings", + "fileDownloadURL": "FileDownloadURL", + "pluginSelect": "PluginSelect", + "saveData": "SaveData", + "dataToBeSaved": "DataToBeSaved", + "successInsertedRecords": "SuccessInsertedRecords", + "dataTable": "DataTable", + "queryData": "QueryData", + "queryResult": "QueryResult", + "filterConditions": "FilterConditions", + "limit": "Limit", + "sqlQuery": "SQL Query", + "subProcess": "SubProcess", + "workflowSelect": "WorkflowSelect", + "bochaSearch": "BochaSearch", + "descriptions": { + "fileContentExtraction": "Extract text content from PDF or Word documents, etc", + "documentAddress": "Document URL address", + "parsedText": "Parsed text content", + "resourceSync": "Download resource files and save to system resource library", + "originUrl": "File origin URL", + "resourceType": "Please select the type of resource", + "fileGeneration": "Generate Word, PDF, HTML, etc. files for users to download", + "fileType": "Please select the type of file to generate", + "fileDownloadURL": "Generated file URL", + "plugin": "Select a predefined plugin", + "saveData": "Save data to data hub", + "dataToBeSaved": "List of data to be saved", + "dataTable": "Please select a data table", + "queryData": "Query data from the data hub", + "filterConditions": "For example: name='张三' and age=21 or field = {{process variable}}", + "sqlQuery": "Query the database via SQL", + "enterSQL": "Please enter the SQL statement", + "queryResultJson": "Query result (JSON object)", + "subProcess": "Select a predefined process" + } +} diff --git a/app/src/locales/langs/en-US/aiWorkflowCategory.json b/app/src/locales/langs/en-US/aiWorkflowCategory.json new file mode 100644 index 0000000..ed18a81 --- /dev/null +++ b/app/src/locales/langs/en-US/aiWorkflowCategory.json @@ -0,0 +1,10 @@ +{ + "id": "Id", + "categoryName": "CategoryName", + "sortNo": "SortNo", + "created": "Created", + "createdBy": "CreatedBy", + "modified": "Modified", + "modifiedBy": "ModifiedBy", + "status": "Status" +} \ No newline at end of file diff --git a/app/src/locales/langs/en-US/aiWorkflowExecRecord.json b/app/src/locales/langs/en-US/aiWorkflowExecRecord.json new file mode 100644 index 0000000..a568b58 --- /dev/null +++ b/app/src/locales/langs/en-US/aiWorkflowExecRecord.json @@ -0,0 +1,25 @@ +{ + "id": "Id", + "execKey": "ExecKey", + "workflowId": "WorkflowId", + "title": "Title", + "description": "Description", + "input": "Input", + "output": "Output", + "workflowJson": "WorkflowJson", + "startTime": "StartTime", + "endTime": "EndTime", + "tokens": "Tokens", + "status": "Status", + "createdKey": "CreatedKey", + "createdBy": "CreatedBy", + "errorInfo": "ErrorInfo", + "moduleName": "ExecuteRecords", + "execTime": "TimeConsuming", + "status1": "Running", + "status5": "Suspend", + "status10": "Error", + "status20": "Success", + "status21": "Failed", + "status22": "Cancel" +} diff --git a/app/src/locales/langs/en-US/aiWorkflowRecordStep.json b/app/src/locales/langs/en-US/aiWorkflowRecordStep.json new file mode 100644 index 0000000..0aa8c11 --- /dev/null +++ b/app/src/locales/langs/en-US/aiWorkflowRecordStep.json @@ -0,0 +1,22 @@ +{ + "id": "Id", + "recordId": "RecordId", + "execKey": "ExecKey", + "nodeId": "NodeId", + "nodeName": "NodeName", + "input": "Input", + "output": "Output", + "nodeData": "NodeData", + "startTime": "StartTime", + "endTime": "EndTime", + "tokens": "Tokens", + "status": "Status", + "errorInfo": "ErrorInfo", + "moduleName": "Steps", + "execTime": "TimeConsuming", + "status1": "Running", + "status6": "Suspend", + "status10": "Error", + "status20": "Success", + "status21": "Failed" +} diff --git a/app/src/locales/langs/en-US/bot.json b/app/src/locales/langs/en-US/bot.json new file mode 100644 index 0000000..d1615d9 --- /dev/null +++ b/app/src/locales/langs/en-US/bot.json @@ -0,0 +1,26 @@ +{ + "problemPresupposition": "ProblemPresupposition", + "noPermission": "NoPermission", + "llm": "LLM", + "temperature": "Temperature", + "maxReplyLength": "MaxReplyLength", + "historyCount": "HistoryCount", + "skill": "Skill", + "conversationSettings": "ConversationSettings", + "welcomeMessage": "WelcomeMessage", + "deepThinking": "DeepThinking", + "enableDeepThinking": "EnableDeepThinking", + "publish": "Publish", + "postToWeChatOfficialAccount": "PostToWeChatOfficialAccount", + "configured": "Configured", + "notConfigured": "NotConfigured", + "placeholder": { + "welcome": "Please enter welcome message", + "prompt": "You are an AI assistant. Please provide clear and accurate answers based on the user's questions.", + "permission": "No permission to configure the bot!" + }, + "systemPrompt": "System Prompt", + "aiOptimization": "AI Optimization", + "weChatOfficialAccountConfiguration": "WeChat Official Account configuration", + "aiOptimizedPrompts": "AI Optimized Prompts" +} diff --git a/app/src/locales/langs/en-US/button.json b/app/src/locales/langs/en-US/button.json new file mode 100644 index 0000000..6facfab --- /dev/null +++ b/app/src/locales/langs/en-US/button.json @@ -0,0 +1,46 @@ +{ + "query": "Query", + "reset": "Reset", + "add": "Add", + "edit": "Edit", + "delete": "Delete", + "export": "Export", + "import": "Import", + "save": "Save", + "cancel": "Cancel", + "confirm": "Confirm", + "addLlm": "New large model added", + "oneClickAdd": "One-click add", + "newConversation": "New Conversation", + "start": "Start", + "stop": "Stop", + "log": "Log", + "back": "Back", + "importFile": "ImportFile", + "view": "View", + "download": "Download", + "upload": "Upload", + "preview": "Preview", + "nextStep": "NextStep", + "previousStep": "PreviousStep", + "addLine": "AddRecord", + "batchImport": "BatchImport", + "startImport": "StartImport", + "design": "Design", + "run": "Run", + "runTest": "RunTest", + "copy": "Copy", + "selectAll": "Select All", + "choose": "Select", + "setting": "Setting", + "create": "Create", + "update": "Update", + "oneClickOptimization": "One-click optimization", + "replace": "Replace", + "markAsRead": "MarkAsRead", + "markAsResolved": "MarkAsResolved", + "optimizing": "Optimizing", + "regenerate": "Regenerate", + "hide": "Hide", + "more": "Mode" +} diff --git a/app/src/locales/langs/en-US/common.json b/app/src/locales/langs/en-US/common.json new file mode 100644 index 0000000..5cbb07c --- /dev/null +++ b/app/src/locales/langs/en-US/common.json @@ -0,0 +1,25 @@ +{ + "handle": "Operate", + "searchPlaceholder": "Please enter search content", + "allCategories": "All", + "history": "History", + "noDataAvailable": "No data available", + "isRequired": " is required", + "avatar": "Avatar", + "otherLoginType": "Other login methods", + "Sun": "Sun", + "Mon": "Mon", + "Tue": "Tue", + "Wed": "Wed", + "Thu": "Thu", + "Fri": "Fri", + "Sat": "Sat", + "Second": "Second", + "Min": "Min", + "Hour": "Hour", + "Day": "Day", + "Month": "Month", + "Week": "Week", + "yes": "Yes", + "no": "No" +} diff --git a/app/src/locales/langs/en-US/cron.json b/app/src/locales/langs/en-US/cron.json new file mode 100644 index 0000000..cb967bb --- /dev/null +++ b/app/src/locales/langs/en-US/cron.json @@ -0,0 +1,18 @@ +{ + "cronExpressionGenerator": "CronExpressionGenerator", + "GenerateResult": "GenerateResult", + "CronExpression": "CronExpression", + "UseThisValue": "UseThisValue", + "CheckLast5ExecutionTimes": "CheckLast5ExecutionTimes", + "Last5ExecutionTimes": "Last5ExecutionTimes", + "ClickGenerate": "ClickGenerate", + "Per": "Per", + "NotSpecified": "NotSpecified", + "Cycle": "Cycle", + "From": "From", + "StartPer": "Start, Per", + "ExecuteOnce": "ExecuteOnce", + "Rang": "Rang", + "To": "To", + "Specify": "Specify" +} diff --git a/app/src/locales/langs/en-US/cropper.json b/app/src/locales/langs/en-US/cropper.json new file mode 100644 index 0000000..142d076 --- /dev/null +++ b/app/src/locales/langs/en-US/cropper.json @@ -0,0 +1,20 @@ +{ + "ImageCropping": "ImageCropping", + "message": { + "onlyImage": "Only image files can be uploaded!", + "imgSize": "Image size must not exceed {limit}MB!", + "uploadFailed": "Upload failed", + "notUrl": "Upload successful but no image URL returned", + "uploadSuccessful": "Upload successful!", + "reuploadSuccessful": "Re-upload successful!", + "notInitialized": "Cropper not initialized", + "cropFailed": "Crop failed, unable to get cropped image", + "fileCount": "Maximum {count} files allowed", + "avatarFormat": "Avatar must be {format} format only", + "avatarSize": "Avatar limit {limit} MB" + }, + "Uploading": "Uploading...", + "ConfirmCrop": "ConfirmCrop", + "Re-upload": "Re-upload", + "ClickToUpload": "ClickToUpload" +} diff --git a/app/src/locales/langs/en-US/datacenterTable.json b/app/src/locales/langs/en-US/datacenterTable.json new file mode 100644 index 0000000..fa9c56d --- /dev/null +++ b/app/src/locales/langs/en-US/datacenterTable.json @@ -0,0 +1,33 @@ +{ + "title": "DataCenter", + "id": "Id", + "deptId": "DeptId", + "tenantId": "TenantId", + "tableName": "TableName", + "tableDesc": "TableDesc", + "actualTable": "ActualTable", + "status": "Status", + "created": "Created", + "createdBy": "CreatedBy", + "modified": "Modified", + "modifiedBy": "ModifiedBy", + "options": "Options", + "fields": "Fields", + "fieldName": "FiledName", + "fieldDesc": "Description", + "fieldType": "Type", + "required": "Required", + "noFieldError": "At least one field is required", + "fieldInfoError": "Field info is not completed", + "nameRegx": "It can only contain lowercase letters, numbers, and underscores, and must start with a lowercase letter", + "structure": "TableStructure", + "data": "Data", + "uploadTitle": "Click to upload", + "uploadDesc": "Choose an excel file to upload, file size limit 10MB.", + "downloadTemplate": "Download template", + "importComplete": "Import is completed", + "totalNum": "Total Count", + "successNum": "Success Count", + "failNum": "Fail Count", + "failList": "Fail List" +} diff --git a/app/src/locales/langs/en-US/datacenterTableFields.json b/app/src/locales/langs/en-US/datacenterTableFields.json new file mode 100644 index 0000000..a125757 --- /dev/null +++ b/app/src/locales/langs/en-US/datacenterTableFields.json @@ -0,0 +1,13 @@ +{ + "id": "Id", + "tableId": "TableId", + "fieldName": "FieldName", + "fieldDesc": "FieldDesc", + "fieldType": "FieldType", + "required": "Required", + "created": "Created", + "createdBy": "CreatedBy", + "modified": "Modified", + "modifiedBy": "ModifiedBy", + "options": "Options" +} diff --git a/app/src/locales/langs/en-US/demos.json b/app/src/locales/langs/en-US/demos.json new file mode 100644 index 0000000..f6f01bd --- /dev/null +++ b/app/src/locales/langs/en-US/demos.json @@ -0,0 +1,14 @@ +{ + "title": "Demos", + "elementPlus": "Element Plus", + "form": "Form", + "aiflowy": { + "title": "Project", + "about": "About", + "document": "Document", + "antdv": "Ant Design Vue Version", + "naive-ui": "Naive UI Version", + "element-plus": "Element Plus Version", + "tdesign": "TDesign Vue Version" + } +} diff --git a/app/src/locales/langs/en-US/dictSelect.json b/app/src/locales/langs/en-US/dictSelect.json new file mode 100644 index 0000000..db64bc8 --- /dev/null +++ b/app/src/locales/langs/en-US/dictSelect.json @@ -0,0 +1,4 @@ +{ + "placeholder": "Please select", + "getError": "Get Data Error!" +} diff --git a/app/src/locales/langs/en-US/documentCollection.json b/app/src/locales/langs/en-US/documentCollection.json new file mode 100644 index 0000000..bcbc238 --- /dev/null +++ b/app/src/locales/langs/en-US/documentCollection.json @@ -0,0 +1,81 @@ +{ + "id": "Id", + "alias": "Alias", + "deptId": "DeptId", + "tenantId": "TenantId", + "icon": "Icon", + "title": "Title", + "description": "Description", + "slug": "Slug", + "vectorStoreEnable": "VectorStoreEnable", + "vectorStoreType": "VectorStoreType", + "vectorStoreCollection": "VectorStoreCollection", + "vectorStoreConfig": "VectorStoreConfig", + "vectorEmbedLlmId": "VectorEmbedLlm", + "created": "Created", + "createdBy": "CreatedBy", + "modified": "Modified", + "modifiedBy": "ModifiedBy", + "options": "Options", + "rerankLlmId": "RerankLlm", + "searchEngineEnable": "SearchEngineEnable", + "englishName": "EnglishName", + "documentType": "DocumentType", + "fileName": "fileName", + "knowledgeCount": "Number of knowledge items", + "createdModifyTime": "Creation/update time", + "documentList": "documentList", + "knowledgeRetrieval": "knowledgeRetrieval", + "sorting": "Sorting", + "content": "Content", + "placeholder": { + "title": "Please input title", + "description": "Please provide a description so that the large model can better understand the knowledge base and make calls", + "englishName": "Please enter an English name", + "alias": "Please enter an alias, Chinese is not allowed", + "embedLlm": "Please choose a vector model", + "rerankLlm": "Please choose to rearrange the model", + "vectorStoreCollection": "Can only contain letters, numbers, and underscores with a length between 3-20 characters", + "vectorStoreType": "Please select the vector database type" + }, + "importDoc": { + "fileUpload": "File upload", + "parameterSettings": "ParameterSettings", + "segmentedPreview": "SegmentedPreview", + "confirmImport": "ConfirmImport", + "fileName": "File Name", + "progressUpload": "Progress of file upload", + "fileSize": "File size" + }, + "splitterDoc": { + "fileType": "FileType", + "splitterName": "Segmenter", + "chunkSize": "SegmentLength", + "overlapSize": "SegmentOverlap", + "regex": "RegularExpression", + "document": "Document", + "simpleDocumentSplitter": "SimpleDocumentSplitter", + "simpleTokenizeSplitter": "SimpleTokenizeSplitter", + "regexDocumentSplitter": "RegexDocumentSplitter", + "uploadStatus": "UploadStatus", + "pendingUpload": "PendingUpload", + "completed": "Completed", + "uploading": "Parsing in progress", + "importSuccess": "ImportSuccess" + }, + "documentManagement": "Document management", + "actions": { + "knowledge": "Knowledge", + "retrieve": "Retrieve", + "addKnowledge": "AddKnowledge", + "confirmImport": "ConfirmImport", + "cancelImport": "CancelImport" + }, + "searchResults": "SearchResults", + "documentPreview": "DocumentPreview", + "total": "Total", + "segments": "Segments", + "similarityScore": "SimilarityScore", + "alibabaCloud": "AlibabaCloud", + "tencentCloud": "tencentCloud" +} diff --git a/app/src/locales/langs/en-US/headerSearch.json b/app/src/locales/langs/en-US/headerSearch.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/app/src/locales/langs/en-US/headerSearch.json @@ -0,0 +1 @@ +{} diff --git a/app/src/locales/langs/en-US/llm.json b/app/src/locales/langs/en-US/llm.json new file mode 100644 index 0000000..41709b1 --- /dev/null +++ b/app/src/locales/langs/en-US/llm.json @@ -0,0 +1,79 @@ +{ + "filed": + { + "id": "Id", + "deptId": "DeptId", + "tenantId": "TenantId", + "title": "Title", + "brand": "Brand", + "icon": "Icon", + "description": "Description", + "supportChat": "SupportChat", + "supportFunctionCalling": "SupportFunctionCalling", + "supportEmbed": "SupportEmbed", + "supportReranker": "SupportReranker", + "supportTextToImage": "SupportTextToImage", + "supportImageToImage": "SupportImageToImage", + "supportTextToAudio": "SupportTextToAudio", + "supportAudioToAudio": "SupportAudioToAudio", + "supportTextToVideo": "SupportTextToVideo", + "supportImageToVideo": "SupportImageToVideo", + "multimodal": "multimodal", + "llmEndpoint": "LlmEndpoint", + "chatPath": "ChatPath", + "embedPath": "embedPath", + "llmModel": "LlmModel", + "llmApiKey": "apiKey", + "llmExtraConfig": "LlmExtraConfig", + "options": "Options", + "ability": "Ability" + } + , + "llmModal": { + "TitleRequired": "Please enter the name", + "BrandRequired": "Please enter the brand", + "ModelRequired": "Please enter the model", + "ApiKeyRequired": "Please enter the apiKey", + "QuickAddLlm": "One-click addition of large models" + }, + "placeholder": { + "title": "Please enter the title", + "brand": "Please enter the brand", + "llmModel": "Please enter the llmModel", + "description": "Please enter the description" + }, + "actions": { + "verifyConfiguration": "Verify Configuration" + }, + "message": { + "verifySuccess": "Verification successful" + }, + "addProvider": "Provider list", + "modelType": "ModelType", + "llmModel": "ModelName", + "title": "name", + "groupName": "GroupName", + "provider": "供应商", + "ability": "ModelAbility", + "button": { + "management": "Management", + "test": "Test", + "addAllLlm": "Add models from the list", + "RetrieveAgain": "Retrieve the model list again" + }, + "all": "All", + "verifyLlmTitle": "Verify Large Model", + "searchTextPlaceholder": "Search for model name or name", + "testSuccess": "TestSuccess", + "modelAbility": { + "supportThinking": "Thinking", + "supportTool": "Tool", + "SupportAudio": "Audio", + "SupportVideo": "Video", + "SupportImage": "Image", + "supportFree": "Free", + "supportImageB64Only": "ImageB64Only", + "supportToolMessage": "SupportToolMessage" + }, + "requestPath": "RequestPath" +} diff --git a/app/src/locales/langs/en-US/llmProvider.json b/app/src/locales/langs/en-US/llmProvider.json new file mode 100644 index 0000000..b0e9d6f --- /dev/null +++ b/app/src/locales/langs/en-US/llmProvider.json @@ -0,0 +1,15 @@ +{ + "providerName": "ProviderName", + "provider": "Provider", + "icon": "Icon", + "apiKey": "ApiKey", + "endpoint": "APIAddress", + "embedPath": "EmbedPath", + "chatPath": "ChatPath", + "rerankPath": "RerankPath", + "embeddingModel": "EmbeddingModel", + "chatModel": "ChatModel", + "rerankModel": "RerankModel", + "model": "Model", + "apiType": "ApiType" +} diff --git a/app/src/locales/langs/en-US/mcp.json b/app/src/locales/langs/en-US/mcp.json new file mode 100644 index 0000000..01c823f --- /dev/null +++ b/app/src/locales/langs/en-US/mcp.json @@ -0,0 +1,20 @@ +{ + "id": "Id", + "title": "Title", + "description": "Description", + "configJson": "ConfigJson", + "deptId": "DeptId", + "tenantId": "TenantId", + "created": "Created", + "createdBy": "CreatedBy", + "modified": "Modified", + "modifiedBy": "ModifiedBy", + "status": "Status", + "modal": { + "config": "Config", + "tool": "Tool", + "table": { + "availableTools": "Available Tools" + } + } +} diff --git a/app/src/locales/langs/en-US/menus.json b/app/src/locales/langs/en-US/menus.json new file mode 100644 index 0000000..342b95d --- /dev/null +++ b/app/src/locales/langs/en-US/menus.json @@ -0,0 +1,33 @@ +{ + "system": { + "title": "System", + "sysAccount": "Account", + "sysRole": "Role", + "sysMenu": "Menu", + "sysDept": "Department", + "sysPosition": "Position", + "sysDict": "Dictionary", + "sysJob": "Job", + "sysLog": "Log", + "sysFeedback": "UserFeedback", + "sysAppearance": "Appearance", + "oauth": "OAuth" + }, + "ai": { + "bots": "ChatAssistant", + "title": "AI", + "resources": "Resources", + "datacenter": "Datacenter", + "workflow": "Workflow", + "plugin": "Plugin", + "model": "Model", + "documentCollection": "DocumentCollection", + "knowledge": "DocumentManagement", + "mcp": "MCP" + }, + "settings": { + "title": "SettingsConfiguration", + "settingsConfig": "SettingsConfig", + "apiKey": "API Key" + } +} diff --git a/app/src/locales/langs/en-US/message.json b/app/src/locales/langs/en-US/message.json new file mode 100644 index 0000000..0cfb8e9 --- /dev/null +++ b/app/src/locales/langs/en-US/message.json @@ -0,0 +1,46 @@ +{ + "deleteAlert": "Do you want to delete this item?", + "noticeTitle": "Notice", + "ok": "Yes", + "cancel": "No", + "required": "Item is required", + "saveOkMessage": "Saved successfully", + "saveFailMessage": "Save failed", + "deleteOkMessage": "Deleted successfully", + "deleteFailMessage": "Delete failed", + "loading": "Loading...", + "getDataError": "Get data error", + "updateOkMessage": "Updated successfully", + "startAlert": "Are you sure to start?", + "stopAlert": "Are you sure to stop?", + "preview": "Preview", + "notEmpty": "Can not be empty", + "success": "Success", + "fail": "Fail", + "pleaseSelect": "Please Select {name}", + "pleaseInputContent": "Please input content", + "notSupported": "Not supported yet", + "englishNameRule": "Rural subsistence allowance please enter characters consisting of letters, numbers, underscores, and hyphens, with a length not exceeding 64 characters", + "downloadSuccess": "Download success", + "downloadFail": "Download fail", + "copySuccess": "Copy success", + "copyFail": "Copy fail", + "upload": { + "title": "Click or drag and drop files here to upload", + "description": "TXT, PDF, DOCX, MD, PPT, PPTX, and XLSX files are supported. Each upload allows one file only, with a maximum size of 20M per file." + }, + "uploadFileFirst": "Please upload the file first", + "deleteModelAlert": "This operation will delete the large model. Are you sure to delete it?", + "deleteModelGroupAlert": "This operation will delete all large models under this group. Are you sure to delete them?", + "cannotBeEmpty": { + "name": "Parameter name cannot be empty", + "description": "Parameter description cannot be empty", + "method": "Input method cannot be empty", + "type": "Parameter type cannot be empty", + "all": "Please complete all required fields before submitting", + "error": "Parameter validation failed. Please complete all required fields" + }, + "completeForm": "Please complete the form information", + "notVideo": "Your browser does not support the video element.", + "notAudio": "Your browser does not support the audio element." +} diff --git a/app/src/locales/langs/en-US/page.json b/app/src/locales/langs/en-US/page.json new file mode 100644 index 0000000..fada1d6 --- /dev/null +++ b/app/src/locales/langs/en-US/page.json @@ -0,0 +1,23 @@ +{ + "auth": { + "login": "Login", + "register": "Register", + "codeLogin": "Code Login", + "qrcodeLogin": "Qr Code Login", + "forgetPassword": "Forget Password", + "profile": "Profile", + "accountPassword": "Account Password", + "systemMessage": "System Message", + "todoTasks": "Todo Tasks" + }, + "dashboard": { + "title": "Dashboard", + "analytics": "Analytics", + "workspace": "Workspace" + }, + "description": { + "accountPassword": "Messages from other users will be notified via site message", + "systemMessage": "System messages will be notified via site message", + "todoTasks": "Todo tasks will be notified via site message." + } +} diff --git a/app/src/locales/langs/en-US/plugin.json b/app/src/locales/langs/en-US/plugin.json new file mode 100644 index 0000000..a2589e4 --- /dev/null +++ b/app/src/locales/langs/en-US/plugin.json @@ -0,0 +1,33 @@ +{ + "pluginCategory": "Plugin category", + "id": "Id", + "alias": "Alias", + "name": "Name", + "description": "Description", + "type": "Type", + "baseUrl": "BaseUrl", + "authType": "AuthType", + "created": "Created", + "icon": "Icon", + "position": "Position", + "headers": "Headers", + "tokenKey": "TokenKey", + "tokenValue": "TokenValue", + "deptId": "DeptId", + "tenantId": "TenantId", + "createdBy": "CreatedBy", + "category": "Category", + "placeholder": { + "name": "Please enter plugin name", + "description": "Please enter plugin description", + "categorize": "Please enter categorize" + }, + "button": { + "addPlugin": "Add Plugin", + "categorize": "categorize", + "tools": "tools" + }, + "toolsManagement": "Tools Management", + "searchUsers": "Search Users", + "parameterValue": "ParameterValue" +} diff --git a/app/src/locales/langs/en-US/pluginItem.json b/app/src/locales/langs/en-US/pluginItem.json new file mode 100644 index 0000000..54dc215 --- /dev/null +++ b/app/src/locales/langs/en-US/pluginItem.json @@ -0,0 +1,35 @@ +{ + "id": "Id", + "pluginId": "PluginId", + "name": "Tool name", + "description": "Description", + "basePath": "BasePath", + "created": "Created", + "status": "Status", + "inputData": "InputData", + "outputData": "OutputData", + "requestMethod": "RequestMethod", + "serviceStatus": "ServiceStatus", + "debugStatus": "DebugStatus", + "englishName": "EnglishName", + "createPluginTool": "Create tool", + "pluginToolEdit": { + "basicInfo": "Basic Info", + "configureInputParameters": "Configure input parameters", + "configureOutputParameters": "Configure output parameters", + "trialRun": "Trial run", + "toolPath": "Tool path", + "requestMethod": "RequestMethod", + "runResult": "Run result", + "run": "run" + }, + "parameterName": "Name", + "parameterDescription": "Description", + "parameterType": "Type", + "inputMethod": "InputMethod", + "required": "Required", + "defaultValue": "DefaultValue", + "enabledStatus": "EnabledStatus", + "addChildNode": "AddChildNode", + "addParameter": "Add Parameter" +} diff --git a/app/src/locales/langs/en-US/settingsConfig.json b/app/src/locales/langs/en-US/settingsConfig.json new file mode 100644 index 0000000..171e521 --- /dev/null +++ b/app/src/locales/langs/en-US/settingsConfig.json @@ -0,0 +1,10 @@ +{ + "title": "Large Model Configuration", + "modelOfChat": "Chat Model Provider", + "dialogModel": "Chat Model Settings", + "modelName": "Model Name", + "basic": "BasicInformation", + "updatePwd": "UpdatePassword", + "systemAIFunctionSettings": "System AI Function Settings", + "note": "Note: This config only applies to system AI features, not [Chat Assistant]." +} diff --git a/app/src/locales/langs/en-US/sysAccount.json b/app/src/locales/langs/en-US/sysAccount.json new file mode 100644 index 0000000..e7796dc --- /dev/null +++ b/app/src/locales/langs/en-US/sysAccount.json @@ -0,0 +1,27 @@ +{ + "id": "Id", + "deptId": "Dept", + "tenantId": "TenantId", + "loginName": "LoginName", + "password": "Password", + "accountType": "AccountType", + "nickname": "Nickname", + "mobile": "Mobile", + "email": "Email", + "avatar": "Avatar", + "dataScope": "DataScope", + "deptIdList": "DeptIdList", + "status": "Status", + "created": "Created", + "createdBy": "CreatedBy", + "modified": "Modified", + "modifiedBy": "ModifiedBy", + "remark": "Remark", + "isDeleted": "IsDeleted", + "roleIds": "Role", + "oldPwd": "OldPassword", + "newPwd": "NewPassword", + "confirmPwd": "ConfirmPassword", + "repeatPwd": "Please confirm your password again", + "notSamePwd": "The two passwords are inconsistent" +} diff --git a/app/src/locales/langs/en-US/sysApiKey.json b/app/src/locales/langs/en-US/sysApiKey.json new file mode 100644 index 0000000..19cc1ec --- /dev/null +++ b/app/src/locales/langs/en-US/sysApiKey.json @@ -0,0 +1,18 @@ +{ + "id": "Id", + "apiKey": "ApiKey", + "created": "Created", + "status": "Status", + "deptId": "DeptId", + "tenantId": "TenantId", + "expiredAt": "ExpiredAt", + "createdBy": "CreatedBy", + "addApiKey": "addApiKey", + "actions": { + "enable": "Enable", + "disable": "NotDisable", + "failure": "Failure" + }, + "permissions": "AuthInterface", + "addApiKeyNotice": "This operation will generate an API key. Please confirm whether to proceed" +} diff --git a/app/src/locales/langs/en-US/sysApiKeyResourcePermission.json b/app/src/locales/langs/en-US/sysApiKeyResourcePermission.json new file mode 100644 index 0000000..484e442 --- /dev/null +++ b/app/src/locales/langs/en-US/sysApiKeyResourcePermission.json @@ -0,0 +1,6 @@ +{ + "id": "Id", + "requestInterface": "RequestInterface", + "title": "Title", + "addPermission": "AddRequestInterface" +} diff --git a/app/src/locales/langs/en-US/sysAppearance.json b/app/src/locales/langs/en-US/sysAppearance.json new file mode 100644 index 0000000..bb0dae1 --- /dev/null +++ b/app/src/locales/langs/en-US/sysAppearance.json @@ -0,0 +1,24 @@ +{ + "Theme and Color Scheme": "Theme and Color Scheme", + "Theme Mode": "Theme Mode", + "Theme Color": "Theme Color", + "Layout & Navigation": "Layout & Navigation", + "Layout Mode": "Layout Mode", + "Interface Display": "Interface Display", + "Page Tabs": "Page Tabs", + "Animation": "Animation", + "Login Page Appearance": "Login Page Appearance", + "Login Page Layout": "Login Page Layout", + "Login Page Image": "Login Page Image", + "OnlyJPG": "Only .jpg format supported", + "Login Page Brand Copy": "Login Page Brand Copy", + "Welcome Title": "Welcome Title", + "Please enter the welcome title": "Please enter the welcome title", + "Welcome Description": "Welcome Description", + "Please enter the welcome description": "Please enter the welcome description", + "Slogan Title": "Slogan Title", + "Please enter the slogan title": "Please enter the slogan title", + "Slogan Description": "Slogan Description", + "Please enter the slogan description": "Please enter the slogan description", + "Thumbnail": "Thumbnail" +} diff --git a/app/src/locales/langs/en-US/sysDept.json b/app/src/locales/langs/en-US/sysDept.json new file mode 100644 index 0000000..9f9cbd4 --- /dev/null +++ b/app/src/locales/langs/en-US/sysDept.json @@ -0,0 +1,17 @@ +{ + "root": "Root", + "id": "Id", + "tenantId": "TenantId", + "parentId": "Parent", + "ancestors": "Ancestors", + "deptName": "DeptName", + "deptCode": "DeptCode", + "sortNo": "SortNo", + "status": "Status", + "created": "Created", + "createdBy": "CreatedBy", + "modified": "Modified", + "modifiedBy": "ModifiedBy", + "remark": "Remark", + "isDeleted": "IsDeleted" +} diff --git a/app/src/locales/langs/en-US/sysDict.json b/app/src/locales/langs/en-US/sysDict.json new file mode 100644 index 0000000..4d39378 --- /dev/null +++ b/app/src/locales/langs/en-US/sysDict.json @@ -0,0 +1,12 @@ +{ + "id": "Id", + "name": "Name", + "code": "Code", + "description": "Description", + "dictType": "DictType", + "sortNo": "SortNo", + "status": "Status", + "options": "Options", + "created": "Created", + "modified": "Modified" +} diff --git a/app/src/locales/langs/en-US/sysFeedback.json b/app/src/locales/langs/en-US/sysFeedback.json new file mode 100644 index 0000000..7905c58 --- /dev/null +++ b/app/src/locales/langs/en-US/sysFeedback.json @@ -0,0 +1,20 @@ +{ + "feedbackType": "FeedbackType", + "processingStatus": "ProcessingStatus", + "category": "Category", + "description": "Description", + "contactInformation": "ContactInformation", + "submittedAt": "SubmittedAt", + "functionalFailure": "FunctionalFailure", + "optimizationSuggestions": "OptimizationSuggestions", + "accountIssue": "AccountIssue", + "other": "Other", + "notViewed": "NotViewed", + "viewed": "Viewed", + "processed": "Processed", + "closed/Invalid": "Closed/Invalid", + "markedSuccessfully": "Marked Successfully!", + "basicInformation": "BasicInformation", + "feedbackContent": "FeedbackContent", + "attachments": "Attachments" +} diff --git a/app/src/locales/langs/en-US/sysJob.json b/app/src/locales/langs/en-US/sysJob.json new file mode 100644 index 0000000..35437af --- /dev/null +++ b/app/src/locales/langs/en-US/sysJob.json @@ -0,0 +1,23 @@ +{ + "id": "Id", + "deptId": "DeptId", + "tenantId": "TenantId", + "jobName": "JobName", + "jobType": "JobType", + "jobParams": "JobParams", + "cronExpression": "CronExpression", + "allowConcurrent": "AllowConcurrent", + "misfirePolicy": "MisfirePolicy", + "options": "Options", + "status": "Status", + "created": "Created", + "createdBy": "CreatedBy", + "modified": "Modified", + "modifiedBy": "ModifiedBy", + "remark": "Remark", + "isDeleted": "IsDeleted", + "workflow": "Workflow", + "beanMethod": "BeanMethod", + "javaMethod": "JavaMethod", + "example": "example" +} diff --git a/app/src/locales/langs/en-US/sysJobLog.json b/app/src/locales/langs/en-US/sysJobLog.json new file mode 100644 index 0000000..521ac9b --- /dev/null +++ b/app/src/locales/langs/en-US/sysJobLog.json @@ -0,0 +1,14 @@ +{ + "title": "JobLog", + "id": "Id", + "jobId": "JobId", + "jobName": "JobName", + "jobParams": "JobParams", + "jobResult": "JobResult", + "errorInfo": "ErrorInfo", + "status": "Status", + "startTime": "StartTime", + "endTime": "EndTime", + "created": "Created", + "remark": "Remark" +} diff --git a/app/src/locales/langs/en-US/sysLog.json b/app/src/locales/langs/en-US/sysLog.json new file mode 100644 index 0000000..651d7be --- /dev/null +++ b/app/src/locales/langs/en-US/sysLog.json @@ -0,0 +1,14 @@ +{ + "id": "Id", + "accountId": "AccountId", + "actionName": "ActionName", + "actionType": "ActionType", + "actionClass": "ActionClass", + "actionMethod": "ActionMethod", + "actionUrl": "ActionUrl", + "actionIp": "ActionIp", + "actionParams": "ActionParams", + "actionBody": "ActionBody", + "status": "Status", + "created": "Created" +} diff --git a/app/src/locales/langs/en-US/sysMenu.json b/app/src/locales/langs/en-US/sysMenu.json new file mode 100644 index 0000000..acda776 --- /dev/null +++ b/app/src/locales/langs/en-US/sysMenu.json @@ -0,0 +1,20 @@ +{ +"root":"Top", +"id": "Id", +"parentId": "Parent", +"menuType": "MenuType", +"menuTitle": "MenuTitle", +"menuUrl": "MenuUrl", +"component": "Component", +"menuIcon": "MenuIcon", +"isShow": "IsShow", +"permissionTag": "PermissionTag", +"sortNo": "SortNo", +"status": "Status", +"created": "Created", +"createdBy": "CreatedBy", +"modified": "Modified", +"modifiedBy": "ModifiedBy", +"remark": "Remark", +"isDeleted": "IsDeleted" +} diff --git a/app/src/locales/langs/en-US/sysOption.json b/app/src/locales/langs/en-US/sysOption.json new file mode 100644 index 0000000..614f41d --- /dev/null +++ b/app/src/locales/langs/en-US/sysOption.json @@ -0,0 +1,4 @@ +{ + "oauthWxWeb": "WechatLogin", + "oauthDingTalk": "DingTalkLogin" +} diff --git a/app/src/locales/langs/en-US/sysPosition.json b/app/src/locales/langs/en-US/sysPosition.json new file mode 100644 index 0000000..a3d2a53 --- /dev/null +++ b/app/src/locales/langs/en-US/sysPosition.json @@ -0,0 +1,24 @@ +{ + "id": "Id", + "tenantId": "TenantId", + "deptId": "Dept", + "positionName": "PositionName", + "positionCode": "PositionCode", + "sortNo": "SortNo", + "status": "Status", + "created": "Created", + "createdBy": "CreatedBy", + "modified": "Modified", + "modifiedBy": "ModifiedBy", + "remark": "Remark", + "isDeleted": "IsDeleted", + "enable": "Enable", + "disable": "Disable", + "message": { + "title": "Confirm to {actionText} \"{positionName}\"?" + }, + "placeholder": { + "positionName": "Please enter position name", + "positionCode": "Please enter position code" + } +} diff --git a/app/src/locales/langs/en-US/sysRole.json b/app/src/locales/langs/en-US/sysRole.json new file mode 100644 index 0000000..8759257 --- /dev/null +++ b/app/src/locales/langs/en-US/sysRole.json @@ -0,0 +1,17 @@ +{ + "id": "Id", + "tenantId": "TenantId", + "roleName": "RoleName", + "roleKey": "RoleKey", + "status": "Status", + "created": "Created", + "createdBy": "CreatedBy", + "modified": "Modified", + "modifiedBy": "ModifiedBy", + "remark": "Remark", + "isDeleted": "IsDeleted", + "menuPermission": "MenuPermission", + "dataPermission": "DataPermission", + "checkStrictlyTrue": "Linked", + "checkStrictlyFalse": "NotLinked" +} diff --git a/app/src/locales/langs/zh-CN/aiResource.json b/app/src/locales/langs/zh-CN/aiResource.json new file mode 100644 index 0000000..999dc3e --- /dev/null +++ b/app/src/locales/langs/zh-CN/aiResource.json @@ -0,0 +1,20 @@ +{ + "id": "主键", + "deptId": "部门ID", + "tenantId": "租户ID", + "resourceType": "素材类型", + "resourceName": "素材名称", + "suffix": "后缀", + "resourceUrl": "素材地址", + "origin": "素材来源", + "status": "数据状态", + "created": "创建时间", + "createdBy": "创建者", + "modified": "修改时间", + "modifiedBy": "修改者", + "options": "扩展项", + "isDeleted": "删除标识", + "fileSize": "文件大小", + "categoryId": "分类", + "choose": "选择素材" +} diff --git a/app/src/locales/langs/zh-CN/aiWorkflow.json b/app/src/locales/langs/zh-CN/aiWorkflow.json new file mode 100644 index 0000000..5d3ea6b --- /dev/null +++ b/app/src/locales/langs/zh-CN/aiWorkflow.json @@ -0,0 +1,71 @@ +{ + "id": "ID 主键", + "alias": "别名", + "deptId": "部门ID", + "tenantId": "租户ID", + "title": "名称", + "description": "描述", + "icon": "图标", + "content": "工作流设计的 JSON 内容", + "created": "创建时间", + "createdBy": "创建人", + "modified": "最后修改时间", + "modifiedBy": "最后修改的人", + "englishName": "英文名称", + "status": "在用户中心显示", + "categoryId": "分类", + "params": "执行参数", + "steps": "执行步骤", + "result": "执行结果", + "confirm": "有待确认的内容,请先确认!", + "completed": "流程已执行完毕,请重新发起。", + "fileContentExtraction": "文件内容提取", + "documentAddress": "文档地址", + "parsedText": "解析后的文本", + "resourceSync": "素材同步", + "originUrl": "源地址", + "savedUrl": "保存后的地址", + "saveOptions": "保存选项", + "image": "图片", + "video": "视频", + "audio": "音频", + "document": "文档", + "other": "其他", + "fileGeneration": "文件生成", + "fileSettings": "文件设置", + "fileDownloadURL": "文件下载地址", + "pluginSelect": "插件选择", + "saveData": "保存数据", + "dataToBeSaved": "待保存的数据", + "successInsertedRecords": "成功插入条数", + "dataTable": "数据表", + "queryData": "查询数据", + "queryResult": "查询结果", + "filterConditions": "过滤条件", + "limit": "限制条数", + "sqlQuery": "SQL 查询", + "subProcess": "子流程", + "workflowSelect": "工作流选择", + "bochaSearch": "博查搜索", + "descriptions": { + "fileContentExtraction": "提取 PDF 或者 Word 等文件中的文字内容", + "documentAddress": "文档的url地址", + "parsedText": "解析后的文本内容", + "resourceSync": "下载素材文件并保存到系统素材库", + "originUrl": "文件的源地址", + "resourceType": "请选择素材的类型", + "fileGeneration": "生成 Word、PDF、HTML 等文件供用户下载", + "fileType": "请选择生成的文件类型", + "fileDownloadURL": "生成后的文件地址", + "plugin": "选择定义好的插件", + "saveData": "保存数据到数据中枢", + "dataToBeSaved": "待保存的数据列表", + "dataTable": "请选择数据表", + "queryData": "查询数据中枢的数据", + "filterConditions": "如:name='张三' and age=21 or field = {{流程变量}}", + "sqlQuery": "通过 SQL 查询数据库", + "enterSQL": "请输入SQL语句", + "queryResultJson": "查询结果(json对象)", + "subProcess": "选择定义好的流程" + } +} diff --git a/app/src/locales/langs/zh-CN/aiWorkflowCategory.json b/app/src/locales/langs/zh-CN/aiWorkflowCategory.json new file mode 100644 index 0000000..45ce6ba --- /dev/null +++ b/app/src/locales/langs/zh-CN/aiWorkflowCategory.json @@ -0,0 +1,10 @@ +{ + "id": "主键", + "categoryName": "分类名称", + "sortNo": "排序", + "created": "创建时间", + "createdBy": "创建者", + "modified": "修改时间", + "modifiedBy": "修改者", + "status": "数据状态" +} \ No newline at end of file diff --git a/app/src/locales/langs/zh-CN/aiWorkflowExecRecord.json b/app/src/locales/langs/zh-CN/aiWorkflowExecRecord.json new file mode 100644 index 0000000..25d4a6b --- /dev/null +++ b/app/src/locales/langs/zh-CN/aiWorkflowExecRecord.json @@ -0,0 +1,25 @@ +{ + "id": "主键", + "execKey": "执行标识", + "workflowId": "工作流ID", + "title": "标题", + "description": "描述", + "input": "输入", + "output": "输出", + "workflowJson": "工作流执行时的配置", + "startTime": "开始时间", + "endTime": "结束时间", + "tokens": "消耗总token", + "status": "状态", + "createdKey": "执行人标识[有可能是用户|外部|定时任务等情况]", + "createdBy": "执行人", + "errorInfo": "错误信息", + "moduleName": "执行记录", + "execTime": "耗时", + "status1": "运行中", + "status5": "挂起", + "status10": "错误", + "status20": "成功", + "status21": "失败", + "status22": "取消" +} diff --git a/app/src/locales/langs/zh-CN/aiWorkflowRecordStep.json b/app/src/locales/langs/zh-CN/aiWorkflowRecordStep.json new file mode 100644 index 0000000..a4d0f12 --- /dev/null +++ b/app/src/locales/langs/zh-CN/aiWorkflowRecordStep.json @@ -0,0 +1,22 @@ +{ + "id": "主键", + "recordId": "执行记录ID", + "execKey": "执行标识", + "nodeId": "节点ID", + "nodeName": "节点名称", + "input": "输入", + "output": "输出", + "nodeData": "节点信息", + "startTime": "开始时间", + "endTime": "结束时间", + "tokens": "消耗总token", + "status": "状态", + "errorInfo": "错误信息", + "moduleName": "步骤信息", + "execTime": "耗时", + "status1": "运行中", + "status6": "挂起", + "status10": "错误", + "status20": "成功", + "status21": "失败" +} diff --git a/app/src/locales/langs/zh-CN/bot.json b/app/src/locales/langs/zh-CN/bot.json new file mode 100644 index 0000000..b74429c --- /dev/null +++ b/app/src/locales/langs/zh-CN/bot.json @@ -0,0 +1,26 @@ +{ + "problemPresupposition": "问题预设", + "noPermission": "没有权限", + "llm": "大模型", + "temperature": "温度", + "maxReplyLength": "最大回复长度", + "historyCount": "携带历史条数", + "skill": "技能", + "conversationSettings": "对话设置", + "welcomeMessage": "欢迎语", + "deepThinking": "深度思考", + "enableDeepThinking": "是否启用深度思考", + "publish": "发布", + "postToWeChatOfficialAccount": "发布到微信公众号", + "configured": "已配置", + "notConfigured": "未配置", + "placeholder": { + "welcome": "请输入欢迎语", + "prompt": "你是一个AI助手,请根据用户的问题给出清晰、准确的回答。", + "permission": "你没有配置bot的权限!" + }, + "systemPrompt": "系统提示词", + "aiOptimization": "AI优化", + "weChatOfficialAccountConfiguration": "微信公众号配置", + "aiOptimizedPrompts": "AI优化提示词" +} diff --git a/app/src/locales/langs/zh-CN/button.json b/app/src/locales/langs/zh-CN/button.json new file mode 100644 index 0000000..ee092d8 --- /dev/null +++ b/app/src/locales/langs/zh-CN/button.json @@ -0,0 +1,46 @@ +{ + "query": "查询", + "reset": "重置", + "add": "添加", + "edit": "编辑", + "delete": "删除", + "export": "导出", + "import": "导入", + "save": "保存", + "cancel": "取消", + "confirm": "确认", + "addLlm": "新增大模型", + "oneClickAdd": "一键添加", + "newConversation": "新建会话", + "start": "启动", + "stop": "停止", + "log": "日志", + "back": "返回", + "importFile": "导入文件", + "view": "查看", + "download": "下载", + "upload": "上传", + "preview": "预览", + "nextStep": "下一步", + "previousStep": "上一步", + "addLine": "增加行", + "batchImport": "批量导入", + "startImport": "开始导入", + "design": "设计", + "run": "运行", + "runTest": "试运行", + "copy": "复制", + "selectAll": "全选", + "choose": "选择", + "setting": "设置", + "create": "创建", + "update": "更新", + "oneClickOptimization": "一键优化", + "replace": "替换", + "markAsRead": "标记已查看", + "markAsResolved": "标记已处理", + "optimizing": "正在优化中...", + "regenerate": "重新生成", + "hide": "隐藏", + "more": "更多" +} diff --git a/app/src/locales/langs/zh-CN/common.json b/app/src/locales/langs/zh-CN/common.json new file mode 100644 index 0000000..552d2d9 --- /dev/null +++ b/app/src/locales/langs/zh-CN/common.json @@ -0,0 +1,25 @@ +{ + "handle": "操作", + "searchPlaceholder": "请输入搜索内容", + "allCategories": "全部", + "history": "历史记录", + "noDataAvailable": "暂无数据", + "isRequired": "不能为空", + "avatar": "头像", + "otherLoginType": "其他登录方式", + "Sun": "周日", + "Mon": "周一", + "Tue": "周二", + "Wed": "周三", + "Thu": "周四", + "Fri": "周五", + "Sat": "周六", + "Second": "秒", + "Min": "分", + "Hour": "时", + "Day": "日", + "Month": "月", + "Week": "周", + "yes": "是", + "no": "否" +} diff --git a/app/src/locales/langs/zh-CN/cron.json b/app/src/locales/langs/zh-CN/cron.json new file mode 100644 index 0000000..de4c1a1 --- /dev/null +++ b/app/src/locales/langs/zh-CN/cron.json @@ -0,0 +1,18 @@ +{ + "cronExpressionGenerator": "Cron 表达式生成器", + "GenerateResult": "生成结果", + "CronExpression": "Cron 表达式", + "UseThisValue": "使用该值", + "CheckLast5ExecutionTimes": "查看最近5次执行时间", + "Last5ExecutionTimes": "最近5次执行时间", + "ClickGenerate": "点击生成", + "Per": "每", + "NotSpecified": "不指定", + "Cycle": "周期", + "From": "从", + "StartPer": "开始,每", + "ExecuteOnce": "执行一次", + "Rang": "区间", + "To": "至", + "Specify": "指定" +} diff --git a/app/src/locales/langs/zh-CN/cropper.json b/app/src/locales/langs/zh-CN/cropper.json new file mode 100644 index 0000000..af8ccbc --- /dev/null +++ b/app/src/locales/langs/zh-CN/cropper.json @@ -0,0 +1,20 @@ +{ + "ImageCropping": "图片裁剪", + "message": { + "onlyImage": "只能上传图片文件!", + "imgSize": "图片大小不能超过 {limit}MB!", + "uploadFailed": "上传失败", + "notUrl": "上传成功但未返回图片URL", + "uploadSuccessful": "上传成功!", + "reuploadSuccessful": "重新上传成功!", + "notInitialized": "裁剪器未初始化", + "cropFailed": "裁剪失败,无法获取裁剪后的图片", + "fileCount": "最多只能上传 {count} 个文件", + "avatarFormat": "头像只能是{format}格式", + "avatarSize": "头像限制 {limit} MB" + }, + "Uploading": "上传中...", + "ConfirmCrop": "确认裁剪", + "Re-upload": "重新上传", + "ClickToUpload": "点击上传" +} diff --git a/app/src/locales/langs/zh-CN/datacenterTable.json b/app/src/locales/langs/zh-CN/datacenterTable.json new file mode 100644 index 0000000..4cbc381 --- /dev/null +++ b/app/src/locales/langs/zh-CN/datacenterTable.json @@ -0,0 +1,33 @@ +{ + "title": "数据中枢", + "id": "主键", + "deptId": "部门ID", + "tenantId": "租户ID", + "tableName": "数据表名", + "tableDesc": "数据表描述", + "actualTable": "物理表名", + "status": "数据状态", + "created": "创建时间", + "createdBy": "创建者", + "modified": "修改时间", + "modifiedBy": "修改者", + "options": "扩展项", + "fields": "字段", + "fieldName": "字段名", + "fieldDesc": "字段描述", + "fieldType": "字段类型", + "required": "是否必填", + "noFieldError": "至少包含一个字段", + "fieldInfoError": "字段信息不完善", + "nameRegx": "只能包含小写字母、数字和下划线,且必须以小写字母开头", + "structure": "表结构", + "data": "数据", + "uploadTitle": "点击或将文件拖拽到这里上传", + "uploadDesc": "上传一份Excel文档,文件大小限制10MB以内。", + "downloadTemplate": "下载模板", + "importComplete": "导入完成", + "totalNum": "总数", + "successNum": "成功数", + "failNum": "失败数", + "failList": "失败记录" +} diff --git a/app/src/locales/langs/zh-CN/datacenterTableFields.json b/app/src/locales/langs/zh-CN/datacenterTableFields.json new file mode 100644 index 0000000..55abd14 --- /dev/null +++ b/app/src/locales/langs/zh-CN/datacenterTableFields.json @@ -0,0 +1,13 @@ +{ + "id": "主键", + "tableId": "数据表ID", + "fieldName": "字段名称", + "fieldDesc": "字段描述", + "fieldType": "字段类型", + "required": "是否必填", + "created": "创建时间", + "createdBy": "创建者", + "modified": "修改时间", + "modifiedBy": "修改者", + "options": "扩展项" +} diff --git a/app/src/locales/langs/zh-CN/demos.json b/app/src/locales/langs/zh-CN/demos.json new file mode 100644 index 0000000..2959121 --- /dev/null +++ b/app/src/locales/langs/zh-CN/demos.json @@ -0,0 +1,14 @@ +{ + "title": "演示", + "elementPlus": "Element Plus", + "form": "表单演示", + "aiflowy": { + "title": "项目", + "about": "关于", + "document": "文档", + "antdv": "Ant Design Vue 版本", + "naive-ui": "Naive UI 版本", + "element-plus": "Element Plus 版本", + "tdesign": "TDesign Vue 版本" + } +} diff --git a/app/src/locales/langs/zh-CN/dictSelect.json b/app/src/locales/langs/zh-CN/dictSelect.json new file mode 100644 index 0000000..16798be --- /dev/null +++ b/app/src/locales/langs/zh-CN/dictSelect.json @@ -0,0 +1,4 @@ +{ + "placeholder": "请选择", + "getError": "获取字典数据失败" +} diff --git a/app/src/locales/langs/zh-CN/documentCollection.json b/app/src/locales/langs/zh-CN/documentCollection.json new file mode 100644 index 0000000..c10e82b --- /dev/null +++ b/app/src/locales/langs/zh-CN/documentCollection.json @@ -0,0 +1,81 @@ +{ + "id": "Id", + "alias": "别名", + "deptId": "部门ID", + "tenantId": "租户ID", + "icon": "ICON", + "title": "名称", + "description": "描述", + "slug": "URL 别名", + "vectorStoreEnable": "是否启用向量数据库", + "vectorStoreType": "向量数据库类型", + "vectorStoreCollection": "向量数据库集合", + "vectorStoreConfig": "向量数据库配置", + "vectorEmbedLlmId": "向量模型", + "created": "创建时间", + "createdBy": "创建用户ID", + "modified": "最后一次修改时间", + "modifiedBy": "最后一次修改用户ID", + "options": "其他配置", + "rerankLlmId": "重排模型", + "searchEngineEnable": "是否启用搜索引擎", + "englishName": "英文名称", + "documentType": "文件类型", + "fileName": "文件名", + "knowledgeCount": "知识条数", + "createdModifyTime": "创建/更新时间", + "documentList": "文档列表", + "knowledgeRetrieval": "知识检索", + "sorting": "排序", + "content": "内容", + "placeholder": { + "title": "请输入名称", + "description": "请输入描述,以便大模型更好的理解该知识库并且调用", + "englishName": "请输入英文名称", + "alias": "请输入别名,不允许含中文", + "embedLlm": "请选择向量模型", + "rerankLlm": "请选择重排模型", + "vectorStoreCollection": "只能包含字母、数字和下划线且长度在3-20个字符之间", + "vectorStoreType": "请选择向量数据库类型" + }, + "importDoc": { + "fileUpload": "文件上传", + "parameterSettings": "参数设置", + "segmentedPreview": "分段预览", + "confirmImport": "确认导入", + "fileName": "文件名称", + "progressUpload": "文件上传进度", + "fileSize": "文件大小" + }, + "splitterDoc": { + "fileType": "文件类型", + "splitterName": "分割器", + "chunkSize": "分段长度", + "overlapSize": "分段重叠", + "regex": "正则表达式", + "document": "文档", + "simpleDocumentSplitter": "简单文档分割器", + "simpleTokenizeSplitter": "简单分词器", + "regexDocumentSplitter": "正则文档分割器", + "uploadStatus": "上传状态", + "pendingUpload": "待上传", + "completed": "已完成", + "uploading": "解析中", + "importSuccess": "导入成功" + }, + "documentManagement": "文档管理", + "actions": { + "knowledge": "知识", + "retrieve": "检索", + "addKnowledge": "新增知识库", + "confirmImport": "确认导入", + "cancelImport": "取消导入" + }, + "searchResults": "检索结果", + "documentPreview": "文档预览", + "total": "共", + "segments": "个分段", + "similarityScore": "相似度", + "alibabaCloud": "阿里云", + "tencentCloud": "腾讯云" +} diff --git a/app/src/locales/langs/zh-CN/headerSearch.json b/app/src/locales/langs/zh-CN/headerSearch.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/app/src/locales/langs/zh-CN/headerSearch.json @@ -0,0 +1 @@ +{} diff --git a/app/src/locales/langs/zh-CN/llm.json b/app/src/locales/langs/zh-CN/llm.json new file mode 100644 index 0000000..11b6ca3 --- /dev/null +++ b/app/src/locales/langs/zh-CN/llm.json @@ -0,0 +1,76 @@ +{ + "filed": + { + "title": "标题", + "brand": "供应商", + "llmModel": "大模型名称", + "icon": "ICON", + "description": "描述", + "supportChat": "对话模型", + "supportFunctionCalling": "方法调用", + "supportEmbed": "向量化", + "supportReranker": "重排", + "supportTextToImage": "文生图", + "supportImageToImage": "图生图", + "supportTextToAudio": "文生音频", + "supportAudioToAudio": "音频转音频", + "supportTextToVideo": "文生视频", + "supportImageToVideo": "图生成视频", + "llmEndpoint": "请求地址", + "chatPath": "对话路径", + "embedPath": "向量化路径", + "multimodal": "多模态", + "llmApiKey": "apiKey", + "llmExtraConfig": "大模型其他属性配置", + "options": "其他配置内容", + "ability": "能力" + } +, + "llmModal": { + "TitleRequired": "请输入名称", + "BrandRequired": "请选择供应商", + "ModelRequired": "请输入大模型", + "ApiKeyRequired": "请输入apiKey", + "QuickAddLlm": "一键添加大模型" + }, + "placeholder": { + "title": "请输入名称", + "brand": "请选择品牌", + "llmModel": "请输入大模型名称", + "description": "请输入描述" + }, + "actions": { + "verifyConfiguration": "验证配置" + }, + "message": { + "verifySuccess": "验证成功" + }, + "addProvider": "供应商列表", + "modelType": "模型类型", + "llmModel": "模型名称", + "title": "名称", + "groupName": "分组名称", + "provider": "供应商", + "ability": "模型能力", + "button": { + "management": "管理", + "test": "检测", + "addAllLlm": "添加列表中的所有模型", + "RetrieveAgain": "重新获取模型列表" + }, + "all": "全部", + "verifyLlmTitle": "请选择要检测的模型", + "testSuccess": "检测成功", + "searchTextPlaceholder": "搜索模型名称或名称", + "modelAbility": { + "supportThinking": "推理", + "supportTool": "工具", + "supportAudio": "音频", + "supportVideo": "视频", + "supportImage": "图片", + "supportFree": "免费", + "supportImageB64Only": "仅支持Base64图片", + "supportToolMessage": "支持Tool消息" + }, + "requestPath": "请求路径" +} diff --git a/app/src/locales/langs/zh-CN/llmProvider.json b/app/src/locales/langs/zh-CN/llmProvider.json new file mode 100644 index 0000000..5bdc6f8 --- /dev/null +++ b/app/src/locales/langs/zh-CN/llmProvider.json @@ -0,0 +1,15 @@ +{ + "providerName": "供应商名称", + "provider": "供应商", + "icon": "Icon", + "apiKey": "API 密钥", + "endpoint": "API 地址", + "embedPath": "向量地址", + "chatPath": "对话地址", + "rerankPath": "重排地址", + "embeddingModel": "向量模型", + "chatModel": "对话模型", + "rerankModel": "重排模型", + "model": "模型", + "apiType": "API类型" +} diff --git a/app/src/locales/langs/zh-CN/mcp.json b/app/src/locales/langs/zh-CN/mcp.json new file mode 100644 index 0000000..f3b3c6a --- /dev/null +++ b/app/src/locales/langs/zh-CN/mcp.json @@ -0,0 +1,20 @@ +{ + "id": "id", + "title": "名称", + "description": "描述", + "configJson": "MCP配置JSON", + "deptId": "部门ID", + "tenantId": "租户ID", + "created": "创建时间", + "createdBy": "创建者ID", + "modified": "修改时间", + "modifiedBy": "修改者ID", + "status": "是否启用", + "modal": { + "config": "配置", + "tool": "工具", + "table": { + "availableTools": "可用工具" + } + } +} diff --git a/app/src/locales/langs/zh-CN/menus.json b/app/src/locales/langs/zh-CN/menus.json new file mode 100644 index 0000000..877cd7b --- /dev/null +++ b/app/src/locales/langs/zh-CN/menus.json @@ -0,0 +1,33 @@ +{ + "system": { + "title": "系统管理", + "sysAccount": "用户管理", + "sysRole": "角色管理", + "sysMenu": "菜单管理", + "sysDept": "部门管理", + "sysPosition": "岗位管理", + "sysDict": "字典管理", + "sysJob": "定时任务", + "sysLog": "日志管理", + "sysFeedback": "用户反馈", + "sysAppearance": "外观设置", + "oauth": "认证设置" + }, + "ai": { + "bots": "聊天助手", + "title": "AI能力", + "resources": "素材库", + "datacenter": "数据中枢", + "workflow": "工作流", + "plugin": "插件", + "model": "模型管理", + "documentCollection": "知识库", + "knowledge": "知识管理", + "mcp": "MCP" + }, + "settings": { + "title": "系统配置", + "settingsConfig": "系统设置", + "apiKey": "访问令牌" + } +} diff --git a/app/src/locales/langs/zh-CN/message.json b/app/src/locales/langs/zh-CN/message.json new file mode 100644 index 0000000..b41ccdf --- /dev/null +++ b/app/src/locales/langs/zh-CN/message.json @@ -0,0 +1,46 @@ +{ + "deleteAlert": "确定删除吗?", + "noticeTitle": "提示", + "ok": "确定", + "cancel": "取消", + "required": "该项为必填项", + "saveOkMessage": "保存成功!", + "saveFailMessage": "保存失败!", + "deleteOkMessage": "删除成功!", + "deleteFailMessage": "删除失败!", + "loading": "加载中...", + "getDataError": "获取数据失败", + "updateOkMessage": "更新成功!", + "startAlert": "确定启动吗?", + "stopAlert": "确定停止吗?", + "preview": "预览", + "notEmpty": "不能为空", + "success": "成功", + "fail": "失败", + "pleaseSelect": "请选择{name}", + "pleaseInputContent": "请输入内容", + "notSupported": "暂不支持", + "englishNameRule": "请输入由字母、数字、下划线、连字符组成的字符,且长度不超过64位", + "downloadSuccess": "下载成功", + "downloadFail": "下载失败", + "copySuccess": "复制成功", + "copyFail": "复制失败", + "upload": { + "title": "点击或将文件拖拽到这里上传", + "description": "TXT, PDF, DOCX, MD, PPT, PPTX,XLSX 格式文件,单个大小不超过20M。" + }, + "uploadFileFirst": "请先上传文件", + "deleteModelAlert": "该操作会删除大模型,确定删除吗?", + "deleteModelGroupAlert": "该操作会删除该分组下所有大模型,确定删除吗?", + "cannotBeEmpty": { + "name": "参数名称不能为空", + "description": "参数描述不能为空", + "method": "传入方法不能为空", + "type": "参数类型不能为空", + "all": "请完善所有必填项后提交", + "error": "参数校验失败,请完善必填项" + }, + "completeForm": "请完善表单信息", + "notVideo": "您的浏览器不支持 video 元素。", + "notAudio": "您的浏览器不支持 audio 元素。" +} diff --git a/app/src/locales/langs/zh-CN/page.json b/app/src/locales/langs/zh-CN/page.json new file mode 100644 index 0000000..7b61a5a --- /dev/null +++ b/app/src/locales/langs/zh-CN/page.json @@ -0,0 +1,23 @@ +{ + "auth": { + "login": "登录", + "register": "注册", + "codeLogin": "验证码登录", + "qrcodeLogin": "二维码登录", + "forgetPassword": "忘记密码", + "profile": "个人中心", + "accountPassword": "账户密码", + "systemMessage": "系统消息", + "todoTasks": "待办任务" + }, + "dashboard": { + "title": "概览", + "analytics": "分析页", + "workspace": "工作台" + }, + "description": { + "accountPassword": "其他用户的消息将以站内信的形式通知", + "systemMessage": "系统消息将以站内信的形式通知", + "todoTasks": "待办任务将以站内信的形式通知" + } +} diff --git a/app/src/locales/langs/zh-CN/plugin.json b/app/src/locales/langs/zh-CN/plugin.json new file mode 100644 index 0000000..a0444b2 --- /dev/null +++ b/app/src/locales/langs/zh-CN/plugin.json @@ -0,0 +1,33 @@ +{ + "pluginCategory": "插件分类", + "id": "插件id", + "alias": "别名", + "name": "名称", + "description": "描述", + "type": "类型", + "baseUrl": "基础URL", + "authType": "认证方式", + "created": "创建时间", + "icon": "图标地址", + "position": "认证参数位置", + "headers": "请求头", + "tokenKey": "token键", + "tokenValue": "token值", + "deptId": "部门id", + "tenantId": "租户id", + "createdBy": "创建人", + "category": "分类", + "placeholder": { + "name": "请输入插件名称", + "description": "请输入插件描述", + "categorize": "请选择分类" + }, + "button": { + "addPlugin": "新增插件", + "categorize": "归类", + "tools": "工具" + }, + "toolsManagement": "工具管理", + "searchUsers": "搜索用户", + "parameterValue": "参数值" +} diff --git a/app/src/locales/langs/zh-CN/pluginItem.json b/app/src/locales/langs/zh-CN/pluginItem.json new file mode 100644 index 0000000..781a3c9 --- /dev/null +++ b/app/src/locales/langs/zh-CN/pluginItem.json @@ -0,0 +1,35 @@ +{ + "id": "插件工具id", + "pluginId": "插件id", + "name": "工具名称", + "description": "工具描述", + "basePath": "基础路径", + "created": "创建时间", + "status": "是否启用", + "inputData": "输入参数", + "outputData": "输出参数", + "requestMethod": "请求方式【Post, Get, Put, Delete】", + "serviceStatus": "服务状态[0 下线 1 上线]", + "debugStatus": "调试状态【0失败 1成功】", + "englishName": "英文名称", + "createPluginTool": "创建工具", + "pluginToolEdit": { + "basicInfo": "基本信息", + "configureInputParameters": "配置输入参数", + "configureOutputParameters": "配置输出参数", + "trialRun": "试运行", + "toolPath": "工具路径", + "requestMethod": "请求方法", + "runResult": "运行结果", + "run": "运行" + }, + "parameterName": "参数名称", + "parameterDescription": "参数描述", + "parameterType": "参数类型", + "inputMethod": "传入方法", + "required": "是否必填", + "defaultValue": "默认值", + "enabledStatus": "启用状态", + "addChildNode": "添加子节点", + "addParameter": "新增参数" +} diff --git a/app/src/locales/langs/zh-CN/settingsConfig.json b/app/src/locales/langs/zh-CN/settingsConfig.json new file mode 100644 index 0000000..b9ec6c4 --- /dev/null +++ b/app/src/locales/langs/zh-CN/settingsConfig.json @@ -0,0 +1,10 @@ +{ + "title": "大模型配置", + "modelOfChat": "对话模型供应商", + "dialogModel": "对话模型配置", + "modelName": "模型名称", + "basic": "基本设置", + "updatePwd": "修改密码", + "systemAIFunctionSettings": "系统 AI 功能设置", + "note": "注意:此项配置,仅用于系统的 AI 功能,而非【聊天助手】。" +} diff --git a/app/src/locales/langs/zh-CN/sysAccount.json b/app/src/locales/langs/zh-CN/sysAccount.json new file mode 100644 index 0000000..a55262a --- /dev/null +++ b/app/src/locales/langs/zh-CN/sysAccount.json @@ -0,0 +1,28 @@ +{ + "id": "主键", + "deptId": "部门", + "tenantId": "租户ID", + "loginName": "登录账号", + "password": "密码", + "accountType": "账户类型", + "nickname": "昵称", + "mobile": "手机电话", + "email": "邮件", + "avatar": "账户头像", + "dataScope": "数据权限类型", + "deptIdList": "自定义部门权限", + "status": "是否启用", + "created": "创建时间", + "createdBy": "创建者", + "modified": "修改时间", + "modifiedBy": "修改者", + "remark": "备注", + "isDeleted": "删除标识", + "roleIds": "角色", + "positionIds": "岗位", + "oldPwd": "旧密码", + "newPwd": "新密码", + "confirmPwd": "确认密码", + "repeatPwd": "请再次输入密码", + "notSamePwd": "两次输入的密码不一致" +} diff --git a/app/src/locales/langs/zh-CN/sysApiKey.json b/app/src/locales/langs/zh-CN/sysApiKey.json new file mode 100644 index 0000000..dac3fc0 --- /dev/null +++ b/app/src/locales/langs/zh-CN/sysApiKey.json @@ -0,0 +1,18 @@ +{ + "id": "id", + "apiKey": "apiKey", + "created": "创建时间", + "status": "数据状态", + "deptId": "部门id", + "tenantId": "租户id", + "expiredAt": "失效时间", + "createdBy": "创建人", + "addApiKey": "新增apiKey", + "actions": { + "enable": "启用", + "disable": "未启用", + "failure": "已失效" + }, + "permissions": "授权接口", + "addApiKeyNotice": "该操作会生成一个apiKey,请确认是否生成" +} diff --git a/app/src/locales/langs/zh-CN/sysApiKeyResourcePermission.json b/app/src/locales/langs/zh-CN/sysApiKeyResourcePermission.json new file mode 100644 index 0000000..51e9183 --- /dev/null +++ b/app/src/locales/langs/zh-CN/sysApiKeyResourcePermission.json @@ -0,0 +1,6 @@ +{ + "id": "id", + "requestInterface": "请求接口", + "title": "标题", + "addPermission": "添加请求接口" +} diff --git a/app/src/locales/langs/zh-CN/sysAppearance.json b/app/src/locales/langs/zh-CN/sysAppearance.json new file mode 100644 index 0000000..e6ed991 --- /dev/null +++ b/app/src/locales/langs/zh-CN/sysAppearance.json @@ -0,0 +1,24 @@ +{ + "Theme and Color Scheme": "主题与配色", + "Theme Mode": "主题模式", + "Theme Color": "主题色", + "Layout & Navigation": "布局与导航", + "Layout Mode": "布局模式", + "Interface Display": "界面显示", + "Page Tabs": "页面标签页", + "Animation": "动画", + "Login Page Appearance": "登录页外观", + "Login Page Layout": "登录页布局", + "Login Page Image": "登录页图片", + "OnlyJPG": "只支持.jpg 格式", + "Login Page Brand Copy": "登录页品牌文案", + "Welcome Title": "欢迎语标题", + "Please enter the welcome title": "请填写欢迎语标题", + "Welcome Description": "欢迎语描述", + "Please enter the welcome description": "请填写欢迎语描述", + "Slogan Title": "Slogn标题", + "Please enter the slogan title": "请填写Slogn标题", + "Slogan Description": "Slogn描述", + "Please enter the slogan description": "请填写Slogn描述", + "Thumbnail": "缩略图" +} diff --git a/app/src/locales/langs/zh-CN/sysDept.json b/app/src/locales/langs/zh-CN/sysDept.json new file mode 100644 index 0000000..e1f5130 --- /dev/null +++ b/app/src/locales/langs/zh-CN/sysDept.json @@ -0,0 +1,17 @@ +{ + "root": "根部门", + "id": "主键", + "tenantId": "租户ID", + "parentId": "父级", + "ancestors": "父级部门ID集合", + "deptName": "部门名称", + "deptCode": "部门编码", + "sortNo": "排序", + "status": "数据状态", + "created": "创建时间", + "createdBy": "创建者", + "modified": "修改时间", + "modifiedBy": "修改者", + "remark": "备注", + "isDeleted": "删除标识" +} diff --git a/app/src/locales/langs/zh-CN/sysDict.json b/app/src/locales/langs/zh-CN/sysDict.json new file mode 100644 index 0000000..f9db052 --- /dev/null +++ b/app/src/locales/langs/zh-CN/sysDict.json @@ -0,0 +1,12 @@ +{ + "id": "主键", + "name": "数据字典名称", + "code": "字典编码", + "description": "字典描述或备注", + "dictType": "字典类型 1 自定义字典、2 数据表字典、 3 枚举类字典、 4 系统字典(自定义 DictLoader)", + "sortNo": "排序编号", + "status": "是否启用", + "options": "扩展字典 存放 json", + "created": "创建时间", + "modified": "修改时间" +} diff --git a/app/src/locales/langs/zh-CN/sysFeedback.json b/app/src/locales/langs/zh-CN/sysFeedback.json new file mode 100644 index 0000000..67a95a7 --- /dev/null +++ b/app/src/locales/langs/zh-CN/sysFeedback.json @@ -0,0 +1,20 @@ +{ + "feedbackType": "反馈类型", + "processingStatus": "处理状态", + "category": "问题类型", + "description": "问题摘要", + "contactInformation": "联系方式", + "submittedAt": "提交时间", + "functionalFailure": "功能故障", + "optimizationSuggestions": "优化建议", + "accountIssue": "账号问题", + "other": "其它", + "notViewed": "未查看", + "viewed": "已查看", + "processed": "已处理", + "closed/Invalid": "已关闭/无效", + "markedSuccessfully": "标记成功!", + "basicInformation": "基础信息", + "feedbackContent": "反馈内容", + "attachments": "附件" +} diff --git a/app/src/locales/langs/zh-CN/sysJob.json b/app/src/locales/langs/zh-CN/sysJob.json new file mode 100644 index 0000000..9813018 --- /dev/null +++ b/app/src/locales/langs/zh-CN/sysJob.json @@ -0,0 +1,23 @@ +{ + "id": "主键", + "deptId": "部门ID", + "tenantId": "租户ID", + "jobName": "任务名称", + "jobType": "任务类型", + "jobParams": "任务参数", + "cronExpression": "cron表达式", + "allowConcurrent": "是否并发执行", + "misfirePolicy": "错过策略", + "options": "其他配置", + "status": "任务状态", + "created": "创建时间", + "createdBy": "创建者", + "modified": "修改时间", + "modifiedBy": "修改者", + "remark": "备注", + "isDeleted": "删除标识", + "workflow": "工作流", + "beanMethod": "bean方法", + "javaMethod": "java方法", + "example": "示例" +} diff --git a/app/src/locales/langs/zh-CN/sysJobLog.json b/app/src/locales/langs/zh-CN/sysJobLog.json new file mode 100644 index 0000000..32dabc1 --- /dev/null +++ b/app/src/locales/langs/zh-CN/sysJobLog.json @@ -0,0 +1,14 @@ +{ + "title": "任务日志", + "id": "主键", + "jobId": "任务ID", + "jobName": "任务名称", + "jobParams": "任务参数", + "jobResult": "执行结果", + "errorInfo": "错误信息", + "status": "执行状态", + "startTime": "开始时间", + "endTime": "结束时间", + "created": "创建时间", + "remark": "备注" +} diff --git a/app/src/locales/langs/zh-CN/sysLog.json b/app/src/locales/langs/zh-CN/sysLog.json new file mode 100644 index 0000000..82fd4fe --- /dev/null +++ b/app/src/locales/langs/zh-CN/sysLog.json @@ -0,0 +1,14 @@ +{ + "id": "ID", + "accountId": "操作人", + "actionName": "操作名称", + "actionType": "操作的类型", + "actionClass": "操作涉及的类", + "actionMethod": "操作涉及的方法", + "actionUrl": "操作涉及的 URL 地址", + "actionIp": "操作涉及的用户 IP 地址", + "actionParams": "操作请求参数", + "actionBody": "操作请求body", + "status": "操作状态 1 成功 9 失败", + "created": "操作时间" +} diff --git a/app/src/locales/langs/zh-CN/sysMenu.json b/app/src/locales/langs/zh-CN/sysMenu.json new file mode 100644 index 0000000..6aee2d5 --- /dev/null +++ b/app/src/locales/langs/zh-CN/sysMenu.json @@ -0,0 +1,20 @@ +{ +"root":"顶级", +"id": "主键", +"parentId": "父菜单", +"menuType": "菜单类型", +"menuTitle": "菜单标题", +"menuUrl": "菜单url", +"component": "组件路径", +"menuIcon": "图标", +"isShow": "是否显示", +"permissionTag": "权限标识", +"sortNo": "排序", +"status": "数据状态", +"created": "创建时间", +"createdBy": "创建者", +"modified": "修改时间", +"modifiedBy": "修改者", +"remark": "备注", +"isDeleted": "删除标识" +} diff --git a/app/src/locales/langs/zh-CN/sysOption.json b/app/src/locales/langs/zh-CN/sysOption.json new file mode 100644 index 0000000..0ac65bf --- /dev/null +++ b/app/src/locales/langs/zh-CN/sysOption.json @@ -0,0 +1,4 @@ +{ + "oauthWxWeb": "微信登录", + "oauthDingTalk": "钉钉登录" +} diff --git a/app/src/locales/langs/zh-CN/sysPosition.json b/app/src/locales/langs/zh-CN/sysPosition.json new file mode 100644 index 0000000..20c6c18 --- /dev/null +++ b/app/src/locales/langs/zh-CN/sysPosition.json @@ -0,0 +1,24 @@ +{ + "id": "主键", + "tenantId": "租户ID", + "deptId": "部门", + "positionName": "岗位名称", + "positionCode": "岗位编码", + "sortNo": "排序", + "status": "数据状态", + "created": "创建时间", + "createdBy": "创建者", + "modified": "修改时间", + "modifiedBy": "修改者", + "remark": "备注", + "isDeleted": "删除标识", + "enable": "启用", + "disable": "禁用", + "message": { + "title": "确认要{actionText}\"{positionName}\"吗?" + }, + "placeholder": { + "positionName": "请输入岗位名称", + "positionCode": "请输入岗位编码" + } +} diff --git a/app/src/locales/langs/zh-CN/sysRole.json b/app/src/locales/langs/zh-CN/sysRole.json new file mode 100644 index 0000000..0b77250 --- /dev/null +++ b/app/src/locales/langs/zh-CN/sysRole.json @@ -0,0 +1,17 @@ +{ + "id": "主键", + "tenantId": "租户ID", + "roleName": "角色名称", + "roleKey": "角色标识", + "status": "是否启用", + "created": "创建时间", + "createdBy": "创建者", + "modified": "修改时间", + "modifiedBy": "修改者", + "remark": "备注", + "isDeleted": "删除标识", + "menuPermission": "菜单权限", + "dataPermission": "数据权限", + "checkStrictlyTrue": "联动", + "checkStrictlyFalse": "不联动" +} diff --git a/app/src/main.ts b/app/src/main.ts new file mode 100644 index 0000000..68e8b77 --- /dev/null +++ b/app/src/main.ts @@ -0,0 +1,31 @@ +import { initPreferences } from '@aiflowy/preferences'; +import { unmountGlobalLoading } from '@aiflowy/utils'; + +import { overridesPreferences } from './preferences'; + +/** + * 应用初始化完成之后再进行页面加载渲染 + */ +async function initApplication() { + // name用于指定项目唯一标识 + // 用于区分不同项目的偏好设置以及存储数据的key前缀以及其他一些需要隔离的数据 + const env = import.meta.env.PROD ? 'prod' : 'dev'; + const appVersion = import.meta.env.VITE_APP_VERSION; + const namespace = `${import.meta.env.VITE_APP_NAMESPACE}-${appVersion}-${env}`; + + // app偏好设置初始化 + await initPreferences({ + namespace, + overrides: overridesPreferences, + }); + + // 启动应用并挂载 + // vue应用主要逻辑及视图 + const { bootstrap } = await import('./bootstrap'); + await bootstrap(namespace); + + // 移除并销毁loading + unmountGlobalLoading(); +} + +initApplication(); diff --git a/app/src/preferences.ts b/app/src/preferences.ts new file mode 100644 index 0000000..6342ccd --- /dev/null +++ b/app/src/preferences.ts @@ -0,0 +1,14 @@ +import { defineOverridesPreferences } from '@aiflowy/preferences'; + +/** + * @description 项目配置文件 + * 只需要覆盖项目中的一部分配置,不需要的配置不用覆盖,会自动使用默认配置 + * !!! 更改配置后请清空缓存,否则可能不生效 + */ +export const overridesPreferences = defineOverridesPreferences({ + // overrides + app: { + name: import.meta.env.VITE_APP_TITLE, + accessMode: 'mixed', + }, +}); diff --git a/app/src/router/access.ts b/app/src/router/access.ts new file mode 100644 index 0000000..27e7482 --- /dev/null +++ b/app/src/router/access.ts @@ -0,0 +1,42 @@ +import type { + ComponentRecordType, + GenerateMenuAndRoutesOptions, +} from '@aiflowy/types'; + +import { generateAccessible } from '@aiflowy/access'; +import { preferences } from '@aiflowy/preferences'; + +import { ElMessage } from 'element-plus'; + +import { getAllMenusApi } from '#/api'; +import { BasicLayout, IFrameView } from '#/layouts'; +import { $t } from '#/locales'; + +const forbiddenComponent = () => import('#/views/_core/fallback/forbidden.vue'); + +async function generateAccess(options: GenerateMenuAndRoutesOptions) { + const pageMap: ComponentRecordType = import.meta.glob('../views/**/*.vue'); + + const layoutMap: ComponentRecordType = { + BasicLayout, + IFrameView, + }; + + return await generateAccessible(preferences.app.accessMode, { + ...options, + fetchMenuListAsync: async () => { + ElMessage({ + duration: 1500, + message: `${$t('common.loadingMenu')}...`, + }); + return await getAllMenusApi(); + }, + // 可以指定没有权限跳转403页面 + forbiddenComponent, + // 如果 route.meta.menuVisibleWithForbidden = true + layoutMap, + pageMap, + }); +} + +export { generateAccess }; diff --git a/app/src/router/guard.ts b/app/src/router/guard.ts new file mode 100644 index 0000000..cdd147c --- /dev/null +++ b/app/src/router/guard.ts @@ -0,0 +1,133 @@ +import type { Router } from 'vue-router'; + +import { LOGIN_PATH } from '@aiflowy/constants'; +import { preferences } from '@aiflowy/preferences'; +import { useAccessStore, useUserStore } from '@aiflowy/stores'; +import { startProgress, stopProgress } from '@aiflowy/utils'; + +import { accessRoutes, coreRouteNames } from '#/router/routes'; +import { useAuthStore } from '#/store'; + +import { generateAccess } from './access'; + +/** + * 通用守卫配置 + * @param router + */ +function setupCommonGuard(router: Router) { + // 记录已经加载的页面 + const loadedPaths = new Set(); + + router.beforeEach((to) => { + to.meta.loaded = loadedPaths.has(to.path); + + // 页面加载进度条 + if (!to.meta.loaded && preferences.transition.progress) { + startProgress(); + } + return true; + }); + + router.afterEach((to) => { + // 记录页面是否加载,如果已经加载,后续的页面切换动画等效果不在重复执行 + + loadedPaths.add(to.path); + + // 关闭页面加载进度条 + if (preferences.transition.progress) { + stopProgress(); + } + }); +} + +/** + * 权限访问守卫配置 + * @param router + */ +function setupAccessGuard(router: Router) { + router.beforeEach(async (to, from) => { + const accessStore = useAccessStore(); + const userStore = useUserStore(); + const authStore = useAuthStore(); + + // 基本路由,这些路由不需要进入权限拦截 + if (coreRouteNames.includes(to.name as string)) { + if (to.path === LOGIN_PATH && accessStore.accessToken) { + return decodeURIComponent( + (to.query?.redirect as string) || + userStore.userInfo?.homePath || + preferences.app.defaultHomePath, + ); + } + return true; + } + + // accessToken 检查 + if (!accessStore.accessToken) { + // 明确声明忽略权限访问权限,则可以访问 + if (to.meta.ignoreAccess) { + return true; + } + + // 没有访问权限,跳转登录页面 + if (to.fullPath !== LOGIN_PATH) { + return { + path: LOGIN_PATH, + // 如不需要,直接删除 query + query: + to.fullPath === preferences.app.defaultHomePath + ? {} + : { redirect: encodeURIComponent(to.fullPath) }, + // 携带当前跳转的页面,登录后重新跳转该页面 + replace: true, + }; + } + return to; + } + + // 是否已经生成过动态路由 + if (accessStore.isAccessChecked) { + return true; + } + + // 生成路由表 + // 当前登录用户拥有的角色标识列表 + const userInfo = userStore.userInfo || (await authStore.fetchUserInfo()); + const userRoles = userInfo.roles ?? []; + + // 生成菜单和路由 + const { accessibleMenus, accessibleRoutes } = await generateAccess({ + roles: userRoles, + router, + // 则会在菜单中显示,但是访问会被重定向到403 + routes: accessRoutes, + }); + + // 保存菜单信息和路由信息 + accessStore.setAccessMenus(accessibleMenus); + accessStore.setAccessRoutes(accessibleRoutes); + accessStore.setIsAccessChecked(true); + const redirectPath = (from.query.redirect ?? + (to.path === preferences.app.defaultHomePath + ? userInfo.homePath || preferences.app.defaultHomePath + : to.fullPath)) as string; + + return { + ...router.resolve(decodeURIComponent(redirectPath)), + replace: true, + }; + }); +} + +/** + * 项目守卫配置 + * @param router + */ +function createRouterGuard(router: Router) { + /** 通用 */ + setupCommonGuard(router); + /** 权限访问 */ + setupAccessGuard(router); +} + +export { createRouterGuard }; diff --git a/app/src/router/index.ts b/app/src/router/index.ts new file mode 100644 index 0000000..18f0080 --- /dev/null +++ b/app/src/router/index.ts @@ -0,0 +1,37 @@ +import { + createRouter, + createWebHashHistory, + createWebHistory, +} from 'vue-router'; + +import { resetStaticRoutes } from '@aiflowy/utils'; + +import { createRouterGuard } from './guard'; +import { routes } from './routes'; + +/** + * @zh_CN 创建vue-router实例 + */ +const router = createRouter({ + history: + import.meta.env.VITE_ROUTER_HISTORY === 'hash' + ? createWebHashHistory(import.meta.env.VITE_BASE) + : createWebHistory(import.meta.env.VITE_BASE), + // 应该添加到路由的初始路由列表。 + routes, + scrollBehavior: (to, _from, savedPosition) => { + if (savedPosition) { + return savedPosition; + } + return to.hash ? { behavior: 'smooth', el: to.hash } : { left: 0, top: 0 }; + }, + // 是否应该禁止尾部斜杠。 + // strict: true, +}); + +const resetRoutes = () => resetStaticRoutes(router, routes); + +// 创建路由守卫 +createRouterGuard(router); + +export { resetRoutes, router }; diff --git a/app/src/router/routes/core.ts b/app/src/router/routes/core.ts new file mode 100644 index 0000000..0ff0457 --- /dev/null +++ b/app/src/router/routes/core.ts @@ -0,0 +1,108 @@ +import type { RouteRecordRaw } from 'vue-router'; + +import { LOGIN_PATH } from '@aiflowy/constants'; +import { preferences } from '@aiflowy/preferences'; + +import { $t } from '#/locales'; + +const BasicLayout = () => import('#/layouts/basic.vue'); +const AuthPageLayout = () => import('#/layouts/auth.vue'); +/** 全局404页面 */ +const fallbackNotFoundRoute: RouteRecordRaw = { + component: () => import('#/views/_core/fallback/not-found.vue'), + meta: { + hideInBreadcrumb: true, + hideInMenu: true, + hideInTab: true, + title: '404', + }, + name: 'FallbackNotFound', + path: '/:path(.*)*', +}; + +/** 基本路由,这些路由是必须存在的 */ +const coreRoutes: RouteRecordRaw[] = [ + { + component: () => import('#/views/_core/authentication/oauth-page.vue'), + meta: { + hideInBreadcrumb: true, + hideInMenu: true, + hideInTab: true, + title: 'OAuth', + }, + name: 'OAuth', + path: '/oauth', + }, + /** + * 根路由 + * 使用基础布局,作为所有页面的父级容器,子级就不必配置BasicLayout。 + * 此路由必须存在,且不应修改 + */ + { + component: BasicLayout, + meta: { + hideInBreadcrumb: true, + title: 'Root', + }, + name: 'Root', + path: '/', + redirect: preferences.app.defaultHomePath, + children: [], + }, + { + component: AuthPageLayout, + meta: { + hideInTab: true, + title: 'Authentication', + }, + name: 'Authentication', + path: '/auth', + redirect: LOGIN_PATH, + children: [ + { + name: 'Login', + path: 'login', + component: () => import('#/views/_core/authentication/login.vue'), + meta: { + title: $t('page.auth.login'), + }, + }, + { + name: 'CodeLogin', + path: 'code-login', + component: () => import('#/views/_core/authentication/code-login.vue'), + meta: { + title: $t('page.auth.codeLogin'), + }, + }, + { + name: 'QrCodeLogin', + path: 'qrcode-login', + component: () => + import('#/views/_core/authentication/qrcode-login.vue'), + meta: { + title: $t('page.auth.qrcodeLogin'), + }, + }, + { + name: 'ForgetPassword', + path: 'forget-password', + component: () => + import('#/views/_core/authentication/forget-password.vue'), + meta: { + title: $t('page.auth.forgetPassword'), + }, + }, + { + name: 'Register', + path: 'register', + component: () => import('#/views/_core/authentication/register.vue'), + meta: { + title: $t('page.auth.register'), + }, + }, + ], + }, +]; + +export { coreRoutes, fallbackNotFoundRoute }; diff --git a/app/src/router/routes/index.ts b/app/src/router/routes/index.ts new file mode 100644 index 0000000..939c35e --- /dev/null +++ b/app/src/router/routes/index.ts @@ -0,0 +1,47 @@ +import type { RouteRecordRaw } from 'vue-router'; + +import { mergeRouteModules, traverseTreeValues } from '@aiflowy/utils'; + +import { coreRoutes, fallbackNotFoundRoute } from './core'; + +const dynamicRouteFiles = import.meta.glob('./modules/**/*.ts', { + eager: true, +}); + +// 有需要可以自行打开注释,并创建文件夹 +// const externalRouteFiles = import.meta.glob('./external/**/*.ts', { eager: true }); +// const staticRouteFiles = import.meta.glob('./static/**/*.ts', { eager: true }); + +/** 动态路由 */ +const dynamicRoutes: RouteRecordRaw[] = mergeRouteModules(dynamicRouteFiles); + +/** 外部路由列表,访问这些页面可以不需要Layout,可能用于内嵌在别的系统(不会显示在菜单中) */ +// const externalRoutes: RouteRecordRaw[] = mergeRouteModules(externalRouteFiles); +// const staticRoutes: RouteRecordRaw[] = mergeRouteModules(staticRouteFiles); +const staticRoutes: RouteRecordRaw[] = []; +const externalRoutes: RouteRecordRaw[] = []; + +/** 路由列表,由基本路由、外部路由和404兜底路由组成 + * 无需走权限验证(会一直显示在菜单中) */ +const routes: RouteRecordRaw[] = [ + ...coreRoutes, + ...externalRoutes, + fallbackNotFoundRoute, +]; + +/** 基本路由列表,这些路由不需要进入权限拦截 */ +const coreRouteNames = traverseTreeValues(coreRoutes, (route) => route.name); + +/** 有权限校验的路由列表,包含动态路由和静态路由 */ +const accessRoutes = [...dynamicRoutes, ...staticRoutes]; + +const componentKeys: string[] = Object.keys( + import.meta.glob('../../views/**/*.vue'), +) + .filter((item) => !item.includes('/modules/')) + .map((v) => { + const path = v.replace('../../views/', '/'); + return path.endsWith('.vue') ? path.slice(0, -4) : path; + }); + +export { accessRoutes, componentKeys, coreRouteNames, routes }; diff --git a/app/src/router/routes/modules/aiflowy.ts b/app/src/router/routes/modules/aiflowy.ts new file mode 100644 index 0000000..67c9d68 --- /dev/null +++ b/app/src/router/routes/modules/aiflowy.ts @@ -0,0 +1,63 @@ +import type { RouteRecordRaw } from 'vue-router'; + +// import { APP_DOC_URL, APP_GITHUB_URL, APP_LOGO_URL } from '@aiflowy/constants'; +// +// import { IFrameView } from '#/layouts'; +import { $t } from '#/locales'; + +const routes: RouteRecordRaw[] = [ + // { + // meta: { + // badgeType: 'dot', + // icon: APP_LOGO_URL, + // order: 9998, + // title: $t('demos.aiflowy.title'), + // }, + // name: 'AIFlowyProject', + // path: '/aiflowy-admin', + // children: [ + // { + // name: 'AIFlowyDocument', + // path: '/aiflowy-admin/document', + // component: IFrameView, + // meta: { + // icon: 'lucide:book-open-text', + // link: APP_DOC_URL, + // title: $t('demos.aiflowy.document'), + // }, + // }, + // { + // name: 'AIFlowyGithub', + // path: '/aiflowy-admin/github', + // component: IFrameView, + // meta: { + // icon: 'mdi:github', + // link: APP_GITHUB_URL, + // title: 'Github', + // }, + // }, + // ], + // }, + // { + // name: 'AIFlowyAbout', + // path: '/aiflowy-admin/about', + // component: () => import('#/views/_core/about/index.vue'), + // meta: { + // icon: 'lucide:copyright', + // title: $t('demos.aiflowy.about'), + // order: 9999, + // }, + // }, + { + name: 'Profile', + path: '/profile', + component: () => import('#/views/_core/profile/index.vue'), + meta: { + icon: 'lucide:user', + hideInMenu: true, + title: $t('page.auth.profile'), + }, + }, +]; + +export default routes; diff --git a/app/src/router/routes/modules/bot.ts b/app/src/router/routes/modules/bot.ts new file mode 100644 index 0000000..6975c89 --- /dev/null +++ b/app/src/router/routes/modules/bot.ts @@ -0,0 +1,32 @@ +import type { RouteRecordRaw } from 'vue-router'; + +const routes: RouteRecordRaw[] = [ + { + name: 'BotRun', + path: '/ai/bots/run/:botId/:sessionId?', + component: () => import('#/views/ai/bots/pages/Run.vue'), + meta: { + title: 'Bots', + noBasicLayout: true, + openInNewWindow: true, + hideInMenu: true, + hideInBreadcrumb: true, + hideInTab: true, + }, + }, + { + name: 'BotSetting', + path: '/ai/bots/setting/:id', + component: () => import('#/views/ai/bots/pages/setting/index.vue'), + meta: { + title: 'Bots', + openInNewWindow: true, + hideInMenu: true, + hideInBreadcrumb: true, + hideInTab: true, + activePath: '/ai/bots', + }, + }, +]; + +export default routes; diff --git a/app/src/router/routes/modules/dashboard.ts b/app/src/router/routes/modules/dashboard.ts new file mode 100644 index 0000000..02c9055 --- /dev/null +++ b/app/src/router/routes/modules/dashboard.ts @@ -0,0 +1,38 @@ +import type { RouteRecordRaw } from 'vue-router'; + +// import { $t } from '#/locales'; + +const routes: RouteRecordRaw[] = [ + // { + // meta: { + // icon: 'lucide:layout-dashboard', + // order: -1, + // title: $t('page.dashboard.title'), + // }, + // name: 'Dashboard', + // path: '/dashboard', + // children: [ + // { + // name: 'Analytics', + // path: '/analytics', + // component: () => import('#/views/dashboard/analytics/index.vue'), + // meta: { + // affixTab: true, + // icon: 'lucide:area-chart', + // title: $t('page.dashboard.analytics'), + // }, + // }, + // { + // name: 'Workspace', + // path: '/workspace', + // component: () => import('#/views/dashboard/workspace/index.vue'), + // meta: { + // icon: 'carbon:workspace', + // title: $t('page.dashboard.workspace'), + // }, + // }, + // ], + // }, +]; + +export default routes; diff --git a/app/src/router/routes/modules/datacenter.ts b/app/src/router/routes/modules/datacenter.ts new file mode 100644 index 0000000..8de210a --- /dev/null +++ b/app/src/router/routes/modules/datacenter.ts @@ -0,0 +1,20 @@ +import type { RouteRecordRaw } from 'vue-router'; + +import { $t } from '#/locales'; + +const routes: RouteRecordRaw[] = [ + { + meta: { + icon: 'clarity:database', + title: $t('datacenterTable.title'), + hideInMenu: true, + hideInTab: true, + hideInBreadcrumb: true, + }, + name: 'TableDetail', + path: '/datacenter/table/tableDetail', + component: () => import('#/views/datacenter/DatacenterTableDetail.vue'), + }, +]; + +export default routes; diff --git a/app/src/router/routes/modules/demos.ts b/app/src/router/routes/modules/demos.ts new file mode 100644 index 0000000..4400576 --- /dev/null +++ b/app/src/router/routes/modules/demos.ts @@ -0,0 +1,52 @@ +// import type { RouteRecordRaw } from 'vue-router'; +// +// import { $t } from '#/locales'; +// +// const routes: RouteRecordRaw[] = [ +// { +// meta: { +// icon: 'ic:baseline-view-in-ar', +// keepAlive: true, +// order: 1000, +// title: $t('demos.title'), +// }, +// name: 'Demos', +// path: '/demos', +// children: [ +// { +// meta: { +// title: $t('demos.elementPlus'), +// }, +// name: 'NaiveDemos', +// path: '/demos/element', +// component: () => import('#/views/demos/element/index.vue'), +// }, +// { +// meta: { +// title: '卡片组件', +// }, +// name: 'NaiveDemos1', +// path: '/demos/cardTest', +// component: () => import('#/views/demos/cardTest/index.vue'), +// }, +// { +// meta: { +// title: '分类组件', +// }, +// name: 'NaiveDemos2', +// path: '/demos/categoryPanel', +// component: () => import('#/views/demos/categoryPanel/index.vue'), +// }, +// { +// meta: { +// title: $t('demos.form'), +// }, +// name: 'BasicForm', +// path: '/demos/form', +// component: () => import('#/views/demos/form/basic.vue'), +// }, +// ], +// }, +// ]; +// +// export default routes; diff --git a/app/src/router/routes/modules/document.ts b/app/src/router/routes/modules/document.ts new file mode 100644 index 0000000..abe9be5 --- /dev/null +++ b/app/src/router/routes/modules/document.ts @@ -0,0 +1,21 @@ +import type { RouteRecordRaw } from 'vue-router'; + +import { $t } from '#/locales'; + +const routes: RouteRecordRaw[] = [ + { + meta: { + title: $t('documentCollection.documentManagement'), + hideInMenu: true, + hideInTab: true, + hideInBreadcrumb: true, + fullPathKey: true, + activePath: '/ai/documentCollection', + }, + name: 'Document', + path: '/ai/documentCollection/document', + component: () => import('#/views/ai/documentCollection/Document.vue'), + }, +]; + +export default routes; diff --git a/app/src/router/routes/modules/plugins.ts b/app/src/router/routes/modules/plugins.ts new file mode 100644 index 0000000..49650ea --- /dev/null +++ b/app/src/router/routes/modules/plugins.ts @@ -0,0 +1,32 @@ +import type { RouteRecordRaw } from 'vue-router'; + +import { $t } from '#/locales'; + +const routes: RouteRecordRaw[] = [ + { + meta: { + title: $t('plugin.toolsManagement'), + hideInMenu: true, + hideInTab: true, + hideInBreadcrumb: true, + fullPathKey: true, + }, + name: 'PluginTools', + path: '/ai/plugin/tools', + component: () => import('#/views/ai/plugin/PluginTools.vue'), + }, + { + meta: { + title: $t('plugin.toolsManagement'), + hideInMenu: true, + hideInTab: true, + hideInBreadcrumb: true, + fullPathKey: true, + }, + name: 'PluginToolEdit', + path: '/ai/plugin/tool/edit', + component: () => import('#/views/ai/plugin/PluginToolEdit.vue'), + }, +]; + +export default routes; diff --git a/app/src/router/routes/modules/sysFeedback.ts b/app/src/router/routes/modules/sysFeedback.ts new file mode 100644 index 0000000..720ca1e --- /dev/null +++ b/app/src/router/routes/modules/sysFeedback.ts @@ -0,0 +1,20 @@ +import type { RouteRecordRaw } from 'vue-router'; + +import { $t } from '#/locales'; + +const routes: RouteRecordRaw[] = [ + { + name: 'SysFeedbackDetail', + path: '/sys/sysFeedback/:id', + component: () => import('#/views/system/sysFeedback/sysFeedbackDetail.vue'), + meta: { + title: $t('menus.system.sysFeedback'), + hideInMenu: true, + hideInBreadcrumb: true, + hideInTab: true, + activePath: '/sys/sysFeedback', + }, + }, +]; + +export default routes; diff --git a/app/src/router/routes/modules/sysJob.ts b/app/src/router/routes/modules/sysJob.ts new file mode 100644 index 0000000..a293590 --- /dev/null +++ b/app/src/router/routes/modules/sysJob.ts @@ -0,0 +1,20 @@ +import type { RouteRecordRaw } from 'vue-router'; + +import { $t } from '#/locales'; + +const routes: RouteRecordRaw[] = [ + { + meta: { + icon: 'clarity:time-line', + title: $t('sysJobLog.title'), + hideInMenu: true, + hideInTab: true, + hideInBreadcrumb: true, + }, + name: 'SysJobLog', + path: '/sys/sysJob/sysJobLog', + component: () => import('#/views/system/sysJob/SysJobLogList.vue'), + }, +]; + +export default routes; diff --git a/app/src/router/routes/modules/workflow.ts b/app/src/router/routes/modules/workflow.ts new file mode 100644 index 0000000..78168dd --- /dev/null +++ b/app/src/router/routes/modules/workflow.ts @@ -0,0 +1,55 @@ +import type { RouteRecordRaw } from 'vue-router'; + +import { $t } from '#/locales'; + +const routes: RouteRecordRaw[] = [ + { + meta: { + icon: 'ant-design:apartment-outlined', + title: $t('datacenterTable.title'), + hideInMenu: true, + hideInTab: true, + hideInBreadcrumb: true, + }, + name: 'WorkflowDesign', + path: '/ai/workflow/design', + component: () => import('#/views/ai/workflow/WorkflowDesign.vue'), + }, + { + meta: { + title: '运行', + openInNewWindow: true, + noBasicLayout: true, + hideInMenu: true, + }, + name: 'RunPage', + path: '/ai/workflow/run', + component: () => import('#/views/ai/workflow/RunPage.vue'), + }, + { + meta: { + title: $t('aiWorkflowExecRecord.moduleName'), + hideInMenu: true, + hideInTab: true, + hideInBreadcrumb: true, + }, + name: 'ExecRecord', + path: '/ai/workflow/executeRecords', + component: () => + import('#/views/ai/workflow/execute/WorkflowExecResultList.vue'), + }, + { + meta: { + title: $t('aiWorkflowRecordStep.moduleName'), + hideInMenu: true, + hideInTab: true, + hideInBreadcrumb: true, + }, + name: 'RecordStep', + path: '/ai/workflow/executeSteps', + component: () => + import('#/views/ai/workflow/execute/WorkflowExecStepList.vue'), + }, +]; + +export default routes; diff --git a/app/src/shims-vue.d.ts b/app/src/shims-vue.d.ts new file mode 100644 index 0000000..7c32d10 --- /dev/null +++ b/app/src/shims-vue.d.ts @@ -0,0 +1,17 @@ +declare module '#/components/page/PageData.vue' { + import type { DefineComponent } from 'vue'; + + interface PageDataSlots { + default: (props: { pageList: any[] }) => any; + } + + const component: DefineComponent; + export default component; +} + +declare module '*.vue' { + import type { DefineComponent } from 'vue'; + + const component: DefineComponent; + export default component; +} diff --git a/app/src/store/auth.ts b/app/src/store/auth.ts new file mode 100644 index 0000000..59a5544 --- /dev/null +++ b/app/src/store/auth.ts @@ -0,0 +1,119 @@ +import type { Recordable, UserInfo } from '@aiflowy/types'; + +import { ref } from 'vue'; +import { useRouter } from 'vue-router'; + +import { LOGIN_PATH } from '@aiflowy/constants'; +import { preferences } from '@aiflowy/preferences'; +import { resetAllStores, useAccessStore, useUserStore } from '@aiflowy/stores'; + +import { ElNotification } from 'element-plus'; +import { defineStore } from 'pinia'; + +import { getAccessCodesApi, getUserInfoApi, loginApi, logoutApi } from '#/api'; +import { $t } from '#/locales'; + +export const useAuthStore = defineStore('auth', () => { + const accessStore = useAccessStore(); + const userStore = useUserStore(); + const router = useRouter(); + + const loginLoading = ref(false); + + /** + * 异步处理登录操作 + * Asynchronously handle the login process + * @param params 登录表单数据 + */ + async function authLogin( + params: Recordable, + onSuccess?: () => Promise | void, + ) { + // 异步处理用户登录操作并获取 accessToken + let userInfo: null | UserInfo = null; + try { + loginLoading.value = true; + const { token: accessToken } = await loginApi(params); + + // 如果成功获取到 accessToken + if (accessToken) { + // 将 accessToken 存储到 accessStore 中 + accessStore.setAccessToken(accessToken); + + // 获取用户信息并存储到 accessStore 中 + const [fetchUserInfoResult, accessCodes] = await Promise.all([ + fetchUserInfo(), + getAccessCodesApi(), + ]); + + userInfo = fetchUserInfoResult; + + userStore.setUserInfo(userInfo); + accessStore.setAccessCodes(accessCodes); + + if (accessStore.loginExpired) { + accessStore.setLoginExpired(false); + } else { + onSuccess + ? await onSuccess?.() + : await router.push( + userInfo.homePath || preferences.app.defaultHomePath, + ); + } + + if (userInfo?.nickname) { + ElNotification({ + message: `${$t('authentication.loginSuccessDesc')}:${userInfo?.nickname}`, + title: $t('authentication.loginSuccess'), + type: 'success', + }); + } + } + } finally { + loginLoading.value = false; + } + + return { + userInfo, + }; + } + + async function logout(redirect: boolean = true) { + try { + await logoutApi(); + } catch { + // 不做任何处理 + } + resetAllStores(); + accessStore.setLoginExpired(false); + + // 回登录页带上当前路由地址 + await router.replace({ + path: LOGIN_PATH, + query: redirect + ? { + redirect: encodeURIComponent(router.currentRoute.value.fullPath), + } + : {}, + }); + } + + async function fetchUserInfo() { + let userInfo: null | UserInfo = null; + userInfo = await getUserInfoApi(); + userStore.setUserInfo(userInfo); + return userInfo; + } + + function $reset() { + loginLoading.value = false; + } + + return { + $reset, + authLogin, + fetchUserInfo, + loginLoading, + logout, + }; +}); diff --git a/app/src/store/dict.ts b/app/src/store/dict.ts new file mode 100644 index 0000000..55fb6c8 --- /dev/null +++ b/app/src/store/dict.ts @@ -0,0 +1,54 @@ +import { defineStore } from 'pinia'; + +import { api } from '#/api/request'; + +export const useDictStore = defineStore('dictionary', { + state: () => ({ + dictCache: new Map(), // 缓存字典数据 + }), + + getters: { + // 获取特定字典的 Map 对象 + getDictByType: (state) => (dictType: string) => { + return state.dictCache.get(dictType) || new Map(); + }, + }, + + actions: { + // 获取字典数据 + async fetchDictionary(dictType: string) { + // 如果已经有缓存数据,直接返回 + if (this.dictCache.has(dictType)) { + return this.dictCache.get(dictType); + } + + try { + const requestPromise = api.get(`/api/v1/dict/items/${dictType}`); + const dictData = await requestPromise; + // 转换为 { value: label } 格式便于查找 + const dictMap = new Map( + dictData.data.map((item: any) => [item.value, item.label]), + ); + + // 缓存数据并清理加载状态 + this.dictCache.set(dictType, dictMap); + + return dictMap; + } catch (error) { + console.error(`get dict ${dictType} error:`, error); + return new Map(); + } + }, + + // 根据字典类型和值获取标签 + getDictLabel(dictType: string, value: any) { + const dictMap = this.dictCache.get(dictType); + if (!dictMap) { + return value; // 返回原值作为降级处理 + } + + const label = dictMap.get(value); + return label === undefined ? value : label; + }, + }, +}); diff --git a/app/src/store/index.ts b/app/src/store/index.ts new file mode 100644 index 0000000..b6a7763 --- /dev/null +++ b/app/src/store/index.ts @@ -0,0 +1,2 @@ +export * from './auth'; +export * from './dict'; diff --git a/app/src/utils/resource.ts b/app/src/utils/resource.ts new file mode 100644 index 0000000..c5f4e94 --- /dev/null +++ b/app/src/utils/resource.ts @@ -0,0 +1,57 @@ +import audioIcon from '#/assets/ai/resource/audio-icon.png'; +import docIcon from '#/assets/ai/resource/doc-icon.png'; +import otherIcon from '#/assets/ai/resource/other-icon.png'; +import videoIcon from '#/assets/ai/resource/video-icon.png'; + +export function getSrc(item: any) { + switch (item.resourceType) { + case 0: { + return item.resourceUrl; + } + case 1: { + return audioIcon; + } + case 2: { + return videoIcon; + } + case 3: { + return docIcon; + } + default: { + return otherIcon; + } + } +} + +export function getResourceTypeColor(item: any) { + switch (item.resourceType) { + case 0: { + return '#0066FF'; + } + case 1: { + return '#FFA200'; + } + case 2: { + return '#5600FF'; + } + case 3: { + return '#0099CC'; + } + default: { + return '#757575'; + } + } +} +export function getResourceOriginColor(item: any) { + switch (item.origin) { + case 0: { + return '#039e90'; + } + case 1: { + return '#0066FF'; + } + default: { + return '#757575'; + } + } +} diff --git a/app/src/views/_core/README.md b/app/src/views/_core/README.md new file mode 100644 index 0000000..8248afe --- /dev/null +++ b/app/src/views/_core/README.md @@ -0,0 +1,3 @@ +# \_core + +此目录包含应用程序正常运行所需的基本视图。这些视图是应用程序布局中使用的视图。 diff --git a/app/src/views/_core/about/index.vue b/app/src/views/_core/about/index.vue new file mode 100644 index 0000000..6c9c8e6 --- /dev/null +++ b/app/src/views/_core/about/index.vue @@ -0,0 +1,39 @@ + + + diff --git a/app/src/views/_core/authentication/code-login.vue b/app/src/views/_core/authentication/code-login.vue new file mode 100644 index 0000000..df01968 --- /dev/null +++ b/app/src/views/_core/authentication/code-login.vue @@ -0,0 +1,69 @@ + + + diff --git a/app/src/views/_core/authentication/forget-password.vue b/app/src/views/_core/authentication/forget-password.vue new file mode 100644 index 0000000..861603f --- /dev/null +++ b/app/src/views/_core/authentication/forget-password.vue @@ -0,0 +1,43 @@ + + + diff --git a/app/src/views/_core/authentication/login.vue b/app/src/views/_core/authentication/login.vue new file mode 100644 index 0000000..0ee864c --- /dev/null +++ b/app/src/views/_core/authentication/login.vue @@ -0,0 +1,127 @@ + + + + + diff --git a/app/src/views/_core/authentication/oauth-page.vue b/app/src/views/_core/authentication/oauth-page.vue new file mode 100644 index 0000000..59773b3 --- /dev/null +++ b/app/src/views/_core/authentication/oauth-page.vue @@ -0,0 +1,32 @@ + + + + + diff --git a/app/src/views/_core/authentication/qrcode-login.vue b/app/src/views/_core/authentication/qrcode-login.vue new file mode 100644 index 0000000..0ccb9fe --- /dev/null +++ b/app/src/views/_core/authentication/qrcode-login.vue @@ -0,0 +1,10 @@ + + + diff --git a/app/src/views/_core/authentication/register.vue b/app/src/views/_core/authentication/register.vue new file mode 100644 index 0000000..bac4a0f --- /dev/null +++ b/app/src/views/_core/authentication/register.vue @@ -0,0 +1,96 @@ + + + diff --git a/app/src/views/_core/fallback/coming-soon.vue b/app/src/views/_core/fallback/coming-soon.vue new file mode 100644 index 0000000..1c806b7 --- /dev/null +++ b/app/src/views/_core/fallback/coming-soon.vue @@ -0,0 +1,7 @@ + + + diff --git a/app/src/views/_core/fallback/forbidden.vue b/app/src/views/_core/fallback/forbidden.vue new file mode 100644 index 0000000..bd4adc0 --- /dev/null +++ b/app/src/views/_core/fallback/forbidden.vue @@ -0,0 +1,9 @@ + + + diff --git a/app/src/views/_core/fallback/internal-error.vue b/app/src/views/_core/fallback/internal-error.vue new file mode 100644 index 0000000..e288206 --- /dev/null +++ b/app/src/views/_core/fallback/internal-error.vue @@ -0,0 +1,9 @@ + + + diff --git a/app/src/views/_core/fallback/not-found.vue b/app/src/views/_core/fallback/not-found.vue new file mode 100644 index 0000000..1c631fc --- /dev/null +++ b/app/src/views/_core/fallback/not-found.vue @@ -0,0 +1,9 @@ + + + diff --git a/app/src/views/_core/fallback/offline.vue b/app/src/views/_core/fallback/offline.vue new file mode 100644 index 0000000..f34e62a --- /dev/null +++ b/app/src/views/_core/fallback/offline.vue @@ -0,0 +1,9 @@ + + + diff --git a/app/src/views/_core/profile/base-setting.vue b/app/src/views/_core/profile/base-setting.vue new file mode 100644 index 0000000..8883500 --- /dev/null +++ b/app/src/views/_core/profile/base-setting.vue @@ -0,0 +1,77 @@ + + diff --git a/app/src/views/_core/profile/index.vue b/app/src/views/_core/profile/index.vue new file mode 100644 index 0000000..1dc84ae --- /dev/null +++ b/app/src/views/_core/profile/index.vue @@ -0,0 +1,43 @@ + + diff --git a/app/src/views/_core/profile/notification-setting.vue b/app/src/views/_core/profile/notification-setting.vue new file mode 100644 index 0000000..790d399 --- /dev/null +++ b/app/src/views/_core/profile/notification-setting.vue @@ -0,0 +1,33 @@ + + diff --git a/app/src/views/_core/profile/password-setting.vue b/app/src/views/_core/profile/password-setting.vue new file mode 100644 index 0000000..cfda0fb --- /dev/null +++ b/app/src/views/_core/profile/password-setting.vue @@ -0,0 +1,78 @@ + + diff --git a/app/src/views/_core/profile/security-setting.vue b/app/src/views/_core/profile/security-setting.vue new file mode 100644 index 0000000..e8302b2 --- /dev/null +++ b/app/src/views/_core/profile/security-setting.vue @@ -0,0 +1,43 @@ + + diff --git a/app/src/views/ai/bots/index.vue b/app/src/views/ai/bots/index.vue new file mode 100644 index 0000000..c3d1fc9 --- /dev/null +++ b/app/src/views/ai/bots/index.vue @@ -0,0 +1,344 @@ + + + diff --git a/app/src/views/ai/bots/modal.vue b/app/src/views/ai/bots/modal.vue new file mode 100644 index 0000000..d5acad2 --- /dev/null +++ b/app/src/views/ai/bots/modal.vue @@ -0,0 +1,120 @@ + + + diff --git a/app/src/views/ai/bots/pages/Run.vue b/app/src/views/ai/bots/pages/Run.vue new file mode 100644 index 0000000..5edce7d --- /dev/null +++ b/app/src/views/ai/bots/pages/Run.vue @@ -0,0 +1,159 @@ + + + + + diff --git a/app/src/views/ai/bots/pages/setting/PromptChoreChatModal.vue b/app/src/views/ai/bots/pages/setting/PromptChoreChatModal.vue new file mode 100644 index 0000000..df5c5bc --- /dev/null +++ b/app/src/views/ai/bots/pages/setting/PromptChoreChatModal.vue @@ -0,0 +1,91 @@ + + + diff --git a/app/src/views/ai/bots/pages/setting/config.vue b/app/src/views/ai/bots/pages/setting/config.vue new file mode 100644 index 0000000..6d361ad --- /dev/null +++ b/app/src/views/ai/bots/pages/setting/config.vue @@ -0,0 +1,1048 @@ + + + + + diff --git a/app/src/views/ai/bots/pages/setting/index.vue b/app/src/views/ai/bots/pages/setting/index.vue new file mode 100644 index 0000000..e28e4cd --- /dev/null +++ b/app/src/views/ai/bots/pages/setting/index.vue @@ -0,0 +1,66 @@ + + + + diff --git a/app/src/views/ai/bots/pages/setting/preview.vue b/app/src/views/ai/bots/pages/setting/preview.vue new file mode 100644 index 0000000..7e260e1 --- /dev/null +++ b/app/src/views/ai/bots/pages/setting/preview.vue @@ -0,0 +1,34 @@ + + + diff --git a/app/src/views/ai/bots/pages/setting/prompt.vue b/app/src/views/ai/bots/pages/setting/prompt.vue new file mode 100644 index 0000000..16b8006 --- /dev/null +++ b/app/src/views/ai/bots/pages/setting/prompt.vue @@ -0,0 +1,94 @@ + + + + + diff --git a/app/src/views/ai/documentCollection/ChunkDocumentTable.vue b/app/src/views/ai/documentCollection/ChunkDocumentTable.vue new file mode 100644 index 0000000..72e0673 --- /dev/null +++ b/app/src/views/ai/documentCollection/ChunkDocumentTable.vue @@ -0,0 +1,164 @@ + + + + + diff --git a/app/src/views/ai/documentCollection/ComfirmImportDocument.vue b/app/src/views/ai/documentCollection/ComfirmImportDocument.vue new file mode 100644 index 0000000..ebbe1cb --- /dev/null +++ b/app/src/views/ai/documentCollection/ComfirmImportDocument.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/app/src/views/ai/documentCollection/Document.vue b/app/src/views/ai/documentCollection/Document.vue new file mode 100644 index 0000000..96a4f35 --- /dev/null +++ b/app/src/views/ai/documentCollection/Document.vue @@ -0,0 +1,228 @@ + + + + + diff --git a/app/src/views/ai/documentCollection/DocumentCollection.vue b/app/src/views/ai/documentCollection/DocumentCollection.vue new file mode 100644 index 0000000..73784cb --- /dev/null +++ b/app/src/views/ai/documentCollection/DocumentCollection.vue @@ -0,0 +1,181 @@ + + + + + diff --git a/app/src/views/ai/documentCollection/DocumentCollectionModal.vue b/app/src/views/ai/documentCollection/DocumentCollectionModal.vue new file mode 100644 index 0000000..f69b7ea --- /dev/null +++ b/app/src/views/ai/documentCollection/DocumentCollectionModal.vue @@ -0,0 +1,284 @@ + + + + + diff --git a/app/src/views/ai/documentCollection/DocumentTable.vue b/app/src/views/ai/documentCollection/DocumentTable.vue new file mode 100644 index 0000000..f164c0e --- /dev/null +++ b/app/src/views/ai/documentCollection/DocumentTable.vue @@ -0,0 +1,155 @@ + + + + + diff --git a/app/src/views/ai/documentCollection/ImportKnowledgeDocFile.vue b/app/src/views/ai/documentCollection/ImportKnowledgeDocFile.vue new file mode 100644 index 0000000..0aa8f99 --- /dev/null +++ b/app/src/views/ai/documentCollection/ImportKnowledgeDocFile.vue @@ -0,0 +1,253 @@ + + + + + diff --git a/app/src/views/ai/documentCollection/ImportKnowledgeFileContainer.vue b/app/src/views/ai/documentCollection/ImportKnowledgeFileContainer.vue new file mode 100644 index 0000000..3ba43f4 --- /dev/null +++ b/app/src/views/ai/documentCollection/ImportKnowledgeFileContainer.vue @@ -0,0 +1,107 @@ + + + + + diff --git a/app/src/views/ai/documentCollection/KnowledgeSearch.vue b/app/src/views/ai/documentCollection/KnowledgeSearch.vue new file mode 100644 index 0000000..e849d48 --- /dev/null +++ b/app/src/views/ai/documentCollection/KnowledgeSearch.vue @@ -0,0 +1,75 @@ + + + + + diff --git a/app/src/views/ai/documentCollection/PreviewSearchKnowledge.vue b/app/src/views/ai/documentCollection/PreviewSearchKnowledge.vue new file mode 100644 index 0000000..1027580 --- /dev/null +++ b/app/src/views/ai/documentCollection/PreviewSearchKnowledge.vue @@ -0,0 +1,251 @@ + + + + + diff --git a/app/src/views/ai/documentCollection/SegmenterDoc.vue b/app/src/views/ai/documentCollection/SegmenterDoc.vue new file mode 100644 index 0000000..08cc2a8 --- /dev/null +++ b/app/src/views/ai/documentCollection/SegmenterDoc.vue @@ -0,0 +1,144 @@ + + + + + diff --git a/app/src/views/ai/documentCollection/SplitterDocPreview.vue b/app/src/views/ai/documentCollection/SplitterDocPreview.vue new file mode 100644 index 0000000..fda5a5b --- /dev/null +++ b/app/src/views/ai/documentCollection/SplitterDocPreview.vue @@ -0,0 +1,174 @@ + + + + + diff --git a/app/src/views/ai/mcp/Mcp.vue b/app/src/views/ai/mcp/Mcp.vue new file mode 100644 index 0000000..1241d8d --- /dev/null +++ b/app/src/views/ai/mcp/Mcp.vue @@ -0,0 +1,157 @@ + + + + + diff --git a/app/src/views/ai/mcp/McpModal.vue b/app/src/views/ai/mcp/McpModal.vue new file mode 100644 index 0000000..b6646ca --- /dev/null +++ b/app/src/views/ai/mcp/McpModal.vue @@ -0,0 +1,341 @@ + + + + + diff --git a/app/src/views/ai/model/AddModelModal.vue b/app/src/views/ai/model/AddModelModal.vue new file mode 100644 index 0000000..052b2dc --- /dev/null +++ b/app/src/views/ai/model/AddModelModal.vue @@ -0,0 +1,377 @@ + + + + + diff --git a/app/src/views/ai/model/AddModelProviderModal.vue b/app/src/views/ai/model/AddModelProviderModal.vue new file mode 100644 index 0000000..164f726 --- /dev/null +++ b/app/src/views/ai/model/AddModelProviderModal.vue @@ -0,0 +1,197 @@ + + + + + diff --git a/app/src/views/ai/model/ManageModelModal.vue b/app/src/views/ai/model/ManageModelModal.vue new file mode 100644 index 0000000..4f0a616 --- /dev/null +++ b/app/src/views/ai/model/ManageModelModal.vue @@ -0,0 +1,350 @@ + + + + + diff --git a/app/src/views/ai/model/Model.vue b/app/src/views/ai/model/Model.vue new file mode 100644 index 0000000..55a651d --- /dev/null +++ b/app/src/views/ai/model/Model.vue @@ -0,0 +1,622 @@ + + + + + diff --git a/app/src/views/ai/model/ModelVerifyConfig.vue b/app/src/views/ai/model/ModelVerifyConfig.vue new file mode 100644 index 0000000..a4ca706 --- /dev/null +++ b/app/src/views/ai/model/ModelVerifyConfig.vue @@ -0,0 +1,118 @@ + + + + + diff --git a/app/src/views/ai/model/ModelViewItemOperation.vue b/app/src/views/ai/model/ModelViewItemOperation.vue new file mode 100644 index 0000000..157f7c2 --- /dev/null +++ b/app/src/views/ai/model/ModelViewItemOperation.vue @@ -0,0 +1,201 @@ + + + + + diff --git a/app/src/views/ai/model/modelUtils/defaultIcon.ts b/app/src/views/ai/model/modelUtils/defaultIcon.ts new file mode 100644 index 0000000..34b42ba --- /dev/null +++ b/app/src/views/ai/model/modelUtils/defaultIcon.ts @@ -0,0 +1,27 @@ +import { ref } from 'vue'; + +import providerList from './providerList.json'; + +const providerOptions = + ref>( + providerList, + ); + +/** + * 根据传入的value,返回对应的icon属性 + * @param targetValue 要匹配的value值 + * @returns 匹配到的icon字符串,未匹配到返回空字符串 + */ +export const getIconByValue = (targetValue: string): string => { + const matchItem = providerOptions.value.find( + (item) => item.value === targetValue, + ); + + return matchItem?.icon || ''; +}; + +export const isSvgString = (icon: any) => { + if (typeof icon !== 'string') return false; + // 简单判断:是否包含 SVG 根标签 + return icon.trim().startsWith(''); +}; diff --git a/app/src/views/ai/model/modelUtils/model-ability-utils.ts b/app/src/views/ai/model/modelUtils/model-ability-utils.ts new file mode 100644 index 0000000..c6bcee8 --- /dev/null +++ b/app/src/views/ai/model/modelUtils/model-ability-utils.ts @@ -0,0 +1,71 @@ +import type { BooleanField, ModelAbilityItem } from './model-ability'; + +import type { llmType } from '#/api'; + +/** + * 将 llm 数据转换为标签选中状态 + * @param llm LLM数据对象 + * @param modelAbility 模型能力数组 + * @returns 更新后的模型能力数组 + */ +export const mapLlmToModelAbility = ( + llm: llmType, + modelAbility: ModelAbilityItem[], +): ModelAbilityItem[] => { + return modelAbility.map((tag) => ({ + ...tag, + selected: Boolean(llm[tag.field as keyof llmType]), + })); +}; + +/** + * 从标签选中状态生成 features 对象 + * @param modelAbility 模型能力数组 + * @returns 包含所有字段的features对象 + */ +export const generateFeaturesFromModelAbility = ( + modelAbility: ModelAbilityItem[], +): Record => { + const features: Partial> = {}; + + modelAbility.forEach((tag) => { + features[tag.field] = tag.selected; + }); + + return features as Record; +}; + +/** + * 过滤显示选中的标签 + * @param modelAbility 模型能力数组 + * @returns 选中的标签数组 + */ +export const getSelectedModelAbility = ( + modelAbility: ModelAbilityItem[], +): ModelAbilityItem[] => { + return modelAbility.filter((tag) => tag.selected); +}; + +/** + * 重置所有标签为未选中状态 + * @param modelAbility 模型能力数组 + */ +export const resetModelAbility = (modelAbility: ModelAbilityItem[]): void => { + modelAbility.forEach((tag) => { + tag.selected = false; + }); +}; + +/** + * 根据标签选中状态更新表单数据 + * @param modelAbility 模型能力数组 + * @param formData 表单数据对象 + */ +export const updateFormDataFromModelAbility = ( + modelAbility: ModelAbilityItem[], + formData: Record, +): void => { + modelAbility.forEach((tag) => { + formData[tag.field] = tag.selected; + }); +}; diff --git a/app/src/views/ai/model/modelUtils/model-ability.ts b/app/src/views/ai/model/modelUtils/model-ability.ts new file mode 100644 index 0000000..abc4d62 --- /dev/null +++ b/app/src/views/ai/model/modelUtils/model-ability.ts @@ -0,0 +1,169 @@ +import { $t } from '#/locales'; + +export type BooleanField = + | 'supportAudio' + | 'supportFree' + | 'supportImage' + | 'supportImageB64Only' + | 'supportThinking' + | 'supportTool' + | 'supportToolMessage' + | 'supportVideo'; + +export interface ModelAbilityItem { + activeType: 'danger' | 'info' | 'primary' | 'success' | 'warning'; + defaultType: 'info'; + field: BooleanField; + label: string; + selected: boolean; + value: string; +} + +/** + * 获取模型能力标签的默认配置 + * @returns ModelAbilityItem[] 模型能力配置数组 + */ +export const getDefaultModelAbility = (): ModelAbilityItem[] => [ + { + label: $t('llm.modelAbility.supportThinking'), + value: 'thinking', + defaultType: 'info', + activeType: 'success', + selected: false, + field: 'supportThinking', + }, + { + label: $t('llm.modelAbility.supportTool'), + value: 'tool', + defaultType: 'info', + activeType: 'success', + selected: false, + field: 'supportTool', + }, + { + label: $t('llm.modelAbility.supportVideo'), + value: 'video', + defaultType: 'info', + activeType: 'success', + selected: false, + field: 'supportVideo', + }, + { + label: $t('llm.modelAbility.supportImage'), + value: 'image', + defaultType: 'info', + activeType: 'success', + selected: false, + field: 'supportImage', + }, + { + label: $t('llm.modelAbility.supportFree'), + value: 'free', + defaultType: 'info', + activeType: 'success', + selected: false, + field: 'supportFree', + }, + { + label: $t('llm.modelAbility.supportAudio'), + value: 'audio', + defaultType: 'info', + activeType: 'success', + selected: false, + field: 'supportAudio', + }, + { + label: $t('llm.modelAbility.supportImageB64Only'), + value: 'imageB64', + defaultType: 'info', + activeType: 'success', + selected: false, + field: 'supportImageB64Only', + }, + { + label: $t('llm.modelAbility.supportToolMessage'), + value: 'toolMessage', + defaultType: 'info', + activeType: 'success', + selected: true, + field: 'supportToolMessage', + }, +]; + +/** + * 根据字段数组获取对应的标签选中状态 + * @param modelAbility 模型能力数组 + * @param fields 需要获取的字段数组 + * @returns 以字段名为键、选中状态为值的对象 + */ +export const getTagsSelectedStatus = ( + modelAbility: ModelAbilityItem[], + fields: BooleanField[], +): Record => { + const result: Partial> = {}; + + fields.forEach((field) => { + const tagItem = modelAbility.find((tag) => tag.field === field); + result[field] = tagItem?.selected ?? false; + }); + + return result as Record; +}; + +/** + * 同步标签选中状态与formData中的布尔字段 + * @param modelAbility 模型能力数组 + * @param formData 表单数据对象 + */ +export const syncTagSelectedStatus = ( + modelAbility: ModelAbilityItem[], + formData: Record, +): void => { + modelAbility.forEach((tag) => { + tag.selected = formData[tag.field] ?? false; + }); +}; + +/** + * 处理标签点击事件 + * @param modelAbility 模型能力数组 + * @param item 被点击的标签项 + * @param formData 表单数据对象 + */ +export const handleTagClick = ( + // modelAbility: ModelAbilityItem[], + item: ModelAbilityItem, + formData: Record, +): void => { + // 切换标签选中状态 + item.selected = !item.selected; + + // 同步更新formData中的布尔字段 + formData[item.field] = item.selected; +}; + +/** + * 根据字段获取对应的标签项 + * @param modelAbility 模型能力数组 + * @param field 布尔字段名 + * @returns 标签项 | undefined + */ +export const getTagByField = ( + modelAbility: ModelAbilityItem[], + field: BooleanField, +): ModelAbilityItem | undefined => { + return modelAbility.find((tag) => tag.field === field); +}; + +/** + * 获取所有支持的BooleanField数组 + */ +export const getAllBooleanFields = (): BooleanField[] => [ + 'supportThinking', + 'supportTool', + 'supportImage', + 'supportImageB64Only', + 'supportVideo', + 'supportAudio', + 'supportFree', +]; diff --git a/app/src/views/ai/model/modelUtils/modelTypes.ts b/app/src/views/ai/model/modelUtils/modelTypes.ts new file mode 100644 index 0000000..c53826e --- /dev/null +++ b/app/src/views/ai/model/modelUtils/modelTypes.ts @@ -0,0 +1,16 @@ +import { $t } from '@aiflowy/locales'; + +export const modelTypes = [ + { + label: $t('llmProvider.chatModel'), + value: 'chatModel', + }, + { + label: $t('llmProvider.embeddingModel'), + value: 'embeddingModel', + }, + { + label: $t('llmProvider.rerankModel'), + value: 'rerankModel', + }, +]; diff --git a/app/src/views/ai/model/modelUtils/providerList.json b/app/src/views/ai/model/modelUtils/providerList.json new file mode 100644 index 0000000..1c7b213 --- /dev/null +++ b/app/src/views/ai/model/modelUtils/providerList.json @@ -0,0 +1,577 @@ +[ + { + "label": "DeepSeek", + "value": "deepseek", + "options":{ + "llmEndpoint":"https://api.deepseek.com", + "chatPath":"/chat/completions", + "modelList":[ + { + "llmModel":"deepseek-reasoner", + "supportChat":true, + "supportFunctionCalling":true, + "label":"DeepSeek-R1-0528", + "description":"DeepSeek-R1-0528 是一款强化学习(RL)驱动的推理模型,解决了模型中的重复性和可读性问题。在 RL 之前,DeepSeek-R1 引入了冷启动数据,进一步优化了推理性能。它在数学、代码和推理任务中与 OpenAI-o1 表现相当,并且通过精心设计的训练方法,提升了整体效果" + }, + { + "llmModel":"deepseek-chat", + "supportChat":true, + "supportFunctionCalling":true, + "label":"DeepSeek-V3-0324", + "description":"新版 DeepSeek-V3 (DeepSeek-V3-0324)与之前的 DeepSeek-V3-1226 使用同样的 base 模型,仅改进了后训练方法。新版 V3 模型借鉴 DeepSeek-R1 模型训练过程中所使用的强化学习技术,大幅提高了在推理类任务上的表现水平,在数学、代码类相关评测集上取得了超过 GPT-4.5 的得分成绩。此外该模型在工具调用、角色扮演、问答闲聊等方面也得到了一定幅度的能力提升。" + } + ] + }, + "icon": "\n \n \n \n \n \n \n \n \n \n \n \n" + + }, + { + "label": "Open AI", + "value": "openai", + "options":{ + "llmEndpoint":"https://api.openai.com", + "chatPath":"/v1/chat/completions", + "embedPath":"/v1/embeddings", + + "modelList":[ + { + "llmModel":"o4-mini", + "supportChat":true, + "supportFunctionCalling":true, + "multimodal":true, + "label":"o4-mini", + "description":"O4-mini 是OpenAi最新的小型 O 系列型号。它针对快速、有效的推理进行了优化,在编码和可视化任务中具有非常高效的性能。" + }, + { + "llmModel":"o3", + "supportChat":true, + "supportFunctionCalling":true, + "multimodal":true, + "label":"o3", + "description":"O3 是一个全面而强大的跨领域模型。它为数学、科学、编码和视觉推理任务设定了新标准。它还擅长技术写作和指导遵循。使用它来思考涉及跨文本、代码和图像分析的多步骤问题。" + }, + { + "llmModel":"o3-pro", + "supportChat":true, + "supportFunctionCalling":true, + "multimodal":true, + "label":"o3-pro", + "description":"o 系列模型经过强化学习训练,在回答和执行复杂推理之前先思考。o3-pro 模型使用更多的计算来更深入地思考并始终提供更好的答案。" + }, + { + "llmModel":"o3-mini", + "supportChat":true, + "supportFunctionCalling":true, + "label":"o3-mini", + "description":"O3-mini 是OpenAi最新的小型推理模型,以与 O1-mini 相同的成本和延迟目标提供高智能。o3-mini 支持关键的开发人员功能,如结构化输出、函数调用和批处理 API。" + }, + { + "llmModel":"GPT-4.1", + "supportChat":true, + "supportFunctionCalling":true, + "multimodal":true, + "label":"GPT-4.1", + "description":"GPT-4.1 是OpenAi用于复杂任务的旗舰模型。它非常适合跨领域解决问题。" + }, + { + "llmModel":"GPT-4o", + "supportChat":true, + "supportFunctionCalling":true, + "multimodal":true, + "label":"GPT-4o", + "description":"GPT-4o(“o”代表“omni”)是OpenAi多功能、高智能的旗舰模型。它接受文本和图像输入,并生成文本输出(包括结构化输出)。它是大多数任务的最佳模型,也是 o 系列模型之外功能最强大的模型" + }, + { + "llmModel":"text-embedding-3-small", + "supportEmbed":true, + "label":"text-embedding-3-small", + "description":"text-embedding-3-small 是 ADA 嵌入模型的改进版,性能更高。嵌入是文本的数字表示形式,可用于度量两段文本之间的相关性。嵌入对于搜索、聚类、推荐、异常检测和分类任务非常有用" + }, + { + "llmModel":"text-embedding-3-large", + "supportEmbed":true, + "label":"text-embedding-3-large", + "description":"text-embedding-3-large 是OpenAi最强大的嵌入模型,适用于英语和非英语任务。嵌入是文本的数字表示形式,可用于度量两段文本之间的相关性。嵌入对于搜索、聚类、推荐、异常检测和分类任务非常有用。" + }, + { + "llmModel":"text-embedding-ada-002", + "supportEmbed":true, + "label":"text-embedding-ada-002", + "description":"text-embedding-ada-002 是 ADA 嵌入模型的改进版,性能更高。嵌入是文本的数字表示形式,可用于度量两段文本之间的相关性。嵌入对于搜索、聚类、推荐、异常检测和分类任务非常有用。" + } + + ] + }, + "icon": "\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n" + }, + { + "label": "阿里百炼", + "value": "aliyun", + "options":{ + "llmEndpoint":"https://dashscope.aliyuncs.com", + "chatPath":"/compatible-mode/v1/chat/completions", + "embedPath":"/compatible-mode/v1/embeddings", + "rerankPath":"/api/v1/services/rerank/text-rerank/text-rerank", + "modelList":[ + { + "llmModel":"qwen-plus", + "supportChat":true, + "supportFunctionCalling":true, + "label":"通义千问-Plus", + "description":"Qwen3系列Plus模型,实现思考模式和非思考模式的有效融合,可在对话中切换模式。推理能力显著超过QwQ、通用能力显著超过Qwen2.5-Plus,达到同规模业界SOTA水平。" + + }, + { + "llmModel":"qwen-turbo", + "supportChat":true, + "supportFunctionCalling":true, + "label":"通义千问-Turbo", + "description":"Qwen3系列Turbo模型,实现思考模式和非思考模式的有效融合,可在对话中切换模式。推理能力以更小参数规模比肩QwQ-32B、通用能力显著超过Qwen2.5-Turbo,达到同规模业界SOTA水平。" + }, + { + "llmModel":"qwen-max", + "supportChat":true, + "supportFunctionCalling":true, + "label":"通义千问-Max", + "description":"通义千问2.5系列千亿级别超大规模语言模型,支持中文、英文等不同语言输入。随着模型的升级,qwen-max将滚动更新升级。" + }, + { + "llmModel":"deepseek-r1-distill-qwen-7b", + "supportChat":true, + "supportFunctionCalling":true, + "label":"DeepSeek-R1-Distill-Qwen-7B", + "description":"DeepSeek-R1-Distill-Qwen-7B是一个基于Qwen2.5-Math-7B的蒸馏大型语言模型,使用了 DeepSeek R1 的输出。" + }, + { + "llmModel":"deepseek-r1-distill-qwen-14b", + "supportChat":true, + "supportFunctionCalling":true, + "label":"DeepSeek-R1-Distill-Qwen-14B", + "description":"DeepSeek-R1-Distill-Qwen-14B是一个基于Qwen2.5-14B的蒸馏大型语言模型,使用了 DeepSeek R1 的输出。" + }, + { + "llmModel":"deepseek-r1-distill-qwen-32b", + "supportChat":true, + "supportFunctionCalling":true, + "label":"DeepSeek-R1-Distill-Qwen-32B", + "description":"DeepSeek-R1-Distill-Qwen-32B是一个基于Qwen2.5-32B的蒸馏大型语言模型,使用了 DeepSeek R1 的输出。" + }, + { + "llmModel":"qwen-vl-max", + "supportChat":true, + "supportFunctionCalling":true, + "multimodal":true, + "label":"通义千问VL-Max", + "description":"通义千问VL-Max(qwen-vl-max),即通义千问超大规模视觉语言模型。相比增强版,再次提升视觉推理能力和指令遵循能力,提供更高的视觉感知和认知水平。在更多复杂任务上提供最佳的性能。" + }, + { + "llmModel":"qwen-vl-plus", + "supportChat":true, + "supportFunctionCalling":true, + "multimodal":true, + "label":"通义千问VL-Plus", + "description":"通义千问VL-Plus(qwen-vl-plus),即通义千问大规模视觉语言模型增强版。大幅提升细节识别能力和文字识别能力,支持超百万像素分辨率和任意长宽比规格的图像。在广泛的视觉任务上提供卓越的性能。" + }, + { + "llmModel":"qvq-max", + "supportChat":true, + "supportFunctionCalling":true, + "multimodal":true, + "label":"通义千问-QVQ-Max", + "description":"通义千问QVQ视觉推理模型,支持视觉输入及思维链输出,在数学、编程、视觉分析、创作以及通用任务上都表现了更强的能力。" + }, + { + "llmModel":"qvq-plus", + "supportChat":true, + "supportFunctionCalling":true, + "multimodal":true, + "label":"通义千问-QVQ-Plus", + "description":"通义千问QVQ视觉推理模型增强版,支持视觉输入及思维链输出,在数学、编程、视觉分析、创作以及通用任务上都表现了更强的能力。" + }, + { + "llmModel":"text-embedding-v4", + "supportEmbed":true, + "label":"通用文本向量-v4", + "description":"通义实验室基于Qwen3训练的多语言文本统一向量模型,相较V3版本在文本检索、聚类、分类性能大幅提升;在MTEB多语言、中英、Code检索等评测任务上效果提升15%~40%;支持64~2048维用户自定义向量维度。" + }, + { + "llmModel":"text-embedding-v3", + "supportEmbed":true, + "label":"通用文本向量-v3", + "description":"通用文本向量,是通义实验室基于LLM底座的多语言文本统一向量模型,面向全球多个主流语种,提供高水准的向量服务,帮助开发者将文本数据快速转换为高质量的向量数据。" + } + ] + }, + "icon": "\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n" + }, + { + "label": "火山引擎", + "value": "volcengine", + "options":{ + "llmEndpoint":"https://ark.cn-beijing.volces.com", + "chatPath":"/api/v3/chat/completions", + "embedPath":"/api/v3/embeddings", + "modelList":[ + { + "llmModel":"doubao-seed-1-6-250615", + "supportChat":true, + "supportFunctionCalling":true, + "multimodal":true, + "label":"doubao-seed-1.6", + "description":"全新多模态深度思考模型,同时支持 thinking、non-thinking、auto三种思考模式。其中 non-thinking 模型对比 doubao-1-5-pro-32k-250115 模型大幅提升。" + + }, + { + "llmModel":"doubao-seed-1-6-flash-250615", + "supportChat":true, + "supportFunctionCalling":true, + "multimodal":true, + "label":"doubao-seed-1.6-flash", + "description":"有极致推理速度的多模态深度思考模型;同时支持文本和视觉理解。文本理解能力超过上一代 Lite 系列模型,视觉理解比肩友商 Pro 系列模型。" + }, + { + "llmModel":"doubao-seed-1-6-thinking-250715", + "supportChat":true, + "supportFunctionCalling":true, + "multimodal":true, + "label":"doubao-seed-1.6-thinking", + "description":"在思考能力上进行了大幅强化, 对比 doubao 1.5 代深度理解模型,在编程、数学、逻辑推理等基础能力上进一步提升, 支持视觉理解。" + }, + { + "llmModel":"deepseek-r1-250528", + "supportChat":true, + "supportFunctionCalling":true, + "label":"deepseek-r1", + "description":"deepseek-r1 在后训练阶段大规模使用了强化学习技术,在数学、代码、自然语言推理等任务上,能力比肩 OpenAI o1 正式版。" + } + ] + }, + "icon": "\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n" + }, + { + "label": "百度千帆", + "value": "baidu", + "options":{ + "llmEndpoint":"https://qianfan.baidubce.com", + "chatPath":"/v2/chat/completions", + "embedPath":"/v2/embeddings", + "rerankPath":"/v2/rerank", + "modelList":[ + { + "llmModel":"ernie-x1-turbo-32k", + "supportChat":true, + "supportFunctionCalling":true, + "label":"ERNIE X1 Turbo", + "description":"核心定位:深度思考模型,具备更强的理解、规划、反思、进化能力。适用场景: 在中文知识问答、文学创作、文稿写作、日常对话、逻辑推理、复杂计算及工具调用等方面表现尤为出色。" + + }, + { + "llmModel":"ernie-4.5-turbo-128k", + "supportChat":true, + "supportFunctionCalling":true, + "label":"ERNIE 4.5 Turbo", + "description":"​核心定位:更好的满足多轮长历史对话处理、长文档理解问答任务。适用场景:​1)复杂语义理解:支持中文知识问答、文学创作,尤其擅长文档理解(如DocVQA任务)。 ​2)数学推理:在中文数学问题(CMath基准)表现突出。" + }, + { + "llmModel":"ernie-4.5-turbo-vl-32k", + "supportChat":true, + "supportFunctionCalling":true, + "multimodal":true, + "label":"ERNIE 4.5 Turbo VL", + "description":"​核心定位:多模态基础模型,支持文本、图像跨模态输入与生成。​适用场景:结合图文生成营销文案、视频脚本设计等。" + }, + { + "llmModel":"deepseek-r1-250528", + "supportChat":true, + "supportFunctionCalling":true, + "label":"DeepSeek-R1", + "description":"核心定位:专业优化推理模型,聚焦数学与逻辑任务。 ​适用场景: ​复杂数学问题:如高等数学题求解、科学计算模拟。 ​逻辑拆解与规划:业务流程自动化、学术研究中的假设验证。 ​STEM领域应用:物理建模、金融量化分析等需高精度推理的场景。" + } + ] + }, + "icon": "\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n" + }, + { + "label": "星火大模型", + "value": "spark", + "options":{ + "llmEndpoint":"https://spark-api-open.xf-yun.com", + "chatPath":"/v1/chat/completions", + "modelList":[ + { + "llmModel":"generalv3.5", + "supportChat":true, + "supportFunctionCalling":true, + "label":"Spark Max", + "description":"旗舰级大语言模型,具有千亿级参数,核心能力全面升级,具备更强的数学、中文、代码和多模态能力。适用数理计算、逻辑推理等对效果有更高要求的业务场景。" + }, + { + "llmModel":"4.0Ultra", + "supportChat":true, + "supportFunctionCalling":true, + "label":"Spark4.0 Ultra", + "description":"最强大的大语言模型版本,文本生成、语言理解、知识问答、逻辑推理、数学能力等方面实现超越GPT4 Turbo,优化联网搜索链路,提供更精准回答。" + } + ] + }, + "icon": "\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n" + }, + { + "label": "Gitee", + "value": "gitee", + "options":{ + "llmEndpoint":"https://ai.gitee.com", + "chatPath":"/v1/chat/completions", + "embedPath":"/v1/embeddings", + "rerankPath":"/v1/rerank", + "modelList":[ + { + "llmModel":"kimi-k2-instruct", + "supportChat":true, + "supportFunctionCalling":true, + "label":"kimi-k2-instruct", + "description":"Kimi K2 是一个最先进的混合专家 (MoE) 语言模型,激活参数为 320 亿,总参数为 1 万亿。通过 Muon 优化器进行训练,Kimi K2 在前沿知识、推理和编码任务上表现出色,同时在智能体能力方面进行了精心优化" + + }, + { + "llmModel":"ERNIE-4.5-Turbo", + "supportChat":true, + "supportFunctionCalling":true, + "label":"ERNIE-4.5-Turbo", + "description":"文心4.5 Turbo在去幻觉、逻辑推理和代码能力等方面也有着明显增强。对比文心4.5,速度更快、价格更低。" + + }, + { + "llmModel":"ERNIE-X1-Turbo", + "supportChat":true, + "supportFunctionCalling":true, + "label":"ERNIE-X1-Turbo", + "description":"文心ERNIE X1 Turbo具备更长的思维链,更强的深度思考能力,进一步增强了多模态和工具调用能力,擅长文学创作、逻辑推理等" + + }, + { + "llmModel":"DeepSeek-R1", + "supportChat":true, + "supportFunctionCalling":true, + "label":"DeepSeek-R1", + "description":"DeepSeek-R1 是一款采用强化学习技术的推理模型,凭借少量标注数据大幅提升推理能力,性能媲美 OpenAI o1。" + + }, + { + "llmModel":"DeepSeek-V3", + "supportChat":true, + "supportFunctionCalling":true, + "label":"DeepSeek-V3", + "description":"DeepSeek-V3 是 685B 参数的高效 MoE 语言模型,性能优越,训练稳定,超越开源模型,并接近顶级闭源模型。" + + }, + { + "llmModel":"Qwen3-235B-A22B", + "supportChat":true, + "supportFunctionCalling":true, + "label":"Qwen3-235B-A22B", + "description":"Qwen3 是 Qwen 系列中的最新一代大型语言模型,提供了一系列密集型和混合专家(MoE)模型。基于在训练数据、模型架构和优化技术方面的广泛进步。" + + }, + { + "llmModel":"Qwen3-30B-A3B", + "supportChat":true, + "supportFunctionCalling":true, + "label":"Qwen3-30B-A3B", + "description":"Qwen3 是 Qwen 系列中的最新一代大型语言模型,提供了一系列密集型和混合专家(MoE)模型。基于在训练数据、模型架构和优化技术方面的广泛进步。" + + }, + { + "llmModel":"Qwen3-32B", + "supportChat":true, + "supportFunctionCalling":true, + "label":"Qwen3-32B", + "description":"Qwen3 是 Qwen 系列中的最新一代大型语言模型,提供了一系列密集型和混合专家(MoE)模型。基于在训练数据、模型架构和优化技术方面的广泛进步。" + + }, + { + "llmModel":"ERNIE-4.5-Turbo-VL", + "supportChat":true, + "supportFunctionCalling":true, + "multimodal":true, + "label":"ERNIE-4.5-Turbo-VL", + "description":"文心一言大模型全新版本,图片理解、创作、翻译、代码等能力显著提升,首次支持32K上下文长度,首Token时延显著降低。" + + }, + { + "llmModel":"Qwen2.5-VL-32B-Instruct", + "supportChat":true, + "supportFunctionCalling":true, + "multimodal":true, + "label":"Qwen2.5-VL-32B-Instruct", + "description":"Qwen2.5-VL-32B-Instruct 是一款拥有 320 亿参数、支持多图输入与复杂图文推理的大规模多模态指令微调模型。" + + }, + { + "llmModel":"InternVL3-78B", + "supportChat":true, + "supportFunctionCalling":true, + "multimodal":true, + "label":"InternVL3-78B", + "description":"InternVL3-78B 是一款支持中英文、多图多轮对话的大规模多模态模型,具备超强图文理解、推理与生成能力,广泛适用于复杂 AI 应用场景。" + + }, + { + "llmModel":"InternVL3-38B", + "supportChat":true, + "supportFunctionCalling":true, + "multimodal":true, + "label":"InternVL3-38B", + "description":"InternVL3-38B 是一款支持中英双语、多模态对话与图像理解的大规模视觉语言模型,具备强大的跨模态推理与视觉问答能力。" + }, + { + "llmModel":"Qwen3-Embedding-8B", + "supportEmbed":true, + "label":"Qwen3-Embedding-8B", + "description":"Qwen3‑Embedding‑8B 是 Qwen 系列推出的大规模嵌入模型,专注于生成高质量、多语言及代码向量,支持多种下游任务中的语义匹配与信息检索需求。" + }, + { + "llmModel":"Qwen3-Embedding-4B", + "supportEmbed":true, + "label":"Qwen3-Embedding-4B", + "description":"Qwen3-Embedding-4B 是由 Qwen 团队开发的一款高性能文本和代码嵌入模型,专为多语言、多模态任务设计,能够将文本和代码内容转换为语义丰富的向量表示。它广泛适用于语义搜索、跨语言检索、信息匹配、文本相似度分析等多种自然语言处理和代码理解场景。" + } + ] + }, + "icon": "\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n" + }, + { + "label": "硅基流动", + "value": "siliconlow", + "options":{ + "llmEndpoint":"https://api.siliconflow.cn", + "chatPath":"/v1/chat/completions", + "embedPath":"/v1/embeddings", + "rerankPath":"/v1/rerank", + "modelList":[ + { + "llmModel":"deepseek-ai/DeepSeek-R1", + "supportChat":true, + "supportFunctionCalling":true, + "label":"DeepSeek-R1", + "description":"DeepSeek-R1-0528 是一款强化学习(RL)驱动的推理模型,解决了模型中的重复性和可读性问题。在 RL 之前,DeepSeek-R1 引入了冷启动数据,进一步优化了推理性能。它在数学、代码和推理任务中与 OpenAI-o1 表现相当,并且通过精心设计的训练方法,提升了整体效果。" + + }, + { + "llmModel":"deepseek-ai/DeepSeek-V3", + "supportChat":true, + "supportFunctionCalling":true, + "label":"DeepSeek-V3", + "description":"新版 DeepSeek-V3 (DeepSeek-V3-0324)与之前的 DeepSeek-V3-1226 使用同样的 base 模型,仅改进了后训练方法。新版 V3 模型借鉴 DeepSeek-R1 模型训练过程中所使用的强化学习技术,大幅提高了在推理类任务上的表现水平,在数学、代码类相关评测集上取得了超过 GPT-4.5 的得分成绩。此外该模型在工具调用、角色扮演、问答闲聊等方面也得到了一定幅度的能力提升。" + + }, + { + "llmModel":"moonshotai/Kimi-K2-Instruct", + "supportChat":true, + "supportFunctionCalling":true, + "label":"Kimi-K2-Instruct", + "description":"Kimi K2 是一款具备超强代码和 Agent 能力的 MoE 架构基础模型,总参数 1T,激活参数 32B。在通用知识推理、编程、数学、Agent 等主要类别的基准性能测试中,K2 模型的性能超过其他主流开源模型" + + }, + { + "llmModel":"Tongyi-Zhiwen/QwenLong-L1-32B", + "supportChat":true, + "supportFunctionCalling":true, + "label":"QwenLong-L1-32B", + "description":"QwenLong-L1-32B 是首个使用强化学习训练的长上下文大型推理模型(LRM),专门针对长文本推理任务进行优化。该模型通过渐进式上下文扩展的强化学习框架,实现了从短上下文到长上下文的稳定迁移。在七个长上下文文档问答基准测试中,QwenLong-L1-32B 超越了 OpenAI-o3-mini 和 Qwen3-235B-A22B 等旗舰模型,性能可媲美 Claude-3.7-Sonnet-Thinking。该模型特别擅长数学推理、逻辑推理和多跳推理等复杂任务" + + }, + { + "llmModel":"Qwen/Qwen3-30B-A3B", + "supportChat":true, + "supportFunctionCalling":true, + "label":"Qwen3-30B-A3B", + "description":"Qwen3-30B-A3B 是通义千问系列的最新大语言模型,采用混合专家(MoE)架构,拥有 30.5B 总参数量和 3.3B 激活参数量。该模型独特地支持在思考模式(适用于复杂逻辑推理、数学和编程)和非思考模式(适用于高效的通用对话)之间无缝切换,显著增强了推理能力。模型在数学、代码生成和常识逻辑推理上表现优异,并在创意写作、角色扮演和多轮对话等方面展现出卓越的人类偏好对齐能力。此外,该模型支持 100 多种语言和方言,具备出色的多语言指令遵循和翻译能力" + + }, + { + "llmModel":"Qwen/Qwen3-32B", + "supportChat":true, + "supportFunctionCalling":true, + "label":"Qwen3-32B", + "description":"Qwen3-32B 是通义千问系列的最新大语言模型,拥有 32.8B 参数量。该模型独特地支持在思考模式(适用于复杂逻辑推理、数学和编程)和非思考模式(适用于高效的通用对话)之间无缝切换,显著增强了推理能力。模型在数学、代码生成和常识逻辑推理上表现优异,并在创意写作、角色扮演和多轮对话等方面展现出卓越的人类偏好对齐能力。此外,该模型支持 100 多种语言和方言,具备出色的多语言指令遵循和翻译能力" + + }, + { + "llmModel":"MiniMaxAI/MiniMax-M1-80k", + "supportChat":true, + "supportFunctionCalling":true, + "label":"MiniMax-M1-80k", + "description":"MiniMax-M1 是开源权重的大规模混合注意力推理模型,拥有 4560 亿参数,每个 Token 可激活约 459 亿参数。模型原生支持 100 万 Token 的超长上下文,并通过闪电注意力机制,在 10 万 Token 的生成任务中相比 DeepSeek R1 节省 75% 的浮点运算量。同时,MiniMax-M1 采用 MoE(混合专家)架构,结合 CISPO 算法与混合注意力设计的高效强化学习训练,在长输入推理与真实软件工程场景中实现了业界领先的性能。" + + }, + { + "llmModel":"THUDM/GLM-4.1V-9B-Thinking", + "supportChat":true, + "supportFunctionCalling":true, + "multimodal":true, + "label":"GLM-4.1V-9B-Thinking", + "description":"GLM-4.1V-9B-Thinking 是由智谱 AI 和清华大学 KEG 实验室联合发布的一款开源视觉语言模型(VLM),专为处理复杂的多模态认知任务而设计。该模型基于 GLM-4-9B-0414 基础模型,通过引入“思维链”(Chain-of-Thought)推理机制和采用强化学习策略,显著提升了其跨模态的推理能力和稳定性。作为一个 9B 参数规模的轻量级模型,它在部署效率和性能之间取得了平衡,在 28 项权威评测基准中,有 18 项的表现持平甚至超越了 72B 参数规模的 Qwen-2.5-VL-72B。该模型不仅在图文理解、数学科学推理、视频理解等任务上表现卓越,还支持高达 4K 分辨率的图像和任意宽高比输入" + }, + { + "llmModel":"Qwen/Qwen2.5-VL-32B-Instruct", + "supportChat":true, + "supportFunctionCalling":true, + "multimodal":true, + "label":"Qwen2.5-VL-32B-Instruct", + "description":"Qwen2.5-VL-32B-Instruct 是通义千问团队推出的多模态大模型,是 Qwen2.5-VL 系列的一部分。该模型不仅精通识别常见物体,还能分析图像中的文本、图表、图标、图形和布局。它可作为视觉智能体,能够推理并动态操控工具,具备使用电脑和手机的能力。此外,这个模型可以精确定位图像中的对象,并为发票、表格等生成结构化输出。相比前代模型 Qwen2-VL,该版本在数学和问题解决能力方面通过强化学习得到了进一步提升,响应风格也更符合人类偏好" + }, + { + "llmModel":"Qwen/Qwen2.5-VL-72B-Instruct", + "supportChat":true, + "supportFunctionCalling":true, + "multimodal":true, + "label":"Qwen2.5-VL-72B-Instruct", + "description":"Qwen2.5-VL 是 Qwen2.5 系列中的视觉语言模型。该模型在多方面有显著提升:具备更强的视觉理解能力,能够识别常见物体、分析文本、图表和布局;作为视觉代理能够推理并动态指导工具使用;支持理解超过 1 小时的长视频并捕捉关键事件;能够通过生成边界框或点准确定位图像中的物体;支持生成结构化输出,尤其适用于发票、表格等扫描数据。模型在多项基准测试中表现出色,包括图像、视频和代理任务评测" + }, + { + "llmModel":"deepseek-ai/deepseek-vl2", + "supportChat":true, + "supportFunctionCalling":true, + "multimodal":true, + "label":"deepseek-vl2", + "description":"DeepSeek-VL2 是一个基于 DeepSeekMoE-27B 开发的混合专家(MoE)视觉语言模型,采用稀疏激活的 MoE 架构,在仅激活 4.5B 参数的情况下实现了卓越性能。该模型在视觉问答、光学字符识别、文档/表格/图表理解和视觉定位等多个任务中表现优异,与现有的开源稠密模型和基于 MoE 的模型相比,在使用相同或更少的激活参数的情况下,实现了具有竞争力的或最先进的性能表现" + }, + { + "llmModel":"Qwen/Qwen3-Embedding-8B", + "supportEmbed":true, + "label":"Qwen3-Embedding-8B", + "description":"Qwen3-Embedding-8B 是 Qwen3 嵌入模型系列的最新专有模型,专为文本嵌入和排序任务设计。该模型基于 Qwen3 系列的密集基础模型,具有 80 亿参数规模,支持长达 32K 的上下文长度,可生成最高 4096 维的嵌入向量。该模型继承了基础模型卓越的多语言能力,支持超过 100 种语言,具备长文本理解和推理能力。在 MTEB 多语言排行榜上排名第一(截至 2025 年 6 月 5 日,得分 70.58),在文本检索、代码检索、文本分类、文本聚类和双语挖掘等多项任务中表现出色。模型支持用户自定义输出维度(32 到 4096)和指令感知功能,可根据特定任务、语言或场景进行优化" + }, + { + "llmModel":"Qwen/Qwen3-Embedding-4B", + "supportEmbed":true, + "label":"Qwen3-Embedding-4B", + "description":"Qwen3-Embedding-4B 是 Qwen3 嵌入模型系列的最新专有模型,专为文本嵌入和排序任务设计。该模型基于 Qwen3 系列的密集基础模型,具有 40 亿参数规模,支持长达 32K 的上下文长度,可生成最高 2560 维的嵌入向量。模型继承了基础模型卓越的多语言能力,支持超过 100 种语言,具备长文本理解和推理能力。在 MTEB 多语言排行榜上表现卓越(得分 69.45),在文本检索、代码检索、文本分类、文本聚类和双语挖掘等多项任务中表现出色。模型支持用户自定义输出维度(32 到 2560)和指令感知功能,可根据特定任务、语言或场景进行优化,在效率和效果之间达到良好平衡" + }, + { + "llmModel":"BAAI/bge-m3", + "supportEmbed":true, + "label":"bge-m3", + "description":"BGE-M3 是一个多功能、多语言、多粒度的文本嵌入模型。它支持三种常见的检索功能:密集检索、多向量检索和稀疏检索。该模型可以处理超过100种语言,并且能够处理从短句到长达8192个词元的长文档等不同粒度的输入。BGE-M3在多语言和跨语言检索任务中表现出色,在 MIRACL 和 MKQA 等基准测试中取得了领先结果。它还具有处理长文档检索的能力,在 MLDR 和 NarritiveQA 等数据集上展现了优秀性能" + }, + { + "llmModel":"netease-youdao/bce-embedding-base_v1", + "supportEmbed":true, + "label":"bce-embedding-base_v1", + "description":"bce-embedding-base_v1 是由网易有道开发的双语和跨语言嵌入模型。该模型在中英文语义表示和检索任务中表现出色,尤其擅长跨语言场景。它是为检索增强生成(RAG)系统优化的,可以直接应用于教育、医疗、法律等多个领域。该模型不需要特定指令即可使用,能够高效地生成语义向量,为语义搜索和问答系统提供关键支持" + } + + ] + }, + "icon": "\n \n \n \n \n \n \n \n \n \n \n \n \n \n" + }, + { + "label": "Ollama", + "value": "ollama", + "options":{ + + }, + "icon": "\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n" + } +] diff --git a/app/src/views/ai/plugin/AddPluginModal.vue b/app/src/views/ai/plugin/AddPluginModal.vue new file mode 100644 index 0000000..ea1915a --- /dev/null +++ b/app/src/views/ai/plugin/AddPluginModal.vue @@ -0,0 +1,285 @@ + + + + + diff --git a/app/src/views/ai/plugin/AiPluginToolModal.vue b/app/src/views/ai/plugin/AiPluginToolModal.vue new file mode 100644 index 0000000..4984421 --- /dev/null +++ b/app/src/views/ai/plugin/AiPluginToolModal.vue @@ -0,0 +1,196 @@ + + + + + diff --git a/app/src/views/ai/plugin/CategoryPluginModal.vue b/app/src/views/ai/plugin/CategoryPluginModal.vue new file mode 100644 index 0000000..33f60e0 --- /dev/null +++ b/app/src/views/ai/plugin/CategoryPluginModal.vue @@ -0,0 +1,133 @@ + + + + + diff --git a/app/src/views/ai/plugin/Plugin.vue b/app/src/views/ai/plugin/Plugin.vue new file mode 100644 index 0000000..4db952f --- /dev/null +++ b/app/src/views/ai/plugin/Plugin.vue @@ -0,0 +1,308 @@ + + + + + diff --git a/app/src/views/ai/plugin/PluginInputAndOutParams.vue b/app/src/views/ai/plugin/PluginInputAndOutParams.vue new file mode 100644 index 0000000..420b1aa --- /dev/null +++ b/app/src/views/ai/plugin/PluginInputAndOutParams.vue @@ -0,0 +1,703 @@ + + + + + diff --git a/app/src/views/ai/plugin/PluginRunParams.vue b/app/src/views/ai/plugin/PluginRunParams.vue new file mode 100644 index 0000000..1a97a97 --- /dev/null +++ b/app/src/views/ai/plugin/PluginRunParams.vue @@ -0,0 +1,259 @@ + + + + + diff --git a/app/src/views/ai/plugin/PluginRunTestModal.vue b/app/src/views/ai/plugin/PluginRunTestModal.vue new file mode 100644 index 0000000..5e6672b --- /dev/null +++ b/app/src/views/ai/plugin/PluginRunTestModal.vue @@ -0,0 +1,215 @@ + + + + + diff --git a/app/src/views/ai/plugin/PluginToolCollapse.vue b/app/src/views/ai/plugin/PluginToolCollapse.vue new file mode 100644 index 0000000..d879ed0 --- /dev/null +++ b/app/src/views/ai/plugin/PluginToolCollapse.vue @@ -0,0 +1,5 @@ + + + + + diff --git a/app/src/views/ai/plugin/PluginToolEdit.vue b/app/src/views/ai/plugin/PluginToolEdit.vue new file mode 100644 index 0000000..80c3dd6 --- /dev/null +++ b/app/src/views/ai/plugin/PluginToolEdit.vue @@ -0,0 +1,763 @@ + + + + + diff --git a/app/src/views/ai/plugin/PluginToolTable.vue b/app/src/views/ai/plugin/PluginToolTable.vue new file mode 100644 index 0000000..918f2a0 --- /dev/null +++ b/app/src/views/ai/plugin/PluginToolTable.vue @@ -0,0 +1,135 @@ + + + + + diff --git a/app/src/views/ai/plugin/PluginTools.vue b/app/src/views/ai/plugin/PluginTools.vue new file mode 100644 index 0000000..fba61a8 --- /dev/null +++ b/app/src/views/ai/plugin/PluginTools.vue @@ -0,0 +1,62 @@ + + + diff --git a/app/src/views/ai/resource/ChooseResource.vue b/app/src/views/ai/resource/ChooseResource.vue new file mode 100644 index 0000000..110ae80 --- /dev/null +++ b/app/src/views/ai/resource/ChooseResource.vue @@ -0,0 +1,77 @@ + + + + + diff --git a/app/src/views/ai/resource/PreviewModal.vue b/app/src/views/ai/resource/PreviewModal.vue new file mode 100644 index 0000000..e8c09f7 --- /dev/null +++ b/app/src/views/ai/resource/PreviewModal.vue @@ -0,0 +1,47 @@ + + + + + diff --git a/app/src/views/ai/resource/ResourceCardList.vue b/app/src/views/ai/resource/ResourceCardList.vue new file mode 100644 index 0000000..f7da0c7 --- /dev/null +++ b/app/src/views/ai/resource/ResourceCardList.vue @@ -0,0 +1,155 @@ + + + + + diff --git a/app/src/views/ai/resource/ResourceList.vue b/app/src/views/ai/resource/ResourceList.vue new file mode 100644 index 0000000..6716a2f --- /dev/null +++ b/app/src/views/ai/resource/ResourceList.vue @@ -0,0 +1,467 @@ + + + diff --git a/app/src/views/ai/resource/ResourceModal.vue b/app/src/views/ai/resource/ResourceModal.vue new file mode 100644 index 0000000..f6e5c38 --- /dev/null +++ b/app/src/views/ai/resource/ResourceModal.vue @@ -0,0 +1,168 @@ + + + + + diff --git a/app/src/views/ai/workflow/RunPage.vue b/app/src/views/ai/workflow/RunPage.vue new file mode 100644 index 0000000..dd77341 --- /dev/null +++ b/app/src/views/ai/workflow/RunPage.vue @@ -0,0 +1,133 @@ + + + diff --git a/app/src/views/ai/workflow/WorkflowDesign.vue b/app/src/views/ai/workflow/WorkflowDesign.vue new file mode 100644 index 0000000..b8e96f4 --- /dev/null +++ b/app/src/views/ai/workflow/WorkflowDesign.vue @@ -0,0 +1,312 @@ + + + + + diff --git a/app/src/views/ai/workflow/WorkflowList.vue b/app/src/views/ai/workflow/WorkflowList.vue new file mode 100644 index 0000000..e673e23 --- /dev/null +++ b/app/src/views/ai/workflow/WorkflowList.vue @@ -0,0 +1,435 @@ + + + + + diff --git a/app/src/views/ai/workflow/WorkflowModal.vue b/app/src/views/ai/workflow/WorkflowModal.vue new file mode 100644 index 0000000..e06ee9f --- /dev/null +++ b/app/src/views/ai/workflow/WorkflowModal.vue @@ -0,0 +1,140 @@ + + + + + diff --git a/app/src/views/ai/workflow/components/ConfirmItem.vue b/app/src/views/ai/workflow/components/ConfirmItem.vue new file mode 100644 index 0000000..a62db12 --- /dev/null +++ b/app/src/views/ai/workflow/components/ConfirmItem.vue @@ -0,0 +1,211 @@ + + + + + diff --git a/app/src/views/ai/workflow/components/ConfirmItemMulti.vue b/app/src/views/ai/workflow/components/ConfirmItemMulti.vue new file mode 100644 index 0000000..42789f3 --- /dev/null +++ b/app/src/views/ai/workflow/components/ConfirmItemMulti.vue @@ -0,0 +1,216 @@ + + + + + diff --git a/app/src/views/ai/workflow/components/ExecResult.vue b/app/src/views/ai/workflow/components/ExecResult.vue new file mode 100644 index 0000000..f43db67 --- /dev/null +++ b/app/src/views/ai/workflow/components/ExecResult.vue @@ -0,0 +1,97 @@ + + + + + diff --git a/app/src/views/ai/workflow/components/ExecResultItem.vue b/app/src/views/ai/workflow/components/ExecResultItem.vue new file mode 100644 index 0000000..2ac3563 --- /dev/null +++ b/app/src/views/ai/workflow/components/ExecResultItem.vue @@ -0,0 +1,88 @@ + + + + + diff --git a/app/src/views/ai/workflow/components/SingleRun.vue b/app/src/views/ai/workflow/components/SingleRun.vue new file mode 100644 index 0000000..0a1283b --- /dev/null +++ b/app/src/views/ai/workflow/components/SingleRun.vue @@ -0,0 +1,81 @@ + + + + + diff --git a/app/src/views/ai/workflow/components/WorkflowForm.vue b/app/src/views/ai/workflow/components/WorkflowForm.vue new file mode 100644 index 0000000..388e5bd --- /dev/null +++ b/app/src/views/ai/workflow/components/WorkflowForm.vue @@ -0,0 +1,131 @@ + + + + + diff --git a/app/src/views/ai/workflow/components/WorkflowFormItem.vue b/app/src/views/ai/workflow/components/WorkflowFormItem.vue new file mode 100644 index 0000000..7249d44 --- /dev/null +++ b/app/src/views/ai/workflow/components/WorkflowFormItem.vue @@ -0,0 +1,122 @@ + + + + + diff --git a/app/src/views/ai/workflow/components/WorkflowSteps.vue b/app/src/views/ai/workflow/components/WorkflowSteps.vue new file mode 100644 index 0000000..e12ae9f --- /dev/null +++ b/app/src/views/ai/workflow/components/WorkflowSteps.vue @@ -0,0 +1,242 @@ + + + + + diff --git a/app/src/views/ai/workflow/customNode/documentNode.ts b/app/src/views/ai/workflow/customNode/documentNode.ts new file mode 100644 index 0000000..7529f1a --- /dev/null +++ b/app/src/views/ai/workflow/customNode/documentNode.ts @@ -0,0 +1,37 @@ +import { $t } from '#/locales'; + +import nodeNames from './nodeNames'; + +export default { + [nodeNames.documentNode]: { + title: $t('aiWorkflow.fileContentExtraction'), + group: 'base', + description: $t('aiWorkflow.descriptions.fileContentExtraction'), + icon: '', + sortNo: 801, + parametersAddEnable: false, + outputDefsAddEnable: false, + parameters: [ + { + name: 'fileUrl', + nameDisabled: true, + title: $t('aiWorkflow.documentAddress'), + dataType: 'File', + required: true, + description: $t('aiWorkflow.descriptions.documentAddress'), + }, + ], + outputDefs: [ + { + name: 'content', + title: $t('aiWorkflow.parsedText'), + dataType: 'String', + dataTypeDisabled: true, + required: true, + parametersAddEnable: false, + description: $t('aiWorkflow.descriptions.parsedText'), + deleteDisabled: true, + }, + ], + }, +}; diff --git a/app/src/views/ai/workflow/customNode/downloadNode.ts b/app/src/views/ai/workflow/customNode/downloadNode.ts new file mode 100644 index 0000000..0fa7182 --- /dev/null +++ b/app/src/views/ai/workflow/customNode/downloadNode.ts @@ -0,0 +1,90 @@ +import { $t } from '#/locales'; + +import nodeNames from './nodeNames'; + +export default { + [nodeNames.downloadNode]: { + title: $t('aiWorkflow.resourceSync'), + group: 'base', + description: $t('aiWorkflow.descriptions.resourceSync'), + icon: '', + sortNo: 811, + parametersAddEnable: false, + outputDefsAddEnable: false, + parameters: [ + { + name: 'originUrl', + nameDisabled: true, + title: $t('aiWorkflow.originUrl'), + dataType: 'String', + required: true, + description: $t('aiWorkflow.descriptions.originUrl'), + }, + ], + outputDefs: [ + { + name: 'resourceUrl', + title: $t('aiWorkflow.savedUrl'), + dataType: 'String', + dataTypeDisabled: true, + required: true, + parametersAddEnable: false, + description: $t('aiWorkflow.savedUrl'), + deleteDisabled: true, + }, + ], + forms: [ + // 节点表单 + { + // 'input' | 'textarea' | 'select' | 'slider' | 'heading' | 'chosen' + type: 'heading', + label: $t('aiWorkflow.saveOptions'), + }, + { + type: 'select', + label: $t('aiResource.resourceType'), + description: $t('aiWorkflow.descriptions.resourceType'), + name: 'resourceType', // 属性名称 + defaultValue: '99', + options: [ + { + label: $t('aiWorkflow.image'), + value: '0', + }, + { + label: $t('aiWorkflow.video'), + value: '1', + }, + { + label: $t('aiWorkflow.audio'), + value: '2', + }, + { + label: $t('aiWorkflow.document'), + value: '3', + }, + { + label: $t('aiWorkflow.other'), + value: '99', + }, + ], + }, + // { + // // 用法可参考插件节点的代码 + // type: 'chosen', + // label: '插件选择', + // chosen: { + // // 节点自定义属性 + // labelDataKey: 'pluginName', + // valueDataKey: 'pluginId', + // // updateNodeData 可动态更新节点属性 + // // value 为选中的 value + // // label 为选中的 label + // onChosen: ((updateNodeData: (data: Record) => void, value?: string, label?: string, event?: Event) => { + // console.warn('No onChosen handler provided for plugin-node'); + // }) + // } + // } + ], + }, +}; diff --git a/app/src/views/ai/workflow/customNode/index.ts b/app/src/views/ai/workflow/customNode/index.ts new file mode 100644 index 0000000..6356070 --- /dev/null +++ b/app/src/views/ai/workflow/customNode/index.ts @@ -0,0 +1,29 @@ +import docNode from './documentNode'; +import downloadNode from './downloadNode'; +import makeFileNode from './makeFileNode'; +import nodeNames from './nodeNames'; +import { PluginNode } from './pluginNode'; +import { SaveToDatacenterNode } from './saveToDatacenter'; +import { SearchDatacenterNode } from './searchDatacenter'; +import sqlNode from './sqlNode'; +import { WorkflowNode } from './workflowNode'; + +export interface CustomNodeOptions { + handleChosen?: (nodeType: string, updateNodeData: any, value: string) => void; +} +export const getCustomNode = async (options: CustomNodeOptions) => { + const pluginNode = PluginNode({ onChosen: options.handleChosen }); + const workflowNode = WorkflowNode({ onChosen: options.handleChosen }); + const searchDatacenterNode = await SearchDatacenterNode(); + const saveToDatacenterNode = await SaveToDatacenterNode(); + return { + ...docNode, + ...makeFileNode, + ...downloadNode, + ...sqlNode, + [nodeNames.pluginNode]: pluginNode, + [nodeNames.workflowNode]: workflowNode, + [nodeNames.searchDatacenterNode]: searchDatacenterNode, + [nodeNames.saveToDatacenterNode]: saveToDatacenterNode, + }; +}; diff --git a/app/src/views/ai/workflow/customNode/makeFileNode.ts b/app/src/views/ai/workflow/customNode/makeFileNode.ts new file mode 100644 index 0000000..9fc484d --- /dev/null +++ b/app/src/views/ai/workflow/customNode/makeFileNode.ts @@ -0,0 +1,58 @@ +import { $t } from '#/locales'; + +import nodeNames from './nodeNames'; + +export default { + [nodeNames.makeFileNode]: { + title: $t('aiWorkflow.fileGeneration'), + group: 'base', + description: $t('aiWorkflow.descriptions.fileGeneration'), + icon: '', + sortNo: 802, + parametersAddEnable: true, + outputDefsAddEnable: true, + forms: [ + { + type: 'heading', + label: $t('aiWorkflow.fileSettings'), + }, + { + type: 'select', + label: $t('documentCollection.splitterDoc.fileType'), + description: $t('aiWorkflow.descriptions.fileType'), + name: 'suffix', + defaultValue: 'docx', + options: [ + { + label: 'docx', + value: 'docx', + }, + ], + }, + ], + parameters: [ + { + name: 'content', + nameDisabled: true, + title: $t('preferences.content'), + dataType: 'String', + required: true, + description: $t('preferences.content'), + deleteDisabled: true, + }, + ], + outputDefs: [ + { + name: 'url', + nameDisabled: true, + title: $t('aiWorkflow.fileDownloadURL'), + dataType: 'String', + dataTypeDisabled: true, + required: true, + parametersAddEnable: false, + description: $t('aiWorkflow.descriptions.fileDownloadURL'), + deleteDisabled: true, + }, + ], + }, +}; diff --git a/app/src/views/ai/workflow/customNode/nodeNames.ts b/app/src/views/ai/workflow/customNode/nodeNames.ts new file mode 100644 index 0000000..d727f0c --- /dev/null +++ b/app/src/views/ai/workflow/customNode/nodeNames.ts @@ -0,0 +1,10 @@ +export default { + documentNode: 'document-node', + makeFileNode: 'make-file', + downloadNode: 'download-node', + sqlNode: 'sql-node', + pluginNode: 'plugin-node', + workflowNode: 'workflow-node', + searchDatacenterNode: 'search-datacenter-node', + saveToDatacenterNode: 'save-to-datacenter-node', +}; diff --git a/app/src/views/ai/workflow/customNode/pluginNode.ts b/app/src/views/ai/workflow/customNode/pluginNode.ts new file mode 100644 index 0000000..acf58a6 --- /dev/null +++ b/app/src/views/ai/workflow/customNode/pluginNode.ts @@ -0,0 +1,30 @@ +import { $t } from '#/locales'; + +import nodeNames from './nodeNames'; + +export interface PluginNodeOptions { + onChosen?: (nodeType: string, updateNodeData: any, value: string) => void; +} + +export const PluginNode = (options: PluginNodeOptions = {}) => ({ + title: $t('menus.ai.plugin'), + group: 'base', + description: $t('aiWorkflow.descriptions.plugin'), + icon: '', + sortNo: 810, + parametersAddEnable: false, + outputDefsAddEnable: false, + forms: [ + { + type: 'chosen', + label: $t('aiWorkflow.pluginSelect'), + chosen: { + labelDataKey: 'pluginName', + valueDataKey: 'pluginId', + onChosen: (updateNodeData: any, value: any) => { + options.onChosen?.(nodeNames.pluginNode, updateNodeData, value); + }, + }, + }, + ], +}); diff --git a/app/src/views/ai/workflow/customNode/saveToDatacenter.ts b/app/src/views/ai/workflow/customNode/saveToDatacenter.ts new file mode 100644 index 0000000..71cba45 --- /dev/null +++ b/app/src/views/ai/workflow/customNode/saveToDatacenter.ts @@ -0,0 +1,58 @@ +import { getOptions } from '@aiflowy/utils'; + +import { api } from '#/api/request'; +import { $t } from '#/locales'; + +export const SaveToDatacenterNode = async () => { + const res = await api.get('/api/v1/datacenterTable/list'); + + return { + title: $t('aiWorkflow.saveData'), + group: 'base', + description: $t('aiWorkflow.descriptions.saveData'), + icon: '', + sortNo: 812, + parametersAddEnable: false, + outputDefsAddEnable: false, + parameters: [ + { + name: 'saveList', + title: $t('aiWorkflow.dataToBeSaved'), + dataType: 'Array', + dataTypeDisabled: true, + required: true, + parametersAddEnable: false, + description: $t('aiWorkflow.descriptions.dataToBeSaved'), + deleteDisabled: true, + nameDisabled: true, + }, + ], + outputDefs: [ + { + name: 'successRows', + title: $t('aiWorkflow.successInsertedRecords'), + dataType: 'Number', + dataTypeDisabled: true, + required: true, + parametersAddEnable: false, + description: $t('aiWorkflow.successInsertedRecords'), + deleteDisabled: true, + nameDisabled: true, + }, + ], + forms: [ + { + type: 'heading', + label: $t('aiWorkflow.dataTable'), + }, + { + type: 'select', + label: '', + description: $t('aiWorkflow.descriptions.dataTable'), + name: 'tableId', + defaultValue: '', + options: getOptions('tableName', 'id', res.data), + }, + ], + }; +}; diff --git a/app/src/views/ai/workflow/customNode/searchDatacenter.ts b/app/src/views/ai/workflow/customNode/searchDatacenter.ts new file mode 100644 index 0000000..48e070c --- /dev/null +++ b/app/src/views/ai/workflow/customNode/searchDatacenter.ts @@ -0,0 +1,68 @@ +import { getOptions } from '@aiflowy/utils'; + +import { api } from '#/api/request'; +import { $t } from '#/locales'; + +export const SearchDatacenterNode = async () => { + const res = await api.get('/api/v1/datacenterTable/list'); + + return { + title: $t('aiWorkflow.queryData'), + group: 'base', + description: $t('aiWorkflow.descriptions.queryData'), + icon: '', + sortNo: 813, + parametersAddEnable: true, + outputDefsAddEnable: false, + parameters: [], + outputDefs: [ + { + name: 'rows', + title: $t('aiWorkflow.queryResult'), + dataType: 'Array', + dataTypeDisabled: true, + required: true, + parametersAddEnable: false, + description: $t('aiWorkflow.queryResult'), + deleteDisabled: true, + nameDisabled: false, + }, + ], + forms: [ + { + type: 'heading', + label: $t('aiWorkflow.dataTable'), + }, + { + type: 'select', + label: '', + description: $t('aiWorkflow.descriptions.dataTable'), + name: 'tableId', + defaultValue: '', + options: getOptions('tableName', 'id', res.data), + }, + { + type: 'heading', + label: $t('aiWorkflow.filterConditions'), + }, + { + type: 'textarea', + label: $t('aiWorkflow.descriptions.filterConditions'), + description: '', + name: 'where', + defaultValue: '', + }, + { + type: 'heading', + label: $t('aiWorkflow.limit'), + }, + { + type: 'input', + label: '', + description: '', + name: 'limit', + defaultValue: '10', + }, + ], + }; +}; diff --git a/app/src/views/ai/workflow/customNode/sqlNode.ts b/app/src/views/ai/workflow/customNode/sqlNode.ts new file mode 100644 index 0000000..7806bd6 --- /dev/null +++ b/app/src/views/ai/workflow/customNode/sqlNode.ts @@ -0,0 +1,37 @@ +import { $t } from '#/locales'; + +import nodeNames from './nodeNames'; + +export default { + [nodeNames.sqlNode]: { + title: $t('aiWorkflow.sqlQuery'), + group: 'base', + description: $t('aiWorkflow.descriptions.sqlQuery'), + icon: '', + sortNo: 803, + parametersAddEnable: true, + outputDefsAddEnable: true, + parameters: [], + forms: [ + { + name: 'sql', + type: 'textarea', + label: 'SQL', + placeholder: $t('aiWorkflow.descriptions.enterSQL'), + }, + ], + outputDefs: [ + { + name: 'queryData', + title: $t('aiWorkflow.queryResult'), + dataType: 'Array', + dataTypeDisabled: true, + required: true, + parametersAddEnable: false, + description: $t('aiWorkflow.descriptions.queryResultJson'), + deleteDisabled: true, + nameDisabled: true, + }, + ], + }, +}; diff --git a/app/src/views/ai/workflow/customNode/workflowNode.ts b/app/src/views/ai/workflow/customNode/workflowNode.ts new file mode 100644 index 0000000..486e38d --- /dev/null +++ b/app/src/views/ai/workflow/customNode/workflowNode.ts @@ -0,0 +1,30 @@ +import { $t } from '#/locales'; + +import nodeNames from './nodeNames'; + +export interface WorkflowNodeOptions { + onChosen?: (nodeType: string, updateNodeData: any, value: string) => void; +} + +export const WorkflowNode = (options: WorkflowNodeOptions = {}) => ({ + title: $t('aiWorkflow.subProcess'), + group: 'base', + description: $t('aiWorkflow.descriptions.subProcess'), + icon: '', + sortNo: 815, + parametersAddEnable: false, + outputDefsAddEnable: false, + forms: [ + { + type: 'chosen', + label: $t('aiWorkflow.workflowSelect'), + chosen: { + labelDataKey: 'workflowName', + valueDataKey: 'workflowId', + onChosen: (updateNodeData: any, value: any) => { + options.onChosen?.(nodeNames.workflowNode, updateNodeData, value); + }, + }, + }, + ], +}); diff --git a/app/src/views/ai/workflow/execute/WorkflowExecResultList.vue b/app/src/views/ai/workflow/execute/WorkflowExecResultList.vue new file mode 100644 index 0000000..8b925e2 --- /dev/null +++ b/app/src/views/ai/workflow/execute/WorkflowExecResultList.vue @@ -0,0 +1,244 @@ + + + + + diff --git a/app/src/views/ai/workflow/execute/WorkflowExecStepList.vue b/app/src/views/ai/workflow/execute/WorkflowExecStepList.vue new file mode 100644 index 0000000..4d24c6e --- /dev/null +++ b/app/src/views/ai/workflow/execute/WorkflowExecStepList.vue @@ -0,0 +1,184 @@ + + + + + diff --git a/app/src/views/config/apikey/SysApiKey.vue b/app/src/views/config/apikey/SysApiKey.vue new file mode 100644 index 0000000..a97256e --- /dev/null +++ b/app/src/views/config/apikey/SysApiKey.vue @@ -0,0 +1,30 @@ + + + + diff --git a/app/src/views/config/apikey/SysApiKeyList.vue b/app/src/views/config/apikey/SysApiKeyList.vue new file mode 100644 index 0000000..7291847 --- /dev/null +++ b/app/src/views/config/apikey/SysApiKeyList.vue @@ -0,0 +1,209 @@ + + + diff --git a/app/src/views/config/apikey/SysApiKeyModal.vue b/app/src/views/config/apikey/SysApiKeyModal.vue new file mode 100644 index 0000000..2a837fd --- /dev/null +++ b/app/src/views/config/apikey/SysApiKeyModal.vue @@ -0,0 +1,259 @@ + + + + + diff --git a/app/src/views/config/apikey/SysApiKeyResourcePermissionList.vue b/app/src/views/config/apikey/SysApiKeyResourcePermissionList.vue new file mode 100644 index 0000000..9285e6c --- /dev/null +++ b/app/src/views/config/apikey/SysApiKeyResourcePermissionList.vue @@ -0,0 +1,157 @@ + + + + + diff --git a/app/src/views/config/apikey/SysApiKeyResourcePermissionModal.vue b/app/src/views/config/apikey/SysApiKeyResourcePermissionModal.vue new file mode 100644 index 0000000..ff1a365 --- /dev/null +++ b/app/src/views/config/apikey/SysApiKeyResourcePermissionModal.vue @@ -0,0 +1,116 @@ + + + + + diff --git a/app/src/views/config/apikey/SysApiKeyResourcePermissionSelectModal.vue b/app/src/views/config/apikey/SysApiKeyResourcePermissionSelectModal.vue new file mode 100644 index 0000000..350b479 --- /dev/null +++ b/app/src/views/config/apikey/SysApiKeyResourcePermissionSelectModal.vue @@ -0,0 +1,130 @@ + + + + + diff --git a/app/src/views/config/settings/Settings.vue b/app/src/views/config/settings/Settings.vue new file mode 100644 index 0000000..25c6e3f --- /dev/null +++ b/app/src/views/config/settings/Settings.vue @@ -0,0 +1,161 @@ + + + + + diff --git a/app/src/views/dashboard/analytics/analytics-trends.vue b/app/src/views/dashboard/analytics/analytics-trends.vue new file mode 100644 index 0000000..3e0812e --- /dev/null +++ b/app/src/views/dashboard/analytics/analytics-trends.vue @@ -0,0 +1,98 @@ + + + diff --git a/app/src/views/dashboard/analytics/analytics-visits-data.vue b/app/src/views/dashboard/analytics/analytics-visits-data.vue new file mode 100644 index 0000000..31bc6b7 --- /dev/null +++ b/app/src/views/dashboard/analytics/analytics-visits-data.vue @@ -0,0 +1,82 @@ + + + diff --git a/app/src/views/dashboard/analytics/analytics-visits-sales.vue b/app/src/views/dashboard/analytics/analytics-visits-sales.vue new file mode 100644 index 0000000..5605594 --- /dev/null +++ b/app/src/views/dashboard/analytics/analytics-visits-sales.vue @@ -0,0 +1,46 @@ + + + diff --git a/app/src/views/dashboard/analytics/analytics-visits-source.vue b/app/src/views/dashboard/analytics/analytics-visits-source.vue new file mode 100644 index 0000000..8734d86 --- /dev/null +++ b/app/src/views/dashboard/analytics/analytics-visits-source.vue @@ -0,0 +1,65 @@ + + + diff --git a/app/src/views/dashboard/analytics/analytics-visits.vue b/app/src/views/dashboard/analytics/analytics-visits.vue new file mode 100644 index 0000000..aa57c10 --- /dev/null +++ b/app/src/views/dashboard/analytics/analytics-visits.vue @@ -0,0 +1,55 @@ + + + diff --git a/app/src/views/dashboard/analytics/index.vue b/app/src/views/dashboard/analytics/index.vue new file mode 100644 index 0000000..8957816 --- /dev/null +++ b/app/src/views/dashboard/analytics/index.vue @@ -0,0 +1,90 @@ + + + diff --git a/app/src/views/dashboard/workspace/index.vue b/app/src/views/dashboard/workspace/index.vue new file mode 100644 index 0000000..9fc4fb5 --- /dev/null +++ b/app/src/views/dashboard/workspace/index.vue @@ -0,0 +1,266 @@ + + + diff --git a/app/src/views/datacenter/BatchImportModal.vue b/app/src/views/datacenter/BatchImportModal.vue new file mode 100644 index 0000000..8508e06 --- /dev/null +++ b/app/src/views/datacenter/BatchImportModal.vue @@ -0,0 +1,158 @@ + + + + + diff --git a/app/src/views/datacenter/DatacenterTableDetail.vue b/app/src/views/datacenter/DatacenterTableDetail.vue new file mode 100644 index 0000000..c8535ff --- /dev/null +++ b/app/src/views/datacenter/DatacenterTableDetail.vue @@ -0,0 +1,272 @@ + + + + + diff --git a/app/src/views/datacenter/DatacenterTableList.vue b/app/src/views/datacenter/DatacenterTableList.vue new file mode 100644 index 0000000..03890ba --- /dev/null +++ b/app/src/views/datacenter/DatacenterTableList.vue @@ -0,0 +1,175 @@ + + + + + diff --git a/app/src/views/datacenter/DatacenterTableModal.vue b/app/src/views/datacenter/DatacenterTableModal.vue new file mode 100644 index 0000000..5d70d0c --- /dev/null +++ b/app/src/views/datacenter/DatacenterTableModal.vue @@ -0,0 +1,280 @@ + + + + + diff --git a/app/src/views/datacenter/RecordModal.vue b/app/src/views/datacenter/RecordModal.vue new file mode 100644 index 0000000..62e696f --- /dev/null +++ b/app/src/views/datacenter/RecordModal.vue @@ -0,0 +1,154 @@ + + + + + diff --git a/app/src/views/demos/cardTest/index.vue b/app/src/views/demos/cardTest/index.vue new file mode 100644 index 0000000..c68984c --- /dev/null +++ b/app/src/views/demos/cardTest/index.vue @@ -0,0 +1,177 @@ + + + + + + diff --git a/app/src/views/demos/categoryPanel/index.vue b/app/src/views/demos/categoryPanel/index.vue new file mode 100644 index 0000000..a569480 --- /dev/null +++ b/app/src/views/demos/categoryPanel/index.vue @@ -0,0 +1,34 @@ + + + diff --git a/app/src/views/demos/element/index.vue b/app/src/views/demos/element/index.vue new file mode 100644 index 0000000..c255d25 --- /dev/null +++ b/app/src/views/demos/element/index.vue @@ -0,0 +1,117 @@ + + + diff --git a/app/src/views/demos/form/basic.vue b/app/src/views/demos/form/basic.vue new file mode 100644 index 0000000..2a1eb79 --- /dev/null +++ b/app/src/views/demos/form/basic.vue @@ -0,0 +1,191 @@ + + diff --git a/app/src/views/system/sysAccount/SysAccountList.vue b/app/src/views/system/sysAccount/SysAccountList.vue new file mode 100644 index 0000000..bfec70d --- /dev/null +++ b/app/src/views/system/sysAccount/SysAccountList.vue @@ -0,0 +1,214 @@ + + + + + diff --git a/app/src/views/system/sysAccount/SysAccountModal.vue b/app/src/views/system/sysAccount/SysAccountModal.vue new file mode 100644 index 0000000..52994b0 --- /dev/null +++ b/app/src/views/system/sysAccount/SysAccountModal.vue @@ -0,0 +1,173 @@ + + + + + diff --git a/app/src/views/system/sysDept/SysDeptList.vue b/app/src/views/system/sysDept/SysDeptList.vue new file mode 100644 index 0000000..2b9c689 --- /dev/null +++ b/app/src/views/system/sysDept/SysDeptList.vue @@ -0,0 +1,196 @@ + + + + + diff --git a/app/src/views/system/sysDept/SysDeptModal.vue b/app/src/views/system/sysDept/SysDeptModal.vue new file mode 100644 index 0000000..bdd440e --- /dev/null +++ b/app/src/views/system/sysDept/SysDeptModal.vue @@ -0,0 +1,144 @@ + + + + + diff --git a/app/src/views/system/sysFeedback/sysFeedbackDetail.vue b/app/src/views/system/sysFeedback/sysFeedbackDetail.vue new file mode 100644 index 0000000..aa1d269 --- /dev/null +++ b/app/src/views/system/sysFeedback/sysFeedbackDetail.vue @@ -0,0 +1,187 @@ + + + diff --git a/app/src/views/system/sysFeedback/sysFeedbackList.vue b/app/src/views/system/sysFeedback/sysFeedbackList.vue new file mode 100644 index 0000000..4d18866 --- /dev/null +++ b/app/src/views/system/sysFeedback/sysFeedbackList.vue @@ -0,0 +1,241 @@ + + + diff --git a/app/src/views/system/sysJob/SysJobList.vue b/app/src/views/system/sysJob/SysJobList.vue new file mode 100644 index 0000000..3d2272a --- /dev/null +++ b/app/src/views/system/sysJob/SysJobList.vue @@ -0,0 +1,278 @@ + + + + + diff --git a/app/src/views/system/sysJob/SysJobLogList.vue b/app/src/views/system/sysJob/SysJobLogList.vue new file mode 100644 index 0000000..97d710e --- /dev/null +++ b/app/src/views/system/sysJob/SysJobLogList.vue @@ -0,0 +1,136 @@ + + + + + diff --git a/app/src/views/system/sysJob/SysJobModal.vue b/app/src/views/system/sysJob/SysJobModal.vue new file mode 100644 index 0000000..cee98d9 --- /dev/null +++ b/app/src/views/system/sysJob/SysJobModal.vue @@ -0,0 +1,244 @@ + + + + + diff --git a/app/src/views/system/sysLog/SysLogList.vue b/app/src/views/system/sysLog/SysLogList.vue new file mode 100644 index 0000000..e777506 --- /dev/null +++ b/app/src/views/system/sysLog/SysLogList.vue @@ -0,0 +1,83 @@ + + + + + diff --git a/app/src/views/system/sysLog/SysLogModal.vue b/app/src/views/system/sysLog/SysLogModal.vue new file mode 100644 index 0000000..a216b32 --- /dev/null +++ b/app/src/views/system/sysLog/SysLogModal.vue @@ -0,0 +1,143 @@ + + + + + diff --git a/app/src/views/system/sysMenu/SysMenuList.vue b/app/src/views/system/sysMenu/SysMenuList.vue new file mode 100644 index 0000000..610c28d --- /dev/null +++ b/app/src/views/system/sysMenu/SysMenuList.vue @@ -0,0 +1,182 @@ + + + + + diff --git a/app/src/views/system/sysMenu/SysMenuModal.vue b/app/src/views/system/sysMenu/SysMenuModal.vue new file mode 100644 index 0000000..3255aaf --- /dev/null +++ b/app/src/views/system/sysMenu/SysMenuModal.vue @@ -0,0 +1,187 @@ + + + + + diff --git a/app/src/views/system/sysPosition/SysPositionList.vue b/app/src/views/system/sysPosition/SysPositionList.vue new file mode 100644 index 0000000..c4fdcb3 --- /dev/null +++ b/app/src/views/system/sysPosition/SysPositionList.vue @@ -0,0 +1,238 @@ + + + + + diff --git a/app/src/views/system/sysPosition/SysPositionModal.vue b/app/src/views/system/sysPosition/SysPositionModal.vue new file mode 100644 index 0000000..7a8acc6 --- /dev/null +++ b/app/src/views/system/sysPosition/SysPositionModal.vue @@ -0,0 +1,161 @@ + + + + + diff --git a/app/src/views/system/sysRole/SysRoleList.vue b/app/src/views/system/sysRole/SysRoleList.vue new file mode 100644 index 0000000..de1257d --- /dev/null +++ b/app/src/views/system/sysRole/SysRoleList.vue @@ -0,0 +1,167 @@ + + + + + diff --git a/app/src/views/system/sysRole/SysRoleModal.vue b/app/src/views/system/sysRole/SysRoleModal.vue new file mode 100644 index 0000000..b85e69d --- /dev/null +++ b/app/src/views/system/sysRole/SysRoleModal.vue @@ -0,0 +1,176 @@ + + + + + diff --git a/app/tailwind.config.mjs b/app/tailwind.config.mjs new file mode 100644 index 0000000..12c65e9 --- /dev/null +++ b/app/tailwind.config.mjs @@ -0,0 +1 @@ +export { default } from '@aiflowy/tailwind-config'; diff --git a/app/tsconfig.json b/app/tsconfig.json new file mode 100644 index 0000000..0be4b12 --- /dev/null +++ b/app/tsconfig.json @@ -0,0 +1,12 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "extends": "@aiflowy/tsconfig/web-app.json", + "compilerOptions": { + "baseUrl": ".", + "paths": { + "#/*": ["./src/*"] + } + }, + "references": [{ "path": "./tsconfig.node.json" }], + "include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.vue"] +} diff --git a/app/tsconfig.node.json b/app/tsconfig.node.json new file mode 100644 index 0000000..671db23 --- /dev/null +++ b/app/tsconfig.node.json @@ -0,0 +1,10 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "extends": "@aiflowy/tsconfig/node.json", + "compilerOptions": { + "composite": true, + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", + "noEmit": false + }, + "include": ["vite.config.mts"] +} diff --git a/app/vite.config.mts b/app/vite.config.mts new file mode 100644 index 0000000..3c352ca --- /dev/null +++ b/app/vite.config.mts @@ -0,0 +1,27 @@ +import { defineConfig } from '@aiflowy/vite-config'; + +import ElementPlus from 'unplugin-element-plus/vite'; + +export default defineConfig(async () => { + return { + application: {}, + vite: { + plugins: [ + ElementPlus({ + format: 'esm', + }), + ], + server: { + proxy: { + '/api': { + changeOrigin: true, + rewrite: (path) => path.replace(/^\/api/, ''), + // mock代理目标地址 + target: 'http://localhost:5320/api', + ws: true, + }, + }, + }, + }, + }; +}); diff --git a/cspell.json b/cspell.json new file mode 100644 index 0000000..0fcf900 --- /dev/null +++ b/cspell.json @@ -0,0 +1,69 @@ +{ + "$schema": "https://raw.githubusercontent.com/streetsidesoftware/cspell/main/cspell.schema.json", + "version": "0.2", + "language": "en,en-US", + "allowCompoundWords": true, + "words": [ + "acmr", + "antd", + "antdv", + "astro", + "brotli", + "clsx", + "defu", + "demi", + "echarts", + "ependencies", + "esno", + "etag", + "execa", + "iconify", + "iconoir", + "intlify", + "lockb", + "lucide", + "minh", + "minw", + "mkdist", + "mockjs", + "naiveui", + "nocheck", + "noopener", + "noreferrer", + "nprogress", + "nuxt", + "pinia", + "prefixs", + "publint", + "qrcode", + "reka", + "shadcn", + "sonner", + "sortablejs", + "styl", + "taze", + "ui-kit", + "uicons", + "unplugin", + "unref", + "aiflowy", + "aiflowy", + "vite", + "vitejs", + "vitepress", + "vnode", + "vueuse", + "yxxx" + ], + "ignorePaths": [ + "**/node_modules/**", + "**/dist/**", + "**/*-dist/**", + "**/icons/**", + "pnpm-lock.yaml", + "**/*.log", + "**/*.test.ts", + "**/*.spec.ts", + "**/__tests__/**" + ] +} diff --git a/eslint.config.mjs b/eslint.config.mjs new file mode 100644 index 0000000..1c972b6 --- /dev/null +++ b/eslint.config.mjs @@ -0,0 +1,5 @@ +// @ts-check + +import { defineConfig } from '@aiflowy/eslint-config'; + +export default defineConfig(); diff --git a/internal/lint-configs/commitlint-config/index.mjs b/internal/lint-configs/commitlint-config/index.mjs new file mode 100644 index 0000000..5a74f48 --- /dev/null +++ b/internal/lint-configs/commitlint-config/index.mjs @@ -0,0 +1,153 @@ +import { execSync } from 'node:child_process'; + +import { getPackagesSync } from '@aiflowy/node-utils'; + +const { packages } = getPackagesSync(); + +const allowedScopes = [ + ...packages.map((pkg) => pkg.packageJson.name), + 'project', + 'style', + 'lint', + 'ci', + 'dev', + 'deploy', + 'other', +]; + +// precomputed scope +const scopeComplete = execSync('git status --porcelain || true') + .toString() + .trim() + .split('\n') + .find((r) => ~r.indexOf('M src')) + ?.replace(/(\/)/g, '%%') + ?.match(/src%%((\w|-)*)/)?.[1] + ?.replace(/s$/, ''); + +/** + * @type {import('cz-git').UserConfig} + */ +const userConfig = { + extends: ['@commitlint/config-conventional'], + plugins: ['commitlint-plugin-function-rules'], + prompt: { + /** @use `pnpm commit :f` */ + alias: { + b: 'build: bump dependencies', + c: 'chore: update config', + f: 'docs: fix typos', + r: 'docs: update README', + s: 'style: update code format', + }, + allowCustomIssuePrefixs: false, + // scopes: [...scopes, 'mock'], + allowEmptyIssuePrefixs: false, + customScopesAlign: scopeComplete ? 'bottom' : 'top', + defaultScope: scopeComplete, + // English + typesAppend: [ + { name: 'workflow: workflow improvements', value: 'workflow' }, + { name: 'types: type definition file changes', value: 'types' }, + ], + + // 中英文对照版 + // messages: { + // type: '选择你要提交的类型 :', + // scope: '选择一个提交范围 (可选):', + // customScope: '请输入自定义的提交范围 :', + // subject: '填写简短精炼的变更描述 :\n', + // body: '填写更加详细的变更描述 (可选)。使用 "|" 换行 :\n', + // breaking: '列举非兼容性重大的变更 (可选)。使用 "|" 换行 :\n', + // footerPrefixsSelect: '选择关联issue前缀 (可选):', + // customFooterPrefixs: '输入自定义issue前缀 :', + // footer: '列举关联issue (可选) 例如: #31, #I3244 :\n', + // confirmCommit: '是否提交或修改commit ?', + // }, + // types: [ + // { value: 'feat', name: 'feat: 新增功能' }, + // { value: 'fix', name: 'fix: 修复缺陷' }, + // { value: 'docs', name: 'docs: 文档变更' }, + // { value: 'style', name: 'style: 代码格式' }, + // { value: 'refactor', name: 'refactor: 代码重构' }, + // { value: 'perf', name: 'perf: 性能优化' }, + // { value: 'test', name: 'test: 添加疏漏测试或已有测试改动' }, + // { value: 'build', name: 'build: 构建流程、外部依赖变更 (如升级 npm 包、修改打包配置等)' }, + // { value: 'ci', name: 'ci: 修改 CI 配置、脚本' }, + // { value: 'revert', name: 'revert: 回滚 commit' }, + // { value: 'chore', name: 'chore: 对构建过程或辅助工具和库的更改 (不影响源文件、测试用例)' }, + // { value: 'wip', name: 'wip: 正在开发中' }, + // { value: 'workflow', name: 'workflow: 工作流程改进' }, + // { value: 'types', name: 'types: 类型定义文件修改' }, + // ], + // emptyScopesAlias: 'empty: 不填写', + // customScopesAlias: 'custom: 自定义', + }, + rules: { + /** + * type[scope]: [function] description + * + * ^^^^^^^^^^^^^^ empty line. + * - Something here + */ + 'body-leading-blank': [2, 'always'], + /** + * type[scope]: [function] description + * + * - something here + * + * ^^^^^^^^^^^^^^ + */ + 'footer-leading-blank': [1, 'always'], + /** + * type[scope]: [function] description + * ^^^^^ + */ + 'function-rules/scope-enum': [ + 2, // level: error + 'always', + (parsed) => { + if (!parsed.scope || allowedScopes.includes(parsed.scope)) { + return [true]; + } + + return [false, `scope must be one of ${allowedScopes.join(', ')}`]; + }, + ], + /** + * type[scope]: [function] description [No more than 108 characters] + * ^^^^^ + */ + 'header-max-length': [2, 'always', 108], + + 'scope-enum': [0], + 'subject-case': [0], + 'subject-empty': [2, 'never'], + 'type-empty': [2, 'never'], + /** + * type[scope]: [function] description + * ^^^^ + */ + 'type-enum': [ + 2, + 'always', + [ + 'feat', + 'fix', + 'perf', + 'style', + 'docs', + 'test', + 'refactor', + 'build', + 'ci', + 'chore', + 'revert', + 'types', + 'release', + ], + ], + }, +}; + +export default userConfig; diff --git a/internal/lint-configs/commitlint-config/package.json b/internal/lint-configs/commitlint-config/package.json new file mode 100644 index 0000000..04dce39 --- /dev/null +++ b/internal/lint-configs/commitlint-config/package.json @@ -0,0 +1,33 @@ +{ + "name": "@aiflowy/commitlint-config", + "version": "1.0.0", + "private": true, + "homepage": "https://github.com/aiflowy/aiflowy", + "bugs": "https://github.com/aiflowy/aiflowy/issues", + "repository": { + "type": "git", + "url": "git+https://github.com/aiflowy/aiflowy.git", + "directory": "internal/lint-configs/commitlint-config" + }, + "license": "MIT", + "type": "module", + "files": [ + "dist" + ], + "main": "./index.mjs", + "module": "./index.mjs", + "exports": { + ".": { + "import": "./index.mjs", + "default": "./index.mjs" + } + }, + "dependencies": { + "@commitlint/cli": "catalog:", + "@commitlint/config-conventional": "catalog:", + "@aiflowy/node-utils": "workspace:*", + "commitlint-plugin-function-rules": "catalog:", + "cz-git": "catalog:", + "czg": "catalog:" + } +} diff --git a/internal/lint-configs/eslint-config/build.config.ts b/internal/lint-configs/eslint-config/build.config.ts new file mode 100644 index 0000000..97e572c --- /dev/null +++ b/internal/lint-configs/eslint-config/build.config.ts @@ -0,0 +1,7 @@ +import { defineBuildConfig } from 'unbuild'; + +export default defineBuildConfig({ + clean: true, + declaration: true, + entries: ['src/index'], +}); diff --git a/internal/lint-configs/eslint-config/package.json b/internal/lint-configs/eslint-config/package.json new file mode 100644 index 0000000..14f4850 --- /dev/null +++ b/internal/lint-configs/eslint-config/package.json @@ -0,0 +1,56 @@ +{ + "name": "@aiflowy/eslint-config", + "version": "5.0.0", + "private": true, + "homepage": "https://github.com/aiflowy/aiflowy", + "bugs": "https://github.com/aiflowy/aiflowy/issues", + "repository": { + "type": "git", + "url": "git+https://github.com/aiflowy/aiflowy.git", + "directory": "internal/lint-configs/eslint-config" + }, + "license": "MIT", + "type": "module", + "scripts": { + "stub": "pnpm unbuild --stub" + }, + "files": [ + "dist" + ], + "main": "./dist/index.mjs", + "module": "./dist/index.mjs", + "types": "./dist/index.d.ts", + "exports": { + ".": { + "types": "./dist/index.d.ts", + "import": "./dist/index.mjs" + } + }, + "dependencies": { + "eslint-config-turbo": "catalog:", + "eslint-plugin-command": "catalog:", + "eslint-plugin-import-x": "catalog:" + }, + "devDependencies": { + "@eslint/js": "catalog:", + "@types/eslint": "catalog:", + "@typescript-eslint/eslint-plugin": "catalog:", + "@typescript-eslint/parser": "catalog:", + "eslint": "catalog:", + "eslint-plugin-eslint-comments": "catalog:", + "eslint-plugin-jsdoc": "catalog:", + "eslint-plugin-jsonc": "catalog:", + "eslint-plugin-n": "catalog:", + "eslint-plugin-no-only-tests": "catalog:", + "eslint-plugin-perfectionist": "catalog:", + "eslint-plugin-prettier": "catalog:", + "eslint-plugin-regexp": "catalog:", + "eslint-plugin-unicorn": "catalog:", + "eslint-plugin-unused-imports": "catalog:", + "eslint-plugin-vitest": "catalog:", + "eslint-plugin-vue": "catalog:", + "globals": "catalog:", + "jsonc-eslint-parser": "catalog:", + "vue-eslint-parser": "catalog:" + } +} diff --git a/internal/lint-configs/eslint-config/src/configs/command.ts b/internal/lint-configs/eslint-config/src/configs/command.ts new file mode 100644 index 0000000..67651b2 --- /dev/null +++ b/internal/lint-configs/eslint-config/src/configs/command.ts @@ -0,0 +1,10 @@ +import createCommand from 'eslint-plugin-command/config'; + +export async function command() { + return [ + { + // @ts-expect-error - no types + ...createCommand(), + }, + ]; +} diff --git a/internal/lint-configs/eslint-config/src/configs/comments.ts b/internal/lint-configs/eslint-config/src/configs/comments.ts new file mode 100644 index 0000000..77ccd5d --- /dev/null +++ b/internal/lint-configs/eslint-config/src/configs/comments.ts @@ -0,0 +1,24 @@ +import type { Linter } from 'eslint'; + +import { interopDefault } from '../util'; + +export async function comments(): Promise { + const [pluginComments] = await Promise.all([ + // @ts-expect-error - no types + interopDefault(import('eslint-plugin-eslint-comments')), + ] as const); + + return [ + { + plugins: { + 'eslint-comments': pluginComments, + }, + rules: { + 'eslint-comments/no-aggregating-enable': 'error', + 'eslint-comments/no-duplicate-disable': 'error', + 'eslint-comments/no-unlimited-disable': 'error', + 'eslint-comments/no-unused-enable': 'error', + }, + }, + ]; +} diff --git a/internal/lint-configs/eslint-config/src/configs/disableds.ts b/internal/lint-configs/eslint-config/src/configs/disableds.ts new file mode 100644 index 0000000..152b84c --- /dev/null +++ b/internal/lint-configs/eslint-config/src/configs/disableds.ts @@ -0,0 +1,28 @@ +import type { Linter } from 'eslint'; + +export async function disableds(): Promise { + return [ + { + files: ['**/__tests__/**/*.?([cm])[jt]s?(x)'], + name: 'disables/test', + rules: { + '@typescript-eslint/ban-ts-comment': 'off', + 'no-console': 'off', + }, + }, + { + files: ['**/*.d.ts'], + name: 'disables/dts', + rules: { + '@typescript-eslint/triple-slash-reference': 'off', + }, + }, + { + files: ['**/*.js', '**/*.mjs', '**/*.cjs'], + name: 'disables/js', + rules: { + '@typescript-eslint/explicit-module-boundary-types': 'off', + }, + }, + ]; +} diff --git a/internal/lint-configs/eslint-config/src/configs/ignores.ts b/internal/lint-configs/eslint-config/src/configs/ignores.ts new file mode 100644 index 0000000..136c956 --- /dev/null +++ b/internal/lint-configs/eslint-config/src/configs/ignores.ts @@ -0,0 +1,52 @@ +import type { Linter } from 'eslint'; + +export async function ignores(): Promise { + return [ + { + ignores: [ + '**/node_modules', + '**/dist', + '**/dist-*', + '**/*-dist', + '**/.husky', + '**/.nitro', + '**/.output', + '**/Dockerfile', + '**/package-lock.json', + '**/yarn.lock', + '**/pnpm-lock.yaml', + '**/bun.lockb', + '**/output', + '**/coverage', + '**/temp', + '**/.temp', + '**/tmp', + '**/.tmp', + '**/.history', + '**/.turbo', + '**/.nuxt', + '**/.next', + '**/.vercel', + '**/.changeset', + '**/.idea', + '**/.cache', + '**/.output', + '**/.vite-inspect', + + '**/CHANGELOG*.md', + '**/*.min.*', + '**/LICENSE*', + '**/__snapshots__', + '**/*.snap', + '**/fixtures/**', + '**/.vitepress/cache/**', + '**/auto-import?(s).d.ts', + '**/components.d.ts', + '**/vite.config.mts.*', + '**/*.sh', + '**/*.ttf', + '**/*.woff', + ], + }, + ]; +} diff --git a/internal/lint-configs/eslint-config/src/configs/import.ts b/internal/lint-configs/eslint-config/src/configs/import.ts new file mode 100644 index 0000000..ce6cf65 --- /dev/null +++ b/internal/lint-configs/eslint-config/src/configs/import.ts @@ -0,0 +1,25 @@ +import type { Linter } from 'eslint'; + +import * as pluginImport from 'eslint-plugin-import-x'; + +export async function importPluginConfig(): Promise { + return [ + { + plugins: { + // @ts-expect-error - This is a dynamic import + import: pluginImport, + }, + rules: { + 'import/consistent-type-specifier-style': ['error', 'prefer-top-level'], + 'import/first': 'error', + 'import/newline-after-import': 'error', + 'import/no-duplicates': 'error', + 'import/no-mutable-exports': 'error', + 'import/no-named-default': 'error', + 'import/no-self-import': 'error', + 'import/no-unresolved': 'off', + 'import/no-webpack-loader-syntax': 'error', + }, + }, + ]; +} diff --git a/internal/lint-configs/eslint-config/src/configs/index.ts b/internal/lint-configs/eslint-config/src/configs/index.ts new file mode 100644 index 0000000..c0284ef --- /dev/null +++ b/internal/lint-configs/eslint-config/src/configs/index.ts @@ -0,0 +1,17 @@ +export * from './command'; +export * from './comments'; +export * from './disableds'; +export * from './ignores'; +export * from './import'; +export * from './javascript'; +export * from './jsdoc'; +export * from './jsonc'; +export * from './node'; +export * from './perfectionist'; +export * from './prettier'; +export * from './regexp'; +export * from './test'; +export * from './turbo'; +export * from './typescript'; +export * from './unicorn'; +export * from './vue'; diff --git a/internal/lint-configs/eslint-config/src/configs/javascript.ts b/internal/lint-configs/eslint-config/src/configs/javascript.ts new file mode 100644 index 0000000..44cf5b6 --- /dev/null +++ b/internal/lint-configs/eslint-config/src/configs/javascript.ts @@ -0,0 +1,241 @@ +import type { Linter } from 'eslint'; + +import js from '@eslint/js'; +import pluginUnusedImports from 'eslint-plugin-unused-imports'; +import globals from 'globals'; + +export async function javascript(): Promise { + return [ + { + languageOptions: { + ecmaVersion: 'latest', + globals: { + ...globals.browser, + ...globals.es2021, + ...globals.node, + document: 'readonly', + navigator: 'readonly', + window: 'readonly', + }, + parserOptions: { + ecmaFeatures: { + jsx: true, + }, + ecmaVersion: 'latest', + sourceType: 'module', + }, + sourceType: 'module', + }, + linterOptions: { + reportUnusedDisableDirectives: true, + }, + plugins: { + 'unused-imports': pluginUnusedImports, + }, + rules: { + ...js.configs.recommended.rules, + 'accessor-pairs': [ + 'error', + { enforceForClassMembers: true, setWithoutGet: true }, + ], + 'array-callback-return': 'error', + 'block-scoped-var': 'error', + 'constructor-super': 'error', + 'default-case-last': 'error', + 'dot-notation': ['error', { allowKeywords: true }], + eqeqeq: ['error', 'always'], + 'keyword-spacing': 'off', + + 'new-cap': [ + 'error', + { capIsNew: false, newIsCap: true, properties: true }, + ], + 'no-alert': 'error', + 'no-array-constructor': 'error', + 'no-async-promise-executor': 'error', + 'no-caller': 'error', + 'no-case-declarations': 'error', + 'no-class-assign': 'error', + 'no-compare-neg-zero': 'error', + 'no-cond-assign': ['error', 'always'], + 'no-console': ['error', { allow: ['warn', 'error'] }], + 'no-const-assign': 'error', + 'no-control-regex': 'error', + 'no-debugger': 'error', + 'no-delete-var': 'error', + 'no-dupe-args': 'error', + 'no-dupe-class-members': 'error', + 'no-dupe-keys': 'error', + 'no-duplicate-case': 'error', + 'no-empty': ['error', { allowEmptyCatch: true }], + 'no-empty-character-class': 'error', + 'no-empty-function': 'off', + 'no-empty-pattern': 'error', + 'no-eval': 'error', + 'no-ex-assign': 'error', + 'no-extend-native': 'error', + 'no-extra-bind': 'error', + 'no-extra-boolean-cast': 'error', + 'no-fallthrough': 'error', + 'no-func-assign': 'error', + 'no-global-assign': 'error', + 'no-implied-eval': 'error', + 'no-import-assign': 'error', + 'no-invalid-regexp': 'error', + 'no-irregular-whitespace': 'error', + 'no-iterator': 'error', + 'no-labels': ['error', { allowLoop: false, allowSwitch: false }], + 'no-lone-blocks': 'error', + 'no-loss-of-precision': 'error', + 'no-misleading-character-class': 'error', + 'no-multi-str': 'error', + 'no-new': 'error', + 'no-new-func': 'error', + 'no-new-object': 'error', + 'no-new-symbol': 'error', + 'no-new-wrappers': 'error', + 'no-obj-calls': 'error', + 'no-octal': 'error', + 'no-octal-escape': 'error', + 'no-proto': 'error', + 'no-prototype-builtins': 'error', + 'no-redeclare': ['error', { builtinGlobals: false }], + 'no-regex-spaces': 'error', + 'no-restricted-globals': [ + 'error', + { message: 'Use `globalThis` instead.', name: 'global' }, + { message: 'Use `globalThis` instead.', name: 'self' }, + ], + 'no-restricted-properties': [ + 'error', + { + message: + 'Use `Object.getPrototypeOf` or `Object.setPrototypeOf` instead.', + property: '__proto__', + }, + { + message: 'Use `Object.defineProperty` instead.', + property: '__defineGetter__', + }, + { + message: 'Use `Object.defineProperty` instead.', + property: '__defineSetter__', + }, + { + message: 'Use `Object.getOwnPropertyDescriptor` instead.', + property: '__lookupGetter__', + }, + { + message: 'Use `Object.getOwnPropertyDescriptor` instead.', + property: '__lookupSetter__', + }, + ], + 'no-restricted-syntax': [ + 'error', + 'DebuggerStatement', + 'LabeledStatement', + 'WithStatement', + 'TSEnumDeclaration[const=true]', + 'TSExportAssignment', + ], + 'no-self-assign': ['error', { props: true }], + 'no-self-compare': 'error', + 'no-sequences': 'error', + 'no-shadow-restricted-names': 'error', + 'no-sparse-arrays': 'error', + 'no-template-curly-in-string': 'error', + 'no-this-before-super': 'error', + 'no-throw-literal': 'error', + 'no-undef': 'off', + 'no-undef-init': 'error', + 'no-unexpected-multiline': 'error', + 'no-unmodified-loop-condition': 'error', + 'no-unneeded-ternary': ['error', { defaultAssignment: false }], + 'no-unreachable': 'error', + 'no-unreachable-loop': 'error', + 'no-unsafe-finally': 'error', + 'no-unsafe-negation': 'error', + 'no-unused-expressions': [ + 'error', + { + allowShortCircuit: true, + allowTaggedTemplates: true, + allowTernary: true, + }, + ], + 'no-unused-vars': [ + 'error', + { + args: 'none', + caughtErrors: 'none', + ignoreRestSiblings: true, + vars: 'all', + }, + ], + 'no-use-before-define': [ + 'error', + { classes: false, functions: false, variables: false }, + ], + 'no-useless-backreference': 'error', + 'no-useless-call': 'error', + 'no-useless-catch': 'error', + 'no-useless-computed-key': 'error', + 'no-useless-constructor': 'error', + 'no-useless-rename': 'error', + 'no-useless-return': 'error', + 'no-var': 'error', + 'no-with': 'error', + 'object-shorthand': [ + 'error', + 'always', + { avoidQuotes: true, ignoreConstructors: false }, + ], + 'one-var': ['error', { initialized: 'never' }], + 'prefer-arrow-callback': [ + 'error', + { + allowNamedFunctions: false, + allowUnboundThis: true, + }, + ], + 'prefer-const': [ + 'error', + { + destructuring: 'all', + ignoreReadBeforeAssign: true, + }, + ], + 'prefer-exponentiation-operator': 'error', + + 'prefer-promise-reject-errors': 'error', + 'prefer-regex-literals': ['error', { disallowRedundantWrapping: true }], + 'prefer-rest-params': 'error', + 'prefer-spread': 'error', + 'prefer-template': 'error', + 'space-before-function-paren': 'off', + 'spaced-comment': 'error', + 'symbol-description': 'error', + 'unicode-bom': ['error', 'never'], + + 'unused-imports/no-unused-imports': 'error', + 'unused-imports/no-unused-vars': [ + 'error', + { + args: 'after-used', + argsIgnorePattern: '^_', + vars: 'all', + varsIgnorePattern: '^_', + }, + ], + 'use-isnan': [ + 'error', + { enforceForIndexOf: true, enforceForSwitchCase: true }, + ], + 'valid-typeof': ['error', { requireStringLiterals: true }], + + 'vars-on-top': 'error', + yoda: ['error', 'never'], + }, + }, + ]; +} diff --git a/internal/lint-configs/eslint-config/src/configs/jsdoc.ts b/internal/lint-configs/eslint-config/src/configs/jsdoc.ts new file mode 100644 index 0000000..1368197 --- /dev/null +++ b/internal/lint-configs/eslint-config/src/configs/jsdoc.ts @@ -0,0 +1,34 @@ +import type { Linter } from 'eslint'; + +import { interopDefault } from '../util'; + +export async function jsdoc(): Promise { + const [pluginJsdoc] = await Promise.all([ + interopDefault(import('eslint-plugin-jsdoc')), + ] as const); + + return [ + { + plugins: { + jsdoc: pluginJsdoc, + }, + rules: { + 'jsdoc/check-access': 'warn', + 'jsdoc/check-param-names': 'warn', + 'jsdoc/check-property-names': 'warn', + 'jsdoc/check-types': 'warn', + 'jsdoc/empty-tags': 'warn', + 'jsdoc/implements-on-classes': 'warn', + 'jsdoc/no-defaults': 'warn', + 'jsdoc/no-multi-asterisks': 'warn', + 'jsdoc/require-param-name': 'warn', + 'jsdoc/require-property': 'warn', + 'jsdoc/require-property-description': 'warn', + 'jsdoc/require-property-name': 'warn', + 'jsdoc/require-returns-check': 'warn', + 'jsdoc/require-returns-description': 'warn', + 'jsdoc/require-yields-check': 'warn', + }, + }, + ]; +} diff --git a/internal/lint-configs/eslint-config/src/configs/jsonc.ts b/internal/lint-configs/eslint-config/src/configs/jsonc.ts new file mode 100644 index 0000000..4072e4c --- /dev/null +++ b/internal/lint-configs/eslint-config/src/configs/jsonc.ts @@ -0,0 +1,258 @@ +import type { Linter } from 'eslint'; + +import { interopDefault } from '../util'; + +export async function jsonc(): Promise { + const [pluginJsonc, parserJsonc] = await Promise.all([ + interopDefault(import('eslint-plugin-jsonc')), + interopDefault(import('jsonc-eslint-parser')), + ] as const); + + return [ + { + files: ['**/*.json', '**/*.json5', '**/*.jsonc', '*.code-workspace'], + languageOptions: { + parser: parserJsonc as any, + }, + plugins: { + jsonc: pluginJsonc as any, + }, + rules: { + 'jsonc/no-bigint-literals': 'error', + 'jsonc/no-binary-expression': 'error', + 'jsonc/no-binary-numeric-literals': 'error', + 'jsonc/no-dupe-keys': 'error', + 'jsonc/no-escape-sequence-in-identifier': 'error', + 'jsonc/no-floating-decimal': 'error', + 'jsonc/no-hexadecimal-numeric-literals': 'error', + 'jsonc/no-infinity': 'error', + 'jsonc/no-multi-str': 'error', + 'jsonc/no-nan': 'error', + 'jsonc/no-number-props': 'error', + 'jsonc/no-numeric-separators': 'error', + 'jsonc/no-octal': 'error', + 'jsonc/no-octal-escape': 'error', + 'jsonc/no-octal-numeric-literals': 'error', + 'jsonc/no-parenthesized': 'error', + 'jsonc/no-plus-sign': 'error', + 'jsonc/no-regexp-literals': 'error', + 'jsonc/no-sparse-arrays': 'error', + 'jsonc/no-template-literals': 'error', + 'jsonc/no-undefined-value': 'error', + 'jsonc/no-unicode-codepoint-escapes': 'error', + 'jsonc/no-useless-escape': 'error', + 'jsonc/space-unary-ops': 'error', + 'jsonc/valid-json-number': 'error', + 'jsonc/vue-custom-block/no-parsing-error': 'error', + }, + }, + sortTsconfig(), + sortPackageJson(), + ]; +} + +function sortPackageJson(): Linter.Config { + return { + files: ['**/package.json'], + rules: { + 'jsonc/sort-array-values': [ + 'error', + { + order: { type: 'asc' }, + pathPattern: '^files$|^pnpm.neverBuiltDependencies$', + }, + ], + 'jsonc/sort-keys': [ + 'error', + { + order: [ + 'name', + 'version', + 'description', + 'private', + 'keywords', + 'homepage', + 'bugs', + 'repository', + 'license', + 'author', + 'contributors', + 'categories', + 'funding', + 'type', + 'scripts', + 'files', + 'sideEffects', + 'bin', + 'main', + 'module', + 'unpkg', + 'jsdelivr', + 'types', + 'typesVersions', + 'imports', + 'exports', + 'publishConfig', + 'icon', + 'activationEvents', + 'contributes', + 'peerDependencies', + 'peerDependenciesMeta', + 'dependencies', + 'optionalDependencies', + 'devDependencies', + 'engines', + 'packageManager', + 'pnpm', + 'overrides', + 'resolutions', + 'husky', + 'simple-git-hooks', + 'lint-staged', + 'eslintConfig', + ], + pathPattern: '^$', + }, + { + order: { type: 'asc' }, + pathPattern: '^(?:dev|peer|optional|bundled)?[Dd]ependencies(Meta)?$', + }, + { + order: { type: 'asc' }, + pathPattern: '^(?:resolutions|overrides|pnpm.overrides)$', + }, + { + order: ['types', 'import', 'require', 'default'], + pathPattern: '^exports.*$', + }, + ], + }, + }; +} + +function sortTsconfig(): Linter.Config { + return { + files: [ + '**/tsconfig.json', + '**/tsconfig.*.json', + 'internal/tsconfig/*.json', + ], + rules: { + 'jsonc/sort-keys': [ + 'error', + { + order: [ + 'extends', + 'compilerOptions', + 'references', + 'files', + 'include', + 'exclude', + ], + pathPattern: '^$', + }, + { + order: [ + /* Projects */ + 'incremental', + 'composite', + 'tsBuildInfoFile', + 'disableSourceOfProjectReferenceRedirect', + 'disableSolutionSearching', + 'disableReferencedProjectLoad', + /* Language and Environment */ + 'target', + 'jsx', + 'jsxFactory', + 'jsxFragmentFactory', + 'jsxImportSource', + 'lib', + 'moduleDetection', + 'noLib', + 'reactNamespace', + 'useDefineForClassFields', + 'emitDecoratorMetadata', + 'experimentalDecorators', + /* Modules */ + 'baseUrl', + 'rootDir', + 'rootDirs', + 'customConditions', + 'module', + 'moduleResolution', + 'moduleSuffixes', + 'noResolve', + 'paths', + 'resolveJsonModule', + 'resolvePackageJsonExports', + 'resolvePackageJsonImports', + 'typeRoots', + 'types', + 'allowArbitraryExtensions', + 'allowImportingTsExtensions', + 'allowUmdGlobalAccess', + /* JavaScript Support */ + 'allowJs', + 'checkJs', + 'maxNodeModuleJsDepth', + /* Type Checking */ + 'strict', + 'strictBindCallApply', + 'strictFunctionTypes', + 'strictNullChecks', + 'strictPropertyInitialization', + 'allowUnreachableCode', + 'allowUnusedLabels', + 'alwaysStrict', + 'exactOptionalPropertyTypes', + 'noFallthroughCasesInSwitch', + 'noImplicitAny', + 'noImplicitOverride', + 'noImplicitReturns', + 'noImplicitThis', + 'noPropertyAccessFromIndexSignature', + 'noUncheckedIndexedAccess', + 'noUnusedLocals', + 'noUnusedParameters', + 'useUnknownInCatchVariables', + /* Emit */ + 'declaration', + 'declarationDir', + 'declarationMap', + 'downlevelIteration', + 'emitBOM', + 'emitDeclarationOnly', + 'importHelpers', + 'importsNotUsedAsValues', + 'inlineSourceMap', + 'inlineSources', + 'mapRoot', + 'newLine', + 'noEmit', + 'noEmitHelpers', + 'noEmitOnError', + 'outDir', + 'outFile', + 'preserveConstEnums', + 'preserveValueImports', + 'removeComments', + 'sourceMap', + 'sourceRoot', + 'stripInternal', + /* Interop Constraints */ + 'allowSyntheticDefaultImports', + 'esModuleInterop', + 'forceConsistentCasingInFileNames', + 'isolatedModules', + 'preserveSymlinks', + 'verbatimModuleSyntax', + /* Completeness */ + 'skipDefaultLibCheck', + 'skipLibCheck', + ], + pathPattern: '^compilerOptions$', + }, + ], + }, + }; +} diff --git a/internal/lint-configs/eslint-config/src/configs/node.ts b/internal/lint-configs/eslint-config/src/configs/node.ts new file mode 100644 index 0000000..a670d4a --- /dev/null +++ b/internal/lint-configs/eslint-config/src/configs/node.ts @@ -0,0 +1,57 @@ +import type { Linter } from 'eslint'; + +import { interopDefault } from '../util'; + +export async function node(): Promise { + const pluginNode = await interopDefault(import('eslint-plugin-n')); + + return [ + { + plugins: { + n: pluginNode, + }, + rules: { + 'n/handle-callback-err': ['error', '^(err|error)$'], + 'n/no-deprecated-api': 'error', + 'n/no-exports-assign': 'error', + 'n/no-extraneous-import': [ + 'error', + { + allowModules: [ + 'unbuild', + '@aiflowy/vite-config', + 'vitest', + 'vite', + '@vue/test-utils', + '@aiflowy/tailwind-config', + '@playwright/test', + ], + }, + ], + 'n/no-new-require': 'error', + 'n/no-path-concat': 'error', + // 'n/no-unpublished-import': 'off', + 'n/no-unsupported-features/es-syntax': [ + 'error', + { + ignores: [], + version: '>=18.0.0', + }, + ], + 'n/prefer-global/buffer': ['error', 'never'], + // 'n/no-missing-import': 'off', + 'n/prefer-global/process': ['error', 'never'], + 'n/process-exit-as-throw': 'error', + }, + }, + { + files: [ + 'scripts/**/*.?([cm])[jt]s?(x)', + 'internal/**/*.?([cm])[jt]s?(x)', + ], + rules: { + 'n/prefer-global/process': 'off', + }, + }, + ]; +} diff --git a/internal/lint-configs/eslint-config/src/configs/perfectionist.ts b/internal/lint-configs/eslint-config/src/configs/perfectionist.ts new file mode 100644 index 0000000..9e9ac5a --- /dev/null +++ b/internal/lint-configs/eslint-config/src/configs/perfectionist.ts @@ -0,0 +1,89 @@ +import type { Linter } from 'eslint'; + +import { interopDefault } from '../util'; + +export async function perfectionist(): Promise { + const perfectionistPlugin = await interopDefault( + // @ts-expect-error - no types + import('eslint-plugin-perfectionist'), + ); + + return [ + perfectionistPlugin.configs['recommended-natural'], + { + rules: { + 'perfectionist/sort-exports': [ + 'error', + { + order: 'asc', + type: 'natural', + }, + ], + 'perfectionist/sort-imports': [ + 'error', + { + customGroups: { + type: { + 'aiflowy-core-type': ['^@aiflowy-core/.+'], + 'aiflowy-type': ['^@aiflowy/.+'], + 'vue-type': ['^vue$', '^vue-.+', '^@vue/.+'], + }, + value: { + aiflowy: ['^@aiflowy/.+'], + 'aiflowy-core': ['^@aiflowy-core/.+'], + vue: ['^vue$', '^vue-.+', '^@vue/.+'], + }, + }, + environment: 'node', + groups: [ + ['external-type', 'builtin-type', 'type'], + 'vue-type', + 'aiflowy-type', + 'aiflowy-core-type', + ['parent-type', 'sibling-type', 'index-type'], + ['internal-type'], + 'builtin', + 'vue', + 'aiflowy', + 'aiflowy-core', + 'external', + 'internal', + ['parent', 'sibling', 'index'], + 'side-effect', + 'side-effect-style', + 'style', + 'object', + 'unknown', + ], + internalPattern: ['^#/.+'], + newlinesBetween: 'always', + order: 'asc', + type: 'natural', + }, + ], + 'perfectionist/sort-modules': 'off', + 'perfectionist/sort-named-exports': [ + 'error', + { + order: 'asc', + type: 'natural', + }, + ], + 'perfectionist/sort-objects': [ + 'off', + { + customGroups: { + items: 'items', + list: 'list', + children: 'children', + }, + groups: ['unknown', 'items', 'list', 'children'], + ignorePattern: ['children'], + order: 'asc', + type: 'natural', + }, + ], + }, + }, + ]; +} diff --git a/internal/lint-configs/eslint-config/src/configs/prettier.ts b/internal/lint-configs/eslint-config/src/configs/prettier.ts new file mode 100644 index 0000000..3cd7af4 --- /dev/null +++ b/internal/lint-configs/eslint-config/src/configs/prettier.ts @@ -0,0 +1,19 @@ +import type { Linter } from 'eslint'; + +import { interopDefault } from '../util'; + +export async function prettier(): Promise { + const [pluginPrettier] = await Promise.all([ + interopDefault(import('eslint-plugin-prettier')), + ] as const); + return [ + { + plugins: { + prettier: pluginPrettier, + }, + rules: { + 'prettier/prettier': 'error', + }, + }, + ]; +} diff --git a/internal/lint-configs/eslint-config/src/configs/regexp.ts b/internal/lint-configs/eslint-config/src/configs/regexp.ts new file mode 100644 index 0000000..c0f4c9f --- /dev/null +++ b/internal/lint-configs/eslint-config/src/configs/regexp.ts @@ -0,0 +1,20 @@ +import type { Linter } from 'eslint'; + +import { interopDefault } from '../util'; + +export async function regexp(): Promise { + const [pluginRegexp] = await Promise.all([ + interopDefault(import('eslint-plugin-regexp')), + ] as const); + + return [ + { + plugins: { + regexp: pluginRegexp, + }, + rules: { + ...pluginRegexp.configs.recommended.rules, + }, + }, + ]; +} diff --git a/internal/lint-configs/eslint-config/src/configs/test.ts b/internal/lint-configs/eslint-config/src/configs/test.ts new file mode 100644 index 0000000..ddfde2b --- /dev/null +++ b/internal/lint-configs/eslint-config/src/configs/test.ts @@ -0,0 +1,45 @@ +import type { Linter } from 'eslint'; + +import { interopDefault } from '../util'; + +export async function test(): Promise { + const [pluginTest, pluginNoOnlyTests] = await Promise.all([ + interopDefault(import('eslint-plugin-vitest')), + // @ts-expect-error - no types + interopDefault(import('eslint-plugin-no-only-tests')), + ] as const); + + return [ + { + files: [ + `**/__tests__/**/*.?([cm])[jt]s?(x)`, + `**/*.spec.?([cm])[jt]s?(x)`, + `**/*.test.?([cm])[jt]s?(x)`, + `**/*.bench.?([cm])[jt]s?(x)`, + `**/*.benchmark.?([cm])[jt]s?(x)`, + ], + plugins: { + test: { + ...pluginTest, + rules: { + ...pluginTest.rules, + ...pluginNoOnlyTests.rules, + }, + }, + }, + rules: { + 'no-console': 'off', + 'node/prefer-global/process': 'off', + 'test/consistent-test-it': [ + 'error', + { fn: 'it', withinDescribe: 'it' }, + ], + 'test/no-identical-title': 'error', + 'test/no-import-node-test': 'error', + 'test/no-only-tests': 'error', + 'test/prefer-hooks-in-order': 'error', + 'test/prefer-lowercase-title': 'error', + }, + }, + ]; +} diff --git a/internal/lint-configs/eslint-config/src/configs/turbo.ts b/internal/lint-configs/eslint-config/src/configs/turbo.ts new file mode 100644 index 0000000..9f6bf75 --- /dev/null +++ b/internal/lint-configs/eslint-config/src/configs/turbo.ts @@ -0,0 +1,18 @@ +import type { Linter } from 'eslint'; + +import { interopDefault } from '../util'; + +export async function turbo(): Promise { + const [pluginTurbo] = await Promise.all([ + // @ts-expect-error - no types + interopDefault(import('eslint-config-turbo')), + ] as const); + + return [ + { + plugins: { + turbo: pluginTurbo, + }, + }, + ]; +} diff --git a/internal/lint-configs/eslint-config/src/configs/typescript.ts b/internal/lint-configs/eslint-config/src/configs/typescript.ts new file mode 100644 index 0000000..cff9aa4 --- /dev/null +++ b/internal/lint-configs/eslint-config/src/configs/typescript.ts @@ -0,0 +1,72 @@ +import type { Linter } from 'eslint'; + +import { interopDefault } from '../util'; + +export async function typescript(): Promise { + const [pluginTs, parserTs] = await Promise.all([ + interopDefault(import('@typescript-eslint/eslint-plugin')), + // @ts-expect-error missing types + interopDefault(import('@typescript-eslint/parser')), + ] as const); + + return [ + { + files: ['**/*.?([cm])[jt]s?(x)'], + languageOptions: { + parser: parserTs, + parserOptions: { + createDefaultProgram: false, + ecmaFeatures: { + jsx: true, + }, + ecmaVersion: 'latest', + extraFileExtensions: ['.vue'], + jsxPragma: 'React', + project: './tsconfig.*.json', + sourceType: 'module', + }, + }, + plugins: { + '@typescript-eslint': pluginTs, + }, + rules: { + ...pluginTs.configs['eslint-recommended'].overrides?.[0].rules, + ...pluginTs.configs.strict.rules, + '@typescript-eslint/ban-ts-comment': [ + 'error', + { + 'ts-check': false, + 'ts-expect-error': 'allow-with-description', + 'ts-ignore': 'allow-with-description', + 'ts-nocheck': 'allow-with-description', + }, + ], + + // '@typescript-eslint/consistent-type-definitions': ['warn', 'interface'], + '@typescript-eslint/consistent-type-definitions': 'off', + '@typescript-eslint/explicit-function-return-type': 'off', + '@typescript-eslint/explicit-module-boundary-types': 'off', + '@typescript-eslint/no-empty-function': [ + 'error', + { + allow: ['arrowFunctions', 'functions', 'methods'], + }, + ], + '@typescript-eslint/no-explicit-any': 'off', + '@typescript-eslint/no-namespace': 'off', + '@typescript-eslint/no-non-null-assertion': 'error', + '@typescript-eslint/no-unused-expressions': 'off', + '@typescript-eslint/no-unused-vars': [ + 'error', + { + argsIgnorePattern: '^_', + varsIgnorePattern: '^_', + }, + ], + '@typescript-eslint/no-use-before-define': 'off', + '@typescript-eslint/no-var-requires': 'error', + 'unused-imports/no-unused-vars': 'off', + }, + }, + ]; +} diff --git a/internal/lint-configs/eslint-config/src/configs/unicorn.ts b/internal/lint-configs/eslint-config/src/configs/unicorn.ts new file mode 100644 index 0000000..21b1902 --- /dev/null +++ b/internal/lint-configs/eslint-config/src/configs/unicorn.ts @@ -0,0 +1,45 @@ +import type { Linter } from 'eslint'; + +import { interopDefault } from '../util'; + +export async function unicorn(): Promise { + const [pluginUnicorn] = await Promise.all([ + interopDefault(import('eslint-plugin-unicorn')), + ] as const); + + return [ + { + plugins: { + unicorn: pluginUnicorn, + }, + rules: { + ...pluginUnicorn.configs.recommended.rules, + + 'unicorn/better-regex': 'off', + 'unicorn/consistent-destructuring': 'off', + 'unicorn/consistent-function-scoping': 'off', + 'unicorn/expiring-todo-comments': 'off', + 'unicorn/filename-case': 'off', + 'unicorn/import-style': 'off', + 'unicorn/no-array-for-each': 'off', + 'unicorn/no-null': 'off', + 'unicorn/no-useless-undefined': 'off', + 'unicorn/prefer-at': 'off', + 'unicorn/prefer-dom-node-text-content': 'off', + 'unicorn/prefer-export-from': ['error', { ignoreUsedVariables: true }], + 'unicorn/prefer-global-this': 'off', + 'unicorn/prefer-top-level-await': 'off', + 'unicorn/prevent-abbreviations': 'off', + }, + }, + { + files: [ + 'scripts/**/*.?([cm])[jt]s?(x)', + 'internal/**/*.?([cm])[jt]s?(x)', + ], + rules: { + 'unicorn/no-process-exit': 'off', + }, + }, + ]; +} diff --git a/internal/lint-configs/eslint-config/src/configs/vue.ts b/internal/lint-configs/eslint-config/src/configs/vue.ts new file mode 100644 index 0000000..a64c55a --- /dev/null +++ b/internal/lint-configs/eslint-config/src/configs/vue.ts @@ -0,0 +1,153 @@ +import type { Linter } from 'eslint'; + +import { interopDefault } from '../util'; + +export async function vue(): Promise { + const [pluginVue, parserVue, parserTs] = await Promise.all([ + interopDefault(import('eslint-plugin-vue')), + interopDefault(import('vue-eslint-parser')), + // @ts-expect-error missing types + interopDefault(import('@typescript-eslint/parser')), + ] as const); + + const flatEssential = pluginVue.configs?.['flat/essential'] || []; + const flatStronglyRecommended = + pluginVue.configs?.['flat/strongly-recommended'] || []; + const flatRecommended = pluginVue.configs?.['flat/recommended'] || []; + + return [ + ...flatEssential, + ...flatStronglyRecommended, + ...flatRecommended, + { + files: ['**/*.vue'], + languageOptions: { + // globals: { + // computed: 'readonly', + // defineEmits: 'readonly', + // defineExpose: 'readonly', + // defineProps: 'readonly', + // onMounted: 'readonly', + // onUnmounted: 'readonly', + // reactive: 'readonly', + // ref: 'readonly', + // shallowReactive: 'readonly', + // shallowRef: 'readonly', + // toRef: 'readonly', + // toRefs: 'readonly', + // watch: 'readonly', + // watchEffect: 'readonly', + // }, + parser: parserVue, + parserOptions: { + ecmaFeatures: { + jsx: true, + }, + extraFileExtensions: ['.vue'], + parser: parserTs, + sourceType: 'module', + }, + }, + plugins: { + vue: pluginVue, + }, + processor: pluginVue.processors?.['.vue'], + rules: { + ...pluginVue.configs?.base?.rules, + + 'vue/attribute-hyphenation': [ + 'error', + 'always', + { + ignore: [], + }, + ], + 'vue/attributes-order': 'off', + 'vue/block-order': [ + 'error', + { + order: ['script', 'template', 'style'], + }, + ], + 'vue/component-name-in-template-casing': ['error', 'PascalCase'], + 'vue/component-options-name-casing': ['error', 'PascalCase'], + 'vue/custom-event-name-casing': ['error', 'camelCase'], + 'vue/define-macros-order': [ + 'error', + { + order: [ + 'defineOptions', + 'defineProps', + 'defineEmits', + 'defineSlots', + ], + }, + ], + 'vue/dot-location': ['error', 'property'], + 'vue/dot-notation': ['error', { allowKeywords: true }], + 'vue/eqeqeq': ['error', 'smart'], + 'vue/html-closing-bracket-newline': 'error', + 'vue/html-indent': 'off', + // 'vue/html-indent': ['error', 2], + 'vue/html-quotes': ['error', 'double'], + 'vue/html-self-closing': [ + 'error', + { + html: { + component: 'always', + normal: 'never', + void: 'always', + }, + math: 'always', + svg: 'always', + }, + ], + 'vue/max-attributes-per-line': 'off', + 'vue/multi-word-component-names': 'off', + 'vue/multiline-html-element-content-newline': 'error', + 'vue/no-empty-pattern': 'error', + 'vue/no-extra-parens': ['error', 'functions'], + 'vue/no-irregular-whitespace': 'error', + 'vue/no-loss-of-precision': 'error', + 'vue/no-reserved-component-names': 'off', + 'vue/no-restricted-syntax': [ + 'error', + 'DebuggerStatement', + 'LabeledStatement', + 'WithStatement', + ], + 'vue/no-restricted-v-bind': ['error', '/^v-/'], + 'vue/no-sparse-arrays': 'error', + 'vue/no-unused-refs': 'error', + 'vue/no-useless-v-bind': 'error', + 'vue/object-shorthand': [ + 'error', + 'always', + { + avoidQuotes: true, + ignoreConstructors: false, + }, + ], + 'vue/one-component-per-file': 'error', + 'vue/prefer-import-from-vue': 'error', + 'vue/prefer-separate-static-class': 'error', + 'vue/prefer-template': 'error', + 'vue/prop-name-casing': ['error', 'camelCase'], + 'vue/require-default-prop': 'error', + 'vue/require-explicit-emits': 'error', + 'vue/require-prop-types': 'off', + 'vue/singleline-html-element-content-newline': 'off', + 'vue/space-infix-ops': 'error', + 'vue/space-unary-ops': ['error', { nonwords: false, words: true }], + 'vue/v-on-event-hyphenation': [ + 'error', + 'always', + { + autofix: true, + ignore: [], + }, + ], + }, + }, + ]; +} diff --git a/internal/lint-configs/eslint-config/src/custom-config.ts b/internal/lint-configs/eslint-config/src/custom-config.ts new file mode 100644 index 0000000..c5fb58b --- /dev/null +++ b/internal/lint-configs/eslint-config/src/custom-config.ts @@ -0,0 +1,156 @@ +import type { Linter } from 'eslint'; + +const restrictedImportIgnores = [ + '**/vite.config.mts', + '**/tailwind.config.mjs', + '**/postcss.config.mjs', +]; + +const customConfig: Linter.Config[] = [ + // shadcn-ui 内部组件是自动生成的,不做太多限制 + { + files: ['packages/@core/ui-kit/shadcn-ui/**/**'], + rules: { + 'vue/require-default-prop': 'off', + }, + }, + { + files: [ + 'app/**', + 'packages/effects/**/**', + 'packages/utils/**/**', + 'packages/types/**/**', + 'packages/locales/**/**', + ], + ignores: restrictedImportIgnores, + rules: { + 'perfectionist/sort-interfaces': 'off', + 'perfectionist/sort-objects': 'off', + }, + }, + { + files: ['**/**.vue'], + ignores: restrictedImportIgnores, + rules: { + 'perfectionist/sort-objects': 'off', + }, + }, + { + // apps内部的一些基础规则 + files: ['app/**'], + ignores: restrictedImportIgnores, + rules: { + 'no-restricted-imports': [ + 'error', + { + patterns: [ + { + group: ['#/api/*'], + message: + 'The #/api package cannot be imported, please use the @core package itself', + }, + { + group: ['#/layouts/*'], + message: + 'The #/layouts package cannot be imported, please use the @core package itself', + }, + { + group: ['#/locales/*'], + message: + 'The #/locales package cannot be imported, please use the @core package itself', + }, + { + group: ['#/stores/*'], + message: + 'The #/stores package cannot be imported, please use the @core package itself', + }, + ], + }, + ], + 'perfectionist/sort-interfaces': 'off', + }, + }, + { + // @core内部组件,不能引入@aiflowy/* 里面的包 + files: ['packages/@core/**/**'], + ignores: restrictedImportIgnores, + rules: { + 'no-restricted-imports': [ + 'error', + { + patterns: [ + { + group: ['@aiflowy/*'], + message: + 'The @core package cannot import the @aiflowy package, please use the @core package itself', + }, + ], + }, + ], + }, + }, + { + // @core/shared内部组件,不能引入@aiflowy/* 或者 @aiflowy-core/* 里面的包 + files: ['packages/@core/base/**/**'], + ignores: restrictedImportIgnores, + rules: { + 'no-restricted-imports': [ + 'error', + { + patterns: [ + { + group: ['@aiflowy/*', '@aiflowy-core/*'], + message: + 'The @aiflowy-core/shared package cannot import the @aiflowy package, please use the @core/shared package itself', + }, + ], + }, + ], + }, + }, + + { + // 不能引入@aiflowy/*里面的包 + files: [ + 'packages/types/**/**', + 'packages/utils/**/**', + 'packages/icons/**/**', + 'packages/constants/**/**', + 'packages/styles/**/**', + 'packages/stores/**/**', + 'packages/preferences/**/**', + 'packages/locales/**/**', + ], + ignores: restrictedImportIgnores, + rules: { + 'no-restricted-imports': [ + 'error', + { + patterns: [ + { + group: ['@aiflowy/*'], + message: + 'The @aiflowy package cannot be imported, please use the @core package itself', + }, + ], + }, + ], + }, + }, + { + files: ['**/**/playwright.config.ts'], + rules: { + 'n/prefer-global/buffer': 'off', + 'n/prefer-global/process': 'off', + 'no-console': 'off', + }, + }, + { + files: ['internal/**/**', 'scripts/**/**'], + rules: { + 'no-console': 'off', + }, + }, +]; + +export { customConfig }; diff --git a/internal/lint-configs/eslint-config/src/index.ts b/internal/lint-configs/eslint-config/src/index.ts new file mode 100644 index 0000000..c9f08bd --- /dev/null +++ b/internal/lint-configs/eslint-config/src/index.ts @@ -0,0 +1,60 @@ +import type { Linter } from 'eslint'; + +import { + command, + comments, + disableds, + ignores, + importPluginConfig, + javascript, + jsdoc, + jsonc, + node, + perfectionist, + prettier, + regexp, + test, + turbo, + typescript, + unicorn, + vue, +} from './configs'; +import { customConfig } from './custom-config'; + +type FlatConfig = Linter.Config; + +type FlatConfigPromise = + | FlatConfig + | FlatConfig[] + | Promise + | Promise; + +async function defineConfig(config: FlatConfig[] = []) { + const configs: FlatConfigPromise[] = [ + vue(), + javascript(), + ignores(), + prettier(), + typescript(), + jsonc(), + disableds(), + importPluginConfig(), + node(), + perfectionist(), + comments(), + jsdoc(), + unicorn(), + test(), + regexp(), + command(), + turbo(), + ...customConfig, + ...config, + ]; + + const resolved = await Promise.all(configs); + + return resolved.flat(); +} + +export { defineConfig }; diff --git a/internal/lint-configs/eslint-config/src/util.ts b/internal/lint-configs/eslint-config/src/util.ts new file mode 100644 index 0000000..d1a10ad --- /dev/null +++ b/internal/lint-configs/eslint-config/src/util.ts @@ -0,0 +1,8 @@ +export type Awaitable = Promise | T; + +export async function interopDefault( + m: Awaitable, +): Promise { + const resolved = await m; + return (resolved as any).default || resolved; +} diff --git a/internal/lint-configs/eslint-config/tsconfig.json b/internal/lint-configs/eslint-config/tsconfig.json new file mode 100644 index 0000000..c12c7ab --- /dev/null +++ b/internal/lint-configs/eslint-config/tsconfig.json @@ -0,0 +1,6 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "extends": "@aiflowy/tsconfig/node.json", + "include": ["src"], + "exclude": ["node_modules"] +} diff --git a/internal/lint-configs/prettier-config/index.mjs b/internal/lint-configs/prettier-config/index.mjs new file mode 100644 index 0000000..f6a20c8 --- /dev/null +++ b/internal/lint-configs/prettier-config/index.mjs @@ -0,0 +1,18 @@ +export default { + endOfLine: 'auto', + overrides: [ + { + files: ['*.json5'], + options: { + quoteProps: 'preserve', + singleQuote: false, + }, + }, + ], + plugins: ['prettier-plugin-tailwindcss'], + printWidth: 80, + proseWrap: 'never', + semi: true, + singleQuote: true, + trailingComma: 'all', +}; diff --git a/internal/lint-configs/prettier-config/package.json b/internal/lint-configs/prettier-config/package.json new file mode 100644 index 0000000..1ec2d67 --- /dev/null +++ b/internal/lint-configs/prettier-config/package.json @@ -0,0 +1,28 @@ +{ + "name": "@aiflowy/prettier-config", + "version": "5.0.0", + "private": true, + "homepage": "https://github.com/aiflowy/aiflowy", + "bugs": "https://github.com/aiflowy/aiflowy/issues", + "repository": { + "type": "git", + "url": "git+https://github.com/aiflowy/aiflowy.git", + "directory": "internal/lint-configs/prettier-config" + }, + "license": "MIT", + "type": "module", + "files": [ + "dist" + ], + "main": "./index.mjs", + "module": "./index.mjs", + "exports": { + ".": { + "default": "./index.mjs" + } + }, + "dependencies": { + "prettier": "catalog:", + "prettier-plugin-tailwindcss": "catalog:" + } +} diff --git a/internal/lint-configs/stylelint-config/index.mjs b/internal/lint-configs/stylelint-config/index.mjs new file mode 100644 index 0000000..08ac823 --- /dev/null +++ b/internal/lint-configs/stylelint-config/index.mjs @@ -0,0 +1,141 @@ +export default { + extends: ['stylelint-config-standard', 'stylelint-config-recess-order'], + ignoreFiles: [ + '**/*.js', + '**/*.jsx', + '**/*.tsx', + '**/*.ts', + '**/*.json', + '**/*.md', + ], + overrides: [ + { + customSyntax: 'postcss-html', + files: ['*.(html|vue)', '**/*.(html|vue)'], + rules: { + 'selector-pseudo-class-no-unknown': [ + true, + { + ignorePseudoClasses: ['global', 'deep'], + }, + ], + 'selector-pseudo-element-no-unknown': [ + true, + { + ignorePseudoElements: ['v-deep', 'v-global', 'v-slotted'], + }, + ], + }, + }, + { + customSyntax: 'postcss-scss', + extends: [ + 'stylelint-config-recommended-scss', + 'stylelint-config-recommended-vue/scss', + ], + files: ['*.scss', '**/*.scss'], + }, + ], + plugins: [ + 'stylelint-order', + '@stylistic/stylelint-plugin', + 'stylelint-prettier', + 'stylelint-scss', + ], + rules: { + 'at-rule-no-deprecated': null, + 'at-rule-no-unknown': [ + true, + { + ignoreAtRules: [ + 'extends', + 'ignores', + 'include', + 'mixin', + 'if', + 'else', + 'media', + 'for', + 'at-root', + 'tailwind', + 'apply', + 'variants', + 'responsive', + 'screen', + 'function', + 'each', + 'use', + 'forward', + 'return', + ], + }, + ], + 'font-family-no-missing-generic-family-keyword': null, + 'function-no-unknown': null, + 'import-notation': null, + 'media-feature-range-notation': null, + 'named-grid-areas-no-invalid': null, + 'no-descending-specificity': null, + 'no-empty-source': null, + 'order/order': [ + [ + 'dollar-variables', + 'custom-properties', + 'at-rules', + 'declarations', + { + name: 'supports', + type: 'at-rule', + }, + { + name: 'media', + type: 'at-rule', + }, + { + name: 'include', + type: 'at-rule', + }, + 'rules', + ], + { severity: 'error' }, + ], + 'prettier/prettier': true, + 'rule-empty-line-before': [ + 'always', + { + ignore: ['after-comment', 'first-nested'], + }, + ], + 'scss/at-rule-no-unknown': [ + true, + { + ignoreAtRules: [ + 'extends', + 'ignores', + 'include', + 'mixin', + 'if', + 'else', + 'media', + 'for', + 'at-root', + 'tailwind', + 'apply', + 'variants', + 'responsive', + 'screen', + 'function', + 'each', + 'use', + 'forward', + 'return', + ], + }, + ], + 'scss/operator-no-newline-after': null, + 'selector-class-pattern': + '^(?:(?:o|c|u|t|s|is|has|_|js|qa)-)?[a-zA-Z0-9]+(?:-[a-zA-Z0-9]+)*(?:__[a-zA-Z0-9]+(?:-[a-zA-Z0-9]+)*)?(?:--[a-zA-Z0-9]+(?:-[a-zA-Z0-9]+)*)?(?:[.+])?$', + + 'selector-not-notation': null, + }, +}; diff --git a/internal/lint-configs/stylelint-config/package.json b/internal/lint-configs/stylelint-config/package.json new file mode 100644 index 0000000..eee0f64 --- /dev/null +++ b/internal/lint-configs/stylelint-config/package.json @@ -0,0 +1,43 @@ +{ + "name": "@aiflowy/stylelint-config", + "version": "1.0.0", + "private": true, + "homepage": "https://github.com/aiflowy/aiflowy", + "bugs": "https://github.com/aiflowy/aiflowy/issues", + "repository": { + "type": "git", + "url": "git+https://github.com/aiflowy/aiflowy.git", + "directory": "internal/lint-configs/stylelint-config" + }, + "license": "MIT", + "type": "module", + "files": [ + "dist" + ], + "main": "./index.mjs", + "module": "./index.mjs", + "exports": { + ".": { + "import": "./index.mjs", + "default": "./index.mjs" + } + }, + "dependencies": { + "@stylistic/stylelint-plugin": "catalog:", + "stylelint-config-recess-order": "catalog:", + "stylelint-scss": "catalog:" + }, + "devDependencies": { + "postcss": "catalog:", + "postcss-html": "catalog:", + "postcss-scss": "catalog:", + "prettier": "catalog:", + "stylelint": "catalog:", + "stylelint-config-recommended": "catalog:", + "stylelint-config-recommended-scss": "catalog:", + "stylelint-config-recommended-vue": "catalog:", + "stylelint-config-standard": "catalog:", + "stylelint-order": "catalog:", + "stylelint-prettier": "catalog:" + } +} diff --git a/internal/node-utils/build.config.ts b/internal/node-utils/build.config.ts new file mode 100644 index 0000000..97e572c --- /dev/null +++ b/internal/node-utils/build.config.ts @@ -0,0 +1,7 @@ +import { defineBuildConfig } from 'unbuild'; + +export default defineBuildConfig({ + clean: true, + declaration: true, + entries: ['src/index'], +}); diff --git a/internal/node-utils/package.json b/internal/node-utils/package.json new file mode 100644 index 0000000..303bd01 --- /dev/null +++ b/internal/node-utils/package.json @@ -0,0 +1,43 @@ +{ + "name": "@aiflowy/node-utils", + "version": "1.0.0", + "private": true, + "homepage": "https://github.com/aiflowy/aiflowy", + "bugs": "https://github.com/aiflowy/aiflowy/issues", + "repository": { + "type": "git", + "url": "git+https://github.com/aiflowy/aiflowy.git", + "directory": "internal/node-utils" + }, + "license": "MIT", + "type": "module", + "scripts": { + "stub": "pnpm unbuild --stub" + }, + "files": [ + "dist" + ], + "main": "./dist/index.mjs", + "module": "./dist/index.mjs", + "types": "./dist/index.d.ts", + "exports": { + ".": { + "types": "./src/index.ts", + "import": "./dist/index.mjs", + "default": "./dist/index.mjs" + } + }, + "dependencies": { + "@changesets/git": "catalog:", + "@manypkg/get-packages": "catalog:", + "chalk": "catalog:", + "consola": "catalog:", + "dayjs": "catalog:", + "execa": "catalog:", + "find-up": "catalog:", + "ora": "catalog:", + "pkg-types": "catalog:", + "prettier": "catalog:", + "rimraf": "catalog:" + } +} diff --git a/internal/node-utils/src/__tests__/hash.test.ts b/internal/node-utils/src/__tests__/hash.test.ts new file mode 100644 index 0000000..3851306 --- /dev/null +++ b/internal/node-utils/src/__tests__/hash.test.ts @@ -0,0 +1,52 @@ +import { createHash } from 'node:crypto'; + +import { describe, expect, it } from 'vitest'; + +import { generatorContentHash } from '../hash'; + +describe('generatorContentHash', () => { + it('should generate an MD5 hash for the content', () => { + const content = 'example content'; + const expectedHash = createHash('md5') + .update(content, 'utf8') + .digest('hex'); + const actualHash = generatorContentHash(content); + expect(actualHash).toBe(expectedHash); + }); + + it('should generate an MD5 hash with specified length', () => { + const content = 'example content'; + const hashLength = 10; + const generatedHash = generatorContentHash(content, hashLength); + expect(generatedHash).toHaveLength(hashLength); + }); + + it('should correctly generate the hash with specified length', () => { + const content = 'example content'; + const hashLength = 8; + const expectedHash = createHash('md5') + .update(content, 'utf8') + .digest('hex') + .slice(0, hashLength); + const generatedHash = generatorContentHash(content, hashLength); + expect(generatedHash).toBe(expectedHash); + }); + + it('should return full hash if hash length parameter is not provided', () => { + const content = 'example content'; + const expectedHash = createHash('md5') + .update(content, 'utf8') + .digest('hex'); + const actualHash = generatorContentHash(content); + expect(actualHash).toBe(expectedHash); + }); + + it('should handle empty content', () => { + const content = ''; + const expectedHash = createHash('md5') + .update(content, 'utf8') + .digest('hex'); + const actualHash = generatorContentHash(content); + expect(actualHash).toBe(expectedHash); + }); +}); diff --git a/internal/node-utils/src/__tests__/path.test.ts b/internal/node-utils/src/__tests__/path.test.ts new file mode 100644 index 0000000..3bab5a1 --- /dev/null +++ b/internal/node-utils/src/__tests__/path.test.ts @@ -0,0 +1,67 @@ +// pathUtils.test.ts + +import { describe, expect, it } from 'vitest'; + +import { toPosixPath } from '../path'; + +describe('toPosixPath', () => { + // 测试 Windows 风格路径到 POSIX 风格路径的转换 + it('converts Windows-style paths to POSIX paths', () => { + const windowsPath = String.raw`C:\Users\Example\file.txt`; + const expectedPosixPath = 'C:/Users/Example/file.txt'; + expect(toPosixPath(windowsPath)).toBe(expectedPosixPath); + }); + + // 确认 POSIX 风格路径不会被改变 + it('leaves POSIX-style paths unchanged', () => { + const posixPath = '/home/user/file.txt'; + expect(toPosixPath(posixPath)).toBe(posixPath); + }); + + // 测试带有多个分隔符的路径 + it('converts paths with mixed separators', () => { + const mixedPath = String.raw`C:/Users\Example\file.txt`; + const expectedPosixPath = 'C:/Users/Example/file.txt'; + expect(toPosixPath(mixedPath)).toBe(expectedPosixPath); + }); + + // 测试空字符串 + it('handles empty strings', () => { + const emptyPath = ''; + expect(toPosixPath(emptyPath)).toBe(''); + }); + + // 测试仅包含分隔符的路径 + it('handles path with only separators', () => { + const separatorsPath = '\\\\\\'; + const expectedPosixPath = '///'; + expect(toPosixPath(separatorsPath)).toBe(expectedPosixPath); + }); + + // 测试不包含任何分隔符的路径 + it('handles path without separators', () => { + const noSeparatorPath = 'file.txt'; + expect(toPosixPath(noSeparatorPath)).toBe('file.txt'); + }); + + // 测试以分隔符结尾的路径 + it('handles path ending with a separator', () => { + const endingSeparatorPath = 'C:\\Users\\Example\\'; + const expectedPosixPath = 'C:/Users/Example/'; + expect(toPosixPath(endingSeparatorPath)).toBe(expectedPosixPath); + }); + + // 测试以分隔符开头的路径 + it('handles path starting with a separator', () => { + const startingSeparatorPath = String.raw`\Users\Example`; + const expectedPosixPath = '/Users/Example'; + expect(toPosixPath(startingSeparatorPath)).toBe(expectedPosixPath); + }); + + // 测试包含非法字符的路径 + it('handles path with invalid characters', () => { + const invalidCharsPath = String.raw`C:\Us*?ers\Ex|file.txt`; + const expectedPosixPath = 'C:/Us*?ers/Ex|file.txt'; + expect(toPosixPath(invalidCharsPath)).toBe(expectedPosixPath); + }); +}); diff --git a/internal/node-utils/src/constants.ts b/internal/node-utils/src/constants.ts new file mode 100644 index 0000000..71d8a6c --- /dev/null +++ b/internal/node-utils/src/constants.ts @@ -0,0 +1,6 @@ +enum UNICODE { + FAILURE = '\u2716', // ✖ + SUCCESS = '\u2714', // ✔ +} + +export { UNICODE }; diff --git a/internal/node-utils/src/date.ts b/internal/node-utils/src/date.ts new file mode 100644 index 0000000..d36572d --- /dev/null +++ b/internal/node-utils/src/date.ts @@ -0,0 +1,12 @@ +import dayjs from 'dayjs'; +import timezone from 'dayjs/plugin/timezone'; +import utc from 'dayjs/plugin/utc'; + +dayjs.extend(utc); +dayjs.extend(timezone); + +dayjs.tz.setDefault('Asia/Shanghai'); + +const dateUtil = dayjs; + +export { dateUtil }; diff --git a/internal/node-utils/src/fs.ts b/internal/node-utils/src/fs.ts new file mode 100644 index 0000000..8eec357 --- /dev/null +++ b/internal/node-utils/src/fs.ts @@ -0,0 +1,39 @@ +import { promises as fs } from 'node:fs'; +import { dirname } from 'node:path'; + +export async function outputJSON( + filePath: string, + data: any, + spaces: number = 2, +) { + try { + const dir = dirname(filePath); + await fs.mkdir(dir, { recursive: true }); + const jsonData = JSON.stringify(data, null, spaces); + await fs.writeFile(filePath, jsonData, 'utf8'); + } catch (error) { + console.error('Error writing JSON file:', error); + throw error; + } +} + +export async function ensureFile(filePath: string) { + try { + const dir = dirname(filePath); + await fs.mkdir(dir, { recursive: true }); + await fs.writeFile(filePath, '', { flag: 'a' }); + } catch (error) { + console.error('Error ensuring file:', error); + throw error; + } +} + +export async function readJSON(filePath: string) { + try { + const data = await fs.readFile(filePath, 'utf8'); + return JSON.parse(data); + } catch (error) { + console.error('Error reading JSON file:', error); + throw error; + } +} diff --git a/internal/node-utils/src/git.ts b/internal/node-utils/src/git.ts new file mode 100644 index 0000000..88f159c --- /dev/null +++ b/internal/node-utils/src/git.ts @@ -0,0 +1,34 @@ +import path from 'node:path'; + +import { execa } from 'execa'; + +export * from '@changesets/git'; + +/** + * 获取暂存区文件 + */ +async function getStagedFiles(): Promise { + try { + const { stdout } = await execa('git', [ + '-c', + 'submodule.recurse=false', + 'diff', + '--staged', + '--diff-filter=ACMR', + '--name-only', + '--ignore-submodules', + '-z', + ]); + + let changedList = stdout ? stdout.replace(/\0$/, '').split('\0') : []; + changedList = changedList.map((item) => path.resolve(process.cwd(), item)); + const changedSet = new Set(changedList); + changedSet.delete(''); + return [...changedSet]; + } catch (error) { + console.error('Failed to get staged files:', error); + return []; + } +} + +export { getStagedFiles }; diff --git a/internal/node-utils/src/hash.ts b/internal/node-utils/src/hash.ts new file mode 100644 index 0000000..81f6b05 --- /dev/null +++ b/internal/node-utils/src/hash.ts @@ -0,0 +1,18 @@ +import { createHash } from 'node:crypto'; + +/** + * 生产基于内容的 hash,可自定义长度 + * @param content + * @param hashLSize + */ +function generatorContentHash(content: string, hashLSize?: number) { + const hash = createHash('md5').update(content, 'utf8').digest('hex'); + + if (hashLSize) { + return hash.slice(0, hashLSize); + } + + return hash; +} + +export { generatorContentHash }; diff --git a/internal/node-utils/src/index.ts b/internal/node-utils/src/index.ts new file mode 100644 index 0000000..963cb87 --- /dev/null +++ b/internal/node-utils/src/index.ts @@ -0,0 +1,19 @@ +export * from './constants'; +export * from './date'; +export * from './fs'; +export * from './git'; +export { getStagedFiles, add as gitAdd } from './git'; +export { generatorContentHash } from './hash'; +export * from './monorepo'; +export { toPosixPath } from './path'; +export { prettierFormat } from './prettier'; +export * from './spinner'; +export type { Package } from '@manypkg/get-packages'; +export { default as colors } from 'chalk'; +export { consola } from 'consola'; +export * from 'execa'; + +export { default as fs } from 'node:fs/promises'; + +export { type PackageJson, readPackageJSON } from 'pkg-types'; +export { rimraf } from 'rimraf'; diff --git a/internal/node-utils/src/monorepo.ts b/internal/node-utils/src/monorepo.ts new file mode 100644 index 0000000..b6373e7 --- /dev/null +++ b/internal/node-utils/src/monorepo.ts @@ -0,0 +1,46 @@ +import { dirname } from 'node:path'; + +import { + getPackages as getPackagesFunc, + getPackagesSync as getPackagesSyncFunc, +} from '@manypkg/get-packages'; +import { findUpSync } from 'find-up'; + +/** + * 查找大仓的根目录 + * @param cwd + */ +function findMonorepoRoot(cwd: string = process.cwd()) { + const lockFile = findUpSync('pnpm-lock.yaml', { + cwd, + type: 'file', + }); + return dirname(lockFile || ''); +} + +/** + * 获取大仓的所有包 + */ +function getPackagesSync() { + const root = findMonorepoRoot(); + return getPackagesSyncFunc(root); +} + +/** + * 获取大仓的所有包 + */ +async function getPackages() { + const root = findMonorepoRoot(); + + return await getPackagesFunc(root); +} + +/** + * 获取大仓指定的包 + */ +async function getPackage(pkgName: string) { + const { packages } = await getPackages(); + return packages.find((pkg) => pkg.packageJson.name === pkgName); +} + +export { findMonorepoRoot, getPackage, getPackages, getPackagesSync }; diff --git a/internal/node-utils/src/path.ts b/internal/node-utils/src/path.ts new file mode 100644 index 0000000..e625fd2 --- /dev/null +++ b/internal/node-utils/src/path.ts @@ -0,0 +1,11 @@ +import { posix } from 'node:path'; + +/** + * 将给定的文件路径转换为 POSIX 风格。 + * @param {string} pathname - 原始文件路径。 + */ +function toPosixPath(pathname: string) { + return pathname.split(`\\`).join(posix.sep); +} + +export { toPosixPath }; diff --git a/internal/node-utils/src/prettier.ts b/internal/node-utils/src/prettier.ts new file mode 100644 index 0000000..1e1525d --- /dev/null +++ b/internal/node-utils/src/prettier.ts @@ -0,0 +1,21 @@ +import fs from 'node:fs/promises'; + +import { format, getFileInfo, resolveConfig } from 'prettier'; + +async function prettierFormat(filepath: string) { + const prettierOptions = await resolveConfig(filepath, {}); + + const fileInfo = await getFileInfo(filepath); + + const input = await fs.readFile(filepath, 'utf8'); + const output = await format(input, { + ...prettierOptions, + parser: fileInfo.inferredParser as any, + }); + if (output !== input) { + await fs.writeFile(filepath, output, 'utf8'); + } + return output; +} + +export { prettierFormat }; diff --git a/internal/node-utils/src/spinner.ts b/internal/node-utils/src/spinner.ts new file mode 100644 index 0000000..13ad6a4 --- /dev/null +++ b/internal/node-utils/src/spinner.ts @@ -0,0 +1,26 @@ +import type { Ora } from 'ora'; + +import ora from 'ora'; + +interface SpinnerOptions { + failedText?: string; + successText?: string; + title: string; +} +export async function spinner( + { failedText, successText, title }: SpinnerOptions, + callback: () => Promise, +): Promise { + const loading: Ora = ora(title).start(); + + try { + const result = await callback(); + loading.succeed(successText || 'Success!'); + return result; + } catch (error) { + loading.fail(failedText || 'Failed!'); + throw error; + } finally { + loading.stop(); + } +} diff --git a/internal/node-utils/tsconfig.json b/internal/node-utils/tsconfig.json new file mode 100644 index 0000000..c12c7ab --- /dev/null +++ b/internal/node-utils/tsconfig.json @@ -0,0 +1,6 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "extends": "@aiflowy/tsconfig/node.json", + "include": ["src"], + "exclude": ["node_modules"] +} diff --git a/internal/tailwind-config/build.config.ts b/internal/tailwind-config/build.config.ts new file mode 100644 index 0000000..1f3c3c2 --- /dev/null +++ b/internal/tailwind-config/build.config.ts @@ -0,0 +1,10 @@ +import { defineBuildConfig } from 'unbuild'; + +export default defineBuildConfig({ + clean: true, + declaration: true, + entries: ['src/index', './src/postcss.config'], + rollup: { + emitCJS: true, + }, +}); diff --git a/internal/tailwind-config/package.json b/internal/tailwind-config/package.json new file mode 100644 index 0000000..df09976 --- /dev/null +++ b/internal/tailwind-config/package.json @@ -0,0 +1,66 @@ +{ + "name": "@aiflowy/tailwind-config", + "version": "1.0.0", + "private": true, + "homepage": "https://github.com/aiflowy/aiflowy", + "bugs": "https://github.com/aiflowy/aiflowy/issues", + "repository": { + "type": "git", + "url": "git+https://github.com/aiflowy/aiflowy.git", + "directory": "internal/tailwind-config" + }, + "license": "MIT", + "type": "module", + "scripts": { + "stub": "pnpm unbuild --stub" + }, + "files": [ + "dist" + ], + "main": "./dist/index.mjs", + "module": "./dist/index.mjs", + "types": "./dist/index.d.ts", + "typesVersions": { + "*": { + "*": [ + "./dist/*", + "./*" + ] + } + }, + "exports": { + ".": { + "types": "./src/index.ts", + "import": "./dist/index.mjs", + "require": "./dist/index.cjs" + }, + "./postcss": { + "types": "./src/postcss.config.ts", + "import": "./dist/postcss.config.mjs", + "require": "./dist/postcss.config.cjs", + "default": "./dist/postcss.config.mjs" + }, + "./*": "./*" + }, + "peerDependencies": { + "tailwindcss": "^3.4.3" + }, + "dependencies": { + "@iconify/json": "catalog:", + "@iconify/tailwind": "catalog:", + "@manypkg/get-packages": "catalog:", + "@tailwindcss/nesting": "catalog:", + "@tailwindcss/typography": "catalog:", + "autoprefixer": "catalog:", + "cssnano": "catalog:", + "postcss": "catalog:", + "postcss-antd-fixes": "catalog:", + "postcss-import": "catalog:", + "postcss-preset-env": "catalog:", + "tailwindcss": "catalog:", + "tailwindcss-animate": "catalog:" + }, + "devDependencies": { + "@types/postcss-import": "catalog:" + } +} diff --git a/internal/tailwind-config/src/index.ts b/internal/tailwind-config/src/index.ts new file mode 100644 index 0000000..c554ffd --- /dev/null +++ b/internal/tailwind-config/src/index.ts @@ -0,0 +1,266 @@ +import type { Config } from 'tailwindcss'; + +import path from 'node:path'; + +import { addDynamicIconSelectors } from '@iconify/tailwind'; +import { getPackagesSync } from '@manypkg/get-packages'; +import typographyPlugin from '@tailwindcss/typography'; +import animate from 'tailwindcss-animate'; + +import { enterAnimationPlugin } from './plugins/entry'; + +// import defaultTheme from 'tailwindcss/defaultTheme'; + +const { packages } = getPackagesSync(process.cwd()); + +const tailwindPackages: string[] = []; + +packages.forEach((pkg) => { + // apps目录下和 @aiflowy-core/tailwind-ui 包需要使用到 tailwindcss ui + // if (fs.existsSync(path.join(pkg.dir, 'tailwind.config.mjs'))) { + tailwindPackages.push(pkg.dir); + // } +}); + +const shadcnUiColors = { + accent: { + DEFAULT: 'hsl(var(--accent))', + foreground: 'hsl(var(--accent-foreground))', + hover: 'hsl(var(--accent-hover))', + lighter: 'has(val(--accent-lighter))', + }, + background: { + deep: 'hsl(var(--background-deep))', + DEFAULT: 'hsl(var(--background))', + }, + border: { + DEFAULT: 'hsl(var(--border))', + }, + card: { + DEFAULT: 'hsl(var(--card))', + foreground: 'hsl(var(--card-foreground))', + }, + destructive: { + ...createColorsPalette('destructive'), + DEFAULT: 'hsl(var(--destructive))', + }, + + foreground: { + DEFAULT: 'hsl(var(--foreground))', + }, + + input: { + background: 'hsl(var(--input-background))', + DEFAULT: 'hsl(var(--input))', + }, + muted: { + DEFAULT: 'hsl(var(--muted))', + foreground: 'hsl(var(--muted-foreground))', + }, + popover: { + DEFAULT: 'hsl(var(--popover))', + foreground: 'hsl(var(--popover-foreground))', + }, + primary: { + ...createColorsPalette('primary'), + DEFAULT: 'hsl(var(--primary))', + }, + + ring: 'hsl(var(--ring))', + secondary: { + DEFAULT: 'hsl(var(--secondary))', + desc: 'hsl(var(--secondary-desc))', + foreground: 'hsl(var(--secondary-foreground))', + }, +}; + +const customColors = { + green: { + ...createColorsPalette('green'), + foreground: 'hsl(var(--success-foreground))', + }, + header: { + DEFAULT: 'hsl(var(--header))', + }, + heavy: { + DEFAULT: 'hsl(var(--heavy))', + foreground: 'hsl(var(--heavy-foreground))', + }, + main: { + DEFAULT: 'hsl(var(--main))', + }, + overlay: { + content: 'hsl(var(--overlay-content))', + DEFAULT: 'hsl(var(--overlay))', + }, + red: { + ...createColorsPalette('red'), + foreground: 'hsl(var(--destructive-foreground))', + }, + sidebar: { + deep: 'hsl(var(--sidebar-deep))', + DEFAULT: 'hsl(var(--sidebar))', + }, + success: { + ...createColorsPalette('success'), + DEFAULT: 'hsl(var(--success))', + }, + warning: { + ...createColorsPalette('warning'), + DEFAULT: 'hsl(var(--warning))', + }, + yellow: { + ...createColorsPalette('yellow'), + foreground: 'hsl(var(--warning-foreground))', + }, +}; + +export default { + content: [ + './index.html', + ...tailwindPackages.map((item) => + path.join(item, 'src/**/*.{vue,js,ts,jsx,tsx,svelte,astro,html}'), + ), + ], + darkMode: 'selector', + plugins: [ + animate, + typographyPlugin, + addDynamicIconSelectors(), + enterAnimationPlugin, + ], + prefix: '', + theme: { + container: { + center: true, + padding: '2rem', + screens: { + '2xl': '1400px', + }, + }, + extend: { + animation: { + 'accordion-down': 'accordion-down 0.2s ease-out', + 'accordion-up': 'accordion-up 0.2s ease-out', + 'collapsible-down': 'collapsible-down 0.2s ease-in-out', + 'collapsible-up': 'collapsible-up 0.2s ease-in-out', + float: 'float 5s linear 0ms infinite', + }, + + animationDuration: { + '2000': '2000ms', + '3000': '3000ms', + }, + borderRadius: { + lg: 'var(--radius)', + md: 'calc(var(--radius) - 2px)', + sm: 'calc(var(--radius) - 4px)', + xl: 'calc(var(--radius) + 4px)', + }, + boxShadow: { + float: `0 6px 16px 0 rgb(0 0 0 / 8%), + 0 3px 6px -4px rgb(0 0 0 / 12%), + 0 9px 28px 8px rgb(0 0 0 / 5%)`, + }, + colors: { + ...customColors, + ...shadcnUiColors, + }, + fontFamily: { + sans: [ + 'var(--font-family)', + // ...defaultTheme.fontFamily.sans + ], + }, + keyframes: { + 'accordion-down': { + from: { height: '0' }, + to: { height: 'var(--reka-accordion-content-height)' }, + }, + 'accordion-up': { + from: { height: 'var(--reka-accordion-content-height)' }, + to: { height: '0' }, + }, + 'collapsible-down': { + from: { height: '0' }, + to: { height: 'var(--reka-collapsible-content-height)' }, + }, + 'collapsible-up': { + from: { height: 'var(--reka-collapsible-content-height)' }, + to: { height: '0' }, + }, + float: { + '0%': { transform: 'translateY(0)' }, + '50%': { transform: 'translateY(-20px)' }, + '100%': { transform: 'translateY(0)' }, + }, + }, + zIndex: { + '100': '100', + '1000': '1000', + }, + }, + }, + safelist: ['dark'], +} as Config; + +function createColorsPalette(name: string) { + // backgroundLightest: '#EFF6FF', // Tailwind CSS 默认的 `blue-50` + // backgroundLighter: '#DBEAFE', // Tailwind CSS 默认的 `blue-100` + // backgroundLight: '#BFDBFE', // Tailwind CSS 默认的 `blue-200` + // borderLight: '#93C5FD', // Tailwind CSS 默认的 `blue-300` + // border: '#60A5FA', // Tailwind CSS 默认的 `blue-400` + // main: '#3B82F6', // Tailwind CSS 默认的 `blue-500` + // hover: '#2563EB', // Tailwind CSS 默认的 `blue-600` + // active: '#1D4ED8', // Tailwind CSS 默认的 `blue-700` + // backgroundDark: '#1E40AF', // Tailwind CSS 默认的 `blue-800` + // backgroundDarker: '#1E3A8A', // Tailwind CSS 默认的 `blue-900` + // backgroundDarkest: '#172554', // Tailwind CSS 默认的 `blue-950` + + // • backgroundLightest (#EFF6FF): 适用于最浅的背景色,可能用于非常轻微的阴影或卡片的背景。 + // • backgroundLighter (#DBEAFE): 适用于略浅的背景色,通常用于次要背景或略浅的区域。 + // • backgroundLight (#BFDBFE): 适用于浅色背景,可能用于输入框或表单区域的背景。 + // • borderLight (#93C5FD): 适用于浅色边框,可能用于输入框或卡片的边框。 + // • border (#60A5FA): 适用于普通边框,可能用于按钮或卡片的边框。 + // • main (#3B82F6): 适用于主要的主题色,通常用于按钮、链接或主要的强调色。 + // • hover (#2563EB): 适用于鼠标悬停状态下的颜色,例如按钮悬停时的背景色或边框色。 + // • active (#1D4ED8): 适用于激活状态下的颜色,例如按钮按下时的背景色或边框色。 + // • backgroundDark (#1E40AF): 适用于深色背景,可能用于主要按钮或深色卡片背景。 + // • backgroundDarker (#1E3A8A): 适用于更深的背景,通常用于头部导航栏或页脚。 + // • backgroundDarkest (#172554): 适用于最深的背景,可能用于非常深色的区域或极端对比色。 + + return { + 50: `hsl(var(--${name}-50))`, + 100: `hsl(var(--${name}-100))`, + 200: `hsl(var(--${name}-200))`, + 300: `hsl(var(--${name}-300))`, + 400: `hsl(var(--${name}-400))`, + 500: `hsl(var(--${name}-500))`, + 600: `hsl(var(--${name}-600))`, + 700: `hsl(var(--${name}-700))`, + // 800: `hsl(var(--${name}-800))`, + // 900: `hsl(var(--${name}-900))`, + // 950: `hsl(var(--${name}-950))`, + // 激活状态下的颜色,适用于按钮按下时的背景色或边框色。 + active: `hsl(var(--${name}-700))`, + // 浅色背景,适用于输入框或表单区域的背景。 + 'background-light': `hsl(var(--${name}-200))`, + // 适用于略浅的背景色,通常用于次要背景或略浅的区域。 + 'background-lighter': `hsl(var(--${name}-100))`, + // 最浅的背景色,适用于非常轻微的阴影或卡片的背景。 + 'background-lightest': `hsl(var(--${name}-50))`, + // 适用于普通边框,可能用于按钮或卡片的边框。 + border: `hsl(var(--${name}-400))`, + // 浅色边框,适用于输入框或卡片的边框。 + 'border-light': `hsl(var(--${name}-300))`, + foreground: `hsl(var(--${name}-foreground))`, + // 鼠标悬停状态下的颜色,适用于按钮悬停时的背景色或边框色。 + hover: `hsl(var(--${name}-600))`, + // 主色文本 + text: `hsl(var(--${name}-500))`, + // 主色文本激活态 + 'text-active': `hsl(var(--${name}-700))`, + // 主色文本悬浮态 + 'text-hover': `hsl(var(--${name}-600))`, + }; +} diff --git a/internal/tailwind-config/src/module.d.ts b/internal/tailwind-config/src/module.d.ts new file mode 100644 index 0000000..a399653 --- /dev/null +++ b/internal/tailwind-config/src/module.d.ts @@ -0,0 +1,3 @@ +declare module '@tailwindcss/nesting' { + export default any; +} diff --git a/internal/tailwind-config/src/plugins/entry.ts b/internal/tailwind-config/src/plugins/entry.ts new file mode 100644 index 0000000..0d8e8ec --- /dev/null +++ b/internal/tailwind-config/src/plugins/entry.ts @@ -0,0 +1,53 @@ +import plugin from 'tailwindcss/plugin.js'; + +const enterAnimationPlugin = plugin(({ addUtilities }) => { + const maxChild = 5; + const utilities: Record = {}; + for (let i = 1; i <= maxChild; i++) { + const baseDelay = 0.1; + const delay = `${baseDelay * i}s`; + + utilities[`.enter-x:nth-child(${i})`] = { + animation: `enter-x-animation 0.3s ease-in-out ${delay} forwards`, + opacity: '0', + transform: `translateX(50px)`, + }; + + utilities[`.enter-y:nth-child(${i})`] = { + animation: `enter-y-animation 0.3s ease-in-out ${delay} forwards`, + opacity: '0', + transform: `translateY(50px)`, + }; + + utilities[`.-enter-x:nth-child(${i})`] = { + animation: `enter-x-animation 0.3s ease-in-out ${delay} forwards`, + opacity: '0', + transform: `translateX(-50px)`, + }; + + utilities[`.-enter-y:nth-child(${i})`] = { + animation: `enter-y-animation 0.3s ease-in-out ${delay} forwards`, + opacity: '0', + transform: `translateY(-50px)`, + }; + } + + // 添加动画关键帧 + addUtilities(utilities); + addUtilities({ + '@keyframes enter-x-animation': { + to: { + opacity: '1', + transform: 'translateX(0)', + }, + }, + '@keyframes enter-y-animation': { + to: { + opacity: '1', + transform: 'translateY(0)', + }, + }, + }); +}); + +export { enterAnimationPlugin }; diff --git a/internal/tailwind-config/src/postcss.config.ts b/internal/tailwind-config/src/postcss.config.ts new file mode 100644 index 0000000..43b30b3 --- /dev/null +++ b/internal/tailwind-config/src/postcss.config.ts @@ -0,0 +1,15 @@ +import config from '.'; + +export default { + plugins: { + ...(process.env.NODE_ENV === 'production' ? { cssnano: {} } : {}), + // Specifying the config is not necessary in most cases, but it is included + autoprefixer: {}, + // 修复 element-plus 和 ant-design-vue 的样式和tailwindcss冲突问题 + 'postcss-antd-fixes': { prefixes: ['ant', 'el'] }, + 'postcss-import': {}, + 'postcss-preset-env': {}, + tailwindcss: { config }, + 'tailwindcss/nesting': {}, + }, +}; diff --git a/internal/tailwind-config/tsconfig.json b/internal/tailwind-config/tsconfig.json new file mode 100644 index 0000000..9b3ffb9 --- /dev/null +++ b/internal/tailwind-config/tsconfig.json @@ -0,0 +1,9 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "extends": "@aiflowy/tsconfig/node.json", + "compilerOptions": { + "moduleResolution": "bundler" + }, + "include": ["src"], + "exclude": ["node_modules"] +} diff --git a/internal/tsconfig/base.json b/internal/tsconfig/base.json new file mode 100644 index 0000000..1e45a78 --- /dev/null +++ b/internal/tsconfig/base.json @@ -0,0 +1,40 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "display": "Base", + "compilerOptions": { + "composite": false, + "target": "ESNext", + + "moduleDetection": "force", + "experimentalDecorators": true, + + "baseUrl": ".", + "module": "ESNext", + + "moduleResolution": "node", + "resolveJsonModule": true, + + "strict": true, + "strictNullChecks": true, + "noFallthroughCasesInSwitch": true, + "noImplicitAny": true, + "noImplicitOverride": true, + "noImplicitThis": true, + "noUncheckedIndexedAccess": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + + "inlineSources": false, + "noEmit": true, + "removeComments": true, + "sourceMap": false, + "allowSyntheticDefaultImports": true, + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "isolatedModules": true, + "verbatimModuleSyntax": true, + "skipLibCheck": true, + "preserveWatchOutput": true + }, + "exclude": ["**/node_modules/**", "**/dist/**", "**/.turbo/**"] +} diff --git a/internal/tsconfig/library.json b/internal/tsconfig/library.json new file mode 100644 index 0000000..7a976f0 --- /dev/null +++ b/internal/tsconfig/library.json @@ -0,0 +1,13 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "display": "Web Application", + "extends": "./base.json", + "compilerOptions": { + "jsx": "preserve", + "lib": ["ESNext", "DOM", "DOM.Iterable"], + "useDefineForClassFields": true, + "moduleResolution": "bundler", + "declaration": true, + "noEmit": false + } +} diff --git a/internal/tsconfig/node.json b/internal/tsconfig/node.json new file mode 100644 index 0000000..31ce8f1 --- /dev/null +++ b/internal/tsconfig/node.json @@ -0,0 +1,12 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "display": "Node Config", + "extends": "./base.json", + "compilerOptions": { + "composite": false, + "lib": ["ESNext"], + "baseUrl": "./", + "types": ["node"], + "noImplicitAny": true + } +} diff --git a/internal/tsconfig/package.json b/internal/tsconfig/package.json new file mode 100644 index 0000000..76a538a --- /dev/null +++ b/internal/tsconfig/package.json @@ -0,0 +1,25 @@ +{ + "name": "@aiflowy/tsconfig", + "version": "1.0.0", + "private": true, + "homepage": "https://github.com/aiflowy/aiflowy", + "bugs": "https://github.com/aiflowy/aiflowy/issues", + "repository": { + "type": "git", + "url": "git+https://github.com/aiflowy/aiflowy.git", + "directory": "internal/tsconfig" + }, + "license": "MIT", + "type": "module", + "files": [ + "base.json", + "library.json", + "node.json", + "web-app.json", + "web.json" + ], + "dependencies": { + "@aiflowy/types": "workspace:*", + "vite": "catalog:" + } +} diff --git a/internal/tsconfig/web-app.json b/internal/tsconfig/web-app.json new file mode 100644 index 0000000..e65e65e --- /dev/null +++ b/internal/tsconfig/web-app.json @@ -0,0 +1,8 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "display": "Web Application", + "extends": "./web.json", + "compilerOptions": { + "types": ["vite/client", "@aiflowy/types/global"] + } +} diff --git a/internal/tsconfig/web.json b/internal/tsconfig/web.json new file mode 100644 index 0000000..a4b60ce --- /dev/null +++ b/internal/tsconfig/web.json @@ -0,0 +1,14 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "display": "Web Package", + "extends": "./base.json", + "compilerOptions": { + "jsx": "preserve", + "jsxImportSource": "vue", + "lib": ["ESNext", "DOM", "DOM.Iterable"], + "useDefineForClassFields": true, + "moduleResolution": "bundler", + "types": ["vite/client"], + "declaration": false + } +} diff --git a/internal/vite-config/build.config.ts b/internal/vite-config/build.config.ts new file mode 100644 index 0000000..97e572c --- /dev/null +++ b/internal/vite-config/build.config.ts @@ -0,0 +1,7 @@ +import { defineBuildConfig } from 'unbuild'; + +export default defineBuildConfig({ + clean: true, + declaration: true, + entries: ['src/index'], +}); diff --git a/internal/vite-config/package.json b/internal/vite-config/package.json new file mode 100644 index 0000000..5771731 --- /dev/null +++ b/internal/vite-config/package.json @@ -0,0 +1,59 @@ +{ + "name": "@aiflowy/vite-config", + "version": "1.0.0", + "private": true, + "homepage": "https://github.com/aiflowy/aiflowy", + "bugs": "https://github.com/aiflowy/aiflowy/issues", + "repository": { + "type": "git", + "url": "git+https://github.com/aiflowy/aiflowy.git", + "directory": "internal/vite-config" + }, + "license": "MIT", + "type": "module", + "scripts": { + "stub": "pnpm unbuild --stub" + }, + "files": [ + "dist" + ], + "main": "./dist/index.mjs", + "module": "./dist/index.mjs", + "types": "./dist/index.d.ts", + "exports": { + ".": { + "types": "./src/index.ts", + "default": "./dist/index.mjs" + } + }, + "dependencies": { + "@intlify/unplugin-vue-i18n": "catalog:", + "@jspm/generator": "catalog:", + "archiver": "catalog:", + "cheerio": "catalog:", + "get-port": "catalog:", + "html-minifier-terser": "catalog:", + "nitropack": "catalog:", + "resolve.exports": "catalog:", + "vite-plugin-pwa": "catalog:", + "vite-plugin-vue-devtools": "catalog:" + }, + "devDependencies": { + "@pnpm/workspace.read-manifest": "catalog:", + "@types/archiver": "catalog:", + "@types/html-minifier-terser": "catalog:", + "@aiflowy/node-utils": "workspace:*", + "@vitejs/plugin-vue": "catalog:", + "@vitejs/plugin-vue-jsx": "catalog:", + "dayjs": "catalog:", + "dotenv": "catalog:", + "rollup": "catalog:", + "rollup-plugin-visualizer": "catalog:", + "sass": "catalog:", + "vite": "catalog:", + "vite-plugin-compression": "catalog:", + "vite-plugin-dts": "catalog:", + "vite-plugin-html": "catalog:", + "vite-plugin-lazy-import": "catalog:" + } +} diff --git a/internal/vite-config/src/config/application.ts b/internal/vite-config/src/config/application.ts new file mode 100644 index 0000000..2a861d6 --- /dev/null +++ b/internal/vite-config/src/config/application.ts @@ -0,0 +1,125 @@ +import type { CSSOptions, UserConfig } from 'vite'; + +import type { DefineApplicationOptions } from '../typing'; + +import path, { relative } from 'node:path'; + +import { findMonorepoRoot } from '@aiflowy/node-utils'; + +import { NodePackageImporter } from 'sass'; +import { defineConfig, loadEnv, mergeConfig } from 'vite'; + +import { defaultImportmapOptions, getDefaultPwaOptions } from '../options'; +import { loadApplicationPlugins } from '../plugins'; +import { loadAndConvertEnv } from '../utils/env'; +import { getCommonConfig } from './common'; + +function defineApplicationConfig(userConfigPromise?: DefineApplicationOptions) { + return defineConfig(async (config) => { + const options = await userConfigPromise?.(config); + const { appTitle, base, port, ...envConfig } = await loadAndConvertEnv(); + const { command, mode } = config; + const { application = {}, vite = {} } = options || {}; + const root = process.cwd(); + const isBuild = command === 'build'; + const env = loadEnv(mode, root); + + const plugins = await loadApplicationPlugins({ + archiver: true, + archiverPluginOptions: {}, + compress: false, + compressTypes: ['brotli', 'gzip'], + devtools: true, + env, + extraAppConfig: true, + html: true, + i18n: true, + importmapOptions: defaultImportmapOptions, + injectAppLoading: true, + injectMetadata: true, + isBuild, + license: true, + mode, + nitroMock: !isBuild, + nitroMockOptions: {}, + print: !isBuild, + printInfoMap: { + 'AIFlowy Docs': 'https://aiflowy.tech', + }, + pwa: true, + pwaOptions: getDefaultPwaOptions(appTitle), + vxeTableLazyImport: true, + ...envConfig, + ...application, + }); + + const { injectGlobalScss = true } = application; + + const applicationConfig: UserConfig = { + base, + build: { + rollupOptions: { + output: { + assetFileNames: '[ext]/[name]-[hash].[ext]', + chunkFileNames: 'js/[name]-[hash].js', + entryFileNames: 'jse/index-[name]-[hash].js', + }, + }, + target: 'es2015', + }, + css: createCssOptions(injectGlobalScss), + esbuild: { + drop: isBuild + ? [ + // 'console', + 'debugger', + ] + : [], + legalComments: 'none', + }, + plugins, + server: { + host: true, + port, + warmup: { + // 预热文件 + clientFiles: [ + './index.html', + './src/bootstrap.ts', + './src/{views,layouts,router,store,api,adapter}/*', + ], + }, + }, + }; + + const mergedCommonConfig = mergeConfig( + await getCommonConfig(), + applicationConfig, + ); + return mergeConfig(mergedCommonConfig, vite); + }); +} + +function createCssOptions(injectGlobalScss = true): CSSOptions { + const root = findMonorepoRoot(); + return { + preprocessorOptions: injectGlobalScss + ? { + scss: { + additionalData: (content: string, filepath: string) => { + const relativePath = relative(root, filepath); + // apps下的包注入全局样式 + if (relativePath.startsWith(`apps${path.sep}`)) { + return `@use "@aiflowy/styles/global" as *;\n${content}`; + } + return content; + }, + api: 'modern', + importers: [new NodePackageImporter()], + }, + } + : {}, + }; +} + +export { defineApplicationConfig }; diff --git a/internal/vite-config/src/config/common.ts b/internal/vite-config/src/config/common.ts new file mode 100644 index 0000000..653f210 --- /dev/null +++ b/internal/vite-config/src/config/common.ts @@ -0,0 +1,13 @@ +import type { UserConfig } from 'vite'; + +async function getCommonConfig(): Promise { + return { + build: { + chunkSizeWarningLimit: 2000, + reportCompressedSize: false, + sourcemap: false, + }, + }; +} + +export { getCommonConfig }; diff --git a/internal/vite-config/src/config/index.ts b/internal/vite-config/src/config/index.ts new file mode 100644 index 0000000..d04a84a --- /dev/null +++ b/internal/vite-config/src/config/index.ts @@ -0,0 +1,37 @@ +import type { DefineConfig } from '../typing'; + +import { existsSync } from 'node:fs'; +import { join } from 'node:path'; + +import { defineApplicationConfig } from './application'; +import { defineLibraryConfig } from './library'; + +export * from './application'; +export * from './library'; + +function defineConfig( + userConfigPromise?: DefineConfig, + type: 'application' | 'auto' | 'library' = 'auto', +) { + let projectType = type; + + // 根据包是否存在 index.html,自动判断类型 + if (projectType === 'auto') { + const htmlPath = join(process.cwd(), 'index.html'); + projectType = existsSync(htmlPath) ? 'application' : 'library'; + } + + switch (projectType) { + case 'application': { + return defineApplicationConfig(userConfigPromise); + } + case 'library': { + return defineLibraryConfig(userConfigPromise); + } + default: { + throw new Error(`Unsupported project type: ${projectType}`); + } + } +} + +export { defineConfig }; diff --git a/internal/vite-config/src/config/library.ts b/internal/vite-config/src/config/library.ts new file mode 100644 index 0000000..3522b98 --- /dev/null +++ b/internal/vite-config/src/config/library.ts @@ -0,0 +1,59 @@ +import type { ConfigEnv, UserConfig } from 'vite'; + +import type { DefineLibraryOptions } from '../typing'; + +import { readPackageJSON } from '@aiflowy/node-utils'; + +import { defineConfig, mergeConfig } from 'vite'; + +import { loadLibraryPlugins } from '../plugins'; +import { getCommonConfig } from './common'; + +function defineLibraryConfig(userConfigPromise?: DefineLibraryOptions) { + return defineConfig(async (config: ConfigEnv) => { + const options = await userConfigPromise?.(config); + const { command, mode } = config; + const { library = {}, vite = {} } = options || {}; + const root = process.cwd(); + const isBuild = command === 'build'; + + const plugins = await loadLibraryPlugins({ + dts: false, + injectMetadata: true, + isBuild, + mode, + ...library, + }); + + const { dependencies = {}, peerDependencies = {} } = + await readPackageJSON(root); + + const externalPackages = [ + ...Object.keys(dependencies), + ...Object.keys(peerDependencies), + ]; + + const packageConfig: UserConfig = { + build: { + lib: { + entry: 'src/index.ts', + fileName: () => 'index.mjs', + formats: ['es'], + }, + rollupOptions: { + external: (id) => { + return externalPackages.some( + (pkg) => id === pkg || id.startsWith(`${pkg}/`), + ); + }, + }, + }, + plugins, + }; + const commonConfig = await getCommonConfig(); + const mergedConmonConfig = mergeConfig(commonConfig, packageConfig); + return mergeConfig(mergedConmonConfig, vite); + }); +} + +export { defineLibraryConfig }; diff --git a/internal/vite-config/src/index.ts b/internal/vite-config/src/index.ts new file mode 100644 index 0000000..352a323 --- /dev/null +++ b/internal/vite-config/src/index.ts @@ -0,0 +1,4 @@ +export * from './config'; +export * from './options'; +export * from './plugins'; +export { loadAndConvertEnv } from './utils/env'; diff --git a/internal/vite-config/src/options.ts b/internal/vite-config/src/options.ts new file mode 100644 index 0000000..af1d648 --- /dev/null +++ b/internal/vite-config/src/options.ts @@ -0,0 +1,45 @@ +import type { Options as PwaPluginOptions } from 'vite-plugin-pwa'; + +import type { ImportmapPluginOptions } from './typing'; + +const isDevelopment = process.env.NODE_ENV === 'development'; + +const getDefaultPwaOptions = (name: string): Partial => ({ + manifest: { + description: + 'AIFlowy Admin is a modern admin dashboard template based on Vue 3. ', + icons: [ + { + sizes: '192x192', + src: 'https://unpkg.com/@aiflowy/static-source@0.1.7/source/pwa-icon-192.png', + type: 'image/png', + }, + { + sizes: '512x512', + src: 'https://unpkg.com/@aiflowy/static-source@0.1.7/source/pwa-icon-512.png', + type: 'image/png', + }, + ], + name: `${name}${isDevelopment ? ' dev' : ''}`, + short_name: `${name}${isDevelopment ? ' dev' : ''}`, + }, +}); + +/** + * importmap CDN 暂时不开启,因为有些包不支持,且网络不稳定 + */ +const defaultImportmapOptions: ImportmapPluginOptions = { + // 通过 Importmap CDN 方式引入, + // 目前只有esm.sh源兼容性好一点,jspm.io对于 esm 入口要求高 + defaultProvider: 'esm.sh', + importmap: [ + { name: 'vue' }, + { name: 'pinia' }, + { name: 'vue-router' }, + // { name: 'vue-i18n' }, + { name: 'dayjs' }, + { name: 'vue-demi' }, + ], +}; + +export { defaultImportmapOptions, getDefaultPwaOptions }; diff --git a/internal/vite-config/src/plugins/archiver.ts b/internal/vite-config/src/plugins/archiver.ts new file mode 100644 index 0000000..8eec8a0 --- /dev/null +++ b/internal/vite-config/src/plugins/archiver.ts @@ -0,0 +1,75 @@ +import type { PluginOption } from 'vite'; + +import type { ArchiverPluginOptions } from '../typing'; + +import fs from 'node:fs'; +import fsp from 'node:fs/promises'; +import { join } from 'node:path'; + +import archiver from 'archiver'; + +export const viteArchiverPlugin = ( + options: ArchiverPluginOptions = {}, +): PluginOption => { + return { + apply: 'build', + closeBundle: { + handler() { + const { name = 'dist', outputDir = '.' } = options; + + setTimeout(async () => { + const folderToZip = 'dist'; + + const zipOutputDir = join(process.cwd(), outputDir); + const zipOutputPath = join(zipOutputDir, `${name}.zip`); + try { + await fsp.mkdir(zipOutputDir, { recursive: true }); + } catch { + // ignore + } + + try { + await zipFolder(folderToZip, zipOutputPath); + console.log(`Folder has been zipped to: ${zipOutputPath}`); + } catch (error) { + console.error('Error zipping folder:', error); + } + }, 0); + }, + order: 'post', + }, + enforce: 'post', + name: 'vite:archiver', + }; +}; + +async function zipFolder( + folderPath: string, + outputPath: string, +): Promise { + return new Promise((resolve, reject) => { + const output = fs.createWriteStream(outputPath); + const archive = archiver('zip', { + zlib: { level: 9 }, // 设置压缩级别为 9 以实现最高压缩率 + }); + + output.on('close', () => { + console.log( + `ZIP file created: ${outputPath} (${archive.pointer()} total bytes)`, + ); + resolve(); + }); + + archive.on('error', (err) => { + reject(err); + }); + + archive.pipe(output); + + // 使用 directory 方法以流的方式压缩文件夹,减少内存消耗 + archive.directory(folderPath, false); + + // 流式处理完成 + archive.finalize(); + }); +} diff --git a/internal/vite-config/src/plugins/extra-app-config.ts b/internal/vite-config/src/plugins/extra-app-config.ts new file mode 100644 index 0000000..00007ba --- /dev/null +++ b/internal/vite-config/src/plugins/extra-app-config.ts @@ -0,0 +1,92 @@ +import type { PluginOption } from 'vite'; + +import { + colors, + generatorContentHash, + readPackageJSON, +} from '@aiflowy/node-utils'; + +import { loadEnv } from '../utils/env'; + +interface PluginOptions { + isBuild: boolean; + root: string; +} + +const GLOBAL_CONFIG_FILE_NAME = '_app.config.js'; +const APP_ADMIN_PRO_APP_CONF = '_APP_ADMIN_PRO_APP_CONF_'; + +/** + * 用于将配置文件抽离出来并注入到项目中 + * @returns + */ + +async function viteExtraAppConfigPlugin({ + isBuild, + root, +}: PluginOptions): Promise { + let publicPath: string; + let source: string; + + if (!isBuild) { + return; + } + + const { version = '' } = await readPackageJSON(root); + + return { + async configResolved(config) { + publicPath = ensureTrailingSlash(config.base); + source = await getConfigSource(); + }, + async generateBundle() { + try { + this.emitFile({ + fileName: GLOBAL_CONFIG_FILE_NAME, + source, + type: 'asset', + }); + + console.log(colors.cyan(`✨configuration file is build successfully!`)); + } catch (error) { + console.log( + colors.red( + `configuration file configuration file failed to package:\n${error}`, + ), + ); + } + }, + name: 'vite:extra-app-config', + async transformIndexHtml(html) { + const hash = `v=${version}-${generatorContentHash(source, 8)}`; + + const appConfigSrc = `${publicPath}${GLOBAL_CONFIG_FILE_NAME}?${hash}`; + + return { + html, + tags: [{ attrs: { src: appConfigSrc }, tag: 'script' }], + }; + }, + }; +} + +async function getConfigSource() { + const config = await loadEnv(); + const windowVariable = `window.${APP_ADMIN_PRO_APP_CONF}`; + // 确保变量不会被修改 + let source = `${windowVariable}=${JSON.stringify(config)};`; + source += ` + Object.freeze(${windowVariable}); + Object.defineProperty(window, "${APP_ADMIN_PRO_APP_CONF}", { + configurable: false, + writable: false, + }); + `.replaceAll(/\s/g, ''); + return source; +} + +function ensureTrailingSlash(path: string) { + return path.endsWith('/') ? path : `${path}/`; +} + +export { viteExtraAppConfigPlugin }; diff --git a/internal/vite-config/src/plugins/importmap.ts b/internal/vite-config/src/plugins/importmap.ts new file mode 100644 index 0000000..0ccda99 --- /dev/null +++ b/internal/vite-config/src/plugins/importmap.ts @@ -0,0 +1,245 @@ +/** + * 参考 https://github.com/jspm/vite-plugin-jspm,调整为需要的功能 + */ +import type { GeneratorOptions } from '@jspm/generator'; +import type { Plugin } from 'vite'; + +import { Generator } from '@jspm/generator'; +import { load } from 'cheerio'; +import { minify } from 'html-minifier-terser'; + +const DEFAULT_PROVIDER = 'jspm.io'; + +type pluginOptions = GeneratorOptions & { + debug?: boolean; + defaultProvider?: 'esm.sh' | 'jsdelivr' | 'jspm.io'; + importmap?: Array<{ name: string; range?: string }>; +}; + +// async function getLatestVersionOfShims() { +// const result = await fetch('https://ga.jspm.io/npm:es-module-shims'); +// const version = result.text(); +// return version; +// } + +async function getShimsUrl(provide: string) { + // const version = await getLatestVersionOfShims(); + const version = '1.10.0'; + + const shimsSubpath = `dist/es-module-shims.js`; + const providerShimsMap: Record = { + 'esm.sh': `https://esm.sh/es-module-shims@${version}/${shimsSubpath}`, + // unpkg: `https://unpkg.com/es-module-shims@${version}/${shimsSubpath}`, + jsdelivr: `https://cdn.jsdelivr.net/npm/es-module-shims@${version}/${shimsSubpath}`, + + // 下面两个CDN不稳定,暂时不用 + 'jspm.io': `https://ga.jspm.io/npm:es-module-shims@${version}/${shimsSubpath}`, + }; + + return providerShimsMap[provide] || providerShimsMap[DEFAULT_PROVIDER]; +} + +let generator: Generator; + +async function viteImportMapPlugin( + pluginOptions?: pluginOptions, +): Promise { + const { importmap } = pluginOptions || {}; + + let isSSR = false; + let isBuild = false; + let installed = false; + let installError: Error | null = null; + + const options: pluginOptions = Object.assign( + {}, + { + debug: false, + defaultProvider: 'jspm.io', + env: ['production', 'browser', 'module'], + importmap: [], + }, + pluginOptions, + ); + + generator = new Generator({ + ...options, + baseUrl: process.cwd(), + }); + + if (options?.debug) { + (async () => { + for await (const { message, type } of generator.logStream()) { + console.log(`${type}: ${message}`); + } + })(); + } + + const imports = options.inputMap?.imports ?? {}; + const scopes = options.inputMap?.scopes ?? {}; + const firstLayerKeys = Object.keys(scopes); + const inputMapScopes: string[] = []; + firstLayerKeys.forEach((key) => { + inputMapScopes.push(...Object.keys(scopes[key] || {})); + }); + const inputMapImports = Object.keys(imports); + + const allDepNames: string[] = [ + ...(importmap?.map((item) => item.name) || []), + ...inputMapImports, + ...inputMapScopes, + ]; + const depNames = new Set(allDepNames); + + const installDeps = importmap?.map((item) => ({ + range: item.range, + target: item.name, + })); + + return [ + { + async config(_, { command, isSsrBuild }) { + isBuild = command === 'build'; + isSSR = !!isSsrBuild; + }, + enforce: 'pre', + name: 'importmap:external', + resolveId(id) { + if (isSSR || !isBuild) { + return null; + } + + if (!depNames.has(id)) { + return null; + } + return { external: true, id }; + }, + }, + { + enforce: 'post', + name: 'importmap:install', + async resolveId() { + if (isSSR || !isBuild || installed) { + return null; + } + try { + installed = true; + await Promise.allSettled( + (installDeps || []).map((dep) => generator.install(dep)), + ); + } catch (error: any) { + installError = error; + installed = false; + } + return null; + }, + }, + { + buildEnd() { + // 未生成importmap时,抛出错误,防止被turbo缓存 + if (!installed && !isSSR) { + installError && console.error(installError); + throw new Error('Importmap installation failed.'); + } + }, + enforce: 'post', + name: 'importmap:html', + transformIndexHtml: { + async handler(html) { + if (isSSR || !isBuild) { + return html; + } + + const importmapJson = generator.getMap(); + + if (!importmapJson) { + return html; + } + + const esModuleShimsSrc = await getShimsUrl( + options.defaultProvider || DEFAULT_PROVIDER, + ); + + const resultHtml = await injectShimsToHtml( + html, + esModuleShimsSrc || '', + ); + html = await minify(resultHtml || html, { + collapseWhitespace: true, + minifyCSS: true, + minifyJS: true, + removeComments: false, + }); + + return { + html, + tags: [ + { + attrs: { + type: 'importmap', + }, + injectTo: 'head-prepend', + tag: 'script', + children: `${JSON.stringify(importmapJson)}`, + }, + ], + }; + }, + order: 'post', + }, + }, + ]; +} + +async function injectShimsToHtml(html: string, esModuleShimUrl: string) { + const $ = load(html); + + const $script = $(`script[type='module']`); + + if (!$script) { + return; + } + + const entry = $script.attr('src'); + + $script.removeAttr('type'); + $script.removeAttr('crossorigin'); + $script.removeAttr('src'); + $script.html(` +if (!HTMLScriptElement.supports || !HTMLScriptElement.supports('importmap')) { + self.importShim = function () { + const promise = new Promise((resolve, reject) => { + document.head.appendChild( + Object.assign(document.createElement('script'), { + src: '${esModuleShimUrl}', + crossorigin: 'anonymous', + async: true, + onload() { + if (!importShim.$proxy) { + resolve(importShim); + } else { + reject(new Error('No globalThis.importShim found:' + esModuleShimUrl)); + } + }, + onerror(error) { + reject(error); + }, + }), + ); + }); + importShim.$proxy = true; + return promise.then((importShim) => importShim(...arguments)); + }; +} + +var modules = ['${entry}']; +typeof importShim === 'function' + ? modules.forEach((moduleName) => importShim(moduleName)) + : modules.forEach((moduleName) => import(moduleName)); + `); + $('body').after($script); + $('head').remove(`script[type='module']`); + return $.html(); +} + +export { viteImportMapPlugin }; diff --git a/internal/vite-config/src/plugins/index.ts b/internal/vite-config/src/plugins/index.ts new file mode 100644 index 0000000..da08db4 --- /dev/null +++ b/internal/vite-config/src/plugins/index.ts @@ -0,0 +1,247 @@ +import type { PluginOption } from 'vite'; + +import type { + ApplicationPluginOptions, + CommonPluginOptions, + ConditionPlugin, + LibraryPluginOptions, +} from '../typing'; + +import viteVueI18nPlugin from '@intlify/unplugin-vue-i18n/vite'; +import viteVue from '@vitejs/plugin-vue'; +import viteVueJsx from '@vitejs/plugin-vue-jsx'; +import { visualizer as viteVisualizerPlugin } from 'rollup-plugin-visualizer'; +import viteCompressPlugin from 'vite-plugin-compression'; +import viteDtsPlugin from 'vite-plugin-dts'; +import { createHtmlPlugin as viteHtmlPlugin } from 'vite-plugin-html'; +import { VitePWA } from 'vite-plugin-pwa'; +import viteVueDevTools from 'vite-plugin-vue-devtools'; + +import { viteArchiverPlugin } from './archiver'; +import { viteExtraAppConfigPlugin } from './extra-app-config'; +import { viteImportMapPlugin } from './importmap'; +import { viteInjectAppLoadingPlugin } from './inject-app-loading'; +import { viteMetadataPlugin } from './inject-metadata'; +import { viteLicensePlugin } from './license'; +import { viteNitroMockPlugin } from './nitro-mock'; +import { vitePrintPlugin } from './print'; +import { viteVxeTableImportsPlugin } from './vxe-table'; + +/** + * 获取条件成立的 vite 插件 + * @param conditionPlugins + */ +async function loadConditionPlugins(conditionPlugins: ConditionPlugin[]) { + const plugins: PluginOption[] = []; + for (const conditionPlugin of conditionPlugins) { + if (conditionPlugin.condition) { + const realPlugins = await conditionPlugin.plugins(); + plugins.push(...realPlugins); + } + } + return plugins.flat(); +} + +/** + * 根据条件获取通用的vite插件 + */ +async function loadCommonPlugins( + options: CommonPluginOptions, +): Promise { + const { devtools, injectMetadata, isBuild, visualizer } = options; + return [ + { + condition: true, + plugins: () => [ + viteVue({ + script: { + defineModel: true, + // propsDestructure: true, + }, + }), + viteVueJsx(), + ], + }, + + { + condition: !isBuild && devtools, + plugins: () => [viteVueDevTools()], + }, + { + condition: injectMetadata, + plugins: async () => [await viteMetadataPlugin()], + }, + { + condition: isBuild && !!visualizer, + plugins: () => [viteVisualizerPlugin({ + filename: './node_modules/.cache/visualizer/stats.html', + gzipSize: true, + open: true, + })], + }, + ]; +} + +/** + * 根据条件获取应用类型的vite插件 + */ +async function loadApplicationPlugins( + options: ApplicationPluginOptions, +): Promise { + // 单独取,否则commonOptions拿不到 + const isBuild = options.isBuild; + const env = options.env; + + const { + archiver, + archiverPluginOptions, + compress, + compressTypes, + extraAppConfig, + html, + i18n, + importmap, + importmapOptions, + injectAppLoading, + license, + nitroMock, + nitroMockOptions, + print, + printInfoMap, + pwa, + pwaOptions, + vxeTableLazyImport, + ...commonOptions + } = options; + + const commonPlugins = await loadCommonPlugins(commonOptions); + + return await loadConditionPlugins([ + ...commonPlugins, + { + condition: i18n, + plugins: async () => { + return [ + viteVueI18nPlugin({ + compositionOnly: true, + fullInstall: true, + runtimeOnly: true, + }), + ]; + }, + }, + { + condition: print, + plugins: async () => { + return [await vitePrintPlugin({ infoMap: printInfoMap })]; + }, + }, + { + condition: vxeTableLazyImport, + plugins: async () => { + return [await viteVxeTableImportsPlugin()]; + }, + }, + { + condition: nitroMock, + plugins: async () => { + return [await viteNitroMockPlugin(nitroMockOptions)]; + }, + }, + + { + condition: injectAppLoading, + plugins: async () => [await viteInjectAppLoadingPlugin(!!isBuild, env)], + }, + { + condition: license, + plugins: async () => [await viteLicensePlugin()], + }, + { + condition: pwa, + plugins: () => + VitePWA({ + injectRegister: false, + workbox: { + globPatterns: [], + }, + ...pwaOptions, + manifest: { + display: 'standalone', + start_url: '/', + theme_color: '#ffffff', + ...pwaOptions?.manifest, + }, + }), + }, + { + condition: isBuild && !!compress, + plugins: () => { + const compressPlugins: PluginOption[] = []; + if (compressTypes?.includes('brotli')) { + compressPlugins.push( + viteCompressPlugin({ deleteOriginFile: false, ext: '.br' }), + ); + } + if (compressTypes?.includes('gzip')) { + compressPlugins.push( + viteCompressPlugin({ deleteOriginFile: false, ext: '.gz' }), + ); + } + return compressPlugins; + }, + }, + { + condition: !!html, + plugins: () => [viteHtmlPlugin({ minify: true })], + }, + { + condition: isBuild && importmap, + plugins: () => { + return [viteImportMapPlugin(importmapOptions)]; + }, + }, + { + condition: isBuild && extraAppConfig, + plugins: async () => [ + await viteExtraAppConfigPlugin({ isBuild: true, root: process.cwd() }), + ], + }, + { + condition: archiver, + plugins: async () => { + return [await viteArchiverPlugin(archiverPluginOptions)]; + }, + }, + ]); +} + +/** + * 根据条件获取库类型的vite插件 + */ +async function loadLibraryPlugins( + options: LibraryPluginOptions, +): Promise { + // 单独取,否则commonOptions拿不到 + const isBuild = options.isBuild; + const { dts, ...commonOptions } = options; + const commonPlugins = await loadCommonPlugins(commonOptions); + return await loadConditionPlugins([ + ...commonPlugins, + { + condition: isBuild && !!dts, + plugins: () => [viteDtsPlugin({ logLevel: 'error' })], + }, + ]); +} + +export { + loadApplicationPlugins, + loadLibraryPlugins, + viteArchiverPlugin, + viteCompressPlugin, + viteDtsPlugin, + viteHtmlPlugin, + viteVisualizerPlugin, + viteVxeTableImportsPlugin, +}; diff --git a/internal/vite-config/src/plugins/inject-app-loading/README.md b/internal/vite-config/src/plugins/inject-app-loading/README.md new file mode 100644 index 0000000..8d2358f --- /dev/null +++ b/internal/vite-config/src/plugins/inject-app-loading/README.md @@ -0,0 +1,3 @@ +# inject-app-loading + +用于在应用加载时显示加载动画的插件,可自行选择加载动画的样式。 diff --git a/internal/vite-config/src/plugins/inject-app-loading/default-loading-antd.html b/internal/vite-config/src/plugins/inject-app-loading/default-loading-antd.html new file mode 100644 index 0000000..20a21fb --- /dev/null +++ b/internal/vite-config/src/plugins/inject-app-loading/default-loading-antd.html @@ -0,0 +1,107 @@ + +

diff --git a/internal/vite-config/src/plugins/inject-app-loading/default-loading.html b/internal/vite-config/src/plugins/inject-app-loading/default-loading.html new file mode 100644 index 0000000..2895705 --- /dev/null +++ b/internal/vite-config/src/plugins/inject-app-loading/default-loading.html @@ -0,0 +1,113 @@ + +
+
+
<%= VITE_APP_TITLE %>
+
diff --git a/internal/vite-config/src/plugins/inject-app-loading/index.ts b/internal/vite-config/src/plugins/inject-app-loading/index.ts new file mode 100644 index 0000000..6880163 --- /dev/null +++ b/internal/vite-config/src/plugins/inject-app-loading/index.ts @@ -0,0 +1,66 @@ +import type { PluginOption } from 'vite'; + +import fs from 'node:fs'; +import fsp from 'node:fs/promises'; +import { join } from 'node:path'; +import { fileURLToPath } from 'node:url'; + +import { readPackageJSON } from '@aiflowy/node-utils'; + +/** + * 用于生成将loading样式注入到项目中 + * 为多app提供loading样式,无需在每个 app -> index.html单独引入 + */ +async function viteInjectAppLoadingPlugin( + isBuild: boolean, + env: Record = {}, + loadingTemplate = 'loading.html', +): Promise { + const loadingHtml = await getLoadingRawByHtmlTemplate(loadingTemplate); + const { version } = await readPackageJSON(process.cwd()); + const envRaw = isBuild ? 'prod' : 'dev'; + const cacheName = `'${env.VITE_APP_NAMESPACE}-${version}-${envRaw}-preferences-theme'`; + + // 获取缓存的主题 + // 保证黑暗主题下,刷新页面时,loading也是黑暗主题 + const injectScript = ` + +`; + + if (!loadingHtml) { + return; + } + + return { + enforce: 'pre', + name: 'vite:inject-app-loading', + transformIndexHtml: { + handler(html) { + const re = //; + html = html.replace(re, `${injectScript}${loadingHtml}`); + return html; + }, + order: 'pre', + }, + }; +} + +/** + * 用于获取loading的html模板 + */ +async function getLoadingRawByHtmlTemplate(loadingTemplate: string) { + // 支持在app内自定义loading模板,模版参考default-loading.html即可 + let appLoadingPath = join(process.cwd(), loadingTemplate); + + if (!fs.existsSync(appLoadingPath)) { + const __dirname = fileURLToPath(new URL('.', import.meta.url)); + appLoadingPath = join(__dirname, './default-loading.html'); + } + + return await fsp.readFile(appLoadingPath, 'utf8'); +} + +export { viteInjectAppLoadingPlugin }; diff --git a/internal/vite-config/src/plugins/inject-metadata.ts b/internal/vite-config/src/plugins/inject-metadata.ts new file mode 100644 index 0000000..c9c4da3 --- /dev/null +++ b/internal/vite-config/src/plugins/inject-metadata.ts @@ -0,0 +1,111 @@ +import type { PluginOption } from 'vite'; + +import { + dateUtil, + findMonorepoRoot, + getPackages, + readPackageJSON, +} from '@aiflowy/node-utils'; + +import { readWorkspaceManifest } from '@pnpm/workspace.read-manifest'; + +function resolvePackageVersion( + pkgsMeta: Record, + name: string, + value: string, + catalog: Record, +) { + if (value.includes('catalog:')) { + return catalog[name]; + } + + if (value.includes('workspace')) { + return pkgsMeta[name]; + } + + return value; +} + +async function resolveMonorepoDependencies() { + const { packages } = await getPackages(); + const manifest = await readWorkspaceManifest(findMonorepoRoot()); + const catalog = manifest?.catalog || {}; + + const resultDevDependencies: Record = {}; + const resultDependencies: Record = {}; + const pkgsMeta: Record = {}; + + for (const { packageJson } of packages) { + pkgsMeta[packageJson.name] = packageJson.version; + } + + for (const { packageJson } of packages) { + const { dependencies = {}, devDependencies = {} } = packageJson; + for (const [key, value] of Object.entries(dependencies)) { + resultDependencies[key] = resolvePackageVersion( + pkgsMeta, + key, + value, + catalog, + ); + } + for (const [key, value] of Object.entries(devDependencies)) { + resultDevDependencies[key] = resolvePackageVersion( + pkgsMeta, + key, + value, + catalog, + ); + } + } + return { + dependencies: resultDependencies, + devDependencies: resultDevDependencies, + }; +} + +/** + * 用于注入项目信息 + */ +async function viteMetadataPlugin( + root = process.cwd(), +): Promise { + const { author, description, homepage, license, version } = + await readPackageJSON(root); + + const buildTime = dateUtil().format('YYYY-MM-DD HH:mm:ss'); + + return { + async config() { + const { dependencies, devDependencies } = + await resolveMonorepoDependencies(); + + const isAuthorObject = typeof author === 'object'; + const authorName = isAuthorObject ? author.name : author; + const authorEmail = isAuthorObject ? author.email : null; + const authorUrl = isAuthorObject ? author.url : null; + + return { + define: { + __APP_ADMIN_METADATA__: JSON.stringify({ + authorEmail, + authorName, + authorUrl, + buildTime, + dependencies, + description, + devDependencies, + homepage, + license, + version, + }), + 'import.meta.env.VITE_APP_VERSION': JSON.stringify(version), + }, + }; + }, + enforce: 'post', + name: 'vite:inject-metadata', + }; +} + +export { viteMetadataPlugin }; diff --git a/internal/vite-config/src/plugins/license.ts b/internal/vite-config/src/plugins/license.ts new file mode 100644 index 0000000..683f366 --- /dev/null +++ b/internal/vite-config/src/plugins/license.ts @@ -0,0 +1,63 @@ +import type { + NormalizedOutputOptions, + OutputBundle, + OutputChunk, +} from 'rollup'; +import type { PluginOption } from 'vite'; + +import { EOL } from 'node:os'; + +import { dateUtil, readPackageJSON } from '@aiflowy/node-utils'; + +/** + * 用于注入版权信息 + * @returns + */ + +async function viteLicensePlugin( + root = process.cwd(), +): Promise { + const { + description = '', + homepage = '', + version = '', + } = await readPackageJSON(root); + + return { + apply: 'build', + enforce: 'post', + generateBundle: { + handler: (_options: NormalizedOutputOptions, bundle: OutputBundle) => { + const date = dateUtil().format('YYYY-MM-DD '); + const copyrightText = `/*! + * AIFlowy Admin + * Version: ${version} + * Author: aiflowy + * Copyright (C) 2026 AIFlowy + * License: MIT License + * Description: ${description} + * Date Created: ${date} + * Homepage: ${homepage} + * Contact: fuhai999@gmail.com +*/ + `.trim(); + + for (const [, fileContent] of Object.entries(bundle)) { + if (fileContent.type === 'chunk' && fileContent.isEntry) { + const chunkContent = fileContent as OutputChunk; + // 插入版权信息 + const content = chunkContent.code; + const updatedContent = `${copyrightText}${EOL}${content}`; + + // 更新bundle + (fileContent as OutputChunk).code = updatedContent; + } + } + }, + order: 'post', + }, + name: 'vite:license', + }; +} + +export { viteLicensePlugin }; diff --git a/internal/vite-config/src/plugins/nitro-mock.ts b/internal/vite-config/src/plugins/nitro-mock.ts new file mode 100644 index 0000000..c04b7d4 --- /dev/null +++ b/internal/vite-config/src/plugins/nitro-mock.ts @@ -0,0 +1,98 @@ +import type { PluginOption } from 'vite'; + +import type { NitroMockPluginOptions } from '../typing'; + +import { colors, consola, getPackage } from '@aiflowy/node-utils'; + +import getPort from 'get-port'; +import { build, createDevServer, createNitro, prepare } from 'nitropack'; + +const hmrKeyRe = /^runtimeConfig\.|routeRules\./; + +export const viteNitroMockPlugin = ({ + mockServerPackage = '@aiflowy/backend-mock', + port = 5320, + verbose = true, +}: NitroMockPluginOptions = {}): PluginOption => { + return { + async configureServer(server) { + const availablePort = await getPort({ port }); + if (availablePort !== port) { + return; + } + + const pkg = await getPackage(mockServerPackage); + if (!pkg) { + consola.log( + `Package ${mockServerPackage} not found. Skip mock server.`, + ); + return; + } + + runNitroServer(pkg.dir, port, verbose); + + const _printUrls = server.printUrls; + server.printUrls = () => { + _printUrls(); + + consola.log( + ` ${colors.green('➜')} ${colors.bold('Nitro Mock Server')}: ${colors.cyan(`http://localhost:${port}/api`)}`, + ); + }; + }, + enforce: 'pre', + name: 'vite:mock-server', + }; +}; + +async function runNitroServer(rootDir: string, port: number, verbose: boolean) { + let nitro: any; + const reload = async () => { + if (nitro) { + consola.info('Restarting dev server...'); + if ('unwatch' in nitro.options._c12) { + await nitro.options._c12.unwatch(); + } + await nitro.close(); + } + nitro = await createNitro( + { + dev: true, + preset: 'nitro-dev', + rootDir, + }, + { + c12: { + async onUpdate({ getDiff, newConfig }) { + const diff = getDiff(); + if (diff.length === 0) { + return; + } + verbose && + consola.info( + `Nitro config updated:\n${diff + .map((entry) => ` ${entry.toString()}`) + .join('\n')}`, + ); + await (diff.every((e) => hmrKeyRe.test(e.key)) + ? nitro.updateConfig(newConfig.config) + : reload()); + }, + }, + watch: true, + }, + ); + nitro.hooks.hookOnce('restart', reload); + + const server = createDevServer(nitro); + await server.listen(port, { showURL: false }); + await prepare(nitro); + await build(nitro); + + if (verbose) { + console.log(''); + consola.success(colors.bold(colors.green('Nitro Mock Server started.'))); + } + }; + return await reload(); +} diff --git a/internal/vite-config/src/plugins/print.ts b/internal/vite-config/src/plugins/print.ts new file mode 100644 index 0000000..dc96424 --- /dev/null +++ b/internal/vite-config/src/plugins/print.ts @@ -0,0 +1,28 @@ +import type { PluginOption } from 'vite'; + +import type { PrintPluginOptions } from '../typing'; + +import { colors } from '@aiflowy/node-utils'; + +export const vitePrintPlugin = ( + options: PrintPluginOptions = {}, +): PluginOption => { + const { infoMap = {} } = options; + + return { + configureServer(server) { + const _printUrls = server.printUrls; + server.printUrls = () => { + _printUrls(); + + for (const [key, value] of Object.entries(infoMap)) { + console.log( + ` ${colors.green('➜')} ${colors.bold(key)}: ${colors.cyan(value)}`, + ); + } + }; + }, + enforce: 'pre', + name: 'vite:print-info', + }; +}; diff --git a/internal/vite-config/src/plugins/vxe-table.ts b/internal/vite-config/src/plugins/vxe-table.ts new file mode 100644 index 0000000..3c107a7 --- /dev/null +++ b/internal/vite-config/src/plugins/vxe-table.ts @@ -0,0 +1,20 @@ +import type { PluginOption } from 'vite'; + +import { lazyImport, VxeResolver } from 'vite-plugin-lazy-import'; + +async function viteVxeTableImportsPlugin(): Promise { + return [ + lazyImport({ + resolvers: [ + VxeResolver({ + libraryName: 'vxe-table', + }), + VxeResolver({ + libraryName: 'vxe-pc-ui', + }), + ], + }), + ]; +} + +export { viteVxeTableImportsPlugin }; diff --git a/internal/vite-config/src/typing.ts b/internal/vite-config/src/typing.ts new file mode 100644 index 0000000..5c6a5c0 --- /dev/null +++ b/internal/vite-config/src/typing.ts @@ -0,0 +1,343 @@ +import type { PluginVisualizerOptions } from 'rollup-plugin-visualizer'; +import type { ConfigEnv, PluginOption, UserConfig } from 'vite'; +import type { PluginOptions } from 'vite-plugin-dts'; +import type { Options as PwaPluginOptions } from 'vite-plugin-pwa'; + +/** + * ImportMap 配置接口 + * @description 用于配置模块导入映射,支持自定义导入路径和范围 + * @example + * ```typescript + * { + * imports: { + * 'vue': 'https://unpkg.com/vue@3.2.47/dist/vue.esm-browser.js' + * }, + * scopes: { + * 'https://site.com/': { + * 'vue': 'https://unpkg.com/vue@3.2.47/dist/vue.esm-browser.js' + * } + * } + * } + * ``` + */ +interface IImportMap { + /** 模块导入映射 */ + imports?: Record; + /** 作用域特定的导入映射 */ + scopes?: { + [scope: string]: Record; + }; +} + +/** + * 打印插件配置选项 + * @description 用于配置控制台打印信息 + */ +interface PrintPluginOptions { + /** + * 打印的数据映射 + * @description 键值对形式的数据,将在控制台打印 + * @example + * ```typescript + * { + * 'App Version': '1.0.0', + * 'Build Time': '2024-01-01' + * } + * ``` + */ + infoMap?: Record; +} + +/** + * Nitro Mock 插件配置选项 + * @description 用于配置 Nitro Mock 服务器的行为 + */ +interface NitroMockPluginOptions { + /** + * Mock 服务器包名 + * @default '@aiflowy/nitro-mock' + */ + mockServerPackage?: string; + + /** + * Mock 服务端口 + * @default 3000 + */ + port?: number; + + /** + * 是否打印 Mock 日志 + * @default false + */ + verbose?: boolean; +} + +/** + * 归档插件配置选项 + * @description 用于配置构建产物的压缩归档 + */ +interface ArchiverPluginOptions { + /** + * 输出文件名 + * @default 'dist' + */ + name?: string; + /** + * 输出目录 + * @default '.' + */ + outputDir?: string; +} + +/** + * ImportMap 插件配置 + * @description 用于配置模块的 CDN 导入 + */ +interface ImportmapPluginOptions { + /** + * CDN 供应商 + * @default 'jspm.io' + * @description 支持 esm.sh 和 jspm.io 两种 CDN 供应商 + */ + defaultProvider?: 'esm.sh' | 'jspm.io'; + /** + * ImportMap 配置数组 + * @description 配置需要从 CDN 导入的包 + * @example + * ```typescript + * [ + * { name: 'vue' }, + * { name: 'pinia', range: '^2.0.0' } + * ] + * ``` + */ + importmap?: Array<{ name: string; range?: string }>; + /** + * 手动配置 ImportMap + * @description 自定义 ImportMap 配置 + */ + inputMap?: IImportMap; +} + +/** + * 条件插件配置 + * @description 用于根据条件动态加载插件 + */ +interface ConditionPlugin { + /** + * 判断条件 + * @description 当条件为 true 时加载插件 + */ + condition?: boolean; + /** + * 插件对象 + * @description 返回插件数组或 Promise + */ + plugins: () => PluginOption[] | PromiseLike; +} + +/** + * 通用插件配置选项 + * @description 所有插件共用的基础配置 + */ +interface CommonPluginOptions { + /** + * 是否开启开发工具 + * @default false + */ + devtools?: boolean; + /** + * 环境变量 + * @description 自定义环境变量 + */ + env?: Record; + /** + * 是否注入元数据 + * @default true + */ + injectMetadata?: boolean; + /** + * 是否为构建模式 + * @default false + */ + isBuild?: boolean; + /** + * 构建模式 + * @default 'development' + */ + mode?: string; + /** + * 是否开启依赖分析 + * @default false + * @description 使用 rollup-plugin-visualizer 分析依赖 + */ + visualizer?: boolean | PluginVisualizerOptions; +} + +/** + * 应用插件配置选项 + * @description 用于配置应用构建时的插件选项 + */ +interface ApplicationPluginOptions extends CommonPluginOptions { + /** + * 是否开启压缩归档 + * @default false + * @description 开启后会在打包目录生成 zip 文件 + */ + archiver?: boolean; + /** + * 压缩归档插件配置 + * @description 配置压缩归档的行为 + */ + archiverPluginOptions?: ArchiverPluginOptions; + /** + * 是否开启压缩 + * @default false + * @description 支持 gzip 和 brotli 压缩 + */ + compress?: boolean; + /** + * 压缩类型 + * @default ['gzip'] + * @description 可选的压缩类型 + */ + compressTypes?: ('brotli' | 'gzip')[]; + /** + * 是否抽离配置文件 + * @default false + * @description 在构建时抽离配置文件 + */ + extraAppConfig?: boolean; + /** + * 是否开启 HTML 插件 + * @default true + */ + html?: boolean; + /** + * 是否开启国际化 + * @default false + */ + i18n?: boolean; + /** + * 是否开启 ImportMap CDN + * @default false + */ + importmap?: boolean; + /** + * ImportMap 插件配置 + */ + importmapOptions?: ImportmapPluginOptions; + /** + * 是否注入应用加载动画 + * @default true + */ + injectAppLoading?: boolean; + /** + * 是否注入全局 SCSS + * @default true + */ + injectGlobalScss?: boolean; + /** + * 是否注入版权信息 + * @default true + */ + license?: boolean; + /** + * 是否开启 Nitro Mock + * @default false + */ + nitroMock?: boolean; + /** + * Nitro Mock 插件配置 + */ + nitroMockOptions?: NitroMockPluginOptions; + /** + * 是否开启控制台打印 + * @default false + */ + print?: boolean; + /** + * 打印插件配置 + */ + printInfoMap?: PrintPluginOptions['infoMap']; + /** + * 是否开启 PWA + * @default false + */ + pwa?: boolean; + /** + * PWA 插件配置 + */ + pwaOptions?: Partial; + /** + * 是否开启 VXE Table 懒加载 + * @default false + */ + vxeTableLazyImport?: boolean; +} + +/** + * 库插件配置选项 + * @description 用于配置库构建时的插件选项 + */ +interface LibraryPluginOptions extends CommonPluginOptions { + /** + * 是否开启 DTS 输出 + * @default true + * @description 生成 TypeScript 类型声明文件 + */ + dts?: boolean | PluginOptions; +} + +/** + * 应用配置选项类型 + */ +type ApplicationOptions = ApplicationPluginOptions; + +/** + * 库配置选项类型 + */ +type LibraryOptions = LibraryPluginOptions; + +/** + * 应用配置定义函数类型 + * @description 用于定义应用构建配置 + */ +type DefineApplicationOptions = (config?: ConfigEnv) => Promise<{ + /** 应用插件配置 */ + application?: ApplicationOptions; + /** Vite 配置 */ + vite?: UserConfig; +}>; + +/** + * 库配置定义函数类型 + * @description 用于定义库构建配置 + */ +type DefineLibraryOptions = (config?: ConfigEnv) => Promise<{ + /** 库插件配置 */ + library?: LibraryOptions; + /** Vite 配置 */ + vite?: UserConfig; +}>; + +/** + * 配置定义类型 + * @description 应用或库的配置定义 + */ +type DefineConfig = DefineApplicationOptions | DefineLibraryOptions; + +export type { + ApplicationPluginOptions, + ArchiverPluginOptions, + CommonPluginOptions, + ConditionPlugin, + DefineApplicationOptions, + DefineConfig, + DefineLibraryOptions, + IImportMap, + ImportmapPluginOptions, + LibraryPluginOptions, + NitroMockPluginOptions, + PrintPluginOptions, +}; diff --git a/internal/vite-config/src/utils/env.ts b/internal/vite-config/src/utils/env.ts new file mode 100644 index 0000000..b7b4baf --- /dev/null +++ b/internal/vite-config/src/utils/env.ts @@ -0,0 +1,110 @@ +import type { ApplicationPluginOptions } from '../typing'; + +import { existsSync } from 'node:fs'; +import { join } from 'node:path'; + +import { fs } from '@aiflowy/node-utils'; + +import dotenv from 'dotenv'; + +const getBoolean = (value: string | undefined) => value === 'true'; + +const getString = (value: string | undefined, fallback: string) => + value ?? fallback; + +const getNumber = (value: string | undefined, fallback: number) => + Number(value) || fallback; + +/** + * 获取当前环境下生效的配置文件名 + */ +function getConfFiles() { + const script = process.env.npm_lifecycle_script as string; + const reg = /--mode ([\d_a-z]+)/; + const result = reg.exec(script); + let mode = 'production'; + if (result) { + mode = result[1] as string; + } + return ['.env', '.env.local', `.env.${mode}`, `.env.${mode}.local`]; +} + +/** + * Get the environment variables starting with the specified prefix + * @param match prefix + * @param confFiles ext + */ +async function loadEnv>( + match = 'VITE_GLOB_', + confFiles = getConfFiles(), +) { + let envConfig = {}; + + for (const confFile of confFiles) { + try { + const confFilePath = join(process.cwd(), confFile); + if (existsSync(confFilePath)) { + const envPath = await fs.readFile(confFilePath, { + encoding: 'utf8', + }); + const env = dotenv.parse(envPath); + envConfig = { ...envConfig, ...env }; + } + } catch (error) { + console.error(`Error while parsing ${confFile}`, error); + } + } + const reg = new RegExp(`^(${match})`); + Object.keys(envConfig).forEach((key) => { + if (!reg.test(key)) { + Reflect.deleteProperty(envConfig, key); + } + }); + return envConfig as T; +} + +async function loadAndConvertEnv( + match = 'VITE_', + confFiles = getConfFiles(), +): Promise< + Partial & { + appTitle: string; + base: string; + port: number; + } +> { + const envConfig = await loadEnv(match, confFiles); + + const { + VITE_APP_TITLE, + VITE_ARCHIVER, + VITE_BASE, + VITE_COMPRESS, + VITE_DEVTOOLS, + VITE_INJECT_APP_LOADING, + VITE_NITRO_MOCK, + VITE_PORT, + VITE_PWA, + VITE_VISUALIZER, + } = envConfig; + + const compressTypes = (VITE_COMPRESS ?? '') + .split(',') + .filter((item) => item === 'brotli' || item === 'gzip'); + + return { + appTitle: getString(VITE_APP_TITLE, 'AIFlowy Admin'), + archiver: getBoolean(VITE_ARCHIVER), + base: getString(VITE_BASE, '/'), + compress: compressTypes.length > 0, + compressTypes, + devtools: getBoolean(VITE_DEVTOOLS), + injectAppLoading: getBoolean(VITE_INJECT_APP_LOADING), + nitroMock: getBoolean(VITE_NITRO_MOCK), + port: getNumber(VITE_PORT, 5173), + pwa: getBoolean(VITE_PWA), + visualizer: getBoolean(VITE_VISUALIZER), + }; +} + +export { loadAndConvertEnv, loadEnv }; diff --git a/internal/vite-config/tsconfig.json b/internal/vite-config/tsconfig.json new file mode 100644 index 0000000..c12c7ab --- /dev/null +++ b/internal/vite-config/tsconfig.json @@ -0,0 +1,6 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "extends": "@aiflowy/tsconfig/node.json", + "include": ["src"], + "exclude": ["node_modules"] +} diff --git a/lefthook.yml b/lefthook.yml new file mode 100644 index 0000000..7280174 --- /dev/null +++ b/lefthook.yml @@ -0,0 +1,76 @@ +# EXAMPLE USAGE: +# +# Refer for explanation to following link: +# https://lefthook.dev/configuration/ +# +# pre-push: +# jobs: +# - name: packages audit +# tags: +# - frontend +# - security +# run: yarn audit +# +# - name: gems audit +# tags: +# - backend +# - security +# run: bundle audit +# +# pre-commit: +# parallel: true +# jobs: +# - run: yarn eslint {staged_files} +# glob: "*.{js,ts,jsx,tsx}" +# +# - name: rubocop +# glob: "*.rb" +# exclude: +# - config/application.rb +# - config/routes.rb +# run: bundle exec rubocop --force-exclusion {all_files} +# +# - name: govet +# files: git ls-files -m +# glob: "*.go" +# run: go vet {files} +# +# - script: "hello.js" +# runner: node +# +# - script: "hello.go" +# runner: go run + +pre-commit: + parallel: true + commands: + code-workspace: + run: pnpm vsh code-workspace --auto-commit + lint-md: + run: pnpm prettier --cache --ignore-unknown --write {staged_files} + glob: '*.md' + lint-vue: + run: pnpm prettier --write {staged_files} && pnpm eslint --cache --fix {staged_files} && pnpm stylelint --fix --allow-empty-input {staged_files} + glob: '*.vue' + lint-js: + run: pnpm prettier --cache --ignore-unknown --write {staged_files} && pnpm eslint --cache --fix {staged_files} + glob: '*.{js,jsx,ts,tsx}' + lint-style: + run: pnpm prettier --cache --ignore-unknown --write {staged_files} && pnpm stylelint --fix --allow-empty-input {staged_files} + glob: '*.{scss,less,styl,html,vue,css}' + lint-package: + run: pnpm prettier --cache --write {staged_files} + glob: 'package.json' + lint-json: + run: pnpm prettier --cache --write --parser json {staged_files} + glob: '{!(package)*.json,*.code-snippets,.!(browserslist)*rc}' + +post-merge: + commands: + install: + run: pnpm install + +commit-msg: + commands: + commitlint: + run: pnpm exec commitlint --edit $1 diff --git a/package.json b/package.json new file mode 100644 index 0000000..32c5943 --- /dev/null +++ b/package.json @@ -0,0 +1,96 @@ +{ + "name": "aiflowy-admin", + "version": "1.0.0", + "private": true, + "homepage": "https://github.com/aiflowy/aiflowy", + "bugs": "https://github.com/aiflowy/aiflowy/issues", + "repository": "aiflowy/aiflowy.git", + "license": "MIT", + "type": "module", + "scripts": { + "build": "cross-env NODE_OPTIONS=--max-old-space-size=8192 turbo build", + "build:analyze": "turbo build:analyze", + "build:docker": "./scripts/deploy/build-local-docker-image.sh", + "build:app": "pnpm run build --filter=@aiflowy/app", + "changeset": "pnpm exec changeset", + "check": "pnpm run check:circular && pnpm run check:dep && pnpm run check:type && pnpm check:cspell", + "check:circular": "vsh check-circular", + "check:cspell": "cspell lint **/*.ts **/README.md .changeset/*.md --no-progress", + "check:dep": "vsh check-dep", + "check:type": "turbo run typecheck", + "clean": "node ./scripts/clean.mjs", + "commit": "czg", + "dev": "turbo-run dev", + "dev:app": "pnpm -F @aiflowy/app run dev", + "format": "vsh lint --format", + "lint": "vsh lint", + "postinstall": "pnpm -r run stub --if-present", + "preinstall": "npx only-allow pnpm", + "preview": "turbo-run preview", + "publint": "vsh publint", + "reinstall": "pnpm clean --del-lock && pnpm install", + "test:unit": "vitest run --dom", + "test:e2e": "turbo run test:e2e", + "update:deps": "npx taze -r -w", + "version": "pnpm exec changeset version && pnpm install --no-frozen-lockfile", + "catalog": "pnpx codemod pnpm/catalog" + }, + "devDependencies": { + "@aiflowy/commitlint-config": "workspace:*", + "@aiflowy/eslint-config": "workspace:*", + "@aiflowy/prettier-config": "workspace:*", + "@aiflowy/stylelint-config": "workspace:*", + "@aiflowy/tailwind-config": "workspace:*", + "@aiflowy/tsconfig": "workspace:*", + "@aiflowy/turbo-run": "workspace:*", + "@aiflowy/vite-config": "workspace:*", + "@aiflowy/vsh": "workspace:*", + "@changesets/changelog-github": "catalog:", + "@changesets/cli": "catalog:", + "@playwright/test": "catalog:", + "@types/node": "catalog:", + "@vitejs/plugin-vue": "catalog:", + "@vitejs/plugin-vue-jsx": "catalog:", + "@vue/test-utils": "catalog:", + "autoprefixer": "catalog:", + "cross-env": "catalog:", + "cspell": "catalog:", + "happy-dom": "catalog:", + "is-ci": "catalog:", + "lefthook": "catalog:", + "playwright": "catalog:", + "rimraf": "catalog:", + "tailwindcss": "catalog:", + "turbo": "catalog:", + "typescript": "catalog:", + "unbuild": "catalog:", + "vite": "catalog:", + "vitest": "catalog:", + "vue": "^3.5.24", + "vue-tsc": "catalog:" + }, + "engines": { + "node": ">=20.10.0", + "pnpm": ">=9.12.0" + }, + "packageManager": "pnpm@10.14.0", + "pnpm": { + "peerDependencyRules": { + "allowedVersions": { + "eslint": "*" + } + }, + "overrides": { + "@ast-grep/napi": "catalog:", + "@ctrl/tinycolor": "catalog:", + "clsx": "catalog:", + "esbuild": "0.25.3", + "pinia": "catalog:", + "vue": "catalog:" + }, + "neverBuiltDependencies": [ + "canvas", + "node-gyp" + ] + } +} diff --git a/packages/@core/README.md b/packages/@core/README.md new file mode 100644 index 0000000..b4a1f00 --- /dev/null +++ b/packages/@core/README.md @@ -0,0 +1,3 @@ +# @aiflowy-core + +系统一些比较基础的SDK和UI组件库,该目录后续完善后,可能会迁移出去或者发布到npm,请勿将任何业务逻辑和业务包放在该目录。 diff --git a/packages/@core/base/README.md b/packages/@core/base/README.md new file mode 100644 index 0000000..cc745b4 --- /dev/null +++ b/packages/@core/base/README.md @@ -0,0 +1,5 @@ +# base + +基础共享包,请勿引入 workspace 依赖 + +- diff --git a/packages/@core/base/design/package.json b/packages/@core/base/design/package.json new file mode 100644 index 0000000..7350798 --- /dev/null +++ b/packages/@core/base/design/package.json @@ -0,0 +1,41 @@ +{ + "name": "@aiflowy-core/design", + "version": "1.0.0", + "homepage": "https://github.com/aiflowy/aiflowy", + "bugs": "https://github.com/aiflowy/aiflowy/issues", + "repository": { + "type": "git", + "url": "git+https://github.com/aiflowy/aiflowy.git", + "directory": "packages/@aiflowy-core/base/design" + }, + "license": "MIT", + "type": "module", + "scripts": { + "build": "pnpm vite build", + "prepublishOnly": "npm run build" + }, + "files": [ + "dist", + "src" + ], + "main": "./dist/index.mjs", + "module": "./dist/index.mjs", + "exports": { + "./bem": { + "development": "./src/scss-bem/bem.scss", + "default": "./dist/bem.scss" + }, + ".": { + "types": "./src/index.ts", + "development": "./src/index.ts", + "default": "./dist/design.css" + } + }, + "publishConfig": { + "exports": { + ".": { + "default": "./dist/index.mjs" + } + } + } +} diff --git a/packages/@core/base/design/src/css/global.css b/packages/@core/base/design/src/css/global.css new file mode 100644 index 0000000..9734cf2 --- /dev/null +++ b/packages/@core/base/design/src/css/global.css @@ -0,0 +1,170 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +@layer base { + *, + ::after, + ::before { + @apply border-border; + + box-sizing: border-box; + border-style: solid; + border-width: 0; + } + + html { + @apply text-foreground bg-background font-sans text-[100%]; + + font-variation-settings: normal; + line-height: 1.15; + text-size-adjust: 100%; + font-synthesis-weight: none; + scroll-behavior: smooth; + text-rendering: optimizelegibility; + -webkit-tap-highlight-color: transparent; + + /* -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; */ + } + + #app, + body, + html { + @apply size-full; + + /* scrollbar-gutter: stable; */ + } + + body { + min-height: 100vh; + + /* pointer-events: auto !important; */ + + /* overflow: overlay; */ + + /* -webkit-font-smoothing: antialiased; */ + + /* -moz-osx-font-smoothing: grayscale; */ + } + + a, + a:active, + a:hover, + a:link, + a:visited { + @apply no-underline; + } + + ::view-transition-new(root), + ::view-transition-old(root) { + @apply animate-none mix-blend-normal; + } + + ::view-transition-old(root) { + @apply z-[1]; + } + + ::view-transition-new(root) { + @apply z-[2147483646]; + } + + html.dark::view-transition-old(root) { + @apply z-[2147483646]; + } + + html.dark::view-transition-new(root) { + @apply z-[1]; + } + + input::placeholder, + textarea::placeholder { + @apply opacity-100; + } + + /* input:-webkit-autofill { + @apply border-none; + + box-shadow: 0 0 0 1000px transparent inset; + } */ + + input[type='number']::-webkit-inner-spin-button, + input[type='number']::-webkit-outer-spin-button { + @apply m-0 appearance-none; + } + + /* 只有非mac下才进行调整,mac下使用默认滚动条 */ + html:not([data-platform='macOs']) { + ::-webkit-scrollbar { + @apply h-[10px] w-[10px]; + } + + ::-webkit-scrollbar-thumb { + @apply bg-border rounded-sm border-none; + } + + ::-webkit-scrollbar-track { + @apply rounded-sm border-none bg-transparent shadow-none; + } + + ::-webkit-scrollbar-button { + @apply hidden; + } + } +} + +@layer components { + .flex-center { + @apply flex items-center justify-center; + } + + .flex-col-center { + @apply flex flex-col items-center justify-center; + } + + .outline-box { + @apply outline-border relative cursor-pointer rounded-md p-1 outline outline-1; + } + + .outline-box::after { + @apply absolute left-1/2 top-1/2 z-20 h-0 w-[1px] rounded-sm opacity-0 outline outline-2 outline-transparent transition-all duration-300 content-[""]; + } + + .outline-box.outline-box-active { + @apply outline-primary outline outline-2; + } + + .outline-box.outline-box-active::after { + display: none; + } + + .outline-box:not(.outline-box-active):hover::after { + @apply outline-primary left-0 top-0 h-full w-full p-1 opacity-100; + } + + .aiflowy-link { + @apply text-primary hover:text-primary-hover active:text-primary-active cursor-pointer; + } + + .card-box { + @apply bg-card text-card-foreground border-border rounded-xl border; + } +} + +html.invert-mode { + @apply invert; +} + +html.grayscale-mode { + @apply grayscale; +} + +.page-container { + margin: 20px; + background-color: var(--el-bg-color); + border-radius: var(--el-border-radius-base); + padding: 20px; +} +.handle-div { + margin-bottom: 10px; +} diff --git a/packages/@core/base/design/src/css/nprogress.css b/packages/@core/base/design/src/css/nprogress.css new file mode 100644 index 0000000..3503dab --- /dev/null +++ b/packages/@core/base/design/src/css/nprogress.css @@ -0,0 +1,59 @@ +/* Make clicks pass-through */ +#nprogress { + @apply pointer-events-none; +} + +#nprogress .bar { + @apply bg-primary fixed left-0 top-0 z-[1031] h-[2px] w-full; +} + +/* Fancy blur effect */ +#nprogress .peg { + @apply absolute right-0 block h-full w-[100px]; + + box-shadow: + 0 0 10px hsl(var(--primary)), + 0 0 5px hsl(var(--primary)); + opacity: 1; + transform: rotate(3deg) translate(0, -4px); +} + +/* Remove these to get rid of the spinner */ +#nprogress .spinner { + @apply fixed right-4 top-4 z-[1031] block; +} + +#nprogress .spinner-icon { + @apply border-t-primary border-l-primary size-4 rounded-full border-[2px] border-solid border-transparent; + + animation: nprogress-spinner 400ms linear infinite; +} + +.nprogress-custom-parent { + @apply relative overflow-hidden; +} + +.nprogress-custom-parent #nprogress .spinner, +.nprogress-custom-parent #nprogress .bar { + @apply absolute; +} + +@keyframes nprogress-spinner { + 0% { + transform: rotate(0deg); + } + + 100% { + transform: rotate(360deg); + } +} + +@keyframes nprogress-spinner { + 0% { + transform: rotate(0deg); + } + + 100% { + transform: rotate(360deg); + } +} diff --git a/packages/@core/base/design/src/css/transition.css b/packages/@core/base/design/src/css/transition.css new file mode 100644 index 0000000..c1cb0e4 --- /dev/null +++ b/packages/@core/base/design/src/css/transition.css @@ -0,0 +1,236 @@ +.slide-up-enter-active, +.slide-up-leave-active { + transition: 0.25s cubic-bezier(0.25, 0.8, 0.5, 1); +} + +.slide-up-move { + transition: transform 0.3s; +} + +.slide-up-enter-from, +.slide-up-leave-to { + opacity: 0; + transform: translateY(-15px); +} + +.slide-down-enter-active, +.slide-down-leave-active { + transition: 0.25s cubic-bezier(0.25, 0.8, 0.5, 1); +} + +.slide-down-move { + transition: transform 0.3s; +} + +.slide-down-enter-from, +.slide-down-leave-to { + opacity: 0; + transform: translateY(15px); +} + +.slide-left-enter-active, +.slide-left-leave-active { + transition: 0.25s cubic-bezier(0.25, 0.8, 0.5, 1); +} + +.slide-left-move { + transition: transform 0.3s; +} + +.slide-left-enter-from, +.slide-left-leave-to { + opacity: 0; + transform: translate(-15px); +} + +.slide-right-enter-active, +.slide-right-leave-active { + transition: 0.25s cubic-bezier(0.25, 0.8, 0.5, 1); +} + +.slide-right-move { + transition: transform 0.3s; +} + +.slide-right-enter-from, +.slide-right-leave-to { + opacity: 0; + transform: translate(15px); +} + +.fade-transition-enter-active, +.fade-transition-leave-active { + transition: opacity 0.2s ease-in-out; +} + +.fade-transition-enter-from, +.fade-transition-leave-to { + opacity: 0; +} + +.fade-enter-active, +.fade-leave-active { + transition: opacity 0.2s ease-in-out; +} + +.fade-enter-from, +.fade-leave-to { + opacity: 0; +} + +.fade-slide-leave-active, +.fade-slide-enter-active { + transition: all 0.3s; +} + +.fade-slide-enter-from { + opacity: 0; + transform: translate(-30px); +} + +.fade-slide-leave-to { + opacity: 0; + transform: translate(30px); +} + +.fade-down-enter-active, +.fade-down-leave-active { + transition: + opacity 0.25s, + transform 0.3s; +} + +.fade-down-enter-from { + opacity: 0; + transform: translateY(-10%); +} + +.fade-down-leave-to { + opacity: 0; + transform: translateY(10%); +} + +.fade-scale-leave-active, +.fade-scale-enter-active { + transition: all 0.28s; +} + +.fade-scale-enter-from { + opacity: 0; + transform: scale(1.2); +} + +.fade-scale-leave-to { + opacity: 0; + transform: scale(0.8); +} + +.fade-up-enter-active, +.fade-up-leave-active { + transition: + opacity 0.2s, + transform 0.25s; +} + +.fade-up-enter-from { + opacity: 0; + transform: translateY(10%); +} + +.fade-up-leave-to { + opacity: 0; + transform: translateY(-10%); +} + +@keyframes fade-slide { + 0% { + opacity: 0; + transform: translate(-30px); + } + + 50% { + opacity: 1; + } + + 100% { + opacity: 0; + transform: translate(30px); + } +} + +@keyframes fade { + 0% { + opacity: 0; + } + + 50% { + opacity: 1; + } + + 100% { + opacity: 0; + } +} + +@keyframes fade-up { + 0% { + opacity: 0; + transform: translateY(10%); + } + + 50% { + opacity: 1; + } + + 100% { + opacity: 0; + transform: translateY(-10%); + } +} + +@keyframes fade-down { + 0% { + opacity: 0; + transform: translateY(-10%); + } + + 50% { + opacity: 1; + } + + 100% { + opacity: 0; + transform: translateY(10%); + } +} + +.fade-slow { + animation: fade 3s infinite; +} + +.fade-slide-slow { + animation: fade-slide 3s infinite; +} + +.fade-up-slow { + animation: fade-up 3s infinite; +} + +.fade-down-slow { + animation: fade-down 3s infinite; +} + +.collapse-transition { + transition: + 0.2s height ease-in-out, + 0.2s padding-top ease-in-out, + 0.2s padding-bottom ease-in-out; +} + +.collapse-transition-leave-active, +.collapse-transition-enter-active { + transition: + 0.2s max-height ease-in-out, + 0.2s padding-top ease-in-out, + 0.2s margin-top ease-in-out; +} diff --git a/packages/@core/base/design/src/css/ui.css b/packages/@core/base/design/src/css/ui.css new file mode 100644 index 0000000..a1bf024 --- /dev/null +++ b/packages/@core/base/design/src/css/ui.css @@ -0,0 +1,101 @@ +.side-content { + animation-duration: 0.3s; + animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +.side-content[data-side='top'] { + animation-name: slide-up; +} + +.side-content[data-side='bottom'] { + animation-name: slide-down; +} + +.side-content[data-side='left'] { + animation-name: slide-left; +} + +.side-content[data-side='right'] { + animation-name: slide-right; +} + +.breadcrumb-transition-enter-active { + transition: + transform 0.4s cubic-bezier(0.76, 0, 0.24, 1), + opacity 0.4s cubic-bezier(0.76, 0, 0.24, 1); +} + +.breadcrumb-transition-leave-active { + display: none; +} + +.breadcrumb-transition-enter-from { + opacity: 0; + transform: translateX(30px) skewX(-30deg); +} + +@keyframes slide-down { + from { + opacity: 0; + transform: translateY(50px); + } + + to { + opacity: 1; + transform: translateY(0); + } +} + +@keyframes slide-left { + from { + opacity: 0; + transform: translateX(-50px); + } + + to { + opacity: 1; + transform: translateX(0); + } +} + +@keyframes slide-right { + from { + opacity: 0; + transform: translateX(50px); + } + + to { + opacity: 1; + transform: translateX(0); + } +} + +@keyframes slide-up { + from { + opacity: 0; + transform: translateY(-50px); + } + + to { + opacity: 1; + transform: translateY(0); + } +} + +.z-popup { + z-index: var(--popup-z-index); +} + +@keyframes shrink { + 0% { + transform: scale(1); + } + + 50% { + transform: scale(0.9); + } + + 100% { + transform: scale(1); + } +} diff --git a/packages/@core/base/design/src/design-tokens/dark.css b/packages/@core/base/design/src/design-tokens/dark.css new file mode 100644 index 0000000..8c9f986 --- /dev/null +++ b/packages/@core/base/design/src/design-tokens/dark.css @@ -0,0 +1,454 @@ +.dark, +.dark[data-theme='custom'], +.dark[data-theme='default'] { + /* Default background color of ...etc */ + --background: 222.34deg 10.43% 12.27%; + + /* 主体区域背景色 */ + --background-deep: 220deg 13.06% 9%; + --foreground: 0 0% 95%; + + /* Background color for */ + --card: 222.34deg 10.43% 12.27%; + + /* --card: 222.2 84% 4.9%; */ + --card-foreground: 210 40% 98%; + + /* Background color for popovers such as , , */ + + /* --popover: 222.82deg 8.43% 12.27%; */ + + /* 弹出层的背景色与主题区域背景色太过接近 */ + --popover: 0 0% 14.2%; + --popover-foreground: 210 40% 98%; + + /* Muted backgrounds such as , and */ + + /* --muted: 220deg 6.82% 17.25%; */ + + /* --muted-foreground: 215 20.2% 65.1%; */ + + --muted: 240 3.7% 15.9%; + --muted-foreground: 240 5% 64.9%; + + /* 主题颜色 */ + + /* --primary: 245 82% 67%; */ + --primary-foreground: 0 0% 98%; + + /* Used for destructive actions such as