AdminBlazor 1.0.10
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package AdminBlazor --version 1.0.10
NuGet\Install-Package AdminBlazor -Version 1.0.10
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="AdminBlazor" Version="1.0.10" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add AdminBlazor --version 1.0.10
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: AdminBlazor, 1.0.10"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install AdminBlazor as a Cake Addin #addin nuget:?package=AdminBlazor&version=1.0.10 // Install AdminBlazor as a Cake Tool #tool nuget:?package=AdminBlazor&version=1.0.10
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
项目介绍
AdminBlazor 是一款 Blazor SSR 后台管理项目,支持 RABC 权限菜单/按钮,支持一对一、一对多、多对多代码生成 .razor 界面。
集成功能:菜单管理、角色管理、用户管理、定时任务、字典管理
依赖组件:BootstrapBlazor、FreeSql、FreeScheduler、Rougamo
快速开始
- 安装模板
dotnet new install AdminBlazor.Template
- 新建项目
dotnet new admin
- 运行访问
http://localhost:5231/Admin
用户名:admin 密码:freesql
- 新建菜单,类型选择增删改查
- 生成代码,在实体类型维护注释、导航属性
- 实体上的注释,会生成 HTML Label
- 实体上的导航属性,会生成丰富的 UI
- 创建实体类型,建议继承 Entity/EntityCreated/EntityModifed
权限
- UserEntity 对多对 RoleEntity
- RoleEntity 对多对 MenuEntity
提示:AdminLoginInfo 类型已设置成 [CascadeParameter]
class AdminLoginInfo
{
public IServiceProvider Service { get; internal set; }
public UserEntity User { get; set; }
public List<RoleEntity> Roles { get; private set; }
public List<MenuEntity> RoleMenus { get; private set; }
//路由、按钮权限验证
public Task<bool> AuthPath(string path);
public Task<bool> AuthButton(string path)
}
按钮权限,在 razor 中设置特性:
[AdminButton("name")]
void ButtonClick()
{
}
之后菜单管理,会出现对应的按钮项,勾选设置角色是否有按钮的权限。
二次开发
组件
1. 增删改查 AdminTable2<TItem>
使用 FreeSql 对实体类型 TItem 增删改查
名称 | 说明 |
---|---|
bool IsDebug | 打开UI调试 |
string Title | 标题,弹框时 |
int PageSize | 分页,值 -1 时不分开 |
bool IsQueryString | 查询条件与 URL QueryString 同步 |
bool IsRemove | 开启删除 |
bool IsRowRemove | 开启删除(表格每行) |
bool IsAdd | 开启添加 |
bool IsEdit | 开启编辑 |
bool IsRefersh | 开启刷新 |
bool IsSearchText | 开启文本搜索 |
bool IsSingleSelect | 开启单选 |
bool IsMultiSelect | 开启多选 |
bool IsConfirmEdit | 开启编辑保存时,弹框确认 |
bool IsConfirmRemove | 开启删除时,弹框确认 |
int Colspan | 表格一行显示几条记录 |
int BodyHeight | 表格高度 |
string DialogClassName | 弹框样式 |
Func<AdminQueryInfo, Task> InitQuery | 初始化查询 |
EventCallback<AdminQueryEventArgs<TItem>> OnQuery | 正在查询,设置条件 |
EventCallback<TItem> OnEdit | 正在编辑,设置编辑对象 |
EventCallback<List<TItem>> OnRemove | 正在删除 |
EventCallback<List<AdminItem<TItem>>> OnSelectChanged | 选择内容发生变化 |
EventCallback<AdminItem<TItem>> OnRowClick | 单击表格行时 |
RenderFragment TableHeader | 表格 TR 模板 |
RenderFragment<TItem> TableRow | 表格 TD 模板 |
RenderFragment<TItem> EditTemplate | 添加/编辑 模板 |
RenderFragment CardHeader | 卡片 Header 模板 |
RenderFragment CardFooter | 卡片 Fotter 模板 |
2. 弹框分配 AllocTable2<TItem, TChild>
弹框分配实体类型 TItem 【多对多】导航属性
名称 | 说明 |
---|---|
TItem Item | 被分配的对象 |
string ChildProperty | 被分配的对象的 List<TChild> 属性 |
string Title | 标题 |
EventCallback<TItem> ItemChanged | 分配变化时 |
int PageSize | TChild 分页,值 -1 时不分页 |
bool IsSearchText | TChild 开启文本搜索 |
EventCallback<AdminQueryEventArgs<TChild>> OnQuery | TChild 正在查询,设置条件 |
RenderFragment TableHeader | TChild 表格 TR 模板 |
RenderFragment<TItem> TableRow | TChild 表格 TD 模板 |
3. 文本框 InputTable2<TItem, TKey>
文本框 + 按钮弹框绑定 【多对一】、【多对多】导航属性
名称 | 说明 |
---|---|
TKey Value | 值 |
EventCallback<TKey> OnValueChanged | 值变化时 |
TItem Item | 【多对一】导航属性 |
EventCallback<TItem> OnItemChanged | 【多对一】导航属性变化时 |
TItem Items | 【多对多】导航属性 |
EventCallback<TItem> OnItemsChanged | 【多对多】导航属性变化时 |
Func<TItem, string> DisplayText | 文本框显示内容 |
string ModalTitle | 弹框标题 |
int PageSize | 弹框 分页,值 -1 时不分页 |
bool IsSearchText | 弹框 开启文本搜索 |
RenderFragment TableHeader | 弹框 表格 TR 模板 |
RenderFragment<TItem> TableRow | 弹框 表格 TD 模板 |
4. 单选/多选 SelectTable2<TItem, TKey>
名称 | 说明 |
---|---|
TKey Value | 值 |
EventCallback<TKey> OnValueChanged | 值变化时 |
TItem Items | 【多对多】导航属性 |
EventCallback<TItem> OnItemsChanged | 【多对多】导航属性变化时 |
int PageSize | 分页,值 -1 时不分页 |
bool IsSearchText | 开启文本搜索 |
RenderFragment<TItem> ChildContent | 内容模板 |
5. 弹框 AdminModal
名称 | 说明 |
---|---|
string Title | 标题 |
bool Visible | 是否显示 |
string DialogClassName | 弹框样式,如:modal-sm、modal-lg、modal-xl、modal-xxl、modal-fullscreen |
string YesButton | 确认按钮 |
string CloseButton | 关闭按钮 |
EventCallback<TItem> OnYes | 确认时 |
EventCallback<TItem> OnClose | 关闭时 |
RenderFragment ChildContent | 内容模板 |
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net8.0
- BootstrapBlazor (>= 8.1.7)
- BootstrapBlazor.FontAwesome (>= 8.0.1)
- FreeScheduler (>= 2.0.28)
- FreeSql.Extensions.AggregateRoot (>= 3.2.812)
- Microsoft.AspNetCore.Components.Web (>= 8.0.0)
- Microsoft.AspNetCore.Http (>= 2.2.2)
- NCrontab (>= 3.3.3)
- Newtonsoft.Json (>= 13.0.3)
- Rougamo.Fody (>= 2.2.0)
- Yitter.IdGenerator (>= 1.0.14)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.1.17 | 117 | 11/3/2024 |
1.1.15 | 151 | 7/15/2024 |
1.1.14 | 148 | 5/17/2024 |
1.1.13 | 128 | 4/19/2024 |
1.1.12 | 127 | 3/26/2024 |
1.1.11 | 138 | 2/26/2024 |
1.1.10 | 164 | 2/8/2024 |
1.1.9 | 144 | 2/6/2024 |
1.0.11 | 145 | 2/2/2024 |
1.0.10 | 129 | 2/2/2024 |
1.0.8 | 138 | 2/1/2024 |
1.0.6 | 131 | 1/31/2024 |
1.0.5 | 130 | 1/31/2024 |
1.0.3 | 97 | 1/31/2024 |
1.0.2 | 129 | 1/31/2024 |
1.0.1 | 129 | 1/31/2024 |