😎1、更换轻量级国旗组件flag-icons 2、升级依赖
This commit is contained in:
parent
66ae6d9a00
commit
7dcbe3ce2a
@ -50,7 +50,7 @@
|
||||
<PackageReference Include="QRCoder" Version="1.6.0" />
|
||||
<PackageReference Include="RabbitMQ.Client" Version="7.1.2" />
|
||||
<PackageReference Include="SixLabors.ImageSharp.Web" Version="3.1.5" />
|
||||
<PackageReference Include="SKIT.FlurlHttpClient.Wechat.Api" Version="3.9.0" />
|
||||
<PackageReference Include="SKIT.FlurlHttpClient.Wechat.Api" Version="3.10.0" />
|
||||
<PackageReference Include="SKIT.FlurlHttpClient.Wechat.TenpayV3" Version="3.12.0" />
|
||||
<PackageReference Include="SqlSugarCore" Version="5.1.4.195" />
|
||||
<PackageReference Include="SSH.NET" Version="2025.0.0" />
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
"name": "admin.net.pro",
|
||||
"type": "module",
|
||||
"version": "2.4.33",
|
||||
"lastBuildTime": "2025.06.07",
|
||||
"lastBuildTime": "2025.06.08",
|
||||
"description": "Admin.NET 站在巨人肩膀上的 .NET 通用权限开发框架",
|
||||
"author": "zuohuaijun",
|
||||
"license": "MIT",
|
||||
@ -39,11 +39,11 @@
|
||||
"echarts": "^5.6.0",
|
||||
"echarts-gl": "^2.0.9",
|
||||
"echarts-wordcloud": "^2.1.0",
|
||||
"element-plus": "^2.10.0",
|
||||
"element-plus": "^2.10.1",
|
||||
"exceljs": "^4.4.0",
|
||||
"ezuikit-js": "^8.1.10",
|
||||
"flag-icons": "^7.5.0",
|
||||
"gcoord": "^1.0.7",
|
||||
"install": "^0.13.0",
|
||||
"js-cookie": "^3.0.5",
|
||||
"js-table2excel": "^1.1.2",
|
||||
"json-editor-vue": "^0.18.1",
|
||||
@ -78,7 +78,6 @@
|
||||
"vue-plugin-hiprint": "^0.0.60",
|
||||
"vue-router": "^4.5.1",
|
||||
"vue-signature-pad": "^3.0.2",
|
||||
"vue3-flag-icons": "^0.0.3",
|
||||
"vue3-tree-org": "^4.2.2",
|
||||
"vxe-pc-ui": "^4.6.17",
|
||||
"vxe-table": "^4.13.35",
|
||||
@ -104,7 +103,7 @@
|
||||
"less": "^4.3.0",
|
||||
"openapi-ts-request": "^1.5.0",
|
||||
"prettier": "^3.5.3",
|
||||
"rollup-plugin-visualizer": "^6.0.1",
|
||||
"rollup-plugin-visualizer": "^6.0.3",
|
||||
"sass": "^1.89.1",
|
||||
"terser": "^5.41.0",
|
||||
"typescript": "^5.8.3",
|
||||
|
||||
@ -2,8 +2,6 @@ import { createI18n } from 'vue-i18n';
|
||||
import pinia from '/@/stores/index';
|
||||
import { storeToRefs } from 'pinia';
|
||||
import { useThemeConfig } from '/@/stores/themeConfig';
|
||||
import type { CountryCode } from 'vue3-flag-icons';
|
||||
// 定义语言国际化内容
|
||||
|
||||
/**
|
||||
* 说明:
|
||||
@ -204,5 +202,5 @@ export const iso_3166_1_CountryList = {
|
||||
* @returns 国家代码
|
||||
*/
|
||||
export const getCountryCode = (locale: string) => {
|
||||
return iso_3166_1_CountryList[locale as keyof typeof iso_3166_1_CountryList] as CountryCode;
|
||||
return iso_3166_1_CountryList[locale as keyof typeof iso_3166_1_CountryList];
|
||||
};
|
||||
|
||||
@ -14,14 +14,14 @@
|
||||
</el-dropdown>
|
||||
<el-dropdown v-if="themeConfig.i18NSwitch" :show-timeout="70" :hide-timeout="50" trigger="click" @command="onLanguageChange">
|
||||
<div class="layout-navbars-breadcrumb-user-icon">
|
||||
<FlagIcon :code="currentCountryCode" square :size="12" :title="$t('message.user.title1')" />
|
||||
<span :class="`fi fi-${currentCountryCode}`"></span>
|
||||
</div>
|
||||
<template #dropdown>
|
||||
<el-dropdown-menu>
|
||||
<el-dropdown-item v-for="(value, key) in languageList" :key="key" :command="key" :disabled="state.disabledI18n === key">
|
||||
<div class="flex items-center">
|
||||
<div class="mr-2">
|
||||
<FlagIcon :code="getCountryCode(key)" :size="18" />
|
||||
<span :class="`fi fi-${getCountryCode(key)}`"></span>
|
||||
</div>
|
||||
<div style="margin-left: 10px">
|
||||
{{ value }}
|
||||
@ -99,27 +99,27 @@
|
||||
|
||||
<script setup lang="ts" name="layoutBreadcrumbUser">
|
||||
import { defineAsyncComponent, ref, computed, reactive, onMounted } from 'vue';
|
||||
import { useRouter } from 'vue-router';
|
||||
import { ElMessageBox, ElMessage, ElNotification } from 'element-plus';
|
||||
import { Avatar, CircleCloseFilled, Loading, Lock } from '@element-plus/icons-vue';
|
||||
import { useRouter } from 'vue-router';
|
||||
import screenfull from 'screenfull';
|
||||
import { useI18n } from 'vue-i18n';
|
||||
import { storeToRefs } from 'pinia';
|
||||
import { useUserInfo } from '/@/stores/userInfo';
|
||||
import { useThemeConfig } from '/@/stores/themeConfig';
|
||||
import { useRoutesList } from '/@/stores/routesList';
|
||||
import other from '/@/utils/other';
|
||||
import mittBus from '/@/utils/mitt';
|
||||
import { Local, Session } from '/@/utils/storage';
|
||||
import { decryptJWT } from '/@/utils/request';
|
||||
import Push from 'push.js';
|
||||
import { signalR } from '/@/views/system/onlineUser/signalR';
|
||||
import { Avatar, CircleCloseFilled, Loading, Lock } from '@element-plus/icons-vue';
|
||||
// 多语言
|
||||
import { languageList, getCountryCode } from '/@/i18n';
|
||||
import '/node_modules/flag-icons/css/flag-icons.min.css';
|
||||
|
||||
import { clearAccessTokens, getAPI } from '/@/utils/axios-utils';
|
||||
import { SysAuthApi, SysNoticeApi, SysUpgradeApi, SysUserApi } from '/@/api-services/api';
|
||||
import { languageList, getCountryCode } from '/@/i18n';
|
||||
import FlagIcon from 'vue3-flag-icons';
|
||||
import type { CountryCode } from 'vue3-flag-icons';
|
||||
import { useRoutesList } from '/@/stores/routesList';
|
||||
|
||||
// 引入组件
|
||||
const UserNews = defineAsyncComponent(() => import('/@/layout/navBars/topBar/userNews.vue'));
|
||||
@ -140,7 +140,7 @@ const searchRef = ref();
|
||||
const onlineUserRef = ref();
|
||||
const changePasswordRef = ref();
|
||||
const upgradeInfoRef = ref();
|
||||
const currentCountryCode = ref<CountryCode>(getCountryCode(themeConfig.value.globalI18n));
|
||||
const currentCountryCode = ref<string>(getCountryCode(themeConfig.value.globalI18n));
|
||||
const state = reactive({
|
||||
isScreenfull: false,
|
||||
disabledI18n: 'zh-cn',
|
||||
|
||||
@ -29,8 +29,6 @@ import sysDict from '/@/components/sysDict/sysDict.vue';
|
||||
|
||||
// 关闭自动打印
|
||||
import { disAutoConnect } from 'vue-plugin-hiprint';
|
||||
import 'vue3-flag-icons/styles';
|
||||
|
||||
disAutoConnect();
|
||||
|
||||
const app = createApp(App);
|
||||
|
||||
@ -51,14 +51,14 @@
|
||||
<div style="cursor: pointer">
|
||||
<el-dropdown @command="onLanguageChange">
|
||||
<div class="layout-navbars-breadcrumb-user-icon">
|
||||
<FlagIcon :code="currentCountryCode" :size="18" :title="$t('message.user.title1')" />
|
||||
<span :class="`fi fi-${currentCountryCode}`"></span>
|
||||
</div>
|
||||
<template #dropdown>
|
||||
<el-dropdown-menu>
|
||||
<el-dropdown-item v-for="(value, key) in languageList" :key="key" :command="key" :disabled="state.disabledI18n === key">
|
||||
<div class="flex items-center">
|
||||
<div class="mr-2">
|
||||
<FlagIcon :code="getCountryCode(key)" :size="18" />
|
||||
<span :class="`fi fi-${getCountryCode(key)}`"></span>
|
||||
</div>
|
||||
<div style="margin-left: 10px">
|
||||
{{ value }}
|
||||
@ -94,19 +94,18 @@ import { loadSysInfo } from '/@/utils/sysInfo';
|
||||
import { Local } from '/@/utils/storage';
|
||||
// 引入多语言
|
||||
import { languageList, getCountryCode } from '/@/i18n';
|
||||
import FlagIcon from 'vue3-flag-icons';
|
||||
import type { CountryCode } from 'vue3-flag-icons';
|
||||
const { locale } = useI18n();
|
||||
import '/node_modules/flag-icons/css/flag-icons.min.css';
|
||||
|
||||
// 引入组件
|
||||
const Account = defineAsyncComponent(() => import('/@/views/login/component/account.vue'));
|
||||
const Mobile = defineAsyncComponent(() => import('/@/views/login/component/mobile.vue'));
|
||||
const Scan = defineAsyncComponent(() => import('/@/views/login/component/scan.vue'));
|
||||
|
||||
const { locale } = useI18n();
|
||||
const route = useRoute();
|
||||
const storesThemeConfig = useThemeConfig();
|
||||
const { themeConfig } = storeToRefs(storesThemeConfig);
|
||||
const currentCountryCode = ref<CountryCode>(getCountryCode(themeConfig.value.globalI18n));
|
||||
const currentCountryCode = ref<string>(getCountryCode(themeConfig.value.globalI18n));
|
||||
const state = reactive({
|
||||
tabsActiveName: 'account',
|
||||
isScan: false,
|
||||
|
||||
Loading…
Reference in New Issue
Block a user