Exemplo n.º 1
0
 /// <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);
     }
 }
Exemplo n.º 2
0
        /// <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);
            }
        }