tencent_cloud_chat_vote_plugin 1.0.2 copy "tencent_cloud_chat_vote_plugin: ^1.0.2" to clipboard
tencent_cloud_chat_vote_plugin: ^1.0.2 copied to clipboard

Tencent Vote Plugin for Flutter.

插件内容 从tencent_cloud_chat_sdk 5.1.5版本之后,您可以集成腾讯云即时通信官方提供的投票插件tencent_cloud_chat_vote_plugin,此插件为闭源插件,集成后,您可以在群里(Community和AVChatRoom除外)集成投票功能。投票功能包括发起(单选、多选)投票、查看投票结果,参与投票等。Flutter端与Native、Web端的投票能力互通。

注意,投票是增值付费功能,当前处于内测阶段,请联系腾讯云商务为您开通后体验完整功能。

环境与版本 本插件依赖插件以及环境

Fluter 3.10.0及以上 tencent_cloud_chat_sdk 5.1.5及以上 插件引入 通过pub可将投票插件引入到项目中,插件地址:https://pub.dev/packages/tencent_cloud_chat_vote_plugin

// 集成最新版本 pub add tencent_cloud_chat_vote_plugin

// 集成指定版本,在项目pubspec.yaml中dependencies字段加入 tencent_cloud_chat_vote_plugin: "version"

核心组件 TencentCloudChatVoteCreate 创建投票 TencentCloudChatVoteMessage 投票消息解析 TencentCloudChatVoteDetail 投票详情展示 插件集成 创建投票 用户点击投票按钮,可创建投票

import 'package:example/config.dart'; import 'package:flutter/material.dart'; import 'package:tencent_cloud_chat_vote_plugin/components/vote_create/vote_create.dart';

class VoteCreateExample extends StatefulWidget { const VoteCreateExample({super.key});

@override State

class VoteCreateExampleState extends State { @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: const Text("创建投票"), ), body: Container( padding: const EdgeInsets.all(16), child: TencentCloudChatVoteCreate( groupID: ExampleConfig.testGruopID, onCreateVoteSuccess: () { Navigator.pop(context); }, ), ), ); } }

TencentCloudChatVoteCreate参数说明

groupID:需要创建投票的群ID,同IM群ID,Community和AVChatRoom除外 onCreateVoteSuccess 创建投票成功回调 投票消息解析 import 'package:example/config.dart'; import 'package:example/vote_detail_example.dart'; import 'package:flutter/material.dart'; import 'package:tencent_cloud_chat_sdk/enum/history_msg_get_type_enum.dart'; import 'package:tencent_cloud_chat_sdk/models/v2_tim_message.dart'; import 'package:tencent_cloud_chat_sdk/models/v2_tim_value_callback.dart'; import 'package:tencent_cloud_chat_sdk/tencent_im_sdk_plugin.dart'; import 'package:tencent_cloud_chat_vote_plugin/tencent_cloud_chat_vote_plugin.dart';

class VoteMessageExample extends StatefulWidget { const VoteMessageExample({super.key});

@override State

class VoteMessageExampleState extends State { V2TimMessage? message; getTestV2TimMessage() async { V2TimValueCallback<List

bool isEnd = false; @override void initState() { super.initState(); Future.delayed( const Duration( milliseconds: 300, ), () { setState(() { isEnd = true; }); }); // 页面运动结束再显示组件 getTestV2TimMessage(); }

@override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: const Text("投票消息体"), ), body: !isEnd ? Container() : message != null ? TencentCloudChatVoteMessage( message: message!, onTap: ( TencentCloudChatVoteDataOptoin option, TencentCloudChatVoteLogic data, ) { print(data.voteData.toJson()); Navigator.push( context, MaterialPageRoute( builder: (context) => VoteDetailExample( option: option, data: data, ), ), ); }, ) : const Center( child: Text("未获取到正确的Message实例"), ), ); } }

TencentCloudChatVoteMessage参数说明

message:投票消息,V2TimMessage类型。 onTap:点击投票回调,当投票为公开且实名时,可以打开群投票详情 投票详情查看 import 'package:flutter/material.dart'; import 'package:tencent_cloud_chat_vote_plugin/tencent_cloud_chat_vote_plugin.dart';

class VoteDetailExample extends StatelessWidget { final TencentCloudChatVoteDataOptoin option; final TencentCloudChatVoteLogic data; const VoteDetailExample({ super.key, required this.option, required this.data, });

@override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text(option.option), ), body: Padding( padding: const EdgeInsets.all(16), child: TencentCloudChatVoteDetail( option: option, data: data, ), ), ); } }

TencentCloudChatVoteDetail 参数说明

option:TencentCloudChatVoteDataOptoin类型,投票详情数据,由TencentCloudChatVoteMessage点击时获取 data:TencentCloudChatVoteLogic类型由TencentCloudChatVoteMessage点击时获取