微信小程序可用的Protobuf(含demo)

Protobuf: 一种轻便高效的结构化数据存储格式,平台无关、语言无关、可扩展,可用于通讯协议和数据存储等领域;

微信小程序: 基于微信平台的小程序

此库意义: 在微信小程序中Function 和 eval 相关的动态执行代码方式都给屏蔽了,以致google官方Protobuf不能正常使用;针对以上问题,修改了dcodeIO 的protobuf.js部分实现方式,以致微信小程序中运行protobuf.js。

安装以及使用

var protobuf = require('../weichatPb/protobuf.js'); //引入protobuf模块
var  awesomeConfig = require('./awesome.js');//加载awesome.proto对应的json
var AwesomeMessage = AwesomeRoot.lookupType("AwesomeMessage");//这就是我们的Message类

var payload = {awesomeField: "我是test1"};
var message = AwesomeMessage.create(payload);
var buffer = AwesomeMessage.encode(message).finish();
console.log("buffer", buffer);
var deMessage = AwesomeMessage.decode(buffer);
console.log("deMessage", deMessage);

结语

附件中有我的测试demo小程序编辑器打开后,直接在控制台就可以看到我的测试过程,测试代码在testProtocoBuffer.js中。 如果您对于该工具库有更好的提升欢迎提出,如果您在使用中发现bug或者有疑惑也可以反馈,我都会解答的 (^__^) 嘻嘻……