cooderl / wewe-rss

🤗更优雅的微信公众号订阅方式,支持私有化部署、微信公众号RSS生成(基于微信读书)v2.x
MIT License
5.27k stars 908 forks source link

如何在单个公众号里,获取到更多的数据? #213

Closed katfionn closed 4 months ago

katfionn commented 4 months ago

问题描述

https://github.com/cooderl/wewe-rss/issues/152 现有的另一种问题

我把一个公众号、单独的RSS拿出来请求,大约做多能请求到10条数据,而wewerss后台列表里他却有好几十条数据,我怎么才能一次性获取更多的数据?

部署环境

需要的解决方案

wyn-ying commented 4 months ago

参考 https://github.com/cooderl/wewe-rss/issues/152#issuecomment-2239103451 ,单个公众号的接口也适用limit参数

katfionn commented 4 months ago

好,谢谢

katfionn commented 4 months ago

参考 #152 (comment) ,单个公众号的接口也适用limit参数

中午试过了,我把容器里的东西映射出来了,然后挂载到本地,把代码在本地改好后,重启容器、删除容器重建都试过,单个RSS的数量还是不超过10个。大佬,还有别的办法吗

@Get('/all.(json|rss|atom)')
  async getFeeds(
    @Request() req: Req,
    @Response() res: Res,
    @Query('limit', new DefaultValuePipe(300), ParseIntPipe) limit: number = 300,
    @Query('mode') mode: string,
  ) {
    const path = req.path;
    const type = path.split('.').pop() || '';
    const { content, mimeType } = await this.feedsService.handleGenerateFeed({
      type,
      limit,
      mode,
    });

    res.setHeader('Content-Type', mimeType);
    res.send(content);
  }

  @Get('/:feed')
  async getFeed(
    @Response() res: Res,
    @Param('feed') feed: string,
    @Query('limit', new DefaultValuePipe(100), ParseIntPipe) limit: number = 100,
    @Query('mode') mode: string,
  ) {
    const [id, type] = feed.split('.');
    this.logger.log('getFeed: ', id);
    const { content, mimeType } = await this.feedsService.handleGenerateFeed({
      id,
      type,
      limit,
      mode,
    });
wyn-ying commented 4 months ago

用原来的容器,浏览器直接访问 http(s)://{你的wewe-rss源地址}//feeds/{mp_id}.rss?limit=100 试一下呢

katfionn commented 4 months ago

用原来的容器,浏览器直接访问 http(s)://{你的wewe-rss源地址}//feeds/{mp_id}.rss?limit=100 试一下呢

这回可以了,谢谢大佬~