feat(branding): default the site icons to assets/img/favicon.png

- Point the 浏览器图标 / 移动端图标 schema defaults (PHP + VUE) at
  assets/img/favicon.png instead of an empty media field.
- Fall back to the same PNG in Settings::favicon_url() when no custom
  favicon and no native site_icon are configured.
- Add Settings::mobile_icon_url() and emit apple-touch-icon from SEOHead;
  the 移动端图标 field previously had no consumer and never reached the page.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
kate522andClaude Opus 5 committed 2026-11-05 17:00:50 +08:00
1 parent b56b9bbe37
commit 3ce5bfc20c
5 files changed
+27 -8

No files matched your search

@@ -1,3 +1,8 @@
const themeRoot = typeof window !== 'undefined' && window.jioAdminData?.themeUri
? String(window.jioAdminData.themeUri).replace(/\/$/, '')
: ''
const defaultFavicon = themeRoot ? `${themeRoot}/assets/img/favicon.png` : ''
export const logoSchema = {
key: 'global.logo',
title: 'LOGO & 品牌',
@@ -6,8 +11,8 @@ export const logoSchema = {
defaults: {
site_logo: '',
site_logo_dark: '',
site_favicon: '',
site_icon: '',
site_favicon: defaultFavicon,
site_icon: defaultFavicon,
logo_width: 150,
logo_text: '',
},
@@ -28,8 +33,8 @@ export const logoSchema = {
title: '站点图标',
icon: 'fa fas fa-id-badge',
fields: [
{ key: 'site_favicon', label: '浏览器图标 (Favicon)', type: 'media', help: '建议 32x32 或 16x16 的 ICO/PNG 文件' },
{ key: 'site_icon', label: '移动端图标', type: 'media', help: '建议 192x192 的 PNG,用于移动端添加到桌面' },
{ key: 'site_favicon', label: '浏览器图标 (Favicon)', type: 'media', default: defaultFavicon, help: '建议 32x32 或 16x16 的 ICO/PNG 文件' },
{ key: 'site_icon', label: '移动端图标', type: 'media', default: defaultFavicon, help: '建议 192x192 的 PNG,用于移动端添加到桌面' },
],
},
],