/// <summary> /// 点击登录按钮 /// </summary> public void OnLoginClick() { if (!mIsAgree) { Global.Inst.GetController <CommonTipsController>().ShowTips("请先同意用户协议", "确定"); return; } //登录 //登录成功回调 CallBack callback = () => { Global.Inst.GetController <MainController>().OpenWindow(); Close(); }; #if WECHAT Global.Inst.GetController <NetLoadingController>().ShowLoading(true); string loginStr = PlayerPrefs.GetString("wechat_login_data", "");//获取保存到本地的登录信息 LoginSR.SendLogin data = null; if (!string.IsNullOrEmpty(loginStr)) { data = Json.Deserialize <LoginSR.SendLogin>(loginStr); } if (data != null && !string.IsNullOrEmpty(data.openId))//如果登录信息不为空就直接登录 { Global.Inst.GetController <LoginController>().LoginToServer(data, () => { callback(); }); } else//SDK登录 { Global.Inst.GetController <NetLoadingController>().ShowLoading(true); SixqinSDKManager.Inst.AuthPlat(cn.sharesdk.unity3d.PlatformType.WeChat, (d) => { Global.Inst.GetController <LoginController>().LoginToServer(d, () => { callback(); }); }); } #else string id = mInput.value; if (string.IsNullOrEmpty(id)) { Global.Inst.GetController <CommonTipsController>().ShowTips("id不能为空"); return; } LoginSR.SendLogin data = new LoginSR.SendLogin(); data.openId = id; data.nickname = "特伦苏" + id; data.sex = 1; data.headUrl = "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1532170478982&di=8b36bc5c0de739edde5e0b6e40784fde&imgtype=0&src=http%3A%2F%2Ftouxiang.yeree.com%2Fpics%2F4a%2F3756897.jpg"; PlayerPrefs.SetString("2710_login", id); Global.Inst.GetController <LoginController>().LoginToServer(data, () => { callback(); }); #endif }
/// <summary> /// 登录大厅服务器 /// </summary> /// <param name="req"></param> public void LoginToServer(LoginSR.SendLogin req, CallBack call) { LoginModel.Inst.LoginData = req; //连接服务器 ConnectServer(() => { //服务器连接成功后登录服务器 NetProcess.SendRequest <LoginSR.SendLogin>(req, ProtoIdMap.CMD_Login, (msg) => { LoginSR.LoginBack data = msg.Read <LoginSR.LoginBack>(); if (data.code == 1) { if (Application.platform != RuntimePlatform.WindowsEditor && Application.platform != RuntimePlatform.OSXEditor) { SixqinSDKManager.Inst.SendMsg(SixqinSDKManager.GET_INSTALL_DATA);//发送扫二维码添加的好友 } PlayerModel.Inst.Token = data.data.userInfo.token; PlayerModel.Inst.UserInfo = data.data.userInfo; if (Application.platform != RuntimePlatform.WindowsEditor && Application.platform != RuntimePlatform.OSXEditor) { //SixqinSDKManager.Inst.InitJPUSH(PlayerModel.Inst.UserInfo.userId);//初始化jpush } ////公众号 //PlayerModel.Inst.PublicSign = data.data.publicSign; //广播 MainViewModel.Inst.BroadMessage.Clear(); Global.Inst.GetController <MainController>().SendGetNotice(); if (!string.IsNullOrEmpty(data.roomId))//在房间中 { Global.Inst.GetController <XXGoldFlowerGameController>().SendJoinRoomReq(data.roomId); } else { if (call != null) { call(); } } } else if (data.code == 12) { PlayerModel.Inst.Token = data.data.userInfo.token; PlayerModel.Inst.UserInfo = data.data.userInfo; if (Application.platform != RuntimePlatform.WindowsEditor && Application.platform != RuntimePlatform.OSXEditor) { SixqinSDKManager.Inst.InitJPUSH(PlayerModel.Inst.UserInfo.userId);//初始化jpush } Global.Inst.GetController <GamePatternController>().ConnectGameServer(data.data.gameServer.ip, int.Parse(data.data.gameServer.port)); } else { GameUtils.ShowErrorTips(data.code); } }); }); }
/// <summary> /// 登录到大厅 /// </summary> public void LoginToMainServer(string ip, int port) { LoginSR.SendLogin req = new LoginSR.SendLogin(); req.token = PlayerModel.Inst.Token; if (string.IsNullOrEmpty(req.token)) { return; } NetProcess.SendRequest <LoginSR.SendLogin>(req, ProtoIdMap.CMD_Login, (msg) => { LoginSR.LoginBack data = msg.Read <LoginSR.LoginBack>(); if (data.code == 1) { Scene now = SceneManager.GetActiveScene(); if (now.name != "HALL" && now.name != "Start") { SceneManager.LoadScene("HALL"); GC.Collect(); Resources.UnloadUnusedAssets(); } MainViewModel.Inst.mNowIp = ip; MainViewModel.Inst.mNowPort = port; PlayerModel.Inst.Token = data.data.userInfo.token; PlayerModel.Inst.UserInfo = data.data.userInfo; SendGetNotice(); OpenWindow(); List <string> names = new List <string>(); names.Add(typeof(MainView).Name); BaseView.CloseAllViewBut(names); } else { if (data.code == 2) { Global.Inst.GetController <CommonTipsController>().ShowTips("您的登录已过期,请重新登录", "确定", true, () => { Global.Inst.GetController <LoginController>().LoginOut(); }, null, null, "登录异常"); } else { GameUtils.ShowErrorTips(data.code); } } }); }
public void OnLoginBtnClick() { if (string.IsNullOrEmpty(mAccount.value)) { Global.Inst.GetController <CommonTipsController>().ShowTips("账号不能为空!"); return; } if (string.IsNullOrEmpty(mPwd.value)) { Global.Inst.GetController <CommonTipsController>().ShowTips("密码不能为空!"); return; } LoginSR.SendLogin req = new LoginSR.SendLogin(); req.account = mAccount.value; req.password = GameUtils.GetMd5(mPwd.value); Global.Inst.GetController <LoginController>().LoginToServer(req, () => { Global.Inst.GetController <MainController>().OpenWindow(); Global.Inst.GetController <LoginController>().CloseWindow(); }); }
/// <summary> /// 解析登录信息 /// </summary> /// <param name="uuInfo"></param> /// <param name="result"></param> /// <returns></returns> private LoginSR.SendLogin GetLoginData(Hashtable uuInfo, Hashtable result, PlatformType type) { #if UNITY_ANDROID if (uuInfo.Contains("openID") || uuInfo.Contains("res")) { LoginSR.SendLogin req = new LoginSR.SendLogin(); req.headUrl = uuInfo["userIcon"].ToString(); req.nickname = uuInfo["userName"].ToString(); //req.openId = uuInfo["userID"].ToString(); req.openId = uuInfo["unionID"].ToString(); if (uuInfo.ContainsKey("userGender")) { req.sex = uuInfo["userGender"].ToString().Equals("m") ? 1 : 2; } else { req.sex = 1; } SQDebug.Log("发送登陆指令。。。。。。。"); string str = Json.Serializer <LoginSR.SendLogin>(req); if (!string.IsNullOrEmpty(str)) //将登录信息保存在本地 { PlayerPrefs.SetString("wechat_login_data", str); //获取保存到本地的登录信息 } Global.Inst.GetController <NetLoadingController>().ShowLoading(false); if (mGetAuthDataCallBack != null) { mGetAuthDataCallBack(req); } //loginData.Add("nickName", Helper.Base64Encode(uuInfo["userName"].ToString())); return(req); } #elif UNITY_IPHONE if (uuInfo.Contains("openid") || uuInfo.Contains("res")) { LoginSR.SendLogin req = new LoginSR.SendLogin(); //req.openId = uuInfo["openid"].ToString(); req.headUrl = uuInfo["headimgurl"].ToString(); req.nickname = uuInfo["nickname"].ToString();//("nickName", Helper.Base64Encode(uuInfo["nickname"].ToString())); req.openId = uuInfo["unionid"].ToString(); if (uuInfo.ContainsKey("sex")) { req.sex = uuInfo["sex"].ToString().Equals("m") ? 1 : 2; } else { req.sex = 1; } //MainPlayer.It.LoginToServer(loginData); Global.Inst.GetController <NetLoadingController>().ShowLoading(false); if (mGetAuthDataCallBack != null) { mGetAuthDataCallBack(req); } SQDebug.Log("发送登陆指令。。。。。。。"); return(req); } #endif return(null); }