天天看點

apicloud開發筆記

第一次用apicloud做正式項目 ,下面把做的過程中用到的代碼段列出來。。。。都是從文檔裡複制的代碼,隻是感覺官網那個文檔好難找哦。。。

注:api.????的方法都是在APP中調用才行的,$api.???方法是引入那個JS後就可以調用了

取普通文本框的值:var mobile = $api.val($api.byId('mobile'));

取單選框的值:var sex = $api.val($api.dom("input[name='sex']:checked"))

設定頂部header向下移:$api.fixStatusBar($api.dom('header')); (在自己手機上發現iphone7 ios11.2 是會把header向下移,不會蓋着信号欄,header上下邊距一樣,但是在魅族mx2 android5.0.1 下還是會下移,信号欄本來不會蓋着的,但是他下移後造成header上下邊距不一樣了)

判斷使用者是否登入需要用:

if($api.getStorage('userid') ==undefined ){

api.openWin({

name: 'login',

url: 'html/login.html'

});

}

而不能是

var userid = $api.getStorage('userid')

ifuserid==undefined){

...

AJAX調用前彈出加載中框框:

api.showProgress({

title: '努力加載中...',

text: '先喝杯茶...',

modal: true

AJAX調用:(注:AJAX調用的URL位址中不能有_, 要不然在安卓機子上會出問題,弄了一天了才發現這個BUG)

api.ajax({

url: url,

method: 'post',

data: {

values: postdata

},function(ret, err){

api.hideProgress();

if (ret) {

$api.setStorage('userid', ret.userid);

$api.setStorage('username', ret.username);

$api.setStorage('useremail', ret.useremail);

$api.setStorage('usermobile', ret.usermobile);

$api.setStorage('useralipay', ret.useralipay);

$api.setStorage('userweixin', ret.userweixin);

$api.setStorage('usersex', ret.usersex);

$api.setStorage('useridcard', ret.useridcard);

api.closeWin();

console.log("登入後傳回的userid:"+ret.userid);

} else {

alert( JSON.stringify( err ) );

上拉加載和下拉重新整理:

var pageindex = 1;

apiready = function() {

$api.fixStatusBar($api.dom('header'));

//上拉加載

api.addEventListener({

name: 'scrolltobottom',

extra: {

threshold: 0 //設定距離底部多少距離時觸發,預設值為0,數字類型

}, function(ret, err) {

console.log("加載第" + (++pageindex) + "頁");

//下拉重新整理

api.setRefreshHeaderInfo({

loadingImg: 'widget://image/refresh.png',

bgColor: '#ccc',

textColor: '#fff',

textDown: '下拉重新整理...',

textUp: '松開重新整理...'

//在這裡從伺服器加載資料,加載完成後調用api.refreshHeaderLoadDone()方法恢複元件到預設狀态

api.refreshHeaderLoadDone();

頂部那個傳回按鈕對應的方法:

/**

*該方法用來傳回頁面

* **/

function comeBack() {

api.historyBack({}, function(ret, err) {

if (!ret.status) {

繼續閱讀