使用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)
}
})
}