技术架构

2026-03-29 00:00:02 docs MDMS 1245 字

技术栈

MDMS 采用纯 Go 技术栈,单二进制文件即可运行,零外部依赖。

后端语言: Go 1.22+

Markdown 渲染: goldmark v1.7.4

模板引擎: Go 标准库 html/template

拼音转换: go-pinyin(中文标题自动转 URL slug)

后台框架: AdminLTE 3.2.0

图表: Chart.js 3.9.1

部署: Nginx 反向代理 + 纯静态文件

目录结构

/opt/mms/
├── main.go              # 入口
├── config/              # 配置(结构体 + 默认值 + 读写)
├── model/               # 数据模型
├── generator/           # 静态页面生成引擎
├── handler/             # 后台管理(路由 + 所有功能)
├── middleware/           # 中间件
├── templates/admin/     # 后台模板(30+ 页面)
├── templates/site/      # 前台模板(7 个)
├── static/css/          # 前台样式
├── content/md/          # Markdown 源文件
└── data/                # 运行数据(配置/统计/同义词等)

数据流

用户在后台编辑器中撰写 Markdown 文章,保存为 .md 文件存储在 content/md/ 目录下。执行生成命令时,goldmark 将 Markdown 渲染为 HTML 片段,html/template 将片段套入前台模板,同时注入 canonical、JSON-LD、内链替换等 SEO 元素,最终输出纯静态 .shtml 文件到站点目录,由 Nginx 直接伺服。

后台管理通过 Go net/http 提供服务,Nginx 反向代理 /admin/ 和 /api/ 路径到 Go 进程,其余路径直接返回静态文件。

核心模块

handler 目录包含 10 个 Go 源文件,每个文件负责一个独立功能域:

handler.go 路由注册和所有页面管理

auth.go 登录认证和 Session 管理

llm.go LLM API 调用(5 个函数)

suggestion.go 下拉词采集(5 家搜索引擎)

synonym.go 同义词替换引擎

websearch.go 联网搜索 HTML 解析

ipstats.go IP 统计系统

baiduindex.go 收录量监控

batch.go 批量操作

每个源文件顶部都有重构路标注释,标注了职责、风险等级、依赖和被依赖关系,方便二次开发时快速理解模块边界。

来源:快搜原创 / 作者:MDMS / 发布时间:2026-03-29 00:00:02 / Kuaisou MDMS 版权所有
相关话题技术架构二次开发