From 59fcac86c4fd53a5b293fab4e9f527064b49d872 Mon Sep 17 00:00:00 2001
From: xiaoming <1923740402@qq.com>
Date: Sat, 21 Oct 2023 15:00:44 +0800
Subject: [PATCH 1/9] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0`AnimateCss`?=
=?UTF-8?q?=E9=80=89=E6=8B=A9=E5=99=A8=E7=BB=84=E4=BB=B6`ReAnimateSelector?=
=?UTF-8?q?`=20(#764)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* feat: 添加`AnimateCss`选择器组件`ReAnimateSelector`
* chore: update
---
locales/en.yaml | 1 +
locales/zh-CN.yaml | 1 +
src/components/ReAnimateSelector/index.ts | 7 +
.../ReAnimateSelector/src/animate.ts | 114 ++++++++++++++++
.../ReAnimateSelector/src/index.vue | 127 ++++++++++++++++++
src/router/modules/components.ts | 9 ++
src/views/components/animatecss/index.vue | 32 +++++
7 files changed, 291 insertions(+)
create mode 100644 src/components/ReAnimateSelector/index.ts
create mode 100644 src/components/ReAnimateSelector/src/animate.ts
create mode 100644 src/components/ReAnimateSelector/src/index.vue
create mode 100644 src/views/components/animatecss/index.vue
diff --git a/locales/en.yaml b/locales/en.yaml
index cf9858c04..f4c8abcd1 100644
--- a/locales/en.yaml
+++ b/locales/en.yaml
@@ -46,6 +46,7 @@ menus:
hssplitPane: Split Pane
hsbutton: Button Components
hscropping: Picture Cropping
+ hsanimatecss: AnimateCss Selector
hscountTo: Digital Animation
hsselector: Selector Components
hsflowChart: Flow Chart
diff --git a/locales/zh-CN.yaml b/locales/zh-CN.yaml
index a04e3539e..27f836063 100644
--- a/locales/zh-CN.yaml
+++ b/locales/zh-CN.yaml
@@ -46,6 +46,7 @@ menus:
hssplitPane: 切割面板
hsbutton: 按钮组件
hscropping: 图片裁剪
+ hsanimatecss: AnimateCss选择器组件
hscountTo: 数字动画
hsselector: 选择器组件
hsflowChart: 流程图
diff --git a/src/components/ReAnimateSelector/index.ts b/src/components/ReAnimateSelector/index.ts
new file mode 100644
index 000000000..8b0293cd6
--- /dev/null
+++ b/src/components/ReAnimateSelector/index.ts
@@ -0,0 +1,7 @@
+import reAnimateSelector from "./src/index.vue";
+import { withInstall } from "@pureadmin/utils";
+
+/** [animate.css](https://animate.style/) 选择器组件 */
+export const ReAnimateSelector = withInstall(reAnimateSelector);
+
+export default ReAnimateSelector;
diff --git a/src/components/ReAnimateSelector/src/animate.ts b/src/components/ReAnimateSelector/src/animate.ts
new file mode 100644
index 000000000..2b0593c7f
--- /dev/null
+++ b/src/components/ReAnimateSelector/src/animate.ts
@@ -0,0 +1,114 @@
+export const animates = [
+ /* Attention seekers */
+ "bounce",
+ "flash",
+ "pulse",
+ "rubberBand",
+ "shakeX",
+ "headShake",
+ "swing",
+ "tada",
+ "wobble",
+ "jello",
+ "heartBeat",
+ /* Back entrances */
+ "backInDown",
+ "backInLeft",
+ "backInRight",
+ "backInUp",
+ /* Back exits */
+ "backOutDown",
+ "backOutLeft",
+ "backOutRight",
+ "backOutUp",
+ /* Bouncing entrances */
+ "bounceIn",
+ "bounceInDown",
+ "bounceInLeft",
+ "bounceInRight",
+ "bounceInUp",
+ /* Bouncing exits */
+ "bounceOut",
+ "bounceOutDown",
+ "bounceOutLeft",
+ "bounceOutRight",
+ "bounceOutUp",
+ /* Fading entrances */
+ "fadeIn",
+ "fadeInDown",
+ "fadeInDownBig",
+ "fadeInLeft",
+ "fadeInLeftBig",
+ "fadeInRight",
+ "fadeInRightBig",
+ "fadeInUp",
+ "fadeInUpBig",
+ "fadeInTopLeft",
+ "fadeInTopRight",
+ "fadeInBottomLeft",
+ "fadeInBottomRight",
+ /* Fading exits */
+ "fadeOut",
+ "fadeOutDown",
+ "fadeOutDownBig",
+ "fadeOutLeft",
+ "fadeOutLeftBig",
+ "fadeOutRight",
+ "fadeOutRightBig",
+ "fadeOutUp",
+ "fadeOutUpBig",
+ "fadeOutTopLeft",
+ "fadeOutTopRight",
+ "fadeOutBottomRight",
+ "fadeOutBottomLeft",
+ /* Flippers */
+ "flip",
+ "flipInX",
+ "flipInY",
+ "flipOutX",
+ "flipOutY",
+ /* Lightspeed */
+ "lightSpeedInRight",
+ "lightSpeedInLeft",
+ "lightSpeedOutRight",
+ "lightSpeedOutLeft",
+ /* Rotating entrances */
+ "rotateIn",
+ "rotateInDownLeft",
+ "rotateInDownRight",
+ "rotateInUpLeft",
+ "rotateInUpRight",
+ /* Rotating exits */
+ "rotateOut",
+ "rotateOutDownLeft",
+ "rotateOutDownRight",
+ "rotateOutUpLeft",
+ "rotateOutUpRight",
+ /* Specials */
+ "hinge",
+ "jackInTheBox",
+ "rollIn",
+ "rollOut",
+ /* Zooming entrances */
+ "zoomIn",
+ "zoomInDown",
+ "zoomInLeft",
+ "zoomInRight",
+ "zoomInUp",
+ /* Zooming exits */
+ "zoomOut",
+ "zoomOutDown",
+ "zoomOutLeft",
+ "zoomOutRight",
+ "zoomOutUp",
+ /* Sliding entrances */
+ "slideInDown",
+ "slideInLeft",
+ "slideInRight",
+ "slideInUp",
+ /* Sliding exits */
+ "slideOutDown",
+ "slideOutLeft",
+ "slideOutRight",
+ "slideOutUp"
+];
diff --git a/src/components/ReAnimateSelector/src/index.vue b/src/components/ReAnimateSelector/src/index.vue
new file mode 100644
index 000000000..e2f44053b
--- /dev/null
+++ b/src/components/ReAnimateSelector/src/index.vue
@@ -0,0 +1,127 @@
+
+
+
+
+
+
+
+
+ -
+
+ {{ animate }}
+
+
+
+
+
+
+
+
+
diff --git a/src/router/modules/components.ts b/src/router/modules/components.ts
index 8958d3c92..06f73bdeb 100644
--- a/src/router/modules/components.ts
+++ b/src/router/modules/components.ts
@@ -105,6 +105,15 @@ export default {
title: $t("menus.hscropping")
}
},
+ {
+ path: "/components/animatecss",
+ name: "AnimateCss",
+ component: () => import("@/views/components/animatecss/index.vue"),
+ meta: {
+ title: $t("menus.hsanimatecss"),
+ extraIcon: "IF-pure-iconfont-new svg"
+ }
+ },
{
path: "/components/countTo",
name: "CountTo",
diff --git a/src/views/components/animatecss/index.vue b/src/views/components/animatecss/index.vue
new file mode 100644
index 000000000..63a43919c
--- /dev/null
+++ b/src/views/components/animatecss/index.vue
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+
From af224dceeaf0a5fa3d33997b87fc1c1a4490578e Mon Sep 17 00:00:00 2001
From: xiaoxian521 <1923740402@qq.com>
Date: Sat, 21 Oct 2023 19:46:26 +0800
Subject: [PATCH 2/9] =?UTF-8?q?perf:=20=E4=BC=98=E5=8C=96=E5=88=86?=
=?UTF-8?q?=E6=AE=B5=E6=8E=A7=E5=88=B6=E5=99=A8=E7=BB=84=E4=BB=B6=EF=BC=8C?=
=?UTF-8?q?=E6=B7=BB=E5=8A=A0`v-model`=E6=94=AF=E6=8C=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/ReSegmented/src/index.tsx | 22 ++++++---
src/views/components/segmented/index.vue | 63 +++++++++---------------
2 files changed, 37 insertions(+), 48 deletions(-)
diff --git a/src/components/ReSegmented/src/index.tsx b/src/components/ReSegmented/src/index.tsx
index f7f5a6796..8378f4ad6 100644
--- a/src/components/ReSegmented/src/index.tsx
+++ b/src/components/ReSegmented/src/index.tsx
@@ -2,31 +2,33 @@ import "./index.css";
import {
h,
ref,
+ toRef,
watch,
nextTick,
defineComponent,
getCurrentInstance
} from "vue";
import type { OptionsType } from "./type";
-import { isFunction, useDark } from "@pureadmin/utils";
import { useRenderIcon } from "@/components/ReIcon/src/hooks";
+import { isFunction, isNumber, useDark } from "@pureadmin/utils";
const props = {
options: {
type: Array,
default: () => []
},
- /** 默认选中,按照第一个索引为 `0` 的模式 */
- defaultValue: {
- type: Number,
- default: 0
+ /** 默认选中,按照第一个索引为 `0` 的模式,可选(`modelValue`只有传`number`类型时才为响应式) */
+ modelValue: {
+ type: undefined,
+ require: false,
+ default: "0"
}
};
export default defineComponent({
name: "ReSegmented",
props,
- emits: ["change"],
+ emits: ["change", "update:modelValue"],
setup(props, { emit }) {
const width = ref(0);
const translateX = ref(0);
@@ -35,12 +37,16 @@ export default defineComponent({
const curMouseActive = ref(-1);
const segmentedItembg = ref("");
const instance = getCurrentInstance()!;
- const curIndex = ref(props.defaultValue);
+ const curIndex = isNumber(props.modelValue)
+ ? toRef(props, "modelValue")
+ : ref(0);
function handleChange({ option, index }, event: Event) {
if (option.disabled) return;
event.preventDefault();
- curIndex.value = index;
+ isNumber(props.modelValue)
+ ? emit("update:modelValue", index)
+ : (curIndex.value = index);
segmentedItembg.value = "";
emit("change", { index, option });
}
diff --git a/src/views/components/segmented/index.vue b/src/views/components/segmented/index.vue
index 63cff62e3..03f3cedbd 100644
--- a/src/views/components/segmented/index.vue
+++ b/src/views/components/segmented/index.vue
@@ -1,5 +1,5 @@
@@ -19,7 +19,7 @@ const { title } = useNav();
class="sidebar-logo-link"
:to="getTopMenu()?.path ?? '/'"
>
-
+
diff --git a/src/layout/hooks/useNav.ts b/src/layout/hooks/useNav.ts
index 626399119..6bd727c7a 100644
--- a/src/layout/hooks/useNav.ts
+++ b/src/layout/hooks/useNav.ts
@@ -124,6 +124,11 @@ export function useNav() {
return remainingPaths.includes(path);
}
+ /** 获取`logo` */
+ function getLogo() {
+ return new URL("/logo.svg", import.meta.url).href;
+ }
+
return {
title,
device,
@@ -139,6 +144,7 @@ export function useNav() {
menuSelect,
handleResize,
resolvePath,
+ getLogo,
isCollapse,
pureApp,
username,
diff --git a/src/views/components/animatecss/index.vue b/src/views/components/animatecss/index.vue
index 63a43919c..423a6cd37 100644
--- a/src/views/components/animatecss/index.vue
+++ b/src/views/components/animatecss/index.vue
@@ -8,7 +8,9 @@ defineOptions({
const icon = ref("");
-watch(icon, () => console.log("icon", icon.value));
+watch(icon, () => {
+ console.log("icon", icon.value);
+});
From a713d372dee9a7ca8bdd9330a62a4e932ae58f43 Mon Sep 17 00:00:00 2001
From: JarvisChao <38325453+JarvisChao@users.noreply.github.com>
Date: Sun, 22 Oct 2023 09:00:14 +0800
Subject: [PATCH 4/9] =?UTF-8?q?fix:=20=E6=8E=A5=E5=8F=A3`/refreshToken`?=
=?UTF-8?q?=E6=94=B9=E4=B8=BA`/refresh-token`=20(#765)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/utils/http/index.ts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/utils/http/index.ts b/src/utils/http/index.ts
index 5e26adfab..a8a07cc6b 100644
--- a/src/utils/http/index.ts
+++ b/src/utils/http/index.ts
@@ -73,7 +73,7 @@ class PureHttp {
return config;
}
/** 请求白名单,放置一些不需要token的接口(通过设置请求白名单,防止token过期后再请求造成的死循环问题) */
- const whiteList = ["/refreshToken", "/login"];
+ const whiteList = ["/refresh-token", "/login"];
return whiteList.find(url => url === config.url)
? config
: new Promise(resolve => {
From a9257d3085cd113815df6f929d02092b3375d171 Mon Sep 17 00:00:00 2001
From: xiaoxian521 <1923740402@qq.com>
Date: Sun, 22 Oct 2023 14:59:47 +0800
Subject: [PATCH 5/9] =?UTF-8?q?chore:=20=E5=8D=87=E7=BA=A7`@pureadmin/them?=
=?UTF-8?q?e`=EF=BC=8C=E5=B8=A6=E6=9D=A5=E4=BA=86=E6=9B=B4=E5=8F=8B?=
=?UTF-8?q?=E5=A5=BD=E7=9A=84`esm`=E6=94=AF=E6=8C=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
build/plugins.ts | 2 +-
package.json | 2 +-
pnpm-lock.yaml | 8 ++++----
3 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/build/plugins.ts b/build/plugins.ts
index 731e802a1..89bc49e25 100644
--- a/build/plugins.ts
+++ b/build/plugins.ts
@@ -8,7 +8,7 @@ import { viteMockServe } from "vite-plugin-mock";
import { configCompressPlugin } from "./compress";
import { visualizer } from "rollup-plugin-visualizer";
import removeConsole from "vite-plugin-remove-console";
-import themePreprocessorPlugin from "@pureadmin/theme";
+import { themePreprocessorPlugin } from "@pureadmin/theme";
import VueI18nPlugin from "@intlify/unplugin-vue-i18n/vite";
import { genScssMultipleScopeVars } from "../src/layout/theme";
diff --git a/package.json b/package.json
index 27a8a69f0..940d9ab84 100644
--- a/package.json
+++ b/package.json
@@ -109,7 +109,7 @@
"@iconify-icons/ri": "^1.2.10",
"@iconify/vue": "^4.1.1",
"@intlify/unplugin-vue-i18n": "^1.4.0",
- "@pureadmin/theme": "^3.1.0",
+ "@pureadmin/theme": "^3.2.0",
"@types/intro.js": "^5.1.2",
"@types/js-cookie": "^3.0.4",
"@types/mockjs": "^1.0.8",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 2e2521993..cf2ddfe56 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -13,7 +13,7 @@ specifiers:
'@logicflow/extension': ^1.2.16
'@pureadmin/descriptions': ^1.1.1
'@pureadmin/table': ^2.3.3
- '@pureadmin/theme': ^3.1.0
+ '@pureadmin/theme': ^3.2.0
'@pureadmin/utils': ^1.9.10
'@types/intro.js': ^5.1.2
'@types/js-cookie': ^3.0.4
@@ -183,7 +183,7 @@ devDependencies:
'@iconify-icons/ri': 1.2.10
'@iconify/vue': 4.1.1_vue@3.3.4
'@intlify/unplugin-vue-i18n': 1.4.0_vue-i18n@9.5.0
- '@pureadmin/theme': 3.1.0
+ '@pureadmin/theme': 3.2.0
'@types/intro.js': 5.1.2
'@types/js-cookie': 3.0.4
'@types/mockjs': 1.0.8
@@ -1654,8 +1654,8 @@ packages:
vue: 3.3.4
dev: false
- /@pureadmin/theme/3.1.0:
- resolution: {integrity: sha512-3kBbqB6Uua096w91w1SrGna0dM8AYO5HFk/HU8G0DsEaijgRrm+dYIJUrqbv+stLUxlYPNVXpDS/APZjF0cOAg==}
+ /@pureadmin/theme/3.2.0:
+ resolution: {integrity: sha512-SBlTvEl0rmfqTW/mOJUPftvZe4yF+38CJdlBOvVITpehzCytqlG5i8XKpcs8aAR9SVfhcrLVS5Q6xh7xDVQcJQ==}
dependencies:
'@zougt/some-loader-utils': 1.4.3
fs-extra: 11.1.1
From 2a3fa34eacf1d1cb2feaaaf361bd72bce012e216 Mon Sep 17 00:00:00 2001
From: xiaoxian521 <1923740402@qq.com>
Date: Sun, 22 Oct 2023 15:53:32 +0800
Subject: [PATCH 6/9] =?UTF-8?q?chore:=20=E4=BC=98=E5=8C=96`build/info.ts`?=
=?UTF-8?q?=E6=96=87=E4=BB=B6=E4=B8=AD=E7=9A=84=E4=B8=80=E4=BA=9B=E5=87=BD?=
=?UTF-8?q?=E6=95=B0=EF=BC=8C=E4=BD=BF=E5=85=B6=E5=8F=8B=E5=A5=BD=E6=94=AF?=
=?UTF-8?q?=E6=8C=81`esm`?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
build/info.ts | 7 ++++---
build/utils.ts | 34 ++++++++++++++++++++++++++++++++++
2 files changed, 38 insertions(+), 3 deletions(-)
create mode 100644 build/utils.ts
diff --git a/build/info.ts b/build/info.ts
index 7ef3f11f3..06006411d 100644
--- a/build/info.ts
+++ b/build/info.ts
@@ -1,8 +1,8 @@
import type { Plugin } from "vite";
+import picocolors from "picocolors";
import dayjs, { Dayjs } from "dayjs";
-import utils from "@pureadmin/utils";
+import { getPackageSize } from "./utils";
import duration from "dayjs/plugin/duration";
-import { green, blue, bold } from "picocolors";
dayjs.extend(duration);
export function viteBuildInfo(): Plugin {
@@ -10,6 +10,7 @@ export function viteBuildInfo(): Plugin {
let startTime: Dayjs;
let endTime: Dayjs;
let outDir: string;
+ const { green, blue, bold } = picocolors;
return {
name: "vite:buildInfo",
configResolved(resolvedConfig) {
@@ -33,7 +34,7 @@ export function viteBuildInfo(): Plugin {
closeBundle() {
if (config.command === "build") {
endTime = dayjs(new Date());
- utils.getPackageSize({
+ getPackageSize({
folder: outDir,
callback: (size: string) => {
console.log(
diff --git a/build/utils.ts b/build/utils.ts
new file mode 100644
index 000000000..2f11e0f15
--- /dev/null
+++ b/build/utils.ts
@@ -0,0 +1,34 @@
+import { readdir, stat } from "node:fs";
+import { sum, formatBytes } from "@pureadmin/utils";
+
+const fileListTotal: number[] = [];
+
+/**
+ * @description 获取指定文件夹中所有文件的总大小
+ */
+export const getPackageSize = options => {
+ const { folder = "dist", callback, format = true } = options;
+ readdir(folder, (err, files: string[]) => {
+ if (err) throw err;
+ let count = 0;
+ const checkEnd = () => {
+ ++count == files.length &&
+ callback(format ? formatBytes(sum(fileListTotal)) : sum(fileListTotal));
+ };
+ files.forEach((item: string) => {
+ stat(`${folder}/${item}`, async (err, stats) => {
+ if (err) throw err;
+ if (stats.isFile()) {
+ fileListTotal.push(stats.size);
+ checkEnd();
+ } else if (stats.isDirectory()) {
+ getPackageSize({
+ folder: `${folder}/${item}/`,
+ callback: checkEnd
+ });
+ }
+ });
+ });
+ files.length === 0 && callback(0);
+ });
+};
From e58d4fa764240428ba160dfa28eea5e68ba67ee5 Mon Sep 17 00:00:00 2001
From: xiaoxian521 <1923740402@qq.com>
Date: Tue, 24 Oct 2023 21:03:36 +0800
Subject: [PATCH 7/9] =?UTF-8?q?chore:=20=E5=8D=87=E7=BA=A7`swiper11`?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
package.json | 2 +-
pnpm-lock.yaml | 8 ++++----
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/package.json b/package.json
index 940d9ab84..478631269 100644
--- a/package.json
+++ b/package.json
@@ -82,7 +82,7 @@
"qs": "^6.11.2",
"responsive-storage": "^2.2.0",
"sortablejs": "^1.15.0",
- "swiper": "^10.3.1",
+ "swiper": "^11.0.0",
"typeit": "^8.7.1",
"v-contextmenu": "3.0.0",
"v3-infinite-loading": "^1.3.1",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index cf2ddfe56..352f8431a 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -88,7 +88,7 @@ specifiers:
stylelint-prettier: ^4.0.2
stylelint-scss: ^5.2.1
svgo: ^3.0.2
- swiper: ^10.3.1
+ swiper: ^11.0.0
tailwindcss: ^3.3.3
terser: ^5.21.0
typeit: ^8.7.1
@@ -156,7 +156,7 @@ dependencies:
qs: 6.11.2
responsive-storage: 2.2.0
sortablejs: 1.15.0
- swiper: 10.3.1
+ swiper: 11.0.0
typeit: 8.7.1
v-contextmenu: 3.0.0_vue@3.3.4
v3-infinite-loading: 1.3.1
@@ -8228,8 +8228,8 @@ packages:
picocolors: 1.0.0
dev: true
- /swiper/10.3.1:
- resolution: {integrity: sha512-24Wk3YUdZHxjc9faID97GTu6xnLNia+adMt6qMTZG/HgdSUt4fS0REsGUXJOgpTED0Amh/j+gRGQxsLayJUlBQ==}
+ /swiper/11.0.0:
+ resolution: {integrity: sha512-JHTJDUBVkG5L5bD+ZOw/6GkM0vArxV26b/EnciyCSgUPOa9MvAfVQLJJd+dJjo4dj5Yjp6zQaDYqOj+pF+lgzQ==}
engines: {node: '>= 4.7.0'}
dev: false
From a0c56e99b7d81f1397220ebda40b0f83fb778713 Mon Sep 17 00:00:00 2001
From: xiaoxian521 <1923740402@qq.com>
Date: Tue, 24 Oct 2023 21:08:29 +0800
Subject: [PATCH 8/9] =?UTF-8?q?chore:=20=E9=BB=98=E8=AE=A4=E9=9A=90?=
=?UTF-8?q?=E8=97=8F=E9=A1=B5=E8=84=9A?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
public/platform-config.json | 2 +-
src/layout/hooks/useLayout.ts | 2 +-
src/utils/responsive.ts | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/public/platform-config.json b/public/platform-config.json
index 6860406f9..c4ceff9d0 100644
--- a/public/platform-config.json
+++ b/public/platform-config.json
@@ -12,7 +12,7 @@
"Grey": false,
"Weak": false,
"HideTabs": false,
- "HideFooter": false,
+ "HideFooter": true,
"SidebarStatus": true,
"EpThemeColor": "#409EFF",
"ShowLogo": true,
diff --git a/src/layout/hooks/useLayout.ts b/src/layout/hooks/useLayout.ts
index 0e768cf8f..b022cafcf 100644
--- a/src/layout/hooks/useLayout.ts
+++ b/src/layout/hooks/useLayout.ts
@@ -36,7 +36,7 @@ export function useLayout() {
grey: $config?.Grey ?? false,
weak: $config?.Weak ?? false,
hideTabs: $config?.HideTabs ?? false,
- hideFooter: $config.HideFooter ?? false,
+ hideFooter: $config.HideFooter ?? true,
showLogo: $config?.ShowLogo ?? true,
showModel: $config?.ShowModel ?? "smart",
multiTagsCache: $config?.MultiTagsCache ?? false
diff --git a/src/utils/responsive.ts b/src/utils/responsive.ts
index b5c8f189b..503fb102b 100644
--- a/src/utils/responsive.ts
+++ b/src/utils/responsive.ts
@@ -24,7 +24,7 @@ export const injectResponsiveStorage = (app: App, config: PlatformConfigs) => {
grey: config.Grey ?? false,
weak: config.Weak ?? false,
hideTabs: config.HideTabs ?? false,
- hideFooter: config.HideFooter ?? false,
+ hideFooter: config.HideFooter ?? true,
showLogo: config.ShowLogo ?? true,
showModel: config.ShowModel ?? "smart",
multiTagsCache: config.MultiTagsCache ?? false
From 02c2e4fc4b09f01912ec24fea0608251ed034b5a Mon Sep 17 00:00:00 2001
From: xiaoxian521 <1923740402@qq.com>
Date: Mon, 30 Oct 2023 23:33:53 +0800
Subject: [PATCH 9/9] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E7=82=B9=E5=87=BB?=
=?UTF-8?q?`iframe`=E9=A1=B5=E9=9D=A2=E6=97=A0=E6=B3=95=E5=85=B3=E9=97=AD?=
=?UTF-8?q?=E5=8F=B3=E9=94=AE=E6=A0=87=E7=AD=BE=E9=A1=B5=E9=9D=A2=E6=9D=BF?=
=?UTF-8?q?=E4=BB=A5=E5=8F=8A=E5=8F=B3=E9=94=AE=E6=A0=87=E7=AD=BE=E9=A1=B5?=
=?UTF-8?q?=E9=9D=A2=E6=9D=BF=E8=A2=AB=E9=81=AE=E6=8C=A1=E7=9A=84=E9=97=AE?=
=?UTF-8?q?=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/layout/components/tag/index.vue | 9 ++++++++-
src/layout/frameView.vue | 1 -
src/layout/hooks/useTag.ts | 9 ---------
3 files changed, 8 insertions(+), 11 deletions(-)
diff --git a/src/layout/components/tag/index.vue b/src/layout/components/tag/index.vue
index 685b7e30a..adf775fcb 100644
--- a/src/layout/components/tag/index.vue
+++ b/src/layout/components/tag/index.vue
@@ -6,10 +6,10 @@ import { useTags } from "../../hooks/useTag";
import { routerArrays } from "@/layout/types";
import { handleAliveRoute, getTopMenu } from "@/router/utils";
import { useSettingStoreHook } from "@/store/modules/settings";
-import { useResizeObserver, useFullscreen } from "@vueuse/core";
import { isEqual, isAllEmpty, debounce } from "@pureadmin/utils";
import { useMultiTagsStoreHook } from "@/store/modules/multiTags";
import { ref, watch, unref, toRaw, nextTick, onBeforeUnmount } from "vue";
+import { useResizeObserver, useFullscreen, onClickOutside } from "@vueuse/core";
import ExitFullscreen from "@iconify-icons/ri/fullscreen-exit-fill";
import Fullscreen from "@iconify-icons/ri/fullscreen-fill";
@@ -49,6 +49,7 @@ const {
const tabDom = ref();
const containerDom = ref();
const scrollbarDom = ref();
+const contextmenuRef = ref();
const isShowArrow = ref(false);
const topPath = getTopMenu()?.path;
const { VITE_HIDE_HOME } = import.meta.env;
@@ -328,6 +329,7 @@ function handleCommand(command: any) {
/** 触发右键中菜单的点击事件 */
function selectTag(key, item) {
+ closeMenu();
onClickDrop(key, item, currentSelect.value);
}
@@ -462,6 +464,10 @@ function tagOnClick(item) {
// showMenuModel(item?.path, item?.query);
}
+onClickOutside(contextmenuRef, closeMenu, {
+ detectIframe: true
+});
+
watch(route, () => {
activeIndex.value = -1;
dynamicTagView();
@@ -558,6 +564,7 @@ onBeforeUnmount(() => {