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); }
/// <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); }
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); }
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); } } } }
/// <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); }
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); }
/// <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); }
/// <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); }
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); }
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); }
/// <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); }
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)); }
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)); } }
/// <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); }
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); } } }
/// <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")); }
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; } } } }
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 >"); } } } } }
/// <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; }
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; } } } }
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); }
/// <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); }
/// <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); }
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>"); } } } } }
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 += "®new=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); } } } }