1 Star 0 Fork 0

qw_1215/fc

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
user.go 2.28 KB
一键复制 编辑 原始数据 按行查看 历史
qw_1215 提交于 2020-03-16 19:43 +08:00 . 初始化项目
package user
import (
"errors"
"fmt"
"gitee.com/qw_1215/fc/FC/app/model/user"
"github.com/gogf/gf/net/ghttp"
"github.com/gogf/gf/os/gtime"
"github.com/gogf/gf/util/gconv"
"github.com/gogf/gf/util/gvalid"
)
// 用户注册
func Register(data *VoRegisterRequest) error {
// 输入参数检查
if e := gvalid.CheckStruct(data, nil); e != nil {
return errors.New(e.FirstString())
}
// 昵称为非必需参数,默认使用账号名称
if data.Nickname == "" {
data.Nickname = data.Passport
}
// 账号唯一性数据检查
if !CheckPassport(data.Passport) {
return errors.New(fmt.Sprintf("账号 %s 已经存在", data.Passport))
}
// 昵称唯一性数据检查
if !CheckNickName(data.Nickname) {
return errors.New(fmt.Sprintf("昵称 %s 已经存在", data.Nickname))
}
// 将输入参数赋值到数据库实体对象上
var entity *user.Entity
if err := gconv.Struct(data, &entity); err != nil {
return err
}
// 记录账号创建/注册时间
entity.CreateTime = gtime.Now()
if _, err := user.Save(entity); err != nil {
return err
}
return nil
}
// 判断用户是否已经登录
func IsSignedIn(session *ghttp.Session) bool {
return session.Contains(SessionMarkUser)
}
// 用户登录,成功返回用户信息,否则返回nil; passport应当会md5值字符串
func SignIn(passport, password string, session *ghttp.Session) error {
one, err := user.FindOne("passport=? and password=?", passport, password)
if err != nil {
return err
}
if one == nil {
return errors.New("账号或密码错误")
}
return session.Set(SessionMarkUser, one)
}
// 用户注销
func SignOut(session *ghttp.Session) error {
return session.Remove(SessionMarkUser)
}
// 检查账号是否符合规范(目前仅检查唯一性),存在返回false,否则true
func CheckPassport(passport string) bool {
if i, err := user.FindCount("passport", passport); err != nil {
return false
} else {
return i == 0
}
}
// 检查昵称是否符合规范(目前仅检查唯一性),存在返回false,否则true
func CheckNickName(nickname string) bool {
if i, err := user.FindCount("nickname", nickname); err != nil {
return false
} else {
return i == 0
}
}
// 获得用户信息详情
func GetProfile(session *ghttp.Session) (u *user.Entity) {
_ = session.GetStruct(SessionMarkUser, &u)
return
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/qw_1215/fc.git
git@gitee.com:qw_1215/fc.git
qw_1215
fc
fc
478090fb42aa

搜索帮助