mirror of
https://github.com/Smile-QWQ/SubTracker.git
synced 2026-06-05 10:29:48 +08:00
264db1a0a63fa4237ee7817f4b67f02254736eb7
- replace legacy category-based subscription flow with tag-based models, routes, types and UI management - rebuild Prisma schema around Tag and SubscriptionTag, remove legacy category relation fields, and reseed defaults - add unified Wallos import inspect/commit flow for JSON, SQLite and ZIP packages with ZIP logo ingestion and DB-version compatibility - add auto-renew execution in scheduler plus payment record drawer entry in subscription actions - rename user-facing renewal wording to 续订 in key views and align subscription form with tag selection and auto-renew - improve logo handling with local library support, remote import persistence, and ZIP asset matching fallback
SubTracker
SubTracker 是一个简洁但功能完整的个人订阅管理系统,用来统一管理多币种订阅、续费提醒、预算统计、Logo 与 AI 辅助录入。
功能亮点
- 订阅管理:新增、编辑、续费、暂停、停用、删除、拖拽排序
- 多币种支持:自动汇率换算、基准货币切换、汇率转换器
- 预算统计:月预算、年预算、分类预算、仪表盘总览
- 通知能力:Webhook、SMTP 邮件、PushPlus
- Logo 能力:上传、本地复用、网络搜索并保存到本地
- AI 识别:支持文本或图片识别后自动填充订阅信息
技术栈
- 前端:Vue 3、Vite、TypeScript、Naive UI、Pinia、Vue Router、TanStack Query、ECharts
- 后端:Fastify、Prisma、SQLite、Zod、node-cron
本地开发
npm install
npm run prisma:generate
npm run prisma:push
npm run prisma:seed
npm run dev
默认地址:
- Web:
http://127.0.0.1:5173 - API:
http://localhost:3001
默认账号:
- 用户名:
admin - 密码:
admin
部署
- 详细部署文档见:DEPLOYMENT.md
- 推荐方式:
- 前端静态文件由外部 Nginx 托管
- API 使用 Docker 镜像部署
- Nginx 反代
/api/和/static/logos/到 API
常用命令
npm run dev
npm run build
npm run lint
npm test
Languages
TypeScript
72.1%
Vue
26%
Shell
1.6%
JavaScript
0.1%
Dockerfile
0.1%
Other
0.1%