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 ...
随机推荐
- 长链接生成短链接Java源码(调用百度接口)
public static DefaultHttpClient httpclient; static { httpclient = new DefaultHttpClient(); //httpcli ...
- Vue+Iview+Node 搭建数据模拟接口
1.初始化node 项目 2.安装需要部件 3.编写简单代码 routers=>:index.js login.js users.js 根目录 index.js var express=re ...
- [JZOJ 5782] 城市猎人
思路: 并查集按秩合并维护出现时间. 最早连接时间就是树上连接最大值. \(qwq\)我居然把路径压缩和按秩合并打到一个程序里了...OvO #include <bits/stdc++.h> ...
- Java 的锁-老王女儿的爱情
对象锁: new一个对象,都会给这个实例创建一把锁,对象中的方法必须在实例创建后,通过调用方法获取锁,一个线程进去这个方法之前拿到对象的锁,才能调用方法,否则被阻塞,举个例子,老王有个如花似玉的女儿, ...
- PHP 统计数组中所有的值出现的次数 array_count_values 函数
array_count_values() 函数用于统计数组中所有的值出现的次数. array_count_values() PHP array_count_values() 函数用于统计数组中所有的值 ...
- 第二周课堂笔记1th
1. 三元运算 + 2. for循环 for为有限循环,while为无限循环 可迭代对象:是字符串,数字不可以 数字不可以迭代但是可以用range函数 for i in range(1 ...
- <每日一题>题目12:列表解析及zip、dict函数的简单应用
''' 分析: 1.列表解析:迭代机制的一种应用 语法: [expression for iter_val in iterable] [expression for iter_val in itera ...
- USACO training course Checker Challenge N皇后 /// oj10125
...就是N皇后 输出前三种可能排序 输出所有可能排序的方法数 vis[0][i]为i点是否已用 vis[1][m+i]为i点副对角线是否已用 m+i 为从左至右第 m+i 条副对角线 vis[1] ...
- Nginx 教程 2:性能
为了获得更好的学习效果,我们建议你在本机安装 Nginx 并且尝试进行实践. tcp_nodelay, tcp_nopush 和 sendfile tcp_nodelay 在 TCP 发展早期,工程师 ...
- Python全栈开发:Mysql(二)
视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,并可以将其当作表来使用. SELECT *FROM (SELEC ...