{"id":13454402,"url":"https://github.com/ruter/xiachufang-api","last_synced_at":"2025-03-21T10:31:34.398Z","repository":{"id":84170135,"uuid":"114871948","full_name":"ruter/xiachufang-api","owner":"ruter","description":"下厨房 API","archived":false,"fork":false,"pushed_at":"2020-05-12T14:24:13.000Z","size":37,"stargazers_count":67,"open_issues_count":1,"forks_count":14,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-18T00:03:39.551Z","etag":null,"topics":["api","api-service"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ruter.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-12-20T10:02:10.000Z","updated_at":"2024-12-19T06:17:00.000Z","dependencies_parsed_at":null,"dependency_job_id":"7fbc26a7-cfdd-45fa-9bd6-a86b490217d5","html_url":"https://github.com/ruter/xiachufang-api","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruter%2Fxiachufang-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruter%2Fxiachufang-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruter%2Fxiachufang-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruter%2Fxiachufang-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ruter","download_url":"https://codeload.github.com/ruter/xiachufang-api/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244777881,"owners_count":20508803,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","api-service"],"created_at":"2024-07-31T08:00:53.754Z","updated_at":"2025-03-21T10:31:34.103Z","avatar_url":"https://github.com/ruter.png","language":"Python","funding_links":[],"categories":["Uncategorized"],"sub_categories":["Uncategorized"],"readme":"# 下厨房 API\n\n下厨房官方并没有放出 API，本着自己动手丰衣足食的理念，配合 [Toapi](https://github.com/gaojiuli/toapi) 快速实现了一个 API.\n\n目前实现的接口有`搜索`、`分页`、`列表`、`分类`和`详细内容` 5 个部分。\n\n## Overview\n\n本项目是基于新生的开源项目 [Toapi](https://github.com/gaojiuli/toapi) 快速实现的产物， ~由于该项目处于刚起步状态，很多特性都处于非稳定状态，随时会发生变更（如路由 `route` 匹配规则就在本项目诞生的时候发生了变更），所以不建议在生产环境中使用。~ 项目已经发布正式版，可以放心使用。\n\n## Usage\n\n克隆项目或直接下载项目源码到本地\n\n```bash\ngit clone https://github.com/ruter/xiachufang-api.git\n```\n\n安装依赖\n\n```bash\ncd xiachufang-api/\npip install -r requirements.txt\n```\n\n运行项目\n\n```bash\npython wsgi.py\n```\n\n访问 `http://your_server_ip:5000`\n\n## Cache\n\n`Toapi` 本身提供了 3 种缓存机制：\n\n- `MemoryCache` - 服务重启后已缓存的数据都会销毁\n- `RedisCache` - 需安装并启动 `Redis`\n- `MemcachedCache` - 需安装并启动 `Memcached`\n\n默认使用的是 `MemoryCache`，可以自己手动更改配置使用其他另外两种缓存方式。\n\n为了方便使用，本项目已经在 `settings.py` 中默认配置了 `MemoryCache` 和 `RedisCache`，并且默认使用 `MemoryCache`.\n\n若要使用 `RedisCache` 缓存，需要先修改 `app.py` 中的配置，并确保在运行该项目之前 `Redis` 的服务已经启动，以下是参考步骤\n\n*app.py*\n\n```python\n# 全局替换 MemCacheSettings 为 RedisCacheSettings\n# 共有两处需要修改，修改后如下\n\nfrom settings import RedisCacheSettings\n\napi = Api(URL, settings=RedisCacheSettings)\n```\n\n*settings.py*\n\n```python\n# 找到 class RedisCacheSettings(Settings)\n# 检查 'cache_config' 里的配置和当前环境使用的 Redis 配置是否一致\n# 这里使用的是默认配置\n\n'cache_config': {\n    'host': '127.0.0.1',\n    'port': 6379,\n    'db': 0\n}\n```\n\n## Example\n\n可请求的 `URI` 有 4 个：\n\n- `/search/\u003ckeyword\u003e`\n- `/category/`\n- `/category/\u003cno\u003e/` 和 `/category/\u003cno\u003e/?page=\u003cpage\u003e`\n- `/recipe/\u003cno\u003e/`\n\n搜索菜谱\n\n\u003e GET `/search/鸡蛋`\n\n```json\n{\n    \"Page\": [\n        {\n            \"next\": \"/category/394/?page=2\"\n        }\n    ],\n    \"Recipe\": [\n        {\n            \"cover\": \"http://s2.cdn.xiachufang.com/84c059f68aa211e6b87c0242ac110003_1536w_2048h.jpg?imageView2/1/w/215/h/136/interlace/1/q/90\",\n            \"name\": \"虎皮蛋（爱吃卤鸡蛋的不容不过～）\",\n            \"url\": \"/recipe/101772749/\"\n        },\n        {\n            \"cover\": \"http://s2.cdn.xiachufang.com/59f01d9a877011e6b87c0242ac110003_2622w_2064h.jpg?imageView2/1/w/215/h/136/interlace/1/q/90\",\n            \"name\": \"蒸鸡蛋\",\n            \"url\": \"/recipe/1052846/\"\n        },\n        {\n            \"cover\": \"http://s2.cdn.xiachufang.com/49fdcc782dc611e7947d0242ac110002_1488w_1984h.jpg?imageView2/1/w/215/h/136/interlace/1/q/90\",\n            \"name\": \"卤鸡蛋\",\n            \"url\": \"/recipe/102275135/\"\n        },\n        {\n            \"cover\": \"http://s2.cdn.xiachufang.com/c35432e086f711e6b87c0242ac110003_480w_640h.jpg?imageView2/1/w/215/h/136/interlace/1/q/90\",\n            \"name\": \"葱花鸡蛋饼\",\n            \"url\": \"/recipe/45007/\"\n        },\n        {\n            \"cover\": \"http://s2.cdn.xiachufang.com/a79c5420896c11e6a9a10242ac110002_1280w_1280h.jpg?imageView2/1/w/215/h/136/interlace/1/q/90\",\n            \"name\": \"鸡蛋饼\",\n            \"url\": \"/recipe/100553539/\"\n        },\n        {\n            \"cover\": \"http://s2.cdn.xiachufang.com/e0edf7e4876c11e6a9a10242ac110002_2448w_3264h.jpg?imageView2/1/w/215/h/136/interlace/1/q/90\",\n            \"name\": \"鸡蛋汤面\",\n            \"url\": \"/recipe/1050858/\"\n        },\n        {\n            \"cover\": \"http://s2.cdn.xiachufang.com/07145394876511e6a9a10242ac110002_500w_667h.jpg?imageView2/1/w/215/h/136/interlace/1/q/90\",\n            \"name\": \"尖椒鸡蛋\",\n            \"url\": \"/recipe/1047057/\"\n        },\n        {\n            \"cover\": \"http://s2.cdn.xiachufang.com/45bd2aa6882f11e6b87c0242ac110003_640w_638h.jpg?imageView2/1/w/215/h/136/interlace/1/q/90\",\n            \"name\": \"正宗糖醋鸡蛋\",\n            \"url\": \"/recipe/100133845/\"\n        },\n        {\n            \"cover\": \"http://s2.cdn.xiachufang.com/8d9f4042898911e6a9a10242ac110002_1280w_1280h.jpg?imageView2/1/w/215/h/136/interlace/1/q/90\",\n            \"name\": \"鸡蛋米饭饼\",\n            \"url\": \"/recipe/100564118/\"\n        },\n        {\n            \"cover\": \"http://s2.cdn.xiachufang.com/5a8ace493fda4d658883ffbc92f3e911_2304w_1536h.jpg?imageView2/1/w/215/h/136/interlace/1/q/90\",\n            \"name\": \"鸡蛋小饼干\",\n            \"url\": \"/recipe/102216617/\"\n        },\n        {\n            \"cover\": \"http://s2.cdn.xiachufang.com/289c5b70882c11e6a9a10242ac110002_650w_650h.jpg?imageView2/1/w/215/h/136/interlace/1/q/90\",\n            \"name\": \"鸡蛋葱油饼\",\n            \"url\": \"/recipe/100128338/\"\n        },\n        {\n            \"cover\": \"http://s2.cdn.xiachufang.com/a319b8bc8ac411e6a9a10242ac110002_1880w_1879h.jpg?imageView2/1/w/215/h/136/interlace/1/q/90\",\n            \"name\": \"简单易学牛奶鸡蛋布丁\",\n            \"url\": \"/recipe/101791580/\"\n        },\n        {\n            \"cover\": \"http://s2.cdn.xiachufang.com/fc88b1be86f011e6b87c0242ac110003_500w_633h.jpg?imageView2/1/w/215/h/136/interlace/1/q/90\",\n            \"name\": \"鸡蛋土豆饼\",\n            \"url\": \"/recipe/15758/\"\n        },\n        {\n            \"cover\": \"http://s2.cdn.xiachufang.com/e98ea8f05edd11e7bc9d0242ac110002_3024w_4032h.jpg?imageView2/1/w/215/h/136/interlace/1/q/90\",\n            \"name\": \"虎皮鸡蛋\",\n            \"url\": \"/recipe/102329470/\"\n        },\n        {\n            \"cover\": \"http://s2.cdn.xiachufang.com/fb63737a88f611e6b87c0242ac110003_750w_728h.jpg?imageView2/1/w/215/h/136/interlace/1/q/90\",\n            \"name\": \"快手啤酒卤鸡蛋\",\n            \"url\": \"/recipe/100475480/\"\n        },\n        {\n            \"cover\": \"http://s1.cdn.xiachufang.com/c3f53dc8878011e6a9a10242ac110002_3088w_2056h.jpg@2o_50sh_1pr_1l_215w_136h_1c_1e_90q_1wh\",\n            \"name\": \"剁椒鸡蛋\",\n            \"url\": \"/recipe/1067968/\"\n        },\n        {\n            \"cover\": \"http://s2.cdn.xiachufang.com/99e123f888e811e6a9a10242ac110002_638w_638h.jpg?imageView2/1/w/215/h/136/interlace/1/q/90\",\n            \"name\": \"鸡蛋芝士烤吐司\",\n            \"url\": \"/recipe/100462057/\"\n        },\n        {\n            \"cover\": \"http://s2.cdn.xiachufang.com/9622c1568b8911e6a9a10242ac110002_1920w_1080h.jpg?imageView2/1/w/215/h/136/interlace/1/q/90\",\n            \"name\": \"土豆丝鸡蛋饼\",\n            \"url\": \"/recipe/101877531/\"\n        },\n        {\n            \"cover\": \"http://s2.cdn.xiachufang.com/2eb6a4ba899f11e6a9a10242ac110002_640w_640h.jpg?imageView2/1/w/215/h/136/interlace/1/q/90\",\n            \"name\": \"西红柿鸡蛋\",\n            \"url\": \"/recipe/100573951/\"\n        },\n        {\n            \"cover\": \"http://s2.cdn.xiachufang.com/6bcc1b0288da11e6b87c0242ac110003_650w_650h.jpg?imageView2/1/w/215/h/136/interlace/1/q/90\",\n            \"name\": \"火腿肠葱花鸡蛋饼\",\n            \"url\": \"/recipe/100448277/\"\n        }\n    ]\n}\n```\n\n获取详细菜谱\n\n\u003e GET `/recipe/101829462/`\n\n```json\n{\n    \"Content\": [\n        {\n            \"cover\": \"http://s2.cdn.xiachufang.com/d0cb97448b8c11e6a9a10242ac110002_1614w_1080h.jpg?imageView2/2/w/660/interlace/1/q/90\",\n            \"grade\": \"8.5\",\n            \"materials\": [\n                {\n                    \"name\": \"猪前蹄\",\n                    \"unit\": \"一只\"\n                },\n                {\n                    \"name\": \"冰糖\",\n                    \"unit\": \"一块\"\n                },\n                {\n                    \"name\": \"桂皮\",\n                    \"unit\": \"二片\"\n                },\n                {\n                    \"name\": \"八角\",\n                    \"unit\": \"二个\"\n                },\n                {\n                    \"name\": \"香叶\",\n                    \"unit\": \"二片\"\n                },\n                {\n                    \"name\": \"姜\",\n                    \"unit\": \"一小块\"\n                },\n                {\n                    \"name\": \"油\",\n                    \"unit\": \"适量\"\n                },\n                {\n                    \"name\": \"盐\",\n                    \"unit\": \"适量\"\n                },\n                {\n                    \"name\": \"生抽\",\n                    \"unit\": \"适量\"\n                },\n                {\n                    \"name\": \"白胡椒粉\",\n                    \"unit\": \"适量\"\n                },\n                {\n                    \"name\": \"豆腐乳\",\n                    \"unit\": \"一块\"\n                },\n                {\n                    \"name\": \"陈醋\",\n                    \"unit\": \"一小勺\"\n                },\n                {\n                    \"name\": \"啤酒.料酒或白酒\",\n                    \"unit\": \"适量\"\n                },\n                {\n                    \"name\": \"鸡精（可不放）\",\n                    \"unit\": \"适量\"\n                }\n            ],\n            \"name\": \"红烧猪蹄\",\n            \"steps\": [\n                {\n                    \"desc\": \"猪蹄.让卖的师傅给处理干净.剁好..\\n自己家是没办法剁的...\\n\\n猪蹄放入冷水锅中煮..\\n煮开后.继续煮5分钟以上..\\n然后捞出来..清洗干净备用！\",\n                    \"img\": \"http://s1.cdn.xiachufang.com/d9c834a28dfc11e6a9a10242ac110002_1080w_1616h.jpg@2o_50sh_1pr_1l_300w_90q_1wh\",\n                    \"step\": 1\n                },\n                {\n                    \"desc\": \"锅里放油..冰糖放入.\\n\\n如果是整块的.\\n小火加热一会儿.锅铲拍一下.\\n冰糖会全部碎.\",\n                    \"img\": \"http://s2.cdn.xiachufang.com/0aabdbe08b8d11e6a9a10242ac110002_1616w_1080h.jpg?imageView2/2/w/300/interlace/1/q/90\",\n                    \"step\": 2\n                },\n                {\n                    \"desc\": \"小火.锅铲搅动.\\n出现图片里的泡后.\\n糖色就是炒好了..\\n\\n早了颜色不好看.\\n晚了...会糊！！\\n\\n就好比女人..\\n太年轻的木有味道.\\n太老了.....\\n\\n一切.要刚刚好..\",\n                    \"img\": \"http://s1.cdn.xiachufang.com/edfe036a8b8c11e6a9a10242ac110002_1616w_1080h.jpg@2o_50sh_1pr_1l_300w_90q_1wh\",\n                    \"step\": 3\n                },\n                {\n                    \"desc\": \"放入猪蹄翻炒.翻炒上色..\",\n                    \"img\": \"http://s2.cdn.xiachufang.com/d96c03d08dfc11e6b87c0242ac110003_2048w_1536h.jpg?imageView2/2/w/300/interlace/1/q/90\",\n                    \"step\": 4\n                },\n                {\n                    \"desc\": \"放入八角.桂皮.香叶.姜片....继续翻炒！\",\n                    \"img\": \"http://s1.cdn.xiachufang.com/d8ed4e468dfc11e6a9a10242ac110002_1536w_2048h.jpg@2o_50sh_1pr_1l_300w_90q_1wh\",\n                    \"step\": 5\n                },\n                {\n                    \"desc\": \"炒出香味...\\n\\n不要怀疑自己的嗅觉或我的菜谱.\\n不要凑锅里去闻香味出来木有.\\n有可能..伱家抽油烟机风力太大..\",\n                    \"img\": \"http://s1.cdn.xiachufang.com/d85363308dfc11e6a9a10242ac110002_1536w_2048h.jpg@2o_50sh_1pr_1l_300w_90q_1wh\",\n                    \"step\": 6\n                },\n                {\n                    \"desc\": \"放白胡椒粉.生抽..陈醋.\",\n                    \"img\": \"http://s2.cdn.xiachufang.com/d7d9cbba8dfc11e6a9a10242ac110002_1536w_2048h.jpg?imageView2/2/w/300/interlace/1/q/90\",\n                    \"step\": 7\n                },\n                {\n                    \"desc\": \"半瓶啤酒或二勺料酒.或一勺白酒...\",\n                    \"img\": \"http://s2.cdn.xiachufang.com/d74b14748dfc11e6a9a10242ac110002_2048w_1536h.jpg?imageView2/2/w/300/interlace/1/q/90\",\n                    \"step\": 8\n                },\n                {\n                    \"desc\": \"然后再加开水..倒入高压锅.\\n上汽之后.\\n改中小火压5分钟.\\n愛吃特别烂的.可以多几分钟.\\n\\n反正....我又不吃！\",\n                    \"img\": \"http://s2.cdn.xiachufang.com/d6d12aec8dfc11e6b87c0242ac110003_1536w_2048h.jpg?imageView2/2/w/300/interlace/1/q/90\",\n                    \"step\": 9\n                },\n                {\n                    \"desc\": \"倒回锅里.加一块豆腐乳.捣碎..\\n中小火焖煮！\\n\\n啥？没看见豆腐乳？\\n喔..我家木有了.\\n没放...=_=..\",\n                    \"img\": \"http://s1.cdn.xiachufang.com/d55c85628dfc11e6a9a10242ac110002_1536w_2048h.jpg@2o_50sh_1pr_1l_300w_90q_1wh\",\n                    \"step\": 10\n                },\n                {\n                    \"desc\": \"汤汁收至剩一半时.\\n放盐..大火收汁.\\n\\n成品颜色好看不好看.\\n就看这一步了！\",\n                    \"img\": \"http://s1.cdn.xiachufang.com/d4d5d13e8dfc11e6a9a10242ac110002_1536w_2048h.jpg@2o_50sh_1pr_1l_300w_90q_1wh\",\n                    \"step\": 11\n                },\n                {\n                    \"desc\": \"收干汁后...放一点鸡精.不放也行..\",\n                    \"img\": \"http://s1.cdn.xiachufang.com/20a2d8868b8d11e6a9a10242ac110002_1614w_1080h.jpg@2o_50sh_1pr_1l_300w_90q_1wh\",\n                    \"step\": 12\n                }\n            ],\n            \"tip\": \"吃辣的话..后面丢几个小米椒.好好吃.不用高压锅或木有的.就在锅里直接加开水.尽量多加一些.烧开后.转小火慢炖.炖烂就行！但是后期一定要大火收汁！也可以放黄豆啥的.当然..催乳有良效.-_-#..\"\n        }\n    ]\n}\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fruter%2Fxiachufang-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fruter%2Fxiachufang-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fruter%2Fxiachufang-api/lists"}