Example #1
0
        /// <summary>
        /// 读取本地单个图文资源本地配置
        /// </summary>
        /// <param name="lcId"></param>
        /// <returns></returns>
        public List <object> LoadResources2News(object objlcId, string targetType = "")
        {
            var pResult = new List <object>();

            this.ExecuteTryCatch(() =>
            {
                if (!(objlcId is Int32))
                {
                    return;
                }
                var lcId = Convert.ToInt32(objlcId);

                targetType = targetType == "" ? m_strTargetType : targetType;

                //获取配置,并匹配实体集合
                List <WXArticleResultJson> pList = base.LoadResourcesX <WXArticleResultJson>(targetType);
                if (pList == null || pList.Count == 0)
                {
                    EGExceptionOperator.ThrowX <Exception>("没有编号对应图文消息", EGActionCode.缺少目标数据);
                }
                WXArticleResultJson pEn = pList.Single(p => p.lcId == lcId);
                if (pEn == null || pEn.ListNews == null || pEn.ListNews.Count == 0)
                {
                    EGExceptionOperator.ThrowX <Exception>("没有编号对应图文消息", EGActionCode.缺少目标数据);
                }
                if (this.ArticleConvertFunc == null)
                {
                    EGExceptionOperator.ThrowX <Exception>("请设置图文消息转换方法", EGActionCode.未知错误);
                }
                //var pSelectFunc = m_sdk.GetNewsConvertFunc(targetType);
                pResult = pEn.ListNews.Select(this.ArticleConvertFunc).ToList <object>();
            });
            return(pResult);
        }
Example #2
0
        /// <summary>
        /// 传图文资源到微信服务器,并写入本地服务器配置文件
        /// </summary>
        /// <param name="ListNews"></param>
        public void UpdateResources(int?lcid, string lcname, string lcclassify, string ListNews, bool byLink)
        {
            this.ExecuteTryCatch(() =>
            {
                if (string.IsNullOrEmpty(ListNews))
                {
                    EGExceptionOperator.ThrowX <Exception>("请输入文章内容", EGActionCode.缺少必要参数);
                }

                WXArticleResultJson pResult = new WXArticleResultJson();
                pResult.lcId       = lcid;
                pResult.lcName     = lcname;
                pResult.lcClassify = lcclassify;
                pResult.byLink     = byLink;

                //将前端生成json串转为段落实体集合:save用于保存本地数据库,段落增加Rpath字段,用于显示图片;out用于上传数据库
                List <NewsModelX> pListNewsSave = CommonFunction.FromJsonTo <List <NewsModelX> >(ListNews);
                List <NewsModel> pListNewsOut   = CommonFunction.FromJsonTo <List <NewsModel> >(ListNews);
                //转换图文内容的HTML标签
                ConvertHTMLP(ref pListNewsSave);
                ConvertHTMLP(ref pListNewsOut);
                //段落实体集合受限赋值到ResultJson
                pResult.ListNews = pListNewsSave;
                //再将段落实体集合转换为数组
                NewsModel[] pArray = pListNewsOut.ToArray();
                //更新资源(上传至微信端,并写入本地配置)
                base.UpdateResources <WXArticleResultJson>(pResult, m_strTargetType, pArray);
            });
        }
Example #3
0
        /// <summary>
        /// 读取本地单个图文资源本地配置
        /// </summary>
        /// <param name="pHost"></param>
        /// <param name="media_id"></param>
        /// <returns></returns>
        public List <Article> LoadResources2LocalArticles(string pHost, int lcId)
        {
            List <Article> pResult = new List <Article>();

            this.ExecuteTryCatch(() =>
            {
                //获取配置,并匹配实体集合
                List <WXArticleResultJson> pList = base.LoadResourcesX <WXArticleResultJson>("news");
                WXArticleResultJson pEn          = pList.Single(p => p.lcId == lcId);
                if (pEn == null || pEn.ListNews == null || pEn.ListNews.Count == 0)
                {
                    EGExceptionOperator.ThrowX <Exception>("没有编号对应图文消息", EGActionCode.缺少目标数据);
                }

                Article pArticle;
                int idx = 0;
                foreach (NewsModelX pNewsModel in pEn.ListNews)
                {
                    pArticle = new Article()
                    {
                        Description = pNewsModel.digest,
                        Title       = pNewsModel.title,
                        PicUrl      = string.Format("http://{0}{1}", pHost, pNewsModel.RPath),
                        Url         = string.Format("http://{0}/WXArticle/Index?mid={1}&idx={2}", pHost, pEn.media_id, idx)
                    };
                    pResult.Add(pArticle);
                    idx += 1;
                }
            });
            return(pResult);
        }
Example #4
0
        private WXArticleResultJson CreateTestA()
        {
            var pArticle2 = new WXArticleResultJson();

            pArticle2.SendTime = DateTime.Now;
            pArticle2.byLink   = false;
            pArticle2.lcId     = 1;
            pArticle2.lcName   = "测试通告";
            pArticle2.ListNews = new List <NewsModelX>();
            var nb1 = new NewsModelX();

            nb1.RPath   = "images/qrcode.png";
            nb1.author  = "Mark";
            nb1.content = "<div>正文</div>";
            nb1.digest  = "简介";
            nb1.title   = "标题TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT";
            pArticle2.ListNews.Add(nb1);
            var nb2 = new NewsModelX();

            nb2.author  = "Mark";
            nb2.content = "<div>正文</div>";
            nb2.digest  = "简介";
            nb2.title   = "标题TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT";
            pArticle2.ListNews.Add(nb2);
            var nb3 = new NewsModelX();

            nb3.RPath   = "images/qrcode.png";
            nb3.author  = "Mark";
            nb3.content = "<div>正文</div>";
            nb3.digest  = "简介";
            nb3.title   = "标题标题标题标题标题";
            pArticle2.ListNews.Add(nb3);

            return(pArticle2);
        }
