recommend.js
1 import { cli, Strategy } from '@jackwener/opencli/registry'; 2 3 cli({ 4 site: 'nowcoder', 5 name: 'recommend', 6 description: 'Recommended feed', 7 domain: 'www.nowcoder.com', 8 strategy: Strategy.PUBLIC, 9 browser: false, 10 args: [ 11 { name: 'page', type: 'int', default: 1, help: 'Page number' }, 12 { name: 'limit', type: 'int', default: 15, help: 'Number of items' }, 13 ], 14 columns: ['rank', 'title', 'author', 'likes', 'comments', 'views', 'id'], 15 pipeline: [ 16 { fetch: { url: 'https://gw-c.nowcoder.com/api/sparta/home/recommend?page=${{ args.page }}&size=${{ args.limit }}' } }, 17 { select: 'data.records' }, 18 { map: { 19 rank: '${{ index + 1 }}', 20 title: `\${{ item.momentData?.title || item.longContentData?.title || item.contentData?.title || '' }}`, 21 author: `\${{ item.userBrief?.nickname || '' }}`, 22 likes: '${{ item.frequencyData?.likeCnt || 0 }}', 23 comments: '${{ item.frequencyData?.commentCnt || 0 }}', 24 views: '${{ item.frequencyData?.viewCnt || 0 }}', 25 id: `\${{ item.momentData?.uuid || item.longContentData?.uuid || item.contentData?.uuid || item.contentId || '' }}`, 26 } }, 27 { filter: 'item.title' }, 28 { limit: '${{ args.limit }}' }, 29 ], 30 });