UserController.cs 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Threading.Tasks;
  5. using Microsoft.AspNetCore.Http;
  6. using Microsoft.AspNetCore.Mvc;
  7. using YiSha.Business.OrganizationManage;
  8. using YiSha.Entity.OrganizationManage;
  9. using YiSha.Enum;
  10. using YiSha.IBusiness.OrganizationManage;
  11. using YiSha.Model.Result.SystemManage;
  12. using YiSha.Util;
  13. using YiSha.Util.Model;
  14. using YiSha.Web.Code;
  15. namespace YiSha.Admin.WebApi.Controllers
  16. {
  17. [Route("[controller]/[action]")]
  18. [ApiController]
  19. [AuthorizeFilter]
  20. public class UserController : ControllerBase
  21. {
  22. private IUserBLL _userBLL;
  23. public UserController(IUserBLL userBLL)
  24. {
  25. _userBLL = userBLL;
  26. }
  27. #region 获取数据
  28. #endregion
  29. #region 提交数据
  30. /// <summary>
  31. /// 用户登录
  32. /// </summary>
  33. /// <param name="userName"></param>
  34. /// <param name="password"></param>
  35. /// <returns></returns>
  36. [HttpPost]
  37. public async Task<TData<OperatorInfo>> Login([FromQuery] string userName, [FromQuery] string password)
  38. {
  39. TData<OperatorInfo> obj = new TData<OperatorInfo>();
  40. TData<UserEntity> userObj = await _userBLL.CheckLoginPartial(userName, password, (int)PlatformEnum.WebApi);
  41. if (userObj.Tag == 1)
  42. {
  43. await _userBLL.UpdateUserPartial(userObj.Data);
  44. await Operator.Instance.AddCurrent(userObj.Data.ApiToken);
  45. obj.Data = await Operator.Instance.Current(userObj.Data.ApiToken);
  46. }
  47. obj.Tag = userObj.Tag;
  48. obj.Message = userObj.Message;
  49. return obj;
  50. }
  51. /// <summary>
  52. /// 用户退出登录
  53. /// </summary>
  54. /// <param name="token"></param>
  55. /// <returns></returns>
  56. [HttpPost]
  57. public TData LoginOff([FromQuery] string token)
  58. {
  59. var obj = new TData();
  60. Operator.Instance.RemoveCurrent(token);
  61. obj.Message = "登出成功";
  62. return obj;
  63. }
  64. #endregion
  65. }
  66. }