|
|
@@ -3,7 +3,7 @@
|
|
|
<!-- 头部 -->
|
|
|
<div class="chat-header">
|
|
|
<div class="header-avatar">
|
|
|
- <img :src="brandLogoSrc" :alt="brandLogoAlt" class="header-logo">
|
|
|
+ <img :src="assetUrl('balogo.png')" :alt="brandLogoAlt" class="header-logo">
|
|
|
</div>
|
|
|
<div class="header-info">
|
|
|
<h1 class="header-title">{{ brandHeaderTitle }}</h1>
|
|
|
@@ -30,12 +30,12 @@
|
|
|
<div class="message-avatar" :class="message.type === 'user' ? 'avatar-user' : 'avatar-service'">
|
|
|
<img
|
|
|
v-if="message.type === 'user'"
|
|
|
- src="/emoonloge.png"
|
|
|
+ :src="assetUrl('emoonloge.png')"
|
|
|
alt="用户头像"
|
|
|
>
|
|
|
<img
|
|
|
v-else
|
|
|
- src="/lsxlz.jpg"
|
|
|
+ :src="assetUrl('lsxlz.jpg')"
|
|
|
alt="机器人头像"
|
|
|
>
|
|
|
</div>
|
|
|
@@ -54,7 +54,7 @@
|
|
|
<!-- 加载中 -->
|
|
|
<div v-if="isLoading" class="message message-ai loading-message">
|
|
|
<div class="message-avatar avatar-service">
|
|
|
- <img src="/lsxlz.jpg" alt="机器人头像">
|
|
|
+ <img :src="assetUrl('lsxlz.jpg')" alt="机器人头像">
|
|
|
</div>
|
|
|
<div class="message-content">
|
|
|
<div class="typing-indicator">
|
|
|
@@ -175,6 +175,7 @@ import {
|
|
|
requestStartNavigation,
|
|
|
requestStopNavigation
|
|
|
} from '../utils/robotNavBridge.js'
|
|
|
+import { publicAssetUrl } from '../utils/publicAssetUrl.js'
|
|
|
import DepartmentSelectionCard from './cards/DepartmentSelectionCard.vue'
|
|
|
import DoctorSelectionCard from './cards/DoctorSelectionCard.vue'
|
|
|
import AppointmentSuccessCard from './cards/AppointmentSuccessCard.vue'
|
|
|
@@ -201,8 +202,8 @@ export default {
|
|
|
TongueDiagnosisResultCard
|
|
|
},
|
|
|
setup () {
|
|
|
- /** 与后端 app.branding 同步;拉取失败时保持甘肃省中医院默认 */
|
|
|
- const brandLogoSrc = ref('/szlogo.png')
|
|
|
+ const assetUrl = publicAssetUrl
|
|
|
+ /** 与后端 app.branding 同步;顶部医院旁图标固定为 public/balogo.png,不由接口覆盖 */
|
|
|
const brandLogoAlt = ref('甘肃省中医院')
|
|
|
const brandHeaderTitle = ref('甘肃省中医院')
|
|
|
const brandHeaderSubtitle = ref('AI未来医院 · 统一智能体入口')
|
|
|
@@ -213,7 +214,6 @@ export default {
|
|
|
async function applyBranding () {
|
|
|
try {
|
|
|
const b = await chatApi.fetchBranding()
|
|
|
- if (b.logoPath) brandLogoSrc.value = b.logoPath
|
|
|
if (b.logoAlt) brandLogoAlt.value = b.logoAlt
|
|
|
if (b.headerTitle) brandHeaderTitle.value = b.headerTitle
|
|
|
if (b.headerSubtitle != null && String(b.headerSubtitle).trim() !== '') {
|
|
|
@@ -1142,7 +1142,7 @@ export default {
|
|
|
})
|
|
|
|
|
|
return {
|
|
|
- brandLogoSrc,
|
|
|
+ assetUrl,
|
|
|
brandLogoAlt,
|
|
|
brandHeaderTitle,
|
|
|
brandHeaderSubtitle,
|