H5+微信朋友、朋友圈分享
阿新 • • 發佈:2019-03-06
component tor tools ogr content isp sys pro putextra
import {showToast} from ‘./index‘; //上面函數只是簡單的封裝了uni.showToast方法,只是顯示toast作用而已,大家可刪除。 /** * 微信朋友:new ComponentName("com.tencent.mm", "com.tencent.mm.ui.tools.ShareImgUI"); * 微信朋友圈:new ComponentName("com.tencent.mm", "com.tencent.mm.ui.tools.ShareToTimeLineUI"); * 微博:new ComponentName("com.sina.weibo", "com.sina.weibo.composerinde.ComposerDispatchActivity"); * QQ朋友:new ComponentName("com.tencent.mobileqq", "com.tencent.mobileqq.activity.JumpActivity"); * QQ空間:new ComponentName("com.qzone", "com.qzonex.module.operation.ui.QZonePublishMoodActivity"); */ /** * 實現分享多圖到朋友圈 */ /** 分享到 0:微信好友、1:微信朋友圈 * 分享到朋友圈時失效 * const shareto = [‘com.tencent.mm.ui.tools.ShareImgUI‘,‘com.tencent.mm.ui.tools.ShareToTimeLineUI‘]; */ const shareto = ‘com.tencent.mm.ui.tools.ShareImgUI‘; /** 微信分享圖片 * param1 shareto數組中的一個 * param2 圖片數組 * param3 描述信息 */ function weixin_share_mul_pic(ex, pics, description) { var Intent = plus.android.importClass(‘android.content.Intent‘); var ComponentName = plus.android.importClass(‘android.content.ComponentName‘); var ArrayList = plus.android.importClass(‘java.util.ArrayList‘); var Uri = plus.android.importClass(‘android.net.Uri‘); var Environment = plus.android.importClass(‘android.os.Environment‘); var File = plus.android.importClass(‘java.io.File‘); //var sdcardDir = plus.android.invoke(Environment.getExternalStorageDirectory(),‘getAbsolutePath‘); var intent = new Intent(); var localComponentName = new ComponentName("com.tencent.mm", ex); intent.setComponent(localComponentName); intent.setAction("android.intent.action.SEND_MULTIPLE"); intent.setType("image/*"); var localArrayList = new ArrayList(); for (var i = 0; i < pics.length; i++) { var filePath = pics[i]; //sdcardDir + //console.log(‘filePath=‘ + filePath); localArrayList.add(Uri.fromFile(new File(filePath))); } intent.putParcelableArrayListExtra("android.intent.extra.STREAM", localArrayList); intent.putExtra(Intent.EXTRA_TEXT, description); var act = plus.android.runtimeMainActivity(); act.startActivity(intent); } /** 微信分享視頻 * param1 shareto數組中的一個 * param2 視頻數據 */ /* function weixin_share_video(ex, src) { var Intent = plus.android.importClass(‘android.content.Intent‘); var ComponentName = plus.android.importClass(‘android.content.ComponentName‘); var ArrayList = plus.android.importClass(‘java.util.ArrayList‘); var Uri = plus.android.importClass(‘android.net.Uri‘); var Environment = plus.android.importClass(‘android.os.Environment‘); var File = plus.android.importClass(‘java.io.File‘); //var sdcardDir = plus.android.invoke(Environment.getExternalStorageDirectory(),‘getAbsolutePath‘); var intent = new Intent(); var localComponentName = new ComponentName("com.tencent.mm", ex); intent.setComponent(localComponentName); intent.setAction("android.intent.action.SEND_MULTIPLE"); intent.setType("video/*"); var localFile = Uri.fromFile(new File(src)); intent.putParcelableArrayListExtra("android.intent.extra.STREAM", localFile); intent.putExtra(Intent.EXTRA_TEXT, description); var act = plus.android.runtimeMainActivity(); act.startActivity(intent); } */ function weixin_share_video(src){ var Intent = plus.android.importClass(‘android.content.Intent‘); var ComponentName = plus.android.importClass(‘android.content.ComponentName‘); var File = plus.android.importClass(‘java.io.File‘); var Uri = plus.android.importClass(‘android.net.Uri‘); var intent = new Intent(Intent.ACTION_SEND); var localComponentName = new ComponentName("com.tencent.mm", shareto); intent.setComponent(localComponentName); intent.setType("video/*"); var localFile = new File(src); intent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(localFile)); //intent.putParcelableArrayListExtra("android.intent.extra.STREAM", localFile); var act = plus.android.runtimeMainActivity(); act.startActivity(intent); } //轉發圖片 export function myshare(picsUrl){ var pictures = []; //圖片數組 let imgsLen = picsUrl.length; let count = 0; //下載圖片 uni.showLoading({ title: ‘圖片下載中...‘ }); downloadPics(); function downloadPics(){ if(count < imgsLen){ uni.downloadFile({ url: picsUrl[count], success(res) { let tempFilePath = res.tempFilePath; pictures.push(plus.io.convertLocalFileSystemURL(tempFilePath)); count++; downloadPics(); }, fail(){ showToast(‘下載圖片失敗‘); } }); }else{ uni.hideLoading(); weixin_share_mul_pic(shareto, pictures); } }; }; //轉發視頻 export function shareMyVideo(src){ uni.showLoading({ title: ‘視頻下載中...‘ }); var downloadTask = uni.downloadFile({ url: src, success(res){ showToast(‘下載完成‘); uni.hideLoading(); let tempFilePath = res.tempFilePath; let video1 = plus.io.convertLocalFileSystemURL(tempFilePath); weixin_share_video(video1); }, fail() { uni.hideLoading(); showToast(‘下載失敗‘); } }); var myprecent = 0; downloadTask.onProgressUpdate((res) => { if(res.progress > myprecent){ myprecent = res.progress; uni.showLoading({ title: myprecent+‘%‘ }); }; }); }
使用uni-app開發
話不多說,直接上代碼:
H5+微信朋友、朋友圈分享