分享:如何实现看wx.multichannelapi的读写接口?(一)
优采云 发布时间: 2022-12-02 05:25分享:如何实现看wx.multichannelapi的读写接口?(一)
querylist采集微信公众号文章内容,生成mapdecoder,经过map映射到相对应的url上。可以通过wx.multichannelapi来实现。当然,这样会把每篇文章分类到不同的filterdomain上,如果只有一个metadomain,效率就会下降。所以要同时有一个metadomain和keydomain,使用wx.multichannelprotocolapi进行传递请求,其返回protobuf格式的mapdecoder能保存不同文章内容不同metadomain间的映射关系。
" />
具体如何实现看wx.multichannelapi吧。mapdecoder总共包含几个参数:wx.multichannelprotocol:用于选择key-domain。key值需要是mapdecoder内部自定义的wx.protocolextension。简单的说,就是为了做和上传网站相似的事情,请求特定metadomain上的url来进行json的读写。
extension可以是指向metadomain的action_domain、json包装的参数或者json格式的html页面等。key值需要是protobuf格式的。extension可以是指向metadomain的action_domain、json包装的参数或者json格式的html页面等。result:为了避免服务端返回格式为csv格式,还需要再定义一个getoutputstream对象。
" />
一般是一些以protobuf格式存储的json字符串,可以直接读取进行处理。wx.request.responseentitystream:通过jsonprotobuf格式返回的responseentitystream,本质上是对mapdecoder的封装。应该也能保存请求中的json格式的参数,所以也有必要实现一个protobuf类似的方法。
如何理解上文提到的protobuf:protobuf的全称是protocolbuffer,也就是程序语言中的对象文件。它表示了一种标准。每个程序可以使用特定的格式实现对象之间的传递和读写。因此各种语言都可以通过他提供的proto格式进行读写操作。但是,为了保证不同语言之间通用性,每个编译器都默认不会去支持protobuf标准。
因此如果需要连接不同语言实现的protobuf,需要自己生成格式文件封装对象之间的读写接口。而目前的json格式则是protobuf格式的一种轻量级的封装,对性能友好。想了解如何写一个基于protobuf的gulp脚手架:jsonpp:json的归属和发展。