1.0.7 版本需求
This commit is contained in:
parent
4cffec0d98
commit
0005e2d4a5
@ -9,7 +9,7 @@ import 'package:aslan/chatvibe_ui/widgets/room/floating/floating_game_screen_wid
|
||||
import 'package:aslan/chatvibe_ui/widgets/room/floating/floating_gift_screen_widget.dart';
|
||||
import 'package:aslan/chatvibe_ui/widgets/room/floating/floating_luck_gift_screen_widget.dart';
|
||||
import 'package:aslan/chatvibe_ui/widgets/room/floating/floating_room_redenvelope_screen_widget.dart';
|
||||
import 'package:aslan/chatvibe_ui/widgets/room/floating/floating_room_rocket_screen_widget.dart';
|
||||
import 'package:aslan/chatvibe_ui/widgets/room/rocket/room_rocket_floating_popup.dart';
|
||||
import 'package:aslan/chatvibe_data/models/message/at_floating_message.dart';
|
||||
|
||||
import '../../../chatvibe_ui/widgets/room/floating/floating_cp_gift_screen_widget.dart';
|
||||
@ -150,7 +150,7 @@ class OverlayManager {
|
||||
);
|
||||
case 3:
|
||||
//火箭
|
||||
return FloatingRoomRocketScreenWidget(
|
||||
return RoomRocketFloatingPopup(
|
||||
message: message,
|
||||
onAnimationCompleted: onComplete,
|
||||
);
|
||||
|
||||
@ -14,6 +14,7 @@ import 'package:aslan/chatvibe_domain/models/res/at_room_red_packet_grab_res.dar
|
||||
import 'package:aslan/chatvibe_domain/models/res/at_room_red_packet_list_res.dart';
|
||||
import 'package:aslan/chatvibe_domain/models/res/at_room_reward_info_res.dart';
|
||||
import 'package:aslan/chatvibe_domain/models/res/at_room_rocket_config_res.dart';
|
||||
import 'package:aslan/chatvibe_domain/models/res/at_room_rocket_reward_res.dart';
|
||||
import 'package:aslan/chatvibe_domain/models/res/at_room_rocket_status_res.dart';
|
||||
import 'package:aslan/chatvibe_domain/models/res/at_room_task_list_res.dart';
|
||||
import 'package:aslan/chatvibe_domain/models/res/at_top_four_with_reward_res.dart';
|
||||
@ -642,11 +643,11 @@ class ChatRoomRepository implements ChatVibeRoomRepository {
|
||||
|
||||
///api/rocket/claim
|
||||
@override
|
||||
Future<bool> rocketClaim(String roomId) async {
|
||||
final result = await http.post<bool>(
|
||||
Future<ATRoomRocketRewardRes> rocketClaim(String roomId) async {
|
||||
final result = await http.post<ATRoomRocketRewardRes>(
|
||||
"4c083b13f2be2a26641018619bdc0347574aff257ce7e668d08f4caccd1c6232",
|
||||
data: {"roomId": roomId},
|
||||
fromJson: (json) => json as bool,
|
||||
fromJson: (json) => ATRoomRocketRewardRes.fromJson(json),
|
||||
);
|
||||
return result;
|
||||
}
|
||||
|
||||
@ -23,6 +23,7 @@ import 'package:aslan/chatvibe_domain/models/res/at_room_red_packet_list_res.dar
|
||||
import 'package:aslan/chatvibe_domain/models/res/room_res.dart';
|
||||
import 'package:aslan/chatvibe_domain/models/res/at_room_reward_info_res.dart';
|
||||
import 'package:aslan/chatvibe_domain/models/res/at_room_rocket_config_res.dart';
|
||||
import 'package:aslan/chatvibe_domain/models/res/at_room_rocket_reward_res.dart';
|
||||
import 'package:aslan/chatvibe_domain/models/res/at_room_rocket_status_res.dart';
|
||||
import 'package:aslan/chatvibe_domain/models/res/at_room_task_claimable_count_res.dart';
|
||||
import 'package:aslan/chatvibe_domain/models/res/at_room_task_list_res.dart';
|
||||
@ -200,7 +201,7 @@ abstract class ChatVibeRoomRepository {
|
||||
Future<List<ATRoomRocketConfigRes>> rocketConfigEnabled();
|
||||
|
||||
///领取奖励
|
||||
Future<bool> rocketClaim(String roomId);
|
||||
Future<ATRoomRocketRewardRes> rocketClaim(String roomId);
|
||||
|
||||
///处理房间违规
|
||||
Future<ATViolationHandleRes> roomViolationHandle(
|
||||
|
||||
@ -810,9 +810,11 @@ class RealTimeCommunicationManager extends ChangeNotifier {
|
||||
if (!_isRoomSessionActive(roomSessionId, roomId)) {
|
||||
return;
|
||||
}
|
||||
ChatRoomRepository()
|
||||
.rocketClaim(currenRoom?.roomProfile?.roomProfile?.id ?? "")
|
||||
.catchError((e) => false);
|
||||
unawaited(
|
||||
ChatRoomRepository()
|
||||
.rocketClaim(currenRoom?.roomProfile?.roomProfile?.id ?? "")
|
||||
.then<void>((_) {}, onError: (_, __) {}),
|
||||
);
|
||||
rtmProvider?.addMsg(
|
||||
Msg(
|
||||
groupId: currenRoom?.roomProfile?.roomProfile?.roomAccount ?? "",
|
||||
|
||||
@ -53,6 +53,7 @@ import 'package:aslan/chatvibe_domain/models/res/broad_cast_mic_change_push.dart
|
||||
import 'package:aslan/chatvibe_domain/models/res/gift_res.dart';
|
||||
import 'package:aslan/chatvibe_domain/models/res/at_public_message_page_res.dart';
|
||||
import 'package:aslan/chatvibe_domain/models/res/at_room_rocket_status_res.dart';
|
||||
import 'package:aslan/chatvibe_domain/models/res/at_room_rocket_reward_res.dart';
|
||||
import 'package:aslan/chatvibe_domain/models/res/at_room_theme_list_res.dart';
|
||||
import 'package:aslan/chatvibe_ui/widgets/room/invite/invite_room_dialog.dart';
|
||||
import 'package:aslan/chatvibe_ui/widgets/room/room_msg_item.dart';
|
||||
@ -1078,25 +1079,28 @@ class RealTimeMessagingManager extends ChangeNotifier {
|
||||
}
|
||||
if (data["type"] == ATRoomMsgType.rocketRewardUser) {
|
||||
///房间火箭用户中奖
|
||||
var fData = data["data"];
|
||||
String cover = fData["cover"] ?? "";
|
||||
String rewardType = fData["rewardType"] ?? "";
|
||||
String userNickname = fData["userNickname"] ?? "";
|
||||
int rocketLevel = fData["rocketLevel"] ?? 1;
|
||||
String userId = fData["userId"] ?? 0;
|
||||
if (AccountStorage().getCurrentUser()?.userProfile?.id == userId) {
|
||||
ATRoomUtils.playRoomRocketAnim(cover, rewardType, rocketLevel);
|
||||
final reward = ATRoomRocketRewardRes.fromJson(data["data"]);
|
||||
if (AccountStorage().getCurrentUser()?.userProfile?.id ==
|
||||
reward.userId) {
|
||||
ATRoomUtils.playRoomRocketAnim(
|
||||
reward.cover,
|
||||
reward.rewardType,
|
||||
reward.rocketLevel,
|
||||
);
|
||||
}
|
||||
|
||||
///在房间里发送一条消息
|
||||
addMsg(
|
||||
Msg(
|
||||
groupId: "",
|
||||
msg: cover,
|
||||
msg: reward.cover,
|
||||
type: ATRoomMsgType.rocketRewardUser,
|
||||
role: rewardType,
|
||||
user: ChatVibeUserProfile(userNickname: userNickname),
|
||||
number: rocketLevel,
|
||||
role: reward.rewardType,
|
||||
user: ChatVibeUserProfile(
|
||||
id: reward.userId,
|
||||
userNickname: reward.userNickname,
|
||||
),
|
||||
number: reward.rocketLevel,
|
||||
),
|
||||
);
|
||||
return;
|
||||
|
||||
@ -28,6 +28,9 @@ class _RoomPlayWidgetState extends State<RoomPlayWidget> {
|
||||
Widget build(BuildContext context) {
|
||||
return Consumer<RtcProvider>(
|
||||
builder: (context, ref, child) {
|
||||
final int roomRocketLevel = ref.roomRocketStatus?.level?.toInt() ?? 1;
|
||||
final int rocketAssetLevel =
|
||||
roomRocketLevel >= 1 && roomRocketLevel <= 3 ? roomRocketLevel : 1;
|
||||
return Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.end,
|
||||
children: [
|
||||
@ -142,7 +145,7 @@ class _RoomPlayWidgetState extends State<RoomPlayWidget> {
|
||||
child: Container(
|
||||
margin: EdgeInsets.symmetric(vertical: 5.w),
|
||||
child: Image.asset(
|
||||
"atu_images/room/at_icon_room_rocket_lv1.png",
|
||||
"atu_images/room/at_icon_room_rocket_lv$rocketAssetLevel.png",
|
||||
width: 45.w,
|
||||
height: 45.w,
|
||||
fit: BoxFit.contain,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user