import { defineConfig } from 'vitepress' const seoPages: Record = { '/': { title: 'MengStack - 企业级Go语言微服务开发框架 | 开源模块化开发底座', description: 'MengStack是软盟SoftUnis开源的企业级Go语言微服务开发框架,基于Gin+GORM+uber-go/fx构建,内置三层隔离架构、多租户支持、JWT认证、API文档、Docker部署等能力,开箱即用,帮助开发者快速搭建企业级后端服务。', keywords: 'Go微服务框架,Go企业级开发框架,MengStack,开源Go框架,Go模块化开发', }, '/guide/what-is-mengstack': { title: '什么是MengStack | 架构设计与核心特性介绍 - MengStack官方文档', description: 'MengStack入门指南,详细介绍框架设计理念、三层隔离 Kernel/App/Modules 架构、四层模块模式、核心特性清单、适用场景与完整技术栈选型,帮助开发者快速了解MengStack框架。', keywords: 'MengStack教程,MengStack架构,Go框架架构设计,DDD四层架构,Go微服务入门', }, '/guide/getting-started': { title: '快速开始 | 5分钟搭建MengStack项目环境 - MengStack官方文档', description: 'MengStack快速开始教程,包含环境要求、项目克隆、依赖安装、配置修改、服务启动完整步骤,帮助开发者5分钟跑通第一个MengStack项目,快速体验框架能力。', keywords: 'MengStack快速开始,MengStack安装,Go项目搭建,Go框架入门教程', }, '/guide/project-structure': { title: '项目结构说明 | MengStack目录规范详解 - MengStack官方文档', description: '详细介绍MengStack标准项目目录结构,各目录职责划分、模块组织规范、依赖注入配置方式,帮助开发者遵循统一规范开发,降低团队协作成本。', keywords: 'MengStack项目结构,Go项目目录规范,Go项目架构,模块化开发规范', }, '/api/overview': { title: 'API接口概览 | 统一响应格式与错误码说明 - MengStack官方文档', description: 'MengStack API接口参考文档,包含接口基础信息、统一响应格式规范、HTTP状态码与错误码说明、JWT认证方式说明、完整接口列表,以及在线Swagger UI调试入口。', keywords: 'MengStack API,Go接口文档,RESTful API规范,JWT认证接口,Swagger接口文档', }, '/changelog': { title: '更新日志 | 版本迭代记录与路线图 - MengStack开源框架', description: 'MengStack各版本更新记录,v0.2.0完成RBAC权限模型、组织管理、审计日志、通知模块、配置管理增强、Docker+CI/CD、质量横切等全部M2-M8里程碑,以及v0.1.0首发版本技术栈说明。', keywords: 'MengStack更新日志,MengStack版本,Go框架更新,开源项目路线图,RBAC权限,审计日志', }, '/demo': { title: '在线演示 | 免费体验MengStack接口服务 - MengStack官方', description: 'MengStack官方在线演示环境,提供公开API服务地址、Swagger UI在线调试入口、健康检查地址,附快速体验步骤指引,无需本地部署即可直接体验框架接口能力。', keywords: 'MengStack在线演示,Go框架体验,Swagger在线调试,API接口测试', }, '/community': { title: '开发者社区 | 交流渠道与贡献指南 - MengStack开源社区', description: 'MengStack开源开发者社区,提供代码仓库地址、问题反馈渠道、功能建议入口,以及Bug报告、代码提交、代码规范等贡献指引,欢迎所有开发者参与MengStack共建。', keywords: 'MengStack社区,Go开源社区,Go开发者交流,开源项目贡献', }, '/guide/rbac': { title: 'RBAC 权限模型 | 角色权限管理与中间件鉴权 - MengStack官方文档', description: 'MengStack内置RBAC权限模型,基于Permission/Role/UserRole四表设计,支持多租户隔离下的角色管理、权限分配、中间件鉴权,预置admin/editor/viewer角色种子数据。', keywords: 'RBAC权限模型,Go角色权限,Go中间件鉴权,多租户权限,MengStack RBAC', }, '/guide/org': { title: '组织管理 | 多租户 CRUD 与状态管理 - MengStack官方文档', description: 'MengStack组织管理模块提供租户完整生命周期管理,包括租户创建、查询、更新、删除、状态管理(启用/禁用),UUID主键,与多租户中间件配合实现数据隔离。', keywords: 'MengStack组织管理,Go租户管理,多租户CRUD,租户状态管理', }, '/guide/audit': { title: '审计日志 | 操作追踪与合规记录 - MengStack官方文档', description: 'MengStack审计日志模块自动记录关键操作(用户、动作、资源、IP),支持多维筛选和分页查询,按租户隔离,只写不删,满足企业合规审计需求。', keywords: '审计日志,Go操作审计,合规记录,操作追踪,MengStack审计', }, '/guide/notification': { title: '通知模块 | 用户通知的发送与管理 - MengStack官方文档', description: 'MengStack通知模块提供用户级消息推送,支持info/success/warning/error四种类型,单条/全部标记已读,未读计数,分页查询,为前端通知中心提供完整后端能力。', keywords: 'MengStack通知模块,Go用户通知,未读消息,通知管理', }, '/guide/quality': { title: '质量横切 | 安全基线、限流、日志与优雅停机 - MengStack官方文档', description: 'MengStack M8质量横切:IP限流中间件、安全响应头(X-Frame-Options/CSP等)、请求体限制、Zap结构化请求日志、自定义Recovery、优雅停机(10秒超时)、testutil测试工具包、11个中间件单元测试。', keywords: 'Go安全中间件,IP限流,优雅停机,结构化日志,MengStack质量基线', }, '/api/rbac': { title: 'RBAC API | 角色权限管理接口 - MengStack官方文档', description: 'MengStack RBAC接口文档,包含权限列表、角色CRUD、权限绑定、用户角色分配等11个API端点,完整的请求/响应示例和参数说明。', keywords: 'RBAC API,Go权限接口,角色管理API,MengStack接口文档', }, '/api/org': { title: '组织管理 API | 租户 CRUD 接口 - MengStack官方文档', description: 'MengStack组织管理接口文档,包含租户创建、列表查询、详情获取、更新、删除5个API端点,UUID主键,完整请求/响应示例。', keywords: '组织管理API,Go租户接口,租户CRUD API,MengStack接口文档', }, '/api/audit': { title: '审计日志 API | 操作审计查询接口 - MengStack官方文档', description: 'MengStack审计日志接口文档,支持按用户、操作类型、资源类型多维筛选,分页查询,完整请求/响应示例。', keywords: '审计日志API,Go审计接口,操作查询API,MengStack接口文档', }, '/api/settings': { title: '配置管理 API | 全局与租户配置接口 - MengStack官方文档', description: 'MengStack配置管理接口文档,全局配置与租户配置两级管理,支持运行时读写和upsert,配置优先级:租户>全局>默认,完整API参考。', keywords: '配置管理API,Go配置接口,运行时配置,MengStack接口文档', }, '/api/notification': { title: '通知 API | 用户通知管理接口 - MengStack官方文档', description: 'MengStack通知接口文档,包含通知创建、查询、标记已读、全部已读、未读计数、删除7个API端点,完整请求/响应示例。', keywords: '通知API,Go通知接口,未读消息API,MengStack接口文档', }, } function getPagePath(relativePath: string) { let p = '/' + relativePath.replace(/\.md$/, '').replace(/\/index$/, '') if (p === '/index') p = '/' return p } function getSeo(pagePath: string) { return seoPages[pagePath] || seoPages['/'] } export default defineConfig({ title: 'MengStack', titleTemplate: ':title', description: 'MengStack - 企业级 Go 语言微服务开发框架', lang: 'zh-CN', head: [ ['link', { rel: 'icon', href: '/favicon.png' }], ['meta', { property: 'og:image', content: '/og-image.png' }], ['meta', { name: 'theme-color', content: '#C8963E' }], ['script', {}, ` (function(){ var E='mengstack-theme-explicit',V='vitepress-theme-appearance'; var d=false,e=localStorage.getItem(E); if(e!==null){d=e==='true'} else if(window.matchMedia&&window.matchMedia('(prefers-color-scheme:dark)').matches){d=true} else if(window.matchMedia&&window.matchMedia('(prefers-color-scheme:light)').matches){d=false} else{var h=new Date().getHours();d=h<8||h>=18} if(d)document.documentElement.classList.add('dark'); try{localStorage.setItem(V,String(d))}catch(x){} })() `], ], transformHead({ pageData }) { const path = getPagePath(pageData.relativePath) const seo = getSeo(path) const url = `https://mengstack.softunis.com${path === '/' ? '/' : path + '.html'}` const head: [string, Record][] = [ ['meta', { name: 'description', content: seo.description }], ['meta', { name: 'keywords', content: seo.keywords }], ['link', { rel: 'canonical', href: url }], ['meta', { property: 'og:title', content: seo.title }], ['meta', { property: 'og:description', content: seo.description }], ['meta', { property: 'og:url', content: url }], ] return head }, themeConfig: { logo: { light: '/logo-light.png', dark: '/logo-dark.png', alt: 'MengStack 企业级Go语言微服务开发框架', }, siteTitle: 'MengStack', nav: [ { text: '首页', link: '/' }, { text: '指南', link: '/guide/what-is-mengstack' }, { text: 'API 参考', link: '/api/overview' }, { text: '更新日志', link: '/changelog' }, { text: '在线演示', link: '/demo' }, { text: '社区', link: '/community' }, ], sidebar: { '/guide/': [ { text: '入门', items: [ { text: '什么是 MengStack', link: '/guide/what-is-mengstack' }, { text: '快速开始', link: '/guide/getting-started' }, { text: '项目结构', link: '/guide/project-structure' }, ], }, { text: '架构设计', items: [ { text: '三层隔离架构', link: '/guide/architecture' }, { text: '模块四层模式', link: '/guide/module-pattern' }, { text: '依赖注入', link: '/guide/dependency-injection' }, ], }, { text: '核心功能', items: [ { text: '认证与授权', link: '/guide/auth' }, { text: 'RBAC 权限模型', link: '/guide/rbac' }, { text: '多租户系统', link: '/guide/multi-tenancy' }, { text: '组织管理', link: '/guide/org' }, { text: '审计日志', link: '/guide/audit' }, { text: '通知模块', link: '/guide/notification' }, { text: '配置管理', link: '/guide/configuration' }, ], }, { text: '质量保障', items: [ { text: '安全基线与中间件', link: '/guide/quality' }, ], }, { text: '部署', items: [ { text: 'Docker 部署', link: '/guide/docker-deploy' }, { text: 'CI/CD 流水线', link: '/guide/cicd' }, ], }, ], '/api/': [ { text: 'API 参考', items: [ { text: '概览', link: '/api/overview' }, { text: '认证接口', link: '/api/auth' }, { text: 'RBAC 接口', link: '/api/rbac' }, { text: '组织管理接口', link: '/api/org' }, { text: '审计日志接口', link: '/api/audit' }, { text: '配置管理接口', link: '/api/settings' }, { text: '通知接口', link: '/api/notification' }, { text: '系统接口', link: '/api/system' }, ], }, ], }, socialLinks: [ { icon: 'github', link: 'https://gitea.softunis.com/mengstack' }, ], footer: { message: 'Released under the MIT License.', copyright: `Copyright © 2026 软盟 SoftUnis
粤ICP备2023054965号  |  粤公网安备 44030502010466号`, }, search: { provider: 'local', }, outline: { label: '页面导航', }, docFooter: { prev: '上一页', next: '下一页', }, lastUpdated: { text: '最后更新', }, }, })