Date: August 4, 2025


项目介绍

👋,我们通过 Vibe Coding 做一个文字生成图片的小程序。

我们会从需求分析、技术选型、UI设计、项目构筑到最后打包,一路尝试 Vibe Coding 实现。

创建项目

创建文件夹:ai-pic-mini-app

采用 Git 进行管理。


需求分析

提示词:

请完成一个《文生图微信小程序》,目前围绕如下需求生成一份需求分析文档
主要功能:
1)基础文生图:用户输入自然语言描述(Prompt),AI生成对应图像,支持风格、尺寸、细节等参数调整。
技术实现:调用Coze API的TextToImage节点,传入prompt、width、height等参数,返回图片URL
2)风格化与多模态控制:允许用户指定艺术风格(如宫崎骏、蜡笔小新)、参考图融合或游戏IP画风
3)批量生成与场景化定制:支持批量生成多张图片(如表情包、电商海报),或针对特定场景(如生鲜广告)优化细节。
小程序设计建议:
精简交互:主界面仅保留输入框、风格选择、生成按钮,高级参数折叠。
API选型:图片生成调用 Coze API。
性能优化:限制单次生成图片数量(如1-4张),避免API超时或流量消耗过大。
文档保存位置:doc/Analysis.md

实现参考:

2.1.1 基础文生图功能
功能描述: 用户输入自然语言描述,AI生成对应图像技术实现:调用Coze API的TextToImage节点
输入参数:prompt(文字描述)、width(宽度)、height(高度)
输出:生成图片的URL
用户流程:用户在输入框输入文字描述
选择图片尺寸(可选)
点击生成按钮
系统调用API生成图片
展示生成结果
参数支持:图片尺寸:512x512、768x768、1024x1024等
质量设置:标准、高质量
生成数量:1-4张
2.1.2 风格化与多模态控制
功能描述: 允许用户指定特定艺术风格和画风支持风格:动漫风格:宫崎骏、蜡笔小新、新海诚
艺术风格:油画、水彩、素描、版画
游戏IP:原神、王者荣耀、英雄联盟
摄影风格:人像、风景、街拍
实现方式:预设风格模板,自动添加风格关键词到prompt
风格参考图融合(未来扩展)
风格强度调节
2.1.3 批量生成与场景化定制
功能描述: 支持特定场景的批量图片生成场景模板:表情包生成:可爱、搞笑、日常表情
电商海报:产品宣传、促销广告
生鲜广告:食材展示、菜谱配图
社交媒体:朋友圈配图、微博头图
批量功能:一键生成多张相似风格图片
支持批量下载和分享
批量编辑功能
2.2 辅助功能
2.2.1 历史记录
保存用户生成历史
支持收藏功能
快速复用之前的prompt
2.2.2 图片管理
图片预览和下载
分享到微信好友/朋友圈
保存到手机相册
2.2.3 用户系统
微信登录
生成次数统计
会员权益(如提高生成次数限制)
...

结合以上,我们发现 Cursor 生成了详细的方案,但是结合后续的技术方案来看,实现成本较高,因为会涉及很多的云函数,因此我们需要尽可能地优化方案。

@Analysis.md 
结合需求文档,我更新了一下需求,请重新生成文档:
1)保留核心功能: 基础文生图功能、风格化与多模态控制、批量生成与场景化定制
2)保留辅助功能:历史记录、图片管理
3)剔除会员制度:该小程序仅是免费且快速使用的工具,每人每天仅限使用10次之内,因此剔除会员相关制度。

技术方案

提示词:

