handle relation url

Closes #1566

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-10-15 18:25:15 +08:00
parent 32ce2b87db
commit c9de79532a
31 changed files with 634 additions and 393 deletions

View File

@@ -1,29 +1,35 @@
import 'package:PiliPlus/http/fan.dart';
import 'package:PiliPlus/http/loading_state.dart';
import 'package:PiliPlus/http/video.dart';
import 'package:PiliPlus/models_new/fans/data.dart';
import 'package:PiliPlus/models_new/fans/list.dart';
import 'package:PiliPlus/pages/common/common_list_controller.dart';
import 'package:PiliPlus/models_new/follow/data.dart';
import 'package:PiliPlus/pages/follow_type/controller.dart';
import 'package:PiliPlus/utils/accounts.dart';
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
import 'package:get/get.dart';
class FansController extends CommonListController<FansData, FansItemModel> {
FansController(this.mid);
int total = 0;
int mid;
class FansController extends FollowTypeController {
FansController(this.showName);
final bool showName;
late final bool isOwner;
@override
void onInit() {
super.onInit();
void init() {
final ownerMid = Accounts.main.mid;
final mid = Get.parameters['mid'];
this.mid = mid != null ? int.parse(mid) : ownerMid;
isOwner = ownerMid == this.mid;
if (showName && !isOwner) {
final name = Get.parameters['name'];
this.name = RxnString(name);
if (name == null) {
queryUserName();
}
}
queryData();
}
@override
List<FansItemModel>? getDataList(FansData response) {
return response.list;
}
@override
Future<LoadingState<FansData>> customGetData() => FanHttp.fans(
Future<LoadingState<FollowData>> customGetData() => FanHttp.fans(
vmid: mid,
pn: page,
orderType: 'attention',