UNPKG

rsshub

Version:
74 lines (66 loc) 2.36 kB
import { Route } from '@/types'; import got from '@/utils/got'; import timezone from '@/utils/timezone'; import { parseDate } from '@/utils/parse-date'; import { art } from '@/utils/render'; import path from 'node:path'; export const route: Route = { path: ['/zh/:type?', '/ff14_zh/:type?'], categories: ['game'], example: '/ff14/zh/news', parameters: { type: '分类名,预设为 `all`' }, features: { requireConfig: false, requirePuppeteer: false, antiCrawler: false, supportBT: false, supportPodcast: false, supportScihub: false, }, radar: [ { source: ['ff.web.sdo.com/web8/index.html'], target: '/zh', }, ], name: '最终幻想 14 国服', maintainers: ['Kiotlin', 'ZeroClad', '15x15G'], handler, url: 'ff.web.sdo.com/web8/index.html', description: `| 新闻 | 公告 | 活动 | 广告 | 所有 | | ---- | -------- | ------ | --------- | ---- | | news | announce | events | advertise | all |`, }; async function handler(ctx) { const referer = 'https://ff.sdo.com/web8/index.html'; const type = ctx.req.param('type') ?? 'all'; const type_number = { news: '5310', announce: '5312', events: '5311', advertise: '5313', all: '5310,5312,5311,5313,5309', }; const response = await got({ method: 'get', url: `http://api.act.sdo.com/UnionNews/List?gameCode=ff&category=${type_number[type]}&pageIndex=0&pageSize=50`, headers: { Referer: referer, }, }); const data = response.data.Data; return { title: '最终幻想14(国服)新闻中心', link: referer + '#/newstab/newslist', description: '《最终幻想14》是史克威尔艾尼克斯出品的全球经典游戏品牌FINAL FANTASY系列的最新作品,IGN获得9.2高分!全球累计用户突破1600万!', item: data.map(({ Title, Summary, Author, PublishDate, HomeImagePath }) => ({ title: Title, link: Author, description: art(path.join(__dirname, 'templates/description.art'), { image: HomeImagePath, description: Summary, }), pubDate: timezone(parseDate(PublishDate), +8), })), }; }