@efox/svc

svc工具库

Usage no npm install needed!

<script type="module">
  import efoxSvc from 'https://cdn.skypack.dev/@efox/svc';
</script>

README

@efox/svc

与中台服务端通信的工具库

示例步骤

安装

yarn add @efox/svc

代码执行顺序(具体参数查看api文档)

import svc from '@efox/svc'

// 初始化
await svc.init(options)

// 订阅房间
const unsubscribe = await svc.subscribeBcGroup({
    groupId,
    groupType
})

// 通信并获取同步返回数据
const res = await svc.channel({
    protoPkgName: '',
    protoFileName: '',
    messageReq: '',
    messageResp: '',
    svcName: '',
    fnName: '',
    data: {}
})

// 添加接收单播和广播的某事件处理方法
svc.useBroadcastMiddlePlugins({
    protoFileName: '',
    messageResp: '',
    svcName: '',
    fnName: '',
    callback: (data: any) => {
      // 监听后的执行方法
    }
})

// 取消订阅
unsubscribe()

api文档

初始化实例(init)

import svc from '@efox/svc'
await svc.init(options)

请求参数:Object

Name Type Description
uid string 用户uid(没传原始hummer时,必须传)
otp string 用户token(没传原始hummer时,必须传)
appid string 应用appid(没传原始hummer时,必须传)
region string 用户区域(没传原始hummer时,必须传)
hummer? Hummer 特定hummer(如果传的话,就不需要传上面参数了)

响应数据:void

订阅和取消房间信息(subscribeBcGroup)

// 订阅
const unsubscribe = await svc.subscribeBcGroup({
    groupId,
    groupType
})

// 取消
unsubscribe()

请求参数:Object

Name Type Description
groupId string 房间id
groupType string 频道

响应数据:Function

执行渠道方法(channel)

const res = await svc.channel({
    protoPkgName: '',
    protoFileName: '',
    messageReq: '',
    messageResp: '',
    svcName: '',
    fnName: '',
    data: {}
})

请求参数:Object

Name Type Description
protoPkgName? string proto的包名
protoFileName string proto文件名或文件名的相对路径如https://***/.proto
messageReq string 解析请求数据格式
messageResp string 解析返回数据格式
svcName string svc渠道名字
fnName string 方法名字
data object 传递数据

响应数据:Promise

Name Type Description
rescode number 0:表示成功

接收单播和广播时处理中间件(useBroadcastMiddlePlugins)

添加接收单播和广播时,对某事件的处理方法

svc.useBroadcastMiddlePlugins({
    protoFileName: '',
    messageResp: '',
    svcName: '',
    fnName: '',
    callback: (data: any) => {
      
    }
})

请求参数:Object

Name Type Description
protoPkgName? string proto的包名
protoFileName string proto文件名或文件名的相对路径如https://***/.proto
messageResp string 解析返回数据
svcName string svc渠道名字
fnName string 方法名字
callback function 处理函数