# 抖音小程序食譜菜譜工具項目總結(jié)
## 項目概述
這是一個嚴格按照抖音小程序開發(fā)規(guī)范制作的食譜菜譜小工具,使用Unicode emoji作為圖標(biāo),無需外部圖片資源。項目包含完整的菜譜數(shù)據(jù)管理和用戶交互功能。
## 核心功能
### 1. 首頁功能
- 滑屏加載數(shù)據(jù),支持無限滾動
- 菜譜分類導(dǎo)航(家常菜、川菜、粵菜、甜品、湯類、素食等)
- 搜索入口
- 自定義底部導(dǎo)航欄
### 2. 搜索功能
- 支持關(guān)鍵詞搜索(標(biāo)題、描述、分類、食材)
- 部分匹配搜索算法
- 熱門搜索推薦
- 搜索歷史記錄
- 分類篩選功能
### 3. 菜譜詳情功能
- 詳細食材清單
- 制作步驟說明
- 烹飪貼士
- 收藏功能
### 4. 收藏功能
- 菜譜收藏管理
- 收藏列表展示
- 取消收藏功能
## 技術(shù)特點
### 開發(fā)規(guī)范
- 嚴格遵循抖音小程序開發(fā)規(guī)范
- 使用MVVM架構(gòu)模式
- 邏輯與UI分離
- 組件化開發(fā)思想
- 狀態(tài)驅(qū)動視圖更新
### UI設(shè)計
- 使用Unicode emoji作為圖標(biāo)(無需外部圖片資源)
- 響應(yīng)式設(shè)計,適配不同屏幕尺寸
- 自定義底部導(dǎo)航欄替代原生導(dǎo)航
### 數(shù)據(jù)管理
- 300+條真實菜譜數(shù)據(jù)
- 完整的數(shù)據(jù)管理工具集
- 支持批量添加菜譜
- 支持單個菜譜添加
- 支持文本文件導(dǎo)入
## 項目結(jié)構(gòu)
```
.
├── app.js # 小程序入口文件
├── app.json # 小程序全局配置
├── app.ttss # 小程序全局樣式
├── project.config.json # 項目配置文件
├── recipes.js # 菜譜數(shù)據(jù)文件(300+條數(shù)據(jù))
├── README.md # 項目說明文檔
├── USAGE.md # 使用說明文檔
├── pages # 頁面目錄
│ ├── index # 首頁
│ ├── search # 搜索頁
│ ├── recipeDetail # 菜譜詳情頁
│ └── favorites # 收藏頁
└── tools # 數(shù)據(jù)管理工具
├── README.md # 工具使用說明
├── addRecipe.bat # Windows批處理腳本
├── addRecipe.js # 命令行添加菜譜工具
├── batchAddRecipes.js # 批量添加菜譜工具
├── batchRecipes.txt # 批量菜譜示例文件
├── dataManager.js # 核心數(shù)據(jù)管理類
└── textToRecipe.js # 文本轉(zhuǎn)菜譜工具
```
## 數(shù)據(jù)管理工具
### 工具功能
1. **交互式添加菜譜** - 通過命令行交互方式添加
2. **文本文件導(dǎo)入** - 支持從文本文件批量導(dǎo)入菜譜
3. **快速添加菜譜** - 通過命令行參數(shù)快速添加
4. **數(shù)據(jù)顯示** - 顯示菜譜總數(shù)等信息
### 使用方式
```bash
# 交互式添加菜譜
node addRecipe.js
# 批量添加菜譜(一個文件多個菜譜)
node batchAddRecipes.js batchRecipes.txt
# 單個菜譜添加
node textToRecipe.js recipe.txt
# 快速添加菜譜
node addRecipe.js --title "菜譜名稱"
# 顯示菜譜總數(shù)
node addRecipe.js --count
```
### 文件格式
支持單個和批量菜譜文件格式,菜譜之間用空行分隔。
## Emoji圖標(biāo)使用
項目中使用了多種Unicode emoji作為圖標(biāo):
- ? 首頁
- ? 搜索
- ?? 收藏
- ?? 制作時間
- ? 難度等級
- ?? 份量
- ? 小貼士
## 項目優(yōu)勢
1. **完全符合抖音小程序規(guī)范** - 嚴格按照平臺要求開發(fā)
2. **無外部依賴** - 使用emoji圖標(biāo),減少包體積
3. **數(shù)據(jù)豐富** - 包含300多條真實菜譜數(shù)據(jù)
4. **易于擴展** - 完整的數(shù)據(jù)管理工具,便于添加新菜譜
5. **用戶體驗優(yōu)秀** - 滑屏加載、搜索優(yōu)化、自定義導(dǎo)航
6. **維護方便** - 清晰的項目結(jié)構(gòu)和完整的文檔
## 使用場景
1. 用戶瀏覽和搜索菜譜
2. 學(xué)習(xí)制作各種菜系的菜品
3. 收藏喜歡的菜譜
4. 管理員通過工具添加新菜譜
5. 批量導(dǎo)入菜譜數(shù)據(jù)
這個項目為用戶提供了一個完整的菜譜瀏覽和管理解決方案,同時為管理員提供了便捷的數(shù)據(jù)管理工具,是一個功能完善、易于維護的抖音小程序應(yīng)用。
以下是對整個小程序項目的詳細總結(jié),特別包含了接口(聚合數(shù)據(jù)api)信息:
### 項目概述
該項目是一個食譜查詢小程序,采用單頁面應(yīng)用(SPA)結(jié)構(gòu),主要通過HTML、CSS和Javascri-pt構(gòu)建。項目位于`c:Users89604Downloads新建文件夾 (3)`目錄下,包含前端界面和后端代理服務(wù)。
### 核心功能
- **食譜搜索**:用戶可以通過搜索框輸入關(guān)鍵詞查詢食譜,支持熱門搜索標(biāo)簽
- **分類瀏覽**:提供多種食譜分類(如家常菜、川菜、粵菜等),支持按分類瀏覽
- **食材查詢**:可以根據(jù)特定食材查找相關(guān)食譜
- **分頁功能**:搜索結(jié)果支持分頁展示,每頁顯示30條記錄
- **詳情查看**:點擊食譜卡片可查看詳細信息,包括食材、步驟和小貼士
### API接口詳情
項目通過Node.js代理服務(wù)器(server.js)調(diào)用外部食譜API,主要接口包括:
#### 1. 食譜搜索接口
```
GET http://localhost:3000/api/search?keyword={關(guān)鍵詞}&num=30&page={頁碼}
```
- **功能**:根據(jù)關(guān)鍵詞搜索食譜
- **參數(shù)**:
- `keyword`:搜索關(guān)鍵詞(如菜品名稱、食材等)
- `num`:每頁顯示的記錄數(shù)(固定為30)
- `page`:當(dāng)前頁碼
- **返回**:食譜列表數(shù)據(jù),包含食譜ID、名稱、圖片、描述等信息
#### 2. 食譜詳情接口
```
GET http://localhost:3000/api/detail?id={食譜ID}
```
- **功能**:獲取指定食譜的詳細信息
- **參數(shù)**:
- `id`:食譜唯1標(biāo)識符
- **返回**:食譜的詳細信息,包括食材清單、烹飪步驟、小貼士等
#### 3. 分類-食材映射接口
項目內(nèi)部實現(xiàn)了分類到食材的映射邏輯,主要包括:
```javascri-pt
const categoryToIngredient = {
’家常菜’: ’豬肉’,
’川菜’: ’辣椒’,
’粵菜’: ’海鮮’,
’甜點’: ’雞蛋’,
’素食’: ’蔬菜’,
’湯羹’: ’雞肉’,
’水果類’: ’蘋果’,
’蔬菜類’: ’胡蘿卜’
};
```
- **功能**:將用戶點擊的分類轉(zhuǎn)換為對應(yīng)的食材關(guān)鍵詞進行搜索
- **使用方式**:點擊分類按鈕時,根據(jù)映射關(guān)系獲取對應(yīng)食材關(guān)鍵詞,然后調(diào)用搜索接口
### 代理服務(wù)實現(xiàn)
項目使用Node.js創(chuàng)建了代理服務(wù)器(server.js),主要功能包括:
1. 轉(zhuǎn)發(fā)前端API請求到實際的食譜API服務(wù)
2. 解決跨域問題
3. 處理請求和響應(yīng)數(shù)據(jù)
### 主要修改內(nèi)容
1. **頁面結(jié)構(gòu)優(yōu)化**:
- 移除了傳統(tǒng)網(wǎng)頁的頂部導(dǎo)航欄和頁腳
- 添加了固定的底部導(dǎo)航欄,符合移動APP設(shè)計風(fēng)格
- 配置了禁止縮放的視口設(shè)置,提升移動設(shè)備體驗
2. **UI風(fēng)格調(diào)整**:
- 將搜索區(qū)域改為圓角輸入框和標(biāo)簽式熱門搜索
- 重構(gòu)分類區(qū)域為4列網(wǎng)格布局,并增加了水果類、蔬菜類分類
- 調(diào)整菜譜展示區(qū)域為垂直列表布局
- 優(yōu)化模態(tài)框尺寸和樣式,適配移動端
3. **交互體驗優(yōu)化**:
- 實現(xiàn)了底部導(dǎo)航欄的點擊事件處理和活躍狀態(tài)切換
- 添加了觸摸反饋和自動滾動功能
- 將底部導(dǎo)航欄中的’我的’按鈕修改為’返回’按鈕,圖標(biāo)從用戶圖標(biāo)變?yōu)橄蛏霞^,點擊后返回頁面頂部
4. **功能完整性**:
- 保持了原有所有功能的完整性
- 擴展了分類映射表,增加了更多食材對應(yīng)關(guān)系
- 設(shè)置為每頁顯示30條搜索結(jié)果,提升瀏覽效率
### 技術(shù)實現(xiàn)
- **前端**:HTML、CSS(Tailwind CSS)、Javascri-pt
- **圖標(biāo)**:Font Awesome圖標(biāo)庫
- **后端代理**:Node.js(server.js)
- **靜態(tài)服務(wù)**:http-server
### 當(dāng)前運行狀態(tài)
- 代理服務(wù)器(node server.js)正在terminal 3運行,端口3000
- 靜態(tài)文件服務(wù)器(npx http-server -p 8080)正在terminal 4運行,可通過http://localhost:8080訪問
- 所有功能正常運行,界面已完全適配移動APP風(fēng)格
### 測試文件
項目中包含幾個API測試文件:
- `test-category-api.js`:用于測試分類API功能
- `test-ingredient-api.js`:用于測試食材API功能
- `test-proxy.js`:用于測試代理服務(wù)功能
總體而言,該小程序已成功從傳統(tǒng)網(wǎng)頁風(fēng)格轉(zhuǎn)型為現(xiàn)代化的移動APP風(fēng)格,通過代理服務(wù)器實現(xiàn)了與食譜API的無縫對接,提供了豐富的食譜查詢功能和流暢的用戶體驗。




