﻿# 墨研自习室 · 考研学习站（测试版）

> **已上线（永久公网地址）**：<https://moyan-kaoyan.pages.dev/>
> GitHub 仓库：<https://github.com/YiDe-notZhang/moyan-kaoyan>

一个面向考研备考生的纯静态学习网站：倒计时打卡、今日任务、真题练习、笔记收藏、周计划。
**零后端、零数据库、零成本**，数据保存在浏览器 localStorage，可直接部署到任何免费静态托管。

> 当前为**测试版**：题目与笔记均为演示样例，非真实真题与资料；页面已标注「演示数据」。

## 一、总体方案

| 环节 | 选型 | 成本 |
|---|---|---|
| 技术栈 | 纯静态 HTML/CSS/JS，无构建步骤 | 0 元 |
| 数据 | localStorage（本机浏览器） | 0 元 |
| 托管 | 免费静态托管（见下） | 0 元 |
| 域名 | 平台免费子域名（如 `xxx.pages.dev`） | 0 元 |
| 图片/字体 | 系统字体栈 + 内联 SVG，不引外部资源 | 0 元 |

上线流程：本地开发 → `git` 提交 → 推送到 GitHub/Gitee → 托管平台自动部署 → 获得免费 HTTPS 公网地址。

## 二、免费上公网方案对比

| 平台 | 免费额度 | 国内访问 | 上手难度 | 备注 |
|---|---|---|---|---|
| **Cloudflare Pages**（推荐） | 无限流量 + HTTPS + 自动部署 | 一般（可接受） | 低 | 绑定 GitHub 仓库即自动部署 |
| **腾讯云 Cloud Studio** | 免费工作区 + 公网预览 | 快 | 低 | 网页版 IDE 一键预览，适合演示 |
| **Gitee Pages** | 免费 | 快 | 中 | 需实名认证，仓库公开 |
| **Vercel / Netlify** | 免费 | 不稳定 | 低 | 适合海外访问场景 |
| **GitHub Pages** | 免费 | 不稳定 | 低 | 仓库公开 |
| **EdgeOne Pages**（腾讯云） | 有免费额度 | 快 | 中 | 需实名 |

推荐组合：
1. **日常开发/演示**：Cloud Studio 公网预览（国内快、零配置）。
2. **正式上线**：Cloudflare Pages（免费 HTTPS + 自动部署 + 无限流量），或 Gitee Pages（国内访问更好）。

## 三、本地运行

无需安装依赖，任意静态服务器即可：

```powershell
# 方式一：Python
python -m http.server 8080

# 方式二：VS Code 插件 Live Server
# 右键 index.html → Open with Live Server
```

浏览器打开 `http://localhost:8080` 即可。

## 四、Cloudflare Pages 部署步骤（推荐）

1. 注册 [Cloudflare](https://dash.cloudflare.com/)（免费）。
2. 把本目录推送到 GitHub 公开仓库：
   ```powershell
   git init
   git add .
   git commit -m "墨研自习室测试版"
   git branch -M main
   git remote add origin https://github.com/<你的用户名>/<仓库名>.git
   git push -u origin main
   ```
3. Cloudflare 控制台 → Workers & Pages → Create → Pages → Connect to Git → 选择仓库。
4. 构建命令与输出目录留空（纯静态，无需构建），保存即自动部署。
5. 获得免费域名：`https://<项目名>.pages.dev`，之后每次 `git push` 自动更新。

## 五、注意事项

- 数据存 localStorage：清除浏览器数据会丢失打卡/任务/计划，换设备不互通。
- 演示题与演示笔记仅用于验证功能，正式内容需自行替换或接入题库。
- 面向中国大陆用户，未引用 Google Fonts 等被墙资源，全部离线可用。
- 免费域名即可公开访问；自定义域名每年约几十元（非必须）。

## 六、目录结构

```text
index.html      首页：倒计时 / 打卡 / 今日任务 / 概览
quiz.html       真题练习（演示题库，4 科目 × 5 题）
notes.html      笔记资料（筛选 + 收藏）
plan.html       学习计划（周视图，可增删任务）
assets/css/main.css   纸墨设计系统（暖纸底、深墨字、朱砂点睛）
assets/js/      各页面逻辑 + 共享工具
```

产品与设计说明见 `PRODUCT.md`、`DESIGN.md`。

## 七、更新发布

- 本地改完代码后推送即可（当前为 Cloudflare Pages 直传部署，不会自动跟随 Git）：

```powershell
git add -A
git commit -m "更新"
git push
npx -y wrangler@latest pages deploy . --project-name=moyan-kaoyan --branch main
```

- 想改成「推 GitHub 自动部署」：Cloudflare 控制台 → Workers & Pages → `moyan-kaoyan` → 连接 Git 仓库，之后每次 `git push` 自动更新，无需再手动部署。

## 八、手机端 App（APK 本地测试）

- 最新 APK：桌面 `墨研自习室-v1.1-在线更新.apk`（包名 `com.moyan.kaoyan`，Android 8.0+）。
- 传到手机（微信/QQ/USB 均可）点击安装，首次需在系统设置里允许「安装未知来源应用」。
- **v1.1 起为「在线更新版」**：App 启动时直接加载线上网站 `https://moyan-kaoyan.pages.dev`。
  - 以后改网站内容（题目/笔记/日期/文案）→ 只需更新网站，**App 打开即最新，无需重新安装**。
  - 已访问过的页面由网站 Service Worker 缓存，断网也能打开最近看过的页面。
  - 只有改 App 外壳（图标、名称、原生功能）时才需要重新构建 APK。
  - 注意：从 v1.0 升级到 v1.1，打卡/任务等本地数据不会迁移（存储域变了）；之后不会再丢。

### 重新构建 APK

Android 构建不支持中文路径，工程位于纯英文目录：

```powershell
# 1) 同步最新网站文件（把根目录站点复制进 App 内嵌资源）
Copy-Item index.html, quiz.html, notes.html, plan.html -Destination C:\Android\Build\moyan-kaoyan-app\www
Copy-Item manifest.webmanifest, sw.js -Destination C:\Android\Build\moyan-kaoyan-app\www
Copy-Item -Recurse assets -Destination C:\Android\Build\moyan-kaoyan-app\www

# 2) 构建（需要 JDK 21 + Android SDK，已配置好）
$env:JAVA_HOME = "C:\Program Files\Eclipse Adoptium\jdk-21.0.12.101-hotspot"
$env:ANDROID_HOME = "C:\Android\Sdk"
Set-Location C:\Android\Build\moyan-kaoyan-app\android
.\gradlew.bat assembleDebug
# 产物：android\app\build\outputs\apk\debug\app-debug.apk
```


