Beispiel #1
0
    protected OAuth_Token refresh_token(string REFRESH_TOKEN)
    {
        string      Str = GetJson("https://api.weixin.qq.com/sns/oauth2/refresh_token?appid=" + AppIDCode.Appid + "&grant_type=refresh_token&refresh_token=" + REFRESH_TOKEN);
        OAuth_Token Oauth_Token_Model = JsonHelper.ParseFromJson <OAuth_Token>(Str);

        return(Oauth_Token_Model);
    }
Beispiel #2
0
        /// <summary>
        /// 刷新Token
        /// </summary>
        private OAuth_Token Refresh_token(string refresh_token)
        {
            string      res = GetJson("https://api.weixin.qq.com/sns/oauth2/refresh_token?appid=" + appId + "&grant_type=refresh_token&refresh_token=" + refresh_token);
            OAuth_Token Oauth_Token_Model = JsonHelper.ParseFromJson <OAuth_Token>(res);

            return(Oauth_Token_Model);
        }
Beispiel #3
0
    protected OAuth_Token Get_token(string Code)
    {
        string      Str = GetJson("https://api.weixin.qq.com/sns/oauth2/access_token?appid=" + AppIDCode.Appid + "&secret=" + appsecret + "&code=" + Code + "&grant_type=authorization_code");
        OAuth_Token Oauth_Token_Model = JsonHelper.ParseFromJson <OAuth_Token>(Str);

        return(Oauth_Token_Model);
    }
Beispiel #4
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                string code      = "";
                string companyID = "";
                if (Request.QueryString["code"] != null && Request.QueryString["code"] != "")
                {
                    code = Request.QueryString["code"].ToString();

                    string str = Request.QueryString["req"].ToString();
                    string req = PwdHelper.DecodeDES(str, "bingoseller");

                    companyID = req.Split('&')[2].Split('=')[1];
                    string    sql2 = "select * from asm_company where id=" + companyID;
                    DataTable d1   = DbHelperSQL.Query(sql2).Tables[0];

                    if (d1.Rows.Count > 0)
                    {
                        appid     = d1.Rows[0]["appId"].ToString();
                        appsecret = d1.Rows[0]["wx_appsecret"].ToString();
                    }

                    OAuth_Token Model           = Get_token(code, companyID);
                    OAuthUser   OAuthUser_Model = Get_UserInfo(Model.access_token, Model.openid);
                    if (OAuthUser_Model.openid != null && OAuthUser_Model.openid != "") //已获取得openid及其他信息
                    {
                        tupian = OAuthUser_Model.headimgurl.ToString();                 //头像图片
                        name   = OAuthUser_Model.nickname;                              //昵称
                        id     = OAuthUser_Model.openid;                                //opendid
                        string unionID  = OAuthUser_Model.unionid;
                        string country  = OAuthUser_Model.country;
                        string province = OAuthUser_Model.province;
                        string city     = OAuthUser_Model.city;
                        OperUtil.setCooki("vshop_openID", id);

                        string    sql = "select * from asm_member where openID='" + id + "' and companyID=" + companyID;
                        DataTable dt  = DbHelperSQL.Query(sql).Tables[0];
                        if (dt.Rows.Count <= 0)
                        {
                            //添加会员 会员不一定必须绑定机器  只有会员有订购产品的时候才必须绑定机器
                            string sql1 = "INSERT INTO [dbo].[asm_member]"
                                          + " ([name],[phone],[QQ],[province],[city],[country],[addres],[AvailableMoney],[sumConsume],[sumRecharge],[createDate],[mechineID],[companyID],[age],[LastTime],[memberBH],[consumeCount],[openID],[brithday],[headurl],[nickname],unionID)"
                                          + " VALUES('" + name + "','','','" + province + "','" + city + "','','',0,0,0,'" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "','','" + companyID + "','0','','',0,'" + id + "','','" + tupian + "','" + name + "','" + unionID + "')";
                            DbHelperSQL.ExecuteSql(sql1);
                            wxHelper wx   = new wxHelper(companyID);
                            string   data = TemplateMessage.Member_ZC(id, OperUtil.getMessageID(companyID, "OPENTM203347141"), "恭喜您注册成为会员!", name, "恭喜您注册成为会员,您将享受到会员所有权利!");
                            TemplateMessage.SendTemplateMsg(wx.IsExistAccess_Token(companyID), data);
                        }
                        else
                        {
                            string update = "update asm_member set unionID='" + unionID + "',name='" + name + "',nickname='" + name + "',headurl='" + tupian + "' where openID='" + id + "'";
                            Util.Debuglog("Update=" + update, "更新会员信息.txt");
                        }

                        Response.Redirect("paypage.aspx?req=" + str);
                    }
                }
            }
        }
Beispiel #5
0
        /// <summary>
        /// 用户登录
        /// </summary>
        /// <returns></returns>
        public static bool UserLogin(OAuth_Token model)
        {
            if (model != null)
            {
                // 获取授权信息
                var _authmodel = AuthorizeHelper.GetModelByAuthID(model.openid);
                if (_authmodel == null)
                {
                    // 新用户注册
                    var user = new UserModel()
                    {
                        CreateTime = DateTimeUtility.GetTimeMilliseconds(DateTime.Now),
                        LoginKey   = Guid.NewGuid().ToString(),
                        NickName   = "",
                        UserID     = Guid.NewGuid().ToString()
                    };
                    if (UserHelper.Add(user, new AuthorizeModel()
                    {
                        AuthID = model.openid,
                        Data = SerializeUtility.JavaScriptSerialize(model),
                    }))
                    {
                        return(UserLogin(user));
                    }
                    // 显示添加用户昵称界面:
                    return(false);
                }

                // 获取用户信息
                var _user = UserHelper.GetModelByUserID(_authmodel.UserID);
                return(UserLogin(_user));
            }
            return(false);
        }
Beispiel #6
0
        protected OAuth_Token Get_token(string Code, string companyID)
        {
            string      Str = GetJson("https://api.weixin.qq.com/sns/oauth2/access_token?appid=" + appid + "&secret=" + appsecret + "&code=" + Code + "&grant_type=authorization_code");
            OAuth_Token Oauth_Token_Model = JsonHelper.ParseFromJson <OAuth_Token>(Str);

            Util.Debuglog("服务器code=" + Code + ";companyID=" + companyID + "Str=" + Str, "获取token.txt");
            return(Oauth_Token_Model);
        }
        protected OAuth_Token Get_token(string Code, string companyID)
        {
            string      Str = GetJson("https://api.weixin.qq.com/sns/oauth2/component/access_token?appid=" + appid + "&code=" + Code + "&grant_type=authorization_code&component_appid=" + OpenPFConfig.Appid + "&component_access_token=" + Util.getComAccessToken() + "");
            OAuth_Token Oauth_Token_Model = JsonHelper.ParseFromJson <OAuth_Token>(Str);

            Util.Debuglog(companyID + "服务器token=" + Str, "获取token.txt");
            return(Oauth_Token_Model);
        }
Beispiel #8
0
        /// <summary>
        /// 获取授权token
        /// </summary>
        /// <param name="Code"></param>
        /// <returns></returns>
        public OAuth_Token Get_token1(string Code)
        {
            string      url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=" + ConfigSetting.WeiXinAppID + "&secret=" + ConfigSetting.WeiXinAppSecret + "&code=" + Code + "&grant_type=authorization_code ";
            string      str = GetJson(url);
            OAuth_Token Oauth_Token_Model = SerializeUtility.JavaScriptDeserialize <OAuth_Token>(str);

            return(Oauth_Token_Model);
        }
