tencent cloud

即时通信 IM

动态与公告
产品动态
公告
产品简介
产品概述
基本概念
应用场景
功能介绍
账号系统
用户资料与关系链
消息管理
群组相关
公众号系统
音视频通话 Call
使用限制
购买指南
计费概述
价格说明
购买指引
续费指引
停服说明
退费说明
开发指引
Demo 专区
开通服务
体验 Demo
快速跑通
下载中心
SDK & Demo 源码
更新日志
聊天互动(含 UI)
TUIKit 组件介绍
快速开始
全功能接入
单功能接入
AI 集成
构建基础界面
更多特性
定义外观
国际化界面语言
推送服务(Push)
服务概述
名词解释
开通服务
快速跑通
厂商通道
数据统计
排查工具
客户端 API
服务端 API
推送回调
高级功能
更新日志
错误码
常见问题
智能客服
功能概述
快速入门
集成指引
管理员操作手册
客服操作手册
更多实践
直播间搭建
AI 聊天机器人方案
超大娱乐协作社群
Discord 实现指南
游戏内集成 Chat 指南
类 WhatsApp Channel 搭建方案
发送红包
Chat 应对防火墙限制相关
无 UI 集成
快速开始
集成 SDK
初始化
登录登出
消息相关
会话相关
群组相关
社群话题
用户管理
离线推送
云端搜索
本地搜索
公众号
客户端 API
JavaScript
Android
iOS & macOS
Swift
Flutter
Electron
Unity
React Native
C 接口
C++
服务端 API
生成 UserSig
REST API
第三方回调
控制台指南
新版控制台介绍
创建并升级应用
基本配置
功能配置
账号管理
群组管理
公众号管理
回调配置
用量统计
资源包查看指南
实时监控
开发辅助工具
访问管理
高级功能
常见问题
uni-app 常见问题
购买相关问题
SDK 相关问题
账号鉴权相关问题
用户资料与关系链相关问题
消息相关问题
群组相关问题
直播群相关问题
昵称头像相关问题
协议与认证
服务等级协议
安全合规认证
IM 政策
隐私政策
数据隐私和安全协议
平滑迁移方案
平滑迁移完整版
平滑迁移简化版
错误码
联系我们

Web & H5 & Uniapp (Vue)

PDF
聚焦模式
字号
最后更新时间: 2024-01-31 17:20:35
TUIKit 默认实现了文本、图片、语音、视频、文件等基本消息类型的发送和展示,如果这些消息类型满足不了您的需求,您可以新增自定义消息类型。

基本消息类型

消息类型
显示效果图
文本类消息



图片类消息



语音类消息



视频类消息



文件类消息




自定义消息

如果基本消息类型不能满足您的需求,您可以根据实际业务需求自定义消息。 TUIKit 中内置了几种自定义消息样式,如下图所示:
自定义消息预设样式
显示效果图
超文本类消息



评价类消息



订单类消息



下文以发送一条可跳转至浏览器的超文本作为自定义消息为例,帮助您快速了解实现流程。

展示自定义消息

TUIKit 内置的超文本类自定义消息 cell 元素如下图所示:



自定义类消息和其他普通类型消息接收方式一致,所有类型消息都通过 TUIStore.watch(StoreName.CHAT, { messageList: onMessageListUpdated })来监听获取。 收到的自定义消息根据相应的具体类型字段以不同的形式展示在消息列表中 。 下面我们讲解下如何展示自定义消息。

创建自定义消息展示结构

自定义消息的展示主要通过在 messageBubble 的自定义消息类型内容区渲染 messgaeCustom 实现。 您可以在路径 src/TUIKit/components/TUIChat/message-list/message-elements/message-custom.vue 文件下新增您需要的自定义消息展示结构样式。 以超文本类型消息展示结构为例,示例代码如下:
<template v-else-if="isCustom.businessID === 'text_link'">
<div class="textLink">
<p>{{ isCustom.text }}</p>
<a :href="isCustom.link" target="view_window">
{{
TUITranslateService.t("message.custom.查看详情>>")
}}
</a>
</div>
</template>

发送自定义消息

您可以通过调用路径 TUIKit 逻辑层 engine 的 TUIChatService.sendCustomMessage 方法来发送一条自定义消息,详情请参见:SendCustomMessage
以下是几种 TUIKit 内置自定义样式消息发送示例:

sendCustomMessage(options, sendMessageOptions) → {Promise.<any>}

example1: 发送自定义评价消息
import { TUIChatService } from "@tencentcloud/chat-uikit-engine";
let promise = TUIChatService.sendCustomMessage({
payload: {
data: JSON.stringify({
businessID: "evaluation",
version: 1,
score: 5,
comment: "so pretty!!!"
}),
description: "Evaluation of this service",
extension: "Evaluation of this service"
}
});
promise.catch((error) => {
...
});
example2: 发送自定义超文本消息
import { TUIChatService } from "@tencentcloud/chat-uikit-engine";
let promise = TUIChatService.sendCustomMessage({
payload: {
data: JSON.stringify({
businessID: "text_link",
text: "Welcome to Chat. Let's chat!",
link: "https://web.sdk.qcloud.com/im/demo/intl/index.html?scene=social"
}),
description: "",
extension: ""
}
});
promise.catch((error) => {
...
});
example3: 发送自定义订单消息
import { TUIChatService } from "@tencentcloud/chat-uikit-engine";
let promise = TUIChatService.sendCustomMessage({
payload: {
data: JSON.stringify({
businessID: "order",
title: "Chat",
description: "Standard Edition",
price: "399 USD/month",
link: "https://buy.tencentcloud.com/avc",
imageUrl: "https://1302445663.vod2.myqcloud.com/cea47bfavodsgp1302445663/fd67ff345576678022395175485/2lCqNHbz5aYA.png",
}),
description: "",
extension: ""
}
});
promise.catch((error) => {
...
});
参数说明:
名称
类型
可选类型
描述
options
必选
自定义消息相关参数
sendMessageOptions
可选
消息发送选项
返回值
Promise.<any>

交流与反馈

加入Telegram 技术交流群组WhatsApp 交流群,享有专业工程师的支持,解决您的难题。


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