微信小程序信息展示列表

wxml

<!-- 轮播图 -->
<view class='haibao' bindtap="seeDetail" id="{{item.activityContentId}}" >
<swiper indicator-dots='{{indicatorDots}}' autoplay='{{autoplay}}' interval='{{interval}}' duration='{{duration}}' circular='true' indicator-dots='true' circular='{{circular}}' >
<block wx:for="{{carousels}}">
<swiper-item>
<image src='{{baseUrl}}{{item.imgUrl}}' class='slide-image' binderror="errorFunction"></image>
<text class="item-title">{{item.title}}</text>
</swiper-item>
</block>
</swiper>
</view>
<!-- 图标 -->
<!-- <view class="nav">
<view bindtap='classify'>
<view>
<image src="/images/icon/renwu.jpg" style="width:80rpx;height:80rpx;"></image>
</view>
<view>艺人菜谱</view>
</view> <view bindtap='movies'>
<view>
<image src="/images/icon/zhibo.jpg" style="width:80rpx;height:80rpx;"></image>
</view>
<view>电影推荐</view>
</view> <view bindtap='post'>
<view>
<image src="/images/icon/chengshi.jpg" style="width:80rpx;height:80rpx;"></image>
</view>
<view>阅读文章</view>
</view>
</view> --> <!-- 数据列表 -->
<view wx:for="{{dataList}}" class="item" bindtap="seeDetail" id="{{item.activityContentId}}">
<!-- 线条 -->
<view class="line"></view> <view class="title">{{item.activityTitle}}</view>
<view class='pic'>
<image src="{{baseUrl}}{{item.activitySmimg}}" style="width:100%;height:203px;"></image>
</view>
<view class="info">
<view class="desc">
<text>{{item.activityType}}</text>
<text>{{item.activityLocation}}</text>
<!-- <text>{{item.createDate}}</text> -->
<text>{{util.sub(item.activityTime)}}</text>
</view>
</view>
</view>
<!-- 加载标志 -->
<view class="load_more" hidden="{{!loading}}">
<view class="load_loading"></view>
<view class="load-tips">正在加载……</view>
</view> <wxs module="util">
var sub = function(val) {
return val.substring(0, 10)
}
module.exports.sub = sub;
</wxs>

wxss

/**index.wxss**/

.item-title {
margin-bottom: 16rpx;
font-size: 24rpx;
} /* 图标 */
.nav{
display: flex;
flex-direction: row;
padding:10px;
}
.nav view{
margin:0 auto;
text-align: center;
font-size: 13px;
} /* 轮播图 */ .haibao swiper {
height: 150px;
} /* 图片 */ .slide-image {
width: 100%;
height: 150px;
} /* 卡片 */ .item {
margin-top: 15px;
margin-bottom: 10px;
} /* 标题 */ .title {
margin-top: 8px;
margin-left: 10px;
margin-bottom: 8px;
color: #444;
font-weight: bold;
font-size: 18px;
} /* 信息 */ .info {
display: flex;
flex-direction: row;
font-size: 12px;
color: #999;
} /* 前半部分 */ .desc {
width: 95%;
margin-left: 10px;
} /* 每条信息 */ .desc text {
margin-right: 10px;
} /* 后半部分 */ .opr {
width: 6%;
} /* 打叉 */ .opr view {
width: 15px;
height: 13px;
border: 1px solid #ccc;
line-height: 10px;
text-align: center;
border-radius: 5px;
} /* 框架 */ .load_more {
margin: 20rpx auto;
font-size: 14px;
text-align: center;
display: flex;
flex-direction: row;
justify-content: center;
} /* 标志 */ .load_loading {
margin: 0 5px;
width: 40rpx;
height: 40rpx;
/* display: inline-block;
vertical-align: middle; */
animation: weuiLoading 5s steps(12, end) infinite;
background: transparent url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjAiIGhlaWdodD0iMTIwIiB2aWV3Qm94PSIwIDAgMTAwIDEwMCI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTTAgMGgxMDB2MTAwSDB6Ii8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTlFOUU5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgLTMwKSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iIzk4OTY5NyIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgzMCAxMDUuOTggNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjOUI5OTlBIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDYwIDc1Ljk4IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0EzQTFBMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSg5MCA2NSA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNBQkE5QUEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoMTIwIDU4LjY2IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0IyQjJCMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgxNTAgNTQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjQkFCOEI5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDE4MCA1MCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDMkMwQzEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTE1MCA0NS45OCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDQkNCQ0IiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTEyMCA0MS4zNCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNEMkQyRDIiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTkwIDM1IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0RBREFEQSIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgtNjAgMjQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTJFMkUyIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKC0zMCAtNS45OCA2NSkiLz48L3N2Zz4=) no-repeat;
background-size: 100%;
} /* 文字 */ .load_tips {
display: inline-block;
vertical-align: middle;
} .linecenter {
text-align: center;
display: flex;
width: 95%;
flex-direction: row;
justify-content: center;
} .line {
border: 1px solid #ccc;
opacity: 0.3;
}

