# accountbook **Repository Path**: core123/accountbook ## Basic Information - **Project Name**: accountbook - **Description**: accountbook - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-14 - **Last Updated**: 2025-11-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 儿童记账应用 💰✨ 一个简单可爱的儿童记账微信小程序,帮助孩子从小养成良好的理财习惯。 ## 项目简介 本项目包含: - **微信小程序前端**:基于微信小程序原生框架开发,可爱的UI设计 - **FastAPI 后端**:Python FastAPI + SQLite 数据库 - **Docker 部署支持**:一键部署后端服务 ## 功能特点 ✨ **可爱的UI设计** - 粉紫色渐变背景 - 云朵和星星装饰动画 - 适合儿童的界面风格 💰 **核心功能** - 查看余额和每月零花钱 - 记录支出和收入 - 查看账单记录 - 自动计算本月支出 📊 **数据管理** - 支持多用户 - SQLite 数据持久化 - 余额自动计算 ## 项目结构 ``` accountbook/ ├── backend/ # 后端服务 │ ├── app/ │ │ ├── __init__.py │ │ ├── main.py # FastAPI 主程序 │ │ ├── models.py # 数据模型 │ │ ├── database.py # 数据库配置 │ │ └── api/ │ │ └── routes.py # API 路由 │ ├── requirements.txt # Python 依赖 │ ├── Dockerfile # Docker 镜像配置 │ └── docker-compose.yml # Docker Compose 配置 └── miniprogram/ # 微信小程序 ├── pages/ │ ├── index/ # 主页 │ └── record/ # 记账页 ├── app.js ├── app.json └── app.wxss ``` ## 快速开始 ### 后端部署 #### 🚀 方式一:一键启动(推荐,自动安装依赖) **Windows 用户:** ```bash run.bat ``` **Mac/Linux 用户:** ```bash chmod +x run.sh ./run.sh ``` 这个脚本会自动: - ✅ 检查 Python 版本 - 📦 安装所需依赖 - 🗄️ 初始化数据库 - 🚀 启动开发服务器 #### 🐳 方式二:Docker 部署 **Windows 用户:** ```bash start.bat ``` **Mac/Linux 用户:** ```bash chmod +x start.sh ./start.sh ``` 或手动执行: ```bash cd backend docker-compose up -d ``` 后端服务将在 `http://localhost:8000` 启动 #### 💻 方式三:手动部署 ```bash cd backend pip install -r requirements.txt uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload ``` ### 前端部署 1. 使用微信开发者工具打开 `miniprogram` 目录 2. 修改 `app.js` 中的 `apiBase` 为你的后端服务地址 ```javascript globalData: { apiBase: 'http://your-server-ip:8000/api', // 修改为实际的后端地址 userId: null } ``` 3. 编译并上传到微信小程序平台 ## API 接口 ### 用户相关 - `POST /api/user/init` - 初始化用户 - `GET /api/user/{user_id}/balance` - 获取用户余额信息 ### 账单相关 - `POST /api/user/{user_id}/transaction` - 创建账单记录 - `GET /api/user/{user_id}/transactions` - 获取账单记录列表 ## API 文档 后端启动后,访问以下地址查看 API 文档: - Swagger UI: `http://localhost:8000/docs` - ReDoc: `http://localhost:8000/redoc` ### 🧪 测试 API 接口 启动后端服务后,可以运行测试脚本验证接口: ```bash cd backend python test_api.py ``` 测试脚本会自动: - 创建测试用户 - 测试余额查询 - 测试创建收入/支出 - 测试获取交易记录 ## 数据库结构 ### users 表 - `id`: 用户ID - `openid`: 微信用户唯一标识 - `nickname`: 昵称 - `monthly_allowance`: 每月零花钱 - `balance`: 当前余额 - `created_at`: 创建时间 ### transactions 表 - `id`: 记录ID - `user_id`: 用户ID - `type`: 类型(income/expense) - `amount`: 金额 - `category`: 分类 - `note`: 备注 - `created_at`: 创建时间 ## 技术栈 **前端** - 微信小程序原生框架 - WXML + WXSS **后端** - Python 3.11 - FastAPI - SQLite - Pydantic **部署** - Docker - Docker Compose ## 开发说明 ### 后端开发 ```bash cd backend pip install -r requirements.txt # 运行开发服务器 uvicorn app.main:app --reload ``` ### 小程序开发 1. 安装微信开发者工具 2. 导入 `miniprogram` 目录 3. 启动后端服务 4. 开始开发调试 ## 部署注意事项 1. **生产环境配置** - 修改小程序 `app.js` 中的 `apiBase` 为生产服务器地址 - 配置 HTTPS(微信小程序要求) - 在微信小程序后台配置服务器域名 2. **安全性** - 生产环境建议实现真实的微信登录(获取 openid) - 配置 CORS 允许的具体域名 - 添加 API 鉴权机制 3. **数据备份** - 定期备份 `backend/data/accountbook.db` 数据库文件 ## Docker 部署详细步骤 ```bash # 1. 进入后端目录 cd backend # 2. 构建并启动容器 docker-compose up -d # 3. 查看日志 docker-compose logs -f # 4. 停止服务 docker-compose down # 5. 数据目录 # 数据库文件位于 backend/data/accountbook.db ``` ## 常见问题 **Q: 小程序无法连接后端?** A: 检查 `app.js` 中的 `apiBase` 地址是否正确,确保后端服务已启动。 **Q: 生产环境如何部署?** A: 1. 后端部署到云服务器,配置 HTTPS 2. 在微信小程序后台配置服务器域名 3. 修改小程序中的 API 地址为生产地址 **Q: 如何实现真实的微信登录?** A: 需要使用 `wx.login()` 获取 code,然后调用微信服务器换取 openid。 ## License MIT ## 作者 Created with ❤️ for kids learning financial management --- **提示**: 这是一个简化的教学项目,生产环境使用需要添加更多安全性和功能完善。