3 Commits
0.0.3 ... 0.0.5

Author SHA1 Message Date
zhugy781
d71234da78 添加路由 2026-01-04 12:14:46 +08:00
zhugy781
7b38d2c835 添加 export 2025-12-25 14:58:34 +08:00
zhugy781
7350940500 分享卡片模型定义 2025-12-25 14:37:50 +08:00
4 changed files with 57 additions and 4 deletions

View File

@@ -3,6 +3,7 @@ import 'dart:convert';
import 'dart:html' as html;
import 'package:js/js.dart';
import 'package:web_tools/utils/model/model.dart';
// h5交互通知 原生 {type:'enum',data:'所需参数,可无'}
enum ToFlutterAppEnum {
@@ -58,6 +59,12 @@ enum ToFlutterAppEnum {
// 定向充值
rechargeItem('rechargeItem'),
//专属见面礼
shouldInviteCodeGift('InviteCodeGiftPackageDialogPage'),
//解析 URL 并跳转
showCommandJump('commandJump'),
//跳转至网页
showToWebViewPage('toWebViewPage'),
///通用交互 别往这下面加,👆🏻加
commonInteraction('commonInteraction'),
@@ -247,14 +254,29 @@ class FlutterBridge {
void share({
required String activityId, // 活动id
required bool needShareReport, // 是否需要上报分享数据
Map<String, dynamic> extraParams = const {}, // 额外的参数 分享上方卡片 数据,参考客户端参数
ShareCardModel? shareCardModel, // 分享上方卡片 数据,参考客户端参数
}) =>
sendToFlutter(ToFlutterAppEnum.share.code, {
"activityId": activityId,
"shareReportKey": needShareReport ? "ActivityShared" : "",
...extraParams
...shareCardModel?.toJson() ?? {},
});
//专属见面礼
void taskInviteCodeGift() =>
sendToFlutter(ToFlutterAppEnum.shouldInviteCodeGift.code, {});
//解析 URL 并跳转
void taskCommandJump({required String scheme, required String activityId}) =>
sendToFlutter(ToFlutterAppEnum.showCommandJump.code,
{"scheme": scheme, "activityId": activityId});
//跳转至网页
void taskToWebViewPage(
{required String linkUrl, required String activityId}) =>
sendToFlutter(ToFlutterAppEnum.showToWebViewPage.code,
{"linkUrl": linkUrl, "activityId": activityId});
void checkStartBroadcaster() =>
sendToFlutter(ToFlutterAppEnum.checkStartBroadcaster.code, {});

View File

@@ -0,0 +1,30 @@
class ShareCardModel {
/**
* 分享弹框 上方卡片模型
* */
final String activityIcon; //卡片中间的icon
final String activityDesc; // 卡片描述
final String themeTextColor; //主题色
final String activityBgIcon; //卡片背景icon
final String userNameSub; //用户名 下方文案
final String qrImageLink; //二维码链接
ShareCardModel({
required this.activityIcon,
required this.activityDesc,
this.qrImageLink = "", // 客户端已有能力获取,无需网页端传
this.userNameSub = "",
this.themeTextColor = "#FFE499",
this.activityBgIcon = "app/img/local/christmas_share_bg_th.webp",
});
Map<String, dynamic> toJson() => {
"activityIcon": activityIcon,
"activityDesc": activityDesc,
"themeTextColor": themeTextColor,
"activityBgIcon": activityBgIcon,
"userNameSub": userNameSub,
"activityUrl": qrImageLink,
};
}

View File

@@ -2,3 +2,4 @@ library;
export 'package:web_tools/utils/app_bridge.dart';
export 'package:web_tools/utils/config.dart';
export 'package:web_tools/utils/model/model.dart';

View File

@@ -1,6 +1,6 @@
name: web_tools
description: "A new Flutter package project."
version: 0.0.3
version: 0.0.5
publish_to: 'none' # 不发布到pub.dev
homepage: https://gitea.sdws.shop/xim/web_tools.git