gitextract_tddldwrd/ ├── .gitignore ├── LICENSE ├── README.md ├── carole.sql ├── docs/ │ ├── .nojekyll │ ├── README.md │ ├── _coverpage.md │ ├── _navbar.md │ ├── _sidebar.md │ ├── code_gen.md │ ├── config.md │ ├── faq.md │ ├── guide.md │ ├── index.html │ └── install.md ├── front/ │ ├── LICENSE │ ├── README.md │ ├── bin/ │ │ ├── build.bat │ │ ├── package.bat │ │ └── run-web.bat │ ├── html/ │ │ └── ie.html │ ├── index.html │ ├── package.json │ ├── src/ │ │ ├── App.vue │ │ ├── api/ │ │ │ ├── login.js │ │ │ ├── menu.js │ │ │ ├── monitor/ │ │ │ │ ├── cache.js │ │ │ │ ├── logininfor.js │ │ │ │ ├── online.js │ │ │ │ └── server.js │ │ │ ├── system/ │ │ │ │ ├── config.js │ │ │ │ ├── dept.js │ │ │ │ ├── dict/ │ │ │ │ │ ├── data.js │ │ │ │ │ └── type.js │ │ │ │ ├── menu.js │ │ │ │ ├── notice.js │ │ │ │ ├── post.js │ │ │ │ ├── role.js │ │ │ │ └── user.js │ │ │ └── tool/ │ │ │ └── gen.js │ │ ├── assets/ │ │ │ └── styles/ │ │ │ ├── btn.scss │ │ │ ├── element-ui.scss │ │ │ ├── index.scss │ │ │ ├── mixin.scss │ │ │ ├── ruoyi.scss │ │ │ ├── sidebar.scss │ │ │ ├── transition.scss │ │ │ └── variables.module.scss │ │ ├── components/ │ │ │ ├── Breadcrumb/ │ │ │ │ └── index.vue │ │ │ ├── Crontab/ │ │ │ │ ├── day.vue │ │ │ │ ├── hour.vue │ │ │ │ ├── index.vue │ │ │ │ ├── min.vue │ │ │ │ ├── month.vue │ │ │ │ ├── result.vue │ │ │ │ ├── second.vue │ │ │ │ ├── week.vue │ │ │ │ └── year.vue │ │ │ ├── DictTag/ │ │ │ │ └── index.vue │ │ │ ├── Editor/ │ │ │ │ └── index.vue │ │ │ ├── FileList/ │ │ │ │ └── index.vue │ │ │ ├── FileUpload/ │ │ │ │ └── index.vue │ │ │ ├── Hamburger/ │ │ │ │ └── index.vue │ │ │ ├── HeaderSearch/ │ │ │ │ └── index.vue │ │ │ ├── IconSelect/ │ │ │ │ ├── index.vue │ │ │ │ └── requireIcons.js │ │ │ ├── ImagePreview/ │ │ │ │ └── index.vue │ │ │ ├── ImageUpload/ │ │ │ │ └── index.vue │ │ │ ├── Pagination/ │ │ │ │ └── index.vue │ │ │ ├── ParentView/ │ │ │ │ └── index.vue │ │ │ ├── RightToolbar/ │ │ │ │ └── index.vue │ │ │ ├── Screenfull/ │ │ │ │ └── index.vue │ │ │ ├── SizeSelect/ │ │ │ │ └── index.vue │ │ │ ├── SvgIcon/ │ │ │ │ ├── index.vue │ │ │ │ └── svgicon.js │ │ │ ├── TopNav/ │ │ │ │ └── index.vue │ │ │ ├── TreeSelect/ │ │ │ │ └── index.vue │ │ │ └── iFrame/ │ │ │ └── index.vue │ │ ├── directive/ │ │ │ ├── common/ │ │ │ │ └── copyText.js │ │ │ ├── index.js │ │ │ └── permission/ │ │ │ ├── hasPermi.js │ │ │ └── hasRole.js │ │ ├── layout/ │ │ │ ├── components/ │ │ │ │ ├── AppMain.vue │ │ │ │ ├── IframeToggle/ │ │ │ │ │ └── index.vue │ │ │ │ ├── InnerLink/ │ │ │ │ │ └── index.vue │ │ │ │ ├── Navbar.vue │ │ │ │ ├── Settings/ │ │ │ │ │ └── index.vue │ │ │ │ ├── Sidebar/ │ │ │ │ │ ├── Link.vue │ │ │ │ │ ├── Logo.vue │ │ │ │ │ ├── SidebarItem.vue │ │ │ │ │ └── index.vue │ │ │ │ ├── TagsView/ │ │ │ │ │ ├── ScrollPane.vue │ │ │ │ │ └── index.vue │ │ │ │ └── index.js │ │ │ └── index.vue │ │ ├── main.js │ │ ├── permission.js │ │ ├── plugins/ │ │ │ ├── auth.js │ │ │ ├── cache.js │ │ │ ├── download.js │ │ │ ├── index.js │ │ │ ├── modal.js │ │ │ └── tab.js │ │ ├── router/ │ │ │ └── index.js │ │ ├── settings.js │ │ ├── store/ │ │ │ ├── index.js │ │ │ └── modules/ │ │ │ ├── app.js │ │ │ ├── dict.js │ │ │ ├── permission.js │ │ │ ├── settings.js │ │ │ ├── tagsView.js │ │ │ └── user.js │ │ ├── utils/ │ │ │ ├── auth.js │ │ │ ├── dict.js │ │ │ ├── dynamicTitle.js │ │ │ ├── errorCode.js │ │ │ ├── index.js │ │ │ ├── jsencrypt.js │ │ │ ├── permission.js │ │ │ ├── request.js │ │ │ ├── ruoyi.js │ │ │ ├── scroll-to.js │ │ │ ├── theme.js │ │ │ └── validate.js │ │ └── views/ │ │ ├── error/ │ │ │ ├── 401.vue │ │ │ └── 404.vue │ │ ├── index.vue │ │ ├── login.vue │ │ ├── monitor/ │ │ │ ├── cache/ │ │ │ │ ├── index.vue │ │ │ │ └── list.vue │ │ │ ├── logininfor/ │ │ │ │ └── index.vue │ │ │ ├── online/ │ │ │ │ └── index.vue │ │ │ └── server/ │ │ │ └── index.vue │ │ ├── redirect/ │ │ │ └── index.vue │ │ ├── system/ │ │ │ ├── config/ │ │ │ │ ├── edit.vue │ │ │ │ └── index.vue │ │ │ ├── dept/ │ │ │ │ └── index.vue │ │ │ ├── dict/ │ │ │ │ ├── data.vue │ │ │ │ └── index.vue │ │ │ ├── menu/ │ │ │ │ └── index.vue │ │ │ ├── notice/ │ │ │ │ └── index.vue │ │ │ ├── post/ │ │ │ │ └── index.vue │ │ │ ├── role/ │ │ │ │ ├── authUser.vue │ │ │ │ ├── index.vue │ │ │ │ └── selectUser.vue │ │ │ └── user/ │ │ │ ├── authRole.vue │ │ │ ├── index.vue │ │ │ └── profile/ │ │ │ ├── index.vue │ │ │ ├── resetPwd.vue │ │ │ ├── userAvatar.vue │ │ │ └── userInfo.vue │ │ └── tool/ │ │ ├── gen/ │ │ │ ├── basicInfoForm.vue │ │ │ ├── editTable.vue │ │ │ ├── excuteSql.vue │ │ │ ├── genInfoForm.vue │ │ │ ├── importTable.vue │ │ │ └── index.vue │ │ └── swagger/ │ │ └── index.vue │ ├── vite/ │ │ └── plugins/ │ │ ├── auto-import.js │ │ ├── compression.js │ │ ├── index.js │ │ ├── setup-extend.js │ │ └── svg-icon.js │ ├── vite.config.js │ └── vite.config.js.timestamp-1718102364365-ed912c0771327.mjs └── server/ ├── .eslintignore ├── .eslintrc.js ├── .prettierrc ├── nest-cli.json ├── package.json ├── src/ │ ├── admin/ │ │ ├── admin.module.ts │ │ ├── common/ │ │ │ ├── captcha/ │ │ │ │ ├── captcha.controller.ts │ │ │ │ └── vo/ │ │ │ │ └── CaptchaImageVo.ts │ │ │ └── upload/ │ │ │ ├── config/ │ │ │ │ └── uploadConfig.ts │ │ │ ├── dto/ │ │ │ │ └── upload.dto.ts │ │ │ ├── upload.controller.ts │ │ │ └── vo/ │ │ │ └── upload.ts │ │ ├── gen/ │ │ │ ├── dto/ │ │ │ │ ├── exucteSqlDto.ts │ │ │ │ ├── queryDatabaseDto.ts │ │ │ │ └── queryGenTableDto.ts │ │ │ └── gen.controller.ts │ │ └── system/ │ │ ├── auth/ │ │ │ ├── auth.controller.ts │ │ │ └── dto/ │ │ │ └── LoginBody.ts │ │ ├── config/ │ │ │ ├── dto/ │ │ │ │ └── index.ts │ │ │ ├── service/ │ │ │ │ └── sys-config.service.ts │ │ │ └── sys-config.controller.ts │ │ ├── dept/ │ │ │ ├── dto/ │ │ │ │ └── index.ts │ │ │ ├── service/ │ │ │ │ └── sys-dept.service.ts │ │ │ └── sys-dept.controller.ts │ │ ├── dict-data/ │ │ │ ├── dict-data.controller.ts │ │ │ ├── dto/ │ │ │ │ ├── createDictDataDto.ts │ │ │ │ ├── queryDictDataDto.ts │ │ │ │ └── updateDictDataDto.ts │ │ │ └── service/ │ │ │ └── sys-dict-data.service.ts │ │ ├── dict-type/ │ │ │ ├── dict-type.controller.ts │ │ │ ├── dto/ │ │ │ │ ├── createDictTypeDto.ts │ │ │ │ ├── queryDictTypeDto.ts │ │ │ │ └── updateDictTypeDto.ts │ │ │ └── service/ │ │ │ └── sys-dict-type.service.ts │ │ ├── logininfor/ │ │ │ ├── dto/ │ │ │ │ └── index.ts │ │ │ ├── service/ │ │ │ │ └── sys-logininfor.service.ts │ │ │ └── sys-logininfor.controller.ts │ │ ├── menu/ │ │ │ ├── dto/ │ │ │ │ ├── index.ts │ │ │ │ └── queryMenuDto.ts │ │ │ ├── service/ │ │ │ │ └── sys-menu.service.ts │ │ │ └── sys-menu.controller.ts │ │ ├── monitor/ │ │ │ └── monitor.controller.ts │ │ ├── notice/ │ │ │ ├── dto/ │ │ │ │ └── index.ts │ │ │ ├── service/ │ │ │ │ └── sys-notice.service.ts │ │ │ └── sys-notice.controller.ts │ │ ├── post/ │ │ │ ├── dto/ │ │ │ │ └── index.ts │ │ │ ├── service/ │ │ │ │ └── sys-post.service.ts │ │ │ └── sys-post.controller.ts │ │ ├── role/ │ │ │ ├── dto/ │ │ │ │ └── index.ts │ │ │ ├── service/ │ │ │ │ └── sys-role.service.ts │ │ │ └── sys-role.controller.ts │ │ └── user/ │ │ ├── dto/ │ │ │ └── index.ts │ │ ├── service/ │ │ │ └── sys-user.service.ts │ │ └── sys-user.controller.ts │ ├── app.module.ts │ ├── common/ │ │ ├── common.module.ts │ │ ├── constant/ │ │ │ ├── Constants.ts │ │ │ ├── GenConstants.ts │ │ │ └── HttpStatus.ts │ │ ├── decorator/ │ │ │ ├── require-premission.decorator.ts │ │ │ ├── require-role.decorator.ts │ │ │ └── throttle-user.ts │ │ ├── domain/ │ │ │ ├── BaseDomain.ts │ │ │ ├── PageDomain.ts │ │ │ ├── TableDataInfo.ts │ │ │ └── queryDomain.ts │ │ ├── exception/ │ │ │ ├── AuthorizationException.ts │ │ │ └── ValidationException.ts │ │ ├── filter/ │ │ │ └── global-error.filter.ts │ │ ├── guard/ │ │ │ ├── permission/ │ │ │ │ ├── permission.guard.ts │ │ │ │ └── role.guard.ts │ │ │ └── throttler/ │ │ │ └── throttler-custom.guard.ts │ │ ├── interceptors/ │ │ │ └── remove-throttle-headers.interceptor.ts │ │ ├── middleware/ │ │ │ └── auth/ │ │ │ └── auth.middleware.ts │ │ ├── pipe/ │ │ │ ├── parse-int-array.pipe.ts │ │ │ └── validation.pipe.ts │ │ ├── prisma-client/ │ │ │ ├── default.d.ts │ │ │ ├── default.js │ │ │ ├── edge.d.ts │ │ │ ├── edge.js │ │ │ ├── index-browser.js │ │ │ ├── index.d.ts │ │ │ ├── index.js │ │ │ ├── libquery_engine-darwin.dylib.node │ │ │ ├── package.json │ │ │ ├── query_engine-windows.dll.node │ │ │ ├── runtime/ │ │ │ │ ├── edge-esm.js │ │ │ │ ├── edge.js │ │ │ │ ├── index-browser.d.ts │ │ │ │ ├── index-browser.js │ │ │ │ ├── library.d.ts │ │ │ │ ├── library.js │ │ │ │ ├── react-native.js │ │ │ │ └── wasm.js │ │ │ ├── schema.prisma │ │ │ ├── wasm.d.ts │ │ │ └── wasm.js │ │ ├── result/ │ │ │ └── Result.ts │ │ ├── service/ │ │ │ ├── auth/ │ │ │ │ └── auth.service.ts │ │ │ ├── gen/ │ │ │ │ ├── gen-template/ │ │ │ │ │ ├── js/ │ │ │ │ │ │ └── api.js.vm │ │ │ │ │ ├── node/ │ │ │ │ │ │ ├── controller.ts.vm │ │ │ │ │ │ ├── dto.ts.vm │ │ │ │ │ │ └── service.ts.vm │ │ │ │ │ ├── sql/ │ │ │ │ │ │ └── sql.vm │ │ │ │ │ └── vue/ │ │ │ │ │ └── index.vue.vm │ │ │ │ └── gen.service.ts │ │ │ └── prisma/ │ │ │ └── prisma.service.ts │ │ ├── swagger/ │ │ │ └── vo/ │ │ │ └── index.ts │ │ ├── types/ │ │ │ └── gen.d.ts │ │ └── utils/ │ │ ├── Valids.ts │ │ ├── cache.ts │ │ ├── captcha.ts │ │ ├── email.ts │ │ ├── index.ts │ │ ├── prismaUtil.js │ │ ├── redisUtils.ts │ │ └── systemInfo.ts │ ├── config-development.json │ ├── config-production.json │ ├── config.ts │ ├── main.ts │ ├── prisma/ │ │ ├── schema/ │ │ │ ├── gen.prisma │ │ │ └── system.prisma │ │ └── schema.prisma │ └── schedule/ │ └── index.ts ├── test/ │ ├── app.e2e-spec.ts │ ├── jest-e2e.json │ └── password.js ├── tsconfig.build.json ├── tsconfig.json ├── 更新prisma的model.bat ├── 更新prisma的model.sh ├── 驼峰生成prisma的model.bat └── 驼峰生成prisma的model.sh