第一次用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) {