WXTokenController.cs 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Threading.Tasks;
  5. using Microsoft.AspNetCore.Mvc;
  6. using Microsoft.Extensions.Options;
  7. using Senparc.Weixin.Entities;
  8. using Senparc.Weixin.MP;
  9. using Microsoft.Extensions.Logging;
  10. // For more information on enabling Web API for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860
  11. namespace Winsoft.GOV.XF.WebApi.WXCore.Controllers
  12. {
  13. [Route("api/[controller]")]
  14. public class WXTokenController : BaseController
  15. {
  16. public WXTokenController(IOptions<SenparcWeixinSetting> senparcWeixinSetting, ILoggerFactory loggerFactory) : base(senparcWeixinSetting, loggerFactory)
  17. {
  18. }
  19. // GET: api/values
  20. [HttpGet]
  21. public ActionResult Get(string signature, string timestamp, string nonce, string echostr)
  22. {
  23. if (CheckSignature.Check(signature, timestamp, nonce, _senparcWeixinSetting.Token))
  24. {
  25. return Content(echostr); //返回随机字符串则表示验证通过
  26. }
  27. else
  28. {
  29. return Content("failed:" + signature + "," + CheckSignature.GetSignature(timestamp, nonce, _senparcWeixinSetting.Token) + "。如果您在浏览器中看到这条信息,表明此Url可以填入微信后台。" + _senparcWeixinSetting.Token);
  30. }
  31. }
  32. // GET api/values/5
  33. [HttpGet("{id}")]
  34. public string Get(int id)
  35. {
  36. return "value";
  37. }
  38. // POST api/values
  39. [HttpPost]
  40. public void Post([FromBody]string value)
  41. {
  42. }
  43. // PUT api/values/5
  44. [HttpPut("{id}")]
  45. public void Put(int id, [FromBody]string value)
  46. {
  47. }
  48. // DELETE api/values/5
  49. [HttpDelete("{id}")]
  50. public void Delete(int id)
  51. {
  52. }
  53. }
  54. }