一、apiCloud-广播监听事件(api.sendEvent
)
1、发送广播监听事件(api.sendEvent
)
举例1:
举例2:
2、对该监听事件做出回馈
举例1:
举例1:
举例2:
二、apiCloud
-分页【后台需要传page
、limit
时,则需要分页】
apiready = function() { // apiCloud的入口函数
// 初始化列表数据
doRefund();
// 【分页】上拉加载
api.addEventListener({
name: 'scrolltobottom',
extra: {
threshold: 20
}
}, function(ret, err) {
if (isUp) {
page++;
doRefund(type);
}
});
// 【分页】下拉刷新
api.setCustomRefreshHeaderInfo({ // setCustomRefreshHeaderInfo是显示自定义下拉刷新新组件;setRefreshHeaderInfo是显示默认下拉刷新新组件
images: $api.getStorage('loadimgList'),
visible: true,
bgColor: "#fff",
textColor: "#666",
tips: {
pull: '下拉刷新',
threshold: '松开立即刷新',
load: '正在刷新'
},
}, function(ret, err) {
setTimeout(function() {
// console.log(JSON.stringify( $api.getStorage('loadimgList')))
api.refreshHeaderLoadDone(); //复位下拉刷新-下拉刷新后返回原位
api.toast({
msg: "已经是最新数据了",
duration: "1000",
localtion: "middle"
});
page = 1;
isUp = true;
doRefund(type);
}, 1000);
});
}
// 【分页】
var page = 1; // 页数
var limit = 10; // 每页限定展示的数据量
var isUp = true; // 当下拉刷新的时候,下面已经没有内容了,则false
var type; // 需要传递到后台的参数
// 用户退款列表
function doRefund(type) {
// 缓冲数据-开启Loading【apiCloud官方文档中有】
api.showProgress({
style: 'default',
animationType: 'fade',
title: '努力加载中...',
modal: false
});
// 在public.js里面里面封装好的方法,进行调用
var isSignIn = true;
var params = {
values: { // 需要向后台传递的参数
appFun: "showRefundList",
uid: $api.getStorage('login_id'), // 因为uid在这个项目里是被封装好的,所以在这个项目里遇见uid直接写成$api.getStorage('login_id')
type: type,
page: page,
limit: limit,
}
}
doRequest(isSignIn, params, function(res, err) {
console.log(JSON.stringify(params)); // 打印传递到后台的参数情况
console.log(JSON.stringify(res)); // 打印请求成功后的数据
api.hideProgress(); // 移除loading【apiCloud官方文档中有】
if (res) {
if (res.sta == 2000) {
if (res.data.data && res.data.data.length > 0) { // 有数据的时候
// 因为一进来就会请求到数据,所以当位于第一页的时候 以防用户一进来就下拉刷新导致再次append一下,从而产生数据的冗余
if (page == 1) {
$('.total').empty();
}
var html = template('script', res);
$('.total').append(html);
if (res.data.count <= limit) { // count是从后台传过来的数据,表示数据的总数,当其小于等于每页限定展示的数据量时,下拉是不能再次展示出一页的
isUp = false; // 上拉加载后不会append一下
var addHtml = '<div class="tips_noData1">沒有更多了~</div>';
$('.total').append(addHtml);
}
} else {// 没有数据的時候
isUp = false; // 上拉加载后不会append一下
if (page == 1) {
$('.total').empty(); // 下拉刷新不会append一下
var addHtml1 = '<div class="tips_noData"><img src="../../../image/person/swt4/noData.png" alt="" /><p>您暂时还没有此类记录!</p></div>';
$('.total').append(addHtml1);
} else {
var addHtml = '<div class="tips_noData1">沒有更多了~</div>';
$('.total').append(addHtml);
}
}
} else {
var addHtml1 = '<div class="tips_noData"><img src="../../../image/person/swt4/noData.png" alt="" /><p>您暂时还没有此类记录!</p></div>';
$('.total').append(addHtml1);
}
} else {
api.hideProgress(); /* 移除loading */
var addHtml1 = '<div class="tips_noData"><img src="../../../image/person/swt4/noData.png" alt="" /><p>您暂时还没有此类记录!</p></div>';
$('.total').append(addHtml1);
}
})
}