share.vue 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. <template>
  2. <view class="container">
  3. <image @longtap="bc_code" class="backImg" :src="backImg"></image>
  4. <view class="tki-qrcode">
  5. <canvas @longtap="bc_code" canvas-id="qrcode" />
  6. </view>
  7. </view>
  8. </template>
  9. <script>
  10. import uQRCode from '@/components/Sansnn-uQRCode/uqrcode.js'
  11. import { getUserInfo,spread } from '@/api/user.js';
  12. export default {
  13. props: {
  14. qrval: {
  15. // 要生成的二维码值
  16. type: String
  17. }
  18. },
  19. data() {
  20. return {
  21. url: '',
  22. backImg:'',
  23. userInfo:''
  24. };
  25. },
  26. onLoad() {
  27. this.spread();
  28. this.getInfo();
  29. },
  30. computed: {
  31. cpSize() {
  32. if(this.unit == "upx"){
  33. return uni.upx2px(this.size)
  34. }else{
  35. return this.size
  36. }
  37. }
  38. },
  39. methods: {
  40. spread(){
  41. let obj = this;
  42. spread({
  43. type:2
  44. }).then(({ data }) => {
  45. obj.backImg = data[0].wap_poster;
  46. });
  47. },
  48. getInfo(){
  49. let obj = this;
  50. getUserInfo({}).then(({ data }) => {
  51. obj.userInfo = data;
  52. // obj.loadData()
  53. });
  54. },
  55. bc_code(){
  56. let that = this;
  57. console.log('保存二维码',this.backImg)
  58. uni.downloadFile({ //获得二维码的临时地址
  59. url:this.backImg,
  60. success:(res)=>{
  61. //console.log('获取url',res)
  62. if(res.statusCode == 200){
  63. uni.saveImageToPhotosAlbum({
  64. filePath:res.tempFilePath,//传入临时地址
  65. success() {
  66. that.$api.msg('保存成功')//封装的提示
  67. },
  68. fail() {
  69. that.$api.msg('保存失败')
  70. }
  71. })
  72. }
  73. }
  74. })
  75. },
  76. //生成二维码
  77. // make() {
  78. // let obj = this;
  79. // uQRCode.make({
  80. // canvasId: 'qrcode',
  81. // componentInstance: this,
  82. // text: obj.url,
  83. // size: 150,
  84. // margin: 10,
  85. // backgroundColor: '#ffffff',
  86. // foregroundColor: '#000000',
  87. // fileType: 'png',
  88. // correctLevel: uQRCode.defaults.correctLevel,
  89. // success: res => {
  90. // // console.log(res)
  91. // }
  92. // })
  93. // },
  94. // 请求载入数据
  95. // async loadData() {
  96. // let obj = this;
  97. // obj.url = 'http://btex.frp.liuniu946.com/?id='+ obj.userInfo.invite_code;
  98. // obj.make();
  99. // },
  100. },
  101. };
  102. </script>
  103. <style lang="scss">
  104. page{
  105. width: 100%;
  106. min-height: 100%;
  107. .container{
  108. width: 100%;
  109. height: 100%;
  110. }
  111. }
  112. .backImg{
  113. position: absolute;
  114. width: 100%;
  115. height: 100%;
  116. }
  117. .portrait{
  118. width: 100%;
  119. text-align: center;
  120. padding-top: 80rpx;
  121. padding-bottom: 30rpx;
  122. image{
  123. width: 250rpx;
  124. height: 250rpx;
  125. }
  126. }
  127. .text{
  128. text-align: center;
  129. width: 100%;
  130. color: #FFFFFF;
  131. font-size:55rpx;
  132. letter-spacing:15rpx;
  133. }
  134. .uid-name{
  135. padding: 50rpx 0rpx;
  136. text-align: center;
  137. width: 100%;
  138. color: #FFFFFF;
  139. }
  140. .copy-btn{
  141. color: #FFFFFF;
  142. background-color: #4BA6ED;
  143. border-radius: 50rpx;
  144. width: 170rpx;
  145. line-height: 70rpx;
  146. margin: 0rpx auto;
  147. text-align: center;
  148. }
  149. .tki-qrcode{
  150. position: fixed;
  151. bottom: 10%;
  152. left: 30%;
  153. }
  154. canvas{
  155. width:150px;
  156. height: 150px;
  157. margin: auto;
  158. }
  159. </style>