ionic 微信公眾號開發(fā) 推送消息與上傳圖片

要實現(xiàn)消息推送與上傳圖片,需要獲取微信的網(wǎng)頁授權(quán)并引入微信的JS-JDK魔慷。

消息推送

  • 首先雹舀,要實現(xiàn)消息推送,需要獲取code央勒,通過code獲取access_token和openid不见,后臺通過微信公眾號的AppID,AppSecret與openid來實現(xiàn)消息的推送崔步。
  • 我在實際開發(fā)的過程中稳吮,由于調(diào)用獲取access_token的方法總是存在跨域的問題,所以我只是獲取了code井濒,然后將code傳給后臺灶似,由后臺直接訪問接口獲取openid與access_token。
    首先引導(dǎo)關(guān)注者打開如下頁面:
var weixinURL  = https://open.weixin.qq.com/connect/oauth2/authorize?appid=***&redirect_uri=***&response_type=code&scope=SCOPE&state=STATE#wechat_redirect

appid:是微信公眾號的開發(fā)者ID(AppID)瑞你;
redirect_uri:微信公眾平臺管理中酪惭,網(wǎng)頁授權(quán)配置信息里面的網(wǎng)頁授權(quán)域名, 要使用 urlEncode 對鏈接進(jìn)行處理者甲,ionic中由encodeURIComponent()這個方法可以實現(xiàn)這個功能春感;

圖例1.png

response_type:返回類型,寫死code虏缸;
scope:給snsapi_base 時不彈出授權(quán)頁面鲫懒,直接跳轉(zhuǎn),只能獲取用戶 openid刽辙,給snsapi_userinfo 時彈出授權(quán)頁面窥岩,可通過openid拿到昵稱、性別宰缤、所在地颂翼。并且, 即使在未關(guān)注的情況下慨灭,只要用戶授權(quán)朦乏,也能獲取其信息 ;
state:重定向后會帶上state參數(shù)氧骤,開發(fā)者可以填寫a-zA-Z0-9的參數(shù)值呻疹,最多128字節(jié),我這里不傳參數(shù)语淘,直接給了STATE诲宇;

我的邏輯是在用戶登錄成功之后,將當(dāng)前界面的路徑賦值為上面提到的url

 window.location.href = weixinURL;

成功之后惶翻,用戶可以訪問到自己的微信公眾號程序姑蓝,并且url中包含code,我們將code解析出來之后吕粗,傳給后臺纺荧,下面是解析的方法

  //解析當(dāng)前url當(dāng)中name參數(shù)對應(yīng)的值颅筋,沒有返回null宙暇,
  getQueryString(name) {
    var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');
    var r = window.location.search.substr(1).match(reg);
    if (r != null) {
      return unescape(r[2]);
    }
    return null;
  }

上傳圖片

微信公眾號當(dāng)中不能直接使用ionic插件調(diào)用相機(jī)或者相冊,必須使用微信提供的JDK才能實現(xiàn)议泵,大致的使用步驟如下:
首先占贫,也是微信公眾號后臺配置的問題,我們首先要配置一下JS接口安全域名先口,才能正確的拿到簽名型奥;配置安全域名時,不需要加前面的https://
1.在ionic工程的index.html文件中進(jìn)入微信JS-JDK的js文件

  <!--  微信jdk -->
  <script scr="http://res2.wx.qq.com/open/js/jweixin-1.4.0.js"></script>

2.執(zhí)行如下命令碉京,安裝weixin-jdk模塊

  npm install weixin-js-sdk

3.在目標(biāo)界面引入模塊

<!-- import {wx} from 'weixin-js-sdk'; 不能這么導(dǎo)入厢汹,識別不出來 -->
import wx from 'weixin-js-sdk';

調(diào)用微信的接口前提是要通過wx.config 配置方法,這個方法正常調(diào)用了谐宙,其他方法才能正常調(diào)用烫葬。

            wx.config({
              debug: true, // 開啟調(diào)試模式,調(diào)用的所有api的返回值會在客戶端alert出來,若要查看傳入的參數(shù)凡蜻,可以在pc端打開搭综,參數(shù)信息會通過log打出,僅在pc端時才會打印咽瓷。
              appId: APPID, // 必填设凹,公眾號的唯一標(biāo)識
              timestamp: timestamp, // 必填,生成簽名的時間戳
              nonceStr: noncestr, // 必填茅姜,生成簽名的隨機(jī)串
              signature: signature,// 必填闪朱,簽名
              jsApiList: [
                'chooseImage',
                'previewImage',
                'uploadImage',
                'downloadImage',
                'getLocalImgData'
              ] // 必填,需要使用的JS接口列表
          });

其中钻洒,signature簽名有固定的算法奋姿,微信規(guī)定的。生成簽名的其他參數(shù)不做解析了素标,重點(diǎn)說一下這個url称诗,按照要求,需要截取#好前面的部分头遭,且末尾不能包含多余的"/",上代碼:

    //微信的要求寓免,必須是#前面的url癣诱,但是不能包括/,因為我測試了,不行
    let tempStr = encodeURIComponent(location.href.split('#')[0]) ;
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末袜香,一起剝皮案震驚了整個濱河市撕予,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蜈首,老刑警劉巖实抡,帶你破解...
    沈念sama閱讀 217,542評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異欢策,居然都是意外死亡吆寨,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評論 3 394
  • 文/潘曉璐 我一進(jìn)店門踩寇,熙熙樓的掌柜王于貴愁眉苦臉地迎上來啄清,“玉大人,你說我怎么就攤上這事姑荷『醒樱” “怎么了?”我有些...
    開封第一講書人閱讀 163,912評論 0 354
  • 文/不壞的土叔 我叫張陵鼠冕,是天一觀的道長添寺。 經(jīng)常有香客問我,道長懈费,這世上最難降的妖魔是什么计露? 我笑而不...
    開封第一講書人閱讀 58,449評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮憎乙,結(jié)果婚禮上票罐,老公的妹妹穿的比我還像新娘。我一直安慰自己泞边,他們只是感情好汁汗,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,500評論 6 392
  • 文/花漫 我一把揭開白布膀捷。 她就那樣靜靜地躺著象对,像睡著了一般严卖。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上梢什,一...
    開封第一講書人閱讀 51,370評論 1 302
  • 那天奠蹬,我揣著相機(jī)與錄音,去河邊找鬼嗡午。 笑死囤躁,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播狸演,決...
    沈念sama閱讀 40,193評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼言蛇,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了宵距?” 一聲冷哼從身側(cè)響起猜极,我...
    開封第一講書人閱讀 39,074評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎消玄,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體丢胚,經(jīng)...
    沈念sama閱讀 45,505評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡翩瓜,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,722評論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了携龟。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片兔跌。...
    茶點(diǎn)故事閱讀 39,841評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖峡蟋,靈堂內(nèi)的尸體忽然破棺而出坟桅,到底是詐尸還是另有隱情,我是刑警寧澤蕊蝗,帶...
    沈念sama閱讀 35,569評論 5 345
  • 正文 年R本政府宣布仅乓,位于F島的核電站,受9級特大地震影響蓬戚,放射性物質(zhì)發(fā)生泄漏夸楣。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,168評論 3 328
  • 文/蒙蒙 一子漩、第九天 我趴在偏房一處隱蔽的房頂上張望豫喧。 院中可真熱鬧,春花似錦幢泼、人聲如沸紧显。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽孵班。三九已至,卻和暖如春挥吵,著一層夾襖步出監(jiān)牢的瞬間重父,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評論 1 269
  • 我被黑心中介騙來泰國打工忽匈, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留房午,地道東北人。 一個月前我還...
    沈念sama閱讀 47,962評論 2 370
  • 正文 我出身青樓丹允,卻偏偏與公主長得像郭厌,于是被迫代替她去往敵國和親袋倔。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,781評論 2 354

推薦閱讀更多精彩內(nèi)容