使用 React (Vite + TypeScript + Tailwind CSS 4) 根据客户提供的素材(标志、图片、演示文稿等)创建专业机构网站
机构网站建设者
功能概述
机构网站建设者是一项面向实际任务的技能,主要用于技能 e specializada em criar sites institucionais de alta 是一项面向实际任务的技能,主要用于O 工作流程 Projetado para exir o máximo dos m.;它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
核心要点
- 从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。
- 实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
- 若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
使用与执行
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
结果检查与注意事项
该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
Institutional Site Builder
一项专注于根据客户提供的参考资料,构建高质量机构类网站的专业技能。该工作流旨在最大限度地利用客户交付的素材(Logo、视觉识别系统、演示文稿、PDF 等),将其转化为一个专业的 React 网站,具备交互动画、响应式布局与优化的性能表现。
技术栈
本项目始终使用以下技术:
- Vite(v6+)作为打包工具(bundler)
- React 19 + TypeScript
- Tailwind CSS 4,通过
@tailwindcss/vite集成 - Framer Motion 实现动画效果
- Lucide React 提供图标支持
可选依赖(按需安装):
three+@types/three—— 用于实现动态 3D 背景(如 DottedSurface、着色器背景等)react-use-measure—— 支持 InfiniteSlider(例如 Logo Cloud、跑马灯效果)
六阶段工作流
第一阶段:素材探索与清点
在编写任何代码之前,请全面审视用户提供的所有素材。此阶段至关重要,因为素材将决定网站的整体调性、配色方案、文案内容与图像资源。
请将素材按以下逻辑类别进行心智归类:
| 类别 | 需查找的内容 | 用途说明 |
|---|---|---|
| 视觉识别系统(Identidade Visual) | 色值(十六进制)、字体规范、品牌指南(guidelines) | 用于定义 CSS 中的 @theme 变量,包括主色调、强调色(accent)、渐变等 |
| Logo | 明/暗版本、横/竖版、SVG/PNG 格式 | 导航栏(Navbar)使用横版浅色;页脚(Footer)使用横版浅色;Favicon 使用深色图标 |
| 产品图片(Imagens de Produto) | 截图(screenshots)、设计稿(mockups)、业务场景实拍图 | 用于功能卡片(Feature cards)、首屏背景(hero background)、时间轴(timeline)、滚动媒体(scroll media)等模块 |
| 演示文稿(Apresentações) | PPT、含产品信息的 PDF 文件 | 提取其中的文案、标题(headlines)、要点(bullet points)及章节结构 |
| UI 组件(Componentes UI) | .txt 文件,内含参考用的 React 代码片段 | 适配至当前项目(移除 shadcn、Next.js 等无关依赖) |
| 联系信息(Dados de Contato) | 邮箱、电话、社交媒体账号、物理地址 | 用于页脚(Footer)、联系表单(Contato)以及悬浮 WhatsApp 按钮 |
| 客户 Logo(Logos de Clientes) | 合作伙伴或客户企业的 Logo | 用于“社会证明”(social proof)模块,并以 InfiniteSlider 展示 |
素材探索检查清单:
- 对用户提供的整个文件夹执行递归
ls -la - 使用 Read 工具读取所有图像(Logo、视觉识别素材、关键幻灯片截图等)
- 解析 PDF / PPT 文件,提取文本内容
- 精准识别并记录主配色方案(hex codes)
- 映射每张图像适用的页面位置(即哪张图用于哪个模块)
- 记录联系信息、产品名称、宣传语(taglines)等关键文本
第二阶段:网站规划
完成素材清点后,通过 AskUserQuestion 向用户确认以下问题:
- 语言 —— PT-BR、EN,还是双语?
- 页面结构 —— 完整版(Hero、Problema、Solução、Features、Benefícios、Clientes、CTA、Contato、Footer)还是精简版?
- 视觉风格 —— 暗黑高端(Dark premium)、明亮简洁(Light/clean),还是混合模式(Híbrido)?
- 联系方式呈现方式 —— 表单 + WhatsApp 浮动按钮、仅展示链接,还是完整表单?
大多数 B2B 类机构网站遵循如下标准页面顺序(可根据实际需求调整):
1. Navbar(固定定位,滚动时启用模糊效果) 2. Hero(价值主张 + CTA) 3. Contexto/Problema(产品存在的原因) 4. Solução(产品具体功能) 5. Pipeline/Processo(运作流程,分步说明) 6. Funcionalidades(带图的功能卡片) 7. Detalhes técnicos(IoT、集成能力等) 8. Benefícios(按类别划分的卡片组) 9. Canais de Entrega(多渠道集成能力) 10. Clientes(Logo Cloud + 社会证明)← CTA 前置 11. CTA Final(冲击力文案 + 按钮) 12. Contato(表单 + 联系信息) 13. Footer(链接、Logo、版权信息) 14. WhatsApp Flutuante(悬浮 WhatsApp 按钮)
第三阶段:项目初始化
npm create vite@latest-- --template react-ts cd npm install npm install -D tailwindcss @tailwindcss/vite --legacy-peer-deps npm install framer-motion lucide-react
配置 vite.config.ts:
import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
import tailwindcss from '@tailwindcss/vite'
export default defineConfig({
plugins: [react(), tailwindcss()],
build: {
rollupOptions: {
output: {
manualChunks: {
// 根据重型库的实际使用情况添加
'framer-motion': ['framer-motion'],
},
},
},
},
})
在 src/index.css 中配置客户配色方案:
@import "tailwindcss";
@theme {
/* 从客户视觉识别系统中提取的色值 */
--color-primary-900: #XXXXXX;
--color-primary-800: #XXXXXX;
/* ... 全量映射客户配色方案 ... */
--color-accent: #XXXXXX;
--font-sans: 'Inter', system-ui, sans-serif;
}
配置 index.html:
- 设置正确的
lang属性(如 pt-BR 或 en) - 设置包含产品关键词的
- 通过 defer 加载 Google Fonts(避免阻塞渲染):
复制静态资源(assets):
- 创建
public/images/目录,并复制全部产品相关图像 - 如有客户 Logo,创建
public/images/clientes/目录 - 复制 Logo 文件(优先选用横版用于 Navbar)
第四阶段:网站开发
对于总行数约 ≤800 行的中小型网站,全部实现在单一 App.tsx 文件中;更大规模的网站,则应在 src/components/ 下拆分为独立组件。
所有图像必须遵守以下强制规范:
必须包含的实用工具组件:
useInView()—— 基于 Intersection Observer 实现进入视口时的动画触发Section—— 封装容器,支持滚动时自动触发动画(opacity + translateY)TextCycle—— 支持滑动向上(slideUp)切换关键词的文本轮播组件
每个页面模块开发前,请查阅 references/components.md,其中提供了针对本技术栈(无 shadcn、Next.js 或 cn() 依赖)定制的完整模板。
第五阶段:性能优化(强制执行)
此阶段必须在向用户交付前完成。
5.1 图像优化 —— 转换为 WebP 格式:
from PIL import Image
import glob, os
for f in glob.glob("public/images/*.png") + glob.glob("public/images/*.jpg"):
if os.path.getsize(f) > 100_000:
img = Image.open(f)
if img.width > 1200:
ratio = 1200 / img.width
img = img.resize((1200, int(img.height * ratio)), Image.LANCZOS)
img.save(f.rsplit('.', 1)[0] + '.webp', 'WEBP', quality=80)
更新代码中所有图像引用路径为 .webp 后缀。
5.2 字体加载 —— 消除渲染阻塞:
在 index.html 中采用 media="print" onload="this.media='all'" 模式。
5.3 JavaScript —— 代码分割(Code splitting):
- 重型库(如 Three.js)采用 lazy import + Suspense 方式加载
- 在
vite.config.ts中配置manualChunks - 主 JS bundle 大小应控制在 300KB 以内
5.4 最低可访问性(Acessibilidade mínima)要求:
- 主容器添加
role="main" - 所有
标签均需提供alt属性 - 所有
标签均需显式声明width和height - 标题层级(heading)须严格按顺序使用(h1 → h2 → h3)
- 文本与背景之间需满足足够的对比度
5.5 基础 SEO 支持:
标签需具描述性应体现核心产品信息标签中需设置正确lang属性
第六阶段:交付
- 执行
npm run build,确保构建无报错 - 将完整项目复制到用户指定目录
- 提供本地路径链接:
computer:///path/to/project - 指导用户运行:
cd nome-site && npm install && npm run dev
参考资料
references/components.md—— 全量 23 个组件的分类目录表、Next.js→Vite 迁移速查表(cheat sheet),以及内联可用的完整模板references/components/—— 23 个原始 .txt 文件,每个文件均含完整 TSX 代码、Demo 示例及所依赖项references/patterns.md—— CSS 设计模式、动画实现、玻璃拟态(glass morphism)、渐变应用、图像优化策略等
可用组件列表(共 31 个 —— 23 个基础组件 + 8 个来自 21st.dev 的扩展组件)
首屏模块(Heroes): Glassmorphism Trust Hero、3D Hero(Spline)、Scroll Expand Media 背景模块(Backgrounds): Animated Shader(GLSL Aurora)、Flow Field(Canvas 2D)、Dotted Surface(Three.js) 导航模块(Navigation): Tubelight Navbar、Limelight Nav(支持暗色模式) 卡片模块(Cards): Glowing Effect Border、Bauhaus Card、Bento Grid 内容模块(Content): Timeline(基于滚动触发)、Vertical Tabs、DB/API Diagram、Global Map、Logo Cloud(InfiniteSlider) 动画模块(Animations): Text Cycle、Loading Skeleton、Container Scroll 3D、Notification Alert 工具模块(Utility): Page 404、Footer、Password Confirmation
21st.dev 扩展组件: Starfall Portfolio Landing、Parallax Feature Section、Metaball Hero、Rotating Prompts、Collapsible Header、Image Card、Spotlight、Accordion
使用任一组件前,请先阅读 references/components.md 获取组件目录索引,再查阅对应组件的 .txt 文件(位于 references/components/ 目录下为基础组件;references/components/21st-dev/ 下为扩展组件)。
若需进一步检索 21st.dev 的其他组件,请调用其 API:POST /api/prompts,请求体为 {"prompt_type":"extended","demo_id":。完整说明详见 references/components.md。
用户素材目录结构建议
当用户提供素材时,本技能期望(或推荐)采用如下组织结构:
materiais-projeto/ ├── logos/ ← Logo 各种变体(明/暗、横/竖) ├── identidade-visual/ ← 配色方案、品牌指南、字体规范 ├── imagens/ ← 产品照片、截图、设计稿(mockups) ├── apresentacoes/ ← 含产品信息的 PPT、PDF 文件 ├── clientes/ ← 客户/合作伙伴企业 Logo ├── components/ ← UI 组件参考文件(含 React 代码的 .txt) └── copy/ ← 文案、宣传语、描述性文字(如有单独整理)
若用户提供的素材未按此结构组织,本技能仍会主动遍历并完成归类;但若用户主动询问“如何组织素材?”,请直接推荐上述目录结构。
热门AI工具
相关专题
本专题聚焦Docker Desktop容器端口映射与访问配置,整理从创建容器、设置端口绑定到验证本地服务访问的操作流程。针对端口被占用、映射配置错误、容器服务无法访问等情况,也提供相应的检查方向,方便用户完成端口配置。
0
2026.11.03
想使用Docker Desktop将本地项目构建成Docker镜像?本专题围绕镜像构建的实际操作展开,介绍Dockerfile编写、构建命令使用、镜像标签设置和构建日志查看等内容,同时整理镜像无法生成、依赖安装失败及构建缓存异常等问题的排查思路。
0
2026.11.03
本专题聚焦Docker Desktop容器创建与运行配置,介绍通过本地镜像或远程镜像创建容器的方法,以及容器启动、终端访问、日志查看和基础管理等操作。针对端口冲突、参数配置不当、容器无法启动等情况,也整理了相应的排查方向。
0
2026.11.03
用 Tailwind CSS 制作导航栏和卡片,可先搭建语义化结构,再组合 Flex、Grid、间距、圆角与阴影类。这里整理横向导航、移动端菜单、卡片网格及悬停效果的相关文章,帮助你把常见页面组件做得清晰且适配不同屏幕。
0
2026.11.03
Tailwind CSS 响应式布局通常从移动端样式写起,再用 sm、md、lg 等前缀调整不同屏幕宽度下的网格、间距和导航。本专题整理断点配置、Grid 与 Flex 自适应布局及常见溢出问题,帮助你逐步完成多设备适配。
0
2026.11.03
Tailwind CSS 类名很多,先按布局、间距、文字、颜色和状态分组记忆,再通过官方文档检索具体写法。本专题结合类名排序、动态拼接失效、自定义实用类等问题,帮助你建立常用类名的速查方法。
0
2026.11.03
本专题汇总了码上飞(CodeFlying)的官方入口地址合集,涵盖官网主站及网页版在线使用入口,支持注册登录后直接在线体验零代码AI应用生成。同时整理了APP端下载渠道与小程序入口,助你快速访问平台,通过自然语言描述需求即可生成应用、小程序或网站。
0
2026.11.03
本专题汇总了Uvicorn服务器常见问题与报错解决的教程合集,涵盖启动失败、端口占用、模块导入错误、事件循环冲突及热重载失效等典型故障的排查思路。同时整理了多进程与Worker配置、SSL/HTTPS证书报错、跨域与代理配置等实战解决方案,助你快速定位并解决Uvicorn运行中的各类问题。
0
2026.11.02
本专题汇总了Uvicorn使用教程与启动运行指南,涵盖其作为Python ASGI服务器的定位与特点,以及命令行启动(uvicorn main:app --reload)、参数配置(host/port/workers)、程序内嵌运行与Gunicorn结合部署等核心用法。同时整理了热重载调试、日志配置与生产环境部署优化等技巧,助你快速掌握Uvicorn的运行与配置。
0
2026.11.02
热门下载
相关下载
精品课程
共6课时 | 12.1万人学习
共79课时 | 161.7万人学习
共6课时 | 54.7万人学习