feat: 导航页SEO/GEO优化 + 手机端完全适配 + App候选码 + 业务系统板块

- SEO: 添加meta description/keywords/Open Graph/结构化数据/地理信息
- GEO: 添加geo.region/geo.position/ICBM等地理标记
- 手机端完全重写响应式: 咨询表单/导航卡片/hero区/标签全部适配
- 新增App候选码板块: 后台管理+导航页动态展示(支持录屏视频/下载链接)
- 新增业务系统板块: 进销存/OA/财务/工单等,支持按年/按月/定制定价
- 后台新增App候选码管理页面(增删改查+上下架)
- 后台新增业务系统管理页面(增删改查+上下架)
- 导航页设置新增新板块标题配置
- 公开API: GET /api/v1/showcase/apps + /api/v1/showcase/systems
This commit is contained in:
2026-09-09 03:32:22 +08:00
parent 278b07aa97
commit 69c59f4fbd
9 changed files with 629 additions and 9 deletions

View File

@@ -32,6 +32,7 @@ func Setup(
accessLogH *handler.AccessLogHandler,
configH *handler.ConfigHandler,
ipLocationService *geoip.Service,
showcaseH *handler.ShowcaseHandler,
) *gin.Engine {
if cfg.Env.Name == "prod" {
gin.SetMode(gin.ReleaseMode)
@@ -165,6 +166,10 @@ func Setup(
// 导航页设置(公开,无需认证)
api.GET("/nav-settings", configH.GetNavSettings)
// App 候选码 & 业务系统(公开)
api.GET("/showcase/apps", showcaseH.ListAppShowcase)
api.GET("/showcase/systems", showcaseH.ListBizSystem)
// 需要登录的路由
authed := api.Group("")
authed.Use(middleware.JWTAuth(cfg.JWT.Secret))
@@ -212,6 +217,18 @@ func Setup(
// Webhook 测试
admin.POST("/webhook/test", customerH.TestWebhook)
// App 候选码管理
admin.GET("/showcase/apps", showcaseH.AdminListAppShowcase)
admin.POST("/showcase/apps", showcaseH.CreateAppShowcase)
admin.PUT("/showcase/apps/:id", showcaseH.UpdateAppShowcase)
admin.DELETE("/showcase/apps/:id", showcaseH.DeleteAppShowcase)
// 业务系统管理
admin.GET("/showcase/systems", showcaseH.AdminListBizSystem)
admin.POST("/showcase/systems", showcaseH.CreateBizSystem)
admin.PUT("/showcase/systems/:id", showcaseH.UpdateBizSystem)
admin.DELETE("/showcase/systems/:id", showcaseH.DeleteBizSystem)
}
}