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 });