private void OnQQAuthBtnClick() { Debug.Log("OnQQAuthBtnClick"); if (mShareSDK.IsAuthorized(PlatformType.WeChat)) mShareSDK.CancelAuthorize(PlatformType.WeChat); mShareSDK.Authorize(PlatformType.QQ); }
/// <summary> /// 微信授权 /// </summary> public void AuthWeChat() { if (!ssdk.IsAuthorized(PlatformType.WeChat)) { SQDebug.PrintToScreen("没有授权,登陆"); ssdk.Authorize(PlatformType.WeChat); } else { SQDebug.PrintToScreen("授权了,登陆"); ssdk.GetUserInfo(PlatformType.WeChat); } }
/// <summary> /// 授权 /// </summary> public void AuthPlat(PlatformType plat, CallBack <LoginSR.SendLogin> call) { mGetAuthDataCallBack = call; if (!ssdk.IsAuthorized(plat)) { SQDebug.Log("没有授权,登陆"); ssdk.Authorize(plat); } else { SQDebug.Log("授权了,登陆"); ssdk.GetUserInfo(plat); } }
public void OnSinaLoginBtnClick() { if (ssdk.IsAuthorized(PlatformType.SinaWeibo)) { Utility.WriteFile(Application.persistentDataPath, "AuthInfo.dat", ssdk.GetAuthInfo(PlatformType.SinaWeibo).toJson()); Utility.MakeToast("微博用户:" + ssdk.GetAuthInfo(PlatformType.SinaWeibo)["userName"] + "登陆成功!"); ShareSDKManager.Instance.userPlat = PlatformType.SinaWeibo; UnityEngine.SceneManagement.SceneManager.LoadScene(2); } else { ssdk.Authorize(PlatformType.SinaWeibo); } }
//是否授权 public bool IsAuthorized(PlatformType type) { return(ssdk.IsAuthorized(type)); }
public override void OnEnable() { base.OnEnable(); ShareSDK.authHandler = OnAuthResultHandler; ShareSDK.shareHandler = OnShareResultHandler; ShareSDK.showUserHandler = OnGetUserInfoResultHandler; ShareSDK.getFriendsHandler = OnGetFriendsResultHandler; ShareSDK.followFriendHandler = OnFollowFriendResultHandler; WeChatComponents.OnAdd().Subscribe(entity => { var wechatComponent = entity.GetComponent <WeChatComponent>(); var animator = entity.GetComponent <Animator>(); IsAuthorized.DistinctUntilChanged().Subscribe(isOn => { animator.SetBool(IsOn, isOn); if (isOn) { ShareSDK.GetUserInfo(PlatformType.WeChat); wechatComponent.NickName.text = authInfo[NickName].ToString(); StartCoroutine(LoadImage(authInfo[HeadImgURL].ToString(), wechatComponent.UserIcon)); } else { IsGetUserInfo.Value = false; wechatComponent.NickName.text = Empty; wechatComponent.UserIcon.sprite = null; } }).AddTo(this.Disposer).AddTo(wechatComponent.Disposer); IsGetUserInfo.DistinctUntilChanged().Where(b => b).Subscribe(_ => { wechatComponent.NickName.text = userInfo[NickName].ToString(); StartCoroutine(LoadImage(userInfo[HeadImgURL].ToString(), wechatComponent.UserIcon)); }).AddTo(this.Disposer).AddTo(wechatComponent.Disposer); wechatComponent.SignInButton.OnPointerClickAsObservable().Subscribe(_ => { ShareSDK.Authorize(PlatformType.WeChat); }).AddTo(this.Disposer).AddTo(wechatComponent.Disposer); wechatComponent.SignOutButton.OnPointerClickAsObservable().Subscribe(_ => { ShareSDK.CancelAuthorize(PlatformType.WeChat); IsAuthorized.Value = false; }).AddTo(this.Disposer).AddTo(wechatComponent.Disposer); }).AddTo(this.Disposer); WeChatWriter.OnAdd().Subscribe(writer => { if (ShareSDK.IsAuthorized(PlatformType.WeChat) && writer.HasKey(AuthInfo)) { authInfo = writer.Get <string>(AuthInfo).hashtableFromJson(); IsAuthorized.Value = true; } else { if (ShareSDK.IsAuthorized(PlatformType.WeChat)) { ShareSDK.CancelAuthorize(PlatformType.WeChat); } IsAuthorized.DistinctUntilChanged().TakeWhile(_ => !writer.HasKey(AuthInfo)).Where(b => b).Subscribe(_ => { writer.Set(AuthInfo, authInfo.toJson()); }).AddTo(this.Disposer); } IsGetUserInfo.DistinctUntilChanged().TakeWhile(_ => !writer.HasKey(UserInfo)).Where(b => b).Subscribe(_ => { writer.Set(UserInfo, userInfo.toJson()); }).AddTo(this.Disposer); }).AddTo(this.Disposer); }
private void Start() { ssdk = GameObject.FindObjectOfType <ShareSDK>(); if (ssdk == null) { ssdk = UnityHelper.GetOrCreateComponent <ShareSDK>(this.gameObject); } ssdk.authHandler = OnAuthResultHandler; ssdk.showUserHandler = OnGetUserInfoResultHandler; #region if (ssdk.IsClientValid(PlatformType.WeChat) == false) { wechatLoginBtn.gameObject.SetActive(false); } if (ssdk.IsClientValid(PlatformType.QQ) == false) { qqLoginBtn.gameObject.SetActive(false); } #endregion //Listeners wechatLoginBtn.onClick.AddListener(() => { if (LoginUIController.Instance.CheckNetWork() == false) { LoginUIController.Instance.ShowPopup("网络错误", "请检查是否连接到网络"); return; } if (LoginUIController.Instance.VerifyAgreeToggle() == false) { LoginUIController.Instance.ShowPopup("", GlobalParameter.AgrrToggle); return; } if (ssdk.IsClientValid(PlatformType.WeChat) == false) { // LoginUIController.Instance.ShowPopup("", GlobalParameter.NeedWechatClient); LoginUIController.Instance.ShowPopup("登录失败", "请使用其他方式登录"); return; } if (ssdk.IsAuthorized(PlatformType.WeChat)) { ssdk.CancelAuthorize(PlatformType.WeChat); } ssdk.authHandler = OnAuthResultHandler; ssdk.showUserHandler = OnGetUserInfoResultHandler; //是否设置客户端授权,false:使用 ssdk.DisableSSO(false); ssdk.GetUserInfo(PlatformType.WeChat); }); qqLoginBtn.onClick.AddListener(() => { if (LoginUIController.Instance.CheckNetWork() == false) { LoginUIController.Instance.ShowPopup("网络错误", "请检查是否连接到网络"); return; } if (LoginUIController.Instance.VerifyAgreeToggle() == false) { LoginUIController.Instance.ShowPopup("", GlobalParameter.AgrrToggle); return; } if (ssdk.IsClientValid(PlatformType.QQ) == false) { // LoginUIController.Instance.ShowPopup("", GlobalParameter.NeedQQClient); LoginUIController.Instance.ShowPopup("登录失败", "请使用其他方式登录"); return; } if (ssdk.IsAuthorized(PlatformType.QQ)) { ssdk.CancelAuthorize(PlatformType.QQ); } ssdk.authHandler = OnAuthResultHandler; ssdk.showUserHandler = OnGetUserInfoResultHandler; ssdk.DisableSSO(false); ssdk.GetUserInfo(PlatformType.QQ); }); weiboLoginBtn.onClick.AddListener(() => { if (LoginUIController.Instance.CheckNetWork() == false) { LoginUIController.Instance.ShowPopup("网络错误", "请检查是否连接到网络"); return; } if (LoginUIController.Instance.VerifyAgreeToggle() == false) { LoginUIController.Instance.ShowPopup("", GlobalParameter.AgrrToggle); return; } //if (ssdk.IsClientValid(PlatformType.SinaWeibo) == false) //{ // // LoginUIController.Instance.ShowPopup("", GlobalParameter.NeedSinaWeiboClient); // LoginUIController.Instance.ShowPopup("登录失败","请使用其他方式登录"); // return; //} if (ssdk.IsAuthorized(PlatformType.SinaWeibo)) { ssdk.CancelAuthorize(PlatformType.SinaWeibo); } ssdk.authHandler = OnAuthResultHandler; ssdk.showUserHandler = OnGetUserInfoResultHandler; //ssdk.DisableSSO(false); ssdk.GetUserInfo(PlatformType.SinaWeibo); }); }