gitextract_h9on6hx8/ ├── .browserslistrc ├── .editorconfig ├── .eslintrc.js ├── .eslintrc.json ├── .gitattributes ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ ├── feature_request.md │ │ └── need-help-issue.md │ ├── pull_request_template.md │ └── workflows/ │ └── cloudflare.yml ├── .gitignore ├── .husky/ │ ├── .gitignore │ ├── commit-msg │ └── pre-commit ├── .lintstagedrc.json ├── .prettierrc ├── .stylelintrc.js ├── .travis.yml ├── Dockerfile ├── LICENSE ├── README.md ├── README.zh-CN.md ├── babel.config.js ├── commitlint.config.js ├── config/ │ ├── plugin.config.js │ └── themePluginConfig.js ├── deploy/ │ ├── caddy.conf │ └── nginx.conf ├── docs/ │ ├── add-page-loading-animate.md │ └── webpack-bundle-analyzer.md ├── jest.config.js ├── jsconfig.json ├── package.json ├── postcss.config.js ├── public/ │ └── index.html ├── src/ │ ├── App.vue │ ├── api/ │ │ ├── login.js │ │ └── manage.js │ ├── components/ │ │ ├── ArticleListContent/ │ │ │ ├── ArticleListContent.vue │ │ │ └── index.js │ │ ├── AvatarList/ │ │ │ ├── Item.jsx │ │ │ ├── List.jsx │ │ │ ├── index.js │ │ │ ├── index.less │ │ │ └── index.md │ │ ├── Charts/ │ │ │ ├── Bar.vue │ │ │ ├── ChartCard.vue │ │ │ ├── Liquid.vue │ │ │ ├── MiniArea.vue │ │ │ ├── MiniBar.vue │ │ │ ├── MiniProgress.vue │ │ │ ├── MiniSmoothArea.vue │ │ │ ├── Radar.vue │ │ │ ├── RankList.vue │ │ │ ├── TagCloud.vue │ │ │ ├── TransferBar.vue │ │ │ ├── Trend.vue │ │ │ ├── chart.less │ │ │ └── smooth.area.less │ │ ├── Dialog.js │ │ ├── Editor/ │ │ │ ├── QuillEditor.vue │ │ │ └── WangEditor.vue │ │ ├── Ellipsis/ │ │ │ ├── Ellipsis.vue │ │ │ ├── index.js │ │ │ └── index.md │ │ ├── FooterToolbar/ │ │ │ ├── FooterToolBar.vue │ │ │ ├── index.js │ │ │ ├── index.less │ │ │ └── index.md │ │ ├── GlobalFooter/ │ │ │ └── index.vue │ │ ├── GlobalHeader/ │ │ │ ├── AvatarDropdown.vue │ │ │ └── RightContent.vue │ │ ├── IconSelector/ │ │ │ ├── IconSelector.vue │ │ │ ├── README.md │ │ │ ├── icons.js │ │ │ └── index.js │ │ ├── MultiTab/ │ │ │ ├── MultiTab.vue │ │ │ ├── events.js │ │ │ ├── index.js │ │ │ └── index.less │ │ ├── NProgress/ │ │ │ └── nprogress.less │ │ ├── NoticeIcon/ │ │ │ ├── NoticeIcon.vue │ │ │ └── index.js │ │ ├── NumberInfo/ │ │ │ ├── NumberInfo.vue │ │ │ ├── index.js │ │ │ ├── index.less │ │ │ └── index.md │ │ ├── Other/ │ │ │ └── CarbonAds.vue │ │ ├── PageLoading/ │ │ │ └── index.jsx │ │ ├── Search/ │ │ │ ├── GlobalSearch.jsx │ │ │ └── index.less │ │ ├── SelectLang/ │ │ │ ├── index.jsx │ │ │ └── index.less │ │ ├── SettingDrawer/ │ │ │ ├── SettingDrawer.vue │ │ │ ├── SettingItem.vue │ │ │ ├── index.js │ │ │ ├── settingConfig.js │ │ │ └── themeColor.js │ │ ├── StandardFormRow/ │ │ │ ├── StandardFormRow.vue │ │ │ └── index.js │ │ ├── Table/ │ │ │ ├── README.md │ │ │ └── index.js │ │ ├── TagSelect/ │ │ │ ├── TagSelectOption.jsx │ │ │ └── index.jsx │ │ ├── TextArea/ │ │ │ ├── index.jsx │ │ │ └── style.less │ │ ├── Tree/ │ │ │ └── Tree.jsx │ │ ├── Trend/ │ │ │ ├── Trend.vue │ │ │ ├── index.js │ │ │ ├── index.less │ │ │ └── index.md │ │ ├── _util/ │ │ │ └── util.js │ │ ├── index.js │ │ ├── index.less │ │ └── tools/ │ │ └── TwoStepCaptcha.vue │ ├── config/ │ │ ├── defaultSettings.js │ │ └── router.config.js │ ├── core/ │ │ ├── bootstrap.js │ │ ├── directives/ │ │ │ └── action.js │ │ ├── icons.js │ │ ├── lazy_use.js │ │ ├── permission/ │ │ │ └── permission.js │ │ └── use.js │ ├── global.less │ ├── layouts/ │ │ ├── BasicLayout.less │ │ ├── BasicLayout.vue │ │ ├── BlankLayout.vue │ │ ├── PageView.vue │ │ ├── RouteView.vue │ │ ├── UserLayout.vue │ │ └── index.js │ ├── locales/ │ │ ├── index.js │ │ └── lang/ │ │ ├── en-US/ │ │ │ ├── account/ │ │ │ │ └── settings.js │ │ │ ├── account.js │ │ │ ├── dashboard/ │ │ │ │ └── analysis.js │ │ │ ├── dashboard.js │ │ │ ├── form/ │ │ │ │ └── basicForm.js │ │ │ ├── form.js │ │ │ ├── global.js │ │ │ ├── menu.js │ │ │ ├── result/ │ │ │ │ ├── fail.js │ │ │ │ └── success.js │ │ │ ├── result.js │ │ │ ├── setting.js │ │ │ └── user.js │ │ ├── en-US.js │ │ ├── zh-CN/ │ │ │ ├── account/ │ │ │ │ └── settings.js │ │ │ ├── account.js │ │ │ ├── dashboard/ │ │ │ │ └── analysis.js │ │ │ ├── dashboard.js │ │ │ ├── form/ │ │ │ │ └── basicForm.js │ │ │ ├── form.js │ │ │ ├── global.js │ │ │ ├── menu.js │ │ │ ├── result/ │ │ │ │ ├── fail.js │ │ │ │ └── success.js │ │ │ ├── result.js │ │ │ ├── setting.js │ │ │ └── user.js │ │ └── zh-CN.js │ ├── main.js │ ├── mock/ │ │ ├── index.js │ │ ├── services/ │ │ │ ├── article.js │ │ │ ├── auth.js │ │ │ ├── manage.js │ │ │ ├── other.js │ │ │ ├── tagCloud.js │ │ │ └── user.js │ │ └── util.js │ ├── permission.js │ ├── router/ │ │ ├── README.md │ │ ├── generator-routers.js │ │ └── index.js │ ├── store/ │ │ ├── app-mixin.js │ │ ├── device-mixin.js │ │ ├── getters.js │ │ ├── i18n-mixin.js │ │ ├── index.js │ │ ├── modules/ │ │ │ ├── app.js │ │ │ ├── async-router.js │ │ │ ├── static-router.js │ │ │ └── user.js │ │ └── mutation-types.js │ ├── utils/ │ │ ├── axios.js │ │ ├── domUtil.js │ │ ├── filter.js │ │ ├── request.js │ │ ├── routeConvert.js │ │ ├── screenLog.js │ │ ├── util.js │ │ └── utils.less │ └── views/ │ ├── 404.vue │ ├── account/ │ │ ├── center/ │ │ │ ├── index.vue │ │ │ └── page/ │ │ │ ├── App.vue │ │ │ ├── Article.vue │ │ │ ├── Project.vue │ │ │ └── index.js │ │ └── settings/ │ │ ├── AvatarModal.vue │ │ ├── BasicSetting.vue │ │ ├── Binding.vue │ │ ├── Custom.vue │ │ ├── Index.vue │ │ ├── Notification.vue │ │ └── Security.vue │ ├── dashboard/ │ │ ├── Analysis.vue │ │ ├── Monitor.vue │ │ ├── TestWork.vue │ │ ├── Workplace.less │ │ └── Workplace.vue │ ├── exception/ │ │ ├── 403.vue │ │ ├── 404.vue │ │ └── 500.vue │ ├── form/ │ │ ├── advancedForm/ │ │ │ ├── AdvancedForm.vue │ │ │ ├── RepositoryForm.vue │ │ │ └── TaskForm.vue │ │ ├── basicForm/ │ │ │ └── index.vue │ │ └── stepForm/ │ │ ├── Step1.vue │ │ ├── Step2.vue │ │ ├── Step3.vue │ │ └── StepForm.vue │ ├── list/ │ │ ├── BasicList.vue │ │ ├── CardList.vue │ │ ├── QueryList.vue │ │ ├── TableList.vue │ │ ├── components/ │ │ │ └── Info.vue │ │ ├── modules/ │ │ │ ├── CreateForm.vue │ │ │ ├── StepByStepModal.vue │ │ │ └── TaskForm.vue │ │ ├── search/ │ │ │ ├── Applications.vue │ │ │ ├── Article.vue │ │ │ ├── Projects.vue │ │ │ ├── SearchLayout.vue │ │ │ └── components/ │ │ │ ├── CardInfo.vue │ │ │ └── IconText.vue │ │ └── table/ │ │ ├── Edit.vue │ │ └── List.vue │ ├── other/ │ │ ├── BigForm.vue │ │ ├── IconSelectorView.vue │ │ ├── PermissionList.vue │ │ ├── RoleList.vue │ │ ├── TableInnerEditList.vue │ │ ├── TreeList.vue │ │ ├── UserList.vue │ │ └── modules/ │ │ ├── OrgModal.vue │ │ └── RoleModal.vue │ ├── profile/ │ │ ├── advanced/ │ │ │ └── Advanced.vue │ │ └── basic/ │ │ └── index.vue │ ├── result/ │ │ ├── Error.vue │ │ └── Success.vue │ └── user/ │ ├── Login.vue │ ├── Register.vue │ └── RegisterResult.vue ├── tests/ │ └── unit/ │ └── .eslintrc.js ├── vue.config.js └── wrangler.jsonc