首页 前端开发 web应用

小陈知识库系统

tts小陈 发布于 2026-08-04 10:11 更新于 2026-08-06 阅读 11 约 3,636 字 · 阅读 10 分钟
web应用 · web应用

小陈知识库 · 系统介绍

一个基于 PHP + MySQL 的轻量级知识库系统,本地部署于 phpstudy(Nginx)环境,用于个人 / 小团队的知识沉淀、整理与检索。


📌 系统简介

小陈知识库是一套扁平、多彩、自适应的文档管理系统,内置用户体系与 AI 问答:

  • 前台:分类浏览、全文检索、Markdown 渲染、目录导航、用户登录/激活、AI 智能问答、留言互动、收藏与浏览历史
  • 后台:分类与文档管理、用户管理、评论管理、激活码、功能权限、SEO 设置、导航菜单、一键备份

技术选型遵循 极简、本地优先 原则:不依赖框架、不依赖服务器重写规则、前端资源全部本地化(断网可用)。


✨ 功能特性

前台

| 功能 | 说明 | | ---- | ---- | | 🗂 分类体系 | 无限层级分类,多彩圆点标识,树状缩进展示从属关系 | | 🔍 全文检索 | 标题 / 正文 / 标签匹配,关键词高亮,带上下文摘要 | | 📄 Markdown 渲染 | 服务端渲染 + 代码语法高亮 + 表格 / 引用 / 任务列表 | | 📑 目录导航 | 经典/三栏两种布局后台可切;TOC 自动生成、滚动联动高亮 | | 🔒 可见性控制 | 公开文档前台展示;私有文档仅管理员可见 | | 👤 用户体系 | 邮箱验证码登录 / 密码登录,忘记密码可用验证码兜底 | | 🏅 高级用户 | 输入激活码解锁高级功能;普通用户触碰高级功能就地提示 | | 🤖 AI 问答 | 检索知识库文档后由大模型生成回答,附引用来源,支持历史记录 | | 💬 留言互动 | 留言 / 回复 / 表情,按页展示;我的页面可管理自己的评论 | | ⭐ 收藏 | 一键收藏文档,我的页面统一管理 | | 👀 浏览历史 | 自动记录最近浏览,可一键清空 | | 📎 附件下载 | 文档可挂载附件,按权限控制下载 | | 🧭 顶部导航 | 菜单项后台可配置(站内 / 外链、新窗口、排序、启用停用) |

后台

| 功能 | 说明 | | ---- | ---- | | 🔐 管理员登录 | Session + CSRF 防护,支持修改密码 | | 📊 仪表盘 | 文档 / 分类 / 浏览统计 + 用户统计(总数 / 高级 / 普通 / 停用) | | 🗂 分类管理 | 树形表格增删改,支持无限层级、颜色、排序 | | 📝 文档管理 | 列表筛选(分类 / 状态 / 可见性),分页,快速编辑 / 删除 | | ✏️ MD 编辑器 | EasyMDE:完整工具栏、分屏预览、全屏、图片上传、附件上传 | | 👥 用户管理 | 查看用户,设为高级 / 降为普通 / 停用账户 / 删除 | | 💬 评论管理 | 全部留言统一管理,管理员可直接回复 / 删除,每页条数可设 | | 🎫 激活码 | 批量生成、导出、状态(已用邮箱 + 激活时间) | | 🔐 功能权限 | 每个功能三档门槛:登录用户 / 激活用户(高级)/ 所有人 | | ⚙️ 系统设置 | 网站 TDK、每页条数、相关文档数量、文档布局、SMTP 发信、AI 参数 |


🖥 前台使用指南

1. 首页浏览

  • 左侧为分类树:一级分类带多彩圆点,点击 ▾ 可展开子分类
  • 右侧为文档卡片:标题、摘要、分类标签、浏览数与更新时间
  • 右上角:AI 提问入口、主题切换、我的 / 登录按钮

2. 登录与注册

  • 输入邮箱点「下一步」→ 未注册自动注册并发送邮箱验证码 → 输入验证码即登录
  • 登录后可在「我的」页面设置密码,之后可用密码登录
  • 忘记密码:密码框下点「用邮箱验证码登录」即可免密进入
  • 普通用户(未激活)触碰 AI / 附件等高级功能时,页面就地提示去激活,不弹系统窗

3. AI 知识问答

  • 提问后自动检索知识库文档,AI 结合文档内容回答并标注引用来源
  • 开放范围由后台控制;AI 属于高级功能(可调权限档位)
  • 提问记录保存在「我的 → AI 问答历史」,可一键清空

4. 文档详情页(两种布局,后台可切)

经典布局(左分类 + 中文档 + 右目录):

┌─────────┬──────────────────────┬─────────┐
│ 分类树   │  面包屑 + 标题         │  目录    │
│ (左)    │  Meta + 正文 + 相关    │  (右)   │
│         │  上一篇 / 下一篇        │ 返回顶部 │
└─────────┴──────────────────────┴─────────┘

三栏布局(左目录 + 中文档 + 右留言):

┌─────────┬──────────────────────┬─────────┐
│ 目录     │  面包屑 + 标题         │  留言栏  │
│ (左)    │  Meta + 正文 + 相关    │ (右,滚动)│
└─────────┴──────────────────────┴─────────┘
  • 留言支持回复(@某人)与表情,多页时标题旁有分页导航(翻页自动定位评论)
  • 底部相关文档数量后台可设(默认 5)
  • 有权限时可下载附件;无权限显示锁定提示

