Flutter血管可视化插件vascular_flutter的使用
Flutter 血管可视化插件 vascular_flutter 的使用
Vascular Flutter 插件允许在用 Dart 编写的 Flutter 应用程序中使用 Vascular 的原生 iOS 和 Android API。
使用
- 在你的项目的
pubspec.yaml
文件中添加vascular_flutter
依赖:
dependencies:
vascular_flutter: ^2.1.0
- 在项目根目录下运行以下命令以安装 Flutter 包依赖:
$ flutter pub get
- 导入 Vascular 到你的项目:
import 'package:vascular_flutter/vascular_flutter.dart';
示例用法
// 导入包
import 'package:vascular_flutter/vascular.dart';
// 初始化应用
final vascular = initializeApp(
APP_KEY, USER_ID);
// 创建用户
vascular.CreateUser();
// 获取收件箱
final inbox = await vascular.Inbox();
// 获取下一页收件箱(分页)
final nextInbox = await vascular.InboxNext();
// 通过消息 ID 获取消息
final message = await vascular.GetMessageById(inbox.messages[0].uuid);
// 标记为已读
vascular.ReadMessages(inbox.newMessagesIds);
// 打开消息
vascular.OpenMessages(inbox.readMessagesIds);
// 删除消息
vascular.DeleteMessage(inbox.messages[0].uuid);
// 添加标签
vascular.AddTags(["音乐", "运动"]);
// 删除标签
vascular.DeleteTags(["音乐", "运动"]);
// 列出标签
vascular.Tags();
List<InboxMessage> messages = inbox.messages;
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
TextButton(
onPressed: () {
vascular.InboxNext();
},
child: Text('点击获取下一页'),
),
Text(_newInbox.toString(), style: Theme.of(context).textTheme.bodyText1),
Expanded(
child: ListView.builder(
itemCount: messages.length,
itemBuilder: (BuildContext ctxt, int index) {
return MessageCard(messages[index]);
}))
],
),
),
)
);
}
多语言支持
final vascular = initializeApp(
APP_KEY, USER_ID, [Language.enUs, Language.nb]);
final inbox = await vascular.Inbox();
// 当多种语言时
final messageEn = inbox.messages[0].message[Language.enUs.name];
print(messageEn?.title);
final messageNb = inbox.messages[0].message[Language.nb.name];
print(messageNb?.title);
// 当单一语言时
final message = vascular.GetMessage(inbox.messages[0].message);
print(message.title);
收件箱数据结构
{
messages: [INBOX-MESSAGE]
newMessagesIds: [STRING],
readMessagesIds: [STRING],
next: {
createdAt: TIMESTAMP
uuid: STRING
},
newInbox: INTEGER
}
收件箱消息数据结构
{
"uuid": STRING,
"status": INTEGER,
"message":{
"enUs":{
"title": STRING,
"body": STRING,
"media":{
"thumbnail": STRING,
"image": STRING"
},
"actions":{
"name": STRING,
"value": STRING
},
"metadata":{
"meta": STRING
},
"subTitle": STRING
"language": LANGUAGE-ENUM
}
},
"provider": PROVIDER-ENUM,
"createdAt": STRING,
"expdate": STRING
}
语言枚举
{
enUs
enUk
nb
}
提供商枚举
{
api
sfmc
dashboard
}
更多关于Flutter血管可视化插件vascular_flutter的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
1 回复