3434 <span class =" word-count" >{{ page.content.length }} 字</span >
3535 </div >
3636 <div class =" outline-page-card-content" >{{ page.content }}</div >
37+
38+ <div
39+ v-if =" page.image_suggestion"
40+ class =" image-suggestion-card"
41+ >
42+ <div class =" suggestion-title" >
43+ <svg
44+ width =" 14"
45+ height =" 14"
46+ viewBox =" 0 0 24 24"
47+ fill =" none"
48+ stroke =" currentColor"
49+ stroke-width =" 2"
50+ >
51+ <rect
52+ x =" 3"
53+ y =" 3"
54+ width =" 18"
55+ height =" 18"
56+ rx =" 2"
57+ ></rect >
58+ <circle
59+ cx =" 8.5"
60+ cy =" 8.5"
61+ r =" 1.5"
62+ ></circle >
63+ <polyline points =" 21 15 16 10 5 21" ></polyline >
64+ </svg >
65+ 配图建议
66+ </div >
67+ <div class =" suggestion-content" >
68+ {{ page.image_suggestion }}
69+ </div >
70+ </div >
3771 </div >
3872 </div >
3973 </div >
5589interface Page {
5690 type: " cover" | " content" | " summary" ;
5791 content: string ;
92+ image_suggestion? : string ;
5893}
5994
6095// 定义 Props
@@ -96,7 +131,7 @@ function getPageTypeName(type: string): string {
96131
97132/* 模态框内容容器 */
98133.outline-modal-content {
99- background : white ;
134+ background : var ( --bg-card ) ;
100135 width : 100% ;
101136 max-width : 800px ;
102137 max-height : 85vh ;
@@ -110,7 +145,7 @@ function getPageTypeName(type: string): string {
110145/* 模态框头部 */
111146.outline-modal-header {
112147 padding : 20px 24px ;
113- border-bottom : 1px solid #eee ;
148+ border-bottom : 1px solid var ( --border-color ) ;
114149 display : flex ;
115150 justify-content : space-between ;
116151 align-items : center ;
@@ -130,27 +165,27 @@ function getPageTypeName(type: string): string {
130165 border : none ;
131166 font-size : 24px ;
132167 cursor : pointer ;
133- color : #666 ;
168+ color : var ( --text-sub ) ;
134169 padding : 0 ;
135170 line-height : 1 ;
136171 transition : color 0.2s ;
137172}
138173
139174.close-icon :hover {
140- color : #333 ;
175+ color : var ( --text-main ) ;
141176}
142177
143178/* 模态框主体(可滚动) */
144179.outline-modal-body {
145180 flex : 1 ;
146181 overflow-y : auto ;
147182 padding : 20px 24px ;
148- background : #f9fafb ;
183+ background : var ( --bg-body ) ;
149184}
150185
151186/* 大纲页面卡片 */
152187.outline-page-card {
153- background : #ffffff ;
188+ background : var ( --bg-card ) ;
154189 border-radius : 12px ;
155190 padding : 20px ;
156191 margin-bottom : 16px ;
@@ -202,8 +237,8 @@ function getPageTypeName(type: string): string {
202237 border-radius : 4px ;
203238 font-size : 11px ;
204239 font-weight : 600 ;
205- background : #e9ecef ;
206- color : #6c757d ;
240+ background : var ( --bg-elevated ) ;
241+ color : var ( --text-sub ) ;
207242}
208243
209244.page-type-badge.cover {
@@ -225,18 +260,46 @@ function getPageTypeName(type: string): string {
225260.word-count {
226261 margin-left : auto ;
227262 font-size : 11px ;
228- color : #999 ;
263+ color : var ( --text-sub ) ;
229264}
230265
231266/* 卡片内容 */
232267.outline-page-card-content {
233268 font-size : 14px ;
234269 line-height : 1.8 ;
235- color : #374151 ;
270+ color : var ( --text-main ) ;
236271 white-space : pre-wrap ;
237272 word-break : break-word ;
238- font-family :
239- -apple-system , BlinkMacSystemFont, " Segoe UI" , system-ui , sans-serif ;
273+ }
274+
275+ /* 配图建议卡片 */
276+ .image-suggestion-card {
277+ margin-top : 16px ;
278+ padding : 12px 14px ;
279+ background : var (--bg-hover );
280+ border-radius : 8px ;
281+ border : 1px dashed var (--border-color );
282+ font-size : 13px ;
283+ }
284+
285+ .suggestion-title {
286+ display : flex ;
287+ align-items : center ;
288+ gap : 6px ;
289+ color : var (--color-rose , #f43f5e );
290+ font-weight : 600 ;
291+ margin-bottom : 8px ;
292+ font-size : 13px ;
293+ }
294+
295+ .suggestion-content {
296+ line-height : 1.6 ;
297+ color : var (--text-sub );
298+ word-break : break-word ;
299+ padding : 8px 10px ;
300+ border-radius : 10px ;
301+ border : 1px solid rgba (255 , 95 , 109 , 0.18 );
302+ background : rgba (255 , 255 , 255 , 0.02 );
240303}
241304
242305/* 响应式布局 */
0 commit comments