🚩 修复暗黑模式 增加自动填充
This commit is contained in:
parent
f718f8b6c9
commit
de0ec3536a
27
app.config.ts
Normal file
27
app.config.ts
Normal file
@ -0,0 +1,27 @@
|
||||
import {_colors, _fontFamily} from "#tailwind-config/theme.mjs";
|
||||
|
||||
export default defineAppConfig({
|
||||
naiveui: {
|
||||
themeConfig: {
|
||||
shared: {
|
||||
common: {
|
||||
fontFamily: _fontFamily.sans.join(", "),
|
||||
},
|
||||
},
|
||||
light: {
|
||||
common: {
|
||||
primaryColor: _colors.blue[600],
|
||||
primaryColorHover: _colors.blue[500],
|
||||
primaryColorPressed: _colors.blue[700],
|
||||
},
|
||||
},
|
||||
dark: {
|
||||
common: {
|
||||
primaryColor: _colors.blue[500],
|
||||
primaryColorHover: _colors.blue[400],
|
||||
primaryColorPressed: _colors.blue[600],
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
37
app.vue
37
app.vue
@ -1,5 +1,11 @@
|
||||
<template>
|
||||
<n-config-provider>
|
||||
<n-config-provider
|
||||
:theme="theme"
|
||||
:theme-overrides="themeOverrides"
|
||||
inline-theme-disabled
|
||||
preflight-style-disabled
|
||||
>
|
||||
<n-global-style/>
|
||||
<n-modal-provider>
|
||||
<n-message-provider>
|
||||
<NuxtLayout>
|
||||
@ -10,9 +16,17 @@
|
||||
</n-message-provider>
|
||||
</n-modal-provider>
|
||||
</n-config-provider>
|
||||
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import {darkTheme, lightTheme} from 'naive-ui'
|
||||
import {naiveThemeOverrides} from "~/settings/settings";
|
||||
|
||||
const colorMode = useColorMode()
|
||||
const themeOverrides = naiveThemeOverrides
|
||||
const theme = computed(() => {
|
||||
return colorMode.value === 'system' ? (colorMode.value ? lightTheme : darkTheme) : colorMode.value === 'light' ? lightTheme : darkTheme
|
||||
})
|
||||
|
||||
const whoisStore = useWhoisStore()
|
||||
const dnsStore = useDnsStore()
|
||||
const domainStore = useDomainStore()
|
||||
@ -21,24 +35,5 @@ dnsStore.newDnsList()
|
||||
domainStore.newDomainList()
|
||||
</script>
|
||||
<style>
|
||||
body {
|
||||
background-color: #fff;
|
||||
color: rgba(0, 0, 0, 0.8);
|
||||
}
|
||||
|
||||
.dark-mode body {
|
||||
background-color: #091a28;
|
||||
color: #18181c;
|
||||
|
||||
}
|
||||
|
||||
.sepia-mode body {
|
||||
background-color: #f1e7d0;
|
||||
color: #433422;
|
||||
}
|
||||
|
||||
.light-mode body {
|
||||
background-color: #F1F3F4;
|
||||
color: #433422;
|
||||
}
|
||||
</style>
|
||||
|
@ -6,14 +6,14 @@ defineProps({
|
||||
|
||||
<template>
|
||||
<!-- 公告部分 -->
|
||||
<div class="bg-gray-200 p-3 rounded-md mb-5 dark:bg-[#5b77af]">
|
||||
<div class="bg-gray-200 p-3 rounded-md mb-5 dark:bg-[#000000FF]">
|
||||
<div class="flex items-center">
|
||||
<i aria-hidden="true" class="icon fas fa-bullhorn mr-3"></i>
|
||||
</div>
|
||||
<div class="flex-grow">
|
||||
<div class="text-sm text-gray-800 dark:text-white">
|
||||
{{ text }}
|
||||
<slot name="text" />
|
||||
<slot name="text"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -33,7 +33,7 @@ const availableColor = ref([
|
||||
<div
|
||||
class="flex h-10 w-10 items-center justify-center rounded-lg bg-gray-100 dark:bg-gray-700"
|
||||
>
|
||||
<Icon name="ph:palette-duotone" class=" text-lg dark:text-white" />
|
||||
<Icon name="ph:palette-duotone" class=" text-lg dark:text-white"/>
|
||||
</div>
|
||||
</HeadlessListboxButton>
|
||||
<HeadlessListboxOptions
|
||||
@ -55,7 +55,7 @@ const availableColor = ref([
|
||||
{{ color.name }}
|
||||
</span>
|
||||
<span class="flex items-center justify-center text-sm">
|
||||
<Icon :name="color.icon" class="text-base" />
|
||||
<Icon :name="color.icon" class="text-base"/>
|
||||
</span>
|
||||
</HeadlessListboxOption>
|
||||
</HeadlessListboxOptions>
|
||||
|
@ -1,9 +1,10 @@
|
||||
<script setup lang="ts">
|
||||
|
||||
const domainStore = useDomainListStore();
|
||||
const SupportedTLDs = new Set(Object.keys(domainStore.SupportedTLDs));
|
||||
const domainListStore = useDomainListStore();
|
||||
const SupportedTLDs = domainListStore.getSupportedTLDKeys
|
||||
const isOpen = ref(false)
|
||||
const {t} = useI18n()
|
||||
|
||||
</script>
|
||||
|
||||
<template>
|
||||
|
@ -3,15 +3,15 @@ const localePath = useLocalePath()
|
||||
const {t} = useI18n()
|
||||
</script>
|
||||
<template>
|
||||
<footer class="text-gray-800 h-[10vh] bg-[#F1F3F4] dark:text-white dark:bg-[#5b77af]">
|
||||
<footer class="text-gray-800 h-[10vh] bg-[#F1F3F4] dark:text-white dark:bg-[#000000FF]">
|
||||
<div class="max-w-5xl mx-auto py-4 px-4 flex justify-between items-center">
|
||||
<div class="text-sm">
|
||||
{{ t('footer.text')}}
|
||||
{{ t('footer.text') }}
|
||||
</div>
|
||||
<div class="flex items-center space-x-4">
|
||||
<NuxtLink :to="localePath('/api.html')" class="hover:underline">{{ t('footer.api') }}</NuxtLink>
|
||||
<NuxtLink to="https://github.com/7836246/Nuxt-Whois" class="hover:underline">
|
||||
<Icon name="ant-design:github-outlined" class="h-6 w-6" />
|
||||
<Icon name="ant-design:github-outlined" class="h-6 w-6"/>
|
||||
</NuxtLink>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -65,7 +65,7 @@ export default defineI18nLocale(async locale => {
|
||||
formatDomain: '域名格式错误',
|
||||
//域名必须包含有效的顶级域
|
||||
validDomain: '域名必须包含有效的顶级域',
|
||||
notFound: '未找到域名信息',
|
||||
notFound: '未找到域名信息,可能是后缀不支持,也可能是当前 Api 不支持,请更换尝试!',
|
||||
},
|
||||
result: {
|
||||
result: '查询结果',
|
||||
|
@ -1,6 +1,4 @@
|
||||
<script setup lang="ts">
|
||||
import {useApisStore} from "~/stores/api";
|
||||
|
||||
const {t} = useI18n()
|
||||
const router = useRouter();
|
||||
const runtimeConfig = useRuntimeConfig()
|
||||
@ -8,7 +6,7 @@ const localePath = useLocalePath()
|
||||
const settingsStore = useSettingsStore()
|
||||
const styleStore = useStyleStore()
|
||||
const clientMounted = ref(false);
|
||||
const apisStore = useApisStore()
|
||||
|
||||
|
||||
const message = useMessage()
|
||||
const handleAction = async (url: any) => {
|
||||
@ -29,10 +27,6 @@ const handleAction = async (url: any) => {
|
||||
}
|
||||
|
||||
|
||||
onMounted(() => {
|
||||
clientMounted.value = true;
|
||||
});
|
||||
|
||||
const selectOptions = ref([
|
||||
{
|
||||
label: 'Whois',
|
||||
@ -45,23 +39,49 @@ const selectOptions = ref([
|
||||
value: 'domain'
|
||||
}
|
||||
])
|
||||
const {selectedOption} = storeToRefs(settingsStore)
|
||||
const {selectedOption, domainSearch} = storeToRefs(settingsStore)
|
||||
const handleSelectOptions = (value: any) => {
|
||||
settingsStore.setSelectedOption(value);
|
||||
console.log(selectedOption.value)
|
||||
}
|
||||
|
||||
|
||||
const domainListStore = useDomainListStore();
|
||||
// 支持的主流顶级域名列表
|
||||
const supportedTLDs = ['com', 'net', 'org', 'io', 'tech', 'co', 'info', 'biz', 'edu', 'gov'];
|
||||
|
||||
// 计算属性生成域名选项
|
||||
const domainOptions = computed(() => {
|
||||
if (!domainSearch.value) return [];
|
||||
|
||||
// 取用户输入的前缀,假设输入可能包含已有的后缀
|
||||
const prefix = domainSearch.value.split('.')[0];
|
||||
|
||||
// 生成带有主流后缀的域名选项
|
||||
return supportedTLDs.map(suffix => {
|
||||
const value = `${prefix}.${suffix}`;
|
||||
return {label: value, value};
|
||||
});
|
||||
});
|
||||
const getShow = (value: any) => {
|
||||
// 检查 value 是否以 '.' 结尾
|
||||
return typeof value === 'string' && value.endsWith('.');
|
||||
}
|
||||
|
||||
onMounted(() => {
|
||||
clientMounted.value = true;
|
||||
});
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div
|
||||
class="w-full text-xs dark:bg-transparent"
|
||||
class="w-full text-xs bg-[#F1F3F4] dark:bg-transparent"
|
||||
:class="{ 'h-[90vh]': !styleStore.getIsPage && clientMounted }"
|
||||
>
|
||||
<div
|
||||
class=" max-w-screen-lg mx-auto px-[1em] pb-[10vh] "
|
||||
:class="{ 'pt-[25vh]': !styleStore.getIsPage && clientMounted, 'pt-[5vh]': styleStore.getIsPage || !clientMounted }"
|
||||
>
|
||||
<nav class=" w-full text-[#464747] h-5 dark:bg-gray-700">
|
||||
<nav class=" w-full text-[#464747] h-5 ">
|
||||
<NuxtLink class="mb-3 font-bold text-2xl inline-block text-current no-underline dark:text-white"
|
||||
:to="localePath('/')"
|
||||
>
|
||||
@ -70,37 +90,43 @@ const handleSelectOptions = (value: any) => {
|
||||
</NuxtLink>
|
||||
</nav>
|
||||
<div class="mt-6">
|
||||
<div class="flex items-center space-x-2 mb-3 dark:text-white"
|
||||
>
|
||||
<!-- 容器div用于水平布局 -->
|
||||
<div class="flex-grow">
|
||||
<NInputGroup>
|
||||
<n-select
|
||||
:style="{ width: '20%' }"
|
||||
size="large"
|
||||
v-model:value="selectedOption"
|
||||
:options="selectOptions"
|
||||
@update:value="handleSelectOptions"
|
||||
/>
|
||||
<NInput
|
||||
v-model:value="settingsStore.domainSearch"
|
||||
@keyup.enter="handleAction(settingsStore.selectedOption)"
|
||||
type="text"
|
||||
:placeholder="t('index.placeholder')"
|
||||
size="large"
|
||||
clearable
|
||||
autofocus
|
||||
class="w-full "/>
|
||||
</NInputGroup>
|
||||
<ClientOnly>
|
||||
<div class="flex items-center space-x-2 mb-3 dark:text-white"
|
||||
>
|
||||
<!-- 容器div用于水平布局 -->
|
||||
<div class="flex-grow">
|
||||
<NInputGroup>
|
||||
<n-select
|
||||
:style="{ width: '20%' }"
|
||||
size="large"
|
||||
v-model:value="selectedOption"
|
||||
:options="selectOptions"
|
||||
@update:value="handleSelectOptions"
|
||||
/>
|
||||
<NAutoComplete
|
||||
v-model:value="domainSearch"
|
||||
@keyup.enter="handleAction(settingsStore.selectedOption)"
|
||||
:input-props="{ autocomplete: 'off' }"
|
||||
:options="domainOptions"
|
||||
:get-show="getShow"
|
||||
type="text"
|
||||
:placeholder="t('index.placeholder')"
|
||||
size="large"
|
||||
clearable
|
||||
autofocus
|
||||
class="w-full ">
|
||||
</NAutoComplete>
|
||||
</NInputGroup>
|
||||
</div>
|
||||
<!-- 使用v-if基于state.domain的值来控制按钮的显示 -->
|
||||
<NButton type="primary"
|
||||
size="large"
|
||||
@click="handleAction(settingsStore.selectedOption)"
|
||||
v-if="settingsStore.domainSearch">
|
||||
{{ t('index.onSubmit') }}
|
||||
</NButton>
|
||||
</div>
|
||||
<!-- 使用v-if基于state.domain的值来控制按钮的显示 -->
|
||||
<NButton type="primary"
|
||||
size="large"
|
||||
@click="handleAction(settingsStore.selectedOption)"
|
||||
v-if="settingsStore.domainSearch">
|
||||
{{ t('index.onSubmit') }}
|
||||
</NButton>
|
||||
</div>
|
||||
</ClientOnly>
|
||||
</div>
|
||||
|
||||
<ClientOnly>
|
||||
|
123
nuxt.config.ts
123
nuxt.config.ts
@ -1,66 +1,67 @@
|
||||
// https://nuxt.com/docs/api/configuration/nuxt-config
|
||||
export default defineNuxtConfig({
|
||||
devtools: { enabled: true },
|
||||
routeRules:{
|
||||
'/admin/**':{ ssr : false }
|
||||
},
|
||||
modules: [
|
||||
'@nuxt/devtools', // Devtools开发工具
|
||||
'@nuxtjs/i18n', // 多语言
|
||||
'@pinia/nuxt', // Pinia 持久化状态管理
|
||||
'@pinia-plugin-persistedstate/nuxt', // Pinia 持久化状态管理插件
|
||||
'nuxt-simple-robots',
|
||||
'nuxt-headlessui', // 组件库
|
||||
'@bg-dev/nuxt-naiveui', // 组件库
|
||||
'@nuxtjs/tailwindcss', // 组件库
|
||||
'nuxt-icon',
|
||||
'@nuxtjs/color-mode',
|
||||
],
|
||||
features:{
|
||||
inlineStyles: true,
|
||||
} ,
|
||||
runtimeConfig: {
|
||||
public: {
|
||||
Domain: process.env.WebSiteDomain || 'Nuxt Whois',
|
||||
DomainSuffix: process.env.WebSiteDomainSuffix || 'Dns',
|
||||
}
|
||||
},
|
||||
app:{
|
||||
head: {
|
||||
title: process.env.WebSiteTitle || 'Nuxt Whois',
|
||||
meta: [
|
||||
{ charset: 'utf-8' },
|
||||
{ name: 'viewport', content: 'width=device-width, initial-scale=1' },
|
||||
],
|
||||
link: [
|
||||
{ rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' }
|
||||
]
|
||||
}
|
||||
},
|
||||
i18n: {
|
||||
strategy: 'prefix_except_default',
|
||||
defaultLocale: 'zh',
|
||||
detectBrowserLanguage: {
|
||||
useCookie: true,
|
||||
devtools: {enabled: true},
|
||||
routeRules: {
|
||||
'/admin/**': {ssr: false}
|
||||
},
|
||||
locales: [
|
||||
{ code: 'zh', iso: 'zh-Hans', file: 'zh.ts' },
|
||||
{ code: 'en', iso: 'en-US', file: 'en.ts' },
|
||||
{ code: 'tw', iso: 'zh-Hant', file: 'tw.ts' },
|
||||
modules: [
|
||||
'@nuxt/devtools', // Devtools开发工具
|
||||
'@nuxtjs/i18n', // 多语言
|
||||
'@pinia/nuxt', // Pinia 持久化状态管理
|
||||
'@pinia-plugin-persistedstate/nuxt', // Pinia 持久化状态管理插件
|
||||
'nuxt-simple-robots',
|
||||
'nuxt-headlessui', // 组件库
|
||||
'@bg-dev/nuxt-naiveui', // 组件库
|
||||
'@nuxtjs/tailwindcss', // 组件库
|
||||
'nuxt-icon',
|
||||
'@nuxtjs/color-mode',
|
||||
],
|
||||
langDir: 'lang/',
|
||||
},
|
||||
headlessui: {
|
||||
prefix: 'Headless'
|
||||
},
|
||||
naiveui:{
|
||||
|
||||
},
|
||||
colorMode: {
|
||||
preference: 'system', // default value of $colorMode.preference
|
||||
fallback: 'light', // fallback value if not system preference found
|
||||
classPrefix: '',
|
||||
classSuffix: '-mode',
|
||||
storageKey: 'nuxt-color-mode'
|
||||
}
|
||||
features: {
|
||||
inlineStyles: true,
|
||||
},
|
||||
runtimeConfig: {
|
||||
public: {
|
||||
Domain: process.env.WebSiteDomain || 'Nuxt Whois',
|
||||
DomainSuffix: process.env.WebSiteDomainSuffix || 'Dns',
|
||||
}
|
||||
},
|
||||
app: {
|
||||
head: {
|
||||
title: process.env.WebSiteTitle || 'Nuxt Whois',
|
||||
meta: [
|
||||
{charset: 'utf-8'},
|
||||
{name: 'viewport', content: 'width=device-width, initial-scale=1'},
|
||||
],
|
||||
link: [
|
||||
{rel: 'icon', type: 'image/x-icon', href: '/favicon.ico'}
|
||||
]
|
||||
}
|
||||
},
|
||||
i18n: {
|
||||
strategy: 'prefix_except_default',
|
||||
defaultLocale: 'zh',
|
||||
detectBrowserLanguage: {
|
||||
useCookie: true,
|
||||
},
|
||||
locales: [
|
||||
{code: 'zh', iso: 'zh-Hans', file: 'zh.ts'},
|
||||
{code: 'en', iso: 'en-US', file: 'en.ts'},
|
||||
{code: 'tw', iso: 'zh-Hant', file: 'tw.ts'},
|
||||
],
|
||||
langDir: 'lang/',
|
||||
},
|
||||
headlessui: {
|
||||
prefix: 'Headless'
|
||||
},
|
||||
naiveui: {
|
||||
colorModePreference: "light",
|
||||
},
|
||||
colorMode: {
|
||||
classSuffix: '',
|
||||
},
|
||||
tailwindcss: {
|
||||
exposeConfig: {
|
||||
write: true,
|
||||
}
|
||||
}
|
||||
})
|
||||
|
@ -28,7 +28,7 @@
|
||||
"less": "^4.2.0",
|
||||
"nuxt-headlessui": "^1.1.5",
|
||||
"nuxt-icon": "^0.6.10",
|
||||
"nuxt-simple-robots": "4.0.0-rc.15",
|
||||
"nuxt-simple-robots": "4.0.0-rc.16",
|
||||
"sass": "^1.72.0",
|
||||
"typescript": "5.4.3"
|
||||
}
|
||||
|
@ -27,7 +27,7 @@ const handleReset = async () => {
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div class="setting mt-5 settings-grid">
|
||||
<div class="setting mt-8 settings-grid">
|
||||
<n-h6 prefix="bar"> 基础设置</n-h6>
|
||||
<n-card class="set-item">
|
||||
<div class="top grid grid-cols-2 gap-4">
|
||||
|
@ -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({
|
||||
|
||||
<template>
|
||||
<table
|
||||
v-if="data != ''"
|
||||
class="w-full bg-[#fffffe] p-4 shadow-lg rounded-lg mt-5 dark:bg-gray-800 dark:text-gray-200 text-white hover:bg-none">
|
||||
<tbody class="divide-y divide-gray-200 dark:divide-gray-700">
|
||||
<tr v-if="parsedInfo.domainName"
|
||||
@ -131,23 +132,23 @@ useHead({
|
||||
class="hover:bg-gray-100 text-gray-900 dark:hover:bg-gray-700 text-gray-200">
|
||||
<th class="p-4 text-left font-semibold text-gray-900 dark:text-gray-200">{{ t('result.rawData') }}</th>
|
||||
<td class="p-4 text-gray-900 dark:text-gray-200">
|
||||
<NSwitch v-model:value="showRawData"/>
|
||||
<NSwitch v-model:value="showRawData"/>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<!-- 公告部分 -->
|
||||
<CommonBulletin v-if="error" class="mt-5" >
|
||||
<CommonBulletin v-if="data == ''" class="mt-5">
|
||||
<template #text>
|
||||
<Icon name="bx:error" size="16px" color="red" />
|
||||
<Icon name="bx:error" size="16px" color="red"/>
|
||||
{{ t('error.notFound') }}
|
||||
</template>
|
||||
</CommonBulletin>
|
||||
|
||||
<div
|
||||
class="w-full bg-[#fffffe] mt-5 p-4 shadow-lg rounded-lg whitespace-pre-wrap dark:text-gray-200 dark:bg-gray-800"
|
||||
v-if="showRawData">
|
||||
>
|
||||
{{ data }}
|
||||
</div>
|
||||
</template>
|
||||
|
14
plugins/setTheme.client.ts
Normal file
14
plugins/setTheme.client.ts
Normal file
@ -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)
|
||||
})
|
||||
})
|
162
pnpm-lock.yaml
generated
162
pnpm-lock.yaml
generated
@ -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:
|
||||
|
@ -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("接口不支持或者查询有误")
|
||||
}
|
||||
})
|
||||
|
@ -4,12 +4,14 @@ import serversData from '~/server/whois/json/whois-servers.json';
|
||||
// 定义接口来描述state的结构
|
||||
interface DomainState {
|
||||
SupportedTLDs: Record<string, string>;
|
||||
supportedTLDKeys: Set<string>;
|
||||
}
|
||||
|
||||
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,
|
||||
}
|
||||
|
@ -27,5 +27,5 @@ export default {
|
||||
corePlugins: {
|
||||
preflight: true,
|
||||
},
|
||||
darkMode: 'class',
|
||||
darkMode: "class"
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user