2 Commits
0.0.9 ... 0.1.1

Author SHA1 Message Date
W.W
cccfaf7cd9 新增enterHotRoomOrCreateMyRoom和enterPkRoomOrCreateMyRoom 2026-04-01 11:34:57 +08:00
zhulixiao
d34ebc84ab 钻石充值,半屏 2026-03-31 18:19:25 +08:00

View File

@@ -19,6 +19,7 @@ enum ToFlutterAppEnum {
toRecharge('toRecharge'),
playing('playing'),
toRedDiamond('toRedDiamond'),
toHalfRecharge('toHalfRecharge'),
gameType('gameType'),
jumpToH5('jumpToH5'),
toHomepage('toHomepage'),
@@ -89,6 +90,13 @@ enum ToFlutterAppEnum {
///通用交互 别往这下面加,👆🏻加
commonInteraction('commonInteraction'),
/// 已在房则回当前房;否则进热门开播房;无房或失败则走创建房间(同 createMyRoom
enterHotRoomOrCreateMyRoom('enterHotRoomOrCreateMyRoom'),
/// 已在房则回当前房;否则热门推荐里随机进 PK 中房间;
/// 无 PK 房或失败则走创建房间(同 createMyRoom
enterPkRoomOrCreateMyRoom('enterPkRoomOrCreateMyRoom'),
defaultCode('');
const ToFlutterAppEnum(this.code);
@@ -132,9 +140,9 @@ enum WebInteractionType {
final String code; //服务端 key
factory WebInteractionType.fromCode(String? code) => values.firstWhere(
(element) => element.code == code,
orElse: () => WebInteractionType.unknown,
);
(element) => element.code == code,
orElse: () => WebInteractionType.unknown,
);
}
// 原生交互通知 h5 {type:'enum',data:'所需参数 '}
@@ -345,7 +353,7 @@ class FlutterBridge {
// 发送消息给 App通过 WebView 调用 JS 方法)
void sendToFlutter(String type, Map<String, dynamic> data) {
final dataStr = jsonEncode({'type': type, 'data': data});
print('$dataStr');
print(dataStr);
sendMessageToNative(dataStr);
}
@@ -380,34 +388,36 @@ class FlutterBridge {
void toRecharge() => sendToFlutter(ToFlutterAppEnum.toRecharge.code, {});
void toRedDiamond() => sendToFlutter(ToFlutterAppEnum.toRedDiamond.code, {});
void jumpToH5(String path, String title) => sendToFlutter(
ToFlutterAppEnum.jumpToH5.code,
{'path': path, 'title': title},
);
ToFlutterAppEnum.jumpToH5.code,
{'path': path, 'title': title},
);
void toHomepage(String userId) =>
sendToFlutter(ToFlutterAppEnum.toHomepage.code, {'userId': userId});
void toMonthCardPay(
String googleProductId,
String iosProductId, {
otherUserId = '',
}) => sendToFlutter(ToFlutterAppEnum.toMonthCardPay.code, {
'googleProductId': googleProductId,
'iosProductId': iosProductId,
'otherUserId': otherUserId,
});
}) =>
sendToFlutter(ToFlutterAppEnum.toMonthCardPay.code, {
'googleProductId': googleProductId,
'iosProductId': iosProductId,
'otherUserId': otherUserId,
});
void checkGameState(String gameCode) => sendToFlutter(
ToFlutterAppEnum.checkGameState.code,
{'gameCode': gameCode},
);
ToFlutterAppEnum.checkGameState.code,
{'gameCode': gameCode},
);
void share({
required String activityId, // 活动id
required bool needShareReport, // 是否需要上报分享数据
ShareCardModel? shareCardModel, // 分享上方卡片 数据,参考客户端参数
}) => sendToFlutter(ToFlutterAppEnum.share.code, {
"activityId": activityId,
"shareReportKey": needShareReport ? "ActivityShared" : "",
...shareCardModel?.toJson() ?? {},
});
}) =>
sendToFlutter(ToFlutterAppEnum.share.code, {
"activityId": activityId,
"shareReportKey": needShareReport ? "ActivityShared" : "",
...shareCardModel?.toJson() ?? {},
});
//专属见面礼
void taskInviteCodeGift() =>
@@ -424,10 +434,11 @@ class FlutterBridge {
void taskToWebViewPage({
required String linkUrl,
required String activityId,
}) => sendToFlutter(ToFlutterAppEnum.showToWebViewPage.code, {
"linkUrl": linkUrl,
"activityId": activityId,
});
}) =>
sendToFlutter(ToFlutterAppEnum.showToWebViewPage.code, {
"linkUrl": linkUrl,
"activityId": activityId,
});
void checkStartBroadcaster() =>
sendToFlutter(ToFlutterAppEnum.checkStartBroadcaster.code, {});
@@ -442,60 +453,71 @@ class FlutterBridge {
sendToFlutter(ToFlutterAppEnum.toApplyAdmissionPage.code, {});
void shouLiveBookingPicker() =>
sendToFlutter(ToFlutterAppEnum.shouLiveBookingPicker.code, {});
/** 完善个人信息 */
/// 完善个人信息
void shouldCompleteProfile() =>
sendToFlutter(ToFlutterAppEnum.shouldCompleteProfile.code, {});
/** 在直播间或聊天室停留观看n分钟 */
/// 在直播间或聊天室停留观看n分钟
void shouldWatchDuration() =>
sendToFlutter(ToFlutterAppEnum.shouldWatchDuration.code, {});
/** 在直播间或聊天室发送n条公屏消息 */
/// 在直播间或聊天室发送n条公屏消息
void shouldSendPublicMessage() =>
sendToFlutter(ToFlutterAppEnum.shouldSendPublicMessage.code, {});
/** 在直播间或聊天室上麦互动n分钟 */
/// 在直播间或聊天室上麦互动n分钟
void shouldMicInteraction() =>
sendToFlutter(ToFlutterAppEnum.shouldMicInteraction.code, {});
/** 向任意用户发送n条信息*/
/// 向任意用户发送n条信息
void shouldSendPrivateMessage() =>
sendToFlutter(ToFlutterAppEnum.shouldSendPrivateMessage.code, {});
/** 发布n条动态*/
/// 发布n条动态
void shouldPostFeed() =>
sendToFlutter(ToFlutterAppEnum.shouldPostFeed.code, {});
/**
* param activityNum: 用于区分不同页面进入发布页之后对应的各自操作 默认值0 不做任何操作, 比如 柬埔寨 为1其他活动参考 s1 项目 PublishFromType
* 发布动态*/
/// param activityNum: 用于区分不同页面进入发布页之后对应的各自操作 默认值0 不做任何操作, 比如 柬埔寨 为1其他活动参考 s1 项目 PublishFromType
/// 发布动态
void shouldPublishDynamic({int activityNum = 0}) => sendToFlutter(
ToFlutterAppEnum.shouldPublishDynamic.code,
{"activityNum": activityNum},
);
/** 分享n次直播间或聊天室至任意平台 */
ToFlutterAppEnum.shouldPublishDynamic.code,
{"activityNum": activityNum},
);
/// 分享n次直播间或聊天室至任意平台
void shouldShareRoom() =>
sendToFlutter(ToFlutterAppEnum.shouldShareRoom.code, {});
/** 佩戴任意装扮 */
/// 佩戴任意装扮
void shouldWearDecoration() =>
sendToFlutter(ToFlutterAppEnum.shouldWearDecoration.code, {});
/** 前往语音房 */
/// 前往语音房
void shouldGoToVoiceRoom() =>
sendToFlutter(ToFlutterAppEnum.shouldGoToVoiceRoom.code, {});
/** 保存图片到相册 */
/// 保存图片到相册
void saveMediaToGallery({required String mediaUrl, bool isVideo = false}) =>
sendToFlutter(ToFlutterAppEnum.saveMediaToGallery.code, {
"isVideo": isVideo,
"mediaUrl": mediaUrl,
});
/** 进入指定房间 */
/// 进入指定房间
void enterRoom(String roomId) =>
sendToFlutter(ToFlutterAppEnum.enterRoom.code, {'roomId': roomId});
/** 进入我的房间(创建房间) */
void createMyRoom() => sendToFlutter(ToFlutterAppEnum.createMyRoom.code, {});
/** 发泼水节胜利消息 */
void sendWaterFestVictoryMessage(String targetId) => sendToFlutter(
ToFlutterAppEnum.sendWaterFestVictoryMessage.code,
{'targetId': targetId},
);
/** 通用封装方法 无需传参可直接调用需要传参需要调用sendToFlutter*/
/// 进入我的房间(创建房间)
void createMyRoom() => sendToFlutter(ToFlutterAppEnum.createMyRoom.code, {});
/// 发泼水节胜利消息
void sendWaterFestVictoryMessage(String targetId) => sendToFlutter(
ToFlutterAppEnum.sendWaterFestVictoryMessage.code,
{'targetId': targetId},
);
/// 通用封装方法 无需传参可直接调用需要传参需要调用sendToFlutter
void commonInteraction(Map<String, dynamic> data) =>
sendToFlutter(ToFlutterAppEnum.commonInteraction.code, data);
}