コード例 #1
0
        /// <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));
            }
        }
コード例 #2
0
ファイル: Login.aspx.cs プロジェクト: shunqiziran888/wuliu
 /// <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);
 }
コード例 #3
0
ファイル: CMD_OAuth.cs プロジェクト: shunqiziran888/wuliu
        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>() //账号类型
            }));
        }
コード例 #4
0
        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("注册失败,请重试!");
                }
            }
        }