Pārlūkot izejas kodu

fix_bug 微信签名获取

xingzai 3 gadi atpakaļ
vecāks
revīzija
424705d705
2 mainītis faili ar 15 papildinājumiem un 54 dzēšanām
  1. 1 2
      controllers/wechat.go
  2. 14 52
      services/wechat.go

+ 1 - 2
controllers/wechat.go

@@ -143,7 +143,7 @@ func (this *WechatCommonController) GetWxSign() {
 		br.ErrMsg = "获取access_token失败,err:" + err.Error()
 		return
 	}
-	if accessToken=="" {
+	if accessToken == "" {
 		br.Msg = "获取用户信息失败"
 		br.ErrMsg = "access_token 为空,"
 		return
@@ -160,7 +160,6 @@ func (this *WechatCommonController) GetWxSign() {
 		return
 	}
 	nonceStr := utils.GetRandStringNoSpecialChar(16)
-	fmt.Println(ticket)
 	signature, nonceString, timestamp := services.GetWxSignature(ticket, getUrl, nonceStr)
 	resp := new(models.WechatSign)
 	resp.AppId = utils.WxPublicAppId

+ 14 - 52
services/wechat.go

@@ -63,7 +63,7 @@ type WxToken struct {
 
 func WxGetToken() (item *WxToken, err error) {
 	requestUrl := `https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=%s&secret=%s`
-	requestUrl = fmt.Sprintf(requestUrl, utils.WxAppId, utils.WxAppSecret)
+	requestUrl = fmt.Sprintf(requestUrl, utils.WxPublicAppId, utils.WxPublicAppSecret)
 	fmt.Println("requestUrl:", requestUrl)
 	result, err := http.Get(requestUrl)
 	if err != nil {
@@ -95,18 +95,6 @@ type WxUserInfo struct {
 	SessionKey     string `json:"session_key"`
 }
 
-//func WxGetUserInfo(openId, accessToken string) (item *WxUserInfo, err error) {
-//	requestUrl := `https://api.weixin.qq.com/cgi-bin/user/info?access_token=%s&openid=%s`
-//	requestUrl = fmt.Sprintf(requestUrl, accessToken, openId)
-//	result, err := http.Get(requestUrl)
-//	if err != nil {
-//		return
-//	}
-//	fmt.Println("result:", string(result))
-//	err = json.Unmarshal(result, &item)
-//	return
-//}
-
 func WxGetUserInfo(openId, accessToken string) (item *WxUserInfo, err error) {
 	requestUrl := `https://api.weixin.qq.com/sns/userinfo?access_token=%s&openid=%s&lang=zh_CN`
 	requestUrl = fmt.Sprintf(requestUrl, accessToken, openId)
@@ -139,46 +127,20 @@ type WxUserDetail struct {
 
 func GetWxAccessTokenByXzs() (accessTokenStr string, err error) {
 	//缓存校验
-	//cacheKey := fmt.Sprint("xygxxzs_wxtoken")
-	//
-	//
-	//accessTokenStr, _ = utils.Rc.RedisString("xygxxzs_wxtoken")
-	//
-	//if accessTokenStr != "" {
-	//	accessTokens, err := utils.Rc.RedisString("xygxxzs_wxtoken")
-	//	if err != nil {
-	//		fmt.Println(err)
-	//	}
-	//	fmt.Println("string", accessTokens)
-	//	accessTokenStr = accessTokens
-	//} else {
-	//	WxAccessToken, err := GetWxTokenByXzs()
-	//	if err != nil {
-	//		fmt.Println(err)
-	//	}
-	//	utils.Rc.Put(cacheKey, WxAccessToken.AccessToken, time.Second*7000)
-	//
-	//	accessTokenStr = WxAccessToken.AccessToken
-	//}
-
-	WxAccessToken, err := GetWxTokenByXzs()
-	accessTokenStr = WxAccessToken.AccessToken
-	return
-}
-
-//获取小助手的微信Token
-func GetWxTokenByXzs() (item *WxAccessToken, err error) {
-	getUrl := "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" + utils.WxPublicAppId + "&secret=" + utils.WxPublicAppSecret
-	result, err := http.Get(getUrl)
-	if err != nil {
+	cacheKey := "xygxxzs_wxtoken"
+	accessTokenStr, err = utils.Rc.RedisString(cacheKey)
+	if accessTokenStr != "" && err == nil {
+		fmt.Println("redis:", accessTokenStr)
 		return
-	}
-	err = json.Unmarshal(result, &item)
-	if err != nil {
-		fmt.Println("GetWxToken Unmarshal Err:%s", err.Error())
-		return
-	}
-	if item.Errmsg != "" {
+	} else {
+		WxAccessToken, errWx := WxGetToken()
+		if errWx != nil {
+			fmt.Println(errWx)
+			return
+		}
+		err = errWx
+		accessTokenStr = WxAccessToken.AccessToken
+		utils.Rc.Put(cacheKey, WxAccessToken.AccessToken, time.Second*7000)
 	}
 	return
 }