# cost **Repository Path**: MEliauk/cost ## Basic Information - **Project Name**: cost - **Description**: 语音记录日常消费,便于统计自己每周每月每年花销 - **Primary Language**: TypeScript - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-02-11 - **Last Updated**: 2026-05-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 费用记账 (Cost) 一款支持语音和手动输入的轻量级费用记账应用,支持多端同步和数据分析。 ## 功能特性 - 🎙️ **语音记账** - 支持语音录入消费记录,识别金额和分类 - 📊 **数据分析** - 自动统计周期内的消费总额和分类占比 - 🔐 **数据安全** - 本地数据加密存储,支持云端同步 - 📱 **多端适配** - 响应式设计,支持桌面端和移动端使用 - 🌐 **离线支持** - Service Worker 实现离线访问能力 - 🔄 **自动保存** - 倒计时提醒,自动保存记录 ## 技术栈 - **前端**: HTML5, CSS3, JavaScript (ES6+) - **后端**: Node.js, TypeScript - **数据库**: MySQL - **云服务**: 腾讯云 - **语音识别**: Web Speech API - **加密**: CryptoJS ## 项目结构 ``` cost/ ├── public/ # 前端资源 │ ├── index.html # 主页面 │ ├── style.css # 样式文件 │ ├── script.js # 主逻辑 │ ├── service-worker.js # 离线服务 │ ├── manifest.json # PWA 配置 │ └── libs/ # 第三方库 │ ├── crypto-js.js │ └── speechrecognizer.js ├── src/ # 后端源码 │ ├── ai.ts # AI 接口 │ ├── db.ts # 数据库操作 │ ├── server.ts # 服务端 │ └── types.ts # 类型定义 ├── schema.sql # 数据库结构 ├── package.json # 项目依赖 └── tsconfig.json # TypeScript 配置 ``` ## 快速开始 ### 环境要求 - Node.js >= 14 - MySQL >= 5.7 - npm 或 yarn ### 安装依赖 ```bash npm install ``` ### 配置环境 1. 复制示例配置文件: ```bash cp .env.example .env ``` 2. 编辑 `.env` 文件,配置以下参数: ```env # 数据库配置 DB_HOST=localhost DB_USER=your_username DB_PASSWORD=your_password DB_NAME=cost # 腾讯云配置 TENCENTCLOUD_SECRET_ID=your_secret_id TENCENTCLOUD_SECRET_KEY=your_secret_key # AI API 配置 API_KEY=your_api_key API_URL=your_api_url ``` 调用腾讯云实时语音识别获取数据 接口文档: https://cloud.tencent.com/document/product/1093/101664 控制台信息:https://console.cloud.tencent.com/asr 调用DeepSeek接口总结信息 https://platform.deepseek.com/ ### 初始化数据库 ```bash # 创建数据库和表 mysql -u your_username -p < schema.sql ``` ### 启动服务 ```bash # 开发模式 npm run dev # 生产模式 npm run build npm start ``` ## 使用说明 ### 语音记账 1. 点击底部 Floating Action Button 启动语音输入 2. 说出消费记录(如:"中午吃饭花了50元") 3. 系统自动识别金额、分类和时间 4. 确认后自动保存 ### 手动记账 1. 点击右上角 "+" 按钮 2. 输入消费金额和描述 3. 选择分类和日期 4. 点击确认保存 ### 查看统计 - 顶部 Tab 可切换不同时间周期 - 自动显示当前周期的消费总额 - 消费分类占比饼图 ## API 接口 | 方法 | 路径 | 说明 | |------|------|------| | POST | /api/records | 创建记录 | | GET | /api/records | 获取记录列表 | | PUT | /api/records/:id | 更新记录 | | DELETE | /api/records/:id | 删除记录 | ## 浏览器支持 - Chrome >= 76 (推荐) - Edge >= 79 - Safari >= 14.1 - Firefox >= 75 ## License 本项目采用 MIT License 开源。 ## 贡献指南 欢迎提交 Issue 和 Pull Request 来帮助改进项目。