接口标识:lists
接口url:https://你的网站/index.php?m=api&c=index&_ajax=1&a=lists
接口参数:
字段名称 | 字段说明 | 类型 | 必填 | 备注 |
---|---|---|---|---|
typeid | 栏目id | num | 必填 | 支持多栏目id,即:typeid:'10,11' |
flag | 推荐位 | string | 可不填 | 例:flag:c,调用推荐信息 |
field | 推荐位 | string | 可不填 | 暂不支持自定义字段 |
num | 数量 | num | 可不填 | 调用数量,默认10,为空则按照分页调用 |
page | 页数 | num | 可不填 | num为空时调用page,默认page=1 |
image | 图片 | num | 可不填 | 调用有缩略图的文章,默认全部 |
pagesize | 自定义分页大小 | num | 可不填 | 默认后台设置的页面大小 |
order | 排序 | string | 可不填 | 默认:stop DESC,isrecommend DESC,isheadline DESC,id DESC 注意:mysql下的随机是 rand();sqlite下的写法是random() |
more | 是否调用副表 | num | 可不填 | 默认0不调用副表 |
channelid | 模型ID | num | 可不填 | 有typeid时候该参数无效 |
keyword | 搜索关键词 | String | 可不填 | 关键词搜索,支持:标题、摘要、关键词 |
ids | 指定文章ID | string | 可不填 | (暂不支持) |
shaixuan | 筛选功能 | json | 可不填 | 该参数使用方法如下表 |
如果为单页面,或子栏目都是单页则直接返回空(封面通过category获取即可) |
筛选格式:
- var shaixuan = [
- { 'name': 'size', 'value': 'xxl', 'type': '='},
- { 'name': 'fxrq', 'value': '2023-03', 'type': 'like'},
- { 'name': 'yanse', 'value': '红', 'type': 'like'},
- { 'name': 'jiawei', 'value': '0,3000', 'type': 'between'}
- { 'name': 'xinghao', 'value': '5,6,7,8', 'type': 'in'}
- ];
字段名称 | 字段说明 | 类型 | 必填 | 备注 |
---|---|---|---|---|
name | 要筛选的字段 | string | ||
value | 匹配值 | string | ||
type | 匹配类型 | string | 目前共支持四种: (1)= 表示相等关系 (2) like 表示模糊匹配,即like查询 (3)in 表示包含关系,即IN查询 (4)between 表示区间关系,即区间查询,例1<id <10 |
|
注意:
- wx.request({
- url: app.globalData.api+"lists",
- data: {
- typeid: typeid,
- page: page,
- pagesize:that.data.pagesize,
- more:1,
- shaixuan:JSON.stringify(shaixuan),
- aaid: app.globalData.aid,
- attr:1,
- },
- method: 'POST',
- header: {
- 'content-type': 'application/x-www-form-urlencoded',
- 'x-safecode': app.globalData.safecode
- },
- success: function (res) {
- var list = res.data.data.data;
- var total = res.data.data.total;
- var maxpage = Math.ceil(total/that.data.pagesize);//向上去整,请保持分页数量和和后台设置数量一致
- var oldlist = that.data.list;//已经加载的数据
- if(page == 1) oldlist = [];//首页时清除历史数据
- //组装分页效果(参数:总数、分页大小、当前页数,显示数量)
- var pagelist = common.pages(total,that.data.pagesize,page,5);
- if (res.data.code == 200) {
- for (var i in list) {
- list[i].friendtime = util.friendTime(list[i].add_time );
- list[i].add_time = util.formatTime(list[i].add_time, 'Y-M-D');
- }
- var flag = true;
- if (page == maxpage || list.length < that.data.pagesize) {//说明后续已无数据
- flag = false;
- page = maxpage;
- }
- if(that.data.pagetype == 1){//分页类型1:追加
- list = oldlist.concat(list);
- }else if(that.data.pagetype == 2){//分页类型2:覆盖
- list = list;
- }
- var nodata = list.length > 0 ? 0 : 1;
- that.setData({
- list: list,
- page:page,
- pagelist:pagelist,
- Loading: flag,
- LoadingComplete: !flag,
- nodata
- })
- }
- },
- })
(1)列表页有两种分页方式,上拉加载和分页加载,修改list.js中的pagetype即可,默认2,分页加载
(2)调用单页面属于category接口范围,具体参考category接口使用
(3)api返回的列表中的时间,都是时间戳格式,所以需要通过utils下的formatTime函数处理,实例代码:
- for (var i in list) {
- list[i].update_time = util.formatTime(list[i].update_time, 'Y-M-D');
- }
【注意】最近网上有人公开出售我的源码,特做此声明:
(1)本站是dedecms小程序插件唯一教程官网,购买插件请联系QQ:2863868475;
(2)只有在本站购买的小程序插件会提供升级、维护和技术支持;
(3)在第三方网站购买的源码出现任何不可预测的情况与本站无关。
(4)作者未授权六久阁网出售该小程序,大家注意不要上当