- mini program login
This commit is contained in:
@@ -2,10 +2,12 @@ package auth
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
"git.rosy.net.cn/jx-callback/business/model"
|
||||
"git.rosy.net.cn/jx-callback/business/model/dao"
|
||||
"git.rosy.net.cn/jx-callback/globals/api"
|
||||
)
|
||||
|
||||
@@ -14,8 +16,8 @@ const (
|
||||
)
|
||||
|
||||
type IAuther interface {
|
||||
Login(id, secret string) error
|
||||
Logout(id string) error
|
||||
Login(id, secret string) (userID string, err error)
|
||||
Logout(loginInfo *LoginInfo) error
|
||||
}
|
||||
|
||||
var (
|
||||
@@ -44,7 +46,11 @@ func RegisterAuther(loginType string, handler IAuther) {
|
||||
|
||||
func Login(id, loginType, secret string) (loginInfo *LoginInfo, err error) {
|
||||
if handler := authers[loginType]; handler != nil {
|
||||
if err = handler.Login(id, secret); err == nil {
|
||||
userID, err2 := handler.Login(id, secret)
|
||||
if err = err2; err == nil {
|
||||
if userID != "" {
|
||||
id = userID
|
||||
}
|
||||
token := utils.GetUUID()
|
||||
loginInfo = &LoginInfo{
|
||||
ID: id,
|
||||
@@ -65,7 +71,7 @@ func Logout(token string) (err error) {
|
||||
loginInfo := new(LoginInfo)
|
||||
if err = api.Cacher.GetAs(token, loginInfo); err == nil {
|
||||
if handler := authers[loginInfo.LoginType]; handler != nil {
|
||||
err = handler.Logout(loginInfo.ID)
|
||||
err = handler.Logout(loginInfo)
|
||||
}
|
||||
api.Cacher.Del(token)
|
||||
}
|
||||
@@ -79,3 +85,10 @@ func GetUserInfo(token string) (loginInfo *LoginInfo, err error) {
|
||||
}
|
||||
return nil, model.ErrTokenIsInvalid
|
||||
}
|
||||
|
||||
func ConvertErr2NoUser(err error, mobileNum string) error {
|
||||
if dao.IsNoRowsError(err) {
|
||||
err = fmt.Errorf("没有%s这个用户", mobileNum)
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user