Beispiel #9
0
    /// <summary>
    /// 获得Token
    /// </summary>
    /// <param name="Code"></param>
    /// <returns></returns>
    public static OAuth_Token Get_token(string Code)
    {
        string      Appid             = "wx88ac3e6ab868f62f";
        string      appsecret         = "bfbf498ac439cf67b39d13f600fe378d";
        string      Str               = GetJson("https://api.weixin.qq.com/sns/oauth2/access_token?appid=" + Appid + "&secret=" + appsecret + "&code=" + Code + "&grant_type=authorization_code");
        OAuth_Token Oauth_Token_Model = JsonHelper.ParseFromJson <OAuth_Token>(Str);

        return(Oauth_Token_Model);
    }
Beispiel #10
0
        public string appsecret = SiteConfig.Instance().WxAppSecret; //公众微信平台下可以找到
        #endregion

        //根据appid,secret,code获取微信openid、access token信息
        protected OAuth_Token Get_token(string Code)
        {
            //获取微信回传的openid、access token
            string Str = GetJson("https://api.weixin.qq.com/sns/oauth2/access_token?appid=" + appid + "&secret=" + appsecret + "&code=" + Code + "&grant_type=authorization_code");
            //微信回传的数据为Json格式,将Json格式转化成对象
            OAuth_Token Oauth_Token_Model = JsonHelper.ParseFromJson <OAuth_Token>(Str);

            return(Oauth_Token_Model);
        }
Beispiel #11
0
    public static string getwxCode(string code, string httpUrl)
    {
        string result   = "123";
        string xtopenid = "";

        Cms.BLL.wx_info info      = new Cms.BLL.wx_info();
        string          appid     = info.GetModel(1).AppId;
        string          appsecret = info.GetModel(1).AppSecret;

        if (code != null && code != "")
        {
            string Code = code;
            string Str  = GetJson("https://api.weixin.qq.com/sns/oauth2/access_token?appid=" + appid + "&secret=" + appsecret + "&code=" + Code + "&grant_type=authorization_code");
            //微信回传的数据为Json格式,将Json格式转化成对象
            OAuth_Token Model = wxuser.JSONToObject <OAuth_Token>(Str);

            xtopenid = Model._openid;
            result   = Model._openid + code;

            Cms.BLL.wx_info       wxinfo     = new Cms.BLL.wx_info();
            Cms.Model.wx_info     Model_info = new Cms.Model.wx_info();
            Cms.BLL.wx_userinfo   userinfo   = new Cms.BLL.wx_userinfo();
            Cms.Model.wx_userinfo muserinfo  = new Cms.Model.wx_userinfo();
            Model_info = wxinfo.GetModel(1);
            string str    = "";
            string openid = Model._openid;
            str       = setinfo("https://api.weixin.qq.com/cgi-bin/user/info?access_token=" + Model.access_token + "&openid=" + openid, "", openid);
            muserinfo = JSONToObject <Cms.Model.wx_userinfo>(str);
            Cms.Model.wx_userinfo wxs = new Cms.Model.wx_userinfo();
            wxs.subscribe      = muserinfo.subscribe;
            wxs.openid         = muserinfo.openid;
            wxs.nickname       = muserinfo.nickname;
            wxs.sex            = muserinfo.sex;
            wxs.language       = muserinfo.language;
            wxs.city           = muserinfo.city;
            wxs.province       = muserinfo.province;
            wxs.country        = muserinfo.country;
            wxs.headimgurl     = muserinfo.headimgurl;
            wxs.subscribe_time = muserinfo.subscribe_time;
            wxs.remark         = muserinfo.remark;
            wxs.updatetime     = DateTime.Now;
            if (!Cms.DBUtility.DbHelperSQL.Exists("select count(1) from wx_userinfo where openid='" + muserinfo.openid + "'"))
            {
                if (wxs.openid != "")
                {
                    userinfo.Add(wxs);
                }
            }
            else
            {
                Cms.DBUtility.DbHelperSQL.ExecuteSql("update wx_userinfo set updatetime='" + DateTime.Now + "' where openid='" + muserinfo.openid + "'");
            }
        }

        return(result);
    }
Beispiel #12
0
        /// <summary>
        /// 通过code换取网页授权access_token
        /// </summary>
        private OAuth_Token Get_token(string code)
        {
            var url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid={0}&secret={1}&code={2}&grant_type=authorization_code";

            url = string.Format(url, appId, secret, code);
            string      res = GetJson(url);
            OAuth_Token Oauth_Token_Model = JsonHelper.ParseFromJson <OAuth_Token>(res);

            return(Oauth_Token_Model);
        }
Beispiel #13
0
 public static Cms.Model.wx_userinfo getwxCode(string code, string httpUrl)
 {
     Cms.Model.wx_info     wxInfo    = new Cms.BLL.wx_info().GetModel(1);
     Cms.BLL.wx_userinfo   userinfo  = new Cms.BLL.wx_userinfo();
     Cms.Model.wx_userinfo muserinfo = new Cms.Model.wx_userinfo();
     if (code != null && code != "")
     {
         string strOpenId = GetJson("https://api.weixin.qq.com/sns/oauth2/access_token?appid=" + wxInfo.AppId + "&secret=" + wxInfo.AppSecret + "&code=" + code + "&grant_type=authorization_code");
         //微信回传的数据为Json格式,将Json格式转化成对象
         OAuth_Token oAuth_Token = wxuser.JSONToObject <OAuth_Token>(strOpenId);
         string      strInfo     = GetJson("https://api.weixin.qq.com/sns/userinfo?access_token=" + oAuth_Token.access_token + "&openid=" + oAuth_Token.openid + "&lang=zh_CN");
         wxuserinfo  Wxuserinfo  = wxuser.JSONToObject <wxuserinfo>(strInfo);
         muserinfo.subscribe      = Wxuserinfo.subscribe;
         muserinfo.openid         = Wxuserinfo.openid;
         muserinfo.nickname       = Wxuserinfo.nickname;
         muserinfo.sex            = Wxuserinfo.sex;
         muserinfo.language       = Wxuserinfo.language;
         muserinfo.city           = Wxuserinfo.city;
         muserinfo.province       = Wxuserinfo.province;
         muserinfo.country        = Wxuserinfo.country;
         muserinfo.headimgurl     = Wxuserinfo.headimgurl;
         muserinfo.subscribe_time = Wxuserinfo.subscribe_time;
         muserinfo.remark         = Wxuserinfo.remark;
         muserinfo.updatetime     = DateTime.Now;
         //string str = setinfo("https://api.weixin.qq.com/cgi-bin/user/info?access_token=" + Model_info.access_token + "&openid=" + openid, "", openid);
         if (!Cms.DBUtility.DbHelperSQL.Exists("select count(1) from wx_userinfo where openid='" + muserinfo.openid + "'"))
         {
             if (muserinfo.openid != "")
             {
                 setlog("添加访问信息", oAuth_Token.openid);
                 userinfo.Add(muserinfo);
             }
             else
             {
                 DataTable dtUserInfo = new Cms.BLL.wx_userinfo().GetList("openid='" + muserinfo.openid + "' order by updatetime desc").Tables[0];
                 if (dtUserInfo != null && dtUserInfo.Rows.Count > 0)
                 {
                     muserinfo.id = int.Parse(dtUserInfo.Rows[0]["id"].ToString());
                     userinfo.Update(muserinfo);
                 }
             }
         }
         else
         {
             DataTable dtUserInfo = new Cms.BLL.wx_userinfo().GetList("openid='" + muserinfo.openid + "' order by updatetime desc").Tables[0];
             if (dtUserInfo != null && dtUserInfo.Rows.Count > 0)
             {
                 muserinfo.id = int.Parse(dtUserInfo.Rows[0]["id"].ToString());
                 userinfo.Update(muserinfo);
             }
         }
     }
     return(muserinfo);
 }
        public ActionResult Twitter(string search)
        {
            TwitterService t = new TwitterService();
            //Step 1: Obtaining a request token
            OAuth_Token token = t.OAuth_Request_Token();

            Session.Add("RequestToken", token);

            //Step 2: Redirecting the user
            return(Redirect("https://api.twitter.com/oauth/authorize?oauth_token=" + token.oauth_token));
        }
