- refactor weixin and mini program login

This commit is contained in:
gazebo
2019-01-26 16:02:01 +08:00
parent ab53a4b61d
commit aba16383fe
10 changed files with 284 additions and 116 deletions

View File

@@ -9,7 +9,6 @@ import (
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/business/jxcallback/auth"
"git.rosy.net.cn/jx-callback/business/model/dao"
"git.rosy.net.cn/jx-callback/business/model/legacymodel"
"git.rosy.net.cn/jx-callback/globals"
"git.rosy.net.cn/jx-callback/globals/api"
"github.com/KenmyZhang/aliyun-communicate"
@@ -25,6 +24,10 @@ const (
LoginType = "mobile"
)
var (
ErrVerifyCodeIsWrong = errors.New("验证码错")
)
type Auther struct {
}
@@ -53,35 +56,29 @@ func SendVerifyCode(mobileNumber string) error {
return err
}
func VerifyCode(mobileNumber, code string) bool {
func VerifyCode(mobileNumber, code string) (err error) {
globals.SugarLogger.Debugf("VerifyCode mobileNumber:%s, code:%s", mobileNumber, code)
if mobileNumber == TestMobile {
return code == TestVerifyCode
err = ErrVerifyCodeIsWrong
if mobileNumber == TestMobile && code == TestVerifyCode {
err = nil
} else {
if value := api.Cacher.Get(mobileNumber); value != nil {
if code == value.(string) {
api.Cacher.Del(mobileNumber)
return true
err = nil
}
}
}
return false
return err
}
func (a *Auther) Login(mobileNum, verifyCode string) (userID string, err error) {
if VerifyCode(mobileNum, verifyCode) {
user := &legacymodel.WeiXins{
Tel: mobileNum,
}
db := dao.GetDB()
if err = dao.GetEntity(db, user, "Tel"); err != nil {
err = auth.ConvertErr2NoUser(err, mobileNum)
}
} else {
err = errors.New("验证错误")
func (a *Auther) Login(mobileNum, verifyCode string) (userID, LoginType string, err error) {
if err = VerifyCode(mobileNum, verifyCode); err == nil {
_, err = dao.GetWeiXinUserByIDs(dao.GetDB(), mobileNum, "", "", "")
err = auth.ConvertErr2NoUser(err, mobileNum)
}
return "", err
return "", "", err
}
func (a *Auther) Logout(loginInfo *auth.LoginInfo) error {