当前位置: 首页>>代码示例>>Golang>>正文


Golang Model.NewUserLogin函数代码示例

本文整理汇总了Golang中Model.NewUserLogin函数的典型用法代码示例。如果您正苦于以下问题:Golang NewUserLogin函数的具体用法?Golang NewUserLogin怎么用?Golang NewUserLogin使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了NewUserLogin函数的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。

示例1: Login

// 登录;成功返回用户登录信息(user_login)
func Login(username, passwd string) (*model.UserLogin, error) {
	userLogin := model.NewUserLogin()
	err := userLogin.Where("username=" + username + " OR email=" + username).Find()
	if err != nil {
		logger.Errorf("用户 %s 登录错误:%s", username, err)
		return nil, errors.New("内部错误,请稍后再试!")
	}
	// 校验用户
	if userLogin.Uid == 0 {
		logger.Infof("用户名 %s 不存在", username)
		return nil, ErrUsername
	}
	passcode := userLogin.GetPasscode()
	md5Passwd := util.Md5(passwd + passcode)
	logger.Debugf("passwd: %s, passcode: %s, md5passwd: %s, dbpasswd: %s", passwd, passcode, md5Passwd, userLogin.Passwd)
	if md5Passwd != userLogin.Passwd {
		logger.Infof("用户名 %s 填写的密码错误", username)
		return nil, ErrPasswd
	}

	// 登录,活跃度+1
	go IncUserWeight("uid="+strconv.Itoa(userLogin.Uid), 1)

	return userLogin, nil
}
开发者ID:philsong,项目名称:studygolang,代码行数:26,代码来源:user.go

示例2: FindCurrentUser

// 获取当前登录用户信息(常用信息)
func FindCurrentUser(username string) (user map[string]interface{}, err error) {
	userLogin := model.NewUserLogin()
	err = userLogin.Where("username=" + username).Find()
	if err != nil {
		logger.Errorf("获取用户 %s 信息失败:%s", username, err)
		return
	}
	if userLogin.Uid == 0 {
		logger.Infof("用户 %s 不存在!", username)
		return
	}
	user = map[string]interface{}{
		"uid":      userLogin.Uid,
		"username": userLogin.Username,
		"email":    userLogin.Email,
	}

	// 获取未读消息数
	user["msgnum"] = FindNotReadMsgNum(userLogin.Uid)

	// 获取角色信息
	userRoleList, err := model.NewUserRole().Where("uid=" + strconv.Itoa(userLogin.Uid)).FindAll()
	if err != nil {
		logger.Errorf("获取用户 %s 角色 信息失败:%s", username, err)
		return
	}
	for _, userRole := range userRoleList {
		if userRole.Roleid <= model.AdminMinRoleId {
			// 是管理员
			user["isadmin"] = true
		}
	}
	return
}
开发者ID:philsong,项目名称:studygolang,代码行数:35,代码来源:user.go

示例3: CreateUser

func CreateUser(form url.Values) (errMsg string, err error) {
	// 存用户基本信息,产生自增长UID
	user := model.NewUser()
	err = util.ConvertAssign(user, form)
	if err != nil {
		logger.Errorln("user ConvertAssign error", err)
		errMsg = err.Error()
		return
	}
	uid, err := user.Insert()
	if err != nil {
		errMsg = "内部服务器错误"
		logger.Errorln(errMsg, ":", err)
		return
	}

	// 存用户登录信息
	userLogin := model.NewUserLogin()
	err = util.ConvertAssign(userLogin, form)
	if err != nil {
		errMsg = err.Error()
		logger.Errorln("CreateUser error:", err)
		return
	}
	userLogin.Uid = uid
	_, err = userLogin.Insert()
	if err != nil {
		errMsg = "内部服务器错误"
		logger.Errorln(errMsg, ":", err)
		return
	}

	// 存用户角色信息
	userRole := model.NewUserRole()
	// 默认为初级会员
	roleId := model.AllRoleId[len(model.AllRoleId)-1]
	if form.Get("roleid") != "" {
		tmpId, err := strconv.Atoi(form.Get("roleid"))
		if err == nil {
			roleId = tmpId
		}
	}
	userRole.Roleid = roleId
	userRole.Uid = uid
	if _, err = userRole.Insert(); err != nil {
		logger.Errorln("userRole insert Error:", err)
	}

	// 存用户活跃信息,初始活跃+2
	userActive := model.NewUserActive()
	userActive.Uid = uid
	userActive.Username = user.Username
	userActive.Email = user.Email
	userActive.Weight = 2
	if _, err = userActive.Insert(); err != nil {
		logger.Errorln("UserActive insert Error:", err)
	}
	return
}
开发者ID:sndnvaps,项目名称:studygolang,代码行数:59,代码来源:user.go

示例4: CountUsers