js

//index.js
//获取应用实例
const app = getApp()
// 页数
var pageNum = 1;
// 页量
var pageCount = 10;
Page({
// 设置数据
data: {
// 列表数据数组
dataList: [],
// 轮播图
indicatorDots: true,
autoplay: true,
interval: 3000,
duration: 500,
circular: true,
// 基地址
baseUrl: app.globalData.baseUrl,
// 下拉刷新,上拉加载
loading: false,
// loaded: false,
carousels: [],
// itemtitle: [],
avatar: '',
// 图片
imgUrls: [
"/images/haibao/haibao-1.jpg",
"/images/haibao/haibao-2.jpg"
]
}, // 跳转
classify: function () {
wx.navigateTo({
url: '../classify/classify',
})
},
post: function () {
wx.navigateTo({
url: '../posts/post',
})
},
movies: function () {
wx.navigateTo({
url: '../movies/movies',
})
}, errorFunction: function () {
this.setData({
avatar: 'images/haibao/haibao-1.jpg'
})
},
/**
* 生命周期函数--监听页面加载
* 进入页面的时候开始加载一次数据
*/
onLoad: function(options) {
// 转换
var that = this;
// 加载轮播
that.loadPic();
// 加载数据列表 参数:页数于页量
that.loadList(pageNum, pageCount);
// 显示加载中
wx.showLoading({
title: '加载中',
mask: true
})
// 显示时间
setTimeout(function() {
wx.hideLoading()
}, 2000)
}, // 加载轮播
loadPic: function(){
var that = this;
wx.request({
url: app.globalData.baseUrl + 'js//carousel/list/', // 接口地址
method: 'GET',
header: {
'content-type': 'application/json' //默认值
},
// 成功
success: function (res) {
console.log("interface/activity/carousel/list/ 轮播 成功", res.data.data);
console.log(res.data.data[0].imgUrl)
// console.log(res.data.data.title)
that.setData({
carousels: res.data.data,
// itemtitle: res.data.data.titile
});
},
// 失败
fail: function (err) {
console.log("interface/activity/carousel/list/ 轮播 失败", err);
}
})
}, // 加载数据的函数
loadList: function(page, count) {
var that = this;
//发送请求
wx.request({
url: app.globalData.baseUrl + 'j/activ' + page + '/' + count, //接口地址
method: 'GET',
header: {
'content-type': 'application/json' //默认值
},
// 成功
success: function(res) {
console.log("dataList:", that.data.dataList);
var arr = that.data.dataList;
if (page == 1) {
arr = [];
}
if (res.data.total == 0) {
//没有数据返回
console.log(res.data.msg);
// 显示没有更多数据了
wx.showToast({
title: '没有更多数据了……',
icon: 'none'
})
// 显示时间
setTimeout(function() {
wx.hideToast()
}, 2000) pageNum -= 1;
return;
}
arr = arr.concat(res.data.data);
console.log("interface/activity/list 成功", res.data);
that.setData({
dataList: arr
});
},
// 失败
fail: function(err) {
console.log("interface/activity/list 失败", err);
}
})
}, // 详情页函数
seeDetail: function(e) {
if (!e.currentTarget.id == "") {
wx.navigateTo({
url: '../detail/detail?contentId=' + e.currentTarget.id
})
console.log(e)
} else {
console.log("无内容")
}
}, /**
* 页面相关事件处理函数--监听用户下拉动作,刷新
*/
onPullDownRefresh: function() {
console.log("下拉刷新")
var that = this;
wx.showNavigationBarLoading() setTimeout(() => {
// 轮播刷新
that.loadPic();
pageNum = 1;
that.loadList(pageNum, pageCount);
wx.hideNavigationBarLoading() //完成停止加载
wx.stopPullDownRefresh() //停止下拉刷新
}, 2000)
}, /**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function() {
var that = this;
console.log('上拉') if (this.data.loading) return;
this.setData({
loading: true
}); setTimeout(() => {
pageNum += 1;
that.loadList(pageNum, pageCount);
that.setData({
loading: false
})
}, 2000)
}, /**
* 用户点击右上角分享
*/
onShareAppMessage: function() { },
// 获取用户
getUserInfo: function(e) {
console.log(e)
app.globalData.userInfo = e.detail.userInfo
this.setData({
userInfo: e.detail.userInfo,
hasUserInfo: true
})
}
})

json

{
"enablePullDownRefresh": true
}

达叔小生:往后余生,唯独有你

You and me, we are family !

90后帅气小伙,良好的开发习惯;独立思考的能力;主动并且善于沟通

简书博客: 达叔小生

https://www.jianshu.com/u/c785ece603d1

结语

  • 下面我将继续对 其他知识 深入讲解 ,有兴趣可以继续关注
  • 小礼物走一走 or 点赞

