106 lines
1.8 KiB
Vue
106 lines
1.8 KiB
Vue
|
<template>
|
||
|
<view>
|
||
|
<view class="uni-add-tips-box" v-if="showTip">
|
||
|
<view class='uni-add-tips-content' @tap='hideTip'>
|
||
|
<text>{{tip}}</text>
|
||
|
</view>
|
||
|
</view>
|
||
|
</view>
|
||
|
</template>
|
||
|
|
||
|
<script>
|
||
|
const SHOW_TIP = "SHOW_TIP"
|
||
|
export default {
|
||
|
data() {
|
||
|
return {
|
||
|
showTip: false,
|
||
|
}
|
||
|
},
|
||
|
mounted() {
|
||
|
this.showTip = !uni.getStorageInfoSync().keys.includes(SHOW_TIP)
|
||
|
// setTimeout(()=>{
|
||
|
// this.showTip = false
|
||
|
// },this.duration*3000)
|
||
|
},
|
||
|
props: {
|
||
|
tip: {
|
||
|
type: String,
|
||
|
default: "点击「添加小程序」,下次访问更便捷",
|
||
|
required: true
|
||
|
},
|
||
|
duration: {
|
||
|
type: Number,
|
||
|
default: 5,
|
||
|
required: false
|
||
|
}
|
||
|
},
|
||
|
methods: {
|
||
|
hideTip() {
|
||
|
uni.setStorageSync(SHOW_TIP, true)
|
||
|
this.showTip = false
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
</script>
|
||
|
|
||
|
<style lang="scss" scoped>
|
||
|
$themeColor:#1A73E8; //主题色
|
||
|
|
||
|
.uni-add-tips-box {
|
||
|
position: fixed;
|
||
|
top: CustomBar + 20rpx;
|
||
|
right: -20rpx;
|
||
|
z-index: 99999;
|
||
|
opacity: 0.8;
|
||
|
display: flex;
|
||
|
justify-content: flex-end;
|
||
|
align-items: flex-end;
|
||
|
flex-direction: column;
|
||
|
width: 600upx;
|
||
|
animation: opacityC 1s linear infinite;
|
||
|
}
|
||
|
|
||
|
.uni-add-tips-content::before {
|
||
|
content: "";
|
||
|
position: absolute;
|
||
|
width: 0;
|
||
|
height: 0;
|
||
|
top: -38upx;
|
||
|
right: 105upx;
|
||
|
border-width: 20upx;
|
||
|
border-style: solid;
|
||
|
display: block;
|
||
|
border-color: transparent transparent $themeColor transparent;
|
||
|
}
|
||
|
|
||
|
.uni-add-tips-content {
|
||
|
border-width: 0upx;
|
||
|
margin-top: 120upx;
|
||
|
position: relative;
|
||
|
background-color: $themeColor;
|
||
|
box-shadow: 0 10upx 20upx -10upx $themeColor;
|
||
|
border-radius: 12upx;
|
||
|
display: flex;
|
||
|
align-items: center;
|
||
|
justify-content: center;
|
||
|
padding: 18upx 20upx;
|
||
|
margin-right: 40upx;
|
||
|
}
|
||
|
|
||
|
.uni-add-tips-content>text {
|
||
|
color: #fff;
|
||
|
font-size: 28upx;
|
||
|
font-weight: 400;
|
||
|
}
|
||
|
|
||
|
@keyframes opacityC {
|
||
|
0% {
|
||
|
opacity: 0.8;
|
||
|
}
|
||
|
|
||
|
50% {
|
||
|
opacity: 1;
|
||
|
}
|
||
|
}
|
||
|
</style>
|