Code.vue 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. <template>
  2. <div>
  3. <common @asynCallBack="asynCallBack"></common>
  4. <top-header :pageTitle="pageTitle"></top-header>
  5. <div class="mui-content">
  6. <div class="vongi-qrcode-tg">
  7. <div class="flew-items vongi-sqtp-list margin10">
  8. <div class="mui-media-object mui-pull-left "><img :src="person_data.faceImageUrl" width="50" /></div>
  9. <div class="mui-media-body">
  10. <h3 v-text="person_data.name"></h3>
  11. <p class='mui-ellipsis flew-items'><span class="iconfont icon-dianhua3 color4fc5f7"></span>手机号码:{{person_data.phone}}</p>
  12. <p class='mui-ellipsis'><span class="iconfont icon-zhengjian color55f868"></span>平台ID:{{person_data.id}}</p>
  13. </div>
  14. </div>
  15. <div class="vongi-center" id="qrcode_show">
  16. <img :src="qrCodeImg" class="vongi-qrcode-ma margin10">
  17. <p>使用微信扫一扫或长按保存二维码 </p>
  18. <p>关注公众号完成注册</p>
  19. </div>
  20. <div id="qrcode" style="display: none;"></div>
  21. </div>
  22. </div>
  23. </div>
  24. </template>
  25. <script>
  26. import Common from "$project/components/Common.vue";
  27. import Loading from "$project/components/Loading.vue";
  28. import TopHeader from "$project/components/TopHeader.vue";
  29. import {
  30. mapGetters,
  31. mapMutations
  32. } from "vuex";
  33. import {
  34. convertCanvasToImage,
  35. } from '$project/utils'
  36. import QRCode from 'qrcodejs2'
  37. export default {
  38. name: "MasterPromoteCode",
  39. components: {
  40. Common,
  41. Loading,
  42. TopHeader,
  43. },
  44. data() {
  45. return {
  46. pageTitle: "推广二维码",
  47. isLoading: false,
  48. qrCodeUrl: '',
  49. qrCodeImg: '',
  50. };
  51. },
  52. created() {
  53. var host = window.location.href.split("#")[0];
  54. host = host.replace('business', 'home');
  55. this.qrCodeUrl = host + '#/?promote_id=' + this.person_data.id
  56. },
  57. methods: {
  58. //生成二维码
  59. qrcode() {
  60. let qrcode = new QRCode('qrcode', {
  61. width: 200,
  62. height: 200,
  63. text: this.qrCodeUrl, // 二维码内容
  64. correctLevel: QRCode.CorrectLevel.M
  65. // render: 'canvas' // 设置渲染方式(有两种方式 table和canvas,默认是canvas)
  66. // background: '#f0f'
  67. // foreground: '#ff0'
  68. })
  69. console.log(qrcode)
  70. var canvas = document.getElementsByTagName('canvas')[0];
  71. this.qrCodeImg = convertCanvasToImage(canvas);
  72. document.getElementById('qrcode_show').getElementsByTagName("img")[0].style.margin = '15px auto';
  73. },
  74. asynCallBack() {},
  75. },
  76. mounted() {
  77. //生成二维码
  78. this.qrcode()
  79. document.body.style.backgroundColor = '#3385FF';
  80. },
  81. destroyed() {
  82. document.body.style.backgroundColor = '';
  83. },
  84. computed: {
  85. ...mapGetters({
  86. openId: "wx_openid",
  87. token: "token",
  88. person_data: "person_data",
  89. person_popedom: "person_popedom",
  90. }),
  91. },
  92. };
  93. </script>
  94. <style scoped src="$project/assets/css/xpwyfyy.css"></style>
  95. <style scoped src="$project/assets/css/iconfont.css"></style>
  96. <style>
  97. </style>