diff --git a/TUIKit/components/TUIChat/message-list/index.vue b/TUIKit/components/TUIChat/message-list/index.vue index a14d832..9f97c5b 100644 --- a/TUIKit/components/TUIChat/message-list/index.vue +++ b/TUIKit/components/TUIChat/message-list/index.vue @@ -56,7 +56,7 @@ item.type === TYPES.MSG_GRP_TIP || isCreateGroupCustomMessage(item) " - :content="item" + :content="item.getMessageContent()" />
diff --git a/TUIKit/components/TUIConversation/conversation-header/index.vue b/TUIKit/components/TUIConversation/conversation-header/index.vue index eeb9257..b6ec7bc 100644 --- a/TUIKit/components/TUIConversation/conversation-header/index.vue +++ b/TUIKit/components/TUIConversation/conversation-header/index.vue @@ -31,10 +31,27 @@ @click="handleMenu(childrenItem)" > + +

{{ childrenItem.text }}

@@ -108,6 +125,7 @@ listener = { onClicked: () => {} } } = item if (children) { + // TUIKit\assets\icon\user-add.svg const addUserItem = { data: { name: 'isAddUser' }, icon: '/TUIKit/assets/icon/user-add.svg', diff --git a/TUIKit/components/TUIGroup/create-group/index.vue b/TUIKit/components/TUIGroup/create-group/index.vue index dec3a83..95a3895 100644 --- a/TUIKit/components/TUIGroup/create-group/index.vue +++ b/TUIKit/components/TUIGroup/create-group/index.vue @@ -163,7 +163,10 @@ import { createImGroup } from '../../../../api/tui-kit' import { chooseImage } from '../../../../utils/media' import { uploadSingleFile } from '../../../../utils/uploadFile' + import { validateGroupNumber } from '../../../../utils/validate' + import { useUI } from '../../../../utils/use-ui' + const { showToast } = useUI() const TUIGroupServer = Server.getInstance() const TUIConstants = TUIGroupServer.constants @@ -229,9 +232,7 @@ placeholder: TUITranslateService.t('TUIGroup.请输入群名称') } const groupIDInput = { - name: `${TUITranslateService.t( - 'TUIGroup.群ID' - )}(${TUITranslateService.t('TUIGroup.选填')})`, + name: `群号码`, key: 'groupID', placeholder: '搜索加入群使用' } @@ -241,7 +242,10 @@ }) const submitDisabledStatus = computed(() => { - return groupInfo.profile.name === '' && !groupInfo.isEdit + return ( + groupInfo.profile.name === '' || + (groupInfo.profile.groupID === '' && !groupInfo.isEdit) + ) }) const selected = (type: any) => { @@ -296,11 +300,15 @@ if (options.type === TUIChatEngine.TYPES.GRP_COMMUNITY) { delete options.groupID } + const isGroupID = validateGroupNumber(options.groupID) + + if (!isGroupID.valid) { + return showToast(isGroupID.message) + } const res = await TUIGroupService.createGroup({ ...options, avatar: groupAvatar.value }) - console.log(res) const { type } = res.data.group if (type === TUIChatEngine.TYPES.GRP_AVCHATROOM) { await TUIGroupService.joinGroup({ @@ -314,10 +322,14 @@ type: TOAST_TYPE.SUCCESS }) } catch (err: any) { - Toast({ - message: err.message, - type: TOAST_TYPE.ERROR - }) + if (err.code === 10025) { + showToast('该群组号已存在', 'error') + } else { + Toast({ + message: err.message, + type: TOAST_TYPE.ERROR + }) + } } } diff --git a/manifest.json b/manifest.json index 1f57fc3..d09a61d 100644 --- a/manifest.json +++ b/manifest.json @@ -2,8 +2,8 @@ "name" : "密谈IM", "appid" : "__UNI__9EFDC69", "description" : "", - "versionName" : "1.0.8", - "versionCode" : 107, + "versionName" : "1.1.1", + "versionCode" : 110, "transformPx" : false, /* 5+App特有相关 */ "app-plus" : { diff --git a/utils/validate.js b/utils/validate.js index 085637d..e10a2ce 100644 --- a/utils/validate.js +++ b/utils/validate.js @@ -15,6 +15,9 @@ const PASSWORD_REGEX = /^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d@$!%*#?&]{8,}$/ /** 交易密码(必须是6位数字) */ const TRANSACTION_PASSWORD_REGEX = /^\d{6}$/ +/** 群号码(只能是数字,至少3位,最多11位)*/ +const GROUP_NUMBER_REGEX = /^\d{3,11}$/ + /** * 校验手机号 * @param {string} phone - 待校验的手机号 @@ -102,3 +105,22 @@ export const validateTransactionPassword = (password, name = '密码') => { } return { valid: true, message: '' } } + +/** + * 校验群号码 + * @param {string} groupNumber - 待校验的群号码 + * @returns {{ valid: boolean, message: string }} + */ +export const validateGroupNumber = groupNumber => { + if (!groupNumber) return { valid: false, message: '群号码不能为空' } + if (groupNumber.length < 3) { + return { valid: false, message: '群号码长度不能少于3位' } + } + if (groupNumber.length > 11) { + return { valid: false, message: '群号码长度不能超过11位' } + } + if (!GROUP_NUMBER_REGEX.test(groupNumber)) { + return { valid: false, message: '群号码只能是数字' } + } + return { valid: true, message: '' } +}