欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

背景

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

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

實(shí)現(xiàn)

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

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

先在頁面里新建一個canvas 標(biāo)簽

<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();
   //繪制名字和點(diǎn)贊數(shù)
   context.setFontSize(14)
   context.fillText('userName', 70, 32)
   let zanLength = ('100' + '次贊').length
   context.fillText('100'+ '次贊', 375 - 14 * zanLength, 32)
   //執(zhí)行draw進(jìn)行渲染 并返回圖片url
   context.draw(true, () => {
    //此方法應(yīng)執(zhí)行在draw的回調(diào)中
    wx.canvasToTempFilePath({
     x: 0,
     y: 0,
     width: 375,
     height: 400,
     destWidth: 375,
     destHeight: 400,
     canvasId: 'canvasid',
     success(res) {
    //設(shè)置onShareAppMessage所返回的數(shù)據(jù)格式
      let shareInfo = {
       title: 'customTitle',
       imageUrl
      }
      //隱藏畫布
      that.setData({
       canvasShow: false
      })
     }
    })
   });

然而!

在canvas中繪制的圖片要在真機(jī)上顯示出來是有問題的(畫布污染),非同源的圖片在canvas不會顯示出來的。后來我們使用 wx.getImageInfo去獲取圖片信息,通過里面的地址去顯示圖片(相當(dāng)于是把圖片轉(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)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。

相關(guān)文章

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

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

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

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

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

    javascript隨機(jī)變色實(shí)例代碼

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

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

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

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

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

    BootStrap實(shí)現(xiàn)帶關(guān)閉按鈕功能

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

    js實(shí)現(xiàn)進(jìn)度條的方法

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

    JS代碼編譯器Monaco使用方法

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

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

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

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

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

最新評論