日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

小程序服务器api接口,百度智能小程序API 开放接口

發布時間:2023/12/2 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 小程序服务器api接口,百度智能小程序API 开放接口 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

登錄

智能小程序可以通過百度官方提供的登錄能力方便地獲取百度提供的用戶身份標識,快速建立智能小程序內的用戶體系。

流程說明

1、調用 swan.login() 獲取?臨時登錄憑證code?,并回傳到開發者服務器。

2、開發者服務器以 code 換取?session_key。

3、調用 swan.getUserInfo() 獲取用戶信息。

4、點擊查看詳細流程。

login

解釋:?調用接口 swan.login 獲取?臨時登錄憑證(code)

參數:?Object

Object參數說明:

參數名

類型

必填

說明

success

Function

接口調用成功的回調函數

fail

Function

接口調用失敗的回調函數

complete

Function

接口調用結束的回調函數(調用成功、失敗都會執行)

success 返回參數說明:

參數

類型

說明

code

String

用戶登錄憑證(有效期五分鐘)。開發者需要在開發者服務器后臺調用 api,使用 code 換取 session_key 等信息

示例:swan.login({

success: function (res) {

swan.request({

url: 'https://xxx/xxx', // 開發者服務器地址

data: {

code: res.code

}

});

},

fail: function (err) {

console.log('login fail', err);

}

});

登錄憑證校驗

臨時登錄憑證校驗接口是一個 HTTPS 接口,開發者服務器使用?臨時登錄憑證(code)?獲取 session_key。

注意:

1、會話密鑰 session_key 是對用戶數據進行加密簽名的密鑰。為了應用自身的數據安全,開發者服務器不應該把會話密鑰下發到智能小程序,也不應該對外提供這個密鑰。

2、臨時登錄憑證 code 只能使用一次。

接口地址:https://openapi.baidu.com/nalogin/getSessionKeyByCode

請求參數

參數

說明

client_id

開放平臺申請的 App Key

sk

開放平臺申請的 App Secret

code

swan.login 返回的臨時登錄憑證

Bug & Tip

1、tip: 調用 login 會引起登錄態的刷新,之前的 session_key 可能會失效。

checkSession

解釋:通過上述接口獲得的用戶登錄態擁有一定的時效性,用戶越久未使用智能小程序,用戶登錄態越有可能失效;反之如果用戶一直在使用智能小程序,則用戶登錄態一直保持有效。具體時效邏輯由百度 App 維護,對開發者透明。開發者可以調用 swan.checkSession 接口?檢測當前用戶登錄態是否有效,登錄態過期后開發者可以再調用 swan.login 獲取新的用戶登錄態。

參數:Object

Object參數說明:

參數名

類型

必填

說明

success

Function

接口調用成功的回調函數

fail

Function

接口調用失敗的回調函數

complete

Function

接口調用結束的回調函數(調用成功、失敗都會執行)

示例:

swan.checkSession({

success: function (res) {

console.log('登錄態有效');

},

fail: function (err) {

console.log('登錄態無效');

}

});

用戶數據的簽名驗證和加解密

智能小程序可以通過各種前端接口獲取百度提供的開放數據。考慮到開發者服務器也需要獲取這些開放數據,百度會對這些數據做簽名和加密處理。開發者后臺拿到開放數據后可以對數據進行校驗簽名和解密,來保證數據不被篡改。

加密數據解密算法

接口如果涉及敏感數據,接口的明文內容將不包含這些敏感數據。開發者如需要獲取敏感數據,需要對接口返回的加密數據(data)進行對稱解密。

解密過程:開發者智能小程序(通過 swan.request)將加密數據發送至自身 Server 進行解密后返回智能小程序。

解密算法如下:

1、對稱解密使用的算法為 AES-128-CBC,數據采用PKCS#7填充。

2、對稱解密的目標密文為 Base64_Decode(data)。

3、對稱解密秘鑰 AESKey = Base64_Decode(session_key), AESKey 是24字節。

4、對稱解密算法初始向量 為Base64_Decode(iv),其中iv由數據接口返回。

授權

authorize

解釋:提前向用戶發起授權請求。調用后會立刻彈窗詢問用戶是否同意授權智能小程序使用某項功能或獲取用戶的某些數據,但不會實際調用對應接口。如果用戶之前已經同意授權,則不會出現彈窗,直接返回成功。

參數:Object

Object參數說明:

參數名

類型

必填

說明

scope

String

需要獲取權限的 scope,詳見 scope 列表

success

Function

接口調用成功的回調函數

fail

Function

接口調用失敗的回調函數

complete

Function

接口調用結束的回調函數(調用成功、失敗都會執行)

scope 列表

scope

對應接口

描述

scope.userInfo

swan.getUserInfo

用戶信息

scope.userLocation

swan.getLocation, swan.chooseLocation

