mirror of
https://gitee.com/coder-xiaomo/flashsale
synced 2025-09-12 15:01:39 +08:00
添加Metronic(作为LFS)
This commit is contained in:
334
frontend/static/js/common/loadMoreData.js
Normal file
334
frontend/static/js/common/loadMoreData.js
Normal file
@@ -0,0 +1,334 @@
|
||||
/**
|
||||
* ajax load more data
|
||||
*/
|
||||
|
||||
/**
|
||||
* 加载更多(供index&标签详情使用)
|
||||
*/
|
||||
function loadData(params){
|
||||
/* 打开页面首次加载数据 */
|
||||
var returnJson={};
|
||||
getReturnJson(returnJson,params);
|
||||
|
||||
/* 点击加载更多 */
|
||||
$('.loadMore').click(function(){
|
||||
/* 正常加载数据 */
|
||||
if(returnJson.status===0){
|
||||
params.page++;
|
||||
getReturnJson(returnJson,params);
|
||||
}
|
||||
/* 没有更多数据 */
|
||||
else if(returnJson.status===1){
|
||||
$('.loadTips').text('没有更多数据').stop().fadeIn(500).fadeOut(1500);
|
||||
}
|
||||
/* 加载数据异常,重试 */
|
||||
else{
|
||||
getReturnJson(returnJson,params);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
//获取ajax的success or error回调函数返回的JSON
|
||||
function getReturnJson(returnJson,params){
|
||||
Disabled($('.loadMore'),'');
|
||||
Loading($('.loadMore'));
|
||||
$.when(getScreenShotList(params.url,params.page))
|
||||
.done(function(data){
|
||||
returnJson.status=data.status;
|
||||
returnJson.msg=data.msg;
|
||||
})
|
||||
.fail(function(data){
|
||||
returnJson.status=data.status;
|
||||
returnJson.msg=data.msg;
|
||||
});
|
||||
}
|
||||
|
||||
//获取ScreenShotList
|
||||
/* 加载更多(供index&标签详情使用) */
|
||||
function getScreenShotList(url,page){
|
||||
var returnJson={};
|
||||
var defer=$.Deferred();
|
||||
|
||||
/* ajax请求获取数据 */
|
||||
$.ajax({
|
||||
type:"GET",
|
||||
url:url,
|
||||
dataType:'json',
|
||||
data:{
|
||||
page:page
|
||||
},
|
||||
contentType : 'application/json',
|
||||
success:function(data,status){
|
||||
console.log(status);
|
||||
console.log('screenshots:'+data);
|
||||
//获取json数据不为空
|
||||
if(data.content.length>0){
|
||||
/* 遍历screenshorts */
|
||||
$.each(data.content,function(key,value){
|
||||
$('.shot-container').append(
|
||||
'<div class="shot third column" id="screenshot'+value.id+'" data-application="">'+
|
||||
'<div class="shot-image">'+
|
||||
'<div class="actions">'+
|
||||
'</div>'+
|
||||
'<img src="http://www.placehold.it/286x508/EFEFEF/AAAAAA&text=egggo.cn" data-url="'+value.pic.mediumFileUrl+'" class="unload"/>'+
|
||||
'<div class="cover"></div>'+
|
||||
'</div>'+
|
||||
'<div class="shot-info">'+
|
||||
'<div class="text-overflow"><a class="two-thirds dark-gray text-align-left" href="/applications/get/'+value.application.id+'" target="_blank">'+value.application.name+'</a></div>'+
|
||||
'<div class="third text-align-right fr"><i class="iconfont like-count inline-block"></i><h6>'+value.likeCount+'</h6></div>'+
|
||||
'<div id="'+value.id+'" class="mark-container light-gray" name="screenshot-mark-container">'+
|
||||
'<h6 class="text-overflow">'+
|
||||
'</h6>'+
|
||||
'</div>'+
|
||||
'</div>'+
|
||||
'</div>'
|
||||
);
|
||||
var marks=[],screenShotContents=[],application={};
|
||||
|
||||
/* LikeOrNot */
|
||||
if(value.isLiked===0){
|
||||
$('#screenshot'+value.id).find('.actions').append(
|
||||
'<a class="btn-like text-align-center" id="'+value.id+'" onclick="like(this,'+value.id+')">'+
|
||||
'<i class="iconfont unlike inline-block is-hidden"></i>'+
|
||||
'<i class="iconfont liked inline-block"></i>'+
|
||||
'</a>'
|
||||
);
|
||||
}
|
||||
else{
|
||||
$('#screenshot'+value.id).find('.actions').append(
|
||||
'<a class="btn-like text-align-center" id="'+value.id+'" onclick="unlike(this,'+value.id+')">'+
|
||||
'<i class="iconfont unlike inline-block"></i>'+
|
||||
'<i class="iconfont liked inline-block is-hidden"></i>'+
|
||||
'</a>'
|
||||
);
|
||||
}
|
||||
|
||||
/* 遍历marks */
|
||||
$.each(value.marks,function(k,v){
|
||||
$('#screenshot'+value.id).find('.mark-container').find('.text-overflow').append(
|
||||
'<a href="/screenshots/searchscreenshot?search='+v.name+'" target="_blank">'+v.name+'</a>'+
|
||||
'<span> , </span>'
|
||||
);
|
||||
marks.push({
|
||||
id:v.id,
|
||||
name:v.name
|
||||
});
|
||||
});
|
||||
/* 遍历ScreenshotsContent */
|
||||
$.each(value.screenShotContents,function(k,v){
|
||||
screenShotContents.push({
|
||||
type:v.type,
|
||||
url:v.pic.mediumFileUrl+'&method=attachment'
|
||||
});
|
||||
});
|
||||
//浏览图片Modal需要的数据
|
||||
var application={
|
||||
screenShotId:value.id,
|
||||
pic:value.pic.originFileUrl,
|
||||
appVersion:value.appVersion,
|
||||
likeCount:value.likeCount,
|
||||
applicationName:value.application.name,
|
||||
applicationIcon:value.application.icon.thumbFileUrl,
|
||||
updatedTime:value.createdAt,
|
||||
marks:marks,
|
||||
screenShotContents:screenShotContents
|
||||
};
|
||||
$('#screenshot'+value.id).data('application',application)
|
||||
.find('.mark-container').find('span:last').remove();
|
||||
});
|
||||
lazyload();
|
||||
returnJson.status=0;
|
||||
returnJson.msg='正常加载数据';
|
||||
Enabled($('.loadMore'),'加载更多');
|
||||
}
|
||||
else{
|
||||
console.log('page out of range');
|
||||
$('.loadTips').text('没有更多数据').stop().fadeIn(500).fadeOut(1500);
|
||||
returnJson.status=1;
|
||||
returnJson.msg='没有更多数据';
|
||||
Enabled($('.loadMore'),'没有更多了');
|
||||
}
|
||||
$('#footer-total-count,#resultsCount').text(data.count);
|
||||
defer.resolve(returnJson);
|
||||
},
|
||||
error:function(data,status){
|
||||
console.log(status);
|
||||
Enabled($('.loadMore'),'加载更多');
|
||||
$('.loadTips').text('加载数据异常,请重试!').stop().fadeIn(500).fadeOut(2000);
|
||||
returnJson.status=2;
|
||||
returnJson.msg='加载数据异常';
|
||||
defer.reject(returnJson);
|
||||
}
|
||||
});
|
||||
return defer.promise();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 加载更多(供搜索标签结果使用)
|
||||
*/
|
||||
function loadSearchScreenshotsData(params,keyword){
|
||||
/* 打开页面首次加载数据 */
|
||||
var returnJson={};
|
||||
getSearchReturnJson(returnJson,params,keyword);
|
||||
|
||||
/* 点击加载更多 */
|
||||
$('.loadMore').click(function(){
|
||||
/* 正常加载数据 */
|
||||
if(returnJson.status===0){
|
||||
params.page++;
|
||||
getSearchReturnJson(returnJson,params,keyword);
|
||||
}
|
||||
/* 没有更多数据 */
|
||||
else if(returnJson.status===1){
|
||||
$('.loadTips').text('没有更多数据').stop().fadeIn(500).fadeOut(1500);
|
||||
}
|
||||
/* 加载数据异常,重试 */
|
||||
else{
|
||||
getSearchReturnJson(returnJson,params,keyword);
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
//获取ajax的success or error回调函数返回的JSON
|
||||
function getSearchReturnJson(returnJson,params,keyword){
|
||||
Disabled($('.loadMore'),'');
|
||||
Loading($('.loadMore'));
|
||||
$.when(getSearchScreenShotList(params.url,params.page,keyword))
|
||||
.done(function(data){
|
||||
returnJson.status=data.status;
|
||||
returnJson.msg=data.msg;
|
||||
lazyload();
|
||||
})
|
||||
.fail(function(data){
|
||||
returnJson.status=data.status;
|
||||
returnJson.msg=data.msg;
|
||||
});
|
||||
}
|
||||
|
||||
//获取SearchScreenShotList
|
||||
function getSearchScreenShotList(url,page,keyword){
|
||||
var returnJson={};
|
||||
var defer=$.Deferred();
|
||||
|
||||
/* ajax请求获取数据 */
|
||||
$.ajax({
|
||||
type:"GET",
|
||||
url:url,
|
||||
dataType:'json',
|
||||
data:{
|
||||
page:page
|
||||
},
|
||||
contentType : 'application/json',
|
||||
success:function(data,status){
|
||||
console.log(status);
|
||||
console.log('screenshots:'+data);
|
||||
//获取json数据不为空
|
||||
if(data.content.length>0){
|
||||
/* 遍历screenshorts */
|
||||
$.each(data.content,function(key,value){
|
||||
$('.shot-container').append(
|
||||
'<div class="shot third column" id="screenshot'+value.id+'" data-application="">'+
|
||||
'<div class="shot-image">'+
|
||||
'<div class="actions">'+
|
||||
'</div>'+
|
||||
'<img src="http://www.placehold.it/286x508/EFEFEF/AAAAAA&text=egggo.cn" data-url="'+value.pic.mediumFileUrl+'" class="unload"/>'+
|
||||
'<div class="cover"></div>'+
|
||||
'</div>'+
|
||||
'<div class="shot-info">'+
|
||||
'<div class="text-overflow"><a class="two-thirds dark-gray text-align-left" href="/applications/get/'+value.application.id+'" target="_blank">'+value.application.name+'</a></div>'+
|
||||
'<div class="third text-align-right fr"><i class="iconfont like-count inline-block"></i><h6>'+value.likeCount+'</h6></div>'+
|
||||
'<div id="'+value.id+'" class="mark-container light-gray" name="screenshot-mark-container">'+
|
||||
'<h6 class="text-overflow">'+
|
||||
'</h6>'+
|
||||
'</div>'+
|
||||
'</div>'+
|
||||
'</div>'
|
||||
);
|
||||
var marks=[],screenShotContents=[],application={};
|
||||
/* LikeOrNot */
|
||||
if(value.isLiked===0){
|
||||
$('#screenshot'+value.id).find('.actions').append(
|
||||
'<a class="btn-like text-align-center" id="'+value.id+'" onclick="like(this,'+value.id+')">'+
|
||||
'<i class="iconfont unlike inline-block is-hidden"></i>'+
|
||||
'<i class="iconfont liked inline-block"></i>'+
|
||||
'</a>'
|
||||
);
|
||||
}
|
||||
else{
|
||||
$('#screenshot'+value.id).find('.actions').append(
|
||||
'<a class="btn-like text-align-center" id="'+value.id+'" onclick="unlike(this,'+value.id+')">'+
|
||||
'<i class="iconfont unlike inline-block"></i>'+
|
||||
'<i class="iconfont liked inline-block is-hidden"></i>'+
|
||||
'</a>'
|
||||
);
|
||||
}
|
||||
/* 遍历marks */
|
||||
$.each(value.marks,function(k,v){
|
||||
if(v.name.indexOf(keyword)>-1){
|
||||
$('#screenshot'+value.id).find('.mark-container').find('.text-overflow').append(
|
||||
'<a href="/screenshots/searchscreenshot?search='+v.name+'" class="highlight" target="_blank">'+v.name+'</a>'+
|
||||
'<span> , </span>'
|
||||
);
|
||||
}else{
|
||||
$('#screenshot'+value.id).find('.mark-container').find('.text-overflow').append(
|
||||
'<a href="/screenshots/searchscreenshot?search='+v.name+'" target="_blank">'+v.name+'</a>'+
|
||||
'<span> , </span>'
|
||||
);
|
||||
}
|
||||
marks.push({
|
||||
id:v.id,
|
||||
name:v.name
|
||||
});
|
||||
});
|
||||
/* 遍历ScreenshotsContent */
|
||||
$.each(value.screenShotContents,function(k,v){
|
||||
screenShotContents.push({
|
||||
type:v.type,
|
||||
url:v.pic.mediumFileUrl+'&method=attachment'
|
||||
});
|
||||
});
|
||||
//浏览图片Modal需要的数据
|
||||
var application={
|
||||
screenShotId:value.id,
|
||||
pic:value.pic.originFileUrl,
|
||||
appVersion:value.appVersion,
|
||||
likeCount:value.likeCount,
|
||||
applicationName:value.application.name,
|
||||
applicationIcon:value.application.icon.thumbFileUrl,
|
||||
updatedTime:value.createdAt,
|
||||
marks:marks,
|
||||
screenShotContents:screenShotContents
|
||||
};
|
||||
$('#screenshot'+value.id).data('application',application)
|
||||
.find('.mark-container').find('span:last').remove();
|
||||
});
|
||||
lazyload();
|
||||
returnJson.status=0;
|
||||
returnJson.msg='正常加载数据';
|
||||
Enabled($('.loadMore'),'加载更多');
|
||||
}
|
||||
else{
|
||||
console.log('page out of range');
|
||||
$('.loadTips').text('没有更多数据').stop().fadeIn(500).fadeOut(1500);
|
||||
returnJson.status=1;
|
||||
returnJson.msg='没有更多数据';
|
||||
Enabled($('.loadMore'),'没有更多了');
|
||||
}
|
||||
$('#footer-total-count,#resultsCount').text(data.count);
|
||||
defer.resolve(returnJson);
|
||||
},
|
||||
error:function(data,status){
|
||||
console.log(status);
|
||||
Enabled($('.loadMore'),'加载更多');
|
||||
$('.loadTips').text('加载数据异常,请重试!').stop().fadeIn(500).fadeOut(2000);
|
||||
returnJson.status=2;
|
||||
returnJson.msg='加载数据异常';
|
||||
defer.reject(returnJson);
|
||||
}
|
||||
});
|
||||
return defer.promise();
|
||||
}
|
Reference in New Issue
Block a user