1
1
<template >
2
2
<div class =" m-box-model m-card" @click =" handleView('')" >
3
3
<div class =" m-box" >
4
- <div
5
- v-if =" timeLine"
6
- class =" m-box-model m-aln-center m-flex-grow0 m-flex-shrink0 m-card-time-line"
7
- v-html =" timeLineText"
8
- />
4
+ <template v-if =" timeLine " >
5
+ <div v-if =" isToday" v-text =" '今天'" />
6
+ <div v-else class =" timeline-text" >
7
+ <span >{{ time.getDate() }}</span >
8
+ <span class =" month" >{{ time.getMonth() + 1 }}月</span >
9
+ </div >
10
+ </template >
9
11
<Avatar v-else :user =" user" />
10
12
<section class =" m-box-model m-flex-grow1 m-flex-shrink1 m-card-main" >
11
13
<header v-if =" !timeLine" class =" m-box m-aln-center m-justify-bet m-card-usr" >
91
93
92
94
<script >
93
95
import { mapState } from ' vuex'
96
+ import * as api from ' @/api/feeds.js'
97
+ import { transTime } from ' @/util'
98
+ import { escapeHTML } from ' @/filters.js'
94
99
import FeedImage from ' ./FeedImage.vue'
95
100
import FeedVideo from ' ./FeedVideo.vue'
96
101
import CommentItem from ' ./CommentItem.vue'
97
- import { time2txt , escapeHTML } from ' @/filters.js'
98
- import * as api from ' @/api/feeds.js'
99
102
100
103
export default {
101
104
name: ' FeedCard' ,
@@ -166,7 +169,14 @@ export default {
166
169
return this .feed .feed_view_count || 0
167
170
},
168
171
time () {
169
- return this .feed .created_at
172
+ let str = this .feed .created_at
173
+ return transTime (str)
174
+ },
175
+ isToday () {
176
+ // 时间差 = 当前时间 - date (单位: 秒)
177
+ let offset = (new Date () - this .time ) / 1000
178
+ if (offset / 3600 < 24 ) return true
179
+ return false
170
180
},
171
181
user () {
172
182
const user = this .feed .user
@@ -193,16 +203,6 @@ export default {
193
203
this .feed .has_collect = val
194
204
},
195
205
},
196
- timeLineText () {
197
- const text = time2txt (this .time )
198
- const len = text .length
199
- return len > 4
200
- ? ` <span>${ text .substr (0 , len - 2 )} </span><span>${ text .substr (
201
- - 2 ,
202
- 2
203
- )} </span>`
204
- : ` <span>${ text} </span>`
205
- },
206
206
title () {
207
207
return this .feed .title || ' '
208
208
},
0 commit comments