|
@@ -30,7 +30,7 @@ type qrcode struct {
|
|
|
|
|
|
func QrCodeInit(config *system_model.Session) {
|
|
|
qrCode := new(qrcode)
|
|
|
- qrCode.sessionTTL = time.Duration(config.TTL) * time.Minute
|
|
|
+ qrCode.sessionTTL = 5 * time.Minute
|
|
|
QrCode = qrCode
|
|
|
}
|
|
|
|
|
@@ -69,13 +69,14 @@ func (q *qrcode) GetWxQrCode(ctx context.Context, Scene string, Page string) (*h
|
|
|
// 获取access_token
|
|
|
accessToken, err := redis.Get(ctx, wxAccesssTokenKey)
|
|
|
if err != nil && err != consts.RedisNil {
|
|
|
- // fmt.Printf("err: %+v\n", err)
|
|
|
+ fmt.Printf("err: %+v\n", err)
|
|
|
return nil, err
|
|
|
}
|
|
|
if accessToken == "" {
|
|
|
// 如果没有缓存的access token 则获取并缓存
|
|
|
accessToken, err = getAndCacheWxAccessToken(ctx)
|
|
|
if err != nil {
|
|
|
+ fmt.Printf("err: %+v\n", err)
|
|
|
return nil, err
|
|
|
}
|
|
|
}
|
|
@@ -89,12 +90,14 @@ func (q *qrcode) GetWxQrCode(ctx context.Context, Scene string, Page string) (*h
|
|
|
}
|
|
|
jsonBody, err := json.Marshal(qrRequest)
|
|
|
if err != nil {
|
|
|
+ fmt.Printf("err: %+v\n", err)
|
|
|
return nil, err
|
|
|
}
|
|
|
|
|
|
qrCodeUrl := fmt.Sprintf(qrCodeUrlFormat, accessToken)
|
|
|
resp, err := http.Post(qrCodeUrl, "application/json; charset=utf8", bytes.NewReader(jsonBody))
|
|
|
if err != nil {
|
|
|
+ fmt.Printf("err: %+v\n", err)
|
|
|
return nil, err
|
|
|
}
|
|
|
defer resp.Body.Close()
|
|
@@ -107,17 +110,21 @@ func (q *qrcode) GetWxQrCode(ctx context.Context, Scene string, Page string) (*h
|
|
|
var qrResponse *http_model.WxQrCodeResponse
|
|
|
decoder := json.NewDecoder(resp.Body)
|
|
|
if err = decoder.Decode(&qrResponse); err != nil {
|
|
|
+ fmt.Printf("decoder: %+v\nerr: %+v", decoder, err)
|
|
|
return nil, err
|
|
|
}
|
|
|
+ fmt.Printf("qrResponse: %+v\ndecoder: %+v\n", qrResponse, decoder)
|
|
|
return nil, nil
|
|
|
case strings.HasPrefix(header, "image"):
|
|
|
qrcodeBytes, err = ioutil.ReadAll(resp.Body)
|
|
|
if err != nil {
|
|
|
+ fmt.Printf("qrcodeBytes: %+v\nerr: %+v", qrcodeBytes, err)
|
|
|
return nil, err
|
|
|
}
|
|
|
}
|
|
|
data := http_model.GetWxQRCodeData{
|
|
|
QrCodeBytes: qrcodeBytes,
|
|
|
}
|
|
|
+ fmt.Printf("data: %+v\n", data)
|
|
|
return &data, nil
|
|
|
}
|