feat: 初步添加直播弹幕支持

pick from cf87904fc6

opt: live danmaku style
This commit is contained in:
foxtoy
2024-08-29 18:00:42 +08:00
committed by bggRGjQaUbCoE
parent a119050944
commit 08e7e7b6e8
9 changed files with 510 additions and 3 deletions

View File

@@ -287,6 +287,10 @@ class Api {
static const String liveRoomInfoH5 =
'${HttpString.liveBaseUrl}/xlive/web-room/v1/index/getH5InfoByRoom';
//直播间弹幕密钥获取接口
static const String liveRoomDmToken =
'${HttpString.liveBaseUrl}/xlive/web-room/v1/index/getDanmuInfo';
// 用户信息 需要Wbi签名
// https://api.bilibili.com/x/space/wbi/acc/info?mid=503427686&token=&platform=web&web_location=1550101&w_rid=d709892496ce93e3d94d6d37c95bde91&wts=1689301482
static const String memberInfo = '/x/space/wbi/acc/info';

View File

@@ -1,5 +1,5 @@
import 'package:PiliPalaX/http/loading_state.dart';
import 'package:PiliPalaX/models/live/danmu_info.dart';
import '../models/live/item.dart';
import '../models/live/room_info.dart';
import '../models/live/room_info_h5.dart';
@@ -65,4 +65,19 @@ class LiveHttp {
};
}
}
static Future liveRoomGetDanmakuToken({roomId}) async {
var res = await Request().get(Api.liveRoomDmToken, data: {
'id': roomId,
});
if (res.data['code'] == 0) {
return {'status': true, 'data': LiveDanmakuInfo.fromJson(res.data)};
} else {
return {
'status': false,
'data': [],
'msg': res.data['message'],
};
}
}
}