diff --git a/admin/src/views/sites/HomepageEdit.vue b/admin/src/views/sites/HomepageEdit.vue index 280199e..8caf2b0 100644 --- a/admin/src/views/sites/HomepageEdit.vue +++ b/admin/src/views/sites/HomepageEdit.vue @@ -17,13 +17,13 @@ 导航与标题 - + - + @@ -50,51 +50,46 @@ + 添加链接 - 下载按钮 - - + 侧栏下载(Windows / 安卓直链) +

+ 填写同域可下载的静态地址(需将安装包放到站点 promotion/downloads/ 并部署)。前台为「Windows 版下载」「安卓版下载」直连,不跳转整页。 +

+ + - + + + + + 旧版字段(前台 Vue 已不使用轨道路由) + + + +
选择链接 - 试跳
- - 平台(轨道) - +
- + 选择链接 - 试跳 删除
- + 添加平台 + + 添加
- 版本与徽章 + 版本与徽章(前台已隐藏主视觉条,可留空) - + - - + + - + 特性卡片 @@ -108,12 +103,12 @@ - + 首页下方扩展区(可视化积木,可拖拽排序)

- 与「网页管理 → 积木」相同:从左侧手柄拖拽调整模块顺序。保存后内容显示在落地页主视觉与特性卡片之后、页脚之前。留空则不显示扩展区。 + 与「网页管理 → 积木」相同:从左侧手柄拖拽调整模块顺序。保存后内容显示在落地页主体模块之后、页脚之前。留空则不显示扩展区。

