1. 程式人生 > 程式設計 >微信小程式呼叫wx.getImageInfo遇到的坑解決

微信小程式呼叫wx.getImageInfo遇到的坑解決

這幾天做到微信小程式詳情頁分享的功能,需要把原頁面的一些引數帶到分享頁,然後在分享頁需要獲取圖片的寬高等基本資訊。

1.先說分享傳參的方式:

在onShareAppMessage方法裡面返回的path裡面可以帶引數傳過去,具體傳參的方式有兩種,一種是可以傳物件(需要把JSON物件stringiny),另外一種是通過一般的引數拼接的方式一個個拼。
程式碼:

onShareAppMessage: function (res) {
 let data = this.data;
 let shareParams = {
  imgSrc: data.imgInfo.src
 }

 let shareData = JSON.stringify(shareParams)

 let path = '/src/?shareData='+ shareData;
 return {
  title: '我在用家圖AI識圖找傢俱,快跟上節奏!',path: path,success: function(res) {
   // 轉發成功
   console.log('轉發成功')
  },fail: function(res) {
   // 轉發失敗
   console.log('轉發失敗')
  }
 }
},

2.再說在開啟分享過來的頁面時怎麼拿到剛才那些引數 其實那些引數是在onLoad方法裡面的options傳過來的,如下程式碼:

onLoad: function(options) {
  //通過分享進來的
  if(options.shareData){
   console.log(options.shareData)//這個就是剛才傳過來的那個JSON物件
  }
}

3.遇到的坑

一開始在呼叫wx.getImageInfo時一直不掉成功,查了官方文件,發現需要用https的方式下載圖片,但是我改成了https的方式也還是調不成功。這時候跟後端的同學諮詢了下,看是不是https出了問題,果然,https在這兩天剛好證書過期了。等https能正常使用的時候也就可以呼叫成功了。中間除錯過程有點坑,當開啟除錯時偶爾會呼叫成功getImageInfo,就是這個有時候能調成功,有時候不能,把我坑慘了。還有在不開啟除錯時呼叫非https或者https不可用的時候,getImageInfo既不跳到成功的回撥也不跳到失敗的回撥,也不報錯,就像卡死在那了一樣。這就很慘,沒法除錯。

tips:需要把圖片伺服器的域名加到downloadFile 合法域名裡面

到此這篇關於微信小程式呼叫wx.getImageInfo遇到的坑解決的文章就介紹到這了,更多相關小程式呼叫wx.getImageInfo內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!