Beispiel #15
0
 public void ProcessRequest(HttpContext context)
 {
     if (!string.IsNullOrEmpty(context.Request.QueryString["code"]))
     {
         string      Code            = context.Request.QueryString["code"].ToString();
         WeChatoAuth oauth           = new WeChatoAuth();
         OAuth_Token Model           = oauth.Get_Token(WeChatConfig.AppId, WeChatConfig.AppSecret, Code);
         OAuthUser   OAuthUser_Model = oauth.Get_UserInfo(Model.access_token, Model.openid);
         //写入日志
         LogHelper.Logtest(JsonConvert.SerializeObject(OAuthUser_Model));
         context.Response.Write(JsonConvert.SerializeObject(OAuthUser_Model));
     }
 }
Beispiel #16
0
        /// <summary>根据Code获取用户的openid、access_token</summary>
        public static string GetOauthAccessOpenId(string code, string appid, string secret)
        {
            string Openid  = "";
            string url     = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=" + appid + "&secret=" + secret + "&code=" + code + "&grant_type=authorization_code";
            string gethtml = MyHttpHelper.HttpGet(url);
            //ErrorLog.WriteErrorMessage("拿到的url是:" + url);
            //ErrorLog.WriteErrorMessage("获取到的gethtml是" + gethtml);
            OAuth_Token ac = new OAuth_Token();

            ac = JsonHelper.AnalysisJson <OAuth_Token>(gethtml);
            //ErrorLog.WriteErrorMessage("能否从html里拿到openid=" + ac.openid);
            Openid = ac.openid;
            return(Openid);
        }
Beispiel #17
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if (!string.IsNullOrEmpty(Request.QueryString["code"]))
                {
                    string Code = Request.QueryString["code"].ToString();
                    //获得Token
                    OAuth_Token Model = Get_token(Code);
                    //Response.Write(Model.access_token);
                    OAuthUser OAuthUser_Model = Get_UserInfo(Model.access_token, Model.openid);
                    Response.Write("用户OPENID:" + OAuthUser_Model.openid + "<br>用户昵称:" + OAuthUser_Model.nickname + "<br>性别:" + OAuthUser_Model.sex + "<br>所在省:" + OAuthUser_Model.province + "<br>所在市:" + OAuthUser_Model.city + "<br>所在国家:" + OAuthUser_Model.country + "<br>头像地址:" + OAuthUser_Model.headimgurl + "<br>用户特权信息:" + OAuthUser_Model.privilege);

                }
            }
        }
Beispiel #18
0
        /// <summary>根据Code获取用户的openid、access_token</summary>
        public static string GetOauthAccessOpenId(string code)
        {
            Log    log    = new Log();
            string Openid = "";
            string url    = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=" +
                            Config.AppID + "&secret=" + Config.AppSecret + "&code=" + code + "&grant_type=authorization_code";

            log.log("拿到的url是:" + url + "\n");
            OAuth_Token ac = JsonHelper.ConvertJson <OAuth_Token>(url);

            log.log("能否从html里拿到:" + ac.ToJsonString() + "\n");
            if (ac.access_token == null)
            {
                ReGetCode(null);
            }
            Openid = ac.openid;
            return(Openid);
        }
        public ActionResult Callback(string oauth_token, string oauth_verifier)
        {
            //Verify that oauth_token == token recieved in Twitter Action.. Use a session variable?
            //if (!((OAuth_Token)Session["RequestToken"]).oauth_token.Equals(oauth_token))

            OAuth_Token token = new OAuth_Token {
                oauth_token = oauth_token, oauth_token_secret = oauth_verifier
            };

            //Step 3: Convert the request token to an access token
            TwitterService t            = new TwitterService();
            OAuth_Token    access_token = t.OAuth_Convert_Request_To_Access_Token(token);

            //Store the access_token in users session for further use.
            Session.Add("Access_token", access_token);

            return(RedirectToAction("Index"));
        }
Beispiel #20
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            OAuth_Token Model = new OAuth_Token();
            string      s     = Request.Url.ToString();
            if (!string.IsNullOrEmpty(Request.QueryString.Get("code")))
            {
                string Code = Request.QueryString.Get("code");
                //获得Token
                Model = Get_token(Code);
                if (Model.access_token != null)
                {
                    accesstoken            = Model.refresh_token; //LogHelper.WriteTXT(accesstoken);
                    Session["accesstoken"] = accesstoken;
                }
                else
                {
                    Model = refresh_token(Session["accesstoken"].ToString());
                    //Session.Remove("accesstoken");
                }

                LoginUserInfo OAuthUser_Model = Get_UserInfo(Model.access_token, Model.openid);

                //Response.Write("用户OPENID:" + OAuthUser_Model.openid + "<br>用户昵称:" + OAuthUser_Model.nickname + "<br>性别:" + OAuthUser_Model.sex + "<br>所在省:" + OAuthUser_Model.province + "<br>所在市:" + OAuthUser_Model.city + "<br>所在国家:" + OAuthUser_Model.country + "<br>头像地址:" + OAuthUser_Model.headimgurl + "<br>用户特权信息:" + OAuthUser_Model.privilege);
                //用cookie存一下登录用户的id
                FunctionAll.UserLoginSetCookie(OAuthUser_Model.openid, this.Page, DateTime.Now, OAuthUser_Model);
                LogHelper.WriteLog("用户OPENID:" + OAuthUser_Model.openid + "\n用户昵称:" + OAuthUser_Model.nickname + "\n性别:" + OAuthUser_Model.sex + "\n所在省:" + OAuthUser_Model.province + "\n所在市:" + OAuthUser_Model.city + "\n所在国家:" + OAuthUser_Model.country + "\n头像地址:" + OAuthUser_Model.headimgurl + "\n用户特权信息:" + OAuthUser_Model.privilege);
                return;
            }
            else
            {
                try
                {
                    //   Response.Redirect(FunctionAll.GetCodeUrl(Server.UrlEncode(redirect_uri)), true);
                    Response.Redirect(FunctionAll.GetCodeUrl(Server.UrlEncode(redirect_uri)), true);
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
        }
    }
