rdluck 4 年之前
父節點
當前提交
8e6931412f
共有 2 個文件被更改,包括 23 次插入13 次删除
  1. 9 0
      controllers/wechat.go
  2. 14 13
      services/wechat.go

+ 9 - 0
controllers/wechat.go

@@ -199,3 +199,12 @@ func (this *WechatController) GetWxSign() {
 /*
 $app->bag('api/wechat/check', "WechatController@check");
 */
+
+//func init() {
+//	fmt.Println("start")
+//	accessToken, err := services.WxGetAccessToken()
+//	fmt.Println(accessToken,err)
+//	ticket, err := services.GetWxTicket(accessToken)
+//	fmt.Println(ticket,err)
+//	fmt.Println("end")
+//}

+ 14 - 13
services/wechat.go

@@ -41,7 +41,7 @@ func WxGetUserOpenIdByCode(code string) (item *WxAccessToken, err error) {
 type WxToken struct {
 	AccessToken string `json:"access_token"`
 	ExpiresIn   int    `json:"expires_in"`
-	Errcode     string `json:"errcode"`
+	Errcode     int    `json:"errcode"`
 	Errmsg      string `json:"errmsg"`
 }
 
@@ -54,6 +54,9 @@ func WxGetToken() (item *WxToken, err error) {
 		return nil, err
 	}
 	err = json.Unmarshal(result, &item)
+	fmt.Println("WxGetToken start")
+	fmt.Println(string(result))
+	fmt.Println("WxGetToken end")
 	return
 }
 
@@ -68,11 +71,11 @@ func WxGetAccessToken() (accessToken string, err error) {
 		if err != nil {
 			return accessToken, err
 		}
-		if token.Errcode != "" {
-			err = errors.New("获取access_token 失败 errcode:" + token.Errcode + " ;errmsg:" + token.Errmsg)
+		if token.Errmsg != "" {
+			err = errors.New("获取access_token 失败 errcode:" + token.Errmsg + " ;errmsg:" + token.Errmsg)
 			return "", err
 		}
-		expiresIn := time.Now().Add(time.Duration(token.ExpiresIn) * time.Second).Unix()
+		expiresIn := time.Now().Add(110 * time.Minute).Unix()
 		err = models.AddWxToken(token.AccessToken, expiresIn)
 		if err != nil {
 			err = errors.New("新增wx_token失败" + err.Error())
@@ -85,11 +88,11 @@ func WxGetAccessToken() (accessToken string, err error) {
 			if err != nil {
 				return accessToken, err
 			}
-			if token.Errcode != "" {
-				err = errors.New("获取access_token 失败 errcode:" + token.Errcode + " ;errmsg:" + token.Errmsg)
+			if token.Errmsg != "" {
+				err = errors.New("获取access_token 失败 errcode:" + token.Errmsg + " ;errmsg:" + token.Errmsg)
 				return "", err
 			}
-			expiresIn := time.Now().Add(time.Duration(wxToken.ExpiresIn) * time.Second).Unix()
+			expiresIn := time.Now().Add(110 * time.Minute).Unix()
 			err = models.UpdateWxToken(token.AccessToken, expiresIn, wxToken.Id)
 			if err != nil {
 				err = errors.New("修改wx_token失败" + err.Error())
@@ -112,13 +115,13 @@ type WxUserInfo struct {
 	Province       string `json:"province"`
 	Country        string `json:"country"`
 	Headimgurl     string `json:"headimgurl"`
-	SubscribeTime int    `json:"subscribe_time"`
+	SubscribeTime  int    `json:"subscribe_time"`
 	Unionid        string `json:"unionid"`
 	Remark         string `json:"remark"`
 	Groupid        int    `json:"groupid"`
 	SubscribeScene string `json:"subscribe_scene"`
-	Errcode     string `json:"errcode"`
-	Errmsg      string `json:"errmsg"`
+	Errcode        string `json:"errcode"`
+	Errmsg         string `json:"errmsg"`
 }
 
 func WxGetUserInfo(openId, accessToken string) (item *WxUserInfo, err error) {
@@ -132,11 +135,10 @@ func WxGetUserInfo(openId, accessToken string) (item *WxUserInfo, err error) {
 	return
 }
 
-
 func GetWxTicket(accessToken string) (string, error) {
 	Url := strings.Join([]string{"https://api.weixin.qq.com/cgi-bin/ticket/getticket",
 		"?access_token=", accessToken,
-		"&type=jsapi",}, "")
+		"&type=jsapi"}, "")
 	infoBody, err := http.Get(Url)
 	if err != nil {
 		return "", err
@@ -151,7 +153,6 @@ func GetWxTicket(accessToken string) (string, error) {
 	}
 }
 
-
 func GetWxSignature(ticket, url, noncestr string) (string, string, int64) {
 	timestamp := time.Now().Unix()
 	signStr := strings.Join([]string{"jsapi_ticket=", ticket,