interface WapRes { code: number exp_str: string list: { hot_id: number keyword: string show_name: string score: number word_type: number goto_type: number goto_value: string icon: string live_id: any[] call_reason: number heat_layer: string pos: number id: number status: string name_type: string resource_id: number set_gray: number card_values: any[] heat_score: number stat_datas: { etime: string stime: string is_commercial: string } }[] top_list: any[] hotword_egg_info: string seid: string timestamp: number total_count: number } const hotSearch = defineSource(async () => { const url = "https://s.search.bilibili.com/main/hotword?limit=30" const res: WapRes = await $fetch(url) return res.list.map(k => ({ id: k.keyword, title: k.show_name, url: `https://search.bilibili.com/all?keyword=${encodeURIComponent(k.keyword)}`, extra: { icon: k.icon && `/api/proxy?img=${encodeURIComponent(k.icon)}`, }, })) }) export default defineSource({ "bilibili": hotSearch, "bilibili-hot-search": hotSearch, })