opt: intro: queryUserStat

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-03-26 11:03:47 +08:00
parent b9adf26ee0
commit 812f351ddd
4 changed files with 33 additions and 29 deletions

View File

@@ -135,7 +135,9 @@ class Api {
static const String relatedList = '/x/web-interface/archive/related'; static const String relatedList = '/x/web-interface/archive/related';
// 查询用户与自己关系_仅查关注 // 查询用户与自己关系_仅查关注
static const String hasFollow = '/x/relation'; static const String relation = '/x/relation';
static const String relations = '/x/relation/relations';
// 操作用户关系 // 操作用户关系
static const String relationMod = '/x/relation/modify'; static const String relationMod = '/x/relation/modify';

View File

@@ -346,7 +346,7 @@ class UserHttp {
static Future hasFollow(int mid) async { static Future hasFollow(int mid) async {
var res = await Request().get( var res = await Request().get(
Api.hasFollow, Api.relation,
queryParameters: { queryParameters: {
'fid': mid, 'fid': mid,
}, },

View File

@@ -784,7 +784,7 @@ class VideoHttp {
// 查询是否关注up // 查询是否关注up
static Future hasFollow({required int mid}) async { static Future hasFollow({required int mid}) async {
var res = await Request().get(Api.hasFollow, queryParameters: {'fid': mid}); var res = await Request().get(Api.relation, queryParameters: {'fid': mid});
if (res.data['code'] == 0) { if (res.data['code'] == 0) {
return {'status': true, 'data': res.data['data']}; return {'status': true, 'data': res.data['data']};
} else { } else {

View File

@@ -1,5 +1,6 @@
import 'dart:async'; import 'dart:async';
import 'package:PiliPlus/http/api.dart';
import 'package:PiliPlus/http/init.dart'; import 'package:PiliPlus/http/init.dart';
import 'package:PiliPlus/http/loading_state.dart'; import 'package:PiliPlus/http/loading_state.dart';
import 'package:PiliPlus/http/member.dart'; import 'package:PiliPlus/http/member.dart';
@@ -150,23 +151,6 @@ class VideoIntroController extends GetxController
} }
videoDetail.value = result['data']; videoDetail.value = result['data'];
videoItem['staff'] = result['data'].staff; videoItem['staff'] = result['data'].staff;
if (result['data'].staff?.isNotEmpty == true) {
Request().get(
'/x/relation/relations',
queryParameters: {
'fids': (result['data'].staff as List<Staff>)
.map((item) => item.mid)
.join(',')
},
).then((res) {
if (res.data['code'] == 0) {
staffRelations.value = {
'status': true,
if (res.data['data'] != null) ...res.data['data'],
};
}
});
}
try { try {
final videoDetailController = final videoDetailController =
Get.find<VideoDetailController>(tag: heroTag); Get.find<VideoDetailController>(tag: heroTag);
@@ -187,7 +171,7 @@ class VideoIntroController extends GetxController
// '评论 ${result['data']!.stat!.reply}' // '评论 ${result['data']!.stat!.reply}'
// ]; // ];
// 获取到粉丝数再返回 // 获取到粉丝数再返回
await queryUserStat(); queryUserStat();
} else { } else {
SmartDialog.showToast( SmartDialog.showToast(
"${result['code']} ${result['msg']} ${result['data']}"); "${result['code']} ${result['msg']} ${result['data']}");
@@ -215,14 +199,32 @@ class VideoIntroController extends GetxController
// 获取up主粉丝数 // 获取up主粉丝数
Future queryUserStat() async { Future queryUserStat() async {
if (videoDetail.value.owner == null) { if (videoItem['staff']?.isNotEmpty == true) {
return; Request().get(
} Api.relations,
var result = queryParameters: {
await MemberHttp.memberCardInfo(mid: videoDetail.value.owner!.mid!); 'fids': (videoItem['staff'] as List<Staff>)
if (result['status']) { .map((item) => item.mid)
userStat.value = result['data']; .join(',')
userStat.refresh(); },
).then((res) {
if (res.data['code'] == 0) {
staffRelations.value = {
'status': true,
if (res.data['data'] != null) ...res.data['data'],
};
}
});
} else {
if (videoDetail.value.owner == null) {
return;
}
var result =
await MemberHttp.memberCardInfo(mid: videoDetail.value.owner!.mid!);
if (result['status']) {
userStat.value = result['data'];
userStat.refresh();
}
} }
} }