using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Collections.Specialized; using System.IO; using System.Linq; using System.Net; using System.Text; using System.Threading; using System.Threading.Tasks; using WindowsFormsApp1.entity; namespace WindowsFormsApp1.utils { public delegate void OnSuccess(String result); class RequestParams { public String url; public Dictionary paramsMap; public Dictionary headers; public OnRequestResultListener listener; public OnSuccess success; public RequestParams(String url, Dictionary paramsMap, Dictionary headers, OnRequestResultListener listener) { this.url = url; this.paramsMap = paramsMap; this.headers = headers; this.listener = listener; } public RequestParams(String url, Dictionary paramsMap, Dictionary headers, OnSuccess listener) { this.url = url; this.paramsMap = paramsMap; this.headers = headers; this.success = listener; } } class ApiUtil { public static String BASE_URL = "http://192.168.1.122:8082/"; static void basePost(object obj) { RequestParams param = (RequestParams)obj; try { if (param.listener != null) param.listener.onStart(); string result = HttpUtil.HttpPost(param.url, param.paramsMap, param.headers); if (param.listener!=null) param.listener.onSuccess(200, result); if (param.success != null) param.success(result); } catch (Exception e) { Console.WriteLine("出错:" + e.Message); } finally { if (param.listener != null) param.listener.onFinish(); } } private static void startRequest(RequestParams param) { Thread thread = new Thread(basePost); thread.Start(param); } public static void getLoginUrl(OnRequestResultListener listener) { startRequest(new RequestParams(BASE_URL + "sdlj/parse/getLoginUrl", null, null, listener)); } //获取请求链接 public static void getRequestUrl(String tbUid, String baseUrl, OnSuccess listener) { Dictionary paramsMap = new Dictionary(); paramsMap.Add("baseUrl", baseUrl); paramsMap.Add("tbUid", tbUid); Dictionary headers = new Dictionary(); headers.Add("token", Constant.token); startRequest(new RequestParams(BASE_URL + "sdlj/parse/getRequestUrl", paramsMap, null, listener)); } //上传Cookie public static void uploadCookie( String cookies, OnRequestResultListener listener) { Dictionary headers = new Dictionary(); headers.Add("token", Constant.token); Dictionary paramsMap = new Dictionary(); paramsMap.Add("cookies", cookies); startRequest(new RequestParams(BASE_URL + "sdlj/parse/uploadCookies", paramsMap, headers, listener)); } //上传内容 public static void uploadContent(String tbUid, String content, OnSuccess listener) { Dictionary headers = new Dictionary(); headers.Add("token", Constant.token); Dictionary paramsMap = new Dictionary(); paramsMap.Add("content", content); paramsMap.Add("tbUid", tbUid); startRequest(new RequestParams(BASE_URL + "sdlj/parse/uploadContent", paramsMap, headers, listener)); } //搜索商品 public static void searchGoods(int classType, SearchInfo searchInfo,int page, OnSuccess listener) { if (StringUtil.isEmpty(searchInfo.MinActualPrice)) searchInfo.MinActualPrice = null; if (StringUtil.isEmpty(searchInfo.MinCommission)) searchInfo.MinCommission = null; if (StringUtil.isEmpty(searchInfo.MinCommissionRate)) searchInfo.MinCommissionRate = null; if (StringUtil.isEmpty(searchInfo.MinCouponPrice)) searchInfo.MinCouponPrice = null; if (StringUtil.isEmpty(searchInfo.MinLiJin)) searchInfo.MinLiJin = null; if (StringUtil.isEmpty(searchInfo.MinSalesNum)) searchInfo.MinSalesNum = null; if (StringUtil.isEmpty(searchInfo.MaxActualPrice)) searchInfo.MaxActualPrice = null; if (StringUtil.isEmpty(searchInfo.MaxCommission)) searchInfo.MaxCommission = null; if (StringUtil.isEmpty(searchInfo.MaxCommissionRate)) searchInfo.MaxCommissionRate = null; if (StringUtil.isEmpty(searchInfo.MaxCouponPrice)) searchInfo.MaxCouponPrice = null; if (StringUtil.isEmpty(searchInfo.MaxLiJin)) searchInfo.MaxLiJin = null; if (StringUtil.isEmpty(searchInfo.MaxSalesNum)) searchInfo.MaxSalesNum = null; JsonSerializerSettings setting = new JsonSerializerSettings { ContractResolver = new Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver() }; setting.NullValueHandling = NullValueHandling.Ignore; Dictionary headers = new Dictionary(); headers.Add("token", Constant.token); Dictionary paramsMap = new Dictionary(); paramsMap.Add("searchInfo", JsonConvert.SerializeObject(searchInfo, setting)); paramsMap.Add("page",page+""); paramsMap.Add("classType", classType + ""); startRequest(new RequestParams(BASE_URL + "sdlj/goods/searchGoods", paramsMap, headers, listener)); } //发送验证码 public static void SendVerifyCode(String email,String vcode, OnSuccess listener) { Dictionary headers = new Dictionary(); headers.Add("token", Constant.token); Dictionary paramsMap = new Dictionary(); paramsMap.Add("email",email); paramsMap.Add("vcode", vcode); startRequest(new RequestParams(BASE_URL + "user/getVerifyCode", paramsMap, headers, listener)); } public static void Login(String email, String vcode,String inviteCode, OnSuccess listener) { Dictionary headers = new Dictionary(); headers.Add("token", Constant.token); Dictionary paramsMap = new Dictionary(); paramsMap.Add("account", email); paramsMap.Add("vcode", vcode); paramsMap.Add("inviteCode", inviteCode); startRequest(new RequestParams(BASE_URL + "user/login", paramsMap, headers, listener)); } //获取用户信息 public static void GetUserInfo( OnSuccess listener) { Dictionary headers = new Dictionary(); headers.Add("token", Constant.token); startRequest(new RequestParams(BASE_URL + "user/getUserInfo", null, headers, listener)); } //共享版续费 public static void RenewShare(String card,String pwd, OnSuccess listener) { Dictionary headers = new Dictionary(); headers.Add("token", Constant.token); Dictionary paramsMap = new Dictionary(); paramsMap.Add("card", card); paramsMap.Add("pwd", pwd); startRequest(new RequestParams(BASE_URL + "user/renewShare", paramsMap, headers, listener)); } //获取配置文件 public static void GetConfig( OnSuccess listener) { Dictionary headers = new Dictionary(); headers.Add("token", Constant.token); startRequest(new RequestParams(BASE_URL + "config/getConfig", null, headers, listener)); } //获取模板 public static void GetTemplate(OnSuccess listener) { Dictionary headers = new Dictionary(); headers.Add("token", Constant.token); startRequest(new RequestParams(BASE_URL + "sdlj/goods/getTemplate", null, headers, listener)); } //获取模板 public static void SetTemplate(bool reset,String template, OnSuccess listener) { Dictionary headers = new Dictionary(); headers.Add("token", Constant.token); Dictionary paramsMap = new Dictionary(); paramsMap.Add("type",(reset?1:0)+""); if(template!=null) paramsMap.Add("template", template); startRequest(new RequestParams(BASE_URL + "sdlj/goods/setTemplate", paramsMap, headers, listener)); } } }