2024-06-16 22:57:26 +08:00
|
|
|
|
<template>
|
2024-06-19 00:16:00 +08:00
|
|
|
|
<div class="dc-page">
|
2024-06-19 18:26:36 +08:00
|
|
|
|
<div class="my-avatar">
|
2024-06-19 00:16:00 +08:00
|
|
|
|
<a-avatar :size="100">
|
|
|
|
|
|
<img alt="avatar" :src="myImage" />
|
|
|
|
|
|
</a-avatar>
|
2024-06-19 18:26:36 +08:00
|
|
|
|
<div class="my-name">
|
|
|
|
|
|
<div class="my-title title-1">兔子先森</div>
|
|
|
|
|
|
<div class="my-local"><icon-location />浙江杭州</div>
|
2024-06-19 00:16:00 +08:00
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
2024-06-19 21:34:43 +08:00
|
|
|
|
<a-grid :cols="{ xs: 1, sm: 1, md: 2, lg: 2, xl: 4 }" :col-gap="16" :row-gap="16">
|
2024-06-19 00:16:00 +08:00
|
|
|
|
<a-grid-item>
|
2024-06-19 18:26:36 +08:00
|
|
|
|
<div class="title-1">👋关于我</div>
|
|
|
|
|
|
<div class="type-row" v-for="item in list.aboutMe" :key="item.label">
|
|
|
|
|
|
<div class="column-title">{{ item.label }}:</div>
|
2024-06-19 13:02:07 +08:00
|
|
|
|
<div v-for="(type, index) in item.value" :key="index">
|
|
|
|
|
|
<a-tag :color="item.theme">
|
|
|
|
|
|
{{ type }}
|
|
|
|
|
|
</a-tag>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
2024-06-19 00:16:00 +08:00
|
|
|
|
</a-grid-item>
|
|
|
|
|
|
<a-grid-item>
|
2024-06-19 18:26:36 +08:00
|
|
|
|
<div class="title-1">💬联系我</div>
|
|
|
|
|
|
<div class="type-row" v-for="item in list.callMe" :key="item.label">
|
|
|
|
|
|
<div class="column-title-2">{{ item.label }}:</div>
|
|
|
|
|
|
<div :class="item.link ? 'link-hover' : ''" @click="onLink(item)">{{ item.value }}</div>
|
2024-06-19 13:02:07 +08:00
|
|
|
|
</div>
|
2024-06-19 00:16:00 +08:00
|
|
|
|
</a-grid-item>
|
|
|
|
|
|
<a-grid-item>
|
2024-06-19 18:26:36 +08:00
|
|
|
|
<div class="title-1">🐾其它</div>
|
|
|
|
|
|
<div class="type-row" v-for="item in list.other" :key="item.label">
|
|
|
|
|
|
<div class="column-title-2">{{ item.label }}:</div>
|
2024-06-19 13:02:07 +08:00
|
|
|
|
<div>{{ item.value }}</div>
|
|
|
|
|
|
</div>
|
2024-06-19 00:16:00 +08:00
|
|
|
|
</a-grid-item>
|
|
|
|
|
|
</a-grid>
|
|
|
|
|
|
</div>
|
2024-06-16 22:57:26 +08:00
|
|
|
|
</template>
|
|
|
|
|
|
|
2024-06-19 00:16:00 +08:00
|
|
|
|
<script setup lang="ts">
|
|
|
|
|
|
import myImage from "@/assets/img/my-image.jpg";
|
2024-06-19 13:02:07 +08:00
|
|
|
|
|
|
|
|
|
|
const list = reactive({
|
|
|
|
|
|
aboutMe: [
|
|
|
|
|
|
{ label: "🐦我用语雀", value: ["知识管理", "记录生活"], theme: "green" },
|
|
|
|
|
|
{ label: "💫个性性格", value: ["天秤座", "INFJ-T"], theme: "blue" },
|
|
|
|
|
|
{ label: "💼职业工作", value: ["互联网", "前端开发"], theme: "orangered" },
|
|
|
|
|
|
{ label: "🏠现居城市", value: ["杭州"], theme: "magenta" },
|
|
|
|
|
|
{ label: "💙兴趣爱好", value: ["读书", "音乐", "狗狗🐕"], theme: "purple" }
|
|
|
|
|
|
],
|
|
|
|
|
|
callMe: [
|
2024-06-19 18:26:36 +08:00
|
|
|
|
{ label: "📧邮箱", value: "2547096351@qq.com", link: false },
|
|
|
|
|
|
{ label: "📠微信", value: "fanction-w", link: false },
|
|
|
|
|
|
{ label: "📚思否", value: "兔子先森", link: true, url: "https://segmentfault.com/blog/dcodes" },
|
|
|
|
|
|
{ label: "✒️掘金", value: "兔子先森Ace", link: true, url: "https://juejin.cn/user/1728883023940600/posts" },
|
|
|
|
|
|
{ label: "🛰️gitee", value: "兔子先森Ace", link: true, url: "https://gitee.com/wang_fan_w" }
|
2024-06-19 13:02:07 +08:00
|
|
|
|
],
|
|
|
|
|
|
other: [
|
|
|
|
|
|
{ label: "🧭公众号", value: "DCodes" },
|
|
|
|
|
|
{ label: "🌟公众号二维码", value: "xxx" }
|
|
|
|
|
|
]
|
|
|
|
|
|
});
|
|
|
|
|
|
console.log(list);
|
2024-06-19 18:26:36 +08:00
|
|
|
|
|
|
|
|
|
|
const onLink = (item: any) => {
|
|
|
|
|
|
if (!item.link) return;
|
|
|
|
|
|
window.open(item.url);
|
|
|
|
|
|
};
|
2024-06-19 00:16:00 +08:00
|
|
|
|
</script>
|
2024-06-16 22:57:26 +08:00
|
|
|
|
|
2024-06-19 00:16:00 +08:00
|
|
|
|
<style lang="scss" scoped>
|
2024-06-19 21:34:43 +08:00
|
|
|
|
.border {
|
|
|
|
|
|
border: 1px solid red;
|
|
|
|
|
|
}
|
2024-06-19 18:26:36 +08:00
|
|
|
|
.my-avatar {
|
2024-06-19 00:16:00 +08:00
|
|
|
|
display: flex;
|
|
|
|
|
|
align-items: center;
|
|
|
|
|
|
margin-bottom: calc($margin * 2);
|
2024-06-19 18:26:36 +08:00
|
|
|
|
.my-name {
|
2024-06-19 00:16:00 +08:00
|
|
|
|
height: 60px;
|
|
|
|
|
|
margin-left: $margin;
|
2024-06-19 18:26:36 +08:00
|
|
|
|
.my-title {
|
2024-06-19 00:16:00 +08:00
|
|
|
|
height: 30px;
|
|
|
|
|
|
}
|
2024-06-19 18:26:36 +08:00
|
|
|
|
.my-local {
|
2024-06-19 00:16:00 +08:00
|
|
|
|
font-size: $font-size-body-3;
|
|
|
|
|
|
height: 30px;
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
align-items: end;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2024-06-19 18:26:36 +08:00
|
|
|
|
.type-row {
|
2024-06-19 13:02:07 +08:00
|
|
|
|
height: 25px;
|
|
|
|
|
|
margin-top: $margin;
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
align-items: center;
|
|
|
|
|
|
column-gap: $margin;
|
2024-06-19 18:26:36 +08:00
|
|
|
|
.column-title {
|
2024-06-19 13:02:07 +08:00
|
|
|
|
min-width: 90px;
|
|
|
|
|
|
}
|
2024-06-19 18:26:36 +08:00
|
|
|
|
.column-title-2 {
|
|
|
|
|
|
min-width: 68px;
|
2024-06-19 13:02:07 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2024-06-19 18:26:36 +08:00
|
|
|
|
.title-1 {
|
2024-06-19 00:16:00 +08:00
|
|
|
|
font-size: $font-size-title-1;
|
|
|
|
|
|
font-weight: bold;
|
|
|
|
|
|
}
|
2024-06-19 18:26:36 +08:00
|
|
|
|
|
|
|
|
|
|
.link-hover {
|
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
|
color: $color-primary;
|
|
|
|
|
|
}
|
2024-06-19 00:16:00 +08:00
|
|
|
|
</style>
|