一、安裝微信插件json
ionic cordova plugin add cordova-plugin-wechat --variable wechatappid=YOUR_WECHAT_APPID
YOUR_WECHAT_APPID就是你申請的appid
注意:在微信開放平臺建立應用的時候,appid是你的安裝包簽名的md5的值去掉冒號小寫,若是這個不匹配,微信登陸老閃退提示錯誤。segmentfault
二、組件中引入微信服務,定義。api
import { Component } from '@angular/core'; import { NavController, ViewController, LoadingController } from 'ionic-angular'; import { LoginInfoService } from "../../service/login-info.service"; import { Md5 } from "ts-md5/dist/md5"; // 引入微信服務 declare var Wechat: any;
後面既能夠使用Wechat來調用微信裏面的服務了。數組
三、具體代碼微信
weChatAuth() { let loading = this.loadingCtrl.create({ content: "跳轉微信登陸中...",//loading框顯示的內容 dismissOnPageChange: true, // 是否在切換頁面以後關閉loading框 showBackdrop: true //是否顯示遮罩層 }); loading.present(); try { let scope = "snsapi_userinfo", state = "_" + (+new Date()); // 1. 獲取code Wechat.auth(scope, state, (response) => { var appId = "wx3bcebf4b5f8f9c22"; let appSecret = "a530d135d97dd51cc73659e3874cb254"; // 2. 獲取token,openID Wechat.auth('https://api.weixin.qq.com/sns/oauth2/access_token?appid=' + appId + '&secret=' + appSecret + '&code=' + response.code + '&grant_type=authorization_code', function (accessTokenResponse) { var accessToken = accessTokenResponse.access_token; var openId = accessTokenResponse.openid; console.log(accessTokenResponse); // 3. 獲取用戶信息 Wechat.auth('https://api.weixin.qq.com/sns/userinfo?access_token=' + accessToken + '&openid=' + openId + '&lang=zh_CN', function (userInfoResponse) { console.log(userInfoResponse); // 用戶信息 // openid 普通用戶的標識,對當前開發者賬號惟一 // nickname 普通用戶暱稱 // sex 普通用戶性別,1爲男性,2爲女性 // province 普通用戶我的資料填寫的省份 // city 普通用戶我的資料填寫的城市 // country 國家,如中國爲CN // headimgurl 用戶頭像,最後一個數值表明正方形頭像大小(有0、4六、6四、9六、132數值可選,0表明640*640正方形頭像),用戶沒有頭像時該項爲空 // privilege 用戶特權信息,json數組,如微信沃卡用戶爲(chinaunicom) // unionid 用戶統一標識。針對一個微信開放平臺賬號下的應用,同一用戶的unionid是惟一的。 }); }); }, (reason) => { alert("Failed: " + reason); }); } catch (error) { console.log(error); } finally { loading.dismiss(); } }
若是不明白簽名相關的問題能夠看我上一篇文章:app
https://segmentfault.com/a/1190000013830970