Skip to content

開放接口

登入

login

TIP

該API使用方法為: wx.login(Object object)

  • 功能說明:調用接口獲取登入憑證,通過憑證進而換取用戶登錄態資訊。

TIP

  • v2版本(僅公有雲支持)遵循Luffa標準,可參攷實踐教程說明。 在IDE(最低支持版本:2.1.111)中可直接調用。
  • v1版本需要和宿主用戶端聯調,在真機上返回的內容是由宿主用戶端提供,宿主的返回值可以遵循Luffa標準,也可以自定義返回內容。 在IDE中可以使用mock面板進行返回值的mock。
  • 版本控制規則請參攷 apiVersion 配置。
  • 參數及說明: Object object。
内容類型預設值必填說明
successfunction-接口調用成功的回呼函數
failFunction-接口調用失敗的回呼函數
completeFunction-接口調用結束的回呼函數(調用成功、失敗都會執行)
  • object.success回呼函數參數: Object res
内容類型說明
codestring用戶登錄憑證(有效期五分鐘)。 開發者需要在服務器後臺調用調用 jscode2session ,使用code換取openid、session_key等資訊
  • object.fail回呼函數參數: Object err
内容類型說明
errMsgstring錯誤資訊
errnoNumbererrno錯誤碼,錯誤碼的詳細說明參攷 服務端錯誤碼
  • 示例代碼:
js
wx.login({
  success(res) {
    if (res.code) {
      // Initiate a network request
      wx.request({
        url: "https://example.com/onLogin",
        data: {
          code: res.code,
        },
      });
    } else {
      console.log("Login failed!" + res.errMsg);
    }
  },
});

checkSession

TIP

該API使用方法為: wx.checkSession(Object object)

  • 功能說明:檢查登入態是否過期。

TIP

  1. v2版本(僅公有雲支持)遵循Luffa標準,可參攷實踐教程說明。 在IDE(最低支持版本:2.1.111)中可直接調用。
  • session_key具有唯一性,在使用小程序時,同一用戶在同一時刻僅有一個有效的session_key。
  • 通過wx.login接口獲得的用戶登錄態擁有一定的時效性,開發者可以調用wx.checkSession接口檢測當前用戶登錄態是否有效。
  • wx.checkSession的校驗對象是最後一次獲取code操作對應的登入態session_key,調用成功說明該session_key未過期,調用失敗說明session_key已過期。
  • 登入態失效後開發者可以再調用wx.login獲取新的用戶登錄態。
  1. v1版本需要和宿主用戶端聯調,在真機上返回的內容是由宿主用戶端提供,宿主的返回值可以遵循Luffa標準,也可以自定義返回內容。 在IDE中可以使用mock面板進行返回值的mock。
  2. 版本控制規則請參攷 apiVersion 配置。
  • 參數及說明: Object object。
内容類型預設值必填說明
successfunction-接口調用成功的回呼函數
failFunction-接口調用失敗的回呼函數
completeFunction-接口調用結束的回呼函數(調用成功、失敗都會執行)
  • 示例代碼:
js
wx.checkSession({
  success() {
    // The session_key has not expired and remains valid for this lifecycle.
  },
  fail() {
    // The session_key has expired, and the login process needs to be executed again.
    wx.login(); // Log in again.
  },
});

帳號資訊

TIP

帳號資訊相關API小程序支持,小遊戲暫不支持

getAccountInfoSync

TIP

該API使用方法為:Object wx.getAccountInfoSync()

  • 功能說明: 獲取當前帳號資訊。 線上小程序版本號僅支持在正式版小程序中獲取,開發版和體驗版中無法獲取。
  • 返回值: Object,帳號資訊
内容類型說明
miniProgramObject小程序帳號資訊
  • miniProgram結構内容
結構内容類型說明
appIdstring小程序appId
envVersionstring小程序版本,合法值為:
develop:開發版
trial:體驗版
release:正式版
versionstring線上小程序版本號

用戶資訊

TIP

帳號資訊相關API小程序支持,小遊戲暫不支持

getUserProfile

TIP