@Analysis.md 请根据需求分析文档,生成一份技术文档。 要求:
1)包含项目目录结构
2)技术栈:微信小程序
3)采用微信小程序的云函数:小程序前端先调用云函数,云函数再调用Coze API
文档保存位置:doc/Technical.md
ai-pic-mini-app/
├── miniprogram/              // 小程序前端代码
│   ├── app.js               // 小程序入口文件
│   ├── app.json             // 小程序全局配置
│   ├── app.wxss             // 小程序全局样式
│   ├── assets/              // 静态资源目录
│   │   ├── icons/           // 图标资源
│   │   └── images/          // 图片资源
│   ├── components/          // 自定义组件
│   │   ├── image-card/      // 图片卡片组件
│   │   ├── style-selector/  // 风格选择器组件
│   │   ├── param-panel/     // 参数面板组件
│   │   └── loading/         // 加载动画组件
│   ├── pages/               // 页面文件夹
│   │   ├── index/           // 首页(主生成页面)
│   │   ├── history/         // 历史记录页面
│   │   ├── user/            // 个人中心页面
│   │   └── detail/          // 图片详情页面
│   ├── models/              // 数据模型
│   │   ├── user.js          // 用户数据模型
│   │   ├── image.js         // 图片数据模型
│   │   └── styles.js        // 风格数据模型
│   ├── services/            // 服务类
│   │   ├── api.js           // API接口封装
│   │   ├── storage.js       // 本地存储服务
│   │   └── utils.js         // 工具函数
│   ├── store/               // 状态管理
│   │   ├── index.js         // Store入口
│   │   ├── user.js          // 用户状态
│   │   └── generation.js    // 生成状态
│   └── config/              // 配置文件
│       ├── api.js           // API配置
│       ├── constants.js     // 常量定义
│       └── styles.js        // 风格配置
│
├── cloudfunctions/          // 云函数目录
│   ├── generateImage/       // 图片生成云函数
│   │   ├── index.js         // 入口文件
│   │   ├── cozeAPI.js       // Coze API封装
│   │   └── package.json     // 依赖配置
│   ├── getHistory/          // 历史记录云函数
│   │   ├── index.js
│   │   └── package.json
│   └── login/               // 登录云函数
│       ├── index.js
│       └── package.json
│
├── doc/                     // 文档目录
│   ├── Analysis.md          // 需求分析文档
│   └── Technical.md         // 技术文档
│
└── project.config.json      // 项目配置文件

---### 项目架构图**提示词:**```bash
@Analysis.md @Technical.md 
请根据需求文档和技术方案文档,画一张业务架构图和业务架构图。 
要求:
采用 Mermaid 绘制 
文档保存位置:doc/

UI-UX 草稿设计

提示词:

@Analysis.md @Technical.md 
请根据需求文档和技术文档,设计 UI/UX 原型。
要求:
1)遵循 WeUI 设计规范,设计合理简约的交互,优先适配移动端。
2)采用 HTML5+CSS3 实现原型草稿文件,包含注释说明组件用途。 
参考页面保存位置:docs/ui-ux/

UI UX草稿生成如下:

核心页面 (4个完整页面)

📱 主页面 (index.html)

  • 剩余次数状态栏
  • 多行文本输入(500字符限制)
  • 横向滑动风格选择器
  • 可折叠高级参数面板
  • 渐变生成按钮
  • 2x2网格结果展示
  • 加载状态模态弹窗

📖 历史记录页面 (history.html)

  • 双层筛选器(时间+风格)
  • 3列统计数据展示
  • 瀑布流布局图片网格
  • 收藏功能和操作菜单
  • 底部滑出式操作面板
  • 分页加载更多

👤 个人中心页面 (profile.html)

  • 渐变用户信息卡片
  • 使用统计网格展示
  • 可视化进度条
  • 功能菜单列表
  • 设置开关组件
  • 模态弹窗确认

🔍 图片详情页面 (detail.html)

  • 沉浸式全屏预览
  • 可滑动信息面板
  • 顶部悬浮导航栏
  • 4x1操作按钮网格
  • 分享选项菜单
  • 相似作品推荐

参考如下:
在这里插入图片描述


规划实现步骤

提示词:

@Technical.md@Analysis.md @/ui-ux 
请根据需求分析文档、技术文档和设计稿,写一份项目实现步骤文档。
文档保存位置:docs/

截取部分如下:

🏗️ 项目架构特点
技术规范
✅ 遵循微信小程序开发规范
✅ 基于WeUI设计系统
✅ 模块化和组件化设计
✅ 完善的错误处理机制
用户体验
✅ 响应式设计,适配不同屏幕
✅ 流畅的动画和交互效果
✅ 完善的加载状态和反馈
✅ 触觉反馈和视觉提示
开发友好
✅ 清晰的代码结构和注释
✅ 统一的命名规范
✅ 可配置的功能开关
✅ 完善的工具函数库

项目的结构目录:

