feat(layout): 更换加速地址
- 更新网站标题和描述,添加关键词 - 更新 API 请求地址
This commit is contained in:
parent
5df0031a63
commit
6f4c6e8854
@ -30,7 +30,7 @@ export default function BlockedPage() {
|
|||||||
</CardHeader>
|
</CardHeader>
|
||||||
<CardContent>
|
<CardContent>
|
||||||
<p className="text-red-500 mb-4">抱歉,您尝试访问的内容已被禁止。这可能是由于版权、隐私或其他法律原因。</p>
|
<p className="text-red-500 mb-4">抱歉,您尝试访问的内容已被禁止。这可能是由于版权、隐私或其他法律原因。</p>
|
||||||
<p className="text-gray-600 mb-4">如果您认为这是一个错误,请联系网站管理员。</p>
|
<p className="text-gray-600 mb-4">如果您认为这是一个错误,请联系 i@mei.lv</p>
|
||||||
<p className="text-gray-600 mb-4">{countdown} 秒后将自动跳转...</p>
|
<p className="text-gray-600 mb-4">{countdown} 秒后将自动跳转...</p>
|
||||||
<Link href="/" className="text-blue-500 hover:underline">
|
<Link href="/" className="text-blue-500 hover:underline">
|
||||||
返回首页
|
返回首页
|
||||||
|
@ -6,8 +6,9 @@ import type React from "react"
|
|||||||
const inter = Inter({ subsets: ["latin"] })
|
const inter = Inter({ subsets: ["latin"] })
|
||||||
|
|
||||||
export const metadata: Metadata = {
|
export const metadata: Metadata = {
|
||||||
title: "Vocal Rank",
|
title: "Vocal Rank - 中V数据查询器(基于 NineVocalRank)",
|
||||||
description: "Vocal Rank",
|
description: "Vocal Rank - 中V数据查询器,基于 NineVocalRank",
|
||||||
|
keywords: ['Vocal Rank', 'NineVocalRank', 'Vocaloid', '中V', 'VC', '中V数据查询器', '周刊虚拟歌手中文曲', '洛天依', '乐正绫'],
|
||||||
}
|
}
|
||||||
|
|
||||||
export default function RootLayout({
|
export default function RootLayout({
|
||||||
|
@ -18,8 +18,8 @@ export default function DatabaseStats() {
|
|||||||
const fetchCounts = async () => {
|
const fetchCounts = async () => {
|
||||||
try {
|
try {
|
||||||
setLoading(true)
|
setLoading(true)
|
||||||
const videoResponse = await fetch("https://ecs-113-44-166-103.compute.hwclouds-dns.com/basic/v1/database/video_count")
|
const videoResponse = await fetch("https://v-api-proxy-cn-1.mei.lv:3389/basic/v1/database/video_count")
|
||||||
const uploaderResponse = await fetch("https://ecs-113-44-166-103.compute.hwclouds-dns.com/basic/v1/database/uploader_count")
|
const uploaderResponse = await fetch("https://v-api-proxy-cn-1.mei.lv:3389/basic/v1/database/uploader_count")
|
||||||
|
|
||||||
if (!videoResponse.ok || !uploaderResponse.ok) {
|
if (!videoResponse.ok || !uploaderResponse.ok) {
|
||||||
throw new Error("服务器响应错误")
|
throw new Error("服务器响应错误")
|
||||||
@ -42,7 +42,7 @@ export default function DatabaseStats() {
|
|||||||
}, [])
|
}, [])
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Card className="mt-8 bg-gradient-to-br from-pink-100 to-indigo-100 dark:from-pink-900 dark:to-indigo-900">
|
<Card className="mt-8 bg-gradient-to-br from-pink-100 to-indigo-100">
|
||||||
<CardHeader>
|
<CardHeader>
|
||||||
<CardTitle className="text-2xl font-bold text-primary">数据库统计</CardTitle>
|
<CardTitle className="text-2xl font-bold text-primary">数据库统计</CardTitle>
|
||||||
</CardHeader>
|
</CardHeader>
|
||||||
|
@ -1,28 +0,0 @@
|
|||||||
"use client"
|
|
||||||
import { Moon, Sun } from "lucide-react"
|
|
||||||
import { useTheme } from "next-themes"
|
|
||||||
|
|
||||||
import { Button } from "@/components/ui/button"
|
|
||||||
import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from "@/components/ui/dropdown-menu"
|
|
||||||
|
|
||||||
export function ModeToggle() {
|
|
||||||
const { setTheme } = useTheme()
|
|
||||||
|
|
||||||
return (
|
|
||||||
<DropdownMenu>
|
|
||||||
<DropdownMenuTrigger asChild>
|
|
||||||
<Button variant="outline" size="icon">
|
|
||||||
<Sun className="h-[1.2rem] w-[1.2rem] rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0" />
|
|
||||||
<Moon className="absolute h-[1.2rem] w-[1.2rem] rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100" />
|
|
||||||
<span className="sr-only">切换主题</span>
|
|
||||||
</Button>
|
|
||||||
</DropdownMenuTrigger>
|
|
||||||
<DropdownMenuContent align="end">
|
|
||||||
<DropdownMenuItem onClick={() => setTheme("light")}>浅色</DropdownMenuItem>
|
|
||||||
<DropdownMenuItem onClick={() => setTheme("dark")}>深色</DropdownMenuItem>
|
|
||||||
<DropdownMenuItem onClick={() => setTheme("system")}>系统</DropdownMenuItem>
|
|
||||||
</DropdownMenuContent>
|
|
||||||
</DropdownMenu>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
@ -13,7 +13,7 @@ export default function ServerStats() {
|
|||||||
const fetchServerStat = async () => {
|
const fetchServerStat = async () => {
|
||||||
try {
|
try {
|
||||||
setLoading(true)
|
setLoading(true)
|
||||||
const response = await fetch("https://ecs-113-44-166-103.compute.hwclouds-dns.com/basic/v1/ServerStat/info")
|
const response = await fetch("https://v-api-proxy-cn-1.mei.lv:3389/basic/v1/ServerStat/info")
|
||||||
if (!response.ok) {
|
if (!response.ok) {
|
||||||
throw new Error("服务器响应错误")
|
throw new Error("服务器响应错误")
|
||||||
}
|
}
|
||||||
@ -31,7 +31,7 @@ export default function ServerStats() {
|
|||||||
}, [])
|
}, [])
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Card className="bg-gradient-to-br from-blue-100 to-purple-100 dark:from-blue-900 dark:to-purple-900">
|
<Card className="bg-gradient-to-br from-blue-100 to-purple-100">
|
||||||
<CardHeader>
|
<CardHeader>
|
||||||
<CardTitle className="text-2xl font-bold text-primary">服务器统计</CardTitle>
|
<CardTitle className="text-2xl font-bold text-primary">服务器统计</CardTitle>
|
||||||
</CardHeader>
|
</CardHeader>
|
||||||
|
@ -38,7 +38,7 @@ export default function UploaderSearch() {
|
|||||||
setLoading(true)
|
setLoading(true)
|
||||||
setError(null)
|
setError(null)
|
||||||
try {
|
try {
|
||||||
const response = await fetch(`https://api.ninevocalrank.top/basic/v1/uploader/${uid}`)
|
const response = await fetch(`https://v-api-proxy-cn-1.mei.lv:3389/basic/v1/uploader/${uid}`)
|
||||||
if (!response.ok) {
|
if (!response.ok) {
|
||||||
throw new Error("服务器响应错误")
|
throw new Error("服务器响应错误")
|
||||||
}
|
}
|
||||||
@ -53,7 +53,7 @@ export default function UploaderSearch() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Card className="bg-gradient-to-br from-green-100 to-blue-100 dark:from-green-900 dark:to-blue-900">
|
<Card className="bg-gradient-to-br from-green-100 to-blue-100">
|
||||||
<CardHeader>
|
<CardHeader>
|
||||||
<CardTitle className="text-2xl font-bold text-primary">通过UID搜索UP主</CardTitle>
|
<CardTitle className="text-2xl font-bold text-primary">通过UID搜索UP主</CardTitle>
|
||||||
</CardHeader>
|
</CardHeader>
|
||||||
|
@ -88,10 +88,10 @@ export default function VideoSearch() {
|
|||||||
setError(null)
|
setError(null)
|
||||||
try {
|
try {
|
||||||
const response = await fetch(
|
const response = await fetch(
|
||||||
`https://ecs-113-44-166-103.compute.hwclouds-dns.com/vocaloid_rank/v1/video/${searchTerm}`,
|
`https://v-api-proxy-cn-1.mei.lv:3389/vocaloid_rank/v1/video/${searchTerm}`,
|
||||||
)
|
)
|
||||||
const weekly_response = await fetch(
|
const weekly_response = await fetch(
|
||||||
`https://ecs-113-44-166-103.compute.hwclouds-dns.com/vocaloid_rank/v1/sorted/${searchTerm}`,
|
`https://v-api-proxy-cn-1.mei.lv:3389/vocaloid_rank/v1/sorted/${searchTerm}`,
|
||||||
)
|
)
|
||||||
if (!response.ok || !weekly_response.ok) {
|
if (!response.ok || !weekly_response.ok) {
|
||||||
throw new Error("服务器响应错误")
|
throw new Error("服务器响应错误")
|
||||||
|
Loading…
Reference in New Issue
Block a user