12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- package model
- import (
- "context"
- "gorm.io/gorm"
- "project_management/global"
- "project_management/utils"
- )
- type User struct {
- gorm.Model
- Phone string `gorm:"type:varchar(50);" json:"phone" validate:"required" min:"11" max:"11"`
- }
- type UserRegist struct {
- Phone string `json:"phone" validate:"required" min:"11" max:"11"`
- Code string `json:"code" validate:"required" min:"6" max:"6"`
- }
- func (u User) Login(user UserRegist) (string, string) {
- //TODO implement me
- tx := global.DBLink.Where("phone = ?", user.Phone).First(&u)
- ctx := context.Background()
- result, err := global.Rdb.Get(ctx, user.Phone).Result()
- if err != nil {
- return "", "验证验证码失败请联系管理员"
- } else if result != user.Code {
- return "", "验证码错误"
- }
- token, err := utils.CreateToken(u.ID, u.Phone, "user")
- token = "interior:" + token
- if err != nil {
- return "", "创建令牌失败"
- }
- if tx.RowsAffected == 0 {
- u.Phone = user.Phone
- create := global.DBLink.Create(&u)
- if create.Error != nil {
- return "", "登录失败"
- }
- return token, ""
- }
- return token, ""
- }
|