{"id":18011506,"url":"https://github.com/chenbimo/funpi","last_synced_at":"2025-04-07T16:17:49.680Z","repository":{"id":252233487,"uuid":"839840574","full_name":"chenbimo/funpi","owner":"chenbimo","description":"funpi(放屁) - 像放屁一样简单又自然的Node.js接口开发框架","archived":false,"fork":false,"pushed_at":"2025-04-05T07:02:12.000Z","size":788,"stargazers_count":62,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-05T07:05:13.003Z","etag":null,"topics":["api","js","nodejs","typescript"],"latest_commit_sha":null,"homepage":"https://sourl.cn/UKiGJR","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chenbimo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2024-08-08T12:34:37.000Z","updated_at":"2025-04-05T07:02:15.000Z","dependencies_parsed_at":"2024-08-17T18:21:26.920Z","dependency_job_id":"df8dd5d7-bf7c-4a2b-bfba-78d9c59e1376","html_url":"https://github.com/chenbimo/funpi","commit_stats":null,"previous_names":["chenbimo/funpi"],"tags_count":50,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chenbimo%2Ffunpi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chenbimo%2Ffunpi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chenbimo%2Ffunpi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chenbimo%2Ffunpi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chenbimo","download_url":"https://codeload.github.com/chenbimo/funpi/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247685628,"owners_count":20979085,"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","js","nodejs","typescript"],"created_at":"2024-10-30T03:10:53.154Z","updated_at":"2025-04-07T16:17:49.659Z","avatar_url":"https://github.com/chenbimo.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# funpi 是什么？\n\n中文名称 `放屁` 接口框架。\n\n像放屁一样简单又自然的 `Node.js` 接口开发框架。\n\n\u003e 注意：本项目 `v7` 为内测版，`v8` 才是公测版，谨慎使用。\n\u003e\n\u003e 自 `v7.15.0` 版本开始，本项目仅支持 [Bun](https://bun.sh)，不再支持 `Node.js`。\n\n### 仓库地址\n\n[github - https://github.com/chenbimo/funpi](https://github.com/chenbimo/funpi)\n\n### 使用教程\n\n[funpi(放屁)使用文档](https://sourl.cn/bUq25t)\n\n### 作者介绍\n\n[前端之虎陈随易 https://chensuiyi.me](https://chensuiyi.me)\n\n### 演示地址\n\n- [https://funpi-demo.yicode.tech](https://funpi-demo.yicode.tech)\n\n### 功能特点\n\n- ✅ 只需 `简单配置`，即可快速上手开发。\n- ✅ 自动生成 `接口文档`，方便前后端对接。\n- ✅ 自带 `权限`、`角色`、`管理`、`日志`、`菜单`、`接口`、`字典` 等基础功能。\n- ✅ 自带 `邮件发送`，`文件上传` 等功能。\n- ✅ 自带 `日志打印` 和 `日志分割` 功能。\n- ✅ 自带 `jwt` 鉴权机制。\n- ✅ 自带 `登录日志`，`邮件日志` 等功能。\n- ✅ 自带配套的后台管理系统 `yiadmin`，30 分钟搭建一个后台管理系统。\n- ✅ 默认已处理 `跨域` 问题，无需再为跨域担心。\n- ✅ 优先使用 `缓存`，提高应用性能。\n- ✅ 默认提供 `静态文件托管` 功能。\n- ✅ 可以 `一键更新` 后台管理系统。\n- ✅ 全面的 `接口参数验证` 功能，极大减少安全隐患。\n- ✅ 提供 `数据库表字段设计` 和 `表结构同步` 功能。\n\n### 功能限制\n\n本框架做了很多约束，减少自由度，增加确定度，稳定度。\n\n- ❎ 仅支持 `Bun`，不支持 `Node.js`，`Deno` 等。\n- ❎ 仅支持 `单机部署`，使用 `pm2` 管理。\n- ❎ 仅支持 `单角色权限`。\n- ❎ 仅支持 `Mysql` 关系数据库。\n- ❎ 仅支持 `Redis` 缓存数据库。\n- ❎ 仅支持 `POST` 和 `GET` 请求方法。\n- ❎ 仅支持 `整数`、`浮点数`、`文本`、`字符串` 这四种数据库字段类型。\n- ❎ 不支持 `分库分表`。\n- ❎ 不支持 `Docker` 部署，请自行研究。\n- ❎ 不支持 `分布式部署`。\n- ❎ 不支持 `Restful` 规范，不认同 `Restful` 规范，不使用 `Restful` 规范。\n\n### 付费插件\n\n- `微信扫码插件`，登录注册，需要提供微信公众号。\n- `在线人数统计插件`，提供 `踢人`，`拉黑` 等功能。\n- `微信支付插件`，支持 `多产品`、`折扣`、`优惠` 等功能。\n\n### 注意事项\n\n- 与本项目逻辑、BUG、建议相关的问题，请联系作者无偿 `免费处理`。\n- 与本项目无关的业务、功能、需求、部署相关的问题，请联系作者 `有偿咨询`。\n\n### 实际效果\n\n使用 `funpi` + `yiadmin` 驱动的，免费且开源的后台管理系统。\n\n#### 📄 登录页面\n\n![picture 0](https://static.yicode.tech/images/202311/20231126000719.png)\n\n#### 📄 菜单页面\n\n![picture 2](https://static.yicode.tech/images/202311/20231126000809.png)\n\n#### 📄 接口页面\n\n![picture 3](https://static.yicode.tech/images/202311/20231126000833.png)\n\n#### 📄 角色页面\n\n![picture 4](https://static.yicode.tech/images/202311/20231126000913.png)\n\n#### 📄 登录日志\n\n![picture 5](https://static.yicode.tech/images/202311/20231126000935.png)\n\n#### 📄 邮件日志\n\n![picture 6](https://static.yicode.tech/images/202311/20231126001012.png)\n\n### 版权说明\n\n`funpi(放屁)` 使用 `Apache 2.0` 协议开源\n\n\u003e 一句话总结：开源不等于放弃版权，不可侵犯原作者版权，改动处要做说明，可以闭源使用。\n\n拥有版权（Copyright）意味着你对你开发的软件及其源代码拥有著作权，所有权和其他法定权利，使用一个开源协议并不意味着放弃版权。\n\n在 `Apache 2.0` 协议许可下，您可以：\n\n- **商业化使用**（这意味着，您可以出于商业目的使用这些源代码）\n- **再分发**（这意味着，您可以将源代码副本传输给其他任何人）\n- **修改**（这意味着，您可以修改源代码）\n- **专利使用**（这意味着，版权人明确声明授予您专利使用权）\n- **私人使用**（这意味着，您可以出于一切目的私下使用和修改源代码）\n\n唯须遵守以下条款：\n\n- **协议和版权通知**（这意味着，软件中必须包含许可证和版权声明的副本）\n- **状态更改说明**（如果您更改软件，您应当提供适当的说明）\n\n除此之外，该软件：\n\n- **提供责任限制**（版权人声明不对使用者造成的任何损失负责）\n- **限制商标使用** (不能使用版权人的商标)\n- **不提供任何担保**（版权人声明不为该软件的品质提供任何担保）\n\n进一步说明：\n\n1. 本软件又叫本 **作品**，可以是源码，也可以是编译或转换后的其他形式。**衍生作品** 是在本作品的基础上修改后的有原创性的工作成果。本作品的 **贡献者** 包括许可人和其他提交了贡献的人，以下统称 **我**。\n2. 我授予你权利：你可以免费复制、使用、修改、再许可、分发本作品及衍生作品（可以不用公开源码）。\n3. 如果本软件涉及我的专利（或潜在专利），我在此授予你专利许可，你可以永久性地免费使用此专利，用于制作、使用、出售、转让本作品。如果你哪天居然告本作品侵权，你的专利许可在你告我那天被收回。\n4. 你在复制和分发本作品或衍生作品时，要满足以下条件。\n\n    - 带一份本许可证。\n    - 如果你修改了什么，要在改动的文件中有明显的修改声明。\n    - 如果你以源码形式分发，你必须保留本作品的版权、专利、商标和归属声明。\n    - 如果本作品带了 **NOTICE** 文件，你就得带上 **NOTICE** 文件中包含的归属声明。即便你的发布是不带源码的，你也得带上此文件，并在作品某处予以展示。\n    - 你可以对自己的修改添加版权说明。对于你的修改或者整个衍生作品，你可以使用不同的许可，但你对本作品的使用、复制和分发等，必须符合本许可证规定。\n\n5. 你提交贡献就表明你默认遵守本许可的条款和条件。当然，你可以和我签订另外的专门的条款。\n6. 你不许使用我的商品名、商标、服务标志或产品名。\n7. 本作品是 **按原样**（AS IS）提供的，没有任何保证啊，你懂的。\n8. 我可不负任何责任。除非我书面同意，或者法律有这样的要求（例如对故意和重大过失行为负责）。\n9. 你可以向别人提供保证，你可以向别人收费，但那都是你的事，别给我惹麻烦。\n\n注意以上的 **我**，既包含了许可人，也包含了每位 **贡献者**。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchenbimo%2Ffunpi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchenbimo%2Ffunpi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchenbimo%2Ffunpi/lists"}