Skip to content

xiangfusheng1999-code/antig-fina2

Repository files navigation

个人跨市场财务汇总 Dashboard

Version License Node

一个基于 Web 的个人财务数据汇总工具,支持 A 股、美股、港股及无风险资产的统一管理与可视化展示。采用极简的 Apple 风格设计,所有数据存储在本地,安全隐私。

🌐 在线演示

体验地址: https://antig-fina2git-22242749-2e386.web.app

Note

在线版本的数据存储在浏览器 IndexedDB 中,不同设备的数据互不共享。建议在常用浏览器中使用并定期导出备份数据。

✨ 主要功能

  • 多市场支持

    • A 股:支持沪深股市(如 600519.SS)。
    • 美股:支持 NASDAQ/NYSE 等主流交易所(如 AAPL, MSFT)。
    • 港股:支持港交所股票(如 0700.HK)。
    • 其他资产:支持现金、国债等无风险资产记录。
  • 资产管理

    • 手动添加/编辑/删除资产记录。
    • 支持 CSV 批量导入(提供标准模板)。
    • 自动计算持仓市值。
  • 可视化仪表盘

    • 资产分布饼图(按市场分类)。
    • 风险资产与无风险资产比例分析。
    • 实时总资产汇总(自动折算为人民币)。
  • 实时数据汇率

    • 集成实时股票行情 API(Alpha Vantage / FMP)。
    • 自动获取 USD/CNY 和 HKD/CNY 汇率,统一以人民币计价。
  • 数据隐私

    • 所有数据仅存储在浏览器本地数据库 (IndexedDB) 中。
    • 不会上传任何数据到外部服务器,确保隐私安全。

🛠️ 技术栈

  • 核心框架:Vanilla JavaScript (ES Modules)
  • 构建工具:Vite
  • 样式设计:原生 CSS Variables (Apple-style Design System)
  • 数据存储:Dexie.js (IndexedDB Wrapper)
  • 图表展示:Chart.js
  • 数据处理:Papaparse (CSV 解析)

🚀 快速开始

方式一:从 GitHub 克隆(推荐)

1. 克隆仓库

# 使用 HTTPS(推荐)
git clone https://github.com/YOUR_USERNAME/antig-fina2.git

# 或使用 SSH
git clone git@github.com:YOUR_USERNAME/antig-fina2.git

# 进入项目目录
cd antig-fina2

2. 安装依赖

确保您的电脑已安装 Node.js (推荐 v16+)。

npm install

3. 启动项目

选项 A:使用一键启动脚本(Windows)

双击项目根目录下的脚本文件:

  • PowerShell 用户:双击 start.ps1
  • 命令提示符用户:双击 start.bat

脚本会自动检查依赖、安装(如需要)并启动开发服务器。

选项 B:使用 npm 命令

# 启动开发服务器
npm run dev

# 或自动打开浏览器
npm start