Beispiel #21
0
        public string appsecret = ""; //公众微信平台下可以找到

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                //获取从wxProcess.aspx传递过来的跳转地址reurl
                string              reurl   = HttpContext.Current.Session["session_reurl"].ToString();
                int                 wid     = int.Parse(HttpContext.Current.Session["session_wid"].ToString());
                BLL.wx_userweixin   wx      = new BLL.wx_userweixin();
                Model.wx_userweixin wxModel = wx.GetModel(wid);
                appid     = wxModel.AppId;
                appsecret = wxModel.AppSecret;
                string code = "";
                if (Request.QueryString["code"] != null && Request.QueryString["code"] != "")
                {
                    //获取微信回传的code
                    code = Request.QueryString["code"].ToString();
                    OAuth_Token Model           = Get_token(code);                      //获取token
                    OAuthUser   OAuthUser_Model = Get_UserInfo(Model.access_token, Model.openid);
                    if (OAuthUser_Model.openid != null && OAuthUser_Model.openid != "") //已获取得openid及其他信息
                    {
                        //绑定数据
                        wx_ucard_users       userBLL   = new wx_ucard_users();
                        Model.wx_ucard_users userModel = new XCWeiXin.Model.wx_ucard_users();
                        bool Isuser = userBLL.getUserExists(OAuthUser_Model.openid);
                        if (Isuser)
                        {
                            userModel = userBLL.GetModel(OAuthUser_Model.openid);
                        }
                        userModel.wid       = wid;
                        userModel.openid    = OAuthUser_Model.openid;
                        userModel.wxName    = OAuthUser_Model.nickname;
                        userModel.sex       = OAuthUser_Model.sex;
                        userModel.language  = OAuthUser_Model.language;
                        userModel.province  = OAuthUser_Model.province;
                        userModel.city      = OAuthUser_Model.city;
                        userModel.country   = OAuthUser_Model.country;
                        userModel.headimgul = OAuthUser_Model.headimgurl;
                        userModel.subscribe = OAuthUser_Model.subscribe;
                        //   userModel.subscribe_time =DateTime.Parse(OAuthUser_Model.subscribe_time.Trim());
                        userModel.groupid = OAuthUser_Model.groupid;


                        if (!Isuser)//没有记录,添加
                        {
                            HttpCookie cookie = new HttpCookie("xcopenid");
                            cookie.Value   = OAuthUser_Model.openid;
                            cookie.Expires = DateTime.Now.AddDays(3650);
                            HttpContext.Current.Response.Cookies.Add(cookie);

                            userBLL.Add(userModel);
                        }
                        else//有记录更新
                        {
                            HttpCookie cookie = new HttpCookie("xcopenid");
                            cookie.Value   = OAuthUser_Model.openid;
                            cookie.Expires = DateTime.Now.AddDays(3650);
                            HttpContext.Current.Response.Cookies.Add(cookie);

                            ;                            userBLL.Update(userModel);
                        }
                        Response.Redirect("" + reurl + "&openid=" + OAuthUser_Model.openid + "");
                        //   Response.Redirect(reurl);
                    }
                    else  //未获得openid,回到wxProcess.aspx,访问弹出微信授权页面,提示用户授权
                    {
                        Response.Redirect("wxProcess.aspx?auth=1");
                    }
                }
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                string code = "";
                if (Request.QueryString["code"] != null && Request.QueryString["code"] != "")
                {
                    code = Request.QueryString["code"].ToString();
                    Util.Debuglog("ceshicode=" + code, "公众号绑定openid.txt");
                    string[] param = Request.QueryString["state"].ToString().Split('|');

                    string companyID = param[0];//14
                    Util.Debuglog("companyID=" + companyID, "公众号绑定openid.txt");


                    string    sql2 = "select * from asm_company where id=" + companyID;
                    DataTable d1   = DbHelperSQL.Query(sql2).Tables[0];
                    if (d1.Rows.Count > 0)
                    {
                        appid     = d1.Rows[0]["appId"].ToString();
                        appsecret = d1.Rows[0]["wx_appsecret"].ToString();
                    }

                    OAuth_Token Model = Get_token(code, companyID);
                    Util.Debuglog("Model=" + Model, "公众号绑定openid.txt");
                    Util.Debuglog("Model.access_token=" + Model.access_token, "公众号绑定openid.txt");
                    Util.Debuglog("Model.openid=" + Model.openid, "公众号绑定openid.txt");
                    OAuthUser OAuthUser_Model = Get_UserInfo(Model.access_token, Model.openid);
                    Util.Debuglog("OAuthUser_Model=" + OAuthUser_Model.openid, "公众号绑定openid.txt");
                    if (OAuthUser_Model.openid != null && OAuthUser_Model.openid != "")  //已获取得openid及其他信息
                    {
                        Util.Debuglog("进入=" + OAuthUser_Model.openid, "公众号绑定openid.txt");
                        headImg = OAuthUser_Model.headimgurl.ToString(); //头像图片
                        name    = OAuthUser_Model.nickname;              //昵称
                        id      = OAuthUser_Model.openid;                //opendid
                        unionID = OAuthUser_Model.unionid;
                        string province = OAuthUser_Model.province;
                        string city     = OAuthUser_Model.city;
                        string country  = OAuthUser_Model.city;
                        string gender   = OAuthUser_Model.sex == "1" ? "男" : "女";


                        Util.Debuglog("id=" + id, "公众号绑定openid.txt");//o1_mf1aL2bduKZnTzG1irrfvN0x8

                        string sql = "select * from asm_member where unionID='" + unionID + "'";
                        Util.Debuglog("sql=" + sql, "公众号绑定openid.txt");
                        DataTable dt = DbHelperSQL.Query(sql).Tables[0];
                        if (dt.Rows.Count <= 0)
                        {
                            string insert = "insert into asm_member(name,phone,province,city,country,AvailableMoney,sumConsume,sumRecharge,createDate,companyID,headurl,nickname,sex,unionID,openID,consumeCount)"
                                            + " values(N'" + name + "','','" + province + "','" + city + "','" + country + "',0,0,0,'" + DateTime.Now + "','" + companyID + "','" + headImg + "',N'" + name + "','" + gender + "','" + unionID + "','" + id + "',0)";
                            Util.Debuglog(insert, "公众号绑定openid.txt");
                            DbHelperSQL.ExecuteSql(insert);
                            Response.Write("<span style='color:#FF0000;font-size:200px'>" + "已绑定成功!" + "</span>");
                        }
                        else
                        {
                            string update = "update asm_member set openID='" + id + "' where unionID='" + unionID + "'";
                            Util.Debuglog("更新" + update, "公众号绑定openid.txt");
                            DbHelperSQL.ExecuteSql(update);

                            Response.Write("<div style='width:100%;height:100%;font-family:楷体;font-size:160px;text-align:center;color:#FF0000;'> 已绑定成功! </ div >");
                        }
                    }
                }
            }
        }
Beispiel #23
0
        /// <summary>
        /// Called by the ASP.NET MVC framework before the action method executes.
        /// </summary>
        /// <param name="filterContext">The filter context.</param>
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            if (ConfigSetting.isDebug)
            {
                if (!LoginHelper.IsLogin())
                {
                    LoginHelper.UserLogin(UserHelper.GetModelByUserID("6c188a35-68c9-45f5-a5df-adfccc357daf"));
                }
                base.OnActionExecuting(filterContext);
                return;
            }
            if (filterContext.HttpContext.Request.UserAgent.ToLower().Contains("micromessenger"))
            {
                #region 微信登陆验证

                if (LoginHelper.IsLogin())
                {
                    base.OnActionExecuting(filterContext);
                    return;
                }
                else
                {
                    string code = filterContext.HttpContext.Request["code"];
                    if (string.IsNullOrEmpty(code))
                    {
                        string url =
                            string.Format(
                                "{0}?appid={1}&redirect_uri={2}&response_type=code&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect"
                                , ConfigSetting.WeiXinauthUrl
                                , ConfigSetting.WeiXinAppID
                                , HttpUtility.UrlEncode(filterContext.HttpContext.Request.Url.AbsoluteUri));
                        filterContext.Result = new RedirectResult(url);
                        return;
                    }
                    //获取Token
                    OAuth_Token token = Get_token1(code);
                    if (token != null)
                    {
                        if (LoginHelper.UserLogin(token))
                        {
                            base.OnActionExecuting(filterContext);
                        }
                        else
                        {
                            filterContext.Result = new ContentResult()
                            {
                                Content = "登录失败"
                            };
                            return;
                        }
                    }
                    else
                    {
                        filterContext.Result = new ContentResult()
                        {
                            Content = "授权失败"
                        };
                        return;
                    }
                }
                #endregion
            }
            else
            {
                filterContext.Result = new ContentResult()
                {
                    Content = "请在微信里打开"
                };
            }
            return;
        }
Beispiel #24
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                string code = "";
                if (Request.QueryString["code"] != null && Request.QueryString["code"] != "")
                {
                    code = Request.QueryString["code"].ToString();
                    Util.Debuglog("code=" + code + ";state=" + Request.QueryString["state"], "获取参数.txt");
                    string[] param = Request.QueryString["state"].ToString().Split('|');
                    if (param.Length != 4)
                    {
                        //Response.Write("<span style='color:#FF0000;font-size:20px'>" + "参数不全请重试" + "</span>");
                    }
                    //9|14|43|334|0|1
                    string    money           = param[0]; //9
                    string    companyID       = param[1]; //14
                    string    mechineID       = param[2]; //43
                    string    productID       = param[3]; //334
                    string    dgOrderDetailID = param[4]; //0
                    string    type            = param[5]; //1
                    string    sftj            = param[6]; //1 是特价
                    string    sql2            = "select * from asm_company where id=" + companyID;
                    DataTable d1 = DbHelperSQL.Query(sql2).Tables[0];
                    if (d1.Rows.Count > 0)
                    {
                        appid     = d1.Rows[0]["appId"].ToString();
                        appsecret = d1.Rows[0]["wx_appsecret"].ToString();
                    }

                    OAuth_Token Model           = Get_token(code, companyID);
                    OAuthUser   OAuthUser_Model = Get_UserInfo(Model.access_token, Model.openid);
                    if (OAuthUser_Model.openid != null && OAuthUser_Model.openid != "") //已获取得openid及其他信息
                    {
                        headImg = OAuthUser_Model.headimgurl.ToString();                //头像图片
                        name    = OAuthUser_Model.nickname;                             //昵称
                        id      = OAuthUser_Model.openid;                               //opendid
                        unionID = OAuthUser_Model.unionid;
                        string province = OAuthUser_Model.province;
                        string city     = OAuthUser_Model.city;
                        string country  = OAuthUser_Model.city;
                        string gender   = OAuthUser_Model.sex == "1" ? "男" : "女";
                        // Util.SetSession("_openID", id);
                        Util.Debuglog("id=" + id, "获取token.txt");//o1_mf1aL2bduKZnTzG1irrfvN0x8
                        string sql = "select * from asm_member where unionID='" + unionID + "'";
                        Util.Debuglog("sql=" + sql, "零售支付用户注册.txt");
                        DataTable dt   = DbHelperSQL.Query(sql).Tables[0];
                        string    sql3 = "select * from asm_tqlist where companyID=" + companyID;
                        Util.Debuglog("sql3=" + sql3, "零售支付用户注册.txt");
                        DataTable d3 = DbHelperSQL.Query(sql3).Tables[0];
                        if (d3.Rows.Count > 0 && d3.Rows[0]["memberprice"].ToString() == "1" && dt.Rows.Count > 0)
                        {
                            //查询该产品是否限时特价

                            money = Util.getNewProductPrice(productID, mechineID, dt.Rows[0]["dj"].ToString());
                        }
                        else
                        {
                            string    sql1 = "select * from asm_product where productID=" + productID;
                            DataTable dt1  = DbHelperSQL.Query(sql1).Tables[0];
                            money = dt1.Rows[0]["price0"].ToString();
                        }
                        //判断限购次数



                        if (dt.Rows.Count <= 0)
                        {
                            string insert = "insert into asm_member(name,phone,province,city,country,AvailableMoney,sumConsume,sumRecharge,createDate,companyID,headurl,nickname,sex,unionID,openID,consumeCount)"
                                            + " values(N'" + name + "','','" + province + "','" + city + "','" + country + "',0,0,0,'" + DateTime.Now + "','" + companyID + "','" + headImg + "',N'" + name + "','" + gender + "','" + unionID + "','" + id + "',0)";
                            Util.Debuglog(insert, "零售支付用户注册.txt");
                            DbHelperSQL.ExecuteSql(insert);
                            //发送注册成为会员模板消息
                            wxHelper wx   = new wxHelper(companyID);
                            string   data = TemplateMessage.Member_ZC(id, OperUtil.getMessageID(companyID, "OPENTM203347141"), "恭喜您注册成为会员!", name, "恭喜您注册成为会员,您将享受到会员所有权利!");
                            TemplateMessage.SendTemplateMsg(wx.IsExistAccess_Token(companyID), data);
                        }
                        else
                        {
                            //更新
                            string update = "update asm_member set openID='" + id + "' where unionID='" + unionID + "'";
                            Util.Debuglog("更新" + update, "是否限购.txt");
                            DbHelperSQL.ExecuteSql(update);
                            //限购判断
                            if (!Util.xgCount(productID, dt.Rows[0]["id"].ToString(), mechineID))
                            {
                                Util.Debuglog("限购" + unionID, "是否限购.txt");
                                string url13 = "https://wx.bingoseller.com/main/xg.aspx";
                                //限购不让购买
                                Response.Write("<script>window.location.href='" + url13 + "';</script>");
                                return;
                            }
                            if (unionID == "owhCR0esai2hPXH4lYkeLMAcccuE" || unionID == "owhCR0XLU0NM_GauIWydxGogmHfk")
                            {
                                string url1 = "https://wx.bingoseller.com/main/wxorbalanceceshi.aspx?companyID=" + companyID + "&mechineID=" + mechineID + "&money=" + money + "&unionID=" + unionID + "&openID=" + id + "&productID=" + productID + "&dgOrderDetailID=" + dgOrderDetailID + "&type=" + type + "&sftj=" + sftj;
                                Util.Debuglog("url1=" + url1, "微信+余额.txt");
                                Response.Write("<script>window.location.href='" + url1 + "';</script>");
                                return;
                            }


                            if (dt.Rows.Count > 0 && double.Parse(dt.Rows[0]["AvailableMoney"].ToString()) >= double.Parse(money))
                            {
                                string url1 = "https://wx.bingoseller.com/main/wxorbalance.aspx?companyID=" + companyID + "&mechineID=" + mechineID + "&money=" + money + "&unionID=" + unionID + "&openID=" + id + "&productID=" + productID + "&dgOrderDetailID=" + dgOrderDetailID + "&type=" + type + "&sftj=" + sftj;
                                Util.Debuglog("url1=" + url1, "微信+余额.txt");
                                Response.Write("<script>window.location.href='" + url1 + "';</script>");
                                return;
                            }
                        }
                        string url12 = "https://wx.bingoseller.com/main/wxorbalance.aspx?companyID=" + companyID + "&mechineID=" + mechineID + "&money=" + money + "&unionID=" + unionID + "&openID=" + id + "&productID=" + productID + "&dgOrderDetailID=" + dgOrderDetailID + "&type=" + type + "&sftj=" + sftj;
                        Util.Debuglog("url12=" + url12, "微信+余额.txt");
                        Response.Write("<script>window.location.href='" + url12 + "';</script>");
                        return;
                    }
                }
            }
        }
