一个基于 Vue 3 + Vite 的在线 Markdown 笔记应用,支持多文件夹管理、搜索、分享、下载等功能,并通过 Authing 做用户登录。
- Vue 3
- Vite
- Vue Router 4
- Axios
- mavon-editor(Markdown 编辑器)
- Authing(用户认证)
# 安装依赖
npm install
# 本地开发启动
npm run dev
# 构建生产环境
npm run build项目使用 Vite 的环境变量机制,所有前端可用变量以 VITE_ 开头。
- 复制示例文件:
cp .env.example .env- 根据自己的 Authing 应用配置修改
.env:
VITE_AUTHING_APP_ID=你的Authing应用AppId
VITE_AUTHING_USER_POOL_ID=你的Authing用户池ID注意:
.env已在.gitignore中忽略,请不要把真实的密钥提交到仓库。
Authing 相关配置封装在 authing.js 中:
- 从
import.meta.env中读取VITE_AUTHING_APP_ID和VITE_AUTHING_USER_POOL_ID - 统一创建
sdk实例,供Home.vue、Login.vue等页面使用
如需调整域名或回调地址,可在 src/utils/authing.js 中修改:
domain: 'https://mynote.authing.cn'redirectUri:开发环境默认http://127.0.0.1:5173,生产环境为https://note.momen.vip
- 文件夹管理:按文件夹组织笔记
- 笔记列表:按分页展示当前文件夹下的笔记
- 搜索:支持按标题关键字搜索(带清空图标)
- Markdown 编辑与预览:基于 mavon-editor,支持常用编辑工具栏
- 分享:生成带分享密码的链接
- 下载:将笔记内容导出为
.md文件 - 登录:基于 Authing 的跳转登录 / 静默登录
src/views/Home.vue:主笔记页面src/views/Login.vue:登录/回调页面src/views/unLogin.vue:未登录引导页面src/views/Share.vue:分享查看页面src/router/index.js:路由配置src/service/index.js:接口封装src/utils/authing.js:Authing SDK 封装src/utils/axios.js:Axios 实例封装
- 推荐使用 VS Code + Volar 插件进行开发
- 修改环境变量后,需要重新启动
npm run dev