# MySpace **Repository Path**: developerQKC/MySpace ## Basic Information - **Project Name**: MySpace - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-28 - **Last Updated**: 2026-07-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 个人空间 MySpace (原 Notebook) 基于 Spring Boot 2.7 + MyBatis + Shiro(RBAC) + Thymeleaf 的个人空间应用,集笔记、工具、理财、AI Agent、小游戏于一体。 ## 功能特性 - **用户系统**:注册、登录、退出(密码 BCrypt 加密)+ Shiro 角色权限(RBAC) - **文件夹管理**:支持多级文件夹树,创建/重命名/删除 - **笔记管理**:新建、编辑、删除(回收站软删除)、恢复、彻底删除;支持 md/txt/docx/xlsx/image/video 六种格式 - **Markdown 编辑器**:所见即所得(Vditor),支持文本、代码块、表格、引用、流程图 - **图片上传**:编辑器内直接上传图片,按日期归档存储 - **全文搜索**:按标题/内容关键字搜索笔记 - **理财管理 · 股票分析**:自选股 / 我的持仓 / 个股策略分析(双均线、MACD、RSI、BOLL 四策略打分 + 双均线回测 + 持仓建议);实时行情走服务端代理(腾讯/新浪/东财),日K线走新浪日K;数据源/账户配置本地持久化 ## 技术栈 | 组件 | 版本 | | ----------- | --------- | | JDK | 1.8 | | Spring Boot | 2.7.18 | | MyBatis | 2.3.2 | | MySQL | 5.7 / 8.0 | | Maven | 3.2.5 | ## 环境准备 1. **JDK 8**(已安装,`E:\java\jdk1.8`) 2. **Maven 3.2.5**(已安装,`E:\java\apache-maven-3.2.5`) 3. **MySQL**(已安装,用户名 `root` / 密码 `123456`) ## 启动步骤 ### 第一步:初始化数据库 用 MySQL 客户端执行 `sql/init.sql`(会自动创建 `notebook` 数据库和数据表): ```bash mysql -uroot -p123456 < sql/init.sql ``` ### 第二步:启动应用 **方式一:双击运行 `start.bat`**(推荐,自动打包+启动) **方式二:命令行手动执行** ```bash # 进入项目目录 cd D:\noteproject\MySpace # 打包 E:\java\apache-maven-3.2.5\bin\mvn.cmd clean package -DskipTests # 启动 E:\java\jdk1.8\bin\java.exe -jar target\notebook-app-1.0.0.jar --server.port=8080 ``` ### 第三步:访问系统 浏览器打开 **** 首次使用请先点击「立即注册」创建账号,然后登录即可使用。 ## 配置说明 数据库、端口等配置位于 `src/main/resources/application.yml`: ```yaml server: port: 8080 # 服务端口 spring: datasource: url: jdbc:mysql://localhost:3306/notebook?... username: root # 数据库用户名 password: 123456 # 数据库密码 app: upload: path: ./uploads # 图片上传目录 ``` ## 目录结构 ``` MySpace/ ├── pom.xml # Maven 配置 ├── start.bat # 一键启动脚本 ├── sql/init.sql # 数据库初始化脚本 ├── skills/ # AI Agent SKILL 仓库(运行时扫描,新增只需复制目录) │ ├── lcompany-ppt/ # L公司 PPT 生成技能(SKILL.md + 模板 pptx + 校验脚本) │ └── word2md/ # Word→Markdown 转换技能(SKILL.md + 转换脚本) ├── uploads/ # 上传文件存储目录(运行时生成) └── src/main/ ├── java/com/myspace/ │ ├── MySpaceApplication.java # 启动类 │ ├── config/ # 安全、MVC 配置 │ ├── controller/ # 控制器(认证、笔记、文件夹、上传、股票 StockController) │ ├── entity/ # 实体类(User/Folder/Note/StockWatch/StockPosition…) │ ├── mapper/ # MyBatis Mapper │ └── service/ # 业务逻辑层 └── resources/ ├── application.yml # 应用配置 └── templates/ # Thymeleaf 页面(登录、注册、主页、编辑器) ``` ## 数据表说明 - `nb_user`:用户表 - `nb_folder`:文件夹表(parent_id 支持树形结构) - `nb_note`:笔记表(status: 1-正常, 0-回收站) - `nb_stock_watch`:自选股表(user_id / code / name / sort) - `nb_stock_position`:持仓表(user_id / code / name / shares / cost) - `nb_stock_config`:股票配置表(user_id / cfg_key [datasource|account] / cfg_value JSON) > 表结构由 `src/main/resources/schema.sql` 在每次启动幂等建表(CREATE TABLE IF NOT EXISTS),无需手工执行 `sql/init.sql`。 ## 股票分析模块说明 理财管理 → 股票分析 提供: - **自选股 / 我的持仓**:用户隔离的列表与 CRUD;持仓汇总市值/成本/盈亏,结合策略打分给出加仓/止盈/止损/持有建议。自选股支持**关键字搜索添加**(中文名/拼音缩写/代码,如 五粮液 / wly / 000858,`GET /api/stock/search?kw=` 腾讯 smartbox 优先、新浪 suggest 回退,仅返回 A 股);列表、持仓卡片与个股分析页均展示**交易所徽章**(上交所/深交所/北交所,按代码首位判定:6/9/5=沪、4/8=北、其余=深)。 - **个股策略分析**:Canvas 绘制 K 线(涨红跌绿、MA5/10/20、成交量、MACD、B/S 标记、成本线、hover,**滚轮以光标为中心缩放**),四策略(双均线 / MACD / RSI / BOLL)打分输出买入/卖出/观望,双均线可调参回测(收益/胜率/回撤/交易明细)。 - **数据源配置 / 账户管理**:数据源(mock/腾讯/新浪/东财/自定义)与账户(券商/资金账号脱敏/佣金率/风险偏好)持久化到 `nb_stock_config`,前端 `getQuotes()`/`getKline()` 走后端代理,`/api/stock/quote` 三源(腾讯 qt.gtimg.cn / 新浪 hq.sinajs.cn / 东财 push2)并行、不可达回退本地模拟;`/api/stock/kline` 优先新浪日K(`money.finance.sina.com.cn` `scale=240`),失败回退东财 `push2his`。 ## 公网部署(Vultr 中国香港 + Cloudflare DNS + Caddy) > Gitee Pages 已于 2025-06 下线,且 Pages 只能托管纯静态页面,无法运行 Spring Boot + MySQL 动态应用。 > 公网发布采用「Vultr 中国香港 VPS(免备案)+ Cloudflare DNS 解析 + Caddy 反代自动 HTTPS + Docker Compose」方案,Gitee 仓库承担代码分发(服务器 `git clone` 后本地构建)。 仓库已内置部署文件:`Dockerfile`(多阶段构建,运行镜像仅含 JRE8)、`docker-compose.yml`(app + MySQL5.7 + Caddy 编排,DB 不暴露公网端口,数据/上传/证书均走持久卷)、`deploy/Caddyfile`(反代 + 自动 HTTPS + 安全头)、`.env.example`(密码/端口/域名配置模板)。 服务器上三步启动(含 HTTPS): ```bash git clone https://gitee.com/developerQKC/MySpace.git && cd MySpace cp .env.example .env # 修改 DB_PASSWORD 为强密码、DOMAIN 为你的域名 docker compose --profile https up -d --build ``` 完整步骤(Vultr 开机选型、Cloudflare DNS 配置、Caddy 证书、备份、安全清单、常见问题)见 [`deploy/DEPLOY.md`](deploy/DEPLOY.md)。 ## 后续可扩展方向 - 笔记内容支持导入/导出 md、docx、txt、xlsx 等格式文件 - 笔记版本历史 - 笔记标签、分享 - 富文本(WYSIWYG)编辑器切换 - 用户管理后台(管理员角色)