|
@@ -19,141 +19,6 @@ type WechatCommonController struct {
|
|
|
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 微信登录接口
|
|
|
// @Description 微信登录接口
|
|
|
// @Param Code query string true "微信唯一编码code"
|
|
@@ -182,60 +47,24 @@ func (this *WechatCommonController) WechatLogin() {
|
|
|
br.ErrMsg = "获取用户信息失败,code:" + strconv.Itoa(wxInfo.ErrCode) + ",msg:" + wxInfo.ErrMSG
|
|
|
return
|
|
|
}
|
|
|
- //wxToken, err := services.WxGetToken()
|
|
|
- //if err != nil {
|
|
|
- // br.Msg = "获取用户信息失败"
|
|
|
- // br.ErrMsg = "获取access_token失败,err:" + err.Error()
|
|
|
- // return
|
|
|
- //}
|
|
|
- //if wxToken.AccessToken == "" {
|
|
|
- // br.Msg = "获取用户信息失败"
|
|
|
- // br.ErrMsg = "access_token 为空,"
|
|
|
- // return
|
|
|
- //}
|
|
|
- //getWxUserInfo, err := services.WxGetUserInfo(wxInfo.OpenID, wxToken.AccessToken)
|
|
|
- //if err != nil {
|
|
|
- // br.Msg = "获取用户信息失败"
|
|
|
- // br.ErrMsg = "获取微信用户信息失败,Err:" + err.Error()
|
|
|
- // return
|
|
|
- //}
|
|
|
- //if getWxUserInfo.Errcode != 0 {
|
|
|
- // userInfoJson, _ := json.Marshal(getWxUserInfo)
|
|
|
- // br.Msg = "登录失败"
|
|
|
- // br.ErrMsg = "获取用户信息失败,err:" + string(userInfoJson)
|
|
|
- // return
|
|
|
- //}
|
|
|
|
|
|
wxUserInfo := new(services.WxUserInfo)
|
|
|
wxUserInfo.Unionid = wxInfo.UnionID
|
|
|
wxUserInfo.Openid = wxInfo.OpenID
|
|
|
- //wxUserInfo.Nickname = getWxUserInfo.Nickname
|
|
|
- //wxUserInfo.Headimgurl = getWxUserInfo.Headimgurl
|
|
|
- //wxUserInfo.City = getWxUserInfo.City
|
|
|
- //wxUserInfo.Province = getWxUserInfo.Province
|
|
|
- //wxUserInfo.Country = getWxUserInfo.Country
|
|
|
- //wxUserInfo.Sex = getWxUserInfo.Sex
|
|
|
- //wxUserInfo.SubscribeScene = getWxUserInfo.SubscribeScene
|
|
|
wxUserInfo.Errcode = wxInfo.ErrCode
|
|
|
wxUserInfo.Errmsg = wxInfo.ErrMSG
|
|
|
wxUserInfo.SessionKey = wxInfo.SessionKey
|
|
|
-
|
|
|
- fmt.Println("openId", wxInfo.OpenID)
|
|
|
- fmt.Println("unionId", wxInfo.UnionID)
|
|
|
-
|
|
|
token, userId, firstLogin, _, err := services.WxLogin(code, wxInfo.OpenID, wxInfo.UnionID, wxUserInfo)
|
|
|
if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
br.Msg = "微信登录失败"
|
|
|
br.ErrMsg = "微信登录失败,err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
-
|
|
|
if token == "" {
|
|
|
br.Msg = "微信登录失败"
|
|
|
br.ErrMsg = "token:" + token + "" + code + " " + wxInfo.OpenID + " " + wxInfo.UnionID
|
|
|
return
|
|
|
}
|
|
|
-
|
|
|
//新增登录日志
|
|
|
{
|
|
|
loginLog := new(models.WxUserLog)
|
|
@@ -247,7 +76,6 @@ func (this *WechatCommonController) WechatLogin() {
|
|
|
loginLog.Remark = token
|
|
|
go models.AddWxUserLog(loginLog)
|
|
|
}
|
|
|
-
|
|
|
{
|
|
|
codeLog := new(models.WxUserCode)
|
|
|
codeLog.WxCode = code
|
|
@@ -270,122 +98,6 @@ func (this *WechatCommonController) WechatLogin() {
|
|
|
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 小程序获取用户信息
|
|
|
// @Description 小程序获取用户信息接口(需要登录)
|
|
|
// @Param request body models.WxGetUserInfoReq true "type json string"
|