# 📡 BC-M05-002 · DEV-009花尔 · 用户中心界面·环节1·交互功能
**广播编号**:BC-M05-002-HE
**下发时间**:2026-03-04 08:45
**执行者**:DEV-009 花尔
**电脑**:macOS
**前置条件**:M05环节0 项目初始化已完成 ✅
**引导通道**:🧠 知秋壳子
**模块**:M05 用户中心界面
**环节**:环节1 · 交互功能
---
## 💙 知秋的话
花尔~ 环节0做得很棒!你已经有了一个漂亮的用户中心页面 🎉
现在我们让它"活"起来——点击那六个菜单按钮,会弹出对应的详情页面。
就像你在手机App里点"个人资料"会跳到一个新页面一样。
这个环节会接触到 **JavaScript**(让网页动起来的语言),但你不用学它,还是**全程复制粘贴**。
做完之后,你的网页就不只是好看了——它真的能交互了!💪
---
## 📸 截图方法(和上次一样)
同时按:`Command(⌘)` + `Shift` + `4` → 拖框截图 → 发给冰朔
---
## 📋 步骤一:创建交互脚本文件
打开终端(`Command + 空格` → 输入 `终端` → 回车)
复制粘贴下面的命令,按回车:
```bash
cat > ~/HoloLake-UserCenter/script.js << 'JSEOF'
// HoloLake 用户中心 · 交互脚本
// 六个菜单的详情内容
const menuDetails = {
'个人资料': {
icon: '👤',
title: '个人资料',
content: `
光湖用户
HL-000001
user@hololake.com
2026-03-01
🌟 初级探索者
`
},
'我的记忆': {
icon: '🧠',
title: '我的记忆',
content: `
💡 AI伙伴会自动记住你们的对话,下次聊天时自动调用
`
},
'AI伙伴': {
icon: '🤖',
title: 'AI伙伴',
content: `
🌊
知秋
🟢 在线 · 随时陪你
你的专属AI伙伴,擅长倾听、陪伴和技术引导
陪伴天数:3天
对话次数:12次
`
},
'使用统计': {
icon: '📊',
title: '使用统计',
content: `
`
},
'安全设置': {
icon: '🔐',
title: '安全设置',
content: `
修改密码
›
两步验证
已开启
登录设备管理
›
数据导出
›
`
},
'反馈建议': {
icon: '💬',
title: '反馈建议',
content: `
💡 你的每一条反馈都会被认真阅读
📧 也可以发邮件到 feedback@hololake.com
`
}
};
// 页面加载完成后绑定事件
document.addEventListener('DOMContentLoaded', function() {
const menuItems = document.querySelectorAll('.menu-item');
menuItems.forEach(function(item) {
item.addEventListener('click', function() {
const menuText = item.querySelector('.menu-text').textContent;
const detail = menuDetails[menuText];
if (detail) {
showDetail(detail);
}
});
});
});
// 显示详情页
function showDetail(detail) {
// 创建详情页容器
const overlay = document.createElement('div');
overlay.className = 'detail-overlay';
overlay.innerHTML = `
`;
document.body.appendChild(overlay);
// 添加动画
requestAnimationFrame(function() {
overlay.classList.add('show');
});
}
// 关闭详情页
function closeDetail() {
const overlay = document.querySelector('.detail-overlay');
if (overlay) {
overlay.classList.remove('show');
setTimeout(function() {
overlay.remove();
}, 300);
}
}
JSEOF
echo "✅ 交互脚本创建成功!"
```
> ::: callout {icon="✅" color="green_bg"}
>
> **做完应该看到**:终端显示 `✅ 交互脚本创建成功!`
>
> :::
>
📸 **截图发给冰朔!**
---
## 📋 步骤二:更新样式文件(添加详情页样式)
继续复制粘贴,按回车:
```bash
cat >> ~/HoloLake-UserCenter/style.css << 'CSSEOF'
/* ========== 环节1新增:详情页样式 ========== */
/* 详情页遮罩层 */
.detail-overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(10, 22, 40, 0.95);
z-index: 100;
opacity: 0;
transition: opacity 0.3s ease;
}
.detail-overlay.show {
opacity: 1;
}
/* 详情页容器 */
.detail-page {
max-width: 480px;
margin: 0 auto;
padding: 0 20px;
height: 100vh;
overflow-y: auto;
}
/* 详情页头部 */
.detail-header {
display: flex;
align-items: center;
padding: 16px 0;
border-bottom: 1px solid rgba(255,255,255,0.1);
gap: 12px;
}
.back-btn {
background: none;
border: 1px solid rgba(255,255,255,0.2);
color: #4fc3f7;
padding: 6px 12px;
border-radius: 8px;
cursor: pointer;
font-size: 14px;
}
.back-btn:hover {
background: rgba(79, 195, 247, 0.1);
}
.detail-title {
font-size: 18px;
font-weight: 600;
color: #e0e6ed;
}
/* 详情页内容 */
.detail-content {
padding: 24px 0;
}
/* 个人资料详情 */
.detail-item {
display: flex;
justify-content: space-between;
padding: 16px 0;
border-bottom: 1px solid rgba(255,255,255,0.06);
}
.detail-item label {
color: #8899aa;
font-size: 14px;
}
.detail-item span {
color: #e0e6ed;
font-size: 14px;
}
/* 记忆统计 */
.memory-stats {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 12px;
margin-bottom: 24px;
}
.stat-card {
background: rgba(79, 195, 247, 0.08);
border-radius: 12px;
padding: 20px 12px;
text-align: center;
border: 1px solid rgba(79, 195, 247, 0.15);
}
.stat-num {
display: block;
font-size: 28px;
font-weight: bold;
color: #4fc3f7;
margin-bottom: 4px;
}
.stat-label {
font-size: 12px;
color: #8899aa;
}
.memory-hint {
color: #8899aa;
font-size: 13px;
text-align: center;
padding: 16px;
background: rgba(255,255,255,0.03);
border-radius: 12px;
}
/* AI伙伴 */
.partner-card {
display: flex;
align-items: center;
gap: 16px;
padding: 24px 16px;
background: rgba(79, 195, 247, 0.08);
border-radius: 16px;
border: 1px solid rgba(79, 195, 247, 0.15);
margin-bottom: 16px;
}
.partner-avatar {
font-size: 48px;
}
.partner-info h3 {
font-size: 20px;
color: #e0e6ed;
margin-bottom: 4px;
}
.partner-status {
font-size: 13px;
color: #4fc3f7;
margin-bottom: 4px;
}
.partner-desc {
font-size: 12px;
color: #8899aa;
}
.partner-stats {
display: flex;
justify-content: space-around;
padding: 16px;
color: #8899aa;
font-size: 13px;
}
/* 使用统计 */
.usage-item {
display: flex;
align-items: center;
gap: 12px;
padding: 16px 0;
}
.usage-label {
color: #8899aa;
font-size: 13px;
min-width: 70px;
}
.usage-bar {
flex: 1;
height: 8px;
background: rgba(255,255,255,0.08);
border-radius: 4px;
overflow: hidden;
}
.usage-fill {
height: 100%;
background: linear-gradient(90deg, #4fc3f7, #29b6f6);
border-radius: 4px;
transition: width 0.6s ease;
}
.usage-num {
color: #e0e6ed;
font-size: 13px;
min-width: 60px;
text-align: right;
}
/* 安全设置 */
.setting-item {
display: flex;
justify-content: space-between;
align-items: center;
padding: 18px 0;
border-bottom: 1px solid rgba(255,255,255,0.06);
cursor: pointer;
}
.setting-item span:first-child {
color: #e0e6ed;
font-size: 15px;
}
.setting-arrow {
color: #556677;
font-size: 20px;
}
.setting-status {
font-size: 13px;
padding: 3px 10px;
border-radius: 12px;
}
.setting-status.on {
background: rgba(76, 175, 80, 0.15);
color: #66bb6a;
}
/* 反馈建议 */
.feedback-types {
display: flex;
gap: 8px;
margin-bottom: 20px;
}
.feedback-btn {
padding: 8px 16px;
border-radius: 20px;
border: 1px solid rgba(255,255,255,0.15);
background: transparent;
color: #8899aa;
font-size: 13px;
cursor: pointer;
}
.feedback-btn.active {
background: rgba(79, 195, 247, 0.15);
border-color: #4fc3f7;
color: #4fc3f7;
}
.feedback-area {
background: rgba(255,255,255,0.03);
border-radius: 12px;
padding: 24px 16px;
}
.feedback-placeholder {
color: #8899aa;
font-size: 13px;
margin-bottom: 12px;
}
CSSEOF
echo "✅ 详情页样式添加成功!"
```
> ::: callout {icon="✅" color="green_bg"}
>
> **做完应该看到**:终端显示 `✅ 详情页样式添加成功!`
>
> :::
>
📸 **截图发给冰朔!**
---
## 📋 步骤三:在HTML中引入脚本
复制粘贴下面的命令,按回车:
```bash
cd ~/HoloLake-UserCenter && sed -i '' 's|