Files
PiliPlus/lib/pages/music/controller.dart
bggRGjQaUbCoE 7e1e42181c fixes
Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
2025-09-05 09:57:01 +08:00

45 lines
1.2 KiB
Dart

import 'package:PiliPlus/http/loading_state.dart';
import 'package:PiliPlus/http/music.dart';
import 'package:PiliPlus/models_new/music/bgm_detail.dart';
import 'package:PiliPlus/pages/common/dyn/common_dyn_controller.dart';
import 'package:PiliPlus/utils/storage_pref.dart';
import 'package:get/get.dart';
class MusicDetailController extends CommonDynController {
@override
late final int oid;
@override
late final int replyType;
@override
dynamic get sourceId => oid.toString();
final infoState = LoadingState<MusicDetail>.loading().obs;
late final String musicId;
bool get showDynActionBar => Pref.showDynActionBar;
String get shareUrl =>
'https://music.bilibili.com/h5/music-detail?music_id=$musicId';
@override
void onInit() {
super.onInit();
musicId = Get.parameters['musicId']!;
getMusicDetail();
}
Future<void> getMusicDetail() async {
final res = await MusicHttp.bgmDetail(musicId);
if (res.isSuccess) {
final comment = res.data.musicComment!;
oid = comment.oid!;
replyType = comment.pageType ?? 47;
count.value = comment.nums ?? -1;
queryData();
}
infoState.value = res;
}
}