Browse Source

默认谷歌

master
hx 6 days ago
parent
commit
270751e76e
  1. 11
      src/layout/components/Navbar.vue
  2. 4
      src/utils/brand.js
  3. 36
      src/views/dashboard/index.vue
  4. 2
      src/views/system/user/components/ProfileSettingsCard.vue

11
src/layout/components/Navbar.vue

@ -31,7 +31,7 @@
<el-dropdown class="avatar-container right-menu-item hover-effect" trigger="hover">
<div class="avatar-wrapper">
<img :src="avatar" class="user-avatar">
<img :src="headerAvatar" class="user-avatar">
<span class="user-nickname"> {{ nickName }} </span>
</div>
<el-dropdown-menu slot="dropdown">
@ -62,7 +62,7 @@ import Search from '@/components/HeaderSearch'
import RuoYiGit from '@/components/RuoYi/Git'
import RuoYiDoc from '@/components/RuoYi/Doc'
import { getLanguage, setLanguage, languageOptions } from '@/utils/language'
import { getBrandedLoginPath } from '@/utils/brand'
import { getBrandedLoginPath, resolveBrandAsset } from '@/utils/brand'
export default {
emits: ['setLayout'],
@ -87,8 +87,13 @@ export default {
'avatar',
'device',
'nickName',
'brandBusinessNo'
'brandBusinessNo',
'brand'
]),
headerAvatar() {
const brandLogo = resolveBrandAsset(this.brand && this.brand.appLogoUrl)
return brandLogo || this.avatar
},
setting: {
get() {
return this.$store.state.settings.showSettings

4
src/utils/brand.js

@ -103,7 +103,9 @@ export function applyBrandFavicon(iconUrl) {
if (typeof document === "undefined") {
return;
}
const href = iconUrl ? resolveBrandAsset(iconUrl) : getDefaultFaviconHref();
const baseHref = iconUrl ? resolveBrandAsset(iconUrl) : getDefaultFaviconHref();
const version = Date.now();
const href = `${baseHref}${baseHref.includes("?") ? "&" : "?"}_v=${version}`;
let link = document.querySelector("link[rel*='icon']");
if (!link) {
link = document.createElement("link");

36
src/views/dashboard/index.vue

@ -67,11 +67,11 @@
<el-radio-button label="google">
{{ $t("dashboard.overview.provider.google") }}
</el-radio-button>
<el-radio-button label="amap" :disabled="!hasAmapKey">
<el-radio-button label="amap">
{{ $t("dashboard.overview.provider.amap") }}
</el-radio-button>
<el-radio-button label="maptiler" :disabled="!hasMaptilerKey">
<el-radio-button label="maptiler">
{{ $t("dashboard.overview.provider.maptiler") }}
</el-radio-button>
@ -86,13 +86,14 @@
:closable="false"
class="dashboard-map-panel__alert"
/>
<el-empty
v-if="!devicePoints.length && !loading"
:description="$t('dashboard.overview.map.empty')"
:image-size="84"
/>
<div class="dashboard-map-shell" v-loading="mapLoading" v-show="devicePoints.length">
<div class="dashboard-map-shell" v-loading="mapLoading">
<div ref="map" class="dashboard-map"></div>
<el-empty
v-if="!devicePoints.length && !loading"
:description="$t('dashboard.overview.map.empty')"
:image-size="84"
class="dashboard-map-empty-overlay"
/>
</div>
</div>
</div>
@ -254,7 +255,14 @@ export default {
this.$message.warning((error && error.message) || this.$t("dashboard.overview.message.mapConfigLoadFailed"));
}
},
async handleProviderChange() {
async handleProviderChange(provider) {
if (provider === "amap" && !this.hasAmapKey) {
this.$message.warning(this.$t("dashboard.overview.message.missingAmapKey"));
this.mapProvider = "google";
} else if (provider === "maptiler" && !this.hasMaptilerKey) {
this.$message.warning(this.$t("dashboard.overview.message.missingMaptilerKey"));
this.mapProvider = "google";
}
await this.initCurrentMap();
this.renderMapPoints();
},
@ -763,6 +771,16 @@ export default {
border: 1px solid #ebeef5;
}
.dashboard-map-empty-overlay {
position: absolute;
inset: 0;
z-index: 20;
pointer-events: none;
display: flex;
align-items: center;
justify-content: center;
}
:deep(.dashboard-map-popup) {
line-height: 1.8;
font-size: 12px;

2
src/views/system/user/components/ProfileSettingsCard.vue

@ -230,6 +230,8 @@ export default {
.then(() => {
this.$modal.msgSuccess(this.$t("profile.message.profileUpdated"));
this.loadProfile();
this.$store.dispatch("brand/loadCurrentBrand").catch(() => null);
this.$store.dispatch("GetInfo").catch(() => null);
})
.finally(() => {
this.profileSaving = false;

Loading…
Cancel
Save