😎1、更换轻量级国旗组件flag-icons 2、升级依赖

This commit is contained in:
zuohuaijun 2025-06-08 00:38:33 +08:00
parent 66ae6d9a00
commit 7dcbe3ce2a
6 changed files with 20 additions and 26 deletions

View File

@ -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" />

View File

@ -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",

View File

@ -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];
};

View File

@ -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',

View File

@ -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);

View File

@ -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,