接口名称:织梦小程序获取文章列表接口

接口标识:list

接口url:https://你的网站/api/index.php?action=list[&typeid=10]

接口参数:


织梦百度小程序代码:

/*获取新闻 */ 
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不支持传参,所以切换到案例和服务项目的时候必须是一个新页面,所以复制了两份。在点击进入列表页的时候,一定要弄清楚你要用的是哪个列表,例如:

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, 
        }) 
    },

(5)调用单页面属于category接口范围,具体参考category接口使用

(6)api返回的列表中的时间,都是时间戳格式,所以需要通过utils下的formatTime函数处理,实例代码:

for (var i in list) { 
          list[i].pubdate = util.formatTime(list[i].pubdate, 'Y-M-D');
          }