代码拉取完成,页面将自动刷新
package controller
import (
"errors"
"gitee.com/os-lee/easy-paas/admin/internal/cache"
"gitee.com/os-lee/easy-paas/admin/internal/dao"
"gitee.com/os-lee/easy-paas/admin/internal/dto"
"gitee.com/os-lee/easy-paas/common"
"gitee.com/os-lee/easy-paas/common/e"
"gitee.com/os-lee/easy-paas/common/jwt"
"github.com/gin-gonic/gin"
"golang.org/x/crypto/bcrypt"
"time"
)
type AdminLoginController struct{}
func AdminLoginRegister(group *gin.RouterGroup) {
adminLogin := &AdminLoginController{}
group.POST("/login", adminLogin.AdminLogin)
}
func (adminLogin *AdminLoginController) AdminLogin(c *gin.Context) {
params := &dto.AdminLoginInput{}
if err := params.BindValidParam(c); err != nil {
common.ResponseError(c, e.ErrParams, err)
return
}
//1. params.UserName 取得管理员信息
adminDao := dao.NewAdminDao(c)
admin, err := adminDao.Find(&dao.Admin{UserName: params.UserName, IsDelete: 0})
if err != nil {
common.ResponseError(c, e.ErrAdmin, errors.New("用户信息不存在"))
return
}
err = bcrypt.CompareHashAndPassword([]byte(admin.Password), []byte(params.Password))
if err != nil {
common.ResponseError(c, e.ErrAdmin, errors.New("密码错误,请重新输入"))
return
}
token, err := jwt.GenerateUserToken(admin.Id, admin.UserName)
if err != nil {
common.ResponseError(c, e.ErrToken, errors.New("JWT加密错误"))
return
}
// 将token 放入redis中
cache.RedisCli.Set(c, token, admin.UserName, time.Hour*24*30)
out := &dto.AdminLoginOutput{Token: token}
common.ResponseSuccess(c, out)
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。