ResponseOutput.cs 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. using Newtonsoft.Json;
  2. namespace Admin.Core.Model.Output
  3. {
  4. /// <summary>
  5. /// 输出数据
  6. /// </summary>
  7. public class ResponseOutput<T> : IResponseOutput<T>
  8. {
  9. /// <summary>
  10. /// 是否成功标记
  11. /// </summary>
  12. [JsonIgnore]
  13. public bool Success { get; private set; }
  14. /// <summary>
  15. /// 状态码
  16. /// </summary>
  17. public int Code => Success ? 1 : 0;
  18. /// <summary>
  19. /// 消息
  20. /// </summary>
  21. public string Msg { get; private set; }
  22. /// <summary>
  23. /// 数据
  24. /// </summary>
  25. public T Data { get; private set; }
  26. /// <summary>
  27. /// 成功
  28. /// </summary>
  29. /// <param name="data">数据</param>
  30. /// <param name="msg">消息</param>
  31. public ResponseOutput<T> Ok(T data, string msg = null)
  32. {
  33. Success = true;
  34. Data = data;
  35. Msg = msg;
  36. return this;
  37. }
  38. /// <summary>
  39. /// 失败
  40. /// </summary>
  41. /// <param name="msg">消息</param>
  42. /// <param name="data">数据</param>
  43. /// <returns></returns>
  44. public ResponseOutput<T> NotOk(string msg = null, T data = default(T))
  45. {
  46. Success = false;
  47. Msg = msg;
  48. Data = data;
  49. return this;
  50. }
  51. }
  52. /// <summary>
  53. /// 输出数据静态类
  54. /// </summary>
  55. public static partial class ResponseOutput
  56. {
  57. /// <summary>
  58. /// 成功
  59. /// </summary>
  60. /// <param name="data">数据</param>
  61. /// <param name="msg">消息</param>
  62. /// <returns></returns>
  63. public static IResponseOutput Ok<T>(T data = default(T), string msg = null)
  64. {
  65. return new ResponseOutput<T>().Ok(data, msg);
  66. }
  67. /// <summary>
  68. /// 成功
  69. /// </summary>
  70. /// <returns></returns>
  71. public static IResponseOutput Ok()
  72. {
  73. return Ok<string>();
  74. }
  75. /// <summary>
  76. /// 失败
  77. /// </summary>
  78. /// <param name="msg">消息</param>
  79. /// <param name="data">数据</param>
  80. /// <returns></returns>
  81. public static IResponseOutput NotOk<T>(string msg = null,T data = default(T))
  82. {
  83. return new ResponseOutput<T>().NotOk(msg, data);
  84. }
  85. /// <summary>
  86. /// 失败
  87. /// </summary>
  88. /// <param name="msg">消息</param>
  89. /// <returns></returns>
  90. public static IResponseOutput NotOk(string msg = null)
  91. {
  92. return new ResponseOutput<string>().NotOk(msg);
  93. }
  94. /// <summary>
  95. /// 根据布尔值返回结果
  96. /// </summary>
  97. /// <param name="success"></param>
  98. /// <returns></returns>
  99. public static IResponseOutput Result<T>(bool success)
  100. {
  101. return success ? Ok<T>() : NotOk<T>();
  102. }
  103. /// <summary>
  104. /// 根据布尔值返回结果
  105. /// </summary>
  106. /// <param name="success"></param>
  107. /// <returns></returns>
  108. public static IResponseOutput Result(bool success)
  109. {
  110. return success ? Ok() : NotOk();
  111. }
  112. }
  113. }