← Back to registry

Quality & Utilities

产品页组件改写

product-page-component-rewriter

在 LingxiLearn 项目中开发或改写产品主页及附属介绍页,只复用和改写现有 React/Next.js 组件,完成文案替换、指定组件替换/改写和静态资源替换指导;当用户通过浏览器控制台选中元素、提供页面元素或要求定位某个产品页组件时使用。

产品页组件改写

目标与硬约束

web/app/(landing) 范围内完成主页、产品能力页、解决方案页、企业页、集成页、内容页及法律/介绍页的改写。优先修改页面配置、数据对象、现有组件 props 和已有静态资源引用;禁止新增页面级 CSS、CSS module、Tailwind 样式、inline style 或从零绘制新的视觉组件。若需求无法由现有组件承载,先说明缺口并请求用户确认,不要偷偷手写样式。

工作流

  1. 读取 组件目录,并用 rg 搜索用户给出的文本、路由、组件名、DOM 文本或资源 URL。
  2. 将浏览器控制台选中的元素映射到源码:优先使用 data-*id、可见文本、href/src、React 组件命名和父级结构;再检查页面入口及配置对象。不要只凭 CSS class 猜测。
  3. 阅读命中的页面入口、组件实现、类型定义和相邻 index.ts 导出,确认修改属于共享组件还是页面专属配置。共享组件改动必须检查所有调用方。
  4. 先复用已存在的页面模板或变体:主页用 Landing 组件组合;能力/解决方案页用 SolutionsPageConfig;法律/长文介绍页用 ProsePage;未接入占位页沿用 CapabilityPage。静态资源优先替换已有 web/public 文件或引用路径,不生成新视觉样式。
  5. 用最小补丁实施:文案集中在 config/constants/content;组件改写保留既有 className、布局、动画、响应式和无障碍语义;不要为了改文字复制一套组件。
  6. 验证 rg 无旧文案残留(除明确保留的技术专名),运行 bun run type-check 与相关测试;必要时运行 bun run lint:check。报告修改文件、复用的组件、未能由现有组件实现的部分。

控制台选中元素协议

用户可以发送 DevTools 选中的 $0 信息、元素 HTML、可见文本、页面 URL 或截图。按以下顺序定位:

  • 页面:由 URL pathname 映射 web/app/(landing)/*/page.tsx,再追到同目录的实现文件。
  • 组件:由可见文案/链接/图片源搜索,沿 JSX 父子树和 import 路径向上追到命名组件。
  • 重复元素:结合父级语义、数组数据项、aria-label、链接 href 和相邻文本确认索引,不修改所有实例除非用户明确要求。
  • 仅有运行时 class:把 class 当作线索,必须回到 JSX/配置/组件源代码确认;不要直接改生成的 DOM 或构建产物。

资源替换规则

先盘点 web/public 和现有 import 的静态资源,判断是替换同尺寸资源、修改既有资源路径,还是仅提供用户替换指导。若用户尚未提供新资源,不伪造资源;给出准确的目标文件、引用点、尺寸/比例和命名要求。保留 next/image、预加载、alt 文本和已有 fallback 行为。

交付检查

确认:没有新增样式文件或手写样式;所有新文案落在已有内容入口;共享组件的调用方未被意外破坏;页面路由、SEO/JSON-LD、CTA 链接、图片 alt 和移动端结构仍有效;类型检查通过。对于未接入页面,不把占位 CapabilityPage 误当成完整产品页。

Repository resources

References

Repository resources

Agents