实例介绍
Caviar-Blazor后台管理框架结合了Blazor、Ant Design以及.NET6技术,打造了一个简单大方且功能丰富的后台管理系统。这个框架不仅包含了后台管理的基础功能,还在开发便利性上做了大量工作,封装了多个Ant Design组件,实现了自动列表、高级搜索、自动化菜单、布局等功能。代码生成器能一键自动生成前后端代码,实现100%的代码隔离,保证了代码的整洁和开发的灵活性。\n\n在权限设计方面,Caviar-Blazor框架提供了非常细粒度的控制,包括字段权限、数据权限、菜单权限、按钮权限,甚至可以控制到具体的元素。此外,框架对外观进行了统一风格设计,并对手机端进行了优化,确保在各种设备上都能提供良好的用户体验。\n\nCaviar-Blazor支持WebAssembly、Server、混合模式,可以根据需要自由切换,同时支持SqlServer、MySql、Oracle等多种数据库。框架内置了日志管理、菜单管理、附件管理等常用功能,支持多种主题切换和多语言,满足不同用户的需求。\n\n特别值得一提的是,Caviar-Blazor是首个真正意义上实现wasm和server模式混合使用的框架,结合了两种模式的优点,既能快速加载又节省资源。无论是新手还是资深开发者,Caviar-Blazor都能帮助你高效地构建和管理后台系统。
【实例截图】
【核心代码】
文件清单
└── Caviar-Blazor-213d2dde80bdaa46dca317f65117e405a477b2d8
├── Caviar.sln
├── demo
│ ├── hybrid
│ │ ├── Caviar.Demo.Hybrid
│ │ │ ├── appsettings.Development.json
│ │ │ ├── appsettings.json
│ │ │ ├── Caviar.Demo.Hybrid.csproj
│ │ │ ├── Pages
│ │ │ │ └── _Host.cshtml
│ │ │ ├── Program.cs
│ │ │ ├── Properties
│ │ │ │ └── launchSettings.json
│ │ │ └── Startup.cs
│ │ └── Caviar.Demo.Wasm
│ │ ├── Caviar.Demo.Wasm.csproj
│ │ ├── _Imports.razor
│ │ ├── Pages
│ │ │ ├── Index.razor
│ │ │ ├── Index.razor.cs
│ │ │ ├── Login.razor
│ │ │ └── Login.razor.cs
│ │ ├── Program.cs
│ │ ├── Properties
│ │ │ └── launchSettings.json
│ │ └── wwwroot
│ │ ├── css
│ │ │ ├── app.css
│ │ │ ├── bootstrap
│ │ │ │ ├── bootstrap.min.css
│ │ │ │ └── bootstrap.min.css.map
│ │ │ └── open-iconic
│ │ │ ├── font
│ │ │ │ ├── css
│ │ │ │ │ └── open-iconic-bootstrap.min.css
│ │ │ │ └── fonts
│ │ │ │ ├── open-iconic.eot
│ │ │ │ ├── open-iconic.otf
│ │ │ │ ├── open-iconic.svg
│ │ │ │ ├── open-iconic.ttf
│ │ │ │ └── open-iconic.woff
│ │ │ ├── FONT-LICENSE
│ │ │ ├── ICON-LICENSE
│ │ │ └── README.md
│ │ ├── favicon.ico
│ │ ├── icon-192.png
│ │ ├── Index.html
│ │ └── sample-data
│ │ └── weather.json
│ └── wasm
│ └── Caviar.Demo.Wasm
│ ├── Client
│ │ ├── Caviar.Demo.Wasm.Client.csproj
│ │ ├── _Imports.razor
│ │ ├── Pages
│ │ │ ├── Index.razor
│ │ │ ├── Login.razor
│ │ │ └── Login.razor.cs
│ │ ├── Program.cs
│ │ ├── Properties
│ │ │ └── launchSettings.json
│ │ └── wwwroot
│ │ ├── css
│ │ │ ├── app.css
│ │ │ ├── bootstrap
│ │ │ │ ├── bootstrap.min.css
│ │ │ │ └── bootstrap.min.css.map
│ │ │ └── open-iconic
│ │ │ ├── font
│ │ │ │ ├── css
│ │ │ │ │ └── open-iconic-bootstrap.min.css
│ │ │ │ └── fonts
│ │ │ │ ├── open-iconic.eot
│ │ │ │ ├── open-iconic.otf
│ │ │ │ ├── open-iconic.svg
│ │ │ │ ├── open-iconic.ttf
│ │ │ │ └── open-iconic.woff
│ │ │ ├── FONT-LICENSE
│ │ │ ├── ICON-LICENSE
│ │ │ └── README.md
│ │ ├── favicon.ico
│ │ ├── icon-192.png
│ │ └── index.html
│ └── Server
│ ├── appsettings.Development.json
│ ├── appsettings.json
│ ├── Caviar.Demo.Wasm.Server.csproj
│ ├── Pages
│ │ ├── Error.cshtml
│ │ └── Error.cshtml.cs
│ ├── Program.cs
│ └── Properties
│ └── launchSettings.json
├── Dockerfile
├── docs
│ └── images
│ ├── 143814_11a0a270_1456276.webp
│ ├── 144214_9f81ab38_1456276.webp
│ ├── 2b4e7364-234e-4776-8c5b-7dfe08337c64.png
│ ├── AdvancedQuery.png
│ ├── CodeGeneration.png
│ ├── home.png
│ ├── image.png
│ ├── language.png
│ ├── login.png
│ ├── phone.png
│ └── theme.png
├── LICENSE
├── README.md
├── src
│ ├── Caviar.AntDesignUI
│ │ ├── App.razor
│ │ ├── Caviar.AntDesignUI.csproj
│ │ ├── Core
│ │ │ ├── BootstrapDynamicComponent.cs
│ │ │ ├── CavLayout.cs
│ │ │ ├── CavModal.cs
│ │ │ ├── CavNavigationManager.cs
│ │ │ ├── ComponentBase
│ │ │ │ ├── CavLayoutBase.cs
│ │ │ │ ├── DataComponentBase.cs
│ │ │ │ └── IndexComponentBase.cs
│ │ │ ├── Config.cs
│ │ │ ├── Highlight
│ │ │ │ ├── IPrismHighlighter.cs
│ │ │ │ └── PrismHighlighter.cs
│ │ │ ├── HostAuthenticationStateProvider.cs
│ │ │ ├── HttpService.cs
│ │ │ ├── IframeMessage.cs
│ │ │ ├── ITableTemplate.cs
│ │ │ ├── Structure.cs
│ │ │ ├── UserConfig.cs
│ │ │ └── WasmAuthService.cs
│ │ ├── icon.png
│ │ ├── _Imports.razor
│ │ ├── Pages
│ │ │ ├── CodeGeneration
│ │ │ │ ├── CodeFileGenerate.razor
│ │ │ │ └── CodeFileGenerate.razor.cs
│ │ │ ├── Enclosure
│ │ │ │ ├── SysEnclosureIndex.razor
│ │ │ │ └── SysEnclosureIndex.razor.cs
│ │ │ ├── Exception
│ │ │ │ └── 404
│ │ │ │ └── _404.razor
│ │ │ ├── Menu
│ │ │ │ ├── DataTemplate.razor
│ │ │ │ ├── DataTemplate.razor.cs
│ │ │ │ ├── Index.razor
│ │ │ │ └── Index.razor.cs
│ │ │ ├── MyUserDetails
│ │ │ │ ├── Index.razor
│ │ │ │ ├── Index.razor.cs
│ │ │ │ ├── UpdateDetails.razor
│ │ │ │ └── UpdateDetails.razor.cs
│ │ │ ├── Permission
│ │ │ │ ├── PermissionFields.razor
│ │ │ │ ├── PermissionFields.razor.cs
│ │ │ │ ├── PermissionMenus.razor
│ │ │ │ ├── PermissionMenus.razor.cs
│ │ │ │ ├── PermissionUserRoles.razor
│ │ │ │ └── PermissionUserRoles.razor.cs
│ │ │ ├── Roles
│ │ │ │ ├── RoleDataTemplate.razor
│ │ │ │ └── RoleDataTemplate.razor.cs
│ │ │ ├── Setting
│ │ │ │ ├── LayoutSettings.razor
│ │ │ │ └── LayoutSettings.razor.cs
│ │ │ ├── User
│ │ │ │ ├── ChangePassword.razor
│ │ │ │ ├── ChangePassword.razor.cs
│ │ │ │ ├── UserDataTemplate.razor
│ │ │ │ └── UserDataTemplate.razor.cs
│ │ │ └── UserGroup
│ │ │ ├── SysUserGroupDataRange.razor
│ │ │ ├── SysUserGroupDataRange.razor.cs
│ │ │ ├── SysUserGroupDataTemplate.razor
│ │ │ ├── SysUserGroupDataTemplate.razor.cs
│ │ │ ├── SysUserGroupIndex.razor
│ │ │ └── SysUserGroupIndex.razor.cs
│ │ ├── Shared
│ │ │ ├── CavAdvancedQuery.razor
│ │ │ ├── CavAdvancedQuery.razor.cs
│ │ │ ├── CavBreadcrumb.razor
│ │ │ ├── CavBreadcrumb.razor.cs
│ │ │ ├── CavEmptyLayout.razor
│ │ │ ├── CavEmptyLayout.razor.cs
│ │ │ ├── CavEnumSelect.cs
│ │ │ ├── CavFooter.razor
│ │ │ ├── CavFooter.razor.cs
│ │ │ ├── CavFormItem.cs
│ │ │ ├── CavHighlightedCode.razor
│ │ │ ├── CavIconPanel.razor
│ │ │ ├── CavLanguage.razor
│ │ │ ├── CavLanguage.razor.cs
│ │ │ ├── CavLoginCore.razor
│ │ │ ├── CavLoginCore.razor.cs
│ │ │ ├── CavMainLayout.razor
│ │ │ ├── CavMainLayout.razor.cs
│ │ │ ├── CavMenu.razor
│ │ │ ├── CavMenu.razor.cs
│ │ │ ├── CavModalIcon.razor
│ │ │ ├── CavPopoverMenu.razor
│ │ │ ├── CavPopover.razor
│ │ │ ├── CavPopover.razor.cs
│ │ │ ├── CavRuntime.cs
│ │ │ ├── CavRuntime.razor
│ │ │ ├── CavSearch.razor
│ │ │ ├── CavSearch.razor.cs
│ │ │ ├── CavTableTemplate.razor
│ │ │ └── CavTableTemplate.razor.cs
│ │ ├── Template
│ │ │ ├── ApplicationRoles
│ │ │ │ ├── ApplicationRoleDataTemplate.razor
│ │ │ │ └── ApplicationRoleIndex.razor
│ │ │ ├── ApplicationUsers
│ │ │ │ └── ApplicationUserIndex.razor
│ │ │ ├── SysEnclosures
│ │ │ │ └── SysEnclosureIndex.razor
│ │ │ ├── SysLogs
│ │ │ │ └── SysLogIndex.razor
│ │ │ └── SysUserGroups
│ │ │ ├── SysUserGroupDataTemplate.razor
│ │ │ └── SysUserGroupIndex.razor
│ │ └── wwwroot
│ │ ├── images
│ │ │ ├── cc3d8991a036c94fcdc04a473e9b4d8.jpg
│ │ │ ├── e6b9e519eb0a5cb6e25af7193daa338.jpg
│ │ │ ├── grov.jpg
│ │ │ ├── headPortrait.png
│ │ │ ├── logo-Ico.png
│ │ │ ├── logo.png
│ │ │ └── logo-Str.png
│ │ └── js
│ │ ├── caviar.js
│ │ ├── decode.min.js
│ │ ├── prism.css
│ │ └── prism.js
│ ├── Caviar.Core
│ │ ├── Caviar.Core.csproj
│ │ ├── Exceptions
│ │ │ ├── ApplicationException.cs
│ │ │ ├── DbException.cs
│ │ │ └── ResultException.cs
│ │ ├── icon.png
│ │ ├── Interface
│ │ │ ├── IAppDbContext.cs
│ │ │ └── IDbContext.cs
│ │ ├── Services
│ │ │ ├── BaseServices
│ │ │ │ ├── BaseServices.cs
│ │ │ │ └── IBaseServices.cs
│ │ │ ├── CodeGenerationServices
│ │ │ │ └── CodeGenerationServices.cs
│ │ │ ├── Enclosure
│ │ │ │ └── SysEnclosureServices.cs
│ │ │ ├── LogServices
│ │ │ │ ├── LogDataServices.cs
│ │ │ │ └── LogServices.cs
│ │ │ ├── Permission
│ │ │ │ └── PermissionServices.cs
│ │ │ ├── RoleServices
│ │ │ │ ├── RoleFieldServices.cs
│ │ │ │ └── RoleServices.cs
│ │ │ ├── ScannerServices
│ │ │ │ ├── ApiScannerServices.cs
│ │ │ │ ├── FieldScannerServices.cs
│ │ │ │ └── ResultScannerServices.cs
│ │ │ ├── SysMenuServices
│ │ │ │ └── SysMenuServices.cs
│ │ │ ├── UserGroupServices
│ │ │ │ └── UserGroupServices.cs
│ │ │ └── UserServices
│ │ │ └── UserServices.cs
│ │ └── TemplateFile
│ │ ├── Controller.txt
│ │ ├── DataTemplate.txt
│ │ ├── Index.txt
│ │ └── View.txt
│ ├── Caviar.Infrastructure
│ │ ├── API
│ │ │ ├── ApplicationRoles
│ │ │ │ └── ApplicationRoleController.cs
│ │ │ ├── ApplicationUsers
│ │ │ │ ├── ApplicationUserController.cs
│ │ │ │ ├── ServerAuthService.cs
│ │ │ │ └── UserController.cs
│ │ │ ├── BaseApi
│ │ │ │ └── BaseApiController.cs
│ │ │ ├── CodeGeneration
│ │ │ │ └── CodeGenerationController.cs
│ │ │ ├── Permission
│ │ │ │ └── PermissionController.cs
│ │ │ ├── SysEnclosure
│ │ │ │ └── SysEnclosureController.cs
│ │ │ ├── SysLog
│ │ │ │ └── SysLogController.cs
│ │ │ ├── SysMenu
│ │ │ │ └── SysMenuController.cs
│ │ │ └── UserGroup
│ │ │ └── SysUserGroupController.cs
│ │ ├── Caviar.Infrastructure.csproj
│ │ ├── Configure.cs
│ │ ├── Expand
│ │ │ └── EntityFrameworkCoreExtension.cs
│ │ ├── Filter
│ │ │ └── GlobalExceptionHandling.cs
│ │ ├── icon.png
│ │ ├── Interactor.cs
│ │ ├── Persistence
│ │ │ ├── ApplicationDbContext.cs
│ │ │ ├── QuerysCollection.cs
│ │ │ ├── SysDataInit.cs
│ │ │ └── SysDbContext.cs
│ │ └── Template
│ │ └── API
│ │ ├── ApplicationRoles
│ │ │ └── ApplicationRoleController.cs
│ │ ├── ApplicationUsers
│ │ │ └── ApplicationUserController.cs
│ │ ├── SysEnclosures
│ │ │ └── SysEnclosureController.cs
│ │ ├── SysMenu
│ │ │ └── SysMenuController.cs
│ │ └── SysUserGroups
│ │ └── SysUserGroupController.cs
│ └── Caviar.SharedKernel
│ ├── Caviar - Backup.SharedKernel.csproj
│ ├── Caviar.SharedKernel.csproj
│ ├── Common
│ │ ├── CommonHelper.cs
│ │ ├── CurrencyConstant.cs
│ │ ├── DI
│ │ │ └── DIInjectAttribute.cs
│ │ ├── IInteractor.cs
│ │ ├── PredicateBuilder.cs
│ │ └── UrlConfig.cs
│ ├── Entities
│ │ ├── Base
│ │ │ ├── CaviarConfig.cs
│ │ │ ├── ResultException.cs
│ │ │ └── SysBaseEntity.cs
│ │ ├── Enclosure
│ │ │ └── SysEnclosure.cs
│ │ ├── Menu
│ │ │ └── SysMenu.cs
│ │ ├── Permission
│ │ │ ├── SysFields.cs
│ │ │ └── SysPermission.cs
│ │ ├── Result
│ │ │ ├── PageData.cs
│ │ │ └── ResultMsg.cs
│ │ ├── Role
│ │ │ └── ApplicationRole.cs
│ │ ├── SysLog
│ │ │ └── SysLog.cs
│ │ ├── User
│ │ │ ├── ApplicationUser.cs
│ │ │ ├── ChangePassword.cs
│ │ │ ├── CurrentUser.cs
│ │ │ ├── UseerDetails.cs
│ │ │ └── UserLogin.cs
│ │ └── UserGroup
│ │ └── SysUserGroup.cs
│ ├── Enums
│ │ └── Enums.cs
│ ├── icon.png
│ ├── Interface
│ │ ├── IAuthService.cs
│ │ ├── IBaseEntity.cs
│ │ ├── IDIinjectAtteribute.cs
│ │ ├── ITree.cs
│ │ └── IView.cs
│ ├── Localization
│ │ ├── ILanguageService.cs
│ │ └── InAssemblyLanguageService.cs
│ ├── Resources
│ │ └── Language
│ │ ├── en-US.json
│ │ └── zh-CN.json
│ ├── Template
│ │ └── View
│ │ ├── ApplicationRoles
│ │ │ └── ApplicationRoleView.cs
│ │ ├── ApplicationUsers
│ │ │ └── ApplicationUserView.cs
│ │ ├── SysEnclosures
│ │ │ └── SysEnclosureView.cs
│ │ ├── SysLogs
│ │ │ └── SysLogView.cs
│ │ ├── SysMenu
│ │ │ └── SysMenuView.cs
│ │ └── SysUserGroups
│ │ └── SysUserGroupView.cs
│ └── View
│ ├── CodeGenerateOptions.cs
│ ├── FieldsView.cs
│ ├── Menu
│ │ └── SysMenuView.cs
│ ├── QueryView.cs
│ ├── RowCallbackData.cs
│ ├── TabItem.cs
│ └── UserGroup
│ └── SysUserGroupView.cs
└── tests
├── Caviar.FunctionalTests
│ ├── Caviar.FunctionalTests.csproj
│ ├── LanguageTests.cs
│ └── Resources
│ └── Language
│ ├── en-US.json
│ ├── zh-CN.json
│ └── zh-SG.json
├── Caviar.IntegrationTests
│ ├── Caviar.IntegrationTests.csproj
│ └── DataAuthorityTests.cs
└── Caviar.UnitTest
└── Caviar.UnitTest.csproj
132 directories, 286 files
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论