1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- import {
- common,
- } from './../proto/bundle';
- import ProtoConfig from './../API/ProtoConfig';
- function getMsgWebsocket(version, server, servant, buffer) {
- return common.MsgWebsocket.create({
- version: version,
- app: 1,
- server: server,
- servant: servant,
- data: buffer,
- });
- };
- function getRequestBuffer(request, buffer) {
- const requestMessage = getMsgWebsocket(request.version ? request.version : 1, request.server, request.servant, buffer);
- const requestBuffer = common.MsgWebsocket.encode(requestMessage).finish();
- return new Uint8Array([...requestBuffer]).buffer;
- };
- function getResponseDataBuf(response) {
- const resBuf = Buffer.from(response.data);
- const resMessage = common.MsgWebsocket.decode(resBuf);
- return resMessage.data;
- };
- function requestEncode(request) { //请求的编码
- const RequestMessage = ProtoConfig[request.servant];
- const requestMsgObj = RequestMessage.create(request.data);
- const buffer = RequestMessage.encode(requestMsgObj).finish();
- //返回请求的ArrayBuffer
- return getRequestBuffer(request, buffer);
- };
- function responseDecode(response) { //响应的解码
- const resBuf = Buffer.from(response);
- const resMessage = common.MsgWebsocket.decode(resBuf);
- console.log(resMessage)
- const rspBuf = resMessage.data;
- const ResponseMessage = ProtoConfig[resMessage.servant];
- const rspMsgObj = ResponseMessage.decode(rspBuf);
- const obj = ResponseMessage.toObject(rspMsgObj, {
- longs: String,
- enums: String,
- });
- return obj
- };
- module.exports = {
- requestEncode,
- responseDecode,
- }
|