Compare commits

..

3 Commits

Author SHA1 Message Date
Soybean
4749b411bd chore(projects): release v1.0.7 2024-04-25 23:25:17 +08:00
Soybean
fbd80c289a chore(deps): update deps 2024-04-25 23:24:42 +08:00
Soybean
da12d4a5cd feat(projects): support iframe page with diffrent url of custom route 2024-04-25 23:19:51 +08:00
21 changed files with 265 additions and 85 deletions

View File

@@ -1,6 +1,20 @@
# Changelog
## [v1.0.7](https://github.com/soybeanjs/soybean-admin/compare/v1.0.6...v1.0.7) (2024-04-25)
###    🚀 Features
- **projects**: support iframe page with diffrent url of custom route &nbsp;-&nbsp; by @honghuangdc [<samp>(da12d)</samp>](https://github.com/soybeanjs/soybean-admin/commit/da12d4a)
### &nbsp;&nbsp;&nbsp;🏡 Chore
- **deps**: update deps &nbsp;-&nbsp; by @honghuangdc [<samp>(fbd80)</samp>](https://github.com/soybeanjs/soybean-admin/commit/fbd80c2)
### &nbsp;&nbsp;&nbsp;❤️ Contributors
[![honghuangdc](https://github.com/honghuangdc.png?size=48)](https://github.com/honghuangdc)&nbsp;&nbsp;
## [v1.0.6](https://github.com/soybeanjs/soybean-admin/compare/v1.0.5...v1.0.6) (2024-04-25)
### &nbsp;&nbsp;&nbsp;🚀 Features

View File

@@ -9,7 +9,18 @@ export function setupElegantRouter() {
blank: 'src/layouts/blank-layout/index.vue'
},
customRoutes: {
names: ['exception_403', 'exception_404', 'exception_500']
names: [
'exception_403',
'exception_404',
'exception_500',
'document_project',
'document_project-link',
'document_vue',
'document_vite',
'document_unocss',
'document_naive',
'document_antd'
]
},
routePathTransformer(routeName, routePath) {
const key = routeName as RouteKey;

View File

@@ -7,7 +7,7 @@ export default defineConfig(
'vue/multi-word-component-names': [
'warn',
{
ignores: ['index', 'App', '[id]']
ignores: ['index', 'App', '[id]', '[url]']
}
],
'vue/component-name-in-template-casing': [

View File

@@ -1,7 +1,7 @@
{
"name": "soybean-admin",
"type": "module",
"version": "1.0.6",
"version": "1.0.7",
"description": "A fresh and elegant admin template, based on Vue3、Vite3、TypeScript、NaiveUI and UnoCSS. 一个基于Vue3、Vite3、TypeScript、NaiveUI and UnoCSS的清新优雅的中后台模版。",
"author": {
"name": "Soybean",
@@ -88,7 +88,7 @@
"lint-staged": "15.2.2",
"sass": "1.75.0",
"simple-git-hooks": "2.11.1",
"tsx": "4.7.2",
"tsx": "4.7.3",
"typescript": "5.4.5",
"unplugin-icons": "0.18.5",
"unplugin-vue-components": "0.26.0",

View File

@@ -1,6 +1,6 @@
{
"name": "@sa/axios",
"version": "1.0.6",
"version": "1.0.7",
"exports": {
".": "./src/index.ts"
},

View File

@@ -1,6 +1,6 @@
{
"name": "@sa/color-palette",
"version": "1.0.6",
"version": "1.0.7",
"exports": {
".": "./src/index.ts"
},

View File

@@ -1,6 +1,6 @@
{
"name": "@sa/hooks",
"version": "1.0.6",
"version": "1.0.7",
"exports": {
".": "./src/index.ts"
},

View File

@@ -1,6 +1,6 @@
{
"name": "@sa/materials",
"version": "1.0.6",
"version": "1.0.7",
"exports": {
".": "./src/index.ts"
},

View File

@@ -1,6 +1,6 @@
{
"name": "@sa/fetch",
"version": "1.0.6",
"version": "1.0.7",
"exports": {
".": "./src/index.ts"
},

View File

@@ -1,6 +1,6 @@
{
"name": "@sa/scripts",
"version": "1.0.6",
"version": "1.0.7",
"bin": {
"sa": "./bin.ts"
},
@@ -21,7 +21,7 @@
"enquirer": "2.4.1",
"execa": "8.0.1",
"kolorist": "1.8.0",
"npm-check-updates": "16.14.18",
"npm-check-updates": "16.14.19",
"rimraf": "5.0.5"
}
}

View File

@@ -1,6 +1,6 @@
{
"name": "@sa/uno-preset",
"version": "1.0.6",
"version": "1.0.7",
"exports": {
".": "./src/index.ts"
},

View File

@@ -1,6 +1,6 @@
{
"name": "@sa/utils",
"version": "1.0.6",
"version": "1.0.7",
"exports": {
".": "./src/index.ts"
},

97
pnpm-lock.yaml generated
View File

@@ -130,14 +130,14 @@ importers:
specifier: 2.11.1
version: 2.11.1
tsx:
specifier: 4.7.2
version: 4.7.2
specifier: 4.7.3
version: 4.7.3
typescript:
specifier: 5.4.5
version: 5.4.5
unplugin-icons:
specifier: 0.18.5
version: 0.18.5(@vue/compiler-sfc@3.4.24)(vue-template-compiler@2.7.16)
version: 0.18.5(@vue/compiler-sfc@3.4.25)(vue-template-compiler@2.7.16)
unplugin-vue-components:
specifier: 0.26.0
version: 0.26.0(@babel/parser@7.24.4)(rollup@4.16.4)(vue@3.4.25(typescript@5.4.5))
@@ -237,8 +237,8 @@ importers:
specifier: 1.8.0
version: 1.8.0
npm-check-updates:
specifier: 16.14.18
version: 16.14.18
specifier: 16.14.19
version: 16.14.19
rimraf:
specifier: 5.0.5
version: 5.0.5
@@ -879,8 +879,8 @@ packages:
resolution: {integrity: sha512-9hwoB3gStVfa0N31ymBmrX+GuDGdVA/QWShZVqE0HK2Af+7QGGrCTbZia/SW0ImUTjTne7SP91qxDmtXvDHRPQ==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
'@npmcli/installed-package-contents@2.0.2':
resolution: {integrity: sha512-xACzLPhnfD51GKvTOOuNX2/V4G4mz9/1I2MfDoye9kBM3RYe5g2YbscsaGoTlaWqkxeiapBWyseULVKpSVHtKQ==}
'@npmcli/installed-package-contents@2.1.0':
resolution: {integrity: sha512-c8UuGLeZpm69BryRykLuKRyKFZYJsZSCT4aVY5ds4omyZqJ172ApzgfKJ5eV/r3HgLdUYgFVe54KSFVjKoe27w==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
hasBin: true
@@ -1353,27 +1353,15 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
'@vue/compiler-core@3.4.24':
resolution: {integrity: sha512-vbW/tgbwJYj62N/Ww99x0zhFTkZDTcGh3uwJEuadZ/nF9/xuFMC4693P9r+3sxGXISABpDKvffY5ApH9pmdd1A==}
'@vue/compiler-core@3.4.25':
resolution: {integrity: sha512-Y2pLLopaElgWnMNolgG8w3C5nNUVev80L7hdQ5iIKPtMJvhVpG0zhnBG/g3UajJmZdvW0fktyZTotEHD1Srhbg==}
'@vue/compiler-dom@3.4.24':
resolution: {integrity: sha512-4XgABML/4cNndVsQndG6BbGN7+EoisDwi3oXNovqL/4jdNhwvP8/rfRMTb6FxkxIxUUtg6AI1/qZvwfSjxJiWA==}
'@vue/compiler-dom@3.4.25':
resolution: {integrity: sha512-Ugz5DusW57+HjllAugLci19NsDK+VyjGvmbB2TXaTcSlQxwL++2PETHx/+Qv6qFwNLzSt7HKepPe4DcTE3pBWg==}
'@vue/compiler-sfc@3.4.24':
resolution: {integrity: sha512-nRAlJUK02FTWfA2nuvNBAqsDZuERGFgxZ8sGH62XgFSvMxO2URblzulExsmj4gFZ8e+VAyDooU9oAoXfEDNxTA==}
'@vue/compiler-sfc@3.4.25':
resolution: {integrity: sha512-m7rryuqzIoQpOBZ18wKyq05IwL6qEpZxFZfRxlNYuIPDqywrXQxgUwLXIvoU72gs6cRdY6wHD0WVZIFE4OEaAQ==}
'@vue/compiler-ssr@3.4.24':
resolution: {integrity: sha512-ZsAtr4fhaUFnVcDqwW3bYCSDwq+9Gk69q2r/7dAHDrOMw41kylaMgOP4zRnn6GIEJkQznKgrMOGPMFnLB52RbQ==}
'@vue/compiler-ssr@3.4.25':
resolution: {integrity: sha512-H2ohvM/Pf6LelGxDBnfbbXFPyM4NE3hrw0e/EpwuSiYu8c819wx+SVGdJ65p/sFrYDd6OnSDxN1MB2mN07hRSQ==}
@@ -1413,9 +1401,6 @@ packages:
peerDependencies:
vue: 3.4.25
'@vue/shared@3.4.24':
resolution: {integrity: sha512-BW4tajrJBM9AGAknnyEw5tO2xTmnqgup0VTnDAMcxYmqOX0RG0b9aSUGAbEKolD91tdwpA6oCwbltoJoNzpItw==}
'@vue/shared@3.4.25':
resolution: {integrity: sha512-k0yappJ77g2+KNrIaF0FFnzwLvUBLUYr8VOwz+/6vLsmItFp51AcxLL7Ey3iPd7BIRyWPOcqUjMnm7OkahXllA==}
@@ -2086,8 +2071,8 @@ packages:
echarts@5.5.0:
resolution: {integrity: sha512-rNYnNCzqDAPCr4m/fqyUFv7fD9qIsd50S6GDFgO1DxZhncCsNsG7IfUlAlvZe5oSEQxtsjnHiUuppzccry93Xw==}
electron-to-chromium@1.4.747:
resolution: {integrity: sha512-+FnSWZIAvFHbsNVmUxhEqWiaOiPMcfum1GQzlWCg/wLigVtshOsjXHyEFfmt6cFK6+HkS3QOJBv6/3OPumbBfw==}
electron-to-chromium@1.4.748:
resolution: {integrity: sha512-VWqjOlPZn70UZ8FTKUOkUvBLeTQ0xpty66qV0yJcAGY2/CthI4xyW9aEozRVtuwv3Kpf5xTesmJUcPwuJmgP4A==}
emoji-regex@10.3.0:
resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==}
@@ -3480,8 +3465,8 @@ packages:
resolution: {integrity: sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
npm-check-updates@16.14.18:
resolution: {integrity: sha512-9iaRe9ohx9ykdbLjPRIYcq1A0RkrPYUx9HmQK1JIXhfxtJCNE/+497H9Z4PGH6GWRALbz5KF+1iZoySK2uSEpQ==}
npm-check-updates@16.14.19:
resolution: {integrity: sha512-8qnqHXM4Tr+oNOiQc+9vXtO+wiHlqtxWcg6ZhBtiVtbLgxKc36RJovXVox9ZNvxLzipNXw/mcx2KXSGHxDy5bA==}
engines: {node: '>=14.14'}
hasBin: true
@@ -4391,8 +4376,8 @@ packages:
tslib@2.6.2:
resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
tsx@4.7.2:
resolution: {integrity: sha512-BCNd4kz6fz12fyrgCTEdZHGJ9fWTGeUzXmQysh0RVocDY3h4frk05ZNCXSy4kIenF7y/QnrdiVpTsyNRn6vlAw==}
tsx@4.7.3:
resolution: {integrity: sha512-+fQnMqIp/jxZEXLcj6WzYy9FhcS5/Dfk8y4AtzJ6ejKcKqmfTF8Gso/jtrzDggCF2zTU20gJa6n8XqPYwDAUYQ==}
engines: {node: '>=18.0.0'}
hasBin: true
@@ -5389,7 +5374,7 @@ snapshots:
transitivePeerDependencies:
- bluebird
'@npmcli/installed-package-contents@2.0.2':
'@npmcli/installed-package-contents@2.1.0':
dependencies:
npm-bundled: 3.0.0
npm-normalize-package-bin: 3.0.1
@@ -5920,15 +5905,7 @@ snapshots:
'@babel/helper-module-imports': 7.22.15
'@babel/helper-plugin-utils': 7.24.0
'@babel/parser': 7.24.4
'@vue/compiler-sfc': 3.4.24
'@vue/compiler-core@3.4.24':
dependencies:
'@babel/parser': 7.24.4
'@vue/shared': 3.4.24
entities: 4.5.0
estree-walker: 2.0.2
source-map-js: 1.2.0
'@vue/compiler-sfc': 3.4.25
'@vue/compiler-core@3.4.25':
dependencies:
@@ -5938,28 +5915,11 @@ snapshots:
estree-walker: 2.0.2
source-map-js: 1.2.0
'@vue/compiler-dom@3.4.24':
dependencies:
'@vue/compiler-core': 3.4.24
'@vue/shared': 3.4.24
'@vue/compiler-dom@3.4.25':
dependencies:
'@vue/compiler-core': 3.4.25
'@vue/shared': 3.4.25
'@vue/compiler-sfc@3.4.24':
dependencies:
'@babel/parser': 7.24.4
'@vue/compiler-core': 3.4.24
'@vue/compiler-dom': 3.4.24
'@vue/compiler-ssr': 3.4.24
'@vue/shared': 3.4.24
estree-walker: 2.0.2
magic-string: 0.30.10
postcss: 8.4.38
source-map-js: 1.2.0
'@vue/compiler-sfc@3.4.25':
dependencies:
'@babel/parser': 7.24.4
@@ -5972,11 +5932,6 @@ snapshots:
postcss: 8.4.38
source-map-js: 1.2.0
'@vue/compiler-ssr@3.4.24':
dependencies:
'@vue/compiler-dom': 3.4.24
'@vue/shared': 3.4.24
'@vue/compiler-ssr@3.4.25':
dependencies:
'@vue/compiler-dom': 3.4.25
@@ -6012,8 +5967,8 @@ snapshots:
'@vue/language-core@2.0.14(typescript@5.4.5)':
dependencies:
'@volar/language-core': 2.2.0-alpha.10
'@vue/compiler-dom': 3.4.24
'@vue/shared': 3.4.24
'@vue/compiler-dom': 3.4.25
'@vue/shared': 3.4.25
computeds: 0.0.1
minimatch: 9.0.4
path-browserify: 1.0.1
@@ -6042,8 +5997,6 @@ snapshots:
'@vue/shared': 3.4.25
vue: 3.4.25(typescript@5.4.5)
'@vue/shared@3.4.24': {}
'@vue/shared@3.4.25': {}
'@vueuse/core@10.9.0(vue@3.4.25(typescript@5.4.5))':
@@ -6262,7 +6215,7 @@ snapshots:
browserslist@4.23.0:
dependencies:
caniuse-lite: 1.0.30001612
electron-to-chromium: 1.4.747
electron-to-chromium: 1.4.748
node-releases: 2.0.14
update-browserslist-db: 1.0.13(browserslist@4.23.0)
@@ -6780,7 +6733,7 @@ snapshots:
tslib: 2.3.0
zrender: 5.5.0
electron-to-chromium@1.4.747: {}
electron-to-chromium@1.4.748: {}
emoji-regex@10.3.0: {}
@@ -8441,7 +8394,7 @@ snapshots:
dependencies:
npm-normalize-package-bin: 3.0.1
npm-check-updates@16.14.18:
npm-check-updates@16.14.19:
dependencies:
'@types/semver-utils': 1.1.3
chalk: 5.3.0
@@ -8647,7 +8600,7 @@ snapshots:
pacote@15.2.0:
dependencies:
'@npmcli/git': 4.1.0
'@npmcli/installed-package-contents': 2.0.2
'@npmcli/installed-package-contents': 2.1.0
'@npmcli/promise-spawn': 6.0.2
'@npmcli/run-script': 6.0.2
cacache: 17.1.4
@@ -9459,7 +9412,7 @@ snapshots:
tslib@2.6.2: {}
tsx@4.7.2:
tsx@4.7.3:
dependencies:
esbuild: 0.19.12
get-tsconfig: 4.7.3
@@ -9603,7 +9556,7 @@ snapshots:
universalify@2.0.1: {}
unplugin-icons@0.18.5(@vue/compiler-sfc@3.4.24)(vue-template-compiler@2.7.16):
unplugin-icons@0.18.5(@vue/compiler-sfc@3.4.25)(vue-template-compiler@2.7.16):
dependencies:
'@antfu/install-pkg': 0.3.2
'@antfu/utils': 0.7.7
@@ -9613,7 +9566,7 @@ snapshots:
local-pkg: 0.5.0
unplugin: 1.10.1
optionalDependencies:
'@vue/compiler-sfc': 3.4.24
'@vue/compiler-sfc': 3.4.25
vue-template-compiler: 2.7.16
transitivePeerDependencies:
- supports-color
@@ -9780,7 +9733,7 @@ snapshots:
'@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.4)
'@babel/plugin-transform-typescript': 7.24.4(@babel/core@7.24.4)
'@vue/babel-plugin-jsx': 1.2.2(@babel/core@7.24.4)
'@vue/compiler-dom': 3.4.24
'@vue/compiler-dom': 3.4.25
kolorist: 1.8.0
magic-string: 0.30.10
vite: 5.2.10(@types/node@20.12.7)(sass@1.75.0)

View File

@@ -137,7 +137,16 @@ const local: App.I18n.Schema = {
403: 'No Permission',
404: 'Page Not Found',
500: 'Server Error',
'iframe-page': 'Iframe',
home: 'Home',
document: 'Document',
document_project: 'Project Document',
'document_project-link': 'Project Document(External Link)',
document_vue: 'Vue Document',
document_vite: 'Vite Document',
document_unocss: 'UnoCSS Document',
document_naive: 'Naive UI Document',
document_antd: 'Ant Design Vue Document',
'user-center': 'User Center',
about: 'About',
function: 'System Function',

View File

@@ -137,7 +137,16 @@ const local: App.I18n.Schema = {
403: '无权限',
404: '页面不存在',
500: '服务器错误',
'iframe-page': '外链页面',
home: '首页',
document: '文档',
document_project: '项目文档',
'document_project-link': '项目文档(外链)',
document_vue: 'Vue文档',
document_vite: 'Vite文档',
document_unocss: 'UnoCSS文档',
document_naive: 'Naive UI文档',
document_antd: 'Ant Design Vue文档',
'user-center': '个人中心',
about: '关于',
function: '系统功能',

View File

@@ -18,6 +18,7 @@ export const views: Record<LastLevelRouteKey, RouteComponent | (() => Promise<Ro
403: () => import("@/views/_builtin/403/index.vue"),
404: () => import("@/views/_builtin/404/index.vue"),
500: () => import("@/views/_builtin/500/index.vue"),
"iframe-page": () => import("@/views/_builtin/iframe-page/[url].vue"),
login: () => import("@/views/_builtin/login/index.vue"),
about: () => import("@/views/about/index.vue"),
"function_hide-child_one": () => import("@/views/function/hide-child/one/index.vue"),

View File

@@ -179,6 +179,19 @@ export const generatedRoutes: GeneratedRoute[] = [
order: 1
}
},
{
name: 'iframe-page',
path: '/iframe-page/:url',
component: 'layout.base$view.iframe-page',
props: true,
meta: {
title: 'iframe-page',
i18nKey: 'route.iframe-page',
constant: true,
hideInMenu: true,
keepAlive: true
}
},
{
name: 'login',
path: '/login/:module(pwd-login|code-login|register|reset-pwd|bind-wechat)?',

View File

@@ -147,6 +147,14 @@ const routeMap: RouteMap = {
"exception_403": "/exception/403",
"exception_404": "/exception/404",
"exception_500": "/exception/500",
"document": "/document",
"document_project": "/document/project",
"document_project-link": "/document/project-link",
"document_vue": "/document/vue",
"document_vite": "/document/vite",
"document_unocss": "/document/unocss",
"document_naive": "/document/naive",
"document_antd": "/document/antd",
"403": "/403",
"404": "/404",
"500": "/500",
@@ -162,6 +170,7 @@ const routeMap: RouteMap = {
"function_tab": "/function/tab",
"function_toggle-auth": "/function/toggle-auth",
"home": "/home",
"iframe-page": "/iframe-page/:url",
"login": "/login/:module(pwd-login|code-login|register|reset-pwd|bind-wechat)?",
"manage": "/manage",
"manage_menu": "/manage/menu",

View File

@@ -51,6 +51,115 @@ const customRoutes: CustomRoute[] = [
}
}
]
},
{
name: 'document',
path: '/document',
component: 'layout.base',
meta: {
title: 'document',
i18nKey: 'route.document',
order: 2,
icon: 'mdi:file-document-multiple-outline'
},
children: [
{
name: 'document_antd',
path: '/document/antd',
component: 'view.iframe-page',
props: {
url: 'https://antdv.com/components/overview-cn'
},
meta: {
title: 'document_antd',
i18nKey: 'route.document_antd',
order: 7,
icon: 'logos:ant-design'
}
},
{
name: 'document_naive',
path: '/document/naive',
component: 'view.iframe-page',
props: {
url: 'https://www.naiveui.com/zh-CN/os-theme/docs/introduction'
},
meta: {
title: 'document_naive',
i18nKey: 'route.document_naive',
order: 6,
icon: 'logos:naiveui'
}
},
{
name: 'document_project',
path: '/document/project',
component: 'view.iframe-page',
props: {
url: 'https://docs.soybeanjs.cn/zh'
},
meta: {
title: 'document_project',
i18nKey: 'route.document_project',
order: 1,
localIcon: 'logo'
}
},
{
name: 'document_project-link',
path: '/document/project-link',
component: 'view.iframe-page',
meta: {
title: 'document_project-link',
i18nKey: 'route.document_project-link',
order: 2,
localIcon: 'logo',
href: 'https://docs.soybeanjs.cn/zh'
}
},
{
name: 'document_unocss',
path: '/document/unocss',
component: 'view.iframe-page',
props: {
url: 'https://unocss.dev/'
},
meta: {
title: 'document_unocss',
i18nKey: 'route.document_unocss',
order: 5,
icon: 'logos:unocss'
}
},
{
name: 'document_vite',
path: '/document/vite',
component: 'view.iframe-page',
props: {
url: 'https://cn.vitejs.dev/'
},
meta: {
title: 'document_vite',
i18nKey: 'route.document_vite',
order: 4,
icon: 'logos:vitejs'
}
},
{
name: 'document_vue',
path: '/document/vue',
component: 'view.iframe-page',
props: {
url: 'https://cn.vuejs.org/'
},
meta: {
title: 'document_vue',
i18nKey: 'route.document_vue',
order: 3,
icon: 'logos:vue'
}
}
]
}
];

View File

@@ -21,6 +21,14 @@ declare module "@elegant-router/types" {
"exception_403": "/exception/403";
"exception_404": "/exception/404";
"exception_500": "/exception/500";
"document": "/document";
"document_project": "/document/project";
"document_project-link": "/document/project-link";
"document_vue": "/document/vue";
"document_vite": "/document/vite";
"document_unocss": "/document/unocss";
"document_naive": "/document/naive";
"document_antd": "/document/antd";
"403": "/403";
"404": "/404";
"500": "/500";
@@ -36,6 +44,7 @@ declare module "@elegant-router/types" {
"function_tab": "/function/tab";
"function_toggle-auth": "/function/toggle-auth";
"home": "/home";
"iframe-page": "/iframe-page/:url";
"login": "/login/:module(pwd-login|code-login|register|reset-pwd|bind-wechat)?";
"manage": "/manage";
"manage_menu": "/manage/menu";
@@ -72,6 +81,14 @@ declare module "@elegant-router/types" {
| "exception_403"
| "exception_404"
| "exception_500"
| "document"
| "document_project"
| "document_project-link"
| "document_vue"
| "document_vite"
| "document_unocss"
| "document_naive"
| "document_antd"
>;
/**
@@ -90,6 +107,7 @@ declare module "@elegant-router/types" {
| "about"
| "function"
| "home"
| "iframe-page"
| "login"
| "manage"
| "multi-menu"
@@ -104,6 +122,7 @@ declare module "@elegant-router/types" {
| "root"
| "not-found"
| "exception"
| "document"
>;
/**
@@ -114,6 +133,7 @@ declare module "@elegant-router/types" {
| "403"
| "404"
| "500"
| "iframe-page"
| "login"
| "about"
| "function_hide-child_one"
@@ -144,6 +164,13 @@ declare module "@elegant-router/types" {
| "exception_403"
| "exception_404"
| "exception_500"
| "document_project"
| "document_project-link"
| "document_vue"
| "document_vite"
| "document_unocss"
| "document_naive"
| "document_antd"
>;
/**

View File

@@ -0,0 +1,25 @@
<script setup lang="ts">
import { onActivated, onMounted } from 'vue';
interface Props {
url: string;
}
defineProps<Props>();
onMounted(() => {
console.log('mounted');
});
onActivated(() => {
console.log('activated');
});
</script>
<template>
<div class="h-full">
<iframe id="iframePage" class="size-full" :src="url"></iframe>
</div>
</template>
<style scoped></style>