Esempio n. 1
0
        /// <summary>
        ///
        /// </summary>
        private void GetRequestToken()
        {
            QQConnet qc    = new QQConnet();
            string   url   = qc.GetAuthorization_Code();
            string   state = qc.State;

            Response.Redirect(url);
        }
Esempio n. 2
0
        private void Req()
        {
            var qc = new QQConnet();

            if (!qc.VerifyCallback())
            {
                ShowErrMsg("参数缺少.");
                return;
            }
            Session["QzoneOauth"] = null;

            //数据令牌
            string accessToken = qc.GetAccess_Token();

            if (string.IsNullOrEmpty(accessToken))
            {
                ShowErrMsg("Access_Token 为空");
                return;
            }

            //唯一标识 Openid与QQ号一对一对应
            string openid = qc.GetOpenid(accessToken);

            if (string.IsNullOrEmpty(openid))
            {
                ShowErrMsg("Openid 为空");
                return;
            }

            //获取当前登录用户
            QQUserInfo user = qc.GetUserInfo(accessToken, openid);

            if (user != null)
            {
                int userid = viviapi.BLL.User.UserLoginByPartner.Instance.Exists(1, openid);
                if (userid == 0)
                {
                    #region
                    var info = new UserLoginByPartner
                    {
                        id        = 0,
                        available = 1,
                        openid    = openid,
                        plant     = 1,
                        plantname = "QQ平台",
                        userid    = 0
                    };

                    bool init = viviapi.BLL.User.UserLoginByPartner.Instance.Insert(info) > 0;

                    if (init)
                    {
                        Session["QzoneOauth"] = user;

                        Response.Redirect("/appqqset.aspx?openid=" + openid, false);
                    }
                    else
                    {
                        ShowErrMsg("init.err");
                    }
                    #endregion
                }
                else
                {
                    string lastLoginIp      = ServerVariables.TrueIP;
                    string lastLoginAddress = WebUtility.GetIPAddress(lastLoginIp);

                    string message = viviapi.BLL.User.Login.SignIn(1, openid, lastLoginIp, lastLoginAddress);

                    if (message == "success")
                    {
                        Response.Redirect("/usermodule/account/index.aspx", false);
                    }
                    else
                    {
                        ShowErrMsg(message);
                    }
                }
            }
            else
            {
                ShowErrMsg("登录失败 2.");
            }
        }