微信小程序新闻信息列表展示的更多相关文章

  1. 微信小程序新闻列表功能(读取文件、template模板使用)

    微信小程序新闻列表功能(读取文件.template) 不忘初心,方得始终.初心易得,始终难守. 在之前的项目基础上进行修改,实现读取文件内容作为新闻内容进行展示. 首先,修改 post.wxml 文件 ...

  2. 微信小程序开发(4) 企业展示

    在这篇微信小程序开发教程中,我们将介绍如何使用微信小程序开发企业内部宣传展示等功能. 一.小程序主体部分 一个小程序主体部分由三个文件组成,必须放在项目的根目录,如下: 1. 小程序逻辑 App({ ...

  3. 基于微信小程序的用户列表点赞功能

    代码地址如下:http://www.demodashi.com/demo/13997.html 一.前言 (1).适合人群 1.微信小程序开发者 2.前端工程师 3.想入门学习小程序开发的人员 4.想 ...

  4. 图解微信小程序---获取电影列表

    图解微信小程序---获取电影列表 代码笔记 list跳转 第一步:编写前端页面获取相关的电影列表参数(对于显示参数不熟悉,可以先写js,通过console  Log的方式获取我们电影的相关数据字段,后 ...

  5. 微信小程序,我的英雄列表

    最近微信小程序炒得火热,就跟成都的这个房价一样.昨天我也尝试了一下,做了一个自己的英雄列表.今天将自己的制作过程记录于此. 1.下载微信开发者工具 官网链接:https://mp.weixin.qq. ...

  6. 微信小程序 - 展开收缩列表

    代码源自于:微信小程序示例官方 index.wxml <block wx:for-items="{{list}}" wx:key="{{item.id}}" ...

  7. 微信小程序用户信息解密失败导致的内存泄漏问题。

    微信小程序获取用户解密的Session_key 然后对 encryptedData进行解密 偶尔报错 时间长了之后会报内存溢出: java.lang.OutOfMemoryError: GC over ...

  8. 微信小程序中使用wxParse展示HTML内容

    wxParse的GitHub地址:https://github.com/icindy/wxParse 一.数据内容: 请求地址:https://m.quanchepin.com/index.php?a ...

  9. 微信小程序云开发-列表数据分页加载显示

    一.准备工作 1.创建数据库nums,向数据库中导入108条数据 2.修改数据库表nums的权限 二.新建页面ListPaginated 1.wxml文件 <!-- 显示列表数据 --> ...

随机推荐

  1. c#Dapper mysql按时间段查询和过滤

    #endregion /// <summary> /// 根据条件获取集合 /// </summary> /// <param name="id"&g ...

  2. Linux查看机器负载

    负载(load)是linux机器的一个重要指标,直观了反应了机器当前的状态.如果机器负载过高,那么对机器的操作将难以进行. Linux的负载高,主要是由于CPU使用.内存使用.IO消耗三部分构成.任意 ...

  3. css三列布局之双飞翼pk圣杯

    三列布局:两边定宽,中间自适应! 看到这个问题,我第一眼想的就是两边定宽float左右,中间加一个margin宽度自适应或者直接设一个overflow:hidden触发bfc机制,这样也可以,看上去也 ...

  4. 一键脚本清理DEBIAN系统无用组件 减少系统资源

    虽然如今我们选择服务器资源都比较多,以前我们看到很多128MB内存.甚至32MB内存的建站网站,感觉特别羡慕.其实这些也不是难事,相比之下,DEBIAN系统比CENTOS系统占用资源少,然后我们需要进 ...

  5. Luogu3579 Solar Panels

    整除分块枚举... 真的没有想到会这么简单. 要使一个数 \(p\) 满足 条件, 则 存在\(x, y\), \(a<=x \times p<=b\ \&\&\ c< ...

  6. Python第十六天 类的实例化

    首先 , 先定义一个 简单的 Person 类 class Person: head = 1 ear = 2 def eat(self): print('吃饭') 关于什么是类, 定义类, 类对象,类 ...

  7. GUI学习之八——复选框QCheckBox的学习总结

    一.描述 a.QCheckBox一般用于给用户提供若干选项中多个选择时的使用 b.控件左侧有一个方框来显示控件被选中. c.复选框是有三种状态的 二.使用 1.创建 复选框的创建和常规的按钮创建方式是 ...

  8. hibernate中怎样配置两个联合属性为唯一约束(非联合主键)

    Annotation中配置: @Table元素包括了一个schema和一个catalog属性,如果需要可以指定相应的值. 结合使用@UniqueConstraint注解可以定义表的唯一约束(uniqu ...

  9. join查询优化

    更新使用过滤条件中包括自身的表 此方法不能无法在mysql中使用 `UPDATE user1 SET over='齐天大圣' WHERE user1.user_name IN ( SELECT b.u ...

  10. WebApi 增加身份验证 (OAuth 2.0方式)

    1,在Webapi项目下添加如下引用: Microsoft.AspNet.WebApi.Owin Owin Microsoft.Owin.Host.SystemWeb Microsoft.Owin.S ...