建設(shè)網(wǎng)站的公司要什么資質(zhì)百度官網(wǎng)認(rèn)證申請
V1.2.7
Known是基于C#和Blazor開發(fā)的前后端分離快速開發(fā)框架,開箱即用,跨平臺,一處代碼,多處運(yùn)行。
- Gitee: https://gitee.com/known/Known
- Github:https://github.com/known/Known
概述
- 基于C#和Blazor實(shí)現(xiàn)的快速開發(fā)框架,前后端分離,開箱即用。
- 跨平臺,單頁應(yīng)用,混合桌面應(yīng)用,Web和桌面共享一處代碼。
- 包含模塊、字典、組織、角色、用戶、日志、消息、工作流、定時(shí)任務(wù)等功能。
- 代碼簡潔、易擴(kuò)展,讓開發(fā)更簡單、更快捷!
如果對您有幫助,點(diǎn)擊?Star?關(guān)注 ,感謝支持開源!
更新日期
- 2023-07-13
更新內(nèi)容
- 🐛修復(fù)安裝頁面按鈕樣式
- 🔨修改初始化模塊腳本
- 🔨優(yōu)化代碼生成工具問題
- 🔨優(yōu)化DataGrid中的ShowForm默認(rèn)模型
- 🔨優(yōu)化三級菜單樣式
- 🔨優(yōu)化表單初始化默認(rèn)focus第一個(gè)input
- 😄新增Host類,運(yùn)行WebApi
- 😄新增Timeline組件
- 🐛修復(fù)Captcha組件總是刷新問題
- 🐛修復(fù)Form頁面回車事件問題
詳細(xì)內(nèi)容
1. 三級菜單
2. WebGridView變更
- TModel泛型需要支持可實(shí)例化
- WebGridView基類變更如下
public class WebGridView<TModel, TForm> : DataGrid<TModel, TForm> where TModel : EntityBase, new() where TForm : Form
3. Host類
- 支持WinForm宿主WebApi
//在Main方法中添加
Host.RunWebApiAsync<App>(Url);
4. Timeline組件
- 支持節(jié)點(diǎn)類型和自定義模板
//默認(rèn)
private readonly List<TimelineItem> items1 = new()
{new TimelineItem{Title="第一標(biāo)題",Description="第一節(jié)點(diǎn)內(nèi)容"},new TimelineItem{Title="第二標(biāo)題",Description="第二節(jié)點(diǎn)內(nèi)容"},new TimelineItem{Title="第三標(biāo)題",Description="第三節(jié)點(diǎn)內(nèi)容"}
};
//節(jié)點(diǎn)類型
private readonly List<TimelineItem> items2 = new()
{new TimelineItem{Title="審核中",Type=StyleType.Info},new TimelineItem{Title="發(fā)布成功",Type=StyleType.Success},new TimelineItem{Title="審核失敗",Type=StyleType.Danger}
};
//自定義模板
private readonly List<TimelineItem> items3 = new()
{new TimelineItem{Title="第一標(biāo)題",Description="第一節(jié)點(diǎn)內(nèi)容"},new TimelineItem{Template=BuildTimelineItem},new TimelineItem{Title="第三標(biāo)題",Description="第三節(jié)點(diǎn)內(nèi)容"}
};private static void BuildTimelineItem(RenderTreeBuilder builder)
{builder.Span("name", "自定義節(jié)點(diǎn)");builder.Span("time", $"{DateTime.Now:yyyy-MM-dd HH:mm:ss}");builder.Span("text", "自定義模板內(nèi)容");builder.Img("/img/login.jpg");
}//構(gòu)建時(shí)間軸
builder.Component<Timeline>().Set(c => c.Items, items1).Build();