Example #1
0
        /// <summary>
        /// 发送链接给用户重置密码
        /// </summary>
        /// <param name="user"></param>
        /// <returns></returns>
        public ActionResult UserResetPwd(UserInfo user)
        {
            try
            {
                #region 参数检测
                if (user.ResetType == 1)
                {
                    return(Json(new { Status = -9, Data = string.Empty, Msg = "对不起,该功能暂未实现" }));
                }
                if (string.IsNullOrEmpty(user.Email))
                {
                    return(Json(new { Status = -8, Data = string.Empty, Msg = "参数错误" }));
                }
                if (!StringExtension.IsEmail(user.Email))
                {
                    return(Json(new { Status = -7, Data = string.Empty, Msg = "参数格式不正确" }));
                }
                #endregion

                #region 保存重置记录
                string           id       = Guid.NewGuid().ToString();
                ResetPasswordLog resetLog = new ResetPasswordLog();
                resetLog.ID = id;
                UserInfo u = _service.GetUserByEmail(user.Email);
                resetLog.UserID    = u.UserId;
                resetLog.InputTime = DateTime.Now;
                resetLog.ResetType = user.ResetType;
                resetLog.Status    = 0;
                bool result = _service.AddResetPasswordLog(resetLog);
                #endregion

                if (result)
                {
                    string host = Request.Url.Host;
                    int    port = Request.Url.Port;
                    StringExtension.SendMail(user.Email, "重置密码", "请点击以下链接重置密码:<br/>http://" + host + ":" + port + "/User/Login#/Reset/" + id);
                    return(Json(new { Status = 1, Data = string.Empty, Msg = "操作成功" }));
                }
                else
                {
                    return(Json(new { Status = -6, Data = string.Empty, Msg = "操作失败" }));
                }
            }
            catch (Exception ex)
            {
                return(Json(new { Status = -99, Data = string.Empty, Msg = ex.Message }));
            }
        }