You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

76 lines
1.8 KiB

4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
  1. using Apewer.Models;
  2. using System;
  3. using System.IO;
  4. namespace Apewer.Web
  5. {
  6. /// <summary></summary>
  7. [Serializable]
  8. public sealed class ApiResponse
  9. {
  10. #region internal
  11. private ApiModel _model = null;
  12. private Json _data = Json.NewObject();
  13. /// <summary>API 的执行时间,以毫秒为单位。</summary>
  14. public long Duration { get; set; }
  15. /// <summary>Application。</summary>
  16. public string Application { get; set; }
  17. /// <summary>Function。</summary>
  18. public string Function { get; set; }
  19. /// <summary>Random。</summary>
  20. public string Random { get; set; }
  21. #endregion
  22. #region user
  23. /// <summary>头。</summary>
  24. public StringPairs Headers { get; set; } = new StringPairs();
  25. /// <summary>Cookies。</summary>
  26. public StringPairs Cookies { get; set; } = new StringPairs();
  27. /// <summary>获取或设置输出模型。</summary>
  28. public ApiModel Model
  29. {
  30. get { return _model; }
  31. set
  32. {
  33. var old = _model;
  34. _model = value;
  35. RuntimeUtility.Dispose(old);
  36. }
  37. }
  38. /// <summary>当响应 Json 时,强制缩进排版。</summary>
  39. public bool Indented { get; set; }
  40. /// <summary>状态。</summary>
  41. public string Status { get; set; }
  42. /// <summary>消息。</summary>
  43. public string Message { get; set; }
  44. /// <summary>自定义数据。</summary>
  45. public Json Data
  46. {
  47. get { return _data; }
  48. set { _data = value ?? Json.NewObject(); }
  49. }
  50. /// <summary>设置 Data 的属性。</summary>
  51. public string this[string name] { get => Data[name]; set => Data[name] = value; }
  52. #endregion
  53. }
  54. }