opt filter dyn

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-06-20 23:23:45 +08:00
parent 345402d2fe
commit 5f3f158932
5 changed files with 57 additions and 46 deletions

View File

@@ -22,13 +22,11 @@ import 'package:PiliPlus/utils/wbi_sign.dart';
import 'package:dio/dio.dart';
class DynamicsHttp {
static RegExp banWordForDyn =
RegExp(GStorage.banWordForDyn, caseSensitive: false);
static Future<LoadingState<DynamicsDataModel>> followDynamic({
DynamicsTabType type = DynamicsTabType.all,
String? offset,
int? mid,
Set<int>? tempBannedList,
}) async {
Map<String, dynamic> data = {
if (type == DynamicsTabType.up)
@@ -43,30 +41,10 @@ class DynamicsHttp {
var res = await Request().get(Api.followDynamic, queryParameters: data);
if (res.data['code'] == 0) {
try {
DynamicsDataModel data = DynamicsDataModel.fromJson(res.data['data']);
final antiGoodsDyn = GStorage.antiGoodsDyn;
final filterWord = banWordForDyn.pattern.isNotEmpty;
data.items?.removeWhere(
(item) =>
(antiGoodsDyn &&
(item.orig?.modules.moduleDynamic?.additional?.type ==
'ADDITIONAL_TYPE_GOODS' ||
item.modules.moduleDynamic?.additional?.type ==
'ADDITIONAL_TYPE_GOODS')) ||
(filterWord &&
(item.orig?.modules.moduleDynamic?.major?.opus?.summary?.text
?.contains(banWordForDyn) ==
true ||
item.modules.moduleDynamic?.major?.opus?.summary?.text
?.contains(banWordForDyn) ==
true ||
item.orig?.modules.moduleDynamic?.desc?.text
?.contains(banWordForDyn) ==
true ||
item.modules.moduleDynamic?.desc?.text
?.contains(banWordForDyn) ==
true)),
DynamicsDataModel data = DynamicsDataModel.fromJson(
res.data['data'],
type: type,
tempBannedList: tempBannedList,
);
return Success(data);
} catch (err) {

View File

@@ -361,15 +361,12 @@ class MemberHttp {
});
var res = await Request().get(Api.memberDynamic, queryParameters: params);
if (res.data['code'] == 0) {
DynamicsDataModel data = DynamicsDataModel.fromJson(res.data['data']);
if (GStorage.antiGoodsDyn) {
data.items?.removeWhere((item) =>
item.orig?.modules.moduleDynamic?.additional?.type ==
'ADDITIONAL_TYPE_GOODS' ||
item.modules.moduleDynamic?.additional?.type ==
'ADDITIONAL_TYPE_GOODS');
try {
DynamicsDataModel data = DynamicsDataModel.fromJson(res.data['data']);
return Success(data);
} catch (err) {
return Error(err.toString());
}
return Success(data);
} else {
Map errMap = const {
-352: '风控校验失败,请检查登录状态',