Real-Time Fund 部署与安装指南:基金实时估值查看工具
基估宝 (Real-Time Fund) 是一个用于实时查看基金估值和重仓股表现的工具。它采用纯前端方案,通过 JSONP 直连东方财富、腾讯财经等公开接口,支持基金自选、持仓管理、定投计划、云端同步等功能。该项目基于 Next.js 构建,支持多种部署方式。
1. 系统要求与准备
1.1 本地开发环境
- Node.js:版本 18.x 或 20.x(推荐 LTS)。
- 包管理器:
npm(随 Node.js 安装)。 - Git:用于克隆仓库。
1.2 可选的外部服务(用于完整功能)
- Supabase 账户:用于云端数据同步、用户认证和 Edge Functions。
- Web3Forms Access Key:用于反馈功能。
- Google Analytics ID(可选):用于统计。
2. 安装与本地开发
2.1 克隆仓库并安装依赖
1 | git clone https://github.com/hzm0321/real-time-fund.git |
2.2 配置环境变量
复制示例环境变量文件并填入必要信息:
1 | cp env.example .env.local |
编辑 .env.local 文件,至少需要配置以下核心变量(如需使用云端同步和登录功能):
1 | NEXT_PUBLIC_SUPABASE_URL=你的Supabase项目URL |
其他变量(如 NEXT_PUBLIC_WEB3FORMS_ACCESS_KEY、NEXT_PUBLIC_GA_ID)可按需配置,不使用相关功能时可留空。
2.3 启动开发服务器
1 | npm run dev |
访问 http://localhost:3000 即可查看效果。
3. 部署方式
3.1 部署到 GitHub Pages(推荐,免费)
项目已配置 GitHub Actions,推送到 main 分支时会自动构建并部署。
- Fork 此仓库 到您的 GitHub 账户。
- 在您的仓库 Settings > Secrets and variables > Actions 中,添加 Repository secrets,字段名称需与
.env.local中的变量名完全一致(如NEXT_PUBLIC_SUPABASE_URL)。 - 确保您的仓库已启用 GitHub Pages,并将构建分支设置为
gh-pages(通常 Actions 会自动处理)。 - 推送代码到
main分支,等待 Actions 完成。 - 访问您的 GitHub Pages 地址(通常为
https://<用户名>.github.io/real-time-fund)。
手动构建(可选):
1 | npm run build |
静态文件将生成在 out 目录,可手动部署到任意静态托管服务。
3.2 使用 Docker 部署(适合服务器)
项目提供了 Docker 镜像,支持两种配置方式:
3.2.1 从 Docker Hub 拉取(推荐)
1 | # 拉取镜像 |
启动后访问 http://localhost:3000。
3.2.2 从源码构建镜像
1 | # 构建时注入配置(推荐) |
3.3 其他平台
- Vercel:项目已包含 Vercel 配置,可直接一键部署。
- Cloudflare Workers:项目根目录包含
wrangler.jsonc配置文件,支持部署到 Cloudflare。
4. Supabase 配置(用于云端同步)
如需使用云端同步、用户登录等功能,需完成 Supabase 配置。
4.1 获取 API 密钥
- 在 Supabase 创建项目。
- 在 Project Settings > API 中,获取
Project URL和anon public密钥。 - 将这些值填入
.env.local的NEXT_PUBLIC_SUPABASE_URL和NEXT_PUBLIC_SUPABASE_ANON_KEY。
4.2 执行数据库初始化
项目根目录下的 /doc/supabase.sql 文件包含了创建 user_configs 表及策略的 SQL。
- 在 Supabase 控制台的 SQL Editor 中执行该文件内容。
- 这将创建用于存储用户配置、持仓、交易记录等数据的表。
4.3 (可选) 配置认证
- 验证码登录:在 Supabase 控制台的 Authentication > Providers 中配置 Email 提供商,可调整验证码位数和邮件模板。
- GitHub 登录:需在 GitHub 创建 OAuth App,并在 Supabase 的 Authentication > Providers 中启用 GitHub 并填入 Client ID 和 Secret。
4.4 (可选) 部署 Edge Functions
项目提供了 analyze-fund (用于基金截图OCR识别) 和 fund-valuation-ranking (估值排行代理) 两个云端函数。
- 在 Supabase 控制台的 Edge Functions 中,按文档说明创建这两个函数。
- 为
analyze-fund函数设置AINX_API_KEY等必要的 Secrets。
5. 常见问题排查
| 问题 | 可能原因 | 解决方案 |
|---|---|---|
本地开发 npm run dev 启动失败 |
Node.js 版本过低或依赖安装不完整 | 检查 Node.js 版本(>=18),删除 node_modules 和 package-lock.json 后重新运行 npm install。 |
| 部署后基金数据无法加载 | API 跨域问题或接口地址变更 | 项目使用 JSONP 方案,通常无跨域问题。检查网络请求,确认接口返回数据正常。若接口变更,可更新 lib/api.js 中的接口地址。 |
| 云端同步失败或401错误 | Supabase 环境变量未配置或 JWT 无效 | 确认 .env.local 中的 NEXT_PUBLIC_SUPABASE_URL 和 ANON_KEY 正确,并确保用户已登录。 |
| Docker 容器中页面加载空白 | 环境变量未正确传递给容器 | 确保使用 -e 或 --env-file 传递了所有必需的 NEXT_PUBLIC_* 变量。 |
| GitHub Actions 部署失败 | Secrets 未设置或构建脚本错误 | 检查仓库设置的 Secrets 是否与 .env.local 中变量名一致,并查看 Actions 日志中的具体错误。 |
6. 总结
Real-Time Fund 是一个功能丰富、部署灵活的基金数据查看工具。
核心部署路径:
- 本地开发:克隆项目 →
npm install→ 配置.env.local→npm run dev。 - 静态托管(推荐):通过 GitHub Actions 自动部署到 GitHub Pages,或使用
npm run build构建静态文件后手动部署到 Vercel、Netlify 等平台。 - 服务器/Docker 部署:拉取或构建 Docker 镜像,通过环境变量注入配置后运行。
- 完整功能配置:如需云端同步,则必须配置 Supabase 数据库和认证。
无论选择哪种方式,环境变量配置(特别是 Supabase 相关变量)都是成功运行的关键。建议先从本地开发开始,熟悉功能后再选择适合的部署方式。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 极客的赛博空间 | 专注 AI 与技术分享!
评论






