diff --git a/.workbuddy/memory/2026-09-03.md b/.workbuddy/memory/2026-09-03.md index 17e9df7..ab77412 100644 --- a/.workbuddy/memory/2026-09-03.md +++ b/.workbuddy/memory/2026-09-03.md @@ -364,3 +364,31 @@ - **CDP 冒烟** `tmp/cdp-r38-home-btn.mjs`(9225)15/15 PASS:三资源版本(z/w/aa)加载 ✓;homeRankUpdate 纯图标透明底(bg/border rgba(0,0,0,0))宽 35px ✓;**紧贴 tab 右侧 12px** ✓;与筛选控件同行无溢出(sameLineTools=true overflow=false)✓;点击 → 确认弹窗出现(title=更新榜单数据/上次更新 2026-08-24/取消+确认按钮)✓ 取消关闭 ✓ - **脚本坑**:`link[href$=".css"]` 匹配不上带 `?v=` query 的 href(以 z 结尾非 .css)→ 改 `link[rel="stylesheet"]` 后全绿 - **R35-R38 累计未推送**:本地 HEAD 领先 origin/main 2 commit(449d784 R35 / 1f147e8 R36)+ working tree R37/R38 待提交 + +## R39 网页改名 MCN创意雷达 + 首页榜单行垂直居中 + 下载按钮换 globe 图标浅色(09-03 18:00) +- **改名需求**:用户「将MCN工作台 网页上的名称改为 MCN创意雷达」——只改**网页显示层**(浏览器标题 title/面包屑 crumb-home/4 文件头注释/server.js 启动日志);**技能注册名「短视频工作台」绝不触碰**——`skills: ['短视频工作台']` 是工作台自身作为「短视频创作脚本技能」子技能挂载的标识,改名会导致 Skill 工具按名加载失败;工程目录名 `mcn-work-shop` 也保留 +- **改名 6 文件**: + - `public/index.html` L6 `MCN工作台` → `MCN创意雷达` + - `public/app.js` L1 注释 + L732-733 面包屑两处(无 name span + 有 name a)+ L330 homeRankUpdate 按钮图标 download→globe + - `public/data-pages.js` L1 注释 + L528 rankUpdate + L795 accUpdate 三处 download→globe + - `public/style.css` L1 注释 + L430 #rankUpdate + L432 .home-rank-update 加 `color: var(--dim)`(浅色 icon,hover 自动继承 `.btn:hover` 变蓝) + - `server.js` L1 注释 + L974 启动日志 `MCN工作台已启动` → `MCN创意雷达已启动` + - `dsh-data.js` L1 注释 +- **垂直居中修复**: + - 用户「首页 榜单的 下载按钮 和 右边的功能组件 都没有和 tab组件保持 垂直居中,现在是靠下的」 + - 排查:`.rank-tabs` 全局 `align-self: stretch; margin-bottom: 10px`(下拉底线设计,底部 border 对齐列表)——当 `.rank-tabs` 作为 `.recent-head`(flex align-items:center)子项时,stretch + margin-bottom 使其被拉伸且下移,tab 文字相对兄弟偏上 **~5px** + - 修复:`style.css` L602 后新增首页局部覆盖 `.rank-preview .recent-head .rank-tabs { align-self: center; margin-bottom: 0; }`(CDP 实测修复后 tab 组中线/筛选中线/⬇ 中线偏差均 0px) +- **globe 图标(互联网语义替换文件下载)**: + - `ICON_PATHS` 新增 Lucide globe:`''`(圆+椭圆经线+水平纬线,与 download 箭头+托盘区分「从互联网抓取数据」) + - 三处按钮图标 download→globe:首页 `#homeRankUpdate`(`app.js` L330)/ 热点 `#rankUpdate`(`data-pages.js` L528)/ 账号列表 `#accUpdate`(`data-pages.js` L795,保留「更新」文字) +- **浅色 icon**:`#rankUpdate` + `.home-rank-update` 常态 `color: var(--dim)`(#6b7280 浅灰),hover 自动继承 `.btn:hover { color: var(--primary) }` 变蓝——无需额外 hover 规则 +- **版本**:style.css z→aa、app.js w→x、data-pages.js aa→ab(同文件三处 bump 串行) +- **CDP 冒烟**(9225)拆 3 段独立连接(**`cdp-r39-brand.mjs` 完整脚本因 Page.reload+navigate 间歇 SIGTERM 拆为 a/b/c 三段单页最小脚本**),合计 **15/15 PASS**: + - 段 A `tmp/r39-a-home.mjs`(首页 #/):版本三绿(aa/x/ab)✓ / title=MCN创意雷达 ✓ / 面包屑=MCN创意雷达 ✓ / homeRankUpdate globe+浅色 rgb(107,114,128) ✓ / tab 组中线偏移=0px ✓ / 筛选中线偏移=0px ✓(9 项 PASS) + - 段 B `tmp/r39-b-ranking.mjs`(#/ranking):rankUpdate globe ✓ / 浅色 ✓ / 与最后 tab 中线偏移=0px ✓ / 距最后 tab 4px 紧贴 ✓ / 透明底 rgba(0,0,0,0) ✓(5 项 PASS) + - 段 C `tmp/r39-c-accounts.mjs`(#/accounts):accUpdate globe ✓ + 文字「更新」保留 ✓(1 项 PASS) +- **冒烟脚本坑**: + - **selector bug**:`document.querySelector('.rank-tabs .rank-tab:last-of-type')` 在 #/ranking 页**返回 null**——`.rank-tabs` 容器内是 4 个 ` - +
@@ -728,8 +729,8 @@ function parseHash() { function updateCrumbs(name, title) { const c = $('#crumbs'); - if (!name) { c.innerHTML = 'MCN 工作台'; return; } - c.innerHTML = `MCN 工作台/${esc(title || CRUMB_TITLES[name] || '功能页')}`; + if (!name) { c.innerHTML = 'MCN创意雷达'; return; } + c.innerHTML = `MCN创意雷达/${esc(title || CRUMB_TITLES[name] || '功能页')}`; } async function router() { diff --git a/project/短视频脚本创作/V1.0/mcn-work-shop/public/data-pages.js b/project/短视频脚本创作/V1.0/mcn-work-shop/public/data-pages.js index 87e994c..e5c6a72 100644 --- a/project/短视频脚本创作/V1.0/mcn-work-shop/public/data-pages.js +++ b/project/短视频脚本创作/V1.0/mcn-work-shop/public/data-pages.js @@ -1,4 +1,4 @@ -/* MCN工作台 - 数据功能页(周榜/账号/视频/脚本/复盘,只读 + prompt 触发) +/* MCN创意雷达 - 数据功能页(周榜/账号/视频/脚本/复盘,只读 + prompt 触发) 依赖 app.js 暴露的工具:esc/api/renderMarkdown/copyText/showToast/fmtSize */ 'use strict'; @@ -525,7 +525,7 @@ async function renderRanking(view) { // 09-03 page-toolbar 只放 返回+标题;rank-toolbar 恒渲染含 tab + 下载按钮(紧贴 tab 右侧)保证空态/错误态也能看到更新入口(首次抓取);筛选+翻页仅 withFilters 时出现在同行最右 const toolbar = (s, withFilters) => { const tabsHtml = `${RANK_TABS.map(([k, label, tip]) => ``).join('')} - `; + `; const filtersHtml = withFilters ? `
${tracks.map((t) => ``).join('')} - +
diff --git a/project/短视频脚本创作/V1.0/mcn-work-shop/public/index.html b/project/短视频脚本创作/V1.0/mcn-work-shop/public/index.html index 02bc0e1..ca2506a 100644 --- a/project/短视频脚本创作/V1.0/mcn-work-shop/public/index.html +++ b/project/短视频脚本创作/V1.0/mcn-work-shop/public/index.html @@ -3,8 +3,8 @@ -MCN工作台 - +MCN创意雷达 + @@ -41,7 +41,7 @@
- - + + diff --git a/project/短视频脚本创作/V1.0/mcn-work-shop/public/style.css b/project/短视频脚本创作/V1.0/mcn-work-shop/public/style.css index acd5eff..f993017 100644 --- a/project/短视频脚本创作/V1.0/mcn-work-shop/public/style.css +++ b/project/短视频脚本创作/V1.0/mcn-work-shop/public/style.css @@ -1,4 +1,4 @@ -/* MCN工作台样式 - 亮色主题 */ +/* MCN创意雷达样式 - 亮色主题 */ :root { --bg: #f5f6f8; --panel: #ffffff; @@ -427,9 +427,9 @@ main#view { height: calc(100vh - 55px); overflow: auto; } /* 55px=topbar 实际 .btn:disabled { opacity: .5; cursor: not-allowed; } .btn-busy { background: var(--primary-soft) !important; color: var(--primary) !important; border-color: var(--primary) !important; opacity: .8; } .btn-icon { padding: 5px 9px; display: inline-flex; align-items: center; justify-content: center; } /* 纯图标按钮(09-03:榜单更新等) */ -#rankUpdate { padding-left: 11.5px; padding-right: 11.5px; background: transparent; border-color: transparent; } /* 09-03 更新按钮加宽 5px(icon 16 + 左右 padding 9→11.5),更易点中;去白底/边框只显 icon */ +#rankUpdate { padding-left: 11.5px; padding-right: 11.5px; background: transparent; border-color: transparent; color: var(--dim); } /* 09-03 更新按钮加宽 5px(icon 16 + 左右 padding 9→11.5),更易点中;去白底/边框只显 icon,常态浅灰 hover 蓝(.btn:hover) */ #rankUpdate:hover { background: transparent; border-color: transparent; } /* 覆盖 .btn:hover 默认主色边框 */ -.home-rank-update { background: transparent; border-color: transparent; padding-left: 11.5px; padding-right: 11.5px; } /* 09-03 首页榜单下载按钮:去白底只显 icon,padding 与榜单 #rankUpdate 对齐 */ +.home-rank-update { background: transparent; border-color: transparent; padding-left: 11.5px; padding-right: 11.5px; color: var(--dim); } /* 09-03 首页榜单下载按钮:去白底只显 icon,padding 与榜单 #rankUpdate 对齐,常态浅灰 */ .home-rank-update:hover { background: transparent; border-color: transparent; } .btn-busy .ic { animation: req-spin 1s linear infinite; } /* busy 态图标旋转(复用弹窗 spinner 动画) */ .btn-sm { padding: 3px 10px; font-size: 14px; border-radius: 6px; } @@ -599,6 +599,8 @@ td.td-title { max-width: 240px; } /* ================= 首页 账号周榜 预览 ================= */ .rank-preview { margin: 4px 0 20px; } .rank-tabs { display: flex; gap: 4px; border-bottom: 1px solid var(--border); padding-bottom: 0; margin-bottom: 10px; align-self: stretch; } +/* 首页预览:tab 组与 ⬇/筛选同行需垂直居中对齐——全局 .rank-tabs 的 stretch+margin-bottom 会使 tab 组相对兄弟控件偏上 ~5px */ +.rank-preview .recent-head .rank-tabs { align-self: center; margin-bottom: 0; } .rank-tab { border: none; background: transparent; color: var(--dim); padding: 6px 12px 4px; border-radius: 8px 8px 0 0; cursor: pointer; font-size: 14px; border-bottom: 2px solid transparent; } .rank-tab:hover { color: var(--primary); background: var(--primary-soft); } .rank-tab.active { color: var(--primary); font-weight: 600; background: var(--primary-soft); border-bottom: 2px solid var(--primary); } diff --git a/project/短视频脚本创作/V1.0/mcn-work-shop/server.js b/project/短视频脚本创作/V1.0/mcn-work-shop/server.js index d640aba..f1cc1de 100644 --- a/project/短视频脚本创作/V1.0/mcn-work-shop/server.js +++ b/project/短视频脚本创作/V1.0/mcn-work-shop/server.js @@ -1,4 +1,4 @@ -// MCN工作台 - 本地 Web 服务(零依赖 Node 实现) +// MCN创意雷达 - 本地 Web 服务(零依赖 Node 实现) // 启动: node server.js [端口] → http://localhost:8900(默认;可传参指定端口,如 node server.js 9000) // 功能: 技能导航 + 产出内容浏览(默认读桌面 MCNSkill项目)+ dsh 数据功能页(账号/视频/脚本/复盘/周榜,只读) 'use strict'; @@ -971,7 +971,7 @@ function listen(port) { } }); server.listen(port, '127.0.0.1', () => { - log('MCN工作台已启动: http://localhost:' + port); + log('MCN创意雷达已启动: http://localhost:' + port); log('默认项目地址: ' + DEFAULT_ROOT + (fs.existsSync(DEFAULT_ROOT) ? '' : '(不存在)')); log('按 Ctrl+C 停止服务'); });