Example #5
0
        ///// <summary>
        ///// 读取单个图文资源本地配置
        ///// </summary>
        ///// <param name="media_id"></param>
        ///// <returns></returns>
        //public WXArticleResultJson LoadResourcesSingle(string media_id)
        //{
        //    WXArticleResultJson pResult = null;
        //    this.ExecuteTryCatch(() =>
        //    {
        //        //获取配置,并匹配实体集合
        //        List<WXArticleResultJson> pList = base.LoadResourcesX<WXArticleResultJson>(m_strTargetType);
        //        pResult = pList.Single(p => p.media_id == media_id);
        //    });
        //    return pResult;
        //}
        /// <summary>
        /// 读取单个图文资源本地配置
        /// </summary>
        /// <param name="media_id"></param>
        /// <returns></returns>
        public WXArticleResultJson LoadResourcesSingleBylcID(int lcid)
        {
            WXArticleResultJson pResult = null;

            this.ExecuteTryCatch(() =>
            {
                //获取配置,并匹配实体集合
                List <WXArticleResultJson> pList = base.LoadResourcesX <WXArticleResultJson>(m_strTargetType);
                pResult = pList.Single(p => p.lcId == lcid);
            });
            return(pResult);
        }
Example #6
0
        /// <summary>
        /// action view
        /// </summary>
        /// <param name="mid"></param>
        /// <param name="idx"></param>
        /// <returns></returns>
        public ActionResult LoadModel(int lcid, int idx)
        {
            WeChatArticleService pService = new WeChatArticleService("QY", "mpnews");
            WXArticleResultJson  pArticle = pService.LoadResourcesSingleBylcID(lcid);
            var pResult = pService.GetActionResult();

            if (pResult != null || pArticle == null || pArticle.ListNews == null || pArticle.ListNews.Count <= idx)
            {
                return(Content("没有找到对应图文段落!"));
            }

            return(Json(pArticle.ListNews[idx]));
        }
Example #7
0
        //#if Publishes
        //        [WXOAuth]
        //#endif
        public HttpResponseMessage GetInformPub()
        {
            return(this.ExecuteTryCatch(() =>
            {
                var pArticles = new List <WXArticleResultJson>();
                var pArticle = new WXArticleResultJson();
                pArticle.SendTime = DateTime.Now;
                pArticle.byLink = false;
                pArticle.lcId = 1;
                pArticle.lcName = "测试通告";
                pArticle.ListNews = new List <NewsModelX>();
                var n1 = new NewsModelX();
                n1.author = "Mark";
                n1.content = "<div>正文</div>";
                n1.digest = "简介";
                n1.title = "标题";
                pArticle.ListNews.Add(n1);

                for (int i = 1; i <= 10; i++)
                {
                    var pArticle2 = new WXArticleResultJson();
                    pArticle2.SendTime = DateTime.Now;
                    pArticle2.byLink = false;
                    pArticle2.lcId = 1;
                    pArticle2.lcName = "测试通告";
                    pArticle2.ListNews = new List <NewsModelX>();
                    var nb1 = new NewsModelX();
                    nb1.RPath = "images/qrcode.png";
                    nb1.author = "Mark";
                    nb1.content = "<div>正文</div>";
                    nb1.digest = "简介";
                    nb1.title = "标题TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT";
                    pArticle2.ListNews.Add(nb1);
                    var nb2 = new NewsModelX();
                    nb2.author = "Mark";
                    nb2.content = "<div>正文</div>";
                    nb2.digest = "简介";
                    nb2.title = "标题TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT";
                    pArticle2.ListNews.Add(nb2);
                    var nb3 = new NewsModelX();
                    nb3.RPath = "images/qrcode.png";
                    nb3.author = "Mark";
                    nb3.content = "<div>正文</div>";
                    nb3.digest = "简介";
                    nb3.title = "标题标题标题标题标题";
                    pArticle2.ListNews.Add(nb3);

                    pArticles.Add(pArticle2);

                    //var pArticle3 = new WXArticleResultJson();
                    //pArticle3.SendTime = DateTime.Now;
                    //pArticle3.byLink = false;
                    //pArticle3.lcId = 1;
                    //pArticle3.lcName = "测试通告";
                    //pArticle3.ListNews = new List<NewsModelX>();
                    //var nc1 = new NewsModelX();
                    //nc1.author = "Mark";
                    //nc1.content = "<div>正文</div>";
                    //nc1.digest = "简介";
                    //nc1.title = "标题";
                    //pArticle3.ListNews.Add(nc1);
                }
                //System.Threading.Thread.Sleep(5000);
                //pArticles.Add(pArticle);
                //pArticles.Add(pArticle2);
                //pArticles.Add(pArticle3);
                return pArticles;
            }));
        }