SystemUserService.cs 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. using Microsoft.AspNetCore.Authorization;
  2. using Microsoft.AspNetCore.Mvc;
  3. using Microsoft.AspNetCore.Http;
  4. using EasyTemplate.Service.Common;
  5. using EasyTemplate.Tool.Entity;
  6. using Microsoft.AspNetCore.Components;
  7. using EasyTemplate.Tool;
  8. using static EasyTemplate.Tool.Entity.PublicEnum;
  9. namespace EasyTemplate.Service;
  10. [ApiGroup(ApiGroupNames.System)]
  11. public class SystemUserService : BaseService
  12. {
  13. /// <summary>
  14. ///
  15. /// </summary>
  16. private readonly SqlSugarRepository<SystemUser> _user;
  17. /// <summary>
  18. ///
  19. /// </summary>
  20. private readonly IHttpContextAccessor _contextAccessor;
  21. public SystemUserService(IHttpContextAccessor contextAccessor, SqlSugarRepository<SystemUser> user)
  22. {
  23. _contextAccessor = contextAccessor;
  24. _user = user;
  25. }
  26. /// <summary>
  27. /// 多语言、单一接口的多种请求方式
  28. /// </summary>
  29. /// <returns></returns>
  30. [HttpPost]
  31. [HttpPost("/api/v1/[Controller]/[Action]")]
  32. [HttpGet("/api/v2/[controller]/[action]")]
  33. [AllowAnonymous]
  34. public async Task<object> Test()
  35. {
  36. //前端寫入語言
  37. _contextAccessor.HttpContext.Request.Headers.ContentLanguage = "en-US";
  38. //接口處理語言
  39. var list = _user.AsQueryable().ToList();
  40. var aaa = _contextAccessor.HttpContext.Request.Headers.Authorization;
  41. return list;
  42. }
  43. /// <summary>
  44. /// 友好异常
  45. /// </summary>
  46. /// <returns></returns>
  47. public async Task<object> TestException()
  48. {
  49. _contextAccessor.HttpContext.Request.Headers.ContentLanguage = "en-US";
  50. throw Oops.Oh(ErrorCode.E1000);
  51. throw Oops.Oh("123123123123");
  52. }
  53. /// <summary>
  54. /// 黏土类型
  55. /// </summary>
  56. /// <param name="input"></param>
  57. /// <returns></returns>
  58. [HttpPost]
  59. public async Task<object> TestClay()
  60. {
  61. var obj = Clay.Object();
  62. obj.Id = 1;
  63. obj["Name"] = "test";
  64. obj.Data = new string[] { "test", "t" };
  65. return obj;
  66. }
  67. }