1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- import {
- common,
- user
- } from '../proto/bundle.js';
- const protoMap = {
- 1005: user.login_req,//登录请求
- 1006: user.login_rsp,//登录返回
- 1002: user.wxLoginRsp,//登录返回
- }
- 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(buffer) { //响应的解码
- let resBuf = Buffer.from(buffer)
- 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,
- defaults: true,
- })
- return obj
- }
- module.exports = {
- requestEncode,
- responseDecode,
- }
|