public void ArticleTotalTest() { var accessToken = AccessTokenContainer.GetAccessToken(_appId); var result = AnalysisApi.GetArticleTotal(accessToken, beginData, endData); Assert.IsNotNull(result); Assert.AreEqual(result.errcode, ReturnCode.请求成功); }
public void GetUserCumulateTest() { var accessToken = AccessTokenContainer.GetAccessToken(_appId); var result = AnalysisApi.GetUserCumulate(accessToken, beginData, endData); Assert.IsNotNull(result); Assert.IsTrue(result.list[0].ref_date != null); }
public void GetUpStreamMsgDistMonthTest() { var accessToken = AccessTokenContainer.GetAccessToken(_appId); var result = AnalysisApi.GetUpStreamMsgDistMonth(accessToken, beginData, endData); Assert.IsNotNull(result); Assert.AreEqual(result.errcode, ReturnCode.请求成功); }
public void GetInterfaceSummaryHourTest() { var accessToken = AccessTokenContainer.GetAccessToken(_appId); var result = AnalysisApi.GetInterfaceSummaryHour(accessToken, beginData, endData); Assert.IsNotNull(result); Assert.AreEqual(result.errcode, ReturnCode.请求成功); }
/// <summary> /// 鹰眼轨迹服务接口 /// </summary> /// <param name="ak">用户的ak</param> /// <param name="serviceId">service的ID,service 的唯一标识</param> /// <param name="sk">sn签名的验证方式的 Security Key</param> public YingYanApi(string ak, string serviceId, string sk = null) { this.Ak = ak; ServiceId = serviceId; this.Sk = sk; _client = new HttpClient(); Entity = new EntityApi(this); Track = new TrackApi(this); Fence = new FenceApi(this); Analysis = new AnalysisApi(this); Export = new ExportApi(this); _client = new HttpClient { BaseAddress = new Uri(Url) }; _client.DefaultRequestHeaders.Accept.Clear(); _client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); }
public ActionResult Index(Analysis_IndexVD vd_Form) { IBaseAnalysisResult result1 = null; //if (ModelState.IsValid) //{ // var strongResult = new AnalysisResultJson<ArticleSummaryItem>(); // result1 = strongResult;//yin yong // (result1 as AnalysisResultJson<ArticleSummaryItem>).list.Add(new ArticleSummaryItem()); //} //if (result1 is AnalysisResultJson<ArticleSummaryItem>) //{ // var Strong = result1 as AnalysisResultJson<ArticleSummaryItem>; // // Strong.list.First().ori_page_read_count //} IBaseAnalysisResult result = null; var accessToken = AccessTokenContainer.TryGetAccessToken(vd_Form.AppId, vd_Form.AppSecret); switch (vd_Form.AnalysisType) { case AnalysisType.图文群发每日数据: //var strongResult = new AnalysisResultJson<ArticleSummaryItem>(); //result = strongResult; /* * 如果时间跨度不符合官方要求,会返回:微信Post请求发生错误!错误代码:61501,说明:date range error hint: [43R2TA0767e541] */ result = AnalysisApi.GetArticleSummary(accessToken, vd_Form.StartDate, vd_Form.EndDate); vd_Form.Result = (result as AnalysisResultJson <ArticleSummaryItem>).list; break; //case AnalysisType.图文群发总数据: // result = new AnalysisResultJson<ArticleTotalItem>(); // result = AnalysisApi.GetArticleTotal(accessToken, vd_Form.StartDate, vd_Form.EndDate); // break; //case 2: // result = result as UserReadResultJson; // result = AnalysisApi.GetUserRead(accessToken, vd_Form.StartDate, vd_Form.EndDate); // break; //case 3: // result = result as UserReadHourResultJson; // result = AnalysisApi.GetUserReadHour(accessToken, vd_Form.StartDate, vd_Form.EndDate); // break; //case 4: // result = result as UserShareResultJson; // result = AnalysisApi.GetUserShare(accessToken, vd_Form.StartDate, vd_Form.EndDate); // break; //case 5: // result = result as UserShareHourResultJson; // result = AnalysisApi.GetUserShareHour(accessToken, vd_Form.StartDate, vd_Form.EndDate); // break; //case 6: // result = result as UserSummaryResultJson; // result = AnalysisApi.GetInterfaceSummary(accessToken, vd_Form.StartDate, vd_Form.EndDate); // break; //case 7: // result = result as UserCumulateResultJson; // result = AnalysisApi.GetInterfaceSummaryHour(accessToken, vd_Form.StartDate, vd_Form.EndDate); // break; //case 8: // result = result as UpStreamMsgResultJson; // result = AnalysisApi.GetUpStreamMsg(accessToken, vd_Form.StartDate, vd_Form.EndDate); // break; //case 9: // result = result as UpStreamMsgHourResultJson; // result = AnalysisApi.GetUpStreamMsgHour(accessToken, vd_Form.StartDate, vd_Form.EndDate); // break; //case 10: // result = result as UpStreamMsgWeekResultJson; // result = AnalysisApi.GetUpStreamMsgWeek(accessToken, vd_Form.StartDate, vd_Form.EndDate); // break; //case 11: // result = result as UpStreamMsgMonthResultJson; // result = AnalysisApi.GetUpStreamMsgMonth(accessToken, vd_Form.StartDate, vd_Form.EndDate); // break; //case 12: // result = result as UpStreamMsgDistResultJson; // result = AnalysisApi.GetUpStreamMsgDist(accessToken, vd_Form.StartDate, vd_Form.EndDate); // break; //case 13: // result = result as UpStreamMsgDistWeekResultJson; // result = AnalysisApi.GetUpStreamMsgDistWeek(accessToken, vd_Form.StartDate, vd_Form.EndDate); // break; //case 14: // result = result as UpStreamMsgDistMonthResultJson; // result = AnalysisApi.GetUpStreamMsgDistMonth(accessToken, vd_Form.StartDate, vd_Form.EndDate); // break; //case 15: // result = result as UserSummaryResultJson; // result = AnalysisApi.GetUserSummary(accessToken, vd_Form.StartDate, vd_Form.EndDate); // break; //case 16: // result = result as UserCumulateResultJson; // result = AnalysisApi.GetUserCumulate(accessToken, vd_Form.StartDate, vd_Form.EndDate); // break; default: break; } //result.ListObj; return(View(vd_Form)); }
/// <summary> /// 文章阅读数 /// </summary> /// <param name="token"></param> /// <param name="start"></param> /// <param name="end"></param> /// <returns></returns> public async Task <AnalysisResultJson <ArticleSummaryItem> > GetArticleSummaryAsync(string appId, string start, string end) { return(await AnalysisApi.GetArticleSummaryAsync(appId, start, end)); }
/// <summary> /// 粉丝增减数据:一天可能有多条,根据user_source分组 /// </summary> /// <param name="token"></param> /// <param name="start"></param> /// <param name="end"></param> /// <returns></returns> public async Task <AnalysisResultJson <UserSummaryItem> > GetUserSummaryAsync(string token, string start, string end) { return(await AnalysisApi.GetUserSummaryAsync(token, start, end)); }
public ActionResult Index() { //如果没有配置租户信息,则必须前去配置 if (!HasConfigWeiChat && IsSystemIenant) { return(RedirectToAction("WeiChatAppConfig", "Account_Tenant", new { area = "SystemAdmin", tenantId = TenantId })); } #region 获取最新关注的用户 var lastUsers = GetLastUsers(8); ViewBag.LastUsers = lastUsers; #endregion var cache = WeiChat.Infrastructure.Cache.CacheManager.Current; #region 累积关注数 { var value = cache.GetByTenant <int>("UserSummaryCount"); if (value == default(int)) { value = SafeReturnHelper.SafeReturn(() => { //TODO:切换SDK var userCumulateData = AnalysisApi.GetUserCumulate(WeChatConfigManager.Current.GetAccessToken(), DateTime.Now.AddDays(-5).ToString("yyyy-MM-dd"), DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd")); if ((userCumulateData.list != null) && (userCumulateData.list.Count > 0)) { return(Convert.ToInt32(userCumulateData.list.First().cumulate_user)); } return(default(int)); }); } cache.AddOrUpdateByTenant("UserSummaryCount", value, TimeSpan.FromHours(12)); ViewBag.UserSummaryCount = value; } #endregion #region 取消关注数、新关注数、净增用户数 { //取消关注数 var cancelUserCount = cache.GetByTenant <int>("CancelUserCount"); //新关注数 var newUserCount = cache.GetByTenant <int>("NewUserCount"); //净增用户数 var growUserCount = cache.GetByTenant <int>("GrowUserCount"); if (newUserCount == default(int)) { var value = SafeReturnHelper.SafeReturn( () => { //TODO:切换SDK return(AnalysisApi.GetUserSummary(WeChatConfigManager.Current.GetAccessToken(), DateTime.Now.AddDays(-5).ToString("yyyy-MM-dd"), DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd"))); }); if (value != null) { cancelUserCount = value.list.Select(p => Convert.ToInt32(p.cancel_user)).Sum(); newUserCount = value.list.Select(p => Convert.ToInt32(p.new_user)).Sum(); growUserCount = Convert.ToInt32(newUserCount) - Convert.ToInt32(cancelUserCount); cache.AddOrUpdateByTenant("CancelUserCount", cancelUserCount, TimeSpan.FromHours(12)); cache.AddOrUpdateByTenant("NewUserCount", newUserCount, TimeSpan.FromHours(12)); cache.AddOrUpdateByTenant("GrowUserCount", growUserCount, TimeSpan.FromHours(12)); } } //取消关注数 ViewBag.CancelUserCount = cancelUserCount; //新关注数 ViewBag.NewUserCount = newUserCount; //净增用户数 ViewBag.GrowUserCount = growUserCount; } #endregion ViewBag.ChartEnable = false; //如果粉丝量大于20万,禁用部分图表 if (cache.GetByTenant <int>("UserSummaryCount") < 200000) { if (db.WeiChat_Users.Count() < 200000) { ViewBag.ChartEnable = true; } } return(View()); }