//public static string ResumeSite() //{ // DiscuzCloudMethodParameter mParams = new DiscuzCloudMethodParameter(); // mParams.Add("sUrl", Utils.GetRootUrl(BaseConfigs.GetForumPath)); // mParams.Add("sCharset", CHARSET); // mParams.Add("sProductType", productType); // mParams.Add("sProductVersion", productVersion); // BaseCloudResponse<RegisterCloud> resumeCloudResult = GetCloudResponse<RegisterCloud>("site.resume", mParams); // if (resumeCloudResult.ErrCode == 0 && // (resumeCloudResult.Result.CloudSiteId != config.Cloudsiteid || resumeCloudResult.Result.CloudSiteKey != config.Cloudsitekey)) // { // config.Cloudsiteid = resumeCloudResult.Result.CloudSiteId; // config.Cloudsitekey = resumeCloudResult.Result.CloudSiteKey; // GeneralConfigs.SaveConfig(config); // GeneralConfigs.ResetConfig(); // } // return resumeCloudResult.ErrMessage; //} /// <summary> /// 同步站点信息,包括站点名称和站点地址 /// </summary> /// <returns></returns> public static string SyncSite() { DiscuzCloudConfigInfo config = DiscuzCloudConfigs.GetConfig(); DiscuzCloudMethodParameter mParams = new DiscuzCloudMethodParameter(); mParams.Add("sId", config.Cloudsiteid); mParams.Add("sName", GeneralConfigs.GetConfig().Forumtitle); mParams.Add("sSiteKey", config.Sitekey); mParams.Add("sCharset", "utf-8"); mParams.Add("sTimeZone", "8"); mParams.Add("sLanguage", "zh_CN"); mParams.Add("sProductType", productType); mParams.Add("sProductVersion", productVersion); mParams.Add("sApiVersion", "0.4"); mParams.Add("sSiteUid", BaseConfigs.GetFounderUid > 0 ? BaseConfigs.GetFounderUid.ToString() : "1"); mParams.Add("sProductRelease", PRODUCT_RELEASE); mParams.Add("sTimestamp", Utils.ConvertToUnixTimestamp(DateTime.Now).ToString()); #if DEBUG mParams.Add("sUrl", "http://247.mydev.com/~cailong/"); mParams.Add("sUCenterUrl", "http://247.mydev.com/~cailong/"); #else mParams.Add("sUrl", Utils.GetRootUrl(BaseConfigs.GetForumPath)); mParams.Add("sUCenterUrl", Utils.GetRootUrl(BaseConfigs.GetForumPath)); #endif BaseCloudResponse <bool> syncSiteResult = GetCloudResponse <bool>("site.sync", mParams); return(syncSiteResult.ErrMessage); }
/// <summary> /// 从云平台调用指定方法并返回指定类型(T)信息 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="method"></param> /// <param name="mParams"></param> /// <returns></returns> private static BaseCloudResponse <T> GetCloudResponse <T>(string method, DiscuzCloudMethodParameter mParams) { string timeStamp = mParams.Find("sTimestamp"); timeStamp = string.IsNullOrEmpty(timeStamp) ? Utils.ConvertToUnixTimestamp(DateTime.Now).ToString() : timeStamp; string postData = string.Format("format={0}&method={1}&sId={2}&sig={3}&ts={4}{5}" , FORMAT, method, DiscuzCloudConfigs.GetConfig().Cloudsiteid, GetCloudMethodSignature(method, timeStamp, mParams), timeStamp, mParams.GetPostData()); string response = Utils.GetHttpWebResponse(CLOUD_URL, postData); try { return(JavaScriptConvert.DeserializeObject <BaseCloudResponse <T> >(response)); } catch { BaseCloudResponse <string> err = JavaScriptConvert.DeserializeObject <BaseCloudResponse <string> >(response); BaseCloudResponse <T> errObj = new BaseCloudResponse <T>(); errObj.ErrCode = err.ErrCode; errObj.ErrMessage = err.ErrMessage; return(errObj); } }
private static BaseCloudResponse <T> GetCloudResponse <T>(string method, DiscuzCloudMethodParameter mParams) { string text = mParams.Find("sTimestamp"); text = (string.IsNullOrEmpty(text) ? Utils.ConvertToUnixTimestamp(DateTime.Now).ToString() : text); string postData = string.Format("format={0}&method={1}&sId={2}&sig={3}&ts={4}{5}", new object[] { FORMAT, method, DiscuzCloudConfigInfo.Current.Cloudsiteid, DiscuzCloud.GetCloudMethodSignature(method, text, mParams), text, mParams.GetPostData() }); string httpWebResponse = Utils.GetHttpWebResponse(CLOUD_URL, postData); BaseCloudResponse <T> result; try { result = JavaScriptConvert.DeserializeObject <BaseCloudResponse <T> >(httpWebResponse); } catch { BaseCloudResponse <string> baseCloudResponse = JavaScriptConvert.DeserializeObject <BaseCloudResponse <string> >(httpWebResponse); result = new BaseCloudResponse <T> { ErrCode = baseCloudResponse.ErrCode, ErrMessage = baseCloudResponse.ErrMessage }; } return(result); }
public static string RegisterSite() { DiscuzCloudConfigInfo config = DiscuzCloudConfigInfo.Current; DiscuzCloudMethodParameter discuzCloudMethodParameter = new DiscuzCloudMethodParameter(); discuzCloudMethodParameter.Add("sName", GeneralConfigInfo.Current.Forumtitle); discuzCloudMethodParameter.Add("sSiteKey", config.Sitekey); discuzCloudMethodParameter.Add("sCharset", CHARSET); discuzCloudMethodParameter.Add("sTimeZone", "8"); discuzCloudMethodParameter.Add("sLanguage", "zh_CN"); discuzCloudMethodParameter.Add("sProductType", DiscuzCloud.productType); discuzCloudMethodParameter.Add("sProductVersion", DiscuzCloud.productVersion); discuzCloudMethodParameter.Add("sTimestamp", Utils.ConvertToUnixTimestamp(DateTime.Now).ToString()); discuzCloudMethodParameter.Add("sApiVersion", "0.4"); discuzCloudMethodParameter.Add("sSiteUid", BaseConfigs.GetFounderUid.ToString()); discuzCloudMethodParameter.Add("sProductRelease", PRODUCT_RELEASE); discuzCloudMethodParameter.Add("sUrl", Utils.GetRootUrl(BaseConfigs.GetForumPath)); discuzCloudMethodParameter.Add("sUCenterUrl", Utils.GetRootUrl(BaseConfigs.GetForumPath)); BaseCloudResponse <RegisterCloud> cloudResponse = DiscuzCloud.GetCloudResponse <RegisterCloud>("site.register", discuzCloudMethodParameter); if (cloudResponse.ErrCode == 0) { config.Cloudsiteid = cloudResponse.Result.CloudSiteId; config.Cloudsitekey = cloudResponse.Result.CloudSiteKey; //DiscuzCloudConfigs.SaveConfig(config); //DiscuzCloudConfigs.ResetConfig(); config.Save(); DiscuzCloudConfigInfo.Current = null; } return(cloudResponse.ErrMessage); }
/// <summary> /// 更换站点KEY /// </summary> /// <returns></returns> public static string ResetSiteKey() { DiscuzCloudConfigInfo config = DiscuzCloudConfigs.GetConfig(); DiscuzCloudMethodParameter mParams = new DiscuzCloudMethodParameter(); mParams.Add("sId", config.Cloudsiteid); BaseCloudResponse <RegisterCloud> resetCloudResult = GetCloudResponse <RegisterCloud>("site.resetKey", mParams); if (resetCloudResult.ErrCode == 0) { config.Cloudsitekey = resetCloudResult.Result.CloudSiteKey; DiscuzCloudConfigs.SaveConfig(config); DiscuzCloudConfigs.ResetConfig(); } return(resetCloudResult.ErrMessage); }
public static string ResetSiteKey() { DiscuzCloudConfigInfo config = DiscuzCloudConfigInfo.Current; DiscuzCloudMethodParameter discuzCloudMethodParameter = new DiscuzCloudMethodParameter(); discuzCloudMethodParameter.Add("sId", config.Cloudsiteid); BaseCloudResponse <RegisterCloud> cloudResponse = DiscuzCloud.GetCloudResponse <RegisterCloud>("site.resetKey", discuzCloudMethodParameter); if (cloudResponse.ErrCode == 0) { config.Cloudsitekey = cloudResponse.Result.CloudSiteKey; //DiscuzCloudConfigs.SaveConfig(config); //DiscuzCloudConfigs.ResetConfig(); config.Save(); DiscuzCloudConfigInfo.Current = null; } return(cloudResponse.ErrMessage); }
public static string SyncSite() { DiscuzCloudConfigInfo config = DiscuzCloudConfigInfo.Current; DiscuzCloudMethodParameter discuzCloudMethodParameter = new DiscuzCloudMethodParameter(); discuzCloudMethodParameter.Add("sId", config.Cloudsiteid); discuzCloudMethodParameter.Add("sName", GeneralConfigInfo.Current.Forumtitle); discuzCloudMethodParameter.Add("sSiteKey", config.Sitekey); discuzCloudMethodParameter.Add("sCharset", CHARSET); discuzCloudMethodParameter.Add("sTimeZone", "8"); discuzCloudMethodParameter.Add("sLanguage", "zh_CN"); discuzCloudMethodParameter.Add("sProductType", DiscuzCloud.productType); discuzCloudMethodParameter.Add("sProductVersion", DiscuzCloud.productVersion); discuzCloudMethodParameter.Add("sApiVersion", "0.4"); discuzCloudMethodParameter.Add("sSiteUid", BaseConfigs.GetFounderUid.ToString()); discuzCloudMethodParameter.Add("sProductRelease", PRODUCT_RELEASE); discuzCloudMethodParameter.Add("sTimestamp", Utils.ConvertToUnixTimestamp(DateTime.Now).ToString()); discuzCloudMethodParameter.Add("sUrl", Utils.GetRootUrl(BaseConfigs.GetForumPath)); discuzCloudMethodParameter.Add("sUCenterUrl", Utils.GetRootUrl(BaseConfigs.GetForumPath)); BaseCloudResponse <bool> cloudResponse = DiscuzCloud.GetCloudResponse <bool>("site.sync", discuzCloudMethodParameter); return(cloudResponse.ErrMessage); }