// // GET: /Account/ /// <summary> /// 绑定微信 /// </summary> /// <param name="url"></param> /// <returns></returns> public ActionResult WXBind(string url) { try { JsApi jsapi = new JsApi(this); string codeUrl = jsapi.GetOpenidAndAccessToken_snsapi_userinfo(); if (codeUrl != string.Empty) { return(Redirect(codeUrl)); } WXVariousApi VariousApi = new WXVariousApi(); VariousApi.LoadWxConfigIncidentalAccess_token(); WXUserInfo wx_userinfo = VariousApi.GetUserInfo(jsapi.openid); C_UserWxInfo.UnBindWxByC_UserName(CurrentUser.UserName);//解绑微信 //用户信息,包括微信信息 C_UserWxInfo wxInfo = C_UserWxInfo.GetInfoByOpenid(jsapi.openid); if (wxInfo == null) { wxInfo = new C_UserWxInfo(); wxInfo.C_UserName = CurrentUser.UserName; wxInfo.openid = jsapi.openid; wxInfo.accesstoken = jsapi.access_token; wxInfo.nickname = wx_userinfo.nickname; wxInfo.sex = wx_userinfo.sex; wxInfo.unionid = wx_userinfo.unionid; wxInfo.headimgurl = wx_userinfo.headimgurl; wxInfo.subscribe = (wx_userinfo.subscribe == "0" ? false : true); wxInfo.country = wx_userinfo.country; wxInfo.subscribe_time = Common.ConvertToDateTen(wx_userinfo.subscribe_time); wxInfo.language = wx_userinfo.language; wxInfo.ID = wxInfo.InsertAndReturnIdentity();//新的ID } else { C_UserWxInfo.BindWxByC_UserName(CurrentUser.UserName, wxInfo.ID); } return(Redirect(HttpUtility.UrlDecode(url))); } catch (Exception ex) { DAL.Log.Instance.Write(ex.ToString(), "WXBind_error"); return(View(ErrorPage.ViewName, new ErrorPage { Message = "绑定微信失败" })); } }
public ActionResult UpdateWx(string UserName) { C_UserWxInfo info = C_UserWxInfo.GetInfoByC_UserName(UserName); WXVariousApi VariousApi = new WXVariousApi(); VariousApi.LoadWxConfigIncidentalAccess_token(); WXUserInfo wx_userinfo = VariousApi.GetUserInfo(info.openid); info.nickname = wx_userinfo.nickname; info.headimgurl = wx_userinfo.headimgurl; info.groupid = wx_userinfo.groupid; info.C_UserName = UserName; info.subscribe = (wx_userinfo.subscribe == "0" ? false : true); info.country = wx_userinfo.country; info.subscribe_time = Common.ConvertToDateTen(wx_userinfo.subscribe_time); info.language = wx_userinfo.language; bool rtn = true; if (!string.IsNullOrWhiteSpace(info.nickname)) { rtn = info.UpdateUserWxInfo(); } return(Content(rtn ? "ok" : "更新失败")); }
/// <summary> /// 抽奖 /// </summary> /// <param name="fwm"></param> /// <param name="mobile"></param> /// <returns></returns> public ActionResult toPrizeDraw(int ActivityID, string fwm, string Phone, string Name) { //if (string.IsNullOrWhiteSpace(Phone)) //{ // return Content("fail|手机号不能为空"); //} //if (Phone.Length != 11) //{ // return Content("fail|手机号有误"); //} //if (string.IsNullOrWhiteSpace(Name)) //{ // return Content("fail|姓名不能为空"); //} WXUserInfo userInfo = new WXUserInfo(); //string UserOpenId = ""; //if (Session["openid"] != null) //{ //UserOpenId = Session["openid"].ToString(); //string ACCESS_TOKEN = Session["ACCESS_TOKEN"].ToString(); //userInfo=GetUserInfo(UserOpenId, ACCESS_TOKEN); //} WXVariousApi VariousApi = new WXVariousApi(); string UserOpenId = ReGetOpenId(VariousApi.WxConfig.APPID, VariousApi.WxConfig.ACCESS_TOKEN); userInfo = VariousApi.GetUserInfo(UserOpenId); PrizeAttr drawrtn = LotteryPrizes.toPrizeDraw(fwm, ActivityID, Phone, Name, UserOpenId, userInfo); return(Json(drawrtn, JsonRequestBehavior.AllowGet)); }
public ActionResult WXLogin(string url) { try { JsApi jsapi = new JsApi(this); string codeUrl = jsapi.GetOpenidAndAccessToken_snsapi_userinfo(); if (codeUrl != string.Empty) { return(Redirect(codeUrl)); } //用户信息,包括微信信息 C_UserWxVM userVM = new C_UserWxVM(); Log.Instance.Write(jsapi.openid, "OpenID"); userVM.LoadUserVMByOpenid(jsapi.openid); WXVariousApi VariousApi = new WXVariousApi(); VariousApi.LoadWxConfigIncidentalAccess_token(); WXUserInfo wx_userinfo = VariousApi.GetUserInfo(jsapi.openid); //未关注获取头像 if (wx_userinfo.subscribe == "0") { WXUserInfo new_Wx_UserInfo = VariousApi.GetUserInfo0(jsapi.openid, jsapi.access_token); if (new_Wx_UserInfo != null) { wx_userinfo.nickname = new_Wx_UserInfo.nickname; wx_userinfo.sex = new_Wx_UserInfo.sex; wx_userinfo.province = new_Wx_UserInfo.province; wx_userinfo.city = new_Wx_UserInfo.city; wx_userinfo.country = new_Wx_UserInfo.country; wx_userinfo.headimgurl = new_Wx_UserInfo.headimgurl; wx_userinfo.unionid = new_Wx_UserInfo.unionid; } } if (userVM == null || userVM.user == null) { if (wx_userinfo.unionid.Length > 0) { userVM.LoadUserVMByunionid(wx_userinfo.unionid); } } if (userVM == null || userVM.user == null) { userVM.user = new C_WxUser(); userVM.userWxInfo = new C_UserWxInfo(); //用户信息赋值 userVM.user.UserName = "******" + (C_User.GetTopUseID() + 1 + 1000); userVM.user.PassWord = ""; userVM.user.IsValid = true; userVM.user.DatRegister = DateTime.Now; userVM.user.NickName = wx_userinfo.nickname; userVM.user.PortraitUrl = wx_userinfo.headimgurl; userVM.userWxInfo.openid = jsapi.openid; userVM.userWxInfo.accesstoken = jsapi.access_token; userVM.userWxInfo.nickname = wx_userinfo.nickname; userVM.userWxInfo.sex = wx_userinfo.sex; userVM.userWxInfo.unionid = wx_userinfo.unionid; userVM.userWxInfo.headimgurl = wx_userinfo.headimgurl; userVM.userWxInfo.subscribe = (wx_userinfo.subscribe == "0" ? false : true); userVM.userWxInfo.country = wx_userinfo.country; userVM.userWxInfo.subscribe_time = Common.ConvertToDateTen(wx_userinfo.subscribe_time); userVM.userWxInfo.language = wx_userinfo.language; userVM.AddUser(); userVM.userWxInfo.C_UserName = userVM.user.UserName; } else { userVM.user.NickName = wx_userinfo.nickname; userVM.user.PortraitUrl = wx_userinfo.headimgurl; userVM.userWxInfo.openid = jsapi.openid; userVM.userWxInfo.accesstoken = jsapi.access_token; userVM.userWxInfo.nickname = wx_userinfo.nickname; userVM.userWxInfo.sex = wx_userinfo.sex; userVM.userWxInfo.unionid = wx_userinfo.unionid; userVM.userWxInfo.headimgurl = wx_userinfo.headimgurl; userVM.userWxInfo.subscribe = (wx_userinfo.subscribe == "0" ? false : true); userVM.userWxInfo.country = wx_userinfo.country; userVM.userWxInfo.subscribe_time = Common.ConvertToDateTen(wx_userinfo.subscribe_time); userVM.userWxInfo.language = wx_userinfo.language; userVM.user.UpdateByID(); } string error = string.Empty; string userName = userVM.user.UserName; userVM.userWxInfo.accesstoken = jsapi.access_token; userVM.userWxInfo.nickname = wx_userinfo.nickname; userVM.userWxInfo.groupid = wx_userinfo.groupid; userVM.userWxInfo.headimgurl = wx_userinfo.headimgurl; userVM.userWxInfo.subscribe = (wx_userinfo.subscribe == "0" ? false : true); userVM.userWxInfo.country = wx_userinfo.country; userVM.userWxInfo.subscribe_time = Common.ConvertToDateTen(wx_userinfo.subscribe_time); userVM.userWxInfo.language = wx_userinfo.language; if (!string.IsNullOrWhiteSpace(userVM.userWxInfo.nickname)) { new System.Threading.Thread(delegate() { userVM.UpdateUserWxInfo(); }).Start(); } Common.SetCookie("WxUserName", userName); DAL.Log.Instance.Write(userName + HttpUtility.UrlDecode(url) + wx_userinfo.nickname, "WXLogin_error11"); return(Redirect(HttpUtility.UrlDecode(url))); } catch (Exception ex) { DAL.Log.Instance.Write(ex.ToString(), "WXLogin_error"); return(View(ErrorPage.ViewName, new ErrorPage { Message = ex.ToString() })); } }
// // GET: /xfz_home/ public ActionResult wxlogin(string url) { try { string openid = ""; string access_token = ""; if (!string.IsNullOrWhiteSpace(WeConfig.WxDebug)) { openid = WeConfig.WxDebug; access_token = ""; } else { JsApi jsapi = new JsApi(this); string codeUrl = jsapi.GetOpenidAndAccessToken_snsapi_userinfo(); if (codeUrl != string.Empty) { return(Redirect(codeUrl)); } openid = jsapi.openid; access_token = jsapi.access_token; } //用户信息,包括微信信息 C_ConsumerWxVM userVM = new C_ConsumerWxVM(); userVM.LoadUserVMByOpenid(openid); WXVariousApi VariousApi = new WXVariousApi(); VariousApi.LoadWxConfigIncidentalAccess_token(); WXUserInfo wx_userinfo = VariousApi.GetUserInfo(openid); if (wx_userinfo == null) { wx_userinfo = new WXUserInfo(); } //未关注获取头像 if (wx_userinfo.subscribe == "0") { WXUserInfo new_Wx_UserInfo = VariousApi.GetUserInfo0(openid, access_token); if (new_Wx_UserInfo != null) { wx_userinfo.nickname = new_Wx_UserInfo.nickname; wx_userinfo.sex = new_Wx_UserInfo.sex; wx_userinfo.province = new_Wx_UserInfo.province; wx_userinfo.city = new_Wx_UserInfo.city; wx_userinfo.country = new_Wx_UserInfo.country; wx_userinfo.headimgurl = new_Wx_UserInfo.headimgurl; wx_userinfo.unionid = new_Wx_UserInfo.unionid; } } if (userVM == null || userVM.user == null) { string guidCode = DAL.MD5Helper.GetMD5UTF8(Request.UserHostAddress + "," + Guid.NewGuid().ToString()); userVM.user = new C_Consumer(); userVM.userWxInfo = new C_UserWxInfo(); //用户信息赋值 userVM.user.UserName = "******" + (C_Consumer.GetTopUseID() + 1 + 1000 + guidCode.SubStringSafe(0, 4)); userVM.user.Pwd = ""; userVM.user.DatReg = DateTime.Now; userVM.user.Mobile = ""; userVM.user.Type = "消费者"; userVM.userWxInfo.openid = openid; userVM.userWxInfo.accesstoken = access_token; userVM.userWxInfo.nickname = wx_userinfo.nickname; userVM.userWxInfo.sex = wx_userinfo.sex; userVM.userWxInfo.unionid = wx_userinfo.unionid; userVM.userWxInfo.headimgurl = wx_userinfo.headimgurl; userVM.userWxInfo.subscribe = (wx_userinfo.subscribe == "0" ? false : true); userVM.userWxInfo.country = wx_userinfo.country; userVM.userWxInfo.subscribe_time = Common.ConvertToDateTen(wx_userinfo.subscribe_time); userVM.userWxInfo.language = wx_userinfo.language; userVM.AddUser(); userVM.userWxInfo.C_UserName = userVM.user.UserName; } userVM.userWxInfo.C_ConsumerUserName = userVM.user.UserName; string error = string.Empty; string userName = userVM.user.UserName; userVM.userWxInfo.accesstoken = access_token; userVM.userWxInfo.nickname = wx_userinfo.nickname; userVM.userWxInfo.groupid = wx_userinfo.groupid; userVM.userWxInfo.headimgurl = wx_userinfo.headimgurl; userVM.userWxInfo.subscribe = (wx_userinfo.subscribe == "0" ? false : true); userVM.userWxInfo.country = wx_userinfo.country; userVM.userWxInfo.subscribe_time = Common.ConvertToDateTen(wx_userinfo.subscribe_time); userVM.userWxInfo.language = wx_userinfo.language; if (!string.IsNullOrWhiteSpace(userVM.userWxInfo.nickname)) { new System.Threading.Thread(delegate() { userVM.UpdateUserWxInfo(); }).Start(); } Session["xfz_UserName"] = userName; return(Redirect(HttpUtility.UrlDecode(url))); } catch (Exception ex) { DAL.Log.Instance.Write(ex.ToString(), "WXLogin_error"); return(View(ErrorPage.ViewName, new ErrorPage { Message = ex.ToString() })); } }