你是一个资深前端工程师和视觉交互设计师。
请在当前目录中,使用 Vue 3 + Vite,从零生成一个
「文本生成文字海报」的前端项目。
一、项目目标
- 用户输入一段文本
- 系统实时生成一张高质量的“文字海报”
- 海报支持多种风格配置
- 支持导出为图片(PNG)
二、技术要求
- Vue 3(Composition API)
- Vite
- 不使用后端,仅前端实现
- 不依赖 Element Plus 等重型组件库
- 允许使用少量轻量工具库(如 html2canvas)
- CSS 使用现代化方案(CSS Variables / Flex / Grid)
三、整体结构要求
- 清晰的目录结构,便于后续扩展
- 将“配置”和“渲染逻辑”解耦
- 所有海报样式以“配置对象”的形式定义
四、核心功能模块
1)文本输入区
- 使用 textarea
- 支持多行文本
- 输入时实时更新海报
- 支持字数统计
2)样式配置面板
- 字体大小(slider)
- 字重(normal / bold)
- 行高
- 文字对齐方式(left / center / right)
- 主题风格切换(至少 3 种)
- 极简黑
- 温柔渐变
- 高级杂志风
3)海报预览区
- 固定比例(如 3:4 或 1:1)
- 居中展示
- 阴影 + 留白 + 高级感
- 所有样式实时响应配置变化
- 有平滑过渡动画
4)导出功能
- 一键导出当前海报为 PNG
- 导出内容不包含配置面板
- 导出分辨率清晰,适合社交平台分享
五、设计 & 交互要求(重点)
- 整体风格:现代、简洁、有设计感
- 使用柔和渐变、留白、阴影
- 所有交互(滑块 / 切换)有过渡动画
- 颜色和字体搭配有审美,而不是默认样式
- 页面布局类似「创作工具 / 设计工具」
六、可配置性要求
- 所有海报样式通过一个 posterConfig 对象控制
- 不允许在模板中写死样式值
- 新增一个风格,只需要新增配置,不改核心逻辑
七、交付内容
- 可直接运行的项目
- README.md,说明:
- 如何启动
- 项目结构说明
- 如何新增一个海报风格
额外要求:
- 代码风格偏向产品级工程,而非 Demo
- 命名语义清晰,便于后续多人协作
- 预留未来支持:
- 模板市场
- AI 文案生成
- 多语言