Skip to content

Latest commit

 

History

History
555 lines (275 loc) · 11.3 KB

PLATE-API.md

File metadata and controls

555 lines (275 loc) · 11.3 KB

PLATE-API

Version: 1.0

API文档初始版本

接口规范介绍

本规范对PLATE平台的服务内容编写、相关参数、响应进行定义。目前支持Javascript语言,并提供借口操作请求和响应范例。

以下所有全局变量、对象、全局函数的命名方式都采用小驼峰式命名法. 如:firstName

API索引列表

信令服务器

用户可以自定义自己的信令服务器,也可以使用官方定义的信令服务器

全局变量表

变量名

sslOption

变量类型

字典(dict)

变量解释

该变量用于自定义用户SSL证书,用于建立自定义信令服务器及进行加密连接.

参数列表

{
	key: fs.readFileSync('文件路径'),
	cert: fs.readFileSync('文件路径'),
}

参数解释

key表示证书的key.

cert表示证书的cert,可以是cert格式或者pem格式文件.


变量名

serveOption

变量类型

字典(dict)

变量解释

该变量用于建立用户自定义信令服务器.

参数列表

{
	port: 9000,
	ssl: sslOption,
	path: '/',
}

变量名

connOption

变量类型

字典(dict)

变量解释

该变量用于用户连接信令服务器,进行注册、数据通道建立的基础工作,默认进行加密连接.

参数列表

{
	host: '47.93.23.141',
	port: 9000,
	path: '/',
	debug: 3,
}

参数解释

host表示信令服务器的公网IP. (Default:47.93.23.141)

port表示信令服务器的对应端口. (Default:9000)

path表示信令服务器响应请求的根路径. (Default: /)

debug表示信令服务器的调试输出等级,等级排序为no logs;only errors;errors and warnings;all logs,分别对应0;1;2;3. (Default: 3)

用户注册

用户注册采用构造对象的方式

构造对象名

plateUser

构造对象解释

该对象用于在信令服务器进行注册,对象建立成功即说明已经在信令服务器注册成功.

构造对象参数列表

(plateUserID, connOption)

构造对象参数解释

plateUserID表示在信令服务器注册的唯一编码,若编码冲突,则会返回空对象.

connOption表示信令服务器的连接参数,具体内容请见信令服务器全局变量表

返回值

当对象在信令服务器注册成功,返回对应的对象.

若注册失败,返回一个空对象.

备注

建议用户将其设置为全局变量,方便随时调用获取.

或者在该变量离开作用域之前,将对象与信令服务器的连接断开.

用户连接

对象名

plateDataConn

对象解释

该对象用于表征用户之间的数据通道,对象存在即说明数据通道已成功建立.

备注

该对象无法采用构造对象的方式来得到,只能通过以下的connect以及connectAll方法来得到.

得到该方法的前提是需要拥有plateUser对象并已成功在信令服务器注册.


对象方法名

isOpen

对象方法解释

该方法隶属于plateDataConn对象,该方法可以判断对象内是否存在已开放的数据通道.

对象方法参数列表

返回值

truefalse,表示是否存在已开放的数据通道.


对象方法名

on

对象方法解释

该方法隶属于plateDataConn对象,该方法定义了数据通道连接后用户希望执行的动作.

对象方法参数列表

(event, callback)

对象方法参数解释

event表示事件选项,有以下选择

  • 'open'

    • 表示数据通道打开时.
  • 'close'

    • 表示数据通道关闭时.
  • 'error'

    • 表示数据通道出错时.
  • 'data'

    • 表示数据通道收到数据时.

callback表示回调函数,可由用户自定义,其中在open以及close事件下,回调函数无函数参数;在error事件下,回调函数存在一个函数参数err;在data事件下,回调函数存在一个函数参数data.

返回值


对象方法名

connect

对象方法解释

该方法隶属于plateUser对象,可以在拥有该对象后,调用该对象的connect方法来建立数据通道.

对象方法参数列表

(targetUserID)

对象方法参数解释

targetUserID表示当前用户希望建立单数据通道连接的用户ID,该ID需要在信令服务器已注册.

返回值

若对象希望连接的对方ID已在信令服务器注册,则返回plateUserConn对象.

若对方ID未注册,则返回空对象.


对象方法名

connect

对象方法解释

该方法隶属于plateUser对象,可以在拥有该对象后,调用该对象的connect方法来建立数据通道.

对象方法参数列表

(targetUserID)

对象方法参数解释

targetUserID表示当前用户希望建立单数据通道连接的用户ID,该ID需要在信令服务器已注册.

返回值

若对象希望连接的对方ID已在信令服务器注册,则返回plateUserConn对象.

