HttpRequestReader.cs 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. using Microsoft.AspNetCore.Http;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Text;
  5. namespace AI.Platform.Core.Util
  6. {
  7. public static class HttpRequestReader
  8. {
  9. private static IHttpContextAccessor? _httpContextAccessor;
  10. // 使用依赖注入配置静态属性
  11. public static void Configure(IHttpContextAccessor httpContextAccessor)
  12. {
  13. _httpContextAccessor = httpContextAccessor;
  14. }
  15. public static Guid GetCurrentBuId()
  16. {
  17. if (_httpContextAccessor == null || _httpContextAccessor.HttpContext == null)
  18. {
  19. return Guid.Empty;
  20. }
  21. var httpContext = _httpContextAccessor.HttpContext;
  22. var headerValue = httpContext.Request.Headers["CurrentBuId"].ToString();
  23. if (string.IsNullOrEmpty(headerValue))
  24. {
  25. headerValue = httpContext.Request.Headers["currentbuid"].ToString();
  26. }
  27. if (Guid.TryParse(headerValue, out Guid buId))
  28. {
  29. return buId;
  30. }
  31. return Guid.Empty;
  32. }
  33. /// <summary>
  34. /// 小程序用户id
  35. /// </summary>
  36. /// <returns></returns>
  37. public static string GetWachatID()
  38. {
  39. if (_httpContextAccessor == null || _httpContextAccessor.HttpContext == null)
  40. {
  41. return null;
  42. }
  43. var httpContext = _httpContextAccessor.HttpContext;
  44. var headerValue = httpContext.Request.Headers["WachatID"].ToString();
  45. return headerValue;
  46. }
  47. }
  48. }