/// <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); }
/// <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); }); }
/// <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); }
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); }
///// <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); }
/// <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])); }
//#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; })); }