举例方法:
async manyImgShare() { // 模拟要分享的图片数据
let list = [
"https://img.alicdn.com/i3/2207896388619/O1CN01RCu2LC2DXYIOalOyC_!!2207896388619.jpg",
"https://img.alicdn.com/i4/2207896388619/O1CN01fow0Z32DXYIILfQHI_!!2207896388619.jpg",
"https://img.alicdn.com/i1/2207896388619/O1CN01D18B4z2DXYIILfM6O_!!2207896388619.jpg",
"https://img.alicdn.com/i3/2207896388619/O1CN01EL3fje2DXYIEky8z5_!!2207896388619.jpg"
];
let urls = {};
urls.type = 'image'
urls.pictures = [],
urls.extra = {
scene: "WXSceneSession"
}
for (let i = 0; i < list.length; i++) {
// 这里使用 await 改为同步操作 所以该方法前加了async
// 循环遍历图片路径 使用uni.downloadFile获取到本地临时路径
let [, imgPath] = await uni.downloadFile({
url: list[i]
})
// 讲本地路径的url 添加到要pictures参数中
urls.pictures.push(imgPath.tempFilePath)
}
console.log(urls) //
// 这里打印出urls的数据格式 (非file开头的格式)
/**
{
"type": "image",
"pictures": ["
"_doc/uniapp_temp_1600763519914/download/O1CN01XwaesP2Nf0vJsTmCy_!!2208413319989-0-pixelsss.jpg",
"_doc/uniapp_temp_1600763519914/download/O1CN01WWerYX2Nf0ur5veMb_!!2208413319989.jpg",
"_doc/uniapp_temp_1600763519914/download/O1CN01U1mKis2Nf0ulua9L8_!!2208413319989.jpg",
"_doc/uniapp_temp_1600763519914/download/O1CN01DQpkVS2Nf0uwUJTu0_!!2208413319989.jpg"
],
"extra": {
"scene": "WXSceneSession"
}
}
*/
// 讲urls传入 调用系统分享 拉起微信 分享给好友
plus.share.sendWithSystem(urls, function() {
console.log('分享成功');
}, function(e) {
console.log('分享失败:' + JSON.stringify(e));
})
}
效果:
ios可以用吗
回复了peislin:试试哇 这一年来没接触App开发了 不知道更新什么东西没
大佬有这个demo吗?我用uniapp开发公众号,用html2canvs截图然后分享给微信好友该怎么做呢
回复了nico:有demo 加我个好友
安卓不支持
回复了1111:要使用uni.downloadFile把图片变成本地路径 是 _doc/ 开头的路径 而不是file开头的!