From 1a9b0509d5f5a926a8d939b3b59d64f164bee42b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C2=A0panda7?= < csq6266@gmail.com> Date: Fri, 18 Jul 2025 00:15:40 +0800 Subject: [PATCH 1/7] feat: add animation effects to VbenModal component --- docs/src/components/common-ui/vben-modal.md | 10 ++++++ .../demos/vben-modal/animation-type/index.vue | 36 +++++++++++++++++++ .../ui-kit/popup-ui/src/modal/modal-api.ts | 1 + .../@core/ui-kit/popup-ui/src/modal/modal.ts | 5 +++ .../@core/ui-kit/popup-ui/src/modal/modal.vue | 2 ++ .../shadcn-ui/src/ui/dialog/DialogContent.vue | 15 ++++++-- 6 files changed, 67 insertions(+), 2 deletions(-) create mode 100644 docs/src/demos/vben-modal/animation-type/index.vue diff --git a/docs/src/components/common-ui/vben-modal.md b/docs/src/components/common-ui/vben-modal.md index 3c8200f90..fc714e279 100644 --- a/docs/src/components/common-ui/vben-modal.md +++ b/docs/src/components/common-ui/vben-modal.md @@ -56,6 +56,15 @@ Modal 内的内容一般业务中,会比较复杂,所以我们可以将 moda +## 动画类型 + +通过 `animationType` 属性可以控制弹窗的动画效果: + +- `slide`(默认):从顶部向下滑动进入/退出 +- `scale`:缩放淡入/淡出效果 + + + ::: info 注意 - `VbenModal` 组件对与参数的处理优先级是 `slot` > `props` > `state`(通过api更新的状态以及useVbenModal参数)。如果你已经传入了 `slot` 或者 `props`,那么 `setState` 将不会生效,这种情况下你可以通过 `slot` 或者 `props` 来更新状态。 @@ -112,6 +121,7 @@ const [Modal, modalApi] = useVbenModal({ | bordered | 是否显示border | `boolean` | `false` | | zIndex | 弹窗的ZIndex层级 | `number` | `1000` | | overlayBlur | 遮罩模糊度 | `number` | - | +| animationType | 动画类型 | `'slide' \| 'scale'` | `'slide'` | | submitting | 标记为提交中,锁定弹窗当前状态 | `boolean` | `false` | ::: info appendToMain diff --git a/docs/src/demos/vben-modal/animation-type/index.vue b/docs/src/demos/vben-modal/animation-type/index.vue new file mode 100644 index 000000000..79ba9d33a --- /dev/null +++ b/docs/src/demos/vben-modal/animation-type/index.vue @@ -0,0 +1,36 @@ + + + + + + 滑动动画 + 缩放动画 + + + + 这是使用滑动动画的弹窗,从顶部向下滑动进入。 + + + + 这是使用缩放动画的弹窗,以缩放淡入淡出的方式显示。 + + + diff --git a/packages/@core/ui-kit/popup-ui/src/modal/modal-api.ts b/packages/@core/ui-kit/popup-ui/src/modal/modal-api.ts index 27aa82162..18dc90c4a 100644 --- a/packages/@core/ui-kit/popup-ui/src/modal/modal-api.ts +++ b/packages/@core/ui-kit/popup-ui/src/modal/modal-api.ts @@ -59,6 +59,7 @@ export class ModalApi { showCancelButton: true, showConfirmButton: true, title: '', + animationType: 'slide', }; this.store = new Store( diff --git a/packages/@core/ui-kit/popup-ui/src/modal/modal.ts b/packages/@core/ui-kit/popup-ui/src/modal/modal.ts index 2dbab9e42..fa41344ee 100644 --- a/packages/@core/ui-kit/popup-ui/src/modal/modal.ts +++ b/packages/@core/ui-kit/popup-ui/src/modal/modal.ts @@ -5,6 +5,11 @@ import type { MaybePromise } from '@vben-core/typings'; import type { ModalApi } from './modal-api'; export interface ModalProps { + /** + * 动画类型 + * @default 'slide' + */ + animationType?: 'scale' | 'slide'; /** * 是否要挂载到内容区域 * @default false diff --git a/packages/@core/ui-kit/popup-ui/src/modal/modal.vue b/packages/@core/ui-kit/popup-ui/src/modal/modal.vue index b3fdf3fb4..c8a845552 100644 --- a/packages/@core/ui-kit/popup-ui/src/modal/modal.vue +++ b/packages/@core/ui-kit/popup-ui/src/modal/modal.vue @@ -94,6 +94,7 @@ const { submitting, title, titleTooltip, + animationType, zIndex, } = usePriorityValues(props, state); @@ -244,6 +245,7 @@ function handleClosed() { :modal="modal" :open="state?.isOpen" :show-close="closable" + :animation-type="animationType" :z-index="zIndex" :overlay-blur="overlayBlur" close-class="top-3" diff --git a/packages/@core/ui-kit/shadcn-ui/src/ui/dialog/DialogContent.vue b/packages/@core/ui-kit/shadcn-ui/src/ui/dialog/DialogContent.vue index 9f0789878..22ed845af 100644 --- a/packages/@core/ui-kit/shadcn-ui/src/ui/dialog/DialogContent.vue +++ b/packages/@core/ui-kit/shadcn-ui/src/ui/dialog/DialogContent.vue @@ -20,6 +20,7 @@ import DialogOverlay from './DialogOverlay.vue'; const props = withDefaults( defineProps< DialogContentProps & { + animationType?: 'scale' | 'slide'; appendTo?: HTMLElement | string; class?: ClassType; closeClass?: ClassType; @@ -31,7 +32,12 @@ const props = withDefaults( zIndex?: number; } >(), - { appendTo: 'body', closeDisabled: false, showClose: true }, + { + appendTo: 'body', + animationType: 'slide', + closeDisabled: false, + showClose: true, + }, ); const emits = defineEmits< DialogContentEmits & { close: []; closed: []; opened: [] } @@ -43,6 +49,7 @@ const delegatedProps = computed(() => { modal: _modal, open: _open, showClose: __, + animationType: ___, ...delegated } = props; @@ -100,7 +107,11 @@ defineExpose({ v-bind="forwarded" :class=" cn( - 'z-popup bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-top-[48%] w-full p-6 shadow-lg outline-none sm:rounded-xl', + 'z-popup bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 w-full p-6 shadow-lg outline-none sm:rounded-xl', + { + 'data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-top-[48%]': + animationType === 'slide', + }, props.class, ) " From 1575619d53f94b0fed98728da40538f75f7c8acb Mon Sep 17 00:00:00 2001 From: vben Date: Sat, 19 Jul 2025 22:19:50 +0800 Subject: [PATCH 2/7] chore: release v5.5.8 --- apps/web-antd/package.json | 2 +- apps/web-ele/package.json | 2 +- apps/web-naive/package.json | 2 +- docs/package.json | 2 +- .../commitlint-config/package.json | 2 +- .../stylelint-config/package.json | 2 +- internal/node-utils/package.json | 2 +- internal/tailwind-config/package.json | 2 +- internal/tsconfig/package.json | 2 +- internal/vite-config/package.json | 2 +- package.json | 2 +- packages/@core/base/design/package.json | 2 +- packages/@core/base/icons/package.json | 2 +- packages/@core/base/shared/package.json | 2 +- packages/@core/base/typings/package.json | 2 +- packages/@core/composables/package.json | 2 +- packages/@core/preferences/package.json | 2 +- packages/@core/ui-kit/form-ui/package.json | 2 +- packages/@core/ui-kit/layout-ui/package.json | 2 +- packages/@core/ui-kit/menu-ui/package.json | 2 +- packages/@core/ui-kit/shadcn-ui/package.json | 2 +- packages/@core/ui-kit/tabs-ui/package.json | 2 +- packages/constants/package.json | 2 +- packages/effects/access/package.json | 2 +- packages/effects/common-ui/package.json | 2 +- packages/effects/hooks/package.json | 2 +- packages/effects/layouts/package.json | 2 +- packages/effects/plugins/package.json | 2 +- packages/effects/request/package.json | 2 +- packages/icons/package.json | 2 +- packages/locales/package.json | 2 +- packages/preferences/package.json | 2 +- packages/stores/package.json | 2 +- packages/styles/package.json | 2 +- packages/types/package.json | 2 +- packages/utils/package.json | 2 +- playground/package.json | 2 +- pnpm-lock.yaml | 105 ++++++++++++++---- scripts/turbo-run/package.json | 2 +- scripts/vsh/package.json | 2 +- 40 files changed, 123 insertions(+), 60 deletions(-) diff --git a/apps/web-antd/package.json b/apps/web-antd/package.json index 6dcb91848..5b6cbeb3a 100644 --- a/apps/web-antd/package.json +++ b/apps/web-antd/package.json @@ -1,6 +1,6 @@ { "name": "@vben/web-antd", - "version": "5.5.7", + "version": "5.5.8", "homepage": "https://vben.pro", "bugs": "https://github.com/vbenjs/vue-vben-admin/issues", "repository": { diff --git a/apps/web-ele/package.json b/apps/web-ele/package.json index 386c36840..0e5aa1aae 100644 --- a/apps/web-ele/package.json +++ b/apps/web-ele/package.json @@ -1,6 +1,6 @@ { "name": "@vben/web-ele", - "version": "5.5.7", + "version": "5.5.8", "homepage": "https://vben.pro", "bugs": "https://github.com/vbenjs/vue-vben-admin/issues", "repository": { diff --git a/apps/web-naive/package.json b/apps/web-naive/package.json index b97ab64f7..515763b0e 100644 --- a/apps/web-naive/package.json +++ b/apps/web-naive/package.json @@ -1,6 +1,6 @@ { "name": "@vben/web-naive", - "version": "5.5.7", + "version": "5.5.8", "homepage": "https://vben.pro", "bugs": "https://github.com/vbenjs/vue-vben-admin/issues", "repository": { diff --git a/docs/package.json b/docs/package.json index f57dfc854..639ca07a4 100644 --- a/docs/package.json +++ b/docs/package.json @@ -1,6 +1,6 @@ { "name": "@vben/docs", - "version": "5.5.7", + "version": "5.5.8", "private": true, "scripts": { "build": "vitepress build", diff --git a/internal/lint-configs/commitlint-config/package.json b/internal/lint-configs/commitlint-config/package.json index a137f947b..16984c2f9 100644 --- a/internal/lint-configs/commitlint-config/package.json +++ b/internal/lint-configs/commitlint-config/package.json @@ -1,6 +1,6 @@ { "name": "@vben/commitlint-config", - "version": "5.5.7", + "version": "5.5.8", "private": true, "homepage": "https://github.com/vbenjs/vue-vben-admin", "bugs": "https://github.com/vbenjs/vue-vben-admin/issues", diff --git a/internal/lint-configs/stylelint-config/package.json b/internal/lint-configs/stylelint-config/package.json index 8e2a97c2c..00f9b1d18 100644 --- a/internal/lint-configs/stylelint-config/package.json +++ b/internal/lint-configs/stylelint-config/package.json @@ -1,6 +1,6 @@ { "name": "@vben/stylelint-config", - "version": "5.5.7", + "version": "5.5.8", "private": true, "homepage": "https://github.com/vbenjs/vue-vben-admin", "bugs": "https://github.com/vbenjs/vue-vben-admin/issues", diff --git a/internal/node-utils/package.json b/internal/node-utils/package.json index 8b8db7454..490df9e92 100644 --- a/internal/node-utils/package.json +++ b/internal/node-utils/package.json @@ -1,6 +1,6 @@ { "name": "@vben/node-utils", - "version": "5.5.7", + "version": "5.5.8", "private": true, "homepage": "https://github.com/vbenjs/vue-vben-admin", "bugs": "https://github.com/vbenjs/vue-vben-admin/issues", diff --git a/internal/tailwind-config/package.json b/internal/tailwind-config/package.json index 8506891b5..72c63819c 100644 --- a/internal/tailwind-config/package.json +++ b/internal/tailwind-config/package.json @@ -1,6 +1,6 @@ { "name": "@vben/tailwind-config", - "version": "5.5.7", + "version": "5.5.8", "private": true, "homepage": "https://github.com/vbenjs/vue-vben-admin", "bugs": "https://github.com/vbenjs/vue-vben-admin/issues", diff --git a/internal/tsconfig/package.json b/internal/tsconfig/package.json index 44ee3f1b0..74cfb915f 100644 --- a/internal/tsconfig/package.json +++ b/internal/tsconfig/package.json @@ -1,6 +1,6 @@ { "name": "@vben/tsconfig", - "version": "5.5.7", + "version": "5.5.8", "private": true, "homepage": "https://github.com/vbenjs/vue-vben-admin", "bugs": "https://github.com/vbenjs/vue-vben-admin/issues", diff --git a/internal/vite-config/package.json b/internal/vite-config/package.json index d7ba6a655..c37777f24 100644 --- a/internal/vite-config/package.json +++ b/internal/vite-config/package.json @@ -1,6 +1,6 @@ { "name": "@vben/vite-config", - "version": "5.5.6", + "version": "5.5.8", "private": true, "homepage": "https://github.com/vbenjs/vue-vben-admin", "bugs": "https://github.com/vbenjs/vue-vben-admin/issues", diff --git a/package.json b/package.json index 8b87dc385..487cff525 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "vben-admin-monorepo", - "version": "5.5.7", + "version": "5.5.8", "private": true, "keywords": [ "monorepo", diff --git a/packages/@core/base/design/package.json b/packages/@core/base/design/package.json index 33e924749..13d2fefcf 100644 --- a/packages/@core/base/design/package.json +++ b/packages/@core/base/design/package.json @@ -1,6 +1,6 @@ { "name": "@vben-core/design", - "version": "5.5.7", + "version": "5.5.8", "homepage": "https://github.com/vbenjs/vue-vben-admin", "bugs": "https://github.com/vbenjs/vue-vben-admin/issues", "repository": { diff --git a/packages/@core/base/icons/package.json b/packages/@core/base/icons/package.json index 9a349883c..1e6e5250c 100644 --- a/packages/@core/base/icons/package.json +++ b/packages/@core/base/icons/package.json @@ -1,6 +1,6 @@ { "name": "@vben-core/icons", - "version": "5.5.7", + "version": "5.5.8", "homepage": "https://github.com/vbenjs/vue-vben-admin", "bugs": "https://github.com/vbenjs/vue-vben-admin/issues", "repository": { diff --git a/packages/@core/base/shared/package.json b/packages/@core/base/shared/package.json index b02cc6e47..6599c54c5 100644 --- a/packages/@core/base/shared/package.json +++ b/packages/@core/base/shared/package.json @@ -1,6 +1,6 @@ { "name": "@vben-core/shared", - "version": "5.5.7", + "version": "5.5.8", "homepage": "https://github.com/vbenjs/vue-vben-admin", "bugs": "https://github.com/vbenjs/vue-vben-admin/issues", "repository": { diff --git a/packages/@core/base/typings/package.json b/packages/@core/base/typings/package.json index e2ab18701..e0e2c3727 100644 --- a/packages/@core/base/typings/package.json +++ b/packages/@core/base/typings/package.json @@ -1,6 +1,6 @@ { "name": "@vben-core/typings", - "version": "5.5.7", + "version": "5.5.8", "homepage": "https://github.com/vbenjs/vue-vben-admin", "bugs": "https://github.com/vbenjs/vue-vben-admin/issues", "repository": { diff --git a/packages/@core/composables/package.json b/packages/@core/composables/package.json index 08db5106f..39ca108f4 100644 --- a/packages/@core/composables/package.json +++ b/packages/@core/composables/package.json @@ -1,6 +1,6 @@ { "name": "@vben-core/composables", - "version": "5.5.7", + "version": "5.5.8", "homepage": "https://github.com/vbenjs/vue-vben-admin", "bugs": "https://github.com/vbenjs/vue-vben-admin/issues", "repository": { diff --git a/packages/@core/preferences/package.json b/packages/@core/preferences/package.json index 726b473db..786e6c2ce 100644 --- a/packages/@core/preferences/package.json +++ b/packages/@core/preferences/package.json @@ -1,6 +1,6 @@ { "name": "@vben-core/preferences", - "version": "5.5.7", + "version": "5.5.8", "homepage": "https://github.com/vbenjs/vue-vben-admin", "bugs": "https://github.com/vbenjs/vue-vben-admin/issues", "repository": { diff --git a/packages/@core/ui-kit/form-ui/package.json b/packages/@core/ui-kit/form-ui/package.json index 36ae1678f..497da77a9 100644 --- a/packages/@core/ui-kit/form-ui/package.json +++ b/packages/@core/ui-kit/form-ui/package.json @@ -1,6 +1,6 @@ { "name": "@vben-core/form-ui", - "version": "5.5.7", + "version": "5.5.8", "homepage": "https://github.com/vbenjs/vue-vben-admin", "bugs": "https://github.com/vbenjs/vue-vben-admin/issues", "repository": { diff --git a/packages/@core/ui-kit/layout-ui/package.json b/packages/@core/ui-kit/layout-ui/package.json index 57a462fe1..0cf9ff87a 100644 --- a/packages/@core/ui-kit/layout-ui/package.json +++ b/packages/@core/ui-kit/layout-ui/package.json @@ -1,6 +1,6 @@ { "name": "@vben-core/layout-ui", - "version": "5.5.7", + "version": "5.5.8", "homepage": "https://github.com/vbenjs/vue-vben-admin", "bugs": "https://github.com/vbenjs/vue-vben-admin/issues", "repository": { diff --git a/packages/@core/ui-kit/menu-ui/package.json b/packages/@core/ui-kit/menu-ui/package.json index 760d7646e..3f893168e 100644 --- a/packages/@core/ui-kit/menu-ui/package.json +++ b/packages/@core/ui-kit/menu-ui/package.json @@ -1,6 +1,6 @@ { "name": "@vben-core/menu-ui", - "version": "5.5.7", + "version": "5.5.8", "homepage": "https://github.com/vbenjs/vue-vben-admin", "bugs": "https://github.com/vbenjs/vue-vben-admin/issues", "repository": { diff --git a/packages/@core/ui-kit/shadcn-ui/package.json b/packages/@core/ui-kit/shadcn-ui/package.json index 11d2918f1..0525a303f 100644 --- a/packages/@core/ui-kit/shadcn-ui/package.json +++ b/packages/@core/ui-kit/shadcn-ui/package.json @@ -1,6 +1,6 @@ { "name": "@vben-core/shadcn-ui", - "version": "5.5.7", + "version": "5.5.8", "#main": "./dist/index.mjs", "#module": "./dist/index.mjs", "homepage": "https://github.com/vbenjs/vue-vben-admin", diff --git a/packages/@core/ui-kit/tabs-ui/package.json b/packages/@core/ui-kit/tabs-ui/package.json index bc84b4d6a..93c16e1e2 100644 --- a/packages/@core/ui-kit/tabs-ui/package.json +++ b/packages/@core/ui-kit/tabs-ui/package.json @@ -1,6 +1,6 @@ { "name": "@vben-core/tabs-ui", - "version": "5.5.7", + "version": "5.5.8", "homepage": "https://github.com/vbenjs/vue-vben-admin", "bugs": "https://github.com/vbenjs/vue-vben-admin/issues", "repository": { diff --git a/packages/constants/package.json b/packages/constants/package.json index c71e11847..2b098a2ae 100644 --- a/packages/constants/package.json +++ b/packages/constants/package.json @@ -1,6 +1,6 @@ { "name": "@vben/constants", - "version": "5.5.7", + "version": "5.5.8", "homepage": "https://github.com/vbenjs/vue-vben-admin", "bugs": "https://github.com/vbenjs/vue-vben-admin/issues", "repository": { diff --git a/packages/effects/access/package.json b/packages/effects/access/package.json index e4c39eb2a..f620d6dc2 100644 --- a/packages/effects/access/package.json +++ b/packages/effects/access/package.json @@ -1,6 +1,6 @@ { "name": "@vben/access", - "version": "5.5.7", + "version": "5.5.8", "homepage": "https://github.com/vbenjs/vue-vben-admin", "bugs": "https://github.com/vbenjs/vue-vben-admin/issues", "repository": { diff --git a/packages/effects/common-ui/package.json b/packages/effects/common-ui/package.json index fdd9e793f..2c32421b7 100644 --- a/packages/effects/common-ui/package.json +++ b/packages/effects/common-ui/package.json @@ -1,6 +1,6 @@ { "name": "@vben/common-ui", - "version": "5.5.7", + "version": "5.5.8", "homepage": "https://github.com/vbenjs/vue-vben-admin", "bugs": "https://github.com/vbenjs/vue-vben-admin/issues", "repository": { diff --git a/packages/effects/hooks/package.json b/packages/effects/hooks/package.json index 004f3c50e..b5bcc0a02 100644 --- a/packages/effects/hooks/package.json +++ b/packages/effects/hooks/package.json @@ -1,6 +1,6 @@ { "name": "@vben/hooks", - "version": "5.5.7", + "version": "5.5.8", "homepage": "https://github.com/vbenjs/vue-vben-admin", "bugs": "https://github.com/vbenjs/vue-vben-admin/issues", "repository": { diff --git a/packages/effects/layouts/package.json b/packages/effects/layouts/package.json index a8439a021..76c99faf4 100644 --- a/packages/effects/layouts/package.json +++ b/packages/effects/layouts/package.json @@ -1,6 +1,6 @@ { "name": "@vben/layouts", - "version": "5.5.7", + "version": "5.5.8", "homepage": "https://github.com/vbenjs/vue-vben-admin", "bugs": "https://github.com/vbenjs/vue-vben-admin/issues", "repository": { diff --git a/packages/effects/plugins/package.json b/packages/effects/plugins/package.json index 40c16c7d7..edbb72844 100644 --- a/packages/effects/plugins/package.json +++ b/packages/effects/plugins/package.json @@ -1,6 +1,6 @@ { "name": "@vben/plugins", - "version": "5.5.6", + "version": "5.5.8", "homepage": "https://github.com/vbenjs/vue-vben-admin", "bugs": "https://github.com/vbenjs/vue-vben-admin/issues", "repository": { diff --git a/packages/effects/request/package.json b/packages/effects/request/package.json index 527f6d904..5e6bb141f 100644 --- a/packages/effects/request/package.json +++ b/packages/effects/request/package.json @@ -1,6 +1,6 @@ { "name": "@vben/request", - "version": "5.5.7", + "version": "5.5.8", "homepage": "https://github.com/vbenjs/vue-vben-admin", "bugs": "https://github.com/vbenjs/vue-vben-admin/issues", "repository": { diff --git a/packages/icons/package.json b/packages/icons/package.json index 858383947..8ac80940e 100644 --- a/packages/icons/package.json +++ b/packages/icons/package.json @@ -1,6 +1,6 @@ { "name": "@vben/icons", - "version": "5.5.7", + "version": "5.5.8", "homepage": "https://github.com/vbenjs/vue-vben-admin", "bugs": "https://github.com/vbenjs/vue-vben-admin/issues", "repository": { diff --git a/packages/locales/package.json b/packages/locales/package.json index 5e92de548..281df25ab 100644 --- a/packages/locales/package.json +++ b/packages/locales/package.json @@ -1,6 +1,6 @@ { "name": "@vben/locales", - "version": "5.5.7", + "version": "5.5.8", "homepage": "https://github.com/vbenjs/vue-vben-admin", "bugs": "https://github.com/vbenjs/vue-vben-admin/issues", "repository": { diff --git a/packages/preferences/package.json b/packages/preferences/package.json index de276c726..e3334f332 100644 --- a/packages/preferences/package.json +++ b/packages/preferences/package.json @@ -1,6 +1,6 @@ { "name": "@vben/preferences", - "version": "5.5.7", + "version": "5.5.8", "homepage": "https://github.com/vbenjs/vue-vben-admin", "bugs": "https://github.com/vbenjs/vue-vben-admin/issues", "repository": { diff --git a/packages/stores/package.json b/packages/stores/package.json index c9860b59c..bb5796f49 100644 --- a/packages/stores/package.json +++ b/packages/stores/package.json @@ -1,6 +1,6 @@ { "name": "@vben/stores", - "version": "5.5.7", + "version": "5.5.8", "homepage": "https://github.com/vbenjs/vue-vben-admin", "bugs": "https://github.com/vbenjs/vue-vben-admin/issues", "repository": { diff --git a/packages/styles/package.json b/packages/styles/package.json index 127bd4d58..960842da8 100644 --- a/packages/styles/package.json +++ b/packages/styles/package.json @@ -1,6 +1,6 @@ { "name": "@vben/styles", - "version": "5.5.7", + "version": "5.5.8", "homepage": "https://github.com/vbenjs/vue-vben-admin", "bugs": "https://github.com/vbenjs/vue-vben-admin/issues", "repository": { diff --git a/packages/types/package.json b/packages/types/package.json index 2fa047d84..74a4b5475 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@vben/types", - "version": "5.5.7", + "version": "5.5.8", "homepage": "https://github.com/vbenjs/vue-vben-admin", "bugs": "https://github.com/vbenjs/vue-vben-admin/issues", "repository": { diff --git a/packages/utils/package.json b/packages/utils/package.json index 38a6ca199..447f3b6cf 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@vben/utils", - "version": "5.5.7", + "version": "5.5.8", "homepage": "https://github.com/vbenjs/vue-vben-admin", "bugs": "https://github.com/vbenjs/vue-vben-admin/issues", "repository": { diff --git a/playground/package.json b/playground/package.json index 8bfd17d51..c918f2de1 100644 --- a/playground/package.json +++ b/playground/package.json @@ -1,6 +1,6 @@ { "name": "@vben/playground", - "version": "5.5.7", + "version": "5.5.8", "homepage": "https://vben.pro", "bugs": "https://github.com/vbenjs/vue-vben-admin/issues", "repository": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4d9080759..fd21c952c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -508,11 +508,11 @@ catalogs: specifier: 2.2.10 version: 2.2.10 vxe-pc-ui: - specifier: ^4.6.42 - version: 4.6.42 + specifier: ^4.7.12 + version: 4.7.16 vxe-table: - specifier: ^4.13.51 - version: 4.13.51 + specifier: ^4.14.4 + version: 4.14.4 watermark-js-plus: specifier: ^1.6.2 version: 1.6.2 @@ -1713,10 +1713,10 @@ importers: version: 3.5.17(typescript@5.8.3) vxe-pc-ui: specifier: 'catalog:' - version: 4.6.42(vue@3.5.17(typescript@5.8.3)) + version: 4.7.16(vue@3.5.17(typescript@5.8.3)) vxe-table: specifier: 'catalog:' - version: 4.13.51(vue@3.5.17(typescript@5.8.3)) + version: 4.14.4(vue@3.5.17(typescript@5.8.3)) packages/effects/request: dependencies: @@ -5330,8 +5330,8 @@ packages: '@vueuse/shared@9.13.0': resolution: {integrity: sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==} - '@vxe-ui/core@4.1.5': - resolution: {integrity: sha512-IgRwVueejOGC5t+bVmBAUkoUplvp1R77pfYX6bb4fcLEPUdBGOdm4I0LCKTDWQ24Mj3Bki7wNpt3sdtEZEzdoA==} + '@vxe-ui/core@4.2.5': + resolution: {integrity: sha512-K/0ae1VoCaVHZTnV3rUFsQdkwCU6dKjbFVtf0bvVRCYG5v+KrKbvFBSkqdnGT7sDoeotPVjL/WjBbl64RpHs3w==} peerDependencies: vue: ^3.5.17 @@ -8136,6 +8136,41 @@ packages: cpu: [x64] os: [darwin] + lefthook-freebsd-arm64@1.11.14: + resolution: {integrity: sha512-oSdJKGGMohktFXC6faZCUt5afyHpDwWGIWAkHGgOXUVD/LiZDEn6U/8cQmKm1UAfBySuPTtfir0VeM04y6188g==} + cpu: [arm64] + os: [freebsd] + + lefthook-freebsd-x64@1.11.14: + resolution: {integrity: sha512-gZdMWZwOtIhIPK3GPYac7JhXrxF188gkw65i6O7CedS/meDlK2vjBv5BUVLeD/satv4+jibEdV0h4Qqu/xIh2A==} + cpu: [x64] + os: [freebsd] + + lefthook-linux-arm64@1.11.14: + resolution: {integrity: sha512-sZmqbTsGQFQw7gbfi9eIHFOxfcs66QfZYLRMh1DktODhyhRXB8RtI6KMeKCtPEGLhbK55/I4TprC8Qvj86UBgw==} + cpu: [arm64] + os: [linux] + + lefthook-linux-x64@1.11.14: + resolution: {integrity: sha512-c+to1BRzFe419SNXAR6YpCBP8EVWxvUxlON3Z+efzmrHhdlhm7LvEoJcN4RQE4Gc2rJQJNe87OjsEZQkc4uQLg==} + cpu: [x64] + os: [linux] + + lefthook-openbsd-arm64@1.11.14: + resolution: {integrity: sha512-fivG3D9G4ASRCTf3ecfz1WdnrHCW9pezaI8v1NVve8t6B2q0d0yeaje5dfhoAsAvwiFPRaMzka1Qaoyu8O8G9Q==} + cpu: [arm64] + os: [openbsd] + + lefthook-openbsd-x64@1.11.14: + resolution: {integrity: sha512-vikmG0jf7JVKR3be6Wk3l1jtEdedEqk1BTdsaHFX1bj0qk0azcqlZ819Wt/IoyIYDzQCHKowZ6DuXsRjT+RXWA==} + cpu: [x64] + os: [openbsd] + + lefthook-windows-arm64@1.11.14: + resolution: {integrity: sha512-5PoAJ9QKaqxJn1NWrhrhXpAROpl/dT7bGTo7VMj2ATO1cpRatbn6p+ssvc3tgeriFThowFb1D11Fg6OlFLi6UQ==} + cpu: [arm64] + os: [win32] + lefthook-windows-x64@1.11.14: resolution: {integrity: sha512-kBeOPR0Aj5hQGxoBBntgz5/e/xaH5Vnzlq9lJjHW8sf23qu/JVUGg6ceCoicyVWJi+ZOBliTa8KzwCu+mgyJjw==} cpu: [x64] @@ -11285,11 +11320,11 @@ packages: peerDependencies: vue: ^3.5.17 - vxe-pc-ui@4.6.42: - resolution: {integrity: sha512-grBaVbagoc5rbTq2jj1P/cWYP+sBo+VSXFRpNGYOe9Ka4EG9JP+LIa7h0lKfojDE5fGlPUYTkkYNe0fsQVDQ0g==} + vxe-pc-ui@4.7.16: + resolution: {integrity: sha512-t+E+x25FvRIax9HQJygO2wQA+2lxmNCkW4RY3m01c+bem4rs1FqM7UmxtUMBMM8OVH15mD42qwU4BtX7Ylf+EA==} - vxe-table@4.13.51: - resolution: {integrity: sha512-g7y/67EC43KfiSGmZU6xh9kzGIsNQlFzvX1Yl/qz8U3dcQ8oOcnnvymhkHY54teaqyTr6m6RyWkcMKe3RMP64g==} + vxe-table@4.14.4: + resolution: {integrity: sha512-h4KDw8DHZz037kNULSJD2lEiNifAtHNw5XvXSH0Ropk60WK5My1zj9Kb2rX+uU1oGfh75dmv71JzR6V2iWoSUw==} warning@4.0.3: resolution: {integrity: sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==} @@ -11467,8 +11502,8 @@ packages: xe-utils@3.7.4: resolution: {integrity: sha512-9yuCHLOU+og4OEkPWWtzrYk1Zt1hgN66U/NCJ0+vYJSx1MplBtoQRz8aEA+2RmCr3leLru98vQxNpw/vJsu/sg==} - xe-utils@3.7.5: - resolution: {integrity: sha512-wDjqnXw02EQxf2jqlE1nhvT9HP3PDVcyrol5whDJN/NOvnMyXIzcwEiPB/H2T3aq07f2QQXsSs4Z8g5L3BVH5A==} + xe-utils@3.7.8: + resolution: {integrity: sha512-V/k6B/ASYir6yLYhp62DnM17po9u1N9mou/rn4if5WoFCsAO49JpCiVpkDpwCv4zxGfWmhWgzmz4FytWF+pDVw==} xml-name-validator@4.0.0: resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} @@ -15500,11 +15535,11 @@ snapshots: - '@vue/composition-api' - vue - '@vxe-ui/core@4.1.5(vue@3.5.17(typescript@5.8.3))': + '@vxe-ui/core@4.2.5(vue@3.5.17(typescript@5.8.3))': dependencies: dom-zindex: 1.0.6 vue: 3.5.17(typescript@5.8.3) - xe-utils: 3.7.5 + xe-utils: 3.7.8 '@whatwg-node/disposablestack@0.0.6': dependencies: @@ -18583,6 +18618,27 @@ snapshots: lefthook-darwin-x64@1.11.14: optional: true + lefthook-freebsd-arm64@1.11.14: + optional: true + + lefthook-freebsd-x64@1.11.14: + optional: true + + lefthook-linux-arm64@1.11.14: + optional: true + + lefthook-linux-x64@1.11.14: + optional: true + + lefthook-openbsd-arm64@1.11.14: + optional: true + + lefthook-openbsd-x64@1.11.14: + optional: true + + lefthook-windows-arm64@1.11.14: + optional: true + lefthook-windows-x64@1.11.14: optional: true @@ -18590,6 +18646,13 @@ snapshots: optionalDependencies: lefthook-darwin-arm64: 1.11.14 lefthook-darwin-x64: 1.11.14 + lefthook-freebsd-arm64: 1.11.14 + lefthook-freebsd-x64: 1.11.14 + lefthook-linux-arm64: 1.11.14 + lefthook-linux-x64: 1.11.14 + lefthook-openbsd-arm64: 1.11.14 + lefthook-openbsd-x64: 1.11.14 + lefthook-windows-arm64: 1.11.14 lefthook-windows-x64: 1.11.14 less@4.3.0: @@ -22099,15 +22162,15 @@ snapshots: vooks: 0.2.12(vue@3.5.17(typescript@5.8.3)) vue: 3.5.17(typescript@5.8.3) - vxe-pc-ui@4.6.42(vue@3.5.17(typescript@5.8.3)): + vxe-pc-ui@4.7.16(vue@3.5.17(typescript@5.8.3)): dependencies: - '@vxe-ui/core': 4.1.5(vue@3.5.17(typescript@5.8.3)) + '@vxe-ui/core': 4.2.5(vue@3.5.17(typescript@5.8.3)) transitivePeerDependencies: - vue - vxe-table@4.13.51(vue@3.5.17(typescript@5.8.3)): + vxe-table@4.14.4(vue@3.5.17(typescript@5.8.3)): dependencies: - vxe-pc-ui: 4.6.42(vue@3.5.17(typescript@5.8.3)) + vxe-pc-ui: 4.7.16(vue@3.5.17(typescript@5.8.3)) transitivePeerDependencies: - vue @@ -22383,7 +22446,7 @@ snapshots: xe-utils@3.7.4: {} - xe-utils@3.7.5: {} + xe-utils@3.7.8: {} xml-name-validator@4.0.0: {} diff --git a/scripts/turbo-run/package.json b/scripts/turbo-run/package.json index 4639c873e..0a8841578 100644 --- a/scripts/turbo-run/package.json +++ b/scripts/turbo-run/package.json @@ -1,6 +1,6 @@ { "name": "@vben/turbo-run", - "version": "5.5.7", + "version": "5.5.8", "private": true, "license": "MIT", "type": "module", diff --git a/scripts/vsh/package.json b/scripts/vsh/package.json index a901e3c74..db4c55f6b 100644 --- a/scripts/vsh/package.json +++ b/scripts/vsh/package.json @@ -1,6 +1,6 @@ { "name": "@vben/vsh", - "version": "5.5.6", + "version": "5.5.8", "private": true, "license": "MIT", "type": "module", From fad0b49841f79800bb4a324cbab09c2d06c4c71d Mon Sep 17 00:00:00 2001 From: aonoa <32682251+aonoa@users.noreply.github.com> Date: Fri, 25 Jul 2025 21:35:57 +0800 Subject: [PATCH 3/7] fix: adding roles does not automatically refresh (#6548) * fix: adding roles does not automatically refresh * style: fix code style err --- playground/src/views/system/role/list.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/playground/src/views/system/role/list.vue b/playground/src/views/system/role/list.vue index f89228f67..4775c028e 100644 --- a/playground/src/views/system/role/list.vue +++ b/playground/src/views/system/role/list.vue @@ -151,7 +151,7 @@ function onCreate() { - + From 5b75e5e917c07c32b1ac663ff811f0ac51c5f338 Mon Sep 17 00:00:00 2001 From: ming4762 Date: Fri, 25 Jul 2025 21:45:45 +0800 Subject: [PATCH 4/7] perf: perf the control logic of `VbenModal` full screen and header (#6566) * resolve the issue of header=false and full screen button display but not operable --- packages/@core/ui-kit/popup-ui/src/modal/modal.vue | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/@core/ui-kit/popup-ui/src/modal/modal.vue b/packages/@core/ui-kit/popup-ui/src/modal/modal.vue index c8a845552..89184750c 100644 --- a/packages/@core/ui-kit/popup-ui/src/modal/modal.vue +++ b/packages/@core/ui-kit/popup-ui/src/modal/modal.vue @@ -98,9 +98,7 @@ const { zIndex, } = usePriorityValues(props, state); -const shouldFullscreen = computed( - () => (fullscreen.value && header.value) || isMobile.value, -); +const shouldFullscreen = computed(() => fullscreen.value || isMobile.value); const shouldDraggable = computed( () => draggable.value && !shouldFullscreen.value && header.value, From 06ffdf164a7c257d2706453bf0633a0e6e34881b Mon Sep 17 00:00:00 2001 From: zhongming4762 Date: Fri, 25 Jul 2025 22:02:55 +0800 Subject: [PATCH 5/7] feat: add dingding login --- .../src/utils/__tests__/resources.test.ts | 82 +++++++++++++ packages/@core/base/shared/src/utils/index.ts | 1 + .../@core/base/shared/src/utils/resources.ts | 21 ++++ .../src/ui/authentication/dingding-login.vue | 113 ++++++++++++++++++ .../ui/authentication/third-party-login.vue | 37 +++++- packages/effects/hooks/src/use-app-config.ts | 17 ++- packages/icons/src/iconify/index.ts | 2 + .../src/langs/en-US/authentication.json | 5 + .../src/langs/zh-CN/authentication.json | 5 + packages/types/global.d.ts | 10 ++ playground/.env.development | 4 + 11 files changed, 291 insertions(+), 6 deletions(-) create mode 100644 packages/@core/base/shared/src/utils/__tests__/resources.test.ts create mode 100644 packages/@core/base/shared/src/utils/resources.ts create mode 100644 packages/effects/common-ui/src/ui/authentication/dingding-login.vue diff --git a/packages/@core/base/shared/src/utils/__tests__/resources.test.ts b/packages/@core/base/shared/src/utils/__tests__/resources.test.ts new file mode 100644 index 000000000..f14ff896e --- /dev/null +++ b/packages/@core/base/shared/src/utils/__tests__/resources.test.ts @@ -0,0 +1,82 @@ +import { beforeEach, describe, expect, it } from 'vitest'; + +import { loadScript } from '../resources'; + +const testJsPath = + 'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js'; + +describe('loadScript', () => { + beforeEach(() => { + // 每个测试前清空 head,保证环境干净 + document.head.innerHTML = ''; + }); + + it('should resolve when the script loads successfully', async () => { + const promise = loadScript(testJsPath); + + // 此时脚本元素已被创建并插入 + const script = document.querySelector( + `script[src="${testJsPath}"]`, + ) as HTMLScriptElement; + expect(script).toBeTruthy(); + + // 模拟加载成功 + script.dispatchEvent(new Event('load')); + + // 等待 promise resolve + await expect(promise).resolves.toBeUndefined(); + }); + + it('should not insert duplicate script and resolve immediately if already loaded', async () => { + // 先手动插入一个相同 src 的 script + const existing = document.createElement('script'); + existing.src = 'bar.js'; + document.head.append(existing); + + // 再次调用 + const promise = loadScript('bar.js'); + + // 立即 resolve + await expect(promise).resolves.toBeUndefined(); + + // head 中只保留一个 + const scripts = document.head.querySelectorAll('script[src="bar.js"]'); + expect(scripts).toHaveLength(1); + }); + + it('should reject when the script fails to load', async () => { + const promise = loadScript('error.js'); + + const script = document.querySelector( + 'script[src="error.js"]', + ) as HTMLScriptElement; + expect(script).toBeTruthy(); + + // 模拟加载失败 + script.dispatchEvent(new Event('error')); + + await expect(promise).rejects.toThrow('Failed to load script: error.js'); + }); + + it('should handle multiple concurrent calls and only insert one script tag', async () => { + const p1 = loadScript(testJsPath); + const p2 = loadScript(testJsPath); + + const script = document.querySelector( + `script[src="${testJsPath}"]`, + ) as HTMLScriptElement; + expect(script).toBeTruthy(); + + // 触发一次 load,两个 promise 都应该 resolve + script.dispatchEvent(new Event('load')); + + await expect(p1).resolves.toBeUndefined(); + await expect(p2).resolves.toBeUndefined(); + + // 只插入一次 + const scripts = document.head.querySelectorAll( + `script[src="${testJsPath}"]`, + ); + expect(scripts).toHaveLength(1); + }); +}); diff --git a/packages/@core/base/shared/src/utils/index.ts b/packages/@core/base/shared/src/utils/index.ts index 925af1c12..c067c7316 100644 --- a/packages/@core/base/shared/src/utils/index.ts +++ b/packages/@core/base/shared/src/utils/index.ts @@ -7,6 +7,7 @@ export * from './inference'; export * from './letter'; export * from './merge'; export * from './nprogress'; +export * from './resources'; export * from './state-handler'; export * from './to'; export * from './tree'; diff --git a/packages/@core/base/shared/src/utils/resources.ts b/packages/@core/base/shared/src/utils/resources.ts new file mode 100644 index 000000000..c5afa7f10 --- /dev/null +++ b/packages/@core/base/shared/src/utils/resources.ts @@ -0,0 +1,21 @@ +/** + * 加载js文件 + * @param src js文件地址 + */ +function loadScript(src: string) { + return new Promise((resolve, reject) => { + if (document.querySelector(`script[src="${src}"]`)) { + // 如果已经加载过,直接 resolve + return resolve(); + } + const script = document.createElement('script'); + script.src = src; + script.addEventListener('load', () => resolve()); + script.addEventListener('error', () => + reject(new Error(`Failed to load script: ${src}`)), + ); + document.head.append(script); + }); +} + +export { loadScript }; diff --git a/packages/effects/common-ui/src/ui/authentication/dingding-login.vue b/packages/effects/common-ui/src/ui/authentication/dingding-login.vue new file mode 100644 index 000000000..4c63301ee --- /dev/null +++ b/packages/effects/common-ui/src/ui/authentication/dingding-login.vue @@ -0,0 +1,113 @@ + + + + + + + + + + + + + + diff --git a/packages/effects/common-ui/src/ui/authentication/third-party-login.vue b/packages/effects/common-ui/src/ui/authentication/third-party-login.vue index 16533f490..930638ecb 100644 --- a/packages/effects/common-ui/src/ui/authentication/third-party-login.vue +++ b/packages/effects/common-ui/src/ui/authentication/third-party-login.vue @@ -1,12 +1,19 @@ @@ -20,18 +27,40 @@ defineOptions({ - + - + - + - + + diff --git a/packages/effects/hooks/src/use-app-config.ts b/packages/effects/hooks/src/use-app-config.ts index 857ac7cb7..41f383cd2 100644 --- a/packages/effects/hooks/src/use-app-config.ts +++ b/packages/effects/hooks/src/use-app-config.ts @@ -15,9 +15,22 @@ export function useAppConfig( ? window._VBEN_ADMIN_PRO_APP_CONF_ : (env as VbenAdminProAppConfigRaw); - const { VITE_GLOB_API_URL } = config; + const { + VITE_GLOB_API_URL, + VITE_GLOB_AUTH_DINGDING_CORP_ID, + VITE_GLOB_AUTH_DINGDING_CLIENT_ID, + } = config; - return { + const applicationConfig: ApplicationConfig = { apiURL: VITE_GLOB_API_URL, + auth: {}, }; + if (VITE_GLOB_AUTH_DINGDING_CORP_ID && VITE_GLOB_AUTH_DINGDING_CLIENT_ID) { + applicationConfig.auth.dingding = { + clientId: VITE_GLOB_AUTH_DINGDING_CLIENT_ID, + corpId: VITE_GLOB_AUTH_DINGDING_CORP_ID, + }; + } + + return applicationConfig; } diff --git a/packages/icons/src/iconify/index.ts b/packages/icons/src/iconify/index.ts index a0985ac15..bec4d5a50 100644 --- a/packages/icons/src/iconify/index.ts +++ b/packages/icons/src/iconify/index.ts @@ -11,3 +11,5 @@ export const MdiGithub = createIconifyIcon('mdi:github'); export const MdiGoogle = createIconifyIcon('mdi:google'); export const MdiQqchat = createIconifyIcon('mdi:qqchat'); + +export const RiDingding = createIconifyIcon('ri:dingding-fill'); diff --git a/packages/locales/src/langs/en-US/authentication.json b/packages/locales/src/langs/en-US/authentication.json index f294cdd82..ec9b8ca7f 100644 --- a/packages/locales/src/langs/en-US/authentication.json +++ b/packages/locales/src/langs/en-US/authentication.json @@ -36,6 +36,11 @@ "qrcodeSubtitle": "Scan the QR code with your phone to login", "qrcodePrompt": "Click 'Confirm' after scanning to complete login", "qrcodeLogin": "QR Code Login", + "wechatLogin": "Wechat Login", + "qqLogin": "QQ Login", + "githubLogin": "Github Login", + "googleLogin": "Google Login", + "dingdingLogin": "Dingding Login", "codeSubtitle": "Enter your phone number to start managing your project", "code": "Security code", "codeTip": "Security code required {0} characters", diff --git a/packages/locales/src/langs/zh-CN/authentication.json b/packages/locales/src/langs/zh-CN/authentication.json index 147da6322..ee4a2ec85 100644 --- a/packages/locales/src/langs/zh-CN/authentication.json +++ b/packages/locales/src/langs/zh-CN/authentication.json @@ -36,6 +36,11 @@ "qrcodeSubtitle": "请用手机扫描二维码登录", "qrcodePrompt": "扫码后点击 '确认',即可完成登录", "qrcodeLogin": "扫码登录", + "wechatLogin": "微信登录", + "qqLogin": "QQ登录", + "githubLogin": "Github登录", + "googleLogin": "Google登录", + "dingdingLogin": "钉钉登录", "codeSubtitle": "请输入您的手机号码以开始管理您的项目", "code": "验证码", "codeTip": "请输入{0}位验证码", diff --git a/packages/types/global.d.ts b/packages/types/global.d.ts index 0c8f01983..5b3b3e91a 100644 --- a/packages/types/global.d.ts +++ b/packages/types/global.d.ts @@ -9,10 +9,20 @@ declare module 'vue-router' { export interface VbenAdminProAppConfigRaw { VITE_GLOB_API_URL: string; + VITE_GLOB_AUTH_DINGDING_CLIENT_ID: string; + VITE_GLOB_AUTH_DINGDING_CORP_ID: string; +} + +interface AuthConfig { + dingding?: { + clientId: string; + corpId: string; + }; } export interface ApplicationConfig { apiURL: string; + auth: AuthConfig; } declare global { diff --git a/playground/.env.development b/playground/.env.development index dcf361e73..0b1dc0571 100644 --- a/playground/.env.development +++ b/playground/.env.development @@ -14,3 +14,7 @@ VITE_DEVTOOLS=false # 是否注入全局loading VITE_INJECT_APP_LOADING=true + +# 钉钉登录配置 +VITE_GLOB_AUTH_DINGDING_CLIENT_ID=应用的clientId +VITE_GLOB_AUTH_DINGDING_CORP_ID=应用的corpId From cb3f96683f6eba9606df9e23e44de1494350f288 Mon Sep 17 00:00:00 2001 From: Jin Mao <50581550+jinmao88@users.noreply.github.com> Date: Mon, 28 Jul 2025 15:50:21 +0800 Subject: [PATCH 6/7] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=8F=8C=E5=88=97?= =?UTF-8?q?=E5=B8=83=E5=B1=80=E6=A8=A1=E5=BC=8F=E4=B8=8B=EF=BC=8C=E8=B7=AF?= =?UTF-8?q?=E7=94=B1=E4=B8=BAhideInMenu=E6=97=B6=EF=BC=8C=E7=A9=BA?= =?UTF-8?q?=E7=99=BD=E5=8F=B3=E5=88=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/effects/layouts/src/basic/layout.vue | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/packages/effects/layouts/src/basic/layout.vue b/packages/effects/layouts/src/basic/layout.vue index 0d110ce0e..2dd7d2f82 100644 --- a/packages/effects/layouts/src/basic/layout.vue +++ b/packages/effects/layouts/src/basic/layout.vue @@ -1,9 +1,11 @@
这是使用滑动动画的弹窗,从顶部向下滑动进入。
这是使用缩放动画的弹窗,以缩放淡入淡出的方式显示。