123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- package services
- import (
- "encoding/json"
- "errors"
- "hongze/hongze_mobile_admin/models/tables/admin"
- "hongze/hongze_mobile_admin/utils"
- "strconv"
- "time"
- )
- func AdminWxLogin(wxAccessToken *WxAccessToken, wxUserInfo *WxUserInfo) (ret admin.WxLoginResp, err error, errMsg string) {
- errMsg = `微信登录失败`
- openId := wxAccessToken.Openid
- unionId := wxAccessToken.Unionid
- if unionId == "" {
- unionId = wxUserInfo.Unionid
- }
-
- _, err = admin.GetAdminWxByAdminOpenId(openId)
- if err != nil {
- if err.Error() == utils.ErrNoRow() {
-
-
- err = nil
- timeUnix := time.Now().Unix()
- timeUnixStr := strconv.FormatInt(timeUnix, 10)
- ret.BindToken = utils.MD5(openId) + utils.MD5(timeUnixStr)
-
- content := make(map[string]string, 2)
- content["open_id"] = openId
- content["union_id"] = unionId
- contentStr, _ := json.Marshal(content)
- err = utils.Rc.Put(utils.HZ_MOBILE_ADMIN_WXLOGIN_TOKEN+ret.BindToken, contentStr, 24*time.Hour)
- if err != nil {
- err = errors.New("保存登录信息到redis中失败 Err "+err.Error())
- errMsg = "保存登录信息失败"
- return
- }
- ret.BindFlag = false
- return
- }
- errMsg = "查询账号失败"
- return
- }
- ret.BindFlag = true
- return
- }
|