天天看點

Ionic實作微信、qq、微網誌分享Ionic實作微信、qq、微網誌分享

Ionic實作微信、qq、微網誌分享

這篇文檔針對的是ionic1。ionic雖然ionic版本不同,但大體的思想還是相同的。

Ionic要想實作微信、qq、微網誌的分享,第一步必須先申請相應的應用權限。獲得相應的應用權限之後,你才能進行後續的操作。

然後,我就對擷取各個應用擷取權限的步驟一一進行編寫。

微信

第一步:進入微信開放平台:https://open.weixin.qq.com/。進行相應的登入。你如果沒有賬号,可以先進行注冊,然後進行相應的登入。

Ionic實作微信、qq、微網誌分享Ionic實作微信、qq、微網誌分享

第二步:點選進入管理中心。下面的步驟,我以移動應用舉例。點選‘移動應用’,你然後就會發現下方有一個‘建立移動應用’按鈕,點選它,進入建立的編輯頁面。

Ionic實作微信、qq、微網誌分享Ionic實作微信、qq、微網誌分享
Ionic實作微信、qq、微網誌分享Ionic實作微信、qq、微網誌分享

進入編輯頁面之後,那就簡單了,一步一步填下去就行了。當然填寫基本資訊這一步中有要注意的地方。

這個地方是上傳移動應用圖檔的地方。你上傳的圖檔的大小必須跟它要求的一緻,否則你會發現,你會很煩的(重複死循環,上傳不上去)。

Ionic實作微信、qq、微網誌分享Ionic實作微信、qq、微網誌分享

然後,填寫完基本資訊之後,進入填寫平台資訊頁面。頁面試下方的樣子。

Ionic實作微信、qq、微網誌分享Ionic實作微信、qq、微網誌分享

如果你想在ios中和Android中都可以分享内容到微信上的話,你就必須兩個都申請。這裡我舉Android的例子。勾選上Android應用,顯示如下圖所示的界面

Ionic實作微信、qq、微網誌分享Ionic實作微信、qq、微網誌分享

上圖中先講一下應用包名,應用包名指的是項目檔案下config.xml中widget标簽内的id,

Ionic實作微信、qq、微網誌分享Ionic實作微信、qq、微網誌分享

取得這個id後,需要通過連結:

https://github.com/mobileresearch/weibo_android_sdk/blob/master/app_signatures

.apk下載下傳apk裝到手機上,apk安裝完成後,打開。打開的界面如下圖所示。

Ionic實作微信、qq、微網誌分享Ionic實作微信、qq、微網誌分享
Ionic實作微信、qq、微網誌分享Ionic實作微信、qq、微網誌分享

将複制好的包名放進去,Get SignaTrue就可以生成相對應的應用簽名。生成的簽名會以綠色字型顯示。到目前為止相對應的應用包名和應用簽名,就有了。回到微信開發平台中,編寫平台資訊頁面,将他們填進去就行。

Ionic實作微信、qq、微網誌分享Ionic實作微信、qq、微網誌分享

最後一步,送出稽核。之後你就等待應用稽核好就行,稽核沒通過,隻能重新編寫繼續申請。

Ionic實作微信、qq、微網誌分享Ionic實作微信、qq、微網誌分享

QQ

使用開發者賬号登入騰訊開放平台(衆創空間) 點選 應用接入 / 應用管理 / 建立應用 自己按照步驟填寫完成。需要注意的是:安卓應用建立完成之後,直接在該應用下,點選IOS應用,同步進行IOS應用的建立,此時他們使用的是同一個 APP ID,請不要分别,分開建立! 建立完成後送出稽核。【備注,有個重要的事項需要此處說明,同一個開發者賬戶建立的多個應用,如果使用同一QQ賬号登入不同的産品後無法識别為同一個QQ使用者,此時需要通過郵件的形式申請unionid接口】

新浪微網誌

