using HiTeachCE.Models;
using HiTeachCE.Services;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using TEAMModelOS.SDK.Extension.DataResult.JsonRpcRequest;
using TEAMModelOS.SDK.Extension.DataResult.JsonRpcResponse;
using TEAMModelOS.SDK.Extension.JwtAuth.Models;
namespace HiTeachCE.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class WeChatController :BaseController
{
public WeChatService weChatService;
public WeChatController(WeChatService weChat) {
weChatService = weChat;
}
///
/// 验证微信登录
///
///
///
[HttpPost("VerifyWeChat")]
[AllowAnonymous]
public async Task VerifyWeChat(JosnRPCRequest> request)
{
JsonRPCResponseBuilder responseBuilder = JsonRPCResponseBuilder.custom();
object obj = await weChatService.VerifyWeChat(request.@params);
return responseBuilder.Data(obj).build();
}
///
/// 获取微信登录配置
///
///
///
[HttpPost("GetWechatConfig")]
[AllowAnonymous]
public BaseJosnRPCResponse GetWechatConfig(JosnRPCRequest request)
{
JsonRPCResponseBuilder responseBuilder = JsonRPCResponseBuilder.custom();
Dictionary obj = weChatService.GetWechatConfig(request.@params);
return responseBuilder.Data(obj).build();
}
///
/// 验证小程序登录,获取信息
/// js_code :" "
///
///
///
[HttpPost("VerifyMiniAPP")]
[AllowAnonymous]
public async Task VerifyMiniAPP(JosnRPCRequest> request)
{
JsonRPCResponseBuilder responseBuilder = JsonRPCResponseBuilder.custom();
MiniAPPLoginInfo obj = await weChatService.VerifyMiniAPP(request.@params);
return responseBuilder.Data(obj).build();
}
///
/// 获取小程序AccessToken
///
///
///
[HttpPost("GetMiniAPPAccessToken")]
[AllowAnonymous]
public async Task GetMiniAPPAccessToken()
{
JsonRPCResponseBuilder responseBuilder = JsonRPCResponseBuilder.custom();
MiniAPPToken obj = await weChatService.GetMiniAPPAccessToken();
return responseBuilder.Data(obj).build();
}
///
/// 小程序后端登录
/// code
/// encryptedData
/// iv
/// signature
///
///
///
[HttpPost("MiniAPPLogin")]
[AllowAnonymous]
public async Task MiniAPPLogin(JosnRPCRequest> request)
{
JsonRPCResponseBuilder responseBuilder = JsonRPCResponseBuilder.custom();
JwtResponse obj = await weChatService.MiniAPPLogin(request.@params);
return responseBuilder.Data(obj).build();
}
}
}