地理位置

scope.writePhotosAlbum

swan.saveImageToPhotosAlbum

保存到相冊

scope.address

swan.chooseAddress

收獲地址

scope.invoiceTitle

swan.chooseInvoiceTitle

發票抬頭

scope.record

swan.getRecorderManager

錄音功能

scope.camera

攝像頭

success返回參數說明:

參數名

類型

說明

errMsg

String

調用結果

示例:

swan.authorize({

scope: 'scope.userLocation',

success: function (res) {

// 用戶已經同意智能小程序使用定位功能

swan.getLocation();

}

});

Bug & Tip

1、tip: 授權操作為異步操作,完成前請不要多次調用。

用戶信息

swanid 機制說明

swanid 是用戶使用智能小程序時的標識符,開發者可以通過 swanid 來區分用戶的唯一性。

1、用戶在非登陸情況下使用智能小程序時,在同一臺設備上使用同一個開發者所開發的不同智能小程序,得到的是相同的 swanid。2、用戶在登陸情況下使用智能小程序時,在多臺不同設備上使用同一個開發者所開發的不同智能小程序,得到的是相同的 swanid。3、用戶使用同一臺設備時,在非登陸情況下與登陸情況下使用同一個智能小程序,得到的 swanid 是不同的。

getSwanId

解釋:獲取 swanid。

參數:Object

Object參數說明:

參數名

類型

必填

說明

success

Function

接口調用成功的回調函數

fail

Function

接口調用失敗的回調函數

complete

Function

接口調用結束的回調函數(調用成功、失敗都會執行)

success返回參數說明:

參數

類型

說明

errno

String

errno

data

Object

{swanid}

errmsg

String

errmsg

示例:swan.getSwanId({

success: function (res) {

console.log(res.data.swanid);

}

});

getUserInfo

解釋:獲取用戶信息

參數:Object

Object參數說明:

參數名

類型

必填

說明

success

Function

接口調用成功的回調函數

fail

Function

接口調用失敗的回調函數

complete

Function

接口調用結束的回調函數(調用成功、失敗都會執行)

success返回參數說明:

參數

類型

說明

userInfo

Object

用戶信息對象

data

String

包括敏感數據在內的完整用戶信息的加密數據,加解密邏輯參考用戶數據的簽名驗證和加解密

iv

String

加密算法的初始向量

userInfo參數說明:

參數

類型

說明

nickName

String

用戶名

avatarUrl

String

用戶頭像

gender

String

性別

示例:

swan.getUserInfo({

success: function (res) {

console.log('用戶名', res.nickName);

}

});

設置

openSetting

解釋:調起客戶端智能小程序設置界面,返回用戶設置的操作結果。

參數:Object

Object參數說明:

參數名

類型

必填

說明

success

Function

接口調用成功的回調函數

fail

Function

接口調用失敗的回調函數

complete

Function

接口調用結束的回調函數(調用成功、失敗都會執行)

success返回參數說明:

參數

類型

說明

authSetting

Object

用戶授權結果,其中 key 為 scope 值,value 為 Bool 值,表示用戶是否允許授權

示例:

swan.openSetting({

success: function (res) {

console.log(res.authSetting['scope.userInfo']);

console.log(res.authSetting['scope.userLocation']);

}

});

getSetting

解釋:獲取用戶的當前設置

參數:Object

Object參數說明:

參數名

類型

必填

說明

success

Function

接口調用成功的回調函數

fail

Function

接口調用失敗的回調函數

complete

Function

接口調用結束的回調函數(調用成功、失敗都會執行)

success返回參數說明:

參數

類型

說明

authSetting

Object

用戶授權結果,其中 key 為 scope 值,value 為 Bool 值,表示用戶是否允許授權

示例:

swan.getSetting({

success: function (res) {

console.log(res.authSetting['scope.userInfo']);

console.log(res.authSetting['scope.userLocation']);

}

});

分享

onShareAppMessage

解釋:在 Page 中定義 onShareAppMessage 函數,設置該頁面的分享信息。

用戶點擊分享按鈕的時候會調用

此事件需要 return 一個Object,用于自定義分享內容

參數:Object

Object參數說明:

參數名

類型

說明

from

String

分享事件來源。button:頁面內轉發按鈕;menu:右上角分享菜單

currentTarget

Object

如果 from 值是 button,則 currentTarget 是觸發這次轉發事件的 button,否則為 undefined

自定義分享字段:

參數名

類型

必填

說明

title

String

分享標題

content

String

分享內容

imageUrl

String

分享圖標

path

String

頁面 path ,必須是以 / 開頭的完整路徑

success

Function

接口調用成功的回調函數

fail

Function

接口調用失敗的回調函數

complete

Function

接口調用結束的回調函數(調用成功、失敗都會執行)

