微信小程序支持 protobuf 吗?

发布于 7 年前作者 chao863194 次浏览最后编辑 7 年前来自 ask

如果微信小程序支持 google protobuf 的话 有没有 demo 参考。

原来项目中一直在用google protobuf,如果能够支持将会节约大量时间。

10 回复
jun87
jun871 楼6 年前

@吴剑波  真的吗? 我试试看。

weilong
weilong2 楼6 年前

代码格式好像乱了,我这里也贴了一份 https://github.com/Zhang19910325/protoBufferForWechat/issues/1

tao60
tao603 楼6 年前

https://github.com/Zhang19910325/protoBufferForWechat, 使用这个库,我在websocket上使用protobuff成功了

tao42
tao424 楼6 年前

感谢同步!

pingzhu
pingzhu5 楼6 年前

有没有大佬遇到这样的问题:mqtt在发布 protobuf格式数据时发现,一发布websocket就断开

究竟现在小程序官方是否支持protobuf的?

llin
llin6 楼6 年前

真机上还要手动转换下,判断不是模拟器,再封装一遍,微信那边有bug。。。

  const message = Hello2Server.create(msg)
const encodedMessage = Hello2Server.encode(message).finish()
console.log(`hello:`, encodedMessage)
let newMsg = encodedMessage
 if (sysInfo.platform !== 'devtools') {
newMsg = new Uint8Array([...encodedMessage]).buffer
}
console.log('newMsg:', newMsg)
wx.sendSocketMessage({
data: newMsg
 })

lchang
lchang7 楼6 年前

不过我也遇到问题了,模拟器上没有任何问题,真机上发送,服务器好像没收到,在查原因

lihou
lihou8 楼6 年前

目前小程序用protoBufferForWechat,服务器用google protobuf。小程序通过websocket发unit8Array给服务器可以解析,但服务器发给小程序的ArrayBuffer转成unit8Array后, 报解析错误,那位同学遇到过?有解决吗?

yaoqiang
yaoqiang9 楼6 年前

大佬,能把pb库合成 一个js文件吗?在小程序开发工具上webpb 文件可以识别,发布体验版就识别不了

liangxiuying
liangxiuying10 楼5 年前

不过可以考虑转成 base64 发送,protobuf-js 其实是可以运行的。