時間:2023-05-21 09:52:02 | 來源:網(wǎng)站運營
時間:2023-05-21 09:52:02 來源:網(wǎng)站運營
知識教程 | 常用的分享源碼(含微博、微信、QQ分享):生活在大數(shù)據(jù)互聯(lián)網(wǎng)時代下的我們,每天都在不停的刷新朋友圈、微博、QQ空間,看到好的文章、圖片等都會不由自主的想分享。使用者可以一秒鐘完成內(nèi)容分享,可是開發(fā)者要跳過不少坑后,才能開發(fā)出這么便捷的分享功能。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);}
<feature name="QQPlus"> <param name="urlScheme" value="tencent123456789"/> <param name="apiKey" value="123456789"/> </feature> <feature name="wx"> <param name="urlScheme" value="wx1**********2e"/> <param name="apiKey" value="wx1**********2e"/> <param name="apiSecret" value="6a9*****************43c"/> </feature> <feature name="weibo"> <param name="urlScheme" value="wb123456789"/> <param name="apiKey" value="123456789"/> <param name="registUrl" value="http://www.apicloud.com"/> </feature>
注意:這里有個坑,就是QQPlus區(qū)分安卓和iOS,不然在調(diào)用QQ空間分享的時候是能進入到QQ空間的界面的,但是一點提交,就會提示應用不存在。關鍵詞:教程,知識
微信公眾號
版權所有? 億企邦 1997-2025 保留一切法律許可權利。