博客系统自文档 · 第 15/16 篇
目录 · 上一篇:性能优化实录 · 下一篇:互动与社区(评论/留言/收藏)
写在前面
博客不止文章和 RPG,还有 工具箱、功能展示、快速入口、关于 等卫星页面。本篇是 16 篇主线末篇(附录 16–18 见文首导航),帮你定位这些「非标准文章流」页面。
功能与体验
工具箱 /tool/*(Web)
清单来自 blog-home-nuxt/utils/constant.ts 的 TOOL_LINKS:
| 路径 | 能力 | 后端依赖 |
|---|---|---|
/tool/codes |
条形/二维码 | 纯前端 |
/tool/pdf |
PDF 查看 / 桌面签署 | 纯前端 |
/tool/pdf-h5 |
H5 协议签署(倒计时 + 手写签名 + 导出) | 纯前端 |
/tool/watermark |
水印 | 纯前端 |
/tool/photos |
光影边框(相册滤镜 Worker) | 纯前端 |
/tool/audio-visualized |
音频可视化 | 纯前端 |
/tool/upload-slice |
分片上传 | 调 server /file API |
/tool/other |
其它小工具 | 纯前端 |
/tool/webrtc |
WebRTC 视频聊天 | 纯前端 P2P |
/tool/test |
测试页 | 纯前端 |
/tool/rsa |
RSA 加解密 | 纯前端 |
/tool/des |
对称加密(AES/DES) | 纯前端 |
/tool/sm |
国密 SM2/SM3/SM4 | 纯前端 |
/tool/ai |
AI 对话 | blog-server pub/ai-stream(SSE) |
/tool/ai-summary |
文章摘要 | Nitro server/api/ai-summary-stream |
布局:pages/tool.vue 包裹 CyberPageContainer + ToolSubNav;入口索引 /tool/index.vue。
全站 RAG 助手(Floating FAB)
右下角 RagAssistantFab 对接 server rag 模块(混合检索 + Tool 编排),与 /tool/ai 独立。知识片段由 Admin「RAG 知识库」维护;索引变更后可在后台全量重建。
uni-app 工具分包 pages-tool/
| 能力 | 说明 |
|---|---|
| codes / rsa / des / sm / ai-summary / ai | 与 Web 对齐 |
| watermark / pdf / photos / audio-visualized / upload-slice | 跨端原生实现(H5 能力最全) |
| other / test | 占位与开发 Lab |
| webrtc | 暂未迁移 |
| h5-web | 通用外链兜底(非主路径) |
| qrcode | 旧路由,重定向至 codes |
入口:/pages-tool/index/index。
快速入口 /explore
聚合归档、友链、留言、工具、特性等导航(pages/explore/index.vue)。原 /download 已弃用,导航栏改为「快速入口」。uni-app 对应 /pages/explore/explore。
功能展示 /features
/features— 能力卡片索引/features/rpg-guide— RPG 玩法长页(可作第 9 篇补充阅读)
其它固定页
| 路径 | 数据来源 |
|---|---|
/about |
article 自我介绍 + 支付宝赞赏面板(site/tip,不发钻) |
/projects |
项目卡片 + 顶部锚点目录;可与 /welcome#slug 互链 |
/welcome |
液态玻璃试验页 / 项目叙事入口 |
/open-source |
开源与合作说明(constants/open-source.ts) |
/msgboard |
留言板 API |
/links |
友链 API |
设计与实现
flowchart LR
subgraph clientOnly [纯前端 tool]
Crypto[RSA/SM/DES]
WebRTC[WebRTC]
Photos[photos worker]
end
subgraph hybrid [前后端协作]
Upload[upload-slice]
AIChat[ai → pub/ai-stream]
AISummary[ai-summary Nitro]
end
subgraph cms [类 CMS]
About[about 拉 article]
Blog[detail 标准文章]
end
原则:能用浏览器完成的就不进 Nest;必须落库走 features 或 file 模块。
about 页模式
pages/about/index.vue → getArticleInfo({ id: 44 }) → MdPreview,并挂载 TipPanel:
| 接口 | 说明 |
|---|---|
POST /site/tip/create |
建单,bizType=site_tip,不发钻 |
GET /site/tip/status |
支付状态 |
GET /site/tip/list |
公开赞赏流水 |
改 about 文案 = 改 DB 文章或换 id;赞赏流水随支付回调写入,无需发版。
踩坑与取舍
- tool 页不参与 RSS:未走
article表。 - WebRTC 需 HTTPS:生产已配 Let's Encrypt。
- AI 路由分两条:
/tool/ai-summary走 Nitro 随 Nuxt 发版;/tool/ai依赖 blog-serverpub模块。 - uni-app 工具能力受平台限制:小程序无法直接跑 WebRTC,经 h5-web 桥接。
系列导航
- 目录:博客系统分类
- 上一篇:14 性能优化实录
- 下一篇:16 互动与社区(评论/留言/收藏)
- 导读:导读 · 第 0 篇
延伸阅读
pages/features/FEATURES.mdblog-home-nuxt/utils/constant.tsblog-home-uniapp/src/pages-tool/

全部评论(0)