5. 我的页面

| 模块 | 内容 | | ---- | ---- | | 个人信息 | 邮箱、用户名、密码设置、退出登录 | | 激活高级功能 | 折叠按钮,点开输入激活码 | | ⭐ 我的收藏 | 管理收藏文档 | | 🤖 AI 问答历史 | 查看 / 清空提问记录 | | 💬 我的评论 | 自己发过的留言/回复,可删除,分页 | | 👀 最近浏览 | 最近看过的文档,可清空 |


⚙️ 后台使用指南

1. 仪表盘

文档/分类/浏览 + 用户统计(用户总数、🏅高级、👤普通、⛔停用),近 14 天访问趋势,热门文档 TOP10。

2. 用户管理(新增)

  • 列表:邮箱 / 用户名 / 身份(高级·普通)/ 状态(正常·停用)/ 登录方式
  • 操作:设为高级(后台直接激活,不消耗激活码)、降为普通停用 / 恢复(停用后登录被拦截提示"已被管理员禁用")、删除(连带收藏/历史/评论)

    3. 评论管理(新增)

  • 全部留言 / 回复统一列表(含所属文档链接、回复对象)
  • 管理员直接回复(身份显示"管理员")、删除(软删除)
  • 顶部可设置每页显示条数(5~50),同步前台文档留言与个人中心评论

4. 激活码管理

  • 批量生成(数量 / 备注)、一键导出 CSV、删除
  • 已用激活码显示使用邮箱 + 激活时间
  • 已激活用户列表(激活时间)

5. 功能权限(独立页)

  • 每功能三档:登录用户 / 激活用户(高级) / 所有人(游客)
  • 功能项:AI 问答、附件下载、收藏、留言、浏览历史
  • 普通用户触碰高级功能时,统一 toast 提示"该功能为高级功能,请前往「我的」页面激活"

6. 系统设置

| 分组 | 内容 | | ---- | ---- | | 🌐 网站信息 | 网站名称(同时作邮件发件人显示名)、SEO TDK、版权文字 | | 📄 内容与展示 | 每页文档数量、相关文档数量文档详情页排版(经典/三栏)、上传大小 | | 🧭 导航菜单 | 前台顶部菜单增删改 | | 🤖 AI 问答 | 启用开关、API 地址/密钥/模型、检索条数、开放范围(公开 / 激活码模式)、SMTP 发信 | | 🔐 账号安全 | 修改管理员密码 | | 💾 数据维护 | 一键备份(导出 SQL)、恢复 |

💡 AI 开放范围与功能权限的关系:开放范围 = 是否启用激活码用户体系的总开关;功能权限 = 体系内谁能用某功能。公开模式不校验权限,激活码模式下按功能权限档位控制。


🔧 技术架构

模块 选型
后端 PHP 8.x 原生(PDO + Prepared Statement,全参数化防注入)
数据库 MySQL 5.7 / 8.x,utf8mb4(支持 emoji)
前端 原生 HTML / CSS / JS,响应式布局,浅色 / 深色主题
Markdown Parsedown(服务端渲染)+ marked.js(编辑器预览),XSS 过滤
代码高亮 highlight.js(本地化)
编辑器 EasyMDE(本地化,离线可用)
邮件 原生 SMTP(465 SSL / 587 STARTTLS),发件人显示名 = 网站名称
路由 前端控制器 index.php?r=… / admin.php?r=…,兼容伪静态与 Nginx / Apache

目录结构

站点根目录
├── index.php            前台入口(home / doc / search / user / ai / login …)
├── admin.php            后台入口(dashboard / documents / users / comments / aicodes / perms / system …)
├── install.php          安装向导
├── config.php           数据库与全局配置
├── lib/                 PDO 封装 + 公共函数(SMTP、权限、渲染)
├── views/               前台与后台视图模板
├── assets/              css / js
├── vendor/              EasyMDE、marked、highlight.js、Parsedown(全部本地化)
└── uploads/             图片与附件上传目录(按年月归档)

💡 常见问题(FAQ)

Q1:普通用户点了 AI / 收藏 / 留言,提示"该功能为高级功能"? 说明该功能权限档位是"激活用户",普通用户需去「我的」页面输入激活码激活;激活码找管理员获取。

Q2:用户被"停用"后登录提示"已被管理员禁用"? 后台 → 用户管理 → 找到该用户点「恢复」即可正常登录。

Q3:文档详情页想换成三栏(左目录/右留言)? 后台 → 系统设置 → 内容与展示 → 文档详情页排版,选「三栏」保存。

Q4:邮件验证码收不到? ① 确认后台已配置 SMTP;② 发件人地址必须与 SMTP 登录账户一致;③ 检查垃圾箱(QQ/163 可能拦截)。发件人显示名为网站名称。

Q5:相关文档/留言显示数量怎么调? 后台 → 系统设置:相关文档数量(2~20);后台 → 评论管理:每页显示条数(5~50,三端同步)。

Q6:数据会丢吗? 建议定期在 后台 → 系统设置 → 数据维护 点击「一键备份」,导出 SQL 保存;恢复用 phpMyAdmin 导入。


本文档由小陈知识库系统维护,内容随版本持续更新。

💬 留言 共 0 条 · 登录后可留言
还没有留言,来抢沙发~