Files
RSSHub/lib/v2/flyert/creditcard.js
mudone c7de199be7 fix(route): flyert duplicate images & add shanghai bank (#12377)
* fix(route): flyert duplicate images & add shanghai bank

* fix(route): flyert duplicate images & add shanghai bank. optimize code according to the revivew suggestion.

* docs: add Bank of Shanghai slug for creditcard route
2023-04-24 02:12:47 -07:00

90 lines
2.4 KiB
JavaScript

const got = require('@/utils/got');
const cheerio = require('cheerio');
const util = require('./utils');
const iconv = require('iconv-lite');
const gbk2utf8 = (s) => iconv.decode(s, 'gbk');
const host = 'https://www.flyert.com';
module.exports = async (ctx) => {
const bank = ctx.params.bank;
const target = `${host}/forum-${bank}-1.html`;
let bankname = '';
switch (bank) {
case 'creditcard':
bankname = '国内信用卡';
break;
case 'pufa':
bankname = '浦发银行';
break;
case 'zhaoshang':
bankname = '招商银行';
break;
case 'zhongxin':
bankname = '中信银行';
break;
case 'jiaotong':
bankname = '交通银行';
break;
case 'zhonghang':
bankname = '中国银行';
break;
case 'gongshang':
bankname = '工商银行';
break;
case 'guangfa':
bankname = '广发银行';
break;
case 'nongye':
bankname = '农业银行';
break;
case 'jianshe':
bankname = '建设银行';
break;
case 'huifeng':
bankname = '汇丰银行';
break;
case 'mingsheng':
bankname = '民生银行';
break;
case 'xingye':
bankname = '兴业银行';
break;
case 'huaqi':
bankname = '花旗银行';
break;
case 'shanghai':
bankname = '上海银行';
break;
case 'wuka':
bankname = '无卡支付';
break;
case '137':
bankname = '投资理财';
break;
case '145':
bankname = '网站权益汇';
break;
case 'intcreditcard':
bankname = '境外信用卡';
}
const response = await got.get(target, {
responseType: 'buffer',
});
const $ = cheerio.load(gbk2utf8(response.data));
const list = $("[id*='normalthread']").get();
const result = await util.ProcessFeed(list, ctx.cache);
ctx.state.data = {
title: `飞客茶馆信用卡 - ${bankname}`,
link: 'https://www.flyert.com/',
description: `飞客茶馆信用卡 - ${bankname}`,
item: result,
};
};