示例:Page({

onShareAppMessage() {

return {

title: '智能小程序示例',

content: '世界很復雜,百度更懂你',

path: '/pages/openShare/openShare?key=value'

};

}

});

Bug & Tip

1、bug: iOS 點擊分享面板的取消時,會執行 fail,Android 不會執行。

收獲地址

chooseAddress

解釋:調起用戶編輯收貨地址原生界面,并在編輯完成后返回用戶選擇的地址。

需要用戶授權 scope.address

參數:Object

Object參數說明:

參數名

類型

必填

說明

success

Function

返回用戶選擇的收貨地址信息

fail

Function

接口調用失敗的回調函數

complete

Function

接口調用結束的回調函數(調用成功、失敗都會執行)

success返回參數說明:

參數名

類型

說明

errMsg

String

調用結果

userName

String

收貨人姓名

postalCode

String

郵編

provinceName

String

國標收貨地址第一級地址

cityName

String

國標收貨地址第二級地址

countyName

String

國標收貨地址第三級地址

detailInfo

String

詳細收貨地址信息

telNumber

String

收貨人手機號碼

示例:

swan.chooseAddress({

success: function (res) {

console.log(res.userName);

console.log(res.postalCode);

console.log(res.provinceName);

console.log(res.cityName);

console.log(res.countyName);

console.log(res.detailInfo);

console.log(res.telNumber);

}

});

聚合收銀臺支付

requestPolymerPayment

版本:百度 App 10.7.0 版本開始支持。

解釋:百度聚合收銀臺,聚合了主流的百度錢包、微信、支付寶、網銀等多種支付方式,方便開發者一站式快速接入多種支付渠道,讓百度用戶能在智能小程序場景下,直接完成支付、交易閉環,提升用戶支付體驗的同時,提高智能小程序的訂單轉化率。

參數:Object

Object參數說明:

參數名

類型

必填

說明

orderInfo

Object

訂單信息

bannedChannels

StringArray

需要隱藏的支付方式

success

Function

接口調用成功的回調函數

fail

Function

接口調用失敗的回調函數

complete

Function

接口調用結束的回調函數(調用成功、失敗都會執行)

orderInfo 參數說明:

dealId: 跳轉百度收銀臺支付必帶參數之一,是百度收銀臺的財務結算憑證,與賬號綁定的結算協議一一對應,每筆交易將結算到dealId對應的協議主體。

appKey: 用以表示應用身份的唯一ID,在應用審核通過后進行分配,一經分配后不會發生更改,來唯一確定一個應用。

totalAmount: 訂單金額,單位為人民幣分。

tpOrderId: 商戶平臺自己記錄的訂單ID,當支付狀態發生變化時,會通過此訂單ID通知商戶。

dealTitle: 訂單的名稱。

rsaSign: 對appKey+dealId+tpOrderId進行RSA加密后的密文,防止訂單被偽造。簽名過程見?百度電商開放平臺:簽名與驗簽

bizInfo: 訂單詳細信息,需要是一個可解析為JSON Object的字符串。字段內容見:?百度電商開放平臺:收銀臺接入

bannedChannels 參數說明:

channel

說明

Alipay

支付寶

BDWallet

百度錢包

WeChat

微信支付

示例:swan.requestPolymerPayment({

orderInfo: {

"dealId": "470193086",

"appKey": "MMMabc",

"totalAmount": "1",

"tpOrderId": "3028903626",

"dealTitle": "智能小程序Demo支付測試",

"rsaSign": '',

"bizInfo": ''

},

success: function (res) {

swan.showToast({

title: '支付成功',

icon: 'success'

});

},

fail: function (err) {

swan.showToast({

title: JSON.stringify(err)

});

console.log('pay fail', err);

}

});

獲取發票抬頭

chooseInvoiceTitle

解釋:選擇用戶的發票抬頭。

需要用戶授權 scope.invoiceTitle

參數:Object

Object參數說明:

參數名

類型

必填

說明

success

Function

接口調用成功的回調函數

fail

Function

接口調用失敗的回調函數

complete

Function

接口調用結束的回調函數(調用成功、失敗都會執行)

success返回參數說明:

參數名

類型

說明

type

String

抬頭類型(0:單位,1:個人)

title

String

抬頭名稱

taxNumber

String

抬頭稅號

companyAddress

String

單位地址

telephone

String

手機號碼

bankName

String

銀行名稱

bankAccount

String

銀行賬號

errMsg

String

接口調用結果

示例:swan.chooseInvoiceTitle({

success: function (res) {

console.log(res.type);

console.log(res.title);

console.log(res.taxNumber);

console.log(res.companyAddress);

console.log(res.telephone);

console.log(res.bankName);

console.log(res.bankAccount);

}

})

總結

以上是生活随笔為你收集整理的小程序服务器api接口,百度智能小程序API 开放接口的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。