864 lines
26 KiB
HTML
864 lines
26 KiB
HTML
|
||
<!DOCTYPE html>
|
||
<html lang="zh-CN">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<title>恋爱报告报告 - 2025-04-29 至 2025-04-30</title>
|
||
<style>
|
||
/* 严格定义的CSS样式,确保风格一致性 */
|
||
:root {
|
||
--bg-primary: #0f0e17;
|
||
--bg-secondary: #1a1925;
|
||
--bg-tertiary: #252336;
|
||
--text-primary: #fffffe;
|
||
--text-secondary: #a7a9be;
|
||
--accent-primary: #ff8906;
|
||
--accent-secondary: #f25f4c;
|
||
--accent-tertiary: #e53170;
|
||
--accent-blue: #3da9fc;
|
||
--accent-purple: #7209b7;
|
||
--accent-cyan: #00b4d8;
|
||
}
|
||
|
||
* {
|
||
margin: 0;
|
||
padding: 0;
|
||
box-sizing: border-box;
|
||
}
|
||
|
||
body {
|
||
font-family: 'SF Pro Display', 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', sans-serif;
|
||
background-color: var(--bg-primary);
|
||
color: var(--text-primary);
|
||
line-height: 1.6;
|
||
font-size: 16px;
|
||
width: 1200px;
|
||
margin: 0 auto;
|
||
padding: 20px;
|
||
}
|
||
|
||
header {
|
||
text-align: center;
|
||
padding: 30px 0;
|
||
background-color: var(--bg-secondary);
|
||
margin-bottom: 30px;
|
||
}
|
||
|
||
h1 {
|
||
font-size: 36px;
|
||
font-weight: 700;
|
||
color: var(--accent-primary);
|
||
margin-bottom: 10px;
|
||
}
|
||
|
||
.date {
|
||
font-size: 18px;
|
||
color: var(--text-secondary);
|
||
margin-bottom: 20px;
|
||
}
|
||
|
||
.meta-info {
|
||
display: flex;
|
||
justify-content: center;
|
||
gap: 20px;
|
||
}
|
||
|
||
.meta-info span {
|
||
background-color: var(--bg-tertiary);
|
||
padding: 5px 15px;
|
||
border-radius: 20px;
|
||
font-size: 14px;
|
||
}
|
||
|
||
section {
|
||
background-color: var(--bg-secondary);
|
||
margin-bottom: 30px;
|
||
padding: 25px;
|
||
}
|
||
|
||
h2 {
|
||
font-size: 28px;
|
||
font-weight: 600;
|
||
color: var(--accent-blue);
|
||
margin-bottom: 20px;
|
||
padding-bottom: 10px;
|
||
border-bottom: 2px solid var(--accent-blue);
|
||
}
|
||
|
||
h3 {
|
||
font-size: 22px;
|
||
font-weight: 600;
|
||
color: var(--accent-primary);
|
||
margin: 15px 0 10px 0;
|
||
}
|
||
|
||
h4 {
|
||
font-size: 18px;
|
||
font-weight: 600;
|
||
color: var(--accent-secondary);
|
||
margin: 12px 0 8px 0;
|
||
}
|
||
|
||
p {
|
||
margin-bottom: 15px;
|
||
}
|
||
|
||
ul, ol {
|
||
margin-left: 20px;
|
||
margin-bottom: 15px;
|
||
}
|
||
|
||
li {
|
||
margin-bottom: 5px;
|
||
}
|
||
|
||
a {
|
||
color: var(--accent-blue);
|
||
text-decoration: none;
|
||
}
|
||
|
||
a:hover {
|
||
text-decoration: underline;
|
||
}
|
||
|
||
/* 卡片容器样式 */
|
||
.topics-container, .tutorials-container, .messages-container,
|
||
.dialogues-container, .qa-container, .participants-container {
|
||
display: grid;
|
||
grid-template-columns: 1fr;
|
||
gap: 20px;
|
||
}
|
||
|
||
/* 卡片样式 */
|
||
.topic-card, .tutorial-card, .message-card,
|
||
.dialogue-card, .qa-card, .participant-item, .night-owl-item {
|
||
background-color: var(--bg-tertiary);
|
||
padding: 20px;
|
||
}
|
||
|
||
/* 话题卡片 */
|
||
.topic-category {
|
||
display: inline-block;
|
||
background-color: var(--accent-blue);
|
||
color: var(--text-primary);
|
||
padding: 3px 10px;
|
||
border-radius: 15px;
|
||
font-size: 14px;
|
||
margin-bottom: 10px;
|
||
}
|
||
|
||
.topic-keywords {
|
||
display: flex;
|
||
flex-wrap: wrap;
|
||
gap: 8px;
|
||
margin: 10px 0;
|
||
}
|
||
|
||
.keyword {
|
||
background-color: rgba(61, 169, 252, 0.2);
|
||
padding: 3px 10px;
|
||
border-radius: 12px;
|
||
font-size: 14px;
|
||
}
|
||
|
||
.topic-mentions {
|
||
color: var(--accent-cyan);
|
||
font-weight: 600;
|
||
}
|
||
|
||
/* 教程卡片 */
|
||
.tutorial-type {
|
||
display: inline-block;
|
||
background-color: var(--accent-secondary);
|
||
color: var(--text-primary);
|
||
padding: 3px 10px;
|
||
border-radius: 15px;
|
||
font-size: 14px;
|
||
margin-bottom: 10px;
|
||
}
|
||
|
||
.tutorial-meta {
|
||
color: var(--text-secondary);
|
||
margin-bottom: 10px;
|
||
font-size: 14px;
|
||
}
|
||
|
||
.tutorial-category {
|
||
margin-top: 10px;
|
||
font-style: italic;
|
||
color: var(--text-secondary);
|
||
}
|
||
|
||
/* 消息卡片 */
|
||
.message-meta {
|
||
margin-bottom: 10px;
|
||
}
|
||
|
||
.message-meta span {
|
||
margin-right: 15px;
|
||
font-size: 14px;
|
||
}
|
||
|
||
.message-type {
|
||
background-color: var(--accent-tertiary);
|
||
color: var(--text-primary);
|
||
padding: 3px 10px;
|
||
border-radius: 15px;
|
||
}
|
||
|
||
.priority {
|
||
padding: 3px 10px;
|
||
border-radius: 15px;
|
||
}
|
||
|
||
.priority-high {
|
||
background-color: var(--accent-secondary);
|
||
}
|
||
|
||
.priority-medium {
|
||
background-color: var(--accent-primary);
|
||
}
|
||
|
||
.priority-low {
|
||
background-color: var(--accent-blue);
|
||
}
|
||
|
||
/* 对话卡片 */
|
||
.dialogue-type {
|
||
display: inline-block;
|
||
background-color: var(--accent-purple);
|
||
color: var(--text-primary);
|
||
padding: 3px 10px;
|
||
border-radius: 15px;
|
||
font-size: 14px;
|
||
margin-bottom: 10px;
|
||
}
|
||
|
||
.dialogue-content {
|
||
background-color: rgba(255, 255, 255, 0.05);
|
||
padding: 15px;
|
||
margin-bottom: 15px;
|
||
}
|
||
|
||
.dialogue-highlight {
|
||
font-style: italic;
|
||
color: var(--accent-primary);
|
||
margin: 10px 0;
|
||
font-weight: 600;
|
||
}
|
||
|
||
/* 问答卡片 */
|
||
.question {
|
||
margin-bottom: 15px;
|
||
}
|
||
|
||
.question-meta, .answer-meta {
|
||
color: var(--text-secondary);
|
||
margin-bottom: 5px;
|
||
font-size: 14px;
|
||
}
|
||
|
||
.question-tags {
|
||
display: flex;
|
||
flex-wrap: wrap;
|
||
gap: 8px;
|
||
margin-top: 10px;
|
||
}
|
||
|
||
.tag {
|
||
background-color: rgba(114, 9, 183, 0.2);
|
||
padding: 3px 10px;
|
||
border-radius: 12px;
|
||
font-size: 14px;
|
||
}
|
||
|
||
.answer {
|
||
background-color: rgba(255, 255, 255, 0.05);
|
||
padding: 15px;
|
||
margin-top: 10px;
|
||
}
|
||
|
||
.accepted-badge {
|
||
background-color: var(--accent-primary);
|
||
color: var(--text-primary);
|
||
padding: 3px 10px;
|
||
border-radius: 15px;
|
||
font-size: 14px;
|
||
}
|
||
|
||
/* 热度图 */
|
||
.heatmap-container {
|
||
display: grid;
|
||
grid-template-columns: 1fr;
|
||
gap: 15px;
|
||
}
|
||
|
||
.heat-topic {
|
||
font-weight: 600;
|
||
margin-bottom: 5px;
|
||
}
|
||
|
||
.heat-bar {
|
||
height: 20px;
|
||
background-color: rgba(255, 255, 255, 0.1);
|
||
margin: 5px 0;
|
||
border-radius: 10px;
|
||
overflow: hidden;
|
||
}
|
||
|
||
.heat-fill {
|
||
height: 100%;
|
||
border-radius: 10px;
|
||
}
|
||
|
||
/* 话唠榜 */
|
||
.participant-rank {
|
||
font-size: 28px;
|
||
font-weight: 700;
|
||
color: var(--accent-primary);
|
||
margin-right: 15px;
|
||
float: left;
|
||
}
|
||
|
||
.participant-name {
|
||
font-weight: 600;
|
||
font-size: 18px;
|
||
margin-bottom: 5px;
|
||
}
|
||
|
||
.participant-count {
|
||
color: var(--accent-cyan);
|
||
margin-bottom: 10px;
|
||
}
|
||
|
||
.participant-characteristics, .participant-words {
|
||
display: flex;
|
||
flex-wrap: wrap;
|
||
gap: 8px;
|
||
margin-top: 10px;
|
||
}
|
||
|
||
.characteristic {
|
||
background-color: rgba(242, 95, 76, 0.2);
|
||
padding: 3px 10px;
|
||
border-radius: 12px;
|
||
font-size: 14px;
|
||
}
|
||
|
||
.word {
|
||
background-color: rgba(229, 49, 112, 0.2);
|
||
padding: 3px 10px;
|
||
border-radius: 12px;
|
||
font-size: 14px;
|
||
}
|
||
|
||
/* 熬夜冠军 */
|
||
.night-owl-item {
|
||
background: linear-gradient(135deg, #0f0e17 0%, #192064 100%);
|
||
padding: 20px;
|
||
display: flex;
|
||
align-items: center;
|
||
}
|
||
|
||
.owl-crown {
|
||
font-size: 40px;
|
||
margin-right: 20px;
|
||
}
|
||
|
||
.owl-name {
|
||
font-weight: 600;
|
||
font-size: 18px;
|
||
margin-bottom: 5px;
|
||
}
|
||
|
||
.owl-title {
|
||
color: var(--accent-primary);
|
||
font-style: italic;
|
||
margin-bottom: 10px;
|
||
}
|
||
|
||
.owl-time, .owl-messages {
|
||
color: var(--text-secondary);
|
||
margin-bottom: 5px;
|
||
}
|
||
|
||
.owl-note {
|
||
font-size: 14px;
|
||
color: var(--text-secondary);
|
||
margin-top: 10px;
|
||
font-style: italic;
|
||
}
|
||
|
||
/* 词云 - 云朵样式 */
|
||
.cloud-container {
|
||
position: relative;
|
||
margin: 0 auto;
|
||
padding: 20px 0;
|
||
}
|
||
|
||
.cloud-wordcloud {
|
||
position: relative;
|
||
width: 600px;
|
||
height: 400px;
|
||
margin: 0 auto;
|
||
background-color: var(--bg-tertiary);
|
||
border-radius: 50%;
|
||
box-shadow:
|
||
40px 40px 0 -5px var(--bg-tertiary),
|
||
80px 10px 0 -10px var(--bg-tertiary),
|
||
110px 35px 0 -5px var(--bg-tertiary),
|
||
-40px 50px 0 -8px var(--bg-tertiary),
|
||
-70px 20px 0 -10px var(--bg-tertiary);
|
||
overflow: visible;
|
||
}
|
||
|
||
.cloud-word {
|
||
position: absolute;
|
||
transform-origin: center;
|
||
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
|
||
transition: all 0.3s ease;
|
||
}
|
||
|
||
.cloud-word:hover {
|
||
transform: scale(1.1);
|
||
z-index: 10;
|
||
}
|
||
|
||
.cloud-legend {
|
||
margin-top: 60px;
|
||
display: flex;
|
||
justify-content: center;
|
||
gap: 30px;
|
||
}
|
||
|
||
.legend-item {
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 10px;
|
||
}
|
||
|
||
.legend-color {
|
||
width: 20px;
|
||
height: 20px;
|
||
border-radius: 50%;
|
||
}
|
||
|
||
/* 底部 */
|
||
footer {
|
||
text-align: center;
|
||
padding: 20px 0;
|
||
margin-top: 50px;
|
||
background-color: var(--bg-secondary);
|
||
color: var(--text-secondary);
|
||
font-size: 14px;
|
||
}
|
||
|
||
footer p {
|
||
margin: 5px 0;
|
||
}
|
||
|
||
.disclaimer {
|
||
margin-top: 15px;
|
||
font-style: italic;
|
||
}
|
||
/* 新增头像相关样式 */
|
||
.user-avatar {
|
||
width: 50px;
|
||
height: 50px;
|
||
border-radius: 50%;
|
||
object-fit: cover;
|
||
transition: transform 0.3s ease;
|
||
position: relative;
|
||
cursor: pointer;
|
||
border: 2px solid var(--accent-primary);
|
||
}
|
||
|
||
/* 头像悬停效果 */
|
||
.user-avatar:hover {
|
||
transform: scale(1.1) rotate(5deg);
|
||
z-index: 100;
|
||
}
|
||
|
||
/* 头像tooltip */
|
||
.avatar-tooltip {
|
||
visibility: hidden;
|
||
background-color: var(--bg-tertiary);
|
||
color: var(--text-primary);
|
||
text-align: center;
|
||
padding: 5px 10px;
|
||
border-radius: 6px;
|
||
position: absolute;
|
||
z-index: 1000;
|
||
bottom: 125%;
|
||
left: 50%;
|
||
transform: translateX(-50%);
|
||
white-space: nowrap;
|
||
opacity: 0;
|
||
transition: opacity 0.3s;
|
||
font-size: 14px;
|
||
box-shadow: 0 3px 10px rgba(0,0,0,0.2);
|
||
}
|
||
|
||
.user-avatar:hover .avatar-tooltip {
|
||
visibility: visible;
|
||
opacity: 1;
|
||
}
|
||
|
||
/* 热度用户专区 */
|
||
.hot-users {
|
||
display: grid;
|
||
grid-template-columns: repeat(auto-fit, minmax(80px, 1fr));
|
||
gap: 20px;
|
||
margin-top: 20px;
|
||
}
|
||
|
||
.hot-user-item {
|
||
position: relative;
|
||
text-align: center;
|
||
}
|
||
|
||
/* 皇冠标识 */
|
||
.hot-crown {
|
||
position: absolute;
|
||
top: -10px;
|
||
right: -5px;
|
||
font-size: 24px;
|
||
color: #ffd700;
|
||
filter: drop-shadow(0 2px 2px rgba(0,0,0,0.3));
|
||
}
|
||
</style>
|
||
</head>
|
||
<body>
|
||
<header>
|
||
<h1>恋爱报告报告</h1>
|
||
<p class="date">2025-04-29 至 2025-04-30</p>
|
||
<div class="meta-info">
|
||
<span>总消息数:500+</span>
|
||
<span>活跃用户:2</span>
|
||
<span>时间范围:00:05:04 至 22:20:26</span>
|
||
</div>
|
||
</header>
|
||
|
||
|
||
|
||
<!-- 1. 今日讨论热点 -->
|
||
<section class="hot-topics">
|
||
<h2>今日讨论热点</h2>
|
||
<div class="topics-container">
|
||
<!-- 在这里填充讨论热点内容,严格按照以下格式,保留3-5个话题 -->
|
||
|
||
<div class="topic-card">
|
||
<h3>恋爱沟通</h3>
|
||
<div class="topic-category">情感交流</div>
|
||
<p class="topic-summary">双方围绕情感需求、沟通方式和相互理解展开多次对话,涉及'控制欲''陪伴需求''表达方式'等核心矛盾点。典型对话如'你就不能说话吗'-'不困了,跟我聊聊天',体现双方对沟通频率的认知差异。</p>
|
||
<div class="topic-keywords">
|
||
<span class="keyword">控制</span><span class="keyword">陪伴</span><span class="keyword">理解</span>
|
||
</div>
|
||
<div class="topic-mentions">提及次数:30+</div>
|
||
</div>
|
||
|
||
<div class="topic-card">
|
||
<h3>项目合作</h3>
|
||
<div class="topic-category">学业协作</div>
|
||
<p class="topic-summary">4月29日上午集中讨论服务设计项目开发事宜,涉及原型设计、比赛规划、老师对接等具体内容。昏沉沉的提出开发支持意愿,要哄宝宝开心则负责团队协调,双方就'高保真原型''互联网+大赛'等专业概念进行多次确认。</p>
|
||
<div class="topic-keywords">
|
||
<span class="keyword">原型</span><span class="keyword">开发</span><span class="keyword">比赛</span>
|
||
</div>
|
||
<div class="topic-mentions">提及次数:50+</div>
|
||
</div>
|
||
|
||
<!-- 复制上述卡片结构添加更多话题 -->
|
||
</div>
|
||
</section>
|
||
|
||
<!-- 2. 实用教程与资源分享 -->
|
||
<section class="tutorials">
|
||
<h2>实用教程与资源分享</h2>
|
||
<div class="tutorials-container">
|
||
<!-- 在这里填充教程和资源内容,严格按照以下格式 -->
|
||
|
||
<div class="tutorial-card">
|
||
<div class="tutorial-type">RESOURCE</div>
|
||
<h3>产品设计开发流程</h3>
|
||
<div class="tutorial-meta">
|
||
<span class="shared-by">分享者:昏沉沉的</span>
|
||
<span class="share-time">时间:2025-04-29 09:42:26</span>
|
||
</div>
|
||
<p class="tutorial-summary">讨论软件产品开发各阶段要点,强调从调研到高保真原型的设计闭环</p>
|
||
<div class="key-points">
|
||
<h4>要点:</h4>
|
||
<ul><li>功能闭环</li><li>UI完善</li><li>比赛适配</li></ul>
|
||
</div>
|
||
<div class="tutorial-link">
|
||
<a href="" class="link valid">查看原文: 微信聊天</a>
|
||
</div>
|
||
<div class="tutorial-category">分类:产品设计</div>
|
||
</div>
|
||
|
||
<!-- 复制上述卡片结构添加更多资源 -->
|
||
</div>
|
||
</section>
|
||
|
||
<!-- 3. 重要消息汇总 -->
|
||
<section class="important-messages">
|
||
<h2>重要消息汇总</h2>
|
||
<div class="messages-container">
|
||
<!-- 在这里填充重要消息内容,严格按照以下格式 -->
|
||
|
||
<div class="message-card">
|
||
<div class="message-meta">
|
||
<span class="time">2025-04-29 00:29:04</span>
|
||
<span class="sender">要哄宝宝开心,宝宝开心我就开心</span>
|
||
<span class="message-type">OTHER</span>
|
||
<span class="priority priority-高">优先级:高</span>
|
||
</div>
|
||
<p class="message-content">只要你做的不论是我,还是外人看来是爱我的</p>
|
||
<div class="message-full-content">
|
||
<p>完整情感需求表达</p>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="message-card">
|
||
<div class="message-meta">
|
||
<span class="time">2025-04-29 10:15:17</span>
|
||
<span class="sender">昏沉沉的</span>
|
||
<span class="message-type">EVENT</span>
|
||
<span class="priority priority-中">优先级:中</span>
|
||
</div>
|
||
<p class="message-content">你说你男朋友做开发的 做出来原型的话可以让你男朋友看一下 可以开发</p>
|
||
<div class="message-full-content">
|
||
<p>项目合作具体提案</p>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- 复制上述卡片结构添加更多消息 -->
|
||
</div>
|
||
</section>
|
||
|
||
<!-- 4. 有趣对话或金句 -->
|
||
<section class="interesting-dialogues">
|
||
<h2>有趣对话或金句</h2>
|
||
<div class="dialogues-container">
|
||
<!-- 在这里填充对话内容,严格按照以下格式 -->
|
||
|
||
<div class="dialogue-card">
|
||
<div class="dialogue-type">DIALOGUE</div>
|
||
<div class="dialogue-content">
|
||
|
||
<div class="message">
|
||
<div class="message-meta">
|
||
<span class="speaker">要哄宝宝开心,宝宝开心我就开心</span>
|
||
<span class="time">2025-04-29 00:07:44</span>
|
||
</div>
|
||
<p class="message-content">不困了,跟我聊聊天</p>
|
||
</div>
|
||
<div class="message">
|
||
<div class="message-meta">
|
||
<span class="speaker">昏沉沉的</span>
|
||
<span class="time">2025-04-29 00:07:42</span>
|
||
</div>
|
||
<p class="message-content">不能跟你说话吗</p>
|
||
</div>
|
||
</div>
|
||
<div class="dialogue-highlight">沟通需求 vs 陪伴需求</div>
|
||
<div class="dialogue-topic">相关话题:情感表达差异</div>
|
||
</div>
|
||
|
||
<!-- 复制上述卡片结构添加更多对话 -->
|
||
</div>
|
||
</section>
|
||
|
||
<!-- 5. 问题与解答 -->
|
||
<section class="questions-answers">
|
||
<h2>问题与解答</h2>
|
||
<div class="qa-container">
|
||
<!-- 在这里填充问答内容,严格按照以下格式 -->
|
||
|
||
<div class="qa-card">
|
||
<div class="question">
|
||
<div class="question-meta">
|
||
<span class="asker">要哄宝宝开心,宝宝开心我就开心</span>
|
||
<span class="time">2025-04-29 10:33:25</span>
|
||
</div>
|
||
<p class="question-content">你开发要钱吗</p>
|
||
<div class="question-tags">
|
||
<span class="tag">项目</span><span class="tag">费用</span>
|
||
</div>
|
||
</div>
|
||
<div class="answers">
|
||
|
||
<div class="answer">
|
||
<div class="answer-meta">
|
||
<span class="responder">昏沉沉的</span>
|
||
<span class="time">2025-04-29 10:45:18</span>
|
||
<span class='accepted-badge'>最佳回答</span>
|
||
</div>
|
||
<p class="answer-content">那不就完了</p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- 复制上述卡片结构添加更多问答 -->
|
||
</div>
|
||
</section>
|
||
|
||
<!-- 6. 群内数据可视化 -->
|
||
<section class="analytics">
|
||
<h2>群内数据可视化</h2>
|
||
|
||
<!-- 话题热度 -->
|
||
<h3>话题热度</h3>
|
||
<div class="heatmap-container">
|
||
<!-- 在这里填充话题热度数据,严格按照以下格式 -->
|
||
|
||
<!-- 复制上述结构添加更多热度项,每项使用不同颜色 -->
|
||
|
||
<div class="heat-item">
|
||
<div class="heat-topic">情感交流</div>
|
||
<div class="heat-percentage">45%%</div>
|
||
<div class="heat-bar">
|
||
<div class="heat-fill" style="width: 45%%; background-color: #3da9fc;"></div>
|
||
</div>
|
||
<div class="heat-count">200+条消息</div>
|
||
</div>
|
||
|
||
<div class="heat-item">
|
||
<div class="heat-topic">项目讨论</div>
|
||
<div class="heat-percentage">30%%</div>
|
||
<div class="heat-bar">
|
||
<div class="heat-fill" style="width: 30%%; background-color: #f25f4c;"></div>
|
||
</div>
|
||
<div class="heat-count">150+条消息</div>
|
||
</div>
|
||
|
||
<!-- 可用的颜色: #3da9fc, #f25f4c, #7209b7, #e53170, #00b4d8, #4cc9f0 -->
|
||
</div>
|
||
|
||
<!-- 话唠榜 -->
|
||
<!-- 在话唠榜添加头像 -->
|
||
<section class="analytics">
|
||
<h3>话唠榜</h3>
|
||
<div class="participants-container">
|
||
|
||
<div class="participant-item">
|
||
<div class="participant-rank">1</div>
|
||
<div class="participant-info">
|
||
<div class="participant-name">要哄宝宝开心,宝宝开心我就开心</div>
|
||
<div class="participant-count">发言数:300+</div>
|
||
<div class="participant-characteristics">
|
||
<span class="characteristic">情感表达</span><span class="characteristic">细节追问</span>
|
||
</div>
|
||
<div class="participant-words">
|
||
<span class="word">?</span><span class="word">OK</span><span class="word">行</span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
</div>
|
||
</section>
|
||
|
||
|
||
<!-- 熬夜冠军 -->
|
||
<h3>熬夜冠军</h3>
|
||
<div class="night-owls-container">
|
||
<!-- 在这里填充熬夜冠军数据,严格按照以下格式 -->
|
||
|
||
|
||
<div class="night-owl-item">
|
||
<div class="owl-crown" title="熬夜冠军">👑</div>
|
||
<div class="owl-info">
|
||
<div class="owl-name">昏沉沉的</div>
|
||
<div class="owl-title">深夜程序员</div>
|
||
<div class="owl-time">最晚活跃时间:01:42:38</div>
|
||
<div class="owl-messages">深夜消息数:50+</div>
|
||
<div class="owl-last-message">对不起</div>
|
||
<div class="owl-note">注:熬夜时段定义为23:00-06:00,已考虑不同时区</div>
|
||
</div>
|
||
|
||
|
||
</div>
|
||
</section>
|
||
|
||
<!-- 7. 词云 -->
|
||
<section class="word-cloud">
|
||
<h2>热门词云</h2>
|
||
<div class="cloud-container">
|
||
<!-- 词云容器 - 现在是云朵样式 -->
|
||
<div class="cloud-wordcloud" id="word-cloud">
|
||
<!-- 为每个词创建一个span元素,使用绝对定位放置 -->
|
||
<!-- 以下是一些示例,请根据实际内容生成40-60个词 -->
|
||
|
||
<span class="cloud-word" style="left: 300px; top: 120px;
|
||
font-size: 38px; color: #00b4d8;
|
||
transform: rotate(-15deg);">开发</span>
|
||
|
||
<span class="cloud-word" style="left: 300px; top: 120px;
|
||
font-size: 32px; color: #00b4d8;
|
||
transform: rotate(15deg);">睡觉</span>
|
||
|
||
<!-- 继续添加更多词 -->
|
||
</div>
|
||
|
||
<div class="cloud-legend">
|
||
|
||
<div class="legend-item">
|
||
<span class="legend-color" style="background-color: #00b4d8;"></span>
|
||
<span class="legend-label">项目 相关词汇</span>
|
||
</div>
|
||
|
||
<div class="legend-item">
|
||
<span class="legend-color" style="background-color: #4361ee;"></span>
|
||
<span class="legend-label">情感 相关词汇</span>
|
||
</div>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- 8. 页面底部 -->
|
||
<footer>
|
||
<p>数据来源:恋爱私聊记录聊天记录</p>
|
||
<p>生成时间:<span class="generation-time">2025-05-01 10:00:00</span></p>
|
||
<p>统计周期:2025-04-29 至 2025-04-30 [时间范围]</p>
|
||
<p class="disclaimer">免责声明:本报告内容基于群聊公开讨论,如有不当内容或侵权问题请联系管理员处理。</p>
|
||
</footer>
|
||
</body>
|
||
<script>
|
||
document.addEventListener('DOMContentLoaded', function() {
|
||
// 获取所有词云元素
|
||
const cloudWords = document.querySelectorAll('.cloud-word');
|
||
const container = document.querySelector('.cloud-wordcloud');
|
||
const containerWidth = container.offsetWidth;
|
||
const containerHeight = container.offsetHeight;
|
||
|
||
// 为每个词云元素设置随机位置
|
||
cloudWords.forEach(word => {
|
||
const wordWidth = word.offsetWidth;
|
||
const wordHeight = word.offsetHeight;
|
||
|
||
|
||
// 计算随机位置,确保词云元素不会超出容器边界
|
||
const randomLeft = Math.random() * (containerWidth - wordWidth);
|
||
const randomTop = Math.random() * (containerHeight - wordHeight);
|
||
|
||
// 设置位置
|
||
word.style.left = `${randomLeft}px`;
|
||
word.style.top = `${randomTop}px`;
|
||
|
||
// 添加悬停效果
|
||
word.addEventListener('mouseover', function() {
|
||
this.style.transform = 'scale(1.1)';
|
||
this.style.zIndex = '10';
|
||
});
|
||
|
||
word.addEventListener('mouseout', function() {
|
||
this.style.transform = 'scale(1)';
|
||
this.style.zIndex = '1';
|
||
});
|
||
});
|
||
});
|
||
</script>
|
||
|
||
</html>
|
||
|