mirror of
https://github.com/Megghy/vtsuru.live.git
synced 2025-12-07 02:46:55 +08:00
alpha
This commit is contained in:
@@ -1,13 +1,12 @@
|
|||||||
import { ref } from 'vue'
|
import { ref } from 'vue'
|
||||||
|
|
||||||
const debugAPI = import.meta.env.VITE_DEBUG_API
|
const debugAPI = import.meta.env.VITE_DEBUG_API
|
||||||
const releseAPI = `${document.location.protocol}//api.vtsuru.live/`
|
const releseAPI = `${document.location.protocol}//api.vtsuru.live/api/`
|
||||||
|
|
||||||
export const isBackendUsable = ref(true)
|
export const isBackendUsable = ref(true)
|
||||||
|
|
||||||
export const BASE_API = process.env.NODE_ENV === 'development' ? debugAPI : releseAPI
|
export const BASE_API = process.env.NODE_ENV === 'development' ? debugAPI : releseAPI
|
||||||
export const FETCH_API = 'https://fetch.vtsuru.live/'
|
export const FETCH_API = 'https://fetch.vtsuru.live/'
|
||||||
export const FIVESING_SEARCH_API = 'http://search.5sing.kugou.com/home/json?sort=1&page=1&filter=3&type=0&keyword='
|
|
||||||
|
|
||||||
export const TURNSTILE_KEY = '0x4AAAAAAAETUSAKbds019h0'
|
export const TURNSTILE_KEY = '0x4AAAAAAAETUSAKbds019h0'
|
||||||
|
|
||||||
|
|||||||
@@ -12,6 +12,11 @@ const routes: Array<RouteRecordRaw> = [
|
|||||||
name: 'verify',
|
name: 'verify',
|
||||||
component: () => import('@/views/VerifyView.vue'),
|
component: () => import('@/views/VerifyView.vue'),
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: '/about',
|
||||||
|
name: 'about',
|
||||||
|
component: () => import('@/views/AboutView.vue'),
|
||||||
|
},
|
||||||
{
|
{
|
||||||
path: '/user/:id',
|
path: '/user/:id',
|
||||||
name: 'user',
|
name: 'user',
|
||||||
|
|||||||
1
src/svgs/ic_vtuber.svg
Normal file
1
src/svgs/ic_vtuber.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1697886231944" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2563" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M212.5568 605.0816C212.48 647.936 198.7584 687.1296 171.52 722.688c-40.9088 53.3248-83.9168 69.2736-77.824 85.1968 11.3408 35.4048 45.568 49.024 102.656 40.8832 36.7872 61.44 95.488 90.0096 176.0256 85.6064 88.6016-9.6 119.6544-92.0064 93.1072-247.2192l-252.9024-82.048zM734.6688 591.4112a293.504 293.504 0 0 1-52.352 122.8288c-40.448 55.7056-31.3856 56.9344-25.344 73.6 7.7824 21.4528 24.0128 50.048 48.7424 85.8112 80.2048 26.9312 158.3616 13.056 234.496-41.5744 30.9504-25.344-15.9744-57.2672-51.9424-136.6016-10.3168-22.784-5.0688-88.0128 15.7696-195.6608l-169.3696 91.5968z" fill="#23ADE5" p-id="2564"></path><path d="M706.2016 689.664l113.28-16.384c35.9936-44.6464 69.888-54.5024 101.6832-29.5168 47.6928 37.4272 8.2688 142.0288-71.5008 102.7584-1.7408 0-51.5072 5.5296-149.3504 16.64l5.888-73.5232zM420.6336 759.4752a41.8816 41.8816 0 0 1 18.5088 56.7296l-36.096 69.7088a43.136 43.136 0 0 1-57.5488 18.7648 41.8816 41.8816 0 0 1-18.4832-56.7296l36.0448-69.7088a43.136 43.136 0 0 1 57.5744-18.7648z" fill="#FFE6DF" p-id="2565"></path><path d="M465.4592 698.112c-35.5072-0.6656-67.456 23.296-95.872 71.8336-0.0512 0.3584 18.0992 20.1728 54.4512 59.4688l-18.5856 64.1536c2.6624 36.1728 57.0624 54.272 163.1744 54.272s165.1456-21.4272 177.152-64.2304l-30.72-93.2352c50.7904-1.1264 76.2112-7.424 76.2112-18.8416 0-17.152-27.6736-97.536-27.6736-115.328 0-11.8528-26.4448-5.632-79.3088 18.688l-218.8288 23.2192z" fill="#47CFE5" p-id="2566"></path><path d="M528.5376 684.0832l56.192-4.9152 22.912 53.6832c-23.9616 27.9552-38.3488 41.8048-43.0848 41.5232-6.3744-0.0256-22.912-11.1616-49.6384-33.408l13.6192-56.8832z" fill="#FED878" p-id="2567"></path><path d="M560.512 728.0128l-37.4272 106.3936 53.888 79.0784 38.8608-87.168z" fill="#FED878" p-id="2568"></path><path d="M574.5408 705.024c290.4832-44.8256 302.72-134.016 290.5088-252.928-12.2368-118.8864-160.2816-200.4224-330.752-182.0928-170.4192 18.3296-298.6752 129.5872-286.464 248.4736 12.2112 118.912 36.224 231.3216 326.7072 186.5216z" fill="#FFE6DF" p-id="2569"></path><path d="M388.0192 350.848c25.6512 24.32 31.744 31.4112 85.4528 58.4448 105.1392 42.752 245.8112 9.344 192.2048-92.928 19.5328 43.4176 96.256 99.7632 131.4304 118.5024-8.7552 137.216-15.5648 200.7808 8.7552 209.1008 19.584 6.7072 83.584-40.064 102.1184-171.1872 19.712-239.4624-231.7824-433.152-347.9552-354.304C283.7504 23.9616 83.2256 343.3472 139.648 558.5664c30.72 113.6896 139.392 207.9232 174.7456 182.3488 24.8064-17.92 3.2768-148.4288-35.0464-228.864 48.7168-40.448 68.7104-57.6256 108.672-161.1776z" fill="#23ADE5" p-id="2570"></path><path d="M337.3056 490.1632l2.3808 0.3584 129.3568 29.184c13.1584 2.944 16.896 19.3536 7.424 27.904l-2.0736 1.5872-105.9328 69.504a16.2816 16.2816 0 0 1-19.968-25.6l2.0992-1.6384 73.8048-48.4352-91.8784-20.736a16.3072 16.3072 0 0 1-12.6464-17.0752l0.3584-2.3808a16.3072 16.3072 0 0 1 17.0752-12.672z" fill="#24A7DA" p-id="2571"></path><path d="M653.927816 504.23771a86.5792 42.3168 84 1 0 84.169968-8.84662 86.5792 42.3168 84 1 0-84.169968 8.84662Z" fill="#24A7DA" p-id="2572"></path><path d="M625.2544 565.632l2.4064 0.256a16.2816 16.2816 0 0 1 13.2352 18.8672c-8.5248 48.2048-28.672 71.5264-57.4464 67.712a58.7776 58.7776 0 0 1-24.6272-9.9584l-1.3312-0.9472-1.5104 1.28c-28.6208 22.912-55.8848 15.0528-71.04-22.6304l-1.6896-4.48a16.2816 16.2816 0 0 1 30.72-10.9056l2.176 5.888c5.6576 14.1312 9.984 16.2048 20.0448 6.8608l4.0448-4.0448 4.6592-5.0944a16.3072 16.3072 0 0 1 23.04-1.3312l1.8432 1.9712c2.8672 3.584 11.8528 10.2912 17.9456 11.0848 7.5264 1.024 15.232-7.8848 21.0688-41.0624a16.3072 16.3072 0 0 1 16.4608-13.4656z" fill="#24A7DA" p-id="2573"></path></svg>
|
||||||
|
After Width: | Height: | Size: 3.9 KiB |
50
src/views/AboutView.vue
Normal file
50
src/views/AboutView.vue
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
<script setup lang="ts">
|
||||||
|
import { NButton, NCard, NDivider, NLayoutContent, NSpace, NText } from 'naive-ui'
|
||||||
|
</script>
|
||||||
|
<template>
|
||||||
|
<NLayoutContent style="height: 100vh">
|
||||||
|
<NSpace style="margin-top: 50px" justify="center" align="center" vertical>
|
||||||
|
<NCard style="max-width: 80vw; width: 700px">
|
||||||
|
<template #header> 关于 </template>
|
||||||
|
<NText>
|
||||||
|
一个兴趣释然的网站.
|
||||||
|
<br />
|
||||||
|
反馈 | 建议 | 需求 | 闲聊: 群:
|
||||||
|
<NButton
|
||||||
|
tag="a"
|
||||||
|
type="info"
|
||||||
|
target="_blank"
|
||||||
|
href="http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=uJNTU6LQ7xANoxP1IyZxS1xYkOKVOF7G&authKey=nl3Bv4UascE4tJ98UDTihEZSvivzuaQGfMViy1BqUe5lYgrz6hi0huK6dyAYq1hi&noverify=0&group_code=873260337"
|
||||||
|
text
|
||||||
|
>
|
||||||
|
873260337
|
||||||
|
</NButton>
|
||||||
|
<NDivider vertical />
|
||||||
|
邮箱:
|
||||||
|
<NButton
|
||||||
|
tag="a"
|
||||||
|
type="info"
|
||||||
|
href="mailto:megghy@qq.com"
|
||||||
|
text
|
||||||
|
>
|
||||||
|
megghy@qq.com
|
||||||
|
</NButton>
|
||||||
|
</NText>
|
||||||
|
<template #footer>
|
||||||
|
<NSpace vertical>
|
||||||
|
<span>
|
||||||
|
开发者:
|
||||||
|
<NButton type="primary" tag="a" href="https://space.bilibili.com/10021741" target="_blank" text style=""> Megghy </NButton>
|
||||||
|
</span>
|
||||||
|
<span>
|
||||||
|
技术栈: 前端 VUE3 + NAIVE UI, 后端 .NET 8
|
||||||
|
</span>
|
||||||
|
</NSpace>
|
||||||
|
</template>
|
||||||
|
</NCard>
|
||||||
|
<NButton @click="$router.push({ name: 'manage-index' })">
|
||||||
|
回到主页
|
||||||
|
</NButton>
|
||||||
|
</NSpace>
|
||||||
|
</NLayoutContent>
|
||||||
|
</template>
|
||||||
@@ -1,35 +1,110 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import RegisterAndLogin from '@/components/RegisterAndLogin.vue';
|
import RegisterAndLogin from '@/components/RegisterAndLogin.vue'
|
||||||
import { NGradientText, NSpace, NText } from 'naive-ui'
|
import { NCard, NDivider, NGradientText, NSpace, NText, NIcon, NGrid, NGridItem, NButton } from 'naive-ui'
|
||||||
|
import vtb from '@/svgs/ic_vtuber.svg'
|
||||||
|
import { AnalyticsSharp, Calendar, Chatbox, MusicalNote } from '@vicons/ionicons5'
|
||||||
|
import { useWindowSize } from '@vueuse/core'
|
||||||
|
import { Lottery24Filled, MoreHorizontal24Filled } from '@vicons/fluent'
|
||||||
|
|
||||||
|
const { width } = useWindowSize()
|
||||||
|
|
||||||
|
const functions = [
|
||||||
|
{
|
||||||
|
name: '日程表',
|
||||||
|
desc: '提供多种样式的日程表 (还没做完',
|
||||||
|
icon: Calendar,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '歌单',
|
||||||
|
desc: '可以放自己的歌单或者能唱的歌, 支持多种样式 (也还没做完',
|
||||||
|
icon: MusicalNote,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '棉花糖 (提问箱',
|
||||||
|
desc: '一个简单易用的提问箱',
|
||||||
|
icon: Chatbox,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '动态抽奖',
|
||||||
|
desc: '从动态评论区抽取评论或者转发的用户',
|
||||||
|
icon: Lottery24Filled,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '数据跟踪',
|
||||||
|
desc: '绑定账号后查看粉丝 舰长 观看数 等数据的历史记录',
|
||||||
|
icon: AnalyticsSharp,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '还有更多',
|
||||||
|
desc: '有其他合理需求或者建议, 或者有想要添加的样式? 向我提出!',
|
||||||
|
icon: MoreHorizontal24Filled,
|
||||||
|
},
|
||||||
|
]
|
||||||
|
|
||||||
|
const iconColor = 'white'
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="index-background">
|
<div class="index-background">
|
||||||
<NSpace justify="center">
|
<NSpace vertical justify="center" align="center" style="padding-top: 30px">
|
||||||
<NGradientText
|
<NSpace justify="center" align="center" :size="width > 700 ? 50 : 0">
|
||||||
:size="50"
|
<vtb />
|
||||||
:gradient="{
|
<NSpace vertical justify="center">
|
||||||
deg: 180,
|
<NGradientText
|
||||||
from: '#e5e5e5',
|
size="3.6rem"
|
||||||
to: '#c2ebeb',
|
:gradient="{
|
||||||
}"
|
deg: 180,
|
||||||
style="font-family: Microsoft YaHei,Times New Roman, Times, serif;"
|
from: '#e5e5e5',
|
||||||
>
|
to: '#c2ebeb',
|
||||||
VTSURU.LIVE
|
}"
|
||||||
</NGradientText>
|
style="font-family: Microsoft YaHei, Times New Roman, Times, serif; font-weight: 700"
|
||||||
|
>
|
||||||
|
VTSURU.LIVE
|
||||||
|
</NGradientText>
|
||||||
|
<NText style="font-size: 1.5em; font-weight: 500"> 一个给主播提供便利功能的网站 😊 </NText>
|
||||||
|
<span></span>
|
||||||
|
<NSpace justify="center">
|
||||||
|
<NButton type="primary" size="large" @click="$router.push({ name: 'manage-index' })"> 开始使用 </NButton>
|
||||||
|
</NSpace>
|
||||||
|
</NSpace>
|
||||||
|
</NSpace>
|
||||||
|
|
||||||
|
<NDivider style="width: 90vw" />
|
||||||
|
<NGrid cols="2 600:3 800:4" x-gap="50" y-gap="50" style="max-width: 80vw">
|
||||||
|
<NGridItem v-for="item in functions" :key="item.name">
|
||||||
|
<NSpace align="end">
|
||||||
|
<NIcon :component="item.icon" :color="iconColor" size="20" />
|
||||||
|
<NText class="index-feature header"> {{ item.name }} </NText>
|
||||||
|
</NSpace>
|
||||||
|
<NText class="index-feature content"> {{ item.desc }} </NText>
|
||||||
|
</NGridItem>
|
||||||
|
</NGrid>
|
||||||
|
</NSpace>
|
||||||
|
<NSpace style="position: absolute; bottom: 0;margin: 0 auto;width: 100vw;" justify="center">
|
||||||
|
<span style="color: white">
|
||||||
|
BY
|
||||||
|
<NButton tag="a" href="https://space.bilibili.com/10021741" target="_blank" text style="color: rgb(161, 236, 199)"> Megghy </NButton>
|
||||||
|
</span>
|
||||||
</NSpace>
|
</NSpace>
|
||||||
<div style="width:500px;">
|
|
||||||
<RegisterAndLogin />
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style lang="stylus">
|
<style lang="stylus" scoped>
|
||||||
body
|
body
|
||||||
margin:0
|
margin:0
|
||||||
.index-background
|
.index-background
|
||||||
|
display: abslute;
|
||||||
height: 100vh;
|
height: 100vh;
|
||||||
background: #8360c3; /* fallback for old browsers */
|
background: #8360c3; /* fallback for old browsers */
|
||||||
background: -webkit-linear-gradient(to right, #2ebf91, #8360c3); /* Chrome 10-25, Safari 5.1-6 */
|
background: -webkit-linear-gradient(to right, #2ebf91, #8360c3); /* Chrome 10-25, Safari 5.1-6 */
|
||||||
background: linear-gradient(to right, #2ebf91, #8360c3); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
|
background: linear-gradient(to right, #2ebf91, #8360c3); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
|
||||||
|
|
||||||
|
.index-background .header
|
||||||
|
font-size: 1.3rem;
|
||||||
|
font-weight: 700;
|
||||||
|
font-color: #b1b1b1;
|
||||||
|
.index-background .content
|
||||||
|
max-width: 300px;
|
||||||
|
font-size: 17px;
|
||||||
|
font-color: #b1b1b1;
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -193,7 +193,7 @@ onMounted(() => {
|
|||||||
<NSpace justify="center">
|
<NSpace justify="center">
|
||||||
<NText depth="3" v-if="width > 150">
|
<NText depth="3" v-if="width > 150">
|
||||||
有更多功能建议请
|
有更多功能建议请
|
||||||
<NButton text type="info"> 反馈 </NButton>
|
<NButton text type="info" @click="$router.push({ name: 'about' })"> 反馈 </NButton>
|
||||||
</NText>
|
</NText>
|
||||||
</NSpace>
|
</NSpace>
|
||||||
</NLayoutSider>
|
</NLayoutSider>
|
||||||
|
|||||||
@@ -1,16 +1,14 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useAccount } from '@/api/account'
|
import { useAccount } from '@/api/account'
|
||||||
import { NAlert, NButton, NCard, NDivider, NSpace, NTag, NText, NThing, NTime } from 'naive-ui'
|
import { NAlert, NButton, NCard, NDivider, NSpace, NTag, NText, NThing, NTime } from 'naive-ui'
|
||||||
import SettingsManageView from './SettingsManageView.vue';
|
import SettingsManageView from './SettingsManageView.vue'
|
||||||
|
|
||||||
const accountInfo = useAccount()
|
const accountInfo = useAccount()
|
||||||
|
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<NSpace justify="center" align="center" vertical style="width: 100%;">
|
<NSpace justify="center" align="center" vertical style="width: 100%">
|
||||||
<NCard embedded style="max-width: 90%;width: 800px;">
|
<NCard embedded style="max-width: 90%; width: 800px">
|
||||||
<NSpace align="center" justify="center" vertical>
|
<NSpace align="center" justify="center" vertical>
|
||||||
<NText style="font-size: 3rem">
|
<NText style="font-size: 3rem">
|
||||||
{{ accountInfo?.name }}
|
{{ accountInfo?.name }}
|
||||||
@@ -40,9 +38,9 @@ const accountInfo = useAccount()
|
|||||||
</template>
|
</template>
|
||||||
</NAlert>
|
</NAlert>
|
||||||
</NCard>
|
</NCard>
|
||||||
<div style="width: 100%;">
|
</NSpace>
|
||||||
<NDivider/>
|
<div>
|
||||||
|
<NDivider />
|
||||||
<SettingsManageView />
|
<SettingsManageView />
|
||||||
</div>
|
</div>
|
||||||
</NSpace>
|
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
@@ -237,7 +237,7 @@ onMounted(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<NButton @click="showAddModal = true"> 添加周程 </NButton>
|
<NButton @click="showAddModal = true" type="primary"> 添加周程 </NButton>
|
||||||
<NDivider />
|
<NDivider />
|
||||||
<NModal v-model:show="showAddModal" style="width: 600px; max-width: 90vw" preset="card" title="添加周程">
|
<NModal v-model:show="showAddModal" style="width: 600px; max-width: 90vw" preset="card" title="添加周程">
|
||||||
<NSpace vertical>
|
<NSpace vertical>
|
||||||
|
|||||||
Reference in New Issue
Block a user