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 生成的產品文檔,會大而全,從而難以實現。
仔細閱讀需求分析文檔和技術文檔,保持奧卡姆剃刀原則。