Penny Lens PC端技术架构
📋 项目介绍
Penny Lens PC 是一个基于复式记账法的家庭财务管理系统,旨在帮助用户更好地管理个人和家庭财务,通过科学的记账方法和智能分析,实现财务目标。
🎯 项目目标
- 科学记账: 基于复式记账法,确保账目平衡和准确性
- 智能分析: 提供财务分析和趋势预测
- 目标管理: 支持储蓄目标和预算规划
- 用户体验: 简洁直观的界面设计
🏗️ 技术架构
前端技术栈
| 技术 | 版本 | 用途 |
|---|---|---|
| Nuxt | 4.x | 全栈框架 |
| Vue | 3.x | 前端框架 |
| TypeScript | 5.x | 类型安全 |
| Ant Design Vue | 4.x | UI 组件库 |
| UnoCSS | 0.x | 原子化 CSS |
| Pinia | 2.x | 状态管理 |
| Iconify | 3.x | 图标库 |
| VueUse | 10.x | 工具库 |
后端技术栈
| 技术 | 版本 | 用途 |
|---|---|---|
| Node.js | 18+ | 运行时环境 |
| MongoDB | 7.x | 数据库 |
| 七牛云 OSS | - | 文件存储 |
| JWT | - | 身份认证 |
🎨 设计理念
视觉设计
- 现代简约: 简洁的界面设计,减少视觉干扰
- 数据可视化: 直观的图表和统计展示
- 响应式设计: 适配各种设备尺寸
- 深色模式: 支持明暗主题切换
交互设计
- 操作便捷: 减少用户操作步骤
- 反馈及时: 实时的操作反馈
- 错误处理: 友好的错误提示
- 键盘支持: 完整的键盘导航
🚀 核心功能
1. 用户认证
- 多种登录方式: 密码登录、二维码登录
- 安全机制: JWT Token、2FA 双因子认证
- 权限管理: 基于角色的权限控制
2. 资产管理
- 多账户支持: 现金、银行卡、投资账户等
- 资产配置: 灵活的资产分类和配置
- 余额管理: 实时余额更新和同步
3. 记账管理
- 复式记账: 基于借贷平衡的记账方法
- 分类管理: 灵活的收入支出分类
- 批量操作: 支持批量导入和编辑
- 数据验证: 自动的数据校验和平衡检查
4. 预算管理
- 预算规划: 月度、年度预算制定
- 执行监控: 实时预算执行情况
- 预警机制: 预算超支提醒
- 分析报告: 预算执行分析
5. 储蓄游戏
- 目标设定: 灵活的储蓄目标设置
- 进度跟踪: 可视化的进度展示
- 激励机制: 成就系统和奖励机制
- 社交功能: 好友挑战和分享
6. 文件管理
- 文件上传: 支持多种文件格式
- 云存储: 七牛云 OSS 存储
- 文件预览: 在线文件预览
- 权限控制: 文件访问权限管理
📊 数据模型
核心实体
erDiagram
User ||--o{ Asset : owns
User ||--o{ Transaction : creates
User ||--o{ Budget : plans
User ||--o{ SavingsGoal : sets
Asset ||--o{ Transaction : involved
Category ||--o{ Transaction : categorizes
Budget ||--o{ BudgetItem : contains
SavingsGoal ||--o{ SavingsRecord : tracks数据关系
- 用户: 系统的核心实体,拥有所有财务数据
- 资产: 用户的财务账户,包括现金、银行卡等
- 交易: 财务记录,连接资产和分类
- 分类: 收入和支出的分类体系
- 预算: 财务规划,包含多个预算项
- 储蓄目标: 用户的储蓄计划和进度
🔧 开发规范
代码规范
- TypeScript: 严格的类型检查
- ESLint: 代码质量检查
- Prettier: 代码格式化
- Git Hooks: 提交前检查
组件规范
- 单一职责: 每个组件职责明确
- 可复用性: 高度可复用的组件设计
- 类型安全: 完整的 TypeScript 类型定义
- 文档完整: 详细的组件文档
测试规范
- 单元测试: 组件和工具函数测试
- 集成测试: API 接口测试
- 端到端测试: 用户流程测试
- 性能测试: 关键功能性能测试
🚀 部署架构
开发环境
- 本地开发: Nuxt 开发服务器
- 热重载: 实时代码更新
- 调试工具: Vue DevTools、浏览器调试
生产环境
- 静态部署: Nuxt 静态生成
- CDN 加速: 静态资源 CDN 分发
- 容器化: Docker 容器部署
- 负载均衡: 多实例负载均衡
📈 性能指标
前端性能
- 首屏加载: < 2s
- 交互响应: < 100ms
- 包体积: < 1MB (gzipped)
- Lighthouse 评分: > 90
后端性能
- API 响应: < 200ms
- 数据库查询: < 50ms
- 文件上传: < 5s (10MB)
- 并发支持: > 1000 用户
🔒 安全措施
前端安全
- XSS 防护: 输入输出过滤
- CSRF 防护: Token 验证
- 内容安全: CSP 策略
- 依赖安全: 定期更新依赖
后端安全
- 身份认证: JWT Token 机制
- 权限控制: 基于角色的访问控制
- 数据加密: 敏感数据加密存储
- API 安全: 接口限流和验证
📱 浏览器支持
| 浏览器 | 版本 | 支持状态 |
|---|---|---|
| Chrome | 90+ | ✅ 完全支持 |
| Firefox | 88+ | ✅ 完全支持 |
| Safari | 14+ | ✅ 完全支持 |
| Edge | 90+ | ✅ 完全支持 |
| IE | - | ❌ 不支持 |
📊 项目统计
- 代码行数: ~50,000 行
- 组件数量: ~100 个
- API 接口: ~50 个
- 测试覆盖率: > 80%
- 文档页面: ~20 个
🎯 未来规划
短期目标 (3个月)
- 完善核心功能
- 优化用户体验
- 提升性能指标
- 完善测试覆盖
中期目标 (6个月)
- 移动端适配
- 多语言支持
- 高级分析功能
- 第三方集成
长期目标 (1年)
- AI 智能分析
- 区块链集成
- 企业版功能
- 国际化部署
最后更新: 2025-01-27
文档版本: v2.0.0
