ServiceHelper.cs 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531
  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 = 20000;
  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 = 20000;
  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. try
  119. {
  120. response = (HttpWebResponse)request.GetResponse();
  121. using (StreamReader reader = new StreamReader(response.GetResponseStream()))
  122. {
  123. string responseData = reader.ReadToEnd();
  124. Console.WriteLine(responseData);
  125. reader.Close();
  126. JObject jobject = (JObject)JsonConvert.DeserializeObject(responseData);
  127. //outemail = jobject["msg"].ToObject<string>().ToLower();
  128. if (response != null)
  129. {
  130. response.Close();
  131. }
  132. if (request != null)
  133. {
  134. request.Abort();
  135. }
  136. return jobject["msg"].ToObject<string>().ToLower();
  137. }
  138. }
  139. catch
  140. {
  141. return "网络不稳定请重试";
  142. }
  143. }
  144. //⑤报错
  145. public static void Get_code(string action, string email)
  146. {
  147. string post = $"?action={action}&appId=16&receiver={email}&type=0";
  148. HttpWebResponse response = null;
  149. ServicePointManager.DefaultConnectionLimit = 200;
  150. HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(RequestHost + GetcodeUrl + post);
  151. request.Method = "Get";
  152. request.ContentType = "text/html;charset=UTF-8";
  153. //request.Accept = "application/vnd.api+json;version=1";
  154. request.UserAgent = "Apifox/1.0.0 (https://www.apifox.cn)";
  155. request.Timeout = 20000;
  156. request.ServicePoint.Expect100Continue = false;
  157. try
  158. {
  159. response = (HttpWebResponse)request.GetResponse();
  160. using (StreamReader reader = new StreamReader(response.GetResponseStream()))
  161. {
  162. string responseData = reader.ReadToEnd();
  163. Console.WriteLine(responseData);
  164. reader.Close();
  165. JObject jobject = (JObject)JsonConvert.DeserializeObject(responseData);
  166. if (response != null)
  167. {
  168. response.Close();
  169. }
  170. if (request != null)
  171. {
  172. request.Abort();
  173. }
  174. }
  175. }
  176. catch
  177. {
  178. }
  179. }
  180. public static String Ok_code(string email, string code, string type)
  181. {
  182. string post = $"?account={email}&code={code}&type={type}&appId=16";
  183. HttpWebResponse response = null;
  184. ServicePointManager.DefaultConnectionLimit = 200;
  185. HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(RequestHost + OKcodeUrl + post);
  186. request.Method = "Get";
  187. request.ContentType = "text/html;charset=UTF-8";
  188. //request.Accept = "application/vnd.api+json;version=1";
  189. request.UserAgent = "Apifox/1.0.0 (https://www.apifox.cn)";
  190. request.Timeout = 20000;
  191. request.ServicePoint.Expect100Continue = false;
  192. try
  193. {
  194. response = (HttpWebResponse)request.GetResponse();
  195. using (StreamReader reader = new StreamReader(response.GetResponseStream()))
  196. {
  197. string responseData = reader.ReadToEnd();
  198. Console.WriteLine(responseData);
  199. reader.Close();
  200. JObject jobject = (JObject)JsonConvert.DeserializeObject(responseData);
  201. if (response != null)
  202. {
  203. response.Close();
  204. }
  205. if (request != null)
  206. {
  207. request.Abort();
  208. }
  209. return jobject["msg"].ToObject<string>().ToLower();
  210. }
  211. }
  212. catch
  213. {
  214. return "网络不稳定请重试";
  215. }
  216. }
  217. public static String Register_email(string intemail, string intpassword, string intcode, string uuid)
  218. {
  219. HttpWebResponse response = null;
  220. ServicePointManager.DefaultConnectionLimit = 200;
  221. HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(RequestHost + registerUrl);
  222. request.Method = "Post";
  223. request.ContentType = "application/json";
  224. //request.Accept = "application/vnd.api+json;version=1";
  225. request.UserAgent = "Apifox/1.0.0 (https://www.apifox.cn)";
  226. request.Timeout = 20000;
  227. request.ServicePoint.Expect100Continue = false;
  228. StringWriter sw = new StringWriter();
  229. using (JsonWriter writer = new JsonTextWriter(sw))
  230. {
  231. writer.WriteStartObject();
  232. writer.WritePropertyName("appId");
  233. writer.WriteValue(16);
  234. writer.WritePropertyName("deviceSign");
  235. writer.WriteValue(uuid);
  236. writer.WritePropertyName("password");
  237. writer.WriteValue(intpassword);
  238. writer.WritePropertyName("platformType");
  239. writer.WriteValue(0);
  240. writer.WritePropertyName("username");
  241. writer.WriteValue(intemail);
  242. writer.WritePropertyName("verifyCode");
  243. writer.WriteValue(intcode);
  244. writer.WriteEndObject();
  245. }
  246. string postBody = sw.ToString();
  247. using (StreamWriter writer = new StreamWriter(request.GetRequestStream()))
  248. {
  249. writer.Write(postBody);
  250. writer.Close();
  251. }
  252. try
  253. {
  254. response = (HttpWebResponse)request.GetResponse();
  255. using (StreamReader reader = new StreamReader(response.GetResponseStream()))
  256. {
  257. string responseData = reader.ReadToEnd();
  258. Console.WriteLine(responseData);
  259. reader.Close();
  260. JObject jobject = (JObject)JsonConvert.DeserializeObject(responseData);
  261. if (response != null)
  262. {
  263. response.Close();
  264. }
  265. if (request != null)
  266. {
  267. request.Abort();
  268. }
  269. if (jobject["msg"].ToObject<string>().ToLower() == "success")
  270. {
  271. access_token = jobject["result"]["access_token"].ToObject<string>().ToLower();
  272. Settings.Default.AppProperties.LoginToken = jobject["result"]["access_token"].ToObject<string>().ToLower();
  273. Settings.Default.Save();
  274. }
  275. return jobject["msg"].ToObject<string>().ToLower();
  276. }
  277. }
  278. catch
  279. {
  280. return "网络不稳定请重试";
  281. }
  282. }
  283. public static String Login(string intemail, string intpassword, string uuid)
  284. {
  285. string postBody = $"?appId=16&deviceSign={uuid}&email={intemail}&password={intpassword}&platformType=0";
  286. HttpWebResponse response = null;
  287. ServicePointManager.DefaultConnectionLimit = 200;
  288. HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(RequestHost + LoginUrl + postBody);
  289. request.Method = "Post";
  290. request.ContentType = "application/x-www-form-urlencoded";
  291. //request.Accept = "application/vnd.api+json;version=1";
  292. request.UserAgent = "Apifox/1.0.0 (https://www.apifox.cn)";
  293. request.Timeout = 20000;
  294. request.ServicePoint.Expect100Continue = false;
  295. try
  296. {
  297. response = (HttpWebResponse)request.GetResponse();
  298. using (StreamReader reader = new StreamReader(response.GetResponseStream()))
  299. {
  300. string responseData = reader.ReadToEnd();
  301. Console.WriteLine(responseData);
  302. reader.Close();
  303. JObject jobject = (JObject)JsonConvert.DeserializeObject(responseData);
  304. outlogin = jobject["msg"].ToObject<string>().ToLower();
  305. if (response != null)
  306. {
  307. response.Close();
  308. }
  309. if (request != null)
  310. {
  311. request.Abort();
  312. }
  313. if (jobject["msg"].ToObject<string>().ToLower() == "success")
  314. {
  315. access_token = jobject["result"]["access_token"].ToObject<string>().ToLower();
  316. Settings.Default.AppProperties.LoginToken = jobject["result"]["access_token"].ToObject<string>().ToLower();
  317. Settings.Default.Save();
  318. }
  319. return jobject["msg"].ToObject<string>().ToLower();
  320. }
  321. }
  322. catch
  323. {
  324. return "网络不稳定请重试";
  325. }
  326. }
  327. //⑤报错
  328. public static void Logout(string uuid)
  329. {
  330. string postBody = $"?deviceSign={uuid}&appId=16";
  331. HttpWebResponse response = null;
  332. ServicePointManager.DefaultConnectionLimit = 200;
  333. HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(RequestHost + LogoutUrl + postBody);
  334. request.Method = "Post";
  335. request.Headers.Add("Authorization", $"Bearer {Settings.Default.AppProperties.LoginToken}");
  336. request.ContentType = "application/x-www-form-urlencoded";
  337. //request.Accept = "application/vnd.api+json;version=1";
  338. request.UserAgent = "Apifox/1.0.0 (https://www.apifox.cn)";
  339. request.Timeout = 20000;
  340. request.ServicePoint.Expect100Continue = false;
  341. try
  342. {
  343. response = (HttpWebResponse)request.GetResponse();
  344. using (StreamReader reader = new StreamReader(response.GetResponseStream()))
  345. {
  346. string responseData = reader.ReadToEnd();
  347. Console.WriteLine(responseData);
  348. reader.Close();
  349. JObject jobject = (JObject)JsonConvert.DeserializeObject(responseData);
  350. if (response != null)
  351. {
  352. response.Close();
  353. }
  354. if (request != null)
  355. {
  356. request.Abort();
  357. }
  358. }
  359. }
  360. catch
  361. {
  362. }
  363. }
  364. public static String Usergout(string code)
  365. {
  366. string postBody = $"?code={code}";
  367. HttpWebResponse response = null;
  368. ServicePointManager.DefaultConnectionLimit = 200;
  369. HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(RequestHost + UseroutUrl + postBody);
  370. request.Method = "Post";
  371. request.Headers.Add("Authorization", $"Bearer {Settings.Default.AppProperties.LoginToken}");
  372. request.ContentType = "application/x-www-form-urlencoded";
  373. //request.Accept = "application/vnd.api+json;version=1";
  374. request.UserAgent = "Apifox/1.0.0 (https://www.apifox.cn)";
  375. request.Timeout = 20000;
  376. request.ServicePoint.Expect100Continue = false;
  377. try
  378. {
  379. response = (HttpWebResponse)request.GetResponse();
  380. using (StreamReader reader = new StreamReader(response.GetResponseStream()))
  381. {
  382. string responseData = reader.ReadToEnd();
  383. Console.WriteLine(responseData);
  384. reader.Close();
  385. JObject jobject = (JObject)JsonConvert.DeserializeObject(responseData);
  386. if (response != null)
  387. {
  388. response.Close();
  389. }
  390. if (request != null)
  391. {
  392. request.Abort();
  393. }
  394. return jobject["msg"].ToObject<string>().ToLower();
  395. }
  396. }
  397. catch
  398. {
  399. return "网络不稳定请重试";
  400. }
  401. }
  402. public static String Rebirth(string intemail, string firstpassword, string secondPassword, string intcode)
  403. {
  404. HttpWebResponse response = null;
  405. ServicePointManager.DefaultConnectionLimit = 200;
  406. HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(RequestHost + RebirthUrl);
  407. request.Method = "Post";
  408. request.ContentType = "application/json";
  409. //request.Accept = "application/vnd.api+json;version=1";
  410. request.UserAgent = "Apifox/1.0.0 (https://www.apifox.cn)";
  411. request.Timeout = 20000;
  412. request.ServicePoint.Expect100Continue = false;
  413. StringWriter sw = new StringWriter();
  414. using (JsonWriter writer = new JsonTextWriter(sw))
  415. {
  416. writer.WriteStartObject();
  417. writer.WritePropertyName("account");
  418. writer.WriteValue(intemail);
  419. writer.WritePropertyName("appId");
  420. writer.WriteValue(16);
  421. writer.WritePropertyName("firstPassword");
  422. writer.WriteValue(firstpassword);
  423. writer.WritePropertyName("platformType");
  424. writer.WriteValue(0);
  425. writer.WritePropertyName("secondPassword");
  426. writer.WriteValue(secondPassword);
  427. writer.WritePropertyName("verifyCode");
  428. writer.WriteValue(intcode);
  429. writer.WriteEndObject();
  430. }
  431. string postBody = sw.ToString();
  432. using (StreamWriter writer = new StreamWriter(request.GetRequestStream()))
  433. {
  434. writer.Write(postBody);
  435. writer.Close();
  436. }
  437. try
  438. {
  439. response = (HttpWebResponse)request.GetResponse();
  440. using (StreamReader reader = new StreamReader(response.GetResponseStream()))
  441. {
  442. string responseData = reader.ReadToEnd();
  443. Console.WriteLine(responseData);
  444. reader.Close();
  445. JObject jobject = (JObject)JsonConvert.DeserializeObject(responseData);
  446. if (response != null)
  447. {
  448. response.Close();
  449. }
  450. if (request != null)
  451. {
  452. request.Abort();
  453. }
  454. return jobject["msg"].ToObject<string>().ToLower();
  455. }
  456. }
  457. catch
  458. {
  459. return "网络不稳定请重试";
  460. }
  461. }
  462. }
  463. }