| 1234567891011121314151617181920212223242526272829303132333435363738 |
- package auth
- import (
- "github.com/gin-gonic/gin"
- v1 "github.com/runningwater/gohub/app/http/controllers/api/v1"
- "github.com/runningwater/gohub/app/requests"
- "github.com/runningwater/gohub/pkg/auth"
- "github.com/runningwater/gohub/pkg/jwt"
- "github.com/runningwater/gohub/pkg/response"
- )
- type LoginController struct {
- v1.BaseApiController
- }
- // LoginByPhone 手机号登录
- func (lc *LoginController) LoginByPhone(c *gin.Context) {
- // 1. 验证表单
- request := requests.LoginByPhoneRequest{}
- if ok := requests.Validate(c, &request, requests.LoginByPhone); !ok {
- return
- }
- // 2. 尝试登录
- user, err := auth.LoginByPhone(request.Phone)
- if err != nil {
- // 失败,显示错误提示
- response.Error(c, err, "账号不存在或密码错误")
- }
- // 登录成功
- token := jwt.NewJWT().IssueToken(user.GetStringID(), user.Name)
- response.JSON(c, gin.H{
- "token": token,
- })
- }
|