PhoneGap/Cordova微信分享插件【升级版】

去年7月底我在博客上发布了微信分享插件之后,一年来几乎有二三十位网友加我QQ,遇到各种问题,终究还是因为手动安装方式步骤繁琐,容易出错。

于是我决定开发命令行安装的版本,希望能为有需要的网友提供便利。然而,由于微信分享的一些限制,尚不能做到完全自动化,但已经比之前简单了许多。

安装:

cordova plugin add https://git.oschina.net/jiusem/WechatShare-for-PhoneGap.git

安装成功后,需要将插件目录中的 wxapi 文件夹 移动 到你的 主包 中,这是微信官方的要求,wxapi 文件夹的作用是接受来自微信的回传信息。

移动文件夹后,java文件会出现一个报错,将第一行的包名修改为你自己的主包名即可。

还需要做的工作是打开WechatShare.java文件,大约在58行处,将appID修改为你自己在微信开放平台申请到的。

至此,准备工作就绪,可以使用插件了。

与所有插件一样,你应当在deviceready事件后调用插件,像这样:

document.addEventListener(‘deviceready‘,function(){
    //调用插件
},false);

首先来看看如何分享网页到微信,我想这是我们最常见的应用了:

var args = {
     type: ‘webpage‘,
     url:‘http://www.baidu.com‘,
     imgUrl:‘https://www.baidu.com/img/bdlogo.png‘,
     title:‘文章标题‘,
     desc:‘文章简介‘,
     isSendToTimeline:true //true表示分享到朋友圈,false分享给好友
};
 
navigator.WechatShare.send(args);

分享文字:

var args = {
     type: ‘text‘,
     text:‘需要分享的文字‘,
     isSendToTimeline:true //true表示分享到朋友圈,false分享给好友
};
 
navigator.WechatShare.send(args);

分享图片:

var args = {
     type: ‘image‘,
     imageType: ‘path‘,//也可以使用 ‘url‘ 分享图片.
     data: ‘/test.png‘,//SD card 路径 or url
     isSendToTimeline: true
};
 
navigator.WechatShare.send(args);

分享音乐:

var args = {
     type: ‘music‘,
     url: ‘http://x.x.x/test.mp3‘,
     title: ‘title‘,
     desc: ‘desc‘,
     isLowBand: true,// 是否使用低音质
     imgUrl:‘‘,//图片路径
     isSendToTimeline: true
};
 
navigator.WechatShare.send(args);

分享视频:

var args = {
     type: ‘video‘,
     url: ‘http://x.x.x.swf‘,
     title: ‘title‘,
     desc: ‘desc‘,
     isLowBand: true,
     imgUrl: ‘http://www.baidu.com/img/bdlogo.gif‘,
     isSendToTimeline: true
};
 
navigator.WechatShare.send(args);

分享文件:

var args = {
     type: ‘file‘,
     path: ‘file:///test.mp3‘,//file‘s fullPath
     desc: ‘我在发本地文件‘,
     title: ‘文件‘,
     imgUrl: ‘http://www.baidu.com/img/bdlogo.gif‘,
     isSendToTimeline: true
};
 
navigator.WechatShare.send(args);

如果需要处理微信分享的结果,判断分享是否成功,可以定义一个回调函数:

navigator.WechatShare.sendCallBack = function(result){
 	switch(result){
	   case 1:
	   //分享成功
	   //...编写你的业务逻辑
	   break;
	   
	   case 2:
           //取消分享
           //...
           break;
   		   
	   case 3:
           //验证失败
           //...
           break;
   		   
	   case 4:
           //未知错误
           //...
           break; 
   	}
}

在git中,我提供了一个完整的Android分享示例,在example文件中:

https://git.oschina.net/jiusem/WechatShare-for-PhoneGap.git

里面包含keystore文件,可以用来调试;在bin文件夹中有一个生成的apk文件,可以安装到手机上来测试。

插件暂时仅支持Android,iOS版本也会尽快加上。如果有需要,可以参考:http://my.oschina.net/crazymus/blog/306702

还有问题?欢迎加QQ群交流:454566813 (PhoneGap/Cordova插件交流,请说明来自开源中国,谢谢!)

时间: 2024-08-27 19:08:01

PhoneGap/Cordova微信分享插件【升级版】的相关文章

weixinShare.js / 极简微信分享插件

