/// <summary> /// 保存统计帐号 /// <param name="account">被保存的统计帐号</param> /// </summary> public void SaveStatisticsAccount(StatisticsAccount account) { if (account == null || string.IsNullOrEmpty(account.Password) || string.IsNullOrEmpty(account.UserName)) return; SystemDataService systemDataService = new SystemDataService(); long siteId = systemDataService.GetLong("CNZZStatisticsSiteId"); long password = systemDataService.GetLong("CNZZStatisticsPassword"); long accountSiteId = 0; if (!long.TryParse(account.UserName, out accountSiteId)) return; long accountPassword = 0; if (!long.TryParse(account.Password, out accountPassword)) return; if (accountSiteId != siteId) systemDataService.Change("CNZZStatisticsSiteId", accountSiteId - siteId); if (accountPassword != password) systemDataService.Change("CNZZStatisticsPassword", accountPassword - password); Enable = true; SiteSettings siteSettings = siteSettingsManager.Get(); siteSettings.StatScript = GetStatisticsCode(); siteSettingsManager.Save(siteSettings); }
/// <summary> /// 创建一个新的统计账户 /// </summary> /// <returns></returns> public StatisticsAccount CreatNewAccount() { SiteSettings siteSettings = siteSettingsManager.Get(); string siteurl=siteSettings.MainSiteRootUrl.Replace(@"http://","").TrimEnd('/'); string key = EncryptionUtility.MD5(siteurl + "A4ba4oqS").ToLower(); string creatLink = string.Format("http://wss.cnzz.com/user/companion/spacebuilder.php?domain={0}&key={1}", siteurl, key); string webMatter = HttpCollects.GetHTMLContent(creatLink, Encoding.GetEncoding("gb2312"), null); string errorMessage = null; switch (webMatter.Trim()) { case "": errorMessage = "远程站点没有响应"; break; case "-1": errorMessage = "key输入有误"; break; case "-2": errorMessage = "该域名长度有误(1~64)"; break; case "-3": errorMessage = "域名输入有误(比如输入汉字)"; break; case "-4": errorMessage = "域名插入数据库有误"; break; case "-5": errorMessage = "同一个IP用户调用页面超过阀值,阀值暂定为10"; break; } if (!string.IsNullOrEmpty(errorMessage)) throw new Exception("创建统计帐号出错,错误信息:" + errorMessage); string siteIdStr = webMatter.Substring(0, webMatter.IndexOf('@')); string passwordStr = webMatter.Substring(webMatter.IndexOf('@') + 1); long siteId = 0; long password = 0; StatisticsAccount account = new StatisticsAccount(); if (long.TryParse(siteIdStr, out siteId) && long.TryParse(passwordStr, out password)) { account.Password = password.ToString(); account.UserName = siteId.ToString(); return account; } return null; }
/// <summary> /// 获取统计账户信息 /// </summary> /// <returns></returns> public StatisticsAccount GetAccount() { SystemDataService systemDataService = new SystemDataService(); StatisticsAccount account = new StatisticsAccount(); long siteId = systemDataService.GetLong("CNZZStatisticsSiteId"); long password = systemDataService.GetLong("CNZZStatisticsPassword"); if (siteId <= 0 || password <= 0) return null; account.UserName = siteId.ToString(); account.Password = password.ToString(); return account; }