diff --git a/pages/whois/[domain].html.vue b/pages/whois/[domain].html.vue
index 4eeef3e..7677686 100644
--- a/pages/whois/[domain].html.vue
+++ b/pages/whois/[domain].html.vue
@@ -7,13 +7,13 @@ const {domain} = route.params;
const {t} = useI18n()
-const domainData = domain.replace(/_/g, '.')
+const domainData = typeof domain === "string" ? domain?.replace(/_/g, '.') : "";
const showRawData = ref(false);
const timeStore = useTimeStore()
const styleStore = useStyleStore()
const settingsStore = useSettingsStore()
-
+styleStore.setIsPage(true)
const localePath = useLocalePath()
const {data, pending, error, refresh} = await useAsyncData(
@@ -36,17 +36,17 @@ if (!error.value && settingsStore.getHistory) {
)
}
-const parsedInfo = ParseWhois(data.value);
-styleStore.setIsPage(true)
+const parsedInfo = data.value ? ParseWhois(data.value) : {};
+
useHead({
title: `${domainData} - ${t('whois.title')}`,
meta: [
{
name: 'description',
- content: t('whois.description', { domain: domainData })
- },{
+ content: t('whois.description', {domain: domainData})
+ }, {
name: 'keywords',
- content: t('whois.keywords', { domain: domainData })
+ content: t('whois.keywords', {domain: domainData})
}
]
})
@@ -54,6 +54,7 @@ useHead({
{{ t('result.rawData') }} |
-
+
|
-
+
-
+
{{ t('error.notFound') }}
+ >
{{ data }}
diff --git a/plugins/setTheme.client.ts b/plugins/setTheme.client.ts
new file mode 100644
index 0000000..ad9498a
--- /dev/null
+++ b/plugins/setTheme.client.ts
@@ -0,0 +1,14 @@
+export default defineNuxtPlugin((nuxtApp) => {
+ const colorMode = useColorMode()
+
+ // 页面加载完毕,如果是暗色模式则重新加载,见: https://github.com/tusen-ai/naive-ui/issues/3765#issuecomment-1283356344
+ nuxtApp.hook('page:finish', () => {
+ setTimeout(() => {
+ colorMode.value = 'light'
+
+ setTimeout(() => {
+ colorMode.value = colorMode.preference
+ }, 0)
+ }, 0)
+ })
+})
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index f1a17af..08bdf04 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -56,8 +56,8 @@ devDependencies:
specifier: ^0.6.10
version: 0.6.10(nuxt@3.11.1)(rollup@4.13.0)(vite@5.2.6)(vue@3.4.21)
nuxt-simple-robots:
- specifier: 4.0.0-rc.15
- version: 4.0.0-rc.15(@nuxt/devtools@1.1.3)(@vue/compiler-core@3.4.21)(nuxt@3.11.1)(postcss@8.4.38)(rollup@4.13.0)(vite@5.2.6)(vue@3.4.21)(webpack@5.91.0)
+ specifier: 4.0.0-rc.16
+ version: 4.0.0-rc.16(@nuxt/devtools@1.1.3)(@vue/compiler-core@3.4.21)(nuxt@3.11.1)(postcss@8.4.38)(rollup@4.13.0)(vite@5.2.6)(vue@3.4.21)(webpack@5.91.0)
sass:
specifier: ^1.72.0
version: 1.72.0
@@ -766,8 +766,8 @@ packages:
'@iconify/types': 2.0.0
dev: true
- /@iconify/collections@1.0.407:
- resolution: {integrity: sha512-1Wn5xz6tsuXFWLyxc4RUoSMMC/WhOgnTd0uiRsRsIEp3HPPGT69vFmdfDamsZi8q3H4olgpkKGwMcY9W3uQ+3w==}
+ /@iconify/collections@1.0.408:
+ resolution: {integrity: sha512-huq0rgLQveO5DeWw4SQpq69GwU2xBuC9UPw664Mh/yruc1BYYNvyfvWowQ2ZG4mpBO1BUmIB/T/EtTcLoCeuAA==}
dependencies:
'@iconify/types': 2.0.0
@@ -1100,7 +1100,7 @@ packages:
'@npmcli/node-gyp': 3.0.0
'@npmcli/package-json': 5.0.0
'@npmcli/promise-spawn': 7.0.1
- node-gyp: 10.0.1
+ node-gyp: 10.1.0
which: 4.0.0
transitivePeerDependencies:
- bluebird
@@ -1201,9 +1201,9 @@ packages:
'@nuxt/devtools-kit': 1.1.3(nuxt@3.11.1)(rollup@4.13.0)(vite@5.2.6)
'@nuxt/devtools-wizard': 1.1.3
'@nuxt/kit': 3.11.1(rollup@4.13.0)
- '@vue/devtools-applet': 7.0.20(@unocss/reset@0.58.6)(floating-vue@5.2.2)(unocss@0.58.6)(vite@5.2.6)(vue@3.4.21)
- '@vue/devtools-core': 7.0.20(vite@5.2.6)(vue@3.4.21)
- '@vue/devtools-kit': 7.0.20(vue@3.4.21)
+ '@vue/devtools-applet': 7.0.21(@unocss/reset@0.58.6)(floating-vue@5.2.2)(unocss@0.58.6)(vite@5.2.6)(vue@3.4.21)
+ '@vue/devtools-core': 7.0.21(vite@5.2.6)(vue@3.4.21)
+ '@vue/devtools-kit': 7.0.21(vue@3.4.21)
birpc: 0.2.17
consola: 3.2.3
cronstrue: 2.48.0
@@ -1395,7 +1395,7 @@ packages:
autoprefixer: 10.4.19(postcss@8.4.38)
clear: 0.1.0
consola: 3.2.3
- cssnano: 6.1.1(postcss@8.4.38)
+ cssnano: 6.1.2(postcss@8.4.38)
defu: 6.1.4
esbuild: 0.20.2
escape-string-regexp: 5.0.0
@@ -1923,8 +1923,8 @@ packages:
dependencies:
'@sigstore/protobuf-specs': 0.3.0
- /@sigstore/core@1.0.0:
- resolution: {integrity: sha512-dW2qjbWLRKGu6MIDUTBuJwXCnR8zivcSpf5inUzk7y84zqy/dji0/uahppoIgMoKeR+6pUZucrwHfkQQtiG9Rw==}
+ /@sigstore/core@1.1.0:
+ resolution: {integrity: sha512-JzBqdVIyqm2FRQCulY6nbQzMpJJpSiJ8XXWMhtOX9eKgaXXpfNOF53lzQEjIydlStnd/eFtuC1dW4VYdD93oRg==}
engines: {node: ^16.14.0 || >=18.0.0}
/@sigstore/protobuf-specs@0.3.0:
@@ -1936,14 +1936,14 @@ packages:
engines: {node: ^16.14.0 || >=18.0.0}
dependencies:
'@sigstore/bundle': 2.2.0
- '@sigstore/core': 1.0.0
+ '@sigstore/core': 1.1.0
'@sigstore/protobuf-specs': 0.3.0
make-fetch-happen: 13.0.0
transitivePeerDependencies:
- supports-color
- /@sigstore/tuf@2.3.1:
- resolution: {integrity: sha512-9Iv40z652td/QbV0o5n/x25H9w6IYRt2pIGbTX55yFDYlApDQn/6YZomjz6+KBx69rXHLzHcbtTS586mDdFD+Q==}
+ /@sigstore/tuf@2.3.2:
+ resolution: {integrity: sha512-mwbY1VrEGU4CO55t+Kl6I7WZzIl+ysSzEYdA1Nv/FTrl2bkeaPXo5PnWZAVfcY2zSdhOpsUTJW67/M2zHXGn5w==}
engines: {node: ^16.14.0 || >=18.0.0}
dependencies:
'@sigstore/protobuf-specs': 0.3.0
@@ -1951,12 +1951,12 @@ packages:
transitivePeerDependencies:
- supports-color
- /@sigstore/verify@1.1.0:
- resolution: {integrity: sha512-1fTqnqyTBWvV7cftUUFtDcHPdSox0N3Ub7C0lRyReYx4zZUlNTZjCV+HPy4Lre+r45dV7Qx5JLKvqqsgxuyYfg==}
+ /@sigstore/verify@1.1.1:
+ resolution: {integrity: sha512-BNANJms49rw9Q5J+fJjrDqOQSzjXDcOq/pgKDaVdDoIvQwqIfaoUriy+fQfh8sBX04hr4bkkrwu3EbhQqoQH7A==}
engines: {node: ^16.14.0 || >=18.0.0}
dependencies:
'@sigstore/bundle': 2.2.0
- '@sigstore/core': 1.0.0
+ '@sigstore/core': 1.1.0
'@sigstore/protobuf-specs': 0.3.0
/@sindresorhus/merge-streams@2.3.0:
@@ -2074,38 +2074,38 @@ packages:
/@types/web-bluetooth@0.0.20:
resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==}
- /@unhead/dom@1.8.20:
- resolution: {integrity: sha512-TXRQSVbqBOQc02m3wxgj55m93U8a3WBHV9xJi2zVX/iHEJgeQbZMJ+rV0YJkHy2OHAC0MfjVQA5NDLaVwtromw==}
+ /@unhead/dom@1.9.1:
+ resolution: {integrity: sha512-5YVT8pyg7Mw8niWwklP8nFKK9WLIvaK4O3tXvqpW9OxSAexJG576bh6FR0hEtSDLBkJh+pI8mMMMIuzSdK/whA==}
dependencies:
- '@unhead/schema': 1.8.20
- '@unhead/shared': 1.8.20
+ '@unhead/schema': 1.9.1
+ '@unhead/shared': 1.9.1
- /@unhead/schema@1.8.20:
- resolution: {integrity: sha512-n0e5jsKino8JTHc4wpr4l8MXXIrj0muYYAEVa0WSYkIVnMiBr1Ik3l6elhCr4fdSyJ3M2DQQleea/oZCr11XCw==}
+ /@unhead/schema@1.9.1:
+ resolution: {integrity: sha512-wCJKNx4l837NEVMWP3MnUfkgsnMyuXwYs7+5VvbYzAWbnZSvQt/K10xDV0N7ft9RSlPfgukVVG+gtARm1kGVHQ==}
dependencies:
hookable: 5.5.3
zhead: 2.2.4
- /@unhead/shared@1.8.20:
- resolution: {integrity: sha512-J0fdtavcMtXcG0g9jmVW03toqfr8A0G7k+Q6jdpwuUPhWk/vhfZn3aiRV+F8LlU91c/AbGWDv8T1MrtMQbb0Sg==}
+ /@unhead/shared@1.9.1:
+ resolution: {integrity: sha512-rZgzXzOeF4vu2bJJAkHJckgPgWGfpDA3/vesPhJIZGs2NkGYi9lDwMUeJ90HKCMJv1+JRAcPOokjRi6vRlnQpg==}
dependencies:
- '@unhead/schema': 1.8.20
+ '@unhead/schema': 1.9.1
- /@unhead/ssr@1.8.20:
- resolution: {integrity: sha512-Cq1NcdYZ/IAkJ0muqdOBxJXb5dn+uV+RvIXDykRb9lGgriU/S0fzUw8XYTYMwLlvW6rSMrtRx319hz2D3ZrBkA==}
+ /@unhead/ssr@1.9.1:
+ resolution: {integrity: sha512-ojY5umX2rtEvmsAFX935DPxk+rZfmgLOEMP1etJGYmCh2GQskK4USjUp9uYJyf0DP0xh+42R4a06e5602CIWHQ==}
dependencies:
- '@unhead/schema': 1.8.20
- '@unhead/shared': 1.8.20
+ '@unhead/schema': 1.9.1
+ '@unhead/shared': 1.9.1
- /@unhead/vue@1.8.20(vue@3.4.21):
- resolution: {integrity: sha512-Lm6cnbX/QGCh+pxGN1Tl6LVXxYs5bLlN8APfI2rQ5kMNRE6Yy7r2eY5wCZ0SfsSRonqJxzVlgMMh8JPEY5d4GQ==}
+ /@unhead/vue@1.9.1(vue@3.4.21):
+ resolution: {integrity: sha512-clSKIkwtw26Lx5tR7ecJ/zvyFJkghvJU+jt2liQ4XYQb/Qaveh8L7gqsI1RKUuKaXAjlo2Z4Jpp1v9nHxA0heg==}
peerDependencies:
vue: '>=2.7 || >=3'
dependencies:
- '@unhead/schema': 1.8.20
- '@unhead/shared': 1.8.20
+ '@unhead/schema': 1.9.1
+ '@unhead/shared': 1.9.1
hookable: 5.5.3
- unhead: 1.8.20
+ unhead: 1.9.1
vue: 3.4.21(typescript@5.4.3)
/@unocss/astro@0.58.6(rollup@4.13.0)(vite@5.2.6):
@@ -2481,15 +2481,15 @@ packages:
/@vue/devtools-api@6.6.1:
resolution: {integrity: sha512-LgPscpE3Vs0x96PzSSB4IGVSZXZBZHpfxs+ZA1d+VEPwHdOXowy/Y2CsvCAIFrf+ssVU1pD1jidj505EpUnfbA==}
- /@vue/devtools-applet@7.0.20(@unocss/reset@0.58.6)(floating-vue@5.2.2)(unocss@0.58.6)(vite@5.2.6)(vue@3.4.21):
- resolution: {integrity: sha512-q48RtnhFmC0kd4N+3Edfctv6oL2neN6crUapBydSr6szjR87dQJygTEYKlpyx0SHmVLVwq4mcgFuf1ftAKjd/w==}
+ /@vue/devtools-applet@7.0.21(@unocss/reset@0.58.6)(floating-vue@5.2.2)(unocss@0.58.6)(vite@5.2.6)(vue@3.4.21):
+ resolution: {integrity: sha512-XqMeZrRoMJBSybg0Lu1777UZzI3nzApPlT4ZgupGkcFWQqoUkuhDaGYDqxer/yQgg4hOZsZQnB9nOmIk+GjGPA==}
peerDependencies:
vue: ^3.0.0
dependencies:
- '@vue/devtools-core': 7.0.20(vite@5.2.6)(vue@3.4.21)
- '@vue/devtools-kit': 7.0.20(vue@3.4.21)
- '@vue/devtools-shared': 7.0.20
- '@vue/devtools-ui': 7.0.20(@unocss/reset@0.58.6)(floating-vue@5.2.2)(unocss@0.58.6)(vue@3.4.21)
+ '@vue/devtools-core': 7.0.21(vite@5.2.6)(vue@3.4.21)
+ '@vue/devtools-kit': 7.0.21(vue@3.4.21)
+ '@vue/devtools-shared': 7.0.21
+ '@vue/devtools-ui': 7.0.21(@unocss/reset@0.58.6)(floating-vue@5.2.2)(unocss@0.58.6)(vue@3.4.21)
perfect-debounce: 1.0.0
splitpanes: 3.1.5
vue: 3.4.21(typescript@5.4.3)
@@ -2512,11 +2512,11 @@ packages:
- unocss
- vite
- /@vue/devtools-core@7.0.20(vite@5.2.6)(vue@3.4.21):
- resolution: {integrity: sha512-JefAn0ljTUPtoEJ47PjEfcLQb9BVt3OH1R6aD8qZ7bNYwZH+xystXpVJ3pW+1iDnOXjfpLgc3bsHUZoxlfobpw==}
+ /@vue/devtools-core@7.0.21(vite@5.2.6)(vue@3.4.21):
+ resolution: {integrity: sha512-t5U1+lBZ9KmscJgcVtpZru2Le0fjckOBDwjodmqxccYEidj/7zst0bLbPwH9bYsNK6h6mtfZ6MtbcgTUcvNKsg==}
dependencies:
- '@vue/devtools-kit': 7.0.20(vue@3.4.21)
- '@vue/devtools-shared': 7.0.20
+ '@vue/devtools-kit': 7.0.21(vue@3.4.21)
+ '@vue/devtools-shared': 7.0.21
mitt: 3.0.1
nanoid: 3.3.7
pathe: 1.1.2
@@ -2525,25 +2525,25 @@ packages:
- vite
- vue
- /@vue/devtools-kit@7.0.20(vue@3.4.21):
- resolution: {integrity: sha512-FgFuPuqrhQ51rR/sVi52FnGgrxJ3X1bvNra/SkBzPhxJVhfyL5w2YUJZI1FgCvtLAyPSomJNdvlG415ZbJsr6w==}
+ /@vue/devtools-kit@7.0.21(vue@3.4.21):
+ resolution: {integrity: sha512-tNDtcQkPHfLDH1wtZuSZ2ZfE+r/aGswkBmKmXjwfpZTsOTk/YXsgrMnBKtHOL6dpsG3GyP09gIgNkCkA5lBIPQ==}
peerDependencies:
vue: ^3.0.0
dependencies:
- '@vue/devtools-shared': 7.0.20
+ '@vue/devtools-shared': 7.0.21
hookable: 5.5.3
mitt: 3.0.1
perfect-debounce: 1.0.0
speakingurl: 14.0.1
vue: 3.4.21(typescript@5.4.3)
- /@vue/devtools-shared@7.0.20:
- resolution: {integrity: sha512-E6CiCaYr6ZWOCYJgWodXcPCXxB12vgbUA1X1sG0F1tK5Bo5I35GJuTR8LBJLFHV0VpwLWvyrIi9drT1ZbuJxlg==}
+ /@vue/devtools-shared@7.0.21:
+ resolution: {integrity: sha512-wuIakRkSqwsk9+Y4z5QTdsmhTJRAt4aX0ROXyOOEPL+ROrN26YsPbXyqlzroU5uoOoAvx81iObIlmwZWtZztgw==}
dependencies:
rfdc: 1.3.1
- /@vue/devtools-ui@7.0.20(@unocss/reset@0.58.6)(floating-vue@5.2.2)(unocss@0.58.6)(vue@3.4.21):
- resolution: {integrity: sha512-0Jy+9l8gQKnEPitOBthib6bZPdf2FipPIpMZPZ90xH4z1nWGN2aHBqOHH3dMpNgnymlkgAR5QDvodj5RcxiUGw==}
+ /@vue/devtools-ui@7.0.21(@unocss/reset@0.58.6)(floating-vue@5.2.2)(unocss@0.58.6)(vue@3.4.21):
+ resolution: {integrity: sha512-hYLhMAKoTJ2/Lbol0pbZW0jq49x/fYheTqa6zpLw1Qti5eOD+sOS9WGQZL/T8nBuOG/yZJswI+R0qaUrJXiLrA==}
peerDependencies:
'@unocss/reset': '>=0.50.0-0'
floating-vue: '>=2.0.0-0'
@@ -3472,8 +3472,8 @@ packages:
uWebSockets.js:
optional: true
- /css-declaration-sorter@7.1.1(postcss@8.4.38):
- resolution: {integrity: sha512-dZ3bVTEEc1vxr3Bek9vGwfB5Z6ESPULhcRvO472mfjVnj8jRcTnKO8/JTczlvxM10Myb+wBM++1MtdO76eWcaQ==}
+ /css-declaration-sorter@7.2.0(postcss@8.4.38):
+ resolution: {integrity: sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==}
engines: {node: ^14 || ^16 || >=18}
peerDependencies:
postcss: ^8.0.9
@@ -3519,14 +3519,14 @@ packages:
engines: {node: '>=4'}
hasBin: true
- /cssnano-preset-default@6.1.1(postcss@8.4.38):
- resolution: {integrity: sha512-XW/dYN2p8Jdkp1lovFd0UVRh6RB0iMyXJbAE9Qm+taR3p2LGu492AW34lVaukUrXoK9IxK5aK3CUmFpUorU4oA==}
+ /cssnano-preset-default@6.1.2(postcss@8.4.38):
+ resolution: {integrity: sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg==}
engines: {node: ^14 || ^16 || >=18.0}
peerDependencies:
postcss: ^8.4.31
dependencies:
browserslist: 4.23.0
- css-declaration-sorter: 7.1.1(postcss@8.4.38)
+ css-declaration-sorter: 7.2.0(postcss@8.4.38)
cssnano-utils: 4.0.2(postcss@8.4.38)
postcss: 8.4.38
postcss-calc: 9.0.1(postcss@8.4.38)
@@ -3565,13 +3565,13 @@ packages:
dependencies:
postcss: 8.4.38
- /cssnano@6.1.1(postcss@8.4.38):
- resolution: {integrity: sha512-paTFZuiVohpaXJuau8l7buFt9+FTmfjwEO70EKitzYOQw3frib/It4sb6cQ+gJyDEyY+myDSni6IbBvKZ0N8Lw==}
+ /cssnano@6.1.2(postcss@8.4.38):
+ resolution: {integrity: sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA==}
engines: {node: ^14 || ^16 || >=18.0}
peerDependencies:
postcss: ^8.4.31
dependencies:
- cssnano-preset-default: 6.1.1(postcss@8.4.38)
+ cssnano-preset-default: 6.1.2(postcss@8.4.38)
lilconfig: 3.1.1
postcss: 8.4.38
@@ -4274,7 +4274,7 @@ packages:
destr: 2.0.3
iron-webcrypto: 1.1.0
ohash: 1.1.3
- radix3: 1.1.1
+ radix3: 1.1.2
ufo: 1.5.3
uncrypto: 0.1.3
unenv: 1.9.0
@@ -5300,7 +5300,7 @@ packages:
perfect-debounce: 1.0.0
pkg-types: 1.0.3
pretty-bytes: 6.1.1
- radix3: 1.1.1
+ radix3: 1.1.2
rollup: 4.13.0
rollup-plugin-visualizer: 5.12.0(rollup@4.13.0)
scule: 1.3.0
@@ -5361,8 +5361,8 @@ packages:
resolution: {integrity: sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og==}
hasBin: true
- /node-gyp@10.0.1:
- resolution: {integrity: sha512-gg3/bHehQfZivQVfqIyy8wTdSymF9yTyP4CJifK73imyNMU8AIGQE2pUa7dNWfmMeG9cDVF2eehiRMv0LC1iAg==}
+ /node-gyp@10.1.0:
+ resolution: {integrity: sha512-B4J5M1cABxPc5PwfjhbV5hoy2DP9p8lFXASnEN6hugXOa61416tnTZ29x9sSwAd0o99XNIcpvDDy1swAExsVKA==}
engines: {node: ^16.14.0 || >=18.0.0}
hasBin: true
dependencies:
@@ -5514,7 +5514,7 @@ packages:
/nuxt-icon@0.6.10(nuxt@3.11.1)(rollup@4.13.0)(vite@5.2.6)(vue@3.4.21):
resolution: {integrity: sha512-S9zHVA66ox4ZSpMWvCjqKZC4ZogC0s2z3vZs+M4D95YXGPEXwxDZu+insMKvkbe8+k7gvEmtTk0eq3KusKlxiw==}
dependencies:
- '@iconify/collections': 1.0.407
+ '@iconify/collections': 1.0.408
'@iconify/vue': 4.1.1(vue@3.4.21)
'@nuxt/devtools-kit': 1.1.3(nuxt@3.11.1)(rollup@4.13.0)(vite@5.2.6)
'@nuxt/kit': 3.11.1(rollup@4.13.0)
@@ -5525,8 +5525,8 @@ packages:
- vite
- vue
- /nuxt-simple-robots@4.0.0-rc.15(@nuxt/devtools@1.1.3)(@vue/compiler-core@3.4.21)(nuxt@3.11.1)(postcss@8.4.38)(rollup@4.13.0)(vite@5.2.6)(vue@3.4.21)(webpack@5.91.0):
- resolution: {integrity: sha512-+kAk1MFUfDZWo29Py40cLTmt+of+QH7XB+aA3c5woAS/jdFb5WBq6c80H8XjnBiel3v/c5KXCw+0sHak/SsTmg==}
+ /nuxt-simple-robots@4.0.0-rc.16(@nuxt/devtools@1.1.3)(@vue/compiler-core@3.4.21)(nuxt@3.11.1)(postcss@8.4.38)(rollup@4.13.0)(vite@5.2.6)(vue@3.4.21)(webpack@5.91.0):
+ resolution: {integrity: sha512-jRgDvjRrRgTAC4WOLs1dx3mHlVa5VHATgDhk8+0Mp5H4WjBipZGrZs9WOWX5Jymh17oTIESVKGHZRhaRiP+AKA==}
dependencies:
'@nuxt/devtools-kit': 1.1.3(nuxt@3.11.1)(rollup@4.13.0)(vite@5.2.6)
'@nuxt/kit': 3.11.1(rollup@4.13.0)
@@ -5643,9 +5643,9 @@ packages:
'@nuxt/telemetry': 2.5.3(rollup@4.13.0)
'@nuxt/ui-templates': 1.3.1
'@nuxt/vite-builder': 3.11.1(less@4.2.0)(rollup@4.13.0)(sass@1.72.0)(typescript@5.4.3)(vue@3.4.21)
- '@unhead/dom': 1.8.20
- '@unhead/ssr': 1.8.20
- '@unhead/vue': 1.8.20(vue@3.4.21)
+ '@unhead/dom': 1.9.1
+ '@unhead/ssr': 1.9.1
+ '@unhead/vue': 1.9.1(vue@3.4.21)
'@vue/shared': 3.4.21
acorn: 8.11.3
c12: 1.10.0
@@ -5674,7 +5674,7 @@ packages:
pathe: 1.1.2
perfect-debounce: 1.0.0
pkg-types: 1.0.3
- radix3: 1.1.1
+ radix3: 1.1.2
scule: 1.3.0
std-env: 3.7.0
strip-literal: 2.0.0
@@ -6420,8 +6420,8 @@ packages:
/queue-tick@1.0.1:
resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==}
- /radix3@1.1.1:
- resolution: {integrity: sha512-yUUd5VTiFtcMEx0qFUxGAv5gbMc1un4RvEO1JZdP7ZUl/RHygZK6PknIKntmQRZxnMY3ZXD2ISaw1ij8GYW1yg==}
+ /radix3@1.1.2:
+ resolution: {integrity: sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==}
/randombytes@2.1.0:
resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==}
@@ -6747,11 +6747,11 @@ packages:
engines: {node: ^16.14.0 || >=18.0.0}
dependencies:
'@sigstore/bundle': 2.2.0
- '@sigstore/core': 1.0.0
+ '@sigstore/core': 1.1.0
'@sigstore/protobuf-specs': 0.3.0
'@sigstore/sign': 2.2.3
- '@sigstore/tuf': 2.3.1
- '@sigstore/verify': 1.1.0
+ '@sigstore/tuf': 2.3.2
+ '@sigstore/verify': 1.1.1
transitivePeerDependencies:
- supports-color
@@ -7259,12 +7259,12 @@ packages:
node-fetch-native: 1.6.4
pathe: 1.1.2
- /unhead@1.8.20:
- resolution: {integrity: sha512-IJOCYact/7Za3M7CeeCWs8Vze53kHvKDUy/EXtkTm/an5StgqOt2uCnS3HrkioIMKdHBpy/qtTc6E3BoGMOq7Q==}
+ /unhead@1.9.1:
+ resolution: {integrity: sha512-qTyA0V6xjUrIJp6KWs0CqAayw4K2DE7rh0GO0vmcC2YuF0HITO/3zkVtG7zhJUd5VeGgGCO/82zatDOOhMyneA==}
dependencies:
- '@unhead/dom': 1.8.20
- '@unhead/schema': 1.8.20
- '@unhead/shared': 1.8.20
+ '@unhead/dom': 1.9.1
+ '@unhead/schema': 1.9.1
+ '@unhead/shared': 1.9.1
hookable: 5.5.3
/unicorn-magic@0.1.0:
diff --git a/server/api/whois.post.ts b/server/api/whois.post.ts
index bbad190..f371295 100644
--- a/server/api/whois.post.ts
+++ b/server/api/whois.post.ts
@@ -6,6 +6,6 @@ export default defineEventHandler(async (event) => {
const res = await whois(body.domain)
return res._raw
} catch (e) {
- return e
+ return new Error("接口不支持或者查询有误")
}
})
diff --git a/stores/domain.ts b/stores/domain.ts
index f4c5c3e..34e3636 100644
--- a/stores/domain.ts
+++ b/stores/domain.ts
@@ -4,12 +4,14 @@ import serversData from '~/server/whois/json/whois-servers.json';
// 定义接口来描述state的结构
interface DomainState {
SupportedTLDs: Record
;
+ supportedTLDKeys: Set;
}
export const useDomainListStore = defineStore('useDomainListStore', {
// 使用箭头函数和类型注解定义state
state: (): DomainState => ({
SupportedTLDs: {...serversData},
+ supportedTLDKeys: new Set(Object.keys(serversData)) as any,
}),
actions: {
async addSuffix(suffix: string, server: string) {
@@ -43,6 +45,14 @@ export const useDomainListStore = defineStore('useDomainListStore', {
}
}
},
+ getters: {
+ getSupportedTLDs(state: any) {
+ return state.SupportedTLDs;
+ },
+ getSupportedTLDKeys(state: any) {
+ return state.supportedTLDKeys;
+ }
+ },
persist: {
storage: persistedState.localStorage,
}
diff --git a/tailwind.config.ts b/tailwind.config.ts
index ff18d63..6f476dd 100644
--- a/tailwind.config.ts
+++ b/tailwind.config.ts
@@ -27,5 +27,5 @@ export default {
corePlugins: {
preflight: true,
},
- darkMode: 'class',
+ darkMode: "class"
}