using Newtonsoft.Json; using Newtonsoft.Json.Linq; using PDF_Office.Properties; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net; using System.Text; using System.Threading.Tasks; namespace PDF_Office.Helper { /// /// 注册登陆相关的工具类 /// /// public static class ServiceHelper { public static string ALLEmail = ""; public static string ALLPassword = ""; public static string access_token = ""; public static string outemail = ""; public static string outcode = ""; public static string outregister = ""; public static string outlogin = ""; public static string code = ""; public static string okcode = ""; public static string remsg = ""; public static string state = ""; public static string AppCode = "com.brother.pdfreaderprofree.windows"; public static string RequestHost = "http://139.196.160.101:8081"; //验证邮箱 public static string OKemailUrl = "/pdf-office-sso/auth/validUser"; //验证验证码 public static string OKcodeUrl = "/pdf-office-sso/auth/isEmailCodeValid"; //发送验证码 public static string GetcodeUrl = "/pdf-office-sso/auth/getVerifyCode"; //注册邮箱 public static string registerUrl = "/pdf-office-sso/auth/emailRegister"; //登录 public static string LoginUrl = "/pdf-office-sso/auth/emailLogin"; //登出 public static string LogoutUrl = "/pdf-office-sso/user/logout"; //注销 public static string UseroutUrl = "/pdf-office-sso/user/logOffForUser"; //重置密码 public static string RebirthUrl = "/pdf-office-sso/auth/resetPassword"; //获取用户信息 public static string GetUserUrl = "/pdf-office-sso/user/me"; public static String GetUser() { HttpWebResponse response = null; ServicePointManager.DefaultConnectionLimit = 200; HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(RequestHost + GetUserUrl+""); request.Method = "Get"; request.Headers.Add("Authorization", $"Bearer {Settings.Default.AppProperties.LoginToken}"); request.ContentType = "text/html;charset=UTF-8"; //request.Accept = "application/vnd.api+json;version=1"; request.UserAgent = "Apifox/1.0.0 (https://www.apifox.cn)"; request.Timeout = 20000; request.ServicePoint.Expect100Continue = false; try { response = (HttpWebResponse)request.GetResponse(); using (StreamReader reader = new StreamReader(response.GetResponseStream())) { string responseData = reader.ReadToEnd(); Console.WriteLine(responseData); reader.Close(); JObject jobject = (JObject)JsonConvert.DeserializeObject(responseData); if (response != null) { response.Close(); } if (request != null) { request.Abort(); } return jobject["email"].ToObject().ToLower(); } } catch { return "网络不稳定请重试"; } } public static String Ok_email(string intemail,string validType) { HttpWebResponse response = null; ServicePointManager.DefaultConnectionLimit = 200; HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(RequestHost + OKemailUrl); request.Method = "Post"; request.ContentType = "application/json"; //request.Accept = "application/vnd.api+json;version=1"; request.UserAgent = "Apifox/1.0.0 (https://www.apifox.cn)"; request.Timeout = 20000; request.ServicePoint.Expect100Continue = false; StringWriter sw = new StringWriter(); using (JsonWriter writer = new JsonTextWriter(sw)) { writer.WriteStartObject(); writer.WritePropertyName("appId"); writer.WriteValue(16); writer.WritePropertyName("platformType"); writer.WriteValue(0); writer.WritePropertyName("username"); writer.WriteValue(intemail); writer.WritePropertyName("validType"); writer.WriteValue(validType); writer.WriteEndObject(); } string postBody = sw.ToString(); using (StreamWriter writer = new StreamWriter(request.GetRequestStream())) { writer.Write(postBody); writer.Close(); } try { response = (HttpWebResponse)request.GetResponse(); using (StreamReader reader = new StreamReader(response.GetResponseStream())) { string responseData = reader.ReadToEnd(); Console.WriteLine(responseData); reader.Close(); JObject jobject = (JObject)JsonConvert.DeserializeObject(responseData); //outemail = jobject["msg"].ToObject().ToLower(); if (response != null) { response.Close(); } if (request != null) { request.Abort(); } return jobject["msg"].ToObject().ToLower(); } } catch { return "网络不稳定请重试"; } } //⑤报错 public static void Get_code(string action, string email) { string post = $"?action={action}&appId=16&receiver={email}&type=0"; HttpWebResponse response = null; ServicePointManager.DefaultConnectionLimit = 200; HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(RequestHost + GetcodeUrl + post); request.Method = "Get"; request.ContentType = "text/html;charset=UTF-8"; //request.Accept = "application/vnd.api+json;version=1"; request.UserAgent = "Apifox/1.0.0 (https://www.apifox.cn)"; request.Timeout = 20000; request.ServicePoint.Expect100Continue = false; try { response = (HttpWebResponse)request.GetResponse(); using (StreamReader reader = new StreamReader(response.GetResponseStream())) { string responseData = reader.ReadToEnd(); Console.WriteLine(responseData); reader.Close(); JObject jobject = (JObject)JsonConvert.DeserializeObject(responseData); if (response != null) { response.Close(); } if (request != null) { request.Abort(); } } } catch { } } public static String Ok_code(string email, string code, string type) { string post = $"?account={email}&code={code}&type={type}&appId=16"; HttpWebResponse response = null; ServicePointManager.DefaultConnectionLimit = 200; HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(RequestHost + OKcodeUrl + post); request.Method = "Get"; request.ContentType = "text/html;charset=UTF-8"; //request.Accept = "application/vnd.api+json;version=1"; request.UserAgent = "Apifox/1.0.0 (https://www.apifox.cn)"; request.Timeout = 20000; request.ServicePoint.Expect100Continue = false; try { response = (HttpWebResponse)request.GetResponse(); using (StreamReader reader = new StreamReader(response.GetResponseStream())) { string responseData = reader.ReadToEnd(); Console.WriteLine(responseData); reader.Close(); JObject jobject = (JObject)JsonConvert.DeserializeObject(responseData); if (response != null) { response.Close(); } if (request != null) { request.Abort(); } return jobject["msg"].ToObject().ToLower(); } } catch { return "网络不稳定请重试"; } } public static String Register_email(string intemail, string intpassword, string intcode, string uuid) { HttpWebResponse response = null; ServicePointManager.DefaultConnectionLimit = 200; HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(RequestHost + registerUrl); request.Method = "Post"; request.ContentType = "application/json"; //request.Accept = "application/vnd.api+json;version=1"; request.UserAgent = "Apifox/1.0.0 (https://www.apifox.cn)"; request.Timeout = 20000; request.ServicePoint.Expect100Continue = false; StringWriter sw = new StringWriter(); using (JsonWriter writer = new JsonTextWriter(sw)) { writer.WriteStartObject(); writer.WritePropertyName("appId"); writer.WriteValue(16); writer.WritePropertyName("deviceSign"); writer.WriteValue(uuid); writer.WritePropertyName("password"); writer.WriteValue(intpassword); writer.WritePropertyName("platformType"); writer.WriteValue(0); writer.WritePropertyName("username"); writer.WriteValue(intemail); writer.WritePropertyName("verifyCode"); writer.WriteValue(intcode); writer.WriteEndObject(); } string postBody = sw.ToString(); using (StreamWriter writer = new StreamWriter(request.GetRequestStream())) { writer.Write(postBody); writer.Close(); } try { response = (HttpWebResponse)request.GetResponse(); using (StreamReader reader = new StreamReader(response.GetResponseStream())) { string responseData = reader.ReadToEnd(); Console.WriteLine(responseData); reader.Close(); JObject jobject = (JObject)JsonConvert.DeserializeObject(responseData); if (response != null) { response.Close(); } if (request != null) { request.Abort(); } if (jobject["msg"].ToObject().ToLower() == "success") { access_token = jobject["result"]["access_token"].ToObject().ToLower(); Settings.Default.AppProperties.LoginToken = jobject["result"]["access_token"].ToObject().ToLower(); Settings.Default.Save(); } return jobject["msg"].ToObject().ToLower(); } } catch { return "网络不稳定请重试"; } } public static String Login(string intemail, string intpassword, string uuid) { string postBody = $"?appId=16&deviceSign={uuid}&email={intemail}&password={intpassword}&platformType=0"; HttpWebResponse response = null; ServicePointManager.DefaultConnectionLimit = 200; HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(RequestHost + LoginUrl + postBody); request.Method = "Post"; request.ContentType = "application/x-www-form-urlencoded"; //request.Accept = "application/vnd.api+json;version=1"; request.UserAgent = "Apifox/1.0.0 (https://www.apifox.cn)"; request.Timeout = 20000; request.ServicePoint.Expect100Continue = false; try { response = (HttpWebResponse)request.GetResponse(); using (StreamReader reader = new StreamReader(response.GetResponseStream())) { string responseData = reader.ReadToEnd(); Console.WriteLine(responseData); reader.Close(); JObject jobject = (JObject)JsonConvert.DeserializeObject(responseData); outlogin = jobject["msg"].ToObject().ToLower(); if (response != null) { response.Close(); } if (request != null) { request.Abort(); } if (jobject["msg"].ToObject().ToLower() == "success") { access_token = jobject["result"]["access_token"].ToObject().ToLower(); Settings.Default.AppProperties.LoginToken = jobject["result"]["access_token"].ToObject().ToLower(); Settings.Default.Save(); } return jobject["msg"].ToObject().ToLower(); } } catch { return "网络不稳定请重试"; } } //⑤报错 public static void Logout(string uuid) { string postBody = $"?deviceSign={uuid}&appId=16"; HttpWebResponse response = null; ServicePointManager.DefaultConnectionLimit = 200; HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(RequestHost + LogoutUrl + postBody); request.Method = "Post"; request.Headers.Add("Authorization", $"Bearer {Settings.Default.AppProperties.LoginToken}"); request.ContentType = "application/x-www-form-urlencoded"; //request.Accept = "application/vnd.api+json;version=1"; request.UserAgent = "Apifox/1.0.0 (https://www.apifox.cn)"; request.Timeout = 20000; request.ServicePoint.Expect100Continue = false; try { response = (HttpWebResponse)request.GetResponse(); using (StreamReader reader = new StreamReader(response.GetResponseStream())) { string responseData = reader.ReadToEnd(); Console.WriteLine(responseData); reader.Close(); JObject jobject = (JObject)JsonConvert.DeserializeObject(responseData); if (response != null) { response.Close(); } if (request != null) { request.Abort(); } } } catch { } } public static String Usergout(string code) { string postBody = $"?code={code}"; HttpWebResponse response = null; ServicePointManager.DefaultConnectionLimit = 200; HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(RequestHost + UseroutUrl + postBody); request.Method = "Post"; request.Headers.Add("Authorization", $"Bearer {Settings.Default.AppProperties.LoginToken}"); request.ContentType = "application/x-www-form-urlencoded"; //request.Accept = "application/vnd.api+json;version=1"; request.UserAgent = "Apifox/1.0.0 (https://www.apifox.cn)"; request.Timeout = 20000; request.ServicePoint.Expect100Continue = false; try { response = (HttpWebResponse)request.GetResponse(); using (StreamReader reader = new StreamReader(response.GetResponseStream())) { string responseData = reader.ReadToEnd(); Console.WriteLine(responseData); reader.Close(); JObject jobject = (JObject)JsonConvert.DeserializeObject(responseData); if (response != null) { response.Close(); } if (request != null) { request.Abort(); } return jobject["msg"].ToObject().ToLower(); } } catch { return "网络不稳定请重试"; } } public static String Rebirth(string intemail, string firstpassword, string secondPassword, string intcode) { HttpWebResponse response = null; ServicePointManager.DefaultConnectionLimit = 200; HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(RequestHost + RebirthUrl); request.Method = "Post"; request.ContentType = "application/json"; //request.Accept = "application/vnd.api+json;version=1"; request.UserAgent = "Apifox/1.0.0 (https://www.apifox.cn)"; request.Timeout = 20000; request.ServicePoint.Expect100Continue = false; StringWriter sw = new StringWriter(); using (JsonWriter writer = new JsonTextWriter(sw)) { writer.WriteStartObject(); writer.WritePropertyName("account"); writer.WriteValue(intemail); writer.WritePropertyName("appId"); writer.WriteValue(16); writer.WritePropertyName("firstPassword"); writer.WriteValue(firstpassword); writer.WritePropertyName("platformType"); writer.WriteValue(0); writer.WritePropertyName("secondPassword"); writer.WriteValue(secondPassword); writer.WritePropertyName("verifyCode"); writer.WriteValue(intcode); writer.WriteEndObject(); } string postBody = sw.ToString(); using (StreamWriter writer = new StreamWriter(request.GetRequestStream())) { writer.Write(postBody); writer.Close(); } try { response = (HttpWebResponse)request.GetResponse(); using (StreamReader reader = new StreamReader(response.GetResponseStream())) { string responseData = reader.ReadToEnd(); Console.WriteLine(responseData); reader.Close(); JObject jobject = (JObject)JsonConvert.DeserializeObject(responseData); if (response != null) { response.Close(); } if (request != null) { request.Abort(); } return jobject["msg"].ToObject().ToLower(); } } catch { return "网络不稳定请重试"; } } } }