예제 #1
0
        /// <summary>
        /// 自动登录逻辑
        /// </summary>
        /// <param name="phone"></param>
        /// <param name="pid"></param>
        /// <returns></returns>
        private string XiCaiLogin(string phone, string pid, string display, HttpRequestBase Request, loginIn LoginIN)
        {
            var user = ef.hx_member_table.Where(c => c.mobile == phone).FirstOrDefault();
            //string sourcePwd = DESEncrypt.Decrypt(, _webp);
            string           res      = LoginIN(phone, user.password, "", 1, true).ToString();
            registerBackData loginRes = JsonConvert.DeserializeObject <registerBackData>(res);

            if (loginRes.rs == "y")
            {
                return("RedictXXX" + (loginRes.url + "invest_borrow_" + pid + ".html"));
            }
            else
            {
                return(loginRes.error);
            }
        }
예제 #2
0
        public static bool AppLoginSite(string userID, string p, string key, loginIn login)
        {
            if (string.IsNullOrWhiteSpace(userID) || string.IsNullOrWhiteSpace(p) || string.IsNullOrWhiteSpace(key))
            {
                return(false);
            }

            //chuangtouEntities ef = new chuangtouEntities();
            int uid = int.Parse(userID);

            if (uid == 0)
            {
                FormsAuthentication.SignOut();
                return(false);
            }
            hx_member_table user = ef.hx_member_table.Where(c => c.registerid == uid).FirstOrDefault();

            if (user == null)
            {
                return(false);
            }
            int appID     = p == "android" ? 654321 : (p == "ios" ? 123456 : 0);
            var appAuthor = ef.ApplicationAuthorizations.Where(c => c.AppId == appID).FirstOrDefault();

            if (appAuthor == null)
            {
                return(false);
            }
            string localKey = Utils.MD5(userID + appAuthor.AppSafeCode);

            if (key.ToLower() != localKey.ToLower())
            {
                return(false);
            }

            string           res      = login(user.mobile, user.password, "", 1, true).ToString();
            registerBackData loginRes = JsonConvert.DeserializeObject <registerBackData>(res);

            return(loginRes.rs == "y");
        }
예제 #3
0
        /// <summary>
        /// 自动注册登录
        /// </summary>
        /// <param name="sign"></param>
        /// <returns></returns>

        public string AutoRegisterLogin(string sign, HttpResponseBase Response, register Register, HttpRequestBase Request, loginIn LoginIN)
        {
            try
            {
                string result = Decrypt(sign, _client_secret.Substring(0, 8));

                NameValueCollection collection = HttpUtility.ParseQueryString(result);

                string phone   = collection["phone"];
                string name    = collection["name"];
                string pid     = collection["pid"];
                string t       = collection["t"];
                string userid  = collection["userid"];
                string display = collection["display"];
                if (display == null)
                {
                    display = "pc";
                }

                if (CheckTimeOut(t))
                {
                    return("该操作已经失效,请重新操作");
                }

                var checkExistUser = (from item in ef.hx_member_table where item.mobile == phone || item.username == phone select item).FirstOrDefault();
                if (checkExistUser == null)
                {
                    //注册逻辑
                    string password = DateTime.Now.ToString("yyyyMMddHHmmssfffff");
                    string code     = ef.hx_Channel.Where(c => c.ChannelName == "xicai").First().Invitedcode;
                    AddCache(code, Response);
                    string           res         = Register("", password.Substring(password.Length - 8, 8), phone, name + phone.Substring(phone.Length - 4, 4), true).ToString();
                    registerBackData registerRes = JsonConvert.DeserializeObject <registerBackData>(res);
                    if (registerRes.rs == "y")
                    {
                        var user = ef.hx_member_table.Where(c => c.mobile == phone).FirstOrDefault();
                        if (user == null)
                        {
                            LogInfo.WriteLog("注册成功,单用户信息不存在");
                            return("操作失败,请重新操作");
                        }
                        if (!InserXiCaiUser(user, userid, display))
                        {
                            return("操作失败,请重新操作");
                        }
                        //YMSendSMS.Send_SMS(phone, "您已在创利投成功注册,账号为:密码为:");
                        string signData     = string.Format("phone={0}&name={1}&result={2}&display={3}&userid={4}", phone, name + phone.Substring(phone.Length - 4, 4), 1, display, userid);
                        string signPostData = Encrypt(signData, _client_secret.Substring(0, 8));
                        signPostData = System.Web.HttpContext.Current.Server.UrlEncode(signPostData);
                        string html = Http.Post(string.Format(_bangdinghuidiao, _client_id, signPostData));
                        var    ret  = Newtonsoft.Json.JsonConvert.DeserializeObject <ReturnMessage>(html);
                        if (ret.code != 0)
                        {
                            LogInfo.WriteLog("希财自动注册成功之后推送失败,原因:" + ret.ErrorMessage);
                        }

                        return(XiCaiLogin(phone, pid, display, Request, LoginIN));
                    }
                    else
                    {
                        return(registerRes.error);
                    }
                }
                else//登录逻辑
                {
                    return(XiCaiLogin(phone, pid, display, Request, LoginIN));
                }
            }
            catch (Exception ex)
            {
                LogInfo.WriteLog("希财自动注册接口异常,异常消息:" + ex.Message + ",Trace:" + ex.StackTrace);
                return("操作异常,请稍后重试");
            }
        }