Example #1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (IsPostBack)
            {
                string           accessToken = Wx.accessToken;
                List <NewsModel> News        = new List <NewsModel>();
                int count;
                int.TryParse(Request.Form["lineCount"], out count);
                string Author   = "计算机应用技术2班20150301241梁阔雄";
                string AuthorID = Request.Form["AuthorID"];
                for (int i = 0; i < count; ++i)
                {
                    var file = Request.Files["Img" + i.ToString()];
                    if (file != null && !string.IsNullOrEmpty(file.FileName))
                    {
                        var r = Media2.UploadForeverMedia(Wx.accessToken, file);
                        News.Add(new NewsModel
                        {
                            title              = Request.Form["Title" + i.ToString()],
                            content            = Request.Form["Content" + i.ToString()],
                            content_source_url = Request.Form["Url" + i.ToString()],
                            author             = Author,
                            thumb_media_id     = r.media_id
                        });
                    }
                }

                if (News.Count > 0)
                {
                    var r1 = MediaApi.UploadNews(Wx.accessToken, News.ToArray());
                    var r2 = GroupMessageApi.SendGroupMessagePreview(Wx.accessToken, GroupMessageType.mpnews, r1.media_id, AuthorID);
                    ClientScript.RegisterStartupScript(GetType(), "1", "alert('成功发送消息');", true);
                }
            }
        }
Example #2
0
        public void PreviewMedia(Wx_App app, long mediaId, string wxNames)
        {
            var media = Get(mediaId);

            wxNames.Split(',').Each(wxName =>
            {
                GroupMessageApi.SendGroupMessagePreview(app.AppId, GetMessageType(media.Type), media.MediaId, null, wxName);
            });
        }
Example #3
0
        public void SendGroupMessagePreviewTest()
        {
            var videoMediaIdResult = GetVideoMediaIdResultTest();
            var groupSendResult    = GroupMessageApi.SendGroupMessagePreview(_appId, GroupMessageType.video, videoMediaIdResult.media_id, _testOpenId);

            Console.WriteLine("AppId:" + _appId);
            Console.WriteLine("OpenId:" + _testOpenId);
            Assert.IsNotNull(groupSendResult);
            Console.WriteLine(groupSendResult.ToJson());
        }
        public async Task <SendResult> PreviewMatial(PreviewModel model)
        {
            Senparc.Weixin.MP.GroupMessageType previewType = Senparc.Weixin.MP.GroupMessageType.mpnews;
            if (model.MessageType == MpMessageType.mpnews.ToString())
            {
                previewType = Senparc.Weixin.MP.GroupMessageType.mpnews;
            }
            if (model.MessageType == MpMessageType.mpmultinews.ToString())
            {
                previewType = Senparc.Weixin.MP.GroupMessageType.mpnews;
            }
            if (model.MessageType == MpMessageType.text.ToString())
            {
                previewType = Senparc.Weixin.MP.GroupMessageType.text;
            }
            if (model.MessageType == MpMessageType.video.ToString())
            {
                previewType = Senparc.Weixin.MP.GroupMessageType.video;
            }
            if (model.MessageType == MpMessageType.voice.ToString())
            {
                previewType = Senparc.Weixin.MP.GroupMessageType.video;
            }
            if (model.MessageType == MpMessageType.image.ToString())
            {
                previewType = Senparc.Weixin.MP.GroupMessageType.image;
            }

            var account = await _mpAccountAppService.Get(new Abp.Application.Services.Dto.EntityDto <int> {
                Id = model.MpID
            });

            var        access_token = Senparc.Weixin.MP.Containers.AccessTokenContainer.TryGetAccessToken(account.AppId, account.AppSecret);
            SendResult result       = null;

            try
            {
                result = GroupMessageApi.SendGroupMessagePreview(access_token, previewType, model.MediaID, model.OpenID, wxName: model.WxAccount);
            }
            catch
            {
                try
                {
                    access_token = Senparc.Weixin.MP.Containers.AccessTokenContainer.TryGetAccessToken(account.AppId, account.AppSecret, true);
                    result       = GroupMessageApi.SendGroupMessagePreview(access_token, previewType, model.MediaID, model.OpenID, wxName: model.WxAccount);
                }
                catch (Exception e)
                {
                    throw new UserFriendlyException(e.Message);
                }
            }
            return(result);
        }
        public void PreviewMpArticle(MpMediaArticlePreviewDto input)
        {
            var fans = _mpFanRepository.GetAll().Where(m => m.NickName == input.NickName && m.IsDeleted == false).ToList();

            if (fans != null && fans.Count > 0)
            {
                foreach (var fan in fans)
                {
                    var openId       = fan.OpenID;//粉丝OpenId;
                    var account      = _accountRepository.FirstOrDefault(m => m.Id == input.MpID);
                    var access_token = Senparc.Weixin.MP.Containers.AccessTokenContainer.TryGetAccessToken(account.AppId, account.AppSecret);
                    var result       = GroupMessageApi.SendGroupMessagePreview(access_token, Senparc.Weixin.MP.GroupMessageType.mpnews, input.MediaID, openId);
                    if (result.errcode != Senparc.Weixin.ReturnCode.请求成功)
                    {
                        result = GroupMessageApi.SendGroupMessagePreview(access_token, Senparc.Weixin.MP.GroupMessageType.mpnews, input.MediaID, openId);
                    }
                }
            }
        }