Beispiel #25
0
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";

            string code = context.Request.QueryString["code"];

            context.Response.Write("code:" + code);

            if (context.Request.QueryString["code"] != null && context.Request.QueryString["code"] != "")
            {
                //获取微信回传的code
                code = context.Request.QueryString["code"].ToString();
                OAuth_Token Model           = Get_token(code);                      //获取token
                OAuthUser   OAuthUser_Model = Get_UserInfo(Model.access_token, Model.openid);
                if (OAuthUser_Model.openid != null && OAuthUser_Model.openid != "") //已获取得openid及其他信息
                {
                    //在页面上输出用户信息
                    context.Response.Write("用户OPENID:" + OAuthUser_Model.openid + "NUidod:" + OAuthUser_Model.unionid + "<br>用户昵称:" + OAuthUser_Model.nickname + "<br>性别:" + OAuthUser_Model.sex + "<br>所在省:" + OAuthUser_Model.province + "<br>所在市:" + OAuthUser_Model.city + "<br>所在国家:" + OAuthUser_Model.country + "<br>头像地址:" + OAuthUser_Model.headimgurl + "<br>用户特权信息:" + OAuthUser_Model.privilege);
                    //或跳转到自己的页面,想怎么处理就怎么处理
                    //Response.Redirect(reurl);
                    WxUserManage wxManager = new WxUserManage();
                    WxusersEO    resEo     = wxManager.getWxUserByPk(OAuthUser_Model.unionid);
                    if (resEo != null)
                    {
                        context.Response.Write("resEo in not null");
                    }
                    else
                    {
                        context.Response.Write("resEo in null");
                        string    did  = context.Request["duid"];
                        WxusersEO wxEo = new WxusersEO();
                        wxEo.WxId       = OAuthUser_Model.unionid;
                        wxEo.WxOpenid   = OAuthUser_Model.openid;
                        wxEo.WxNickname = OAuthUser_Model.nickname;
                        wxEo.WxHeadurl  = OAuthUser_Model.headimgurl;
                        wxEo.WxSex      = OAuthUser_Model.sex;
                        wxEo.WxDuid     = did;
                        wxEo.WxBindtime = DateTime.Now;
                        context.Response.Write("did " + did);

                        Dictionary <string, string> dic = new Dictionary <string, string>();
                        dic["action"]  = "IDIP_DO_BAND_DAILI_REQ";
                        dic["unionId"] = OAuthUser_Model.unionid;
                        dic["duid"]    = did;
                        string  json        = new JavaScriptSerializer().Serialize(dic);
                        string  serverUrl   = ConfigurationManager.AppSettings["ServerUrl"].ToString();
                        string  responseStr = HttpClientUlity.PostJsonData(serverUrl, json);
                        JObject jo          = (JObject)JsonConvert.DeserializeObject(responseStr);
                        context.Response.Write("errCode " + jo["errCode"].ToString());
                        wxEo.WxState = jo["errCode"].ToString();

                        context.Response.Write("WxId: " + wxEo.WxId);
                        context.Response.Write("WxOpenid: " + wxEo.WxOpenid);
                        context.Response.Write("WxNickname: " + wxEo.WxNickname);
                        context.Response.Write("WxHeadurl: " + wxEo.WxHeadurl);
                        context.Response.Write("WxSex: " + wxEo.WxSex);
                        context.Response.Write("WxDuid: " + wxEo.WxDuid);
                        int ret = wxManager.addWxUser(wxEo);
                        context.Response.Write("ret: " + ret.ToString());
                        if (ret > 0)
                        {
                            context.Response.Write("绑定成功");
                        }
                        else
                        {
                            context.Response.Write("绑定失败");
                        }

                        context.Response.Write("resEo in null");
                    }
                }
                else  //未获得openid,回到wxProcess.aspx,访问弹出微信授权页面,提示用户授权
                {
                    context.Response.Redirect("获取OpenId失败");
                }
            }
            else
            {
                context.Response.Write("code is null");
            }

            //context.Response.Write(vParamData);
        }
Beispiel #26
0
    /// <summary>
    /// 获取微信用户信息
    /// </summary>
    /// <param name="openid"></param>
    /// <returns></returns>
    public static Cms.Model.wx_userinfo getwxuserinfo(string openid)
    {
        Cms.BLL.wx_info       wxinfo    = new Cms.BLL.wx_info();
        Cms.Model.wx_info     Model     = new Cms.Model.wx_info();
        Cms.BLL.wx_userinfo   userinfo  = new Cms.BLL.wx_userinfo();
        Cms.Model.wx_userinfo muserinfo = new Cms.Model.wx_userinfo();
        Model = wxinfo.GetModel(1);
        string    str = "";
        DataTable dt  = userinfo.GetList("openid='" + openid + "' order by updatetime desc").Tables[0];

        if (dt.Rows.Count > 0)
        {
            string uptime = Convert.ToDateTime(dt.Rows[0]["updatetime"]).ToString("yyyy-MM-dd");
            string time   = DateTime.Now.ToString("yyyy-MM-dd");

            if (uptime == time)
            {
                muserinfo = userinfo.GetModel(int.Parse(dt.Rows[0]["id"].ToString()));
            }
            else
            {
                string Str = GetJson("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" + Model.AppId + "&secret=" + Model.AppSecret + "");
                //微信回传的数据为Json格式,将Json格式转化成对象
                OAuth_Token ModelOAuth_Token = wxuser.JSONToObject <OAuth_Token>(Str);
                setlog("添加ModelOAuth_Token", ModelOAuth_Token.access_token);
                string     StrTwo   = GetJson("https://api.weixin.qq.com/cgi-bin/user/info?access_token=" + ModelOAuth_Token.access_token + "&openid=" + openid + "");
                wxuserinfo ModelTwo = wxuser.JSONToObject <wxuserinfo>(StrTwo);
                muserinfo.subscribe      = ModelTwo.subscribe;
                muserinfo.openid         = ModelTwo.openid;
                muserinfo.nickname       = ModelTwo.nickname;
                muserinfo.sex            = ModelTwo.sex;
                muserinfo.language       = ModelTwo.language;
                muserinfo.city           = ModelTwo.city;
                muserinfo.province       = ModelTwo.province;
                muserinfo.country        = ModelTwo.country;
                muserinfo.headimgurl     = ModelTwo.headimgurl;
                muserinfo.subscribe_time = ModelTwo.subscribe_time;
                muserinfo.remark         = ModelTwo.remark;
                muserinfo.updatetime     = DateTime.Now;

                //str = setinfo("https://api.weixin.qq.com/cgi-bin/user/info?access_token=" + Model.access_token + "&openid=" + openid, "", openid);
                //muserinfo = JSONToObject<Cms.Model.wx_userinfo>(str);
                //Cms.Model.wx_userinfo wx = new Cms.Model.wx_userinfo();
                ////wx.id = int.Parse(dt.Rows[0]["id"].ToString());
                //wx.subscribe = muserinfo.subscribe;
                //wx.openid = muserinfo.openid;
                //wx.nickname = muserinfo.nickname;
                //wx.sex = muserinfo.sex;
                //wx.language = muserinfo.language;
                //wx.city = muserinfo.city;
                //wx.province = muserinfo.province;
                //wx.country = muserinfo.country;
                //wx.headimgurl = muserinfo.headimgurl;
                //wx.subscribe_time = muserinfo.subscribe_time;
                //wx.remark = muserinfo.remark;
                //wx.updatetime = DateTime.Now;
                userinfo.Add(muserinfo);
            }
        }



        return(muserinfo);
    }
