文档

内部 DNS 管控 — Laravel + Vue 3 控制台

架构概览

浏览器
  ├── /           官网(Blade + 赛博主题 CSS)
  ├── /login      登录(Vue 3 + Element Plus)
  ├── /console    控制台 SPA(Vue 3 + Element Plus 深色主题)
  └── /api/v1/*   Laravel REST JSON API

Laravel 9 后端
  ├── Controllers/Api/V1   认证 · 域名 · 记录 · 日志
  ├── FormRequest          输入校验
  ├── Services             DNS · Captcha · OperationLogger
  └── MySQL                users · operation_logs · login_attempts

API 参考

所有 API 返回 JSON({"ok":true,...}),需登录接口使用 Session Cookie。

方法路径说明
GET/api/v1/auth/captcha图形验证码
POST/api/v1/auth/login登录 {user, pass, captcha}
GET/api/v1/domains/{domain}/records记录 + 分类 + 统计
POST/api/v1/records添加记录
GET/api/v1/operation-logs操作日志(分页)
GET/api/v1/probe?host=DNS + HTTP 探测

前端技术栈

  • Vue 3 — Composition API + Vite 构建
  • Element Plus — 表格、对话框、表单、分页等 UI 组件
  • 赛博深色主题 — 自定义 CSS 变量覆盖 Element 默认样式

记录分类

  • 线上站点 — A 记录指向本机且 Nginx 有 vhost
  • 孤儿解析 — 指向本机但无对应站点
  • 邮件 / 证书 — 受保护,批量删除需 force

进入控制台