Blame view

pages/extUI/list/ad.vue 2.38 KB
4b045f7c   刘淇   江阴初始化项目
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
  <template>
  	<view>
  		<text class="example-info">此示例展示了ad广告组件在 uni-list 中的应用</text>
  		<uni-section title="列表嵌套广告" type="line"></uni-section>
  		<uni-list>
  			<template v-for="(item,index) in listData">
  				<!-- <uni-list-ad v-if="(index > 0 && (index+1) % 10 == 0)"></uni-list-ad> -->
  				<ad  adpid="1111111111" v-if="(index > 0 && (index+1) % 10 == 0)" unit-id="" appid="" apid="" type="feed"></ad>
  				<uni-list-item v-else :title="item.title" :note="item.author_name" :thumb="item.cover" thumb-size="lg" />
  			</template>
  		</uni-list>
  	</view>
  </template>
  
  <script>
  	export default {
  		components: {},
  		data() {
  			return {
  				UNITS: {
  					'年': 31557600000,
  					'月': 2629800000,
  					'天': 86400000,
  					'小时': 3600000,
  					'分钟': 60000,
  					'秒': 1000
  				},
  				listData: []
  			}
  		},
  		onLoad() {
  			this.getList()
  		},
  		methods: {
  			getList() {
  				var data = {
  					column: 'id,post_id,title,author_name,cover,published_at' //需要的字段名
  				};
  
  				uni.request({
  					url: 'https://unidemo.dcloud.net.cn/api/news',
  					data: data,
  					success: data => {
  						if (data.statusCode == 200) {
  							let list = this.setTime(data.data);
  							this.listData = this.reload ? list : this.listData.concat(list);
  							console.log(this.listData);
  						}
  					},
  					fail: (data, code) => {
  						console.log('fail' + JSON.stringify(data));
  					}
  				});
  			},
  			setTime(items) {
  				var newItems = [];
  				items.forEach(e => {
  					newItems.push({
  						author_name: e.author_name,
  						cover: e.cover,
  						id: e.id,
  						post_id: e.post_id,
  						published_at: this.format(e.published_at),
  						title: e.title
  					});
  				});
  				return newItems;
  			},
  			format(dateStr) {
  				var date = this.parse(dateStr)
  				var diff = Date.now() - date.getTime();
  				if (diff < this.UNITS['天']) {
  					return this.humanize(diff);
  				}
  				var _format = function(number) {
  					return (number < 10 ? ('0' + number) : number);
  				};
  				return date.getFullYear() + '/' + _format(date.getMonth() + 1) + '/' + _format(date.getDate()) + '-' +
  					_format(date.getHours()) + ':' + _format(date.getMinutes());
  			},
  			parse(str) { //将"yyyy-mm-dd HH:MM:ss"格式的字符串,转化为一个Date对象
  				var a = str.split(/[^0-9]/);
  				return new Date(a[0], a[1] - 1, a[2], a[3], a[4], a[5]);
  			},
  
  		}
  	}
  </script>
  
  <style lang="scss" scoped>
  </style>