public static void GetLogin(string user, string pass, LoginCallBack call) { Global.clientID = Guid.NewGuid().ToString().Replace("-", ""); SessionToken session = new SessionToken(); try { string json_request = "{\"agent\": { \"name\": \"Minecraft\", \"version\": 1 }, \"username\": \"" + JsonEncode(user) + "\", \"password\": \"" + JsonEncode(pass) + "\", \"clientToken\": \"" + JsonEncode(Global.clientID) + "\" }"; DoHTTPSPost("https://authserver.mojang.com/authenticate", json_request, (bool isSuccess, string result) => { if (isSuccess) { if (result.Contains("availableProfiles\":[]}")) { call(LoginResult.NotPremium, session); } else { session = JsonUtility.FromJson <SessionToken>(result); if (!string.IsNullOrEmpty(session.accessToken)) { call(LoginResult.Success, session); } } } }); } catch (Exception e) { UnityEngine.Debug.Log(e.Message); } call(LoginResult.InvalidResponse, session); }
internal void QQLogin(LoginCallBack cb, FailureCallBack fcb) { CurPlatformType = PlatformType.QQ; ssdk.Authorize(CurPlatformType); CurCB += cb; CurFailureCB += fcb; }
static void InitLogin(List <LoginInterface> list) { for (int i = 0; i < list.Count; i++) { try { list[i].m_SDKName = list[i].GetType().Name; list[i].Init(); s_loginCallBack += list[i].m_callBack; } catch (Exception e) { Debug.LogError("Init LoginInterface SDK Exception:\n" + e.ToString()); } } }
IEnumerator Login() { AppManager.Instance.loading.SetActive(true); loginapi.user_phone = phone.text; loginapi.user_pwd = password.text; string infoText = JsonUtility.ToJson(loginapi).ToString(); WWWForm form = new WWWForm(); form.AddField("uid", phone.text); form.AddField("info", infoText); using (UnityWebRequest www = UnityWebRequest.Post("http://39.107.240.174/api/addict/login?appid=addict&access_token=0000&sign=12345", form)) { yield return(www.SendWebRequest()); if (www.isNetworkError || www.isHttpError) { Debug.Log(www.error); AppManager.Instance.loading.SetActive(false); } else { string responseText = www.downloadHandler.text; LoginCallBack callback = new LoginCallBack(); callback = JsonUtility.FromJson <LoginCallBack>(responseText); if (callback.errmsg == "OK") { invalidText.text = ""; AppManager.Instance.phoneNumber = phone.text; AppManager.Instance.FetchUserData(); AppManager.Instance.loading.SetActive(false); Chatmanager.Instance.userName = AppManager.Instance.userdata.Name; Chatmanager.Instance.StartConnection(); ScreenManager.Instance.Activate <HomeScreen>(); } else if (callback.errmsg == "wrong username or userpwd") { AppManager.Instance.loading.SetActive(false); invalidText.text = "Invalid Username or Password!"; } } } }
public void LoginSuccess(object sender, LoginCallBack data) { if (data.LoginStatus == Status.Yes) { MessageBoxResult result = MessageBox.Show("登陆成功"); if (result == MessageBoxResult.OK) { App.Current.Dispatcher.Invoke(() => { ClientWindow cw = new ClientWindow(helper, data.UsersInfo, data.Talks, data.AddFriends, txtId.Text.Trim(), data.UserName); cw.Show(); this.Close(); }); } } else { this.btnLogin.IsEnabled = true; MessageBox.Show(data.msg); } }
public void LoginCallBack(LoginCallBack callBack) { return; }
public static event EventHandler <TalkContract> GetMsgHandler; //接收消息事件 public static void Handle(object sender, string data) { string[] d = Data_Init(data); switch (d[0]) { case "LOGINCALLBACK": try { LoginCallBack callBack = DataHelpers.DeXMLSer <LoginCallBack>(d[1]); if (LoginHandler != null) { LoginHandler(null, callBack); } } catch { break; } break; case "SIGNUPCALLBACK": try { SignUpCallBack callBack = DataHelpers.DeXMLSer <SignUpCallBack>(d[1]); if (SignupHandler != null) { SignupHandler(null, callBack); } } catch { break; } break; case "PRESENCEMSG": break; case "SEARCHCALLBACK": try { SearchCallBack callBack = DataHelpers.DeXMLSer <SearchCallBack>(d[1]); if (SearchHandler != null) { SearchHandler(null, callBack); } } catch { break; } break; case "ADDCALLBACK": User user = DataHelpers.DeXMLSer <User>(d[1]); if (UpdateFriendHandler != null) { UpdateFriendHandler(null, user); } break; case "ADDCONFIRM": try { AddConfirm confirm = DataHelpers.DeXMLSer <AddConfirm>(d[1]); if (AddComfirmHandler != null) { AddComfirmHandler(null, confirm); } } catch { break; } break; case "REMOVE": RemoveContract remove = null; try { remove = DataHelpers.DeXMLSer <RemoveContract>(d[1]); if (RemoveFriendHandler != null) { RemoveFriendHandler(null, remove); } } catch (Exception e) { throw e; } break; case "TALK": TalkContract talk = null; try { talk = DataHelpers.DeXMLSer <TalkContract>(d[1]); if (GetMsgHandler != null) { GetMsgHandler(null, talk); } } catch { break; } break; default: break; } }
//用户登陆 public LoginCallBack Login(TcpClient client, LoginContract contract) { using (var model = new Data.DataModel()) { LoginCallBack callback = new LoginCallBack(); var user = model.users.Where(p => p.UserId.Equals(contract.UserId)).FirstOrDefault(); if (user.Password == contract.UserPwd) { //将该用户写入出席服务 model.presenceusers.Add(new presenceuser { UserId = contract.UserId, IPAddress = client.Client.RemoteEndPoint.ToString(), PresenceTime = DataHelpers.GetTimeStamp(), Status = Status.Online.ToString() }); //获取好友列表 var friends = model.friends.Where(p => p.UserId.Equals(user.UserId)).Select((p) => new User { UserId = p.FriendId, UserName = model.users.Where(q => q.UserId.Equals(p.FriendId)).Select(q => q.UserName).FirstOrDefault(), IsOnline = Status.Offline, ip = "127.0.0.1" }).ToList(); //获取在线列表 var friendsInfo = model.friends.Join(model.presenceusers, a => a.FriendId, b => b.UserId, (a, b) => new User { UserId = b.UserId, UserName = model.users.Where(p => p.UserId.Equals(a.UserId)).Select(p => p.UserName).FirstOrDefault(), IsOnline = Status.Online, ip = b.IPAddress }).ToList(); //合并两个文件 foreach (var i in friendsInfo) { foreach (var i2 in friends) { if (i.UserId.Equals(i2.UserId)) { i2.IsOnline = i.IsOnline; i2.ip = i.ip; } } } //获取待接收消息 var talks = model.waitforsendings.Where((p) => p.ReceiverId.Equals(contract.UserId)).Select(p => new TalkContract { Content = p.Msg, SenderId = p.SenderId, ReceiverId = p.ReceiverId, SenderName = model.users.Where(x => x.UserId.Equals(p.SenderId)).Select(y => y.UserName).FirstOrDefault() }).ToList(); //获取待同意好友申请 var adds = model.addfriends.Where((p) => p.ReceiverId.Equals(contract.UserId) && p.Status.Equals(Status.Waiting.ToString())).Select((p) => new AddFriend { UserId = p.SenderId, }).ToList(); callback = new LoginCallBack(Status.Yes, friends, talks, adds, null, user.UserName); model.SaveChanges(); //刷新数据库 return(callback); } else { List <User> friends = null; List <TalkContract> talks = null; List <AddFriend> adds = null; callback = new LoginCallBack(Status.No, friends, talks, adds, "登陆失败", "未登录"); return(callback); } } }
void Login(LoginCallBack cb, FailureCallBack fcb) { }
void OnAuthResultHandler(int reqID, ResponseState state, PlatformType type, Hashtable result) { if (state == ResponseState.Success) { if (result != null && result.Count > 0) { string res = MiniJSON.jsonEncode(result); //PrintDebugInfo.Add("Authorize Success !" + "Platform:" + type + " Result:" + res); Debug.Log("=========================================="); Debug.Log(res); Debug.Log("=========================================="); /*switch(CurPlatformType) * { * case PlatformType.WeChat: * { * PrintDebugInfo.Add("解析:"); * PrintDebugInfo.Add("country:" + resData["country"].ToString()); * PrintDebugInfo.Add("refresh_token:" + resData["refresh_token"].ToString()); * PrintDebugInfo.Add("province:" + resData["province"].ToString()); * PrintDebugInfo.Add("gender:" + resData["gender"].ToString()); * PrintDebugInfo.Add("icon:" + resData["icon"].ToString()); * PrintDebugInfo.Add("unionid:" + resData["unionid"].ToString()); * PrintDebugInfo.Add("openid:" + resData["openid"].ToString()); * PrintDebugInfo.Add("nickname:" + resData["nickname"].ToString()); * PrintDebugInfo.Add("userID:" + resData["userID"].ToString()); * PrintDebugInfo.Add("city:" + resData["city"].ToString()); * PrintDebugInfo.Add("expiresTime:" + resData["expiresTime"].ToString()); * PrintDebugInfo.Add("expiresIn:" + resData["expiresIn"].ToString()); * PrintDebugInfo.Add("token:" + resData["token"].ToString()); * } * break; * case PlatformType.QQ: * { * PrintDebugInfo.Add("解析:"); * PrintDebugInfo.Add("expiresIn:" + resData["expiresIn"].ToString()); * PrintDebugInfo.Add("pfkey:" + resData["pfkey"].ToString()); * PrintDebugInfo.Add("secret:" + resData["secret"].ToString()); * PrintDebugInfo.Add("iconQzone:" + resData["iconQzone"].ToString()); * PrintDebugInfo.Add("gender:" + resData["gender"].ToString()); * PrintDebugInfo.Add("icon:" + resData["icon"].ToString()); * PrintDebugInfo.Add("pay_token:" + resData["pay_token"].ToString()); * PrintDebugInfo.Add("unionid:" + resData["unionid"].ToString()); * PrintDebugInfo.Add("nickname:" + resData["nickname"].ToString()); * PrintDebugInfo.Add("pf:" + resData["pf"].ToString()); * PrintDebugInfo.Add("secretType:" + resData["secretType"].ToString()); * PrintDebugInfo.Add("userID:" + resData["userID"].ToString()); * PrintDebugInfo.Add("expiresTime:" + resData["expiresTime"].ToString()); * PrintDebugInfo.Add("token:" + resData["token"].ToString()); * } * break; * }*/ /*iOS 微信返回值 * { * "country":"", * "province":"", * "nickname":"\u732b\u62d6\u9aa1\u62c9", * "credential": * { * "access_token":"16_dKg-yNotgs3urDeZUGDbgSRkqh3O68CrFMFERufG_w9PBjM0rloVJhS0conFX-R184-h1ClBikAmyeXz4p_9F3_eeYsPEXYLdxiUrq3sw-k", * "openid":"oRaVf5m9CxHO9NUwOTe5KdAUKsbQ", * "scope":"snsapi_userinfo", * "refresh_token":"16_B2Z9Bk0-ZTNt6vpm5F9bAfsw4GfSX6QdCRBb-OecuCizAh8b7YYtU5lbbMgXDr7hEpz9RZjzIkp7AzghiIKpfSI7Bn1IrdMEvQWhW82jubE", * "expires_in":7200, * "unionid":"oUqxL1Bbbw0zFBxL4bMRWhb4hbzI" * }, * "unionid":"oUqxL1Bbbw0zFBxL4bMRWhb4hbzI", * "openid":"oRaVf5m9CxHO9NUwOTe5KdAUKsbQ", * "privilege":[], * "city":"", * "sex":0, * "language":"zh_CN", * "headimgurl":"http://thirdwx.qlogo.cn/mmopen/vi_32/b9KoSo6KV9AlDjeViaEhFssSSBv9iaCB0NTF3rw3BXBic1yF4q6CicUjOicLElH2TPliaqiceVEG4ljIahic5JQmyVWcLg/132" * }*/ if (CurCB != null) { Dictionary <string, object> resData = Json.Deserialize(res) as Dictionary <string, object>; CurCB(resData["userID"].ToString(), resData["nickname"].ToString()); CurCB = null; } if (CurCB4WeChat != null) { LitJson.JsonData jsonRes = LitJson.JsonMapper.ToObject(res); LitJson.JsonData credentialData = jsonRes["credential"]; CurCB4WeChat(jsonRes["openid"].ToString(), jsonRes["unionid"].ToString(), credentialData["access_token"].ToString(), jsonRes["nickname"].ToString()); CurCB4WeChat = null; } } else { PrintDebugInfo.Add("Authorize Success !" + " Platform:" + type); } } else if (state == ResponseState.Fail) { #if UNITY_ANDROID PrintDebugInfo.Add("fail! throwable stack = " + result["stack"] + "; error msg = " + result["msg"]); if (CurFailureCB != null) { CurFailureCB(result["msg"].ToString()); } CurFailureCB = null; #elif UNITY_IPHONE print("fail! error code = " + result["error_code"] + "; error msg = " + result["error_msg"]); #endif } else if (state == ResponseState.Cancel) { PrintDebugInfo.Add("cancel !"); if (CurFailureCB != null) { CurFailureCB("用户取消授权登录!"); } CurFailureCB = null; } }
public static void Handle(object sender, string data) { ServerHandle server = new ServerHandle(); IServerHandle ish = (IServerHandle)server; TCPHelper helper = (TCPHelper)sender; string[] d = Data_Init(data); switch (d[0]) { case "LOGIN": LoginContract login = null; try { login = WTalk.Helpers.DataHelpers.DeXMLSer <LoginContract>(d[1]); } catch { } LoginCallBack callBack = ish.Login(helper.tcpClient, login); if (ShowOnServerWindow != null) { if (callBack.LoginStatus == Status.Yes) { UserArgs args = new UserArgs { IP = helper.tcpClient.Client.RemoteEndPoint.ToString(), Id = login.UserId }; string log = string.Format("{0}-->Login Success", helper.tcpClient.Client.RemoteEndPoint.ToString()); ShowOnServerWindow(null, log); if (LoginHandler != null) { LoginHandler(null, args); } } else { string log = string.Format("{0}-->Login Fail", helper.tcpClient.Client.RemoteEndPoint.ToString()); ShowOnServerWindow(null, log); } } string msg = string.Format("LOGINCALLBACK@{0}", WTalk.Helpers.DataHelpers.XMLSer <LoginCallBack>(callBack)); helper.SendMessage(msg); break; case "SIGNUP": SignupContract signup = null; try { signup = DataHelpers.DeXMLSer <SignupContract>(d[1]); } catch { } SignUpCallBack signUpCallBack = ish.Signup(signup); if (ShowOnServerWindow != null) { string log = string.Format("{0}-->Signup:{1}", helper.tcpClient.Client.RemoteEndPoint.ToString(), signUpCallBack.MoreMsg); //if (callBack.LoginStatus == Status.Yes) //{ // string log = string.Format("{0}-->Signup", helper.tcpClient.Client.RemoteEndPoint.ToString()); // ShowOnServerWindow(null, log); //} //else //{ // string log = string.Format("{0}-->Login Fail", helper.tcpClient.Client.RemoteEndPoint.ToString()); // ShowOnServerWindow(null, log); //} ShowOnServerWindow(null, log); } helper.SendMessage(string.Format("SIGNUPCALLBACK@{0}", DataHelpers.XMLSer <SignUpCallBack>(signUpCallBack))); break; case "LOGOUT": //string logoutlog = string.Format("{0}-->登出", helper.tcpClient.Client.RemoteEndPoint.ToString()); //if(ShowOnServerWindow != null) //{ // ShowOnServerWindow(null, logoutlog); //} break; case "SEARCH": SearchContract search = null; try { search = DataHelpers.DeXMLSer <SearchContract>(d[1]); SearchCallBack back = ish.Search(search); helper.SendMessage(string.Format("SEARCHCALLBACK@{0}", DataHelpers.XMLSer <SearchCallBack>(back))); } catch { } break; case "ADD": AddContract add = null; try { add = DataHelpers.DeXMLSer <AddContract>(d[1]); AddComfirmArgs args = ish.Add(add); if (args.IP != "Offline") { AddHandler(null, args); } } catch { break; } break; case "REMOVE": RemoveContract remove = null; try { remove = DataHelpers.DeXMLSer <RemoveContract>(d[1]); ish.RemoveFriends(remove); if (RemoveFriendHandler != null) { RemoveFriendHandler(null, remove); } } catch (Exception e) { throw e; } break; case "TALK": TalkContract talk = new TalkContract(); try { talk = DataHelpers.DeXMLSer <TalkContract>(d[1]); if (TalkHandler != null) { TalkHandler(null, talk); } } catch { } break; case "ADDCONFIRMCALLBACK": AddConfirmCallBack accb = null; AddCallBack addCallBack = null; try { accb = DataHelpers.DeXMLSer <AddConfirmCallBack>(d[1]); addCallBack = ish.AddComfirm(accb); if (UpdateFriendListHandler != null) { UpdateFriendListHandler(null, addCallBack); } } catch { break; } break; default: break; } }