若对方ID未注册,则返回空对象.


对象方法名

connectAll

对象方法解释

该方法隶属于plateUser对象,可以在拥有该对象后,调用该方法的connectAll方法,来建立一个广播方式的数据通道.

对象方法参数列表

返回值

不论当前信令服务器是否有其他用户已注册,都会返回一个plateDataConn对象.

备注

每当有新的用户在同一个信令服务器注册,都会隐式地建立一条数据通道连接并添加到plateDataConn对象内.

数据传输

对象方法名

send

对象方法解释

该方法隶属于plateDataConn对象,用于在对应的数据通道中传输数据.

对象方法参数列表

(data)

对象方法参数解释

data表示希望传输的数据,在底层会被编码为二进制包的方式传输.

返回值

备注

推荐用户以Json的方式传输数据.


更方便的方法

全局函数名

sendMessage

全局函数解释

该方法为全局函数,用于传输数据.

全局函数参数列表

(plateUser, plateDataConn, targetUserID, action, data)

全局变量参数解释

plateUser表示plateUser对象,需要确保该对象已经存在,否则函数会直接退出.

plateDataConn表示plateDataConn数据通道对象,无需确保该对象是否为空或非空,若为非空,函数内会主动建立数据通道.

targetUserID表示希望建立连接数据通道的对象,可以是单个targetUserID,也可以是targetUserID组成的列表.

action表示传递事件动作,该动作由用户自定义,可以用来区分数据的导向.

data表示传输的具体数据,该动作由用户自定义.

备注

action并非先前提到的opencloseerrordata,可以与这些定义重名.

数据通道关闭

对象方法名

close

对象方法解释

该方法隶属于plateDataConn对象,用来关闭数据通道.

对象方法参数列表

返回值

用户注销

对象方法名

close

对象方法解释

该方法隶属于plateUser对象,用来注销在信令服务器的注册.

对象方法参数列表

返回值

前端组件

全局函数名

canvasInit

全局函数解释

该方法为全局函数,用于初始化画板操作.

全局函数参数列表

(canvasID, mouseDownAction, mouseMoveAction, mouseUpAction)

全局变量参数解释

canvasID表示前端设置的canvasid.

mouseDownAction表示回调函数,可为空,为画板内鼠标按下的操作,回调函数含有一个函数参数e,其中包含了鼠标的位置坐标信息.

mouseMoveAction表示回调函数,可为空,画板内鼠标移动的操作,回调函数含有一个函数参数e,其中包含了鼠标的位置坐标信息.

mouseUpAction表示回调函数,可为空,画板内鼠标抬起的操作,回调函数含有一个函数参数e,其中包含了鼠标的位置坐标信息.

备注

画板元素在前端可以以canvas形式实现,mouseDownActionmouseMoveActionmouseUpAction都有默认的行为,对画板行为做了整体的设计;并且初始化了画板数据的数据通道.


全局函数名

imageBoardInit

全局函数解释

该方法为全局函数,用于初始化图板操作.

全局函数参数列表

(imageBoardID, imageBoardCallback)

全局变量参数解释

imageBoardID表示前端设置的imageboardid.

imageBoardCallback表示回调函数,可为空,可以执行用户自定义的画板操作,回调函数含有一个imageboard函数参数.

备注

图板元素在前端可以以div形式实现,图板有默认的行为,对图板行为做了整体的设计,并且初始化了图板数据的数据通道.


全局函数名

videoInit

全局函数解释

该方法为全局函数,用于初始化视频接口操作.

全局函数参数列表

(videoID, videoCallback, audioCallback)

全局变量参数解释

videoID表示前端设置的videoid.

videoCallback表示回调函数,可为空,可以执行用户对视频流的自定义的操作,回调函数含有一个视频流videoStream函数参数.

audioCallback表示回调函数,可为空,可以执行用户对音频流的自定义的操作,回调函数含有一个音频流audioStream函数参数.

备注

视频元素在前端可以以video形式实现,视频流、音频流处理有默认的行为,对视频流、音频流行为做了整体的设计,并且初始化了视频流、音频流数据的数据通道.


全局函数名

chatBoardInit

全局函数解释

该方法为全局函数,用于初始化聊天面板操作.

全局函数参数列表

(chatBoardID, chatMessageCallback)

全局变量参数解释

chatBoardID表示前端设置的chatBoardid.

chatMessageCallback表示回调函数,可为空,可以执行用户对对话数据的自定义的操作,回调函数含有一个对话数据messageData函数参数.

备注

聊天面板元素在前端可以以div形式实现,对话数据处理有默认的行为,对对话数据行为做了整体的设计,并且初始化了对话数据的数据通道.