Files

184 lines
6.4 KiB
Go
Raw Permalink Normal View History

2026-07-18 05:58:41 +08:00
package model
// SiteHome 是官网首页聚合数据,供前端一次性渲染核心官网模块。
type SiteHome struct {
Hero HeroBlock `json:"hero"`
Products []ProductBlock `json:"products"`
Highlights []ValueBlock `json:"highlights"`
Faqs []FaqBlock `json:"faqs"`
}
// HeroBlock 描述官网主视觉文案和关键指标。
type HeroBlock struct {
Title string `json:"title"`
Subtitle string `json:"subtitle"`
PrimaryCTA string `json:"primary_cta"`
SecondaryCTA string `json:"secondary_cta"`
Stats []StatBlock `json:"stats"`
}
// StatBlock 是官网展示的关键业务指标。
type StatBlock struct {
Value string `json:"value"`
Label string `json:"label"`
}
// ProductBlock 描述患者端、医生端、老板端、推广员端和 PC 后台。
type ProductBlock struct {
Name string `json:"name"`
Role string `json:"role"`
Description string `json:"description"`
Features []string `json:"features"`
}
// ValueBlock 描述诊所 SaaS 的核心能力。
type ValueBlock struct {
Title string `json:"title"`
Description string `json:"description"`
Icon string `json:"icon"`
}
// FaqBlock 描述官网常见问题。
type FaqBlock struct {
Question string `json:"question"`
Answer string `json:"answer"`
}
// Plan 是 SaaS 套餐展示与订购使用的数据模型。
type Plan struct {
Id int `json:"id"`
Code string `json:"code"`
Name string `json:"name"`
Description string `json:"description"`
MonthlyFee int `json:"monthly_fee"`
YearlyFee int `json:"yearly_fee"`
Recommended bool `json:"recommended"`
Features []PlanFeature `json:"features"`
}
// PlanFeature 是套餐权益明细。
type PlanFeature struct {
Name string `json:"name"`
Value string `json:"value"`
Highlight bool `json:"highlight"`
}
// Lead 是官网咨询或预约演示线索。
type Lead struct {
Name string `json:"name"`
Phone string `json:"phone"`
ClinicName string `json:"clinic_name"`
City string `json:"city"`
PlanCode string `json:"plan_code"`
SourcePage string `json:"source_page"`
Remark string `json:"remark"`
}
// Order 是套餐订购订单。
type Order struct {
OrderNo string `json:"order_no"`
TenantName string `json:"tenant_name"`
ContactName string `json:"contact_name"`
Phone string `json:"phone"`
PlanCode string `json:"plan_code"`
BillingCycle string `json:"billing_cycle"`
Amount int `json:"amount"`
Status string `json:"status"`
}
// Menu 是后台多级菜单节点,支持单列和双列布局渲染。
type Menu struct {
Id int `json:"id"`
ParentId int `json:"parent_id"`
Title string `json:"title"`
Path string `json:"path"`
Component string `json:"component"`
Icon string `json:"icon"`
Type string `json:"type"`
Permission string `json:"permission"`
MenuArea int `json:"menu_area"`
Children []Menu `json:"children"`
}
// MenuLayout 是后台菜单布局配置。
type MenuLayout struct {
GlobalLayout string `json:"global_layout"`
UserLayout string `json:"user_layout"`
FinalLayout string `json:"final_layout"`
}
// SitePage 是官网页面配置,包含 SEO 与 GSO/GEO 信息。
type SitePage struct {
Id int `json:"id"`
Code string `json:"code"`
Title string `json:"title"`
SeoTitle string `json:"seo_title"`
SeoKeywords string `json:"seo_keywords"`
SeoDescription string `json:"seo_description"`
GsoContent map[string]interface{} `json:"gso_content"`
Status int `json:"status"`
Sort int `json:"sort"`
}
// SiteSection 是官网页面模块配置,内容 JSON 承载各模块可编辑字段。
type SiteSection struct {
Id int `json:"id"`
PageCode string `json:"page_code"`
SectionKey string `json:"section_key"`
Title string `json:"title"`
Subtitle string `json:"subtitle"`
Content map[string]interface{} `json:"content"`
Status int `json:"status"`
Sort int `json:"sort"`
}
// SiteMedia 是官网素材,覆盖 LOGO、favicon、页面图、分享图和招聘图。
type SiteMedia struct {
Id int `json:"id"`
MediaType string `json:"media_type"`
GroupCode string `json:"group_code"`
Title string `json:"title"`
Url string `json:"url"`
Alt string `json:"alt"`
Status int `json:"status"`
Sort int `json:"sort"`
}
// RecruitJob 是招聘职位信息。
type RecruitJob struct {
Id int `json:"id"`
Title string `json:"title"`
Department string `json:"department"`
JobType string `json:"job_type"`
City string `json:"city"`
Salary string `json:"salary"`
Experience string `json:"experience"`
Description string `json:"description"`
Requirements []string `json:"requirements"`
Manager string `json:"manager"`
ManagerTitle string `json:"manager_title"`
Email string `json:"email"`
Phone string `json:"phone"`
Featured bool `json:"featured"`
Status int `json:"status"`
Sort int `json:"sort"`
PublishedDate string `json:"published_date"`
}
// SiteSettings 是站点全局配置,页面未配置时作为默认值。
type SiteSettings struct {
SiteTitle string `json:"site_title"`
SiteLogo string `json:"site_logo"`
SiteLogoDark string `json:"site_logo_dark"`
SiteFavicon string `json:"site_favicon"`
IcpText string `json:"icp_text"`
Copyright string `json:"copyright"`
ContactPhone string `json:"contact_phone"`
ContactEmail string `json:"contact_email"`
ContactAddress string `json:"contact_address"`
DefaultSeo map[string]interface{} `json:"default_seo"`
DefaultGso map[string]interface{} `json:"default_gso"`
AmapKey string `json:"amap_key"`
AmapSecurityCode string `json:"amap_security_code"`
}