ai-pic-mini-app/
├── project.config.json          ✅ 已配置 miniprogramRoot
├── miniprogram/                 ✅ 小程序代码目录
│   ├── app.json                ✅ 全局配置文件
│   ├── app.js                  ✅ 应用入口文件
│   ├── app.wxss                ✅ 全局样式文件
│   └── pages/                  ✅ 页面目录
│       ├── index/              ✅ 主页面(完整实现)
│       ├── history/            ✅ 历史页面(基础文件)
│       ├── user/               ✅ 用户页面(基础文件)
│       └── detail/             ✅ 详情页面(基础文件)
└── cloudfunctions/             ✅ 云函数目录

总结

项目构想阶段准备工作,根据我的开发经验来看应当如下:

  • 需求分析
  • 技术方案
  • 项目架构图
  • UI/UX设计
  • 项目实现规划

经验:

  • 优先做好产品需求分析,平衡成本和功能下,再进行下一步。否则 AI 生成的产品文档,会大而全,从而难以实现。

    仔细阅读需求分析文档和技术文档,保持奥卡姆剃刀原则。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/92486.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/92486.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/92486.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

TiDB/MongoDB/Taosdb存储引擎概览

数据库类型存储引擎数据结构源码位置tidbRockDBLSM树https://github.com/facebook/rocksdbmongodbWiredTigerB 树/LSM树https://github.com/wiredtiger/wiredtigerTDengineTSDBBRINhttps://github.com/taosdata/TDengine 1、tidb存储引擎概览 LSM树数据结构描述LSM树(Log Str…

qt窗口--01

文章目录qt窗口--01窗口概览菜单栏工具栏状态栏浮动窗口子窗口对话框model结语很高兴和大家见面,给生活加点impetus!!开启今天的编程之路!! 作者:٩( ‘ω’ )و260 我的专栏:qt,Li…

Neo4j 社区版 Mac 安装教程

最近用到了nebulagraph图数据库做金融反欺诈项目,虽然nebula属于分布式架构,但依然感觉nebula使用不太顺手,这里顺便研究一下neo4j这款数据库如何,这里先从安装开始? 一、 准备工作 确认 Java 版本要求: N…

Android Studio(2025.1.2)Gemini Agent 使用指南

Android Studio(2025.1.2)Gemini Agent 使用指南 文章目录Android Studio(2025.1.2)Gemini Agent 使用指南1. 什么是 Gemini Agent?2. 如何启用和配置 Gemini Agent2.1 获取 API Key2.2 在 Android Studio 中配置3. 实…

计算机视觉--opencv(代码详细教程)

在计算机视觉的广袤领域中,OpenCV 是一座极为关键的里程碑。无论是在前沿的学术研究,还是在蓬勃发展的工业界,OpenCV 凭借其强大的功能与高效的性能,为开发者提供了丰富的图像处理和计算机视觉算法,助力无数项目落地。…

Centos6停止服务后yum改用阿里云

环境: OS:Centos 6.9 1.进入到yum配置目录 cd /etc/yum.repos.d 2.备份 cp CentOS-Base.repo CentOS-Base.repo.bk 3.下载 wget -O CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-6.repo 问题1: 因为Centos-6早就停止了更新维护,阿里云镜像网站将其仓库…

putty+Xming(XLaunch) 远程登录VirtualBox中的Ubuntu24.04,显示图形化(GUI)界面

