序言
持续更新了两年,跨了三个年头,这是唯一一次更新没有任何 BUG 修复的版本,这说明 Furion 准备好了,你们准备用了吗?😁😁😁
同时,恭喜 Furion 迎来了第 196 个贡献者,很幸运 Furion 能够在国内众多开源项目中拥有不少的拥趸者,感谢大家的支持。
![]()
文档地址
开源地址
本期更新
-
新特性
- [新增]
Options 选项属性支持自定义 Key 名称,[MapSettings("key")] #I5B2HN
- [新增]
EventBus 模块事件 Id 支持枚举类型 2f328aa
- [新增]
EventBus 模块发布者 PublishAsync 和 PublishDelayAsync 重载 2f328aa
- [新增]
EventBus 模块拓展方法:Enum.ParseToString() 和 String.ParseToEnum() 2f328aa
- [新增]
Furion 和 SqlSugar 脚手架 🆕🆕🆕 8d9293d
- [新增]
Dapper 拓展全局配置委托 #I5AYFX
-
其他更改
- [调整]
axios-utils.ts 和 angular-utils.ts ,新增请求拦截携带刷新 Token 的时机判断 82f89bd
- [优化] 规范化文档
Swagger 加载继承注释 <inheritoc /> 性能小优化 5f06880
- [调整] 脚手架模板,新增
GlobalUsings.cs 模式
-
文档
- [新增]
Furion + SqlSugar 脚手架文档
- [更新] 事件总线文档、选项文档、即时通讯文档、
.NET5 升级 .NET6 文档、依赖注入文档
本期亮点
- 事件总线
Id 支持枚举类型
EventSubscribe("TO:DO")] // 字符串类型
public async Task EventHandler1(EventHandlerExecutingContext context)
{
// ....
}
[EventSubscribe(YourEnum.Some)] // 枚举类型
public async Task EventHandler2(EventHandlerExecutingContext context)
{
var eventEnum = context.Source.EventId.ParseToEnum(); // 将事件 Id 转换成枚举对象
// ....
}
- 事件总线发布支持更简单调用
// 旧版本
await _eventPublisher.PublishAsync(new ChannelEventSource("ToDo:Create", name));
// 新版本
await _eventPublisher.PublishAsync("ToDo:Create", name);
await _eventPublisher.PublishAsync(YourEnum.Some); // 也支持枚举
- 选项支持属性自定义配置
Key
"AppInfo": {
"Name": "Furion",
"Version": "1.0.0",
"Company_Name": "Baiqian" // 可以和属性不一样
}
public class AppInfoOptions : IConfigurableOptions
{
public string Name { get; set; }
public string Version { get; set; }
[MapSettings("Company_Name")] // 支持自定义
public string Company { get; set; }
}
文档更新
![]()
![]()
![]()
![]()