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
{
///
/// 接口和服务调用基础响应类
///
///
[DataContract]
[Serializable]
public class BaseResponse : IResponse
{
/////
///// Http状态码
/////
//[DataMember]
//public HttpStatusCode StatusCode { get; set; }
///
/// 功能执行返回代码
///
[DataMember]
public int Status { get; set; }
///
/// 消息
///
[DataMember]
public string Msg { get; set; }
///
/// 数据
///
[DataMember]
public T? Data { get; set; }
///
/// 构造函数
///
public BaseResponse()
{
//StatusCode = HttpStatusCode.OK;
Status = 1;
Msg = "";
}
///
/// 构造函数
///
public BaseResponse(int status, string message)
{
Status = status;
Msg = message;
Data = default(T);
}
///
/// 构造函数
///
public BaseResponse(int code, string message = "", T? data = default(T))
{
Status = code;
Msg = message;
Data = data;
}
///
/// 构造函数
///
public BaseResponse(ResponseCode code, string message = "", T? data = default(T))
{
Status = (int)code;
Msg = message;
Data = data;
}
///
///
///
///
public override string ToString()
{
var settings = new JsonSerializerSettings
{
ContractResolver = new CamelCasePropertyNamesContractResolver()
};
return JsonConvert.SerializeObject(this, settings);
}
}
}