新增信息流 (接入 Anicat G佬 新闻组+)

This commit is contained in:
2023-11-28 23:08:34 +08:00
parent 4f6623a4cd
commit 4d7f73ffc4
5 changed files with 214 additions and 105 deletions

31
lib/api/rss.dart Normal file
View File

@ -0,0 +1,31 @@
import 'dart:io';
import 'package:dart_rss/dart_rss.dart';
import 'package:dio/dio.dart';
import 'package:starcitizen_doctor/common/conf.dart';
class RSSApi {
static final _dio = Dio(BaseOptions(
connectTimeout: const Duration(seconds: 10),
responseType: ResponseType.plain));
static Future<List<RssItem>> getRssVideo() async {
final r = await _dio.get(AppConf.rssVideoUrl);
final f = RssFeed.parse(r.data);
return f.items.sublist(0, 8);
}
static Future<List<RssItem>> getRssText() async {
final r1 = await _dio.get(AppConf.rssTextUrl1);
final r1f = RssFeed.parse(r1.data);
final r2 = await _dio.get(AppConf.rssTextUrl2);
final r2f = RssFeed.parse(r2.data);
final items = r1f.items..addAll(r2f.items);
items.sort((a, b) {
final aDate = HttpDate.parse(a.pubDate ?? "").millisecondsSinceEpoch;
final bDate = HttpDate.parse(b.pubDate ?? "").millisecondsSinceEpoch;
return bDate - aDate;
});
return items;
}
}