package admin import ( "cc-officialweb/models" "cc-officialweb/service" "github.com/beego/beego/v2/adapter/validation" beego "github.com/beego/beego/v2/server/web" ) type LoginController struct { beego.Controller } func (l *LoginController) Get() { l.TplName = "admin/login.html" } func (l *LoginController) Post() { var user models.User // 获取POST参数 username := l.GetString("username") password := l.GetString("password") // 进行验证和登录检查 valid := validation.Validation{} valid.Required(username, "username").Message("用户名不能为空") valid.Required(password, "password").Message("密码不能为空") user.Username = username user.Password = password if valid.HasErrors() { for _, err := range valid.Errors { l.Data["error"] = err.Message break } } else { token := service.Login(user) if token != "" { l.Ctx.SetCookie("token", token, 3600*24*7, "/", "", false, true) l.Redirect("/admin/index", 302) } else { l.Data["error"] = "用户名或密码错误" } } l.TplName = "admin/login.html" }