本项目为信息展示与家庭协作工具,不具备真实交易能力。
- App 内的 持仓、买入、卖出 等操作均为 本地模拟记录,仅用于个人投资信息管理,不会连接任何真实券商系统,也无法进行真实股票交易
- 股票行情数据需要 自行导入:你可以将 A 股历史数据手动导入本地 MySQL 数据库,也可以通过系统自带的 股票数据采集功能(管理后台 → 采集管理)定时采集 A 股行情数据
- 本项目不构成任何投资建议,使用者应自行承担投资决策的风险
- 股票行情 — 搜索 A 股、查看最新行情与 K 线图表、综合条件筛选
- 持仓管理 — 买入/卖出记录、持仓盈亏一览、交易历史与撤回
- 自选分组 — 自定义分组管理自选股票、拖拽排序、跨组移动
- 家庭共享 — 查看家庭成员持仓与策略,首页动态实时同步
- 投资笔记 — 对个股撰写、分享笔记,支持多成员协作
- 交易策略 — 设定买入/卖出策略(止盈止损/目标价位),策略状态管理
- 通知中心 — 策略触发通知、全部已读等
- 管理后台 — 用户管理、系统设置、股票数据采集调度与监控
- 安全认证 — JWT 双令牌无感刷新、单设备登录、密保找回密码、邀请码注册
| 层级 | 技术栈 |
|---|---|
| 移动端 | Flutter 3.11 · Dart · Riverpod · GoRouter · Dio |
| 后端 | Go 1.25 · Gin · GORM · JWT · Zap |
| 数据库 | MySQL 8.0 · Redis |
| 部署 | Docker Compose · Nginx |
UniStock/
├── backend/ # Go 后端服务
│ ├── cmd/ # 程序入口
│ ├── config/ # 配置加载
│ ├── internal/ # 核心业务逻辑
│ │ ├── dto/ # 数据传输对象
│ │ ├── handler/ # HTTP 处理器
│ │ ├── middleware/ # 中间件(JWT、CORS、Recovery)
│ │ ├── model/ # 数据模型
│ │ ├── repository/ # 数据访问层
│ │ ├── router/ # 路由注册
│ │ └── service/ # 业务服务层
│ ├── pkg/ # 公共工具包
│ ├── deploy/ # 部署配置
│ │ ├── docker-compose.yml
│ │ ├── Dockerfile.backend.runtime
│ │ ├── mysql/ # 数据库初始化脚本
│ │ └── nginx/ # Nginx 配置模板
│ └── docs/ # API 设计文档
│
├── frontend/ # Flutter 移动端
│ ├── lib/
│ │ ├── config/ # 应用配置
│ │ ├── models/ # 数据模型
│ │ ├── pages/ # 页面视图
│ │ │ ├── auth/ # 登录/注册
│ │ │ ├── main/ # 首页/持仓/自选/我的
│ │ │ ├── stock/ # 股票详情/K线
│ │ │ ├── trade/ # 交易记录
│ │ │ ├── admin/ # 管理后台
│ │ │ └── user/ # 用户中心
│ │ ├── services/ # API 服务 & Token 管理
│ │ ├── providers/ # Riverpod 状态管理
│ │ ├── app.dart # 应用初始化
│ │ └── main.dart # 入口
│ ├── assets/ # 图标与图片资源
│ └── android/ & ios/ # 平台工程
│
└── LICENSE
- 后端:Go ≥ 1.25、MySQL 8.0+、Redis 6+
- 前端:Flutter SDK ≥ 3.11、Dart ≥ 3.11
cd backend
# 1. 复制并编辑环境变量
cp .env.example .env
# 编辑 .env 填入 MySQL/Redis/JWT 等配置
# 2. 安装依赖
go mod tidy
# 3. 运行
go run cmd/main.go服务默认监听 :8080,首次启动会自动创建管理员账户和系统默认设置。
cd frontend
# 1. 安装依赖
flutter pub get
# 2. 生成 JSON 序列化代码
dart run build_runner build --delete-conflicting-outputs
# 3. 运行(Android/iOS)
flutter run请在
lib/config/中配置后端 API 地址。
项目提供了完整的 Docker Compose 部署方案,详见 backend/deploy/ 目录:
- 一键部署:
docker-compose.yml包含 MySQL、Redis、后端服务、Nginx 四个容器 - 详细步骤:参阅
DEPLOY_CENTOS7_DOCKER_COMPOSE.md - 打包脚本:
scripts/package_release.ps1(Windows 环境)
cd backend/deploy
docker-compose up -d完整的 RESTful API 设计文档位于 backend/docs/api_design.md,涵盖:
- 统一响应结构与错误码定义
- 认证模块(注册/登录/Token 刷新/密码重置)
- 股票行情(搜索/K 线/综合筛选)
- 持仓交易(买入/卖出/撤回)
- 自选分组管理
- 笔记与策略
- 通知系统
- 管理后台
| 首页 | 股票详情 | 持仓 |
|---|---|---|
![]() |
![]() |
![]() |
| 自选股 | 条件筛选 | 笔记与策略 | 个人主页 |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
- Fork 本仓库
- 创建特性分支:
git checkout -b feature/your-feature - 提交更改:
git commit -m "feat: add your feature" - 推送分支:
git push origin feature/your-feature - 提交 Pull Request
本项目采用 MIT 许可证 开源。
Copyright © 2026 RecursiveVar







