/// <summary> /// 用户修改密码 /// </summary> /// <param name="phone">手机号</param> /// <param name="password">密码</param> /// <param name="type">类型:2=登陆密码,3=交易密码</param> /// <returns>返回调用结果</returns> public static bool PWD(string phone, string password, string type) { bool tl = false; try { SortedDictionary <string, string> dic = new SortedDictionary <string, string>(); dic.Add("httpid", LCommon.TimeToUNIX(DateTime.Now)); dic.Add("phone", phone); dic.Add("password", password); dic.Add("type", type); dic.Add("sign", Helper.BuildRequest(dic)); string json = PostGet.Post("http://bccbtoken.com/api/Memberapi/changePwd", dic); //LogManager.WriteLog("APP接口", json); JObject paramJson = JsonConvert.DeserializeObject(json) as JObject; tl = bool.Parse(paramJson["success"].ToString()); if (!tl) { LogManager.WriteLog("APP修改密码失败", paramJson["message"].ToString() + ":会员=" + phone + ",type=" + type); } } catch (Exception err) { LogManager.WriteLog("APP接口异常", "修改密码(" + phone + ")=" + err.Message); } return(tl); }
/// <summary> /// 积分兑换 /// </summary> /// <param name="phone">手机号</param> /// <param name="coin_name">币种名称:BCCB, FBCC</param> /// <param name="amount">金额</param> /// <returns>返回调用结果</returns> public static bool AddMB(string phone, string coin_name, string amount) { bool tl = false; try { SortedDictionary <string, string> dic = new SortedDictionary <string, string>(); dic.Add("httpid", LCommon.TimeToUNIX(DateTime.Now)); dic.Add("phone", phone); dic.Add("coin_name", coin_name); dic.Add("amount", amount); dic.Add("sign", Helper.BuildRequest(dic)); string json = PostGet.Post("http://bccbtoken.com/api/Memberapi/transfer", dic); //LogManager.WriteLog("APP接口", json); JObject paramJson = JsonConvert.DeserializeObject(json) as JObject; tl = bool.Parse(paramJson["success"].ToString()); if (!tl) { LogManager.WriteLog("APP积分兑换失败", paramJson["message"].ToString() + ":会员=" + phone + ",币种=" + coin_name + ",金额=" + amount); } } catch (Exception err) { LogManager.WriteLog("APP接口异常", "积分兑换(" + phone + ")=" + err.Message); } return(tl); }
/// <summary> /// 找回密码 /// </summary> /// <param name="account">会员帐号</param> /// <param name="pwd">会员密码</param> /// <param name="identifyingCode">注册验证码</param> /// <param name="type">密码类型 2-登录 3=支付</param> /// <returns>返回调用结果</returns> /// <para name="result">200 是成功其他失败</para> /// <para name="data">结果提示</para> /// <remarks> /// 2017-08-18 林建生 /// </remarks> public ActionResult RetrievePWD(string account, string pwd, string identifyingCode, string type) { if (string.IsNullOrEmpty(account) || string.IsNullOrEmpty(pwd) || string.IsNullOrEmpty(identifyingCode)) { return(View()); } else { if (account.Length == 11 && account.Substring(0, 1) == "1" && pwd.Length > 5) { using (EFDB db = new EFDB()) { //判断该手机号十分钟之内是否有验证码 var sms = db.SMS.Where(l => l.PhoneNumber == account && l.Content == identifyingCode).OrderByDescending(l => l.AddTime).FirstOrDefault(); if (sms != null) { TimeSpan ts = DateTime.Now - sms.AddTime; if (ts.TotalMinutes <= 10) { string pwdMD5 = MD5.GetMD5ljsheng(pwd); var b = db.Member.Where(l => l.Account == account).FirstOrDefault(); if (type == "3") { b.PayPWD = pwdMD5; } else { b.PWD = pwdMD5; } b.LoginIdentifier = LCommon.TimeToUNIX(DateTime.Now); if (db.SaveChanges() == 1) { LCookie.DelALLCookie(); AppApi.PWD(account, pwd, type); return(Helper.Redirect("成功!", "/Home/Login", "修改密码成功,请点确定重新登录!")); } else { return(Helper.Redirect("失败!", "history.go(-1);", "帐号不存在,点确定返回重新修改!")); } } else { return(Helper.Redirect("失败!", "history.go(-1);", "验证码已失效,请重新获取")); } } else { return(Helper.Redirect("失败!", "history.go(-1);", "短信验证码错误")); } } } else { return(Helper.Redirect("失败!", "history.go(-1);", "必须是11位的手机号,密码最少需要6位")); } } }
/// <summary> /// 注册 /// </summary> /// <param name="username">用户名</param> /// <param name="password">密码</param> /// <param name="pay_password">交易密码</param> /// <param name="phone">手机号</param> /// <param name="invite_code">邀请码</param> /// <returns>返回调用结果</returns> public static bool AppMR(string username, string password, string pay_password, string phone, string invite_code) { bool tl = false; try { SortedDictionary <string, string> dic = new SortedDictionary <string, string>(); dic.Add("httpid", LCommon.TimeToUNIX(DateTime.Now)); dic.Add("username", HttpUtility.UrlEncode(username)); dic.Add("password", password); dic.Add("pay_password", pay_password); dic.Add("phone", phone); dic.Add("invite_code", invite_code); dic.Add("sign", Helper.BuildRequest(dic)); string json = PostGet.Post("http://bccbtoken.com/api/Memberapi/register", dic); //LogManager.WriteLog("APP接口", json); JObject paramJson = JsonConvert.DeserializeObject(json) as JObject; tl = bool.Parse(paramJson["success"].ToString()); if (!tl) { //LogManager.WriteLog("注册", paramJson["message"].ToString()); if (paramJson["message"].ToString() == "此手机号已被注册") { tl = true; } else { LogManager.WriteLog("APP注册失败", paramJson["message"].ToString() + ":会员=" + phone + ",invite_code=" + invite_code); } } //LogManager.WriteLog("APP接口", paramJson["message"].ToString()); //LogManager.WriteLog("APP参数", Helper.PostUrl(dic)); } catch (Exception err) { LogManager.WriteLog("APP接口异常", "注册(" + phone + ")=" + err.Message); } return(tl); }
/// <summary> /// 会员登录 /// </summary> /// <param name="account">会员帐号</param> /// <param name="pwd">会员密码</param> /// <returns>返回调用结果</returns> /// <para name="result">200 是成功其他失败</para> /// <para name="data">结果提示</para> /// <remarks> /// 2016-06-30 林建生 /// </remarks> public ActionResult Login(string account, string pwd) { ViewBag.OpenID = LCookie.GetCookie("openid"); if (string.IsNullOrEmpty(account) || string.IsNullOrEmpty(pwd)) { return(View()); } else { if (account.Length == 11 && account.Substring(0, 1) == "1" && pwd.Length > 5) { using (EFDB db = new EFDB()) { string pwdMD5 = MD5.GetMD5ljsheng(pwd); var b = db.Member.Where(l => l.Account == account && l.PWD == pwdMD5).OrderBy(l => l.AddTime).FirstOrDefault(); if (b != null) { //更新登录时间戳 b.LoginIdentifier = LCommon.TimeToUNIX(DateTime.Now); db.SaveChanges(); Helper.MLogin(b.Gid); string url = LCookie.Project() == 1 ? "Tea" : "Index"; return(new RedirectResult("/Home/" + url)); } else { return(Helper.Redirect("登录失败!", "history.go(-1);", "帐号或密码错误!")); } } } else { return(Helper.Redirect("登录失败!", "history.go(-1);", "必须是11位的手机号,密码最少需要6位!")); } } }
/// <summary> /// 根据code获取小程序登录用户的信息 /// </summary> /// <param name="逻辑说明"></param> /// <param>修改备注</param> /// 2014-5-20 林建生 public object oauth(HttpContext context) { Guid gid = Guid.NewGuid(); Boolean TF = false; string login_identifier = ""; string code = context.Request.Form["code"]; if (!String.IsNullOrEmpty(code)) { try { var url = string.Format("https://api.weixin.qq.com/sns/jscode2session?appid={0}&secret={1}&js_code={2}&grant_type=authorization_code", Help.appid, Help.appsecret, code); string json = Helper.Post(url, ""); LogManager.WriteLog("json", json); JObject paramJson = JsonConvert.DeserializeObject(json) as JObject; string openid = paramJson["openid"].ToString(); if (!string.IsNullOrEmpty(openid)) { using (EFDB db = new EFDB()) { member member; member = db.member.Where(l => l.openid == openid).FirstOrDefault(); if (member == null) { member = new member(); member.gid = gid; member.add_time = DateTime.Now; member.account = "微信帐号"; member.login_identifier = LCommon.TimeToUNIX(DateTime.Now); member.ip = Helper.IP; member.pwd = MD5.GetMD5ljsheng("654123"); member.jurisdiction = "正常"; member.openid = openid; member.nickname = context.Request.Form["nickName"]; member.picture = context.Request.Form["avatarUrl"]; member.gender = context.Request.Form["gender"] == "1" ? "男" : "女"; member.province = context.Request.Form["province"]; member.city = context.Request.Form["city"]; //member.area = null; //member.real_name = null; member.number = 0; member.balance = 0; db.member.Add(member); } else { TF = true; gid = member.gid; member.login_identifier = LCommon.TimeToUNIX(DateTime.Now); member.nickname = context.Request.Form["nickName"]; member.picture = context.Request.Form["avatarUrl"]; member.gender = context.Request.Form["gender"] == "1" ? "男" : "女"; member.province = context.Request.Form["province"]; member.city = context.Request.Form["city"]; } //添加新账号 if (db.SaveChanges() == 1) { TF = true; } login_identifier = member.login_identifier; } } } catch (Exception err) { LogManager.WriteLog("err", err.Message); } } if (TF) { return(new AjaxResult(new { gid, login_identifier })); } else { return(new AjaxResult(300, "登录异常,请退出微信在登录!")); } }