.net core 工具类库 UtilsSharp.Standard


UtilsSharp.Standard工具类库 详细文档:UtilsSharp框架文档

UtilsSharp.Standard工具类库简介:该工具类是基于UtilsSharp.Standard2.0封装的,里面包括:小驼峰法命名出参规范类、出入参规范类、阿里oss帮助类、钉钉机器人帮助类、图片帮助类、文件帮助类、下载类、随机数帮助类、对象映射帮助类、字符串帮助类、验证码生成、时间帮助类、中国日历帮助类、任务下发帮助类等,后面将持续更新中…

一、命名规范
1、小驼峰:

除第一个单词之外,其他单词首字母大写

例如: int myStudentCount

用于:变量名

2、大驼峰:

相比小驼峰法,大驼峰法(即帕斯卡命名法)把第一个单词的首字母也大写了

例如: public class DataBaseUser

用于:命名空间、类名、方法名、属性名

3、方法命名规范

获取单个对象的方法用Get作为前缀,如:GetRecord

获取多个对象的方法用Get作为前缀,最后面加s,如:GetRecords

分页搜索的方法用Search作为前缀,如:SearchRecord

添加的方法用Add作为前缀,如:AddRecord

修改的方法用Modify作为前缀,如:ModifyRecord

(添加+修改)的方法用Save作为前缀,如:SaveRecord

删除的方法用Delete作为前缀,如:DeleteRecord

清空的方法用Clear作为前缀,如:ClearRecord

判断类的方法用Is作为前缀,如:IsRegister,IsExist

4、变量命名规范

变量取名应见名识意,尽量用英文单词,而不是缩写

例如:pageIndex, pageSize

5、入参、出参类名统一,入参+Request,出参+Response

例如:

/// <summary>
/// 会员登录请求参数
/// </summary>
public class LoginRequest
{
   /// <summary>
   /// 用户名
   /// </summary>
   public string UserName { set; get; }
   /// <summary>
   /// 密码
   /// </summary>
   public string UserPassword { set; get; }

}
/// <summary>
/// 会员登录返回参数
/// </summary>
public class LoginResponse
{
   /// <summary>
   /// 访问口令
   /// </summary>
   public string Token { set; get; }

   /// <summary>
   /// 用户名
   /// </summary>
   public string UserName { set; get; }
}
二、请求接口返回格式:BaseResut<T>
1、请求方法例子:
/// <summary>
/// 登入
/// </summary>
/// <param name="request">登入参数</param>
/// <returns></returns>
public BaseResult<LoginResponse> Login(LoginRequest request)
{
   var result = new BaseResult<LoginResponse>();
   try
   {
      if (string.IsNullOrEmpty(request.UserName))
      {
          result.SetError("用户名不能为空", BaseStateCode.参数不能为空);
          return result;
       }
       if (string.IsNullOrEmpty(request.UserPassword))
       {
          result.SetError("密码不能为空", BaseStateCode.参数不能为空);
          return result;
       }
       /*…这边省略登入业务代码…*/
       var response = new LoginResponse {UserName = request.UserName, Token = Guid.NewGuid().ToString("N")};
       result.SetOkResult(response,"登入成功");
       return result;
    }
    catch (Exception ex)
    {
      var errorCode = Guid.NewGuid().ToString("N");
      //这边用errorCode作为日志主键,把错误信息写入到日志
      var errorMessage = errorCode.ToMsgException();
      result.SetError(errorMessage, BaseStateCode.TryCatch异常错误);
      return result;
    }
}
2、请求返回的成功结构:
{
    "result": { //result 是个泛型 
        "token": "ecbcc910fab0497c933d69906188ad0e",
        "userName": "xxx"
    },
    "code": 200,//成功码 错误码 可以参考文章末尾
    "msg": "登入成功" //提示信息
}
三、请求列表接口基础出入参,入参:BasePage,有排序的入参:BaseSortPage,出参:BasePagedResult<T>
1、分页请求的基础参数
{
 keyword:"", //关键词搜索
 pageIndex:1, //当前页码
 pageSize:10, //分页数量
}
2、请求方法例子:
/// <summary>
/// 分页搜索
/// </summary>
/// <param name="request">登入参数</param>
/// <returns></returns>
public BasePagedResult<LoginResponse> Search(BaseSortPage request)
{
   var result = new BasePagedResult<LoginResponse>();
   try
   {
      var response = new BasePagedInfoResult<LoginResponse>()
      {
          PageIndex = request.PageIndex,
          PageSize = request.PageSize
      };
      if (string.IsNullOrEmpty(request.Keyword))
      {
          result.SetError("搜索关键词不能为空!",BaseStateCode.参数不能为空);
          return result;
      }
          /*…这边省略查询业务代码…*/
          /*…以下模拟从数据库获取数据…*/
      response.List = new List<LoginResponse>
      {
         new LoginResponse() {Token = Guid.NewGuid().ToString(), UserName = "xxx1"},
         new LoginResponse() {Token = Guid.NewGuid().ToString(), UserName = "xxx2"},
         new LoginResponse() {Token = Guid.NewGuid().ToString(), UserName = "xxx3"}
      };
      response.PageIndex = request.PageIndex;
      response.PageSize = request.PageSize;
      response.TotalCount = 100;
      response.Params = request;
      result.SetOkResult(response);
      return result;
    }
    catch (Exception ex)
    {
      var errorCode = Guid.NewGuid().ToString("N");
      //这边用errorCode作为日志主键,把错误信息写入到日志
      var errorMessage = errorCode.ToMsgException();
      result.SetError(errorMessage, BaseStateCode.TryCatch异常错误);
      return result;
    }
}
3、分页请求返回的成功结构:
{
    "result": {
        "pageIndex": 1,//当前页码
        "pageSize": 10,//分页数量
        "totalCount": 100,//总条数
        "totalPages": 10,//总页数 
        "orderBy": "createTime:desc",//排序
        "hasPreviousPage": false,//是否有上一页
        "hasNextPage": true,//是否有下一页
        "list": [    //返回的列表数据
            {
                "token": "411349e5-d345-4bfa-8022-d109fc483aeb",
                "userName": "xxx1"
            },
            {
                "token": "3a72e1d0-73dc-48d8-972b-7dde831101c3",
                "userName": "xxx2"
            },
            {
                "token": "9d690366-cc61-4ca5-9f08-f23972ebe27a",
                "userName": "xxx3"
            }
        ],
        "params": {  //入参 object类型
            "sortField": "createTime",//排序字段
            "sortType": "desc",//asc 升序  desc降序
            "pageIndex": 1,
            "pageSize": 10,
            "keyword": "连衣裙"
        }
    },
    "code": 200,
    "msg": "请求成功"
}
四、错误码
返回码标识说明
200success请求成功
999defaultTips业务提示
2000apiError接口异常
3000networkError网络异常
4000notLogin未登录
4010authExpire授权到期
5000exception异常错误
6000dataNotFound数据找不到
6010dataNotValid数据验证不通过
7000businessError默认业务性异常
8000dbError数据库异常
9000SystemError系统错误

以上给到的错误码是基础错误码,其他错误码可以根据自己业务新增,新增的业务错误码遵循要在基础错误码范围内:

比如:

某个接口异常的错误码可以是:2000-2999之间的数字;

网络类的错误码可以是:3000-3999之间的数字;

授权类的错误码可以是:4000-4999之间的数字;

数据验证类的错误码可以是:6000-6999之间的数字;

系统类的错误码可以是:9000-9999之间的数字等。

UtilsSharp.Standard工具类库 详细文档:UtilsSharp框架文档

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值