|
|
@@ -4,6 +4,8 @@ using UnityEngine;
|
|
|
using UnityEngine.UI;
|
|
|
using UnityEngine.SceneManagement;
|
|
|
using System.Text.RegularExpressions;
|
|
|
+using Newtonsoft.Json.Linq;
|
|
|
+using JCUnityLib;
|
|
|
/* 登录界面 */
|
|
|
public class LoginView : MonoBehaviour
|
|
|
{
|
|
|
@@ -184,9 +186,7 @@ public class LoginView : MonoBehaviour
|
|
|
PopupMgr.ins.ShowTip(TextAutoLanguage2.GetTextByCNKey(res.msg));
|
|
|
if (res.code == 0) {
|
|
|
string loginToken = (string)res.data;
|
|
|
- CommonConfig.businessServerWsURL = loginToken.Split('&')[2];
|
|
|
- PlayerPrefs.SetString(LoginMgr.LoginTokenKey, loginToken);
|
|
|
- SceneManager.LoadScene("Home", LoadSceneMode.Single);
|
|
|
+ GoToHome(loginToken);
|
|
|
}
|
|
|
}
|
|
|
));
|
|
|
@@ -208,16 +208,36 @@ public class LoginView : MonoBehaviour
|
|
|
#endif
|
|
|
}
|
|
|
|
|
|
+ private string _loginToken = null;
|
|
|
public void OnWxLoginResp(string loginCode) {
|
|
|
if (string.IsNullOrWhiteSpace(loginCode)) return;
|
|
|
transform.Find("MaskWxLogin").gameObject.SetActive(true);
|
|
|
StartCoroutine(LoginController.Instance.LoginByWX(loginCode, (res) => {
|
|
|
Debug.Log($"wxlogin service rescode {res.code}, msg {res.msg}");
|
|
|
if (res.code == 0) {
|
|
|
- string loginToken = (string)res.data;
|
|
|
- CommonConfig.businessServerWsURL = loginToken.Split('&')[2];
|
|
|
- PlayerPrefs.SetString(LoginMgr.LoginTokenKey, loginToken);
|
|
|
- SceneManager.LoadScene("Home", LoadSceneMode.Single);
|
|
|
+ JObject data = (JObject)res.data;
|
|
|
+ _loginToken = data.Value<string>("token");
|
|
|
+ bool needBindPhone = data.Value<bool>("needBindPhone");
|
|
|
+ if (needBindPhone)
|
|
|
+ {
|
|
|
+ transform.Find("MaskWxLogin").gameObject.SetActive(false);
|
|
|
+ //打开手机绑定界面
|
|
|
+ RelateValidateView relateValidateView =
|
|
|
+ Instantiate(SceneResourceManager.Instance.GetPrefab("RelateValidateView"))
|
|
|
+ .GetComponent<RelateValidateView>();
|
|
|
+ CanvasUtils.PlusSortOrder(gameObject.GetComponentInParent<Canvas>().gameObject, relateValidateView.gameObject, 1);
|
|
|
+ relateValidateView.InitForPhone2();
|
|
|
+ relateValidateView.onValidateSuccess = (a, b, c) => {
|
|
|
+ StartCoroutine(UserController.Instance.SavePhone2(_loginToken, a, b, c, (res) => {
|
|
|
+ if (res.code == 0) {
|
|
|
+ PopupMgr.ins.ShowTip(TextAutoLanguage2.GetTextByKey("RelateValidateView-pass1"));
|
|
|
+ relateValidateView?.CloseView();
|
|
|
+ DoTweenUtil.CallDelay(0.1f, () => GoToHome(_loginToken));
|
|
|
+ }
|
|
|
+ }));
|
|
|
+ };
|
|
|
+ }
|
|
|
+ else GoToHome(_loginToken);
|
|
|
} else {
|
|
|
transform.Find("MaskWxLogin").gameObject.SetActive(false);
|
|
|
PopupMgr.ins.ShowTip(TextAutoLanguage2.GetTextByKey("wxlogin_fail"));
|
|
|
@@ -225,6 +245,13 @@ public class LoginView : MonoBehaviour
|
|
|
}));
|
|
|
}
|
|
|
|
|
|
+ private void GoToHome(string loginToken)
|
|
|
+ {
|
|
|
+ CommonConfig.businessServerWsURL = loginToken.Split('&')[2];
|
|
|
+ PlayerPrefs.SetString(LoginMgr.LoginTokenKey, loginToken);
|
|
|
+ SceneManager.LoadScene("Home", LoadSceneMode.Single);
|
|
|
+ }
|
|
|
+
|
|
|
void LoginByPhone() {
|
|
|
InputField user = GetInputField(loginInPhone);
|
|
|
Regex regex = new Regex(@"^(((13[0-9]{1})|(15[0-35-9]{1})|(17[0-9]{1})|(18[0-9]{1}))+\d{8})$");
|
|
|
@@ -238,9 +265,7 @@ public class LoginView : MonoBehaviour
|
|
|
PopupMgr.ins.ShowTip(TextAutoLanguage2.GetTextByCNKey(res.msg));
|
|
|
if (res.code == 0) {
|
|
|
string loginToken = (string)res.data;
|
|
|
- CommonConfig.businessServerWsURL = loginToken.Split('&')[2];
|
|
|
- PlayerPrefs.SetString(LoginMgr.LoginTokenKey, loginToken);
|
|
|
- SceneManager.LoadScene("Home", LoadSceneMode.Single);
|
|
|
+ GoToHome(loginToken);
|
|
|
}
|
|
|
}
|
|
|
));
|