/* * @description: api 登陆接口相关 * @Author: CP * @Date: 2020-09-17 16:23:02 * @FilePath: \construction_management\web\api\login_api.go */ package api import ( "fmt" "github.com/kataras/iris/v12" "go.mod/services" "go.mod/web/utils" ) type LoginApi struct { //框架-web应用上下文环境 Ctx iris.Context // 需要用的service ServiceProjectAccount services.ProjectAccountService ServiceLogin services.LoginService } // func (c *LoginApi) Get() { // token := jwt.NewTokenWithClaims(jwt.SigningMethodHS256, jwt.MapClaims{ // // 根据需求,可以存一些必要的数据 // "userName": "JabinGP", // "userId": "1", // "admin": true, // // 签发人 // "iss": "iris", // // 签发时间 // "iat": time.Now().Unix(), // // 设定过期时间,便于测试,设置1分钟过期 // "exp": time.Now().Add(1 * time.Minute * time.Duration(1)).Unix(), // }) // // 使用设置的秘钥,签名生成jwt字符串 // tokenString, _ := token.SignedString([]byte(conf.SignSecret)) // // 返回 // c.Ctx.JSON(tokenString) // } //登陆 func (c *LoginApi) Post() { ErrMsg := "" Code := -1 //验证规则 LoginData, err := c.ServiceLogin.ValidRule(c.Ctx) if err != nil { ErrMsg = utils.FormValidError(err) } else { //验证登陆用户 err = c.ServiceLogin.ValidProjectAccount(LoginData, c.Ctx.ResponseWriter()) if err != nil { ErrMsg = fmt.Sprintf("%s", err) } else { //验证通关 Code = 0 // c.Ctx.JSON(iris.Map{ // "code": 200, // "msg": ErrMsg, // }) } } c.Ctx.JSON(iris.Map{ "code": Code, "msg": ErrMsg, }) // return mvc.View{ // Name: "login/login.html", // Data: iris.Map{ // "Title": "用户登录", // "Channel": "login", // "Action": "login", // "LoginData": LoginData, // "ErrMsg": ErrMsg, // }, // Layout: "login/layout.html", // } }