Skip to content

開放能力

web-view

  • 功能說明: 承載網頁的容器。 會自動鋪滿整個小程序頁面。

  • 參數及說明:

内容類型預設值說明
srcstring-webview指向網頁的連結。 網頁需登入小程序管理後臺配置業務功能變量名稱
離線的H5網頁,以file://和/開頭的路徑(指向html頁面,如: file://xxx/index.html )。 需在app.json裡面配置staticPath内容(字串數組),如: ['xxx']
bindmessageeventhandler-網頁使用 wx.miniProgram.postMessage 方法向小程序發送訊息時,小程序會在特定時機(小程序後退、元件銷毀、分享)觸發並收到訊息。 e.detail = { data },data 是多次 postMessage 的參數所組成的陣列
bindloadeventhandler-網頁載入成功時候觸發此事件。 e.detail = { src }
binderroreventhandler-網頁載入失敗的時候觸發此事件。 e.detail = { url, fullUrl },其中 fullUrl 為載入失敗時的完整 url
bindeventeventhandler-網頁使用 wx.miniProgram.sendWebviewEvent 方法向小程序傳送訊息時,小程序會觸發此事件。 e.detail = { data },data 是 sendWebviewEvent 的參數

TIP

  • 網頁內iframe的功能變量名稱也需要配置到功能變量名稱白名單。
  • 開發者工具上,可以在<web-view>組件上擊調試按鈕,打開<web-view>組件的調試。
  • 每個頁面只能有一個<web-view>,< web-view>會自動鋪滿整個頁面,並覆蓋其他組件。
  • <web-view>網頁與小程序之間不支持除JSSDK提供的接口之外的通信。
  • 避免在連結中帶有中文字元,在iOS中會有打開白屏的問題,建議加一下encodeURIComponent。
  • 相關接口詳見 JSSDK接口說明
  • <web-view>組件所在頁面的導航欄標題優先順序:< title></title>(H5網頁)> wx.navigationBarTitleText(miniprogram)> navigationBarTitleText(page.json)> navigationBarTitleText(app.json)
  • src填寫靜態資源地址時必須以file://和/開頭,且具體到某個html頁面,靜態資源需要在小程序的根目錄下,同時需要在app.json中配置staticPath内容(string[],靜態資源的目錄名稱),可配置多個靜態資源,靜態資源只支持在主包內,小程序上傳時所有靜態資源和小程序一同上傳,且整體大小不能超過小程序的整包大小限制。

授權

部分接口需要經過用戶授權同意才能調用,我們把這些接口按使用範圍分成多個scope,用戶選擇對scope來進行授權,當授權給一個scope之後,其對應的所有接口都可以直接使用。

TIP

  • 如果用戶未接受或拒絕過此許可權,會彈窗詢問用戶,用戶按一下同意後方可調用接口;
  • 如果用戶已授權,可以直接調用接口;
  • 如果用戶已拒絕授權,則不會出現彈窗,而是直接進入接口fail回檔。 請開發者相容用戶拒絕授權的場景

獲取用戶授權設定

開發者可以使用wx.getSetting獲取用戶當前的授權狀態。

打開設定介面

用戶可以在小程序設定介面(「右上角」-「設定」)中控制對該小程序的授權狀態。

開發者可以調用wx.openSetting打開設定介面,引導用戶開啟授權。

提前發起授權請求

開發者可以使用wx.authorize在調用需授權API之前,提前向用戶發起授權請求。

scope清單

scope對應接口描述
scope.userinfowx.getUserInfo用戶資訊
scope.userLocationwx.getLocation、wx.startLocationUpdate、wx.startLocationUpdateBackground獲取地理位置資訊。
scope.userFuzzyLocationwx.getFuzzyLocation獲取模糊地理位置資訊。
scope.recordlive-pusherwx or startRecord、wx.operateRecorder直播或者錄音
scope.cameracamera相機組件
scope.addPhoneCalendarwx.addPhoneCalendar添加日誌
scope.writePhotosAlbumwx.saveImageToPhotosAlbum保存圖片到相册
scope.bluetoothwx.openBluetoothAdapter藍牙
scope.chooseImagewx.chooseImage選擇相册中的圖片
scope.chooseVideowx.chooseVideo選擇相册中的視頻
scope.chooseMediawx.chooseMedia從手機相册中選擇圖片或視頻
scope.makeMediawx.makeMedia拍攝視頻或圖片
scope.addPhoneContactwx.addPhoneContact、wx.chooseContact添加/選擇聯絡人

授權有效期

一旦用戶明確同意或拒絕過授權,其授權關係會記錄在用戶端本地,直到删除小程序。

最佳實踐

在真正需要使用授權接口時,才向用戶發起授權申請,並在授權申請中說明清楚要使用該功能的理由。