Beispiel #27
0
        /// <summary>
        /// 获得用户登录进来的openid
        /// </summary>
        public static GetOpenid ReGetOpenId()
        {
            string    CodeUrl   = "";
            string    url       = "";
            GetOpenid getopenid = new GetOpenid();

            //先要判断是否是获取code后跳转过来的
            if (System.Web.HttpContext.Current.Request.QueryString["code"] == "" || System.Web.HttpContext.Current.Request.QueryString["code"] == null)
            {
                //Code为空时,那就先去先获取Code
                url     = System.Web.HttpContext.Current.Request.Url.AbsoluteUri; //获取当前url
                url     = System.Web.HttpUtility.UrlEncode(url);                  //对url进行编码
                CodeUrl = string.Format("https://open.weixin.qq.com/connect/oauth2/authorize?appid=" + WxPayConfig.APPID + "&redirect_uri=" + url + "?action=viewtest&response_type=code&scope=snsapi_base&state=1#wechat_redirect");

                System.Web.HttpContext.Current.Response.Redirect(CodeUrl);//先跳转到微信的服务器,取得code后会跳回来这页面的
            }
            else
            {
                // 跳回来后根据Code获取用户的openid、access_token

                url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=" + WxPayConfig.APPID + "&secret=" + WxPayConfig.APPSECRET + "&code=" + System.Web.HttpContext.Current.Request.QueryString["Code"] + "&grant_type=authorization_code";

                //设置HttpClientHandler的AutomaticDecompression
                var handler = new HttpClientHandler()
                {
                    AutomaticDecompression = DecompressionMethods.GZip
                };
                //创建HttpClient
                using (var http = new HttpClient(handler))
                {
                    HttpResponseMessage response = http.GetAsync(url).Result;
                    if (response.IsSuccessStatusCode)
                    {
                        string responseJson = response.Content.ReadAsStringAsync().Result;
                        //序列化
                        OAuth_Token ac = new OAuth_Token();
                        ac = JSONHelper.JsonDeserialize <OAuth_Token>(responseJson);

                        WxPayData data = new WxPayData();
                        data.SetValue("openid", ac.openid);
                        data.SetValue("access_token", ac.access_token);
                        data.SetValue("expires_in", ac.expires_in);
                        data.SetValue("scope", ac.scope);
                        data.SetValue("refresh_token", ac.refresh_token);

                        System.Web.HttpContext.Current.Session["openid"] = ac.openid;
                        getopenid.openid = ac.openid;
                        getopenid.code   = System.Web.HttpContext.Current.Request.QueryString["code"];
                        getopenid.status = "OK";
                    }
                    else
                    {
                        getopenid.code   = System.Web.HttpContext.Current.Request.QueryString["code"];
                        getopenid.status = "error,StatusCode:" + response.StatusCode.ToString();
                    }
                }
            }


            return(getopenid);
        }
