APICloud分享圖片到微信

冷露發表於2018-11-20

使用APICloud開發App分享圖片到微信功能
在專案中新增wx模組,呼叫shareImage方法,實現分享功能。官方文件

官方示例程式碼:

var wx = api.require(`wx`);
wx.shareImage({
    apiKey: ``, // 可選項)從微信開放平臺獲取的 appid,若不傳則從當前 widget 的 config.xml 中讀取。
    scene: `session`, // [`session`, `timeline`, `favorite`](會話,朋友圈,收藏)預設朋友圈。
    thumb: `widget://a.jpg`, // 縮圖片的地址,支援 fs://、widget:// 協議。大小不能超過32K,若 contentUrl 為本地圖片地址則本引數忽略,需要路徑包含圖片格式字尾,否則如果原圖片為非png格式,會分享失敗
    contentUrl: `widget://b.jpg` // 分享圖片的 url 地址(支援 fs://、widget://),長度不能超過10M
}, function(ret, err) {
    if (ret.status) {
        alert(`分享成功`);
    } else {
        alert(err.code);
    }
});

專案程式碼:

function shareImg () {
    var wx = require(`wx`);
    // 首先先將圖片下載到本地
    api.download({
        url: `http://xxx.xxx.xxx/xx.jpg`, // 圖片地址
        savePath: `fs://xxx/xxx.jpg`, // 圖片儲存路徑
        report: true,
        cache: true,
        allowResume: true
    }, function(res, err) {
        if (ret.state == 1) {
            console.log(`下載成功`)
            wx.shareImage({
                // apiKey: ``,
                scene: `session`,
                thumb: `widget://xxx.xxx.jpg`, // 不知道為什麼這裡使用fs:// 死活都有問題,無法分享
                contentUrl: `fs://xxx.xxx.jpg`
            }, function(ret, err){
                if (ret.status) {
                    alert(`分享成功`)
                } else {
                    alert(err.code)
                }
            })
        } else {
            console.log(`下載失敗`)
            console.log(err)
        }
    })
}

相關文章