/ clis / douyin / activities.js
activities.js
 1  import { cli, Strategy } from '@jackwener/opencli/registry';
 2  import { browserFetch } from './_shared/browser-fetch.js';
 3  cli({
 4      site: 'douyin',
 5      name: 'activities',
 6      description: '官方活动列表',
 7      domain: 'creator.douyin.com',
 8      strategy: Strategy.COOKIE,
 9      args: [],
10      columns: ['activity_id', 'title', 'end_time'],
11      func: async (page, _kwargs) => {
12          const url = 'https://creator.douyin.com/web/api/media/activity/get/?aid=1128';
13          const res = await browserFetch(page, 'GET', url);
14          return (res.activity_list ?? []).map(a => ({
15              activity_id: a.activity_id,
16              title: a.title ?? a.activity_name ?? '',
17              end_time: typeof a.end_time === 'number'
18                  ? new Date(a.end_time * 1000).toLocaleString('zh-CN', { timeZone: 'Asia/Tokyo' })
19                  : (a.show_end_time ?? ''),
20          }));
21      },
22  });