一、什么是bmob后端云?這個(gè)能用來干什么?
我們?cè)陂_發(fā)項(xiàng)目的時(shí)候肯定需要開發(fā)服務(wù)器的,但在個(gè)人開發(fā)時(shí)除了寫客戶端之外還要再寫服務(wù)器端就很麻煩
這時(shí)候使用bmob后端云就能完美解決我們這個(gè)問題(重點(diǎn)是免費(fèi)的?。。。?/p>
我們只需進(jìn)行服務(wù)器開發(fā)即可
bomb后端云官網(wǎng):Bmob后端云
二、如何使用后端云
登陸注冊(cè)一個(gè)賬號(hào)和看開發(fā)文檔;
因?yàn)槭呛?jiǎn)單的東西我就此跳過,涉及相關(guān)的操作下面我會(huì)詳細(xì)提出的
三、使用bmob后端云實(shí)現(xiàn)的微信小程序自動(dòng)登錄
1.網(wǎng)站后臺(tái)創(chuàng)建應(yīng)用
登陸進(jìn)去用戶中心后點(diǎn)擊左上方的創(chuàng)建應(yīng)用
填好你要?jiǎng)?chuàng)建的應(yīng)用相關(guān)信息
進(jìn)行掃碼綁定后創(chuàng)建成功
2.配置小程序密鑰和獲取應(yīng)用密鑰
登錄微信公眾平臺(tái),進(jìn)入設(shè)置->開發(fā)設(shè)置來獲取AppID和AppSecret
然后回到bmob,進(jìn)入設(shè)置->應(yīng)用配置,將AppID和AppSecret填進(jìn)去即可
3.配置安全域名
進(jìn)入微信小程序后臺(tái)配置里
在設(shè)置->開發(fā)設(shè)置->服務(wù)器域名
如圖所示進(jìn)行配置
4.下載和安裝BmobSDK
使用方法:
①下載將utils目錄復(fù)制至項(xiàng)目目錄下
②在App.js初始化SDK
varBmob =require('utils/bmob.js');Bmob.initialize("你的Application ID","你的REST API Key");
Application ID和 REST API Key在后端云的設(shè)置->應(yīng)用秘鑰里獲得

5.小程序相關(guān)開發(fā)
使用后端云實(shí)現(xiàn)一鍵登錄很簡(jiǎn)單
固定寫法
只需在APP.js這樣子寫就行了
App({onLaunch:function(){varuser =newBmob.User()//開始注冊(cè)用戶user.auth().then(function(obj){console.log('登陸成功')? ? },function(err){console.log('失敗了', err)? ? ? });? },getUserInfo:function(cb){varthat =thisif(this.globalData.userInfo) {typeofcb =='function'&& cb(this.globalData.userInfo)? ? }else{//調(diào)用登錄接口 wx.login({success:function(){? ? ? ? ? wx.getUserInfo({success:function(res){? ? ? ? ? ? ? that.globalData.userInfo = res.userInfotypeofcb =='function'&& cb(that.globalData.userInfo)? ? ? ? ? ? }? ? ? ? ? })? ? ? ? }? ? ? })? ? }? },globalData: {userInfo:null}})
user用戶對(duì)象中的loginWithWeapp方法使用當(dāng)前使用小程序的微信用戶身份注冊(cè)或登錄,成功后用戶的 session 會(huì)在設(shè)備上持久化保存,之后可以使用 Bmob.User.current() 獲取當(dāng)前登錄用戶
如果該用戶是第一次使用此應(yīng)用,調(diào)用登錄 API 會(huì)創(chuàng)建一個(gè)新的用戶,你可以在 控制臺(tái) >應(yīng)用> 數(shù)據(jù)中的_User表中看到該用戶的信息,如果該用戶曾經(jīng)使用該方式登錄過此應(yīng)用,再次調(diào)用登錄 API 會(huì)返回同一個(gè)用戶。
登錄后獲取到一個(gè)用戶數(shù)據(jù)對(duì)象,包括用戶唯一標(biāo)識(shí)objectId、openid、nickName、avatarUrl、authData,authData包括session_token登錄校驗(yàn),小程序sdk封裝了請(qǐng)求帶上了緩存authData的session_token,所以session_token這部分 不需要bmob的開發(fā)者考慮;
當(dāng)前用戶
如果用戶每次打開App的時(shí)候都要求登錄無(wú)疑是令人感到厭煩的,你可以通過緩存當(dāng)前的Bmob.User對(duì)象來避免這個(gè)問題。
無(wú)論你使用任何注冊(cè)或者登錄方法,用戶都會(huì)在localStorage中儲(chǔ)存,你可以把緩存作為一個(gè)session對(duì)待,并且自動(dòng)假設(shè)用戶已經(jīng)登錄了。
你可以操作Bmob.User.current()來獲取當(dāng)前用戶的信息
用戶安全
Bmob.User類默認(rèn)就是受保護(hù)的,在Bmob.User中保存的數(shù)據(jù)只能被那個(gè)用戶所修改。默認(rèn)地,數(shù)據(jù)仍然可以被任意客戶端所讀取。這樣就是說,有些Bmob.User對(duì)象被認(rèn)證后是可以修改的,其他的仍然是只讀的。
特別的,你不能調(diào)用save或者delete方法除非Bmob.User經(jīng)過了認(rèn)證,就比如調(diào)用過了logIn或者signUp方法,這樣保證只有用戶能改動(dòng)他們自身的數(shù)據(jù)。