WeChatController.cs 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. using HiTeachCE.Models;
  2. using HiTeachCE.Services;
  3. using Microsoft.AspNetCore.Authorization;
  4. using Microsoft.AspNetCore.Mvc;
  5. using System;
  6. using System.Collections.Generic;
  7. using System.Linq;
  8. using System.Threading.Tasks;
  9. using TEAMModelOS.SDK.Extension.DataResult.JsonRpcRequest;
  10. using TEAMModelOS.SDK.Extension.DataResult.JsonRpcResponse;
  11. using TEAMModelOS.SDK.Extension.JwtAuth.Models;
  12. namespace HiTeachCE.Controllers
  13. {
  14. [Route("api/[controller]")]
  15. [ApiController]
  16. public class WeChatController :BaseController
  17. {
  18. public WeChatService weChatService;
  19. public WeChatController(WeChatService weChat) {
  20. weChatService = weChat;
  21. }
  22. /// <summary>
  23. /// 验证微信登录
  24. /// </summary>
  25. /// <param name="request"></param>
  26. /// <returns></returns>
  27. [HttpPost("VerifyWeChat")]
  28. [AllowAnonymous]
  29. public async Task<BaseJosnRPCResponse> VerifyWeChat(JosnRPCRequest<Dictionary<string, object>> request)
  30. {
  31. JsonRPCResponseBuilder responseBuilder = JsonRPCResponseBuilder.custom();
  32. object obj = await weChatService.VerifyWeChat(request.@params);
  33. return responseBuilder.Data(obj).build();
  34. }
  35. /// <summary>
  36. /// 获取微信登录配置
  37. /// </summary>
  38. /// <param name="request"></param>
  39. /// <returns></returns>
  40. [HttpPost("GetWechatConfig")]
  41. [AllowAnonymous]
  42. public BaseJosnRPCResponse GetWechatConfig(JosnRPCRequest<string> request)
  43. {
  44. JsonRPCResponseBuilder responseBuilder = JsonRPCResponseBuilder.custom();
  45. Dictionary<string, object> obj = weChatService.GetWechatConfig(request.@params);
  46. return responseBuilder.Data(obj).build();
  47. }
  48. /// <summary>
  49. /// 验证小程序登录,获取信息
  50. /// js_code :" "
  51. /// </summary>
  52. /// <param name="request"></param>
  53. /// <returns></returns>
  54. [HttpPost("VerifyMiniAPP")]
  55. [AllowAnonymous]
  56. public async Task<BaseJosnRPCResponse> VerifyMiniAPP(JosnRPCRequest<Dictionary<string, object>> request)
  57. {
  58. JsonRPCResponseBuilder responseBuilder = JsonRPCResponseBuilder.custom();
  59. MiniAPPLoginInfo obj = await weChatService.VerifyMiniAPP(request.@params);
  60. return responseBuilder.Data(obj).build();
  61. }
  62. /// <summary>
  63. /// 获取小程序AccessToken
  64. /// </summary>
  65. /// <param name="request"></param>
  66. /// <returns></returns>
  67. [HttpPost("GetMiniAPPAccessToken")]
  68. [AllowAnonymous]
  69. public async Task<BaseJosnRPCResponse> GetMiniAPPAccessToken()
  70. {
  71. JsonRPCResponseBuilder responseBuilder = JsonRPCResponseBuilder.custom();
  72. MiniAPPToken obj = await weChatService.GetMiniAPPAccessToken();
  73. return responseBuilder.Data(obj).build();
  74. }
  75. /// <summary>
  76. /// 小程序后端登录
  77. /// code
  78. /// encryptedData
  79. /// iv
  80. /// signature
  81. /// </summary>
  82. /// <param name="request"></param>
  83. /// <returns></returns>
  84. [HttpPost("MiniAPPLogin")]
  85. [AllowAnonymous]
  86. public async Task<BaseJosnRPCResponse> MiniAPPLogin(JosnRPCRequest<Dictionary<string, object>> request)
  87. {
  88. JsonRPCResponseBuilder responseBuilder = JsonRPCResponseBuilder.custom();
  89. JwtResponse obj = await weChatService.MiniAPPLogin(request.@params);
  90. return responseBuilder.Data(obj).build();
  91. }
  92. }
  93. }