該API使用方法為:wx.getUserProfile(Object object)

  • 功能說明:IDE現時暫不支持,該API需要和宿主用戶端聯調,在真機上返回的內容是由宿主用戶端提供,宿主的返回值可以遵循Luffa標準,也可以自定義返回內容
    在IDE中可以使用mock面板進行返回值的mock

  • 獲取用戶資訊。 頁面產生按一下事件(例如button上bindtap的回檔中)後才可調用,每次請求都會彈出授權視窗,用戶同意後返回userInfo。 該接口用於替換wx.getUserInfo,詳見 用戶資訊接口調整說明

  • **返回值:**Object object。

内容類型預設值必填說明
langstringen顯示用戶資訊的語言,合法值為:
en:英文
zh_CN: 繁體中文
descstring-聲明獲取用戶個人資訊後的用途,不超過30個字元
successFunction-接口調用成功的回呼函數
failFunction-接口調用失敗的回呼函數
completeFunction-接口調用結束的回呼函數(調用成功、失敗都會執行)

getUserInfo

TIP

該API使用方法為: wx.getUserInfo(Object object)

  • 功能說明: IDE現時暫不支持,該API需要和宿主用戶端聯調,在真機上返回的內容是由宿主用戶端提供,宿主的返回值可以遵循Luffa標準,也可以自定義返回內容
    在IDE中可以使用mock面板進行返回值的mock

  • 獲取用戶資訊,在使用過程中需要用戶授權scope.userInfo。

  • 參數及說明: Object object。

内容類型預設值必填說明
langstringen顯示用戶資訊的語言,合法值為:
en:英文
zh_CN: 繁體中文
successFunction-接口調用成功的回呼函數
failFunction-接口調用失敗的回呼函數
completeFunction-接口調用結束的回呼函數(調用成功、失敗都會執行)
  • object.success回呼函數參數: Object res
内容類型說明
userInfoUserInfo用戶資訊對象
  • 範例
  • 小程序用戶資訊組件範例程序碼(用戶授權)
js
<!-- If only displaying user avatar and nickname, the <open-data /> component can be used -->
<open-data type="userAvatarUrl"></open-data>
<open-data type="userNickName"></open-data>
<!-- The button must be used for login authorization -->
<button wx:if="{{canIUse}}" open-type="getUserInfo" bindgetuserinfo="bindGetUserInfo">Login authorization</button>
<view wx:else>Please upgrade the host client version.</view>
js
Page({
  data: {
    canIUse: wx.canIUse("button.open-type.getUserInfo"),
  },
  onLoad: function () {
    // Check if the user has already authorized.
    wx.getSetting({
      success(res) {
        if (res.authSetting["scope.userInfo"]) {
          // Already authorized, can directly call getUserInfo to get user profile photo and nickname.
          wx.getUserInfo({
            success: function (res) {
              console.log(res.userInfo);
            },
          });
        }
      },
    });
  },
  bindGetUserInfo(e) {
    console.log(e.detail.userInfo);
  },
});
  • 示例代碼:
js
// Must be called when the user has already authorized.
wx.getUserInfo({
  success: function (res) {
    var userInfo = res.userInfo;
    var nickName = userInfo.nickName;
    var avatarUrl = userInfo.avatarUrl;
  },
});

userInfo

  • 功能說明: 用戶資訊
  • 參數及說明:
内容類型說明
nickNamestring用戶昵稱
avatarUrlstring用戶頭像圖片的URL。 URL最後一個數值代表正方形頭像大小(有0、46、64、96、132數值可選,0代表640x640的正方形頭像,46表示46x46的正方形頭像,剩餘數值以此類推。默認132),用戶沒有頭像時該項為空。 若用戶更換頭像,原有頭像URL將失效
gendernumber用戶性別。 不再返回,合法值為:
0:未知
1:男性
2:女性
countrystring用戶所在國家。 不再返回
provincestring用戶所在地區。 不再返回
citystring用戶所在都市。 不再返回
languagestring顯示country,province,city所用的語言。 強制返回'zh_TW',合法值為:
en:英文
zh_TW: 繁體中文

設定

AuthSetting

  • 功能說明: 用戶授權設定資訊。
  • 參數及說明:
