Ionic 分享功能(微博 微信 QQ)
1.安装插件
cordova plugin add cordova-plugin-wechat --variable wechatappid=你申请微信appid
cordova plugin add cordova-plugin-qqsdk --variable QQ_APP_ID=你申请QQ的appid
cordova plugin add cordova-plugin-weibosdk --variable WEIBO_APP_ID=你申请微博的appid
2 js代码
$scope.goshare=function() { $scope.myPopup = $ionicPopup.show({
//这里简单列一下
//template: '',
templateUrl:'templates/home/share.html',
title: '分享文章',
scope: $scope,
buttons: [ { text: '取消' }]
});
$scope.myPopup.then(function(res) { });
} $scope.offshare= function (tp) { var params = {
scene: 1
};
params.message = {
title: "[TEST] send-photo-local" ,
description: "[TEST]Sending from test application",
mediaTagName: "TEST-TAG-001",
messageExt: "send-photo-local",
messageAction: "<action>dotalist</action>",
media: {}
};
params.message.title = $scope.details.title;
params.message.description = $scope.details.title;
params.message.thumb = "www/img/logo.png";
params.message.media.type = Wechat.Type.LINK;
params.message.media.webpageUrl = $scope.details.ShareUrl; switch(tp){
case 0://微博
WeiboSDK.checkClientInstalled(function () {
var args = {};
args.url = $scope.details.ShareUrl;
args.title = $scope.details.title;
args.description = $scope.details.title;
args.image = 'http://dzlyinhe.com/images/logo_1.png';
WeiboSDK.shareToWeibo(function () {
//alert('share success');
$scope.myPopup.close();
}, function (failReason) {
/*
$ionicLoading.show({
noBackdrop: false,
template: failReason,
duration: 1500
});*/
}, args);
}, function () {
$ionicLoading.show({
noBackdrop: false,
template: "请安装微博客户端",
duration: 1500
});
});
break;
case 1://会话
params.scene=0;
Wechat.isInstalled(function (installed) {
if(installed){
Wechat.share(params
, function () {
//alert("Success");
$scope.myPopup.close();
}, function (reason) {
//alert("Failed: " + reason);
/* $ionicLoading.show({
noBackdrop: false,
template: reason,
duration: 1500
});*/
});
}else{
$ionicLoading.show({
noBackdrop: false,
template: "请安装微信客户端",
duration: 1500
});
}
}, function (reason) {
// alert("Failed: " + reason);
}); break;
case 2:
params.scene=1;
Wechat.isInstalled(function (installed) {
if(installed){
Wechat.share(params
, function () {
//alert("Success");
$scope.myPopup.close();
}, function (reason) {
//alert("Failed: " + reason);
/*
$ionicLoading.show({
noBackdrop: false,
template: reason,
duration: 1500
});*/
});
}else{
$ionicLoading.show({
noBackdrop: false,
template: "请安装微信客户端",
duration: 1500
});
}
}, function (reason) {
// alert("Failed: " + reason);
}); break;
case 3:
params.scene=2;
Wechat.isInstalled(function (installed) {
if(installed){
Wechat.share(params
, function () {
//alert("Success");
$scope.myPopup.close();
}, function (reason) {
//alert("Failed: " + reason);
/* $ionicLoading.show({
noBackdrop: false,
template: reason,
duration: 1500
});*/
});
}else{
$ionicLoading.show({
noBackdrop: false,
template: "请安装微信客户端",
duration: 1500
});
}
}, function (reason) {
// alert("Failed: " + reason);
}); break;
case 4://qq好友
var args = {};
args.client = QQSDK.ClientType.QQ;//QQSDK.ClientType.QQ,QQSDK.ClientType.TIM; QQSDK.checkClientInstalled(function () { args.scene = QQSDK.Scene.QQ;//QQSDK.Scene.QQZone,QQSDK.Scene.Favorite
args.url = $scope.details.ShareUrl;
args.title = $scope.details.title;
args.description = $scope.details.title;
args.image = 'http://dzlyinhe.com/images/logo_1.png'; QQSDK.shareNews(function () {
$scope.myPopup.close();
}, function (failReason) { }, args);
}, function () {
$ionicLoading.show({
noBackdrop: false,
template: "请安装QQ客户端",
duration: 1500
});
}, args); break;
case 5:
var args = {};
args.client = QQSDK.ClientType.QQ;//QQSDK.ClientType.QQ,QQSDK.ClientType.TIM;
args.scene =QQSDK.Scene.QQZone ;//QQSDK.Scene.QQ QQSDK.Scene.QQZone,QQSDK.Scene.Favorite
args.url = $scope.details.ShareUrl;
args.title = $scope.details.title;
args.description = $scope.details.title;
args.image = 'http://dzlyinhe.com/images/logo_1.png';
QQSDK.checkClientInstalled(function () {
QQSDK.shareNews(function () {
$scope.myPopup.close();
}, function (failReason) { }, args);
}, function () {
$ionicLoading.show({
noBackdrop: false,
template: "请安装QQ客户端",
duration: 1500
});
}, args);
break;
}
}
3.templates/home/share.html
<div class="row" style="font-size: 12px;">
<div class="col" ng-click="offshare(0)"><img src="img/weibo.png" class="shareimg" /><br/>新浪微博</div>
<div class="col" ng-click="offshare(1)"><img src="img/wechat.png" class="shareimg" /><br/>微信好友</div>
<div class="col" ng-click="offshare(2)"><img src="img/wechat_moment.png" class="shareimg"/><br/>微信朋友圈</div>
</div>
<div class="row" style="font-size: 12px;">
<div class="col" ng-click="offshare(3)"><img src="img/wechat_fav.png" class="shareimg" /><br/>微信收藏</div>
<div class="col" ng-click="offshare(4)"><img src="img/qq.png" class="shareimg" /><br/>QQ好友</div>
<div class="col" ng-click="offshare(5)"><img src="img/qzone.png" class="shareimg"/><br/>QQ空间</div>
</div>
4.实例图片
Ionic 分享功能(微博 微信 QQ)的更多相关文章
- Web 项目中分享到微博、QQ空间等分享功能
Web 项目中分享到微博.QQ空间等分享功能 网上有很多的模板以及代码,但是有很多都不能分享内容,简单的测试了下: 以新浪微博为例,文本框中的内容是title属性,下面的链接是url属性,如果你的链接 ...
- MUI 分享功能(微信、QQ 、朋友圈)
配置文件:manifest.json plus ->plugins 下边 "share": {/*配置应用使用分享功能,参考http://ask.dcloud.net.cn/ ...
- h5 网页版的微博微信QQ登录
一:微博 1,先说微博吧,首先你的去http://open.weibo.com/wiki/先注册账号,通过验证审核.然后的创建网页应用.微博审核不通过的原因就是域名和网站地址,一定要按实际写的.一定要 ...
- 网页分享到微博、QQ、QQ空间、微信
<ul id="content-share-list" class="bdsharebuttonbox bdshare-button-style0-16" ...
- 常用分享功能.超级简单,qq 微信 新浪微博分享
<div id="share"> <a href="javascript:void(0)" share-type="qzone&qu ...
- share.js一键分享到微博、QQ空间、QQ好友、微信、腾讯微博、豆瓣、Facebook、Twitter、Linkedin、Google+、点点等
官网上面 https://github.com/overtrue/share.js非常详细的介绍了share.js他的使用 使用方式有:第一:使用 npm npm install social-sha ...
- Android--打开指定程序(微博/微信/QQ等)
Intent intent = new Intent(); ComponentName cmp = new ComponentName("com.sina.weibo"," ...
- 利用UIActivityController调用ios系统自带的分享功能,实现微信发布多图的功能
通过一番查找以后找到一个类UIActivityController,可以调用系统的social.framework中的分享接口.看下面的图就知道了,这个还是挺常见的 微信发布多图 借鉴了CSDN上的一 ...
- cordova 插件 调用iOS社交化分享(ShareSDK:微信QQ分享)
1.github上已有的插件:https://github.com/nwpuhmz/ShareSDKPlugin 2.安装插件 cordova plugin add https://github.co ...
随机推荐
- 概率dp——hdu4089推公式+循环迭代
迭代是化简公式的常用技巧 dp[i][j]表示队伍中有i人,tomato排在第j位出现情况2的概率,那么先推出公式再进行简化 dp[i][1]=p21*dp[i][i] + p41 j<=k : ...
- Maven远程仓库地址修改(精)
国内最快的maven镜像 阿里云maven镜像 <repositories> <repository> <id>spring-snapshots</id&g ...
- 获取硬件信息的delphi源码CPUID、操作系统、Mac物理地址、计算机名称、IP地址、用户名
{-----------------------------------------------------------------------------作者:sushengmiyan 2013.0 ...
- LUOGU P3413 SAC#1 - 萌数(数位dp)
传送门 解题思路 首先这道题如果有两个以上长度的回文串,那么就一定有三个或两个的回文串,所以只需要记录一下上一位和上上位填的数字就行了.数位\(dp\),用记忆化搜索来实现.设\(f[i][j][k] ...
- jquery学习笔记(五):AJAX
内容来自[汇智网]jquery学习课程 5.1 ajax AJAX 是与服务器交换数据的艺术,它在不重载全部页面的情况下,实现了对部分网页的更新. AJAX = 异步 JavaScript 和 XML ...
- System.Convert.cs
ylbtech-System.Convert.cs 1. 程序集 mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c56 ...
- t检验中的t值和p值是什么关系_t检验和p值的关系
t检验中的t值和p值是什么关系_t检验和p值的关系 t检验中通过样本均值 总体均值 样本标准差 样本量 可以计算出一个t值,这个t值和p值有什么关系? 根据界值表又会查出一个数,这个数和t值比较,得出 ...
- 《DSP using MATLAB》Problem 8.38
代码: function [wpLP, wsLP, alpha] = bp2lpfre(wpbp, wsbp) % Band-edge frequency conversion from bandpa ...
- dedecms 调用英文标题和栏目描述
调用英文标题: 参考文献 http://www.dedecms51.com/dedecmsjiaocheng/chengxukaifa/149476.html 增加 dede/templets/cat ...
- 阶梯nim游戏
阶梯nim游戏有n个阶梯,0-n-1,每个阶梯上有一堆石子,编号为i的阶梯上的石子只能移动到i-1上去,每次至少移动一个,最后所有的石子都移动到0号阶梯上了.结论:奇数阶梯上的石子异或起来,要是0,就 ...