小程序webview(H5)調(diào)用JSSDK功能指北

最核心的一個概念:

小程序的webview(H5頁面)中調(diào)用jssdk中的功能(比如獲取位置信息),需要有一個和小程序申請主體一致的公眾號賬號,在公眾號里去配置相關的jssdk信息.

1 小程序賬號

因為webview不支持個人類型,所以需要申請一個企業(yè)法人及個體工商戶類型的小程序賬號

2?公眾號賬號

要求小程序和公眾號的賬號對應的主體信息必須一致,有兩種途徑達到此目的:

先申請公眾號賬號,然后通過公眾號的快速生成小程序功能,生成步驟1的小程序賬號,這樣這兩個自然滿足同主體資格

登錄微信公眾號平臺顷窒,點擊小程序管理-添加-快速注冊并認證小程序:

用和申請小程序賬號完全一致的主體信息去申請公眾號(主體類型,主體名稱,主體證件號),也能保證兩個賬號的主體資格一致(目前沒有小程序快速生成公眾號賬號的功能..)

3 域名綁定

這里需要兩個賬號都配置一下:

業(yè)務域名

首先webview指向一個外部網(wǎng)頁鏈接(我們的H5頁面)

<web-view src="https://abc.xxx.com.cn/cc/index.html"></web-view>

這個地址要滿足:

已經(jīng)通過ICP備案域名

https協(xié)議

不支持自定義端口

不支持ip地址

不支持短鏈域名

那么首先要在小程序中的'開發(fā)'-'開發(fā)設置'的'業(yè)務域名'中,將https://abc.xxx.com.cn配置進去:

JS接口安全域名

在上述h5頁面中,因為要調(diào)用jssdk的js文件:

<script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.3.2.js"></script>

因此要在公眾號設置”的“功能設置”里填寫“JS接口安全域名”

注意:以上兩個配置地址時,都需要將配置時提供的一個文本文件按照要求上傳到H5頁面所在服務器并確保能被訪問,用于騰訊驗證服務器,否則是無法提交相關信息的

4 應用

jssdk提供了很多功能,但是webview中,只支持部分接口,自行查看web-view,這里以獲取位置信息為例:

通過config接口注入權(quán)限驗證配置

所有需要使用JSSDK的頁面必須先注入配置信息钝满,否則將無法調(diào)用:

wx.config({

appId: '', // 必填趋距,公眾號的appid,注意不是小程序的appid

timestamp: , // 必填而晒,生成簽名的時間戳

nonceStr: '', // 必填鸦难,生成簽名的隨機串

signature: '',// 必填珍语,簽名

debug: true, // 選填,開啟調(diào)試模式,調(diào)用的所有api的返回值會在客戶端alert出來强衡。

jsApiList: ['getLocation'] // 必填,需要使用的JS接口列表,這里為獲取位置信息

});

以上參數(shù)除了最后兩個,建議在后臺服務中存儲和計算,具體需參考jssdk,主要思路:

利用公眾號的appidsecret去獲取access_token

利用access_token去獲取ticket

利用ticket和自行生成的(timestamp,nonceStr,當前頁面的地址)計算出最終的簽名

執(zhí)行getLocation

以上步驟執(zhí)行成功后,方可執(zhí)行wx.getLocation:

var success=true

// 之所以這里有個success變量,是因為發(fā)現(xiàn)wx.error觸發(fā)也會調(diào)用wx.ready(如果有個wx.success就好了)

//但其實這并不完美,因為還發(fā)現(xiàn)有時候wx.ready先執(zhí)行,然后觸發(fā)了wx.error ........

wx.ready(function(){

if(success){

wx.getLocation({

type: 'wgs84',

success(res) {

// res為坐標位置信息

},

fail(e) {

// 獲取失敗

}

})

}

// config信息驗證后會執(zhí)行ready方法

});

wx.error(function(res){

success=false

// config信息驗證失敗會執(zhí)行error函數(shù)

});

吐槽:

wx.config有時候成功,有時候說簽名失敗

wx.ready代表配置驗證完畢了,不代表驗證成功了,那他的意義在于什么

reference:

jssdk:https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html

web-view:https://developers.weixin.qq.com/miniprogram/dev/component/web-view.html

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末合呐,一起剝皮案震驚了整個濱河市暮的,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌合砂,老刑警劉巖青扔,帶你破解...
    沈念sama閱讀 211,194評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異翩伪,居然都是意外死亡,警方通過查閱死者的電腦和手機谈息,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評論 2 385
  • 文/潘曉璐 我一進店門缘屹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人侠仇,你說我怎么就攤上這事轻姿。” “怎么了逻炊?”我有些...
    開封第一講書人閱讀 156,780評論 0 346
  • 文/不壞的土叔 我叫張陵互亮,是天一觀的道長。 經(jīng)常有香客問我余素,道長豹休,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,388評論 1 283
  • 正文 為了忘掉前任桨吊,我火速辦了婚禮威根,結(jié)果婚禮上凤巨,老公的妹妹穿的比我還像新娘。我一直安慰自己洛搀,他們只是感情好敢茁,可當我...
    茶點故事閱讀 65,430評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著留美,像睡著了一般彰檬。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上谎砾,一...
    開封第一講書人閱讀 49,764評論 1 290
  • 那天逢倍,我揣著相機與錄音,去河邊找鬼棺榔。 笑死瓶堕,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的症歇。 我是一名探鬼主播郎笆,決...
    沈念sama閱讀 38,907評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼忘晤!你這毒婦竟也來了宛蚓?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,679評論 0 266
  • 序言:老撾萬榮一對情侶失蹤设塔,失蹤者是張志新(化名)和其女友劉穎凄吏,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體闰蛔,經(jīng)...
    沈念sama閱讀 44,122評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡痕钢,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,459評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了序六。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片任连。...
    茶點故事閱讀 38,605評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖例诀,靈堂內(nèi)的尸體忽然破棺而出随抠,到底是詐尸還是另有隱情,我是刑警寧澤繁涂,帶...
    沈念sama閱讀 34,270評論 4 329
  • 正文 年R本政府宣布拱她,位于F島的核電站,受9級特大地震影響扔罪,放射性物質(zhì)發(fā)生泄漏秉沼。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,867評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望氧猬。 院中可真熱鬧背犯,春花似錦、人聲如沸盅抚。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽妄均。三九已至柱锹,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間丰包,已是汗流浹背禁熏。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留邑彪,地道東北人瞧毙。 一個月前我還...
    沈念sama閱讀 46,297評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像寄症,于是被迫代替她去往敵國和親宙彪。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,472評論 2 348

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