# aa_bill **Repository Path**: baker-yuan/aa_bill ## Basic Information - **Project Name**: aa_bill - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-11 - **Last Updated**: 2026-01-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AA记账 (AA Bill) - 多人协作记账小程序 ## 📖 项目简介 AA记账是一款基于微信小程序的多人协作AA制记账工具,专为朋友聚会、团队旅行、家庭出游等场景设计。用户可以创建活动事件,邀请好友加入,共同记录支出,系统自动计算最优结算方案。 ### ✨ 核心特色 - **🎯 智能分摊**:支持按权重、固定金额的混合分摊模式 - **👥 灵活协作**:支持预设成员,新用户通过认领身份加入 - **💰 精准结算**:基于最小转账路径算法,减少转账次数 - **📱 便捷分享**:微信一键分享,好友扫码即可加入 ## 🚀 快速开始 ### 1. 创建活动 1. 打开小程序,点击"新建活动" 2. 输入活动标题(如"周末露营") 3. 预设参与成员名单(可添加虚拟成员) 4. 选择管家(负责最终结算) 5. 创建完成,分享给好友 ![创建活动](doc/img/02-创建活动.png) ### 2. 邀请好友加入 - 通过微信分享活动卡片 - 好友点击链接进入活动详情页 - 选择认领自己的身份(如"小明") - 确认后自动关联微信账号 ![活动详情](doc/img/02-活动详情.png) ### 3. 记录支出 1. 进入活动页面,点击"记一笔" 2. 选择支出类型:普通支出/收入/转账 3. 填写金额、用途、分类 4. 设置参与人和分摊方式 5. 提交记录,实时同步给所有成员 ![记账页面](doc/img/01-记一笔.png) ### 4. 查看结算 活动结束后,进入结算页面查看: - 每个人的收支明细 - 最优转账方案 - 谁该给管家多少钱 - 管家该给谁多少钱 ![结算页面](doc/img/01-结算页面.png) ## 💡 核心功能详解 ### 🎯 智能分摊算法 #### 支持多种分摊模式: - **均分模式**:所有人平均分摊 - **权重模式**:按比例分摊(如带家属权重设为2) - **混合模式**:固定金额 + 权重分摊 - **指定参与**:可选择部分成员参与分摊 #### 分摊示例: ``` 火锅消费 ¥500,参与人: - A(权重1):固定金额 ¥50(饮料) - B(权重2):带家属 - C(权重1): 计算过程: 固定金额:A ¥50 剩余金额:¥450 总权重:1+2+1=4 每权重:¥112.5 最终分摊: A:¥50 + ¥112.5 = ¥162.5 B:¥225 C:¥112.5 ``` ### 👥 成员管理 #### 虚拟成员机制 - 创建活动时可预设成员名单 - 新用户通过认领身份加入 - 支持中途添加新成员 - 可追溯分摊历史账单 #### 身份认领流程 1. 新用户通过分享链接进入 2. 选择未被认领的虚拟成员 3. 确认"我是[姓名]" 4. 系统自动关联微信账号 ### 💰 结算方案 #### 中心化结算(管家模式) - 指定一名成员作为管家 - 所有应付方转账给管家 - 管家统一分发给应收方 - 减少多人间复杂转账 #### 结算算法特点 - 基于最小转账路径优化 - 支持多币种单位(统一为分) - 自动处理尾差分配 - 清晰的结算清单 ## 📋 使用场景示例 ### 🏕️ 周末露营 - **创建活动**:"周末露营" - **预设成员**:小明、小红、小刚 - **记录支出**: - 食材采购 ¥300(小明付款) - 帐篷租赁 ¥200(小红付款) - 烧烤食材 ¥150(小刚付款) - **结算结果**:系统自动计算每人应付金额 ### 🎉 朋友聚餐 - **创建活动**:"生日聚餐" - **权重设置**:寿星权重为0(免单) - **混合分摊**:部分菜品指定分摊 - **灵活调整**:中途加入的朋友可追溯分摊 ## 🏗️ 技术架构 ### 前端技术栈 - **框架**:微信小程序原生开发 - **UI组件**:WeUI + 自定义样式 - **状态管理**:MobX/全局Store - **开发工具**:微信开发者工具 ### 后端服务 - **平台**:微信云开发 (CloudBase) - **数据库**:云开发 JSON Database - **云函数**:用户中心、事件管理、账单管理 - **存储**:云存储服务 ### 数据模型 - **用户表**:微信用户基本信息 - **事件表**:活动主体和成员信息 - **账单表**:支出、收入、转账记录 - **统一规范**:金额单位为分,时间戳为秒级 ## 📁 项目结构 ``` frontend/ # 小程序前端 ├── pages/ # 页面文件 │ ├── index/ # 首页 │ ├── events/ # 事件相关 │ ├── bill/ # 账单相关 │ └── profile/ # 个人中心 ├── utils/ # 工具函数 │ ├── util.js # 基础工具 │ └── settlement.js # 结算算法 └── app.js # 全局配置 cloudfunctions/ # 云函数 ├── user-center/ # 用户中心 ├── event-manage/ # 事件管理 └── bill-manage/ # 账单管理 ``` ## 🔧 开发指南 ### 环境要求 - 微信开发者工具最新版 - 小程序AppID - 云开发环境配置 ### 本地开发 1. 克隆项目到本地 2. 在微信开发者工具中导入项目 3. 配置云开发环境ID 4. 启动开发调试 ### 部署发布 1. 云函数上传部署 2. 小程序代码审核 3. 发布上线 ## 📞 联系我们 如有问题或建议,欢迎通过以下方式联系: - 项目文档:查看详细设计文档 - 问题反馈:通过小程序内反馈功能 - 技术交流:开发者社区 --- **立即体验**:微信搜索"AA记账"小程序,开始您的智能AA记账之旅!