《学 .NET 从 Furion 开始》,v4.8.6.10 发布
项目信息
- Gitee:https://gitee.com/dotnetchina/Furion
- Github:https://github.com/MonkSoul/Furion
- 文档:https://dotnetchina.gitee.io/furion
本期更新
新特性
- [新增] 粘土对象支持任何字符作为
JSON/XML
键 4.8.6.9 ⏱️2023.02.19 #note_16329657 - [新增] 动态
WebAPI
自动检查路由是否包含重复参数,如果有自动修正而不是抛异常 4.8.6.5 ⏱️2023.02.17 5f15ea1 - [新增]
byte[]
类型MD5
加密/比较重载方法 4.8.6.3 ⏱️2023.02.15 #I6F1NT - [新增] 动态
WebAPI
支持[RouteConstraint(":*")]
路由约束 4.8.6.2 ⏱️2023.02.10 #I6E6JA - [新增]
Swagger
启用登录后配置CheckUrl
可获取本地存储的Authorization
请求报文头 4.8.6.2 ⏱️2023.02.10 #I6E3LB - [新增] 多语言支持
.json
文件配置方式(推荐) 4.8.6 ⏱️2023.02.08 #I6DL71 #I5DXKP - [新增] 定时任务
IScheduler.[Try]UpdateDetail(builder => {})
和IScheduler.[Try]UpdateTrigger(triggerId, builder => {})
重载方法 4.8.6 ⏱️2023.02.08 6e43a54
- [新增] 粘土对象支持任何字符作为
突破性变化
问题修复
- [修复]
Serve.Run()
因 #I6G02W 更改导致不配置端口时出现异常无法启动问题 4.8.6.10 ⏱️2023.02.20 #I6G6AR - [修复] 粘土对象不支持
数字
作为JSON/XML
键问题 4.8.6.9 ⏱️2023.02.19 #note_16329657 - [修复] 动态
WebAPI
不支持嵌套继承[Route]
特性问题 4.8.6.8 ⏱️2023.02.18 #I6CLPT - [修复]
Serve.Run(urls: "端口")
设置端口在.NET6/7
下发布后始终是80
端口问题 4.8.6.6 ⏱️2023.02.18 #I6G02W - [修复] 粘土对象不支持
中文
作为JSON/XML
键问题 4.8.6.6 ⏱️2023.02.18 4961e01 - [修复] 远程请求代理模式配置了
WithEncodeUrl = false
无效问题 4.8.6.4 ⏱️2023.02.16 89639ba - [修复] 动态
WebAPI
自定义[HttpMethod(template)]
之后生成错误路由 4.8.6.1 ⏱️2023.02.08 59fe53b
- [修复]
其他更改
文档
- [新增] 多语言
.json
配置方式文档 - [更新] 日志文档、定时任务文档、动态
WebAPI
文档,规范化结果文档,App
静态类文档,Oops
静态类文档、虚拟文件系统文档 !704,远程请求文档,序列化文档、入门文档、脱敏模块文档
- [新增] 多语言
贡献者
- Andy (@man119)
- liuhll (@liuhll2)
- 大柚 (@big-pomelo)
- WR_YT (@wr-yt)
本期亮点
1. 新增定时任务更新作业信息和作业触发器方法
- 更新作业信息
// 返回 ScheduleResult 类型 var scheduleResult = Scheduler.TryUpdateDetail(jobBuilder => { jobBuilder.SetDescription("~~~"); }, out var jobDetail); // 无返回值 scheduler.UpdateDetail(jobBuilder => { jobBuilder.SetDescription("~~~"); });
- 更新作业触发器
// 返回 ScheduleResult 类型 var scheduleResult = scheduler.TryUpdateTrigger("triggerId", triggerBuilder => { triggerBuilder.SetDescription("~~"); }, out var trigger); // 无返回值 scheduler.UpdateTrigger("triggerId", triggerBuilder => { triggerBuilder.SetDescription("~~"); });
2. 新增多语言 .json
文件配置支持
https://furion.baiqian.ltd/docs/local-language#2111-基于-json-文件多语言
L.Text["Furion"]; // => 如果设置为英文,但是没有文件,则直接输出 “Furion”
3. 动态 WebAPI
路由规则小调整
在过去,TestMethod
生成路由为:/mytest
// 注意这里没有 [Route] 特性 public class ClassService: IDynamicApiController { [HttpPost("mytest")] public void TestMethod() { } }
新版本:TestMethod
生成路由为:/api/class/mytest
,TestMethod2
生成路由为:/mytest
。
// 注意这里没有 [Route] 特性 public class ClassService: IDynamicApiController { [HttpPost("mytest")] public void TestMethod() { } [HttpPost("/mytest")] public void TestMethod2() { } }
也就是新版本如果不需要自动添加前缀,需在前面添加 /
,旧版本不需要。
4. 动态 WebAPI
路由约束 [RouteConstraint(":*")]
支持
public class TestService: DynamicApiController { // 生成的路由为:/api/test/catch-all1/{*path} [HttpGet] public string CatchAll1([RouteConstraint(":*")] string path) { return path; } // 生成的路由为:/api/test/aaa/bbb/ccc/{*path} [HttpGet("aaa/bbb/ccc")] public string CatchAll2([RouteConstraint(":*")] string path) { return path; } // 生成的路由为:/aaa/bbb/ccc/{*path} [HttpGet("/aaa/bbb/ccc/{*path}")] public string CatchAll3(string path) { return path; } }
5. 新增 MD5
加密支持 byte[]
类型参数
// Furion 4.8.6.3+ 版本支持 byte[] 类型,如获取文件 MD5 Hash var bytes = File.ReadAllBytes("image.png"); var md5Hash = MD5Encryption.Encrypt(bytes); // 加密 var isEqual = MD5Encryption.Compare(bytes, md5Hash); // 比较
6. 支持路由模板带重复参数
public class WithClass : IDynamicApiController { [HttpGet("system/role/deptTree/{roleId}")] // 过去版本抛异常,Furion 4.8.6.5+ 正常~ public string GetResult2(string roleId) { return nameof(Furion); } }
过去版本会抛异常,新版本不会。
7. 粘土对象支持任何字符作为键
// 数字作为键 var str = "{\"data\": {\r\n \"16347413030322\": {\r\n \"componentType\": \"@ali/tdmod-od-pc-offer-discount\",\r\n \"trackInfo\": {},\r\n \"data\": {\r\n \"couponList\": [{ \"couponType\": \"CARD\", \"couponContent\": \"1件混批\" }],\r\n \"pageName\": \"Page_GetCoupon\"\r\n }\r\n }\r\n }\r\n}"; var a = Clay.Parse(str); var a1 = a["data"]["16347413030322"]["componentType"]; Console.WriteLine(a1); // 中文作为键 var str1 = "{\"data\": {\r\n \"中文\": {\r\n \"componentType\": \"@ali/tdmod-od-pc-offer-discount\",\r\n \"trackInfo\": {},\r\n \"data\": {\r\n \"couponList\": [{ \"couponType\": \"CARD\", \"couponContent\": \"1件混批\" }],\r\n \"pageName\": \"Page_GetCoupon\"\r\n }\r\n }\r\n }\r\n}"; var b = Clay.Parse(str1); var b1 = b["data"]["中文"]["componentType"]; Console.WriteLine(b1); // 符号作为键 var str2 = "{\"data\": {\r\n \"~\": {\r\n \"componentType\": \"@ali/tdmod-od-pc-offer-discount\",\r\n \"trackInfo\": {},\r\n \"data\": {\r\n \"couponList\": [{ \"couponType\": \"CARD\", \"couponContent\": \"1件混批\" }],\r\n \"pageName\": \"Page_GetCoupon\"\r\n }\r\n }\r\n }\r\n}"; var c = Clay.Parse(str2); var c1 = c["data"]["~"]["componentType"]; Console.WriteLine(c1); // 大杂烩作为键 var str3 = "{\"data\": {\r\n \"^123,中文~,!\": {\r\n \"componentType\": \"@ali/tdmod-od-pc-offer-discount\",\r\n \"trackInfo\": {},\r\n \"data\": {\r\n \"couponList\": [{ \"couponType\": \"CARD\", \"couponContent\": \"1件混批\" }],\r\n \"pageName\": \"Page_GetCoupon\"\r\n }\r\n }\r\n }\r\n}"; var d = Clay.Parse(str3); var d1 = c["data"]["^123,中文~,!"]["componentType"]; Console.WriteLine(d1);
文档更新

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
ModStartBlog v6.7.0 后台管理优化,页面宽度调整
ModStart 是一个基于 Laravel 模块化极速开发框架。模块市场拥有丰富的功能应用,支持后台一键快速安装,让开发者能快的实现业务功能开发。 系统完全开源,基于 Apache 2.0 开源协议。 功能特性 丰富的模块市场,后台一键快速安装 会员模块通用且完整,支持完整的API调用 大文件分片上传,进度条显示,已上传文件管理 强大的模块扩展功能,所有模块可以无缝集成,支持在线安装、卸载模块 完善的开发助手,实现模块、主题的的一键创建 完善的后台权限管理,支持基于RBAC的权限管理系统 后台管理支持使用手机、平板、PC,无论何时何地都可方便管理 第三方登录(QQ、微信、微博、支付宝、微信小程序) 第三方支付支持(微信、支付宝、支付宝当面付、微信扫码、微信小程序) 第三方云存储支持,支持云储存分片上传(阿里云、百度云、华为云、腾讯云、FTP、七牛云、UCloud、又拍云) 第三方短信支持(阿里云、腾讯云、华为云、百度云、253云通讯、聚合、七牛云、融云、赛邮、UCloud、云片、网易云) V6.7.0版本更新 2023年02月19日ModStartBlog发布v6.7.0版本,增加了...
- 下一篇
Go 语言通用代码生成器仙童 Beta 2 版,发布最新介绍视频
Go语言通用代码生成器仙童Beta2版,发布最新介绍视频 Go语言通用代码生成器仙童Beta2版,发布最新介绍视频,请见:https://www.bilibili.com/video/BV13M411A7nH/ 仙童Beta版,介绍视频。请见:https://www.bilibili.com/video/BV19j411T7wx/ 两个视频的合集,请见:https://www.bilibili.com/video/BV13D4y1G7L4/ GO 语言通用代码生成器仙童已发布 Beta2 版,支持 Rust 语言兼容性,即可以使用 Rust 通用代码生成器莲花的 SGS2 模板直接生成 Go 语言代码生成物。同时支持 Java 语言兼容性。即支持 Java 通用代码生成器的模板直接生成 Go 语言代码生成物。 仙童 Beta2 是一个稳定版本,您可以试着把它运用与您的学习和工作。欢迎试用,欢迎反馈。 Go 语言通用代码生成器仙童 Beta 版。修复了 Excelize v2 组件 API 变化引起的编译错误。此错误会引起 Beta 版以前所有版本代码生成物的编译错误。请用户迁徙到仙童 ...
相关文章
文章评论
共有0条评论来说两句吧...