|
@@ -18,6 +18,141 @@ type WechatCommonController struct {
|
|
BaseCommonController
|
|
BaseCommonController
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+//
|
|
|
|
+//// @Title 微信登录接口
|
|
|
|
+//// @Description 微信登录接口
|
|
|
|
+//// @Param Code query string true "微信唯一编码code"
|
|
|
|
+//// @Success 200 {object} models.WxLoginResp
|
|
|
|
+//// @router /login [get]
|
|
|
|
+//func (this *WechatCommonController) WechatLogin() {
|
|
|
|
+// br := new(models.BaseResponse).Init()
|
|
|
|
+// defer func() {
|
|
|
|
+// this.Data["json"] = br
|
|
|
|
+// this.ServeJSON()
|
|
|
|
+// }()
|
|
|
|
+// code := this.GetString("Code")
|
|
|
|
+// if code == "" {
|
|
|
|
+// br.Msg = "参数错误"
|
|
|
|
+// br.ErrMsg = "Code 为空"
|
|
|
|
+// return
|
|
|
|
+// }
|
|
|
|
+// wxInfo, err := weapp.Login(utils.WxAppId, utils.WxAppSecret, code)
|
|
|
|
+// if err != nil {
|
|
|
|
+// br.Msg = "获取用户信息失败"
|
|
|
|
+// br.ErrMsg = "获取用户信息失败,Err:" + err.Error()
|
|
|
|
+// return
|
|
|
|
+// }
|
|
|
|
+// if err = wxInfo.GetResponseError(); err != nil {
|
|
|
|
+// br.Msg = "获取用户信息失败"
|
|
|
|
+// br.ErrMsg = "获取用户信息失败,code:" + strconv.Itoa(wxInfo.ErrCode) + ",msg:" + wxInfo.ErrMSG
|
|
|
|
+// return
|
|
|
|
+// }
|
|
|
|
+// firstLogin := 1
|
|
|
|
+// userId := 0
|
|
|
|
+// wxUser, err := models.GetWxUserItemByUnionid(wxInfo.UnionID)
|
|
|
|
+// if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
|
+// br.Msg = "获取用户信息失败"
|
|
|
|
+// br.ErrMsg = "根据openid获取用户信息失败,Eerr:" + err.Error()
|
|
|
|
+// return
|
|
|
|
+// }
|
|
|
|
+// if wxUser == nil || (err != nil && err.Error() == utils.ErrNoRow()) {
|
|
|
|
+// user := new(models.WxUser)
|
|
|
|
+// user.OpenId = wxInfo.OpenID
|
|
|
|
+// user.CompanyId = 1
|
|
|
|
+// user.CreatedTime = time.Now()
|
|
|
|
+// user.UnionId = wxInfo.UnionID
|
|
|
|
+// user.Unionid = wxInfo.UnionID
|
|
|
|
+// user.FirstLogin = 1
|
|
|
|
+// user.Enabled = 1
|
|
|
|
+// user.RegisterPlatform = 1
|
|
|
|
+// user.RegisterTime = time.Now()
|
|
|
|
+// user.SessionKey = wxInfo.SessionKey
|
|
|
|
+// newId, err := models.AddWxUser(user)
|
|
|
|
+// if err != nil {
|
|
|
|
+// br.Msg = "登录失败"
|
|
|
|
+// br.ErrMsg = "登录失败,新增联系人失败,Eerr:" + err.Error()
|
|
|
|
+// return
|
|
|
|
+// }
|
|
|
|
+// userId = int(newId)
|
|
|
|
+// } else {
|
|
|
|
+// firstLogin = wxUser.FirstLogin
|
|
|
|
+// userId = wxUser.UserId
|
|
|
|
+// models.ModifyWxUserSessionKey(wxInfo.SessionKey, userId)
|
|
|
|
+// }
|
|
|
|
+//
|
|
|
|
+// var token string
|
|
|
|
+// tokenItem, err := models.GetTokenByUid(userId)
|
|
|
|
+// if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
|
+// br.Msg = "登录失败"
|
|
|
|
+// br.ErrMsg = "登录失败,获取token失败:" + err.Error()
|
|
|
|
+// return
|
|
|
|
+// }
|
|
|
|
+//
|
|
|
|
+// if tokenItem == nil || (err != nil && err.Error() == utils.ErrNoRow()) {
|
|
|
|
+// timeUnix := time.Now().Unix()
|
|
|
|
+// timeUnixStr := strconv.FormatInt(timeUnix, 10)
|
|
|
|
+// token = utils.MD5(strconv.Itoa(userId)) + utils.MD5(timeUnixStr)
|
|
|
|
+// //新增session
|
|
|
|
+// {
|
|
|
|
+// session := new(models.CygxSession)
|
|
|
|
+// session.OpenId = wxInfo.OpenID
|
|
|
|
+// session.UnionId = wxInfo.UnionID
|
|
|
|
+// session.UserId = userId
|
|
|
|
+// session.CreatedTime = time.Now()
|
|
|
|
+// session.LastUpdatedTime = time.Now()
|
|
|
|
+// session.ExpireTime = time.Now().AddDate(0, 3, 0)
|
|
|
|
+// session.AccessToken = token
|
|
|
|
+// err = models.AddSession(session)
|
|
|
|
+// if err != nil {
|
|
|
|
+// br.Msg = "登录失败"
|
|
|
|
+// br.ErrMsg = "登录失败,新增用户session信息失败:" + err.Error()
|
|
|
|
+// return
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+// } else {
|
|
|
|
+// token = tokenItem.AccessToken
|
|
|
|
+// }
|
|
|
|
+// {
|
|
|
|
+// newItem, _ := models.GetWxUserItemByUserId(userId)
|
|
|
|
+// if newItem.Mobile == "" && newItem.Email == "" {
|
|
|
|
+// firstLogin = 1
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+//
|
|
|
|
+// //新增登录日志
|
|
|
|
+// {
|
|
|
|
+// loginLog := new(models.WxUserLog)
|
|
|
|
+// loginLog.UserId = userId
|
|
|
|
+// loginLog.OpenId = wxInfo.OpenID
|
|
|
|
+// loginLog.UnionId = wxInfo.UnionID
|
|
|
|
+// loginLog.CreateTime = time.Now()
|
|
|
|
+// loginLog.Handle = "wechat_login_cygx"
|
|
|
|
+// loginLog.Remark = token
|
|
|
|
+// go models.AddWxUserLog(loginLog)
|
|
|
|
+// }
|
|
|
|
+//
|
|
|
|
+// {
|
|
|
|
+// codeLog := new(models.WxUserCode)
|
|
|
|
+// codeLog.WxCode = code
|
|
|
|
+// codeLog.UserId = userId
|
|
|
|
+// codeLog.Code = 0
|
|
|
|
+// codeLog.FirstLogin = firstLogin
|
|
|
|
+// codeLog.Authorization = token
|
|
|
|
+// codeLog.UserPermission = 1
|
|
|
|
+// codeLog.CreateTime = time.Now()
|
|
|
|
+// models.AddWxUserCode(codeLog)
|
|
|
|
+// }
|
|
|
|
+//
|
|
|
|
+// resp := new(models.WxLoginResp)
|
|
|
|
+// resp.UserId = userId
|
|
|
|
+// resp.FirstLogin = firstLogin
|
|
|
|
+// resp.Authorization = token
|
|
|
|
+// br.Ret = 200
|
|
|
|
+// br.Success = true
|
|
|
|
+// br.Msg = "登录成功"
|
|
|
|
+// br.Data = resp
|
|
|
|
+//}
|
|
|
|
+
|
|
// @Title 微信登录接口
|
|
// @Title 微信登录接口
|
|
// @Description 微信登录接口
|
|
// @Description 微信登录接口
|
|
// @Param Code query string true "微信唯一编码code"
|
|
// @Param Code query string true "微信唯一编码code"
|
|
@@ -46,78 +181,21 @@ func (this *WechatCommonController) WechatLogin() {
|
|
br.ErrMsg = "获取用户信息失败,code:" + strconv.Itoa(wxInfo.ErrCode) + ",msg:" + wxInfo.ErrMSG
|
|
br.ErrMsg = "获取用户信息失败,code:" + strconv.Itoa(wxInfo.ErrCode) + ",msg:" + wxInfo.ErrMSG
|
|
return
|
|
return
|
|
}
|
|
}
|
|
- firstLogin := 1
|
|
|
|
- userId := 0
|
|
|
|
- wxUser, err := models.GetWxUserItemByUnionid(wxInfo.UnionID)
|
|
|
|
- if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
|
- br.Msg = "获取用户信息失败"
|
|
|
|
- br.ErrMsg = "根据openid获取用户信息失败,Eerr:" + err.Error()
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
- if wxUser == nil || (err != nil && err.Error() == utils.ErrNoRow()) {
|
|
|
|
- user := new(models.WxUser)
|
|
|
|
- user.OpenId = wxInfo.OpenID
|
|
|
|
- user.CompanyId = 1
|
|
|
|
- user.CreatedTime = time.Now()
|
|
|
|
- user.UnionId = wxInfo.UnionID
|
|
|
|
- user.Unionid = wxInfo.UnionID
|
|
|
|
- user.FirstLogin = 1
|
|
|
|
- user.Enabled = 1
|
|
|
|
- user.RegisterPlatform = 1
|
|
|
|
- user.RegisterTime = time.Now()
|
|
|
|
- user.SessionKey = wxInfo.SessionKey
|
|
|
|
- newId, err := models.AddWxUser(user)
|
|
|
|
- if err != nil {
|
|
|
|
- br.Msg = "登录失败"
|
|
|
|
- br.ErrMsg = "登录失败,新增联系人失败,Eerr:" + err.Error()
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
- userId = int(newId)
|
|
|
|
- } else {
|
|
|
|
- firstLogin = wxUser.FirstLogin
|
|
|
|
- userId = wxUser.UserId
|
|
|
|
- models.ModifyWxUserSessionKey(wxInfo.SessionKey, userId)
|
|
|
|
- }
|
|
|
|
|
|
|
|
- var token string
|
|
|
|
- tokenItem, err := models.GetTokenByUid(userId)
|
|
|
|
- if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
|
- br.Msg = "登录失败"
|
|
|
|
- br.ErrMsg = "登录失败,获取token失败:" + err.Error()
|
|
|
|
|
|
+ wxUserInfo := new(services.WxUserInfo)
|
|
|
|
+ wxUserInfo.Unionid = wxInfo.UnionID
|
|
|
|
+ wxUserInfo.Openid = wxInfo.OpenID
|
|
|
|
+ wxUserInfo.Unionid = wxInfo.UnionID
|
|
|
|
+ wxUserInfo.Errcode = wxInfo.ErrCode
|
|
|
|
+ wxUserInfo.Errmsg = wxInfo.ErrMSG
|
|
|
|
+ wxUserInfo.SessionKey = wxInfo.SessionKey
|
|
|
|
+ token, userId, firstLogin, _, err := services.WxLogin(code, wxInfo.OpenID, wxInfo.UnionID, wxUserInfo)
|
|
|
|
+ if err != nil {
|
|
|
|
+ br.Msg = "微信登录失败"
|
|
|
|
+ br.ErrMsg = "微信登录失败,err:" + err.Error()
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
|
|
- if tokenItem == nil || (err != nil && err.Error() == utils.ErrNoRow()) {
|
|
|
|
- timeUnix := time.Now().Unix()
|
|
|
|
- timeUnixStr := strconv.FormatInt(timeUnix, 10)
|
|
|
|
- token = utils.MD5(strconv.Itoa(userId)) + utils.MD5(timeUnixStr)
|
|
|
|
- //新增session
|
|
|
|
- {
|
|
|
|
- session := new(models.CygxSession)
|
|
|
|
- session.OpenId = wxInfo.OpenID
|
|
|
|
- session.UnionId = wxInfo.UnionID
|
|
|
|
- session.UserId = userId
|
|
|
|
- session.CreatedTime = time.Now()
|
|
|
|
- session.LastUpdatedTime = time.Now()
|
|
|
|
- session.ExpireTime = time.Now().AddDate(0, 3, 0)
|
|
|
|
- session.AccessToken = token
|
|
|
|
- err = models.AddSession(session)
|
|
|
|
- if err != nil {
|
|
|
|
- br.Msg = "登录失败"
|
|
|
|
- br.ErrMsg = "登录失败,新增用户session信息失败:" + err.Error()
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- } else {
|
|
|
|
- token = tokenItem.AccessToken
|
|
|
|
- }
|
|
|
|
- {
|
|
|
|
- newItem, _ := models.GetWxUserItemByUserId(userId)
|
|
|
|
- if newItem.Mobile == "" && newItem.Email == "" {
|
|
|
|
- firstLogin = 1
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
//新增登录日志
|
|
//新增登录日志
|
|
{
|
|
{
|
|
loginLog := new(models.WxUserLog)
|
|
loginLog := new(models.WxUserLog)
|
|
@@ -151,6 +229,122 @@ func (this *WechatCommonController) WechatLogin() {
|
|
br.Msg = "登录成功"
|
|
br.Msg = "登录成功"
|
|
br.Data = resp
|
|
br.Data = resp
|
|
}
|
|
}
|
|
|
|
+//
|
|
|
|
+//// @Title 小程序获取用户信息
|
|
|
|
+//// @Description 小程序获取用户信息接口(需要登录)
|
|
|
|
+//// @Param request body models.WxGetUserInfoReq true "type json string"
|
|
|
|
+//// @Success 200 {object} models.WxGetUserInfoResp
|
|
|
|
+//// @router /getUserInfo [post]
|
|
|
|
+//func (this *WechatController) GetUserInfo() {
|
|
|
|
+// br := new(models.BaseResponse).Init()
|
|
|
|
+// defer func() {
|
|
|
|
+// this.Data["json"] = br
|
|
|
|
+// this.ServeJSON()
|
|
|
|
+// }()
|
|
|
|
+// var req models.WxGetUserInfoReq
|
|
|
|
+// err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
|
|
|
|
+// if err != nil {
|
|
|
|
+// br.Msg = "参数解析异常!"
|
|
|
|
+// br.ErrMsg = "参数解析失败,Err:" + err.Error()
|
|
|
|
+// return
|
|
|
|
+// }
|
|
|
|
+// if req.RawData == "" || req.EncryptedData == "" || req.Signature == "" || req.Iv == "" {
|
|
|
|
+// br.Msg = "参数错误"
|
|
|
|
+// return
|
|
|
|
+// }
|
|
|
|
+// user := this.User
|
|
|
|
+// if user == nil {
|
|
|
|
+// br.Msg = "请登陆"
|
|
|
|
+// br.Ret = 408
|
|
|
|
+// return
|
|
|
|
+// }
|
|
|
|
+// sessionKey := user.SessionKey
|
|
|
|
+// userInfo, err := weapp.DecryptUserInfo(sessionKey, req.RawData, req.EncryptedData, req.Signature, req.Iv)
|
|
|
|
+// if err != nil {
|
|
|
|
+// br.Msg = "解析用户信息失败"
|
|
|
|
+// br.ErrMsg = "解析用户信息失败,DecryptUserInfo Err:" + err.Error()
|
|
|
|
+// return
|
|
|
|
+// }
|
|
|
|
+// userId := 0
|
|
|
|
+// //修改用户微信信息
|
|
|
|
+// oldUser, err := models.GetWxUserItemByUnionid(userInfo.UnionID)
|
|
|
|
+// if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
|
+// br.Msg = "获取用户信息失败"
|
|
|
|
+// br.ErrMsg = "获取用户信息失败 Err:" + err.Error()
|
|
|
|
+// return
|
|
|
|
+// }
|
|
|
|
+// if oldUser == nil || (err != nil && err.Error() == utils.ErrNoRow()) {
|
|
|
|
+// err = models.ModifyWxUserInfo(userInfo.UnionID, userInfo.Nickname, userInfo.Province, userInfo.City, userInfo.Country, userInfo.Avatar, userInfo.Gender, user.UserId)
|
|
|
|
+// if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
|
+// br.Msg = "获取用户信息失败"
|
|
|
|
+// br.ErrMsg = "修改用户信息失败 Err:" + err.Error()
|
|
|
|
+// return
|
|
|
|
+// }
|
|
|
|
+// userId = user.UserId
|
|
|
|
+// } else {
|
|
|
|
+// if user.UserId == oldUser.UserId {
|
|
|
|
+// err = models.ModifyWxUserInfo(userInfo.UnionID, userInfo.Nickname, userInfo.Province, userInfo.City, userInfo.Country, userInfo.Avatar, userInfo.Gender, user.UserId)
|
|
|
|
+// if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
|
+// br.Msg = "获取用户信息失败"
|
|
|
|
+// br.ErrMsg = "修改用户信息失败 Err:" + err.Error()
|
|
|
|
+// return
|
|
|
|
+// }
|
|
|
|
+// userId = user.UserId
|
|
|
|
+// } else {
|
|
|
|
+// userId = oldUser.UserId
|
|
|
|
+// err = models.ModifyWxUserInfo(userInfo.UnionID, userInfo.Nickname, userInfo.Province, userInfo.City, userInfo.Country, userInfo.Avatar, userInfo.Gender, oldUser.UserId)
|
|
|
|
+// if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
|
+// br.Msg = "获取用户信息失败"
|
|
|
|
+// br.ErrMsg = "修改用户信息失败 Err:" + err.Error()
|
|
|
|
+// return
|
|
|
|
+// }
|
|
|
|
+// err = models.DeleteWxUserByUserId(user.UserId)
|
|
|
|
+// if err != nil {
|
|
|
|
+// br.Msg = "删除用户信息失败"
|
|
|
|
+// br.ErrMsg = "删除用户信息失败 Err:" + err.Error()
|
|
|
|
+// return
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+// var token string
|
|
|
|
+// tokenItem, err := models.GetTokenByUid(userId)
|
|
|
|
+// if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
|
+// br.Msg = "登录失败"
|
|
|
|
+// br.ErrMsg = "登录失败,获取token失败:" + err.Error()
|
|
|
|
+// return
|
|
|
|
+// }
|
|
|
|
+//
|
|
|
|
+// if tokenItem == nil || (err != nil && err.Error() == utils.ErrNoRow()) {
|
|
|
|
+// timeUnix := time.Now().Unix()
|
|
|
|
+// timeUnixStr := strconv.FormatInt(timeUnix, 10)
|
|
|
|
+// token = utils.MD5(strconv.Itoa(userId)) + utils.MD5(timeUnixStr)
|
|
|
|
+// //新增session
|
|
|
|
+// {
|
|
|
|
+// session := new(models.CygxSession)
|
|
|
|
+// session.OpenId = userInfo.OpenID
|
|
|
|
+// session.UnionId = userInfo.UnionID
|
|
|
|
+// session.UserId = userId
|
|
|
|
+// session.CreatedTime = time.Now()
|
|
|
|
+// session.LastUpdatedTime = time.Now()
|
|
|
|
+// session.ExpireTime = time.Now().AddDate(0, 3, 0)
|
|
|
|
+// session.AccessToken = token
|
|
|
|
+// err = models.AddSession(session)
|
|
|
|
+// if err != nil {
|
|
|
|
+// br.Msg = "登录失败"
|
|
|
|
+// br.ErrMsg = "登录失败,新增用户session信息失败:" + err.Error()
|
|
|
|
+// return
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+// } else {
|
|
|
|
+// token = tokenItem.AccessToken
|
|
|
|
+// }
|
|
|
|
+// resp := new(models.WxGetUserInfoResp)
|
|
|
|
+// resp.Authorization = token
|
|
|
|
+// br.Msg = "获取成功!"
|
|
|
|
+// br.Ret = 200
|
|
|
|
+// br.Success = true
|
|
|
|
+//}
|
|
|
|
+
|
|
|
|
|
|
// @Title 小程序获取用户信息
|
|
// @Title 小程序获取用户信息
|
|
// @Description 小程序获取用户信息接口(需要登录)
|
|
// @Description 小程序获取用户信息接口(需要登录)
|
|
@@ -180,6 +374,7 @@ func (this *WechatController) GetUserInfo() {
|
|
br.Ret = 408
|
|
br.Ret = 408
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
+ userId := user.UserId
|
|
sessionKey := user.SessionKey
|
|
sessionKey := user.SessionKey
|
|
userInfo, err := weapp.DecryptUserInfo(sessionKey, req.RawData, req.EncryptedData, req.Signature, req.Iv)
|
|
userInfo, err := weapp.DecryptUserInfo(sessionKey, req.RawData, req.EncryptedData, req.Signature, req.Iv)
|
|
if err != nil {
|
|
if err != nil {
|
|
@@ -187,59 +382,25 @@ func (this *WechatController) GetUserInfo() {
|
|
br.ErrMsg = "解析用户信息失败,DecryptUserInfo Err:" + err.Error()
|
|
br.ErrMsg = "解析用户信息失败,DecryptUserInfo Err:" + err.Error()
|
|
return
|
|
return
|
|
}
|
|
}
|
|
- userId := 0
|
|
|
|
//修改用户微信信息
|
|
//修改用户微信信息
|
|
- oldUser, err := models.GetWxUserItemByUnionid(userInfo.UnionID)
|
|
|
|
- if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
|
- br.Msg = "获取用户信息失败"
|
|
|
|
- br.ErrMsg = "获取用户信息失败 Err:" + err.Error()
|
|
|
|
|
|
+ err = models.ModifyUserRecordInfo(userInfo.UnionID, userInfo.Nickname, userInfo.Avatar, userInfo.City, userInfo.Province, userInfo.Country, userInfo.Gender, userId)
|
|
|
|
+ if err != nil {
|
|
|
|
+ br.Msg = "授权失败"
|
|
|
|
+ br.ErrMsg = "授权失败,修改用户信息失败:" + err.Error()
|
|
return
|
|
return
|
|
}
|
|
}
|
|
- if oldUser == nil || (err != nil && err.Error() == utils.ErrNoRow()) {
|
|
|
|
- err = models.ModifyWxUserInfo(userInfo.UnionID, userInfo.Nickname, userInfo.Province, userInfo.City, userInfo.Country, userInfo.Avatar, userInfo.Gender, user.UserId)
|
|
|
|
- if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
|
- br.Msg = "获取用户信息失败"
|
|
|
|
- br.ErrMsg = "修改用户信息失败 Err:" + err.Error()
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
- userId = user.UserId
|
|
|
|
- } else {
|
|
|
|
- if user.UserId == oldUser.UserId {
|
|
|
|
- err = models.ModifyWxUserInfo(userInfo.UnionID, userInfo.Nickname, userInfo.Province, userInfo.City, userInfo.Country, userInfo.Avatar, userInfo.Gender, user.UserId)
|
|
|
|
- if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
|
- br.Msg = "获取用户信息失败"
|
|
|
|
- br.ErrMsg = "修改用户信息失败 Err:" + err.Error()
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
- userId = user.UserId
|
|
|
|
- } else {
|
|
|
|
- userId = oldUser.UserId
|
|
|
|
- err = models.ModifyWxUserInfo(userInfo.UnionID, userInfo.Nickname, userInfo.Province, userInfo.City, userInfo.Country, userInfo.Avatar, userInfo.Gender, oldUser.UserId)
|
|
|
|
- if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
|
- br.Msg = "获取用户信息失败"
|
|
|
|
- br.ErrMsg = "修改用户信息失败 Err:" + err.Error()
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
- err = models.DeleteWxUserByUserId(user.UserId)
|
|
|
|
- if err != nil {
|
|
|
|
- br.Msg = "删除用户信息失败"
|
|
|
|
- br.ErrMsg = "删除用户信息失败 Err:" + err.Error()
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
var token string
|
|
var token string
|
|
- tokenItem, err := models.GetTokenByUid(userId)
|
|
|
|
|
|
+ tokenItem, err := models.GetTokenByOpenId(userInfo.OpenID)
|
|
if err != nil && err.Error() != utils.ErrNoRow() {
|
|
if err != nil && err.Error() != utils.ErrNoRow() {
|
|
- br.Msg = "登录失败"
|
|
|
|
- br.ErrMsg = "登录失败,获取token失败:" + err.Error()
|
|
|
|
|
|
+ br.Msg = "授权失败"
|
|
|
|
+ br.ErrMsg = "授权失败,获取token失败:" + err.Error()
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
|
|
if tokenItem == nil || (err != nil && err.Error() == utils.ErrNoRow()) {
|
|
if tokenItem == nil || (err != nil && err.Error() == utils.ErrNoRow()) {
|
|
timeUnix := time.Now().Unix()
|
|
timeUnix := time.Now().Unix()
|
|
timeUnixStr := strconv.FormatInt(timeUnix, 10)
|
|
timeUnixStr := strconv.FormatInt(timeUnix, 10)
|
|
- token = utils.MD5(strconv.Itoa(userId)) + utils.MD5(timeUnixStr)
|
|
|
|
|
|
+ token = utils.MD5(userInfo.OpenID) + utils.MD5(timeUnixStr)
|
|
//新增session
|
|
//新增session
|
|
{
|
|
{
|
|
session := new(models.CygxSession)
|
|
session := new(models.CygxSession)
|
|
@@ -252,8 +413,8 @@ func (this *WechatController) GetUserInfo() {
|
|
session.AccessToken = token
|
|
session.AccessToken = token
|
|
err = models.AddSession(session)
|
|
err = models.AddSession(session)
|
|
if err != nil {
|
|
if err != nil {
|
|
- br.Msg = "登录失败"
|
|
|
|
- br.ErrMsg = "登录失败,新增用户session信息失败:" + err.Error()
|
|
|
|
|
|
+ br.Msg = "授权失败"
|
|
|
|
+ br.ErrMsg = "授权失败,新增用户session信息失败:" + err.Error()
|
|
return
|
|
return
|
|
}
|
|
}
|
|
}
|
|
}
|