生活在大数据互联网时代下的我们,每天都在不停的刷新朋友圈、微博、QQ空间,看到好的文章、图片等都会不由自主的想分享。使用者可以一秒钟完成内容分享,可是开发者要跳过不少坑后,才能开发出这么便捷的分享功能。
![ 195713gggujro3j2q2h0j3.jpg ](/uploads/attachments/457950/20180119/2aaabede4560a9419e1191e3fb9bc256.jpg)
那么,开发者在开发微博、微信、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 ------
<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区分安卓和iOS,不然在调用QQ空间分享的时候是能进入到QQ空间的界面的,但是一点提交,就会提示应用不存在。
------ 调用方法 ------
zShare.dialog('标题','文本','链接','图片')
------ 图片附件 ------
![ 2.png ](/uploads/attachments/457950/20180119/0164491b36a8cfe8a136d0f532249e5a.png)
![ ![ 3.png ](/uploads/attachments/457950/20180119/f8a8a9d056df17c420c63fa0e66944bf.png) ](/uploads/attachments/457950/20180119/de6661c3d123e1c27dd3a4eec3d138d6.png)
![ 4.png ](/uploads/attachments/457950/20180119/4fc22e68cbdc28e6fcc76cd13e6a8edf.png)
![ 5.png ](/uploads/attachments/457950/20180119/1de37963e3adc89df0b66da15863eadb.png)
![ 6.png ](/uploads/attachments/457950/20180119/af38ca2acefa552638c0d2249673296a.png)
另外:如果你在使用mobShare,想从mobShare换成独立的模块分享,你可能会遇到一个问题,就是不删除mobShare又加入weibo模块在编译的时候会提示模块冲突,那就要删掉mobShare,要删除的话你得先把config.xml中的mobShare代码删除,然后提交,再到APICloud模块管理里面删除,如果不删除代码的话APICloud模块管理是不能删除的。
分享到:
相关推荐
共享-微信、QQ空间、腾讯微博、新浪等代码
【微信小程序-毕设期末大作业】源码电商类微信小程序 【微信小程序-毕设期末大作业】源码电商类微信小程序【微信小程序-毕设期末大作业】源码电商类微信小程序【微信小程序-毕设期末大作业】源码电商类微信小程序...
特别是微信好qq,今天分享一套微信QQ防封源码_qq遮罩跳转页面PHP源码美化版 搞一个遮罩(跳转浏览器提示)就OK了 迷惑性问题: 问:这个干什么用的。答:微信QQ打开网站提示 问:怎么用 答:放在网站运行目录 使用...
JavaScript实现一键分享到微博、QQ空间、QQ好友、微信、腾讯微博、豆瓣、Facebook、Twitter、Linkedin、Google+、点点等 JavaScript实现一键分享到微博、QQ空间、QQ好友、微信、腾讯微博、豆瓣、Facebook...
微信小程序 商城 (源码)微信小程序 商城 (源码)微信小程序 商城 (源码)微信小程序 商城 (源码)微信小程序 商城 (源码)微信小程序 商城 (源码)微信小程序 商城 (源码)微信小程序 商城 (源码)微信小程序 商城 (源码)...
通过“social-sdk”这一开源工具,开发者可以快速集成微信、微博、QQ和腾讯微博的登录与分享功能,极大地简化了开发流程,提升了应用的社交功能。开源的优势使得SDK具有更好的可扩展性和社区支持,让开发者能够更加...
【标题】"仿微信QQ聊天UI源码.zip" 提供的是一个针对安卓平台的用户界面(UI)设计,旨在模仿微信和QQ这两款流行的即时通讯应用的聊天界面。这个源码集成了表情功能,允许用户在聊天过程中发送各种表情,增加了交互...
本文将详细解析"2022最新PHP微信QQ域名防封直连系统源码"所涉及的核心知识点,以及如何利用这些源码来解决链接被封禁的问题。 1. **PHP语言**:PHP是一种广泛使用的服务器端脚本语言,尤其适合Web开发。在这个系统...
标题中的“微信QQ防洪文件,微信QQ浏览器打开提示源码”指的是在微信或QQ内置的浏览器中,用于处理特定情况(可能是防止恶意攻击或过度请求,也被称为“洪水防御”)的源代码。这种源码可能涉及到浏览器的安全机制,...
【Android应用源码微享,微信分享实例】这个主题主要涉及的是如何在Android应用程序中实现微信分享功能。在移动开发领域,特别是在社交网络盛行的今天,应用内的分享功能已经成为一个必不可少的特性,使得用户能够...
特别是微信好qq,今天分享一套微信QQ防封源码_qq遮罩跳转页面PHP源码美化版 搞一个遮罩(跳转浏览器提示)就OK了 迷惑性问题: 问:这个干什么用的。 答:微信QQ打开网站提示 问:怎么用 答:放在网站运行目录 ...
很多站长会遇到网站报红,今天新云给大家出一个招,原理需要有一个不报红的域名,大家把源码复制到虚拟主机或者服务器,找到源码中index.php文件$target = ,修改为报红的网站域名即可。 这就大功告成了,如果你的...
微信社交平台允许用户将内容分享到朋友圈、聊天群或个人,利用这一特性,源码会提供分享按钮和相应的分享接口调用。当用户分享内容后,其好友看到动态对话和二维码,可能会被激发兴趣,进一步加入群聊,形成裂变...
码支付:需要24小时挂电脑软件,但是用户付款后金额直接到自己支付宝或者微信,建议量大的用户使用此方式,此方式配置起来稍微有点麻烦,它免费使用QQ钱包和支付宝支付,开通微信支付另外收费58块 易支付:目前...
本资源提供的是一款适用于微信和QQ小程序的去水印源码,旨在帮助开发者快速构建自己的去水印功能,以满足用户对无水印图片或视频的需求。 首先,我们要理解什么是去水印。水印通常是在图像或视频中添加的一种标识,...
【标题】: "仿QQ微信小程序源码.zip" 指的是一份包含有类似QQ与微信小程序设计和功能的源代码压缩包。这通常是一个开发项目,旨在为用户提供一个平台,体验与QQ和微信小程序类似的交互和界面设计。源码是软件开发的...
4. **API调用**:源码中会包含对微信或QQ小程序提供的API调用,比如数据存储(微信的wx.setStorageSync、QQ的qq.setStorageSync)、网络请求(wx.request、qq.request)、用户登录(wx.login、qq.login)等。...
【微信QQ新浪空间分享源码】是一个用于网页内容分享到社交平台的JavaScript代码实现,它使得用户能够方便地将文章、网站链接一键分享到微信、QQ以及新浪空间等社交媒体上,提高了网站的互动性和传播性。这个源码的...
这个名为"jQuery手机端QQ微信微博分享插件"的压缩包提供了在手机网页上轻松实现QQ、微信和微博分享的功能,使得用户可以便捷地将内容传播到他们常用的社交平台上。以下是关于这个插件的一些关键知识点: 1. **...
微信红包源码和微信抽奖活动推广源码涉及到的技术和知识点主要包括以下几个方面: 1. **微信开放平台接口**:微信红包和抽奖活动的实现离不开微信开放平台提供的API接口。开发者需要注册成为微信开放平台的开发者,...