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




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

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