Files
dj-app/pages/mine/guanzhu.vue

216 lines
4.6 KiB
Vue
Raw Permalink Normal View History

2025-08-14 14:49:25 +08:00
<template>
<div class="app-page">
<!-- 个人信息部分 -->
<div class="profile">
<!-- 头像 -->
<div class="avatar">
<img src="https://img.yidaima.cn/%E5%A4%B4%E5%83%8F/9b889964f97e4d0c8f52f7b9ec0d04da.jpg" alt="Avatar" class="avatar-img">
</div>
<!-- 昵称 -->
<div class="nickname">Nan Yin</div>
<!-- 个人简介 -->
<div class="bio">如果爱意难平那就把它藏在心底吧</div>
</div>
<!-- 联系人部分 -->
<div class="contact">
<!-- 循环渲染联系人列表 -->
<div class="item" v-for="item in contacts" :key="item.id"
@click="copyInfo(item.info, item.name, item.name1, item.id)">
<!-- 联系人条目 -->
<div class="icon-info">
<!-- 自定义图标 -->
<img :src="item.icon" alt="Custom Icon" class="custom-icon">
<!-- 联系人名称 -->
<div class="name">{{ item.name }}</div>
<!-- 联系人名称 -->
<div class="name1">{{ item.name1 }}</div>
<!-- 联系人信息 -->
<div class="info">{{ item.info }}</div>
<div v-if="item.id ==1 || item.id ==2" class="copy"><text class="cuIcon-qrcode"></text></div>
<div v-if="item.id ==3 || item.id ==4" class="copy"><text class="cuIcon-copy"></text></div>
</div>
</div>
</div>
<!--弹窗-->
<view class="cu-modal" :class="modalName=='Modal'?'show':''">
<view style="border-radius: 30rpx; background-color: white;" class="cu-dialog">
<view class="cu-bar bg-white justify-end">
<view style="color: black;font-size: 38rpx;margin-top: 40rpx;" class="content">{{modelTip}}</view>
<view class="action" @tap="modalName = null">
<text class="cuIcon-close text-red"></text>
</view>
</view>
<view class=" bg-white">
<image style="width: 75%;" mode="widthFix" show-menu-by-longpress="true"
:src="modelSrc"></image>
<view class="tipinfo">Tip长按图片识别 / 保存</view>
</view>
</view>
</view>
</div>
</template>
<script>
export default {
data() {
return {
modelSrc:"",
modelTip:"",
contacts: [{
id: 1,
icon: "http://cun.mywl.top/mybk/xtb/qq.png",
name: "企鹅",
name1: ":",
info: "594458910"
},
{
id: 2,
icon: "http://cun.mywl.top/mybk/xtb/wechat.png",
name: "微信",
name1: ":",
info: "forfeastcoding"
},
{
id: 3,
icon: "http://cun.mywl.top/mybk/xtb/email.png",
name: "邮箱",
name1: ":",
info: "594458910@qq.com"
},
{
id: 4,
icon: "http://cun.mywl.top/mybk/xtb/blog.png",
name: "博客",
name1: ":",
info: "http://www.yidaima.cn/"
},
],
modalName: null
};
},
methods: {
copyInfo(info, name, name1, id) {
if(id == 1){
this.modelTip = "我的企鹅码"
this.modelSrc = "https://img.yidaima.cn/feast/qq_qrcode.jpg"
this.modalName = "Modal"
}else if(id == 2){
this.modelTip = "我的微信码"
this.modelSrc = "https://img.yidaima.cn/feast/wx_qrcode.jpg"
this.modalName = "Modal"
}
uni.setClipboardData({
data: info,
success() {
uni.showToast({
title: `${name}已复制`,
icon: 'success'
});
}
});
}
}
};
</script>
<style scoped>
.tipinfo {
width: 60%;
height: 80rpx;
border-radius: 60rpx;
text-align: center;
/* border: 3rpx solid #ae67d6; */
margin-left: 20%;
line-height: 80rpx;
margin-bottom: 40rpx;
color: #ae67d6;
font-size: 30rpx;
font-weight: 600;
}
.app-page {
width: 100vw;
min-height: 100vh;
box-sizing: border-box;
padding-top: 0rpx;
}
.profile {
display: flex;
flex-direction: column;
align-items: center;
background-image: url('https://v2.api-m.com/api/wallpaper?return=302');
background-size: cover;
background-position: center;
height: 33vh;
}
.avatar {
width: 100px;
height: 100px;
position: relative;
box-sizing: border-box;
border-radius: 50%;
border: 1px solid #fff;
box-shadow: 0 2px 24px rgba(0, 0, 0, 0.07);
overflow: hidden;
position: relative;
top: 55px;
left: 0px;
}
.avatar-img {
width: 100%;
height: 100%;
}
.nickname {
font-size: 20px;
position: relative;
top: 60px;
}
.bio {
margin-top: 10px;
position: relative;
top: 62px;
font-size: 16px;
color: #666;
}
.contact {
border-top: 2px solid #f2f2f2;
padding: 20px;
}
.item {
border-radius: 12px;
background-color: #fafafa;
padding: 16px;
margin-bottom: 10px;
}
.icon-info {
display: flex;
align-items: center;
}
.custom-icon {
width: 30px;
height: 30px;
margin-right: 10px;
}
.name,
.name1,
.info {
margin-right: 5px;
}
.copy {
margin-left: auto;
color: #1E90FF;
}
</style>