コード例 #1
0
ファイル: UserController.cs プロジェクト: Michauxquan/MTest
        public JsonResult GetUserByWeiXinMP(string unionid, string openid)
        {
            int    result    = 0;
            string operateip = Common.Common.GetRequestIP();
            Dictionary <string, object> resultObj = new Dictionary <string, object>();
            var model = OrganizationBusiness.GetUserByOtherAccount(EnumAccountType.WeiXin, unionid, operateip, openid);

            if (model != null)
            {
                //未注销
                if (model.Status.Value == 1)
                {
                    result = 1;
                    Dictionary <string, object> userObj = new Dictionary <string, object>();
                    //string domainUrl = Request.Url.Scheme + "://" + Request.Url.Host;
                    userObj.Add("userID", model.UserID);
                    userObj.Add("clientID", model.ClientID);
                    userObj.Add("name", model.Name);
                    userObj.Add("avatar", model.Avatar);
                    resultObj.Add("user", userObj);
                }
                else
                {
                    result = 2;
                }
            }
            resultObj.Add("result", result);

            return(new JsonResult
            {
                Data = resultObj,
                JsonRequestBehavior = JsonRequestBehavior.AllowGet
            });
        }
コード例 #2
0
ファイル: HomeController.cs プロジェクト: Michauxquan/MTest
        //微信账户注册
        public ActionResult WinXinRegisterMember()
        {
            string operateip = Common.Common.GetRequestIP();
            int    result;

            if (Session["WeiXinTokenInfo"] != null)
            {
                string   tokenInfo = Session["WeiXinTokenInfo"].ToString();
                string[] tokenArr  = tokenInfo.Split('|');
                if (tokenArr.Length == 3)
                {
                    string access_token = tokenArr[0];
                    string openid       = tokenArr[1];
                    var    memberResult = WeiXin.Sdk.Passport.GetUserInfo(access_token, openid);

                    string userid   = "";
                    var    clientid = ClientBusiness.InsertClient(EnumRegisterType.WeiXin, EnumAccountType.WeiXin, memberResult.unionid, "", memberResult.nickname, memberResult.nickname,
                                                                  "", "", "", "", "", "", "", "", out result, out userid);

                    if (!string.IsNullOrEmpty(clientid))
                    {
                        var current = OrganizationBusiness.GetUserByOtherAccount(EnumAccountType.WeiXin, memberResult.unionid, operateip);
                        Session.Remove("WeiXinTokenInfo");
                        Session["ClientManager"] = current;

                        return(Redirect("/Home/Index"));
                    }
                }
            }
            return(Redirect("/Home/Login"));
        }
コード例 #3
0
ファイル: HomeController.cs プロジェクト: Michauxquan/MTest
        //微信回调地址
        public ActionResult WeiXinCallBack(string code, string state)
        {
            string operateip = Common.Common.GetRequestIP();
            var    userToken = WeiXin.Sdk.Token.GetAccessToken(code);

            if (string.IsNullOrEmpty(userToken.errcode))
            {
                var model = OrganizationBusiness.GetUserByOtherAccount(EnumAccountType.WeiXin, userToken.unionid, operateip);
                //已注册
                if (model != null)
                {
                    //未注销
                    if (model.Status.Value == 1)
                    {
                        Session["ClientManager"] = model;

                        if (string.IsNullOrEmpty(state))
                        {
                            return(Redirect("/Home/Index"));
                        }
                        else
                        {
                            return(Redirect(state));
                        }
                    }
                    else
                    {
                        if (model.Status.Value == 9)
                        {
                            Response.Write("<script>alert('您的账户已注销,请切换其他账户登录');location.href='/Home/login';</script>");
                            Response.End();
                        }
                        else
                        {
                            return(Redirect("/Home/Login"));
                        }
                    }
                }
                else
                {
                    //Response.Write("<script>alert('您的账户还没绑定微信,请在账户设置里绑定微信后登录');location.href='/Home/login';</script>");
                    //Response.End();
                    Session["WeiXinTokenInfo"] = userToken.access_token + "|" + userToken.openid + "|" + userToken.unionid;
                    return(Redirect("/Home/WeiXinSelectLogin"));
                }
            }

            return(Redirect("/Home/Login"));
        }
