# 移除联系电话和更新 Logo 字体 实现计划 > **面向 AI 代理的工作者:** 必需子技能:使用 superpowers:subagent-driven-development(推荐)或 superpowers:executing-plans 逐任务实现此计划。步骤使用复选框(`- [ ]`)语法来跟踪进度。 **目标:** 移除网站中"电话咨询"按钮,并更新 Logo SVG 使用青柳隶书字体 **架构:** 移除 3 个组件中的"电话咨询"按钮及相关 import,使用青柳隶书字体重新生成 Logo SVG path **技术栈:** React, TypeScript, Next.js, SVG --- ## 文件结构 | 文件 | 操作 | 职责 | |------|------|------| | `src/components/services/service-cta-section.tsx` | 修改 | 移除"电话咨询"按钮和 Phone 图标 import | | `src/components/products/product-cta-section.tsx` | 修改 | 移除"电话咨询"按钮和 Phone 图标 import | | `src/app/(marketing)/solutions/[id]/solution-detail-client.tsx` | 修改 | 移除"电话咨询"按钮和 Phone 图标 import | | `public/logo.svg` | 替换 | 使用青柳隶书字体重新生成 SVG path | | `public/logo-white.svg` | 替换 | 使用青柳隶书字体重新生成 SVG path | --- ## 任务 1:移除 service-cta-section.tsx 中的"电话咨询"按钮 **文件:** - 修改:`src/components/services/service-cta-section.tsx` - [ ] **步骤 1:读取文件内容** 运行:读取 `src/components/services/service-cta-section.tsx` - [ ] **步骤 2:移除 Phone 图标 import** 修改文件,将: ```tsx import { Phone } from 'lucide-react'; ``` 改为: ```tsx ``` (删除整行) - [ ] **步骤 3:移除"电话咨询"按钮** 修改文件,删除以下代码块: ```tsx 电话咨询 ``` - [ ] **步骤 4:验证修改** 运行:`pnpm build` 预期:构建成功,无错误 - [ ] **步骤 5:Commit** ```bash git add src/components/services/service-cta-section.tsx git commit -m "refactor(services): 移除电话咨询按钮 - 移除 service-cta-section 中的电话咨询按钮 - 移除 Phone 图标 import - 公司暂无对外联系电话" ``` --- ## 任务 2:移除 product-cta-section.tsx 中的"电话咨询"按钮 **文件:** - 修改:`src/components/products/product-cta-section.tsx` - [ ] **步骤 1:读取文件内容** 运行:读取 `src/components/products/product-cta-section.tsx` - [ ] **步骤 2:移除 Phone 图标 import** 修改文件,将: ```tsx import { Phone } from 'lucide-react'; ``` 改为: ```tsx ``` (删除整行) - [ ] **步骤 3:移除"电话咨询"按钮** 修改文件,删除以下代码块: ```tsx 电话咨询 ``` - [ ] **步骤 4:验证修改** 运行:`pnpm build` 预期:构建成功,无错误 - [ ] **步骤 5:Commit** ```bash git add src/components/products/product-cta-section.tsx git commit -m "refactor(products): 移除电话咨询按钮 - 移除 product-cta-section 中的电话咨询按钮 - 移除 Phone 图标 import - 公司暂无对外联系电话" ``` --- ## 任务 3:移除 solution-detail-client.tsx 中的"电话咨询"按钮 **文件:** - 修改:`src/app/(marketing)/solutions/[id]/solution-detail-client.tsx` - [ ] **步骤 1:读取文件内容** 运行:读取 `src/app/(marketing)/solutions/[id]/solution-detail-client.tsx` - [ ] **步骤 2:查找并移除"电话咨询"按钮** 找到包含"电话咨询"的按钮代码并删除: ```tsx ``` - [ ] **步骤 3:检查并移除 Phone 图标 import(如果不再使用)** 检查文件中是否还有其他地方使用 Phone 图标。如果没有,删除: ```tsx import { Phone } from 'lucide-react'; ``` - [ ] **步骤 4:验证修改** 运行:`pnpm build` 预期:构建成功,无错误 - [ ] **步骤 5:Commit** ```bash git add src/app/\(marketing\)/solutions/\[id\]/solution-detail-client.tsx git commit -m "refactor(solutions): 移除电话咨询按钮 - 移除 solution-detail-client 中的电话咨询按钮 - 移除 Phone 图标 import(如果不再使用) - 公司暂无对外联系电话" ``` --- ## 任务 4:使用青柳隶书字体重新生成 Logo SVG **文件:** - 替换:`public/logo.svg` - 替换:`public/logo-white.svg` - [ ] **步骤 1:检查青柳隶书字体文件** 运行:检查 `src/app/fonts/AoyagiReisho.ttf` 是否存在 - [ ] **步骤 2:使用 Python 脚本生成新的 Logo SVG** 创建并运行 Python 脚本,使用青柳隶书字体生成"睿新致遠"的 SVG path: ```python #!/usr/bin/env python3 """ 使用青柳隶书字体生成 Logo SVG path """ import os from fontTools.ttLib import TTFont from fontTools.pens.svgPathPen import SvgPathPen from fontTools.pens.t2CharStringPen import T2CharStringPen def get_glyph_path(font_path, text, size=48): """ 获取文本的 SVG path """ font = TTFont(font_path) glyf_table = font['glyf'] paths = [] x_offset = 0 for char in text: glyph_name = font.getBestCmap().get(ord(char)) if glyph_name: glyph = glyf_table[glyph_name] if glyph.numberOfContours > 0: pen = SvgPathPen(None) glyph.draw(pen, glyf_table) path = pen.getCommands() paths.append(f'') x_offset += size * 1.2 return '\n'.join(paths) def generate_logo_svg(): """ 生成 Logo SVG """ font_path = 'src/app/fonts/AoyagiReisho.ttf' text = '睿新致遠' if not os.path.exists(font_path): print(f"错误:字体文件不存在:{font_path}") return # 生成 SVG path paths = get_glyph_path(font_path, text) # 创建 SVG svg_template = f''' {paths} {paths} NOVALON ''' return svg_template if __name__ == '__main__': svg_content = generate_logo_svg() if svg_content: with open('public/logo.svg', 'w', encoding='utf-8') as f: f.write(svg_content) print("Logo SVG 已生成:public/logo.svg") ``` 运行脚本: ```bash python3 scripts/generate-logo-svg.py ``` - [ ] **步骤 3:生成白色版本 Logo** 复制生成的 Logo SVG 并修改颜色: ```bash cp public/logo.svg public/logo-white.svg ``` 修改 `public/logo-white.svg`,将 `fill="#C41E3A"` 改为 `fill="white"` - [ ] **步骤 4:验证 Logo 显示** 运行:`pnpm dev` 访问:http://localhost:3000 预期:Logo 正确显示,使用青柳隶书字体 - [ ] **步骤 5:Commit** ```bash git add public/logo.svg public/logo-white.svg git commit -m "style(logo): 使用青柳隶书字体更新 Logo - 使用青柳隶书字体重新生成 Logo SVG path - 更新 logo.svg 和 logo-white.svg - 确保品牌字体一致性" ``` --- ## 任务 5:运行完整测试并验证 **文件:** - 无文件修改 - [ ] **步骤 1:运行构建** 运行:`pnpm build` 预期:构建成功,无错误 - [ ] **步骤 2:运行 E2E 测试** 运行:`pnpm test` 预期:所有测试通过 - [ ] **步骤 3:手动验证关键页面** 访问以下页面验证: - 首页:http://localhost:3000 - 服务页面:http://localhost:3000/services - 产品页面:http://localhost:3000/products - 解决方案详情页:http://localhost:3000/solutions/[id] - 联系页面:http://localhost:3000/contact 验证内容: - ✅ Logo 显示正确 - ✅ 无"电话咨询"按钮 - ✅ 联系表单电话字段正常显示 - [ ] **步骤 4:最终 Commit(如有遗漏)** 如果有遗漏的修改,在此步骤提交。 --- ## 任务 6:部署到生产环境 **文件:** - 无文件修改 - [ ] **步骤 1:推送代码到远程** 运行:`git push origin main` 预期:推送成功 - [ ] **步骤 2:构建生产版本** 运行:`pnpm build` 预期:构建成功 - [ ] **步骤 3:部署到生产服务器** 运行:`./deploy-dist.sh` 预期:部署成功 - [ ] **步骤 4:验证生产环境** 访问:https://novalon.cn 验证内容: - ✅ Logo 显示正确 - ✅ 无"电话咨询"按钮 - ✅ 联系表单电话字段正常显示 --- ## 自检清单 ### 1. 规格覆盖度 | 规格需求 | 对应任务 | |---------|---------| | 移除 service-cta-section.tsx 中的"电话咨询"按钮 | 任务 1 | | 移除 product-cta-section.tsx 中的"电话咨询"按钮 | 任务 2 | | 移除 solution-detail-client.tsx 中的"电话咨询"按钮 | 任务 3 | | 更新 Logo SVG 使用青柳隶书字体 | 任务 4 | | 保留联系表单电话字段 | 无需修改(已确认) | | 测试验证 | 任务 5 | | 部署生产 | 任务 6 | ### 2. 占位符扫描 - ✅ 无"待定"、"TODO"、"后续实现"等占位符 - ✅ 所有代码步骤包含完整代码 - ✅ 所有命令步骤包含完整命令 - ✅ 无"类似任务 N"的引用 ### 3. 类型一致性 - ✅ 所有文件路径使用精确路径 - ✅ 所有组件名称一致 - ✅ 所有 import 语句正确 --- ## 执行选项 **计划已完成并保存到 `docs/superpowers/plans/2026-04-25-remove-phone-and-update-logo-font.md`。两种执行方式:** **1. 子代理驱动(推荐)** - 每个任务调度一个新的子代理,任务间进行审查,快速迭代 **2. 内联执行** - 在当前会话中使用 executing-plans 执行任务,批量执行并设有检查点 **选哪种方式?**