// 会员总数
func CountUsers() int {
	total, err := model.NewUserLogin().Count()
	if err != nil {
		logger.Errorln("user service CountUsers error:", err)
		return 0
	}
	return total
}
开发者ID:philsong,项目名称:studygolang,代码行数:9,代码来源:user.go

示例5: RecordLoginTime

// 记录用户最后登录时间
func RecordLoginTime(username string) error {
	userLogin := model.NewUserLogin()
	err := userLogin.Set("login_time=" + time.Now().Format("2006-01-02 15:04:05")).Where("username=" + username).Update()
	if err != nil {
		logger.Errorf("记录用户 %s 登录时间错误:%s", username, err)
	}
	return err
}
开发者ID:NeoChow,项目名称:studygolang,代码行数:9,代码来源:user.go

示例6: UpdatePasswd

// 更新用户密码(用户名或email)
func UpdatePasswd(username, passwd string) (string, error) {
	userLogin := model.NewUserLogin()
	passwd = userLogin.GenMd5Passwd(passwd)
	err := userLogin.Set("passwd=" + passwd + ",passcode=" + userLogin.GetPasscode()).Where("username=" + username + " OR email=" + username).Update()
	if err != nil {
		logger.Errorf("用户 %s 更新密码错误:%s", username, err)
		return "对不起,内部服务错误!", err
	}
	return "", nil
}
开发者ID:philsong,项目名称:studygolang,代码行数:11,代码来源:user.go

示例7: EmailExists

// 判断指定的邮箱(email)是否存在
func EmailExists(email string) bool {
	userLogin := model.NewUserLogin()
	if err := userLogin.Where("email=" + email).Find("uid"); err != nil {
		logger.Errorln("service EmailExists error:", err)
		return false
	}
	if userLogin.Uid != 0 {
		return true
	}
	return false
}
开发者ID:philsong,项目名称:studygolang,代码行数:12,代码来源:user.go

示例8: UsernameExists

// 判断指定的用户名是否存在
func UsernameExists(username string) bool {
	userLogin := model.NewUserLogin()
	if err := userLogin.Where("username=" + username).Find("uid"); err != nil {
		logger.Errorln("service UsernameExists error:", err)
		return false
	}
	if userLogin.Uid != 0 {
		return true
	}
	return false
}
开发者ID:philsong,项目名称:studygolang,代码行数:12,代码来源:user.go

示例9: FindNotLoginUsers

// 获取 loginTime 之前没有登录的用户
func FindNotLoginUsers(loginTime string) (userList []*model.UserLogin, err error) {
	userLogin := model.NewUserLogin()
	userList, err = userLogin.Where("login_time<" + loginTime).FindAll()
	return
}
开发者ID:NeoChow,项目名称:studygolang,代码行数:6,代码来源:user.go

示例10: CreateUser

func CreateUser(form url.Values) (errMsg string, err error) {
	if EmailExists(form.Get("email")) {
		err = errors.New("该邮箱已注册过")
		return
	}
	if UsernameExists(form.Get("username")) {
		err = errors.New("用户名已存在")
		return
	}
	// 存用户基本信息,产生自增长UID
	user := model.NewUser()
	err = util.ConvertAssign(user, form)
	if err != nil {
		logger.Errorln("user ConvertAssign error", err)
		errMsg = err.Error()
		return
	}
	user.Ctime = util.TimeNow()

	// 随机给一个默认头像
	user.Avatar = DefaultAvatars[rand.Intn(len(DefaultAvatars))]
	uid, err := user.Insert()
	if err != nil {
		errMsg = "内部服务器错误"
		logger.Errorln(errMsg, ":", err)
		return
	}

	// 存用户登录信息
	userLogin := model.NewUserLogin()
	err = util.ConvertAssign(userLogin, form)
	if err != nil {
		errMsg = err.Error()
		logger.Errorln("CreateUser error:", err)
		return
	}
	userLogin.Uid = uid
	_, err = userLogin.Insert()
	if err != nil {
		errMsg = "内部服务器错误"
		logger.Errorln(errMsg, ":", err)
		return
	}

	// 存用户角色信息
	userRole := model.NewUserRole()
	// 默认为初级会员
	userRole.Roleid = Roles[len(Roles)-1].Roleid
	userRole.Uid = uid
	if _, err = userRole.Insert(); err != nil {
		logger.Errorln("userRole insert Error:", err)
	}

	// 存用户活跃信息,初始活跃+2
	userActive := model.NewUserActive()
	userActive.Uid = uid
	userActive.Username = user.Username
	userActive.Avatar = user.Avatar
	userActive.Email = user.Email
	userActive.Weight = 2
	if _, err = userActive.Insert(); err != nil {
		logger.Errorln("UserActive insert Error:", err)
	}
	return
}
开发者ID:NeoChow,项目名称:studygolang,代码行数:65,代码来源:user.go


注:本文中的Model.NewUserLogin函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。