将本地文件上传到服务器是软件系统经常会遇到的需求,例如:设置用户头像,上传Excel报表等等;涉及到网络访问性能、存储空间等因素的考虑,通常我们会选择使用第三方的对象存储服务,本类库将比较常用的第三方对象存储服务进行了封装整合,让用户能够使用一套API将文件上传到不同的对象存储服务上,方便了用户使用。
在我们的软件系统中,经常需要对图片进行各种各样的处理;例如最常见的头像缩放,需要将用户上传的图片缩放成系统需要的最佳大小。本工具包主要将常用的图片方法进行汇总,方便开发者使用。
扩展动态对象是整个工具库中最重要的一个设计。在软件开发过程中,我们经常需要定义各种各样的数据对象;例如:用于参数传递的数据实体类、用于接口返回结果的Json对象等等。
图形验证码是为了抵御恶意访问出现的一种设计;例如用户登录、修改密码等场景。在本类库中,将图形验证码的逻辑进行了抽象封装,能够通过同一套方法使用不同类型的图形验证码;让增加图形验证码逻辑变得更方便友好,且切换不同类型的图形验证码更简易。
在现如今的软件需求场景中,HTTP网络请求几乎是开发过程中必然会使用的功能;而系统自带的HTTPClient对象使用起来并不是那么容易和友好,因此我们对其进行了二次封装成了一个Web类库。 该Web类库提供了HTTP请求和HTTP安全相关两方面的封装。HTTP请求是基于系统自带的HttpClient对象进行了二次封装,提供了更易用的方法,并且对Json类型更加友好;HTTP安全方面主要针对XSS攻击提供了字符处理方法,后续会根据需要不断添加。
Xmtool工具库中提供了XmlTool类库,用以对Xml内容进行操作。该类库以回调方法的方式遍历XML内容的功能,使得Xml读取更灵活快捷,且能随时停止遍历过程;同时提供了将Xml内容反序列化为对象的能力,通过该方法可以将输入参数方便的转换成对象,更易于使用和控制。
发送短信就像发送邮件一样,在软件系统中使用非常普遍,甚至比发送邮件还要常见,有些甚至是软件标配功能;例如现在的短信验证码登录、通过短信找回密码等等。 发送短信需要通过不同的额短信服务商提供的服务才可以,不同服务商提供了不同的SDK或HTTP服务,方法、参数各不相同,使用起来很不方便;系统运行上线后如果想切换一个短信发送平台,更是困难,相当于重新实现一次短信发送功能。 为了解决以上问题,本类库定义了一套标准方法,将各种短信发送平台基于标准方法进行二次封装;在使用时,无论是选用哪家的短信发送平台,都通过标准方法进行调用,使用方便,扩展维护也异常简单。
发送邮件是系统开发中经常需要的功能,广泛应用于消息通知、异常告警、内容分发等场景;.netcore框架内置提供了发送邮件的方法,但使用时需要创建多个邮件对象实例,设置一堆复杂的属性,整个过程代码冗长,体验及其不友好;因此,本人将整个邮件发送过程进行了二次封装,最终,用户只需要调用两个方法,即可实现发送邮件的目的。
基于系统提供的Random获取随机值方法已经足够简单和易用,本类库只对日常开发过程中最常用到的生成随机验证码方法进行了封装,后续发现其他有价值的常用随机值需求,会陆续添加到类库中。
散列算法在某些特殊场景也可以当做加密方法使用;其特点是不可逆,同一内容每次散列值绝对一致,所以也可用作对数据内容是否被篡改的校验方法;或者其他需要唯一性编码的场景;本类库提供了MD5、SHA1、SHA256、SHA384、SHA512等常用散列算法。
在开发过程中我们经常会遇到需要对数据进行加密和解密的需求,例如密码的加密、接口传输数据的加密等;当前类库中只封装了Base64、AES两种加密解密方法,因为C#提供了几乎我们能想到的所有加解密方法,且使用也很简单,故没有进行过多的封装;另外,严格来说,Base64不能算是加密解密方法,只是编码解码的一种,不过为了避免定义过多的类库使用中不方便,因此放在加密解密同一个类库中。
在日常的软件开发过程中,每个人都会或多或少的遇到各种各样需要校验数据格式的需求,有些格式是和具体业务逻辑相关;而有些格式是业界标准,在任何系统和功能中都一致通用的。Xmtool将大家最常用的格式检查正则表达式进行了整理汇总。
Xmtool是一个基于.NetCore框架的常用功能封装集成的工具类库,目的是做成一个像Java语言中的Hutool类似的工具库,将和具体业务逻辑无关的常用功能和方法进行抽象、封装,集成到一个类库中,方便使用维护,提升开发效率。
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号