WxUtile工具
WxUtile组件使用环境:
net core 5.0以上框架可用
使用方法:nuget
项目地址:https://gitee.com/nhcode/wx-utile.git
- 概述
在C#开发过程中通常情况下会需要一些对字符串。特殊的数据格式入json数据、xml数据等字符串数据的解析与操作;而开应用程序时;程序员需要重复的去编写对应的数据解析程序;这个过程是繁琐而复杂的。
为了解决这些繁琐重复的编程工作,特此开发此工具软件,通过该工具软件可方便的调用对应的方法来实现针对数据的不同功能进行操作与处理。
该工具总共分为几个模块进行设计,attributes特性模块、const常量模块、data数据模块、Log日志模块、Requests数据请求模块、String操作模块。
- Attributes特性模块
该模块完成对应特性工具功能实现,主要完成针对数据模块下对象转换成SQL语句映射数据库表格的相关属性注解。
Attributes特性主要完成注解以及信息记录功能。使用特性对对应的class进行标注以及信息传入,Attributes特性对象将数据存储。这样外部的其他对象可通过反射形式typeof(Class)获取特性的数据然后完成指定的功能实现(以下所有资料中使用特性时均用“特性注解”替代)。
- Const常量模块
定义常用的字符串以及相关的固定值常量
- sra加密常用字段常量
- 数据库字段类型常量
- 请求状态常量
这些常量都是固定值而且在其他地方会用到的。
- Data数据模块
该模块完成对数据的操作以及构建消息结构的相关工具类型。
- Net结构转SQL
构建一个针对.net语言结构转换为SQL表结构语句的特性方法,主要实现功能是将.net结构对象转换sql语句并通过ef框架写入到数据库中,在通过ef框架进行数据存储功能。
- 转换算法
将net结构转换为sql步骤算法如下:
第一步:构建netClass时需要使用特性调用功能,构建属性标记特性,特性功能是,标记class结构为各个属性的注释、是否是主键、属性所需值长度、以及属性的类型。
第二步:根据class结构的特性调用根据特性注解数据完成SQL语句的拼接。
第三步:构建class SQL语句存储对象,将sql的语句内容信息存储,以便以后有修改时进行数据比对。
第四步:将已构建的class SQL语句存储对象与已存储的内容进行数据比对,如果比对存在差异时,判断新的与已存储的资料差异区分,如果存在将已存储资料更新为新存储资料,并生成SQL更新语句,对已已有的数据表结构进行sql指令修改。
逻辑流程图:
- 实现对数据列表的查询与分页算法
分页算法公式为:页数=数据总条数/每页数,其中如果存在余数时,页数等于数据总条数/每页数的商+1;请求对应页数的公式为:先计算起始数据,然后计算后续页数。每页数据=每页数据条数*(需要获取页码-1)的数据索引,然后后推数据条数为每页数据条数的数据,如果不足则全部。
分页查询逻辑如下:
- 数据存储
实现一个方法将数据存储到磁盘的一种方式,该方式为先将数据转换为对应json数据格式或者xml数据格式,然后通过字符串加密方式将对应的数据进行加密,然后通过数据存储对象进行数据写入到硬盘。需要读取数据时通过数据存储庐江读取到数据,然后进行字符串解密和数据格式解析并将数据解析成对应的数据对象使用。实现数搜多功能的模块,该模块可将列表内的数据符合相应方式的数据筛选出来你。
- Log日志模块
实现日志功能,系统出现的操作日志以及相关信息通过文件存储方式记录并将其写入到对应目录的log文件内。
- Requests数据请求模块
实现功能为c#程序模拟http请求,实现get和post请求方式。
实现通过httpcontext获取对应的用户客户端IP地址的功能
- Strings操作模块
该模块主要是针对string数据进行拓展以及相关数据处理的方法集合,包含针对string的数据加密语数据解密功能;生成rsa公私钥密码对;对特定的string字符串数据进行rsa的签名以及签名验证功能。针对json字符串的解析功能。