/_wp3services/generalQuery?queryObj=articles由第三方在页面向文章检索服务地址()发送请求。
当文章检索服务响应请求分别对其请求的条件、排序及返回信息进行解析,解析成功,根据请求参数,以json格式返回文章相关属性。
条件、排序和返回信息是以json字符串向文章检索服务发送请求。
JSON.stringify()在IE8是未定义的,为了兼容需引用“/_js/json/json2.js”
参数名 | 说明 | 备注 |
queryObj | 用于区分查询的对象类型,目前包含articles(文章) | 必填 |
siteId | 站点ID | 必填 |
columnId | 栏目ID | |
pageIndex | 页码,默认为1 | |
rows | 查询条数,默认为10 | |
returnAttr | 当值为1时,仅返回文章的属性 | |
allUrl | 说明: | |
conditions | 条件 | |
orders | 排序 | |
| reqModule | 1:返回content 内容时使用, | |
returnInfos | 请求返回属性 | |
allImgs | 是否显示所有图片(版本v16077之前版本使用) | 过时 |
scope | 查询范围(版本v16077之后版本使用) | 新增 |
通过站点检索服务地址 (域名/_wp3services/generalQuery?queryObj=sites&scope=1)
域名/_wp3services/generalQuery?queryObj=columns&siteId=2&scope=1
以json字符,向文章检索服务发送请求;查询条件,支持复合查询条件设置。
conditions:查询条件,多个条件之间为And连接,内部允许嵌套 orConditions
orConditions:查询条件,多个条件之间为or连接,内部允许嵌套 conditions
judge:关系符,目前包括“=、<、>、<=、>=、like”
[
{
orConditions: [
{field: "author", value: "谷子", judge: "like"},
{field: "creator", value: "系统管理员", judge: "like"}
]
},
{
conditions: [
{
orConditions: [
{field: "title", value: "%菊花%", judge: "like"},
{field: "key", value: "Ch", judge: "like"}
]
},
{
orConditions: [
{field: "imgLogo", value: "true", judge: "="},
{field: "fileLogo", value: "true", judge: "="}
]
}
]
}
];
/*
查询条件属性目前包括(后期可扩展):
title: 标题
creator: 创建者
createTime: 创建时间
createOrgId: 机构Id
folderIds: 文件夹Id
author: 作者
source: 文章来源
summary: 简介
key: 关键字
allKeys: 关键字查询(包括标题、作者、关键字及内容中含有此关键的查询)
infoCode: 文号
scope: 范围(1当前及子,0当前)
categoryId: 文章分类Id
imgLogo: 图片标识,(值是true,否为false)
fileLogo: 附件标识,(值是true,否为false)
videoLogo: 视频标识,(值是true,否为false)
f1~f50: 扩展字段1至扩展字段50
top: 置顶
new: 最新
hot: 热门
publishTime: 发布时间
publisher: 发布者
*/参数名 | 说明 | 备注 |
id | 文章Id | |
title | 文章标题 | |
artTypeId | 文章类型 | |
publishTime | 发布时间 | |
publisher | 发布人 | |
visiCount | 浏览量 | |
content | 文章内容 | |
infoCode | 文号 | |
categoryId | 文章分类Id | 文章所属分类 |
newest | 是否最新 | |
hot | 是否是热点 | |
shortTitle | 短标题 | |
subTitle | 副标题 | |
summary | 简介 | |
creatorId | 创建者Id | |
createTime | 创建时间 | |
createOrgId | 创建部门Id | |
author | 文章作者 | |
editor | 责任编辑 | |
source | 文章来源 | |
key | 关键字 | |
size | 大小 | |
score | 分数 | V15061不支持 |
f1~f50 | 扩展字段 | |
[ |
type:排序方式,升序(asc)和降序(desc),默认为升序
格式名称(name) | 格式值(value) | 备注 |
l | 任意数字 | 字符长度 |
lp | 任意数字 | 取满足长度的字符,余下的以“…”代替 |
d | ² 'yyyy-MM-dd'(年-月-日) ² 'MM-dd'(月-日) ² 'yyyy-MM-dd HH'(年-月-日 时) ² 'yyyy-MM-dd HH:mm'(年-月-日 时:分) ² 'yyyy-MM-dd HH:mm:ss'(年-月-日 时:分:秒) ² 'yyyy/MM/dd'(年/月/日) ² 'MM月DD日'(MM月DD日) ² 'yyyy年MM月dd日'(yyyy年MM月dd日) ² 'yyyy年MM月dd日 hh时'(yyyy年MM月dd日 hh时) | 日期的格式 |
[
{name: " title "},
{field: "mytitle", name: " title "},
{field: " mytitle ",pattern: [{name: "l",value: "10"}], name: "title"}
]
/*
json说明:
mytitle:自定义标题
title:标题
mytitle:标题名称,取10个字符,输出
*/参数名 | 说明 | 备注 |
total | 数据总条数 | |
lastPageNum | 最后页面显示条数 | |
pageCount | 总页数 | |
startExeTime | 开始执行时间 | |
endExeTime | 查询花费时间 | |
data | [ |
参数名 | 说明 | 备注 |
id | 文章Id | 默认输出 |
title | 文章标题 | 默认输出 |
publishTime | 发布时间 | 默认输出 |
publisher | 发布人 | 默认输出 |
visitCount | 浏览量 | 默认输出 |
url | 文章访问地址 | 默认输出,访问文章模板页面链接地址 |
| link | 文章外链地址 | 访问文章的外链地址(有版本要求) |
wapUrl | (手机)文章访问地址 | 默认输出 |
mircImgPath | 缩略图 | 默认输出 |
content | 文章内容 | 改输出模式仅在版本v16077以后版本支持 |
infoCode | 文号 | |
category | 文章分类名称 | 文章所属分类,多个逗号分隔 |
color | 文章标题颜色 | 标题样式 |
bold | 标题是否加粗 | 标题样式 |
top | 是否置顶 | |
newest | 是否最新 | |
hot | 是否是热点 | |
topImg | 置顶图标 | |
newImg | 最新图标 | |
hotImg | 热点图标 | |
imgPath | 图片的路径 | |
imgName | 图片名称 | |
filePath | 附件的路径 | |
fileName | 附件名称 | |
videoPath | 视频路径 | |
videoName | 视频名称 | |
audioPath | 音频路径 | |
audioName | 音频名称 | |
shortTitle | 短标题 | |
subTitle | 副标题 | |
summary | 简介 | |
creator | 创建者 | |
creatorId | ||
createTime | 创建时间 | |
createOrg | 创建部门名称 | |
author | 文章作者 | |
editor | 责任编辑 | |
source | 文章来源 | |
key | 关键字 | |
publishOrg | 发布部门名称 | |
size | 大小 | |
score | 分数 | V16077以上版本支持 |
downLoads | 下载次数 | V16077以上版本支持 |
f1~f50 | 扩展字段 | |
allImg | 图片 | 获取文章中多张图 |
coverImgPath | 封面图 | V6061以上不支持 |
artTypeId | 文章类型Id | V16077以上版本支持 |
artTypeName | 文章类型名称 | V16077以上版本支持 |
score | 文章评分 | V16077以上版本支持 |
downLoads | 文章下载次数 | V16077以上版本支持 |
phColId | 发布栏目Id | V16077以上版本支持 |
phColName | 发布栏目名称 | V16077以上版本支持 |
phColUrl | 发布栏目Url | V16077以上版本支持 |
imgLogo | 是否是图片文章 | V16077以上版本支持 |
fileLogo | 是否是附件文章 | V16077以上版本支持 |
videoLogo | 是否是视频文章 | V16077以上版本支持 |
audioLogo | 是否是音频文章 | V16077以上版本支持 |
{
"total":9,
"data":[
{"folderName":"额额","code":"0300000-2015-0004",
"filePath":"","creator":"系统管理员",
"summary":"","id":448,"title":"ddddddd",
"wapUrl":"/_s9/01/c0/c177a448/pagem.psp",
"url":"/_s9/01/c0/c177a448/page.psp",
"publishTime":"2015-07-23 14:24:04",
"publisher":"系统管理员","visitCount":10,"mircImgPath":""
}
],
"lastPageNum":4,
"pageCount":2,
"startExeTime":1438146506082,
"endExeTime":"34.946"
}仅返回文章属性json格式
[
{
'folderName':'额额',
'code':'0300000-2015-0004',
'filePath':'',
'creator':'系统管理员',
'summary':'','id':448,
'title':'ddddddd',
'wapUrl':'/_s9/01/c0/c177a448/pagem.psp',
'url':'/_s9/01/c0/c177a448/page.psp',
'publishTime':'2015-07-23 14:24:04',
'publisher':'系统管理员',
'visitCount':10,'mircImgPath':''
},
{
'folderName':'学校概况',
'code':'0100000-2015-0006',
'filePath':'','creator':'系统管理员',
'summary':'ddddcc,guzi','id':426,
'title':'sddddddddddd',
'wapUrl':'/_s9/01/aa/c107a426/pagem.psp',
'url':'/_s9/01/aa/c107a426/page.psp',
'publishTime':'2015-07-23 13:09:18',
'publisher':'系统管理员',
'visitCount':10,'mircImgPath':''
}
]
var url = http://172.18.10.8:8080/_wp3services/generalQueryvar?queryObj=articles';
//查询条件
var conditdata = [
{field: 'key', value: key, judge: 'like'},
{field: 'author', value: author, judge: 'like'},
{field: 'creator', value: creator, judge: 'like'},
{field: 'publishTime', value: beginPt, judge: '>='},
{field: 'publishTime', value: endPt, judge: '<'},
{field: 'categoryId', value: catalogs, judge: 'in'},
{field: 'scope', value: 1, judge: '='}
];
//请求返回参数
var returnInfosdata = [
{name: 'folderName'},
{field: 'code', name: 'f11'},
{name: 'filePath'},
{name: 'creator'},
{name: 'summary'}
];
//排序参数
var orderData = [
{field: 'visitCount', type: 'desc'},
{field: 'publicTime', type: 'desc'},
{field: 'createTime', type: 'desc'},
{field: 'top', type: 'desc'}
];
var orders = JSON.stringify(orderData);
var conditions = JSON.stringify(conditdata);
var returnInfos = JSON.stringify(returnInfosdata);
//向文章检索服务发送请求
$.ajax({
url:url,
type: 'POST',
async: false,
dataType: 'json',
data: {siteId: siteId, columnId: 17, pageIndex: 1, rows: 10, conditions: conditions, orders: orders, returnInfos: returnInfos },
success: function(result) {}
});
代码
$(function(){
var articleUrl = "/_wp3services/generalQuery?queryObj=articles";
var siteId = 120; //站点Id
var columnId = $(".col_title").data("col-id"); //多个以英文逗号分隔
var pageIndex = 1; //从某页开始
var rows = 14; //每页显示多少篇文章
var text = "";
/*$("#login_search .search").on("click",function(){
text = $.trim($("#keyword").val());
if(text =="" || text =="请输入关键字"){
text ="";
}else{
text ='%'+text+'%';
}
conditData(text);
});*/
loadContents(pageIndex,columnId,siteId,rows);
function loadContents(pageIndex,columnId,siteId,rows){
$("#wp_news_w6").find("ul.news_list").children().remove();
//排序参数
var orderData = [
];
var returnInfos = JSON.stringify(returnData());
var orders = JSON.stringify(orderData);
var conditions = JSON.stringify(conditData(text));
$.ajax({
url: articleUrl,
type: 'POST',
contentType: "application/x-www-form-urlencoded; charset=utf-8",
async: false,
dataType: 'json',
data: {
siteId:siteId,
columnId:columnId,
pageIndex:pageIndex,
rows: rows,
orders:orders,
returnInfos: returnInfos,
conditions:conditions
//visitPermitFilter:1
},
success: function(result){
var total = result.total;
if (result != null){
//console.log(result);
for (j=0;j < result.data.length; j++){
var art = result.data[j];
html = '<li class="news n1 clearfix">'+
' <span class="news_title"><a href="'+art.url+'" target="_blank" title="'+art.title+'">'+art.title+'</a></span>'+
' <span class="news_meta">'+art.publishTime+'</span>'+
'</li>';
$("#wp_news_w6").find("ul.news_list").append(html);
}
}
var pageCount = result.pageCount;
var pageHtml = "";
pageHtml += ('<div class="new_pages" >');
pageHtml += (' <ul class="wp_paging clearfix"> ');
pageHtml += (' <li class="pages_count"> ');
pageHtml += (' <span class="per_page">每页<em class="per_count">' + rows + '</em>条记录</span> ');
pageHtml += (' <span class="all_count">总共<em class="all_count">' + total + '</em>条记录</span> ');
pageHtml += (' </li> ');
pageHtml += (' <li class="new_page_nav">');
pageHtml += (' <a class="first" href="javascript:void(0);"><span>首页</span></a> ');
pageHtml += (' <a class="prev" href="javascript:void(0);" ><span>上一页</span></a> ');
pageHtml += (' <a class="next" href="javascript:void(0);" ><span>下一页</span></a> ');
pageHtml += (' <a class="last" href="javascript:void(0);"><span>尾页</span></a> ');
pageHtml += (' </li> ');
pageHtml += (' <li class="new_page_jump"> ');
pageHtml += (' <span class="pages">页码:<em class="curr_page" curr_page="' + pageIndex + '">' + pageIndex + '</em>/<em class="all_pages" pageCount="' + pageCount + '">' + pageCount + '</em></span> ');
pageHtml += (' <span><input class="pageNum" type="text" /><input type="hidden" class="currPageURL" value=""></span></span> ');
pageHtml += (' <span><a class="new_pagingJump" href="javascript:void(0);" target="_self">跳转</a></span> ');
pageHtml += (' </li> ');
pageHtml += (' </ul> ');
pageHtml += ('</div> ');
$("#wp_paging_w6").html(pageHtml);
//$("#wp_news_w501").html(html);
}
});
}
initpageClick("wp_paging_w6",columnId,siteId,rows); //跳转页面
initFirstPageClick("wp_paging_w6",columnId,siteId,rows); //首页
initLastPageClick("wp_paging_w6",columnId,siteId,rows); //尾页
initPrevPageClick("wp_paging_w6",columnId,siteId,rows); //上一页
initNextPageClick("wp_paging_w6",columnId,siteId,rows); //下一页
/*查询条件*/
function conditData(val){
var conditdata = [
//{field: "title", value: val, judge: "like"},
{field: "scope", value: 1, judge: "="}
];
return conditdata;
}
//请求返回参数
function returnData(){
var returnInfosdata = [
{field: "title",pattern: [{name: "lp",value: "30"}], name: "title"},
{field: "publishTime",pattern: [{name: "d",value: "yyyy-MM-dd"}],name: "publishTime"}
];
return returnInfosdata;
}
//初始化跳转页面
function initpageClick(idTag,columnId,siteId,rows) {
$(document).on('click', "#" + idTag + " .new_pagingJump", function(event) {
var pageNum = $(".new_page_jump .pageNum").val();
if (pageNum === "") {
alert("请输入页码!");
return;
}
var pageCount = $(".new_pages .all_pages").attr("pageCount");
if (isNaN(pageNum) || pageNum <= 0 || pageNum > pageCount) {
alert("请输入正确页码!");
return;
}
loadContents(pageNum,columnId,siteId,rows);
});
}
//初始化首页
function initFirstPageClick(idTag,columnId,siteId,rows) {
$(document).on('click', "#" + idTag + " .new_page_nav .first", function(event) {
loadContents(1,columnId,siteId,rows);
});
}
//初始化尾页
function initLastPageClick(idTag,columnId,siteId,rows) {
$(document).on('click', "#" + idTag + " .new_page_nav .last", function(event) {
var allPages = $(".new_pages .all_pages").attr("pageCount");
loadContents(allPages,columnId,siteId,rows);
});
}
//初始化上一页
function initPrevPageClick(idTag,columnId,siteId,rows) {
$(document).on('click', "#" + idTag + " .new_page_nav .prev", function(event) {
var pageCount = $(".new_page_jump .curr_page").attr("curr_page");
var prev = --pageCount;
if (prev <= 0) {
return;
}
loadContents(prev,columnId,siteId,rows);
});
}
//初始化下一页
function initNextPageClick(idTag,columnId,siteId,rows) {
$(document).on('click', "#" + idTag + " .new_page_nav .next", function(event) {
var pageCount = $(".new_page_jump .curr_page").attr("curr_page");
var next = ++pageCount;
var allPages = $(".new_pages .all_pages").attr("pageCount");
if (allPages < next) {
return;
}
loadContents(next,columnId,siteId,rows);
});
}
});