微網誌: 大緻同QQ,登入微網誌開放平台的背景管理系統:

http://open.weibo.com/?sudaref=www.baidu.com&display=0&retcode=6102

Ionic實作微信、qq、微網誌分享Ionic實作微信、qq、微網誌分享
Ionic實作微信、qq、微網誌分享Ionic實作微信、qq、微網誌分享
Ionic實作微信、qq、微網誌分享Ionic實作微信、qq、微網誌分享
Ionic實作微信、qq、微網誌分享Ionic實作微信、qq、微網誌分享

點選立即接入:你一步一步按照要求就可以,申請成功,取得appid。

相關cordova插件

· 

QQ插件: cordova-plugin-qqsdk 

安裝:ionic cordova plugin add cordova-plugin-qqsdk --variable QQ_APP_ID=YOUR_QQ_APPID --save

微網誌插件:cordova-plugin-weibosdk 

安裝 使用指令:ionic cordova plugin add cordova-plugin-weibosdk --variable WEIBO_APP_ID=你的appid --save

微信插件:cordova-plugin-wechat 

安裝 使用指令:ionic cordova plugin add cordova-plugin-wechat --variable wechatappid=你的appid --save

代碼編寫

微信代碼:

在controller中編寫代碼

1、首先判斷手機有沒有安裝微信插件

// 檢測是否安裝微信插件

 if ("undefined" === typeof Wechat) {

console.log("Wechat plugin is not installed."); 

return false; 

}
           

2、在判斷手機有沒有裝微信

Wechat.isInstalled(function (installed) {

    alert("Wechat installed: " + (installed ? "Yes" : "No"));

}, function (reason) {

    alert("Failed: " + reason);

});
           

3、分享連結代碼 

Wechat.share({

    message: {

        title: "yuhao",

        description: "This is description.",

        thumb: "www/img/mickey.png",

        media: {

            type: Wechat.Type.LINK,

            webpageUrl: "http://blog.csdn.net/yu17310133443"

        }

    },

    scene: 1   // 1是朋友圈 0是好友

}, function () {

    alert("Success");

}, function (reason) {

    alert("Failed: " + reason);

});
           

然後,微信分享就結束了。

微網誌代碼

1、首先判斷有沒有安裝微網誌插件

// 檢測是否安裝微網誌插件

 if ("undefined" === typeof WeiboSDK) {

console.log("WeiboSDK plugin is not installed."); 

return false; 

}
           

2、分享連結代碼

WeiboSDK.checkClientInstalled(function() {

      var args = {};

      args.url = $scope.details.shareUrl || '';

      args.title = $scope.details.title || '';

      args.description = $scope.details.shareDesc || '';

      args.image = $scope.details.shareImg; //微網誌有預設圖檔

      WeiboSDK.shareToWeibo(function() {

alert(“success!”);       

      }, function(failReason) {

       	alert(“failure!”+ failReason);     

      }, args);

    }, function() {

         alert('您沒有安裝微網誌!'); //就确認又沒安裝微網誌

});
           

QQ代碼

1、首先判斷又沒安裝QQ插件 

// 檢測是否安裝QQ插件

 if ("undefined" === typeof QQSDK) {

console.log("QQSDK plugin is not installed."); 

return false; 

}
           

2、分享連結代碼

QQSDK.checkClientInstalled(function() {

    var args = {};

args.scene = QQSDK.Scene.QQZone;//QQSDK.Scene.QQ,QQSDK.Scene.Favorite

    args.url = $scope.details.shareUrl || '';

    args.title = $scope.details.title || '';

    args.description = $scope.details.shareDesc || '';

    args.image = $scope.details.shareImg;

    QQSDK.shareNews(function() {

        alert(“success!”);  

      }, function(failReason) {

      alert(“failure!”+ failReason);      

      }, args);

    }, function() {

         alert('您沒有安裝qq!'); //就确認又沒安裝qq

    });