Compare commits

..

2 Commits

Author SHA1 Message Date
DelLevin-Home
1b80c861a9 111 2026-08-15 15:14:54 +08:00
DelLevin-Home
5562faedb6 添加win下载地址 2026-07-16 05:01:39 +08:00
6 changed files with 22 additions and 7 deletions

View File

@@ -35,32 +35,37 @@ mooknote_web/
└── .eslintrc.js # ESLint 配置
```
## 开发环境
### 前置要求
- Node.js 14.x 或更高版本
- npm 6.x 或更高版本
### 安装依赖
```bash
npm install
```
### 启动开发服务器
```bash
npm run serve
```
访问 http://localhost:8080
### 生产构建
```bash
npm run build
```
构建后的文件位于 `dist/` 目录
### 代码检查
```bash
npm run lint
```

2
dist/index.html vendored
View File

@@ -1 +1 @@
<!doctype html><html lang="zh-CN"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="favicon.ico"><title>MookNote - 记录你的观影、阅读与笔记</title><meta name="description" content="MookNote是一款简洁优雅的观影阅读笔记应用帮助你记录生活中的每一份感动与思考。"><script defer="defer" src="js/chunk-vendors.474bdb90.js"></script><script defer="defer" src="js/app.a1f755d5.js"></script><link href="css/app.f1e25e8e.css" rel="stylesheet"></head><script defer="defer" src="https://umami.iletter.top/anyjs" data-website-id="a4035aea-31ff-4df4-86e3-90a904a348d0"></script><body><noscript><strong>We're sorry but MookNote doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>
<!doctype html><html lang="zh-CN"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="favicon.ico"><title>MookNote - 记录你的观影、阅读与笔记</title><meta name="description" content="MookNote是一款简洁优雅的观影阅读笔记应用帮助你记录生活中的每一份感动与思考。"><script defer="defer" src="js/chunk-vendors.474bdb90.js"></script><script defer="defer" src="js/app.94c4e2b0.js"></script><link href="css/app.58bfd58a.css" rel="stylesheet"></head><script defer="defer" src="https://umami.iletter.top/anyjs" data-website-id="a4035aea-31ff-4df4-86e3-90a904a348d0"></script><body><noscript><strong>We're sorry but MookNote doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>

View File

@@ -1 +1 @@
[{"d:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\main.js":"1","d:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\App.vue":"2","d:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\router\\index.js":"3","d:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\views\\Home.vue":"4","d:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\views\\Guide.vue":"5","d:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\views\\Features.vue":"6","d:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\views\\Contact.vue":"7","D:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\main.js":"8","D:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\App.vue":"9","D:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\router\\index.js":"10","D:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\views\\Home.vue":"11","D:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\views\\Guide.vue":"12","D:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\views\\Features.vue":"13","D:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\views\\Contact.vue":"14"},{"size":185,"mtime":1773039011232,"results":"15","hashOfConfig":"16"},{"size":5498,"mtime":1773039067514,"results":"17","hashOfConfig":"16"},{"size":751,"mtime":1773039011237,"results":"18","hashOfConfig":"16"},{"size":20348,"mtime":1773039198919,"results":"19","hashOfConfig":"16"},{"size":17167,"mtime":1773039467672,"results":"20","hashOfConfig":"16"},{"size":18441,"mtime":1773039396952,"results":"21","hashOfConfig":"16"},{"size":14128,"mtime":1773039566109,"results":"22","hashOfConfig":"16"},{"size":185,"mtime":1773039011232,"results":"23","hashOfConfig":"24"},{"size":7306,"mtime":1783015782005,"results":"25","hashOfConfig":"24"},{"size":751,"mtime":1773039011237,"results":"26","hashOfConfig":"24"},{"size":24309,"mtime":1783016162831,"results":"27","hashOfConfig":"24"},{"size":17358,"mtime":1783016780387,"results":"28","hashOfConfig":"24"},{"size":23596,"mtime":1783016698517,"results":"29","hashOfConfig":"24"},{"size":14012,"mtime":1783018248684,"results":"30","hashOfConfig":"24"},{"filePath":"31","messages":"32","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"1d1ptc",{"filePath":"33","messages":"34","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"35","messages":"36","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"37","messages":"38","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"39","messages":"40","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"41","messages":"42","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"43","messages":"44","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"45","messages":"46","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"7fv5t4",{"filePath":"47","messages":"48","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"49","messages":"50","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"51","messages":"52","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"53","messages":"54","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"55","messages":"56","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"57","messages":"58","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"d:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\main.js",[],"d:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\App.vue",[],"d:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\router\\index.js",[],"d:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\views\\Home.vue",[],"d:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\views\\Guide.vue",[],"d:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\views\\Features.vue",[],"d:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\views\\Contact.vue",[],"D:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\main.js",[],"D:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\App.vue",[],"D:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\router\\index.js",[],"D:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\views\\Home.vue",[],"D:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\views\\Guide.vue",[],"D:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\views\\Features.vue",[],"D:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\views\\Contact.vue",[]]
[{"d:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\main.js":"1","d:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\App.vue":"2","d:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\router\\index.js":"3","d:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\views\\Home.vue":"4","d:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\views\\Guide.vue":"5","d:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\views\\Features.vue":"6","d:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\views\\Contact.vue":"7","D:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\main.js":"8","D:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\App.vue":"9","D:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\router\\index.js":"10","D:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\views\\Home.vue":"11","D:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\views\\Guide.vue":"12","D:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\views\\Features.vue":"13","D:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\views\\Contact.vue":"14"},{"size":185,"mtime":1773039011232,"results":"15","hashOfConfig":"16"},{"size":5498,"mtime":1773039067514,"results":"17","hashOfConfig":"16"},{"size":751,"mtime":1773039011237,"results":"18","hashOfConfig":"16"},{"size":20348,"mtime":1773039198919,"results":"19","hashOfConfig":"16"},{"size":17167,"mtime":1773039467672,"results":"20","hashOfConfig":"16"},{"size":18441,"mtime":1773039396952,"results":"21","hashOfConfig":"16"},{"size":14128,"mtime":1773039566109,"results":"22","hashOfConfig":"16"},{"size":185,"mtime":1773039011232,"results":"23","hashOfConfig":"24"},{"size":7305,"mtime":1784148897949,"results":"25","hashOfConfig":"24"},{"size":751,"mtime":1773039011237,"results":"26","hashOfConfig":"24"},{"size":24878,"mtime":1784149238405,"results":"27","hashOfConfig":"24"},{"size":17358,"mtime":1783016780387,"results":"28","hashOfConfig":"24"},{"size":23234,"mtime":1783018404809,"results":"29","hashOfConfig":"24"},{"size":14012,"mtime":1783018248684,"results":"30","hashOfConfig":"24"},{"filePath":"31","messages":"32","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"1d1ptc",{"filePath":"33","messages":"34","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"35","messages":"36","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"37","messages":"38","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"39","messages":"40","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"41","messages":"42","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"43","messages":"44","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"45","messages":"46","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"7fv5t4",{"filePath":"47","messages":"48","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"49","messages":"50","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"51","messages":"52","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"53","messages":"54","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"55","messages":"56","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"57","messages":"58","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"d:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\main.js",[],"d:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\App.vue",[],"d:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\router\\index.js",[],"d:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\views\\Home.vue",[],"d:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\views\\Guide.vue",[],"d:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\views\\Features.vue",[],"d:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\views\\Contact.vue",[],"D:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\main.js",[],"D:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\App.vue",[],"D:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\router\\index.js",[],"D:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\views\\Home.vue",[],"D:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\views\\Guide.vue",[],"D:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\views\\Features.vue",[],"D:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\views\\Contact.vue",[]]

View File

@@ -1 +1 @@
[{"D:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\main.js":"1","D:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\App.vue":"2","D:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\router\\index.js":"3","D:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\views\\Features.vue":"4","D:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\views\\Home.vue":"5","D:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\views\\Guide.vue":"6","D:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\views\\Contact.vue":"7"},{"size":185,"mtime":1773039011232,"results":"8","hashOfConfig":"9"},{"size":7306,"mtime":1783015782005,"results":"10","hashOfConfig":"9"},{"size":751,"mtime":1773039011237,"results":"11","hashOfConfig":"9"},{"size":23234,"mtime":1783018404809,"results":"12","hashOfConfig":"9"},{"size":24309,"mtime":1783016162831,"results":"13","hashOfConfig":"9"},{"size":17358,"mtime":1783016780387,"results":"14","hashOfConfig":"9"},{"size":14012,"mtime":1783018248684,"results":"15","hashOfConfig":"9"},{"filePath":"16","messages":"17","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"18"},"r0b2vc",{"filePath":"19","messages":"20","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"21"},{"filePath":"22","messages":"23","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"18"},{"filePath":"24","messages":"25","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"26","messages":"27","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"21"},{"filePath":"28","messages":"29","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"21"},{"filePath":"30","messages":"31","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"D:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\main.js",[],[],"D:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\App.vue",[],[],"D:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\router\\index.js",[],"D:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\views\\Features.vue",[],"D:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\views\\Home.vue",[],"D:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\views\\Guide.vue",[],"D:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\views\\Contact.vue",[]]
[{"D:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\main.js":"1","D:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\App.vue":"2","D:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\router\\index.js":"3","D:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\views\\Features.vue":"4","D:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\views\\Home.vue":"5","D:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\views\\Guide.vue":"6","D:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\views\\Contact.vue":"7"},{"size":185,"mtime":1773039011232,"results":"8","hashOfConfig":"9"},{"size":7305,"mtime":1784148897949,"results":"10","hashOfConfig":"9"},{"size":751,"mtime":1773039011237,"results":"11","hashOfConfig":"9"},{"size":23234,"mtime":1783018404809,"results":"12","hashOfConfig":"9"},{"size":24878,"mtime":1784149238405,"results":"13","hashOfConfig":"9"},{"size":17358,"mtime":1783016780387,"results":"14","hashOfConfig":"9"},{"size":14012,"mtime":1783018248684,"results":"15","hashOfConfig":"9"},{"filePath":"16","messages":"17","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"18"},"r0b2vc",{"filePath":"19","messages":"20","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"21","messages":"22","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"18"},{"filePath":"23","messages":"24","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"25"},{"filePath":"26","messages":"27","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"28","messages":"29","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"25"},{"filePath":"30","messages":"31","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"25"},"D:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\main.js",[],[],"D:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\App.vue",[],"D:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\router\\index.js",[],"D:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\views\\Features.vue",[],[],"D:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\views\\Home.vue",[],"D:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\views\\Guide.vue",[],"D:\\UserData\\Desktop\\my_proj\\mooknote_web\\src\\views\\Contact.vue",[]]

View File

@@ -35,7 +35,7 @@
<router-link to="/guide">指南</router-link>
<router-link to="/contact">联系</router-link>
</div>
<div class="footer-links">
<div class="footer-links">
<a href="https://www.iletter.top/" target="_blank">作者简介</a>
<a href="https://blog.iletter.top" target="_blank">作者博客</a>
</div>

View File

@@ -206,7 +206,7 @@
<section id="download" class="download">
<div class="container">
<h2 class="section-title animate-on-scroll">开始使用</h2>
<p class="section-subtitle animate-on-scroll">目前仅支持 Android 平台iOS 版本正在开发中</p>
<p class="section-subtitle animate-on-scroll">支持 Android Windows 平台iOS 版本正在开发中</p>
<div class="download-options">
<div class="download-card animate-on-scroll">
<div class="download-icon">
@@ -218,6 +218,16 @@
<p>支持 Android 5.0 及以上版本</p>
<a href="https://mooknote.iletter.top/download/mooknote.apk" class="btn btn-primary">下载 APK</a>
</div>
<div class="download-card animate-on-scroll">
<div class="download-icon">
<svg viewBox="0 0 24 24" fill="currentColor">
<path d="M0 3.449L9.75 2.1v9.451H0m10.949-9.602L24 0v11.4H10.949M0 12.6h9.75v9.451L0 20.699M10.949 12.6H24V24l-12.9-1.801"/>
</svg>
</div>
<h3>Windows</h3>
<p>解压后点击 mooknote.exe 即可使用</p>
<a href="https://mooknote.iletter.top/download/mooknote.rar" class="btn btn-primary">下载 RAR</a>
</div>
</div>
<div class="version-info animate-on-scroll">
<p>当前版本{{ latestVersion }} | 更新日期{{ latestDate }}</p>