コード例 #4
0
ファイル: HomeController.cs プロジェクト: Michauxquan/MTest
        public ActionResult MDCallBack(string code, string state)
        {
            string operateip = Common.Common.GetRequestIP();
            var    userToken = AlibabaSdk.OauthBusiness.GetUserToken(code);

            if (userToken.error_code <= 0)
            {
                var model = OrganizationBusiness.GetUserByOtherAccount(EnumAccountType.Ali, userToken.memberId, operateip);
                //已注册
                if (model != null)
                {
                    //未注销
                    if (model.Status.Value == 1)
                    {
                        Session["ClientManager"] = model;
                        AliOrderBusiness.BaseBusiness.UpdateAliOrderDownloadPlanToken(model.ClientID, userToken.access_token, userToken.refresh_token);

                        if (string.IsNullOrEmpty(state))
                        {
                            return(Redirect("/Home/Index"));
                        }
                        else
                        {
                            return(Redirect(state));
                        }
                    }
                    else
                    {
                        if (model.Status.Value == 9)
                        {
                            Response.Write("<script>alert('您的账户已注销,请切换其他账户登录');location.href='/Home/login';</script>");
                            Response.End();
                        }
                        else
                        {
                            return(Redirect("/Home/Login"));
                        }
                    }
                }
                else
                {
                    Session["AliTokenInfo"] = userToken.access_token + "|" + userToken.refresh_token + "|" + userToken.memberId;
                    return(Redirect("/Home/AliSelectLogin"));
                }
            }

            return(Redirect("/Home/Login"));
        }
コード例 #5
0
ファイル: HomeController.cs プロジェクト: Michauxquan/MTest
        //微信绑定回调地址
        public ActionResult WeiXinLoginCallBack(string code, string state)
        {
            string operateip = Common.Common.GetRequestIP();
            var    userToken = WeiXin.Sdk.Token.GetAccessToken(code);

            if (string.IsNullOrEmpty(userToken.errcode))
            {
                var model = OrganizationBusiness.GetUserByOtherAccount(EnumAccountType.WeiXin, userToken.unionid, operateip);
                //未绑定
                if (model == null)
                {
                    model = (Users)Session["ClientManager"];
                    bool flag = OrganizationBusiness.BindOtherAccount(EnumAccountType.WeiXin, model.UserID, userToken.unionid, model.ClientID);
                }
                else
                {
                    if (model.Status.Value == 1)
                    {
                        Session["ClientManager"] = model;
                        Response.Write("<script>alert('您的账户已绑定过微信');location.href='/Home/login';</script>");
                        Response.End();
                    }
                    else
                    {
                        if (model.Status.Value == 9)
                        {
                            Response.Write("<script>alert('您的账户已注销,请切换其他账户登录');location.href='/Home/login';</script>");
                            Response.End();
                        }
                        else
                        {
                            return(Redirect("/Home/Login"));
                        }
                    }
                }
            }

            return(View());
        }
コード例 #6
0
ファイル: HomeController.cs プロジェクト: Michauxquan/MTest
        //阿里账户注册
        public ActionResult AliRegisterMember()
        {
            string operateip = Common.Common.GetRequestIP();
            int    result;

            if (Session["AliTokenInfo"] != null)
            {
                string   tokenInfo = Session["AliTokenInfo"].ToString();
                string[] tokenArr  = tokenInfo.Split('|');
                if (tokenArr.Length == 3)
                {
                    string access_token  = tokenArr[0];
                    string refresh_token = tokenArr[1];
                    string memberId      = tokenArr[2];

                    var memberResult = AlibabaSdk.UserBusiness.GetMemberDetail(access_token, memberId);
                    var member       = memberResult.result.toReturn[0];

                    string userid = "";

                    string clientid = ClientBusiness.InsertClient(EnumRegisterType.Ali, EnumAccountType.Ali, memberId, "", member.companyName, member.sellerName, member.mobilePhone, member.email, "", "", "", "", "", "", out result, out userid);

                    if (!string.IsNullOrEmpty(clientid))
                    {
                        var current = OrganizationBusiness.GetUserByOtherAccount(EnumAccountType.Ali, member.memberId, operateip);
                        AliOrderBusiness.BaseBusiness.AddAliOrderDownloadPlan(current.UserID, member.memberId, access_token, refresh_token, current.ClientID);

                        Session.Remove("AliTokenInfo");
                        Session["ClientManager"] = current;

                        return(Redirect("/Home/Index"));
                    }
                }
            }

            return(Redirect("/Home/Login"));
        }