From 769a6a9c63d904d59f0b7f050ef7af8f78a3c550 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=99=88=E6=B7=B3?= <454313500@qq.com>
Date: Mon, 11 Dec 2023 09:55:12 +0800
Subject: [PATCH] =?UTF-8?q?chore:=20=E6=9E=84=E5=BB=BA=E7=A8=B3=E5=AE=9A?=
=?UTF-8?q?=E7=89=88=E6=9C=AC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.gitignore | 123 +-
LICENSE | 2 +-
README.en.md | 36 +
README.md | 304 +-
Yi.Abp.Net8/Yi.Abp.sln | 201 ++
Yi.Abp.Net8/common.props | 20 +
.../Builder/ApiInfoBuilderExtensions.cs | 16 +
.../Builder/SwaggerBuilderExtensons.cs | 45 +
.../Middlewares/ApiInfoMiddleware.cs | 16 +
.../SwaggerAddExtensions.cs | 55 +
.../Mvc/YiConventionalRouteBuilder.cs | 73 +
.../Mvc/YiServiceConvention.cs | 99 +
.../RemoteServiceSuccessInfo.cs | 57 +
.../Yi.Framework.AspNetCore.csproj | 22 +
.../Yi.Framework.AspNetCore.xml | 42 +
.../YiFrameworkAspNetCoreModule.cs | 17 +
.../Yi.Framework.Core}/Enums/FileTypeEnum.cs | 2 +-
.../Yi.Framework.Core}/Enums/OrderByEnum.cs | 2 +-
.../Enums/QueryOperatorEnum.cs | 2 +-
.../Enums/ResultCodeEnum.cs | 2 +-
.../Extensions}/HttpContextExtensions.cs | 15 +-
.../Helper/AssemblyHelper.cs | 2 +-
.../Yi.Framework.Core}/Helper/Base32Helper.cs | 2 +-
.../Helper/ComputerHelper.cs | 83 +-
.../Helper/ConsoleHelper.cs | 2 +-
.../Yi.Framework.Core}/Helper/DateHelper.cs | 2 +-
.../Helper/DateTimeHelper.cs | 2 +-
.../Helper/DistinctHelper.cs | 2 +-
.../Yi.Framework.Core}/Helper/EnumHelper.cs | 2 +-
.../Helper/ExpressionHelper.cs | 2 +-
.../Yi.Framework.Core}/Helper/FileHelper.cs | 2 +-
.../Yi.Framework.Core}/Helper/HtmlHelper.cs | 2 +-
.../Yi.Framework.Core}/Helper/HttpHelper.cs | 2 +-
.../Yi.Framework.Core}/Helper/IdHelper.cs | 2 +-
.../Yi.Framework.Core}/Helper/IpHelper.cs | 2 +-
.../Yi.Framework.Core}/Helper/JsonHelper.cs | 8 +-
.../Yi.Framework.Core}/Helper/MD5Hepler.cs | 2 +-
.../Yi.Framework.Core}/Helper/MimeHelper.cs | 4 +-
.../Helper/RSAFileHelper.cs | 2 +-
.../Yi.Framework.Core}/Helper/RSAHelper.cs | 2 +-
.../Yi.Framework.Core}/Helper/RandomHelper.cs | 2 +-
.../Yi.Framework.Core}/Helper/ReflexHelper.cs | 2 +-
.../Yi.Framework.Core}/Helper/ShellHelper.cs | 2 +-
.../Yi.Framework.Core}/Helper/StringHelper.cs | 2 +-
.../Yi.Framework.Core}/Helper/TreeHelper.cs | 8 +-
.../Helper/UnicodeHelper.cs | 2 +-
.../Yi.Framework.Core}/Helper/UrlHelper.cs | 2 +-
.../Yi.Framework.Core}/Helper/XmlHelper.cs | 2 +-
.../framework/Yi.Framework.Core}/IOrderNum.cs | 2 +-
.../framework/Yi.Framework.Core}/IState.cs | 2 +-
.../Yi.Framework.Core.csproj | 15 +
.../Yi.Framework.Core/Yi.Framework.Core.xml | 847 ++++++
.../YiFrameworkCoreModule.cs | 9 +
.../IDeletesAppService.cs | 10 +
.../IPageTimeResultRequestDto.cs | 10 +
.../IPagedAllResultRequestDto.cs | 8 +
.../IYiCrudAppService.cs | 30 +
.../PagedAllResultRequestDto.cs | 17 +
...Framework.Ddd.Application.Contracts.csproj | 17 +
...Yi.Framework.Ddd.Application.Contracts.xml | 18 +
...iFrameworkDddApplicationContractsModule.cs | 10 +
.../Yi.Framework.Ddd.Application.csproj | 17 +
.../Yi.Framework.Ddd.Application.xml | 15 +
.../YiCrudAppService.cs | 81 +
.../YiFrameworkDddApplicationModule.cs | 13 +
.../MapsterAutoObjectMappingProvider.cs | 24 +
.../MapsterObjectMapper.cs | 24 +
.../Yi.Framework.Mapster.csproj | 18 +
.../Yi.Framework.Mapster.xml | 8 +
.../YiFrameworkMapsterModule.cs | 21 +
.../ISqlSugarDbContext.cs | 16 +
.../ISqlSugarRepository.cs | 88 +
.../ISugarDbContextProvider.cs | 17 +
...Framework.SqlSugarCore.Abstractions.csproj | 18 +
...Yi.Framework.SqlSugarCore.Abstractions.xml | 8 +
...FrameworkSqlSugarCoreAbstractionsModule.cs | 11 +
.../DbConnOptions.cs | 12 +-
.../Repositories/SqlSugarRepository.cs | 362 +++
.../SqlSugarDbContext.cs | 239 ++
.../SqlSugarLogAuditingStore.cs | 19 +
.../SqlsugarCoreExtensions.cs | 30 +
.../Uow/SqlSugarDatabaseApi.cs | 20 +
.../Uow/SqlSugarTransactionApi.cs | 38 +
.../UnitOfWorkSqlsugarDbContextProvider.cs | 134 +
.../Yi.Framework.SqlSugarCore.csproj | 18 +
.../Yi.Framework.SqlSugarCore.xml | 92 +
.../YiFrameworkSqlSugarCoreModule.cs | 97 +
.../Dtos/AccessLog/AccessLogDto.cs | 10 +
.../Dtos/Argee/AgreeDto.cs | 8 +-
.../Dtos/Article/ArticleAllOutputDto.cs | 16 +
.../Dtos/Article/ArticleCreateInputVo.cs | 6 +-
.../Dtos/Article/ArticleGetListInputVo.cs | 12 +
.../Dtos/Article/ArticleGetListOutputDto.cs | 14 +
.../Dtos/Article/ArticleGetOutputDto.cs | 12 +
.../Dtos/Article/ArticleUpdateInputVo.cs | 10 +
.../Dtos/Banner/BannerCreateInputVo.cs | 8 +-
.../Dtos/Banner/BannerGetListInputVo.cs | 9 +
.../Dtos/Banner/BannerGetListOutputDto.cs | 8 +-
.../Dtos/Banner/BannerGetOutputDto.cs | 8 +-
.../Dtos/Banner/BannerUpdateInputVo.cs | 2 +-
.../Dtos/Comment/CommentCreateInputVo.cs | 17 +-
.../Dtos/Comment/CommentGetListInputVo.cs | 6 +-
.../Dtos/Comment/CommentGetListOutputDto.cs | 18 +-
.../Dtos/Comment/CommentGetOutputDto.cs | 16 +-
.../Dtos/Comment/CommentUpdateInputVo.cs | 2 +-
.../Dtos/Discuss/DiscussCreateInputVo.cs | 11 +-
.../Dtos/Discuss/DiscussGetListInputVo.cs | 8 +-
.../Dtos/Discuss/DiscussGetListOutputDto.cs | 31 +-
.../Dtos/Discuss/DiscussGetOutputDto.cs | 18 +-
.../Dtos/Discuss/DiscussUpdateInputVo.cs | 7 +-
.../Dtos/MyType/MyTypeCreateInputVo.cs | 8 +-
.../Dtos/MyType/MyTypeGetListInputVo.cs | 12 +
.../Dtos/MyType/MyTypeGetListOutputDto.cs | 12 +
.../Dtos/MyType/MyTypeOutputDto.cs | 12 +
.../Dtos/MyType/MyTypeUpdateInputVo.cs | 10 +
.../Dtos/Plate/PlateCreateInputVo.cs | 9 +-
.../Dtos/Plate/PlateGetListInputVo.cs | 7 +-
.../Dtos/Plate/PlateGetListOutputDto.cs | 12 +
.../Dtos/Plate/PlateGetOutputDto.cs | 11 +
.../Dtos/Plate/PlateUpdateInputVo.cs | 9 +
.../IServices}/IAccessLogService.cs | 2 +-
.../IServices/IArticleService.cs | 13 +
.../IServices/IBannerService.cs | 13 +
.../IServices/ICommentService.cs | 13 +
.../IServices/IDiscussService.cs | 13 +
.../IServices/IMyTypeService.cs | 12 +
.../IServices/IPlateService.cs | 13 +
.../IServices}/ISettingService.cs | 4 +-
...Framework.Bbs.Application.Contracts.csproj | 14 +
...Yi.Framework.Bbs.Application.Contracts.xml | 174 ++
...iFrameworkBbsApplicationContractsModule.cs | 15 +
.../Services}/AccessLogService.cs | 27 +-
.../Services}/AgreeService.cs | 30 +-
.../Services}/ArticleService.cs | 55 +-
.../Services/BannerService.cs | 19 +
.../Services}/CommentService.cs | 47 +-
.../Services}/DiscussService.cs | 76 +-
.../Services/MyTypeService.cs | 54 +
.../Services/PlateService.cs | 19 +
.../Services}/SettingService.cs | 8 +-
.../Yi.Framework.Bbs.Application.csproj | 15 +
.../Yi.Framework.Bbs.Application.xml | 163 ++
.../YiFrameworkBbsApplicationModule.cs | 18 +
.../Consts/ArticleConst.cs | 2 +-
.../Consts/CommentConst.cs | 2 +-
.../Consts/DiscussConst.cs | 2 +-
.../Consts/LabelConst.cs | 2 +-
.../Consts/PlateConst.cs | 2 +-
.../Enums/DiscussPermissionTypeEnum.cs | 2 +-
.../Enums/QueryDiscussTypeEnum.cs | 2 +-
.../Yi.Framework.Bbs.Domain.Shared.csproj | 13 +
.../Yi.Framework.Bbs.Domain.Shared.xml | 48 +
.../YiFrameworkBbsDomainSharedModule.cs | 12 +
.../Entities/AccessLogEntity.cs | 16 +
.../Entities/AgreeEntity .cs | 34 +
.../Entities/ArticleEntity.cs | 24 +-
.../Entities/BannerEntity.cs | 25 +
.../Entities/CommentEntity.cs | 32 +-
.../Entities/DiscussEntity.cs | 32 +-
.../Entities/DiscussMyTypeEntity.cs | 16 +
.../Entities/MyTypeEntity.cs | 20 +
.../Entities/PlateEntity.cs | 18 +
.../Entities/SettingEntity.cs | 10 +-
.../Managers}/ForumManager.cs | 22 +-
.../Repositories/IArticleRepository.cs | 16 +
.../Yi.Framework.Bbs.Domain.csproj | 14 +
.../Yi.Framework.Bbs.Domain.xml | 65 +
.../YiFrameworkBbsDomainModule.cs | 16 +
.../Repositories/ArticleRepository.cs | 21 +
.../Yi.Framework.Bbs.SqlSugarCore.csproj | 14 +
.../Yi.Framework.Bbs.SqlSugarCore.xml | 8 +
.../YiFrameworkBbsSqlSugarCoreModule.cs | 15 +
.../Dtos/Account/CaptchaImageDto.cs | 8 +
.../Dtos/Account/LoginInputVo.cs | 8 +-
.../Dtos/Account/PhoneCaptchaImageDto.cs | 7 +
.../Dtos/Account/RegisterDto.cs | 8 +-
.../Dtos/Account/RestPasswordDto.cs | 7 +
.../Dtos/Account/UpdateIconDto.cs | 7 +
.../Dtos/Account/UpdatePasswordDto.cs | 8 +-
.../Dtos/Config/ConfigCreateInputVo.cs | 4 +-
.../Dtos/Config/ConfigGetListInputVo.cs | 5 +-
.../Dtos/Config/ConfigGetListOutputDto.cs | 8 +-
.../Dtos/Config/ConfigGetOutputDto.cs | 7 +-
.../Dtos/Config/ConfigUpdateInputVo.cs | 4 +-
.../Dtos/Dept/DeptCreateInputVo.cs | 14 +-
.../Dtos/Dept/DeptGetListInputVo.cs | 7 +-
.../Dtos/Dept/DeptGetListOutputDto.cs | 12 +-
.../Dtos/Dept/DeptGetOutputDto.cs | 11 +-
.../Dtos/Dept/DeptUpdateInputVo.cs | 14 +-
.../Dictionary/DictionaryCreateInputVo.cs | 11 +-
.../Dictionary/DictionaryGetListInputVo.cs | 4 +-
.../Dictionary/DictionaryGetListOutputDto.cs | 9 +-
.../Dtos/Dictionary/DictionaryGetOutputDto.cs | 9 +-
.../Dictionary/DictionaryUpdateInputVo.cs | 11 +-
.../DictionaryTypeCreateInputVo.cs | 11 +-
.../DictionaryTypeGetListInputVo.cs | 4 +-
.../DictionaryTypeGetListOutputDto.cs | 9 +-
.../DictionaryTypeGetOutputDto.cs | 10 +-
.../DictionaryTypeUpdateInputVo.cs | 10 +
.../Dtos/LoginLog/LoginLogGetListInputVo.cs | 5 +-
.../Dtos/LoginLog/LoginLogGetListOutputDto.cs | 8 +-
.../Dtos/Menu/MenuCreateInputVo.cs | 11 +-
.../Dtos/Menu/MenuGetListInputVo.cs | 4 +-
.../Dtos/Menu/MenuGetListOutputDto.cs | 15 +-
.../Dtos/Menu/MenuGetOutputDto.cs | 15 +-
.../Dtos/Menu/MenuUpdateInputVo.cs | 17 +-
.../MonitorCacheGetListOutputDto.cs | 8 +-
.../MonitorCacheNameGetListOutputDto.cs | 8 +
.../OperLog}/OperationLogGetListInputVo.cs | 5 +-
.../OperLog}/OperationLogGetListOutputDto.cs | 8 +-
.../Dtos/Post/PostCreateInputVo.cs | 12 +-
.../Dtos/Post/PostGetListInputVo.cs | 4 +-
.../Dtos/Post/PostGetListOutputDto.cs | 7 +-
.../Dtos/Post/PostGetOutputDto.cs | 10 +-
.../Dtos/Post/PostUpdateInputVo.cs | 8 +-
.../Role/RoleAuthUserCreateOrDeleteInput.cs | 13 +
.../Dtos/Role/RoleAuthUserGetListInput.cs | 11 +
.../Dtos/Role/RoleCreateInputVo.cs | 9 +-
.../Dtos/Role/RoleGetListInputVo.cs | 5 +-
.../Dtos/Role/RoleGetListOutputDto.cs | 11 +-
.../Dtos/Role/RoleGetOutputDto.cs | 11 +-
.../Dtos/Role/RoleUpdateInputVo.cs | 8 +-
.../Dtos/Role/UpdateDataScpoceInput.cs | 13 +
.../Dtos/Task/TaskCreateInput.cs | 9 +-
.../Dtos/Task/TaskGetListInput.cs | 10 +
.../Dtos/Task/TaskGetListOutput.cs | 11 +-
.../Dtos/Task/TaskGetOutput.cs | 8 +-
.../Dtos/Task/TaskUpdateInput.cs | 11 +-
.../Dtos/User/ProfileUpdateInputVo.cs | 4 +-
.../Dtos/User/UserCreateInputVo.cs | 13 +-
.../Dtos/User/UserGetListInputVo.cs | 7 +-
.../Dtos/User/UserGetListOutputDto.cs | 13 +-
.../Dtos/User/UserGetOutputDto.cs | 23 +-
.../Dtos/User/UserUpdateInputVo.cs | 14 +-
.../IServices/IAccountService.cs | 6 +
.../IServices/IConfigService.cs | 14 +
.../IServices/IDeptService.cs | 14 +
.../IServices/IDictionaryService.cs | 13 +
.../IServices/IDictionaryTypeService.cs | 13 +
.../IServices/IMenuService.cs | 14 +
.../IServices/IMonitorCacheService.cs | 6 +
.../IServices/IMonitorServerService.cs | 6 +
.../IServices/IOnlineService.cs | 6 +
.../IServices/IOperationLogService.cs | 13 +
.../IServices/IPostService.cs | 14 +
.../IServices/IRoleService.cs | 14 +
.../IServices/ITaskService.cs | 6 +
.../IServices/IUserService.cs | 12 +
...ramework.Rbac.Application.Contracts.csproj | 13 +
...i.Framework.Rbac.Application.Contracts.xml | 326 +++
...FrameworkRbacApplicationContractsModule.cs | 16 +
.../Events/LoginEventHandler.cs | 34 +
.../Jobs/TestJob.cs | 19 +
.../Services}/AccountService.cs | 282 +-
.../Services/ConfigService.cs | 40 +
.../Services}/DeptService.cs | 35 +-
.../Services}/DictionaryService.cs | 34 +-
.../Services/DictionaryTypeService.cs | 41 +
.../Services/LoginLogService.cs | 37 +
.../Services/MenuService.cs | 49 +
.../Services/MonitorCacheService.cs | 45 +
.../Services}/MonitorServerService.cs | 26 +-
.../Services}/OnlineService.cs | 24 +-
.../Services/OperationLogService.cs | 40 +
.../Services/PostService.cs | 34 +
.../Services}/RoleService.cs | 83 +-
.../Services/TaskService.cs | 171 ++
.../Services/TestServcie.cs | 120 +
.../Services}/UserService.cs | 91 +-
.../Yi.Framework.Rbac.Application.csproj | 21 +
.../Yi.Framework.Rbac.Application.xml | 296 ++
.../YiFrameworkRbacApplicationModule.cs | 35 +
.../Caches/CaptchaPhoneCacheItem.cs | 26 +
.../Consts/DeptConst.cs | 2 +-
.../Consts/MenuConst.cs | 2 +-
.../Consts/PostConst.cs | 2 +-
.../Consts/RoleConst.cs | 2 +-
.../Consts}/TokenTypeConst.cs | 4 +-
.../Consts/UserConst.cs | 2 +-
.../Dtos/UserRoleMenuDto.cs | 290 ++
.../Dtos/Vue3RouterDto.cs | 8 +-
.../Enums/DataScopeEnum.cs | 2 +-
.../Enums/JobTypeEnum.cs | 2 +-
.../Enums/MenuTypeEnum.cs | 2 +-
.../Enums/SexEnum.cs | 2 +-
.../Etos/LoginEventArgs.cs | 38 +
.../OperLog}/OperEnum.cs | 2 +-
.../OperLog}/OperLogAttribute.cs | 8 +-
.../Options/JwtOptions.cs | 19 +
.../Yi.Framework.Rbac.Domain.Shared.csproj | 23 +
.../Yi.Framework.Rbac.Domain.Shared.xml | 363 +++
.../YiFrameworkRbacDomainSharedModule.cs | 14 +
.../Authorization/DefaultPermissionHandler.cs | 36 +
.../Authorization/IPermissionHandler.cs | 7 +
.../Authorization/PermissionAttribute.cs | 16 +
.../PermissionGlobalAttribute.cs | 33 +-
.../Entities/ConfigEntity.cs | 18 +-
.../Entities/DeptEntity.cs | 33 +-
.../Entities/DictionaryEntity.cs | 20 +-
.../Entities/DictionaryTypeEntity.cs | 21 +-
.../Entities/LoginLogEntity.cs | 83 +
.../Entities/MenuEntity.cs | 37 +-
.../Entities}/OperationLogEntity.cs | 15 +-
.../Entities/PostEntity.cs | 20 +-
.../Entities/RoleDeptEntity.cs | 30 +
.../Entities/RoleEntity.cs | 23 +-
.../Entities/RoleMenuEntity.cs | 28 +
.../Entities/StudentEntity.cs | 13 +
.../Entities/UserEntity.cs | 30 +-
.../Entities/UserPostEntity.cs | 27 +
.../Entities/UserRoleEntity.cs | 17 +-
.../EventHandlers/StudentEventHandler.cs | 16 +
.../Managers}/AccountManager.cs | 42 +-
.../Managers}/RoleManager.cs | 20 +-
.../Managers}/UserManager.cs | 33 +-
.../Operlog/OperLogGlobalAttribute.cs | 25 +-
.../Repositories/IDeptRepository.cs | 11 +
.../Repositories/IUserRepository.cs | 18 +
.../SignalRHubs}/Model/OnlineUserModel.cs | 16 +-
.../SignalRHubs}/OnlineUserHub.cs | 40 +-
.../Yi.Framework.Rbac.Domain.csproj | 28 +
.../Yi.Framework.Rbac.Domain.xml | 853 ++++++
.../YiFrameworkRbacDomainModule.cs | 32 +
.../DataSeeds/DeptDataSeed.cs | 69 +-
.../DataSeeds/DictionaryDataSeed.cs | 81 +-
.../DataSeeds/DictionaryTypeDataSeed.cs | 47 +-
.../DataSeeds/MenuDataSeed.cs | 358 +--
.../DataSeeds/PostDataSeed.cs | 34 +-
.../DataSeeds/RoleDataSeed.cs | 36 +-
.../DataSeeds/UserDataSeed.cs | 87 +
.../Repositories/DeptRepository.cs | 27 +
.../Repositories}/UserRepository.cs | 36 +-
.../Yi.Framework.Rbac.SqlSugarCore.csproj | 15 +
.../Yi.Framework.Rbac.SqlSugarCore.xml | 16 +
.../YiFrameworkRbacSqlSugarCoreModule.cs | 21 +
.../YiRbacDbContext.cs | 44 +
.../Yi.Abp.Application.Contracts.csproj | 16 +
.../Yi.Abp.Application.Contracts.xml | 8 +
.../YiAbpApplicationContractsModule.cs | 20 +
.../Yi.Abp.Application.csproj | 21 +
.../Yi.Abp.Application/Yi.Abp.Application.xml | 2 +-
.../YiAbpApplicationModule.cs | 23 +
.../Yi.Abp.Domain.Shared.csproj | 18 +
.../Yi.Abp.Domain.Shared.xml | 8 +
.../YiAbpDomainSharedModule.cs | 17 +
.../src/Yi.Abp.Domain/Yi.Abp.Domain.csproj | 23 +
.../src/Yi.Abp.Domain/Yi.Abp.Domain.xml | 8 +
.../src/Yi.Abp.Domain/YiAbpDomainModule.cs | 26 +
.../Yi.Abp.SqlSugarCore.csproj | 17 +
.../Yi.Abp.SqlSugarCore.xml | 8 +
.../YiAbpSqlSugarCoreModule.cs | 27 +
.../src/Yi.Abp.SqlSugarCore/YiDbContext.cs | 48 +
Yi.Abp.Net8/src/Yi.Abp.Web/Program.cs | 9 +
.../Yi.Abp.Web/Properties/launchSettings.json | 15 +
Yi.Abp.Net8/src/Yi.Abp.Web/Yi.Abp.Web.csproj | 37 +
Yi.Abp.Net8/src/Yi.Abp.Web/Yi.Abp.Web.xml | 8 +
Yi.Abp.Net8/src/Yi.Abp.Web/YiAbpWebModule.cs | 173 ++
Yi.Abp.Net8/src/Yi.Abp.Web/appsettings.json | 39 +
.../src/Yi.Abp.Web}/ip2region.db | Bin
.../src/Yi.Abp.Web/yi-abp-dev.db | Bin 266240 -> 229376 bytes
Yi.App.Vue3/.env.development | 17 -
Yi.App.Vue3/.env.production | 15 -
Yi.App.Vue3/.env.staging | 15 -
Yi.App.Vue3/.gitignore | 24 -
Yi.App.Vue3/.vscode/extensions.json | 3 -
Yi.App.Vue3/README.md | 16 -
Yi.App.Vue3/components.d.ts | 0
Yi.App.Vue3/index.html | 13 -
Yi.App.Vue3/package-lock.json | 2543 -----------------
Yi.App.Vue3/package.json | 29 -
Yi.App.Vue3/public/icon.jpg | Bin 30944 -> 0 bytes
Yi.App.Vue3/public/vite.svg | 1 -
Yi.App.Vue3/src/App.vue | 16 -
Yi.App.Vue3/src/api/agreeApi.ts | 11 -
Yi.App.Vue3/src/api/articleApi.ts | 18 -
Yi.App.Vue3/src/api/commentApi.ts | 17 -
Yi.App.Vue3/src/api/fileApi.ts | 12 -
Yi.App.Vue3/src/api/login.ts | 59 -
Yi.App.Vue3/src/api/skuApi.ts | 18 -
Yi.App.Vue3/src/api/spuApi.ts | 25 -
Yi.App.Vue3/src/assets/vue.svg | 1 -
Yi.App.Vue3/src/components/AppCard.vue | 61 -
Yi.App.Vue3/src/components/AppCreateTime.vue | 37 -
Yi.App.Vue3/src/components/AppGrid.vue | 34 -
Yi.App.Vue3/src/components/AppUserIcon.vue | 35 -
Yi.App.Vue3/src/components/HelloWorld.vue | 19 -
Yi.App.Vue3/src/layout/bottom/index.vue | 76 -
Yi.App.Vue3/src/layout/head/index.vue | 9 -
Yi.App.Vue3/src/layout/index.vue | 13 -
Yi.App.Vue3/src/layout/main/index.vue | 12 -
Yi.App.Vue3/src/layout/tab/index.vue | 45 -
Yi.App.Vue3/src/main.ts | 17 -
Yi.App.Vue3/src/permission.ts | 52 -
Yi.App.Vue3/src/router/index.ts | 92 -
Yi.App.Vue3/src/store/index.ts | 4 -
Yi.App.Vue3/src/store/modules/user.ts | 87 -
Yi.App.Vue3/src/style.css | 87 -
Yi.App.Vue3/src/type/class/AppGridData.ts | 11 -
.../src/type/interface/ArticleEntity.ts | 8 -
Yi.App.Vue3/src/utils/auth.ts | 13 -
Yi.App.Vue3/src/utils/myaxios.ts | 95 -
Yi.App.Vue3/src/view/login.vue | 140 -
Yi.App.Vue3/src/view/main/follow.vue | 16 -
Yi.App.Vue3/src/view/main/recommend.vue | 301 --
Yi.App.Vue3/src/view/main/square.vue | 1 -
Yi.App.Vue3/src/view/my.vue | 256 --
Yi.App.Vue3/src/view/send/imageText.vue | 185 --
Yi.App.Vue3/src/view/shop/shopDetails.vue | 44 -
Yi.App.Vue3/src/view/shop/shopIndex.vue | 79 -
Yi.App.Vue3/src/view/shop/shopSearch.vue | 39 -
Yi.App.Vue3/src/vite-env.d.ts | 7 -
Yi.App.Vue3/tsconfig.json | 24 -
Yi.App.Vue3/tsconfig.node.json | 9 -
Yi.App.Vue3/vite.config.ts | 53 -
Yi.BBS.Vue3/.env.development | 2 +-
Yi.BBS.Vue3/src/utils/request.js | 2 +-
Yi.Furion.Net6/.template.config/template.json | 23 -
.../AspNetCore/CurrentUserAddExtensions.cs | 21 -
.../AspNetCore/StratUrlsExtensions.cs | 19 -
.../Attributes/PermissionAttribute.cs | 23 -
.../Auth/DefaultPermissionHandler.cs | 34 -
.../Auth/IPermissionHandler.cs | 13 -
.../Const/PathConst.cs | 18 -
.../Accessor/CurrentPrincipalAccessorBase.cs | 32 -
.../HttpContextCurrentPrincipalAccessor.cs | 26 -
.../Accessor/ICurrentPrincipalAccessor.cs | 11 -
.../StaticCurrentPrincipalAccessor.cs | 13 -
.../ThreadCurrentPrincipalAccessor.cs | 13 -
.../CurrentUsers/CurrentUser.cs | 96 -
.../CurrentUsers/ICurrentUser.cs | 33 -
.../Data/Auditing/AuditedObject.cs | 19 -
.../Data/Auditing/IAuditedObject.cs | 18 -
.../Data/Auditing/ICreationAuditedObject.cs | 19 -
.../Data/Auditing/IDeletionAuditedObject.cs | 19 -
.../Data/Auditing/IFullAuditedObject.cs | 19 -
.../Data/Auditing/IHasCreationTime.cs | 10 -
.../Data/Auditing/IHasDeletionTime.cs | 14 -
.../Data/Auditing/IHasEntityVersion.cs | 13 -
.../Data/Auditing/IHasModificationTime.cs | 8 -
.../Data/Auditing/IMayHaveCreator.cs | 13 -
.../Auditing/IModificationAuditedObject.cs | 19 -
.../Data/Auditing/IMustHaveCreator.cs | 13 -
.../Data/DataFiterExtensions.cs | 36 -
.../Data/DataSeeds/AbstractDataSeed.cs | 63 -
.../Data/DataSeeds/DataSeedExecuteHandler.cs | 27 -
.../Data/DataSeeds/DataSeedExtensions.cs | 48 -
.../Data/DataSeeds/IDataSeed.cs | 17 -
.../Data/Entities/IMultiTenant.cs | 13 -
.../Data/Entities/ISoftDelete.cs | 13 -
.../Data/Filters/DefaultDataFilter.cs | 53 -
.../Data/Filters/IDataFilter.cs | 23 -
.../Data/Json/DateTimeJsonConverter.cs | 29 -
.../Data/Json/LongToStringConverter .cs | 45 -
.../Ddd/Dtos/Abstract/IEntityDto.cs | 17 -
.../Ddd/Dtos/Abstract/IHasTotalCount.cs | 13 -
.../Ddd/Dtos/Abstract/IListResult.cs | 13 -
.../Abstract/IPagedAllResultRequestDto.cs | 13 -
.../IPagedAndSortedResultRequestDto.cs | 15 -
.../Ddd/Dtos/Abstract/IPagedResult.cs | 12 -
.../Ddd/Dtos/EntityDto.cs | 32 -
.../Ddd/Dtos/ListResultDto.cs | 30 -
.../Ddd/Dtos/PagedAllResultRequestDto.cs | 23 -
.../Dtos/PagedAndSortedResultRequestDto.cs | 33 -
.../Ddd/Dtos/PagedDto.cs | 20 -
.../Ddd/Dtos/PagedResultDto.cs | 25 -
.../Ddd/Entities/AggregateRoot.cs | 15 -
.../Ddd/Entities/Entity.cs | 58 -
.../Ddd/Entities/IAggregateRoot.cs | 16 -
.../Ddd/Entities/IEntity.cs | 23 -
.../Ddd/Repositories/IRepository.cs | 58 -
.../Services/Abstract/IApplicationService.cs | 12 -
.../Services/Abstract/ICreateAppService.cs | 20 -
.../Abstract/ICreateUpdateAppService.cs | 27 -
.../Ddd/Services/Abstract/ICrudAppService.cs | 42 -
.../Services/Abstract/IDeleteAppService.cs | 13 -
.../Abstract/IPageTimeResultRequestDto.cs | 15 -
.../Services/Abstract/IReadOnlyAppService.cs | 24 -
.../Services/Abstract/IUpdateAppService.cs | 21 -
.../Ddd/Services/ApplicationService.cs | 11 -
.../Ddd/Services/CrudAppService.cs | 176 --
.../Ddd/Services/ReadOnlyAppService.cs | 130 -
.../Exceptions/AuthException.cs | 52 -
.../Exceptions/BusinessException.cs | 48 -
.../Exceptions/ExceptionExtensions.cs | 41 -
.../Exceptions/IHasErrorCode.cs | 7 -
.../Exceptions/IHasErrorDetails.cs | 13 -
.../Exceptions/IHasLogLevel.cs | 14 -
.../Exceptions/UserFriendlyException.cs | 34 -
.../Extensions/Extension.Convert.cs | 446 ---
.../Extensions/Extension.Enum.cs | 90 -
.../Extensions/Extension.Exception.cs | 18 -
.../Extensions/Extension.Linq.cs | 110 -
.../Extensions/Extension.Validate.cs | 44 -
.../Extensions/StringExtension.cs | 232 --
.../Helper/SnowflakeHelper.cs | 102 -
.../Sqlsugar/Filters/SqlsugarDataFilter.cs | 45 -
.../Repositories/SqlsugarRepository.cs | 147 -
.../Sqlsugar/SqlSugarDbContext.cs | 178 --
.../Sqlsugar/SqlsugarCodeFirstExtensions.cs | 61 -
.../Sqlsugar/SqlsugarConst.cs | 15 -
.../Sqlsugar/SqlsugarExtensions.cs | 50 -
.../Sqlsugar/Uow/SqlsugarUnitOfWork.cs | 71 -
.../Yi.Framework.Infrastructure/Startup.cs | 39 -
.../Utils/DisposeAction.cs | 27 -
.../Yi.Framework.Infrastructure.csproj | 21 -
.../Caching/CacheManager.cs | 116 -
.../Caching/CachingConnOptions.cs | 16 -
.../Caching/MemoryCacheClient.cs | 19 -
.../Caching/RedisCacheClient.cs | 27 -
.../DictionaryManager/DictionaryConst.cs | 16 -
.../DictionaryManager/DictionaryTypeConst.cs | 16 -
.../DictionaryTypeService.cs | 39 -
.../DictionaryTypeGetListOutputDto.cs | 16 -
.../DictionaryManager/IDictionaryService.cs | 13 -
.../IDictionaryTypeService.cs | 13 -
.../FileManager/FileEntity.cs | 43 -
.../FileManager/FileGetListOutputDto.cs | 9 -
.../FileManager/FileService.cs | 144 -
.../FileManager/IFileService.cs | 6 -
.../HeiCaptcha/HeiCaptchaExtension.cs | 26 -
.../HeiCaptcha/ImageRgba32Extension.cs | 32 -
.../HeiCaptcha/ImageSharpExtension.cs | 216 --
.../HeiCaptcha/SecurityCodeHelper.cs | 182 --
.../ImageSharp/HeiCaptcha/fonts/Candara.ttf | Bin 219524 -> 0 bytes
.../ImageSharp/HeiCaptcha/fonts/STCAIYUN.ttf | Bin 5673836 -> 0 bytes
.../ImageSharp/HeiCaptcha/fonts/impact.ttf | Bin 214808 -> 0 bytes
.../ImageSharp/HeiCaptcha/fonts/monbaiti.ttf | Bin 290236 -> 0 bytes
.../ImageSharp/ImageSharpManager.cs | 65 -
.../OperLogManager/IOperationLogService.cs | 12 -
.../OperLogManager/OperationLogService.cs | 35 -
.../Sms/Aliyun/SmsAliyunManager.cs | 66 -
.../Sms/Aliyun/SmsAliyunOptions.cs | 14 -
Yi.Furion.Net6/Yi.Framework.Module/Startup.cs | 32 -
.../WeChat/Abstract/IErrorObjct.cs | 12 -
.../WeChat/Abstract/IHasErrcode.cs | 13 -
.../WeChat/Abstract/IHasErrmsg.cs | 13 -
.../WeChat/Enums/PayTradeStateEnum.cs | 19 -
.../WeChat/IWeChatManager.cs | 47 -
.../WeChat/Model/AccessTokenHttpModel.cs | 22 -
.../WeChat/Model/Code2SessionHttpModel.cs | 36 -
.../WeChat/Model/JsApiHttpModel.cs | 98 -
.../WeChat/Model/PayNoticeHttpModel.cs | 288 --
.../WeChat/Model/UniformMessageHttpModel.cs | 142 -
.../WeChat/Model/UnlimitedQRCodeHttpModel.cs | 48 -
.../WeChat/Token/DefaultWeChatToken.cs | 53 -
.../WeChat/Token/IWeChatToken.cs | 14 -
.../WeChat/Token/RedisWeChatToken.cs | 72 -
.../WeChat/WeChatException.cs | 34 -
.../WeChat/WeChatExtensions.cs | 48 -
.../WeChat/WeChatManager.cs | 200 --
.../WeChat/WeChatOptions.cs | 32 -
.../WeChat/WeChatPayHttpHandler.cs | 69 -
.../WebFirstManager/DataSeed/FieldDataSeed.cs | 50 -
.../WebFirstManager/DataSeed/TableDataSeed.cs | 33 -
.../DataSeed/TemplateDataSeed.cs | 22 -
.../WebFirstManager/Domain/CodeFileManager.cs | 53 -
.../WebFirstManager/Domain/DataBaseManger.cs | 16 -
.../Domain/WebTemplateManager.cs | 141 -
.../WebFirstManager/Dtos/Field/FieldDto.cs | 47 -
.../Dtos/Field/FieldGetListInput.cs | 20 -
.../WebFirstManager/Dtos/Table/TableDto.cs | 30 -
.../Dtos/Table/TableGetListInput.cs | 13 -
.../Dtos/Template/TemplateDto.cs | 30 -
.../Dtos/Template/TemplateGetListInput.cs | 19 -
.../Dtos/WebFirst/WebFirstDto.cs | 12 -
.../WebFirstManager/Entities/FieldEntity.cs | 50 -
.../Entities/TableAggregateRoot.cs | 34 -
.../Entities/TemplateEntity.cs | 40 -
.../WebFirstManager/Enums/FieldTypeEnum.cs | 32 -
.../Handler/FieldTemplateHandler.cs | 72 -
.../Handler/HandledTemplate.cs | 15 -
.../Handler/ITemplateHandler.cs | 15 -
.../Handler/ModelTemplateHandler.cs | 21 -
.../Handler/NameSpaceTemplateHandler.cs | 20 -
.../Handler/TemplateHandlerBase.cs | 19 -
.../WebFirstManager/IFieldService.cs | 14 -
.../WebFirstManager/ITableService.cs | 9 -
.../WebFirstManager/ITemplateService.cs | 9 -
.../WebFirstManager/IWebFirstService.cs | 13 -
.../WebFirstManager/Impl/FieldService.cs | 52 -
.../WebFirstManager/Impl/TableService.cs | 14 -
.../WebFirstManager/Impl/TemplateService.cs | 28 -
.../WebFirstManager/Impl/WebFirstService.cs | 109 -
.../Yi.Framework.Module.csproj | 48 -
.../Yi.Framework.Module.xml | 1097 -------
.../App/Services/ITrendsService.cs | 13 -
.../App/Services/Impl/TrendsService.cs | 49 -
.../Bbs/Event/SeeDiscussEventHandler.cs | 29 -
.../Bbs/Services/IArticleService.cs | 13 -
.../Bbs/Services/IBannerService.cs | 13 -
.../Bbs/Services/ICommentService.cs | 13 -
.../Bbs/Services/IDiscussService.cs | 13 -
.../Bbs/Services/ILabelService.cs | 13 -
.../Bbs/Services/IPlateService.cs | 13 -
.../Bbs/Services/Impl/BannerService.cs | 15 -
.../Bbs/Services/Impl/MyTypeService.cs | 55 -
.../Bbs/Services/Impl/PlateService.cs | 15 -
.../Yi.Furion.Application/GlobalUsings.cs | 15 -
.../Rbac/Event/LoginEventHandler.cs | 36 -
.../Rbac/Job/SystemDataJob.cs | 43 -
.../Yi.Furion.Application/Rbac/Job/TestJob.cs | 24 -
.../Rbac/Services/IAccountService.cs | 13 -
.../Rbac/Services/IConfigService.cs | 13 -
.../Rbac/Services/IDeptService.cs | 13 -
.../Rbac/Services/IMenuService.cs | 13 -
.../Rbac/Services/IMonitorCacheService.cs | 12 -
.../Rbac/Services/IMonitorServerService.cs | 12 -
.../Rbac/Services/IOnlineService.cs | 12 -
.../Rbac/Services/IPostService.cs | 13 -
.../Rbac/Services/IRoleService.cs | 13 -
.../Rbac/Services/ITaskService.cs | 12 -
.../Rbac/Services/IUserService.cs | 12 -
.../Rbac/Services/Impl/ConfigService.cs | 34 -
.../Rbac/Services/Impl/LoginLogService.cs | 29 -
.../Rbac/Services/Impl/MenuService.cs | 43 -
.../Rbac/Services/Impl/MonitorCacheService.cs | 53 -
.../Rbac/Services/Impl/PostService.cs | 28 -
.../Rbac/Services/Impl/TaskService.cs | 180 --
.../Yi.Furion.Application.csproj | 29 -
.../Yi.Furion.Application.xml | 651 -----
.../applicationsettings.json | 31 -
.../App/Dtos/Trends/TrendsCreateInput.cs | 14 -
.../App/Dtos/Trends/TrendsGetListInput.cs | 12 -
.../App/Dtos/Trends/TrendsGetListOutputDto.cs | 20 -
.../App/Dtos/Trends/TrendsGetOutputDto.cs | 21 -
.../App/Dtos/Trends/TrendsUpdateInput.cs | 10 -
.../App/Entities/TrendsEntity.cs | 38 -
.../Bbs/DataSeeds/ConfigDataSeed.cs | 57 -
.../Bbs/Dtos/AccessLog/AccessLogDto.cs | 17 -
.../Bbs/Dtos/Article/ArticleAllOutputDto.cs | 18 -
.../Bbs/Dtos/Article/ArticleGetListInputVo.cs | 13 -
.../Dtos/Article/ArticleGetListOutputDto.cs | 16 -
.../Bbs/Dtos/Article/ArticleGetOutputDto.cs | 13 -
.../Bbs/Dtos/Article/ArticleUpdateInputVo.cs | 10 -
.../Bbs/Dtos/Banner/BannerGetListInputVo.cs | 9 -
.../Bbs/Dtos/MyType/MyTypeGetListInputVo.cs | 19 -
.../Bbs/Dtos/MyType/MyTypeGetListOutputDto.cs | 13 -
.../Bbs/Dtos/MyType/MyTypeOutputDto.cs | 13 -
.../Bbs/Dtos/MyType/MyTypeUpdateInputVo.cs | 17 -
.../Bbs/Dtos/Plate/PlateGetListOutputDto.cs | 20 -
.../Bbs/Dtos/Plate/PlateGetOutputDto.cs | 12 -
.../Bbs/Dtos/Plate/PlateUpdateInputVo.cs | 18 -
.../Bbs/Entities/AccessLogEntity.cs | 22 -
.../Bbs/Entities/AgreeEntity .cs | 35 -
.../Bbs/Entities/BannerEntity.cs | 26 -
.../Bbs/Entities/DiscussMyTypeEntity.cs | 21 -
.../Bbs/Entities/MyTypeEntity.cs | 20 -
.../Bbs/Entities/PlateEntity.cs | 18 -
.../Bbs/Etos/SeeDiscussEventSource.cs | 32 -
Yi.Furion.Net6/Yi.Furion.Core/GlobalUsings.cs | 17 -
.../Rbac/DataSeeds/UserDataSeed.cs | 88 -
.../Rbac/Dtos/Account/CaptchaImageDto.cs | 15 -
.../Rbac/Dtos/Account/PhoneCaptchaImageDto.cs | 13 -
.../Rbac/Dtos/Account/RestPasswordDto.cs | 13 -
.../Rbac/Dtos/Account/UpdateIconDto.cs | 13 -
.../MonitorCacheNameGetListOutputDto.cs | 14 -
.../Role/RoleAuthUserCreateOrDeleteInput.cs | 18 -
.../Dtos/Role/RoleAuthUserGetListInput.cs | 16 -
.../Rbac/Dtos/Role/UpdateDataScpoceInput.cs | 18 -
.../Rbac/Dtos/Task/TaskGetListInput.cs | 15 -
.../Rbac/Dtos/UserRoleMenuDto.cs | 15 -
.../Rbac/Entities/LoginLogEntity.cs | 92 -
.../Rbac/Entities/RoleDeptEntity.cs | 34 -
.../Rbac/Entities/RoleMenuEntity.cs | 32 -
.../Rbac/Entities/UserPostEntity.cs | 31 -
.../Rbac/Etos/LoginEventSource.cs | 34 -
.../Yi.Furion.Core/Yi.Furion.Core.csproj | 31 -
.../Yi.Furion.Core/Yi.Furion.Core.xml | 1154 --------
.../Repositories/IArticleRepository.cs | 14 -
.../Repositories/IDeptRepository.cs | 16 -
.../Repositories/IUserRepository.cs | 18 -
.../Repositories/Impl/ArticleRepository.cs | 24 -
.../Repositories/Impl/DeptRepository.cs | 33 -
.../Yi.Furion.Sqlsugar.Core/Startup.cs | 25 -
.../Yi.Furion.Sqlsugar.Core.csproj | 14 -
.../Yi.Furion.Sqlsugar.Core/YiDbContext.cs | 111 -
.../Yi.Furion.Web.Core/Handlers/JwtHandler.cs | 16 -
Yi.Furion.Net6/Yi.Furion.Web.Core/Startup.cs | 90 -
.../Yi.Furion.Web.Core.csproj | 19 -
.../.config/dotnet-tools.json | 12 -
Yi.Furion.Net6/Yi.Furion.Web.Entry/Program.cs | 8 -
.../Properties/launchSettings.json | 23 -
.../Yi.Furion.Web.Entry/SingleFilePublish.cs | 25 -
.../Yi.Furion.Web.Entry.csproj | 71 -
.../Yi.Furion.Web.Entry/appsettings.json | 82 -
Yi.Furion.Net6/Yi.Furion.Web.Entry/end.sh | 3 -
Yi.Furion.Net6/Yi.Furion.Web.Entry/start.sh | 4 -
Yi.Furion.Net6/Yi.Furion.sln | 67 -
Yi.RuoYi.Vue3/.env.development | 6 +-
Yi.RuoYi.Vue3/package.json | 3 +-
Yi.RuoYi.Vue3/src/App.vue | 8 +-
Yi.RuoYi.Vue3/src/api/system/config.js | 5 +-
Yi.RuoYi.Vue3/src/api/system/dept.js | 7 +-
Yi.RuoYi.Vue3/src/api/system/dict/data.js | 5 +-
Yi.RuoYi.Vue3/src/api/system/dict/type.js | 3 +-
Yi.RuoYi.Vue3/src/api/system/menu.js | 9 +-
Yi.RuoYi.Vue3/src/api/system/notice.js | 5 +-
Yi.RuoYi.Vue3/src/api/system/post.js | 5 +-
Yi.RuoYi.Vue3/src/api/system/role.js | 3 +-
Yi.RuoYi.Vue3/src/api/system/user.js | 5 +-
.../src/components/Pagination/index.vue | 10 +-
Yi.RuoYi.Vue3/src/main.js | 5 -
Yi.RuoYi.Vue3/src/router/index.js | 2 +-
Yi.RuoYi.Vue3/src/utils/request.js | 59 +-
Yi.RuoYi.Vue3/src/utils/signalR.js | 40 +-
.../src/views/ERP/material/index.vue | 12 +-
.../src/views/ERP/purchase/index.vue | 22 +-
Yi.RuoYi.Vue3/src/views/ERP/stock/index.vue | 12 +-
.../src/views/ERP/supplier/index.vue | 12 +-
Yi.RuoYi.Vue3/src/views/ERP/unit/index.vue | 12 +-
.../src/views/ERP/warehouse/index.vue | 12 +-
Yi.RuoYi.Vue3/src/views/bbs/article/index.vue | 12 +-
.../src/views/erp/material/index.vue | 12 +-
.../src/views/erp/purchase/index.vue | 22 +-
Yi.RuoYi.Vue3/src/views/erp/stock/index.vue | 12 +-
.../src/views/erp/supplier/index.vue | 12 +-
Yi.RuoYi.Vue3/src/views/erp/unit/index.vue | 12 +-
.../src/views/erp/warehouse/index.vue | 12 +-
Yi.RuoYi.Vue3/src/views/login.vue | 8 +-
Yi.RuoYi.Vue3/src/views/monitor/job/index.vue | 12 +-
Yi.RuoYi.Vue3/src/views/monitor/job/log.vue | 10 +-
.../src/views/monitor/logininfor/index.vue | 20 +-
.../src/views/monitor/online/index.vue | 18 +-
.../src/views/monitor/operlog/index.vue | 24 +-
.../src/views/system/config/index.vue | 12 +-
Yi.RuoYi.Vue3/src/views/system/dict/data.vue | 14 +-
Yi.RuoYi.Vue3/src/views/system/dict/index.vue | 29 +-
Yi.RuoYi.Vue3/src/views/system/menu/index.vue | 10 +-
.../src/views/system/notice/index.vue | 10 +-
Yi.RuoYi.Vue3/src/views/system/post/index.vue | 12 +-
.../src/views/system/role/authUser.vue | 12 +-
Yi.RuoYi.Vue3/src/views/system/role/index.vue | 10 +-
.../src/views/system/role/selectUser.vue | 10 +-
.../src/views/system/user/authRole.vue | 10 +-
Yi.RuoYi.Vue3/src/views/system/user/index.vue | 12 +-
Yi.RuoYi.Vue3/src/views/template.txt | 12 +-
.../src/views/tool/gen/editTable.vue | 2 +-
.../src/views/tool/gen/importTable.vue | 10 +-
Yi.RuoYi.Vue3/src/views/tool/gen/index.vue | 16 +-
.../webfirst/field/components/FieldList.vue | 12 +-
.../src/views/webfirst/table/index.vue | 12 +-
.../src/views/webfirst/template/index.vue | 12 +-
Yi.RuoYi.Vue3/vite.config.js | 4 +-
readme/1.png | Bin 222460 -> 0 bytes
readme/10.png | Bin 133119 -> 0 bytes
readme/1696760969217.jpg | Bin 58728 -> 0 bytes
readme/1696761014270.jpg | Bin 102894 -> 0 bytes
readme/2.png | Bin 141482 -> 0 bytes
readme/3.png | Bin 95615 -> 0 bytes
readme/4.png | Bin 159220 -> 0 bytes
readme/5.png | Bin 120167 -> 0 bytes
readme/6.png | Bin 101321 -> 0 bytes
readme/7.png | Bin 151447 -> 0 bytes
readme/8.png | Bin 115887 -> 0 bytes
readme/9.png | Bin 124786 -> 0 bytes
readme/git提交规范.txt | 12 -
756 files changed, 10431 insertions(+), 19867 deletions(-)
create mode 100644 README.en.md
create mode 100644 Yi.Abp.Net8/Yi.Abp.sln
create mode 100644 Yi.Abp.Net8/common.props
create mode 100644 Yi.Abp.Net8/framework/Yi.Framework.AspNetCore/Microsoft/AspNetCore/Builder/ApiInfoBuilderExtensions.cs
create mode 100644 Yi.Abp.Net8/framework/Yi.Framework.AspNetCore/Microsoft/AspNetCore/Builder/SwaggerBuilderExtensons.cs
create mode 100644 Yi.Abp.Net8/framework/Yi.Framework.AspNetCore/Microsoft/AspNetCore/Middlewares/ApiInfoMiddleware.cs
create mode 100644 Yi.Abp.Net8/framework/Yi.Framework.AspNetCore/Microsoft/Extensions/DependencyInjection/SwaggerAddExtensions.cs
create mode 100644 Yi.Abp.Net8/framework/Yi.Framework.AspNetCore/Mvc/YiConventionalRouteBuilder.cs
create mode 100644 Yi.Abp.Net8/framework/Yi.Framework.AspNetCore/Mvc/YiServiceConvention.cs
create mode 100644 Yi.Abp.Net8/framework/Yi.Framework.AspNetCore/RemoteServiceSuccessInfo.cs
create mode 100644 Yi.Abp.Net8/framework/Yi.Framework.AspNetCore/Yi.Framework.AspNetCore.csproj
create mode 100644 Yi.Abp.Net8/framework/Yi.Framework.AspNetCore/Yi.Framework.AspNetCore.xml
create mode 100644 Yi.Abp.Net8/framework/Yi.Framework.AspNetCore/YiFrameworkAspNetCoreModule.cs
rename {Yi.Furion.Net6/Yi.Framework.Infrastructure => Yi.Abp.Net8/framework/Yi.Framework.Core}/Enums/FileTypeEnum.cs (87%)
rename {Yi.Furion.Net6/Yi.Framework.Infrastructure => Yi.Abp.Net8/framework/Yi.Framework.Core}/Enums/OrderByEnum.cs (81%)
rename {Yi.Furion.Net6/Yi.Framework.Infrastructure => Yi.Abp.Net8/framework/Yi.Framework.Core}/Enums/QueryOperatorEnum.cs (97%)
rename {Yi.Furion.Net6/Yi.Framework.Infrastructure => Yi.Abp.Net8/framework/Yi.Framework.Core}/Enums/ResultCodeEnum.cs (92%)
rename {Yi.Furion.Net6/Yi.Framework.Infrastructure/AspNetCore => Yi.Abp.Net8/framework/Yi.Framework.Core/Extensions}/HttpContextExtensions.cs (90%)
rename {Yi.Furion.Net6/Yi.Framework.Infrastructure => Yi.Abp.Net8/framework/Yi.Framework.Core}/Helper/AssemblyHelper.cs (98%)
rename {Yi.Furion.Net6/Yi.Framework.Infrastructure => Yi.Abp.Net8/framework/Yi.Framework.Core}/Helper/Base32Helper.cs (98%)
rename {Yi.Furion.Net6/Yi.Framework.Infrastructure => Yi.Abp.Net8/framework/Yi.Framework.Core}/Helper/ComputerHelper.cs (73%)
rename {Yi.Furion.Net6/Yi.Framework.Infrastructure => Yi.Abp.Net8/framework/Yi.Framework.Core}/Helper/ConsoleHelper.cs (97%)
rename {Yi.Furion.Net6/Yi.Framework.Infrastructure => Yi.Abp.Net8/framework/Yi.Framework.Core}/Helper/DateHelper.cs (97%)
rename {Yi.Furion.Net6/Yi.Framework.Infrastructure => Yi.Abp.Net8/framework/Yi.Framework.Core}/Helper/DateTimeHelper.cs (99%)
rename {Yi.Furion.Net6/Yi.Framework.Infrastructure => Yi.Abp.Net8/framework/Yi.Framework.Core}/Helper/DistinctHelper.cs (96%)
rename {Yi.Furion.Net6/Yi.Framework.Infrastructure => Yi.Abp.Net8/framework/Yi.Framework.Core}/Helper/EnumHelper.cs (93%)
rename {Yi.Furion.Net6/Yi.Framework.Infrastructure => Yi.Abp.Net8/framework/Yi.Framework.Core}/Helper/ExpressionHelper.cs (98%)
rename {Yi.Furion.Net6/Yi.Framework.Infrastructure => Yi.Abp.Net8/framework/Yi.Framework.Core}/Helper/FileHelper.cs (99%)
rename {Yi.Furion.Net6/Yi.Framework.Infrastructure => Yi.Abp.Net8/framework/Yi.Framework.Core}/Helper/HtmlHelper.cs (93%)
rename {Yi.Furion.Net6/Yi.Framework.Infrastructure => Yi.Abp.Net8/framework/Yi.Framework.Core}/Helper/HttpHelper.cs (99%)
rename {Yi.Furion.Net6/Yi.Framework.Infrastructure => Yi.Abp.Net8/framework/Yi.Framework.Core}/Helper/IdHelper.cs (87%)
rename {Yi.Furion.Net6/Yi.Framework.Infrastructure => Yi.Abp.Net8/framework/Yi.Framework.Core}/Helper/IpHelper.cs (97%)
rename {Yi.Furion.Net6/Yi.Framework.Infrastructure => Yi.Abp.Net8/framework/Yi.Framework.Core}/Helper/JsonHelper.cs (98%)
rename {Yi.Furion.Net6/Yi.Framework.Infrastructure => Yi.Abp.Net8/framework/Yi.Framework.Core}/Helper/MD5Hepler.cs (99%)
rename {Yi.Furion.Net6/Yi.Framework.Infrastructure => Yi.Abp.Net8/framework/Yi.Framework.Core}/Helper/MimeHelper.cs (99%)
rename {Yi.Furion.Net6/Yi.Framework.Infrastructure => Yi.Abp.Net8/framework/Yi.Framework.Core}/Helper/RSAFileHelper.cs (95%)
rename {Yi.Furion.Net6/Yi.Framework.Infrastructure => Yi.Abp.Net8/framework/Yi.Framework.Core}/Helper/RSAHelper.cs (99%)
rename {Yi.Furion.Net6/Yi.Framework.Infrastructure => Yi.Abp.Net8/framework/Yi.Framework.Core}/Helper/RandomHelper.cs (98%)
rename {Yi.Furion.Net6/Yi.Framework.Infrastructure => Yi.Abp.Net8/framework/Yi.Framework.Core}/Helper/ReflexHelper.cs (97%)
rename {Yi.Furion.Net6/Yi.Framework.Infrastructure => Yi.Abp.Net8/framework/Yi.Framework.Core}/Helper/ShellHelper.cs (97%)
rename {Yi.Furion.Net6/Yi.Framework.Infrastructure => Yi.Abp.Net8/framework/Yi.Framework.Core}/Helper/StringHelper.cs (98%)
rename {Yi.Furion.Net6/Yi.Framework.Infrastructure => Yi.Abp.Net8/framework/Yi.Framework.Core}/Helper/TreeHelper.cs (91%)
rename {Yi.Furion.Net6/Yi.Framework.Infrastructure => Yi.Abp.Net8/framework/Yi.Framework.Core}/Helper/UnicodeHelper.cs (97%)
rename {Yi.Furion.Net6/Yi.Framework.Infrastructure => Yi.Abp.Net8/framework/Yi.Framework.Core}/Helper/UrlHelper.cs (93%)
rename {Yi.Furion.Net6/Yi.Framework.Infrastructure => Yi.Abp.Net8/framework/Yi.Framework.Core}/Helper/XmlHelper.cs (96%)
rename {Yi.Furion.Net6/Yi.Framework.Infrastructure/Data/Entities => Yi.Abp.Net8/framework/Yi.Framework.Core}/IOrderNum.cs (79%)
rename {Yi.Furion.Net6/Yi.Framework.Infrastructure/Data/Entities => Yi.Abp.Net8/framework/Yi.Framework.Core}/IState.cs (79%)
create mode 100644 Yi.Abp.Net8/framework/Yi.Framework.Core/Yi.Framework.Core.csproj
create mode 100644 Yi.Abp.Net8/framework/Yi.Framework.Core/Yi.Framework.Core.xml
create mode 100644 Yi.Abp.Net8/framework/Yi.Framework.Core/YiFrameworkCoreModule.cs
create mode 100644 Yi.Abp.Net8/framework/Yi.Framework.Ddd.Application.Contracts/IDeletesAppService.cs
create mode 100644 Yi.Abp.Net8/framework/Yi.Framework.Ddd.Application.Contracts/IPageTimeResultRequestDto.cs
create mode 100644 Yi.Abp.Net8/framework/Yi.Framework.Ddd.Application.Contracts/IPagedAllResultRequestDto.cs
create mode 100644 Yi.Abp.Net8/framework/Yi.Framework.Ddd.Application.Contracts/IYiCrudAppService.cs
create mode 100644 Yi.Abp.Net8/framework/Yi.Framework.Ddd.Application.Contracts/PagedAllResultRequestDto.cs
create mode 100644 Yi.Abp.Net8/framework/Yi.Framework.Ddd.Application.Contracts/Yi.Framework.Ddd.Application.Contracts.csproj
create mode 100644 Yi.Abp.Net8/framework/Yi.Framework.Ddd.Application.Contracts/Yi.Framework.Ddd.Application.Contracts.xml
create mode 100644 Yi.Abp.Net8/framework/Yi.Framework.Ddd.Application.Contracts/YiFrameworkDddApplicationContractsModule.cs
create mode 100644 Yi.Abp.Net8/framework/Yi.Framework.Ddd.Application/Yi.Framework.Ddd.Application.csproj
create mode 100644 Yi.Abp.Net8/framework/Yi.Framework.Ddd.Application/Yi.Framework.Ddd.Application.xml
create mode 100644 Yi.Abp.Net8/framework/Yi.Framework.Ddd.Application/YiCrudAppService.cs
create mode 100644 Yi.Abp.Net8/framework/Yi.Framework.Ddd.Application/YiFrameworkDddApplicationModule.cs
create mode 100644 Yi.Abp.Net8/framework/Yi.Framework.Mapster/MapsterAutoObjectMappingProvider.cs
create mode 100644 Yi.Abp.Net8/framework/Yi.Framework.Mapster/MapsterObjectMapper.cs
create mode 100644 Yi.Abp.Net8/framework/Yi.Framework.Mapster/Yi.Framework.Mapster.csproj
create mode 100644 Yi.Abp.Net8/framework/Yi.Framework.Mapster/Yi.Framework.Mapster.xml
create mode 100644 Yi.Abp.Net8/framework/Yi.Framework.Mapster/YiFrameworkMapsterModule.cs
create mode 100644 Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore.Abstractions/ISqlSugarDbContext.cs
create mode 100644 Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore.Abstractions/ISqlSugarRepository.cs
create mode 100644 Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore.Abstractions/ISugarDbContextProvider.cs
create mode 100644 Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore.Abstractions/Yi.Framework.SqlSugarCore.Abstractions.csproj
create mode 100644 Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore.Abstractions/Yi.Framework.SqlSugarCore.Abstractions.xml
create mode 100644 Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore.Abstractions/YiFrameworkSqlSugarCoreAbstractionsModule.cs
rename {Yi.Furion.Net6/Yi.Framework.Infrastructure/Sqlsugar => Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore}/DbConnOptions.cs (85%)
create mode 100644 Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore/Repositories/SqlSugarRepository.cs
create mode 100644 Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore/SqlSugarDbContext.cs
create mode 100644 Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore/SqlSugarLogAuditingStore.cs
create mode 100644 Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore/SqlsugarCoreExtensions.cs
create mode 100644 Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore/Uow/SqlSugarDatabaseApi.cs
create mode 100644 Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore/Uow/SqlSugarTransactionApi.cs
create mode 100644 Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore/Uow/UnitOfWorkSqlsugarDbContextProvider.cs
create mode 100644 Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore/Yi.Framework.SqlSugarCore.csproj
create mode 100644 Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore/Yi.Framework.SqlSugarCore.xml
create mode 100644 Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore/YiFrameworkSqlSugarCoreModule.cs
create mode 100644 Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application.Contracts/Dtos/AccessLog/AccessLogDto.cs
rename {Yi.Furion.Net6/Yi.Furion.Core/Bbs => Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application.Contracts}/Dtos/Argee/AgreeDto.cs (72%)
create mode 100644 Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application.Contracts/Dtos/Article/ArticleAllOutputDto.cs
rename {Yi.Furion.Net6/Yi.Furion.Core/Bbs => Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application.Contracts}/Dtos/Article/ArticleCreateInputVo.cs (68%)
create mode 100644 Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application.Contracts/Dtos/Article/ArticleGetListInputVo.cs
create mode 100644 Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application.Contracts/Dtos/Article/ArticleGetListOutputDto.cs
create mode 100644 Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application.Contracts/Dtos/Article/ArticleGetOutputDto.cs
create mode 100644 Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application.Contracts/Dtos/Article/ArticleUpdateInputVo.cs
rename {Yi.Furion.Net6/Yi.Furion.Core/Bbs => Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application.Contracts}/Dtos/Banner/BannerCreateInputVo.cs (61%)
create mode 100644 Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application.Contracts/Dtos/Banner/BannerGetListInputVo.cs
rename {Yi.Furion.Net6/Yi.Furion.Core/Bbs => Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application.Contracts}/Dtos/Banner/BannerGetListOutputDto.cs (50%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Bbs => Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application.Contracts}/Dtos/Banner/BannerGetOutputDto.cs (51%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Bbs => Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application.Contracts}/Dtos/Banner/BannerUpdateInputVo.cs (74%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Bbs => Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application.Contracts}/Dtos/Comment/CommentCreateInputVo.cs (56%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Bbs => Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application.Contracts}/Dtos/Comment/CommentGetListInputVo.cs (63%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Bbs => Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application.Contracts}/Dtos/Comment/CommentGetListOutputDto.cs (64%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Bbs => Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application.Contracts}/Dtos/Comment/CommentGetOutputDto.cs (55%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Bbs => Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application.Contracts}/Dtos/Comment/CommentUpdateInputVo.cs (67%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Bbs => Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application.Contracts}/Dtos/Discuss/DiscussCreateInputVo.cs (75%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Bbs => Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application.Contracts}/Dtos/Discuss/DiscussGetListInputVo.cs (63%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Bbs => Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application.Contracts}/Dtos/Discuss/DiscussGetListOutputDto.cs (76%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Bbs => Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application.Contracts}/Dtos/Discuss/DiscussGetOutputDto.cs (67%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Bbs => Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application.Contracts}/Dtos/Discuss/DiscussUpdateInputVo.cs (76%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Bbs => Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application.Contracts}/Dtos/MyType/MyTypeCreateInputVo.cs (62%)
create mode 100644 Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application.Contracts/Dtos/MyType/MyTypeGetListInputVo.cs
create mode 100644 Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application.Contracts/Dtos/MyType/MyTypeGetListOutputDto.cs
create mode 100644 Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application.Contracts/Dtos/MyType/MyTypeOutputDto.cs
create mode 100644 Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application.Contracts/Dtos/MyType/MyTypeUpdateInputVo.cs
rename {Yi.Furion.Net6/Yi.Furion.Core/Bbs => Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application.Contracts}/Dtos/Plate/PlateCreateInputVo.cs (56%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Bbs => Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application.Contracts}/Dtos/Plate/PlateGetListInputVo.cs (52%)
create mode 100644 Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application.Contracts/Dtos/Plate/PlateGetListOutputDto.cs
create mode 100644 Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application.Contracts/Dtos/Plate/PlateGetOutputDto.cs
create mode 100644 Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application.Contracts/Dtos/Plate/PlateUpdateInputVo.cs
rename {Yi.Furion.Net6/Yi.Furion.Application/Bbs/Services => Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application.Contracts/IServices}/IAccessLogService.cs (74%)
create mode 100644 Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application.Contracts/IServices/IArticleService.cs
create mode 100644 Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application.Contracts/IServices/IBannerService.cs
create mode 100644 Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application.Contracts/IServices/ICommentService.cs
create mode 100644 Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application.Contracts/IServices/IDiscussService.cs
create mode 100644 Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application.Contracts/IServices/IMyTypeService.cs
create mode 100644 Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application.Contracts/IServices/IPlateService.cs
rename {Yi.Furion.Net6/Yi.Furion.Application/Bbs/Services => Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application.Contracts/IServices}/ISettingService.cs (73%)
create mode 100644 Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application.Contracts/Yi.Framework.Bbs.Application.Contracts.csproj
create mode 100644 Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application.Contracts/Yi.Framework.Bbs.Application.Contracts.xml
create mode 100644 Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application.Contracts/YiFrameworkBbsApplicationContractsModule.cs
rename {Yi.Furion.Net6/Yi.Furion.Application/Bbs/Services/Impl => Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application/Services}/AccessLogService.cs (83%)
rename {Yi.Furion.Net6/Yi.Furion.Application/Bbs/Services/Impl => Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application/Services}/AgreeService.cs (64%)
rename {Yi.Furion.Net6/Yi.Furion.Application/Bbs/Services/Impl => Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application/Services}/ArticleService.cs (64%)
create mode 100644 Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application/Services/BannerService.cs
rename {Yi.Furion.Net6/Yi.Furion.Application/Bbs/Services/Impl => Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application/Services}/CommentService.cs (63%)
rename {Yi.Furion.Net6/Yi.Furion.Application/Bbs/Services/Impl => Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application/Services}/DiscussService.cs (63%)
create mode 100644 Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application/Services/MyTypeService.cs
create mode 100644 Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application/Services/PlateService.cs
rename {Yi.Furion.Net6/Yi.Furion.Application/Bbs/Services/Impl => Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application/Services}/SettingService.cs (69%)
create mode 100644 Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application/Yi.Framework.Bbs.Application.csproj
create mode 100644 Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application/Yi.Framework.Bbs.Application.xml
create mode 100644 Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application/YiFrameworkBbsApplicationModule.cs
rename {Yi.Furion.Net6/Yi.Furion.Core/Bbs => Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain.Shared}/Consts/ArticleConst.cs (88%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Bbs => Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain.Shared}/Consts/CommentConst.cs (82%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Bbs => Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain.Shared}/Consts/DiscussConst.cs (89%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Bbs => Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain.Shared}/Consts/LabelConst.cs (82%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Bbs => Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain.Shared}/Consts/PlateConst.cs (85%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Bbs => Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain.Shared}/Enums/DiscussPermissionTypeEnum.cs (90%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Bbs => Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain.Shared}/Enums/QueryDiscussTypeEnum.cs (82%)
create mode 100644 Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain.Shared/Yi.Framework.Bbs.Domain.Shared.csproj
create mode 100644 Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain.Shared/Yi.Framework.Bbs.Domain.Shared.xml
create mode 100644 Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain.Shared/YiFrameworkBbsDomainSharedModule.cs
create mode 100644 Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain/Entities/AccessLogEntity.cs
create mode 100644 Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain/Entities/AgreeEntity .cs
rename {Yi.Furion.Net6/Yi.Furion.Core/Bbs => Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain}/Entities/ArticleEntity.cs (69%)
create mode 100644 Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain/Entities/BannerEntity.cs
rename {Yi.Furion.Net6/Yi.Furion.Core/Bbs => Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain}/Entities/CommentEntity.cs (60%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Bbs => Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain}/Entities/DiscussEntity.cs (60%)
create mode 100644 Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain/Entities/DiscussMyTypeEntity.cs
create mode 100644 Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain/Entities/MyTypeEntity.cs
create mode 100644 Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain/Entities/PlateEntity.cs
rename {Yi.Furion.Net6/Yi.Furion.Core/Bbs => Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain}/Entities/SettingEntity.cs (55%)
rename {Yi.Furion.Net6/Yi.Furion.Application/Bbs/Domain => Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain/Managers}/ForumManager.cs (52%)
create mode 100644 Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain/Repositories/IArticleRepository.cs
create mode 100644 Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain/Yi.Framework.Bbs.Domain.csproj
create mode 100644 Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain/Yi.Framework.Bbs.Domain.xml
create mode 100644 Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain/YiFrameworkBbsDomainModule.cs
create mode 100644 Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.SqlSugarCore/Repositories/ArticleRepository.cs
create mode 100644 Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.SqlSugarCore/Yi.Framework.Bbs.SqlSugarCore.csproj
create mode 100644 Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.SqlSugarCore/Yi.Framework.Bbs.SqlSugarCore.xml
create mode 100644 Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.SqlSugarCore/YiFrameworkBbsSqlSugarCoreModule.cs
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/Dtos/Account/CaptchaImageDto.cs
rename {Yi.Furion.Net6/Yi.Furion.Core/Rbac => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts}/Dtos/Account/LoginInputVo.cs (60%)
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/Dtos/Account/PhoneCaptchaImageDto.cs
rename {Yi.Furion.Net6/Yi.Furion.Core/Rbac => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts}/Dtos/Account/RegisterDto.cs (80%)
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/Dtos/Account/RestPasswordDto.cs
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/Dtos/Account/UpdateIconDto.cs
rename {Yi.Furion.Net6/Yi.Furion.Core/Rbac => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts}/Dtos/Account/UpdatePasswordDto.cs (52%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Rbac => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts}/Dtos/Config/ConfigCreateInputVo.cs (83%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Rbac => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts}/Dtos/Config/ConfigGetListInputVo.cs (73%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Rbac => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts}/Dtos/Config/ConfigGetListOutputDto.cs (81%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Rbac => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts}/Dtos/Config/ConfigGetOutputDto.cs (67%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Rbac => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts}/Dtos/Config/ConfigUpdateInputVo.cs (81%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Rbac => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts}/Dtos/Dept/DeptCreateInputVo.cs (60%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Rbac => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts}/Dtos/Dept/DeptGetListInputVo.cs (60%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Rbac => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts}/Dtos/Dept/DeptGetListOutputDto.cs (56%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Rbac => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts}/Dtos/Dept/DeptGetOutputDto.cs (53%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Rbac => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts}/Dtos/Dept/DeptUpdateInputVo.cs (56%)
rename {Yi.Furion.Net6/Yi.Framework.Module/DictionaryManager => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts}/Dtos/Dictionary/DictionaryCreateInputVo.cs (61%)
rename {Yi.Furion.Net6/Yi.Framework.Module/DictionaryManager => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts}/Dtos/Dictionary/DictionaryGetListInputVo.cs (67%)
rename {Yi.Furion.Net6/Yi.Framework.Module/DictionaryManager => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts}/Dtos/Dictionary/DictionaryGetListOutputDto.cs (64%)
rename {Yi.Furion.Net6/Yi.Framework.Module/DictionaryManager => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts}/Dtos/Dictionary/DictionaryGetOutputDto.cs (64%)
rename {Yi.Furion.Net6/Yi.Framework.Module/DictionaryManager => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts}/Dtos/Dictionary/DictionaryUpdateInputVo.cs (57%)
rename {Yi.Furion.Net6/Yi.Framework.Module/DictionaryManager => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts}/Dtos/DictionaryType/DictionaryTypeCreateInputVo.cs (50%)
rename {Yi.Furion.Net6/Yi.Framework.Module/DictionaryManager => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts}/Dtos/DictionaryType/DictionaryTypeGetListInputVo.cs (69%)
rename Yi.Furion.Net6/Yi.Framework.Module/DictionaryManager/Dtos/DictionaryType/DictionaryTypeGetOutputDto.cs => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/Dtos/DictionaryType/DictionaryTypeGetListOutputDto.cs (52%)
rename Yi.Furion.Net6/Yi.Framework.Module/DictionaryManager/Dtos/DictionaryType/DictionaryTypeUpdateInputVo.cs => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/Dtos/DictionaryType/DictionaryTypeGetOutputDto.cs (57%)
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/Dtos/DictionaryType/DictionaryTypeUpdateInputVo.cs
rename {Yi.Furion.Net6/Yi.Furion.Core/Rbac => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts}/Dtos/LoginLog/LoginLogGetListInputVo.cs (56%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Rbac => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts}/Dtos/LoginLog/LoginLogGetListOutputDto.cs (75%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Rbac => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts}/Dtos/Menu/MenuCreateInputVo.cs (77%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Rbac => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts}/Dtos/Menu/MenuGetListInputVo.cs (65%)
rename Yi.Furion.Net6/Yi.Furion.Core/Rbac/Dtos/Menu/MenuUpdateInputVo.cs => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/Dtos/Menu/MenuGetListOutputDto.cs (73%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Rbac => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts}/Dtos/Menu/MenuGetOutputDto.cs (70%)
rename Yi.Furion.Net6/Yi.Furion.Core/Rbac/Dtos/Menu/MenuGetListOutputDto.cs => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/Dtos/Menu/MenuUpdateInputVo.cs (64%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Rbac => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts}/Dtos/MonitorCache/MonitorCacheGetListOutputDto.cs (59%)
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/Dtos/MonitorCache/MonitorCacheNameGetListOutputDto.cs
rename {Yi.Furion.Net6/Yi.Framework.Module/OperLogManager => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/Dtos/OperLog}/OperationLogGetListInputVo.cs (53%)
rename {Yi.Furion.Net6/Yi.Framework.Module/OperLogManager => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/Dtos/OperLog}/OperationLogGetListOutputDto.cs (70%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Rbac => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts}/Dtos/Post/PostCreateInputVo.cs (62%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Rbac => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts}/Dtos/Post/PostGetListInputVo.cs (72%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Rbac => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts}/Dtos/Post/PostGetListOutputDto.cs (64%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Rbac => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts}/Dtos/Post/PostGetOutputDto.cs (57%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Rbac => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts}/Dtos/Post/PostUpdateInputVo.cs (69%)
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/Dtos/Role/RoleAuthUserCreateOrDeleteInput.cs
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/Dtos/Role/RoleAuthUserGetListInput.cs
rename {Yi.Furion.Net6/Yi.Furion.Core/Rbac => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts}/Dtos/Role/RoleCreateInputVo.cs (67%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Rbac => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts}/Dtos/Role/RoleGetListInputVo.cs (62%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Rbac => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts}/Dtos/Role/RoleGetListOutputDto.cs (58%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Rbac => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts}/Dtos/Role/RoleGetOutputDto.cs (59%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Rbac => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts}/Dtos/Role/RoleUpdateInputVo.cs (63%)
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/Dtos/Role/UpdateDataScpoceInput.cs
rename {Yi.Furion.Net6/Yi.Furion.Core/Rbac => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts}/Dtos/Task/TaskCreateInput.cs (73%)
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/Dtos/Task/TaskGetListInput.cs
rename {Yi.Furion.Net6/Yi.Furion.Core/Rbac => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts}/Dtos/Task/TaskGetListOutput.cs (91%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Rbac => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts}/Dtos/Task/TaskGetOutput.cs (93%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Rbac => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts}/Dtos/Task/TaskUpdateInput.cs (61%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Rbac => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts}/Dtos/User/ProfileUpdateInputVo.cs (80%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Rbac => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts}/Dtos/User/UserCreateInputVo.cs (74%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Rbac => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts}/Dtos/User/UserGetListInputVo.cs (63%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Rbac => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts}/Dtos/User/UserGetListOutputDto.cs (70%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Rbac => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts}/Dtos/User/UserGetOutputDto.cs (53%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Rbac => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts}/Dtos/User/UserUpdateInputVo.cs (67%)
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/IServices/IAccountService.cs
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/IServices/IConfigService.cs
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/IServices/IDeptService.cs
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/IServices/IDictionaryService.cs
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/IServices/IDictionaryTypeService.cs
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/IServices/IMenuService.cs
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/IServices/IMonitorCacheService.cs
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/IServices/IMonitorServerService.cs
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/IServices/IOnlineService.cs
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/IServices/IOperationLogService.cs
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/IServices/IPostService.cs
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/IServices/IRoleService.cs
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/IServices/ITaskService.cs
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/IServices/IUserService.cs
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/Yi.Framework.Rbac.Application.Contracts.csproj
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/Yi.Framework.Rbac.Application.Contracts.xml
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/YiFrameworkRbacApplicationContractsModule.cs
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application/Events/LoginEventHandler.cs
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application/Jobs/TestJob.cs
rename {Yi.Furion.Net6/Yi.Furion.Application/Rbac/Services/Impl => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application/Services}/AccountService.cs (53%)
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application/Services/ConfigService.cs
rename {Yi.Furion.Net6/Yi.Furion.Application/Rbac/Services/Impl => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application/Services}/DeptService.cs (58%)
rename {Yi.Furion.Net6/Yi.Framework.Module/DictionaryManager => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application/Services}/DictionaryService.cs (51%)
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application/Services/DictionaryTypeService.cs
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application/Services/LoginLogService.cs
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application/Services/MenuService.cs
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application/Services/MonitorCacheService.cs
rename {Yi.Furion.Net6/Yi.Furion.Application/Rbac/Services/Impl => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application/Services}/MonitorServerService.cs (74%)
rename {Yi.Furion.Net6/Yi.Furion.Application/Rbac/Services/Impl => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application/Services}/OnlineService.cs (77%)
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application/Services/OperationLogService.cs
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application/Services/PostService.cs
rename {Yi.Furion.Net6/Yi.Furion.Application/Rbac/Services/Impl => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application/Services}/RoleService.cs (70%)
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application/Services/TaskService.cs
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application/Services/TestServcie.cs
rename {Yi.Furion.Net6/Yi.Furion.Application/Rbac/Services/Impl => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application/Services}/UserService.cs (67%)
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application/Yi.Framework.Rbac.Application.csproj
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application/Yi.Framework.Rbac.Application.xml
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application/YiFrameworkRbacApplicationModule.cs
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain.Shared/Caches/CaptchaPhoneCacheItem.cs
rename {Yi.Furion.Net6/Yi.Furion.Core/Rbac => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain.Shared}/Consts/DeptConst.cs (81%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Rbac => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain.Shared}/Consts/MenuConst.cs (81%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Rbac => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain.Shared}/Consts/PostConst.cs (81%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Rbac => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain.Shared}/Consts/RoleConst.cs (81%)
rename {Yi.Furion.Net6/Yi.Framework.Infrastructure/Const => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain.Shared/Consts}/TokenTypeConst.cs (84%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Rbac => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain.Shared}/Consts/UserConst.cs (95%)
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain.Shared/Dtos/UserRoleMenuDto.cs
rename {Yi.Furion.Net6/Yi.Furion.Core/Rbac => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain.Shared}/Dtos/Vue3RouterDto.cs (82%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Rbac => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain.Shared}/Enums/DataScopeEnum.cs (84%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Rbac => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain.Shared}/Enums/JobTypeEnum.cs (80%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Rbac => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain.Shared}/Enums/MenuTypeEnum.cs (84%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Rbac => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain.Shared}/Enums/SexEnum.cs (90%)
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain.Shared/Etos/LoginEventArgs.cs
rename {Yi.Furion.Net6/Yi.Framework.Module/OperLogManager => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain.Shared/OperLog}/OperEnum.cs (87%)
rename {Yi.Furion.Net6/Yi.Framework.Module/OperLogManager => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain.Shared/OperLog}/OperLogAttribute.cs (82%)
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain.Shared/Options/JwtOptions.cs
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain.Shared/Yi.Framework.Rbac.Domain.Shared.csproj
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain.Shared/Yi.Framework.Rbac.Domain.Shared.xml
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain.Shared/YiFrameworkRbacDomainSharedModule.cs
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/Authorization/DefaultPermissionHandler.cs
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/Authorization/IPermissionHandler.cs
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/Authorization/PermissionAttribute.cs
rename {Yi.Furion.Net6/Yi.Framework.Infrastructure/AspNetCore => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/Authorization}/PermissionGlobalAttribute.cs (54%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Rbac => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain}/Entities/ConfigEntity.cs (77%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Rbac => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain}/Entities/DeptEntity.cs (71%)
rename {Yi.Furion.Net6/Yi.Framework.Module/DictionaryManager => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain}/Entities/DictionaryEntity.cs (78%)
rename {Yi.Furion.Net6/Yi.Framework.Module/DictionaryManager => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain}/Entities/DictionaryTypeEntity.cs (67%)
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/Entities/LoginLogEntity.cs
rename {Yi.Furion.Net6/Yi.Furion.Core/Rbac => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain}/Entities/MenuEntity.cs (86%)
rename {Yi.Furion.Net6/Yi.Framework.Module/OperLogManager => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/Entities}/OperationLogEntity.cs (82%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Rbac => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain}/Entities/PostEntity.cs (76%)
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/Entities/RoleDeptEntity.cs
rename {Yi.Furion.Net6/Yi.Furion.Core/Rbac => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain}/Entities/RoleEntity.cs (79%)
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/Entities/RoleMenuEntity.cs
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/Entities/StudentEntity.cs
rename {Yi.Furion.Net6/Yi.Furion.Core/Rbac => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain}/Entities/UserEntity.cs (87%)
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/Entities/UserPostEntity.cs
rename {Yi.Furion.Net6/Yi.Furion.Core/Rbac => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain}/Entities/UserRoleEntity.cs (50%)
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/EventHandlers/StudentEventHandler.cs
rename {Yi.Furion.Net6/Yi.Furion.Application/Rbac/Domain => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/Managers}/AccountManager.cs (77%)
rename {Yi.Furion.Net6/Yi.Furion.Application/Rbac/Domain => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/Managers}/RoleManager.cs (57%)
rename {Yi.Furion.Net6/Yi.Furion.Application/Rbac/Domain => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/Managers}/UserManager.cs (65%)
rename Yi.Furion.Net6/Yi.Framework.Module/OperLogManager/GlobalOperLogAttribute.cs => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/Operlog/OperLogGlobalAttribute.cs (83%)
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/Repositories/IDeptRepository.cs
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/Repositories/IUserRepository.cs
rename {Yi.Furion.Net6/Yi.Furion.Application/Rbac/SignalRHub => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/SignalRHubs}/Model/OnlineUserModel.cs (58%)
rename {Yi.Furion.Net6/Yi.Furion.Application/Rbac/SignalRHub => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/SignalRHubs}/OnlineUserHub.cs (71%)
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/Yi.Framework.Rbac.Domain.csproj
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/Yi.Framework.Rbac.Domain.xml
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/YiFrameworkRbacDomainModule.cs
rename {Yi.Furion.Net6/Yi.Furion.Core/Rbac => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.SqlSugarCore}/DataSeeds/DeptDataSeed.cs (59%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Rbac => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.SqlSugarCore}/DataSeeds/DictionaryDataSeed.cs (84%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Rbac => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.SqlSugarCore}/DataSeeds/DictionaryTypeDataSeed.cs (78%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Rbac => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.SqlSugarCore}/DataSeeds/MenuDataSeed.cs (76%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Rbac => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.SqlSugarCore}/DataSeeds/PostDataSeed.cs (61%)
rename {Yi.Furion.Net6/Yi.Furion.Core/Rbac => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.SqlSugarCore}/DataSeeds/RoleDataSeed.cs (66%)
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.SqlSugarCore/DataSeeds/UserDataSeed.cs
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.SqlSugarCore/Repositories/DeptRepository.cs
rename {Yi.Furion.Net6/Yi.Furion.Sqlsugar.Core/Repositories/Impl => Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.SqlSugarCore/Repositories}/UserRepository.cs (65%)
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.SqlSugarCore/Yi.Framework.Rbac.SqlSugarCore.csproj
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.SqlSugarCore/Yi.Framework.Rbac.SqlSugarCore.xml
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.SqlSugarCore/YiFrameworkRbacSqlSugarCoreModule.cs
create mode 100644 Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.SqlSugarCore/YiRbacDbContext.cs
create mode 100644 Yi.Abp.Net8/src/Yi.Abp.Application.Contracts/Yi.Abp.Application.Contracts.csproj
create mode 100644 Yi.Abp.Net8/src/Yi.Abp.Application.Contracts/Yi.Abp.Application.Contracts.xml
create mode 100644 Yi.Abp.Net8/src/Yi.Abp.Application.Contracts/YiAbpApplicationContractsModule.cs
create mode 100644 Yi.Abp.Net8/src/Yi.Abp.Application/Yi.Abp.Application.csproj
rename Yi.Furion.Net6/Yi.Furion.Web.Core/Yi.Furion.Web.Core.xml => Yi.Abp.Net8/src/Yi.Abp.Application/Yi.Abp.Application.xml (70%)
create mode 100644 Yi.Abp.Net8/src/Yi.Abp.Application/YiAbpApplicationModule.cs
create mode 100644 Yi.Abp.Net8/src/Yi.Abp.Domain.Shared/Yi.Abp.Domain.Shared.csproj
create mode 100644 Yi.Abp.Net8/src/Yi.Abp.Domain.Shared/Yi.Abp.Domain.Shared.xml
create mode 100644 Yi.Abp.Net8/src/Yi.Abp.Domain.Shared/YiAbpDomainSharedModule.cs
create mode 100644 Yi.Abp.Net8/src/Yi.Abp.Domain/Yi.Abp.Domain.csproj
create mode 100644 Yi.Abp.Net8/src/Yi.Abp.Domain/Yi.Abp.Domain.xml
create mode 100644 Yi.Abp.Net8/src/Yi.Abp.Domain/YiAbpDomainModule.cs
create mode 100644 Yi.Abp.Net8/src/Yi.Abp.SqlSugarCore/Yi.Abp.SqlSugarCore.csproj
create mode 100644 Yi.Abp.Net8/src/Yi.Abp.SqlSugarCore/Yi.Abp.SqlSugarCore.xml
create mode 100644 Yi.Abp.Net8/src/Yi.Abp.SqlSugarCore/YiAbpSqlSugarCoreModule.cs
create mode 100644 Yi.Abp.Net8/src/Yi.Abp.SqlSugarCore/YiDbContext.cs
create mode 100644 Yi.Abp.Net8/src/Yi.Abp.Web/Program.cs
create mode 100644 Yi.Abp.Net8/src/Yi.Abp.Web/Properties/launchSettings.json
create mode 100644 Yi.Abp.Net8/src/Yi.Abp.Web/Yi.Abp.Web.csproj
create mode 100644 Yi.Abp.Net8/src/Yi.Abp.Web/Yi.Abp.Web.xml
create mode 100644 Yi.Abp.Net8/src/Yi.Abp.Web/YiAbpWebModule.cs
create mode 100644 Yi.Abp.Net8/src/Yi.Abp.Web/appsettings.json
rename {Yi.Furion.Net6/Yi.Furion.Web.Entry => Yi.Abp.Net8/src/Yi.Abp.Web}/ip2region.db (100%)
rename Yi.Furion.Net6/Yi.Furion.Web.Entry/yi-furion-dev.db => Yi.Abp.Net8/src/Yi.Abp.Web/yi-abp-dev.db (66%)
delete mode 100644 Yi.App.Vue3/.env.development
delete mode 100644 Yi.App.Vue3/.env.production
delete mode 100644 Yi.App.Vue3/.env.staging
delete mode 100644 Yi.App.Vue3/.gitignore
delete mode 100644 Yi.App.Vue3/.vscode/extensions.json
delete mode 100644 Yi.App.Vue3/README.md
delete mode 100644 Yi.App.Vue3/components.d.ts
delete mode 100644 Yi.App.Vue3/index.html
delete mode 100644 Yi.App.Vue3/package-lock.json
delete mode 100644 Yi.App.Vue3/package.json
delete mode 100644 Yi.App.Vue3/public/icon.jpg
delete mode 100644 Yi.App.Vue3/public/vite.svg
delete mode 100644 Yi.App.Vue3/src/App.vue
delete mode 100644 Yi.App.Vue3/src/api/agreeApi.ts
delete mode 100644 Yi.App.Vue3/src/api/articleApi.ts
delete mode 100644 Yi.App.Vue3/src/api/commentApi.ts
delete mode 100644 Yi.App.Vue3/src/api/fileApi.ts
delete mode 100644 Yi.App.Vue3/src/api/login.ts
delete mode 100644 Yi.App.Vue3/src/api/skuApi.ts
delete mode 100644 Yi.App.Vue3/src/api/spuApi.ts
delete mode 100644 Yi.App.Vue3/src/assets/vue.svg
delete mode 100644 Yi.App.Vue3/src/components/AppCard.vue
delete mode 100644 Yi.App.Vue3/src/components/AppCreateTime.vue
delete mode 100644 Yi.App.Vue3/src/components/AppGrid.vue
delete mode 100644 Yi.App.Vue3/src/components/AppUserIcon.vue
delete mode 100644 Yi.App.Vue3/src/components/HelloWorld.vue
delete mode 100644 Yi.App.Vue3/src/layout/bottom/index.vue
delete mode 100644 Yi.App.Vue3/src/layout/head/index.vue
delete mode 100644 Yi.App.Vue3/src/layout/index.vue
delete mode 100644 Yi.App.Vue3/src/layout/main/index.vue
delete mode 100644 Yi.App.Vue3/src/layout/tab/index.vue
delete mode 100644 Yi.App.Vue3/src/main.ts
delete mode 100644 Yi.App.Vue3/src/permission.ts
delete mode 100644 Yi.App.Vue3/src/router/index.ts
delete mode 100644 Yi.App.Vue3/src/store/index.ts
delete mode 100644 Yi.App.Vue3/src/store/modules/user.ts
delete mode 100644 Yi.App.Vue3/src/style.css
delete mode 100644 Yi.App.Vue3/src/type/class/AppGridData.ts
delete mode 100644 Yi.App.Vue3/src/type/interface/ArticleEntity.ts
delete mode 100644 Yi.App.Vue3/src/utils/auth.ts
delete mode 100644 Yi.App.Vue3/src/utils/myaxios.ts
delete mode 100644 Yi.App.Vue3/src/view/login.vue
delete mode 100644 Yi.App.Vue3/src/view/main/follow.vue
delete mode 100644 Yi.App.Vue3/src/view/main/recommend.vue
delete mode 100644 Yi.App.Vue3/src/view/main/square.vue
delete mode 100644 Yi.App.Vue3/src/view/my.vue
delete mode 100644 Yi.App.Vue3/src/view/send/imageText.vue
delete mode 100644 Yi.App.Vue3/src/view/shop/shopDetails.vue
delete mode 100644 Yi.App.Vue3/src/view/shop/shopIndex.vue
delete mode 100644 Yi.App.Vue3/src/view/shop/shopSearch.vue
delete mode 100644 Yi.App.Vue3/src/vite-env.d.ts
delete mode 100644 Yi.App.Vue3/tsconfig.json
delete mode 100644 Yi.App.Vue3/tsconfig.node.json
delete mode 100644 Yi.App.Vue3/vite.config.ts
delete mode 100644 Yi.Furion.Net6/.template.config/template.json
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/AspNetCore/CurrentUserAddExtensions.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/AspNetCore/StratUrlsExtensions.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Attributes/PermissionAttribute.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Auth/DefaultPermissionHandler.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Auth/IPermissionHandler.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Const/PathConst.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/CurrentUsers/Accessor/CurrentPrincipalAccessorBase.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/CurrentUsers/Accessor/HttpContextCurrentPrincipalAccessor.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/CurrentUsers/Accessor/ICurrentPrincipalAccessor.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/CurrentUsers/Accessor/StaticCurrentPrincipalAccessor.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/CurrentUsers/Accessor/ThreadCurrentPrincipalAccessor.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/CurrentUsers/CurrentUser.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/CurrentUsers/ICurrentUser.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Data/Auditing/AuditedObject.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Data/Auditing/IAuditedObject.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Data/Auditing/ICreationAuditedObject.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Data/Auditing/IDeletionAuditedObject.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Data/Auditing/IFullAuditedObject.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Data/Auditing/IHasCreationTime.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Data/Auditing/IHasDeletionTime.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Data/Auditing/IHasEntityVersion.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Data/Auditing/IHasModificationTime.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Data/Auditing/IMayHaveCreator.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Data/Auditing/IModificationAuditedObject.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Data/Auditing/IMustHaveCreator.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Data/DataFiterExtensions.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Data/DataSeeds/AbstractDataSeed.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Data/DataSeeds/DataSeedExecuteHandler.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Data/DataSeeds/DataSeedExtensions.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Data/DataSeeds/IDataSeed.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Data/Entities/IMultiTenant.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Data/Entities/ISoftDelete.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Data/Filters/DefaultDataFilter.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Data/Filters/IDataFilter.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Data/Json/DateTimeJsonConverter.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Data/Json/LongToStringConverter .cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Ddd/Dtos/Abstract/IEntityDto.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Ddd/Dtos/Abstract/IHasTotalCount.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Ddd/Dtos/Abstract/IListResult.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Ddd/Dtos/Abstract/IPagedAllResultRequestDto.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Ddd/Dtos/Abstract/IPagedAndSortedResultRequestDto.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Ddd/Dtos/Abstract/IPagedResult.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Ddd/Dtos/EntityDto.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Ddd/Dtos/ListResultDto.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Ddd/Dtos/PagedAllResultRequestDto.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Ddd/Dtos/PagedAndSortedResultRequestDto.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Ddd/Dtos/PagedDto.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Ddd/Dtos/PagedResultDto.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Ddd/Entities/AggregateRoot.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Ddd/Entities/Entity.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Ddd/Entities/IAggregateRoot.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Ddd/Entities/IEntity.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Ddd/Repositories/IRepository.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Ddd/Services/Abstract/IApplicationService.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Ddd/Services/Abstract/ICreateAppService.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Ddd/Services/Abstract/ICreateUpdateAppService.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Ddd/Services/Abstract/ICrudAppService.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Ddd/Services/Abstract/IDeleteAppService.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Ddd/Services/Abstract/IPageTimeResultRequestDto.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Ddd/Services/Abstract/IReadOnlyAppService.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Ddd/Services/Abstract/IUpdateAppService.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Ddd/Services/ApplicationService.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Ddd/Services/CrudAppService.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Ddd/Services/ReadOnlyAppService.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Exceptions/AuthException.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Exceptions/BusinessException.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Exceptions/ExceptionExtensions.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Exceptions/IHasErrorCode.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Exceptions/IHasErrorDetails.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Exceptions/IHasLogLevel.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Exceptions/UserFriendlyException.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Extensions/Extension.Convert.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Extensions/Extension.Enum.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Extensions/Extension.Exception.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Extensions/Extension.Linq.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Extensions/Extension.Validate.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Extensions/StringExtension.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/SnowflakeHelper.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Sqlsugar/Filters/SqlsugarDataFilter.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Sqlsugar/Repositories/SqlsugarRepository.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Sqlsugar/SqlSugarDbContext.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Sqlsugar/SqlsugarCodeFirstExtensions.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Sqlsugar/SqlsugarConst.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Sqlsugar/SqlsugarExtensions.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Sqlsugar/Uow/SqlsugarUnitOfWork.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Startup.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Utils/DisposeAction.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Infrastructure/Yi.Framework.Infrastructure.csproj
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/Caching/CacheManager.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/Caching/CachingConnOptions.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/Caching/MemoryCacheClient.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/Caching/RedisCacheClient.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/DictionaryManager/DictionaryConst.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/DictionaryManager/DictionaryTypeConst.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/DictionaryManager/DictionaryTypeService.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/DictionaryManager/Dtos/DictionaryType/DictionaryTypeGetListOutputDto.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/DictionaryManager/IDictionaryService.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/DictionaryManager/IDictionaryTypeService.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/FileManager/FileEntity.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/FileManager/FileGetListOutputDto.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/FileManager/FileService.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/FileManager/IFileService.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/ImageSharp/HeiCaptcha/HeiCaptchaExtension.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/ImageSharp/HeiCaptcha/ImageRgba32Extension.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/ImageSharp/HeiCaptcha/ImageSharpExtension.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/ImageSharp/HeiCaptcha/SecurityCodeHelper.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/ImageSharp/HeiCaptcha/fonts/Candara.ttf
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/ImageSharp/HeiCaptcha/fonts/STCAIYUN.ttf
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/ImageSharp/HeiCaptcha/fonts/impact.ttf
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/ImageSharp/HeiCaptcha/fonts/monbaiti.ttf
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/ImageSharp/ImageSharpManager.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/OperLogManager/IOperationLogService.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/OperLogManager/OperationLogService.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/Sms/Aliyun/SmsAliyunManager.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/Sms/Aliyun/SmsAliyunOptions.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/Startup.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/WeChat/Abstract/IErrorObjct.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/WeChat/Abstract/IHasErrcode.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/WeChat/Abstract/IHasErrmsg.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/WeChat/Enums/PayTradeStateEnum.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/WeChat/IWeChatManager.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/WeChat/Model/AccessTokenHttpModel.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/WeChat/Model/Code2SessionHttpModel.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/WeChat/Model/JsApiHttpModel.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/WeChat/Model/PayNoticeHttpModel.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/WeChat/Model/UniformMessageHttpModel.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/WeChat/Model/UnlimitedQRCodeHttpModel.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/WeChat/Token/DefaultWeChatToken.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/WeChat/Token/IWeChatToken.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/WeChat/Token/RedisWeChatToken.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/WeChat/WeChatException.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/WeChat/WeChatExtensions.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/WeChat/WeChatManager.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/WeChat/WeChatOptions.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/WeChat/WeChatPayHttpHandler.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/WebFirstManager/DataSeed/FieldDataSeed.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/WebFirstManager/DataSeed/TableDataSeed.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/WebFirstManager/DataSeed/TemplateDataSeed.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/WebFirstManager/Domain/CodeFileManager.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/WebFirstManager/Domain/DataBaseManger.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/WebFirstManager/Domain/WebTemplateManager.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/WebFirstManager/Dtos/Field/FieldDto.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/WebFirstManager/Dtos/Field/FieldGetListInput.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/WebFirstManager/Dtos/Table/TableDto.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/WebFirstManager/Dtos/Table/TableGetListInput.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/WebFirstManager/Dtos/Template/TemplateDto.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/WebFirstManager/Dtos/Template/TemplateGetListInput.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/WebFirstManager/Dtos/WebFirst/WebFirstDto.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/WebFirstManager/Entities/FieldEntity.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/WebFirstManager/Entities/TableAggregateRoot.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/WebFirstManager/Entities/TemplateEntity.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/WebFirstManager/Enums/FieldTypeEnum.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/WebFirstManager/Handler/FieldTemplateHandler.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/WebFirstManager/Handler/HandledTemplate.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/WebFirstManager/Handler/ITemplateHandler.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/WebFirstManager/Handler/ModelTemplateHandler.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/WebFirstManager/Handler/NameSpaceTemplateHandler.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/WebFirstManager/Handler/TemplateHandlerBase.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/WebFirstManager/IFieldService.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/WebFirstManager/ITableService.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/WebFirstManager/ITemplateService.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/WebFirstManager/IWebFirstService.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/WebFirstManager/Impl/FieldService.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/WebFirstManager/Impl/TableService.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/WebFirstManager/Impl/TemplateService.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/WebFirstManager/Impl/WebFirstService.cs
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/Yi.Framework.Module.csproj
delete mode 100644 Yi.Furion.Net6/Yi.Framework.Module/Yi.Framework.Module.xml
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Application/App/Services/ITrendsService.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Application/App/Services/Impl/TrendsService.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Application/Bbs/Event/SeeDiscussEventHandler.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Application/Bbs/Services/IArticleService.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Application/Bbs/Services/IBannerService.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Application/Bbs/Services/ICommentService.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Application/Bbs/Services/IDiscussService.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Application/Bbs/Services/ILabelService.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Application/Bbs/Services/IPlateService.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Application/Bbs/Services/Impl/BannerService.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Application/Bbs/Services/Impl/MyTypeService.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Application/Bbs/Services/Impl/PlateService.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Application/GlobalUsings.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Application/Rbac/Event/LoginEventHandler.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Application/Rbac/Job/SystemDataJob.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Application/Rbac/Job/TestJob.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Application/Rbac/Services/IAccountService.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Application/Rbac/Services/IConfigService.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Application/Rbac/Services/IDeptService.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Application/Rbac/Services/IMenuService.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Application/Rbac/Services/IMonitorCacheService.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Application/Rbac/Services/IMonitorServerService.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Application/Rbac/Services/IOnlineService.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Application/Rbac/Services/IPostService.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Application/Rbac/Services/IRoleService.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Application/Rbac/Services/ITaskService.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Application/Rbac/Services/IUserService.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Application/Rbac/Services/Impl/ConfigService.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Application/Rbac/Services/Impl/LoginLogService.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Application/Rbac/Services/Impl/MenuService.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Application/Rbac/Services/Impl/MonitorCacheService.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Application/Rbac/Services/Impl/PostService.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Application/Rbac/Services/Impl/TaskService.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Application/Yi.Furion.Application.csproj
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Application/Yi.Furion.Application.xml
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Application/applicationsettings.json
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Core/App/Dtos/Trends/TrendsCreateInput.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Core/App/Dtos/Trends/TrendsGetListInput.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Core/App/Dtos/Trends/TrendsGetListOutputDto.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Core/App/Dtos/Trends/TrendsGetOutputDto.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Core/App/Dtos/Trends/TrendsUpdateInput.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Core/App/Entities/TrendsEntity.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Core/Bbs/DataSeeds/ConfigDataSeed.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Core/Bbs/Dtos/AccessLog/AccessLogDto.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Core/Bbs/Dtos/Article/ArticleAllOutputDto.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Core/Bbs/Dtos/Article/ArticleGetListInputVo.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Core/Bbs/Dtos/Article/ArticleGetListOutputDto.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Core/Bbs/Dtos/Article/ArticleGetOutputDto.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Core/Bbs/Dtos/Article/ArticleUpdateInputVo.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Core/Bbs/Dtos/Banner/BannerGetListInputVo.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Core/Bbs/Dtos/MyType/MyTypeGetListInputVo.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Core/Bbs/Dtos/MyType/MyTypeGetListOutputDto.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Core/Bbs/Dtos/MyType/MyTypeOutputDto.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Core/Bbs/Dtos/MyType/MyTypeUpdateInputVo.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Core/Bbs/Dtos/Plate/PlateGetListOutputDto.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Core/Bbs/Dtos/Plate/PlateGetOutputDto.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Core/Bbs/Dtos/Plate/PlateUpdateInputVo.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Core/Bbs/Entities/AccessLogEntity.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Core/Bbs/Entities/AgreeEntity .cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Core/Bbs/Entities/BannerEntity.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Core/Bbs/Entities/DiscussMyTypeEntity.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Core/Bbs/Entities/MyTypeEntity.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Core/Bbs/Entities/PlateEntity.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Core/Bbs/Etos/SeeDiscussEventSource.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Core/GlobalUsings.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Core/Rbac/DataSeeds/UserDataSeed.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Core/Rbac/Dtos/Account/CaptchaImageDto.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Core/Rbac/Dtos/Account/PhoneCaptchaImageDto.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Core/Rbac/Dtos/Account/RestPasswordDto.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Core/Rbac/Dtos/Account/UpdateIconDto.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Core/Rbac/Dtos/MonitorCache/MonitorCacheNameGetListOutputDto.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Core/Rbac/Dtos/Role/RoleAuthUserCreateOrDeleteInput.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Core/Rbac/Dtos/Role/RoleAuthUserGetListInput.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Core/Rbac/Dtos/Role/UpdateDataScpoceInput.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Core/Rbac/Dtos/Task/TaskGetListInput.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Core/Rbac/Dtos/UserRoleMenuDto.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Core/Rbac/Entities/LoginLogEntity.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Core/Rbac/Entities/RoleDeptEntity.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Core/Rbac/Entities/RoleMenuEntity.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Core/Rbac/Entities/UserPostEntity.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Core/Rbac/Etos/LoginEventSource.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Core/Yi.Furion.Core.csproj
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Core/Yi.Furion.Core.xml
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Sqlsugar.Core/Repositories/IArticleRepository.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Sqlsugar.Core/Repositories/IDeptRepository.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Sqlsugar.Core/Repositories/IUserRepository.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Sqlsugar.Core/Repositories/Impl/ArticleRepository.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Sqlsugar.Core/Repositories/Impl/DeptRepository.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Sqlsugar.Core/Startup.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Sqlsugar.Core/Yi.Furion.Sqlsugar.Core.csproj
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Sqlsugar.Core/YiDbContext.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Web.Core/Handlers/JwtHandler.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Web.Core/Startup.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Web.Core/Yi.Furion.Web.Core.csproj
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Web.Entry/.config/dotnet-tools.json
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Web.Entry/Program.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Web.Entry/Properties/launchSettings.json
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Web.Entry/SingleFilePublish.cs
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Web.Entry/Yi.Furion.Web.Entry.csproj
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Web.Entry/appsettings.json
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Web.Entry/end.sh
delete mode 100644 Yi.Furion.Net6/Yi.Furion.Web.Entry/start.sh
delete mode 100644 Yi.Furion.Net6/Yi.Furion.sln
delete mode 100644 readme/1.png
delete mode 100644 readme/10.png
delete mode 100644 readme/1696760969217.jpg
delete mode 100644 readme/1696761014270.jpg
delete mode 100644 readme/2.png
delete mode 100644 readme/3.png
delete mode 100644 readme/4.png
delete mode 100644 readme/5.png
delete mode 100644 readme/6.png
delete mode 100644 readme/7.png
delete mode 100644 readme/8.png
delete mode 100644 readme/9.png
delete mode 100644 readme/git提交规范.txt
diff --git a/.gitignore b/.gitignore
index 2f9ee45d..8d2484a6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,14 +1,7 @@
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
-##
-## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
-dist/
-appsettings.Production.json
-appsettings.Development.json
-wwwroot
# User-specific files
-*.rsuser
*.suo
*.user
*.userosscache
@@ -24,21 +17,16 @@ wwwroot
[Rr]eleases/
x64/
x86/
-[Aa][Rr][Mm]/
-[Aa][Rr][Mm]64/
bld/
[Bb]in/
[Oo]bj/
[Ll]og/
-# Visual Studio 2015/2017 cache/options directory
+# Visual Studio 2015 cache/options directory
.vs/
# Uncomment if you have tasks that create the project's static files in wwwroot
#wwwroot/
-# Visual Studio 2017 auto generated files
-Generated\ Files/
-
# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*
@@ -52,28 +40,18 @@ TestResult.xml
[Rr]eleasePS/
dlldata.c
-# Benchmark Results
-BenchmarkDotNet.Artifacts/
-
-# .NET Core
+# DNX
project.lock.json
-project.fragment.lock.json
artifacts/
-# StyleCop
-StyleCopReport.xml
-
-# Files built by Visual Studio
*_i.c
*_p.c
-*_h.h
+*_i.h
*.ilk
*.meta
*.obj
-*.iobj
*.pch
*.pdb
-*.ipdb
*.pgc
*.pgd
*.rsp
@@ -83,7 +61,6 @@ StyleCopReport.xml
*.tlh
*.tmp
*.tmp_proj
-*_wpftmp.csproj
*.log
*.vspscc
*.vssscc
@@ -112,9 +89,6 @@ ipch/
*.vspx
*.sap
-# Visual Studio Trace Files
-*.e2e
-
# TFS 2012 Local Workspace
$tf/
@@ -135,14 +109,6 @@ _TeamCity*
# DotCover is a Code Coverage Tool
*.dotCover
-# AxoCover is a Code Coverage Tool
-.axoCover/*
-!.axoCover/settings.json
-
-# Visual Studio code coverage results
-*.coverage
-*.coveragexml
-
# NCrunch
_NCrunch_*
.*crunch*.local.xml
@@ -174,7 +140,7 @@ publish/
# Publish Web Output
*.[Pp]ublish.xml
*.azurePubxml
-# Note: Comment the next line if you want to checkin your web deploy settings,
+# TODO: Comment the next line if you want to checkin your web deploy settings
# but database connection strings (with potential passwords) will be unencrypted
*.pubxml
*.publishproj
@@ -187,12 +153,12 @@ PublishScripts/
# NuGet Packages
*.nupkg
# The packages folder can be ignored because of Package Restore
-**/[Pp]ackages/*
+**/packages/*
# except build/, which is used as an MSBuild target.
-!**/[Pp]ackages/build/
+!**/packages/build/
# Uncomment if necessary however generally it will be regenerated when needed
-#!**/[Pp]ackages/repositories.config
-# NuGet v3's project.json files produces more ignorable files
+#!**/packages/repositories.config
+# NuGet v3's project.json files produces more ignoreable files
*.nuget.props
*.nuget.targets
@@ -209,13 +175,12 @@ AppPackages/
BundleArtifacts/
Package.StoreAssociation.xml
_pkginfo.txt
-*.appx
# Visual Studio cache files
# files ending in .cache can be ignored
*.[Cc]ache
# but keep track of directories ending in .cache
-!?*.[Cc]ache/
+!*.[Cc]ache/
# Others
ClientBin/
@@ -223,15 +188,11 @@ ClientBin/
*~
*.dbmdl
*.dbproj.schemaview
-*.jfm
*.pfx
*.publishsettings
+node_modules/
orleans.codegen.cs
-# Including strong name files can present a security risk
-# (https://github.com/github/gitignore/pull/2483#issue-259490424)
-#*.snk
-
# Since there are multiple workflows, uncomment next line to ignore bower_components
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
#bower_components/
@@ -246,20 +207,15 @@ _UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm
-ServiceFabricBackup/
-*.rptproj.bak
# SQL Server files
*.mdf
*.ldf
-*.ndf
# Business Intelligence projects
*.rdl.data
*.bim.layout
*.bim_*.settings
-*.rptproj.rsuser
-*- Backup*.rdl
# Microsoft Fakes
FakesAssemblies/
@@ -269,7 +225,6 @@ FakesAssemblies/
# Node.js Tools for Visual Studio
.ntvs_analysis.dat
-node_modules/
# Visual Studio 6 build log
*.plg
@@ -277,9 +232,6 @@ node_modules/
# Visual Studio 6 workspace options file
*.opt
-# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
-*.vbw
-
# Visual Studio LightSwitch build output
**/*.HTMLClient/GeneratedArtifacts
**/*.DesktopClient/GeneratedArtifacts
@@ -299,48 +251,15 @@ paket-files/
.idea/
*.sln.iml
-# CodeRush personal settings
-.cr/personal
+# BookStore
+src/Acme.BookStore.Web/Logs/*
+src/Acme.BookStore.Web.Host/Logs/*
+src/Acme.BookStore.AuthServer/Logs/*
+src/Acme.BookStore.HttpApi.Host/Logs/*
+src/Acme.BookStore.HttpApi.HostWithIds/Logs/*
+src/Acme.BookStore.DbMigrator/Logs/*
+src/Acme.BookStore.Blazor.Server/Logs/*
+src/Acme.BookStore.Blazor.Server.Tiered/Logs/*
-# Python Tools for Visual Studio (PTVS)
-__pycache__/
-*.pyc
-
-# Cake - Uncomment if you are using it
-# tools/**
-# !tools/packages.config
-
-# Tabs Studio
-*.tss
-
-# Telerik's JustMock configuration file
-*.jmconfig
-
-# BizTalk build output
-*.btp.cs
-*.btm.cs
-*.odx.cs
-*.xsd.cs
-
-# OpenCover UI analysis results
-OpenCover/
-
-# Azure Stream Analytics local run output
-ASALocalRun/
-
-# MSBuild Binary and Structured Log
-*.binlog
-
-# NVidia Nsight GPU debugger configuration file
-*.nvuser
-
-# MFractors (Xamarin productivity tool) working folder
-.mfractor/
-
-# Local History for Visual Studio
-.localhistory/
-
-# BeatPulse healthcheck temp database
-healthchecksdb
-
-appsettings.Development.json
+# Use abp install-libs to restore.
+**/wwwroot/libs/*
diff --git a/LICENSE b/LICENSE
index de980666..2fbd598e 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,6 +1,6 @@
MIT License
-Copyright (c) 2022 jacktang
+Copyright (c) 2023 橙子
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/README.en.md b/README.en.md
new file mode 100644
index 00000000..d5f7dabe
--- /dev/null
+++ b/README.en.md
@@ -0,0 +1,36 @@
+# YiAbp
+
+#### Description
+{**When you're done, you can delete the content in this README and update the file with details for others getting started with your repository**}
+
+#### Software Architecture
+Software architecture description
+
+#### Installation
+
+1. xxxx
+2. xxxx
+3. xxxx
+
+#### Instructions
+
+1. xxxx
+2. xxxx
+3. xxxx
+
+#### Contribution
+
+1. Fork the repository
+2. Create Feat_xxx branch
+3. Commit your code
+4. Create Pull Request
+
+
+#### Gitee Feature
+
+1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md
+2. Gitee blog [blog.gitee.com](https://blog.gitee.com)
+3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore)
+4. The most valuable open source project [GVP](https://gitee.com/gvp)
+5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help)
+6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
diff --git a/README.md b/README.md
index cd690d9c..8fc0ba02 100644
--- a/README.md
+++ b/README.md
@@ -1,289 +1,39 @@
-
Yi框架
-一套以用户体验出发的.Net6 Web开源框架
-支持原生版本、Furion版本、Abp版本,前端后台接入Ruoyi Vue3.0
-集大成者,终究轮子
+# YiAbp
-[English](README-en.md) | 简体中文
+#### 介绍
+{**以下是 Gitee 平台说明,您可以替换此简介**
+Gitee 是 OSCHINA 推出的基于 Git 的代码托管平台(同时支持 SVN)。专为开发者提供稳定、高效、安全的云端软件开发协作平台
+无论是个人、团队、或是企业,都能够用 Gitee 实现代码托管、项目管理、协作开发。企业项目请看 [https://gitee.com/enterprises](https://gitee.com/enterprises)}
-
+#### 软件架构
+软件架构说明
-****
-### 简介:
-**中文:意框架**(和他的名字一样“简易”,同时接入Java的Ruoyi Vue3.0前端)
-模块分化较多,可根据业务自行引用或抛弃,集大成者,大而全乎,也许你能从中学习到一些独特见解
+#### 安装教程
-**英文:YiFramework**
+1. xxxx
+2. xxxx
+3. xxxx
-Yi框架-一套与SqlSugar一样爽的.Net6开源框架。
-与Sqlsugar理念一致,以用户体验出发。
-适合.Net6学习、Sqlsugar学习 、项目二次开发。
-集大成者,终究轮子
+#### 使用说明
-Yi框架最新版本标签:`v3.0.0`,具体版本可以查看标签迭代
+1. xxxx
+2. xxxx
+3. xxxx
-(项目与Sqlsugar同步更新,但这作者老杰哥代码天天爆肝到凌晨两点,我们也尽量会跟上他的脚步。更新频繁,所以可watching持续关注。)
+#### 参与贡献
-————这不仅仅是一个程序,更是一个艺术品,面向艺术的开发!
+1. Fork 本仓库
+2. 新建 Feat_xxx 分支
+3. 提交代码
+4. 新建 Pull Request
-> 核心特点:简单好用,框架不以打包形式引用,而是直接以项目附带源码给出,自由度拉满,遵循Mit协议,允许随意修改(请注明来源即可)
-**分支:**
+#### 特技
-(本项目由EFCore版本历经4年不断迭代至Sqlsugar版本,现EFcore版本已弃用,目前sqlsugar已带业务功能)
-
-- (推荐) **Furion**: 基于Furion分支,回归开发本质,极度简单,用起来贼爽
-
-- ~~**Framework**~~: 框架分支,所有东西都在这里
-
-- ~~**SqlSugar**:.Net6 DDD领域驱动设计 简单分层微服务架构~~
-
-- ~~**SqlSugar-Dev**:为sqlsugar分支的实时开发版本~~
-
-- ~~**abp**:基于abp.vnext项目~~
-
-****
-
-**目录:**
-
-Yi后端框架分为3个部分:
-
-- Infrastructure(基础设施,框架底层+sqlsugar+furion)
-- Module(应用模块,可选项,例如缓存模块、微信模块、文件模块、日志模块等)
-- Application(业务模块,用于开发)
-
-另外,光说不练假把式,我们不仅仅提供一个空白的框架,还同时提供3个基于yi框架的业务模块,没有听错,目前为1个后端,支持3个前端。各个模块关系解耦,可单独使用其中的任意业务模块
-
-- Yi.RuoYi.Vue3:Ruoyi后台管理系统Rbac Vue3前端(推荐)
-
-- Yi.Furion.Net6:.NET6后端(推荐)
-
-- Yi.App.Vue3:移动端App Vue3前端
-
-- Yi.BBS.Vue3:Web网页端BBS论坛 Vue3+Ts前端
-
-后续我们持续更新各大应用模块及业务模块:shop商场、erp进销存、mes工厂系统等
-
-业务支持并扩展至各个领域,用于具体项目的二次开发极大复用后端代码及前端代码,以通用的部分+不通的部分快速二开
-
-
-### 演示地址:
-
-废话少说直接上地址,**请不要**更改里面的数据
-
-官网网址:[ccnetcore.com](https://ccnetcore.com) (已上线,欢迎加入)
-
-Bbs社区系统:[ccnetcore.com](https://ccnetcore.com) (已上线,欢迎加入)
-
-Rbac后台管理系统:[yi.ccnetcore.com](http://yi.ccnetcore.com) (已上线)~~管理员账号:cc 、 123456~~
-
-App移动端系统:[xxx](xxx)正在部署
-
-网关地址:~~[gate.ccnetcore.com/swagger](http://gate.ccnetcore.com/swagger)~~(目前使用单体架构部署,无需网关)
-
-### 支持:
-
-- [x] 完全支持单体应用架构
-- [x] 完全支持分布式应用架构
-- [x] 完全支持微服务架构
-
-****
-### 详细到爆炸的Yi框架教程导航:
-
-1. [框架快速开始](https://ccnetcore.com/article/1641733850189139969)(已完成)
-2. [框架模块教程](https://ccnetcore.com/article/1641733991574933505)(已完成)
-3. [应用模块教程](https://ccnetcore.com/article/1641734073091231745)
-4. [Yi.RBAC后台系统](https://ccnetcore.com/article/1641734171128893441)
-5. [Yi.BBS社区系统](https://ccnetcore.com/article/1641734308475572225)
-
-****
-### 它的理念:
-优雅的进行快速开发,通常,简单程度与优雅程度不可兼得,Yi框架并不一昧的追求极致的解耦,会站在用户使用角度上,在使用难易度进行考虑衡量
-
-例如:我们大部分功能紧密贴合Sqlsugar,虽然缺少其他orm的替换性,但在使用程度上降低的使用难度
-
-> 一个面向用户的快速开发后端框架
-
-在真正的使用这,你会明白这一点,极致的简单,也是优雅的一种体现。
-****
-
-### 特点:
-- 面向用户的后端框架,使用简单,适合小型、企业级项目
-- 项目内置源码,不打包
-- 开箱即用
-- 支持模块化
-- 支持动态Api
-- 支持属性注入
-- 内置包含大量通用场景模块
-- 等等
-
-### 基础设施简介
-- Jwt鉴权
-- 接口级别授权
-- 对象映射
-- O/RM
-- 数据过滤
-- 多租户
-- 逻辑删除
-- 审计日志
-- 种子数据
-- 工作单元
-- 模块化
-- 动态Api
-- 属性注入
-- 自动依赖注入
-- 当前用户
-- 仓储
-- Crud
-
-
-### 内置模块简介
-- 后台任务
-- 本地缓存
-- 分布式缓存
-- 事件总线
-- 字典管理
-- 文件管理
-- 图片操作
-- Excel操作
-- 操作日志管理
-- Sms短信
-- 微信支付
-- WebFirst代码生成
-
-### 业务项目
-- RABC后台管理系统
-- BBS社区系统
-- APP移动端系统
-
-> 重复的东西,无需再写一遍,这也是优雅的体现之一
-
-****
-### 核心技术
-#### 后端
-C# Asp.NetCore 6.0
-- [x] 动态Api:Cike.AutoApi
-- [x] 鉴权授权:Jwt
-- [x] 日志:Nlog
-- [x] 模块化:StartupModules
-- [x] 依赖注入:Autofac
-- [x] 对象映射:Mapster
-- [x] ORM:SqlsugarCore
-- [x] 多租户:Abp
-- [x] 后台任务:Quartz.Net
-- [x] 本地缓存:MemortCache
-- [x] 分布式缓存:CSRedisCore
-- [x] 事件总线:Cike.EventBus
-- [x] 图像操作:SixLabors.ImageSharp
-- [x] Excle操作:ExcelToObject.Npoi
-
-#### 前端
-js Vue3.2
-- [x] 异步请求:axios
-- [x] 图表:echarts
-- [x] ui:element-plus
-- [x] 存储:pinia
-- [x] 路由:vue-router
-- [x] 打包:vite
-
-#### 运维
-- [x] 部署:nginx
-- [x] CICD:gitlab+Jenkins
-- [x] Docker:harbor
-
-****
-### 业务支持模块:
-
-RABC权限管理系统(正在更新)
-(采用ruoyi前端)
-- 用户管理
-- 角色管理
-- 菜单管理
-- 部门管理
-- 岗位管理
-- 字典管理
-- 参数管理
-- 用户在线
-- 操作日志
-- 登录日志
-- 定时任务
-- 缓存列表
-- 服务监控
-- WebFirst代码生成工具
-
- **演示截图:**
-
-
-
-
-
-
-
-
-
-
-
-
-
-BBS论坛系统(持续迭代)
-- 文章管理
-- 评论管理
-- 主题管理
-- 板块管理
-- 点赞管理
-- 等等
-
-APP移动端系统(持续迭代)
-- 动态查询
-- 我的资料
-
-ERP进销存系统(持续迭代)
-- 供货商管理
-- 等等
-
-SHOP电商系统(持续迭代)
-- SPU管理
-- SKU管理
-- 商品规格
-- 商品分类
-- 等等
-
-
-****
-### 感谢:
-
-**大力支持**: Eleven神、Sqlsugar上海杰哥、Gerry、哲学的老张
-
-[橙子]https://ccnetcore.com
-
-[lzw]https://github.com/yeslode
-
-[朝夕教育]https://www.zhaoxiedu.net
-
-[Sqlsugar老杰哥]https://www.donet5.com/Home/Doc
-
-[RuYiAdmin如意老兄]https://gitee.com/pang-mingjun/RuYiAdmin
-
-[ZrAdminNetCore字母老哥]https://gitee.com/izory/ZrAdminNetCore
-
-[Admin.NET周哥]https://gitee.com/zuohuaijun/Admin.NET
-
-[Furion百小僧]https://furion.baiqian.ltd/
-
-****
-### 联系我们:
-
-作者QQ:`454313500`,2029年之前作者24小时在线,时刻保持活跃更新。
-
-QQ交流群:官方一群(已满)、官方二群(已满)、官方三群:`786308927`(基本已满)、官方四群:`498310311`(新群)
-
-联系作者,这里人人都是顾问
-
-官方网址留言区:[ccnetcore.com](https://ccnetcore.com)
-
-****
-### FQA:
-
-前往官网查看留言区
-
-[留言区](https://ccnetcore.com/discuss/1641030787056930818)
\ No newline at end of file
+1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md
+2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com)
+3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目
+4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目
+5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help)
+6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
diff --git a/Yi.Abp.Net8/Yi.Abp.sln b/Yi.Abp.Net8/Yi.Abp.sln
new file mode 100644
index 00000000..acc24feb
--- /dev/null
+++ b/Yi.Abp.Net8/Yi.Abp.sln
@@ -0,0 +1,201 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.7.34202.233
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yi.Abp.Web", "src\Yi.Abp.Web\Yi.Abp.Web.csproj", "{15913E44-DA92-44B9-9AC5-E9457EA34BF5}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yi.Framework.SqlSugarCore", "framework\Yi.Framework.SqlSugarCore\Yi.Framework.SqlSugarCore.csproj", "{DC431ECC-C75D-4B01-8B79-4861948179BB}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{B782C78B-6C17-49E6-A237-3383BA720766}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{0D10EEF2-FBAE-4C72-B816-A52823FC299B}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "framework", "framework", "{77B949E9-530E-45A5-9657-20F7D5C6875C}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "module", "module", "{2317227D-7796-4E7B-BEDB-7CD1CAE7B853}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yi.Abp.SqlSugarCore", "src\Yi.Abp.SqlSugarCore\Yi.Abp.SqlSugarCore.csproj", "{9A7BBA40-28D6-4900-9E1D-D627A516EE72}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yi.Abp.Application", "src\Yi.Abp.Application\Yi.Abp.Application.csproj", "{746DBBD6-23E8-4D5D-9D23-E2902BE338BD}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yi.Abp.Application.Contracts", "src\Yi.Abp.Application.Contracts\Yi.Abp.Application.Contracts.csproj", "{51EEBF59-3D37-4681-981D-56F8D8F8968D}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yi.Abp.Domain", "src\Yi.Abp.Domain\Yi.Abp.Domain.csproj", "{7B15C198-538A-44ED-A6AA-3A0FEAA1D2BD}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yi.Abp.Domain.Shared", "src\Yi.Abp.Domain.Shared\Yi.Abp.Domain.Shared.csproj", "{F4D5A496-BFBE-470B-A05B-CB5823B47E72}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{6A5375C6-1D55-4E93-9B19-736F1C68CBC3}"
+ ProjectSection(SolutionItems) = preProject
+ common.props = common.props
+ EndProjectSection
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yi.Framework.SqlSugarCore.Abstractions", "framework\Yi.Framework.SqlSugarCore.Abstractions\Yi.Framework.SqlSugarCore.Abstractions.csproj", "{FD6D6860-3753-4747-8A26-977E4A3001F9}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yi.Framework.Core", "framework\Yi.Framework.Core\Yi.Framework.Core.csproj", "{ECE874D4-F882-4EF4-84A6-A842D9B8FBC5}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yi.Framework.Mapster", "framework\Yi.Framework.Mapster\Yi.Framework.Mapster.csproj", "{1995A019-C8AE-467E-B427-ED57D6CBF44F}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yi.Framework.AspNetCore", "framework\Yi.Framework.AspNetCore\Yi.Framework.AspNetCore.csproj", "{F5011C0D-209B-4A98-BBE3-68157503EEF8}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yi.Framework.Ddd.Application.Contracts", "framework\Yi.Framework.Ddd.Application.Contracts\Yi.Framework.Ddd.Application.Contracts.csproj", "{0A8296A3-C11F-4F13-8E49-6BC8188D4804}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yi.Framework.Ddd.Application", "framework\Yi.Framework.Ddd.Application\Yi.Framework.Ddd.Application.csproj", "{F0141C17-0EBD-4261-98D5-1C5B7BC1DFEE}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "rbac", "rbac", "{9CC7A457-1236-40BA-B47B-E7B710A3F061}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yi.Framework.Rbac.Application.Contracts", "module\rbac\Yi.Framework.Rbac.Application.Contracts\Yi.Framework.Rbac.Application.Contracts.csproj", "{1C360956-8CD8-407E-B87F-D0BD57068EB9}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yi.Framework.Rbac.Application", "module\rbac\Yi.Framework.Rbac.Application\Yi.Framework.Rbac.Application.csproj", "{4F02B08D-5FE2-460D-BCA5-DA565151AE30}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yi.Framework.Rbac.Domain", "module\rbac\Yi.Framework.Rbac.Domain\Yi.Framework.Rbac.Domain.csproj", "{C04D3F71-1557-46D0-B810-97B1FBB6AB73}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yi.Framework.Rbac.Domain.Shared", "module\rbac\Yi.Framework.Rbac.Domain.Shared\Yi.Framework.Rbac.Domain.Shared.csproj", "{A2BB899D-4F9A-4184-81BD-94B938E2AB03}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yi.Framework.Rbac.SqlSugarCore", "module\rbac\Yi.Framework.Rbac.SqlSugarCore\Yi.Framework.Rbac.SqlSugarCore.csproj", "{4503A2F9-139D-4CBC-AF11-689C34F0D77B}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "bbs", "bbs", "{E902A945-4F41-4E96-A0DA-9F66CDA22261}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yi.Framework.Bbs.Domain.Shared", "module\bbs\Yi.Framework.Bbs.Domain.Shared\Yi.Framework.Bbs.Domain.Shared.csproj", "{EB9349E2-256D-41EB-A345-21635A1361B3}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Yi.Framework.Bbs.Domain", "module\bbs\Yi.Framework.Bbs.Domain\Yi.Framework.Bbs.Domain.csproj", "{4EABBC84-BCED-46C1-8CF1-62A7B8081ED7}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Yi.Framework.Bbs.Application.Contracts", "module\bbs\Yi.Framework.Bbs.Application.Contracts\Yi.Framework.Bbs.Application.Contracts.csproj", "{7E569FD9-B1AB-4848-8AB7-FD9EFA1DBA20}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Yi.Framework.Bbs.Application", "module\bbs\Yi.Framework.Bbs.Application\Yi.Framework.Bbs.Application.csproj", "{AD4EE9E6-F4A3-4139-AF05-71388167DE5B}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Yi.Framework.Bbs.SqlSugarCore", "module\bbs\Yi.Framework.Bbs.SqlSugarCore\Yi.Framework.Bbs.SqlSugarCore.csproj", "{6C86BA71-9F87-4E2C-B467-2950D77DCDFA}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {15913E44-DA92-44B9-9AC5-E9457EA34BF5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {15913E44-DA92-44B9-9AC5-E9457EA34BF5}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {15913E44-DA92-44B9-9AC5-E9457EA34BF5}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {15913E44-DA92-44B9-9AC5-E9457EA34BF5}.Release|Any CPU.Build.0 = Release|Any CPU
+ {DC431ECC-C75D-4B01-8B79-4861948179BB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {DC431ECC-C75D-4B01-8B79-4861948179BB}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {DC431ECC-C75D-4B01-8B79-4861948179BB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {DC431ECC-C75D-4B01-8B79-4861948179BB}.Release|Any CPU.Build.0 = Release|Any CPU
+ {9A7BBA40-28D6-4900-9E1D-D627A516EE72}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {9A7BBA40-28D6-4900-9E1D-D627A516EE72}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {9A7BBA40-28D6-4900-9E1D-D627A516EE72}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {9A7BBA40-28D6-4900-9E1D-D627A516EE72}.Release|Any CPU.Build.0 = Release|Any CPU
+ {746DBBD6-23E8-4D5D-9D23-E2902BE338BD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {746DBBD6-23E8-4D5D-9D23-E2902BE338BD}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {746DBBD6-23E8-4D5D-9D23-E2902BE338BD}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {746DBBD6-23E8-4D5D-9D23-E2902BE338BD}.Release|Any CPU.Build.0 = Release|Any CPU
+ {51EEBF59-3D37-4681-981D-56F8D8F8968D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {51EEBF59-3D37-4681-981D-56F8D8F8968D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {51EEBF59-3D37-4681-981D-56F8D8F8968D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {51EEBF59-3D37-4681-981D-56F8D8F8968D}.Release|Any CPU.Build.0 = Release|Any CPU
+ {7B15C198-538A-44ED-A6AA-3A0FEAA1D2BD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {7B15C198-538A-44ED-A6AA-3A0FEAA1D2BD}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {7B15C198-538A-44ED-A6AA-3A0FEAA1D2BD}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {7B15C198-538A-44ED-A6AA-3A0FEAA1D2BD}.Release|Any CPU.Build.0 = Release|Any CPU
+ {F4D5A496-BFBE-470B-A05B-CB5823B47E72}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F4D5A496-BFBE-470B-A05B-CB5823B47E72}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F4D5A496-BFBE-470B-A05B-CB5823B47E72}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {F4D5A496-BFBE-470B-A05B-CB5823B47E72}.Release|Any CPU.Build.0 = Release|Any CPU
+ {FD6D6860-3753-4747-8A26-977E4A3001F9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {FD6D6860-3753-4747-8A26-977E4A3001F9}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {FD6D6860-3753-4747-8A26-977E4A3001F9}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {FD6D6860-3753-4747-8A26-977E4A3001F9}.Release|Any CPU.Build.0 = Release|Any CPU
+ {ECE874D4-F882-4EF4-84A6-A842D9B8FBC5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {ECE874D4-F882-4EF4-84A6-A842D9B8FBC5}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {ECE874D4-F882-4EF4-84A6-A842D9B8FBC5}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {ECE874D4-F882-4EF4-84A6-A842D9B8FBC5}.Release|Any CPU.Build.0 = Release|Any CPU
+ {1995A019-C8AE-467E-B427-ED57D6CBF44F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1995A019-C8AE-467E-B427-ED57D6CBF44F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1995A019-C8AE-467E-B427-ED57D6CBF44F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {1995A019-C8AE-467E-B427-ED57D6CBF44F}.Release|Any CPU.Build.0 = Release|Any CPU
+ {F5011C0D-209B-4A98-BBE3-68157503EEF8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F5011C0D-209B-4A98-BBE3-68157503EEF8}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F5011C0D-209B-4A98-BBE3-68157503EEF8}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {F5011C0D-209B-4A98-BBE3-68157503EEF8}.Release|Any CPU.Build.0 = Release|Any CPU
+ {0A8296A3-C11F-4F13-8E49-6BC8188D4804}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {0A8296A3-C11F-4F13-8E49-6BC8188D4804}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {0A8296A3-C11F-4F13-8E49-6BC8188D4804}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {0A8296A3-C11F-4F13-8E49-6BC8188D4804}.Release|Any CPU.Build.0 = Release|Any CPU
+ {F0141C17-0EBD-4261-98D5-1C5B7BC1DFEE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F0141C17-0EBD-4261-98D5-1C5B7BC1DFEE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F0141C17-0EBD-4261-98D5-1C5B7BC1DFEE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {F0141C17-0EBD-4261-98D5-1C5B7BC1DFEE}.Release|Any CPU.Build.0 = Release|Any CPU
+ {1C360956-8CD8-407E-B87F-D0BD57068EB9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1C360956-8CD8-407E-B87F-D0BD57068EB9}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1C360956-8CD8-407E-B87F-D0BD57068EB9}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {1C360956-8CD8-407E-B87F-D0BD57068EB9}.Release|Any CPU.Build.0 = Release|Any CPU
+ {4F02B08D-5FE2-460D-BCA5-DA565151AE30}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {4F02B08D-5FE2-460D-BCA5-DA565151AE30}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {4F02B08D-5FE2-460D-BCA5-DA565151AE30}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {4F02B08D-5FE2-460D-BCA5-DA565151AE30}.Release|Any CPU.Build.0 = Release|Any CPU
+ {C04D3F71-1557-46D0-B810-97B1FBB6AB73}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C04D3F71-1557-46D0-B810-97B1FBB6AB73}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C04D3F71-1557-46D0-B810-97B1FBB6AB73}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C04D3F71-1557-46D0-B810-97B1FBB6AB73}.Release|Any CPU.Build.0 = Release|Any CPU
+ {A2BB899D-4F9A-4184-81BD-94B938E2AB03}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A2BB899D-4F9A-4184-81BD-94B938E2AB03}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A2BB899D-4F9A-4184-81BD-94B938E2AB03}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A2BB899D-4F9A-4184-81BD-94B938E2AB03}.Release|Any CPU.Build.0 = Release|Any CPU
+ {4503A2F9-139D-4CBC-AF11-689C34F0D77B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {4503A2F9-139D-4CBC-AF11-689C34F0D77B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {4503A2F9-139D-4CBC-AF11-689C34F0D77B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {4503A2F9-139D-4CBC-AF11-689C34F0D77B}.Release|Any CPU.Build.0 = Release|Any CPU
+ {EB9349E2-256D-41EB-A345-21635A1361B3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {EB9349E2-256D-41EB-A345-21635A1361B3}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {EB9349E2-256D-41EB-A345-21635A1361B3}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {EB9349E2-256D-41EB-A345-21635A1361B3}.Release|Any CPU.Build.0 = Release|Any CPU
+ {4EABBC84-BCED-46C1-8CF1-62A7B8081ED7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {4EABBC84-BCED-46C1-8CF1-62A7B8081ED7}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {4EABBC84-BCED-46C1-8CF1-62A7B8081ED7}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {4EABBC84-BCED-46C1-8CF1-62A7B8081ED7}.Release|Any CPU.Build.0 = Release|Any CPU
+ {7E569FD9-B1AB-4848-8AB7-FD9EFA1DBA20}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {7E569FD9-B1AB-4848-8AB7-FD9EFA1DBA20}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {7E569FD9-B1AB-4848-8AB7-FD9EFA1DBA20}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {7E569FD9-B1AB-4848-8AB7-FD9EFA1DBA20}.Release|Any CPU.Build.0 = Release|Any CPU
+ {AD4EE9E6-F4A3-4139-AF05-71388167DE5B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {AD4EE9E6-F4A3-4139-AF05-71388167DE5B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {AD4EE9E6-F4A3-4139-AF05-71388167DE5B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {AD4EE9E6-F4A3-4139-AF05-71388167DE5B}.Release|Any CPU.Build.0 = Release|Any CPU
+ {6C86BA71-9F87-4E2C-B467-2950D77DCDFA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {6C86BA71-9F87-4E2C-B467-2950D77DCDFA}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {6C86BA71-9F87-4E2C-B467-2950D77DCDFA}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {6C86BA71-9F87-4E2C-B467-2950D77DCDFA}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(NestedProjects) = preSolution
+ {15913E44-DA92-44B9-9AC5-E9457EA34BF5} = {B782C78B-6C17-49E6-A237-3383BA720766}
+ {DC431ECC-C75D-4B01-8B79-4861948179BB} = {77B949E9-530E-45A5-9657-20F7D5C6875C}
+ {9A7BBA40-28D6-4900-9E1D-D627A516EE72} = {B782C78B-6C17-49E6-A237-3383BA720766}
+ {746DBBD6-23E8-4D5D-9D23-E2902BE338BD} = {B782C78B-6C17-49E6-A237-3383BA720766}
+ {51EEBF59-3D37-4681-981D-56F8D8F8968D} = {B782C78B-6C17-49E6-A237-3383BA720766}
+ {7B15C198-538A-44ED-A6AA-3A0FEAA1D2BD} = {B782C78B-6C17-49E6-A237-3383BA720766}
+ {F4D5A496-BFBE-470B-A05B-CB5823B47E72} = {B782C78B-6C17-49E6-A237-3383BA720766}
+ {FD6D6860-3753-4747-8A26-977E4A3001F9} = {77B949E9-530E-45A5-9657-20F7D5C6875C}
+ {ECE874D4-F882-4EF4-84A6-A842D9B8FBC5} = {77B949E9-530E-45A5-9657-20F7D5C6875C}
+ {1995A019-C8AE-467E-B427-ED57D6CBF44F} = {77B949E9-530E-45A5-9657-20F7D5C6875C}
+ {F5011C0D-209B-4A98-BBE3-68157503EEF8} = {77B949E9-530E-45A5-9657-20F7D5C6875C}
+ {0A8296A3-C11F-4F13-8E49-6BC8188D4804} = {77B949E9-530E-45A5-9657-20F7D5C6875C}
+ {F0141C17-0EBD-4261-98D5-1C5B7BC1DFEE} = {77B949E9-530E-45A5-9657-20F7D5C6875C}
+ {9CC7A457-1236-40BA-B47B-E7B710A3F061} = {2317227D-7796-4E7B-BEDB-7CD1CAE7B853}
+ {1C360956-8CD8-407E-B87F-D0BD57068EB9} = {9CC7A457-1236-40BA-B47B-E7B710A3F061}
+ {4F02B08D-5FE2-460D-BCA5-DA565151AE30} = {9CC7A457-1236-40BA-B47B-E7B710A3F061}
+ {C04D3F71-1557-46D0-B810-97B1FBB6AB73} = {9CC7A457-1236-40BA-B47B-E7B710A3F061}
+ {A2BB899D-4F9A-4184-81BD-94B938E2AB03} = {9CC7A457-1236-40BA-B47B-E7B710A3F061}
+ {4503A2F9-139D-4CBC-AF11-689C34F0D77B} = {9CC7A457-1236-40BA-B47B-E7B710A3F061}
+ {E902A945-4F41-4E96-A0DA-9F66CDA22261} = {2317227D-7796-4E7B-BEDB-7CD1CAE7B853}
+ {EB9349E2-256D-41EB-A345-21635A1361B3} = {E902A945-4F41-4E96-A0DA-9F66CDA22261}
+ {4EABBC84-BCED-46C1-8CF1-62A7B8081ED7} = {E902A945-4F41-4E96-A0DA-9F66CDA22261}
+ {7E569FD9-B1AB-4848-8AB7-FD9EFA1DBA20} = {E902A945-4F41-4E96-A0DA-9F66CDA22261}
+ {AD4EE9E6-F4A3-4139-AF05-71388167DE5B} = {E902A945-4F41-4E96-A0DA-9F66CDA22261}
+ {6C86BA71-9F87-4E2C-B467-2950D77DCDFA} = {E902A945-4F41-4E96-A0DA-9F66CDA22261}
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {23D6FBC9-C970-4641-BC1E-2AEA59F51C18}
+ EndGlobalSection
+EndGlobal
diff --git a/Yi.Abp.Net8/common.props b/Yi.Abp.Net8/common.props
new file mode 100644
index 00000000..f4ca2b1e
--- /dev/null
+++ b/Yi.Abp.Net8/common.props
@@ -0,0 +1,20 @@
+
+
+ latest
+ 1.0.0
+ $(NoWarn);CS1591;CS8618;CS1998;CS8604;CS8620;CS8600;CS8602
+ app
+ $(AssemblyName).xml
+
+
+
+
+ $(NoWarn);0436
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Yi.Abp.Net8/framework/Yi.Framework.AspNetCore/Microsoft/AspNetCore/Builder/ApiInfoBuilderExtensions.cs b/Yi.Abp.Net8/framework/Yi.Framework.AspNetCore/Microsoft/AspNetCore/Builder/ApiInfoBuilderExtensions.cs
new file mode 100644
index 00000000..e94d369a
--- /dev/null
+++ b/Yi.Abp.Net8/framework/Yi.Framework.AspNetCore/Microsoft/AspNetCore/Builder/ApiInfoBuilderExtensions.cs
@@ -0,0 +1,16 @@
+using JetBrains.Annotations;
+using Microsoft.AspNetCore.Builder;
+using Yi.Framework.AspNetCore.Microsoft.AspNetCore.Middlewares;
+
+namespace Yi.Framework.AspNetCore.Microsoft.AspNetCore.Builder
+{
+ public static class ApiInfoBuilderExtensions
+ {
+ public static IApplicationBuilder UseYiApiHandlinge([NotNull] this IApplicationBuilder app)
+ {
+ app.UseMiddleware();
+ return app;
+
+ }
+ }
+}
diff --git a/Yi.Abp.Net8/framework/Yi.Framework.AspNetCore/Microsoft/AspNetCore/Builder/SwaggerBuilderExtensons.cs b/Yi.Abp.Net8/framework/Yi.Framework.AspNetCore/Microsoft/AspNetCore/Builder/SwaggerBuilderExtensons.cs
new file mode 100644
index 00000000..d92b19a0
--- /dev/null
+++ b/Yi.Abp.Net8/framework/Yi.Framework.AspNetCore/Microsoft/AspNetCore/Builder/SwaggerBuilderExtensons.cs
@@ -0,0 +1,45 @@
+using Microsoft.AspNetCore.Builder;
+
+namespace Yi.Framework.AspNetCore.Microsoft.AspNetCore.Builder
+{
+ public static class SwaggerBuilderExtensons
+ {
+ public static IApplicationBuilder UseYiSwagger(this IApplicationBuilder app, params SwaggerModel[] swaggerModels)
+ {
+ app.UseSwagger();
+ app.UseSwaggerUI(c =>
+ {
+ if (swaggerModels.Length == 0)
+ {
+ c.SwaggerEndpoint("/swagger/v1/swagger.json", "Yi.Framework");
+ }
+ else
+ {
+ foreach (var k in swaggerModels)
+ {
+
+ c.SwaggerEndpoint(k.Url, k.Name);
+ }
+ }
+
+ });
+ return app;
+ }
+
+ }
+ public class SwaggerModel
+ {
+ public SwaggerModel(string name)
+ {
+ this.Name = name;
+ this.Url = "/swagger/v1/swagger.json";
+ }
+ public SwaggerModel(string url, string name)
+ {
+ this.Url = url;
+ this.Name = name;
+ }
+ public string Url { get; set; }
+ public string Name { get; set; }
+ }
+}
diff --git a/Yi.Abp.Net8/framework/Yi.Framework.AspNetCore/Microsoft/AspNetCore/Middlewares/ApiInfoMiddleware.cs b/Yi.Abp.Net8/framework/Yi.Framework.AspNetCore/Microsoft/AspNetCore/Middlewares/ApiInfoMiddleware.cs
new file mode 100644
index 00000000..dca67aee
--- /dev/null
+++ b/Yi.Abp.Net8/framework/Yi.Framework.AspNetCore/Microsoft/AspNetCore/Middlewares/ApiInfoMiddleware.cs
@@ -0,0 +1,16 @@
+using System.Net.Http;
+using Microsoft.AspNetCore.Http;
+using Microsoft.Extensions.DependencyInjection;
+using Volo.Abp.DependencyInjection;
+using Volo.Abp.Json;
+
+namespace Yi.Framework.AspNetCore.Microsoft.AspNetCore.Middlewares
+{
+ public class ApiInfoMiddleware : IMiddleware, ITransientDependency
+ {
+ public async Task InvokeAsync(HttpContext context, RequestDelegate next)
+ {
+ await next(context);
+ }
+ }
+}
diff --git a/Yi.Abp.Net8/framework/Yi.Framework.AspNetCore/Microsoft/Extensions/DependencyInjection/SwaggerAddExtensions.cs b/Yi.Abp.Net8/framework/Yi.Framework.AspNetCore/Microsoft/Extensions/DependencyInjection/SwaggerAddExtensions.cs
new file mode 100644
index 00000000..3a54bc11
--- /dev/null
+++ b/Yi.Abp.Net8/framework/Yi.Framework.AspNetCore/Microsoft/Extensions/DependencyInjection/SwaggerAddExtensions.cs
@@ -0,0 +1,55 @@
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.OpenApi.Models;
+using Swashbuckle.AspNetCore.SwaggerGen;
+
+namespace Yi.Framework.AspNetCore.Microsoft.Extensions.DependencyInjection
+{
+ public static class SwaggerAddExtensions
+ {
+ public static IServiceCollection AddYiSwaggerGen(this IServiceCollection services, Action? action)
+ {
+ services.AddAbpSwaggerGen(
+ options =>
+ {
+ options.DocInclusionPredicate((docName, description) => true);
+ options.CustomSchemaIds(type => type.FullName);
+ var basePath = Path.GetDirectoryName(typeof(Program).Assembly.Location);
+ if (basePath is not null)
+ {
+ foreach (var item in Directory.GetFiles(basePath, "*.xml"))
+ {
+ options.IncludeXmlComments(item, true);
+ }
+ }
+
+ options.AddSecurityDefinition("JwtBearer", new OpenApiSecurityScheme()
+ {
+ Description = "直接输入Token即可",
+ Name = "Authorization",
+ In = ParameterLocation.Header,
+ Type = SecuritySchemeType.Http,
+ Scheme = "bearer"
+ });
+ var scheme = new OpenApiSecurityScheme()
+ {
+ Reference = new OpenApiReference() { Type = ReferenceType.SecurityScheme, Id = "JwtBearer" }
+ };
+ options.AddSecurityRequirement(new OpenApiSecurityRequirement()
+ {
+ [scheme] = new string[0]
+ });
+
+
+ if (action is not null)
+ {
+ action.Invoke(options);
+ }
+ }
+ );
+
+
+
+ return services;
+ }
+ }
+}
diff --git a/Yi.Abp.Net8/framework/Yi.Framework.AspNetCore/Mvc/YiConventionalRouteBuilder.cs b/Yi.Abp.Net8/framework/Yi.Framework.AspNetCore/Mvc/YiConventionalRouteBuilder.cs
new file mode 100644
index 00000000..3ee0cb31
--- /dev/null
+++ b/Yi.Abp.Net8/framework/Yi.Framework.AspNetCore/Mvc/YiConventionalRouteBuilder.cs
@@ -0,0 +1,73 @@
+using JetBrains.Annotations;
+using Microsoft.AspNetCore.Mvc.ApplicationModels;
+using System.Reflection;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Options;
+using Volo.Abp.AspNetCore.Mvc.Conventions;
+using Volo.Abp.DependencyInjection;
+using Volo.Abp.Reflection;
+
+namespace Yi.Framework.AspNetCore.Mvc
+{
+ [Dependency(ServiceLifetime.Transient, ReplaceServices = true)]
+ [ExposeServices(typeof(IConventionalRouteBuilder))]
+ public class YiConventionalRouteBuilder : ConventionalRouteBuilder
+ {
+ public YiConventionalRouteBuilder(IOptions options) : base(options)
+ {
+ }
+ public override string Build(
+ string rootPath,
+ string controllerName,
+ ActionModel action,
+ string httpMethod,
+ [CanBeNull] ConventionalControllerSetting configuration)
+ {
+
+ var apiRoutePrefix = GetApiRoutePrefix(action, configuration);
+ var controllerNameInUrl =
+ NormalizeUrlControllerName(rootPath, controllerName, action, httpMethod, configuration);
+
+ var url = $"{apiRoutePrefix}/{rootPath}/{NormalizeControllerNameCase(controllerNameInUrl, configuration)}";
+
+ //Add {id} path if needed
+ var idParameterModel = action.Parameters.FirstOrDefault(p => p.ParameterName == "id");
+ if (idParameterModel != null)
+ {
+ if (TypeHelper.IsPrimitiveExtended(idParameterModel.ParameterType, includeEnums: true))
+ {
+ url += "/{id}";
+ }
+ else
+ {
+ var properties = idParameterModel
+ .ParameterType
+ .GetProperties(BindingFlags.Instance | BindingFlags.Public);
+
+ foreach (var property in properties)
+ {
+ url += "/{" + NormalizeIdPropertyNameCase(property, configuration) + "}";
+ }
+ }
+ }
+
+ //Add action name if needed
+ var actionNameInUrl = NormalizeUrlActionName(rootPath, controllerName, action, httpMethod, configuration);
+ if (!actionNameInUrl.IsNullOrEmpty())
+ {
+ url += $"/{NormalizeActionNameCase(actionNameInUrl, configuration)}";
+
+ //Add secondary Id
+ var secondaryIds = action.Parameters
+ .Where(p => p.ParameterName.EndsWith("Id", StringComparison.Ordinal)).ToList();
+ if (secondaryIds.Count == 1)
+ {
+ url += $"/{{{NormalizeSecondaryIdNameCase(secondaryIds[0], configuration)}}}";
+ }
+ }
+
+ return url;
+ }
+
+ }
+}
diff --git a/Yi.Abp.Net8/framework/Yi.Framework.AspNetCore/Mvc/YiServiceConvention.cs b/Yi.Abp.Net8/framework/Yi.Framework.AspNetCore/Mvc/YiServiceConvention.cs
new file mode 100644
index 00000000..a1932cf4
--- /dev/null
+++ b/Yi.Abp.Net8/framework/Yi.Framework.AspNetCore/Mvc/YiServiceConvention.cs
@@ -0,0 +1,99 @@
+using JetBrains.Annotations;
+using Microsoft.AspNetCore.Mvc;
+using Microsoft.AspNetCore.Mvc.ActionConstraints;
+using Microsoft.AspNetCore.Mvc.ApplicationModels;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Options;
+using Volo.Abp;
+using Volo.Abp.AspNetCore;
+using Volo.Abp.AspNetCore.Mvc;
+using Volo.Abp.AspNetCore.Mvc.Conventions;
+using Volo.Abp.DependencyInjection;
+using Volo.Abp.Reflection;
+
+namespace Yi.Framework.AspNetCore.Mvc
+{
+ [Dependency(ServiceLifetime.Transient, ReplaceServices = true)]
+ [ExposeServices(typeof(IAbpServiceConvention))]
+ public class YiServiceConvention : AbpServiceConvention
+ {
+ public YiServiceConvention(IOptions options, IConventionalRouteBuilder conventionalRouteBuilder) : base(options, conventionalRouteBuilder)
+ {
+ }
+
+ protected override void ConfigureSelector(string rootPath, string controllerName, ActionModel action, ConventionalControllerSetting? configuration)
+ {
+ RemoveEmptySelectors(action.Selectors);
+
+ var remoteServiceAtt = ReflectionHelper.GetSingleAttributeOrDefault(action.ActionMethod);
+ if (remoteServiceAtt != null && !remoteServiceAtt.IsEnabledFor(action.ActionMethod))
+ {
+ return;
+ }
+
+ if (!action.Selectors.Any())
+ {
+ AddAbpServiceSelector(rootPath, controllerName, action, configuration);
+ }
+ else
+ {
+ NormalizeSelectorRoutes(rootPath, controllerName, action, configuration);
+ }
+ }
+
+
+ protected override void AddAbpServiceSelector(string rootPath, string controllerName, ActionModel action, ConventionalControllerSetting? configuration)
+ {
+ if (action.ActionName.ToLower().Contains("vue"))
+ {
+ }
+ base.AddAbpServiceSelector(rootPath, controllerName, action, configuration);
+ }
+
+ protected override void NormalizeSelectorRoutes(string rootPath, string controllerName, ActionModel action, ConventionalControllerSetting? configuration)
+ {
+ foreach (var selector in action.Selectors)
+ {
+ var httpMethod = selector.ActionConstraints
+ .OfType()
+ .FirstOrDefault()?
+ .HttpMethods?
+ .FirstOrDefault();
+
+ if (httpMethod == null)
+ {
+ httpMethod = SelectHttpMethod(action, configuration);
+ }
+
+ if (selector.AttributeRouteModel == null)
+ {
+ selector.AttributeRouteModel = CreateAbpServiceAttributeRouteModel(rootPath, controllerName, action, httpMethod, configuration);
+ }
+ else
+ {
+
+ var template = selector.AttributeRouteModel.Template;
+ if (!template.StartsWith("/"))
+ {
+ var route = $"{AbpAspNetCoreConsts.DefaultApiPrefix}/{rootPath}/{template}";
+ selector.AttributeRouteModel.Template = route;
+
+ }
+
+ }
+
+
+
+ if (!selector.ActionConstraints.OfType().Any())
+ {
+ selector.ActionConstraints.Add(new HttpMethodActionConstraint(new[] { httpMethod }));
+ }
+
+
+ }
+ }
+
+
+
+ }
+}
diff --git a/Yi.Abp.Net8/framework/Yi.Framework.AspNetCore/RemoteServiceSuccessInfo.cs b/Yi.Abp.Net8/framework/Yi.Framework.AspNetCore/RemoteServiceSuccessInfo.cs
new file mode 100644
index 00000000..297c82aa
--- /dev/null
+++ b/Yi.Abp.Net8/framework/Yi.Framework.AspNetCore/RemoteServiceSuccessInfo.cs
@@ -0,0 +1,57 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Yi.Framework.AspNetCore
+{
+ [Serializable]
+ public class RemoteServiceSuccessInfo
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ public RemoteServiceSuccessInfo()
+ {
+
+ }
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// Error code
+ /// Error details
+ /// Error message
+ /// Error data
+ public RemoteServiceSuccessInfo(string message, string? details = null, string? code = null, object? data = null)
+ {
+ Message = message;
+ Details = details;
+ Code = code;
+ Data = data;
+ }
+
+ ///
+ /// code.
+ ///
+ public string? Code { get; set; }
+
+ ///
+ /// message.
+ ///
+ public string? Message { get; set; }
+
+ ///
+ /// details.
+ ///
+ public string? Details { get; set; }
+
+ ///
+ /// data.
+ ///
+ public object? Data { get; set; }
+
+ }
+}
diff --git a/Yi.Abp.Net8/framework/Yi.Framework.AspNetCore/Yi.Framework.AspNetCore.csproj b/Yi.Abp.Net8/framework/Yi.Framework.AspNetCore/Yi.Framework.AspNetCore.csproj
new file mode 100644
index 00000000..f554f347
--- /dev/null
+++ b/Yi.Abp.Net8/framework/Yi.Framework.AspNetCore/Yi.Framework.AspNetCore.csproj
@@ -0,0 +1,22 @@
+
+
+
+ net7.0
+ enable
+ enable
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Yi.Abp.Net8/framework/Yi.Framework.AspNetCore/Yi.Framework.AspNetCore.xml b/Yi.Abp.Net8/framework/Yi.Framework.AspNetCore/Yi.Framework.AspNetCore.xml
new file mode 100644
index 00000000..db1b7d18
--- /dev/null
+++ b/Yi.Abp.Net8/framework/Yi.Framework.AspNetCore/Yi.Framework.AspNetCore.xml
@@ -0,0 +1,42 @@
+
+
+
+ Yi.Framework.AspNetCore
+
+
+
+
+ Creates a new instance of .
+
+
+
+
+ Creates a new instance of .
+
+ Error code
+ Error details
+ Error message
+ Error data
+
+
+
+ code.
+
+
+
+
+ message.
+
+
+
+
+ details.
+
+
+
+
+ data.
+
+
+
+
diff --git a/Yi.Abp.Net8/framework/Yi.Framework.AspNetCore/YiFrameworkAspNetCoreModule.cs b/Yi.Abp.Net8/framework/Yi.Framework.AspNetCore/YiFrameworkAspNetCoreModule.cs
new file mode 100644
index 00000000..702a0729
--- /dev/null
+++ b/Yi.Abp.Net8/framework/Yi.Framework.AspNetCore/YiFrameworkAspNetCoreModule.cs
@@ -0,0 +1,17 @@
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.DependencyInjection.Extensions;
+using Volo.Abp.Modularity;
+using Yi.Framework.AspNetCore.Mvc;
+using Yi.Framework.Core;
+
+namespace Yi.Framework.AspNetCore
+{
+ [DependsOn(typeof(YiFrameworkCoreModule)
+ )]
+ public class YiFrameworkAspNetCoreModule : AbpModule
+ {
+ public override void ConfigureServices(ServiceConfigurationContext context)
+ {
+ }
+ }
+}
\ No newline at end of file
diff --git a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Enums/FileTypeEnum.cs b/Yi.Abp.Net8/framework/Yi.Framework.Core/Enums/FileTypeEnum.cs
similarity index 87%
rename from Yi.Furion.Net6/Yi.Framework.Infrastructure/Enums/FileTypeEnum.cs
rename to Yi.Abp.Net8/framework/Yi.Framework.Core/Enums/FileTypeEnum.cs
index 1885e14a..1776d35f 100644
--- a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Enums/FileTypeEnum.cs
+++ b/Yi.Abp.Net8/framework/Yi.Framework.Core/Enums/FileTypeEnum.cs
@@ -4,7 +4,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
-namespace Yi.Framework.Infrastructure.Enums
+namespace Yi.Framework.Core.Enums
{
///
/// 定义公共文件路径
diff --git a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Enums/OrderByEnum.cs b/Yi.Abp.Net8/framework/Yi.Framework.Core/Enums/OrderByEnum.cs
similarity index 81%
rename from Yi.Furion.Net6/Yi.Framework.Infrastructure/Enums/OrderByEnum.cs
rename to Yi.Abp.Net8/framework/Yi.Framework.Core/Enums/OrderByEnum.cs
index 5856cf3b..b1edac3a 100644
--- a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Enums/OrderByEnum.cs
+++ b/Yi.Abp.Net8/framework/Yi.Framework.Core/Enums/OrderByEnum.cs
@@ -4,7 +4,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
-namespace Yi.Framework.Infrastructure.Enums
+namespace Yi.Framework.Core.Enums
{
public enum OrderByEnum
{
diff --git a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Enums/QueryOperatorEnum.cs b/Yi.Abp.Net8/framework/Yi.Framework.Core/Enums/QueryOperatorEnum.cs
similarity index 97%
rename from Yi.Furion.Net6/Yi.Framework.Infrastructure/Enums/QueryOperatorEnum.cs
rename to Yi.Abp.Net8/framework/Yi.Framework.Core/Enums/QueryOperatorEnum.cs
index 7f959c2f..13439675 100644
--- a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Enums/QueryOperatorEnum.cs
+++ b/Yi.Abp.Net8/framework/Yi.Framework.Core/Enums/QueryOperatorEnum.cs
@@ -4,7 +4,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
-namespace Yi.Framework.Infrastructure.Enums
+namespace Yi.Framework.Core.Enums
{
public enum QueryOperatorEnum
{
diff --git a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Enums/ResultCodeEnum.cs b/Yi.Abp.Net8/framework/Yi.Framework.Core/Enums/ResultCodeEnum.cs
similarity index 92%
rename from Yi.Furion.Net6/Yi.Framework.Infrastructure/Enums/ResultCodeEnum.cs
rename to Yi.Abp.Net8/framework/Yi.Framework.Core/Enums/ResultCodeEnum.cs
index 76a76221..e4197867 100644
--- a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Enums/ResultCodeEnum.cs
+++ b/Yi.Abp.Net8/framework/Yi.Framework.Core/Enums/ResultCodeEnum.cs
@@ -4,7 +4,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
-namespace Yi.Framework.Infrastructure.Enums
+namespace Yi.Framework.Core.Enums
{
public enum ResultCodeEnum
{
diff --git a/Yi.Furion.Net6/Yi.Framework.Infrastructure/AspNetCore/HttpContextExtensions.cs b/Yi.Abp.Net8/framework/Yi.Framework.Core/Extensions/HttpContextExtensions.cs
similarity index 90%
rename from Yi.Furion.Net6/Yi.Framework.Infrastructure/AspNetCore/HttpContextExtensions.cs
rename to Yi.Abp.Net8/framework/Yi.Framework.Core/Extensions/HttpContextExtensions.cs
index 10aff64b..e83cdf8c 100644
--- a/Yi.Furion.Net6/Yi.Framework.Infrastructure/AspNetCore/HttpContextExtensions.cs
+++ b/Yi.Abp.Net8/framework/Yi.Framework.Core/Extensions/HttpContextExtensions.cs
@@ -1,12 +1,8 @@
-using Microsoft.AspNetCore.Http;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
+using System.Text;
using System.Text.RegularExpressions;
-using System.Threading.Tasks;
+using Microsoft.AspNetCore.Http;
-namespace Yi.Framework.Infrastructure.AspNetCore
+namespace Yi.Framework.Core.Extensions
{
public static class HttpContextExtensions
{
@@ -95,5 +91,10 @@ namespace Yi.Framework.Infrastructure.AspNetCore
{
return context.Request.Headers["User-Agent"];
}
+
+ public static string[]? GetUserPermissions(this HttpContext context, string permissionsName)
+ {
+ return context.User.Claims.Where(x => x.Type == permissionsName).Select(x => x.Value).ToArray();
+ }
}
}
diff --git a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/AssemblyHelper.cs b/Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/AssemblyHelper.cs
similarity index 98%
rename from Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/AssemblyHelper.cs
rename to Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/AssemblyHelper.cs
index a88f371e..7f646689 100644
--- a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/AssemblyHelper.cs
+++ b/Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/AssemblyHelper.cs
@@ -5,7 +5,7 @@ using System.Reflection;
using System.Text;
using System.Threading.Tasks;
-namespace Yi.Framework.Infrastructure.Helper
+namespace Yi.Framework.Core.Helper
{
public static class AssemblyHelper
{
diff --git a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/Base32Helper.cs b/Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/Base32Helper.cs
similarity index 98%
rename from Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/Base32Helper.cs
rename to Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/Base32Helper.cs
index b503bd3d..288bee5b 100644
--- a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/Base32Helper.cs
+++ b/Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/Base32Helper.cs
@@ -1,7 +1,7 @@
using System;
using System.Text;
-namespace Yi.Framework.Infrastructure.Helper
+namespace Yi.Framework.Core.Helper
{
public sealed class Base32Helper
{
diff --git a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/ComputerHelper.cs b/Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/ComputerHelper.cs
similarity index 73%
rename from Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/ComputerHelper.cs
rename to Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/ComputerHelper.cs
index 1ab82a26..2c0acec4 100644
--- a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/ComputerHelper.cs
+++ b/Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/ComputerHelper.cs
@@ -1,11 +1,84 @@
using System.Runtime.InteropServices;
using Newtonsoft.Json;
-using Yi.Framework.Infrastructure.Extensions;
-namespace Yi.Framework.Infrastructure.Helper
+namespace Yi.Framework.Core.Helper
{
public class ComputerHelper
{
+
+ ///
+ /// 将object转换为long,若转换失败,则返回0。不抛出异常。
+ ///
+ ///
+ ///
+ private static long ParseToLong( object obj)
+ {
+ try
+ {
+ return long.Parse(obj.ToString());
+ }
+ catch
+ {
+ return 0L;
+ }
+ }
+
+ ///
+ /// 将string转换为DateTime,若转换失败,则返回日期最小值。不抛出异常。
+ ///
+ ///
+ ///
+ private static DateTime ParseToDateTime( string str)
+ {
+ try
+ {
+ if (string.IsNullOrWhiteSpace(str))
+ {
+ return DateTime.MinValue;
+ }
+ if (str.Contains("-") || str.Contains("/"))
+ {
+ return DateTime.Parse(str);
+ }
+ else
+ {
+ int length = str.Length;
+ switch (length)
+ {
+ case 4:
+ return DateTime.ParseExact(str, "yyyy", System.Globalization.CultureInfo.CurrentCulture);
+ case 6:
+ return DateTime.ParseExact(str, "yyyyMM", System.Globalization.CultureInfo.CurrentCulture);
+ case 8:
+ return DateTime.ParseExact(str, "yyyyMMdd", System.Globalization.CultureInfo.CurrentCulture);
+ case 10:
+ return DateTime.ParseExact(str, "yyyyMMddHH", System.Globalization.CultureInfo.CurrentCulture);
+ case 12:
+ return DateTime.ParseExact(str, "yyyyMMddHHmm", System.Globalization.CultureInfo.CurrentCulture);
+ case 14:
+ return DateTime.ParseExact(str, "yyyyMMddHHmmss", System.Globalization.CultureInfo.CurrentCulture);
+ default:
+ return DateTime.ParseExact(str, "yyyyMMddHHmmss", System.Globalization.CultureInfo.CurrentCulture);
+ }
+ }
+ }
+ catch
+ {
+ return DateTime.MinValue;
+ }
+ }
+ private static double ParseToDouble(object obj)
+ {
+ try
+ {
+ return double.Parse(obj.ToString());
+ }
+ catch
+ {
+ return 0;
+ }
+ }
+
///
/// 内存使用情况
///
@@ -21,7 +94,7 @@ namespace Yi.Framework.Infrastructure.Helper
memoryMetrics.UsedRam = Math.Round(memoryMetrics.Used / 1024, 2) + "GB";
memoryMetrics.TotalRAM = Math.Round(memoryMetrics.Total / 1024, 2) + "GB";
memoryMetrics.RAMRate = Math.Ceiling(100 * memoryMetrics.Used / memoryMetrics.Total).ToString() + "%";
- memoryMetrics.CPURate = Math.Ceiling(GetCPURate().ParseToDouble()) + "%";
+ memoryMetrics.CPURate = Math.Ceiling(ParseToDouble(GetCPURate())) + "%";
return memoryMetrics;
}
catch (Exception ex)
@@ -130,7 +203,7 @@ namespace Yi.Framework.Infrastructure.Helper
if (IsUnix())
{
string output = ShellHelper.Bash("uptime -s").Trim();
- runTime = DateTimeHelper.FormatTime((DateTime.Now - output.ParseToDateTime()).TotalMilliseconds.ToString().Split('.')[0].ParseToLong());
+ runTime = DateTimeHelper.FormatTime(ParseToLong((DateTime.Now - ParseToDateTime(output)).TotalMilliseconds.ToString().Split('.')[0]));
}
else
{
@@ -138,7 +211,7 @@ namespace Yi.Framework.Infrastructure.Helper
string[] outputArr = output.Split('=', (char)StringSplitOptions.RemoveEmptyEntries);
if (outputArr.Length == 2)
{
- runTime = DateTimeHelper.FormatTime((DateTime.Now - outputArr[1].Split('.')[0].ParseToDateTime()).TotalMilliseconds.ToString().Split('.')[0].ParseToLong());
+ runTime = DateTimeHelper.FormatTime(ParseToLong((DateTime.Now - ParseToDateTime( outputArr[1].Split('.')[0])).TotalMilliseconds.ToString().Split('.')[0]));
}
}
}
diff --git a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/ConsoleHelper.cs b/Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/ConsoleHelper.cs
similarity index 97%
rename from Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/ConsoleHelper.cs
rename to Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/ConsoleHelper.cs
index 66c2252c..dfd6a8ab 100644
--- a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/ConsoleHelper.cs
+++ b/Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/ConsoleHelper.cs
@@ -1,6 +1,6 @@
using System;
-namespace Yi.Framework.Infrastructure.Helper
+namespace Yi.Framework.Core.Helper
{
public static class ConsoleHelper
{
diff --git a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/DateHelper.cs b/Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/DateHelper.cs
similarity index 97%
rename from Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/DateHelper.cs
rename to Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/DateHelper.cs
index 44495f82..620da6d1 100644
--- a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/DateHelper.cs
+++ b/Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/DateHelper.cs
@@ -1,6 +1,6 @@
using System;
-namespace Yi.Framework.Infrastructure.Helper
+namespace Yi.Framework.Core.Helper
{
public class DateHelper
{
diff --git a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/DateTimeHelper.cs b/Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/DateTimeHelper.cs
similarity index 99%
rename from Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/DateTimeHelper.cs
rename to Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/DateTimeHelper.cs
index 206da822..41b069c1 100644
--- a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/DateTimeHelper.cs
+++ b/Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/DateTimeHelper.cs
@@ -2,7 +2,7 @@
using System.Collections.Generic;
using System.Text;
-namespace Yi.Framework.Infrastructure.Helper
+namespace Yi.Framework.Core.Helper
{
public class DateTimeHelper
{
diff --git a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/DistinctHelper.cs b/Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/DistinctHelper.cs
similarity index 96%
rename from Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/DistinctHelper.cs
rename to Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/DistinctHelper.cs
index 32444dda..0f630bc1 100644
--- a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/DistinctHelper.cs
+++ b/Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/DistinctHelper.cs
@@ -5,7 +5,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
-namespace Yi.Framework.Infrastructure.Helper
+namespace Yi.Framework.Core.Helper
{
public class Compare : IEqualityComparer
{
diff --git a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/EnumHelper.cs b/Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/EnumHelper.cs
similarity index 93%
rename from Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/EnumHelper.cs
rename to Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/EnumHelper.cs
index af984a8f..eaef0d79 100644
--- a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/EnumHelper.cs
+++ b/Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/EnumHelper.cs
@@ -4,7 +4,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
-namespace Yi.Framework.Infrastructure.Helper
+namespace Yi.Framework.Core.Helper
{
public static class EnumHelper
{
diff --git a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/ExpressionHelper.cs b/Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/ExpressionHelper.cs
similarity index 98%
rename from Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/ExpressionHelper.cs
rename to Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/ExpressionHelper.cs
index 734e6e62..bac80dc0 100644
--- a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/ExpressionHelper.cs
+++ b/Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/ExpressionHelper.cs
@@ -5,7 +5,7 @@ using System.Linq.Expressions;
using System.Text;
using System.Threading.Tasks;
-namespace Yi.Framework.Infrastructure.Helper
+namespace Yi.Framework.Core.Helper
{
public static class ExpressionHelper
{
diff --git a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/FileHelper.cs b/Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/FileHelper.cs
similarity index 99%
rename from Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/FileHelper.cs
rename to Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/FileHelper.cs
index 80c331ed..906b7253 100644
--- a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/FileHelper.cs
+++ b/Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/FileHelper.cs
@@ -4,7 +4,7 @@ using System.IO;
using System.Linq;
using System.Text;
-namespace Yi.Framework.Infrastructure.Helper
+namespace Yi.Framework.Core.Helper
{
public class FileHelper : IDisposable
{
diff --git a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/HtmlHelper.cs b/Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/HtmlHelper.cs
similarity index 93%
rename from Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/HtmlHelper.cs
rename to Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/HtmlHelper.cs
index 893253b9..857de345 100644
--- a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/HtmlHelper.cs
+++ b/Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/HtmlHelper.cs
@@ -1,4 +1,4 @@
-namespace Yi.Framework.Infrastructure.Helper
+namespace Yi.Framework.Core.Helper
{
public static class HtmlHelper
{
diff --git a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/HttpHelper.cs b/Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/HttpHelper.cs
similarity index 99%
rename from Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/HttpHelper.cs
rename to Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/HttpHelper.cs
index 8abcc5b1..9e95b6e7 100644
--- a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/HttpHelper.cs
+++ b/Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/HttpHelper.cs
@@ -10,7 +10,7 @@ using System.Text.Json;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
-namespace Yi.Framework.Infrastructure.Helper
+namespace Yi.Framework.Core.Helper
{
public static class HttpHelper
{
diff --git a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/IdHelper.cs b/Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/IdHelper.cs
similarity index 87%
rename from Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/IdHelper.cs
rename to Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/IdHelper.cs
index ed4e7821..17f60534 100644
--- a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/IdHelper.cs
+++ b/Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/IdHelper.cs
@@ -4,7 +4,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
-namespace Yi.Framework.Infrastructure.Helper
+namespace Yi.Framework.Core.Helper
{
public static class IdHelper
{
diff --git a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/IpHelper.cs b/Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/IpHelper.cs
similarity index 97%
rename from Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/IpHelper.cs
rename to Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/IpHelper.cs
index 888f9db1..f5d45956 100644
--- a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/IpHelper.cs
+++ b/Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/IpHelper.cs
@@ -3,7 +3,7 @@ using System.Net;
using System.Net.NetworkInformation;
using System.Net.Sockets;
-namespace Yi.Framework.Infrastructure.Helper
+namespace Yi.Framework.Core.Helper
{
public class IpHelper
{
diff --git a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/JsonHelper.cs b/Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/JsonHelper.cs
similarity index 98%
rename from Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/JsonHelper.cs
rename to Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/JsonHelper.cs
index 2daf839f..4c15038a 100644
--- a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/JsonHelper.cs
+++ b/Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/JsonHelper.cs
@@ -1,10 +1,7 @@
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
-using System;
-using System.Collections.Generic;
-using System.Text.Json;
-namespace Yi.Framework.Infrastructure.Helper
+namespace Yi.Framework.Core.Helper
{
public class JsonHelper
{
@@ -37,7 +34,6 @@ namespace Yi.Framework.Infrastructure.Helper
string result = string.Empty;
try
{
- System.Text.Json.JsonSerializer.Serialize("");
System.Runtime.Serialization.Json.DataContractJsonSerializer serializer =
new System.Runtime.Serialization.Json.DataContractJsonSerializer(typeof(T));
using (MemoryStream ms = new MemoryStream())
@@ -454,7 +450,7 @@ namespace Yi.Framework.Infrastructure.Helper
{
return;
}
- //示例 ["aa",{"bbbb":123,"fff","ddd"}]
+ //示例 ["aa",{"bbbb":123,"fff","Ddd"}]
switch (c)
{
case '{'://[{ "[{A}]":[{"[{B}]":3,"m":"C"}]}]
diff --git a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/MD5Hepler.cs b/Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/MD5Hepler.cs
similarity index 99%
rename from Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/MD5Hepler.cs
rename to Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/MD5Hepler.cs
index e7c2c000..d6ce9ab7 100644
--- a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/MD5Hepler.cs
+++ b/Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/MD5Hepler.cs
@@ -3,7 +3,7 @@ using System.IO;
using System.Security.Cryptography;
using System.Text;
-namespace Yi.Framework.Infrastructure.Helper
+namespace Yi.Framework.Core.Helper
{
public class MD5Helper
{
diff --git a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/MimeHelper.cs b/Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/MimeHelper.cs
similarity index 99%
rename from Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/MimeHelper.cs
rename to Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/MimeHelper.cs
index 50398493..4489545b 100644
--- a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/MimeHelper.cs
+++ b/Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/MimeHelper.cs
@@ -4,9 +4,9 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
-using Yi.Framework.Infrastructure.Enums;
+using Yi.Framework.Core.Enums;
-namespace Yi.Framework.Infrastructure.Helper
+namespace Yi.Framework.Core.Helper
{
public static class MimeHelper
{
diff --git a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/RSAFileHelper.cs b/Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/RSAFileHelper.cs
similarity index 95%
rename from Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/RSAFileHelper.cs
rename to Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/RSAFileHelper.cs
index 45457292..dbf31516 100644
--- a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/RSAFileHelper.cs
+++ b/Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/RSAFileHelper.cs
@@ -6,7 +6,7 @@ using System.Security.Cryptography;
using System.Text;
using System.Threading.Tasks;
-namespace Yi.Framework.Infrastructure.Helper
+namespace Yi.Framework.Core.Helper
{
public class RSAFileHelper
{
diff --git a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/RSAHelper.cs b/Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/RSAHelper.cs
similarity index 99%
rename from Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/RSAHelper.cs
rename to Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/RSAHelper.cs
index fe171e12..b315147c 100644
--- a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/RSAHelper.cs
+++ b/Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/RSAHelper.cs
@@ -3,7 +3,7 @@ using System.IO;
using System.Security.Cryptography;
using System.Text;
-namespace Yi.Framework.Infrastructure.Helper
+namespace Yi.Framework.Core.Helper
{
///
/// RSA加解密 使用OpenSSL的公钥加密/私钥解密
diff --git a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/RandomHelper.cs b/Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/RandomHelper.cs
similarity index 98%
rename from Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/RandomHelper.cs
rename to Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/RandomHelper.cs
index 5846e9b8..36c72a86 100644
--- a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/RandomHelper.cs
+++ b/Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/RandomHelper.cs
@@ -3,7 +3,7 @@ using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;
-namespace Yi.Framework.Infrastructure.Helper
+namespace Yi.Framework.Core.Helper
{
public class RandomHelper
{
diff --git a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/ReflexHelper.cs b/Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/ReflexHelper.cs
similarity index 97%
rename from Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/ReflexHelper.cs
rename to Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/ReflexHelper.cs
index 8ad4300d..33316b1d 100644
--- a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/ReflexHelper.cs
+++ b/Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/ReflexHelper.cs
@@ -4,7 +4,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
-namespace Yi.Framework.Infrastructure.Helper
+namespace Yi.Framework.Core.Helper
{
public static class ReflexHelper
{
diff --git a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/ShellHelper.cs b/Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/ShellHelper.cs
similarity index 97%
rename from Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/ShellHelper.cs
rename to Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/ShellHelper.cs
index 2c078810..e9ffc4af 100644
--- a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/ShellHelper.cs
+++ b/Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/ShellHelper.cs
@@ -3,7 +3,7 @@ using System.Collections.Generic;
using System.Diagnostics;
using System.Text;
-namespace Yi.Framework.Infrastructure.Helper
+namespace Yi.Framework.Core.Helper
{
public class ShellHelper
{
diff --git a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/StringHelper.cs b/Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/StringHelper.cs
similarity index 98%
rename from Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/StringHelper.cs
rename to Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/StringHelper.cs
index c6b21cb0..95e20458 100644
--- a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/StringHelper.cs
+++ b/Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/StringHelper.cs
@@ -4,7 +4,7 @@ using System.IO;
using System.Linq;
using System.Text;
-namespace Yi.Framework.Infrastructure.Helper
+namespace Yi.Framework.Core.Helper
{
public class StringHelper
{
diff --git a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/TreeHelper.cs b/Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/TreeHelper.cs
similarity index 91%
rename from Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/TreeHelper.cs
rename to Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/TreeHelper.cs
index 1e972eec..55d47b7d 100644
--- a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/TreeHelper.cs
+++ b/Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/TreeHelper.cs
@@ -4,7 +4,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
-namespace Yi.Framework.Infrastructure.Helper
+namespace Yi.Framework.Core.Helper
{
public static class TreeHelper
{
@@ -13,7 +13,7 @@ namespace Yi.Framework.Infrastructure.Helper
if (list is not null && list.Count > 0)
{
IList result = new List();
- long pid = list.Min(m => (m as ITreeModel)!.ParentId);
+ Guid pid = list.Min(m => (m as ITreeModel)!.ParentId);
IList t = list.Where(m => (m as ITreeModel)!.ParentId == pid).ToList();
foreach (T model in t)
{
@@ -57,8 +57,8 @@ namespace Yi.Framework.Infrastructure.Helper
public interface ITreeModel
{
- public long Id { get; set; }
- public long ParentId { get; set; }
+ public Guid Id { get; set; }
+ public Guid ParentId { get; set; }
public int OrderNum { get; set; }
public List? Children { get; set; }
diff --git a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/UnicodeHelper.cs b/Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/UnicodeHelper.cs
similarity index 97%
rename from Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/UnicodeHelper.cs
rename to Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/UnicodeHelper.cs
index 45023aca..0d8e737f 100644
--- a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/UnicodeHelper.cs
+++ b/Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/UnicodeHelper.cs
@@ -2,7 +2,7 @@
using System.Text;
using System.Text.RegularExpressions;
-namespace Yi.Framework.Infrastructure.Helper
+namespace Yi.Framework.Core.Helper
{
public static class UnicodeHelper
{
diff --git a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/UrlHelper.cs b/Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/UrlHelper.cs
similarity index 93%
rename from Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/UrlHelper.cs
rename to Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/UrlHelper.cs
index 62f227d9..f213c4c6 100644
--- a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/UrlHelper.cs
+++ b/Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/UrlHelper.cs
@@ -1,4 +1,4 @@
-namespace Yi.Framework.Infrastructure.Helper
+namespace Yi.Framework.Core.Helper
{
public class UrlHelper
{
diff --git a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/XmlHelper.cs b/Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/XmlHelper.cs
similarity index 96%
rename from Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/XmlHelper.cs
rename to Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/XmlHelper.cs
index 952a2959..8ed7379b 100644
--- a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Helper/XmlHelper.cs
+++ b/Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/XmlHelper.cs
@@ -3,7 +3,7 @@ using System.Collections.Generic;
using System.IO;
using System.Xml.Serialization;
-namespace Yi.Framework.Infrastructure.Helper
+namespace Yi.Framework.Core.Helper
{
public class XmlHelper
{
diff --git a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Data/Entities/IOrderNum.cs b/Yi.Abp.Net8/framework/Yi.Framework.Core/IOrderNum.cs
similarity index 79%
rename from Yi.Furion.Net6/Yi.Framework.Infrastructure/Data/Entities/IOrderNum.cs
rename to Yi.Abp.Net8/framework/Yi.Framework.Core/IOrderNum.cs
index 4da6f86e..15f55d19 100644
--- a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Data/Entities/IOrderNum.cs
+++ b/Yi.Abp.Net8/framework/Yi.Framework.Core/IOrderNum.cs
@@ -4,7 +4,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
-namespace Yi.Framework.Infrastructure.Data.Entities
+namespace Yi.Framework.Core
{
public interface IOrderNum
{
diff --git a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Data/Entities/IState.cs b/Yi.Abp.Net8/framework/Yi.Framework.Core/IState.cs
similarity index 79%
rename from Yi.Furion.Net6/Yi.Framework.Infrastructure/Data/Entities/IState.cs
rename to Yi.Abp.Net8/framework/Yi.Framework.Core/IState.cs
index 2f393315..627c0cd5 100644
--- a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Data/Entities/IState.cs
+++ b/Yi.Abp.Net8/framework/Yi.Framework.Core/IState.cs
@@ -4,7 +4,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
-namespace Yi.Framework.Infrastructure.Data.Entities
+namespace Yi.Framework.Core
{
public interface IState
{
diff --git a/Yi.Abp.Net8/framework/Yi.Framework.Core/Yi.Framework.Core.csproj b/Yi.Abp.Net8/framework/Yi.Framework.Core/Yi.Framework.Core.csproj
new file mode 100644
index 00000000..3ef2921b
--- /dev/null
+++ b/Yi.Abp.Net8/framework/Yi.Framework.Core/Yi.Framework.Core.csproj
@@ -0,0 +1,15 @@
+
+
+
+ net7.0
+ enable
+ enable
+
+
+
+
+
+
+
+
+
diff --git a/Yi.Abp.Net8/framework/Yi.Framework.Core/Yi.Framework.Core.xml b/Yi.Abp.Net8/framework/Yi.Framework.Core/Yi.Framework.Core.xml
new file mode 100644
index 00000000..8182b339
--- /dev/null
+++ b/Yi.Abp.Net8/framework/Yi.Framework.Core/Yi.Framework.Core.xml
@@ -0,0 +1,847 @@
+
+
+
+ Yi.Framework.Core
+
+
+
+
+ 定义公共文件路径
+
+
+
+
+ 相等
+
+
+
+
+ 匹配
+
+
+
+
+ 大于
+
+
+
+
+ 大于或等于
+
+
+
+
+ 小于
+
+
+
+
+ 小于或等于
+
+
+
+
+ 等于集合
+
+
+
+
+ 不等于集合
+
+
+
+
+ 左边匹配
+
+
+
+
+ 右边匹配
+
+
+
+
+ 不相等
+
+
+
+
+ 为空或空
+
+
+
+
+ 不为空
+
+
+
+
+ 不匹配
+
+
+
+
+ 时间段 值用 "|" 隔开
+
+
+
+
+ 操作成功。
+
+
+
+
+ 操作不成功
+
+
+
+
+ 无权限
+
+
+
+
+ 被拒绝
+
+
+
+
+ 设置文件下载名称
+
+
+
+
+
+
+ 设置文件附件名称
+
+
+
+
+
+
+ 获取语言种类
+
+
+
+
+
+
+ 判断是否为异步请求
+
+
+
+
+
+
+ 获取客户端IP
+
+
+
+
+
+
+ 获取浏览器标识
+
+
+
+
+
+
+ 此处统一获取程序集,排除微软内部相关
+
+
+
+
+
+ Converts an array of bytes to a Base32-k string.
+
+
+
+
+ Converts a Base32-k string into an array of bytes.
+
+
+ Input string s contains invalid Base32-k characters.
+
+
+
+
+ 将object转换为long,若转换失败,则返回0。不抛出异常。
+
+
+
+
+
+
+ 将string转换为DateTime,若转换失败,则返回日期最小值。不抛出异常。
+
+
+
+
+
+
+ 内存使用情况
+
+
+
+
+
+ 获取内存大小
+
+
+
+
+
+ 获取系统运行时间
+
+
+
+
+
+ 内存信息
+
+
+
+
+ CPU使用率%
+
+
+
+
+ 总内存 GB
+
+
+
+
+ 内存使用率 %
+
+
+
+
+ 空闲内存
+
+
+
+
+ 磁盘名
+
+
+
+
+ 已使用
+
+
+
+
+ 可使用
+
+
+
+
+ windows系统获取内存信息
+
+
+
+
+
+ Unix系统获取
+
+
+
+
+
+ 打印错误信息
+
+ 待打印的字符串
+ 想要打印的颜色
+
+
+
+ 打印警告信息
+
+ 待打印的字符串
+ 想要打印的颜色
+
+
+
+ 打印正常信息
+
+ 待打印的字符串
+ 想要打印的颜色
+
+
+
+ 打印成功的信息
+
+ 待打印的字符串
+ 想要打印的颜色
+
+
+
+ 时间戳转本地时间-时间戳精确到秒
+
+
+
+
+ 时间转时间戳Unix-时间戳精确到秒
+
+
+
+
+ 时间戳转本地时间-时间戳精确到毫秒
+
+
+
+
+ 时间转时间戳Unix-时间戳精确到毫秒
+
+
+
+
+
+
+
+
+
+
+
+ 时间戳转本地时间-时间戳精确到秒
+
+
+
+
+ 时间转时间戳Unix-时间戳精确到秒
+
+
+
+
+ 时间戳转本地时间-时间戳精确到毫秒
+
+
+
+
+ 时间转时间戳Unix-时间戳精确到毫秒
+
+
+
+
+ 毫秒转天时分秒
+
+
+
+
+
+
+ 获取unix时间戳
+
+
+
+
+
+
+ 自定义Distinct扩展方法
+
+ 要去重的对象类
+ 自定义去重的字段类型
+ 要去重的对象
+ 获取自定义去重字段的委托
+
+
+
+
+ Expression表达式树lambda参数拼接组合
+
+
+
+
+
+
+
+
+
+ Expression表达式树lambda参数拼接--false
+
+
+
+
+
+
+ Expression表达式树lambda参数拼接-true
+
+
+
+
+
+
+ Expression表达式树lambda参数拼接--and
+
+
+
+
+
+
+
+
+ Expression表达式树lambda参数拼接--or
+
+
+
+
+
+
+
+
+ 存放表达式树的参数的字典
+
+
+
+
+ 构造函数
+
+
+
+
+
+ 重载参数访问的方法,访问表达式树参数,如果字典中包含,则取出
+
+ 表达式树参数
+
+
+
+
+ 取后缀名
+
+ 文件名
+ .gif|.html格式
+
+
+
+ 写文件
+
+ 文件路径
+ 文件内容
+
+
+
+ 写文件
+
+ 文件路径
+ 文件内容
+ 编码格式
+
+
+
+ 读文件
+
+ 文件路径
+
+
+
+
+ 读文件
+
+ 文件路径
+ 编码格式
+
+
+
+
+ 追加文件
+
+ 文件路径
+ 内容
+
+
+
+ 拷贝文件
+
+ 原始文件
+ 新文件路径
+
+
+
+ 删除文件
+
+ 路径
+
+
+
+ 移动文件
+
+ 原始路径
+ 新路径
+
+
+
+ 在当前目录下创建目录
+
+ 当前目录
+ 新目录
+
+
+
+ 递归删除文件夹目录及文件
+
+
+
+
+
+
+ 指定文件夹下面的所有内容copy到目标文件夹下面
+
+ 原始路径
+ 目标文件夹
+
+
+
+ 获取目录下全部文件名
+
+
+
+
+
+
+
+ 文件内容替换
+
+
+
+
+ 文件名称
+
+
+
+
+ 目录名替换
+
+
+
+
+ 全部信息递归替换
+
+
+
+
+
+
+
+ 去除富文本中的HTML标签
+
+
+
+
+
+
+
+ 获取当前IP地址
+
+
+
+
+
+
+ 转换对象为JSON格式数据
+
+ 类
+ 对象
+ 字符格式的JSON数据
+
+
+
+
+ JSON格式字符转换为T类型的对象
+
+
+
+
+
+
+
+ 获取值的长度(当Json值嵌套以"{"或"["开头时)
+
+
+
+
+ 设置字符状态(返回true则为关键词,返回false则当为普通字符处理)
+
+
+
+
+ 字符状态
+
+
+
+
+ 数组开始【仅第一开头才算】,值嵌套的以【childrenStart】来标识。
+
+
+
+
+ 【0 初始状态,或 遇到“,”逗号】;【1 遇到“:”冒号】
+
+
+
+
+ 【-1 取值结束】【0 未开始】【1 无引号开始】【2 单引号开始】【3 双引号开始】
+
+
+
+
+ 【-1 取值结束】【0 未开始】【1 无引号开始】【2 单引号开始】【3 双引号开始】
+
+
+
+
+ 生成PasswordSalt
+
+ 返回string
+
+
+
+ 加密密码
+
+ 密码
+ 加密类型
+ PasswordSalt
+ 加密后的密码
+
+
+
+ 16位MD5加密
+
+
+
+
+
+
+ 32位MD5加密
+
+
+
+
+
+
+ 64位MD5加密
+
+
+
+
+
+
+ 随机生成字母
+
+
+
+
+
+
+ 随机生成数字
+
+
+
+
+
+
+ 此函数为生成指定数目的汉字
+
+ 汉字数目
+ 所有汉字
+
+
+
+ 取对象属性值
+
+
+
+
+
+
+
+ 设置对象属性值
+
+
+
+
+
+
+
+
+ RSA加解密 使用OpenSSL的公钥加密/私钥解密
+ 公私钥请使用openssl生成
+
+
+
+
+ 实例化RSAHelper
+
+ 加密算法类型 RSA SHA1;RSA2 SHA256 密钥长度至少为2048
+ 编码类型
+ 私钥
+ 公钥
+
+
+
+ 使用私钥签名
+
+ 原始数据
+
+
+
+
+ 使用公钥验签
+
+ 原始数据
+ 签名
+
+
+
+
+ 私钥解密(支持大量数据)
+
+
+
+
+
+
+ 公钥加密(支持大量数据)
+
+
+
+
+
+
+ 使用私钥创建RSA实例
+
+
+
+
+
+
+ 使用公钥创建RSA实例
+
+
+
+
+
+
+ RSA算法类型
+
+
+
+
+ SHA1
+
+
+
+
+ RSA2 密钥长度至少为2048
+ SHA256
+
+
+
+
+ linux 系统命令
+
+
+
+
+
+
+ windows系统命令
+
+
+
+
+
+
+
+ 根据分隔符返回前n条数据
+
+ 数据内容
+ 分隔符
+ 前n条
+ 是否倒序(默认false)
+
+
+
+
+ 根据字段拼接get参数
+
+
+
+
+
+
+ 根据字段拼接get参数
+
+
+
+
+
+
+ 获取一个GUID
+
+ 格式-默认为N
+
+
+
+
+ 根据GUID获取19位的唯一数字序列
+
+
+
+
+
+ 获取字符串最后X行
+
+
+
+
+
+
+
+ 字符串转Unicode码
+
+ The to unicode.
+ Value.
+
+
+
+ Unicode转字符串
+
+ The to string.
+ Unicode.
+
+
+
+ UrlEncode编码
+
+ url
+
+
+
+
+ UrlEncode解码
+
+ 数据
+
+
+
+
+ 转换对象为JSON格式数据
+
+ 类
+ 对象
+ 字符格式的JSON数据
+
+
+
+ Xml格式字符转换为T类型的对象
+
+
+
+
+
+
+
diff --git a/Yi.Abp.Net8/framework/Yi.Framework.Core/YiFrameworkCoreModule.cs b/Yi.Abp.Net8/framework/Yi.Framework.Core/YiFrameworkCoreModule.cs
new file mode 100644
index 00000000..653c3911
--- /dev/null
+++ b/Yi.Abp.Net8/framework/Yi.Framework.Core/YiFrameworkCoreModule.cs
@@ -0,0 +1,9 @@
+using Volo.Abp.Modularity;
+
+namespace Yi.Framework.Core
+{
+ public class YiFrameworkCoreModule:AbpModule
+ {
+
+ }
+}
\ No newline at end of file
diff --git a/Yi.Abp.Net8/framework/Yi.Framework.Ddd.Application.Contracts/IDeletesAppService.cs b/Yi.Abp.Net8/framework/Yi.Framework.Ddd.Application.Contracts/IDeletesAppService.cs
new file mode 100644
index 00000000..e5e3fc95
--- /dev/null
+++ b/Yi.Abp.Net8/framework/Yi.Framework.Ddd.Application.Contracts/IDeletesAppService.cs
@@ -0,0 +1,10 @@
+using Volo.Abp;
+using Volo.Abp.Application.Services;
+
+namespace Yi.Framework.Ddd.Application.Contracts
+{
+ public interface IDeletesAppService : IDeleteAppService< TKey> , IApplicationService, IRemoteService
+ {
+ Task DeleteAsync(IEnumerable ids);
+ }
+}
diff --git a/Yi.Abp.Net8/framework/Yi.Framework.Ddd.Application.Contracts/IPageTimeResultRequestDto.cs b/Yi.Abp.Net8/framework/Yi.Framework.Ddd.Application.Contracts/IPageTimeResultRequestDto.cs
new file mode 100644
index 00000000..a2e816fd
--- /dev/null
+++ b/Yi.Abp.Net8/framework/Yi.Framework.Ddd.Application.Contracts/IPageTimeResultRequestDto.cs
@@ -0,0 +1,10 @@
+using Volo.Abp.Application.Dtos;
+
+namespace Yi.Framework.Ddd.Application.Contracts
+{
+ public interface IPageTimeResultRequestDto : IPagedAndSortedResultRequest
+ {
+ DateTime? StartTime { get; set; }
+ DateTime? EndTime { get; set; }
+ }
+}
diff --git a/Yi.Abp.Net8/framework/Yi.Framework.Ddd.Application.Contracts/IPagedAllResultRequestDto.cs b/Yi.Abp.Net8/framework/Yi.Framework.Ddd.Application.Contracts/IPagedAllResultRequestDto.cs
new file mode 100644
index 00000000..283b4530
--- /dev/null
+++ b/Yi.Abp.Net8/framework/Yi.Framework.Ddd.Application.Contracts/IPagedAllResultRequestDto.cs
@@ -0,0 +1,8 @@
+using Volo.Abp.Application.Dtos;
+
+namespace Yi.Framework.Ddd.Application.Contracts
+{
+ public interface IPagedAllResultRequestDto : IPageTimeResultRequestDto, IPagedAndSortedResultRequest
+ {
+ }
+}
diff --git a/Yi.Abp.Net8/framework/Yi.Framework.Ddd.Application.Contracts/IYiCrudAppService.cs b/Yi.Abp.Net8/framework/Yi.Framework.Ddd.Application.Contracts/IYiCrudAppService.cs
new file mode 100644
index 00000000..71e1fc89
--- /dev/null
+++ b/Yi.Abp.Net8/framework/Yi.Framework.Ddd.Application.Contracts/IYiCrudAppService.cs
@@ -0,0 +1,30 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Services;
+
+namespace Yi.Framework.Ddd.Application.Contracts
+{
+ public interface IYiCrudAppService : ICrudAppService
+ {
+ }
+
+ public interface IYiCrudAppService : ICrudAppService
+ {
+ }
+
+ public interface IYiCrudAppService : ICrudAppService
+ {
+ }
+
+ public interface IYiCrudAppService : ICrudAppService
+ {
+ }
+
+ public interface IYiCrudAppService : ICrudAppService, IDeletesAppService
+ {
+
+ }
+}
diff --git a/Yi.Abp.Net8/framework/Yi.Framework.Ddd.Application.Contracts/PagedAllResultRequestDto.cs b/Yi.Abp.Net8/framework/Yi.Framework.Ddd.Application.Contracts/PagedAllResultRequestDto.cs
new file mode 100644
index 00000000..a4e90f33
--- /dev/null
+++ b/Yi.Abp.Net8/framework/Yi.Framework.Ddd.Application.Contracts/PagedAllResultRequestDto.cs
@@ -0,0 +1,17 @@
+using Volo.Abp.Application.Dtos;
+
+namespace Yi.Framework.Ddd.Application.Contracts
+{
+ public class PagedAllResultRequestDto : PagedAndSortedResultRequestDto, IPagedAllResultRequestDto
+ {
+ ///
+ /// 查询开始时间条件
+ ///
+ public DateTime? StartTime { get; set; }
+
+ ///
+ /// 查询结束时间条件
+ ///
+ public DateTime? EndTime { get; set; }
+ }
+}
diff --git a/Yi.Abp.Net8/framework/Yi.Framework.Ddd.Application.Contracts/Yi.Framework.Ddd.Application.Contracts.csproj b/Yi.Abp.Net8/framework/Yi.Framework.Ddd.Application.Contracts/Yi.Framework.Ddd.Application.Contracts.csproj
new file mode 100644
index 00000000..65da436e
--- /dev/null
+++ b/Yi.Abp.Net8/framework/Yi.Framework.Ddd.Application.Contracts/Yi.Framework.Ddd.Application.Contracts.csproj
@@ -0,0 +1,17 @@
+
+
+
+ net7.0
+ enable
+ enable
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Yi.Abp.Net8/framework/Yi.Framework.Ddd.Application.Contracts/Yi.Framework.Ddd.Application.Contracts.xml b/Yi.Abp.Net8/framework/Yi.Framework.Ddd.Application.Contracts/Yi.Framework.Ddd.Application.Contracts.xml
new file mode 100644
index 00000000..9f8e6a3d
--- /dev/null
+++ b/Yi.Abp.Net8/framework/Yi.Framework.Ddd.Application.Contracts/Yi.Framework.Ddd.Application.Contracts.xml
@@ -0,0 +1,18 @@
+
+
+
+ Yi.Framework.Ddd.Application.Contracts
+
+
+
+
+ 查询开始时间条件
+
+
+
+
+ 查询结束时间条件
+
+
+
+
diff --git a/Yi.Abp.Net8/framework/Yi.Framework.Ddd.Application.Contracts/YiFrameworkDddApplicationContractsModule.cs b/Yi.Abp.Net8/framework/Yi.Framework.Ddd.Application.Contracts/YiFrameworkDddApplicationContractsModule.cs
new file mode 100644
index 00000000..63e7758f
--- /dev/null
+++ b/Yi.Abp.Net8/framework/Yi.Framework.Ddd.Application.Contracts/YiFrameworkDddApplicationContractsModule.cs
@@ -0,0 +1,10 @@
+using Volo.Abp.Application;
+using Volo.Abp.Modularity;
+
+namespace Yi.Framework.Ddd.Application.Contracts
+{
+ [DependsOn(typeof(AbpDddApplicationContractsModule))]
+ public class YiFrameworkDddApplicationContractsModule : AbpModule
+ {
+ }
+}
diff --git a/Yi.Abp.Net8/framework/Yi.Framework.Ddd.Application/Yi.Framework.Ddd.Application.csproj b/Yi.Abp.Net8/framework/Yi.Framework.Ddd.Application/Yi.Framework.Ddd.Application.csproj
new file mode 100644
index 00000000..2d4fe351
--- /dev/null
+++ b/Yi.Abp.Net8/framework/Yi.Framework.Ddd.Application/Yi.Framework.Ddd.Application.csproj
@@ -0,0 +1,17 @@
+
+
+
+ net7.0
+ enable
+ enable
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Yi.Abp.Net8/framework/Yi.Framework.Ddd.Application/Yi.Framework.Ddd.Application.xml b/Yi.Abp.Net8/framework/Yi.Framework.Ddd.Application/Yi.Framework.Ddd.Application.xml
new file mode 100644
index 00000000..67e076c4
--- /dev/null
+++ b/Yi.Abp.Net8/framework/Yi.Framework.Ddd.Application/Yi.Framework.Ddd.Application.xml
@@ -0,0 +1,15 @@
+
+
+
+ Yi.Framework.Ddd.Application
+
+
+
+
+ 偷梁换柱
+
+
+
+
+
+
diff --git a/Yi.Abp.Net8/framework/Yi.Framework.Ddd.Application/YiCrudAppService.cs b/Yi.Abp.Net8/framework/Yi.Framework.Ddd.Application/YiCrudAppService.cs
new file mode 100644
index 00000000..31700d81
--- /dev/null
+++ b/Yi.Abp.Net8/framework/Yi.Framework.Ddd.Application/YiCrudAppService.cs
@@ -0,0 +1,81 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp;
+using Volo.Abp.Application.Dtos;
+using Volo.Abp.Application.Services;
+using Volo.Abp.Domain.Entities;
+using Volo.Abp.Domain.Repositories;
+
+namespace Yi.Framework.Ddd.Application
+{
+ public abstract class YiCrudAppService : YiCrudAppService
+ where TEntity : class, IEntity
+ where TEntityDto : IEntityDto
+ {
+ protected YiCrudAppService(IRepository repository) : base(repository)
+ {
+ }
+ }
+
+ public abstract class YiCrudAppService
+ : YiCrudAppService
+ where TEntity : class, IEntity
+ where TEntityDto : IEntityDto
+ {
+ protected YiCrudAppService(IRepository repository) : base(repository)
+ {
+ }
+ }
+
+
+ public abstract class YiCrudAppService
+ : YiCrudAppService
+ where TEntity : class, IEntity
+ where TEntityDto : IEntityDto
+ {
+ protected YiCrudAppService(IRepository repository) : base(repository)
+ {
+ }
+ }
+
+ public abstract class YiCrudAppService
+ : YiCrudAppService
+ where TEntity : class, IEntity
+ where TEntityDto : IEntityDto
+ {
+ protected YiCrudAppService(IRepository repository) : base(repository)
+ {
+ }
+ }
+
+
+ public abstract class YiCrudAppService
+ : CrudAppService
+ where TEntity : class, IEntity
+ where TGetOutputDto : IEntityDto
+ where TGetListOutputDto : IEntityDto
+ {
+ protected YiCrudAppService(IRepository repository) : base(repository)
+ {
+ }
+
+ ///
+ /// 偷梁换柱
+ ///
+ ///
+ ///
+ [RemoteService(isEnabled: true)]
+ public async Task DeleteAsync(IEnumerable id)
+ {
+ await Repository.DeleteManyAsync(id);
+ }
+ [RemoteService(isEnabled:false)]
+ public override Task DeleteAsync(TKey id)
+ {
+ return base.DeleteAsync(id);
+ }
+ }
+}
diff --git a/Yi.Abp.Net8/framework/Yi.Framework.Ddd.Application/YiFrameworkDddApplicationModule.cs b/Yi.Abp.Net8/framework/Yi.Framework.Ddd.Application/YiFrameworkDddApplicationModule.cs
new file mode 100644
index 00000000..46b83722
--- /dev/null
+++ b/Yi.Abp.Net8/framework/Yi.Framework.Ddd.Application/YiFrameworkDddApplicationModule.cs
@@ -0,0 +1,13 @@
+using Volo.Abp.Application;
+using Volo.Abp.Modularity;
+using Yi.Framework.Ddd.Application.Contracts;
+
+namespace Yi.Framework.Ddd.Application
+{
+ [DependsOn(typeof(AbpDddApplicationModule),
+ typeof(YiFrameworkDddApplicationContractsModule))]
+ public class YiFrameworkDddApplicationModule : AbpModule
+ {
+
+ }
+}
diff --git a/Yi.Abp.Net8/framework/Yi.Framework.Mapster/MapsterAutoObjectMappingProvider.cs b/Yi.Abp.Net8/framework/Yi.Framework.Mapster/MapsterAutoObjectMappingProvider.cs
new file mode 100644
index 00000000..3c6b73eb
--- /dev/null
+++ b/Yi.Abp.Net8/framework/Yi.Framework.Mapster/MapsterAutoObjectMappingProvider.cs
@@ -0,0 +1,24 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Mapster;
+using Volo.Abp.ObjectMapping;
+
+namespace Yi.Framework.Mapster
+{
+ public class MapsterAutoObjectMappingProvider : IAutoObjectMappingProvider
+ {
+ public TDestination Map(object source)
+ {
+ var sss = typeof(TDestination).Name;
+ return source.Adapt();
+ }
+
+ public TDestination Map(TSource source, TDestination destination)
+ {
+ return source.Adapt(destination);
+ }
+ }
+}
diff --git a/Yi.Abp.Net8/framework/Yi.Framework.Mapster/MapsterObjectMapper.cs b/Yi.Abp.Net8/framework/Yi.Framework.Mapster/MapsterObjectMapper.cs
new file mode 100644
index 00000000..7cbe8804
--- /dev/null
+++ b/Yi.Abp.Net8/framework/Yi.Framework.Mapster/MapsterObjectMapper.cs
@@ -0,0 +1,24 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.ObjectMapping;
+
+namespace Yi.Framework.Mapster
+{
+ public class MapsterObjectMapper : IObjectMapper
+ {
+ public IAutoObjectMappingProvider AutoObjectMappingProvider => throw new NotImplementedException();
+
+ public TDestination Map(TSource source)
+ {
+ throw new NotImplementedException();
+ }
+
+ public TDestination Map(TSource source, TDestination destination)
+ {
+ throw new NotImplementedException();
+ }
+ }
+}
diff --git a/Yi.Abp.Net8/framework/Yi.Framework.Mapster/Yi.Framework.Mapster.csproj b/Yi.Abp.Net8/framework/Yi.Framework.Mapster/Yi.Framework.Mapster.csproj
new file mode 100644
index 00000000..72fe909f
--- /dev/null
+++ b/Yi.Abp.Net8/framework/Yi.Framework.Mapster/Yi.Framework.Mapster.csproj
@@ -0,0 +1,18 @@
+
+
+
+ net7.0
+ enable
+ enable
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Yi.Abp.Net8/framework/Yi.Framework.Mapster/Yi.Framework.Mapster.xml b/Yi.Abp.Net8/framework/Yi.Framework.Mapster/Yi.Framework.Mapster.xml
new file mode 100644
index 00000000..61ee3fb2
--- /dev/null
+++ b/Yi.Abp.Net8/framework/Yi.Framework.Mapster/Yi.Framework.Mapster.xml
@@ -0,0 +1,8 @@
+
+
+
+ Yi.Framework.Mapster
+
+
+
+
diff --git a/Yi.Abp.Net8/framework/Yi.Framework.Mapster/YiFrameworkMapsterModule.cs b/Yi.Abp.Net8/framework/Yi.Framework.Mapster/YiFrameworkMapsterModule.cs
new file mode 100644
index 00000000..5df08b25
--- /dev/null
+++ b/Yi.Abp.Net8/framework/Yi.Framework.Mapster/YiFrameworkMapsterModule.cs
@@ -0,0 +1,21 @@
+using MapsterMapper;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.DependencyInjection.Extensions;
+using Volo.Abp.Modularity;
+using Volo.Abp.ObjectMapping;
+using Yi.Framework.Core;
+
+namespace Yi.Framework.Mapster
+{
+ [DependsOn(typeof(YiFrameworkCoreModule),
+
+ typeof(AbpObjectMappingModule)
+ )]
+ public class YiFrameworkMapsterModule : AbpModule
+ {
+ public override void ConfigureServices(ServiceConfigurationContext context)
+ {
+ context.Services.AddTransient();
+ }
+ }
+}
\ No newline at end of file
diff --git a/Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore.Abstractions/ISqlSugarDbContext.cs b/Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore.Abstractions/ISqlSugarDbContext.cs
new file mode 100644
index 00000000..a76d9a51
--- /dev/null
+++ b/Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore.Abstractions/ISqlSugarDbContext.cs
@@ -0,0 +1,16 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using SqlSugar;
+using Volo.Abp.DependencyInjection;
+
+namespace Yi.Framework.SqlSugarCore.Abstractions
+{
+ public interface ISqlSugarDbContext
+ {
+ // IAbpLazyServiceProvider LazyServiceProvider { get; set; }
+ ISqlSugarClient SqlSugarClient { get; }
+ }
+}
diff --git a/Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore.Abstractions/ISqlSugarRepository.cs b/Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore.Abstractions/ISqlSugarRepository.cs
new file mode 100644
index 00000000..ba7d9f8b
--- /dev/null
+++ b/Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore.Abstractions/ISqlSugarRepository.cs
@@ -0,0 +1,88 @@
+using System.Linq.Expressions;
+using SqlSugar;
+using Volo.Abp.Domain.Entities;
+using Volo.Abp.Domain.Repositories;
+
+namespace Yi.Framework.SqlSugarCore.Abstractions
+{
+
+ public interface ISqlSugarRepository:IRepository where TEntity : class, IEntity,new ()
+ {
+ ISqlSugarClient _Db { get; }
+ ISugarQueryable _DbQueryable { get; }
+
+ Task GetDbContextAsync();
+ Task> AsDeleteable();
+ Task> AsInsertable(List insertObjs);
+ Task> AsInsertable(TEntity insertObj);
+ Task> AsInsertable(TEntity[] insertObjs);
+ Task> AsQueryable();
+ Task AsSugarClient();
+ Task AsTenant();
+ Task> AsUpdateable(List updateObjs);
+ Task> AsUpdateable(TEntity updateObj);
+ Task> AsUpdateable();
+ Task> AsUpdateable(TEntity[] updateObjs);
+
+ #region 单查
+ //单查
+ Task GetByIdAsync(dynamic id);
+ Task GetSingleAsync(Expression> whereExpression);
+ Task GetFirstAsync(Expression> whereExpression);
+ Task IsAnyAsync(Expression> whereExpression);
+ Task CountAsync(Expression> whereExpression);
+
+ #endregion
+
+
+ #region 多查
+ //多查
+ Task> GetListAsync();
+ Task> GetListAsync(Expression> whereExpression);
+ #endregion
+
+
+ #region 分页查
+ //分页查
+ Task> GetPageListAsync(Expression> whereExpression, int pageNum, int pageSize);
+ Task> GetPageListAsync(Expression> whereExpression, int pageNum, int pageSize, Expression>? orderByExpression = null, OrderByType orderByType = OrderByType.Asc);
+ #endregion
+
+ #region 插入
+ //插入
+ Task InsertAsync(TEntity insertObj);
+ Task InsertOrUpdateAsync(TEntity data);
+ Task InsertOrUpdateAsync(List datas);
+ Task InsertReturnIdentityAsync(TEntity insertObj);
+ Task InsertReturnBigIdentityAsync(TEntity insertObj);
+ Task InsertReturnSnowflakeIdAsync(TEntity insertObj);
+ Task InsertReturnEntityAsync(TEntity insertObj);
+ Task InsertRangeAsync(List insertObjs);
+ #endregion
+
+
+ #region 更新
+ //更新
+ Task UpdateAsync(TEntity updateObj);
+ Task UpdateRangeAsync(List updateObjs);
+ Task UpdateAsync(Expression> columns, Expression> whereExpression);
+ #endregion
+
+ #region 删除
+ //删除
+ Task DeleteAsync(TEntity deleteObj);
+ Task DeleteAsync(List deleteObjs);
+ Task DeleteAsync(Expression> whereExpression);
+ Task DeleteByIdAsync(dynamic id);
+ Task DeleteByIdsAsync(dynamic[] ids);
+ #endregion
+
+ }
+
+
+ public interface ISqlSugarRepository : ISqlSugarRepository,IRepository where TEntity : class, IEntity, new()
+ {
+
+
+ }
+}
diff --git a/Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore.Abstractions/ISugarDbContextProvider.cs b/Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore.Abstractions/ISugarDbContextProvider.cs
new file mode 100644
index 00000000..49c18b08
--- /dev/null
+++ b/Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore.Abstractions/ISugarDbContextProvider.cs
@@ -0,0 +1,17 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Yi.Framework.SqlSugarCore.Abstractions
+{
+ public interface ISugarDbContextProvider
+ where TDbContext : ISqlSugarDbContext
+ {
+
+ Task GetDbContextAsync();
+
+ }
+
+}
diff --git a/Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore.Abstractions/Yi.Framework.SqlSugarCore.Abstractions.csproj b/Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore.Abstractions/Yi.Framework.SqlSugarCore.Abstractions.csproj
new file mode 100644
index 00000000..1509f96c
--- /dev/null
+++ b/Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore.Abstractions/Yi.Framework.SqlSugarCore.Abstractions.csproj
@@ -0,0 +1,18 @@
+
+
+
+ net7.0
+ enable
+ enable
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore.Abstractions/Yi.Framework.SqlSugarCore.Abstractions.xml b/Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore.Abstractions/Yi.Framework.SqlSugarCore.Abstractions.xml
new file mode 100644
index 00000000..b16dc7e4
--- /dev/null
+++ b/Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore.Abstractions/Yi.Framework.SqlSugarCore.Abstractions.xml
@@ -0,0 +1,8 @@
+
+
+
+ Yi.Framework.SqlSugarCore.Abstractions
+
+
+
+
diff --git a/Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore.Abstractions/YiFrameworkSqlSugarCoreAbstractionsModule.cs b/Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore.Abstractions/YiFrameworkSqlSugarCoreAbstractionsModule.cs
new file mode 100644
index 00000000..1bb1e91f
--- /dev/null
+++ b/Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore.Abstractions/YiFrameworkSqlSugarCoreAbstractionsModule.cs
@@ -0,0 +1,11 @@
+using Volo.Abp.Modularity;
+using Yi.Framework.Core;
+
+namespace Yi.Framework.SqlSugarCore.Abstractions
+{
+ [DependsOn(typeof(YiFrameworkCoreModule))]
+ public class YiFrameworkSqlSugarCoreAbstractionsModule : AbpModule
+ {
+
+ }
+}
\ No newline at end of file
diff --git a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Sqlsugar/DbConnOptions.cs b/Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore/DbConnOptions.cs
similarity index 85%
rename from Yi.Furion.Net6/Yi.Framework.Infrastructure/Sqlsugar/DbConnOptions.cs
rename to Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore/DbConnOptions.cs
index 075bea51..a31abf1d 100644
--- a/Yi.Furion.Net6/Yi.Framework.Infrastructure/Sqlsugar/DbConnOptions.cs
+++ b/Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore/DbConnOptions.cs
@@ -1,11 +1,6 @@
using SqlSugar;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-namespace Yi.Framework.Infrastructure.Sqlsugar
+namespace Yi.Framework.SqlSugarCore
{
public class DbConnOptions
{
@@ -34,6 +29,11 @@ namespace Yi.Framework.Infrastructure.Sqlsugar
///
public bool EnabledCodeFirst { get; set; } = false;
+ ///
+ /// 开启sql日志
+ ///
+ public bool EnabledSqlLog { get; set; } = true;
+
///
/// 实体程序集
///
diff --git a/Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore/Repositories/SqlSugarRepository.cs b/Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore/Repositories/SqlSugarRepository.cs
new file mode 100644
index 00000000..f58417fb
--- /dev/null
+++ b/Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore/Repositories/SqlSugarRepository.cs
@@ -0,0 +1,362 @@
+using System.Linq.Expressions;
+using SqlSugar;
+using Volo.Abp.Domain.Entities;
+using Volo.Abp.Domain.Repositories;
+using Volo.Abp.Linq;
+using Yi.Framework.SqlSugarCore.Abstractions;
+
+namespace Yi.Framework.SqlSugarCore.Repositories
+{
+ public class SqlSugarRepository : ISqlSugarRepository, IRepository where TEntity : class, IEntity, new()
+ {
+ public ISqlSugarClient _Db => GetDbContextAsync().Result;
+
+ public ISugarQueryable _DbQueryable => GetDbContextAsync().Result.Queryable();
+
+ private ISugarDbContextProvider _sugarDbContextProvider;
+ public IAsyncQueryableExecuter AsyncExecuter { get; }
+
+ public SqlSugarRepository(ISugarDbContextProvider sugarDbContextProvider)
+ {
+ _sugarDbContextProvider = sugarDbContextProvider;
+ }
+
+ ///
+ /// 获取DB
+ ///
+ ///
+ public virtual async Task GetDbContextAsync()
+ {
+
+ var db = (await _sugarDbContextProvider.GetDbContextAsync()).SqlSugarClient;
+ await Console.Out.WriteLineAsync("获取的id:" + db.ContextID);
+ return db;
+ }
+
+ ///
+ /// 获取简单Db
+ ///
+ ///
+ public virtual async Task> GetDbSimpleClientAsync()
+ {
+ var db = await GetDbContextAsync();
+ return new SimpleClient(db);
+ }
+
+ #region Abp模块
+
+ public async Task FindAsync(Expression> predicate, bool includeDetails = true, CancellationToken cancellationToken = default)
+ {
+ return await GetFirstAsync(predicate);
+ }
+
+ public async Task GetAsync(Expression> predicate, bool includeDetails = true, CancellationToken cancellationToken = default)
+ {
+ return await GetFirstAsync(predicate);
+ }
+
+ public async Task DeleteAsync(Expression> predicate, bool autoSave = false, CancellationToken cancellationToken = default)
+ {
+ await DeleteAsync(predicate);
+ }
+
+ public async Task DeleteDirectAsync(Expression> predicate, CancellationToken cancellationToken = default)
+ {
+ await DeleteAsync(predicate);
+ }
+
+ public IQueryable WithDetails()
+ {
+ throw new NotImplementedException();
+ }
+
+ public IQueryable WithDetails(params Expression>[] propertySelectors)
+ {
+ throw new NotImplementedException();
+ }
+
+ public Task> WithDetailsAsync()
+ {
+ throw new NotImplementedException();
+ }
+
+ public Task> WithDetailsAsync(params Expression>[] propertySelectors)
+ {
+ throw new NotImplementedException();
+ }
+
+ public Task> GetQueryableAsync()
+ {
+ throw new NotImplementedException();
+ }
+
+ public async Task> GetListAsync(Expression> predicate, bool includeDetails = false, CancellationToken cancellationToken = default)
+ {
+ return await GetListAsync(predicate);
+ }
+
+ public async Task InsertAsync(TEntity entity, bool autoSave = false, CancellationToken cancellationToken = default)
+ {
+ return await InsertReturnEntityAsync(entity);
+ }
+
+ public async Task InsertManyAsync(IEnumerable entities, bool autoSave = false, CancellationToken cancellationToken = default)
+ {
+ await InsertRangeAsync(entities.ToList());
+ }
+
+ public async Task UpdateAsync(TEntity entity, bool autoSave = false, CancellationToken cancellationToken = default)
+ {
+ await UpdateAsync(entity);
+ return entity;
+ }
+
+ public async Task UpdateManyAsync(IEnumerable entities, bool autoSave = false, CancellationToken cancellationToken = default)
+ {
+ await UpdateRangeAsync(entities.ToList());
+ }
+
+ public async Task DeleteAsync(TEntity entity, bool autoSave = false, CancellationToken cancellationToken = default)
+ {
+ await DeleteAsync(entity);
+ }
+
+ public async Task DeleteManyAsync(IEnumerable entities, bool autoSave = false, CancellationToken cancellationToken = default)
+ {
+ await DeleteAsync(entities.ToList());
+ }
+
+ public async Task> GetListAsync(bool includeDetails = false, CancellationToken cancellationToken = default)
+ {
+ return await GetListAsync();
+ }
+
+ public async Task GetCountAsync(CancellationToken cancellationToken = default)
+ {
+ return await this.CountAsync();
+ }
+
+ public async Task> GetPagedListAsync(int skipCount, int maxResultCount, string sorting, bool includeDetails = false, CancellationToken cancellationToken = default)
+ {
+ return await GetPageListAsync(_ => true, skipCount, maxResultCount);
+ }
+ #endregion
+
+
+ #region 内置DB快捷操作
+ public async Task> AsDeleteable()
+ {
+ return (await GetDbSimpleClientAsync()).AsDeleteable();
+ }
+
+ public async Task> AsInsertable(List insertObjs)
+ {
+ return (await GetDbSimpleClientAsync()).AsInsertable(insertObjs);
+ }
+
+ public async Task> AsInsertable(TEntity insertObj)
+ {
+ return (await GetDbSimpleClientAsync()).AsInsertable(insertObj);
+ }
+
+ public async Task> AsInsertable(TEntity[] insertObjs)
+ {
+ return (await GetDbSimpleClientAsync()).AsInsertable(insertObjs);
+ }
+
+ public async Task> AsQueryable()
+ {
+ return (await GetDbSimpleClientAsync()).AsQueryable();
+ }
+
+ public async Task AsSugarClient()
+ {
+ return (await GetDbSimpleClientAsync()).AsSugarClient();
+ }
+
+ public async Task AsTenant()
+ {
+ return (await GetDbSimpleClientAsync()).AsTenant();
+ }
+
+ public async Task> AsUpdateable(List updateObjs)
+ {
+ return (await GetDbSimpleClientAsync()).AsUpdateable(updateObjs);
+ }
+
+ public async Task> AsUpdateable(TEntity updateObj)
+ {
+ return (await GetDbSimpleClientAsync()).AsUpdateable(updateObj);
+ }
+
+ public async Task> AsUpdateable()
+ {
+ return (await GetDbSimpleClientAsync()).AsUpdateable();
+ }
+
+ public async Task> AsUpdateable(TEntity[] updateObjs)
+ {
+ return (await GetDbSimpleClientAsync()).AsUpdateable(updateObjs);
+ }
+ #endregion
+
+ #region SimpleClient模块
+ public async Task CountAsync(Expression> whereExpression)
+ {
+ return await (await GetDbSimpleClientAsync()).CountAsync(whereExpression);
+ }
+
+ public async Task DeleteAsync(TEntity deleteObj)
+ {
+ return await (await GetDbSimpleClientAsync()).DeleteAsync(deleteObj);
+ }
+
+ public async Task DeleteAsync(List deleteObjs)
+ {
+ return await (await GetDbSimpleClientAsync()).DeleteAsync(deleteObjs);
+ }
+
+ public async Task DeleteAsync(Expression> whereExpression)
+ {
+ return await (await GetDbSimpleClientAsync()).DeleteAsync(whereExpression);
+ }
+
+ public async Task DeleteByIdAsync(dynamic id)
+ {
+ return await (await GetDbSimpleClientAsync()).DeleteByIdAsync(id);
+ }
+
+ public async Task DeleteByIdsAsync(dynamic[] ids)
+ {
+ return await (await GetDbSimpleClientAsync()).DeleteByIdAsync(ids);
+ }
+
+ public async Task GetByIdAsync(dynamic id)
+ {
+ return await (await GetDbSimpleClientAsync()).GetByIdAsync(id);
+ }
+
+
+
+ public async Task GetFirstAsync(Expression> whereExpression)
+ {
+ return await (await GetDbSimpleClientAsync()).GetFirstAsync(whereExpression);
+ }
+
+ public async Task> GetListAsync()
+ {
+ return await (await GetDbSimpleClientAsync()).GetListAsync();
+ }
+
+ public async Task> GetListAsync(Expression> whereExpression)
+ {
+ return await (await GetDbSimpleClientAsync()).GetListAsync(whereExpression);
+ }
+
+ public async Task> GetPageListAsync(Expression> whereExpression, int pageNum, int pageSize)
+ {
+ return await (await GetDbSimpleClientAsync()).GetPageListAsync(whereExpression, new PageModel() { PageIndex = pageNum, PageSize = pageSize });
+ }
+
+ public async Task> GetPageListAsync(Expression> whereExpression, int pageNum, int pageSize, Expression>? orderByExpression = null, OrderByType orderByType = OrderByType.Asc)
+ {
+ return await (await GetDbSimpleClientAsync()).GetPageListAsync(whereExpression, new PageModel { PageIndex = pageNum, PageSize = pageSize }, orderByExpression, orderByType);
+ }
+
+ public async Task GetSingleAsync(Expression> whereExpression)
+ {
+ return await (await GetDbSimpleClientAsync()).GetSingleAsync(whereExpression);
+ }
+
+ public async Task InsertAsync(TEntity insertObj)
+ {
+ return await (await GetDbSimpleClientAsync()).InsertAsync(insertObj);
+ }
+
+ public async Task InsertOrUpdateAsync(TEntity data)
+ {
+ return await (await GetDbSimpleClientAsync()).InsertOrUpdateAsync(data);
+ }
+
+ public async Task InsertOrUpdateAsync(List datas)
+ {
+ return await (await GetDbSimpleClientAsync()).InsertOrUpdateAsync(datas);
+ }
+
+ public async Task InsertRangeAsync(List insertObjs)
+ {
+ return await (await GetDbSimpleClientAsync()).InsertRangeAsync(insertObjs);
+ }
+
+ public async Task InsertReturnBigIdentityAsync(TEntity insertObj)
+ {
+ return await (await GetDbSimpleClientAsync()).InsertReturnBigIdentityAsync(insertObj);
+ }
+
+ public async Task InsertReturnEntityAsync(TEntity insertObj)
+ {
+ return await (await GetDbSimpleClientAsync()).InsertReturnEntityAsync(insertObj);
+ }
+
+ public async Task InsertReturnIdentityAsync(TEntity insertObj)
+ {
+ return await (await GetDbSimpleClientAsync()).InsertReturnIdentityAsync(insertObj);
+ }
+
+ public async Task InsertReturnSnowflakeIdAsync(TEntity insertObj)
+ {
+ return await (await GetDbSimpleClientAsync()).InsertReturnSnowflakeIdAsync(insertObj);
+ }
+
+ public async Task IsAnyAsync(Expression> whereExpression)
+ {
+ return await (await GetDbSimpleClientAsync()).IsAnyAsync(whereExpression);
+ }
+
+ public async Task UpdateAsync(TEntity updateObj)
+ {
+ return await (await GetDbSimpleClientAsync()).UpdateAsync(updateObj);
+ }
+
+ public async Task UpdateAsync(Expression> columns, Expression> whereExpression)
+ {
+ return await (await GetDbSimpleClientAsync()).UpdateAsync(columns, whereExpression);
+ }
+
+
+
+ public async Task UpdateRangeAsync(List updateObjs)
+ {
+ return await (await GetDbSimpleClientAsync()).UpdateRangeAsync(updateObjs);
+ }
+
+ #endregion
+ }
+
+ public class SqlSugarRepository : SqlSugarRepository, ISqlSugarRepository, IRepository where TEntity : class, IEntity, new()
+ {
+ public SqlSugarRepository(ISugarDbContextProvider sugarDbContextProvider) : base(sugarDbContextProvider)
+ {
+ }
+
+ public async Task DeleteAsync(TKey id, bool autoSave = false, CancellationToken cancellationToken = default)
+ {
+ await DeleteByIdAsync(id);
+ }
+
+ public async Task DeleteManyAsync(IEnumerable ids, bool autoSave = false, CancellationToken cancellationToken = default)
+ {
+ await DeleteByIdsAsync(ids.Select(x => (object)x).ToArray());
+ }
+
+ public async Task FindAsync(TKey id, bool includeDetails = true, CancellationToken cancellationToken = default)
+ {
+ return await GetByIdAsync(id);
+ }
+
+ public async Task GetAsync(TKey id, bool includeDetails = true, CancellationToken cancellationToken = default)
+ {
+ return await GetByIdAsync(id);
+ }
+ }
+}
diff --git a/Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore/SqlSugarDbContext.cs b/Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore/SqlSugarDbContext.cs
new file mode 100644
index 00000000..90390be8
--- /dev/null
+++ b/Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore/SqlSugarDbContext.cs
@@ -0,0 +1,239 @@
+using System.Reflection;
+using System.Text;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Logging;
+using Microsoft.Extensions.Options;
+using SqlSugar;
+using Volo.Abp;
+using Volo.Abp.Auditing;
+using Volo.Abp.Data;
+using Volo.Abp.DependencyInjection;
+using Volo.Abp.Domain.Entities;
+using Volo.Abp.Domain.Entities.Events;
+using Volo.Abp.Guids;
+using Volo.Abp.MultiTenancy;
+using Volo.Abp.Users;
+using Yi.Framework.SqlSugarCore.Abstractions;
+
+namespace Yi.Framework.SqlSugarCore
+{
+ public class SqlSugarDbContext : ISqlSugarDbContext
+ {
+ ///
+ /// SqlSugar 客户端
+ ///
+ public ISqlSugarClient SqlSugarClient { get; }
+ public ICurrentUser CurrentUser => LazyServiceProvider.GetRequiredService();
+
+ private IAbpLazyServiceProvider LazyServiceProvider { get; }
+
+ private IGuidGenerator GuidGenerator => LazyServiceProvider.LazyGetRequiredService();
+ protected ILoggerFactory Logger => LazyServiceProvider.LazyGetRequiredService();
+ private ICurrentTenant CurrentTenant => LazyServiceProvider.LazyGetRequiredService();
+ public IDataFilter DataFilter => LazyServiceProvider.LazyGetRequiredService();
+ protected virtual bool IsMultiTenantFilterEnabled => DataFilter?.IsEnabled() ?? false;
+
+ protected virtual bool IsSoftDeleteFilterEnabled => DataFilter?.IsEnabled() ?? false;
+
+ public IEntityChangeEventHelper EntityChangeEventHelper => LazyServiceProvider.LazyGetService(NullEntityChangeEventHelper.Instance);
+ protected DbConnOptions Options => LazyServiceProvider.LazyGetRequiredService>().Value;
+
+ public SqlSugarDbContext(IAbpLazyServiceProvider lazyServiceProvider)
+ {
+ LazyServiceProvider = lazyServiceProvider;
+ var dbConnOptions = Options;
+ #region 组装options
+ if (dbConnOptions.DbType is null)
+ {
+ throw new ArgumentException("DbType配置为空");
+ }
+ var slavaConFig = new List();
+ if (dbConnOptions.EnabledReadWrite)
+ {
+ if (dbConnOptions.ReadUrl is null)
+ {
+ throw new ArgumentException("读写分离为空");
+ }
+
+ var readCon = dbConnOptions.ReadUrl;
+
+ readCon.ForEach(s =>
+ {
+ //如果是动态saas分库,这里的连接串都不能写死,需要动态添加,这里只配置共享库的连接
+ slavaConFig.Add(new SlaveConnectionConfig() { ConnectionString = s });
+ });
+ }
+ #endregion
+ SqlSugarClient = new SqlSugarClient(new ConnectionConfig()
+ {
+ //准备添加分表分库
+ DbType = dbConnOptions.DbType ?? DbType.Sqlite,
+ ConnectionString = dbConnOptions.Url,
+ IsAutoCloseConnection = true,
+ SlaveConnectionConfigs = slavaConFig,
+ //设置codefirst非空值判断
+ ConfigureExternalServices = new ConfigureExternalServices
+ {
+ EntityService = (c, p) =>
+ {
+
+ if (new NullabilityInfoContext()
+ .Create(c).WriteState is NullabilityState.Nullable)
+ {
+ p.IsNullable = true;
+ }
+ }
+ }
+ },
+ db =>
+ {
+
+ db.Aop.DataExecuting = DataExecuting;
+ db.Aop.DataExecuted = DataExecuted;
+ db.Aop.OnLogExecuting = OnLogExecuting;
+ db.Aop.OnLogExecuted = OnLogExecuted;
+ //扩展
+ OnSqlSugarClientConfig(db);
+ });
+ }
+
+ ///
+ /// 上下文对象扩展
+ ///
+ ///
+ protected virtual void OnSqlSugarClientConfig(ISqlSugarClient sqlSugarClient)
+ {
+ //需自定义扩展
+ if (IsSoftDeleteFilterEnabled)
+ {
+ sqlSugarClient.QueryFilter.AddTableFilter(u => u.IsDeleted == false);
+ }
+ if (IsMultiTenantFilterEnabled)
+ {
+ sqlSugarClient.QueryFilter.AddTableFilter(u => u.TenantId == GuidGenerator.Create());
+ }
+ CustomDataFilter();
+ }
+ protected virtual void CustomDataFilter()
+ {
+
+ }
+ protected virtual void DataExecuted(object oldValue, DataAfterModel entityInfo)
+ {
+
+ }
+
+ ///
+ /// 数据
+ ///
+ ///
+ ///
+ protected virtual void DataExecuting(object oldValue, DataFilterModel entityInfo)
+ {
+ //审计日志
+ switch (entityInfo.OperationType)
+ {
+ case DataFilterType.UpdateByObject:
+
+ if (entityInfo.PropertyName.Equals(nameof(IAuditedObject.LastModificationTime)))
+ {
+ if (!DateTime.MinValue.Equals(oldValue))
+ {
+ entityInfo.SetValue(DateTime.Now);
+ }
+ }
+ if (entityInfo.PropertyName.Equals(nameof(IAuditedObject.LastModifierId)))
+ {
+ if (CurrentUser != null)
+ {
+ entityInfo.SetValue(CurrentUser.Id);
+ }
+ }
+ break;
+ case DataFilterType.InsertByObject:
+ if (entityInfo.PropertyName.Equals(nameof(IEntity.Id)))
+ {
+ //主键为空或者为默认最小值
+ if (Guid.Empty.Equals(oldValue))
+ {
+ entityInfo.SetValue(GuidGenerator.Create());
+ }
+ }
+
+ if (entityInfo.PropertyName.Equals(nameof(IAuditedObject.CreationTime)))
+ {
+ //为空或者为默认最小值
+ if (oldValue is null || DateTime.MinValue.Equals((DateTime)oldValue))
+ {
+ entityInfo.SetValue(DateTime.Now);
+ }
+ }
+ if (entityInfo.PropertyName.Equals(nameof(IAuditedObject.CreatorId)))
+ {
+ if (CurrentUser != null)
+ {
+ entityInfo.SetValue(CurrentUser.Id);
+ }
+ }
+
+ //插入时,需要租户id,先预留
+ if (entityInfo.PropertyName.Equals(nameof(IMultiTenant.TenantId)))
+ {
+ if (CurrentTenant is not null)
+ {
+ entityInfo.SetValue(CurrentTenant.Id);
+ }
+ }
+ break;
+ }
+
+
+ //领域事件
+ switch (entityInfo.OperationType)
+ {
+ case DataFilterType.InsertByObject:
+ if (entityInfo.PropertyName == nameof(IEntity