内容說明
boolean scope.userLocation是否授權地理位置,對應接口 wx.getLocation,是否授權地理位置,對應接口 wx.chooseLocation
boolean scope.writePhotosAlbum是否授權保存到相册 wx.saveImageToPhotosAlbum
boolean scope.camera是否授權監視器,對應<camera /> 組件
boolean scope.addFriend允許被添加好友,主動調用 wx.authorize 接口進行授權

getSetting

TIP

該API使用方法為: wx.getSetting(Object object)

  • 功能說明: 獲取用戶的當前設定。
  • 參數及說明: Object object。
内容類型預設值必填說明
successfunction-接口調用成功的回呼函數
failFunction-接口調用失敗的回呼函數
completeFunction-接口調用結束的回呼函數(調用成功、失敗都會執行)
  • object.success回呼函數參數: Object res。
内容類型說明
authSettingAuthSetting用戶授權結果
  • 示例代碼:
js
wx.getSetting({
  success(res) {
    console.log(res.authSetting);
    // res.authSetting = {
    //   "scope.userInfo": true,
    //   "scope.userLocation": true
    // }
  },
});

openSetting

TIP

該API使用方法為: wx.openSetting(Object object)

  • 功能說明: 調起用戶端小程序設定介面,返回用戶設置的操作結果,用戶發生按一下行為後,可以跳轉打開設定頁,管理授權資訊。
  • 參數及說明: Object object。
内容類型預設值必填說明
successfunction-接口調用成功的回呼函數
failFunction-接口調用失敗的回呼函數
completeFunction-接口調用結束的回呼函數(調用成功、失敗都會執行)
  • object.success回呼函數參數: Object res。
内容類型說明
authSettingAuthSetting用戶授權結果
js
wx.openSetting({
  success(res) {
    console.log(res.authSetting);
    // res.authSetting = {
    //   "scope.userInfo": true,
    //   "scope.userLocation": true
    // }
  },
});
js
wx.openSetting({
  success(res) {
    console.log(res.authSetting);
    // res.authSetting = {
    //   "scope.userInfo": true,
    //   "scope.userLocation": true
    // }
  },
});

生物認證

TIP

生物認證相關API小程序支持,小遊戲暫不支持

checkIsSoterEnrolledInDevice

TIP

該API使用方法為: wx.checkIsSoterEnrolledInDevice(Object object)

  • 功能說明: 校驗設備內是否錄入生物資訊。
  • 參數及說明: Object object。
内容類型預設值必填說明
successfunction-接口調用成功的回呼函數
failFunction-接口調用失敗的回呼函數
completeFunction-接口調用結束的回呼函數(調用成功、失敗都會執行)
  • object.success回呼函數參數: Object res。
内容類型說明
isEnrolledboolean是否已錄入資訊
errMsgstring錯誤資訊
  • 示例代碼:
js
wx.checkIsSoterEnrolledInDevice({
  success(res) {
    console.log(res.isEnrolled);
  },
});

checkIsSupportSoterAuthentication

TIP

該API使用方法為: wx.checkIsSupportSoterAuthentication(Object object)

  • 功能說明: 校驗本機是否支持生物認證,支持時回檔success,不支持時回檔fail。
  • 參數及說明: Object object。
内容類型預設值必填說明
successfunction-接口調用成功的回呼函數
failFunction-接口調用失敗的回呼函數
completeFunction-接口調用結束的回呼函數(調用成功、失敗都會執行)
  • 示例代碼:
js
wx.checkIsSupportSoterAuthentication({
  success() {
    // Support biometric authentication
  },
});

startSoterAuthentication

TIP

該API使用方法為: wx.startSoterAuthentication(Object object)

  • 功能說明: 開始生物認證。
  • 參數及說明: Object object。
内容類型預設值必填說明
authContentstring''驗證描述,即識別過程中顯示在介面上的對話方塊提示內容
successfunction-接口調用成功的回呼函數
failFunction-接口調用失敗的回呼函數
completeFunction-接口調用結束的回呼函數(調用成功、失敗都會執行)
  • 示例代碼:
js
wx.startSoterAuthentication({
  authContent: "Unlock biometric authentication",
  success() {
    // Authentication successful
  },
});

授權

TIP

該API使用方法為: wx.authorize(Object object)

  • 功能說明: 提前向用戶發起授權請求。 調用後會立刻彈窗詢問用戶是否同意授權小程序使用某項功能或獲取用戶的某些數據,但不會實際調用對應接口。 如果用戶之前已經同意授權,則不會出現彈窗,直接返回成功。
  • 參數及說明: Object object。
内容類型預設值必填說明
scopestring-需要獲取許可權的scope 詳見scope
successfunction-接口調用成功的回呼函數
failFunction-接口調用失敗的回呼函數
completeFunction-接口調用結束的回呼函數(調用成功、失敗都會執行)
  • 示例代碼:
js
// You can query whether the user has authorized the scope of "scope.record" using wx.getSetting
wx.getSetting({
  success(res) {
    if (!res.authSetting["scope.record"]) {
      wx.authorize({
        scope: "scope.record",
        success() {
          // Once the user has granted permission for the mini program to use the recording feature, subsequent calls to the wx.startRecord API will not prompt the user for permission again.
          wx.startRecord();
        },
      });
    }
  },
});

訂閱訊息

requestSubscribeMessage

TIP

該API使用方法為: wx.requestSubscribeMessage(Object object)

  • 功能說明: 調起用戶端小程序訂閱消息介面,返回用戶訂閱消息的操作結果。 通過 wx.getSetting 接口可獲取用戶對相關模版消息的訂閱狀態

TIP

  • 僅公有雲支持。
  • 一次性模版id和永久模版id不可同時使用。
  • 一次授權調用裏,每個tmplId對應的模版標題不能存在相同的,若出現相同的,只保留一個。
  • 參數及說明: Object object。
内容類型預設值必填說明
tmplIdsArray-需要訂閱的消息模版的id的集合,一次調用最多可訂閱3條消息。 消息模版id在控制台[小程序管理-訂閱消息]中配置。 每個tmplId對應的模版標題需要不相同,否則會被過濾。
successfunction-接口調用成功的回呼函數
failFunction-接口調用失敗的回呼函數
completeFunction-接口調用結束的回呼函數(調用成功、失敗都會執行)
  • 示例代碼:
内容類型說明
errMsgString接口調用成功時errMsg值為'requestSubscribeMessage: ok'
[TEMPLATE_ID: string]String[TEMPLATE_ID]是動態的鍵,即模版id,值包括'accept'、' reject'、'ban'、'filter'
'accept':表示用戶同意訂閱該條id對應的模版消息
'reject':表示用戶拒絕訂閱該條id對應的模版消息
'ban':表示已被後臺封禁
'filter':表示該模版因為模版標題同名被後臺過濾
例如 { errMsg: "requestSubscribeMessage:ok", zun-LzcQyW-edafCVvzPkK4de2Rllr1fFpw2A_x0oXE: "accept"} 表示使用者同意訂閱zun-LzcQyW-edafCVvzPk4deRllAx
  • object.fail回呼函數參數: Object err
内容類型說明
errMsgString接口呼叫失敗錯誤訊息
errnoNumber接口呼叫失敗錯誤碼
  • 錯誤碼
errCodeerrMsg說明
10001TmplIds can't be empty參數傳空了
10002Request list fail網絡問題,請求消息清單失敗
10003Request subscribe fail網絡問題,訂閱請求發送失敗
20001No template data return, verify the template id exist沒有模版數據,一般是模版ID不存在或者和模版類型不對應導致的
20002Templates type must be same模版消息類型既有一次性的又有永久的
20003Templates count out of max bounds模版消息數量超過上限
20004The main switch is switched off用戶關閉了主開關,無法進行訂閱
20005This mini program was banned from subscribing messages小程序被禁封
20013Reject DeviceMsg Template不允許通過該接口訂閱設備消息
  • 示例代碼:
js
wx.requestSubscribeMessage({
  tmplIds: [''],
  success: (res) => {
    console.log('requestSubscribeMessage===success', res)
  }
})