/// <summary> /// 发送图文信息 /// </summary> /// <param name="userid">用户id</param> /// <param name="key">菜单id</param> /// <param name="name">菜单名称</param> /// <param name="type">业务类型</param> /// <param name="count">查询数据数量</param> public void SendNewsMessage(string userid, string key, string name, string type, string count) { var hashTable = new Hashtable(); var accessToken = new AccessToken(); var sendDataToUser = new SendDataToWeChat(); var infoReleaseDal = new InfoReleaseDal(); var listnews = new List<object>(); try { //获取发布信息数据 var dataDt = infoReleaseDal.QueryInfo(new InfoRelease() { BusinessType = key, FlagRelease = type }, count); var listDt = from ldt in dataDt.AsEnumerable() select new { Id = ldt.Field<string>("Id"), Title = ldt.Field<string>("Title"), MessageDescription = ldt.Field<string>("MessageDescription") }; if (dataDt.Rows.Count > 1) { var name2 = HttpContext.Current.Server.UrlEncode(name); listnews.Add(new { title = name + "更多列表...", description = "", url = _ip1 + "/views/messagelist/messagelist.htm?key=" + key + "&name=" + name2 + "&flag=1", picurl = _ip1 + "/UploadImages/" + key + ".jpg" }); } foreach (var ldt in listDt) { if (dataDt.Rows.Count > 1) { listnews.Add(new { title = ldt.Title, description = ldt.MessageDescription, url = _ip1 + "/views/messagelist/messagedetail.htm?id=" + ldt.Id }); } else { listnews.Add(new { title = ldt.Title, description = ldt.MessageDescription, url = _ip1 + "/views/messagelist/messagedetail.htm?id=" + ldt.Id, picurl = _ip1 + "/UploadImages/" + key + ".jpg" }); } } hashTable["touser"] = userid; hashTable["msgtype"] = "news"; hashTable["news"] = new { articles = listnews }; var json = _jss.Serialize(hashTable); var token = accessToken.GetExistAccessToken(); var back = sendDataToUser.GetPage("https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=" + token, json); Log.Debug("调试信息:" + back); } catch (Exception ex) { Log.Debug("错误信息:" + ex.Message); } }
/// <summary> /// 发送图文信息 /// </summary> /// <param name="context"></param> public void SendNewsMessage(HttpContext context) { var hashTable = new Hashtable(); var key = context.Request.Params["key"]; var type = context.Request.Params["type"]; var count = context.Request.Params["count"]; var accessToken = new AccessToken(); var sendDataToUser = new SendDataToWeChat(); var userInfoDal = new UserInfoDal(); var infoReleaseDal = new InfoReleaseDal(); var listnews = new List<object>(); try { //获取发布信息数据 var dataDt = infoReleaseDal.QueryInfo(new InfoRelease() { BusinessType = key, FlagRelease = type }, "2");//todo:替换count var listDt = from ldt in dataDt.AsEnumerable() select new { Title = ldt.Field<string>("Title"), MessageDescription = ldt.Field<string>("MessageDescription") }; foreach (var ldt in listDt) { listnews.Add(new { title = ldt.Title, description = ldt.MessageDescription, url = "http://218.22.27.236/views/messagelist/messagelist.htm?key=" + key + "&name=停电信息列表", picurl = "http://218.22.27.236/tl/UploadImages/topleft.jpg" }); } //获取用户数据 var data = userInfoDal.QueryAll(); var list = from da in data.AsEnumerable() select new { openid = da.Field<string>("openid"), }; foreach (var li in list) { hashTable["touser"] = li.openid; hashTable["msgtype"] = "news"; hashTable["news"] = new { articles = listnews }; var json = _jss.Serialize(hashTable); var token = accessToken.GetExistAccessToken(); var back = sendDataToUser.GetPage("https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=" + token, json); Log.Debug("调试信息:" + back); } } catch (Exception ex) { Log.Debug("错误信息:" + ex.Message); } }