public ActionResult GetIndex(string signature, string timestamp, string nonce, string echostr) { WeixinCore wc = WeixinAdaptor.CreateWeixinCore(); if (wc.Check(signature, timestamp, nonce, wc.Token)) { return(Content(echostr));//返回随机字符串则表示验证通过 } else { return(Content("")); } }
public ActionResult PostIndex(string signature, string timestamp, string nonce, string echostr) { WeixinCore wc = WeixinAdaptor.CreateWeixinCore(); if (!wc.Check(signature, timestamp, nonce, WeixinAdaptor.Token)) { return(Content("参数错误!")); } if (Request.InputStream != null) { XDocument doc = XDocument.Load(Request.InputStream); WeixinMessageBaseInfo baseinfo = WeixinMessageBaseInfo.Create(doc); if (baseinfo != null && baseinfo.IsEvent) { var context = WeixinAdaptor.GetWxMessage(baseinfo.ToUserName, baseinfo.FromUserName, ""); baseinfo.EventKey = doc.Element("xml").Element("EventKey").Value; switch (baseinfo.EventType) { case EventType.subscribe: return(Content(context)); case EventType.click: if (baseinfo.EventKey == "home") { return(Content(context)); } else { ReplyWeixinNewsMessage rnm = new ReplyWeixinNewsMessage(); rnm.FromUserName = baseinfo.ToUserName; rnm.ToUserName = baseinfo.FromUserName; rnm.CreateTime = WeixinCoreExtension.GetTimeStamp(DateTime.Now); ArticleItem item = new ArticleItem(); item.Title = "支付测试"; item.Description = "支付测试"; item.PicUrl = "http://test.nkwang.cn/Product/Images/n1/test/9b839728-d085-468e-acb8-88eb9eb008b8.jpg"; item.Url = "http://test.nkwang.cn/WeixinPay/Index?orderId=100000000000000"; rnm.Articles.Add(item); return(Content(rnm.GetReplyMessage())); } //var context = WeixinAdaptor.GetWxMessage(baseinfo.ToUserName,baseinfo.FromUserName,""); //return Content(context); } } else if (baseinfo != null && !baseinfo.IsEvent) { switch (baseinfo.MsgType) { case MsgType.text: var tm = (AcceptWeixinTextMessage)baseinfo.CreateAcceptMessage(); if (string.IsNullOrEmpty(tm.Content)) { return(Content("")); } var context = WeixinAdaptor.GetWxMessage(tm.FromUserName, tm.ToUserName, tm.Content); return(Content(context)); case MsgType.voice: return(Content("")); } } } return(Content("")); }