Skip to content
project-admin
project-admin 是 LeeLaa Blog 的本地内容管理工具,用于维护文章、电台、回忆、友链、站点设置和构建任务。它面向仓库所有者在自己的电脑上使用,不是可部署到公网的后台系统。
运行边界
- 服务固定监听
127.0.0.1:8888,不监听局域网或公网地址。 - 默认且主要的运行方式是开发模式,包含 Vite HMR 和 Express API。
- 单用户本地运行是既定信任模型,因此不提供登录、会话、角色或权限管理。
- 不要通过反向代理、端口转发或修改监听地址将其暴露给其他设备或公网。
安装与启动
在仓库根目录安装依赖并启动:
bash
pnpm install
pnpm --dir project-admin dev也可以使用根目录快捷命令:
bash
pnpm admin启动后访问 http://127.0.0.1:8888。
生产模式只用于验证构建产物和静态 fallback,不是项目的部署目标:
bash
pnpm --dir project-admin build
pnpm --dir project-admin start功能
- 管理
pages/posts下的 Markdown 文章和元数据。 - 预览文章并维护电台描述、回忆图片和友链数据。
- 编辑本地设置,查看系统状态,执行博客更新与上传任务。
- 在开发模式中同时提供管理界面、API 和前端热更新。
数据与安全约束
- 文章 ID 只允许解析到
pages/posts/**/*.md,同时检查词法路径和真实路径,防止越过文章目录或通过符号链接逃逸。 - Markdown、RSS 和可编辑富文本在返回给界面前经过 HTML 允许列表清洗。
- 友链页面和图片抓取只接受解析到公网地址的 HTTP/HTTPS URL,实际连接固定到已验证地址并检查每次重定向;截图浏览器使用默认沙箱,页面资源由受控下载器限制请求数量和响应体大小。
- 回忆上传限制为单文件、20 MB、图片 MIME;Sharp 进一步验证真实格式并限制为 6000 万像素,失败后清理临时文件。
这些约束用于避免误操作、恶意导入内容和异常资源拖垮本地工具,不改变“本机可信用户”的设计前提。完整说明见 DESIGN.md。
测试
后台开发服务启动后,在仓库根目录运行:
bash
pnpm test:admin:e2e
pnpm test:admin:unit测试用例统一放在仓库根目录的 test/admin/,实现代码目录不再夹带测试文件。E2E 测试说明见 test/README.md。生成的报告写入已被 Git 忽略的 test-report/。
转载请注明来源:leelaa : 《》
正在连接 GitHub评论区马上就来...
