sendBarrage method

Future<bool> sendBarrage(
  1. Barrage barrageModel
)

Implementation

Future<bool> sendBarrage(Barrage barrageModel) async {
  debugPrint(
      "BarrageManager sendBarrage:barrageModel:${barrageModel.toString()}");
  if (barrageModel.content.isEmpty) {
    return false;
  }
  V2TimValueCallback<V2TimMsgCreateInfoResult> createTextMessageRes =
      await TencentImSDKPlugin.v2TIMManager
          .getMessageManager()
          .createTextMessage(
            text: barrageModel.content,
          );
  if (createTextMessageRes.code == 0) {
    String? id = createTextMessageRes.data?.id;
    V2TimValueCallback<V2TimMessage> sendMessageRes =
        await TencentImSDKPlugin.v2TIMManager.getMessageManager().sendMessage(
              id: id!,
              receiver: "",
              groupID: BarrageStore().roomId,
              priority: MessagePriorityEnum.V2TIM_PRIORITY_LOW,
            );
    if (sendMessageRes.code == 0) {
      debugPrint("BarrageManager sendBarrage success");
      BarrageStore().state.barrageList.value.add(barrageModel);

      final list = <Barrage>[];
      list.addAll(BarrageStore().state.barrageList.value);
      BarrageStore().state.barrageList.value = list;
      return true;
    } else {
      debugPrint(
          "BarrageManager sendBarrage fail,{code:${sendMessageRes.code}, desc:${sendMessageRes.desc}");
      return false;
    }
  } else {
    debugPrint(
        "BarrageManager sendBarrage createTextMessage fail,{code:${createTextMessageRes.code}, "
        "desc:${createTextMessageRes.desc}");
    return false;
  }
}