Files
PiliPlus/lib/pages/music/controller.dart
My-Responsitories 08a33d9ce5 feat: musicDetail (#1157)
* feat: musicDetail

* opt: marquee
2025-08-28 17:40:12 +08:00

42 lines
1.1 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;
@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;
}
}