mirror of
https://github.com/imsyy/home.git
synced 2024-11-16 03:32:17 +08:00
Fix Bug
This commit is contained in:
parent
3463084339
commit
6e416bfec0
5
.env
5
.env
|
@ -16,12 +16,15 @@ VITE_SOCIAL_TELEGRAM = "bottom_user"
|
|||
VITE_SOCIAL_TWITTER = "iimmsyy"
|
||||
|
||||
# 网站链接
|
||||
## 请在 src\components\Links\index.vue 中设置
|
||||
## 请在 src/components/Links/index.vue 中设置
|
||||
|
||||
# 天气 Key
|
||||
## 请前往高德开放平台注册 Web服务 Key
|
||||
## 请各位大佬行行好,别再让我超量了
|
||||
VITE_WEATHER_KEY = "57eaea5833ff1616cfd1ff2c4cf9b58a"
|
||||
|
||||
# 歌曲 API 地址
|
||||
VITE_SONG_API = "https://api-meting.imsyy.top"
|
||||
# 歌曲服务器 ( netease-网易云, tencent-qq音乐 )
|
||||
VITE_SONG_SERVER = "netease"
|
||||
# 播放类型 ( song-歌曲, playlist-播放列表, album-专辑, search-搜索, artist-艺术家 )
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
{
|
||||
"name": "home",
|
||||
"author": "imsyy",
|
||||
"github": "https://github.com/imsyy/home",
|
||||
"home": "https://imsyy.top",
|
||||
"private": true,
|
||||
"version": "4.0.0",
|
||||
"type": "module",
|
||||
|
@ -15,6 +18,7 @@
|
|||
"element-plus": "^2.2.18",
|
||||
"pinia": "^2.0.23",
|
||||
"pinia-plugin-persistedstate": "^3.0.0",
|
||||
"terser": "^5.16.1",
|
||||
"vue": "^3.2.37",
|
||||
"vue3-aplayer": "^1.7.3"
|
||||
},
|
||||
|
@ -29,4 +33,4 @@
|
|||
"vite": "^3.1.0",
|
||||
"vite-plugin-html": "^3.2.0"
|
||||
}
|
||||
}
|
||||
}
|
75
src/App.vue
75
src/App.vue
|
@ -3,30 +3,28 @@
|
|||
<Background />
|
||||
<main>
|
||||
<div class="container" v-show="!store.backgroundShow">
|
||||
<transition name="el-fade-in-linear">
|
||||
<section class="main" v-show="!store.setOpenState">
|
||||
<MainLeft />
|
||||
<MainRight v-show="!store.boxOpenState" />
|
||||
<Box v-show="store.boxOpenState" />
|
||||
</section>
|
||||
</transition>
|
||||
<transition name="el-fade-in-linear">
|
||||
<section
|
||||
class="more"
|
||||
v-show="store.setOpenState"
|
||||
@click="store.setOpenState = false"
|
||||
>
|
||||
<MoreSet />
|
||||
</section>
|
||||
</transition>
|
||||
<section class="main" v-show="!store.setOpenState">
|
||||
<MainLeft />
|
||||
<MainRight v-show="!store.boxOpenState" />
|
||||
<Box v-show="store.boxOpenState" />
|
||||
</section>
|
||||
<section
|
||||
class="more"
|
||||
v-show="store.setOpenState"
|
||||
@click="store.setOpenState = false"
|
||||
>
|
||||
<MoreSet />
|
||||
</section>
|
||||
</div>
|
||||
</main>
|
||||
<Footer v-show="!store.backgroundShow" />
|
||||
<Footer v-show="!store.backgroundShow && !store.setOpenState" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { onMounted, onBeforeUnmount } from "vue";
|
||||
import { onMounted, onBeforeUnmount, watch } from "vue";
|
||||
import { helloInit, checkDays } from "@/utils/getTime.js";
|
||||
import { mainStore } from "@/store";
|
||||
import MainLeft from "@/views/Main/Left.vue";
|
||||
import MainRight from "@/views/Main/Right.vue";
|
||||
import Background from "@/components/Background/index.vue";
|
||||
|
@ -34,8 +32,10 @@ import Footer from "@/components/Footer/index.vue";
|
|||
import Box from "@/views/Box/index.vue";
|
||||
import MoreSet from "@/views/MoreSet/index.vue";
|
||||
import cursorInit from "@/utils/cursor.js";
|
||||
import { helloInit, checkDays } from "@/utils/getTime.js";
|
||||
import { mainStore } from "@/store";
|
||||
import config from "@/../package.json";
|
||||
// 新春灯笼
|
||||
import "@/utils/lantern.js";
|
||||
|
||||
const store = mainStore();
|
||||
|
||||
// 页面宽度
|
||||
|
@ -76,8 +76,38 @@ onMounted(() => {
|
|||
// 监听当前页面宽度
|
||||
getWidth();
|
||||
window.addEventListener("resize", getWidth);
|
||||
|
||||
// 控制台输出
|
||||
let styleTitle1 = "font-size: 20px;font-weight: 600;color: rgb(244,167,89);";
|
||||
let styleTitle2 = "font-size:12px;color: rgb(244,167,89);";
|
||||
let styleContent = "color: rgb(30,152,255);";
|
||||
let title1 = "無名の主页";
|
||||
let title2 = `
|
||||
_____ __ __ _______ ____ __
|
||||
|_ _| \\/ |/ ____\\ \\ / /\\ \\ / /
|
||||
| | | \\ / | (___ \\ \\_/ / \\ \\_/ /
|
||||
| | | |\\/| |\\___ \\ \\ / \\ /
|
||||
_| |_| | | |____) | | | | |
|
||||
|_____|_| |_|_____/ |_| |_|`;
|
||||
let content = `\n\n版本: ${config.version}\n主页: ${config.home}\nGithub: ${config.github}`;
|
||||
console.info(
|
||||
`%c${title1} %c${title2} %c${content}`,
|
||||
styleTitle1,
|
||||
styleTitle2,
|
||||
styleContent
|
||||
);
|
||||
});
|
||||
|
||||
// 监听宽度变化
|
||||
watch(
|
||||
() => store.innerWidth,
|
||||
(value) => {
|
||||
if (value < 990) {
|
||||
store.boxOpenState = false;
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
onBeforeUnmount(() => {
|
||||
window.removeEventListener("resize", getWidth);
|
||||
});
|
||||
|
@ -89,7 +119,7 @@ main {
|
|||
width: 100%;
|
||||
height: 100vh;
|
||||
margin: 0 auto;
|
||||
|
||||
padding: 0 2vw;
|
||||
.main {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
|
@ -99,7 +129,6 @@ main {
|
|||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.more {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
|
@ -109,6 +138,8 @@ main {
|
|||
background-color: #00000080;
|
||||
backdrop-filter: blur(20px);
|
||||
z-index: 2;
|
||||
animation: fade;
|
||||
-webkit-animation: fade 0.5s;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
// 获取音乐播放列表
|
||||
export const getPlayerList = async (server, type, id) => {
|
||||
const res = await fetch(`https://api-meting.imsyy.top/?server=${server}&type=${type}&id=${id}`);
|
||||
const res = await fetch(`${import.meta.env.VITE_SONG_API}/?server=${server}&type=${type}&id=${id}`);
|
||||
return await res.json();
|
||||
}
|
||||
|
||||
|
|
|
@ -1,38 +1,36 @@
|
|||
<template>
|
||||
<footer>
|
||||
<Transition name="fade">
|
||||
<div class="power" v-show="!store.playerState">
|
||||
<span
|
||||
>Copyright © {{ fullYear }}
|
||||
<a href="https://imsyy.top">無名</a>
|
||||
</span>
|
||||
<!-- 以下信息请不要修改哦 -->
|
||||
<span
|
||||
> & Made by <a
|
||||
href="https://github.com/imsyy/home"
|
||||
target="_blank"
|
||||
>imsyy</a
|
||||
> </span
|
||||
> &
|
||||
<!-- 站点备案 -->
|
||||
<a href="https://beian.miit.gov.cn" target="_blank"
|
||||
>豫ICP备2022018134号-1</a
|
||||
<div class="power" v-show="!store.playerState">
|
||||
<span
|
||||
>Copyright © {{ fullYear }}
|
||||
<a href="https://imsyy.top">無名</a>
|
||||
</span>
|
||||
<!-- 以下信息请不要修改哦 -->
|
||||
<span
|
||||
> & Made by <a
|
||||
:href="config.github"
|
||||
target="_blank"
|
||||
>
|
||||
</div>
|
||||
</Transition>
|
||||
<Transition name="fade">
|
||||
<div class="lrc" v-show="store.playerState">
|
||||
<music-one theme="filled" size="18" fill="#efefef" />
|
||||
<span class="lrc-text">{{ store.getPlayerLrc }}</span>
|
||||
<music-one theme="filled" size="18" fill="#efefef" />
|
||||
</div>
|
||||
</Transition>
|
||||
{{ config.author }}
|
||||
</a> </span
|
||||
> &
|
||||
<!-- 站点备案 -->
|
||||
<a href="https://beian.miit.gov.cn" target="_blank"
|
||||
>豫ICP备2022018134号-1</a
|
||||
>
|
||||
</div>
|
||||
<div class="lrc" v-show="store.playerState">
|
||||
<music-one theme="filled" size="18" fill="#efefef" />
|
||||
<span class="lrc-text">{{ store.getPlayerLrc }}</span>
|
||||
<music-one theme="filled" size="18" fill="#efefef" />
|
||||
</div>
|
||||
</footer>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { MusicOne } from "@icon-park/vue-next";
|
||||
import { mainStore } from "@/store";
|
||||
import config from "@/../package.json";
|
||||
const store = mainStore();
|
||||
|
||||
let fullYear = new Date().getFullYear();
|
||||
|
@ -50,11 +48,19 @@ footer {
|
|||
backdrop-filter: blur(10px);
|
||||
background: rgb(0 0 0 / 25%);
|
||||
z-index: 0;
|
||||
animation: fade;
|
||||
-webkit-animation: fade 0.5s;
|
||||
.power {
|
||||
animation: fade;
|
||||
-webkit-animation: fade 0.3s;
|
||||
}
|
||||
.lrc {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
animation: fade;
|
||||
-webkit-animation: fade 0.3s;
|
||||
.lrc-text {
|
||||
margin: 0 8px;
|
||||
}
|
||||
|
|
|
@ -89,6 +89,7 @@ const jumpLink = (url) => {
|
|||
.title {
|
||||
margin-left: 8px;
|
||||
font-size: 1.15rem;
|
||||
text-shadow: 0 0 5px #00000050;
|
||||
}
|
||||
}
|
||||
.link-all {
|
||||
|
@ -100,15 +101,23 @@ const jumpLink = (url) => {
|
|||
align-items: center;
|
||||
flex-direction: row;
|
||||
justify-content: center;
|
||||
.name {
|
||||
font-size: 1.1rem;
|
||||
margin-left: 8px;
|
||||
animation: fade;
|
||||
-webkit-animation: fade 0.5s;
|
||||
@media (max-width: 820px) {
|
||||
.name {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
&:hover {
|
||||
transform: scale(1.02);
|
||||
background: rgb(0 0 0 / 40%);
|
||||
transition: 0.3s;
|
||||
}
|
||||
.name {
|
||||
font-size: 1.1rem;
|
||||
margin-left: 8px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -81,6 +81,8 @@ watch(
|
|||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
animation: fade;
|
||||
-webkit-animation: fade 0.5s;
|
||||
|
||||
.logo-img {
|
||||
border-radius: 50%;
|
||||
|
@ -108,13 +110,15 @@ watch(
|
|||
padding: 1rem;
|
||||
margin-top: 3.5rem;
|
||||
max-width: 460px;
|
||||
animation: fade;
|
||||
-webkit-animation: fade 0.5s;
|
||||
|
||||
.content {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
|
||||
.text {
|
||||
margin: 0.75rem auto;
|
||||
margin: 0.75rem 1rem;
|
||||
line-height: 2rem;
|
||||
margin-right: auto;
|
||||
|
||||
|
|
|
@ -39,41 +39,37 @@
|
|||
/>
|
||||
</div>
|
||||
<div class="menu">
|
||||
<Transition name="fade">
|
||||
<div class="name" v-show="!volumeShow">
|
||||
<span>{{
|
||||
store.getPlayerData.name
|
||||
? store.getPlayerData.name + " - " + store.getPlayerData.artist
|
||||
: "未播放音乐"
|
||||
}}</span>
|
||||
</div>
|
||||
</Transition>
|
||||
<Transition name="fade">
|
||||
<div class="volume" v-show="volumeShow">
|
||||
<div class="icon">
|
||||
<volume-mute
|
||||
theme="filled"
|
||||
size="24"
|
||||
fill="#efefef"
|
||||
v-if="volumeNum == 0"
|
||||
/>
|
||||
<volume-small
|
||||
theme="filled"
|
||||
size="24"
|
||||
fill="#efefef"
|
||||
v-else-if="volumeNum > 0 && volumeNum < 0.7"
|
||||
/>
|
||||
<volume-notice theme="filled" size="24" fill="#efefef" v-else />
|
||||
</div>
|
||||
<el-slider
|
||||
v-model="volumeNum"
|
||||
:show-tooltip="false"
|
||||
:min="0"
|
||||
:max="1"
|
||||
:step="0.01"
|
||||
<div class="name" v-show="!volumeShow">
|
||||
<span>{{
|
||||
store.getPlayerData.name
|
||||
? store.getPlayerData.name + " - " + store.getPlayerData.artist
|
||||
: "未播放音乐"
|
||||
}}</span>
|
||||
</div>
|
||||
<div class="volume" v-show="volumeShow">
|
||||
<div class="icon">
|
||||
<volume-mute
|
||||
theme="filled"
|
||||
size="24"
|
||||
fill="#efefef"
|
||||
v-if="volumeNum == 0"
|
||||
/>
|
||||
<volume-small
|
||||
theme="filled"
|
||||
size="24"
|
||||
fill="#efefef"
|
||||
v-else-if="volumeNum > 0 && volumeNum < 0.7"
|
||||
/>
|
||||
<volume-notice theme="filled" size="24" fill="#efefef" v-else />
|
||||
</div>
|
||||
</Transition>
|
||||
<el-slider
|
||||
v-model="volumeNum"
|
||||
:show-tooltip="false"
|
||||
:min="0"
|
||||
:max="1"
|
||||
:step="0.01"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 音乐列表弹窗 -->
|
||||
|
@ -260,6 +256,8 @@ watch(
|
|||
overflow-x: hidden;
|
||||
white-space: nowrap;
|
||||
// font-size: 1.1rem;
|
||||
animation: fade;
|
||||
-webkit-animation: fade 0.3s;
|
||||
}
|
||||
|
||||
.volume {
|
||||
|
@ -268,6 +266,8 @@ watch(
|
|||
display: flex;
|
||||
align-items: center;
|
||||
flex-direction: row;
|
||||
animation: fade;
|
||||
-webkit-animation: fade 0.3s;
|
||||
|
||||
.icon {
|
||||
margin-right: 12px;
|
||||
|
@ -350,20 +350,23 @@ watch(
|
|||
}
|
||||
|
||||
// 弹窗动画
|
||||
.fade-enter-active {
|
||||
animation: fade 0.3s ease-in-out;
|
||||
}
|
||||
.fade-leave-active {
|
||||
animation: fade 0.3s ease-in-out reverse;
|
||||
}
|
||||
.zoom-enter-active {
|
||||
animation: zoom 0.4s ease-in-out;
|
||||
}
|
||||
|
||||
.zoom-leave-active {
|
||||
animation: zoom 0.3s ease-in-out reverse;
|
||||
}
|
||||
|
||||
@keyframes zoom {
|
||||
0% {
|
||||
opacity: 0;
|
||||
transform: scale(0) translateY(-600px);
|
||||
}
|
||||
|
||||
100% {
|
||||
opacity: 1;
|
||||
transform: scale(1) translateY(0);
|
||||
|
|
|
@ -197,12 +197,15 @@ onMounted(() => {
|
|||
});
|
||||
|
||||
state.instance.on("timeupdate", () => {
|
||||
playerData.lrc = playerRef.value.getElementsByClassName(
|
||||
"aplayer-lrc-current"
|
||||
)[0].innerHTML;
|
||||
if (playerRef.value) {
|
||||
playerData.lrc = playerRef.value.getElementsByClassName(
|
||||
"aplayer-lrc-current"
|
||||
)[0].innerHTML;
|
||||
}
|
||||
});
|
||||
})
|
||||
.catch(() => {
|
||||
store.musicIsOk = false;
|
||||
ElMessage({
|
||||
message: "播放器加载失败",
|
||||
grouping: true,
|
||||
|
|
|
@ -131,6 +131,20 @@ const leaveTip = () => {
|
|||
background-color: transparent;
|
||||
border-radius: 6px;
|
||||
backdrop-filter: blur(0);
|
||||
animation: fade;
|
||||
-webkit-animation: fade 0.5s;
|
||||
@media (max-width: 840px) {
|
||||
max-width: 100%;
|
||||
justify-content: center;
|
||||
.link {
|
||||
justify-content: space-evenly !important;
|
||||
width: 90%;
|
||||
}
|
||||
.tip {
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
.link {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
// 首次调用
|
||||
@include changeWidth;
|
||||
|
||||
/* 小于1200px时 */
|
||||
/* 小于1380px时 */
|
||||
@media (max-width: 1380px) {
|
||||
.el-radio-group {
|
||||
justify-content: center !important;
|
||||
|
@ -20,11 +20,6 @@
|
|||
/* 小于1200px时 */
|
||||
@media (max-width: 1200px) {
|
||||
@include changeWidth($maxWidth:1000px);
|
||||
|
||||
// 隐藏元素
|
||||
.sm-hidden {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
/* 小于992px时 */
|
||||
|
|
|
@ -26,13 +26,11 @@ p {
|
|||
-webkit-user-drag: none;
|
||||
user-select: none;
|
||||
text-decoration: none;
|
||||
transition: .3s;
|
||||
color: #fff;
|
||||
box-sizing: border-box;
|
||||
|
||||
&:hover {
|
||||
transition: .3s;
|
||||
// color: #ffffff90;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -66,19 +64,15 @@ p {
|
|||
-webkit-backdrop-filter: blur(10px);
|
||||
backdrop-filter: blur(10px);
|
||||
transform: scale(1);
|
||||
transition: 0.5s;
|
||||
animation: fade;
|
||||
-webkit-animation: fade 0.5s;
|
||||
transition: all 0.3s;
|
||||
}
|
||||
|
||||
.cards:hover {
|
||||
transform: scale(1.01);
|
||||
transition: 0.5s;
|
||||
}
|
||||
|
||||
.cards:active {
|
||||
transform: scale(0.98);
|
||||
transition: 0.5s;
|
||||
}
|
||||
|
||||
// 弹窗样式
|
||||
|
@ -143,14 +137,6 @@ p {
|
|||
}
|
||||
|
||||
// 渐入动画
|
||||
.fade-enter-active {
|
||||
animation: fade 0.3s ease-in-out;
|
||||
}
|
||||
|
||||
.fade-leave-active {
|
||||
animation: fade 0.3s ease-in-out reverse;
|
||||
}
|
||||
|
||||
@keyframes fade {
|
||||
0% {
|
||||
opacity: 0;
|
||||
|
@ -161,6 +147,14 @@ p {
|
|||
}
|
||||
}
|
||||
|
||||
// 隐藏元素
|
||||
@media (min-width: 910px) and (max-width: 1200px) {
|
||||
.sm-hidden {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// 自定义鼠标
|
||||
#cursor {
|
||||
position: fixed;
|
||||
|
@ -181,7 +175,6 @@ p {
|
|||
&.active {
|
||||
opacity: 0.5;
|
||||
transform: scale(0.5);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
6
src/utils/lantern.js
Normal file
6
src/utils/lantern.js
Normal file
File diff suppressed because one or more lines are too long
|
@ -1,12 +1,28 @@
|
|||
<template>
|
||||
<div class="box cards" @mouseenter="closeShow = true" @mouseleave="closeShow = false">
|
||||
<div
|
||||
class="box cards"
|
||||
@mouseenter="closeShow = true"
|
||||
@mouseleave="closeShow = false"
|
||||
>
|
||||
<transition name="el-fade-in-linear">
|
||||
<close-one class="close" theme="filled" size="28" fill="#ffffff60" v-show="closeShow"
|
||||
@click="store.boxOpenState = false" />
|
||||
<close-one
|
||||
class="close"
|
||||
theme="filled"
|
||||
size="28"
|
||||
fill="#ffffff60"
|
||||
v-show="closeShow"
|
||||
@click="store.boxOpenState = false"
|
||||
/>
|
||||
</transition>
|
||||
<transition name="el-fade-in-linear">
|
||||
<setting-two class="setting" theme="filled" size="28" fill="#ffffff60" v-show="closeShow"
|
||||
@click="store.setOpenState = true" />
|
||||
<setting-two
|
||||
class="setting"
|
||||
theme="filled"
|
||||
size="28"
|
||||
fill="#ffffff60"
|
||||
v-show="closeShow"
|
||||
@click="store.setOpenState = true"
|
||||
/>
|
||||
</transition>
|
||||
<div class="content">
|
||||
<TimeCapsule />
|
||||
|
@ -15,24 +31,13 @@
|
|||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ref, watch } from "vue";
|
||||
import { ref } from "vue";
|
||||
import { CloseOne, SettingTwo } from "@icon-park/vue-next";
|
||||
import TimeCapsule from "@/components/TimeCapsule/index.vue";
|
||||
import { mainStore } from "@/store";
|
||||
const store = mainStore();
|
||||
|
||||
let closeShow = ref(false);
|
||||
|
||||
// 监听宽度变化
|
||||
watch(
|
||||
() => store.innerWidth,
|
||||
(value) => {
|
||||
console.log(value);
|
||||
if (value < 990 && store.boxOpenState) {
|
||||
store.boxOpenState = false;
|
||||
}
|
||||
}
|
||||
);
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
@ -41,6 +46,8 @@ watch(
|
|||
margin-left: 0.75rem;
|
||||
height: 80%;
|
||||
position: relative;
|
||||
animation: fade;
|
||||
-webkit-animation: fade 0.5s;
|
||||
|
||||
&:hover {
|
||||
transform: scale(1);
|
||||
|
|
|
@ -66,6 +66,17 @@ onBeforeUnmount(() => {
|
|||
width: 100%;
|
||||
margin: 0 !important;
|
||||
.el-col {
|
||||
@media (max-width: 910px) {
|
||||
&:nth-of-type(1) {
|
||||
display: none;
|
||||
}
|
||||
&:nth-of-type(2) {
|
||||
padding: 0 !important;
|
||||
flex: none;
|
||||
max-width: none;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
&:nth-of-type(1) {
|
||||
padding-left: 0 !important;
|
||||
}
|
||||
|
@ -84,6 +95,8 @@ onBeforeUnmount(() => {
|
|||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
animation: fade;
|
||||
-webkit-animation: fade 0.5s;
|
||||
.time {
|
||||
font-size: 1.1rem;
|
||||
text-align: center;
|
||||
|
|
|
@ -9,9 +9,9 @@
|
|||
|
||||
<script setup>
|
||||
import { reactive, ref, onMounted } from "vue";
|
||||
import { mainStore } from "@/store";
|
||||
import Func from "@/views/Func/index.vue";
|
||||
import Link from "@/components/Links/index.vue";
|
||||
import { mainStore } from "@/store";
|
||||
const store = mainStore();
|
||||
</script>
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
<div class="version">
|
||||
<div class="num">v {{ config.version }}</div>
|
||||
<el-tooltip content="Github 源代码仓库" placement="right" :show-arrow="false">
|
||||
<github-one class="github" theme="outline" size="24" @click="jumpTo" />
|
||||
<github-one class="github" theme="outline" size="24" @click="jumpTo(config.github)" />
|
||||
</el-tooltip>
|
||||
</div>
|
||||
<el-card class="update">
|
||||
|
@ -65,8 +65,8 @@ let upData = reactive({
|
|||
})
|
||||
|
||||
// 跳转源代码仓库
|
||||
const jumpTo = () => {
|
||||
window.open('https://github.com/imsyy/home');
|
||||
const jumpTo = (url) => {
|
||||
window.open(url);
|
||||
};
|
||||
</script>
|
||||
|
||||
|
|
|
@ -54,5 +54,14 @@ export default ({
|
|||
additionalData: `@import "./src/style/global.scss";`
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
build: {
|
||||
minify: 'terser',
|
||||
terserOptions: {
|
||||
compress: {
|
||||
// 生产环境时移除 console
|
||||
pure_funcs: ['console.log'],
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
|
@ -1,62 +0,0 @@
|
|||
// vite.config.js
|
||||
import {
|
||||
defineConfig,
|
||||
loadEnv
|
||||
} from "file:///D:/Html/WorkSpace/Home/node_modules/vite/dist/node/index.js";
|
||||
import vue from "file:///D:/Html/WorkSpace/Home/node_modules/@vitejs/plugin-vue/dist/index.mjs";
|
||||
import AutoImport from "file:///D:/Html/WorkSpace/Home/node_modules/unplugin-auto-import/dist/vite.js";
|
||||
import Components from "file:///D:/Html/WorkSpace/Home/node_modules/unplugin-vue-components/dist/vite.mjs";
|
||||
import {
|
||||
ElementPlusResolver
|
||||
} from "file:///D:/Html/WorkSpace/Home/node_modules/unplugin-vue-components/dist/resolvers.mjs";
|
||||
import {
|
||||
createHtmlPlugin
|
||||
} from "file:///D:/Html/WorkSpace/Home/node_modules/vite-plugin-html/dist/index.mjs";
|
||||
import {
|
||||
resolve
|
||||
} from "path";
|
||||
var __vite_injected_original_dirname = "D:\\Html\\WorkSpace\\Home";
|
||||
var vite_config_default = ({
|
||||
mode
|
||||
}) => defineConfig({
|
||||
plugins: [
|
||||
vue(),
|
||||
AutoImport({
|
||||
resolvers: [ElementPlusResolver()]
|
||||
}),
|
||||
Components({
|
||||
resolvers: [ElementPlusResolver()]
|
||||
}),
|
||||
createHtmlPlugin({
|
||||
minify: true,
|
||||
template: "index.html",
|
||||
inject: {
|
||||
data: {
|
||||
title: loadEnv(mode, process.cwd()).VITE_SITE_NAME
|
||||
}
|
||||
}
|
||||
})
|
||||
],
|
||||
server: {
|
||||
port: "3000",
|
||||
hmr: true
|
||||
},
|
||||
resolve: {
|
||||
alias: [{
|
||||
find: "@",
|
||||
replacement: resolve(__vite_injected_original_dirname, "src")
|
||||
}]
|
||||
},
|
||||
css: {
|
||||
preprocessorOptions: {
|
||||
scss: {
|
||||
charset: false,
|
||||
additionalData: `@import "./src/style/global.scss";`
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
export {
|
||||
vite_config_default as default
|
||||
};
|
||||
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcuanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCJEOlxcXFxIdG1sXFxcXFdvcmtTcGFjZVxcXFxIb21lXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ZpbGVuYW1lID0gXCJEOlxcXFxIdG1sXFxcXFdvcmtTcGFjZVxcXFxIb21lXFxcXHZpdGUuY29uZmlnLmpzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ltcG9ydF9tZXRhX3VybCA9IFwiZmlsZTovLy9EOi9IdG1sL1dvcmtTcGFjZS9Ib21lL3ZpdGUuY29uZmlnLmpzXCI7aW1wb3J0IHtcbiAgZGVmaW5lQ29uZmlnLFxuICBsb2FkRW52XG59IGZyb20gJ3ZpdGUnO1xuaW1wb3J0IHZ1ZSBmcm9tICdAdml0ZWpzL3BsdWdpbi12dWUnO1xuaW1wb3J0IEF1dG9JbXBvcnQgZnJvbSAndW5wbHVnaW4tYXV0by1pbXBvcnQvdml0ZSdcbmltcG9ydCBDb21wb25lbnRzIGZyb20gJ3VucGx1Z2luLXZ1ZS1jb21wb25lbnRzL3ZpdGUnXG5pbXBvcnQge1xuICBFbGVtZW50UGx1c1Jlc29sdmVyXG59IGZyb20gJ3VucGx1Z2luLXZ1ZS1jb21wb25lbnRzL3Jlc29sdmVycydcbmltcG9ydCB7XG4gIGNyZWF0ZUh0bWxQbHVnaW5cbn0gZnJvbSAndml0ZS1wbHVnaW4taHRtbCc7XG5pbXBvcnQge1xuICByZXNvbHZlXG59IGZyb20gJ3BhdGgnO1xuXG4vLyBodHRwczovL3ZpdGVqcy5kZXYvY29uZmlnL1xuZXhwb3J0IGRlZmF1bHQgKHtcbiAgbW9kZVxufSkgPT4gZGVmaW5lQ29uZmlnKHtcbiAgcGx1Z2luczogW1xuICAgIHZ1ZSgpLFxuICAgIEF1dG9JbXBvcnQoe1xuICAgICAgcmVzb2x2ZXJzOiBbRWxlbWVudFBsdXNSZXNvbHZlcigpXSxcbiAgICB9KSxcbiAgICBDb21wb25lbnRzKHtcbiAgICAgIHJlc29sdmVyczogW0VsZW1lbnRQbHVzUmVzb2x2ZXIoKV0sXG4gICAgfSksXG4gICAgY3JlYXRlSHRtbFBsdWdpbih7XG4gICAgICBtaW5pZnk6IHRydWUsXG4gICAgICB0ZW1wbGF0ZTogJ2luZGV4Lmh0bWwnLFxuICAgICAgaW5qZWN0OiB7XG4gICAgICAgIGRhdGE6IHtcbiAgICAgICAgICB0aXRsZTogbG9hZEVudihtb2RlLCBwcm9jZXNzLmN3ZCgpKS5WSVRFX1NJVEVfTkFNRSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSksXG4gIF0sXG4gIHNlcnZlcjoge1xuICAgIHBvcnQ6IFwiMzAwMFwiLFxuICAgIGhtcjogdHJ1ZSxcbiAgfSxcbiAgcmVzb2x2ZToge1xuICAgIGFsaWFzOiBbe1xuICAgICAgZmluZDogJ0AnLFxuICAgICAgcmVwbGFjZW1lbnQ6IHJlc29sdmUoX19kaXJuYW1lLCBcInNyY1wiKSxcbiAgICB9LCBdXG4gIH0sXG4gIGNzczoge1xuICAgIHByZXByb2Nlc3Nvck9wdGlvbnM6IHtcbiAgICAgIHNjc3M6IHtcbiAgICAgICAgY2hhcnNldDogZmFsc2UsXG4gICAgICAgIGFkZGl0aW9uYWxEYXRhOiBgQGltcG9ydCBcIi4vc3JjL3N0eWxlL2dsb2JhbC5zY3NzXCI7YFxuICAgICAgfVxuICAgIH1cbiAgfVxufSkiXSwKICAibWFwcGluZ3MiOiAiO0FBQTRQO0FBQUEsRUFDMVA7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUNQLE9BQU8sU0FBUztBQUNoQixPQUFPLGdCQUFnQjtBQUN2QixPQUFPLGdCQUFnQjtBQUN2QjtBQUFBLEVBQ0U7QUFBQSxPQUNLO0FBQ1A7QUFBQSxFQUNFO0FBQUEsT0FDSztBQUNQO0FBQUEsRUFDRTtBQUFBLE9BQ0s7QUFmUCxJQUFNLG1DQUFtQztBQWtCekMsSUFBTyxzQkFBUSxDQUFDO0FBQUEsRUFDZDtBQUNGLE1BQU0sYUFBYTtBQUFBLEVBQ2pCLFNBQVM7QUFBQSxJQUNQLElBQUk7QUFBQSxJQUNKLFdBQVc7QUFBQSxNQUNULFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQztBQUFBLElBQ25DLENBQUM7QUFBQSxJQUNELFdBQVc7QUFBQSxNQUNULFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQztBQUFBLElBQ25DLENBQUM7QUFBQSxJQUNELGlCQUFpQjtBQUFBLE1BQ2YsUUFBUTtBQUFBLE1BQ1IsVUFBVTtBQUFBLE1BQ1YsUUFBUTtBQUFBLFFBQ04sTUFBTTtBQUFBLFVBQ0osT0FBTyxRQUFRLE1BQU0sUUFBUSxJQUFJLENBQUMsRUFBRTtBQUFBLFFBQ3RDO0FBQUEsTUFDRjtBQUFBLElBQ0YsQ0FBQztBQUFBLEVBQ0g7QUFBQSxFQUNBLFFBQVE7QUFBQSxJQUNOLE1BQU07QUFBQSxJQUNOLEtBQUs7QUFBQSxFQUNQO0FBQUEsRUFDQSxTQUFTO0FBQUEsSUFDUCxPQUFPLENBQUM7QUFBQSxNQUNOLE1BQU07QUFBQSxNQUNOLGFBQWEsUUFBUSxrQ0FBVyxLQUFLO0FBQUEsSUFDdkMsQ0FBRztBQUFBLEVBQ0w7QUFBQSxFQUNBLEtBQUs7QUFBQSxJQUNILHFCQUFxQjtBQUFBLE1BQ25CLE1BQU07QUFBQSxRQUNKLFNBQVM7QUFBQSxRQUNULGdCQUFnQjtBQUFBLE1BQ2xCO0FBQUEsSUFDRjtBQUFBLEVBQ0Y7QUFDRixDQUFDOyIsCiAgIm5hbWVzIjogW10KfQo=
|
10
yarn.lock
10
yarn.lock
|
@ -1291,6 +1291,16 @@ terser@^5.10.0:
|
|||
commander "^2.20.0"
|
||||
source-map-support "~0.5.20"
|
||||
|
||||
terser@^5.16.1:
|
||||
version "5.16.1"
|
||||
resolved "https://registry.npmmirror.com/terser/-/terser-5.16.1.tgz#5af3bc3d0f24241c7fb2024199d5c461a1075880"
|
||||
integrity sha512-xvQfyfA1ayT0qdK47zskQgRZeWLoOQ8JQ6mIgRGVNwZKdQMU+5FkCBjmv4QjcrTzyZquRw2FVtlJSRUmMKQslw==
|
||||
dependencies:
|
||||
"@jridgewell/source-map" "^0.3.2"
|
||||
acorn "^8.5.0"
|
||||
commander "^2.20.0"
|
||||
source-map-support "~0.5.20"
|
||||
|
||||
to-regex-range@^5.0.1:
|
||||
version "5.0.1"
|
||||
resolved "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz"
|
||||
|
|
Loading…
Reference in New Issue
Block a user