using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Options; using Ropin.Inspection.Api.Common; using Ropin.Inspection.Api.Common.Options; using Ropin.Inspection.Api.Wx; using Ropin.Inspection.Common.Helper; using System; using System.Collections.Generic; using System.Linq; using System.Net.Http; using System.Threading.Tasks; namespace Ropin.Inspection.Api.Controllers { public class WxController : BaseController { private readonly IOptionsMonitor _options; private readonly IHttpClientFactory _httpClientFactory; public WxController(IOptionsMonitor options, IHttpClientFactory httpClientFactory) { _options = options; _httpClientFactory = httpClientFactory; } // GET: api/ [HttpGet] public ActionResult Get(SignatureModel signatureModel) { signatureModel.Token = _options.Get("WXOptions").Token; string rtnStr; if (SignatureHelper.Check(signatureModel)) { rtnStr = signatureModel.Echostr; } else { rtnStr = signatureModel.Signature + signatureModel.Timestamp + signatureModel.Nonce + signatureModel.Echostr; } return Content(rtnStr); } /// /// 获取ai公众号的openID /// /// [HttpGet("GetOpenId")] [AllowAnonymous] public async Task GetOpenId(string jsCode) { var openid = await (new WeChatHelper(_httpClientFactory)).GetOpenIdByCodeAsync(jsCode); return new ApiResult(openid, ReturnCode.Success); } } }