亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

微信小程序前端自定義分享的實現(xiàn)方法

 更新時間:2019年06月13日 10:03:27   作者:沒人懂還可以問神  
這篇文章主要給大家介紹了關于微信小程序前端自定義分享的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家學習或者使用微信小程序具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧

背景

目前手上有一個小程序的項目,希望轉(zhuǎn)發(fā)時分享消息的界面能夠自定義,然而微信小程序只提供設置圖片的url和title。

 /**
  * 用戶點擊右上角分享
  */
 onShareAppMessage: function() {
  return {
   imageUrl:'',
   title:''
  };
 }

實現(xiàn)

我們要轉(zhuǎn)發(fā)的顯示內(nèi)容多了一點東西:頭像,用戶名和點贊數(shù)。好在這個排版不是很復雜,所以我們思考了一下通過canvas去生成一張圖片再return canvas所生成的圖片url。

代碼如下(其實還要作出一些顯示上的優(yōu)化,具體你們自己去調(diào)試):

先在頁面里新建一個canvas 標簽

<canvas canvas-id="canvasid" style="width: 375px; height: 500px;" wx:if="{{canvasShow}}"></canvas>
   let context = wx.createCanvasContext('canvasid')
   context.drawImage(back.path, 0, 60, backWidth, backHeight) //繪制下方背景圖
   //繪制圓形頭像,參考教程:https://www.jianshu.com/p/9a6ee2648d6f 第二種方法

   context.save();
   var d = 2 * 25;
   var cx = 0 + 25;
   var cy = 0 + 25;
   context.arc(cx, cy,25, 0, 2 * Math.PI);
   context.clip();
   context.drawImage(avatar.path, 0,0, d, d);
   context.restore();
   //繪制名字和點贊數(shù)
   context.setFontSize(14)
   context.fillText('userName', 70, 32)
   let zanLength = ('100' + '次贊').length
   context.fillText('100'+ '次贊', 375 - 14 * zanLength, 32)
   //執(zhí)行draw進行渲染 并返回圖片url
   context.draw(true, () => {
    //此方法應執(zhí)行在draw的回調(diào)中
    wx.canvasToTempFilePath({
     x: 0,
     y: 0,
     width: 375,
     height: 400,
     destWidth: 375,
     destHeight: 400,
     canvasId: 'canvasid',
     success(res) {
    //設置onShareAppMessage所返回的數(shù)據(jù)格式
      let shareInfo = {
       title: 'customTitle',
       imageUrl
      }
      //隱藏畫布
      that.setData({
       canvasShow: false
      })
     }
    })
   });

然而!

在canvas中繪制的圖片要在真機上顯示出來是有問題的(畫布污染),非同源的圖片在canvas不會顯示出來的。后來我們使用 wx.getImageInfo去獲取圖片信息,通過里面的地址去顯示圖片(相當于是把圖片轉(zhuǎn)了一道)。

     wx.getImageInfo({
        src: imgUrl,
        success: function(res) {
           /**拿到返回值res[0].path,再把該值作為canvas繪制圖片的路徑 
            context.drawImage(res[0].path,x,x,x)**/
          let drawImgUrl = res[0].path
        }
      }); 

emmmm....文章很短暫,這里只是提供一下解決的思路,希望能幫助到大家~

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。

相關文章

  • 區(qū)分中英文字符的兩種方法(正則和charCodeAt())

    區(qū)分中英文字符的兩種方法(正則和charCodeAt())

    最近在為項目寫登錄注冊系列頁面, 表單驗證無疑是不可缺少的部分, 在這個jQ插件滿天飛的web年代, 表單驗證倒也不是難事. 但再好的插件, 也并不能做到十全十美
    2010-11-11
  • JavaScript提高網(wǎng)站性能優(yōu)化的建議(二)

    JavaScript提高網(wǎng)站性能優(yōu)化的建議(二)

    這篇文章主要介紹了JavaScript提高網(wǎng)站性能優(yōu)化的建議(二)的相關資料,需要的朋友可以參考下
    2016-07-07
  • javascript隨機變色實例代碼

    javascript隨機變色實例代碼

    在本篇文章里小編給大家分享的是關于javascript隨機變色的相關實例內(nèi)容,需要的朋友們可以測試下。
    2019-10-10
  • 微信小程序?qū)崿F(xiàn)打卡簽到頁面

    微信小程序?qū)崿F(xiàn)打卡簽到頁面

    這篇文章主要為大家詳細介紹了微信小程序?qū)崿F(xiàn)打卡簽到頁面,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-09-09
  • JS偽繼承prototype實現(xiàn)方法示例

    JS偽繼承prototype實現(xiàn)方法示例

    這篇文章主要介紹了JS偽繼承prototype實現(xiàn)方法,結(jié)合實例形式對比分析了基于prototype實現(xiàn)模擬繼承的相關操作技巧,需要的朋友可以參考下
    2018-06-06
  • BootStrap實現(xiàn)帶關閉按鈕功能

    BootStrap實現(xiàn)帶關閉按鈕功能

    這篇文章主要介紹了BootStrap實現(xiàn)帶關閉按鈕功能,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-02-02
  • js實現(xiàn)進度條的方法

    js實現(xiàn)進度條的方法

    這篇文章主要介紹了js實現(xiàn)進度條的方法,實例分析了兩種不同的實現(xiàn)方法,并說明了setTimeout和setInterval的使用區(qū)別,非常具有實用價值,需要的朋友可以參考下
    2015-02-02
  • JS代碼編譯器Monaco使用方法

    JS代碼編譯器Monaco使用方法

    Monaco是微軟家的,支持的語言很多,還有縮略地圖,有時候提示不好用然后包體很大的問題,但是這是極少數(shù),今天小編給大家分享JS編譯器Monaco使用教程,感興趣的朋友一起看看吧
    2021-06-06
  • Javascript實現(xiàn)Vue跨組件通信的方法詳解

    Javascript實現(xiàn)Vue跨組件通信的方法詳解

    這篇文章主要為大家詳細介紹了Vue的跨組件通信,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • 使用JavaScript優(yōu)雅實現(xiàn)文本展開收起功能

    使用JavaScript優(yōu)雅實現(xiàn)文本展開收起功能

    這篇文章主要為大家詳細介紹了如何使用JavaScript優(yōu)雅實現(xiàn)文本展開收起功能,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2024-04-04

最新評論