HomeController.cs 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Threading.Tasks;
  5. using Microsoft.AspNetCore.Mvc;
  6. using Winsoft.GOV.XF.WebApi.WXCore.Filters;
  7. using Senparc.Weixin.MP.CoreMvcExtension;
  8. using Microsoft.AspNetCore.Http;
  9. using Microsoft.Extensions.Logging;
  10. using Senparc.Weixin.Entities;
  11. using Microsoft.Extensions.Options;
  12. using Newtonsoft.Json;
  13. using Winsoft.GOV.XF.WebApi.WXCore.Models;
  14. using Winsoft.GOV.XF.WebApi.WXCore.Services;
  15. // For more information on enabling MVC for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860
  16. namespace Winsoft.GOV.XF.WebApi.WXCore.Controllers
  17. {
  18. public class HomeController : BaseController
  19. {
  20. UsersService _usersService;
  21. public HomeController(IOptions<SenparcWeixinSetting> senparcWeixinSetting, ILoggerFactory loggerFactory, UsersService usersService) : base(senparcWeixinSetting, loggerFactory)
  22. {
  23. _usersService = usersService;
  24. }
  25. // GET: /<controller>/
  26. [WeixinInternalRequest("访问被拒绝,请通过微信客户端访问!", "nofilter")]
  27. [WXOAuth(appId: null, oauthCallbackUrl: "api/Auth")]
  28. public async Task<IActionResult> Index()
  29. {
  30. WXUser u = await _usersService.GetUser(HttpContext.Session.GetString("OpenId"));
  31. if (u != null)
  32. HttpContext.Response.Cookies.Append("User", JsonConvert.SerializeObject(u));
  33. HttpContext.Response.Cookies.Append("BaseUrl", HttpContext.Request.GetAbsoluteUri());
  34. return Redirect(HttpContext.Request.GetAbsoluteUri()+ "dist/web12345/index.html");
  35. }
  36. }
  37. }