MASA Stack 第三期社区例会

MASA Stack 第三期社区例会

MASA Blazor 0.5.0发版内容

功能

Autocomplete:支持通过设置AutoSelectFirst参数开启自动选择第一项的功能,支持CacheItems参数,增强使用上下键的用户体验。

BottomNavigation::一个替代侧边栏的新组件。它主要用于移动应用程序。

DragZone:一个基于Sorttable.js实现拖放功能的新组件。

**Form **: FluentValidation 支持依赖注入,验证消息支持i18n。

i18n&nbsp: 组件库支持本地化,增强了文档的本地化。

Markdown:支持通过设置 Readonly 开启只读。

Modal:支持通过插槽设置自定义标题内容和关闭内容。

Select/Autocomplete:添加按下 Escape、Space、Home、End 键的逻辑。

破坏性更新

i18n:将使用 i18n 的 api 更改为services.AddMasaBlazor().AddI18nForServer().

CSS:合并masa-blazor.css和masa-extend-blazor.css到masa-blazor.min.css.

问题修复

Breakpoint:修复 MasaBlazor.Breakpoint.Mobile首次不工作的问题。 DataTable:将FooterProps参数设置为强类型,如果FilterProps.ItemsPerPageOptions为空时不渲染页数选择元素。 DataTable:FixedRight 和 FixedHeader 同时使用时出现UI错误。

Dialog:复滚动如果对话框已显示并将要释放时。

Divider :修复在某些场景分割线无法显示的问题,比如在Stepper中使用时。

ErrorHandler:修复生命周期中的异常仍然循环抛出的问题。

ListGroup:如果append-icon为空是不渲染该元素,prepend-icon同理。

Markdown:修复 Readonly 拼写错误,将token移动到请求头。

NavigationDrawer:修复当触发点击事件时 MiniVariant 设置为false的逻辑错误问题。

Select:增强用户使用体验,修复#391和#332。

Stepper:修复在处理时引用可能为空的问题。

Switch/Checkbox:修复 OnChange 事件无法触发的问题 #489。

TimelineItem:修复 Left 和 Value、AutoGrow、RowHeight参数值改变后,重新计算输入高度。 参数不起作用的问题。

Textarea:在Value、AutoGrow或 RowHeight 参数更改后重新计算输入高度。

TextField:修复对话框中 AutoFocus 不起作用。

Transition:修复LeaveAbolute 在 ToogleableTransftionElement 中不起作用。

Treeview:修复了Items更改时树节点没有更新的问题。重构i18n:重命名language为culture.文档

ExpansionPanels:使用新的过渡组件更新高级示例。

CSS:masa-extend-blazor.css不应包含文档的样式。

WebAssembly:最小化应用程序下载大小,更新首屏加载动画。

信息来源:https://github.com/BlazorComponent/MASA.Blazor/releases/tag/

0.5.0MASA Framework 0.5.0内容发版

修复

BugConfiguration.Dcc: 修复获取节点错误 #85

Storage.Aliyun: 修复基于配置文件的上传出错#87

EntityFramework: 修复使用MySql错误#108, 修复使用软删除过滤由于嵌套引用导致删除失败#144

EventBus: 修改错误提示信息地址#105

DomainEventBus: 修复聚合根添加领域事件执行顺序错误#120 #135

AutoComplete: 修复搜索匹配不到的问题#136 #139 #140 #149

Dispatcher: 修复部分事件(未继承ITranscation的事件)发布时,当Handler存在嵌套发布事件时,事务中间件会被多次执行的问题#146, 修复EventBus多次发布事件,第二次发布事件不会自动持久化#153

重命名

Masa.Contrib.BasicAbility.Dcc重命名为Masa.Contrib.Configuration.ConfigurationApi.Dcc#96

功能

IdGenerator: 添加 IdGenerator.SimpleGuid 和IdGenerator.SequentialGuid和 IdGenerator.Snowflake #76 #83 #87 #97 #115 #121 #124

Auth: 为团队和权限添加 sdk 方法 #77 #80, 更新 auth sdk 身份 #84 #98 #117 #141 添加 Auth.Contracts#104 #113 新增修改用户数据 #157 #160 #162

