Trends Hub

by baranwang
Verified
import { z } from 'zod'; import { defineToolConfig, handleSuccessResult, http, safeJsonParse } from '../utils'; const smzdmRequestSchema = z.object({ unit: z .union([z.literal(1).describe('今日热门'), z.literal(7).describe('周热门'), z.literal(30).describe('月热门')]) .optional() .default(1), }); export default defineToolConfig({ name: 'get-smzdm-rank', description: '获取什么值得买热门,包含商品推荐、优惠信息、购物攻略、产品评测及消费经验分享的实用中文消费类资讯', zodSchema: smzdmRequestSchema, func: async (args) => { const { unit } = smzdmRequestSchema.parse(args); const resp = await http.get<{ error_code: number; error_msg: string; data: any[]; }>('https://post.smzdm.com/rank/json_more', { params: { unit, }, }); if (resp.data.error_code !== 0 || !Array.isArray(resp.data.data)) { throw new Error(resp.data.error_msg || '获取什么值得买热门失败'); } return resp.data.data.map((item) => { return { title: item.title, description: item.content, cover: item.pic_url, author: item.nickname, publish_time: item.publish_time, collection_count: item.collection_count, comment_count: item.comment_count, up_count: item.up_count, hashtags: safeJsonParse<any[]>(item.tag) ?.map((tag) => `#${tag.title}`) .join(' '), link: item.article_url, }; }); }, });