一(yī)、模塊的(de)引入和(hé)使用(yòng)
在apicloud的(de)模塊store裡(lǐ)面提供了(δle)大(dà)量的(de)模塊,我們可(kě)以直接在h☆$tml裡(lǐ)面引入使用(yòng)
使用(yòng)方法:
在需要(yào)使用(yòng)模塊的(de)頁面中加入:
var obj = api.require('模塊名');
然後參考對(duì)應模塊的(de)使用(yòng)方法。如(rú)果≠₽≥在一(yī)個(gè)頁面中頻(pín)繁™≥₽使用(yòng)到(dào)一(yī)個(gè)模塊的(de)功能(nén✘∞g),最好(hǎo)就(jiù)将其聲明(míng)稱全局變量。
二、服務器(qì)數(shù)據對(duì)接---雲數(shù)據庫和(hé✘≤€)本地(dì)服務器(qì)
1、在APICLOUD開(kāi)發的(de)過程中,©β我們看(kàn)到(dào)了(le)一(yī)個(gè)新名詞,數↑≈≤↑(shù)據雲。這(zhè)個(gè)是(shì)apicloγ ∞ud提供給開(kāi)發者的(de)一(yī)個(gè)雲數(shù∑π↔)據庫,我們可(kě)以利用(yòng)它來(lái)"¥完成數(shù)據的(de)存儲和(hé)& 讀(dú)取。
開(kāi)啓數(shù)據雲流程, 進入控制≥&(zhì)台---左側雲設置----選擇一(yī)個(≠αgè)
儲存服務--确定即可(kě)開(kāi)≥σσ通(tōng),然後在Database裡(lǐ)面我們會(huì)看(₹→kàn)到(dào)默認的(de)幾張表
(以下(xià)注釋非官方注釋,個(gè)人(rén)£理(lǐ)解的(de)意思 *.*)
accessToken ---- &✔©₽☆nbsp;存儲用(yòng)戶令牌類
file ---- 文(wén)件(jiàn)類
role ----- ™$ 角色配置
roleMapping ---&n<↑>bsp; 相(xiàng)關對(duì)εδφ♠應的(de)角色權限
user -----&nbε≠★sp; 用(yòng)戶
(默認的(de)表前面有(yǒu)個(gè)下(xià)劃線不(bù)±≤≤λ用(yòng)理(lǐ)會(huì)他(tā),就(jiù)♣∞當不(bù)存在哈)
當然我們也(yě)可(kě)以根據自(zì&±α)己的(de)需求創建各類表,通(tōng)過添加列來(lái)自(zì)$♦<≤己表字段,注意根據自(zì)己需求設置下(xià)字段類型,字Ω÷✔≤段類型不(bù)懂(dǒng)的(de)可(↔λkě)以百度一(yī)下(xià),主要(yào)有(yǒu)字符,數(sh ♥σù)字,時(shí)間(jiān),文(wén)件(jiàn),數(€™shù)組,關聯等
對(duì)于數(shù)據表的(de)操作(zuò)說(sh€≤"$uō)簡單的(de)點就(jiù)是(shì)增删改查,下(xià)面說(s∑γ×huō)一(yī)下(xià)數(shù)據雲的♦π (de)使用(yòng)方法,在文(wén)檔裡(lǐ)面對(duì)應(m★∞cm)
我們通(tōng)過model模塊來(lái)實現(xiàn)數₽$Ω(shù)據雲的(de)操作(zuò),首先引入和(hé)配置下≤&§(xià)model模塊
var model = api.require('model');
model.config({
appKey: 'A991A337-0212-A2≥♠σ 9D-0C9C-A518E39FXXXX',
host: 'https://d.api☆€↕¶cloud.com'
});
appKey 可(kě)以在控制(zhì)台裡(lǐ)面查看(•₽∏"kàn)。
然後通(tōng)過model的(de)各種方法來 ↔€(lái)實現(xiàn)增删改查
例子(zǐ),插入數(shù)據
var model = api.require('model')£÷♦<;
model.insert({
class: '表名',$δ★β
value: ↕₩₽{
&nbs $★"p; 字段: '值'
}
}, function(ret, err){
if(ret){
&nbs→•€∞p; //do something&nbs ™✘λp;
}
});
其他(tā)的(de)方法請(qǐng)參考:&nb∞φsp;
http://docs.apicloud.com/%E7%A★•B%AFAPI/%E4%BA%91%E6%9C%8D∞>∑%E5%8A%A1%E5%AF%B9%E6%8E%A5/mcm#a2
TIP:在apicloud,一(yī)般用(yòng)retα來(lái)标識成功的(de)返回,err表§β₹示錯(cuò)誤
在表的(de)操作(zuò)中數(shù)據返回的¶"×(de)是(shì)JSON格式,我們拿("←<ná)到(dào)這(zhè)個(gè)JSON數(shù)據後就(jiù)•©♦開(kāi)始用(yòng)js來(lái)處理(lǐ)↕♦™,插入到(dào)html元素中
自(zì)己可(kě)以建個(gè)表,按照(zhào)文(wé≤¶∏Ωn)檔來(lái)試一(yī)下(xià)各種¶$方法。
2、從(cóng)自(zì)己的(de)服務器(qì)讀(d→®ú)寫數(shù)據
apicloud封裝了(le)一(yī)個(gè)ajax的♦♥(de)方法來(lái)方便我們通(tōng)過post或get等獲取服務器'←(qì)數(shù)據,獲取的(de)數(shù)據類型有(yǒu)jsoα✔αn和(hé)text格式,使用(yòng)方法跟JS原生(s✔Ω↕hēng)和(hé)jq的(de)post get 大☆ ±β(dà)同小(xiǎo)易
重點來(lái)說(shuō)一(yī)個(gè)幾個(g∏•₹€è)注意的(de)地(dì)方
當使用(yòng)post時(shí),發送¶₹<的(de)數(shù)據要(yào)寫在data的(de)v∑β±alues裡(lǐ)面。
當為(wèi)get時(shí),data是(shì)不ε↓(bù)起作(zuò)用(yòng)的(de),Ω♥→™發送的(de)數(shù)據放(fàng)在url裡(lǐ)面
以php為(wèi)例接受時(shí)直接 &nbπσsp;$name = $_POST['name↕<'];
三、APP數(shù)據存儲方式
在apicloud的(de)數(shù)據方式還(hái)是(αα÷shì)蠻多(duō)的(de),上(shàng)面的(de)數(÷£ δshù)據雲和(hé)自(zì)己服務器(qì)算(suàn)是(shì)兩個$α(gè)吧(ba),下(xià)面還(hái)有(yǒu)H5的♠×÷♦(de)本地(dì)保存,讀(dú)寫文(wén)件(jià≤→ n)方式,設置偏好(hǎo)值等。
1、H5本地(dì)保存 localStorage>₽© 在apicloud中已經封裝的(d ∏♠εe)更簡單了(le)
$api.setStorage('name' ☆<,'key');//設置
$api.getStorage('name');//獲得(de)指定nam™∑©e的(de)值
$api.rmStorage('name');//清除指定na♠<δ•me的(de)值
$api.clearStorage();//清楚全> σ部本地(dì)數(shù)據
不(bù)過這(zhè)個(gè)方式不(bù)建議(λ₩≈>yì)大(dà)數(shù)據的(de)讀(dú)取,可(kě)以用(yòng¶¥)來(lái)存取用(yòng)戶的(de)基本信息
文(wén)檔
http://docs.apicloud.com/APICloud/%E6%>δ8A%80%E6%9C%AF%E4%B8%93%E9%A2%9×$σ•8/framework-dev-guide#39
2、文(wén)件(jiàn)存儲方式
readFile和(hé)writFile ✔≠✔ fs模₽δ塊
如(rú)果不(bù)牽扯到(dào)文(wén)件(jiàn)的(©→de)修改的(de)話(huà)建議(yì)使用(yòng)∑±readFile和(hé)writeFile,操作(zuò)還γΩα(hái)要(yào)方便些(xiē)。↔÷≤£
這(zhè)些(xiē)主要(yào)用(yòng)在保存大(dà)數(s↕ ≈hù)據和(hé)保存內(nèi)容緩存,®↕保存文(wén)件(jiàn)的(de)時(shíΩ§)候個(gè)人(rén)覺得(de)保存到(dào)緩存文(wén)件 ↓(jiàn)夾裡(lǐ)面,獲取方式 var cache¥δDir = api.cacheDir;
例子(zǐ),比如(rú)我們要(yào)将內(nèi)容列表寫¶∏到(dào)本地(dì),然後将列表的(de)內(nèi)容分(f≈ ←δēn)别保存一(yī)個(gè)文(wén§>✔∏)件(jiàn),下(xià)次打開(kāi)APP的(de♦✔™)時(shí)候先查詢有(yǒu)沒有(yǒu)對α✘βλ(duì)應的(de)本地(dì)文(w£&®én)件(jiàn),沒有(yǒu)的(de®€)話(huà)或者有(yǒu)更新再從(cóng)服務器(•©↔qì)讀(dú)取
以JSON數(shù)據為(wèi)例:得(de)到(dào)JSON數↔(shù)據後
var cacheDir = api.ca¥✔cheDir;
api.writeFile({
path: cacheDir+'/自(zì)定✘π一(yī)個(gè)文(wén)件(jiàn•©₩>)名.json',
data: δ "♣JSON.stringify(josn)
}, function(ret, err){
})
注意要(yào)将json轉為(wèi)字符串,否則無法寫入,("× ×不(bù)轉換的(de)話(huà)安卓設備可(kě)以寫©®↓ 入,IOS上(shàng)是(shì)不(bù)行(xíng)的(de))>←§
讀(dú)取:
api.readFile({
path: cacheDir+'/文(wén)件>δ×(jiàn)名.json'
}, function(ret, err){
if(ret.status){
&nbs$↑ p;var jsonData = JSON.pa" ±∑rse(ret.data);
}
});
注意讀(dú)的(de)時(shí)候将₹∑數(shù)據轉為(wèi)對(duì)象
3.
此外(wài)apicloud還(hái)提供了(le)ap÷πi.setPrefs的(de)方法來(lái)設置偏好(hǎ™<o)值
參考文(wén)檔:
http://docs.apicloud•★™.com/%E7%AB%AFAPI/api#45
到(dào)此數(shù)據這(zhè)一(yī)塊的(de)處理(l>→ǐ)又(yòu)差不(bù)多(duō)到(dào)一(yī)階段了(le),σ¶多(duō)多(duō)動手才能(néng)發現(xiàn)問 ↔∑(wèn)題,發現(xiàn)了(le)才能(néng)去(qù)解決✘≠&。我提供的(de)隻是(shì)一(yī)✘≈©種思路(lù)方式,關鍵還(hái)得(de)靠大(dà)家(jiā)。謝(xαiè)謝(xiè)
下(xià)一(yī)篇将介紹 A≠¥®PP 優化(huà)的(de)處理(lǐ),
新手入門(mén)教程,從(cóng)0開(kāi)始≥入手APIcloud(一(yī))
新手入門(mén)教程,從(cóng)0開(kāi<♦)始入手APIcloud(二)
新手進階教程,從(cóng)0入手APICloud(三)-☆®®¶- 緩存方案