如何在微信小程序開(kāi)發(fā)中使用 Hprose
如何在微信小程序開(kāi)發(fā)中使用 Hprose?摘要:微信小程序 SDK 剛剛出來(lái),就已經(jīng)有一堆入門教程了。然而并沒(méi)有關(guān)于如何在微信小程序中進(jìn)行網(wǎng)絡(luò)通訊的
微信小程序 SDK 剛剛出來(lái),就已經(jīng)有一堆入門教程了。然而并沒(méi)有關(guān)于如何在微信小程序中進(jìn)行網(wǎng)絡(luò)通訊的教程,所以我們今天就來(lái)講一下新鮮出爐的獨(dú)門絕技——hprose 如何在微信小程序中實(shí)現(xiàn)通訊。
什么是hprose?Hprose (High Performance Remote Object Service Engine) 是一個(gè)MIT開(kāi)源許可的新型輕量級(jí)跨語(yǔ)言跨平臺(tái)的面向?qū)ο蟮母咝阅苓h(yuǎn)程動(dòng)態(tài)通訊中間件。它支持眾多語(yǔ)言,例如nodeJs, C++, .NET, Java, Delphi, Objective-C, ActionScript, JavaScript, ASP, PHP, Python, Ruby, Perl, Golang 等語(yǔ)言,通過(guò) Hprose 可以在這些語(yǔ)言之間實(shí)現(xiàn)方便且高效的互通。Hprose 既支持同步調(diào)用,也支持異步調(diào)用。其同步調(diào)用方式與調(diào)用本地方法的形式幾乎完全一致。異步調(diào)用方式采用回調(diào)形式來(lái)處理結(jié)果,用法相當(dāng)簡(jiǎn)單直觀。其用法與其它遠(yuǎn)程調(diào)用技術(shù)相比,既容易掌握,也容易使用。
首先下載微信小程序開(kāi)發(fā)工具,之后安裝。
然后按照網(wǎng)上那一堆微信小程序 Hello World 教程創(chuàng)建一個(gè)小程序。
接下來(lái)我們下載 hprose-html5 或者 hprose-js。推薦使用 hprose-html5 版本,這個(gè)版本更小,支持二進(jìn)制數(shù)據(jù)傳輸,而且更快。
可以用 git clone 下載,也可以只下載 dist 目錄下的文件,以 hprose-html5 版本為例:
hprose-html5.src.js 是源碼版本 hprose-html5.js 是壓縮版本
這兩個(gè)版本都可以用。調(diào)試階段建議用源碼版本。但不要使用 hprose-html5.min.js 版本,這個(gè)版本是壓縮版本的,不支持在微信小程序中編譯。
之后,你可以把它們復(fù)制到你創(chuàng)建的那個(gè)微信小程序的 utils 目錄下(復(fù)制其中一個(gè)就可以),然后將它改名為 hprose.js(這一步可選,只為后面引用的時(shí)候,名稱統(tǒng)一)。
接下來(lái),打開(kāi) pages/index/index.js 文件。
在開(kāi)頭加上:
var hprose = require(\'../../utils/hprose.js\');
然后在 onLoad 事件中加入以下代碼:
varclient = hprose.Client.create(http://www.hprose.com/example/, [hello]);client.hello(world,function(result){console.log(result);});
總體看上去是這樣的:
//index.js
var hprose = require(\'../../utils/hprose.js\');
//獲取應(yīng)用實(shí)例var app = getApp()
Page({
data: {
motto: \'Hello World\',
userInfo: {}
},
//事件處理函數(shù)
bindViewTap: function() {
wx.navigateTo({
url: \'../logs/logs\'
})
},
onLoad: function () {
console.log(\'onLoad\')
var client = hprose.Client.create(http://www.hprose.com/example/, [hello]);
client.hello(world, function(result) {
console.log(result);
});
var that = this
//調(diào)用應(yīng)用實(shí)例的方法獲取全局?jǐn)?shù)據(jù)
app.getUserInfo(function(userInfo){
//更新數(shù)據(jù)
that.setData({
userInfo:userInfo
})
})
}
})
然后點(diǎn)編譯,運(yùn)行,如果你的網(wǎng)絡(luò)沒(méi)有問(wèn)題的,你會(huì)在調(diào)試控制臺(tái)中看到:
這里寫圖片描述
好了,就這么簡(jiǎn)單,接下來(lái),你就可以用 hprose 來(lái)做微信小程序開(kāi)發(fā)了。
推薦閱讀: 微信小程序開(kāi)發(fā)教程 微信小程序
第二部分:如何開(kāi)通一個(gè)小商店