using System;
using System.Text;
using System.Collections.Generic;
using System.Net;
using HttpCodeLib;
using System.Text.RegularExpressions;
using CB.Common;
using CB.Common.HttpHelper;
using PostDataType = CB.Common.HttpHelper.PostDataType;
namespace CB.Framework
{
///
/// 页面基类
///
public class PageBase : System.Web.UI.Page
{
public PageBase()
{ }
///
/// 页面数据初始化
///
protected virtual void InitData()
{
}
///
/// 同步55125首页文章显示
///
///
///
///
/// 文章标题最大长度
///
protected virtual string GetSynArticle(int topSize, int pageSize, int cid, int maxLength)
{
var list = CB.Data.Synchronize.Article.GetArticleList(topSize, pageSize, cid);
if (null == list || 0 >= list.Count)
return "";
var sp = new StringBuilder(400 * list.Count);
foreach (var item in list)
{
sp.AppendFormat("
{1} {2} ",
item.Url, CB.Common.Utils.GetSubString(item.Title, maxLength, ""), item.Time.ToString("MM-dd"));
}
return sp.ToString();
}
protected virtual string GetSynArticle(int topSize, int pageSize, int cid, int maxLength, bool wap, bool showDate = false)
{
var list = CB.Data.Synchronize.Article.GetArticleList(topSize, pageSize, cid, wap);
if (null == list || 0 >= list.Count)
return "";
var sp = new StringBuilder(400 * list.Count);
var fortstr = "{1} ";
if (showDate)
fortstr = "{1} {2} ";
foreach (var item in list)
{
var lst = new List() { item.Url, CB.Common.Utils.GetSubString(item.Title, maxLength, "") };
if (showDate)
lst.Add(item.Time.ToString("MM-dd"));
sp.AppendFormat(fortstr, lst.ToArray());
}
return sp.ToString();
}
private static HttpHelper helper = new HttpHelper();
///
/// 调用平台新接口获取资讯数据
///
///
///
///
///
///
protected virtual string GetSynArticle(int topSize, int pageSize, string categoryId, int maxLength, bool showDate = true)
{
StringBuilder builder = new StringBuilder();
try
{
var obj = new
{
CategoryId = categoryId,
PageSize = pageSize,
PageIndex = topSize
};
string json = obj.TO_Josin();
if (!string.IsNullOrEmpty(json))
{
HttpItem item = new HttpItem
{
Url = "http://m.api.55128.cn/api/v1/ZxNews/GetNewsList",
Method = "POST",
PostDataType = PostDataType.String,
Postdata = json,
Accept = "application/json",
ContentType = "application/json"
};
HttpResult result = helper.GetHtml(item);
if (result.StatusCode == HttpStatusCode.OK)
{
string resJson = result.Html;
if (!string.IsNullOrEmpty(resJson))
{
Rootobject rootobject = resJson.TO_Object();
if (rootobject != null)
{
ItemData itemData = rootobject.Data;
//拿到实际咨询数据
List rows = itemData.Rows;
var fortstr = "{1} {2} ";
if (showDate)
fortstr = "{1} ";
foreach (var row in rows)
{
var lst = new List() { row.NewsId, CB.Common.Utils.GetSubString(row.Title, maxLength, "") };
if (showDate)
lst.Add(row.AddTime);
builder.AppendFormat(fortstr, lst.ToArray());
}
}
}
}
}
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
return builder.ToString();
}
protected virtual string GetSynArticle(int topSize, int pageSize, int cid)
{
var list = CB.Data.Synchronize.Article.GetArticleList(topSize, pageSize, cid);
if (null == list || 0 >= list.Count)
return "";
var sp = new StringBuilder(400 * list.Count);
int num = 0;
IList nums = new int[] { 3, 4, 7, 8 };
foreach (var item in list)
{
num++;
if (!nums.Contains(num))
{
if (num != list.Count)
{
sp.Append("" + item.Time.ToString("yyyy") + "年" + item.Title.Replace(item.Time.ToString("yyyy"), "") + " " + item.Time.ToString("MM-dd") + " ");
}
else
{
sp.Append("" + item.Time.ToString("yyyy") + "年" + item.Title.Replace(item.Time.ToString("yyyy"), "") + " " + item.Time.ToString("MM-dd") + " ");
}
}
else
{
sp.Append("" + item.Time.ToString("yyyy") + "年" + item.Title.Replace(item.Time.ToString("yyyy"), "") + " " + item.Time.ToString("MM-dd") + " ");
}
}
return sp.ToString();
}
///
///
///
///
///
private string GetUrl(string Url, string Title)
{
//http://www.55125.cn/kaijiang/3d/20171009_2257272.htm
//http://zx.55128.cn/kaijiang/ssq/2017117.htm
//2017年双色球第117期开奖结果
string temp = string.Empty;
if (!string.IsNullOrEmpty(Url))
{
Url = Url.Replace("http://", "").Replace(".htm", "");
// www.55125.cn/kaijiang/3d/20171009_2257272
string[] array = Url.Split("//".ToCharArray());
//
string typeCode = array[2];
string qishu = RemoveNotNumber(Title);
string shu = qishu.Substring(qishu.Length - 3, 3);
string res = array[3].Substring(0, 4) + shu;
temp = "http://zx.55128.cn/kaijiang/" + typeCode + "/" + res + ".htm";
}
return temp;
}
public static string RemoveNotNumber(string Title)
{
return Regex.Replace(Title, @"[^\d]", "");
}
protected virtual string GetSynArticle(int topSize, int pageSize, int cid, bool wap)
{
var list = CB.Data.Synchronize.Article.GetArticleList(topSize, pageSize, cid, wap);
if (null == list || 0 >= list.Count)
return "";
var sp = new StringBuilder(400 * list.Count);
int num = 0;
IList nums = new int[] { 3, 4, 7, 8 };
foreach (var item in list)
{
num++;
if (!nums.Contains(num))
{
if (num != list.Count)
{
sp.Append("" + item.Time.ToString("yyyy") + "年" + item.Title.Replace(item.Time.ToString("yyyy"), "") + " " + item.Time.ToString("MM-dd") + " ");
}
else
{
sp.Append("" + item.Time.ToString("yyyy") + "年" + item.Title.Replace(item.Time.ToString("yyyy"), "") + " " + item.Time.ToString("MM-dd") + " ");
}
}
else
{
sp.Append("" + item.Time.ToString("yyyy") + "年" + item.Title.Replace(item.Time.ToString("yyyy"), "") + " " + item.Time.ToString("MM-dd") + " ");
}
}
return sp.ToString();
}
///
/// TOP专题文章
///
///
///
///
///
///
///
protected virtual string GetColumnArticle(int topSize, int cid, int tagId, int maxLength, string fomartUrl)
{
var list = CB.Data.Caches.GetColumnArticleList(topSize, cid, tagId);
if (null == list || 0 >= list.Count)
return "";
var sp = new StringBuilder(400 * list.Count);
foreach (var item in list)
{
sp.AppendFormat("{1} {2} ",
string.Format(fomartUrl, item.Id, item.Addtime.ToString("yyyyMMdd")), CB.Common.Utils.GetSubString(item.Title, maxLength, ""), item.Addtime.ToString("MM-dd"));
}
return sp.ToString();
}
protected virtual string GetColumnArticle(int topSize, int cid, int tagId, int maxLength, string fomartUrl, string wap)
{
var list = CB.Data.Caches.GetColumnArticleList(topSize, cid, tagId);
if (null == list || 0 >= list.Count)
return "";
var sp = new StringBuilder(400 * list.Count);
foreach (var item in list)
{
sp.AppendFormat("{1} ",
string.Format(fomartUrl, item.Id), CB.Common.Utils.GetSubString(item.Title, maxLength, ""));
}
return sp.ToString();
}
#region 实体类
public class Rootobject
{
public int Status { get; set; }
public ItemData Data { get; set; }
public string Message { get; set; }
public object BackUrl { get; set; }
public object ExecutionTime { get; set; }
}
public class ItemData
{
public int TotalPage { get; set; }
public int PageIndex { get; set; }
public int TotalRow { get; set; }
public List Rows { get; set; }
}
public class Row
{
public string NewsId { get; set; }
public string AddTime { get; set; }
public string Title { get; set; }
}
#endregion
}
}