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)的更多相关文章

  1. Web 项目中分享到微博、QQ空间等分享功能

    Web 项目中分享到微博.QQ空间等分享功能 网上有很多的模板以及代码,但是有很多都不能分享内容,简单的测试了下: 以新浪微博为例,文本框中的内容是title属性,下面的链接是url属性,如果你的链接 ...

  2. MUI 分享功能(微信、QQ 、朋友圈)

    配置文件:manifest.json plus ->plugins 下边 "share": {/*配置应用使用分享功能,参考http://ask.dcloud.net.cn/ ...

  3. h5 网页版的微博微信QQ登录

    一:微博 1,先说微博吧,首先你的去http://open.weibo.com/wiki/先注册账号,通过验证审核.然后的创建网页应用.微博审核不通过的原因就是域名和网站地址,一定要按实际写的.一定要 ...

  4. 网页分享到微博、QQ、QQ空间、微信

    <ul id="content-share-list" class="bdsharebuttonbox bdshare-button-style0-16" ...

  5. 常用分享功能.超级简单,qq 微信 新浪微博分享

    <div id="share"> <a href="javascript:void(0)" share-type="qzone&qu ...

  6. share.js一键分享到微博、QQ空间、QQ好友、微信、腾讯微博、豆瓣、Facebook、Twitter、Linkedin、Google+、点点等

    官网上面 https://github.com/overtrue/share.js非常详细的介绍了share.js他的使用 使用方式有:第一:使用 npm npm install social-sha ...

  7. Android--打开指定程序(微博/微信/QQ等)

    Intent intent = new Intent(); ComponentName cmp = new ComponentName("com.sina.weibo"," ...

  8. 利用UIActivityController调用ios系统自带的分享功能,实现微信发布多图的功能

    通过一番查找以后找到一个类UIActivityController,可以调用系统的social.framework中的分享接口.看下面的图就知道了,这个还是挺常见的 微信发布多图 借鉴了CSDN上的一 ...

  9. cordova 插件 调用iOS社交化分享(ShareSDK:微信QQ分享)

    1.github上已有的插件:https://github.com/nwpuhmz/ShareSDKPlugin 2.安装插件 cordova plugin add https://github.co ...

随机推荐

  1. hibernate_05_hibernateHQL查询QBC查询和SQL查询

    1.HQL简介:HQL是Hibernate Query Language(Hibernate 查询语言)的缩写,提供更加丰富灵活.更为强大的查询能力:HQL更接近SQL语句查询语法.Hibernate ...

  2. Objective-C 中的 Meta-class 是什么?

    在这篇文章中,我关注的是 Objective-C 中的一个陌生的概念-- meta-class.在 Objective-C 中的每个类都有一个相关联的 meta-class,但是你很少会直接使用 me ...

  3. hdu多校第二场 1010 (hdu6600)Just Skip This Problem

    题意: 给你一个数x,允许你多次询问yi,然后回答你x xor yi 是否等于yi,询问尽量少的次数以保证能求出xi是几,求出这样询问次数最少的询问方案数. 结果mod1e6+3 题解: 队友赛时很快 ...

  4. 手工编写JavaWeb项目

    手工编写JavaWeb项目 一.打开Tomcat服务器 二.编写简单的web项目 三.访问项目 并且,tomcat服务器也是可以直接访问.txt的,其实就和其它的web服务器一样,什么都可以访问,和之 ...

  5. Mybatis功能架构及执行流程

    原文地址:http://blog.51cto.com/12222886/2052647 一.功能架构设计 功能架构讲解: 我们把Mybatis的功能架构分为三层: (1) API接口层:提供给外部使用 ...

  6. java-day06

    面向过程 每一个具体的步骤都亲力亲为,详细处理每一个细节 面向对象 不关心具体步骤,而是找一个已经具有该功能的人来帮我做事 特点 封装性 继承性 多态性 类 是一组相关属性和行为的集合 成员变量(属性 ...

  7. InfluxDB的安装和简介

    InfluxDB简介 InfluxDB是一个时间序列数据库,旨在处理高写入和查询负载.它是TICK堆栈的组成部分 .InfluxDB旨在用作涉及大量带时间戳数据的任何用例的后备存储,包括DevOps监 ...

  8. 牛客网NOIP赛前集训营-普及组(第七场)

    链接:C 来源:牛客网 牛牛的同学给牛牛表演了一个读心术:牛牛先任意选定一个非负整数,然后进行N次操作:每次操作前,假设牛牛当前的数是a,那么这个操作可能是a = a + x, 或者a = a * x ...

  9. 侧滑关闭Activity的解决方案——SwipeBackLayout

    项目地址:ikew0ng/SwipeBackLayout: An Android library that help you to build app with swipe back gesture. ...

  10. springcloud系列15 bus的使用

    可以结合wekbbok进行通知: 将更新的代码进行点击就好: