douyin/src/pages/me/MyCard.vue
2021-09-28 14:28:16 +08:00

225 lines
4.7 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<div id='MyCard'>
<div class="header">
<back mode="light" @click="$back"/>
<!-- todo 差一-->
<img class="share" src="../../assets/img/icon/share-white.png" @click="isSharing = true">
</div>
<div class="content">
<div class="qrcode">
<img class="qrcode-bg" src="../../assets/img/icon/me/code-bg.png" alt="">
<img class="avatar" src="../../assets/img/icon/avatar/7.png" alt="">
</div>
<span class="name">ZZZZZZZZZZ</span>
<span class="notice">抖音扫一扫立即关注我</span>
</div>
<div class="footer">
<!-- <div class="btn" @click="$nav('/scan')">-->
<div class="btn" @click="$no">
<div class="wrapper">
<img src="../../assets/img/icon/scan.png" alt="">
</div>
<span>扫一扫</span>
</div>
<div class="btn" @click="$no">
<div class="wrapper">
<img src="../../assets/img/icon/download.png" alt="">
</div>
<span>保存</span>
</div>
</div>
<Share v-model="isSharing"
mode="qrcode"
ref="share"
@showDouyinCode="showDouyinCode = true"
@showShare2WeChatZone="shareType = 2"
@share2WeChat="shareType = 3"
@share2QQZone="shareType = 4"
@share2QQ="shareType = 5"
@share2Webo="shareType = 8"
@ShareToFriend="delayShowDialog( e => this.shareToFriend = true)"
/>
<ConfirmDialog
v-model:visible="showSharePassword"
title="你的口令已复制"
subtitle="0F.:/ a【风就应该自由要什么归宿】长按复制此条消息打开抖音搜索聆听音乐##kwu3VCixHl8##[抖音口令]"
:okText="okText"
cancelText="不分享了"
@ok="shareType = -1"
@cancel="shareType = -1"
>
<template v-slot:header>
<img style="width: 100%;" src="../../assets/img/icon/share-password.webp" alt="">
</template>
</ConfirmDialog>
<ShareToFriend v-model="shareToFriend"/>
</div>
</template>
<script>
import Share from "../../components/Share";
import ConfirmDialog from "../../components/dialog/ConfirmDialog";
import ShareToFriend from "../home/components/ShareToFriend";
export default {
name: "MyCard",
components: {
Share,
ConfirmDialog,
ShareToFriend
},
data() {
return {
isSharing: false,
okText: '',
showSharePassword: false,
shareToFriend: false,
shareType: -1,
showDouyinCode: false,
}
},
watch: {
shareType(newVal, oldVal) {
if (newVal === -1) return
this.showSharePassword = true
switch (newVal) {
case 2:
case 3:
return this.okText = '去微信粘贴'
case 4:
case 5:
return this.okText = '去QQ粘贴'
case 8:
return this.okText = '去微博粘贴'
}
}
},
created() {
},
computed: {},
methods: {
delayShowDialog(cb) {
setTimeout(() => {
cb()
}, 100)
},
}
}
</script>
<style scoped lang="less">
@import "../../assets/scss/index";
#MyCard {
background: rgb(136, 132, 133);
position: fixed;
left: 0;
right: 0;
bottom: 0;
top: 0;
overflow: auto;
font-size: 1.4rem;
.header {
position: fixed;
z-index: 9;
top: 0;
width: 100%;
box-sizing: border-box;
padding: 0 1.5rem;
height: 6rem;
display: flex;
justify-content: space-between;
align-items: center;
.share {
width: 2.4rem;
height: 2.4rem;
margin-left: 1.5rem;
}
}
.content {
padding-top: @header-height;
display: flex;
flex-direction: column;
align-items: center;
.qrcode {
margin-top: 12vh;
display: flex;
align-items: center;
justify-content: center;
position: relative;
.qrcode-bg {
width: 60vw;
}
.avatar {
border-radius: 50%;
position: absolute;
width: 25vw;
}
}
.name {
font-weight: bold;
margin-top: 2rem;
font-size: 1.6rem;
color: white;
}
.notice {
color: white;
font-size: 1.4rem;
margin-top: 2rem;
opacity: .4;
}
}
.footer {
position: absolute;
bottom: 3rem;
display: flex;
justify-content: space-around;
width: 100%;
.btn {
color: white;
display: flex;
flex-direction: column;
align-items: center;
font-size: 1.2rem;
.wrapper {
background: rgba(252, 250, 250, 0.3);
border-radius: 50%;
display: flex;
padding: 1.8rem;
align-items: center;
justify-content: center;
margin-bottom: 1rem;
}
img {
width: 2.6rem;
}
}
}
}
</style>