LoginController.cs 4.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using System;
  4. using UnityEngine;
  5. using UnityEngine.Networking;
  6. using Newtonsoft.Json;
  7. /* Http控制器-登录 */
  8. public class LoginController : JCUnityLib.Singleton<LoginController>
  9. {
  10. public IEnumerator LoginNormal(string username, string password, Action<RequestResult> callback) {
  11. string url = CommonConfig.gateServerURL + "/gameLogin/loginNormal";
  12. WWWForm form = new WWWForm();
  13. form.AddField("username", username);
  14. form.AddField("password", password);
  15. form.AddField("serverIndex", CommonConfig.serverIndex);
  16. using (UnityWebRequest request = UnityWebRequest.Post(url, form)) {
  17. yield return request.SendWebRequest();
  18. RequestResult requestResult = JsonConvert.DeserializeObject<RequestResult>(request.downloadHandler.text);
  19. if (callback != null) callback(requestResult);
  20. }
  21. }
  22. public IEnumerator Register(string username, string password, Action<RequestResult> callback) {
  23. string url = CommonConfig.gateServerURL + "/gameLogin/register";
  24. WWWForm form = new WWWForm();
  25. form.AddField("username", username);
  26. form.AddField("password", password);
  27. form.AddField("serverIndex", CommonConfig.serverIndex);
  28. using (UnityWebRequest request = UnityWebRequest.Post(url, form)) {
  29. yield return request.SendWebRequest();
  30. RequestResult requestResult = JsonConvert.DeserializeObject<RequestResult>(request.downloadHandler.text);
  31. if (callback != null) callback(requestResult);
  32. }
  33. }
  34. public IEnumerator CompleteUserInfo(
  35. string username, string password,
  36. string nickname, int gender, string birthday,
  37. string countryCode, string stateCode, string cityCode,
  38. Action<RequestResult> callback
  39. ) {
  40. string url = CommonConfig.gateServerURL + "/gameLogin/completeUserInfo";
  41. WWWForm form = new WWWForm();
  42. form.AddField("username", username);
  43. form.AddField("password", password);
  44. form.AddField("nickname", nickname);
  45. form.AddField("gender", gender);
  46. form.AddField("birthday", birthday);
  47. form.AddField("countryCode", countryCode);
  48. form.AddField("stateCode", stateCode);
  49. form.AddField("cityCode", cityCode);
  50. using (UnityWebRequest request = UnityWebRequest.Post(url, form)) {
  51. yield return request.SendWebRequest();
  52. RequestResult requestResult = JsonConvert.DeserializeObject<RequestResult>(request.downloadHandler.text);
  53. if (callback != null) callback(requestResult);
  54. }
  55. }
  56. public IEnumerator LoginByPhone(string phone, Action<RequestResult> callback) {
  57. string url = CommonConfig.gateServerURL + "/gameLogin/loginByPhone";
  58. WWWForm form = new WWWForm();
  59. form.AddField("phone", phone);
  60. using (UnityWebRequest request = UnityWebRequest.Post(url, form)) {
  61. yield return request.SendWebRequest();
  62. RequestResult requestResult = JsonConvert.DeserializeObject<RequestResult>(request.downloadHandler.text);
  63. if (callback != null) callback(requestResult);
  64. }
  65. }
  66. public IEnumerator LoginByToken(Action<RequestResult> callback) {
  67. string url = CommonConfig.gateServerURL + "/gameLogin/loginByToken";
  68. WWWForm form = new WWWForm();
  69. form.AddField("token", PlayerPrefs.GetString(LoginMgr.LoginTokenKey));
  70. form.AddField("sceneName", UnityEngine.SceneManagement.SceneManager.GetActiveScene().name);
  71. form.AddField("serverIndex", CommonConfig.serverIndex);
  72. using (UnityWebRequest request = UnityWebRequest.Post(url, form)) {
  73. yield return request.SendWebRequest();
  74. RequestResult requestResult = JsonConvert.DeserializeObject<RequestResult>(request.downloadHandler.text);
  75. if (callback != null) callback(requestResult);
  76. }
  77. }
  78. }
  79. public class RequestResult {
  80. public int code;
  81. public object data;
  82. public string msg;
  83. }