LoginController.cs 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248
  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. Debug.Log("LoginNormal:"+ username);
  12. string url = CommonConfig.gateServerURL + "/gameLogin/loginNormal";
  13. WWWForm form = new WWWForm();
  14. form.AddField("username", username);
  15. form.AddField("password", password);
  16. form.AddField("serverIndex", CommonConfig.serverIndex);
  17. using (UnityWebRequest request = UnityWebRequest.Post(url, form)) {
  18. yield return request.SendWebRequest();
  19. RequestResult requestResult = JsonConvert.DeserializeObject<RequestResult>(request.downloadHandler.text);
  20. if (callback != null) callback(requestResult);
  21. }
  22. }
  23. public IEnumerator LoginByWX(string loginCode, Action<RequestResult> callback) {
  24. string url = CommonConfig.gateServerURL + "/gameLogin/loginByWX";
  25. WWWForm form = new WWWForm();
  26. form.AddField("loginCode", loginCode);
  27. form.AddField("serverIndex", CommonConfig.serverIndex);
  28. using (UnityWebRequest request = UnityWebRequest.Post(url, form)) {
  29. request.timeout = 10;
  30. yield return request.SendWebRequest();
  31. RequestResult requestResult = new RequestResult();
  32. if (request.result == UnityWebRequest.Result.Success) {
  33. requestResult = JsonConvert.DeserializeObject<RequestResult>(request.downloadHandler.text);
  34. }
  35. if (callback != null) callback(requestResult);
  36. }
  37. }
  38. public IEnumerator LoginByWX_WithAppID(string loginCode, string appid, Action<RequestResult> callback)
  39. {
  40. string url = CommonConfig.gateServerURL + "/gameLogin/loginAppIDByWX";
  41. WWWForm form = new WWWForm();
  42. form.AddField("loginCode", loginCode);
  43. form.AddField("serverIndex", CommonConfig.serverIndex);
  44. form.AddField("appid", appid);
  45. using (UnityWebRequest request = UnityWebRequest.Post(url, form))
  46. {
  47. request.timeout = 10;
  48. yield return request.SendWebRequest();
  49. RequestResult requestResult = new RequestResult();
  50. if (request.result == UnityWebRequest.Result.Success)
  51. {
  52. requestResult = JsonConvert.DeserializeObject<RequestResult>(request.downloadHandler.text);
  53. }
  54. if (callback != null) callback(requestResult);
  55. }
  56. }
  57. public IEnumerator LoginByApple(string identityToken, string email, string fullName, Action<RequestResult> callback)
  58. {
  59. string url = CommonConfig.gateServerURL + "/gameLogin/loginByApple";
  60. WWWForm form = new WWWForm();
  61. form.AddField("identityToken", identityToken);
  62. form.AddField("email", email);
  63. form.AddField("fullName", fullName);
  64. form.AddField("serverIndex", CommonConfig.serverIndex);
  65. using (UnityWebRequest request = UnityWebRequest.Post(url, form))
  66. {
  67. request.timeout = 10;
  68. yield return request.SendWebRequest();
  69. RequestResult requestResult = new RequestResult();
  70. if (request.result == UnityWebRequest.Result.Success)
  71. {
  72. requestResult = JsonConvert.DeserializeObject<RequestResult>(request.downloadHandler.text);
  73. }
  74. if (callback != null) callback(requestResult);
  75. }
  76. }
  77. public IEnumerator DdeleteUserByApple(string identityToken, Action<RequestResult> callback)
  78. {
  79. string url = CommonConfig.gateServerURL + "/gameLogin/deleteUserByApple";
  80. WWWForm form = new WWWForm();
  81. form.AddField("identityToken", identityToken);
  82. form.AddField("serverIndex", CommonConfig.serverIndex);
  83. using (UnityWebRequest request = UnityWebRequest.Post(url, form))
  84. {
  85. request.timeout = 10;
  86. yield return request.SendWebRequest();
  87. RequestResult requestResult = new RequestResult();
  88. if (request.result == UnityWebRequest.Result.Success)
  89. {
  90. requestResult = JsonConvert.DeserializeObject<RequestResult>(request.downloadHandler.text);
  91. }
  92. if (callback != null) callback(requestResult);
  93. }
  94. }
  95. public IEnumerator Register(string username, string password, Action<RequestResult> callback) {
  96. string url = CommonConfig.gateServerURL + "/gameLogin/register";
  97. WWWForm form = new WWWForm();
  98. form.AddField("username", username);
  99. form.AddField("password", password);
  100. form.AddField("serverIndex", CommonConfig.serverIndex);
  101. using (UnityWebRequest request = UnityWebRequest.Post(url, form)) {
  102. yield return request.SendWebRequest();
  103. RequestResult requestResult = JsonConvert.DeserializeObject<RequestResult>(request.downloadHandler.text);
  104. if (callback != null) callback(requestResult);
  105. }
  106. }
  107. public IEnumerator Register2(string username, string password, string email, string phone, Action<RequestResult> callback) {
  108. string url = CommonConfig.gateServerURL + "/gameLogin/register2";
  109. WWWForm form = new WWWForm();
  110. form.AddField("username", username);
  111. form.AddField("password", password);
  112. form.AddField("email", email);
  113. form.AddField("phone", phone);
  114. form.AddField("serverIndex", CommonConfig.serverIndex);
  115. using (UnityWebRequest request = UnityWebRequest.Post(url, form)) {
  116. yield return request.SendWebRequest();
  117. RequestResult requestResult = JsonConvert.DeserializeObject<RequestResult>(request.downloadHandler.text);
  118. if (callback != null) callback(requestResult);
  119. }
  120. }
  121. public IEnumerator CompleteUserInfo(
  122. string username, string password,
  123. string nickname, int gender, string birthday,
  124. string countryCode, string stateCode, string cityCode,
  125. Action<RequestResult> callback
  126. ) {
  127. string url = CommonConfig.gateServerURL + "/gameLogin/completeUserInfo";
  128. WWWForm form = new WWWForm();
  129. form.AddField("username", username);
  130. form.AddField("password", password);
  131. form.AddField("nickname", nickname);
  132. form.AddField("gender", gender);
  133. form.AddField("birthday", birthday);
  134. form.AddField("countryCode", countryCode);
  135. form.AddField("stateCode", stateCode);
  136. form.AddField("cityCode", cityCode);
  137. using (UnityWebRequest request = UnityWebRequest.Post(url, form)) {
  138. yield return request.SendWebRequest();
  139. RequestResult requestResult = JsonConvert.DeserializeObject<RequestResult>(request.downloadHandler.text);
  140. if (callback != null) callback(requestResult);
  141. }
  142. }
  143. public IEnumerator LoginByPhone(string phone, Action<RequestResult> callback) {
  144. string url = CommonConfig.gateServerURL + "/gameLogin/loginByPhone";
  145. WWWForm form = new WWWForm();
  146. form.AddField("phone", phone);
  147. using (UnityWebRequest request = UnityWebRequest.Post(url, form)) {
  148. yield return request.SendWebRequest();
  149. RequestResult requestResult = JsonConvert.DeserializeObject<RequestResult>(request.downloadHandler.text);
  150. if (callback != null) callback(requestResult);
  151. }
  152. }
  153. public IEnumerator LoginByToken(Action<RequestResult> callback) {
  154. string url = CommonConfig.gateServerURL + "/gameLogin/loginByToken";
  155. WWWForm form = new WWWForm();
  156. form.AddField("token", PlayerPrefs.GetString(LoginMgr.LoginTokenKey));
  157. form.AddField("sceneName", UnityEngine.SceneManagement.SceneManager.GetActiveScene().name);
  158. form.AddField("serverIndex", CommonConfig.serverIndex);
  159. using (UnityWebRequest request = UnityWebRequest.Post(url, form)) {
  160. request.timeout = 10;
  161. yield return request.SendWebRequest();
  162. RequestResult requestResult;
  163. if (request.result == UnityWebRequest.Result.Success)
  164. requestResult = JsonConvert.DeserializeObject<RequestResult>(request.downloadHandler.text);
  165. else
  166. {
  167. requestResult = new RequestResult();
  168. Debug.LogError("LoginByToken Request Fail: " + request.result);
  169. }
  170. if (callback != null) callback(requestResult);
  171. }
  172. }
  173. public IEnumerator GetUserInfo(Action<RequestResult> callback)
  174. {
  175. string url = CommonConfig.gateServerURL + "/gameLogin/getUserInfo";
  176. WWWForm form = new WWWForm();
  177. form.AddField("token", PlayerPrefs.GetString(LoginMgr.LoginTokenKey));
  178. using (UnityWebRequest request = UnityWebRequest.Post(url, form))
  179. {
  180. request.timeout = 10;
  181. yield return request.SendWebRequest();
  182. RequestResult requestResult;
  183. if (request.result == UnityWebRequest.Result.Success)
  184. requestResult = JsonConvert.DeserializeObject<RequestResult>(request.downloadHandler.text);
  185. else
  186. {
  187. requestResult = new RequestResult();
  188. }
  189. if (callback != null) callback(requestResult);
  190. }
  191. }
  192. public IEnumerator ListUsernamesByEmail(string email, long timestamp, string sign, Action<RequestResult> callback) {
  193. string url = CommonConfig.gateServerURL + "/gameLogin/listUsernamesByEmail";
  194. WWWForm form = new WWWForm();
  195. form.AddField("email", email);
  196. form.AddField("timestamp", timestamp.ToString());
  197. form.AddField("sign", sign);
  198. using (UnityWebRequest request = UnityWebRequest.Post(url, form)) {
  199. yield return request.SendWebRequest();
  200. RequestResult requestResult = JsonConvert.DeserializeObject<RequestResult>(request.downloadHandler.text);
  201. if (callback != null) callback(requestResult);
  202. }
  203. }
  204. public IEnumerator ListUsernamesByPhone(string phone, long timestamp, string sign, Action<RequestResult> callback) {
  205. string url = CommonConfig.gateServerURL + "/gameLogin/listUsernamesByPhone";
  206. WWWForm form = new WWWForm();
  207. form.AddField("phone", phone);
  208. form.AddField("timestamp", timestamp.ToString());
  209. form.AddField("sign", sign);
  210. using (UnityWebRequest request = UnityWebRequest.Post(url, form)) {
  211. yield return request.SendWebRequest();
  212. RequestResult requestResult = JsonConvert.DeserializeObject<RequestResult>(request.downloadHandler.text);
  213. if (callback != null) callback(requestResult);
  214. }
  215. }
  216. public IEnumerator ResetPassword(string sign, long timestamp, string username, string password, Action<RequestResult> callback) {
  217. string url = CommonConfig.gateServerURL + "/gameLogin/resetPassword";
  218. WWWForm form = new WWWForm();
  219. form.AddField("sign", sign);
  220. form.AddField("timestamp", timestamp.ToString());
  221. form.AddField("username", username);
  222. form.AddField("password", password);
  223. using (UnityWebRequest request = UnityWebRequest.Post(url, form)) {
  224. yield return request.SendWebRequest();
  225. RequestResult requestResult = JsonConvert.DeserializeObject<RequestResult>(request.downloadHandler.text);
  226. if (callback != null) callback(requestResult);
  227. }
  228. }
  229. }
  230. public class RequestResult {
  231. public int code = -9999;
  232. public object data;
  233. public string msg;
  234. }