ServiceHelper.cs 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461
  1. using Newtonsoft.Json;
  2. using Newtonsoft.Json.Linq;
  3. using PDF_Office.Properties;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.IO;
  7. using System.Linq;
  8. using System.Net;
  9. using System.Text;
  10. using System.Threading.Tasks;
  11. namespace PDF_Office.Helper
  12. {
  13. /// <summary>
  14. /// 注册登陆相关的工具类
  15. /// </summary>
  16. ///
  17. public static class ServiceHelper
  18. {
  19. public static string ALLEmail = "";
  20. public static string ALLPassword = "";
  21. public static string access_token = "";
  22. public static string outemail = "";
  23. public static string outcode = "";
  24. public static string outregister = "";
  25. public static string outlogin = "";
  26. public static string code = "";
  27. public static string okcode = "";
  28. public static string remsg = "";
  29. public static string state = "";
  30. public static string AppCode = "com.brother.pdfreaderprofree.windows";
  31. public static string RequestHost = "http://139.196.160.101:8081";
  32. //验证邮箱
  33. public static string OKemailUrl = "/pdf-office-sso/auth/validUser";
  34. //验证验证码
  35. public static string OKcodeUrl = "/pdf-office-sso/auth/isEmailCodeValid";
  36. //发送验证码
  37. public static string GetcodeUrl = "/pdf-office-sso/auth/getVerifyCode";
  38. //注册邮箱
  39. public static string registerUrl = "/pdf-office-sso/auth/emailRegister";
  40. //登录
  41. public static string LoginUrl = "/pdf-office-sso/auth/emailLogin";
  42. //登出
  43. public static string LogoutUrl = "/pdf-office-sso/user/logout";
  44. //注销
  45. public static string UseroutUrl = "/pdf-office-sso/user/logOffForUser";
  46. //重置密码
  47. public static string RebirthUrl = "/pdf-office-sso/auth/resetPassword";
  48. //获取用户信息
  49. public static string GetUserUrl = "/pdf-office-sso/user/me";
  50. public static String GetUser()
  51. {
  52. HttpWebResponse response = null;
  53. ServicePointManager.DefaultConnectionLimit = 200;
  54. HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(RequestHost + GetUserUrl+"");
  55. request.Method = "Get";
  56. request.Headers.Add("Authorization", $"Bearer {Settings.Default.AppProperties.LoginToken}");
  57. request.ContentType = "text/html;charset=UTF-8";
  58. //request.Accept = "application/vnd.api+json;version=1";
  59. request.UserAgent = "Apifox/1.0.0 (https://www.apifox.cn)";
  60. request.Timeout = 10000;
  61. request.ServicePoint.Expect100Continue = false;
  62. try
  63. {
  64. response = (HttpWebResponse)request.GetResponse();
  65. using (StreamReader reader = new StreamReader(response.GetResponseStream()))
  66. {
  67. string responseData = reader.ReadToEnd();
  68. Console.WriteLine(responseData);
  69. reader.Close();
  70. JObject jobject = (JObject)JsonConvert.DeserializeObject(responseData);
  71. if (response != null)
  72. {
  73. response.Close();
  74. }
  75. if (request != null)
  76. {
  77. request.Abort();
  78. }
  79. return jobject["email"].ToObject<string>().ToLower();
  80. }
  81. }
  82. catch
  83. {
  84. return "";
  85. }
  86. }
  87. public static String Ok_email(string intemail,string validType)
  88. {
  89. HttpWebResponse response = null;
  90. ServicePointManager.DefaultConnectionLimit = 200;
  91. HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(RequestHost + OKemailUrl);
  92. request.Method = "Post";
  93. request.ContentType = "application/json";
  94. //request.Accept = "application/vnd.api+json;version=1";
  95. request.UserAgent = "Apifox/1.0.0 (https://www.apifox.cn)";
  96. request.Timeout = 10000;
  97. request.ServicePoint.Expect100Continue = false;
  98. StringWriter sw = new StringWriter();
  99. using (JsonWriter writer = new JsonTextWriter(sw))
  100. {
  101. writer.WriteStartObject();
  102. writer.WritePropertyName("appId");
  103. writer.WriteValue(16);
  104. writer.WritePropertyName("platformType");
  105. writer.WriteValue(0);
  106. writer.WritePropertyName("username");
  107. writer.WriteValue(intemail);
  108. writer.WritePropertyName("validType");
  109. writer.WriteValue(validType);
  110. writer.WriteEndObject();
  111. }
  112. string postBody = sw.ToString();
  113. using (StreamWriter writer = new StreamWriter(request.GetRequestStream()))
  114. {
  115. writer.Write(postBody);
  116. writer.Close();
  117. }
  118. response = (HttpWebResponse)request.GetResponse();
  119. using (StreamReader reader = new StreamReader(response.GetResponseStream()))
  120. {
  121. string responseData = reader.ReadToEnd();
  122. Console.WriteLine(responseData);
  123. reader.Close();
  124. JObject jobject = (JObject)JsonConvert.DeserializeObject(responseData);
  125. //outemail = jobject["msg"].ToObject<string>().ToLower();
  126. if (response != null)
  127. {
  128. response.Close();
  129. }
  130. if (request != null)
  131. {
  132. request.Abort();
  133. }
  134. return jobject["msg"].ToObject<string>().ToLower();
  135. }
  136. }
  137. public static void Get_code(string action, string email)
  138. {
  139. string post = $"?action={action}&appId=16&receiver={email}&type=0";
  140. HttpWebResponse response = null;
  141. ServicePointManager.DefaultConnectionLimit = 200;
  142. HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(RequestHost + GetcodeUrl + post);
  143. request.Method = "Get";
  144. request.ContentType = "text/html;charset=UTF-8";
  145. //request.Accept = "application/vnd.api+json;version=1";
  146. request.UserAgent = "Apifox/1.0.0 (https://www.apifox.cn)";
  147. request.Timeout = 10000;
  148. request.ServicePoint.Expect100Continue = false;
  149. response = (HttpWebResponse)request.GetResponse();
  150. using (StreamReader reader = new StreamReader(response.GetResponseStream()))
  151. {
  152. string responseData = reader.ReadToEnd();
  153. Console.WriteLine(responseData);
  154. reader.Close();
  155. JObject jobject = (JObject)JsonConvert.DeserializeObject(responseData);
  156. if (response != null)
  157. {
  158. response.Close();
  159. }
  160. if (request != null)
  161. {
  162. request.Abort();
  163. }
  164. }
  165. }
  166. public static String Ok_code(string email, string code, string type)
  167. {
  168. string post = $"?account={email}&code={code}&type={type}&appId=16";
  169. HttpWebResponse response = null;
  170. ServicePointManager.DefaultConnectionLimit = 200;
  171. HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(RequestHost + OKcodeUrl + post);
  172. request.Method = "Get";
  173. request.ContentType = "text/html;charset=UTF-8";
  174. //request.Accept = "application/vnd.api+json;version=1";
  175. request.UserAgent = "Apifox/1.0.0 (https://www.apifox.cn)";
  176. request.Timeout = 10000;
  177. request.ServicePoint.Expect100Continue = false;
  178. response = (HttpWebResponse)request.GetResponse();
  179. using (StreamReader reader = new StreamReader(response.GetResponseStream()))
  180. {
  181. string responseData = reader.ReadToEnd();
  182. Console.WriteLine(responseData);
  183. reader.Close();
  184. JObject jobject = (JObject)JsonConvert.DeserializeObject(responseData);
  185. if (response != null)
  186. {
  187. response.Close();
  188. }
  189. if (request != null)
  190. {
  191. request.Abort();
  192. }
  193. return jobject["msg"].ToObject<string>().ToLower();
  194. }
  195. }
  196. public static String Register_email(string intemail, string intpassword, string intcode, string uuid)
  197. {
  198. HttpWebResponse response = null;
  199. ServicePointManager.DefaultConnectionLimit = 200;
  200. HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(RequestHost + registerUrl);
  201. request.Method = "Post";
  202. request.ContentType = "application/json";
  203. //request.Accept = "application/vnd.api+json;version=1";
  204. request.UserAgent = "Apifox/1.0.0 (https://www.apifox.cn)";
  205. request.Timeout = 10000;
  206. request.ServicePoint.Expect100Continue = false;
  207. StringWriter sw = new StringWriter();
  208. using (JsonWriter writer = new JsonTextWriter(sw))
  209. {
  210. writer.WriteStartObject();
  211. writer.WritePropertyName("appId");
  212. writer.WriteValue(16);
  213. writer.WritePropertyName("deviceSign");
  214. writer.WriteValue(uuid);
  215. writer.WritePropertyName("password");
  216. writer.WriteValue(intpassword);
  217. writer.WritePropertyName("platformType");
  218. writer.WriteValue(0);
  219. writer.WritePropertyName("username");
  220. writer.WriteValue(intemail);
  221. writer.WritePropertyName("verifyCode");
  222. writer.WriteValue(intcode);
  223. writer.WriteEndObject();
  224. }
  225. string postBody = sw.ToString();
  226. using (StreamWriter writer = new StreamWriter(request.GetRequestStream()))
  227. {
  228. writer.Write(postBody);
  229. writer.Close();
  230. }
  231. response = (HttpWebResponse)request.GetResponse();
  232. using (StreamReader reader = new StreamReader(response.GetResponseStream()))
  233. {
  234. string responseData = reader.ReadToEnd();
  235. Console.WriteLine(responseData);
  236. reader.Close();
  237. JObject jobject = (JObject)JsonConvert.DeserializeObject(responseData);
  238. if (response != null)
  239. {
  240. response.Close();
  241. }
  242. if (request != null)
  243. {
  244. request.Abort();
  245. }
  246. return jobject["msg"].ToObject<string>().ToLower();
  247. }
  248. }
  249. public static String Login(string intemail, string intpassword, string uuid)
  250. {
  251. string postBody = $"?appId=16&deviceSign={uuid}&email={intemail}&password={intpassword}&platformType=0";
  252. HttpWebResponse response = null;
  253. ServicePointManager.DefaultConnectionLimit = 200;
  254. HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(RequestHost + LoginUrl + postBody);
  255. request.Method = "Post";
  256. request.ContentType = "application/x-www-form-urlencoded";
  257. //request.Accept = "application/vnd.api+json;version=1";
  258. request.UserAgent = "Apifox/1.0.0 (https://www.apifox.cn)";
  259. request.Timeout = 10000;
  260. request.ServicePoint.Expect100Continue = false;
  261. response = (HttpWebResponse)request.GetResponse();
  262. using (StreamReader reader = new StreamReader(response.GetResponseStream()))
  263. {
  264. string responseData = reader.ReadToEnd();
  265. Console.WriteLine(responseData);
  266. reader.Close();
  267. JObject jobject = (JObject)JsonConvert.DeserializeObject(responseData);
  268. outlogin = jobject["msg"].ToObject<string>().ToLower();
  269. if (response != null)
  270. {
  271. response.Close();
  272. }
  273. if (request != null)
  274. {
  275. request.Abort();
  276. }
  277. if (jobject["msg"].ToObject<string>().ToLower() == "success")
  278. {
  279. access_token = jobject["result"]["access_token"].ToObject<string>().ToLower();
  280. Settings.Default.AppProperties.LoginToken= jobject["result"]["access_token"].ToObject<string>().ToLower();
  281. Settings.Default.Save();
  282. }
  283. return jobject["msg"].ToObject<string>().ToLower();
  284. }
  285. }
  286. public static void Logout(string uuid)
  287. {
  288. string postBody = $"?deviceSign={uuid}&appId=16";
  289. HttpWebResponse response = null;
  290. ServicePointManager.DefaultConnectionLimit = 200;
  291. HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(RequestHost + LogoutUrl + postBody);
  292. request.Method = "Post";
  293. request.Headers.Add("Authorization", $"Bearer {Settings.Default.AppProperties.LoginToken}");
  294. request.ContentType = "application/x-www-form-urlencoded";
  295. //request.Accept = "application/vnd.api+json;version=1";
  296. request.UserAgent = "Apifox/1.0.0 (https://www.apifox.cn)";
  297. request.Timeout = 10000;
  298. request.ServicePoint.Expect100Continue = false;
  299. response = (HttpWebResponse)request.GetResponse();
  300. using (StreamReader reader = new StreamReader(response.GetResponseStream()))
  301. {
  302. string responseData = reader.ReadToEnd();
  303. Console.WriteLine(responseData);
  304. reader.Close();
  305. JObject jobject = (JObject)JsonConvert.DeserializeObject(responseData);
  306. if (response != null)
  307. {
  308. response.Close();
  309. }
  310. if (request != null)
  311. {
  312. request.Abort();
  313. }
  314. }
  315. }
  316. public static String Usergout(string code)
  317. {
  318. string postBody = $"?code={code}";
  319. HttpWebResponse response = null;
  320. ServicePointManager.DefaultConnectionLimit = 200;
  321. HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(RequestHost + UseroutUrl + postBody);
  322. request.Method = "Post";
  323. request.Headers.Add("Authorization", $"Bearer {Settings.Default.AppProperties.LoginToken}");
  324. request.ContentType = "application/x-www-form-urlencoded";
  325. //request.Accept = "application/vnd.api+json;version=1";
  326. request.UserAgent = "Apifox/1.0.0 (https://www.apifox.cn)";
  327. request.Timeout = 10000;
  328. request.ServicePoint.Expect100Continue = false;
  329. response = (HttpWebResponse)request.GetResponse();
  330. using (StreamReader reader = new StreamReader(response.GetResponseStream()))
  331. {
  332. string responseData = reader.ReadToEnd();
  333. Console.WriteLine(responseData);
  334. reader.Close();
  335. JObject jobject = (JObject)JsonConvert.DeserializeObject(responseData);
  336. if (response != null)
  337. {
  338. response.Close();
  339. }
  340. if (request != null)
  341. {
  342. request.Abort();
  343. }
  344. return jobject["msg"].ToObject<string>().ToLower();
  345. }
  346. }
  347. public static String Rebirth(string intemail, string firstpassword, string secondPassword, string intcode)
  348. {
  349. HttpWebResponse response = null;
  350. ServicePointManager.DefaultConnectionLimit = 200;
  351. HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(RequestHost + RebirthUrl);
  352. request.Method = "Post";
  353. request.ContentType = "application/json";
  354. //request.Accept = "application/vnd.api+json;version=1";
  355. request.UserAgent = "Apifox/1.0.0 (https://www.apifox.cn)";
  356. request.Timeout = 10000;
  357. request.ServicePoint.Expect100Continue = false;
  358. StringWriter sw = new StringWriter();
  359. using (JsonWriter writer = new JsonTextWriter(sw))
  360. {
  361. writer.WriteStartObject();
  362. writer.WritePropertyName("account");
  363. writer.WriteValue(intemail);
  364. writer.WritePropertyName("appId");
  365. writer.WriteValue(16);
  366. writer.WritePropertyName("firstPassword");
  367. writer.WriteValue(firstpassword);
  368. writer.WritePropertyName("platformType");
  369. writer.WriteValue(0);
  370. writer.WritePropertyName("secondPassword");
  371. writer.WriteValue(secondPassword);
  372. writer.WritePropertyName("verifyCode");
  373. writer.WriteValue(intcode);
  374. writer.WriteEndObject();
  375. }
  376. string postBody = sw.ToString();
  377. using (StreamWriter writer = new StreamWriter(request.GetRequestStream()))
  378. {
  379. writer.Write(postBody);
  380. writer.Close();
  381. }
  382. response = (HttpWebResponse)request.GetResponse();
  383. using (StreamReader reader = new StreamReader(response.GetResponseStream()))
  384. {
  385. string responseData = reader.ReadToEnd();
  386. Console.WriteLine(responseData);
  387. reader.Close();
  388. JObject jobject = (JObject)JsonConvert.DeserializeObject(responseData);
  389. if (response != null)
  390. {
  391. response.Close();
  392. }
  393. if (request != null)
  394. {
  395. request.Abort();
  396. }
  397. return jobject["msg"].ToObject<string>().ToLower();
  398. }
  399. }
  400. }
  401. }