概要
实现用户登录功能
编辑error.go文件
$ vi ~/book/user/api/internal/logic/error.go
增加一些错误类型
errorUsernameUnRegister = shared.NewDefaultError("用户未注册") errorIncorrectPassword = shared.NewDefaultError("用户密码错误")
填充登录逻辑代码
$ vi ~/book/user/api/internal/logic/loginlogic.go
增加登录逻辑
向Login方法中填充注册逻辑
// 忽略逻辑校验 userInfo, err := l.svcCtx.UserModel.FindOneByName(req.Username) switch err { case nil: if userInfo.Password != req.Password { return nil, errorIncorrectPassword } return &types.UserReply{ Id: userInfo.Id, Username: userInfo.Name, Mobile: userInfo.Mobile, Nickname: userInfo.Nickname, Gender: userInfo.Gender, }, nil case model.ErrNotFound: return nil, errorUsernameUnRegister default: return nil, err }
访问登录协议
$ curl -i -X POST \ http://127.0.0.1:8888/user/login \ -H 'cache-control: no-cache' \ -H 'content-type: application/json' \ -d '{ "username":"admin", "password":"666666" }'
得到响应码为200
则代表登录成功,并且返回了用户信息