<template>
  <div class="share-block">
    <span>分享到</span>
    <el-popover
      :placement="tPosition"
      width="320"
      trigger="hover"
      popper-class="popper-class">
      <div class="shareCode">
        <div class="qrcode" id="qrcode" ref="qrcode"></div>
        <div class="qrword">
          打开微信“扫一扫”，<br/>打开网页后点击屏幕右上角“分享”按钮
        </div>
      </div>
      <em slot="reference" class="share-icon icon-wechat"></em>
    </el-popover>
  </div>
</template>
<script>
  import QRCode from 'qrcodejs2';
  export default {
    props: {
      tUrl: {
        type: String
      },
      tPosition: {
        type: String,
        default: 'bottom-start'
      }
    },
    data() {
      return {
        qrcode: ''
      }
    },
    mounted() {
      this.$nextTick(function() {
        this._makeCode();
      });
    },
    methods: {
      _makeCode() {
        let qrcode = this.qrcode
        qrcode = new QRCode('qrcode', {
          width: 120,
          height: 120
        });
        qrcode.clear();
        qrcode.makeCode(this.tUrl);
      }
    },
    beforeDestroy() {
      this.qrcode.clear()
    }
  };
</script>
<style scoped>
.share-block{
  margin-right:15px;
}
.share-block .share-icon{
  display:inline-block;
  margin-left:6px;
}
.share-block .share-icon.icon-wechat{
  width:18px;
  height:14px;
  background-image:url('./img/icon_weixin_nor.png');
  background-size:cover;
}
.share-block .share-icon.icon-wechat:hover{
  background-image:url('./img/icon_weixin_hig.png');
}

.popper-class{
  background: rgba(0,0,0,.6);
  color:#ffffff;
}
.popper-class .shareCode{
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.popper-class .shareCode .qrcode{
  float: left;
}
.popper-class .shareCode .qrcode img,canvas{
  border: 4px solid #ffffff;
}
.popper-class .shareCode .qrword{
  width:180px;
  font-size:14px;
  line-height:28px;
}

.el-popover{
  border: none
}
.el-popper[x-placement^=bottom] .popper__arrow::after{
  border-bottom-color: rgba(0,0,0,.6)
}
.el-popper[x-placement^=top] .popper__arrow::after{
  border-top-color: rgba(0,0,0,.6)
}
</style>
