# 家庭综合管家小程序 **Repository Path**: cmkj/jiating ## Basic Information - **Project Name**: 家庭综合管家小程序 - **Description**: 一套全家共享账本 + 家庭资产管理 + 生活物资 + 日程提醒 + 会员增值一体化的家庭场景 SaaS 级小程序源码。 基于 uni-app(Vue3) + ThinkPHP6 + MySQL 的全家共享式家庭管家小程序源码,一套代码可发微信小程序/H5/App,自带PC 管理后台。 - **Primary Language**: PHP - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2026-08-06 - **Last Updated**: 2026-08-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: 记账, 家庭管家 ## README # 家庭综合管家小程序 · > 一套**全家共享账本 + 家庭资产管理 + 生活物资 + 日程提醒 + 会员增值**一体化的家庭场景 SaaS 级小程序源码。 --- ## 🤝 诚邀大家一起完善 这个项目是我从零一点点搭起来的,功能虽已能跑通日常使用, 但一个人的精力有限,**一定还有不少可以做得更好的地方**——更好的交互、更全的分类、 更稳的代码、更完善的文档,甚至是你自己的奇思妙想。 所以这份代码完全开源,欢迎你来一起把它打磨得更好: - 💡 **有想法 / 踩到坑?** → 开一个 [Issue](../../issues),提建议或报 bug - 🔧 **想动手改?** → 点右上角 **Fork**,改完提 **Pull Request**,我会逐个看、合并 - 📖 **想补文档 / 翻译?** → 同样走 Pull Request,把说明写清楚也是在帮大家 **不论改动大小都欢迎**:改一个错别字、调一个配色、修一个 bug,还是加一整个模块, 只要对大家有用,我都乐意收进来。一起把它做成真正好用的家庭管家 💚 ## 一、一句话定位(电梯陈述) **家庭综合管家** 是一个为「家庭」这个最小社会单位打造的一站式数字管家: - 👨‍👩‍👧 **全家共享一个账本**,谁花了多少、花在哪、预算还剩多少,全家透明; - 🏠 **家庭资产 / 物资 / 健康档案** 集中管理,杜绝"东西买了又买、药过期了才发现"; - ⏰ **日程、用药、物资临期、超预算** 智能提醒,把健忘交给系统; - 🎨 **所有分类、图标、提醒全部可自定义**——别的软件把分类写死只能选, ours 让你按使用习惯自己建。 --- ## 二、核心逻辑方向 | 维度 | 设计逻辑 | |------|----------| | **组织单位** | 以「家庭」为数据隔离与共享的核心单位,成员加入家庭后共享账本、物资、日程;同时支持"个人私密消费"视角,互不干扰 | | **数据同源** | 三端(C 端小程序 / H5、PC 管理后台、后端 API)共用同一套 ThinkPHP6 接口与数据库,数据实时一致 | | **不写死哲学** | 收入/支出/日程/物资分类、图标、提醒项均可由用户或运营自由增删改,**拒绝硬编码下拉选项** | | **轻量可私有化** | 后端仅依赖 PHP + MySQL,支持 Docker 一键起,也支持宝塔面板传统部署,**源码可私有化、可二开、可转售** | | **增值闭环** | 内置会员(VIP)/付费/渠道推广体系,买下即可做自己的家庭记账会员产品 | --- ## 三、能解决什么痛点 1. **家庭账本混乱**:夫妻/父母子女各记各的,月底对不上账 → 全家共享账本 + 报表,自动汇总。 2. **预算形同虚设**:很多 App 设了预算不提醒 → 本系统预算"按月/按年"可选,超支在首页红牌预警。 3. **物资重复购买/过期浪费**:冰箱食材、药箱药品、日化用品统一管理,临期自动提醒。 4. **健康档案散落**:就医记录、病历、用药集中在"药箱 + 就医档案"模块,老人小孩看病有据可查。 5. **软件分类写死用着别扭**:这是本项目的**核心差异化**——分类全自由,用户自己建"猫粮""兴趣班""房贷"都行。 6. **想做自己的产品但不会从零开发**:源码完整、文档齐全、可私有化部署,买来改个名换套图标就是你的产品。 --- ## 四、功能清单(模块一览) ### 📱 C 端(uni-app 小程序 / H5) - **首页 Home**:最新动态(全家记账流水 + 智能提醒卡片,个人消费显示本人姓名、家庭消费显示"家庭")、预算概览、金刚区快捷入口。 - **账本 Ledger** - 账本列表 / 记一笔 / 账单详情 - **预算 Budget**:按月或按年,超支预警 - **报表 Report**:收支统计、成员排行、分类占比 - 记账模板(常用一笔一键复用) - **物资 Inventory** - 药箱(药品 + 保质期提醒)、就医档案、病历 - 冰箱食材、贵重资产、日化用品、买菜清单 - **日程 Schedule**:家庭日程,可设提醒。 - **贷款 Loan / 礼金 Gift**:人情往来记账(礼金往来、借贷)。 - **提醒 Notice**:自定义提醒项(物资临期、日程、用药等),开关可配。 - **我的 Mine** - 会员 VIP(权益 + 开通) - 我的家庭 / 家庭成员管理 - **分类管理(自定义收入/支出/日程分类,自由增删)** - 个性化配置(提醒开关、预算周期按月/按年) - 意见反馈、帮助中心 ### 🖥️ PC 管理后台( Ant Design Vue) - 会员 / VIP 管理、付费订单、推广渠道管理 - **分类管理**(运营维护默认收入/支出/日程/礼金分类,含图标与颜色) - **图标管理**(可视化维护前台图标映射,改后台即全局生效) - 家庭成员审核、用户管理、数据看板(Stats) - 系统配置 / 字典 / 操作日志 / 角色权限 ### ⚙️ 后端 API(ThinkPHP6) RESTful JSON 接口,统一 `{code,data,message}` 响应;包含账本、资产、家庭、物资、礼金、贷款、日程、提醒、会员、反馈、上传、统计、分类、图标等完整模块。 --- ## 五、核心亮点 / 差异化优势 > 🌟 **这是本源码最人性化的地方:自由度极高,几乎没有任何东西是写死的。** | # | 亮点 | 说明 | |---|------|------| | 1 | **分类完全自定义** | 收入、支出、日程提醒等分类,C 端用户可在"我的-分类管理"中**自由新增/删除/改名**,后台也预制可维护的默认分类(带图标和颜色)。竞品大多写死下拉项。 | | 2 | **前台图标后台可视化更换** | 图标映射存于后台 `icon_settings` 表,前端通过 `resolveIcon(key)` 动态加载;运营在 PC 后台改图标,**全端即时生效**,无需发版。 | | 3 | **家庭共享 + 个人私密双模式** | 记账区分"家庭公共/个人开销",个人消费在动态里显示本人姓名,保护隐私又透明。 | | 4 | **预算真正生效(按月/按年)** | 预算周期用户可选按月或按年,超预算在首页红色预警卡提醒。 | | 5 | **智能提醒矩阵** | 物资临期、日程、用药、超预算等多类提醒,开关可在个性化配置中独立控制。 | | 6 | **全端同源 + PC 后台** | 小程序/H5/后台共用一套后端,自带运营后台,买来即是"产品"而非"半成品"。 | | 7 | **会员增值体系内置** | VIP、付费、推广渠道模块齐全,可直接商业化运营。 | | 8 | **Docker / 宝塔双部署** | 开发用 Docker 一键起,生产可用宝塔面板传统部署,源码可私有化。 | --- ## 六、可控自由度清单(买家最关心) | 项目 | 是否可改 | 在哪改 | 难度 | |------|----------|--------|------| | 收入/支出分类 | ✅ 自由增删 | C 端"分类管理" + 后台"分类管理" | 零代码 | | 日程提醒分类 | ✅ 自由增删 | C 端"分类管理" | 零代码 | | 物资分类(药/食材/日化等) | ✅ 后台维护 | PC 后台 | 零代码 | | 前台图标 | ✅ 后台换 | PC 后台"图标管理" | 零代码 | | 预算周期(月/年) | ✅ 用户选 | C 端个性化配置 | 零代码 | | 提醒开关 | ✅ 独立控制 | C 端个性化配置 | 零代码 | | 主题/配色 | ✅ 代码级 | 前端样式变量 | 低 | | 会员权益/价格 | ✅ 后台配 | PC 后台 | 零代码 | | 文案/品牌名 | ✅ 代码级 | 前端常量 + 后台配置 | 低 | > 总结:**终端用户(C 端)零代码即可按习惯自定义分类与提醒;运营方在 PC 后台零代码维护图标与默认分类**。真正做到了"软件适配人,而不是人适配软件"。 --- ## 七、技术栈(从前端到后台到数据库) | 层 | 技术 | 说明 | |----|------|------| | **C 端前端** | uni-app(Vue3 语法)+ uView Plus + Pinia + Vite | 一套代码可发 **微信小程序 / H5 / App** | | **网络层** | 自封装 `request.js`(`get/post/put/del`,自动解包 `{code,data,message}`,401 自动登出) | 直连真实后端,无 mock 依赖 | | **PC 管理后台** | vue-vben-admin 5.7 + Ant Design Vue + TypeScript | 现代化中后台,角色/权限/菜单齐全 | | **后端 API** | ThinkPHP 6(PHP 7.4)+ MySQL 5.7 | RESTful JSON,统一响应结构 | | **数据库** | MySQL 5.7(utf8mb4) | 库 `family`,用户 `family/family123` | | **运行环境** | Nginx + PHP-FPM | 伪静态 `rewrite ^/(.*)$ /index.php?s=/$1` | | **容器化** | Docker Compose(family-php / family-nginx / family-mysql) | 一条命令起全套 | | **部署方式** | 宝塔面板 / Docker 任选 | 见第八节 | **源码目录结构** ``` family-app/ ├── src/ # uni-app 前端源码(C 端) │ ├── pages/ # 各业务页面(home/ledger/inventory/schedule/mine...) │ ├── components/ # 公共组件(bill-item、图标等) │ ├── api/ # 接口封装 │ ├── utils/ # 工具(request / icon / date) │ ├── store/ # Pinia 状态 │ └── pages.json # 路由与 tabBar ├── backend/ # 后端 + 部署 │ ├── tp6/ # ThinkPHP6 应用 │ │ ├── app/controller/ # 各业务控制器(Book/Asset/Food/Schedule/Vip...) │ │ └── .env # 数据库等配置 │ └── docker-compose.yml # 容器编排 └── admin/ # PC 管理后台(vue-vben-admin web-antd 工程) ``` --- ## 八、部署教程 ### 方案一:宝塔面板部署 **1. 环境准备(宝塔软件商店一键装)** - Nginx 1.20+ - PHP 7.4(需开启扩展:`pdo_mysql`、`mbstring`、`openssl`、`json`、`fileinfo`、`curl`) - MySQL 5.7 - 可选:PHP 命令行(用于执行安装命令) **2. 部署后端(ThinkPHP6)** 1. 宝塔新建网站,例如 `api.aizhl.cn`,**运行目录设为 `public/`**。 2. 将 `backend/tp6` 全部文件上传到网站根目录。 3. 宝塔 → 数据库 → 新建数据库 `family`,用户名/密码自定(如 `family/family123`)。 4. **导入数据库(二选一)**: - **方式 A(推荐,已随源码附带 `family_db.sql`)**:在宝塔「数据库 → 导入」上传 `family_db.sql`;或命令行执行 `mysql -ufamily -pfamily123 family < family_db.sql`。该文件已含完整表结构、后台默认分类/图标、管理员及演示数据,导入即可用。 - **方式 B(重新生成)**:进入 `tp6` 目录执行安装命令 `php think family:install`(幂等,自动建表 + 种子,已存在的业务表保留数据)。 > 附带 `family_db.sql` 已包含演示数据:后台超管 `admin/123456`、示例家庭、C 端测试用户 `18395232024/123456`,买家导入后可直接登录体验;如需干净环境,用方式 B 或导入后清空示例表即可。 5. 编辑 `tp6/.env`,填入数据库信息: ```ini [DATABASE] TYPE = mysql HOSTNAME = 127.0.0.1 DATABASE = family USERNAME = family PASSWORD = family123 HOSTPORT = 3306 CHARSET = utf8mb4 ``` 5. 导入数据:进入 `tp6` 目录执行安装命令(自动建表 + 种子数据): ```bash php think family:install ``` > 该命令幂等:已存在的业务表保留数据,不会清空用户录入。 6. 配置伪静态(Nginx),在网站"伪静态"中填入: ```nginx location / { if (!-e $request_filename) { rewrite ^/(.*)$ /index.php?s=/$1 last; break; } } ``` 7. 验证:访问 `http://api.aizhl.cn/index.php/book/budget-get` 应返回 JSON(接口存在即正常)。 **3. 部署 C 端前端(uni-app → H5)** 1. 安装 Node.js(建议 18+),进入 `family-app` 前端目录: ```bash npm install # 或 pnpm install ``` 2. 修改接口地址常量(`src/constants/api.js` 的 `BASE_URL`)指向你的后端域名。 3. 编译 H5: ```bash npm run build:h5 ``` 4. 将 `unpackage/dist/build/h5` 产物上传到宝塔新建的 H5 网站根目录,配置好域名即可访问。 - 如需发布**微信小程序**:用 HBuilderX 打开本工程,"发行 → 微信小程序",填 AppId 即可。 **4. 部署 PC 管理后台(vue-vben-admin)** 1. 进入后台前端工程,安装依赖并编译: ```bash pnpm install pnpm build:antd ``` 2. 将编译产物(`dist`)上传到宝塔网站根目录,Nginx 配置指向该目录,`try_files` 兜底到 `index.html`。 3. 后台接口代理指向上一步部署的后端域名。 4. 默认管理员账号:`admin / 123456`(由 `family:install` 初始化)。 --- ### 方案二:Docker 一键部署(适合有容器基础) ```bash cd backend docker compose up -d ``` 自动拉起 `family-php` / `family-nginx` / `family-mysql`,容器内执行建表与种子(约 30–60 秒)。后端映射端口见 `docker-compose.yml`,前端仍按上述 H5/小程序方式编译发布。 --- ## 九、演示与测试账号(交付后可用) | 角色 | 账号 | 密码 | 说明 | |------|------|------|------| | PC 后台超管 | `admin` | `123456` | 由安装命令初始化 | | C 端测试用户 | `18395232024` | `123456` | 已含示例家庭与 VIP,便于演示 | --- ## 十、二次开发与扩展建议 - **换品牌**:改 `src/constants` 中的应用名/Logo,后台"图标管理"换全套图标,即成为你的独立产品。 - **加模块**:后端在 `app/controller` 新增控制器 + 前端在 `pages` 加页面,遵循现有 `request` 封装即可。 - **接支付**:VIP/付费模块已预留 `Payment` 与 `Channel`,接入微信/支付宝支付即可上线收费。 - **多端**:uni-app 一套代码可同时出小程序、H5、App,无需重写。 --- ## 十一、代码清单 - ✅ uni-app C 端完整源码(可发小程序/H5/App) - ✅ ThinkPHP6 后端完整源码 + **数据库 SQL 导出文件 `family_db.sql`(含表结构+种子+演示数据,导入即用)** - ✅ vue-vben-admin PC 管理后台源码 - ✅ Docker / 宝塔双部署教程(本文档第八节) - ✅ 默认管理员与测试账号 - ✅ 图标后台可换、分类全自定义能力(核心卖点) --- > **一句话总结给交易平台买家**:这是一套"分类、图标、提醒全自由"的家庭管家小程序源码,全家共享账本 + 物资 + 日程 + 会员一体化,自带运营后台,支持宝塔/Docker 私有化部署,买来改个名就能上架自己的家庭记账产品。 --- ## 十二、前后端样式预览 ![注册登录](%E6%B3%A8%E5%86%8C%E7%99%BB%E5%BD%95.png) ![首页](%E9%A6%96%E9%A1%B5.png) ![财务页面](%E8%B4%A2%E5%8A%A1.png) ![记账页面](%E8%AE%B0%E4%B8%80%E7%AC%94.png) ![物资管理](%E7%89%A9%E8%B5%84.png) ![药箱管理](%E8%8D%AF%E7%AE%B1.png) ![贵重物资](%E8%B4%B5%E9%87%8D%E8%B5%84%E4%BA%A7.png) ![冰箱食材](%E9%A3%9F%E6%9D%90%E5%86%B0%E7%AE%B1.png) ![日化用品](%E6%97%A5%E5%8C%96%E7%94%A8%E5%93%81.png) ![报表](%E6%8A%A5%E8%A1%A8.png) ![我的](%E6%88%91.png) ![控制台](01.png) ![小程序发布](02.png) ![分类管理](03.png) ![图标设置](05.png) ![数据字典](06.png) ![支付设置](04.png)