OIDC:添加Oidc.EntityFramework、Oidc.Cache.Storage#78 #93 #109

IdentityModel: 添加IdentityModel, 支持更新创建者、创建时间、修改人、修改时间等 #81 #103 #118

Data: 支持分布式锁#88 #131

Storage: 支持多Bucket#89, 添加 AddAliyunStorage 支持异步#123

Scheduler:添加调度器 Sdk #102 #107 #110 #142 #151

Dcc: 添加DCC Sdk#96 #161

Configuration.ConfigurationApi.Dcc: 扩展方法GetDefault,GetPublic #127 #138

Dispatcher: EventBus 支持自定义日志级别#134 #137

Mc: 添加Mc Sdk#112 #143 #163

EntityFramework: Support migration of local message table via IDesignTimeDbContextFactory#152

Tsc: 添加 tsc-sdk #125

重构

EntityFramework: 支持乐观并发#79, 重构MasaDbContextOptionsBuilde#122

IntegrationEvents.Dapr:重构DaprIntegrationEventBus #116 #150 #158

Autocomplete: 重构和优化用户体验#159

文档

Home: 修改首页文档 #87

Storage.Aliyun: 修复中文文档错误#87

Dispatcher: 添加Benchmark 数据#91#92

DistributedLock: 添加文档#95更新 IntegrationEvent 文档使用#132

Identity: 修改引用包文档错误#164

测试

Auth: 完善Auth单元测试#94

PM:修复单元测试#145

杂务

1.修改命名空间#82

2.更新Masa.Utils库版本 #90 #114 #133 #147 #154 #165

信息来源:Release 0.5.0 · masastack/MASA.Framework (github.com)

MASA Stack 产品谍照

1.登录页面

2.个人信息页面

3.全局导航

4.消息中心

5.渠道管理

6.配置中心

7.项目管理

社区近期问题解答

MASA Framework

Q1:MASA Framework在vs里安装项目的那几个模板是怎么安装上的?

A:dotnet new –install Masa.Template

Q2:目前Framework如何与前端I18n配合做多语言?

目前0.5.0版本的框架暂不支持多语言,我们计划在0.6.0增加多语言支持

Q3:DomainEvent、DomainCommand、DomainQuery有什么区别?

领域事件是DomainEvent,为了简化CQRS,就内置了DomainCommand、DomainQuery,它们是DomainEvent与Command、Query的组合

MASA Blazor

Q1:Blazor如何实现登录,类似MVC后台程序的效果?

参考:https://github.com/masalabs/MASA.Framework.Admin

Q2:MASA Blazor App、MASABlzaor Pro Web、MASA Blazor Website、MASA Framework Project区别是什么?

MASA Blazor App:使用了MASA Blazor的模板 MASABlzaor Pro Web: 使用了MASA Blazor Pro的样式 MASA Blazor Website:使用了文档站点的样式 MASA Framework Project:创建Framework项目

Q3:目前Tooltip组件写法太复杂,会影响代码的结构和阅读体验,能否可以优化一下,例如在 MButton上原生支持 Tooltip 属性。

开发组件库应该保持单一组件最小的功能,或者说单一职责,Tooltip现在的设计是可以包裹任何元素,无论该元素是行内元素还是块元素,从技术上来说Tooltip要知道目标元素,就需要给目标元素添加一个唯一的自定义属性,你可以通过查看html看到有个_activator_ 开头的属性。然后给该元素添加click和mouseenter事件来实现点击触发和Hover触发的效果。具体请移步https://github.com/BlazorComponent/MASA.Blazor/issues/595。

其他

Q1:Masa以后支持工作流吗?是免费的吗?

2.0会增加工作流支持,是免费的

开源地址

https://github.com/BlazorComponent/MASA.Blazor https://github.com/masastack/MASA.Framework

如果你对我们的开源项目感兴趣,无论是代码贡献、使用、提 Issue,欢迎联系我们

作者

MASA

发布于

2022-08-05

更新于

2022-09-26

许可协议