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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
| /**
| * @author 韩天尊
| * @time 2024-01-15
| * @version 1.0.0
| * @description 消息列表页面样式
| */
|
| .page {
| min-height: 100vh;
| background: #f5f5f5;
| padding-bottom: 80px;
| }
|
| .tab-section {
| display: flex;
| background: white;
| margin-bottom: 10px;
| border-bottom: 1px solid #eee;
| }
|
| .tab-btn {
| flex: 1;
| padding: 15px 20px;
| border: none;
| background: transparent;
| font-size: 16px;
| color: #666;
| cursor: pointer;
| transition: all 0.3s ease;
| border-bottom: 2px solid transparent;
| }
|
| .tab-btn.active {
| color: #ff6b6b;
| border-bottom-color: #ff6b6b;
| font-weight: 500;
| }
|
| .message-list {
| padding: 0 15px;
| }
|
| .message-item {
| background: white;
| margin-bottom: 10px;
| border-radius: 8px;
| padding: 15px;
| cursor: pointer;
| transition: all 0.3s ease;
| position: relative;
| box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
| }
|
| .message-item:hover {
| box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
| transform: translateY(-1px);
| }
|
| .message-item.unread {
| border-left: 4px solid #ff6b6b;
| }
|
| .message-header {
| display: flex;
| justify-content: space-between;
| align-items: flex-start;
| margin-bottom: 8px;
| }
|
| .message-title {
| font-size: 16px;
| font-weight: 500;
| color: #333;
| flex: 1;
| margin-right: 10px;
| }
|
| .message-time {
| font-size: 12px;
| color: #999;
| white-space: nowrap;
| }
|
| .message-content {
| font-size: 14px;
| color: #666;
| line-height: 1.5;
| margin-bottom: 8px;
| }
|
| .unread-dot {
| position: absolute;
| top: 15px;
| right: 15px;
| width: 8px;
| height: 8px;
| background: #ff6b6b;
| border-radius: 50%;
| }
|
| .loading {
| text-align: center;
| padding: 40px 20px;
| color: #999;
| font-size: 14px;
| }
|
| .empty-state {
| text-align: center;
| padding: 60px 20px;
| color: #999;
| }
|
| .empty-state i {
| font-size: 48px;
| margin-bottom: 20px;
| color: #ddd;
| }
|
| .empty-state p {
| font-size: 16px;
| margin: 0;
| }
|
|