Beispiel #28
0
        public int init()
        {
            BLL.wx_userweixin   wx      = new BLL.wx_userweixin();
            Model.wx_userweixin wxModel = wx.GetModel(wid);
            appid     = wxModel.AppId;
            appsecret = wxModel.AppSecret;
            string code = "";

            if (Request.QueryString["code"] != null && Request.QueryString["code"] != "")
            {
                //获取微信回传的code
                code = Request.QueryString["code"].ToString();
                OAuth_Token Model           = Get_token(code);                      //获取token
                OAuthUser   OAuthUser_Model = Get_UserInfo(Model.access_token, Model.openid);
                if (OAuthUser_Model.openid != null && OAuthUser_Model.openid != "") //已获取得openid及其他信息
                {
                    //绑定数据
                    wx_ucard_users       userBLL   = new wx_ucard_users();
                    Model.wx_ucard_users userModel = new XCWeiXin.Model.wx_ucard_users();
                    bool Isuser = userBLL.getUserExists(OAuthUser_Model.openid);
                    if (Isuser)
                    {
                        userModel = userBLL.GetModel(OAuthUser_Model.openid);
                    }
                    userModel.wid       = wid;
                    userModel.openid    = OAuthUser_Model.openid;
                    userModel.wxName    = OAuthUser_Model.nickname;
                    userModel.sex       = OAuthUser_Model.sex;
                    userModel.language  = OAuthUser_Model.language;
                    userModel.province  = OAuthUser_Model.province;
                    userModel.city      = OAuthUser_Model.city;
                    userModel.country   = OAuthUser_Model.country;
                    userModel.headimgul = OAuthUser_Model.headimgurl;
                    userModel.subscribe = OAuthUser_Model.subscribe;
                    //   userModel.subscribe_time =DateTime.Parse(OAuthUser_Model.subscribe_time.Trim());
                    userModel.groupid = OAuthUser_Model.groupid;

                    openid = OAuthUser_Model.openid;
                    if (!Isuser)//没有记录,添加
                    {
                        HttpCookie cookie = new HttpCookie("xcopenid" + wid + "");
                        cookie.Value   = OAuthUser_Model.openid;
                        cookie.Expires = DateTime.Now.AddDays(3650);
                        HttpContext.Current.Response.Cookies.Add(cookie);

                        userBLL.Add(userModel);
                        return(0);
                    }
                    else//有记录更新
                    {
                        HttpCookie cookie = new HttpCookie("xcopenid" + wid + "");
                        cookie.Value   = OAuthUser_Model.openid;
                        cookie.Expires = DateTime.Now.AddDays(3650);
                        HttpContext.Current.Response.Cookies.Add(cookie);

                        userBLL.Update(userModel);
                        return(0);
                    }

                    //  Response.Redirect("" + reurl + "&openid=" + OAuthUser_Model.openid + "");
                    //   Response.Redirect(reurl);
                }
                else      //未获得openid,回到wxProcess.aspx,访问弹出微信授权页面,提示用户授权
                {
                    return(1);
                }
            }
            else       //取code失败
            {
                return(2);
            }
        }
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!IsPostBack)
     {
         string code = "";
         if (Request.QueryString["code"] != null && Request.QueryString["code"] != "")
         {
             code = Request.QueryString["code"].ToString();
             Util.Debuglog("code=" + code, "_获取会员信息.txt");
             string    companyID = Request.QueryString["companyID"].ToString();
             string    sql2      = "select * from asm_company where id=" + companyID;
             DataTable d1        = DbHelperSQL.Query(sql2).Tables[0];
             if (d1.Rows.Count > 0)
             {
                 appid     = d1.Rows[0]["appId"].ToString();
                 appsecret = d1.Rows[0]["wx_appsecret"].ToString();
             }
             OAuth_Token Model           = Get_token(code, companyID);
             OAuthUser   OAuthUser_Model = Get_UserInfo(Model.access_token, Model.openid);
             //OAuthUser OAuthUser_Model = Get_UserInfo(Model.access_token, Model.openid);
             if (OAuthUser_Model.openid != null && OAuthUser_Model.openid != "") //已获取得openid及其他信息
             {
                 tupian  = OAuthUser_Model.headimgurl.ToString();                //头像图片
                 name    = OAuthUser_Model.nickname;                             //昵称
                 id      = OAuthUser_Model.openid;                               //opendid
                 unionID = OAuthUser_Model.unionid;
                 string country  = OAuthUser_Model.country;
                 string province = OAuthUser_Model.province;
                 string city     = OAuthUser_Model.city;
                 Util.Debuglog("unionid=" + OAuthUser_Model.unionid, "_获取会员信息.txt");
                 OperUtil.setCooki("vshop_openID", id);
                 string    sql = "select * from asm_member where openID='" + id + "'or unionID='" + unionID + "' and companyID=" + companyID;
                 DataTable dt  = DbHelperSQL.Query(sql).Tables[0];
                 wxHelper  wx  = new wxHelper(companyID);
                 wx.Get_UserInfo(id);
                 if (dt.Rows.Count <= 0)
                 {
                     //name= System.Web.HttpUtility.UrlEncode(name, System.Text.Encoding.UTF8);
                     //添加会员 会员不一定必须绑定机器  只有会员有订购产品的时候才必须绑定机器
                     string sql1 = "INSERT INTO [dbo].[asm_member]"
                                   + " ([name],[phone],[QQ],[province],[city],[country],[addres],[AvailableMoney],[sumConsume],[sumRecharge],[createDate],[mechineID],[companyID],[age],[LastTime],[memberBH],[consumeCount],[openID],[brithday],[headurl],[nickname],[pwd],[utfName],unionID)"
                                   + " VALUES(N'" + name + "','','','" + province + "','" + city + "','','',0,0,0,'" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "','','" + companyID + "','0','','',0,'" + id + "','','" + tupian + "',N'" + name + "','000000','" + System.Web.HttpUtility.UrlEncode(name, System.Text.Encoding.UTF8) + "','" + unionID + "')";
                     DbHelperSQL.ExecuteSql(sql1);
                     Util.Debuglog("sql1=" + sql1 + ";会员注册", "首页_.txt");
                     string data = TemplateMessage.Member_ZC(id, OperUtil.getMessageID(companyID, "OPENTM203347141"), "恭喜您注册成为会员!", name, "恭喜您注册成为会员,您将享受到会员所有权利!交易密码默认为000000,请前往会员中心修改");
                     TemplateMessage.SendTemplateMsg(wx.IsExistAccess_Token(companyID), data);
                     //跳转领取红包判断系统是否开启
                     if (d1.Rows[0]["p4"].ToString() != "" && d1.Rows[0]["p4"].ToString() != null && d1.Rows[0]["p4"].ToString() != "0")
                     {
                         Response.Write("<script>top.location.href='accethb.aspx?companyID=" + companyID + "&openID=" + id + "';</script>");
                     }
                     else
                     {
                         Response.Write("<script>top.location.href='homeIndex.aspx?companyID=" + companyID + "';</script>");
                     }
                 }
                 else
                 {
                     //更新会员信息
                     string sqlupdate = string.Format("update asm_member set name=N'{0}',headurl='{1}',utfName='{3}',unionID='" + unionID + "' where openID='{2}'", name, tupian, id, System.Web.HttpUtility.UrlEncode(name, System.Text.Encoding.UTF8));
                     DbHelperSQL.ExecuteSql(sqlupdate);
                     Response.Write("<script>top.location.href='homeIndex.aspx?companyID=" + companyID + "';</script>");
                 }
             }
         }
     }
 }
Beispiel #30
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                VShopConfig vsconfig = VShopConfigHelper.Get();

                //获取从wxProcess.aspx传递过来的跳转地址reurl
                if (Request.QueryString["reurl"] != null && Request.QueryString["reurl"] != "")
                {
                    reurl = Request.QueryString["reurl"].ToString();
                }

                string code = "";
                if (Request.QueryString["code"] != null && Request.QueryString["code"] != "")
                {
                    //获取微信回传的code
                    code = Request.QueryString["code"].ToString();
                    OAuth_Token Model           = Get_token(code);                      //获取token
                    OAuthUser   OAuthUser_Model = Get_UserInfo(Model.access_token, Model.openid);
                    if (OAuthUser_Model.openid != null && OAuthUser_Model.openid != "") //已获取得openid及其他信息
                    {
                        //在页面上输出用户信息
                        //Response.Write("用户OPENID:" + OAuthUser_Model.openid + "<br>用户昵称:" + OAuthUser_Model.nickname + "<br>性别:" + OAuthUser_Model.sex + "<br>所在省:" + OAuthUser_Model.province + "<br>所在市:" + OAuthUser_Model.city + "<br>所在国家:" + OAuthUser_Model.country + "<br>头像地址:" + OAuthUser_Model.headimgurl + "<br>用户特权信息:" + OAuthUser_Model.privilege);

                        //先判断该用户之前是否注册过
                        UserModel oLoginUser = UserFactory.Get(OAuthUser_Model.openid);
                        if (oLoginUser == null)  //没注册,则重新注册一个
                        {
                            UserModel regu = new UserModel();
                            regu.openid     = OAuthUser_Model.openid;
                            regu.nickname   = Utils.RemoveEmoji(OAuthUser_Model.nickname);
                            regu.sex        = OAuthUser_Model.sex == "1" ? "男性" : "女性";
                            regu.headpicurl = OAuthUser_Model.headimgurl;
                            regu.address    = string.Empty; //OAuthUser_Model.province + OAuthUser_Model.city;

                            UserFactory.Add(regu);

                            oLoginUser = UserFactory.Get(OAuthUser_Model.openid);
                            OdnShop.Core.PageControler.WebPageBase.WriteUidCookie(oLoginUser.uid, 0);

                            if (reurl.ToLower().IndexOf("share.aspx") >= 0)
                            {
                                reurl += "&regnew=1";
                            }
                        }
                        else   //有注册过
                        {
                            oLoginUser.headpicurl = OAuthUser_Model.headimgurl;
                            UserFactory.Update(oLoginUser);

                            OdnShop.Core.PageControler.WebPageBase.WriteUidCookie(oLoginUser.uid, 0);
                        }

                        //或跳转到自己的页面,想怎么处理就怎么处理
                        Response.Redirect(reurl);
                    }
                    else  //未获得openid,回到原始页面
                    {
                        Response.Redirect(reurl);
                    }
                }
            }
        }