public ActionResult Post(string signature, string timestamp, string nonce, string echostr) { try { var appid = ""; var appsecret = ""; if (CheckSignature(out appid, out appsecret)) { WeixinMessage message = null; string msgBody = ""; Stream s = System.Web.HttpContext.Current.Request.InputStream; byte[] b = new byte[s.Length]; s.Read(b, 0, (int)s.Length); msgBody = Encoding.UTF8.GetString(b); if (string.IsNullOrWhiteSpace(msgBody)) { _log.AddLog(new Log() { Msg = "lkpost过来的数据包:空" + msgBody.Length + DateTime.Now.ToString(), CreateTime = DateTime.Now, Ret = 0 }); return(null); } _log.AddLog(new Log() { Msg = "msgBody:" + msgBody.Length, CreateTime = DateTime.Now, Ret = 0 }); message = AcceptMessageAPI.Parse(msgBody); WeiXinSdkTask _sdk = new WeiXinSdkTask(appid, appsecret); var response = _sdk.Execute(message);//处理接收到的信息 _log.AddLog(new Log() { Msg = "response:" + response, CreateTime = DateTime.Now, Ret = 0 }); return(new ContentResult { Content = response, ContentType = "text/xml", ContentEncoding = System.Text.UTF8Encoding.UTF8 }); } else { _log.AddLog(new Log() { Msg = "lk消息真实性效验,不通过", CreateTime = DateTime.Now, Ret = 0 }); } } catch (Exception ex) { _log.AddLog(new Log() { Msg = "lk出错:" + ex.Message + DateTime.Now.ToString(), CreateTime = DateTime.Now, Ret = 0 }); } return(Content("")); //返回空串表示有响应 }
//发布 public ActionResult CreateMenu() { var menuList = _task.GetList(); var menuModel = new MenuModel() { button = new List <object>() }; foreach (var itemP in menuList.Where(c => c.menuid <= 3)) { var childList = menuList.Where(c => c.menuid >= itemP.menuid * 10 && c.menuid < itemP.menuid * 10 + 10).ToList().OrderByDescending(c => c.menuid); if (childList.Count() > 0) { var menuChildModel = new MenuChildModel() { name = itemP.name, sub_button = new List <object>() }; foreach (var itemC in childList) { #region 代码 switch (itemC.type) { case "click": case "location_select": var clickModel = new clickModel() { type = itemC.type, key = itemC.key, name = itemC.name }; menuChildModel.sub_button.Add(clickModel); break; case "view": var viewModel = new viewModel() { type = itemC.type, url = itemC.url, name = itemC.name }; menuChildModel.sub_button.Add(viewModel); break; case "miniprogram": var miniprogramModel = new miniprogramModel() { type = itemC.type, url = itemC.url, appid = itemC.appid, pagepath = itemC.pagepath, name = itemC.name }; menuChildModel.sub_button.Add(miniprogramModel); break; case "scancode_waitmsg": case "scancode_push": case "pic_sysphoto": case "pic_photo_or_album": case "pic_weixin": var subbuttonModel = new subbuttonModel() { type = itemC.type, key = itemC.key, name = itemC.name, sub_button = new List <object>(), }; menuChildModel.sub_button.Add(subbuttonModel); break; case "media_id": case "view_limited": var mediaidModel = new mediaidModel() { type = itemC.type, media_id = itemC.media_id, name = itemC.name, }; menuChildModel.sub_button.Add(mediaidModel); break; } #endregion } menuModel.button.Add(menuChildModel); } else { #region 代码 switch (itemP.type) { case "click": case "location_select": var clickModel = new clickModel() { type = itemP.type, key = itemP.key, name = itemP.name }; menuModel.button.Add(clickModel); break; case "view": var viewModel = new viewModel() { type = itemP.type, url = itemP.url, name = itemP.name }; menuModel.button.Add(viewModel); break; case "miniprogram": var miniprogramModel = new miniprogramModel() { type = itemP.type, url = itemP.url, appid = itemP.appid, pagepath = itemP.pagepath, name = itemP.name }; menuModel.button.Add(miniprogramModel); break; case "scancode_waitmsg": case "scancode_push": case "pic_sysphoto": case "pic_photo_or_album": case "pic_weixin": var subbuttonModel = new subbuttonModel() { type = itemP.type, key = itemP.key, name = itemP.name, sub_button = new List <object>(), }; menuModel.button.Add(subbuttonModel); break; case "media_id": case "view_limited": var mediaidModel = new mediaidModel() { type = itemP.type, media_id = itemP.media_id, name = itemP.name, }; menuModel.button.Add(mediaidModel); break; } #endregion } } var sdk = new WeiXinSdkTask("", ""); var result = CustomMenuAPI.Create(sdk.AccountToken(), JsonConvert.SerializeObject(menuModel)); if (result) { return(Json(new RequestResultDto() { Msg = "发布成功", Ret = 0 })); } return(Json(new RequestResultDto() { Msg = "发布失败", Ret = -1 })); }
//发送小程序卡片信息 public ActionResult RepayMiniprogrampage() { WeiXinSdkTask _sdk = new WeiXinSdkTask("wxfab14afc3ef13c1f", "fde7036077249329aece2f217677f206"); return(Content(_sdk.RepayMiniprogrampage("o55WfjpukwCuWWo1T91uE0jN_Fhc", "点击快速进入,只需观看视频即可领奖", "wxc016b052eb75755d", "", "SnL6aGPFiEqfVD5F5o3mKhVgNkhgDvwnc_EbadS08M4"))); }