Chat Js Sdk Api
创建实列
相关参数说明
roomId
true
string
频道号
userId
true
string
pic
true
string
用户头像,须以 'http' 或者 'https' 开头的绝对地址
nick
false
string
用户昵称,默认为‘游客’
actor
false
string
用户头衔,默认‘学生’
userType
false
string
用户类型,默认为student,三分屏场景下学员需设置为slice 普通学员:student 云课堂学员:slice 讲师:teacher 管理员:manager 助教:assistant 嘉宾:guest
accountId
false
string
直播账号userId,用于开启全局严禁词和图片表情消息功能
token
true
string
校验码
mediaChannelKey
true
string
连麦相关参数
version
false
string
版本号,默认为2.0
roomMessage
false
function
聊天室消息回调函数
enableReplay
false
boolean
开启内容回复,默认为false
enableRedpack
false
boolean
是否展示红包消息
handlerEvent
false
function
点击红包消息的回调,(type, data) type: '', 红包事件类型,可选:clickRedpacket data: '' 当前点击的红包数据
customRedpackLabel
false
object
红包文案配置 { passwordTitle: '输入口令,领取红包(custom)', noReceive: '领取红包(custom)', normalType: '普通红包(custom)', passwordType: '口令红包(custom)', rainType: '红包雨(custom)', }
customRedpackImg
false
object
红包图片配置 { normalEntranceImg: '', 普通红包封面图片 passwordEntranceImg: '', 口令红包封面图片 rainEntranceImg: '', 红包雨封面图片 }
container
false
string
DOM选择器,HTML元素,用于嵌入默认聊天室样式
isMobile
false
boolean
是否使用移动端样式, 默认值根据当前UA判断是否为移动端
注:以下参数只有在传了container参数时才生效
width
false
number
container宽度,默认300px
height
false
number
container高度,默认600px
showUserList
false
boolean
是否显示在线列表。PC端默认开启,移动端默认关闭。当关闭时,tabData若含有在线列表对象也不显示
enableSetNickname
false
boolean
是否开启设置昵称功能,默认为false
enableWelcome
false
boolean
是否开启欢迎语,默认为true
enableFlower
false
boolean
是否开启送花功能,默认为true
enableLike
false
boolean
是否开启点赞,默认为true
enableOnlyTeacher
false
boolean
是否开启只看讲师功能,默认为true
enableBulletin
false
boolean
是否开启公告,默认为true
enableAsk
false
boolean
是否开启提问,默认为true
tabData
false
array
自定义菜单栏
customChatColor
false
object
自定义消息颜色
apiPrefix
false
object
自定义域名
enableRewardAnimation
false
boolean
是否开启打赏动画效果,默认为true
enableUpdatePageviews
false
boolean
是否开启热度更新,默认为true
getChatRecordBySessionIdOptions
false
object
getChatRecordByTimeOptions
false
object
showOwnInfo
false
boolean
是否显示自己的聊天消息的头像、头衔、昵称,默认为false
enableViewBigPicture
false
boolean
是否支持查看大图,默认为false
customViewPicture
false
function
自定义查看大图方法,需要开启enableViewBigPicture
customMessageRender
false
object
enableBadWordsTip
false
boolean
是否开启严禁词提示,默认false
enableCustomMessage
false
boolean
是否显示http接口发送的自定义消息,默认false
enableFontSize
false
boolean
是否开启字体设置功能,默认false,可设置三种字体大小,sm:12px, md:14px,lg:16px
enableReplay
false
boolean
是否开启引用回复,默认false
newMsgTipText
false
string
新消息提示自定义中文文案
newMsgTipTextEn
false
string
新消息提示自定义英文文案
lang
false
string
中英文,可选'zh_CN'|'en'
,默认'zh_CN'
param4
false
string
POLYV系统参数
param5
false
string
POLYV系统参数
### userId 生成建议
userId
是聊天室中的用户唯一标识,两个相同的 userId
登入聊天室后,后者会将前者踢出聊天室,因此不同的聊天室用户的 userId
需要具有唯一性,生成建议如下:
如果您有用户系统,则使用用户系统中的用户 id 作为登入聊天室的
userId
。如果您没有用户系统,则在后端生成高度随机的值作为登入聊天室的
userId
,如:「时间戳 +5 位随机数」、uuid 等,并将该userId
保存到 cookie 或本地存储(localStorage 或 sessionStorage)中,避免每次刷新页面后重新生成userId
。
自定义菜单栏
tabData: 对象数组,每个对象包含两个属性name,type,默认包含聊天tab
name: 菜单栏名称
type: 菜单栏类型,若不是已有内置类型,会嵌入一个不包含任何内容的div元素到页面
已有内置类型
chat
互动聊天
user-list
在线列表
ask
提问
自定义消息颜色
说明:修改消息字体/背景颜色,可针对自己/普通用户/管理员/讲师/助教/嘉宾修改
selfBgColor
false
string
自己消息背景颜色,默认为 #8bc34a
selfColor
false
string
自己消息颜色,默认为 #fff
otherBgColor
false
string
普通用户消息背景颜色,默认为 #fff
otherColor
false
string
普通用户消息颜色,默认为 #546e7a
specialBgColor
false
string
特殊用户消息背景颜色,可以统一设置管理员/讲师/助教/嘉宾的背景颜色,默认为 #fff
specialColor
false
string
特殊用户消息颜色,可以统一设置管理员/讲师/助教/嘉宾的消息颜色,默认为 #2196f3
managerBgColor
false
string
管理员消息背景颜色
managerColor
false
string
管理员消息颜色
teacherBgColor
false
string
讲师消息背景颜色
teacherColor
false
string
讲师消息颜色
assistantBgColor
false
string
助教消息背景颜色
assistantColor
false
string
助教消息颜色
guestBgColor
false
string
嘉宾消息背景颜色
guestColor
false
string
嘉宾消息颜色
自定义域名
socketHost
false
string
聊天室域名,默认为chat.polyv.net
chatApi
false
string
聊天室接口域名,默认为apichat.polyv.net
getChatRecordBySessionIdOptions对象说明
enable
false
boolean
是否开启根据sessionId获取聊天记录并显示,默认为false
sessionId
-
string
场次ID,当enable为true时,必传
connect
false
boolean
是否连接聊天室,默认为false,此时提问等需要聊天室的功能也无法使用
page
false
string
当前页码,默认为1
size
false
string
每页显示的数据条数,默认每页显示10条数据
getChatRecordByTimeOptions对象说明
enable
false
boolean
是否开启根据传入的起始时间获取聊天记录并显示,默认为false
startTime
-
number
13位时间戳。开始时间,当enable为true时,必传
endTime
-
number
13位时间戳。结束时间,当enable为true时,必传
connect
false
boolean
是否连接聊天室,默认为false,此时提问等需要聊天室的功能也无法使用
page
false
string
当前页码,默认为1
size
false
string
每页显示的数据条数,默认每页显示10条数据
customMessageRender对象说明
格式:{[type]: function(data){/** 将要渲染的内容返回给sdk内部进行渲染 */}}
type为渲染的消息类型,取值有:'custom'|'flowers'|'other'|'own'|'redpack'|'redpackResult'|'reward'|'system'
data为消息数据
custom
自定义消息
flowers
送花消息
other
他人的消息
own
自己的消息
redpack
红包消息
redpackResult
红包领取消息
reward
打赏消息
system
系统消息
例子
实例方法
发送引用回复消息:reply(id, content)
说明:回复某一条消息
例子
参数
id
: String
类型,要回复的消息id content
:String
类型, 回复的内容
返回值
返回一个Promise
对象
踢出某人:kickUser(userId, sign)
说明:将某个人踢出聊天室
例子
参数
userId
: String
类型,要踢出的用户的userId sign
:String
类型, 签名(规则)
返回值
返回一个Promise
对象
取消踢出某人:unKickUser(userId, sign)
说明:取消踢出某人
例子
参数
userId
: String
类型,要取消踢出的用户的userId sign
:String
类型, 签名(规则)
返回值
返回一个Promise
对象
其他
获取chat对象
获取socket对象
发送聊天消息
获取聊天历史记录
根据消息索引位置等选项获取聊天历史记录
参数说明
start
false
-
开始下标,默认为 0
end
false
-
结束下标,默认为 10
getSpecialMessage
false
0/1
是否只获取特殊身份的消息,传入 1 表示只获取特殊身份的消息,默认为 0
根据场次ID(sessionId)获取聊天历史记录
根据起始时间获取聊天历史记录
参数说明
start
false
开始下标,默认为0
end
false
结束下标,默认为10
结果说明
data为一个对象数组,具体内容如下
content
string
发言消息文本内容
id
string
该条记录ID
time
number
发言时间戳,13位毫秒时间戳
user
object
发言人
user说明
nick
true
string
昵称
pic
true
string
头像
userId
true
string
唯一标识
clientIp
true
string
IP地址
banned
true
boolean
是否被禁言
userType
true
string
类型
userSource
false
string
来源
actor
false
string
头衔
roomId
true
string
房间号
channelId
true
string
频道号
uid
true
string
socket连接唯一id
注:
1、clientIp默认为空,暂不支持返回内容值;
2、userType包含值可能有:空/student/slice/teacher/manager/assistant/guest/viewer等;
获取在线列表
参数说明
page
false
页码,默认为1
len
false
条数,默认为100
结果说明
data为一个对象,具体内容如下
count
number
在线人数
userlist
array
在线学员对象数组
userlist说明
userlist对象数组元素具体说明请参考“获取聊天历史记录”方法user说明
sendMessage
说明:自己发言之后会触发此消息,会在roomMessage返回,也可以通过chat对象监听 例如:
返回数据:
互动功能socket消息说明
登入消息
LOGIN:
监听回调返回的数据:
说明
onlineUserNumber
number
当前房间在线总人数
clientIp
string
用户IP
nick
string
用户昵称
pic
string
用户头像
roomId
string
房间号
uid
string
socket分配的id
userId
string
用户唯一标识
userType
string
用户类型。目前有: 'teacher' 老师 'assistant' 助教 'manager' 管理员 'slice' 云课堂学员
登出消息
LOGOUT
监听回调返回数据:
onlineUserNumber
number
当前房间在线总人数
uid
string
离开人的socket.id
接收别人发言消息
SPEAK:
发送:
字段说明:
EVENT
是
string
事件名
values
是
array
发言内容,提交的发言是数组的第一个元素
roomId
是
string
对应的频道号
监听回调返回的数据:
id
消息唯一标志
time
时间戳
user
发言人
values
消息内容
系统公告
GONGGAO:
监听回调返回的数据:
content
公告内容
普通公告
BULLETIN
监听回调返回的数据:
content
string
公告内容
roomId
number/string
当前房间号(重新进入房间收到这一消息不会带roomId)
送花消息
FLOWERS:
监听回调返回的数
nick
送花人昵称
uimg
送花人头像(新增)
点赞消息
LIKES:
监听回调返回的数据:
count
当前点赞总数,若发生消息的时候没传此属性,则不返回这个属性
nick
点赞人昵称
禁言
SHIELD:
监听回调返回的数据:
注:userId或ip只会返回一个
解除禁言
REMOVE_SHIELD:
监听回调返回的数据:
踢人
KICK:
监听回调返回的数据:
user
被踢用户对象
解除踢人
UNKICK:
监听回调返回的数据:
kickType
踢出方式
ip
踢出IP
userId
踢出userId
删除某条聊天记录
REMOVE_CONTENT:
监听回调返回的数据:
content
删除的内容
id
删除内容对应的id
roomId
房间号
清空聊天记录
REMOVE_HISTORY:
监听回调返回的数据:
关闭聊天室
CLOSEROOM:
监听回调返回的数据:
closed
true为关闭,false为开启
roomId
房间号
关闭弹幕
CLOSE_DANMU:
监听回调返回的数据:
isClose
true为关闭,false为开启
接口发送自定义消息
说明:通过api接口 发送自定义消息
自定义消息接收事件
CUSTOMER_MESSAGE:
说明:自定义消息接收事件
监听回调返回的数据:
roomId
房间号
image
消息图片(根据发送的消息是否有图片决定)
content
消息内容
答题卡
说明:答题卡包含”快速问答“和”答题卡“两个功能
GET_TEST_QUESTION_CONTENT
说明:获取答题卡题目和选项内容
响应:
questionId
string
问题ID
itemType
string
答题类型,1表示快速问答,0表示答题卡
type
string
题目类型,(快速问答无此类型题目) R表示单选 C表示多选 S表示评分
answer
string
题目答案,多个答案则直接拼接,如选A和B,则返回AB
option1
string
选择项1,选项最少2个,最多5个。注:当使用”导入题库“导入题目时,会多出5个选项(option6~option10),值都为null
option2
string
选择项2
option3
string
选择项3
option4
string
选择项4
option5
string
选择项5
title
string
题目标题
hash
string
校验码
ts
string
时间戳
tips1
string
提示语1,提示语只有在题目类型为评分时才有
tips2
string
提示语2
tips3
string
提示语3
tips4
string
提示语4
tips5
string
提示语5
GET_TEST_QUESTION_RESULT
说明:获取答题卡答题结果
响应:
questionId
string
问题ID
result
object
答题结果
content
object
题目详情
答题结果属性说明:
singleResult
array
各个选项被选次数
total
number
回答总人数
answer
string
答案
rightUser
array
答对学员
faultUser
array
答错学员
itemType
string
答题类型,1表示快速问答,0表示答题卡
type
string
题目类型,(快速问答无此类型题目) R表示单选 C表示多选 S表示评分
ANSWER_TEST_QUESTION
说明:发送答案
请求:
字段说明:
EVENT
true
string
事件名
roomId
true
string
房间号
nick
true
string
昵称
userId
true
string
学生ID
option
true
string
选择的答案,多选时直接将多个答案拼接。如,选A和B,则option为AB
questionId
true
string
问题ID
咨询提问
S_QUESTION
说明:学生提问内容
响应:
字段说明:
EVENT
事件名
roomId
房间号
user
用户信息
content
提问内容
用户信息说明:
nick
昵称
pic
头像
userId
学员id
userType
类型
T_ANSWER
说明:老师/管理员/助教回复提问
响应:
字段说明:
EVENT
事件名
roomId
房间号
user
用户信息
s_userId
被回复学员的id
content
回复内容
用户信息说明:
nick
昵称
pic
头像
userId
讲师/助教/管理员id
userType
类型:teacher/assistant/manager
actor
头衔
问卷
START_QUESTIONNAIRE
说明:开始问卷调查
响应:
questionnaireId
string
问卷ID
content
object
问卷内容
问卷内容说明:
questionnaireId
string
问卷ID
questionnaireTitle
string
问卷标题
createdTime
number
问卷创建时间,13位毫秒级时间戳
status
string
问卷状态,saved:保存,published:已发布,forbidden:禁止
questions
array
问题信息,为一个对象数组
问题信息说明:
questionId
string
题目ID
name
string
题目标题
type
string
题目类型,R:单选,C:多选,Q:问答,X 评星题(五星),S:评分题(10分),J:判断题
answer
string
题目答案
required
string
是否必填,Y:是,N:否
scoreEnabled
string
是否为得分题,Y:是,N:否
score
number
分数
option1
string
题目选项
option2
string
题目选项
option3
string
题目选项
option4
string
题目选项
option5
string
题目选项
option6
string
题目选项
option7
string
题目选项
option8
string
题目选项
option9
string
题目选项
option10
string
题目选项
ANSWER_QUESTIONNAIRE
说明:学生提交问卷答案
请求:
字段说明:
EVENT
true
string
事件名
roomId
true
string
房间ID
nick
true
string
学生昵称
userId
true
string
学生对应的userId
questionId
true
string
题目ID
answer
true
array
学生的答案,为一个对象数组
答案字段说明:
questionId
string
题目ID
answer
string
答案,如果为选择题,则为ABCD,如果为问答题,为学生填写输入框的内容
补充:更多题目类型-答案格式请请参考
STOP_QUESTIONNAIRE
说明:老师停止问卷
响应:
questionnaireId
string
问卷ID
QUESTIONNAIRE_ACHIEVEMENT
说明:讲师点击发送问卷结果按钮,如果学员有回答问卷,则该学员在观看端会收到问卷排名结果事件。
响应:
EVENT
string
值为QUESTIONNAIRE_ACHIEVEMENT
roomId
string
房间号
totalScore
number
该学员回答该问卷的总分数
userId
string
该学员的userId
timestamp
number
该学员提交问卷答案时的时间戳
questionnaireId
string
问卷id
ranking
number
该学员在本次问卷中分数的排名,从1开始计
自定义消息
说明:客户可以根据自己的业务需求,自己定义想要的消息去广播。
请求
字段说明:
EVENT
true
string
自定义消息类型,事件字符长度不大于20
version
true
number
自定义消息版本
emitMode
false
number
是否广播给自己,0:表示广播所有人包括自己,1:表示广播给所有人除了自己,2:表示只发送给自己
roomId
true
number
对应的频道号
data
true
object
自定义消息内容,由客户定义
tip
true
string
提示语
响应:
EVENT
string
自定义消息类型,事件字符长度不大于20
version
number
自定义消息版本
emitMode
number
是否广播给自己,0:表示广播所有人包括自己,1:表示广播给所有人除了自己,2:表示只发送给自己
roomId
number
对应的频道号
id
string
消息id
user
object
用户信息
time
number
时间戳
data
object
自定义消息内容,由客户定义
tip
string
提示语
签到
SIGN_IN
说明:发起签到
响应:
EVENT
string
值为SIGN_IN
roomId
string
频道号
data
object
包含四个属性:message:签到文案;limitTime:签到时间(单位秒);sessionId:直播场次ID;checkinId:签到场次ID
STOP_SIGN_IN
说明:结束签到
响应:
EVENT
string
值为STOP_SIGN_IN
roomId
string
频道号
TO_SIGN_IN
说明:学员签到
响应:
EVENT
string
值为TO_SIGN_IN
roomId
string
频道号
checkinId
string
签到场次ID
user
object
签到学员信息,包含两个属性:nick:学员昵称,userId:学员ID
抽奖
说明:抽奖是通过http接口发起的,以下消息是服务器广播给页面的
LotteryStart
说明:开始抽奖
响应:
EVENT
string
值为LotteryStart
channelId
string
频道号
sessionId
string
当前直播场次ID
lotteryId
string
当前抽奖场次id
LotteryEnd
说明:结束抽奖
响应:
EVENT
string
值为LotteryEnd
channelId
string
频道号
sessionId
string
当前直播场次ID
lotteryId
string
当前抽奖场次id
prize
string
礼物名称
data
array
中奖人员,包含中奖人员基本信息以及中奖码winnerCode。若没中奖为空数组
示例:
其他
提交中奖者信息需要调用http接口,详见抽奖-提交中奖者信息
打赏
注:打赏需通过http接口触发,详见打赏-发送打赏消息
REWARD
说明:打赏
响应:
EVENT
string
值为REWARD
roomId
string
房间号
content
object
打赏内容
打赏内容说明:
unick
string
打赏者昵称
uimg
string
打赏者头像
rewardContent
string
打赏内容:礼物打赏为礼物名称,现金打赏为金额
gimg
string
礼物打赏为礼物图片,现金打赏为空
签名生成规则
md5(key+roomId)
key的取值请咨询客服
Last updated
Was this helpful?