From 5f009adf7a46d2243d437901236acecb44d5eddb Mon Sep 17 00:00:00 2001 From: CYH <13923927013@163.com> Date: Wed, 26 Jul 2023 18:05:55 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=81=8A=E5=A4=A9=E6=95=8F?= =?UTF-8?q?=E6=84=9F=E8=AF=8D=E8=BF=87=E6=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TIMUIKitTextField/tim_uikit_text_field.dart | 17 ++++++++++++++++- circle_app/lib/network/api.dart | 4 ++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/circle_app/lib/app/chat/TIMUIKitChat/TIMUIKitTextField/tim_uikit_text_field.dart b/circle_app/lib/app/chat/TIMUIKitChat/TIMUIKitTextField/tim_uikit_text_field.dart index 49bbc4b..f04f63f 100644 --- a/circle_app/lib/app/chat/TIMUIKitChat/TIMUIKitTextField/tim_uikit_text_field.dart +++ b/circle_app/lib/app/chat/TIMUIKitChat/TIMUIKitTextField/tim_uikit_text_field.dart @@ -3,6 +3,8 @@ import 'dart:convert'; import 'dart:math'; import 'package:circle_app/app/chat/TIMUIKitChat/TIMUIKitTextField/tim_uikit_text_field_layout/narrow.dart'; import 'package:circle_app/main.dart'; +import 'package:circle_app/network/api.dart'; +import 'package:circle_app/network/dio_manager.dart'; import 'package:circle_app/util/util.dart'; import 'package:diff_match_patch/diff_match_patch.dart'; import 'package:tencent_cloud_chat_uikit/business_logic/view_models/tui_setting_model.dart'; @@ -258,7 +260,7 @@ class _InputTextFieldState extends TIMUIKitState { onSubmitted() async { lastText = ""; - final text = textEditingController.text.trim(); + String text = textEditingController.text.trim(); final convType = widget.conversationType; if (text.isEmpty) { @@ -315,6 +317,19 @@ class _InputTextFieldState extends TIMUIKitState { convID: widget.conversationID, atUserList: getUserIdFromMemberInfoMap()); } else { + var data = + await DioManager.instance.post( + url: Api.shieldWordCheck, params: {'text': text, 'type': 2}); + + if (data['data']['code'] == 10000) { + List words = data['data']['words']; + if (words.isNotEmpty) { + for(int i = 0; i < words.length; i++) { + text = text.replaceAll(words[i], '*'); + } + } + } + MessageUtils.handleMessageError( widget.model.sendTextMessage( text: text, convID: widget.conversationID, convType: convType), diff --git a/circle_app/lib/network/api.dart b/circle_app/lib/network/api.dart index 715ea30..7221993 100644 --- a/circle_app/lib/network/api.dart +++ b/circle_app/lib/network/api.dart @@ -235,4 +235,8 @@ class Api { //系统通知 static const getNotices = 'msg-service/system/notices'; + + //敏感词-屏蔽词 校验 + static const shieldWordCheck = 'msg-service/word/check'; + } \ No newline at end of file