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_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_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_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 'package:aslan/chatvibe_data/models/message/at_floating_message.dart';
|
||||||
|
|
||||||
import '../../../chatvibe_ui/widgets/room/floating/floating_cp_gift_screen_widget.dart';
|
import '../../../chatvibe_ui/widgets/room/floating/floating_cp_gift_screen_widget.dart';
|
||||||
@ -150,7 +150,7 @@ class OverlayManager {
|
|||||||
);
|
);
|
||||||
case 3:
|
case 3:
|
||||||
//火箭
|
//火箭
|
||||||
return FloatingRoomRocketScreenWidget(
|
return RoomRocketFloatingPopup(
|
||||||
message: message,
|
message: message,
|
||||||
onAnimationCompleted: onComplete,
|
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_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_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_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_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_room_task_list_res.dart';
|
||||||
import 'package:aslan/chatvibe_domain/models/res/at_top_four_with_reward_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
|
///api/rocket/claim
|
||||||
@override
|
@override
|
||||||
Future<bool> rocketClaim(String roomId) async {
|
Future<ATRoomRocketRewardRes> rocketClaim(String roomId) async {
|
||||||
final result = await http.post<bool>(
|
final result = await http.post<ATRoomRocketRewardRes>(
|
||||||
"4c083b13f2be2a26641018619bdc0347574aff257ce7e668d08f4caccd1c6232",
|
"4c083b13f2be2a26641018619bdc0347574aff257ce7e668d08f4caccd1c6232",
|
||||||
data: {"roomId": roomId},
|
data: {"roomId": roomId},
|
||||||
fromJson: (json) => json as bool,
|
fromJson: (json) => ATRoomRocketRewardRes.fromJson(json),
|
||||||
);
|
);
|
||||||
return result;
|
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/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_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_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_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_claimable_count_res.dart';
|
||||||
import 'package:aslan/chatvibe_domain/models/res/at_room_task_list_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<List<ATRoomRocketConfigRes>> rocketConfigEnabled();
|
||||||
|
|
||||||
///领取奖励
|
///领取奖励
|
||||||
Future<bool> rocketClaim(String roomId);
|
Future<ATRoomRocketRewardRes> rocketClaim(String roomId);
|
||||||
|
|
||||||
///处理房间违规
|
///处理房间违规
|
||||||
Future<ATViolationHandleRes> roomViolationHandle(
|
Future<ATViolationHandleRes> roomViolationHandle(
|
||||||
|
|||||||
@ -810,9 +810,11 @@ class RealTimeCommunicationManager extends ChangeNotifier {
|
|||||||
if (!_isRoomSessionActive(roomSessionId, roomId)) {
|
if (!_isRoomSessionActive(roomSessionId, roomId)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
ChatRoomRepository()
|
unawaited(
|
||||||
.rocketClaim(currenRoom?.roomProfile?.roomProfile?.id ?? "")
|
ChatRoomRepository()
|
||||||
.catchError((e) => false);
|
.rocketClaim(currenRoom?.roomProfile?.roomProfile?.id ?? "")
|
||||||
|
.then<void>((_) {}, onError: (_, __) {}),
|
||||||
|
);
|
||||||
rtmProvider?.addMsg(
|
rtmProvider?.addMsg(
|
||||||
Msg(
|
Msg(
|
||||||
groupId: currenRoom?.roomProfile?.roomProfile?.roomAccount ?? "",
|
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/gift_res.dart';
|
||||||
import 'package:aslan/chatvibe_domain/models/res/at_public_message_page_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_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_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/invite/invite_room_dialog.dart';
|
||||||
import 'package:aslan/chatvibe_ui/widgets/room/room_msg_item.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) {
|
if (data["type"] == ATRoomMsgType.rocketRewardUser) {
|
||||||
///房间火箭用户中奖
|
///房间火箭用户中奖
|
||||||
var fData = data["data"];
|
final reward = ATRoomRocketRewardRes.fromJson(data["data"]);
|
||||||
String cover = fData["cover"] ?? "";
|
if (AccountStorage().getCurrentUser()?.userProfile?.id ==
|
||||||
String rewardType = fData["rewardType"] ?? "";
|
reward.userId) {
|
||||||
String userNickname = fData["userNickname"] ?? "";
|
ATRoomUtils.playRoomRocketAnim(
|
||||||
int rocketLevel = fData["rocketLevel"] ?? 1;
|
reward.cover,
|
||||||
String userId = fData["userId"] ?? 0;
|
reward.rewardType,
|
||||||
if (AccountStorage().getCurrentUser()?.userProfile?.id == userId) {
|
reward.rocketLevel,
|
||||||
ATRoomUtils.playRoomRocketAnim(cover, rewardType, rocketLevel);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
///在房间里发送一条消息
|
///在房间里发送一条消息
|
||||||
addMsg(
|
addMsg(
|
||||||
Msg(
|
Msg(
|
||||||
groupId: "",
|
groupId: "",
|
||||||
msg: cover,
|
msg: reward.cover,
|
||||||
type: ATRoomMsgType.rocketRewardUser,
|
type: ATRoomMsgType.rocketRewardUser,
|
||||||
role: rewardType,
|
role: reward.rewardType,
|
||||||
user: ChatVibeUserProfile(userNickname: userNickname),
|
user: ChatVibeUserProfile(
|
||||||
number: rocketLevel,
|
id: reward.userId,
|
||||||
|
userNickname: reward.userNickname,
|
||||||
|
),
|
||||||
|
number: reward.rocketLevel,
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
return;
|
return;
|
||||||
|
|||||||
@ -28,6 +28,9 @@ class _RoomPlayWidgetState extends State<RoomPlayWidget> {
|
|||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Consumer<RtcProvider>(
|
return Consumer<RtcProvider>(
|
||||||
builder: (context, ref, child) {
|
builder: (context, ref, child) {
|
||||||
|
final int roomRocketLevel = ref.roomRocketStatus?.level?.toInt() ?? 1;
|
||||||
|
final int rocketAssetLevel =
|
||||||
|
roomRocketLevel >= 1 && roomRocketLevel <= 3 ? roomRocketLevel : 1;
|
||||||
return Column(
|
return Column(
|
||||||
crossAxisAlignment: CrossAxisAlignment.end,
|
crossAxisAlignment: CrossAxisAlignment.end,
|
||||||
children: [
|
children: [
|
||||||
@ -142,7 +145,7 @@ class _RoomPlayWidgetState extends State<RoomPlayWidget> {
|
|||||||
child: Container(
|
child: Container(
|
||||||
margin: EdgeInsets.symmetric(vertical: 5.w),
|
margin: EdgeInsets.symmetric(vertical: 5.w),
|
||||||
child: Image.asset(
|
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,
|
width: 45.w,
|
||||||
height: 45.w,
|
height: 45.w,
|
||||||
fit: BoxFit.contain,
|
fit: BoxFit.contain,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user