摘自:
http://www.itwendao.com/artic...
http://www.iamsuperman.cn/
http://www.cnblogs.com/fair-1...html
前言android
实现ionic微信朋友圈、朋友分享只要按照着插件的文档来就行,为方便查询,现记录总结(本文是在开发Android App的环境下产生的)。git
注:github
1.每一个应用的名称、包名,签名都必须是惟一。为了作到ionic app能覆盖原有的Android App,必须保证ionic app这三者与原来保持一致。web
2.无论你使用什么样的cordova 微信分享插件,都必需要在微信开发者平台(https://open.weixin.qq.com/) 申请应用,并得到appid。appid的做用就是用来标识你的应用,让你的应用能够获取微信提供的接口权限,好比:分享到朋友圈、分享给朋友等权限。json
关于如何申请能够参考这篇文章:http://www.cnblogs.com/fair-1...微信
3.要测试微信分享功能,必须是签名以后的release apk,debug-apk是没法测试。由于在微信开发平台申请移动应用的时候须要你填写签名,因此你也必须对你的apk进行签名后才能正常使用微信分享功能;微信开发
流程大体是下面五步:app
1)一个android apk包ionic
2)应用签名(须要android apk包名来生成签名)
3)填写应用信息(包含签名),微信开放平台申请应用获取appid
4)安装cordova微信分享插件( cordova-plugin-wechat)
5)在代码中调用实现分享
细化:
1)一个android apk包
经过ionic 生成一个android apk包
2)应用签名(须要android apk包名来生成签名)
如图1:
如图2,根据apk包名,生成应用签名(图中绿色编码):
3)填写应用信息(包含签名),微信开放平台申请应用获取appid
无论你使用什么样的cordova 微信分享插件,都必需要在微信开发者平台(https://open.weixin.qq.com/) 申请应用,并得到appid。appid的做用就是用来标识你的应用,让你的应用能够获取微信提供的接口权限,好比:分享到朋友圈、分享给朋友等权限。
图1,等待应用审核经过,就能够获取一个应用appid:
图2, 圆圈中标记的就是,步骤四所须要的微信appid:
4)安装cordova微信分享插件( cordova-plugin-wechat)
完成上一步以后,你就得到了appid。而后就能够安装所须要的插件了。
这里使用的插件是:https://github.com/xu-li/cord... 。README部分已经够用了,若是还不清楚的话,做者还很贴心的提供了sample:https://github.com/xu-li/cord... 。
ionic plugin add cordova-plugin-wechat --variable wechatappid=微信appid ionic platform add android ionic build android
其中YOUR_WECHAT_APPID要替换成你上一步申请应用成功后得到的appid。
5)在代码中调用实现分享
若是你只是用到了“分享给好友”和“分享到朋友圈”这两个功能,那代码其实就很是简单了。
a):把微信分享的功能写到service层中
/** * 微信分享插件Service */ .factory('WechatService', [ function () { function share(params) { if (typeof Wechat === "undefined") { alert("手机还没有安装微信"); return false; } var json = {}; Wechat.share(params, function () { alert(分享成功); }, function (reason) { alert('Failed'+ reason); }); return true; } return { share: share } }])
插件安装后,会自动注册一个Wechat全局变量,在这个全局变量下,定义了一个share()方法,用来分享到微信中。
b):在Controller层中调用
/**
* type 表示分享类型。0:表示分享给朋友,1表示分享到朋友圈 / $scope.share = function (type) { var json = {}; Wechat.isInstalled(function (installed) { if (!installed) { alert(还没有安装微信); return false } }, function (reason) { alert('Failed'+ reason); }); $scope.params = { scene: type, message: { title: "添米送万元,几万人都在领,我在这里等你", thumb: "https://www.91tianmi.com/mobile/statics/mobile/images/icon-tm-logo.jpg", description: "写上描述文本", media: { type: Wechat.Type.LINK, webpageUrl: “http://xxx.xxx.com/siteurl” // 这里的webpageUrl要替换成你的页面url } } }; WechatService.share($scope.params); }
c):View层中的html页面显示
<div class="row text-center" flex="box:mean"> <div class="share-option" ng-click="share(0)"> <img src="main/assets/images/account/invite/share-friends.png" alt="" class="icon-share"> <p>微信好友</p> </div> <div class="share-option" ng-click="share(1)"> <img src="main/assets/images/account/invite/share-timeline.png" alt="" class="icon-share"> <p>微信朋友圈</p> </div> </div>
而后就能够愉快得使用微信分享了。