定制看需求,一般幾小時內(nèi)完成,也不貴。

1、自動:在上方保障服務(wù)中標(biāo)有自動發(fā)貨的商品,拍下后,將會自動收到來自賣家的商品獲?。ㄏ螺d)鏈接;
2、手動:未標(biāo)有自動發(fā)貨的的商品,拍下后,賣家會收到郵件、短信提醒,也可通過QQ或訂單中的電話聯(lián)系對方。
1、源碼默認交易周期:自動發(fā)貨商品為1天,手動發(fā)貨商品為3天,買家有1次額外延長3天交易周期的權(quán)利;
2、若上述交易周期雙方依然無法完成交易,任意一方可發(fā)起追加周期(1~60天)的請求,對方同意即可延長。
1、描述:源碼描述(含標(biāo)題)與實際源碼不一致的(例:描述PHP實際為ASP、描述的功能實際缺少、版本不符等);
2、演示:有演示站時,與實際源碼小于95%一致的(但描述中有"不保證完全一樣、有變化的可能性"類似顯著聲明的除外);
3、發(fā)貨:手動發(fā)貨源碼,在賣家未發(fā)貨前,已申請退款的;
4、安裝:免費提供安裝服務(wù)的源碼但賣家不履行的;
5、收費:額外收取其他費用的(但描述中有顯著聲明或雙方交易前有商定的除外);
6、其他:如質(zhì)量方面的硬性常規(guī)問題等。
注:經(jīng)核實符合上述任一,均支持退款,但賣家予以積極解決問題則除外。
1、互站會對雙方交易的過程及交易商品的快照進行永久存檔,以確保交易的真實、有效、安全!
2、互站無法對如“永久包更新”、“永久技術(shù)支持”等類似交易之后的商家承諾做擔(dān)保,請買家自行鑒別;
3、在源碼同時有網(wǎng)站演示與圖片演示,且站演與圖演不一致時,默認按圖演作為糾紛評判依據(jù)(特別聲明或有商定除外);
4、在沒有"無任何正當(dāng)退款依據(jù)"的前提下,商品寫有"一旦售出,概不支持退款"等類似的聲明,視為無效聲明;
5、在未拍下前,雙方在QQ上所商定的交易內(nèi)容,亦可成為糾紛評判依據(jù)(商定與描述沖突時,商定為準);
6、因聊天記錄可作為糾紛評判依據(jù),故雙方聯(lián)系時,只與對方在互站上所留的QQ、手機號溝通,以防對方不承認自我承諾。
7、雖然交易產(chǎn)生糾紛的幾率很小,但一定要保留如聊天記錄、手機短信等這樣的重要信息,以防產(chǎn)生糾紛時便于互站介入快速處理。
1、互站作為第三方中介平臺,依據(jù)交易合同(商品描述、交易前商定的內(nèi)容)來保障交易的安全及買賣雙方的權(quán)益;
2、非平臺線上交易的項目,出現(xiàn)任何后果均與互站無關(guān);無論賣家以何理由要求線下交易的,請聯(lián)系管理舉報。
菏澤云起網(wǎng)絡(luò)科技有限公司
客服⑥:14112748173537234
客服①:307840773469312455
1560975687355199849640580176995704770532653
微信客服
服務(wù)
5.00
效率
5.00
質(zhì)量
5.00