feat(设置+门户): LOGO 文字配置(校/平台两级,pane 内维护)+ header 徽标旁显示;个人主题保存改 JSON 形态(LOGO文字与主题JSON化)
build / build (push) Successful in 1m27s

This commit is contained in:
chenxing
2026-10-09 10:35:25 +08:00
parent bdc8898b93
commit 2819f96dfd
5 changed files with 108 additions and 6 deletions
+7
View File
@@ -1,6 +1,7 @@
<template>
<header :class="headerClass">
<img v-if="!!logoUrl" :src="baseUrl + '/image/default-logo.png'" v-real-img="logoUrl" class="logo-box" alt="" />
<span v-if="logoText" class="logo-text">{{ logoText }}</span>
<ul class="operate-container fix">
<li v-if="isWidgetIconShow" :class="{ active: isWidgetShow }">
<div class="icon-box" v-wave @click="toggleWidgetShow">
@@ -265,6 +266,8 @@ const logoUrl = computed(() => {
const sysLogo = logoList.value.find(x => x.type == 0);
return sysLogo ? sysLogo.url : "";
});
/** LOGO 文字(平台/学校名称,2026-10-09):存 sch_settings.logo_text(级联读),与 LOGO 图独立 */
const logoText = ref("");
const isUserCardShow = ref(false),
isWallpaperShow = ref(false),
isLogoShow = ref(false),
@@ -561,6 +564,10 @@ async function onWallpaperSelect(item: any) {
async function loadLogoList() {
const list = await UserSettingApi.getLogoList();
logoList.value = list || [];
// LOGO 文字与图并行加载(失败静默——无文字仅显示图,不影响 header)
BaseApi.getSchLogoText()
.then(res => (logoText.value = res?.logoText || ""))
.catch(() => {});
}
async function logoSuccess(response: any, file: any, fileListt: any) {