forked from fzu102201435/front
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
134 lines
2.9 KiB
134 lines
2.9 KiB
2 months ago
|
export const foodCaloriesDB = {
|
||
|
// 主食类
|
||
|
'米饭': 116,
|
||
|
'馒头': 223,
|
||
|
'面条': 110,
|
||
|
'包子': 200,
|
||
|
'饺子': 220,
|
||
|
'油条': 389,
|
||
|
'面包': 265,
|
||
|
'粥': 50,
|
||
|
'炒面': 260,
|
||
|
'炒饭': 290,
|
||
|
|
||
|
// 肉类
|
||
|
'猪肉': 143,
|
||
|
'牛肉': 106,
|
||
|
'鸡肉': 167,
|
||
|
'鸭肉': 240,
|
||
|
'羊肉': 203,
|
||
|
'鱼肉': 100,
|
||
|
'虾': 85,
|
||
|
'蛋': 155,
|
||
|
|
||
|
// 蔬菜类
|
||
|
'西红柿': 20,
|
||
|
'黄瓜': 16,
|
||
|
'胡萝卜': 36,
|
||
|
'白菜': 20,
|
||
|
'菠菜': 23,
|
||
|
'生菜': 15,
|
||
|
'茄子': 24,
|
||
|
'土豆': 81,
|
||
|
'青椒': 20,
|
||
|
|
||
|
// 水果类
|
||
|
'苹果': 52,
|
||
|
'香蕉': 89,
|
||
|
'橙子': 47,
|
||
|
'葡萄': 69,
|
||
|
'西瓜': 32,
|
||
|
'梨': 51,
|
||
|
'草莓': 32,
|
||
|
'柚子': 39,
|
||
|
|
||
|
// 饮品类
|
||
|
'牛奶': 79,
|
||
|
'豆浆': 31,
|
||
|
'可乐': 42,
|
||
|
'果汁': 54,
|
||
|
'咖啡': 1,
|
||
|
'奶茶': 150,
|
||
|
|
||
|
// 常见菜品
|
||
|
'西红柿炒鸡蛋': 100,
|
||
|
'宫保鸡丁': 260,
|
||
|
'鱼香肉丝': 195,
|
||
|
'红烧肉': 425,
|
||
|
'糖醋里脊': 290,
|
||
|
'麻婆豆腐': 174,
|
||
|
'青椒炒肉': 180,
|
||
|
'回锅肉': 327,
|
||
|
'蒜蓉炒菜心': 45,
|
||
|
'炒青菜': 30,
|
||
|
'土豆炖牛肉': 215,
|
||
|
'红烧排骨': 289,
|
||
|
'清炒白菜': 35,
|
||
|
'炸鸡': 260,
|
||
|
'水煮鱼': 180,
|
||
|
'酸菜鱼': 168,
|
||
|
|
||
|
// 零食类
|
||
|
'薯片': 536,
|
||
|
'巧克力': 546,
|
||
|
'饼干': 435,
|
||
|
'爆米花': 382,
|
||
|
'坚果': 607,
|
||
|
'冰淇淋': 267,
|
||
|
'蛋糕': 257,
|
||
|
|
||
|
// 快餐类
|
||
|
'汉堡': 295,
|
||
|
'披萨': 266,
|
||
|
'炸薯条': 312,
|
||
|
'炸鸡翅': 246,
|
||
|
'热狗': 290
|
||
|
}
|
||
|
|
||
|
// 模糊搜索函数
|
||
|
export const searchFood = (keyword) => {
|
||
|
keyword = keyword.toLowerCase()
|
||
|
const results = []
|
||
|
|
||
|
for (const [food, calories] of Object.entries(foodCaloriesDB)) {
|
||
|
if (food.toLowerCase().includes(keyword)) {
|
||
|
results.push({
|
||
|
name: food,
|
||
|
calories: calories
|
||
|
})
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return results
|
||
|
}
|
||
|
|
||
|
// 获取单个食物的卡路里
|
||
|
export const getFoodCalories = (foodName) => {
|
||
|
// 直接匹配
|
||
|
if (foodCaloriesDB[foodName]) {
|
||
|
return foodCaloriesDB[foodName]
|
||
|
}
|
||
|
|
||
|
// 模糊匹配
|
||
|
const results = searchFood(foodName)
|
||
|
if (results.length > 0) {
|
||
|
return results[0].calories
|
||
|
}
|
||
|
|
||
|
return null
|
||
|
}
|
||
|
|
||
|
// 获取食物分类列表
|
||
|
export const getFoodCategories = () => {
|
||
|
return {
|
||
|
'主食类': ['米饭', '馒头', '面条', '包子', '饺子', '油条', '面包', '粥'],
|
||
|
'肉类': ['猪肉', '牛肉', '鸡肉', '鸭肉', '羊肉', '鱼肉', '虾', '蛋'],
|
||
|
'蔬菜类': ['西红柿', '黄瓜', '胡萝卜', '白菜', '菠菜', '生菜', '茄子', '土豆', '青椒'],
|
||
|
'水果类': ['苹果', '香蕉', '橙子', '葡萄', '西瓜', '梨', '草莓', '柚子'],
|
||
|
'饮品类': ['牛奶', '豆浆', '可乐', '果汁', '咖啡', '奶茶'],
|
||
|
'常见菜品': ['西红柿炒鸡蛋', '宫保鸡丁', '鱼香肉丝', '红烧肉', '糖醋里脊', '麻婆豆腐'],
|
||
|
'零食类': ['薯片', '巧克力', '饼干', '爆米花', '坚果', '冰淇淋', '蛋糕'],
|
||
|
'快餐类': ['汉堡', '披萨', '炸薯条', '炸鸡翅', '热狗']
|
||
|
}
|
||
|
}
|