@@ -149,29 +144,29 @@ const linkPickerVisible = ref(false) const linkPickTarget = ref({ type: 'download' }) const defaultForm = () => ({ - logo_text: 'YUHENG ONE', - nav_links: [{ label: 'MISSION', url: '#' }, { label: 'DOWNLOAD', url: '#' }, { label: 'CONTACT', url: '#' }], - title: '宇恒一号', - subtitle: 'INTERSTELLAR EXPLORER EDITION', - description: '跨越星际的智能伙伴 · 探索无限可能\n引领您进入前所未有的数字宇宙', - download_text: 'START EXPLORING', - download_url: '#', - platforms: [ - { name: 'WINDOWS', url: '#' }, - { name: 'MACOS', url: '#' }, - { name: 'LINUX', url: '#' }, - { name: 'IOS', url: '#' }, - { name: 'ANDROID', url: '#' } + logo_text: '宇恒一号', + nav_links: [ + { label: '产品简介', url: '#intro' }, + { label: '产品视频', url: '#videos' }, + { label: '联系我们', url: '#contact' } ], - version: 'VERSION 3.2.1', - launch_year: 'LAUNCH: 2024', - badge_text: 'FREE ACCESS', + title: '宇恒一号', + subtitle: '', + description: '跨越星际的智能伙伴 · 探索无限可能\n引领您进入前所未有的数字宇宙', + download_text: '下载', + download_url: '#', + download_windows_url: '/promotion/downloads/yuheng-windows.zip', + download_android_url: '/promotion/downloads/yuheng-android.apk', + platforms: [], + version: '', + launch_year: '发布日期:以官网为准', + badge_text: '完全免费', features: [ - { title: '星际导航', desc: '先进的AI导航系统,精准定位您的需求,引领探索之旅' }, + { title: '星际导航', desc: '先进的 AI 导航系统,精准定位您的需求,引领探索之旅' }, { title: '量子同步', desc: '跨维度数据同步技术,您的数据在多宇宙中保持一致' }, { title: '星际防护', desc: '来自未来的安全加密协议,守护您的数字资产安全' } ], - footer_text: '© 2024 YUHENG ONE // STELLAR EXPLORATION INITIATIVE', + footer_text: '© 2024 宇恒一号 · 成都宇信达智能科技有限公司', body_builder: '' }) @@ -205,12 +200,15 @@ const fetchData = async () => { if (!siteId.value) return try { const data = await getHomepage(siteId.value) + const base = defaultForm() Object.assign(form, { - ...defaultForm(), + ...base, ...data, - nav_links: Array.isArray(data.nav_links) && data.nav_links.length ? data.nav_links : defaultForm().nav_links, - platforms: Array.isArray(data.platforms) && data.platforms.length ? data.platforms : defaultForm().platforms, - features: Array.isArray(data.features) && data.features.length ? data.features : defaultForm().features + nav_links: Array.isArray(data.nav_links) && data.nav_links.length ? data.nav_links : base.nav_links, + platforms: Array.isArray(data.platforms) ? data.platforms : base.platforms, + features: Array.isArray(data.features) && data.features.length ? data.features : base.features, + download_windows_url: data.download_windows_url || base.download_windows_url, + download_android_url: data.download_android_url || base.download_android_url }) } catch (e) { ElMessage.error(e.message) diff --git a/server/handlers/homepage.go b/server/handlers/homepage.go index 161bade..d2b693f 100644 --- a/server/handlers/homepage.go +++ b/server/handlers/homepage.go @@ -186,29 +186,25 @@ func DownloadHomepage(c *gin.Context) { func defaultHomepageData() models.HomepageData { return models.HomepageData{ - LogoText: "YUHENG ONE", - NavLinks: []models.NavLink{{Label: "MISSION", URL: "#"}, {Label: "DOWNLOAD", URL: "#"}, {Label: "CONTACT", URL: "#"}}, + LogoText: "宇恒一号", + NavLinks: []models.NavLink{{Label: "产品简介", URL: "#intro"}, {Label: "产品视频", URL: "#videos"}, {Label: "联系我们", URL: "#contact"}}, Title: "宇恒一号", - Subtitle: "INTERSTELLAR EXPLORER EDITION", - Description: "跨越星际的智能伙伴 · 探索无限可能
\n 引领您进入前所未有的数字宇宙", - DownloadText: "START EXPLORING", + Subtitle: "", + Description: "", + DownloadText: "下载", DownloadURL: "#", - Platforms: []models.PlatformItem{ - {Name: "WINDOWS", URL: "#"}, - {Name: "MACOS", URL: "#"}, - {Name: "LINUX", URL: "#"}, - {Name: "IOS", URL: "#"}, - {Name: "ANDROID", URL: "#"}, - }, - Version: "VERSION 3.2.1", - LaunchYear: "LAUNCH: 2024", - BadgeText: "FREE ACCESS", + Platforms: []models.PlatformItem{}, + Version: "", + LaunchYear: "发布日期:以官网为准", + BadgeText: "完全免费", + DownloadWindowsURL: "/promotion/downloads/yuheng-windows.zip", + DownloadAndroidURL: "/promotion/downloads/yuheng-android.apk", Features: []models.FeatureItem{ - {Title: "星际导航", Desc: "先进的AI导航系统,精准定位您的需求,引领探索之旅"}, + {Title: "星际导航", Desc: "先进的 AI 导航系统,精准定位您的需求,引领探索之旅"}, {Title: "量子同步", Desc: "跨维度数据同步技术,您的数据在多宇宙中保持一致"}, {Title: "星际防护", Desc: "来自未来的安全加密协议,守护您的数字资产安全"}, }, - FooterText: "© 2024 YUHENG ONE // STELLAR EXPLORATION INITIATIVE", + FooterText: "© 2024 宇恒一号 · 成都宇信达智能科技有限公司", } } diff --git a/server/models/site.go b/server/models/site.go index c2ce99b..338eecc 100644 --- a/server/models/site.go +++ b/server/models/site.go @@ -40,6 +40,9 @@ type HomepageData struct { BadgeText string `json:"badge_text"` // FREE ACCESS Features []FeatureItem `json:"features"` // 星际导航等 FooterText string `json:"footer_text"` // © 2024 YUHENG ONE + // 侧栏直链(与 web 首页 Home.vue 一致,同域静态路径) + DownloadWindowsURL string `json:"download_windows_url,omitempty"` + DownloadAndroidURL string `json:"download_android_url,omitempty"` // BodyBuilder 首页下方扩展区:与网页积木相同 JSON 字符串 {"version":1,"blocks":[...]},空则仅展示上方模板 BodyBuilder string `json:"body_builder,omitempty"` } diff --git a/web/promotion/downloads/.gitkeep b/web/promotion/downloads/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/web/src/views/Home.vue b/web/src/views/Home.vue index 4ed22a0..2e81e1f 100644 --- a/web/src/views/Home.vue +++ b/web/src/views/Home.vue @@ -7,9 +7,9 @@