测试环境:VirtualBox 7,Ubuntu24.04 desktop,Ubuntu24.04 Server(no desktop),均测试成功。 一、先测试putty远程登录VirtualBox中的Ubuntu,可以使用ssh、Telnet 等协议。参见拙文《ssh连接VirtualBox中的Ubuntu24.04(win11、put…

SpringBoot微头条实战项目

一、项目概述 微头条是一个基于现代技术栈构建的新闻发布和浏览平台,旨在为用户提供便捷的新闻阅读体验和高效的新闻管理功能。该项目通过前后端分离的架构设计,实现了用户注册、登录、新闻浏览、搜索、发布、修改和删除等功能,同时通过JWT技…

如何给电脑换个ip地址?电脑换ip几种方法

更换电脑的IP地址的方法取决于你的具体需求和网络环境(是换本地局域网IP还是换对外公网IP)。以下是几种常见的方法: 一、更换本地局域网IP地址(在同一个网络内) 这个IP地址通常由你的路由器(或公司的网络管…

Pytest项目_day04(Python做接口请求)

Requests包 在python中,可以使用requests包,用于做接口请求和接口测试request支持http和https简单的get函数调用如下:r.jsonr.status_coder.textget函数的带params用法post函数的带params用法 post也可以和get一样在url中传入参数在requests包…

Flink与Kafka核心源码详解-目录

Flink是Apache软件基金会下开源的分布式流批一体计算框架,具备实时流计算和高吞吐批处理计算的大数据计算能力。本专栏内容为Flink源码解析的记录与分享。 本文解析的Flink源码版本为:flink-1.19.0 以下为Flink-1.19.0-完整源码详解的目录导航。 Flink-…

【VLLM篇】:原理-实现

1、VLLM vLLM是一个建立在【PagedAttention】之上的高吞吐的【分布式服务引擎】,目标是【提高吞吐量】、【提高内存利用率】(kv-cache内存利用率高达96%),它的内存管理分配方式从【固定分配】改进为【分页管理】,类似操…

什么是 TcpCommunicationSpi

&#x1f9e9; 一、核心定位&#xff1a;什么是 TcpCommunicationSpi&#xff1f; /*** <tt>TcpCommunicationSpi</tt> is default communication SPI which uses* TCP/IP protocol and Java NIO to communicate with other nodes.*/翻译&#xff1a;TcpCommunicat…

【NLP舆情分析】基于python微博舆情分析可视化系统(flask+pandas+echarts) 视频教程 - 词云图-微博评论用户词云图实现

大家好&#xff0c;我是java1234_小锋老师&#xff0c;最近写了一套【NLP舆情分析】基于python微博舆情分析可视化系统(flaskpandasecharts)视频教程&#xff0c;持续更新中&#xff0c;计划月底更新完&#xff0c;感谢支持。今天讲解词云图-微博评论用户词云图实现 视频在线地…

数据结构----栈和队列认识

目录 栈&#xff08;后进先出&#xff09; 栈的实现 头文件 初始化 入栈 注意&#xff1a; bool 判空 出栈----栈顶 注意 出栈顶元素&#xff0c;元素不会删除 注意&#xff1a; 获取栈中有效个数 销毁栈 源文件操作 用栈实现递归* 队列&#xff08;先进先出&a…

【Kafka系列】第二篇| Kafka 的核心概念、架构设计、底层原理

在大数据和分布式系统飞速发展的今天&#xff0c;消息队列作为高效的通信工具&#xff0c;在系统解耦、异步通信、流量削峰等方面作用显著。 而 Kafka 这款高性能、高吞吐量的分布式消息队列&#xff0c;在日志收集、数据传输、实时计算等场景中应用广泛。 接下来&#xff0c;我…

Kafka-exporter采集参数调整方案

#作者&#xff1a;张桐瑞 文章目录1 问题概述2 修改方案2.1修改参数2.2配置示例3 消费者组均分脚本3.1使用说明3.2脚本内容3.3实现原理说明4 KAFKA-EXPORTER流程代码4.1KAFKA-EXPORTER拉取数据流程1 问题概述 由于kafka-exporter获取kafka指标时间过长&#xff0c;无法通过cur…

AT32的freertos下modbus TCP移植

1.准备模板 打开雅特力官网&#xff0c;也就是带有LwIP的示例。 下载官方源码&#xff1a;modbus 2.移植 我这里是在这里新建两个文件夹&#xff0c;分别是modbus与port&#xff0c;这个任意&#xff0c;只需要将必要的文件加入项目即可。 将源码中的modbus这些都移植过来&a…

Redis面试精讲 Day 16:Redis性能监控与分析工具

【Redis面试精讲 Day 16】Redis性能监控与分析工具 开篇 欢迎来到"Redis面试精讲"系列第16天&#xff0c;今天我们将深入探讨Redis性能监控与分析工具。在大型分布式系统中&#xff0c;Redis作为关键的数据存储和缓存组件&#xff0c;其性能指标直接影响整个系统的…

vue3+vue-flow制作简单可拖拽可增删改流程图

实现效果实现代码 准备工作 安装依赖 npm install vue-flow/core npm install vue-flow/minimap //小地图 npm install vue-flow/controls //自带的缩放、居中、加锁功能我这里只用到上述三个&#xff0c;还有其余的可根据实际情况配合官方文档使用。 npm install vue-flow/bac…