启动后,访问终端显示的本地地址(通常是 http://localhost:5173)即可使用。

方式二:下载 ZIP 压缩包

  1. 点击 GitHub 仓库页面的绿色 "Code" 按钮
  2. 选择 "Download ZIP"
  3. 解压到本地目录
  4. 按照上述第 2、3 步操作

📖 使用指南

添加资产

  1. 点击页面右上角的 "添加资产" 按钮。
  2. 输入股票代码或名称进行搜索(支持模糊搜索)。
  3. 选择正确的市场(A股/美股/港股)。
  4. 输入持仓数量和成本价。
  5. 点击保存。

批量导入

  1. 进入 "设置" 页面。
  2. 点击 "下载示例" 获取 CSV 模板。
  3. 按照模板格式填入资产数据。
  4. 在资产列表页或导入入口上传 CSV 文件。

刷新汇率

  1. 进入 "设置" 页面。
  2. 查看当前美元/港币汇率。
  3. 点击 "刷新汇率" 按钮获取最新数据。

清空数据

如果需要重置所有数据,可在 "设置" 页面点击 "清空数据" 按钮(请谨慎操作,不可恢复)。

⚙️ 配置说明

股票数据 API

项目默认通过 stockApi.js 连接外部 API 获取行情。默认配置使用的是 Alpha Vantage / Financial Modeling Prep 的免费接口。

如需修改 API Key 或切换提供商,请编辑 src/services/stockApi.js 文件:

// src/services/stockApi.js

// 选择 API 提供商: 'FMP' 或 'ALPHA_VANTAGE'
const API_PROVIDER = 'ALPHA_VANTAGE';

// 修改对应的 API Key
const FMP_API_KEY = '您的_FMP_KEY';
const ALPHA_VANTAGE_API_KEY = '您的_AV_KEY';

💡 常见问题(FAQ)

Q1: 数据存储在哪里?

所有数据都存储在浏览器的 IndexedDB 中,位于本地计算机。不同浏览器的数据是独立的,建议固定使用同一浏览器访问。

Q2: 数据会丢失吗?

只要不清除浏览器数据,IndexedDB 数据会持久保存。建议:

  • 定期使用"设置"页面的导出功能备份数据
  • 不要使用无痕/隐私模式(数据会在关闭浏览器后清除)
  • 避免频繁清理浏览器缓存

Q3: 如何配置 API 密钥?

编辑 src/services/stockApi.js 文件:

// 选择 API 提供商: 'FMP' 或 'ALPHA_VANTAGE'
const API_PROVIDER = 'ALPHA_VANTAGE';

// 修改对应的 API Key
const FMP_API_KEY = '您的_FMP_KEY';
const ALPHA_VANTAGE_API_KEY = '您的_AV_KEY';

免费 API 密钥获取:

Q4: 支持哪些浏览器?

推荐使用现代浏览器的最新版本:

  • ✅ Chrome 90+
  • ✅ Edge 90+
  • ✅ Firefox 88+
  • ✅ Safari 14+

Q5: CSV 导入格式是什么?

在"设置"页面可以下载标准模板。基本格式:

symbol,name,market,quantity,costPrice
600519.SS,贵州茅台,A股,100,1800
AAPL,苹果公司,美股,50,150
0700.HK,腾讯控股,港股,200,400

Q6: 如何将项目上传到 GitHub?

请参考项目根目录的 GITHUB_SETUP.md 文件,里面有详细的步骤说明。

Q7: 汇率数据从哪里来?

汇率数据通过 Alpha Vantage API 自动获取。在"设置"页面可以手动刷新汇率,或在 src/services/stockApi.js 中配置其他汇率 API。


📦 项目结构

antig-fina2/
├── index.html              # 主 HTML 文件
├── src/
│   ├── main.js            # 应用入口
│   ├── components/        # UI 组件
│   │   ├── navbar.js     # 导航栏
│   │   ├── assetForm.js  # 资产表单
│   │   └── ...
│   ├── services/         # 业务逻辑
│   │   ├── db.js        # IndexedDB 封装
│   │   ├── stockApi.js  # 股票 API
│   │   └── csvParser.js # CSV 解析
│   └── styles/          # 样式文件
├── public/              # 静态资源
├── start.bat           # Windows 启动脚本
├── start.ps1           # PowerShell 启动脚本
├── GIT_GUIDE.md        # Git 使用指南
├── GITHUB_SETUP.md     # GitHub 设置指南
└── README.md           # 项目说明文档

🤝 贡献指南

欢迎贡献代码、报告问题或提出建议!

如何贡献

  1. Fork 本仓库
  2. 创建新分支 (git checkout -b feature/amazing-feature)
  3. 提交更改 (git commit -m 'feat: 添加某个很棒的功能')
  4. 推送到分支 (git push origin feature/amazing-feature)
  5. 提交 Pull Request

提交信息规范

请遵循语义化提交信息:

  • feat: 新功能
  • fix: 修复 bug
  • docs: 文档更新
  • style: 代码格式调整
  • refactor: 重构代码
  • test: 测试相关
  • chore: 构建/工具配置

📝 开发相关

构建生产版本

npm run build

生产版本会输出到 dist/ 目录,可部署到任何静态文件服务器。

预览生产版本

npm run preview

部署到 Firebase Hosting

前提条件: 已安装并登录 Firebase CLI

# 1. 构建生产版本
npm run build

# 2. 部署到 Firebase Hosting
firebase deploy --only hosting

部署成功后会返回访问 URL。

首次部署需要初始化 Firebase 项目:

# 选择现有项目或创建新项目
firebase init hosting

# 按提示配置:
# - Public directory: dist
# - Configure as SPA: Yes
# - Set up automatic builds: No (可选)

# 然后部署
firebase deploy --only hosting

📄 许可证

本项目采用 MIT 许可证。详见 LICENSE 文件。


🔗 相关链接


⚠️ 免责声明

注意:本项目仅供个人学习和参考使用,不构成任何投资建议。投资有风险,理财需谨慎。使用本工具进行财务管理时,请自行承担相关风险。

About

人跨市场财务汇总 Dashboard

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages