2023-04-09发表2025-09-24更新.NET MAUI10 分钟读完 (大约1534个字)原创[MAUI 项目实战] 手势控制音乐播放器(四):圆形进度条在项目中添加SkiaSharp绘制功能的引用以及。 XamarinMAUIXAML阅读更多
2023-04-09发表2025-09-24更新.NET MAUI10 分钟读完 (大约1463个字)原创[MAUI 项目实战] 手势控制音乐播放器(三): 动画我们需要一个拉扯回弹的效果,可以通过自定义缓动函数实现。我用python拟合了一个适合拖拽物回弹的曲线。模拟一种弹性拉扯的效果。 XamarinMAUIXAML产品设计阅读更多
2023-04-08发表2025-09-24更新.NET MAUI14 分钟读完 (大约2072个字)原创[MAUI 项目实战] 手势控制音乐播放器(二): 手势交互pit很简单,是一个包含了名称属性的控件,这个名称属性是用来标识pit的。定义一个拖拽物,和它拖拽的目标,拖拽物可以理解为一个平底锅(pan),拖拽目标是一个坑(pit),当拖拽物进入坑时,拖拽物就会被吸附在坑里。这里用Grid作为pit控件基类型,因为Grid可以包含子控件,我们可以在pit控件中添加子控件,比如一个图片,一个文字,这样就可以让pit控件更加丰富。,这个AbsoluteLayout类型的容器控件,内包含一系列控件作为pit,这些pit集合将作为平移手势容器的判断依据。 XamarinMAUI产品设计阅读更多
2023-04-07发表2025-09-24更新.NET11 分钟读完 (大约1658个字)原创用Abp实现两步验证(Two-Factor Authentication,2FA)登录(一):认证模块创建方法IsTwoFactorAuthRequiredAsync,返回登录用户是否需要双因素认证,若未开启TwoFactorLogin.IsEnabled、用户未开启双因素认证,或没有添加验证提供者,则跳过双因素认证。双因素认证(Two-Factor Authentication,简称 2FA)是使用两个或多个因素的任意组合来验证用户身份,例如用户提供密码后,还要提供短消息发送的验证码,以证明用户确实拥有该手机。至此,双因素认证的后端逻辑已经完成,接下来我们将补充“记住”功能,实现一段时间内免验证。 阿里云腾讯云Abp网络安全asp.net core阅读更多
2023-04-05发表2025-09-24更新.NET / Database4 分钟读完 (大约674个字)原创在EF Core中为数据表按列加密存储转换器将实体中属性类型,通过AES加密算法,转换为Base64编码字符串类型,存储到数据库中。当从数据库中读取数据时,再通过AES解密算法,将Base64编码字符串类型转换为实体中属性类型。在转换器中,将这些参数设置为静态属性,方便在使用时,进行修改。,则不需要转换为Base64编码字符串类型,直接对二进制数据进行加密和解密。其中有身份证号码IdentificationNumber列,需要加密存储,该如何实现?方法,为User表的IdentificationNumber列,添加值转换器。 asp.net coreEFCore数据库sqlserver阅读更多
2023-04-04发表2025-09-24更新.NET4 分钟读完 (大约583个字)原创解决Abp设置DefaultLanguage默认语言不生效的问题默认地,Abp的语言提供程序将返回的CultureInfo为En,在一些默认实现的接口(比如/api/TokenAuth/Authenticate)返回的错误信息是英文。当请求到来时,会按照顺序依次调用这些语言提供程序,直到有语言提供程序的规则命中并返回了CultureInfo,这个CultureInfo就会被用于当前请求的语言设置。因此我们需要把AbpSettings中获取默认语言设置的优先级提高,即将AbpDefaultRequestCultureProvider排在默认的提供程序之前。 Abpasp.net coreC#阅读更多
2023-03-29发表2025-09-24更新.NET12 分钟读完 (大约1728个字)原创[Volo.Abp升级笔记]使用旧版Api规则替换RESTful Api以兼容老程序Volo.Abp 配置应用层自动生成Controller,增删查改服务(CrudAppService)将会以RESTful Api的方式生成对应的接口),这与旧版本的Abp区别很大。RESTful固然好,虽然项目里新的Api会逐步使用RESTful Api代替旧的,但在前后端分离的项目中已经定好的接口,往往需要兼容之前的方式。 asp.net core微服务RESTful API阅读更多
2023-03-19发表2025-09-24更新.NET8 分钟读完 (大约1143个字)原创探究C# dynamic动态类型本质本周在做接口动态传参的时候思考了个问题:如何把一个json字符串,转成C#动态类?比如由生成解决这个问题前,我们先来了解一下dynamic动态类型。 .NETasp.net coreC#阅读更多
2023-03-17发表2025-09-24更新Python4 分钟读完 (大约582个字)原创[Python]语音识别媒体中的音频到文本Azure提供了快捷转换语音到文本的工具 https://speech.microsoft.com/portal。这里需要注意的是,需要上传的音频格式为16kHz 或 8kHz、16 位和单声道 PCM。编写代码,将视频文件test.mp4中的音频提取到test2.wav。文件以16kHz 采样率和单声道 PCM 编码方式,保存至。中的音频识别,并转换成文本写入。上传完成后将自动转换成文本。编写代码,将视频文件。 Python语音识别Azure阅读更多
2023-03-01发表2025-09-24更新29 分钟读完 (大约4304个字)原创集成RocketChat至现有的.Net项目中,为ChatGPT铺路今天我们来聊一聊一个Paas的方案,如何集成到一个既有的项目中。以其中一个需求为例子:在产品项目中,加入IM(即时通信)功能,开始徒手撸代码,会发现工作量很大,去github找开源项目,结果也可能事与愿违:功能不够强大,或者用不同的语言编写的,编译出来程序集无法集成到项目中。可能当下最好的方案是利用独立的聊天功能组件,作为项目的中间件(Paas方案)。组件是独立部署,独立运行的,功能的稳定性,搭建速度快,作为基础设施服务,可以用在其他项目中,并且项目中的对接作为抽象层,可随时替换现有组件。阅读更多
2023-02-27发表2025-09-24更新.NET / .NET MAUI23 分钟读完 (大约3431个字)原创[MAUI 项目实战] 音乐播放器(三):界面交互UI设计的本质是对于产品的理解在界面中多种形式的映射,当需求和定位不同时,对相同的功能表达出了不同的界面和交互方式。作为播放器,界面可以是千差万别的。《番茄播放器》的iOS平台上我开发了传统版本,和基于手势播放的版本。它们界面不同,但用的同一个播放内核。作为播放内核项目,在MatoMusic.Core的工作已经结束。本系列博文重点还是在播放器思路的解读,关于MAUI动画交互,我打算有时间另外写博客(这里给自己挖个坑)。 XamarinMAUIXAMLwpf阅读更多
2023-02-21发表2025-09-24更新DevOps / Linux5 分钟读完 (大约799个字)原创[学习笔记]Rocket.Chat业务数据备份Rocket.Chat 的业务数据主要存储于mongodb数据库的rocketchat库中,聊天中通过发送文件功能产生的文件储存于中(文件方式设置为),因此在对Rocket.Chat做数据移动或备份主要分为两步,数据库备份和文件备份。 数据库rocket.chat即时通讯mongodb阅读更多
2023-02-21发表2025-09-24更新Linux / Database13 分钟读完 (大约1998个字)原创[学习笔记]SQL server完全备份指南本文将介绍如何在日常项目中,对SQL server数据库做备份和还原工作 数据库sqlserver阅读更多
2023-02-12发表2025-09-24更新.NET / .NET MAUI26 分钟读完 (大约3848个字)原创[MAUI 项目实战] 音乐播放器(二):播放内核曲目排序,原理是通过交换位置实现的,iOS和Android平台都有自己的可排序列表控件,在对选中的条目进行排序(往往是提起条目-拖拽-释放)的过程中,触发事件往往提供当前条目。在传统播放器随机播放时,如果下一曲不是我想听的,我仍然想听上一曲,由于上一曲按钮是随机触发的时机,你可能找不到它了,不得不再音乐列表再搜索它。播放控制类,用于当前平台播放器对象的操作,对当前所播放曲目的暂停/播放,下一首/上一首,快进快退(寻迹),随机、单曲模式等功能的控制。同样,用到了排序逻辑,再将他的排序( .NETXamarinMAUI阅读更多
2023-02-12发表2025-09-24更新.NET / .NET MAUI17 分钟读完 (大约2532个字)原创[MAUI 项目实战] 音乐播放器(一):概述与架构为什么想起来这个项目了呢?这是一个Windows Phone 8的老项目,2014年用作为兴趣写了个叫“番茄播放器”的App,顺便提高编程技能。这个项目的架构历经多次迁移,从WP8到UWP再到Xamarin.Forms。去年底随着MAUI的正式发布,又尝试把它迁移到MAUI上来。 .NETXamarinMAUI阅读更多
2023-02-12发表2025-09-24更新Linux / Database2 分钟读完 (大约307个字)原创[学习笔记]PostgreSQL数据库的安装和配置本文简单介绍了Postgres数据库在Linux系统下的安装和配置 数据库Linux阅读更多
2023-02-12发表2025-09-24更新.NET2 分钟读完 (大约351个字)原创适用于AbpBoilerplate的RocketChat Api库适用于AbpBoilerplate的RocketChat Api库Rocket.Chat 是一个免费、开源、可扩展、高度可定制且安全的平台,可让您与团队进行交流和协作、共享文件和实时聊天(https://www.rocket.chat/)Rocket.Chat服务的安装请阅读。 .NETrocket.chat即时通讯阅读更多
2023-02-12发表2025-09-24更新Linux3 分钟读完 (大约457个字)原创[学习笔记] CentOS + .Net后端常用的中间件工具安装常用后端中间件,备忘记录 中间件数据库centos阅读更多
2022-11-01发表2025-09-24更新.NET / Web5 分钟读完 (大约811个字)原创Abp.Zero 手机号免密登录验证与号码绑定功能的实现(三):Vue网页端开发前端代码的框架采用vue.js + elementUI 这套较为简单的方式实现,以及typescript语法更方便阅读。首先来编写发送验证码函数。注意几个关键的全局变量。 sms阿里云腾讯云TypeScriptVue阅读更多
2022-11-01发表2025-09-24更新.NET / Web4 分钟读完 (大约655个字)原创Abp.Zero 手机号免密登录验证与号码绑定功能的实现(二):改造Abp默认实现接下来我们重写原Abp的部分实现,来驳接手机号相关业务。 sms阿里云腾讯云阅读更多