feat: 黑名单查看、屏蔽黑名单用户推荐/最热 #22

This commit is contained in:
guozhigq
2023-08-15 14:43:20 +08:00
parent 1fe234d702
commit eb38dfc313
9 changed files with 306 additions and 3 deletions

View File

@ -278,4 +278,7 @@ class Api {
// 我的订阅
static const String bangumiFollow =
'/x/space/bangumi/follow/list?type=1&follow_status=0&pn=1&ps=15&ts=1691544359969';
// 黑名单
static const String blackLst = '/x/relation/blacks';
}

26
lib/http/black.dart Normal file
View File

@ -0,0 +1,26 @@
import 'package:pilipala/http/index.dart';
import 'package:pilipala/models/user/black.dart';
class BlackHttp {
static Future blackList({required int pn, int? ps}) async {
var res = await Request().get(Api.blackLst, data: {
'pn': pn,
'ps': ps ?? 50,
're_version': 0,
'jsonp': 'jsonp',
'csrf': await Request.getCsrf(),
});
if (res.data['code'] == 0) {
return {
'status': true,
'data': BlackListDataModel.fromJson(res.data['data'])
};
} else {
return {
'status': false,
'data': [],
'msg': res.data['message'],
};
}
}
}

View File

@ -66,8 +66,13 @@ class VideoHttp {
);
if (res.data['code'] == 0) {
List<RecVideoItemAppModel> list = [];
List<int> blackMidsList =
setting.get(SettingBoxKey.blackMidsList, defaultValue: [-1]);
for (var i in res.data['data']['items']) {
if (i['card_goto'] != 'ad_av') {
// 屏蔽推广和拉黑用户
if (i['card_goto'] != 'ad_av' &&
(i['args'] != null &&
!blackMidsList.contains(i['args']['up_mid']))) {
list.add(RecVideoItemAppModel.fromJson(i));
}
}
@ -89,8 +94,12 @@ class VideoHttp {
);
if (res.data['code'] == 0) {
List<HotVideoItemModel> list = [];
List<int> blackMidsList =
setting.get(SettingBoxKey.blackMidsList, defaultValue: [-1]);
for (var i in res.data['data']['list']) {
list.add(HotVideoItemModel.fromJson(i));
if (!blackMidsList.contains(i['owner']['mid'])) {
list.add(HotVideoItemModel.fromJson(i));
}
}
return {'status': true, 'data': list};
} else {