- auto create weixin user.
This commit is contained in:
@@ -5,9 +5,6 @@ import (
|
||||
"time"
|
||||
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
"git.rosy.net.cn/jx-callback/business/jxcallback/auth/mobile"
|
||||
"git.rosy.net.cn/jx-callback/business/model"
|
||||
"git.rosy.net.cn/jx-callback/business/model/dao"
|
||||
"git.rosy.net.cn/jx-callback/globals"
|
||||
)
|
||||
|
||||
@@ -81,17 +78,3 @@ func GetUserInfo(token string) (loginInfo *LoginInfo, err error) {
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
|
||||
func BindMobile(token, mobileNum, code string) (err error) {
|
||||
loginInfo := new(LoginInfo)
|
||||
if err = globals.Cacher.GetAs(token, loginInfo); err == nil {
|
||||
if mobile.VerifyCode(mobileNum, code) {
|
||||
user := &model.WeiXins{
|
||||
OpenID: loginInfo.ID,
|
||||
}
|
||||
_, err = dao.UpdateEntityByKV(nil, user, utils.Params2Map("Tel", mobileNum), utils.Params2Map("OpenID", loginInfo.ID))
|
||||
}
|
||||
err = errors.New("验证码错")
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -8,10 +8,12 @@ import (
|
||||
"git.rosy.net.cn/baseapi/platformapi/weixinsnsapi"
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
"git.rosy.net.cn/jx-callback/business/jxcallback/auth"
|
||||
"git.rosy.net.cn/jx-callback/business/jxcallback/auth/mobile"
|
||||
"git.rosy.net.cn/jx-callback/business/model"
|
||||
"git.rosy.net.cn/jx-callback/business/model/dao"
|
||||
"git.rosy.net.cn/jx-callback/globals"
|
||||
"git.rosy.net.cn/jx-callback/globals/api"
|
||||
"github.com/astaxie/beego/orm"
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -24,6 +26,10 @@ var (
|
||||
StrStateIsWrong = "state:%s状态不对"
|
||||
)
|
||||
|
||||
var (
|
||||
auther *Auther
|
||||
)
|
||||
|
||||
type Auther struct {
|
||||
}
|
||||
|
||||
@@ -33,7 +39,8 @@ type UserInfoExt struct {
|
||||
}
|
||||
|
||||
func init() {
|
||||
auth.RegisterAuther(LoginType, new(Auther))
|
||||
auther = new(Auther)
|
||||
auth.RegisterAuther(LoginType, auther)
|
||||
}
|
||||
|
||||
func GetUserInfo(code string, state string) (token *UserInfoExt, err error) {
|
||||
@@ -77,3 +84,27 @@ func (a *Auther) Login(openid, password string) (err error) {
|
||||
func (a *Auther) Logout(openid string) error {
|
||||
return globals.Cacher.Del(openid)
|
||||
}
|
||||
|
||||
func BindMobile(token, mobileNum, code, nickname string) (err error) {
|
||||
loginInfo := new(auth.LoginInfo)
|
||||
if err = globals.Cacher.GetAs(token, loginInfo); err == nil {
|
||||
if mobile.VerifyCode(mobileNum, code) {
|
||||
user := &model.WeiXins{
|
||||
OpenID: loginInfo.ID,
|
||||
Tel: mobileNum,
|
||||
NickName: nickname,
|
||||
}
|
||||
db := dao.GetDB()
|
||||
if err = dao.GetEntity(db, user, "OpenID"); err == nil {
|
||||
user.Tel = mobileNum
|
||||
user.NickName = nickname
|
||||
_, err = dao.UpdateEntity(db, user, "Tel", "NickName")
|
||||
} else if err == orm.ErrNoRows {
|
||||
err = dao.CreateEntity(db, user)
|
||||
}
|
||||
} else {
|
||||
err = errors.New("验证码错")
|
||||
}
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user