whois/frontend/pages/domain/[domain].html.vue
2024-04-07 11:08:05 +08:00

87 lines
3.3 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<script setup lang="ts">
import {AdjustTimeToUTCOffset} from "~/utils/utc";
const {t} = useI18n()
const localePath = useLocalePath()
const settingsStore = useSettingsStore()
const route = useRoute();
const {domain} = route.params;
const domainData = typeof domain === "string" ? domain?.replace(/_/g, '.') : "";
const {data: domainInfo, pending, error, refresh} = await useAsyncData(
'domain',
() => $fetch('/api/domain', {
method: 'POST',
body: {
domain: domainData,
}
})
)
if (!error.value && settingsStore.getIsHistory) {
settingsStore.addOrUpdateHistory(
{
id: domainData,
type: 'domain',
domain: domainData,
path: localePath(`/domain/${domain}.html`),
date: AdjustTimeToUTCOffset(new Date().toString(), settingsStore.timeZones)
}
)
}
</script>
<template>
<div class="mt-5 mx-auto mb-5">
<div
v-if="domainStore.getHasDomainShown"
class="bg-white dark:bg-gray-900 shadow rounded-lg overflow-hidden">
<div class="p-6 space-y-4">
<div
class="flex justify-between items-center">
<n-tag type="info" size="medium">域名信息</n-tag>
<n-tag v-if="domainStore.getHasDomainShown" type="success" size="medium">
Api来源{{ domainStore.getFirstNewDomainShown?.name }}
</n-tag>
</div>
<div class="grid grid-cols-2 gap-4 text-sm">
<p class="text-gray-800 dark:text-gray-200">域名: <span class="font-medium">{{ domainInfo.domain }}</span></p>
<p class="text-gray-800 dark:text-gray-200">货币: <span class="font-medium">{{
domainInfo.currency
}} ({{ domainInfo.currency_symbol }})</span></p>
<p class="text-gray-800 dark:text-gray-200">新注册价格: <span
class="font-medium">{{ domainInfo.currency_symbol }}{{ domainInfo.new }}</span>
</p>
<p class="text-gray-800 dark:text-gray-200">续费价格: <span class="font-medium">{{
domainInfo.currency_symbol
}}{{ domainInfo.renew }}</span></p>
<p v-if="domainInfo.premium" class="text-gray-800 dark:text-gray-200">溢价<span
class="font-medium">{{ domainInfo.premium ? '支持' : '不支持' }}</span></p>
<p v-else class="text-gray-800 dark:text-gray-200">溢价功能<span
class="font-medium">{{ domainInfo.premium ? '支持' : '不支持' }}</span></p>
</div>
</div>
</div>
<div
v-else
class="bg-white shadow-lg rounded-lg overflow-hidden"> <!-- 使用 min-h-screen 确保占满至少一个屏幕高度 -->
<div
class="p-8 ">
<!-- 增加内边距使用更大的最大宽度更大的圆角和阴影 -->
<h2 class="mb-6 text-xl font-bold text-gray-900 dark:text-white w-full">提示</h2> <!-- 增大标题文字和下边距 -->
<p class="text-center my-2 text-lg text-gray-700 dark:text-gray-400 w-full">当前没有可用的 Domain 服务器</p>
<!-- 增大正文文字尺寸并添加更多说明 -->
<p class="text-center my-2 text-lg text-gray-700 dark:text-gray-400 w-full">请检查您的Domain设置或稍后再试</p>
<!-- 增大正文文字尺寸并添加更多说明 -->
</div>
</div>
</div>
</template>
<style scoped>
</style>