gitextract_koj_vsiu/ ├── .gitignore ├── LICENSE ├── README.md ├── minimalist-application/ │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── minimalist/ │ │ └── application/ │ │ ├── MinimalistBasicApplication.java │ │ └── config/ │ │ ├── GlobalExceptionHandler.java │ │ └── satoken/ │ │ ├── SaTokenConfigure.java │ │ └── SaTokenInterfaceImpl.java │ └── resources/ │ ├── application-dev.yml │ ├── application.yml │ └── logback-dev.xml ├── minimalist-basic/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── minimalist/ │ │ │ └── basic/ │ │ │ ├── config/ │ │ │ │ ├── async/ │ │ │ │ │ ├── AsyncConfig.java │ │ │ │ │ └── ThreadPoolConfig.java │ │ │ │ ├── convert/ │ │ │ │ │ ├── FileSizeDeserializer.java │ │ │ │ │ ├── FileSizeSerializer.java │ │ │ │ │ └── LongArrJsonSerializer.java │ │ │ │ ├── dataConfig/ │ │ │ │ │ └── SystemConfigInit.java │ │ │ │ ├── eDict/ │ │ │ │ │ ├── BeanMethod.java │ │ │ │ │ ├── EDict.java │ │ │ │ │ ├── EDictConstant.java │ │ │ │ │ └── EDictInit.java │ │ │ │ ├── exception/ │ │ │ │ │ └── BusinessException.java │ │ │ │ ├── fileHandler/ │ │ │ │ │ ├── FileManager.java │ │ │ │ │ ├── FileResourcesInit.java │ │ │ │ │ ├── entity/ │ │ │ │ │ │ ├── LocalFileEntity.java │ │ │ │ │ │ ├── MinIOFileEntity.java │ │ │ │ │ │ └── QiNiuFileEntity.java │ │ │ │ │ └── handler/ │ │ │ │ │ ├── FileHandler.java │ │ │ │ │ └── impl/ │ │ │ │ │ ├── LocalFileHandler.java │ │ │ │ │ ├── MinIOFileHandler.java │ │ │ │ │ └── QiNiuFileHandler.java │ │ │ │ ├── mybatis/ │ │ │ │ │ ├── GeneratorCodeHandler.java │ │ │ │ │ ├── InsertFullColumnHandler.java │ │ │ │ │ ├── MyBatisFlexConfiguration.java │ │ │ │ │ ├── UpdateFullColumnHandler.java │ │ │ │ │ └── bo/ │ │ │ │ │ ├── BaseEntity.java │ │ │ │ │ ├── PageReq.java │ │ │ │ │ └── PageResp.java │ │ │ │ ├── redis/ │ │ │ │ │ ├── RedisManager.java │ │ │ │ │ └── RedissonConfiguration.java │ │ │ │ ├── resubmit/ │ │ │ │ │ ├── ReSubmit.java │ │ │ │ │ └── ReSubmitAspect.java │ │ │ │ ├── swagger/ │ │ │ │ │ ├── ParameterHandler.java │ │ │ │ │ ├── PropertyHandler.java │ │ │ │ │ ├── SchemaEnum.java │ │ │ │ │ ├── SchemaEnumHandler.java │ │ │ │ │ └── SwaggerConfig.java │ │ │ │ ├── tenant/ │ │ │ │ │ ├── TenantDatasourceInterceptor.java │ │ │ │ │ ├── TenantIgnore.java │ │ │ │ │ ├── TenantIgnoreAspect.java │ │ │ │ │ ├── TenantInit.java │ │ │ │ │ └── TenantWebMvcConfig.java │ │ │ │ └── trace/ │ │ │ │ ├── TraceIdInterceptor.java │ │ │ │ └── WebMvcConfig.java │ │ │ ├── controller/ │ │ │ │ ├── ConfigController.java │ │ │ │ ├── DeptController.java │ │ │ │ ├── DictController.java │ │ │ │ ├── FileController.java │ │ │ │ ├── NoticeController.java │ │ │ │ ├── PermController.java │ │ │ │ ├── PostController.java │ │ │ │ ├── RoleController.java │ │ │ │ ├── StorageController.java │ │ │ │ ├── TenantController.java │ │ │ │ ├── TenantPackageController.java │ │ │ │ └── UserController.java │ │ │ ├── entity/ │ │ │ │ ├── enums/ │ │ │ │ │ ├── ConfigEnum.java │ │ │ │ │ ├── DeptEnum.java │ │ │ │ │ ├── DictEnum.java │ │ │ │ │ ├── FileEnum.java │ │ │ │ │ ├── NoticeEnum.java │ │ │ │ │ ├── PermEnum.java │ │ │ │ │ ├── PostEnum.java │ │ │ │ │ ├── RespEnum.java │ │ │ │ │ ├── RoleEnum.java │ │ │ │ │ ├── StatusEnum.java │ │ │ │ │ ├── StorageEnum.java │ │ │ │ │ ├── TenantEnum.java │ │ │ │ │ └── UserEnum.java │ │ │ │ ├── po/ │ │ │ │ │ ├── MConfig.java │ │ │ │ │ ├── MDept.java │ │ │ │ │ ├── MDict.java │ │ │ │ │ ├── MFile.java │ │ │ │ │ ├── MNotice.java │ │ │ │ │ ├── MPerms.java │ │ │ │ │ ├── MPost.java │ │ │ │ │ ├── MRole.java │ │ │ │ │ ├── MRoleDept.java │ │ │ │ │ ├── MRolePerm.java │ │ │ │ │ ├── MStorage.java │ │ │ │ │ ├── MTenant.java │ │ │ │ │ ├── MTenantDatasource.java │ │ │ │ │ ├── MTenantPackage.java │ │ │ │ │ ├── MTenantPackagePerm.java │ │ │ │ │ ├── MUser.java │ │ │ │ │ ├── MUserDept.java │ │ │ │ │ ├── MUserPost.java │ │ │ │ │ └── MUserRole.java │ │ │ │ └── vo/ │ │ │ │ ├── config/ │ │ │ │ │ ├── ConfigQueryVO.java │ │ │ │ │ └── ConfigVO.java │ │ │ │ ├── dept/ │ │ │ │ │ ├── DeptQueryVO.java │ │ │ │ │ └── DeptVO.java │ │ │ │ ├── dict/ │ │ │ │ │ ├── DictCacheVO.java │ │ │ │ │ ├── DictDataVO.java │ │ │ │ │ ├── DictInfoVO.java │ │ │ │ │ ├── DictListVO.java │ │ │ │ │ ├── DictQueryVO.java │ │ │ │ │ └── DictVO.java │ │ │ │ ├── file/ │ │ │ │ │ ├── FileQueryVO.java │ │ │ │ │ ├── FileUploadBatchVO.java │ │ │ │ │ ├── FileUploadRespVO.java │ │ │ │ │ ├── FileUploadVO.java │ │ │ │ │ └── FileVO.java │ │ │ │ ├── notice/ │ │ │ │ │ ├── NoticeQueryVO.java │ │ │ │ │ └── NoticeVO.java │ │ │ │ ├── perm/ │ │ │ │ │ ├── PermQueryVO.java │ │ │ │ │ └── PermVO.java │ │ │ │ ├── post/ │ │ │ │ │ ├── PostQueryVO.java │ │ │ │ │ └── PostVO.java │ │ │ │ ├── role/ │ │ │ │ │ ├── RoleQueryVO.java │ │ │ │ │ └── RoleVO.java │ │ │ │ ├── storage/ │ │ │ │ │ ├── StorageQueryVO.java │ │ │ │ │ └── StorageVO.java │ │ │ │ ├── tenant/ │ │ │ │ │ ├── TenantDatasourceVO.java │ │ │ │ │ ├── TenantPackageQueryVO.java │ │ │ │ │ ├── TenantPackageVO.java │ │ │ │ │ ├── TenantQueryVO.java │ │ │ │ │ └── TenantVO.java │ │ │ │ └── user/ │ │ │ │ ├── ImageCaptchaVO.java │ │ │ │ ├── RePasswordVO.java │ │ │ │ ├── UserInfoVO.java │ │ │ │ ├── UserLoginReqVO.java │ │ │ │ ├── UserQueryVO.java │ │ │ │ ├── UserSettingVO.java │ │ │ │ └── UserVO.java │ │ │ ├── manager/ │ │ │ │ ├── TenantManager.java │ │ │ │ └── UserManager.java │ │ │ ├── mapper/ │ │ │ │ ├── MConfigMapper.java │ │ │ │ ├── MDeptMapper.java │ │ │ │ ├── MDictMapper.java │ │ │ │ ├── MFileMapper.java │ │ │ │ ├── MNoticeMapper.java │ │ │ │ ├── MPermsMapper.java │ │ │ │ ├── MPostMapper.java │ │ │ │ ├── MRoleDeptMapper.java │ │ │ │ ├── MRoleMapper.java │ │ │ │ ├── MRolePermMapper.java │ │ │ │ ├── MStorageMapper.java │ │ │ │ ├── MTenantDatasourceMapper.java │ │ │ │ ├── MTenantMapper.java │ │ │ │ ├── MTenantPackageMapper.java │ │ │ │ ├── MTenantPackagePermMapper.java │ │ │ │ ├── MUserDeptMapper.java │ │ │ │ ├── MUserMapper.java │ │ │ │ ├── MUserPostMapper.java │ │ │ │ └── MUserRoleMapper.java │ │ │ ├── mq/ │ │ │ │ ├── SystemConfigSyncConsumer.java │ │ │ │ └── TenantDatasourceSyncConsumer.java │ │ │ ├── service/ │ │ │ │ ├── ConfigService.java │ │ │ │ ├── DeptService.java │ │ │ │ ├── DictService.java │ │ │ │ ├── EDictService.java │ │ │ │ ├── FileService.java │ │ │ │ ├── NoticeService.java │ │ │ │ ├── PermService.java │ │ │ │ ├── PostService.java │ │ │ │ ├── RoleService.java │ │ │ │ ├── StorageService.java │ │ │ │ ├── TenantPackageService.java │ │ │ │ ├── TenantService.java │ │ │ │ ├── UserService.java │ │ │ │ └── impl/ │ │ │ │ ├── ConfigServiceImpl.java │ │ │ │ ├── DeptServiceImpl.java │ │ │ │ ├── DictServiceImpl.java │ │ │ │ ├── EDictServiceImpl.java │ │ │ │ ├── FileServiceImpl.java │ │ │ │ ├── NoticeServiceImpl.java │ │ │ │ ├── PermServiceImpl.java │ │ │ │ ├── PostServiceImpl.java │ │ │ │ ├── RoleServiceImpl.java │ │ │ │ ├── StorageServiceImpl.java │ │ │ │ ├── TenantPackageServiceImpl.java │ │ │ │ ├── TenantServiceImpl.java │ │ │ │ └── UserServiceImpl.java │ │ │ └── utils/ │ │ │ ├── Add.java │ │ │ ├── CommonConstant.java │ │ │ ├── RedisKeyConstant.java │ │ │ ├── TenantUtil.java │ │ │ ├── TextUtil.java │ │ │ ├── UnqIdUtil.java │ │ │ ├── Update.java │ │ │ └── ValidateUtil.java │ │ └── resources/ │ │ └── mappers/ │ │ ├── MConfigMapper.xml │ │ ├── MDeptMapper.xml │ │ ├── MDictMapper.xml │ │ ├── MFileMapper.xml │ │ ├── MNoticeMapper.xml │ │ ├── MPermsMapper.xml │ │ ├── MPostMapper.xml │ │ ├── MRoleDeptMapper.xml │ │ ├── MRoleMapper.xml │ │ ├── MRolePermMapper.xml │ │ ├── MStorageMapper.xml │ │ ├── MTenantDatasourceMapper.xml │ │ ├── MTenantMapper.xml │ │ ├── MTenantPackageMapper.xml │ │ ├── MTenantPackagePermMapper.xml │ │ ├── MUserDeptMapper.xml │ │ ├── MUserMapper.xml │ │ ├── MUserPostMapper.xml │ │ └── MUserRoleMapper.xml │ └── test/ │ └── java/ │ └── com/ │ └── minimalist/ │ └── basic/ │ └── MinimalistBasicApplicationTests.java ├── minimalist-vue3/ │ ├── .gitignore │ ├── index.html │ ├── package.json │ ├── public/ │ │ └── tinymce/ │ │ └── skins/ │ │ ├── content/ │ │ │ ├── dark/ │ │ │ │ └── content.css │ │ │ ├── default/ │ │ │ │ └── content.css │ │ │ ├── document/ │ │ │ │ └── content.css │ │ │ ├── tinymce-5/ │ │ │ │ └── content.css │ │ │ ├── tinymce-5-dark/ │ │ │ │ └── content.css │ │ │ └── writer/ │ │ │ └── content.css │ │ ├── langs/ │ │ │ └── zh-Hans.js │ │ └── ui/ │ │ ├── oxide/ │ │ │ ├── content.css │ │ │ ├── content.inline.css │ │ │ ├── skin.css │ │ │ └── skin.shadowdom.css │ │ ├── oxide-dark/ │ │ │ ├── content.css │ │ │ ├── content.inline.css │ │ │ ├── skin.css │ │ │ └── skin.shadowdom.css │ │ ├── tinymce-5/ │ │ │ ├── content.css │ │ │ ├── content.inline.css │ │ │ ├── skin.css │ │ │ └── skin.shadowdom.css │ │ └── tinymce-5-dark/ │ │ ├── content.css │ │ ├── content.inline.css │ │ ├── skin.css │ │ └── skin.shadowdom.css │ ├── src/ │ │ ├── App.vue │ │ ├── api/ │ │ │ ├── config.js │ │ │ ├── dept.js │ │ │ ├── dict.js │ │ │ ├── file.js │ │ │ ├── notice.js │ │ │ ├── perm.js │ │ │ ├── post.js │ │ │ ├── role.js │ │ │ ├── storage.js │ │ │ ├── tenant.js │ │ │ ├── tenantPackage.js │ │ │ └── user.js │ │ ├── assets/ │ │ │ └── globalStyle.css │ │ ├── axios.js │ │ ├── components/ │ │ │ ├── MHeader.vue │ │ │ ├── MSider.vue │ │ │ ├── PageTabList.vue │ │ │ ├── dictValue/ │ │ │ │ └── index.vue │ │ │ ├── iconSelect/ │ │ │ │ ├── FunctionalIcons.vue │ │ │ │ └── index.vue │ │ │ ├── menuTree/ │ │ │ │ └── index.vue │ │ │ ├── pagination/ │ │ │ │ └── index.vue │ │ │ ├── tinymceEditor/ │ │ │ │ └── index.vue │ │ │ └── uploadFile/ │ │ │ └── index.vue │ │ ├── directives/ │ │ │ ├── permission.js │ │ │ └── role.js │ │ ├── main.js │ │ ├── pages/ │ │ │ ├── 404.vue │ │ │ ├── basic/ │ │ │ │ ├── config/ │ │ │ │ │ ├── ConfigDetail.vue │ │ │ │ │ ├── ConfigEdit.vue │ │ │ │ │ └── ConfigMgt.vue │ │ │ │ ├── dept/ │ │ │ │ │ ├── DeptDetail.vue │ │ │ │ │ ├── DeptEdit.vue │ │ │ │ │ └── DeptMgt.vue │ │ │ │ ├── dict/ │ │ │ │ │ ├── DictDetail.vue │ │ │ │ │ ├── DictEdit.vue │ │ │ │ │ └── DictMgt.vue │ │ │ │ ├── file/ │ │ │ │ │ ├── FileMgt.vue │ │ │ │ │ └── FileSelect.vue │ │ │ │ ├── notice/ │ │ │ │ │ ├── NoticeDetail.vue │ │ │ │ │ ├── NoticeEdit.vue │ │ │ │ │ └── NoticeMgt.vue │ │ │ │ ├── perm/ │ │ │ │ │ ├── PermDetail.vue │ │ │ │ │ ├── PermEdit.vue │ │ │ │ │ └── PermMgt.vue │ │ │ │ ├── post/ │ │ │ │ │ ├── PostDetail.vue │ │ │ │ │ ├── PostEdit.vue │ │ │ │ │ └── PostMgt.vue │ │ │ │ ├── role/ │ │ │ │ │ ├── RoleDetail.vue │ │ │ │ │ ├── RoleEdit.vue │ │ │ │ │ └── RoleMgt.vue │ │ │ │ ├── storage/ │ │ │ │ │ ├── Local.vue │ │ │ │ │ ├── Minio.vue │ │ │ │ │ ├── QiNiu.vue │ │ │ │ │ ├── StorageDetail.vue │ │ │ │ │ ├── StorageEdit.vue │ │ │ │ │ └── StorageMgt.vue │ │ │ │ ├── system/ │ │ │ │ │ └── Swagger.vue │ │ │ │ ├── tenant/ │ │ │ │ │ ├── TenantDetail.vue │ │ │ │ │ ├── TenantEdit.vue │ │ │ │ │ └── TenantMgt.vue │ │ │ │ ├── tenantPackage/ │ │ │ │ │ ├── TenantPackageDetail.vue │ │ │ │ │ ├── TenantPackageEdit.vue │ │ │ │ │ └── TenantPackageMgt.vue │ │ │ │ └── user/ │ │ │ │ ├── UserDetail.vue │ │ │ │ ├── UserEdit.vue │ │ │ │ ├── UserMgt.vue │ │ │ │ └── UserSetting.vue │ │ │ ├── container.vue │ │ │ ├── index.vue │ │ │ └── login.vue │ │ ├── router/ │ │ │ └── index.js │ │ ├── store/ │ │ │ ├── index.js │ │ │ └── module/ │ │ │ └── sys-store.js │ │ └── utils/ │ │ ├── cookie.js │ │ ├── dict.js │ │ ├── msg.js │ │ └── sys.js │ └── vite.config.js ├── pom.xml └── resources/ └── sql/ └── mysql/ ├── 2024-12-03 ~ 2025-03-12期间的SQL变更(第一次使用本项目忽略).sql └── minimalist_全部sql,如果是第一次使用本项目直接执行这个.sql