コード例 #1
0
 /// <summary>
 /// 媒体转图文
 /// </summary>
 /// <param name="media"></param>
 /// <returns></returns>
 public static WX_Media_News TransitionToNews(this WX_Media media)
 {
     if (media == null)
     {
         return(null);
     }
     if (!media.MediaType.Equals("news"))
     {
         return(null);
     }
     return(Trans(media.MediaContent));
 }
コード例 #2
0
        public ActionResult Sync()
        {
            var r           = false;
            var json        = JObject.Parse(new MediaService(WXAPP.AppId, WXAPP.AppSecret).Get("news"));
            int total_count = Convert.ToInt32(json["total_count"].ToString());
            int item_count  = Convert.ToInt32(json["total_count"].ToString());

            if (total_count > item_count)    //如果总数大于单次获取的量,那么循环调用
            {
            }
            else
            {
                WX_MediaManager manager = new WX_MediaManager();
                foreach (var i in json["item"].Children())
                {
                    var           jo   = i["content"]["news_item"][0];
                    WX_Media_News news = new WX_Media_News()
                    {
                        title              = jo["title"].ToString(),
                        thumb_media_id     = jo["thumb_media_id"].ToString(),
                        show_cover_pic     = Convert.ToInt32(jo["show_cover_pic"].ToString()),
                        author             = jo["author"].ToString(),
                        digest             = jo["digest"].ToString(),
                        content            = jo["content"].ToString(),
                        content_source_url = jo["content_source_url"].ToString(),
                        url = jo["url"].ToString(),
                    };

                    WX_Media media = new WX_Media()
                    {
                        AppId        = WXAPP.AppId,
                        MediaId      = i["media_id"].ToString(),
                        MediaName    = jo["title"].ToString(),
                        MediaType    = "news",
                        MediaContent = JsonConvert.SerializeObject(news).Replace("\\", "")
                    };
                    var info = manager.Where(m => m.AppId.Equals(media.AppId) && m.MediaId.Equals(media.MediaId)).FirstOrDefault();
                    if (info != null)
                    {
                        media.MyMediaId = info.MyMediaId;
                        r = manager.Update(media);
                    }
                    else
                    {
                        r = manager.Add(media);
                    }
                }
            }
            return(Json(r, JsonRequestBehavior.AllowGet));
        }
コード例 #3
0
        public ActionResult SyncImage()
        {
            string  json = new MediaService(WXAPP.AppId, WXAPP.AppSecret).Get("image");
            JObject jo   = JObject.Parse(json);

            if (jo["errcode"] != null)
            {
                return(Content("<script> alert('错误:" + jo["errmsg"].ToString() + "');</script>"));
            }
            int total_count = Convert.ToInt32(jo["total_count"]); // 该类型素材总数
            int item_count  = Convert.ToInt32(jo["item_count"]);  // 本次获取的素材数量

            if (total_count > item_count)                         //如果总数大于单次获取的量,那么循环调用
            {
            }
            else
            {
                WX_MediaManager manager = new WX_MediaManager();
                foreach (var i in jo["item"].Children())
                {
                    var media = new WX_Media()
                    {
                        AppId        = WXAPP.AppId,
                        MediaId      = i["media_id"].ToString(),
                        MediaName    = i["name"].ToString(),
                        MediaType    = "image",
                        MediaContent = i["url"].ToString(),
                        //UploadTime = DateTime_EX.GetDateTime(Convert.ToInt32(i["update_Time"].ToString()))
                    };
                    var info = manager.GetByMediaId(media.MediaId, media.AppId);
                    if (info != null)
                    {
                        media.MyMediaId = info.MyMediaId;
                        var r = manager.Update(media);
                    }
                    else
                    {
                        var r = manager.Add(media);
                    }
                }
            }
            return(Json(json, JsonRequestBehavior.AllowGet));
        }
コード例 #4
0
        public string SendImage(WX_Media media, int tag)
        {
            var data = new
            {
                filter = new
                {
                    is_to_all = false,
                    tag_id    = tag
                },
                image = new
                {
                    media_id = media.MediaId,
                },
                msgtype = "image",
            };
            string url      = string.Format(MESSAGE_SENDALL_URL, this.Get_Access_Token());
            string respJson = MyHttpUtility.SendPost(url, JsonConvert.SerializeObject(data));

            return(respJson);
        }
コード例 #5
0
        public string Send(WX_Media news)
        {
            var data = new
            {
                filter = new
                {
                    is_to_all = true,
                    //tag_id = 2
                },
                mpnews = new
                {
                    media_id = news.MediaId,
                },
                msgtype             = "mpnews",
                send_ignore_reprint = 0,
            };
            string url      = string.Format(MESSAGE_SENDALL_URL, this.Get_Access_Token());
            string respJson = MyHttpUtility.SendPost(url, JsonConvert.SerializeObject(data));

            return(respJson);
        }
コード例 #6
0
 public ActionResult AddMedia(WX_Media media)
 {
     return(Json("", JsonRequestBehavior.AllowGet));
 }