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