/// <summary> ///根据id获取问答详情 /// </summary> /// <param name="token"></param> /// <param name="id"></param> /// <returns></returns> public static async Task <ApiResult <QuestionModel> > GetQuestionDetail(Token token, int id) { try { string url = string.Format(Constact.QuestionDetail, id); var result = await HttpBase.GetAsync(url, null, token); if (result.IsSuccess) { var articleDetail = JsonConvert.DeserializeObject <QuestionModel>(result.Message); //successAction(list); return(ApiResult.Ok(articleDetail)); } else { return(ApiResult <QuestionModel> .Error(result.Message)); //errorAction(result.Message); } } catch (Exception ex) { //errorAction(ex.StackTrace.ToString()); return(ApiResult <QuestionModel> .Error(ex.Message)); } }
public static async Task <ApiResult <List <Article> > > ListArticle(Token token, int pageIndex, int position) { try { string url = string.Empty; if (position == 0) { url = string.Format(Constact.SiteHomeArticleList, pageIndex, 10); } else { url = string.Format(Constact.ArticleHot, pageIndex, 10); } var result = await HttpBase.GetAsync(url, null, token); if (result.IsSuccess) { var list = JsonConvert.DeserializeObject <List <Article> >(result.Message); //successAction(list); return(ApiResult.Ok(list)); } else { return(ApiResult <List <Article> > .Error(result.Message)); //errorAction(result.Message); } } catch (Exception ex) { //errorAction(ex.StackTrace.ToString()); return(ApiResult <List <Article> > .Error(ex.Message)); } }
/// <summary>收到客户端发来的数据。子类可通过重载该方法来修改数据</summary> /// <remarks> /// 如果数据包包括头部和主体,可以分开处理。 /// 最麻烦的就是数据包不是一个完整的头部,还落了一部分在后面的包上。 /// </remarks> /// <param name="e"></param> protected override void OnReceive(ReceivedEventArgs e) { if (e.Packet.Total == 0 || !HttpBase.FastValidHeader(e.Packet)) { base.OnReceive(e); return; } var request = new HttpRequest(); if (request.Parse(e.Packet)) { WriteLog("[{0}]{1} {2}", Remote.Address, request.Method, request.Url); using var span = Host.Tracer?.NewSpan("proxy:HttpProxyRequest", request.Url + ""); if (!OnRequest(request, e)) { return; } e.Packet = request.Build(); } base.OnReceive(e); }
public ActionResult PrintTaskQuery(PermaisuriCMS.Model.LomoPrinter lomoPrinter) { try { var newPrinter = DoSignature(lomoPrinter); var keyvalues = new Dictionary <string, string> { { "terminal_id", newPrinter.terminal_id.ToString(CultureInfo.InvariantCulture) }, { "nonce", newPrinter.nonce.ToString(CultureInfo.InvariantCulture) }, { "timestamp", newPrinter.timestamp.ToString(CultureInfo.InvariantCulture) }, { "signature", newPrinter.signature }, { "job_id", newPrinter.job_id.ToString(CultureInfo.InvariantCulture) } }; var pUrl = GetRequestUrl(keyvalues, "job_status.php?"); var httpBase = new HttpBase(); var responseStr = httpBase.GetResponseText(pUrl, "GET", ""); return(Json(data: new { responseStr })); } catch (Exception ex) { return(Json(new { msg = ex.Message })); } }
public static async Task <ApiResult <string> > Add(Token token, BookmarksModel model) { //var result=null; try { string url = string.Format(Constact.BookMarks_add); Dictionary <string, string> _params = new Dictionary <string, string>(); _params.Add("LinkUrl", model.LinkUrl); _params.Add("Title", model.Title); _params.Add("Summary", model.Summary); _params.Add("Tags", model.Tag); var result = await HttpBase.PostAsync(token, url, _params); if (result.IsSuccess) { return(ApiResult.Ok(result.Message)); //return ApiResult.Ok(list); } return(ApiResult <string> .Error(result.Message)); //return ApiResult<List<Article>>.Error(result.Message); } catch (Exception ex) { return(ApiResult <string> .Error(ex.Message)); } }
public static async Task Authorization_Code(Token token, string code, Action <Token> successAction, Action <string> errorAction) { try { RestClient restClient = HttpBase.Instance(Constact.ConnectToken); RestRequest request = new RestRequest(); request.AddParameter("client_id", Constact.client_id); request.AddParameter("client_secret", Constact.client_secret); request.AddParameter("grant_type", "authorization_code"); request.AddParameter("code", code); request.AddParameter("redirect_uri", Constact.Callback); request.AddHeader("Authorization", token.token_type + " " + token.access_token); request.AddHeader("Content-Type", "application/x-www-form-urlencoded"); var response = await restClient.ExecutePostTaskAsync(request); if (response.StatusCode == System.Net.HttpStatusCode.OK) { Token userToken = JsonConvert.DeserializeObject <Token>(response.Content); successAction(userToken); } else { errorAction(response.StatusCode + ":" + response.Content.ToString()); } } catch (Exception ex) { errorAction(ex.StackTrace.ToString()); } }
private IEnumerator LoadImgFromCache(string imgURl, RawImage img) { if (CheckCacheUrlIsExit(imgURl)) { Texture2D tex = new Texture2D(256, 256, TextureFormat.ARGB32, false); img.texture = tex; HttpBase.Download(imgURl, ((request, downloaded, length) => { }), ((request, response) => { if (response == null || !response.IsSuccess) { DebugManager.Instance.LogError("请求失败!"); return; } tex.LoadImage(response.Data); request.Dispose(); response.Dispose(); })); yield return(new WaitForEndOfFrame()); } else { yield break; } }
public static async Task Client_Credentials(Action <Token> successAction, Action <string> errorAction) { try { var client = HttpBase.Instance("https://oauth.cnblogs.com/connect/token"); RestRequest request = new RestRequest(); request.AddParameter("client_id", Constact.client_id); request.AddParameter("client_secret", Constact.client_secret); request.AddParameter("grant_type", "client_credentials"); var response = await client.ExecutePostTaskAsync(request); if (response.StatusCode != System.Net.HttpStatusCode.OK) { errorAction("网络请求失败:" + response.StatusCode); return; } if (string.IsNullOrEmpty(response.Content)) { errorAction("返回数据有误"); return; } var token = JsonConvert.DeserializeObject <Token>(response.Content); successAction(token); } catch (Exception ex) { errorAction(ex.StackTrace.ToString()); } }
public static async Task <ApiResult <List <NewsCommentViewModel> > > ListNewsComment(Token token, int postId, int pageIndex) { try { string url = string.Format(Constact.NewscommentList, postId, pageIndex, Constact.PageSize); var result = await HttpBase.GetAsync(url, null, token); if (result.IsSuccess) { var list = JsonConvert.DeserializeObject <List <NewsCommentViewModel> >(result.Message); //successAction(list); return(ApiResult.Ok(list)); } else { return(ApiResult <List <NewsCommentViewModel> > .Error(result.Message)); //errorAction(result.Message); } } catch (Exception ex) { //errorAction(ex.StackTrace.ToString()); return(ApiResult <List <NewsCommentViewModel> > .Error(ex.Message)); } }
/// <summary> /// 获取所有的小类信息 /// </summary> public void GetComponentInfo() { //获取版本信息 HttpBase.GET(PortClass.Instance.Component, (request, response) => { if (response == null || !response.IsSuccess) { DebugManager.Instance.LogError("请求失败!"); return; } JsonData Item = JsonMapper.ToObject(response.DataAsText.Trim()); if (Item["codeMsg"].ToString() != "SUCCESS") { return; } JsonData filejson = Item["data"]; for (int i = 0; i < filejson.Count; i++) { JsonData temp = filejson[i]; CategoryComponentItem ci = new CategoryComponentItem(); ParseCateCom(temp, ci); JsonClass.Instance.ComponentList.Add(ci); } }); }
public static async Task <ApiResult <List <ZzkDocumentViewModel> > > List(Token token, int pageIndex, string category, string keyword) { //var result=null; try { string url = string.Format(Constact.Zzk, category, keyword, pageIndex); var result = await HttpBase.GetAsync(url, null, token); if (result.IsSuccess) { List <ZzkDocumentViewModel> list; if (!string.IsNullOrEmpty(result.Message)) { //errorAction("网络请求失败:" + response.StatusCode); list = JsonConvert.DeserializeObject <List <ZzkDocumentViewModel> >(result.Message); return(ApiResult.Ok(list)); } // return ApiResult.Ok(null); } return(ApiResult <List <ZzkDocumentViewModel> > .Error(result.Message)); } catch (Exception ex) { return(ApiResult <List <ZzkDocumentViewModel> > .Error(ex.Message)); } }
/// <summary> /// 更新机器设置 /// </summary> /// <param name="lomoPrinter"></param> /// <param name="terminal_free_rcode"></param> /// <returns></returns> public ActionResult DoPrinterSetting(PermaisuriCMS.Model.LomoPrinter lomoPrinter, string terminal_free_rcode) { try { var newPrinter = DoSignature(lomoPrinter); var keyvalues = new Dictionary <string, string> { { "terminal_id", newPrinter.terminal_id.ToString(CultureInfo.InvariantCulture) }, { "nonce", newPrinter.nonce.ToString(CultureInfo.InvariantCulture) }, { "timestamp", newPrinter.timestamp.ToString(CultureInfo.InvariantCulture) }, { "signature", newPrinter.signature }, { "terminal_free_rcode", "88888" } }; var pUrl = GetRequestUrl(keyvalues, "terminal_settings_set.php?"); var httpBase = new HttpBase(); // var responseStr = httpBase.GetResponseText(pUrl, "GET", ""); return(Json(data: new { //responseStr str = "暂时注释掉" })); } catch (Exception ex) { return(Json(new { msg = ex.Message })); } }
public static async Task <ApiResult <string> > GetNewsDetail(Token token, int id) { try { string url = string.Format(Constact.NewsDetail, id); var result = await HttpBase.GetAsync(url, null, token); if (result.IsSuccess) { var articleDetail = result.Message; //successAction(list); return(ApiResult.Ok(articleDetail)); } else { return(ApiResult <string> .Error(result.Message)); //errorAction(result.Message); } } catch (Exception ex) { //errorAction(ex.StackTrace.ToString()); return(ApiResult <string> .Error(ex.Message)); } }
/// <summary> /// 获取服务器当前app版本中道具的full.json文件 /// </summary> /// <param name="Message"></param> private void GetFullJson(int id) { List <FilesItem> FIS = new List <FilesItem>(); var item = JsonClass.Instance.ComponentList.SingleOrDefault(t => t.id == id); string version = item.version; Debug.Log("获取道具 " + id + " 的最新版本 " + version + " 的full文件"); //获取版本信息 HttpBase.GET(PortClass.Instance.FullJsonJson + id + "/full/" + version, (request, response) => { if (response == null || !response.IsSuccess) { DebugManager.Instance.LogError("请求失败!"); return; } JsonData Item = JsonMapper.ToObject(response.DataAsText.Trim()); Debug.Log(response.DataAsText.Trim()); JsonData filejson = Item["files"]; for (int i = 0; i < (int)filejson.Count; i++) { JsonData temp = filejson[i]; //FilesItem fi = new FilesItem(); //fi.originalName = temp["originalName"].ToString(); //fi.url = temp["url"].ToString(); //fi.type = temp["type"].ToString(); //fi.op = temp["op"].ToString(); //fi.md5 = temp["md5"].ToString(); //fi.size = temp["size"].ToString(); ; FIS.Add(ParseFilesItem(temp)); } foreach (var folder in FindFolder(id)) { string fullpath = folder + "/full.json"; if (!Directory.Exists(Path.GetDirectoryName(fullpath))) { Directory.CreateDirectory(Path.GetDirectoryName(fullpath)); } if (!File.Exists(fullpath)) { FileStream file = new FileStream(fullpath, FileMode.Create, FileAccess.Write); //创建写入文件 StreamWriter sw = new StreamWriter(file); sw.WriteLine(JsonMapper.ToJson(FIS)); //开始写入值 sw.Close(); sw.Dispose(); file.Close(); } else { FileStream file = new FileStream(fullpath, FileMode.Open, FileAccess.Write); StreamWriter sr = new StreamWriter(file); sr.WriteLine(JsonMapper.ToJson(FIS));//开始写入值 sr.Close(); sr.Dispose(); file.Close(); } } }); }
public static void Edit(Token token, BookmarksModel model, Action <ResponseMessage> callBack) { string url = string.Format(Constact.BookMarks_patch, model.WzLinkId); Dictionary <string, string> _params = new Dictionary <string, string>(); _params.Add("LinkUrl", model.LinkUrl); _params.Add("Title", model.Title); _params.Add("Summary", model.Summary); _params.Add("Tags", model.Tag); _params.Add("WzLinkId", model.WzLinkId.ToString()); HttpBase.Patch(url, token, _params, callBack); }
public ActionResult GetTuoZongFans() { const string tzFansUrl = TuoZongFansUrl; try { var httpBase = new HttpBase(); var listFnas = new List <TuoZongFans> { new TuoZongFans { openid = "oX52ujpOaC5DKfhVjGxSDuIjY3fU", lasttime = CMSUtilityTools.DateTime2Unix(new DateTime(2014, 10, 30)) } }; var tzParams = new JavaScriptSerializer().Serialize(new TuoZongFansParams { merchant_id = "9929", fans = listFnas.ToArray() }); //var str1 = httpBase.GetResponseText(tzFansUrl, "POST", tzParams); var postData = "&merchant_id=9929"; var i = 0; foreach (var tzFan in listFnas) { postData += "&fans[" + i + "][lasttime]=" + tzFan.lasttime; postData += "&fans[" + i + "][openid]=" + tzFan.openid; i++; } //var str1 = HttpHelp.Post(tzFansUrl, "&merchant_id=9929&fans[0][lasttime]=1415698101&fans[0][openid]=of3jzt8hXEhOlO-MgoiPMg0wU1AM&fans[1][lasttime]=1415698101&fans[1][openid]=of3jzt1yKVNYtcUTVNHBffddY7h4"); var str1 = HttpHelp.Post(tzFansUrl, postData); return(Json(new { postData, result = str1 })); } catch (Exception ex) { return(Json(new { result = ex.Message })); } }
/// <summary> /// 获取单个问答的回答列表 /// </summary> /// <param name="token"></param> /// <param name="answerId"></param> /// <returns></returns> public static async Task <ApiResult <List <QuestionAnswerViewModel> > > ListQuestionAnswer(Token token, int answerId) { string url = string.Format(Constact.QuestionAnswerList, answerId); var result = await HttpBase.GetAsync(url, null, token); if (result.IsSuccess) { var list = JsonConvert.DeserializeObject <List <QuestionAnswerViewModel> >(result.Message); return(ApiResult.Ok(list)); } else { return(ApiResult <List <QuestionAnswerViewModel> > .Error(result.Message)); } }
/// <summary> /// 删除问答的回答 /// </summary> /// <returns></returns> public static void DeleteQuestionAnswer(Token token, int questionId, int answerId, Action <string> callBackError, Action callBackSuccess) { string url = string.Format(Constact.QuestionDeleteAnswer, questionId, answerId); HttpBase.Delete(url, token, (response) => { if (response.IsSuccess) { callBackSuccess(); } else { callBackError(response.Message); } }); }
public static void DeleteComment(Token token, string statusId, string id, Action callBackSuccess, Action <string> callBackError) { string url = string.Format(Constact.StatusDeleteComment, statusId, id); HttpBase.Delete(url, token, (response) => { if (response.IsSuccess) { callBackSuccess(); } else { callBackError(response.Message); } }); }
/// <summary> /// 上传用户分享内容 /// </summary> /// <param name="tt"></param> /// <param name="clip"></param> public void UploadAudioText(TextType tt, byte[] clip) { string json = ""; if (tt != null) { json = Regex.Unescape(JsonMapper.ToJson(tt)); } HttpBase.ShareComponent(PortClass.Instance.ShareUpload, PublicAttribute.SetSecretKey(), clip, json, ((request, response) => { if (response.IsSuccess) { response.Dispose(); } })); }
public static async Task <ApiResult <bool> > Add(Token token, string content, bool isPrivate) { Dictionary <string, string> dict = new Dictionary <string, string>(); dict.Add("Content", content); dict.Add("IsPrivate", isPrivate.ToString()); var result = await HttpBase.PostAsyncJson(token, Constact.StatusAdd, dict); if (result.IsSuccess) { return(ApiResult.Ok(true)); } else { return(ApiResult <bool> .Error(result.Message)); } }
public static async Task <ApiResult <List <NewsViewModel> > > ListNews(Token token, int pageIndex, int position) { try { string url = string.Empty; switch (position) { case 0: url = string.Format(Constact.NewsList, pageIndex, Constact.PageSize); break; case 1: url = string.Format(Constact.NewsHotWeekList, pageIndex, Constact.PageSize); break; case 2: url = string.Format(Constact.NewsDiggList, pageIndex, Constact.PageSize); break; default: url = string.Format(Constact.NewsList, pageIndex, Constact.PageSize); break; } var result = await HttpBase.GetAsync(url, null, token); if (result.IsSuccess) { var list = JsonConvert.DeserializeObject <List <NewsViewModel> >(result.Message); //successAction(list); return(ApiResult.Ok(list)); } else { return(ApiResult <List <NewsViewModel> > .Error(result.Message)); //errorAction(result.Message); } } catch (Exception ex) { //errorAction(ex.StackTrace.ToString()); return(ApiResult <List <NewsViewModel> > .Error(ex.Message)); } }
/// <summary> /// 添加问答的回答 /// </summary> public static async Task <ApiResult <bool> > AddQuestionAnswer(Token token, string loginName, string UserName, string answerContent, int questionId, int userId) { string url = string.Format(Constact.QuestionAddAnswer, questionId, loginName); Dictionary <string, string> dict = new Dictionary <string, string>(); dict.Add("Answer", answerContent); dict.Add("UserId", questionId.ToString()); dict.Add("UserName", UserName); var result = await HttpBase.PostAsyncJson(token, url, dict); if (result.IsSuccess) { return(ApiResult.Ok(true)); } else { return(ApiResult <bool> .Error(result.Message)); } }
/// <summary> /// 添加回答的评论 /// </summary> /// <param name="token"></param> /// <param name="content"></param> /// <param name="loginName">提交者用户名</param> /// <param name="questionId">问题ID</param> /// <param name="answerId">回答ID</param> /// <param name="parentCommentId">回答的父ID</param> /// <param name="postUserId">提交者ID</param> /// <returns></returns> public static async Task <ApiResult <bool> > AddQuestionAnswerComment(Token token, string content, string loginName, int questionId, int answerId, int parentCommentId, int postUserId) { string url = string.Format(Constact.QuestionAddAnswerComment, questionId, answerId, loginName); Dictionary <string, string> dict = new Dictionary <string, string>(); dict.Add("Content", content); dict.Add("ParentCommentId", parentCommentId.ToString()); dict.Add("PostUserID", postUserId.ToString()); var result = await HttpBase.PostAsyncJson(token, url, dict); if (result.IsSuccess) { return(ApiResult.Ok(true)); } else { return(ApiResult <bool> .Error(result.Message)); } }
public static async Task <ApiResult <bool> > Exist(Token token, string _url) { try { string url = string.Format(Constact.BookMarks_exists, _url); var result = await HttpBase.GetAsync(url, null, token); if (result.IsSuccess) { return(ApiResult.Ok(true)); } return(ApiResult.Ok(false)); } catch (Exception ex) { System.Diagnostics.Debug.Write(ex.ToString()); return(ApiResult <bool> .Ok(false)); } }
/// <summary> /// 添加问答 /// </summary> /// <param name="token"></param> /// <param name="title"></param> /// <param name="content"></param> /// <param name="tags"></param> /// <param name="flags"></param> /// <param name="userId"></param> /// <returns></returns> public static async Task <ApiResult <bool> > Add(Token token, string title, string content, string tags, string flags, string userId) { Dictionary <string, string> dict = new Dictionary <string, string>(); dict.Add("Title", title); dict.Add("Content", content); dict.Add("Tags", tags); dict.Add("Flags", flags); dict.Add("UserID", userId); var result = await HttpBase.PostAsyncJson(token, Constact.QuestionAdd, dict); if (result.IsSuccess) { return(ApiResult.Ok(true)); } else { return(ApiResult <bool> .Error(result.Message)); } }
public static async Task <ApiResult <List <BookmarksModel> > > List(Token token, int pageSize, int pageIndex) { //var result=null; try { var result = await HttpBase.GetAsync(Constact.BookMarks_list, null, token); if (result.IsSuccess) { //errorAction("网络请求失败:" + response.StatusCode); var list = JsonConvert.DeserializeObject <List <BookmarksModel> >(result.Message); return(ApiResult.Ok(list)); } return(ApiResult <List <BookmarksModel> > .Error(result.Message)); } catch (Exception ex) { return(ApiResult <List <BookmarksModel> > .Error(ex.Message)); } }
public static async Task <ApiResult <List <Article> > > GetMyBlogPosts(Token token, string blogApp, int pageIndex) { //var result=null; try { string url = string.Format(Constact.BlogPosts, blogApp, pageIndex); var result = await HttpBase.GetAsync(url, null, token); if (result.IsSuccess) { var list = JsonConvert.DeserializeObject <List <Article> >(result.Message); return(ApiResult.Ok(list)); } return(ApiResult <List <Article> > .Error(result.Message)); } catch (Exception ex) { return(ApiResult <List <Article> > .Error(ex.Message)); } }
public static async Task <ApiResult <UserInfo> > GetUser(Token token) { //var result=null; try { var result = await HttpBase.GetAsync(Constact.Users, null, token); if (result.IsSuccess) { //errorAction("网络请求失败:" + response.StatusCode); var userinfo = JsonConvert.DeserializeObject <UserInfo>(result.Message); return(ApiResult.Ok(userinfo)); } return(ApiResult <UserInfo> .Error(result.Message)); } catch (Exception ex) { return(ApiResult <UserInfo> .Error(ex.Message)); } }
/// <summary> /// 添加闪存评论 /// </summary> /// <param name="token"></param> /// <param name="statusId"></param> /// <param name="replyTo"></param> /// <param name="parentCommentId"></param> /// <param name="Content"></param> /// <returns></returns> public static async Task <ApiResult <bool> > AddComment(Token token, string statusId, int replyTo, int parentCommentId, string Content) { string url = string.Format(Constact.StatusesComment, statusId); Dictionary <string, string> dict = new Dictionary <string, string>(); dict.Add("ReplyTo", replyTo.ToString()); dict.Add("ParentCommentId", parentCommentId.ToString()); dict.Add("Content", Content); var result = await HttpBase.PostAsyncJson(token, url, dict); System.Diagnostics.Debug.Write("PostAsyncJson", "PostAsyncJson"); if (result.IsSuccess) { return(ApiResult.Ok(true)); } else { return(ApiResult <bool> .Error(result.Message)); } }