From bb86cba6b18adc3591ff34e20d869d81ef48f532 Mon Sep 17 00:00:00 2001 From: zhuifenghero Date: Fri, 15 May 2026 17:08:05 +0000 Subject: [PATCH] Initial commit --- config/bookmarks.yaml | 49 ++++ config/custom.css | 28 ++ config/custom.js | 103 +++++++ config/docker.yaml | 10 + config/icons/manageio.png | Bin 0 -> 18990 bytes config/kubernetes.yaml | 2 + config/logs/homepage.log | 574 ++++++++++++++++++++++++++++++++++++++ config/proxmox.yaml | 5 + config/services.yaml | 71 +++++ config/settings.yaml | 25 ++ config/widgets.yaml | 15 + i18n | 1 + 12 files changed, 883 insertions(+) create mode 100644 config/bookmarks.yaml create mode 100644 config/custom.css create mode 100644 config/custom.js create mode 100644 config/docker.yaml create mode 100644 config/icons/manageio.png create mode 100644 config/kubernetes.yaml create mode 100644 config/logs/homepage.log create mode 100644 config/proxmox.yaml create mode 100644 config/services.yaml create mode 100644 config/settings.yaml create mode 100644 config/widgets.yaml create mode 160000 i18n diff --git a/config/bookmarks.yaml b/config/bookmarks.yaml new file mode 100644 index 0000000..9e7b48c --- /dev/null +++ b/config/bookmarks.yaml @@ -0,0 +1,49 @@ +--- +# For configuration options and examples, please see: +# https://gethomepage.dev/configs/bookmarks + +- 公司网站: + - OA: + - icon: mdi-briefcase-check # 修正图标名 + href: http://43.157.67.243/seeyon/main.do?method=index + - Netsuite: + - icon: mdi-cloud-check # 修正图标名 + href: https://7179497.app.netsuite.com/ + - 企业邮箱: + - icon: mdi-mailbox-up # 修正图标名 + href: https://qiye.aliyun.com/ + - 西部水泥官网: + - icon: mdi-factory + href: http://www.westchinacement.com/gb/ir/announcements_hk.htm + - 尧柏国际官网: + - icon: mdi-factory + href: http://www.westinternational.cn + +- 常用工具: + - Outlook 邮箱: + - icon: microsoft-outlook # 修正图标名 + href: https://outlook.live.com/ + - DeepL 翻译: + - icon: deepl + href: https://www.deepl.com/translator + - 汇率查询 (XE): + - icon: mdi-currency-usd + href: https://www.xe.com/currencyconverter/ + description: 全球即时汇率查询 + - AI 助手 (ChatGPT): + - icon: mdi-robot-variant + href: https://chatgpt.com + description: 智能文案与问题解决 +- 学习与探索: + - IFRS: + - icon: mdi-book-open-variant # 这是一个漂亮的地球图标 + href: https://www.ifrs.org/issued-standards/list-of-standards/ + - 维基百科: + - icon: wikipedia + href: https://zh.wikipedia.org/ + - YouTube: + - icon: youtube + href: https://youtube.com/ + - 哔哩哔哩: + - icon: bilibili + href: https://www.bilibili.com/ diff --git a/config/custom.css b/config/custom.css new file mode 100644 index 0000000..629a8b9 --- /dev/null +++ b/config/custom.css @@ -0,0 +1,28 @@ +#ai-chat { + width: 460px !important; + right: 20px !important; + left: auto !important; +} + +@media (max-width: 520px) { + #ai-chat { + width: calc(100vw - 16px) !important; + right: 8px !important; + left: 8px !important; + bottom: 12px !important; + height: 75vh !important; + max-height: 580px !important; + } + + #ai-chat a { + word-break: break-all !important; + } + + #ai-messages { + padding: 10px !important; + } + + #ai-input { + font-size: 16px !important; + } +} diff --git a/config/custom.js b/config/custom.js new file mode 100644 index 0000000..2535f7e --- /dev/null +++ b/config/custom.js @@ -0,0 +1,103 @@ +(function() { + var chatCreated = false; + + function createChat() { + if (chatCreated) return; + chatCreated = true; + + const chat = document.createElement('div'); + chat.id = 'ai-chat'; + chat.style.cssText = 'display:none;position:fixed;bottom:20px;right:20px;width:460px;height:640px;background:#1e2130;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,0.6);z-index:9999;flex-direction:column;overflow:hidden;border:1px solid #374151;'; + chat.innerHTML = '
🔍 YBIH 智能助手
👋 你好!请输入问题搜索知识库。
'; + document.body.appendChild(chat); + + document.getElementById('ai-chat-close').onclick = function() { chat.style.display = 'none'; }; + + async function sendMessage() { + const input = document.getElementById('ai-input'); + const q = input.value.trim(); + if (!q) return; + input.value = ''; + const messages = document.getElementById('ai-messages'); + + const userMsg = document.createElement('div'); + userMsg.style.cssText = 'background:#3b82f6;border-radius:12px 12px 4px 12px;padding:10px 14px;color:#fff;font-size:14px;align-self:flex-end;max-width:85%;word-break:break-all'; + userMsg.textContent = q; + messages.appendChild(userMsg); + + const aiMsg = document.createElement('div'); + aiMsg.style.cssText = 'background:#2d3250;border-radius:12px 12px 12px 4px;padding:14px;color:#e2e8f0;font-size:14px;max-width:100%'; + aiMsg.innerHTML = '⏳ 搜索中...'; + messages.appendChild(aiMsg); + messages.scrollTop = messages.scrollHeight; + + try { + const res = await fetch('/aisearch?q=' + encodeURIComponent(q)); + const data = await res.json(); + let html = ''; + if (data.sources && data.sources.length) { + const sorted = data.sources.slice().sort((a,b) => a.score - b.score); + html += '
📄 相关文章(相关度从低到高)
'; + for (const s of sorted) { + html += '
'+s.title+'
'+s.content+'
相关度 '+Math.round(s.score*100)+'%
'; + } + } + html += '
' + (data.answer||'') + '
'; + aiMsg.innerHTML = html; + } catch(err) { + aiMsg.innerHTML = '搜索失败: ' + err.message + ''; + } + messages.scrollTop = messages.scrollHeight; + } + + document.getElementById('ai-send').onclick = sendMessage; + document.getElementById('ai-input').addEventListener('keydown', function(e) { + if (e.key === 'Enter') sendMessage(); + }); + } + + // 在 document 级别捕获所有 keydown 事件 + document.addEventListener('keydown', function(e) { + if (e.key !== 'Enter') return; + const t = e.target; + if (!t || (t.tagName !== 'INPUT' && t.tagName !== 'TEXTAREA')) return; + // 判断是搜索框(不是 ai-input 自己) + if (t.id === 'ai-input') return; + + const q = t.value.trim(); + if (!q) return; + + e.preventDefault(); + e.stopImmediatePropagation(); + + createChat(); + t.value = ''; + + const chat = document.getElementById('ai-chat'); + chat.style.display = 'flex'; + chat.style.flexDirection = 'column'; + document.getElementById('ai-input').value = q; + document.getElementById('ai-send').click(); + }, true); + + // 同时拦截 form submit + document.addEventListener('submit', function(e) { + const input = e.target.querySelector('input'); + if (!input || input.id === 'ai-input') return; + const q = input.value.trim(); + if (!q) return; + + e.preventDefault(); + e.stopImmediatePropagation(); + + createChat(); + input.value = ''; + + const chat = document.getElementById('ai-chat'); + chat.style.display = 'flex'; + chat.style.flexDirection = 'column'; + document.getElementById('ai-input').value = q; + document.getElementById('ai-send').click(); + }, true); + +})(); diff --git a/config/docker.yaml b/config/docker.yaml new file mode 100644 index 0000000..2f4c4e3 --- /dev/null +++ b/config/docker.yaml @@ -0,0 +1,10 @@ +--- +# For configuration options and examples, please see: +# https://gethomepage.dev/configs/docker/ + +# my-docker: +# host: 127.0.0.1 +# port: 2375 + +# my-docker: +# socket: /var/run/docker.sock diff --git a/config/icons/manageio.png b/config/icons/manageio.png new file mode 100644 index 0000000000000000000000000000000000000000..45d173095b3570552e39e2e3c67948f7d246bbc3 GIT binary patch literal 18990 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 diff --git a/config/settings.yaml b/config/settings.yaml new file mode 100644 index 0000000..5840f6c --- /dev/null +++ b/config/settings.yaml @@ -0,0 +1,25 @@ +--- +# For configuration options and examples, please see: +# https://gethomepage.dev/configs/settings/ + +providers: + openweathermap: openweathermapapikey + weatherapi: weatherapiapikey +allowIframe: true +allowedHosts: www.yaobai.org +title: YBIH 业务管理中心 +headerStyle: boxed # 盒子样式,更正式 +theme: dark # 商务推荐深色,更有科技感 +layout: + - 核心业务: + style: columns + columns: 3 + - 知识管理: + style: rows + columns: 2 + +# 选用一个稳重的深蓝色或商务风格壁纸 +background: https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?q=80&w=2000 +backgroundOpacity: 0.8 +backgroundBrightness: 0.5 +customJS: custom.js diff --git a/config/widgets.yaml b/config/widgets.yaml new file mode 100644 index 0000000..caa42d0 --- /dev/null +++ b/config/widgets.yaml @@ -0,0 +1,15 @@ +--- +# For configuration options and examples, please see: +# https://gethomepage.dev/configs/info-widgets/ +- greeting: + text: YAOBAI INTERNATIONAL HOLDING LIMITED + help: true + +- datetime: + format: + dateStyle: long + timeStyle: short + locale: zh-CN +- search: + provider: google + target: _blank diff --git a/i18n b/i18n new file mode 160000 index 0000000..6a3bb54 --- /dev/null +++ b/i18n @@ -0,0 +1 @@ +Subproject commit 6a3bb544e9d81541c923458363391f57c585e973