64 lines
2.0 KiB
C#
64 lines
2.0 KiB
C#
using Newtonsoft.Json;
|
||
using VolPro.Core.Enums;
|
||
using VolPro.Core.Extensions;
|
||
|
||
namespace VolPro.Core.Utilities
|
||
{
|
||
public class ApiResponseContent
|
||
{
|
||
public ApiResponseContent()
|
||
{
|
||
}
|
||
public ApiResponseContent(int status)
|
||
{
|
||
this.Status = status;
|
||
}
|
||
[JsonProperty(PropertyName = "message")]
|
||
/// <summary>
|
||
/// 返回消息
|
||
/// </summary>
|
||
public string Message { get; set; }
|
||
[JsonProperty(PropertyName = "status")]
|
||
/// <summary>
|
||
/// 返回状态
|
||
/// </summary>
|
||
public int Status { get; set; }
|
||
[JsonProperty(PropertyName = "data")]
|
||
/// <summary>
|
||
/// 所有返回的业务数据
|
||
/// </summary>
|
||
public object Data { get; set; }
|
||
|
||
public ApiResponseContent OK(string msg = null)
|
||
{
|
||
return this.Set(ResponseType.OperSuccess, msg, ApiStatutsCode.Ok);
|
||
}
|
||
|
||
public ApiResponseContent Set(ResponseType responseType, ApiStatutsCode? status = null)
|
||
{
|
||
return this.Set(responseType, null, status);
|
||
}
|
||
/// <summary>
|
||
///
|
||
/// </summary>
|
||
/// <param name="responseData"></param>
|
||
/// <param name="responseType">返回消息类型</param>
|
||
/// <param name="msg">返回消息,若msg为null,则取responseType的描述信息</param>
|
||
/// <param name="status">返回状态,目前只有0、失败,1、成功,2、token过期</param>
|
||
public ApiResponseContent Set(ResponseType responseType, string msg, ApiStatutsCode? status = null)
|
||
{
|
||
if (status != null)
|
||
this.Status = (int)status;
|
||
if (!string.IsNullOrEmpty(msg))
|
||
{
|
||
this.Message = msg;
|
||
return this;
|
||
}
|
||
if (!string.IsNullOrEmpty(this.Message))
|
||
return this;
|
||
this.Message = responseType.GetMsg();
|
||
return this;
|
||
}
|
||
}
|
||
}
|