Files
PiliPlus/lib/pages/music/controller.dart
My-Responsitories 172389b12b tweaks (#1187)
* opt: marquee

* fix: bangumi seek

* opt: post panel

* opt: remove deprecated code

* opt: singleton dynController

* fix: music scheme

* feat: MemberVideo jump keep position

* tweak
2025-09-04 12:29:02 +00: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;
}
}