/// <summary> /// 获取司机师傅电话 /// </summary> /// <param name="id"></param> /// <returns></returns> public static Tuple <bool, Model.Model.LC_User> GetDriverPhone(int id) { lock (_lockobj) { Model.Model.LC_User lcr = null; if (DriverList == null) { DriverList = LC_User.GetDriverPhone(); } if (DriverList.TryGetValue(id, out lcr)) { return(new Tuple <bool, Model.Model.LC_User>(true, lcr)); } return(new Tuple <bool, Model.Model.LC_User>(false, null)); } }
/// <summary> /// 设置登陆状态 /// </summary> /// <param name="vo"></param> private void SetLogin(Model.Model.LC_User vo) { SetSession(LoginEnum.IsLogin.EnumToName(), true); SetSession(LoginEnum.id.EnumToName(), vo.ID); SetSession(LoginEnum.uid.EnumToName(), vo.UID); SetSession(LoginEnum.NickName.EnumToName(), vo.WX_NickName); SetSession(LoginEnum.OpenID.EnumToName(), vo.WX_OpenID); SetSession(LoginEnum.HeadPic.EnumToName(), vo.WX_HeadPic); SetSession(LoginEnum.Sex.EnumToName(), vo.WX_Sex); SetSession(LoginEnum.accountType.EnumToName(), vo.ZType); SetSession(LoginEnum.account.EnumToName(), vo.ZNumber); SetSession(LoginEnum.AreaID.EnumToName(), vo.AreaID); SetSession(LoginEnum.City.EnumToName(), vo.WX_City); SetSession(LoginEnum.CityID.EnumToName(), vo.CityID); SetSession(LoginEnum.Country.EnumToName(), vo.WX_Country); SetSession(LoginEnum.phones.EnumToName(), vo.Phone); SetSession(LoginEnum.positionID.EnumToName(), vo.PositionID); SetSession(LoginEnum.Province.EnumToName(), vo.ProvincesID); SetSession(LoginEnum.ProvincesID.EnumToName(), vo.ProvincesID); SetSession(LoginEnum.state.EnumToName(), vo.State); SetSession(LoginEnum.username.EnumToName(), vo.UserName); SetSession(LoginEnum.LogisticsName.EnumToName(), vo.LogisticsName); }
public TCommandState ExeCommand <TCommandState>(WebCommandVOBase command) where TCommandState : CommandState, new() { string code = web.GetValue("code"); string userSource = web.GetValue("source"); int acctype = web.GetValue <int>("acctype"); //账号类型 int region = web.GetValue <int>("region"); //职位 if (code.StrIsNull()) { return(Show <TCommandState>("CODE是空的,微信认证失败!")); } #region 获取公众号APPID与密钥 string AppId = System.Configuration.ConfigurationManager.AppSettings["AppID"]; string AppSecret = System.Configuration.ConfigurationManager.AppSettings["AppSecret"]; #endregion //通过code换取网页授权access_token var htmlvo = GetHtml.GetHtmlFromUrl("https://api.weixin.qq.com/sns/oauth2/access_token?appid=" + AppId + "&secret=" + AppSecret + "&code=" + code + "&grant_type=authorization_code", string.Empty, null, null); if (!htmlvo.Item1) { return(Show <TCommandState>("请求微信AccessToken验证时出现了通讯故障!")); } var jsonvo = MakeJson.JsonToLinqObject(htmlvo.Item2); //获取account_key string access_token = jsonvo.TryGetValue <string>("access_token"); string openid = jsonvo.TryGetValue <string>("openid"); string scope = jsonvo.TryGetValue <string>("scope"); if (access_token.StrIsNull()) { return(Show <TCommandState>("AccessToken微信授权失败")); } string scope_str = scope.ToLower(); Tuple <bool, string> userhtmlvo = null; //判断授权类型 switch (scope_str) { case "snsapi_userinfo": //获取用户信息 userhtmlvo = GetHtml.GetHtmlFromUrl("https://api.weixin.qq.com/sns/userinfo?access_token=" + access_token + "&openid=" + openid + "&lang=zh_CN", string.Empty, null, null); break; case "snsapi_base": userhtmlvo = new Tuple <bool, string>(true, string.Empty); break; default: return(Show <TCommandState>("居然返回了一个我从来都不清楚的scope:" + scope_str)); } //判断获取详情数据是否成功 if (!userhtmlvo.Item1) { return(Show <TCommandState>("获取用户详细数据时出现了错误!")); } JObject userjsonvo = null; string my_openid = string.Empty; string unionid = string.Empty; Model.Model.LC_User suser = null; switch (scope_str) { case "snsapi_userinfo": //解析数据 userjsonvo = Tools.MakeJson.JsonToLinqObject(userhtmlvo.Item2); my_openid = userjsonvo.TryGetValue <string>("openid"); unionid = userjsonvo.TryGetValue("unionid", string.Empty); suser = new Model.Model.LC_User() { WX_NickName = userjsonvo.TryGetValue <string>("nickname"), WX_Sex = userjsonvo.TryGetValue <int>("sex"), WX_OpenID = my_openid, WX_Province = userjsonvo.TryGetValue <string>("province"), WX_City = userjsonvo.TryGetValue <string>("city"), WX_Country = userjsonvo.TryGetValue <string>("country"), WX_HeadPic = userjsonvo.TryGetValue <string>("headimgurl"), ZType = acctype, PositionID = region }; //更新或添加账号 (bool, string, Model.Model.LC_User suser)AddOrUpdateVO = BLL.BLL.LC_User.AddOrUpdateUserVO(web, suser); if (!AddOrUpdateVO.Item1) { return(Show <TCommandState>(AddOrUpdateVO.Item2)); } suser = AddOrUpdateVO.suser; break; case "snsapi_base": my_openid = openid; //获取个人数据 (bool, string, Model.Model.LC_User)suser_vo = DAL.DAL.LC_User.GetUserDataFromOpenID(my_openid); if (!suser_vo.Item1) { return(Show <TCommandState>(new { status = -10 })); } else { suser = suser_vo.Item3; } break; } SetLogin(suser); return(Show <TCommandState>(new { status = 1, Open_ID = suser.WX_OpenID, Nick_Name = suser.WX_NickName, Head_Img_Url = suser.WX_HeadPic, ZType = suser.ZType.ConvertData <int>() //账号类型 })); }
protected void Page_Load(object sender, EventArgs e) { //获取地区省列表 shengList = DAL.DAL.DALBase.GetNextAddressListFromId(1); //if (Request.RequestType.Equals("post", StringComparison.OrdinalIgnoreCase)) if (IsPostBack) { try { var loginvo = GetMyLoginUserVO(); var uservo = new Model.Model.LC_User() { LogisticsName = GetValue("LogisticsName"), //公司名称 UserName = GetValue("UserName"), //用户昵称 PositionID = GetValue <int>("PositionID"), //职位 CreateTime = DateTime.Now, //注册时间 Password = GetValue("Password"), //密码 Phone = GetValue("Phone"), //手机号 UID = Tools.NewGuid.GuidTo16String(), //生成ID ZNumber = GetValue("Phone"), //帐号 ZType = GetValue <int>("ZType"), //帐号类型 ProvincesID = GetValue <int>("End1"), //省份 CityID = GetValue <int>("End2"), //城市 AreaID = GetValue <int>("End"), //区县 State = GetValue <int>("State"), //状态 LCID = GetValue("LCID") //上级物流ID }; //string LogisticsUid = GetValue("LogisticsUid");//物流ID string FalseValue = GetValue("FalseValue"); //判断绑定 string ZNumber = GetValue("Phone"); //帐号 string Pwd = GetValue("Password"); //密码 string LogisticsUid = "6cfe97409cd87419"; string yonghu = GetValue("yonghu"); string UIDS = GetValue("UIDS"); if (yonghu == "yhbd" && Pwd == "") { Tuple <bool, string> vo = BLL.BLL.LC_UserBindLogisticsList.UserAdd(new Model.Model.LC_UserBindLogisticsList() { Uid = GetValue("UIDS"), LogisticsUid = LogisticsUid, CreateTime = DateTime.Now }); if (vo.Item1) { AlertJump("绑定成功", "/Login/Login.aspx"); return; } else { Alert(vo.Item2); return; } } //开始注册 if (FalseValue == "10") { Tuple <bool, string> vo = BLL.BLL.LC_User.Add(uservo, loginvo, LogisticsUid); if (!vo.Item1) { Alert(vo.Item2); return; } else { int Citys = GetValue <int>("End2"); //城市 string Zm = Tools.PinYinConverter.GetFirst(DAL.DAL.DALBase.GetAddressFromID(Citys)?.Item2?.Name); //首字母 string Zmvalue = Zm.Substring(0, 1); Tuple <bool, string> vo1 = BLL.BLL.LC_Line.BindHZ(ZNumber, Pwd, LogisticsUid, Zmvalue, Zmvalue); if (!vo1.Item1) { Alert(vo1.Item2); return; } AlertJump("注册成功...返回登录", "/Login/Login.aspx"); return; } } else if (FalseValue != "10") { Tuple <bool, string> vo = BLL.BLL.LC_User.Add(uservo, loginvo, LogisticsUid); if (!vo.Item1) { Alert(vo.Item2); return; } else { AlertJump("注册成功...返回登录", "/Login/Login.aspx"); return; } } } catch (Exception) { ReturnPager("注册失败,请重试!"); } } }