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