久趣下载站

当前位置: 首页 » 游戏攻略 » 【更新】KnownCMS新功能发布

【更新】KnownCMS新功能发布

大家好,祝大家国庆节快乐!最新版本的Known又迎来了一波功能更新。

自上一个版本发布以来,我们一直在不断完善网站文档、开源项目KnownCMS,同时解决了一些客户提出的问题。在这段时间里,客户主要反馈了以下问题:

  • 微信模板消息无法接收,经过排查发现是网络问题,因此本次更新将消息发送改为后台任务。
  • 需要自定义无代码页面模板。
  • 需要自定义无代码表单字段组件。
  • 数据库访问需要支持EFCore。
  • 一些网友进行了细致的测试,发现了一些BUG。

以下是本次更新的内容:

  • ?支持手动刷新微信访问Token。
  • ?优化启动程序错误日志。
  • ?将Known.SqlSugar从项目中独立出一个新库。
  • ?修复嵌入iFrame页面打不开的问题。
  • ?修复系统许可密钥验证面板问题。
  • ?修复高级搜索字段显示问题。
  • ?修复数据字典无类别新增问题。
  • ?修复无代码模块日期查询条件控件问题。
  • ?修复异步导入文字不显示问题。
  • ?微信模板消息发送增加后台任务记录。
  • ?自动表格页面增加自定义配置选项。
  • ?表格行支持双击事件。
  • ?优化表格查看和编辑多次弹窗问题。
  • ?表单字段类型支持扩展的自定义组件。
  • ?优化Database组件,支持EFCore。
  • ?优化导入组件提示信息刷新问题。
  • ?IDataRepository改成依赖注入。

详细内容

  1. 增加了独立项目存储第三方数据库访问组件,项目地址:
    https://gitee.com/known/known-db
  2. 自定义页面配置
  • 在前端项目AppClient.cs中进行配置。
public static class AppClient
{
    public static void AddSampleRazor(this IServiceCollection services)
    {
        // 配置建造自动表格页面方法委托
        UIConfig.AutoTablePage = (b, m) => b.Component<CustomTablePage>().Set(c => c.Model, m).Build();
    }
}
  • 添加自定义自动表格页面组件CustomTablePage.razor页面。
@inherits BaseComponent

<div>@Model?.PageName</div>

@code {
    // 自动表格页面配置模型
    [Parameter] public TableModel<Dictionary<string, object>> Model { get; set; }
}
  1. 自定义表单字段组件
  • 当框架内置的表单字段组件Input、Select等无法满足业务需求时,框架可以支持在项目中自定义。
  • 在【模块管理-表单配置】中,字段类型选择Custom时,可以选择项目中自定义的字段组件。
  • 只要组件继承ICustomField接口即可,示例如下:
// CustomField是框架默认抽象自定义组件基类,可以换成项目中任何组件
// ICustomField必须要继承,否则在线表单中不会显示
class MyField : CustomField, ICustomField
{
    protected override void BuildRender(RenderTreeBuilder builder)
    {
        // 在这里构建你的自定义组件内容,例如一个按钮
        builder.Button("自定义", this.Callback<MouseEventArgs>(OnClick));
    }

    private void OnClick(MouseEventArgs args) { }
}
  • 效果如下

  1. EFCore配置
  • 在XXX.Web项目中引用
<Project Sdk="Microsoft.NET.Sdk.Web">
    <ItemGroup>
        <PackageReference Include="Known.EntityFramework" Version="1.0.0" />
        <!--还需要添加EFCore的数据库依赖,此处以SqlServer为例-->
        <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="8.0.8" />
    </ItemGroup>
</Project>
  • 在Program.cs文件中添加如下代码
builder.Services.AddKnownEntityFramework(option =>
{
    // 配置数据库
    option.OnConfig = c => c.UseSqlServer(builder.Configuration.GetSection("ConnString").Get<string>());
    // 在此配置业务库数据模型
    //option.OnModel = m => m.Entity<SysLog>();
});
猜你喜欢
本类排行