int adnum = 0; //广告的数量 #endregion #region 广告及状态处理方法 /// <summary> /// 取得广告列表 /// </summary> /// <param name="url"></param> /// <returns></returns> public List <AdStruct> getAdList(string url, Dictionary <string, string> dic) { HttpBLL httpbll = new HttpBLL(); List <AdStruct> list = new List <AdStruct>(); string str = httpbll.GetResponseString(httpbll.CreatePostHttpResponse(url, dic)); if (str != null) { JObject jo = JsonConvert.DeserializeObject <JObject>(str); if (jo["code"].ToString() == "200") { var ja = jo["ad"]; foreach (var a in ja) { AdStruct adstruct = new AdStruct(); adstruct.adStopTime = int.Parse(a["adStopTime"].ToString()); adstruct.url = a["adUrl"].ToString(); list.Add(adstruct); } return(list); } else { return(list); } } else { return(list); } }
/// <summary> /// 广告刷新方法 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void adtimer_Tick(object sender, EventArgs e) { if (adList.Count > 0) { if (adnum >= adList.Count) { adnum = 0; AdStruct adstruct = new AdStruct(); adstruct = adList[adnum]; adwin.Source = new BitmapImage(new Uri(adstruct.url)); adtimer.Interval = TimeSpan.FromSeconds(adstruct.adStopTime); adnum++; } else { AdStruct adstruct = new AdStruct(); adstruct = adList[adnum]; adwin.Source = new BitmapImage(new Uri(adstruct.url)); adtimer.Interval = TimeSpan.FromSeconds(adstruct.adStopTime); adnum++; } } else { Dictionary <string, string> dic = new Dictionary <string, string>(); dic.Add("code", ConfigurationManager.AppSettings["machineCode"]); dic.Add("universityCode", ConfigurationManager.AppSettings["universityCode"]); adList = getAdList(ConfigurationManager.AppSettings["ad_list"], dic); if (adList == null) { adwin.Source = new BitmapImage(new Uri("/Resources/picture/adBg.png", UriKind.Relative)); } adtimer.Interval = TimeSpan.FromSeconds(3); } }