接口标识:list
接口url:https://你的网站/api/index.php?action=list&typeid=10
接口参数:
字段名称 | 字段说明 | 类型 | 必填 | 备注 |
---|---|---|---|---|
typeid | 栏目id | num | 必填 | 栏目id,支持多typeid写法例:10,11,12;若为空以flag为准 |
typeid2 | 副栏目id | num | 可不填 | 副栏目 |
flag | 属性 | string | 可不填 | 调用属性,例:s、h、f、c、p,typeid和flag必须填写其中一个 |
num | 数量 | num | 可不填 | 调用数量,默认10,为空则按照分页调用 |
page | 页数 | num | 可不填 | num为空时调用page,默认page=1 |
image | 图片 | num | 可不填 | 调用有缩略图的文章,默认全部,和flag=p意思一样 |
pagesize | 自定义分页大小 | num | 可不填 | 默认后台设置的页面大小 |
order | 排序 | string | 可不填 | 默认:"sortrank desc, id desc"; |
more | 是否调用副表 | num | 可不填 | 默认0不调用副表 |
channelid | 模型ID | num | 可不填 | 有typeid时候该参数无效 |
ids | 指定文章ID | string | 可不填 | (1.3新增,当ids参数存在时,其他所有参数均失效) |
hidden | 是否调用隐藏栏目文章 | string | 可不填 | 默认否,需要调用则改为:hidden:1,(1.4.3开始支持) |
uinfo | 是否调用会员信息 | string | 可不填 | 默认否,需要调用则改为:uinfo:1,(1.4.x开始支持) |
如果为封面,或子栏目都是单页则直接返回空(封面通过category获取即可) |
- /*获取新闻 */
- swan.request({
- url: app.globalData.api+"action=list",
- data: {
- typeid: '20',
- num: '10',
- order:'id desc',
- aid: app.globalData.aid
- },
- method: 'POST',
- header: {
- 'content-type': 'application/x-www-form-urlencoded',
- 'x-appsecret': app.globalData.appsecret
- },
- success: function (res) {
- var data = res.data;
- if (data.status == 200) {
- var list = data.data;
- for (var i in list) {
- list[i].pubdate = util.formatTime(list[i].pubdate, 'Y-M-D');
- }
- that.setData({
- list: list
- })
- }
- }
- })
(1)列表页采用的是触底加载更多代码的方法,可以参考demo
(2)如果想获取当前栏目的所有子栏目和每个子栏目的前n个文章,可以引入request.js,具体参考get_category的使用。
(3)调用列表模板的时候可以传递一个参数 data-listtype='1',意思是调用的列表模板类型为:文字列表
list_1:文字列表
list_2:图片列表(两图)
list_3:图文列表(左图右文)
list_4:图片列表(三图)
list_5:标题+描述列表
(你也可以在template/list.swan里新增你自己的样式)
(4)demo中的页面list、case、service其实完全一样,只是因为小程序的tabbar不支持传参,所以切换到案例和服务项目的时候必须是一个新页面,所以复制了两份。在点击进入列表页的时候,一定要弄清楚你要用的是哪个列表,例如:
(5)调用单页面属于category接口范围,具体参考category接口使用
- show_service: function (e) {
- var data = e.currentTarget.dataset;
- var title = data.title;
- var typeid = data.typeid;
- var list_type = data.listtype;
- //tabbar不支持传参通过缓存读取
- swan.setStorageSync('stypeid', typeid)
- swan.switchTab({
- url: '/pages/service/service?typeid=' + typeid + "&title=" + title + "&list_type=" + list_type,
- })
- },
(6)api返回的列表中的时间,都是时间戳格式,所以需要通过utils下的formatTime函数处理,实例代码:
- for (var i in list) {
- list[i].pubdate = util.formatTime(list[i].pubdate, 'Y-M-D');
- }
【注意】最近网上有人公开出售我的源码,特做此声明:
(1)本站是dedecms小程序插件唯一教程官网,购买插件请联系QQ:2863868475;
(2)只有在本站购买的小程序插件会提供升级、维护和技术支持;
(3)在第三方网站购买的源码出现任何不可预测的情况与本站无关。
(4)作者未授权六久阁网出售该小程序,大家注意不要上当