weixinShare.js / 极简微信分享插件 / 版本:0.1 这是一个很简单.很实用的微信分享插件,无需jQuery,只需要在网页里加入一行JS代码,即可自动识别微信浏览器并启动微信分享的提示,效果可见本页右上方 使用方式: 在</body>之前调用以下js文件: <script src='https://publib.qinco.net/weixinShare/js.min.js'></script> 其他: 源代码:https://publib.qinco.

phonegap(cordova) 自己定义插件代码篇(六)----android ,iOS 微信支付工具整合

还是那句话,在使用插件代码篇的时候,请先了解插件机制(如整合原生插件先阅读原生插件文档.非常重要.非常重要!非常重要!),如未了解,请先阅读入门篇.这里就专贴关键代码 必须先把官方sdk 依照要求一步一步的整到自己项目中.然后再来看此代码,这里是cordova 整合代码 如有不明确的.加群 38840127 (function (cordova) { var define = cordova.define; define("cordova/plugin/wxpay", function

PhoneGap+Cordova+SenchaTouch-02-添加插件并在设备中运行ST项目

第一步:添加cordova支持. sencha cordova init com.mycompany.MyApp MyApp com.mycompany.MyApp 是APP_ID :MyApp 是APP_NAME 备注:APP_ID  在IOS中非常重要,要和申请的store账号对应,否则打包不成功! 命令支持成功以后,在项目根目录将增加cordova目录. 第二步:添加插件. 进入SenchaTouch项目目录下的cordova 目录 cd cordova; 如果在  registry.co

jQuery插件之微信分享

在这里给大家介绍一款的jQuery插件,它的目的是方便大家在使用微信分享页面时调用.如有不当之处,请大家不吝赐教. ; (function ($) { $.fn.extend({ "weixinShare": function (options) { var firstImg = $("img:first"); var firstLink = window.location.href; var firstTitle = $("title").ht

自己动手写js分享插件 [支持https] (可以分享QQ空间,微信,新浪微博。。。)

由于百度分享,jiathis 等分享插件在https下均会报错,就萌生了自己动手写一个分享插件的念头,其实实现起来一点都不难,以下代码都已在https网站运行通过,特附上以下代码:还请各位看官不吝赐教: 附上演示效果网址:https://www.aishandian.com/jiekuan_zhishi-979.html 动画实现效果代码 $(document).on("click", ".msb_main", function() { if($(this).has

Cordova(PhoneGap)通过CordovaPlugin插件调用 Activity 实例

引言 Cordova(PhoneGap)采用的是HTML5+JavaScript混合模式来开 发移动手机APP,因此当页面需要获取手机内部某些信息时(例如:联系人信息,坐标定位,短信等),程序就需要调用手机内部的API跟页面进行信息交换. Cordova 特别为此定制了完善的解决方案,以方便用户进行程序编辑.在这一章里将为大家逐一介绍Cordova与Actitity通讯的实现原理. 目录 一.CordovaPlugin类简介 二.页面通过 cordova.exec 函数调用 CordovaPlu

Android移动APP开发笔记——Cordova(PhoneGap)通过CordovaPlugin插件调用 Activity 实例

引言 Cordova(PhoneGap)采用的是HTML5+JavaScript混合模式来开发移动手机APP,因此当页面需要获取手机内部某些信息时(例如:联系人信息,坐标定位,短信等),程序就需要调用手机内部的API跟页面进行信息交换.Cordova 特别为此定制了完善的解决方案,以方便用户进行程序编辑.在这一章里将为大家逐一介绍Cordova与Actitity通讯的实现原理. 目录 一.CordovaPlugin类简介 二.页面通过 cordova.exec 函数调用 CordovaPlugi

Cordova - 彻底搞定安卓中的微信支付插件!

你看到这个标题肯定会惊讶,一个Cordova的微信支付插件,有这么夸张吗?信不信由你,我相信,最终你会回来看这篇文章的! 一,不要使用的微信支付插件:https://github.com/xu-li/cordova-plugin-wechat 上面的插件,是目前大家在网上搜索文章时候,推荐最多的插件,但是,插件开发者,已经不再维护这个插件了,从最新版插件的代码看,确实是那样,其中从2.1.0开始的bug,到了最终的2.3.0也没有修复,而且还增加了bug!如果你不相信我的话,真的想使用上面这个插

自己动手写js分享插件 支持https QQ空间,微信,新浪微博

废话不多说,传送门:http://download.csdn.net/detail/cometwo/9620943 支持https:https://www.aishandian.com/news-631.html 参考文章:http://www.cnblogs.com/hooray/archive/2011/09/10/2172946.html 动画效果 $(document).on("click", ".msb_main", function() { if($(t