摘要:生活在大數據互聯網時代下的我們,每天都在不停的刷新朋友圈微博空間,看到好的文章圖片等都會不由自主的想分享。那么,開發者在開發微博微信分享功能時,怎么做才能跳過這些坑,順利完成分享功能今天,柚子君直接分享源碼給大家,幫你們縮短開發時間。
生活在大數據互聯網時代下的我們,每天都在不停的刷新朋友圈、微博、QQ空間,看到好的文章、圖片等都會不由自主的想分享。使用者可以一秒鐘完成內容分享,可是開發者要跳過不少坑后,才能開發出這么便捷的分享功能。
那么,開發者在開發微博、微信、QQ分享功能時,怎么做才能跳過這些坑,順利完成分享功能?今天,柚子君直接分享源碼給大家,幫你們縮短開發時間。
------ 這部分可以放在公共的JS里面 ------
var zShare = {};
zShare.dialog = function(title,text,url,img){
var shareItems = [
{text:"微信好友",icon:"widget://image/wxsession.png"}, {text:"微信朋友圈",icon:"widget://image/wxtimeline.png"}, {text:"新浪微博",icon:"widget://image/sinaWb.png"}, {text:"QQ",icon:"widget://image/qq.png"}, {text:"QQ空間",icon:"widget://image/qZone.png"} ]
var shareColumn = 5;
var dialogBox = api.require("dialogBox");
dialogBox.actionMenu ({
rect:{h:150}, texts:{cancel:"取消"}, items:shareItems, styles:{ bg:"#FFF", column:shareColumn, itemText: {color:"#000",size: 12,marginT:8}, itemIcon: {size:50}, cancel: {color:"#000",h: 40,size: 14} }
}, function(ret){
if(ret.eventType=="cancel"){ dialogBox.close({dialogName:"actionMenu"}); } else if(ret.eventType=="click"){ if(ret.index==0){ zShare.wxNews("session",title,text,url,img); } else if(ret.index==1){ zShare.wxNews("timeline",title,text,url,img); } else if(ret.index==2){ zShare.weiboNews("sinaWb",title,text,url,img); } else if(ret.index==3){ zShare.qqNews("QFriend",title,text,url,img); } else if(ret.index==4){ zShare.qqNews("QZone",title,text,url,img); } }
});
}
zShare.wxNews = function(tar,title,text,url,img){
filename = (new Date()).valueOf()+"."+zShare.ext(img);
api.download({
url: img, savePath: "fs://"+filename, report: false, cache: true, allowResume: true
}, function(ret, err) {
var wx = api.require("wx"); wx.isInstalled(function(ret){ if(ret.installed) { api.toast({msg:"分享中,請稍候",duration:2000,location:"middle"}); } else { api.toast({msg:"沒有安裝微信,無法進行分享",duration:2000,location:"middle"}); } }); wx.shareWebpage({ apiKey: "", scene: tar, title: title, description: text, thumb: "fs://"+filename, contentUrl: url }, function(ret, err) { if (ret.status) { api.toast({msg: "分享成功",duration:2000, location: "middle"}); } });
});
}
zShare.qqNews = function(tar,title,text,url,img){
var qq = api.require("QQPlus");
qq.installed(function(ret){
if(ret.status) { api.toast({msg:"分享中,請稍候",duration:2000,location:"middle"}); } else { api.toast({msg:"沒有安裝QQ,無法進行分享",duration:2000,location:"middle"}); }
});
qq.shareNews({
url: url, title: title, description: text, imgUrl: img, type: tar
},function(ret,err){
if (ret.status){ api.toast({msg: "分享成功",duration:2000, location: "botoom"}); }
});
}
zShare.weiboNews = function(tar,title,text,url,img){
filename = (new Date()).valueOf()+"."+zShare.ext(img);
api.download({
url: img, savePath: "fs://"+filename, report: false, cache: true, allowResume: true
}, function(ret, err) {
var weibo = api.require("weibo"); weibo.shareImage({ text: title+text+url, imageUrl: "fs://"+filename }, function(ret, err) { if (ret.status) { api.toast({msg:"分享成功",duration:2000,location:"middle"}); } });
});
}
zShare.ext = function(fileName) {
return fileName.substring(fileName.lastIndexOf(".") + 1);
}
------ 這部分可以放在config.xml ------
注意:這里有個坑,就是QQPlus區分安卓和iOS,不然在調用QQ空間分享的時候是能進入到QQ空間的界面的,但是一點提交,就會提示應用不存在。
------ 調用方法 ------
zShare.dialog("標題","文本","鏈接","圖片")
另外:如果你在使用mobShare,想從mobShare換成獨立的模塊分享,你可能會遇到一個問題,就是不刪除mobShare又加入weibo模塊在編譯的時候會提示模塊沖突,那就要刪掉mobShare,要刪除的話你得先把config.xml中的mobShare代碼刪除,然后提交,再到APICloud模塊管理里面刪除,如果不刪除代碼的話APICloud模塊管理是不能刪除的。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/92598.html
摘要:一簡介該主要實現分享微信分享和新浪微博分享。調試包請到論壇掃描對應二維碼下載二效果圖三相關討論四源碼地址五更多示例只需要就可以開發出純原生的三個平臺的。 一、簡介 該demo主要實現QQ分享、微信分享和新浪微博分享。(調試包請到論壇掃描對應二維碼下載) 二、效果圖showImg(https://segmentfault.com/img/bVDjCr?w=320&h=568);showI...
閱讀 3518·2023-04-25 17:35
閱讀 2594·2021-11-24 09:39
閱讀 2530·2021-10-18 13:32
閱讀 3416·2021-10-11 10:58
閱讀 1637·2021-09-26 09:55
閱讀 6152·2021-09-22 15:47
閱讀 967·2021-08-26 14:15
閱讀 3472·2019-08-30 15:55