添加新交互

This commit is contained in:
LoveYao
2026-03-30 16:23:03 +08:00
parent 4b7635c939
commit 19ee5746f4

View File

@@ -84,6 +84,8 @@ enum ToFlutterAppEnum {
enterRoom('enterRoom'), enterRoom('enterRoom'),
// 进入我的房间(创建房间) // 进入我的房间(创建房间)
createMyRoom('createMyRoom'), createMyRoom('createMyRoom'),
// 发泼水节胜利消息
sendWaterFestVictoryMessage('sendWaterFestVictoryMessage'),
///通用交互 别往这下面加,👆🏻加 ///通用交互 别往这下面加,👆🏻加
commonInteraction('commonInteraction'), commonInteraction('commonInteraction'),
@@ -130,9 +132,9 @@ enum WebInteractionType {
final String code; //服务端 key final String code; //服务端 key
factory WebInteractionType.fromCode(String? code) => values.firstWhere( factory WebInteractionType.fromCode(String? code) => values.firstWhere(
(element) => element.code == code, (element) => element.code == code,
orElse: () => WebInteractionType.unknown, orElse: () => WebInteractionType.unknown,
); );
} }
// 原生交互通知 h5 {type:'enum',data:'所需参数 '} // 原生交互通知 h5 {type:'enum',data:'所需参数 '}
@@ -143,11 +145,10 @@ enum FromFlutterAppEnum {
//送戒指后回调,传入type参数 //送戒指后回调,传入type参数
// type 1 cp戒指赠送成功2恩爱节告白礼物赠送成功 // type 1 cp戒指赠送成功2恩爱节告白礼物赠送成功
cpSendRingCallBack('cp_send_ring_callback'), cpSendRingCallBack('cp_send_ring_callback'),
// 动态发布成功 // 动态发布成功
publishDynamicSuccess("publishDynamicSuccess"), publishDynamicSuccess("publishDynamicSuccess"),
defaultCode(''); defaultCode('');
const FromFlutterAppEnum(this.code); const FromFlutterAppEnum(this.code);
@@ -269,7 +270,7 @@ class FlutterBridge {
print("All listeners for '$type' have been removed."); print("All listeners for '$type' have been removed.");
} }
} }
// ========================================================= // =========================================================
// 👇 🆕 [新增] 核心通用请求方法 (替代了旧的 requestTranslate) // 👇 🆕 [新增] 核心通用请求方法 (替代了旧的 requestTranslate)
// ========================================================= // =========================================================
@@ -292,11 +293,9 @@ class FlutterBridge {
} }
// 2. 入队 // 2. 入队
_requestQueues[responseKey]!.add(_RequestTask( _requestQueues[responseKey]!.add(
sendType.code, _RequestTask(sendType.code, params, onSuccess),
params, );
onSuccess,
));
// 3. 调度执行 // 3. 调度执行
_processRequestQueue(responseKey); _processRequestQueue(responseKey);
@@ -381,36 +380,34 @@ class FlutterBridge {
void toRecharge() => sendToFlutter(ToFlutterAppEnum.toRecharge.code, {}); void toRecharge() => sendToFlutter(ToFlutterAppEnum.toRecharge.code, {});
void toRedDiamond() => sendToFlutter(ToFlutterAppEnum.toRedDiamond.code, {}); void toRedDiamond() => sendToFlutter(ToFlutterAppEnum.toRedDiamond.code, {});
void jumpToH5(String path, String title) => sendToFlutter( void jumpToH5(String path, String title) => sendToFlutter(
ToFlutterAppEnum.jumpToH5.code, ToFlutterAppEnum.jumpToH5.code,
{'path': path, 'title': title}, {'path': path, 'title': title},
); );
void toHomepage(String userId) => void toHomepage(String userId) =>
sendToFlutter(ToFlutterAppEnum.toHomepage.code, {'userId': userId}); sendToFlutter(ToFlutterAppEnum.toHomepage.code, {'userId': userId});
void toMonthCardPay( void toMonthCardPay(
String googleProductId, String googleProductId,
String iosProductId, { String iosProductId, {
otherUserId = '', otherUserId = '',
}) => }) => sendToFlutter(ToFlutterAppEnum.toMonthCardPay.code, {
sendToFlutter(ToFlutterAppEnum.toMonthCardPay.code, { 'googleProductId': googleProductId,
'googleProductId': googleProductId, 'iosProductId': iosProductId,
'iosProductId': iosProductId, 'otherUserId': otherUserId,
'otherUserId': otherUserId, });
});
void checkGameState(String gameCode) => sendToFlutter( void checkGameState(String gameCode) => sendToFlutter(
ToFlutterAppEnum.checkGameState.code, ToFlutterAppEnum.checkGameState.code,
{'gameCode': gameCode}, {'gameCode': gameCode},
); );
void share({ void share({
required String activityId, // 活动id required String activityId, // 活动id
required bool needShareReport, // 是否需要上报分享数据 required bool needShareReport, // 是否需要上报分享数据
ShareCardModel? shareCardModel, // 分享上方卡片 数据,参考客户端参数 ShareCardModel? shareCardModel, // 分享上方卡片 数据,参考客户端参数
}) => }) => sendToFlutter(ToFlutterAppEnum.share.code, {
sendToFlutter(ToFlutterAppEnum.share.code, { "activityId": activityId,
"activityId": activityId, "shareReportKey": needShareReport ? "ActivityShared" : "",
"shareReportKey": needShareReport ? "ActivityShared" : "", ...shareCardModel?.toJson() ?? {},
...shareCardModel?.toJson() ?? {}, });
});
//专属见面礼 //专属见面礼
void taskInviteCodeGift() => void taskInviteCodeGift() =>
@@ -427,11 +424,10 @@ class FlutterBridge {
void taskToWebViewPage({ void taskToWebViewPage({
required String linkUrl, required String linkUrl,
required String activityId, required String activityId,
}) => }) => sendToFlutter(ToFlutterAppEnum.showToWebViewPage.code, {
sendToFlutter(ToFlutterAppEnum.showToWebViewPage.code, { "linkUrl": linkUrl,
"linkUrl": linkUrl, "activityId": activityId,
"activityId": activityId, });
});
void checkStartBroadcaster() => void checkStartBroadcaster() =>
sendToFlutter(ToFlutterAppEnum.checkStartBroadcaster.code, {}); sendToFlutter(ToFlutterAppEnum.checkStartBroadcaster.code, {});
@@ -467,10 +463,10 @@ class FlutterBridge {
/** /**
* param activityNum: 用于区分不同页面进入发布页之后对应的各自操作 默认值0 不做任何操作, 比如 柬埔寨 为1其他活动参考 s1 项目 PublishFromType * param activityNum: 用于区分不同页面进入发布页之后对应的各自操作 默认值0 不做任何操作, 比如 柬埔寨 为1其他活动参考 s1 项目 PublishFromType
* 发布动态*/ * 发布动态*/
void shouldPublishDynamic({int activityNum = 0}) => void shouldPublishDynamic({int activityNum = 0}) => sendToFlutter(
sendToFlutter(ToFlutterAppEnum.shouldPublishDynamic.code, { ToFlutterAppEnum.shouldPublishDynamic.code,
"activityNum": activityNum, {"activityNum": activityNum},
}); );
/** 分享n次直播间或聊天室至任意平台 */ /** 分享n次直播间或聊天室至任意平台 */
void shouldShareRoom() => void shouldShareRoom() =>
sendToFlutter(ToFlutterAppEnum.shouldShareRoom.code, {}); sendToFlutter(ToFlutterAppEnum.shouldShareRoom.code, {});
@@ -493,6 +489,11 @@ class FlutterBridge {
sendToFlutter(ToFlutterAppEnum.enterRoom.code, {'roomId': roomId}); sendToFlutter(ToFlutterAppEnum.enterRoom.code, {'roomId': roomId});
/** 进入我的房间(创建房间) */ /** 进入我的房间(创建房间) */
void createMyRoom() => sendToFlutter(ToFlutterAppEnum.createMyRoom.code, {}); void createMyRoom() => sendToFlutter(ToFlutterAppEnum.createMyRoom.code, {});
/** 发泼水节胜利消息 */
void sendWaterFestVictoryMessage(String targetId) => sendToFlutter(
ToFlutterAppEnum.sendWaterFestVictoryMessage.code,
{'targetId': targetId},
);
/** 通用封装方法 无需传参可直接调用需要传参需要调用sendToFlutter*/ /** 通用封装方法 无需传参可直接调用需要传参需要调用sendToFlutter*/
void commonInteraction(Map<String, dynamic> data) => void commonInteraction(Map<String, dynamic> data) =>