103 lines
2.3 KiB
C#
103 lines
2.3 KiB
C#
|
|
using Alipay.EasySDK.Kernel;
|
|
using Microsoft.AspNetCore.Http;
|
|
using Newtonsoft.Json.Serialization;
|
|
using Newtonsoft.Json;
|
|
|
|
using System.Runtime.Serialization;
|
|
|
|
using XLib.DotNetCore.Base;
|
|
|
|
namespace HuanMeng.DotNetCore.Base
|
|
{
|
|
/// <summary>
|
|
/// 接口和服务调用基础响应类
|
|
/// </summary>
|
|
/// <typeparam name="T"></typeparam>
|
|
[DataContract]
|
|
[Serializable]
|
|
public class BaseResponse<T> : IResponse
|
|
{
|
|
|
|
///// <summary>
|
|
///// Http状态码
|
|
///// </summary>
|
|
//[DataMember]
|
|
//public HttpStatusCode StatusCode { get; set; }
|
|
|
|
/// <summary>
|
|
/// 功能执行返回代码
|
|
/// </summary>
|
|
[DataMember]
|
|
public int Status { get; set; }
|
|
|
|
/// <summary>
|
|
/// 消息
|
|
/// </summary>
|
|
[DataMember]
|
|
public string Msg { get; set; }
|
|
|
|
/// <summary>
|
|
/// 数据
|
|
/// </summary>
|
|
[DataMember]
|
|
public T? Data { get; set; }
|
|
|
|
/// <summary>
|
|
/// 构造函数
|
|
/// </summary>
|
|
public BaseResponse()
|
|
{
|
|
//StatusCode = HttpStatusCode.OK;
|
|
Status = 1;
|
|
Msg = "";
|
|
}
|
|
/// <summary>
|
|
/// 构造函数
|
|
/// </summary>
|
|
public BaseResponse(int status, string message)
|
|
{
|
|
Status = status;
|
|
Msg = message;
|
|
Data = default(T);
|
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// 构造函数
|
|
/// </summary>
|
|
public BaseResponse(int code, string message = "", T? data = default(T))
|
|
{
|
|
Status = code;
|
|
Msg = message;
|
|
Data = data;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 构造函数
|
|
/// </summary>
|
|
public BaseResponse(ResponseCode code, string message = "", T? data = default(T))
|
|
{
|
|
Status = (int)code;
|
|
Msg = message;
|
|
Data = data;
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public override string ToString()
|
|
{
|
|
var settings = new JsonSerializerSettings
|
|
{
|
|
ContractResolver = new CamelCasePropertyNamesContractResolver()
|
|
};
|
|
return JsonConvert.SerializeObject(this, settings);
|
|
}
|
|
|
|
}
|
|
}
|