code: func (ctx *Context) GetQyAccessToken() (accessToken string, err error) {
  	ctx.accessTokenLock.Lock()
  	defer ctx.accessTokenLock.Unlock()
  
  	accessTokenCacheKey := fmt.Sprintf("qy_access_token_%s", ctx.AppID)
  	val := ctx.Cache.Get(accessTokenCacheKey)
  	if val != nil {
  		accessToken = val.(string)
  		return
  	}
  
  	//从微信服务器获取
  	var resQyAccessToken ResQyAccessToken
  	resQyAccessToken, err = ctx.GetQyAccessTokenFromServer()
  	if err != nil {
  		return
  	}
  
  	accessToken = resQyAccessToken.AccessToken
  	return
  }
docs: //GetQyAccessToken 获取access_token