BaseController.cs 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. using Ips.Library.Basic;
  2. using Microsoft.AspNetCore.Mvc;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Configuration;
  6. using System.Diagnostics;
  7. using System.IO;
  8. using System.Linq;
  9. using System.Net.Http;
  10. using System.Text;
  11. using System.Threading.Tasks;
  12. namespace Ips.Library.WebApi
  13. {
  14. /// <summary>
  15. ///
  16. /// </summary>
  17. [ApiController]
  18. [Route("api/[controller]/[action]")]
  19. public class BaseController : ControllerBase
  20. {
  21. private readonly string uploadFolder;
  22. /// <summary>
  23. ///
  24. /// </summary>
  25. public BaseController()
  26. {
  27. this.uploadFolder = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "wwwroot");
  28. }
  29. /// <summary>
  30. /// 确保Controller程序集被加载
  31. /// </summary>
  32. [NonAction]
  33. public void EnsureAssemblyLoaded()
  34. {
  35. }
  36. /// <summary>
  37. /// 返回本地文件
  38. /// </summary>
  39. /// <param name="fileName"></param>
  40. /// <returns></returns>
  41. protected string GetLocalFile(string fileName)
  42. {
  43. return Path.Combine(this.uploadFolder, fileName);
  44. }
  45. /// <summary>
  46. /// 获取客户端IP地址
  47. /// </summary>
  48. protected string RemoteIp
  49. {
  50. get
  51. {
  52. var ip = HttpContext.Connection.RemoteIpAddress?.ToString();
  53. if (ip == null || !ip.Contains("."))
  54. {
  55. return "127.0.0.1";
  56. }
  57. var idx = ip.LastIndexOf(":");
  58. if (idx >= 0)
  59. {
  60. ip = ip.Substring(idx + 1);
  61. }
  62. return ip;
  63. }
  64. }
  65. /// <summary>
  66. /// 获取客户端使用的连接端口
  67. /// </summary>
  68. protected int RemotePort
  69. {
  70. get
  71. {
  72. return HttpContext.Connection.RemotePort;
  73. }
  74. }
  75. /// <summary>
  76. /// 获取本地IP地址
  77. /// </summary>
  78. protected string LocalIp
  79. {
  80. get
  81. {
  82. var ip = HttpContext.Connection.LocalIpAddress?.ToString();
  83. if (ip == null || !ip.Contains("."))
  84. {
  85. return "127.0.0.1";
  86. }
  87. var idx = ip.LastIndexOf(":");
  88. if (idx >= 0)
  89. {
  90. ip = ip.Substring(idx + 1);
  91. }
  92. return ip;
  93. }
  94. }
  95. /// <summary>
  96. /// 获取本地使用的http端口
  97. /// </summary>
  98. protected int LocalPort
  99. {
  100. get
  101. {
  102. return HttpContext.Connection.LocalPort;
  103. }
  104. }
  105. /// <summary>
  106. /// 返回成功
  107. /// </summary>
  108. /// <param name="data">返回的数据</param>
  109. /// <returns></returns>
  110. protected AjaxResult Success(object data = null)
  111. {
  112. AjaxResult res = new AjaxResult
  113. {
  114. code = 200,
  115. msg = "请求成功!",
  116. data = data
  117. };
  118. return res;
  119. }
  120. /// <summary>
  121. /// 返回成功
  122. /// </summary>
  123. /// <param name="msg">返回的消息</param>
  124. /// <param name="data">返回的数据</param>
  125. /// <returns></returns>
  126. protected AjaxResult Success(object data, string msg = "请求成功!")
  127. {
  128. AjaxResult res = new AjaxResult
  129. {
  130. code = 200,
  131. msg = msg,
  132. data = data
  133. };
  134. return res;
  135. }
  136. /// <summary>
  137. /// 返回成功
  138. /// </summary>
  139. /// <param name="msg">返回的消息</param>
  140. /// <param name="data">返回的数据</param>
  141. /// <returns></returns>
  142. protected AjaxResult<T> Success<T>(T data, string msg = "请求成功!")
  143. {
  144. AjaxResult<T> res = new AjaxResult<T>
  145. {
  146. code = 200,
  147. msg = msg,
  148. data = data
  149. };
  150. return res;
  151. }
  152. /// <summary>
  153. /// 返回错误
  154. /// </summary>
  155. /// <param name="msg">错误提示</param>
  156. /// <returns></returns>
  157. protected AjaxResult Error(string msg)
  158. {
  159. AjaxResult res = new AjaxResult
  160. {
  161. code = 0,
  162. msg = msg,
  163. data = null
  164. };
  165. return res;
  166. }
  167. /// <summary>
  168. /// 返回错误
  169. /// </summary>
  170. /// <param name="msg">错误提示</param>
  171. /// <returns></returns>
  172. protected AjaxResult<T> Error<T>(string msg)
  173. {
  174. AjaxResult<T> res = new AjaxResult<T>
  175. {
  176. code = 0,
  177. msg = msg,
  178. data = default
  179. };
  180. return res;
  181. }
  182. }
  183. }