概述
ff-jssdk是(shì)firefly平台面向WEB前端開發者提供的(de)基于(yú)firefly原生客戶端内的(de)網頁開發工具包。
安裝
# --registry 爲(wéi / wèi) npm 私有倉庫的(de)地(dì / de)址
$ npm install ff-jssdk --registry=http://xxx.x.x.x
接口調用說(shuō)明
ff-jssdk默認導出(chū)Native構造函數,可以(yǐ)通過new Native()的(de)方式創建實例,所有的(de)接口通過該實例對象來(lái)調用。每個(gè)接口除了(le/liǎo)本身需要(yào / yāo)傳遞的(de)參數之(zhī)外,還有以(yǐ)下通用參數:
- success:接口調用成功時(shí)執行的(de)回調函數
- fail:接口調用失敗時(shí)執行的(de)回調函數
- complete:接口調用完成時(shí)的(de)回調函數,無論接口調用成功與否
- processing:包含進度信息的(de)接口在(zài)執行中調用的(de)函數,例如文件的(de)上(shàng)傳和(hé / huò)下載
以(yǐ)上(shàng)通用回調函數均接收一(yī / yì /yí)個(gè)參數,參數爲(wéi / wèi)一(yī / yì /yí)個(gè)對象,包括code和(hé / huò)data兩個(gè)字段。code代表接口調用狀态,擁有如下通用狀态值:
- 0:調用成功
- -1:調用失敗
其他(tā)狀态碼在(zài)接口文檔中會有說(shuō)明。data的(de)值是(shì)一(yī / yì /yí)個(gè)對象,包含接口的(de)返回值
示例
import Native from 'ff-jssdk'
const native = new Native()
// 下載文件到(dào)本地(dì / de)
native.downloadFile({
url: 'api/downloadSth',
filePath: 'download',
success: (ret) => {
// 成功後的(de)回調
},
fail: (ret) => {
// 失敗後的(de)回調
},
processing: (ret) => {
// 下載過程中的(de)回調函數
const { code, data: { progress } } = ret
console.log(progress) // 下載進度
},
complete: (ret) => {
// 接口調用完成後的(de)回調函數
}
})
ff-jssdk接口定義
網絡
下載文件資源到(dào)本地(dì / de):downloadFile()
客戶端發起一(yī / yì /yí)個(gè) HTTP GET 請求
參數
屬性 | 類型 | 默認值 | 必填 | 說(shuō)明 |
---|---|---|---|---|
url | string | 是(shì) | 下載資源的(de) | |
filePath | string | 否 | 指定文件下載後存儲的(de)路徑 |
回調參數
屬性 | 類型 | 說(shuō)明 |
---|---|---|
progress | string | 下載進度 |
filePath | string | 下載文件後存儲路徑 |
狀态碼說(shuō)明
狀态碼 | 說(shuō)明 |
---|---|
-1 | 其他(tā)錯誤 |
0 | 成功 |
1 | 下載中 |
100 | 非法url |
101 | 參數json格式錯誤 |
示例代碼
import Native from 'ff-jssdk'
const native = new Native()
// 下載文件到(dào)本地(dì / de)
native.downloadFile({
url: 'static/picture/542c3569-51f3-4a13-b7df-57f5da454847.jpg',
filePath: '/test_download/aaa.jpg',
success: (ret) => {
// 成功後的(de)回調
},
fail: (ret) => {
// 失敗後的(de)回調
},
processing: (ret) => {
// 下載過程中的(de)回調函數
const { code, data: { progress } } = ret
console.log(progress) // 下載進度
},
complete: (ret) => {
// 接口調用完成後的(de)回調函數
}
})
上(shàng)傳文件資源:uploadFile()
客戶端發起一(yī / yì /yí)個(gè) HTTP POST 請求,其中 content-type
爲(wéi / wèi) multipart/form-data
參數
屬性 | 類型 | 默認值 | 必填 | 說(shuō)明 |
---|---|---|---|---|
url | string | 是(shì) | 上(shàng)傳至遠端地(dì / de)址 | |
filePath | string | 是(shì) | 本地(dì / de)文件路徑 | |
fileKey | string | 是(shì) | 文件對應的(de) key | |
formData | Object | 否 | 額外的(de) form data |
回調參數
屬性 | 類型 | 說(shuō)明 |
---|---|---|
progress | string | 上(shàng)傳進度 |
result | string | 服務器返回的(de)數據 |
狀态碼說(shuō)明
狀态碼 | 說(shuō)明 |
---|---|
-1 | 其他(tā)錯誤 |
0 | 成功 |
1 | 上(shàng)傳載中 |
100 | 非法url |
101 | 參數json格式錯誤 |
102 | 非法文件路徑(空、不(bù)存在(zài)、不(bù)是(shì)文件) |
103 | filekey不(bù)合法 |
示例代碼
native.uploadFile({
url:"http://www.httpbin.org/post",
filePath:"/test_download/aaa.jpg",
fileKey:"aaa",
formData:{
id:"123456",
key:"67890"
}},
success: (ret) => {
// 成功後的(de)回調
},
fail: (ret) => {
// 失敗後的(de)回調
},
processing: (ret) => {
// 下載過程中的(de)回調函數
const { code, data: { progress } } = ret
console.log(progress) // 下載進度
},
complete: (ret) => {
// 接口調用完成後的(de)回調函數
}
})
媒體
相機拍照:cameraTakePhoto()
注意:就(jiù)蘋果設備而(ér)言,因爲(wéi / wèi)隐私權限調整,需要(yào / yāo)在(zài)App的(de)Info.plist中自行添加NSCameraUsageDescription;若未添加,則可能造成閃退。
參數:
屬性 | 類型 | 默認值 | 必填 | 說(shuō)明 |
---|---|---|---|---|
quality | string | normal | 否 | 成像質量,取值範围:high、normal、low |
回調參數
屬性 | 類型 | 說(shuō)明 |
---|---|---|
tempImagePath | string | 照片文件的(de)臨時(shí)路徑 |
狀态碼說(shuō)明
狀态碼 | 說(shuō)明 |
---|---|
-1 | 其他(tā)錯誤 |
0 | 成功 |
示例代碼
native.cameraTakePhoto({
quality: "normal",
success: (ret) => {
// 成功後的(de)回調
},
fail: (ret) => {
// 失敗後的(de)回調
},
complete: (ret) => {
// 接口調用完成後的(de)回調函數
}
})
相機錄像:cameraStartRecord()、cameraStopRecord()
注意:就(jiù)蘋果設備而(ér)言,因爲(wéi / wèi)隐私權限調整,需要(yào / yāo)在(zài)App的(de)Info.plist中自行添加NSMicrophoneUsageDescription;若未添加,則可能造成閃退。
cameraStartRecord參數:
屬性 | 類型 | 默認值 | 必填 | 說(shuō)明 |
---|---|---|---|---|
quality | string | normal | 否 | 成像質量,取值範围:high、normal、low |
recordDuration | number | 10 | 否 | 錄像時(shí)間,取值範围:[0,30],單位秒 ,0秒時(shí)不(bù)操作直接返回 |
cameraStopRecord參數:無
共同的(de)回調參數:
屬性 | 類型 | 說(shuō)明 |
---|---|---|
tempVideoPath | string | 視頻的(de)文件的(de)臨時(shí)路徑 |
tempThumbPath | string | 封面图片文件的(de)臨時(shí)路徑 |
狀态碼說(shuō)明
狀态碼 | 說(shuō)明 |
---|---|
-1 | 其他(tā)錯誤 |
0 | 成功 |
示例代碼
native.cameraStartRecord({
quality: "normal",
recordDuration: 20,
success: (ret) => {
// 成功後的(de)回調
},
fail: (ret) => {
// 失敗後的(de)回調
},
complete: (ret) => {
// 接口調用完成後的(de)回調函數
}
})
選擇图片:chooseImage()
從本地(dì / de)相冊選擇图片或使用相機拍照。
參數:
屬性 | 類型 | 默認值 | 必填 | 說(shuō)明 |
---|---|---|---|---|
sourceType | Array.\ |
["album","camera"] | 否 | 图片的(de)來(lái)源,相冊(album)、拍照(camera) |
回調參數
屬性 | 類型 | 說(shuō)明 |
---|---|---|
tempImagePath | string | 图片文件的(de)臨時(shí)路徑 |
狀态碼說(shuō)明
狀态碼 | 說(shuō)明 |
---|---|
-1 | 其他(tā)錯誤 |
0 | 成功 |
示例代碼
native.chooseImage({
sourceType:["album"]
success: (ret) => {
// 成功後的(de)回調
},
fail: (ret) => {
// 失敗後的(de)回調
},
complete: (ret) => {
// 接口調用完成後的(de)回調函數
}
})
壓縮图片:compressImage()
參數:
屬性 | 類型 | 默認值 | 必填 | 說(shuō)明 |
---|---|---|---|---|
srcFile | string | 是(shì) | 本地(dì / de)图片路徑 | |
quality | number | 0.8 | 否 | 壓縮系數,範围[0,1.0],數值越小,图片質量越低 |
回調參數
屬性 | 類型 | 說(shuō)明 |
---|---|---|
tempImagePath | string | 图片文件的(de)臨時(shí)路徑 |
狀态碼說(shuō)明
狀态碼 | 說(shuō)明 |
---|---|
-1 | 其他(tā)錯誤 |
0 | 成功 |
100 | srcFile非法路徑 |
101 | 參數json格式錯誤 |
102 | 沒有正确解碼srcFile文件(多爲(wéi / wèi)不(bù)支持的(de)图片格式) |
示例代碼
native.compressImage({
srcFile: "/xxx/test.jpg",
quality: 0.7,
success: (ret) => {
// 成功後的(de)回調
},
fail: (ret) => {
// 失敗後的(de)回調
},
complete: (ret) => {
// 接口調用完成後的(de)回調函數
}
})
保存图片到(dào)系統相冊:saveImageToPhotosAlbum()
注意:就(jiù)蘋果設備而(ér)言,因爲(wéi / wèi)隐私權限調整,需要(yào / yāo)在(zài)App的(de)Info.plist中自行添加NSPhotoLibraryAddUsageDescription;若未添加,則可能造成閃退。
參數:
屬性 | 類型 | 默認值 | 必填 | 說(shuō)明 |
---|---|---|---|---|
filePath | string | 是(shì) | 本地(dì / de)图片路徑 |
回調參數 無
狀态碼說(shuō)明
狀态碼 | 說(shuō)明 |
---|---|
-1 | 其他(tā)錯誤 |
0 | 成功 |
100 | filePath非法路徑 |
101 | 參數json格式錯誤 |
102 | 沒有正确解碼srcFile文件(多爲(wéi / wèi)不(bù)支持的(de)图片格式) |
示例代碼
native.saveImageToPhotosAlbum({
filePath:"/xxx/test.jpg",
success: (ret) => {
// 成功後的(de)回調
},
fail: (ret) => {
// 失敗後的(de)回調
},
complete: (ret) => {
// 接口調用完成後的(de)回調函數
}
})
文件
讀文件: readFile()
目前僅支持文本文件
參數:
屬性 | 類型 | 默認值 | 必填 | 說(shuō)明 |
---|---|---|---|---|
filePath | string | 是(shì) | 本地(dì / de)文件路徑 | |
encoding | string | utf8 | 否 | 字符編碼,取值範围: utf8/utf-8 utf16/utf-16/utf-16le/ucs2/ucs-2 utf-16be utf32/utf-32/utf-32le/ucs4/ucs-4 utf-32be |
回調參數
屬性 | 類型 | 說(shuō)明 |
---|---|---|
data | string | 文件内容 |
狀态碼說(shuō)明
狀态碼 | 說(shuō)明 |
---|---|
-1 | 其他(tā)錯誤 |
0 | 成功 |
100 | filePath非法路徑 |
101 | 參數json格式錯誤 |
102 | 不(bù)支持的(de)編碼(encoding) |
103 | 解碼錯誤 |
示例代碼
native.readFile({
filePath:"/xx/xx/test.txt",
success: (ret) => {
// 成功後的(de)回調
},
fail: (ret) => {
// 失敗後的(de)回調
},
complete: (ret) => {
// 接口調用完成後的(de)回調函數
}
})
保存文件: saveFile()
目前僅支持文本文件
參數:
屬性 | 類型 | 默認值 | 必填 | 說(shuō)明 |
---|---|---|---|---|
filePath | string | 是(shì) | 本地(dì / de)文件路徑 | |
encoding | string | utf8 | 否 | 字符編碼,取值範围: utf8/utf-8 utf16/utf-16/utf-16le/ucs2/ucs-2 utf-16be utf32/utf-32/utf-32le/ucs4/ucs-4 utf-32be |
data | string | 否 | 文件内容;若data字段值不(bù)可用,則會創建一(yī / yì /yí)個(gè)空文件 |
回調參數 無
狀态碼說(shuō)明
狀态碼 | 說(shuō)明 |
---|---|
-1 | 其他(tā)錯誤 |
0 | 成功 |
100 | filePath非法路徑 |
101 | 參數json格式錯誤 |
102 | 不(bù)支持的(de)編碼(encoding) |
103 | filePath已經存在(zài) |
示例代碼
native.saveFile({
filePath:"/xx/xx/test.txt",
success: (ret) => {
// 成功後的(de)回調
},
fail: (ret) => {
// 失敗後的(de)回調
},
complete: (ret) => {
// 接口調用完成後的(de)回調函數
}
})
删除文件: removeSavedFile()
參數:
屬性 | 類型 | 默認值 | 必填 | 說(shuō)明 |
---|---|---|---|---|
filePath | string | 是(shì) | 本地(dì / de)文件路徑 |
回調參數 無
狀态碼說(shuō)明
狀态碼 | 說(shuō)明 |
---|---|
-1 | 其他(tā)錯誤 |
0 | 成功 |
100 | filePath非法路徑 |
101 | 參數json格式錯誤 |
示例代碼
native.removeSavedFile({
filePath:"/xx/xx/test.txt",
success: (ret) => {
// 成功後的(de)回調
},
fail: (ret) => {
// 失敗後的(de)回調
},
complete: (ret) => {
// 接口調用完成後的(de)回調函數
}
})
數據緩存
本地(dì / de)緩存操作
獲取緩存: getStorage()
參數:
屬性 | 類型 | 默認值 | 必填 | 說(shuō)明 |
---|---|---|---|---|
key | string | 是(shì) | 緩存的(de)唯一(yī / yì /yí)标識 |
回調參數
屬性 | 類型 | 說(shuō)明 |
---|---|---|
value | string | 值 |
狀态碼說(shuō)明
狀态碼 | 說(shuō)明 |
---|---|
-1 | 其他(tā)錯誤 |
0 | 成功 |
100 | key爲(wéi / wèi)空、或長度爲(wéi / wèi)0 |
101 | 參數json格式錯誤 |
示例代碼
native.getStorage({
key:"k1",
success: (ret) => {
// 成功後的(de)回調
},
fail: (ret) => {
// 失敗後的(de)回調
},
complete: (ret) => {
// 接口調用完成後的(de)回調函數
}
})
更新緩存: setStorage()
參數:
屬性 | 類型 | 默認值 | 必填 | 說(shuō)明 |
---|---|---|---|---|
key | string | 是(shì) | 緩存的(de)唯一(yī / yì /yí)标識 | |
value | any | 是(shì) | 緩存的(de)值,需要(yào / yāo)存儲的(de)内容。隻支持原生類型、Date、及能夠通過JSON.stringify序列化的(de)對象 |
回調參數 無
狀态碼說(shuō)明
狀态碼 | 說(shuō)明 |
---|---|
-1 | 其他(tā)錯誤 |
0 | 成功 |
100 | key不(bù)合法(爲(wéi / wèi)空、長度爲(wéi / wèi)0) |
101 | 參數json格式錯誤 |
102 | value不(bù)合法 |
示例代碼
native.setStorage({
key:"k1",
value:[1,2,3,4],
success: (ret) => {
// 成功後的(de)回調
},
fail: (ret) => {
// 失敗後的(de)回調
},
complete: (ret) => {
// 接口調用完成後的(de)回調函數
}
})
移除緩存: removeStorage()
參數:
屬性 | 類型 | 默認值 | 必填 | 說(shuō)明 |
---|---|---|---|---|
key | string | 是(shì) | 緩存的(de)唯一(yī / yì /yí)标識 |
回調參數 無
狀态碼說(shuō)明
狀态碼 | 說(shuō)明 |
---|---|
-1 | 其他(tā)錯誤 |
0 | 成功 |
100 | key爲(wéi / wèi)空、或長度爲(wéi / wèi)0 |
101 | 參數json格式錯誤 |
示例代碼
native.removeStorage({
key:"k1",
success: (ret) => {
// 成功後的(de)回調
},
fail: (ret) => {
// 失敗後的(de)回調
},
complete: (ret) => {
// 接口調用完成後的(de)回調函數
}
})
清除所有緩存: clearStorage()
參數: 無
回調參數: 無
狀态碼說(shuō)明
狀态碼 | 說(shuō)明 |
---|---|
-1 | 其他(tā)錯誤 |
0 | 成功 |
示例代碼
native.clearStorage({
success: (ret) => {
// 成功後的(de)回調
},
fail: (ret) => {
// 失敗後的(de)回調
},
complete: (ret) => {
// 接口調用完成後的(de)回調函數
}
})
設備
獲取系統剪貼闆的(de)内容: getClipboardData()
回調參數: 無
示例代碼
native.getClipboardData({
success: (ret) => {
// 成功後的(de)回調
},
fail: (ret) => {
// 失敗後的(de)回調
},
complete: (ret) => {
// 接口調用完成後的(de)回調函數
}
})
設置系統剪貼闆的(de)内容: setClipboardData()
參數
屬性 | 類型 | 默認值 | 必填 | 說(shuō)明 |
---|---|---|---|---|
data | string | 是(shì) | 剪貼闆的(de)内容 |
回調參數
屬性 | 類型 | 說(shuō)明 |
---|---|---|
data | string | 剪貼闆的(de)内容 |
示例代碼
native.setClipboardData({
data:"設置剪貼闆",
success: (ret) => {
// 成功後的(de)回調
},
fail: (ret) => {
// 失敗後的(de)回調
},
complete: (ret) => {
// 接口調用完成後的(de)回調函數
}
})
獲取網絡類型:getNetworkType()
回調參數
屬性 | 類型 | 說(shuō)明 |
---|---|---|
networkType | string | 網絡類型 |
網絡類型 networkType 的(de)合法值:
值 | 說(shuō)明 |
---|---|
wifi | wifi網絡 |
2g | 2g網絡 |
3g | 3g網絡 |
4g | 4g網絡 |
unknown | Android 下不(bù)常見的(de)網絡類型 |
none | 無網絡 |
示例代碼
native.getNetworkType({
success: (ret) => {
// 成功後的(de)回調
},
fail: (ret) => {
// 失敗後的(de)回調
},
complete: (ret) => {
// 接口調用完成後的(de)回調函數
}
})
添加更新聯系人(rén):addPhoneContact()
注意:就(jiù)蘋果設備而(ér)言,因爲(wéi / wèi)隐私權限調整,需要(yào / yāo)在(zài)App的(de)Info.plist中自行添加NSContactsUsageDescription;若未添加,則可能造成閃退。
添加手機通訊錄聯系人(rén)。用戶可以(yǐ)選擇将該表單以(yǐ)「新增聯系人(rén)」或「添加到(dào)已有聯系人(rén)」的(de)方式,寫入手機系統通訊錄。
參數
屬性 | 類型 | 默認值 | 必填 | 說(shuō)明 |
---|---|---|---|---|
firstName | string | 是(shì) | 名字 | |
addMode | string | insert | 否 | 取值範围: insert(總是(shì)創建新聯系人(rén)) update(若firstName聯系人(rén)存在(zài),則對第一(yī / yì /yí)個(gè)找到(dào)的(de)聯系人(rén)進行覆蓋更新;若不(bù)存在(zài),則創建新聯系人(rén)) |
photoFilePath | string | 否 | 頭像本地(dì / de)文件路徑 | |
nickName | string | 否 | 昵稱 | |
lastName | string | 否 | 姓氏 | |
middleName | string | 否 | 中間名 | |
remark | string | 否 | 備注 | |
mobilePhoneNumber | string | 否 | 手機号 | |
string | 否 | 電子(zǐ)郵箱 | ||
homepage | string | 否 | 網站主頁 | |
addressCountry | string | 否 | 聯系地(dì / de)址国家 | |
addressState | string | 否 | 聯系地(dì / de)址省份 | |
addressCity | string | 否 | 聯系地(dì / de)址城市 | |
addressStreet | string | 否 | 聯系地(dì / de)址街道(dào) | |
addressPostalCode | string | 否 | 聯系地(dì / de)址郵政編碼 | |
organization | string | 否 | 公司 | |
title | string | 否 | 職位 | |
workFaxNumber | string | 否 | 工作傳真 | |
workPhoneNumber | string | 否 | 工作電話 | |
workAddressCountry | string | 否 | 工作地(dì / de)址国家 | |
workAddressState | string | 否 | 工作地(dì / de)址省份 | |
workAddressCity | string | 否 | 工作地(dì / de)址城市 | |
workAddressStreet | string | 否 | 工作地(dì / de)址街道(dào) | |
workAddressPostalCode | string | 否 | 工作地(dì / de)址郵政編碼 | |
homeFaxNumber | string | 否 | 住宅傳真 | |
homePhoneNumber | string | 否 | 住宅電話 | |
homeAddressCountry | string | 否 | 住宅地(dì / de)址国家 | |
homeAddressState | string | 否 | 住宅地(dì / de)址省份 | |
homeAddressCity | string | 否 | 住宅地(dì / de)址城市 | |
homeAddressStreet | string | 否 | 住宅地(dì / de)址街道(dào) | |
homeAddressPostalCode | string | 否 | 住宅地(dì / de)址郵政編碼 |
回調參數 無
狀态碼說(shuō)明
狀态碼 | 說(shuō)明 |
---|---|
-1 | 其他(tā)錯誤 |
0 | 成功 |
100 | firstName爲(wéi / wèi)空、或長度爲(wéi / wèi)0 |
101 | 參數json格式錯誤 |
102 | 用戶不(bù)允許該操作(沒有授予權限) |
示例代碼
native.addPhoneContact({
firstName:"Limi",
success: (ret) => {
// 成功後的(de)回調
},
fail: (ret) => {
// 失敗後的(de)回調
},
complete: (ret) => {
// 接口調用完成後的(de)回調函數
}
})
HCE能力:getHCEState()
判斷當前設備是(shì)否支持 HCE 能力
注意:目前,就(jiù)蘋果而(ér)言,該接口不(bù)會返回0
參數: 無
回調參數: 無
狀态碼說(shuō)明
值 | 說(shuō)明 |
---|---|
-1 | 未知狀态 |
0 | 正常 |
1 | 當前設備不(bù)支持NFC |
2 | 當前設備支持NFC,但系統NFC開關未開啓 |
3 | 當前設備支持NFC,但不(bù)支持HCE |
示例代碼
native.getHCEState({
success: (ret) => {
// 成功後的(de)回調
},
fail: (ret) => {
// 失敗後的(de)回調
},
complete: (ret) => {
// 接口調用完成後的(de)回調函數
}
})
撥打電話:makePhoneCall()
參數:
屬性 | 類型 | 默認值 | 必填 | 說(shuō)明 |
---|---|---|---|---|
phoneNumber | string | 是(shì) | 電話号碼 |
回調參數: 無
狀态碼說(shuō)明
狀态碼 | 說(shuō)明 |
---|---|
-1 | 其他(tā)錯誤 |
0 | 成功 |
100 | phoneNumber不(bù)合法 |
101 | 參數json格式錯誤 |
102 | 用戶不(bù)允許該操作 |
示例代碼
native.makePhoneCall({
phoneNumber:"12345678901",
success: (ret) => {
// 成功後的(de)回調
},
fail: (ret) => {
// 失敗後的(de)回調
},
complete: (ret) => {
// 接口調用完成後的(de)回調函數
}
})
掃碼:scanCode()
參數:無
回調參數
屬性 | 類型 | 說(shuō)明 |
---|---|---|
result | string | 掃描内容 |
狀态碼說(shuō)明
狀态碼 | 說(shuō)明 |
---|---|
-1 | 其他(tā)錯誤 |
0 | 成功 |
1 | 用戶取消操作 |
示例代碼
native.scanCode({
success: (ret) => {
// 成功後的(de)回調
},
fail: (ret) => {
// 失敗後的(de)回調
},
complete: (ret) => {
// 接口調用完成後的(de)回調函數
const { code } = ret
if (code === 1) {
// 用戶取消
}
}
})
toast提示:showToast()
參數:
屬性 | 類型 | 默認值 | 必填 | 說(shuō)明 |
---|---|---|---|---|
tip | string | 是(shì) | 提示文字 | |
image | string | 否 | 本地(dì / de)文件路徑 | |
duration | number | 1500 | 否 | 提示時(shí)間,單位毫秒 |
回調參數: 無
狀态碼說(shuō)明
狀态碼 | 說(shuō)明 |
---|---|
-1 | 其他(tā)錯誤 |
0 | 成功 |
100 | tip不(bù)合法(空或長度爲(wéi / wèi)0) |
101 | image文件不(bù)存在(zài)、不(bù)支持的(de)图片格式 |
102 | 參數json格式錯誤 |
示例代碼
native.showToast({
tip:"hello world",
success: (ret) => {
// 成功後的(de)回調
},
fail: (ret) => {
// 失敗後的(de)回調
},
complete: (ret) => {
// 接口調用完成後的(de)回調函數
}
})
toast提示:hideToast()
參數:無
回調參數 無
狀态碼說(shuō)明
狀态碼 | 說(shuō)明 |
---|---|
-1 | 其他(tā)錯誤 |
0 | 成功 |
示例代碼
native.hideToast({
success: (ret) => {
// 成功後的(de)回調
},
fail: (ret) => {
// 失敗後的(de)回調
},
complete: (ret) => {
// 接口調用完成後的(de)回調函數
}
})
導航錯誤碼
狀态碼 | 說(shuō)明 |
---|---|
-1 | 其他(tā)錯誤 |
0 | 成功 |
100 | 參數json格式錯誤 |
101 | backgroundColor不(bù)合法 |
102 | frontColor不(bù)合法 |
103 | 導航欄設置顯示,但按鈕的(de)title或者iconBase64缺失 |
104 | 導航欄設置顯示,但解碼iconBase64失敗 |
105 | 沒有找到(dào)webView的(de)控制器(webView可能不(bù)是(shì)通過控制器添加到(dào)屏幕的(de)) |
106 | webview的(de)控制器是(shì)導航棧的(de)根,無法關閉 |
107 | 無法确定webview的(de)控制器如何添加到(dào)屏幕上(shàng) |
設置導航欄顔色:setNavigationBarColor()
參數:
屬性 | 類型 | 默認值 | 必填 | 說(shuō)明 |
---|---|---|---|---|
frontColor | string | 是(shì) | 前景色,當前僅支持十六進制的(de)RGB格式 | |
backgroundColor | string | 是(shì) | 背景色,當前僅支持十六進制的(de)RGB格式 |
回調參數: 無
狀态碼說(shuō)明
參見導航錯誤碼
示例代碼
native.setNavigationBarColor({
frontColor:"#FF0000",
backgroundColor:"#00FFFF",
success: (ret) => {
// 成功後的(de)回調
},
fail: (ret) => {
// 失敗後的(de)回調
},
complete: (ret) => {
// 接口調用完成後的(de)回調函數
}
})
設置導航欄标題:setNavigationBarTitle()
參數:
屬性 | 類型 | 默認值 | 必填 | 說(shuō)明 |
---|---|---|---|---|
title | string | 是(shì) | 标題 |
回調參數: 無
狀态碼說(shuō)明
狀态碼 | 說(shuō)明 |
---|---|
-1 | 其他(tā)錯誤 |
0 | 成功 |
100 | 參數json格式錯誤 |
示例代碼
native.setNavigationBarTitle({
title:"page title"
success: (ret) => {
// 成功後的(de)回調
},
fail: (ret) => {
// 失敗後的(de)回調
},
complete: (ret) => {
// 接口調用完成後的(de)回調函數
}
})
設置導航欄内容:setNavigationBarContent()
參數:
屬性 | 類型 | 默認值 | 必填 | 說(shuō)明 |
---|---|---|---|---|
hide | number | 0 | 否 | 顯示/隐藏導航欄 1 : 隐藏(無動畫) 0:顯示(無動畫) 如果設置隐藏導航欄,則忽略其他(tā)參數 |
title | string | 否 | 标題 | |
leftButton | Object | 否 | 左側标題 參見導航欄按鈕 | |
rightButton | Object | 否 | 右側側标題 參見導航欄按鈕 |
導航欄按鈕(leftButton, rightButton):
屬性 | 類型 | 默認值 | 必填 | 說(shuō)明 |
---|---|---|---|---|
hide | number | 0 | 否 | 顯示/隐藏導航欄 1 : 隐藏(無動畫) 0:顯示(無動畫) 如果設置隐藏,則忽略其他(tā)參數 |
title | string | 否 | 按鈕标題 優先顯示title |
|
iconBase64 | string | 否 | 優先顯示title; 按鈕图标,Base64編碼 | |
callback | Function | 否 | 點擊按鈕時(shí),調用前端的(de)方法名 方法接受一(yī / yì /yí)個(gè)參數,如果導航欄顯示,則該參數必填 |
|
callbackData | string | 否 | 點擊按鈕時(shí),調用前端的(de)方法接受的(de)參數 方法接受一(yī / yì /yí)個(gè)參數 |
回調參數: 無
狀态碼說(shuō)明
參見導航錯誤碼
示例代碼
native.setNavigationBarTitle({
hide:0,
title:"page title",
leftButton: {
title:"返回",
callback:"closepage", //closepage接受一(yī / yì /yí)個(gè)參數
callbackData:"123456"
},
rightButton: {
hide:0
},
success: (ret) => {
// 成功後的(de)回調
},
fail: (ret) => {
// 失敗後的(de)回調
},
complete: (ret) => {
// 接口調用完成後的(de)回調函數
}
})
關閉本頁面:navigationCloseThisPage()
參數
屬性 | 類型 | 默認值 | 必填 | 說(shuō)明 |
---|---|---|---|---|
animated | number | 1 | 否 | 1 : 有動畫 0:無動畫 |
回調參數: 無
狀态碼說(shuō)明
參見導航錯誤碼
示例代碼
native.navigationCloseThisPage({
animated: 10,
success: (ret) => {
// 成功後的(de)回調
},
fail: (ret) => {
// 失敗後的(de)回調
},
complete: (ret) => {
// 接口調用完成後的(de)回調函數
}
})
系統
異步獲取系統信息: getSystemInfo()
回調參數
屬性 | 類型 | 說(shuō)明 |
---|---|---|
brand | string | 手機品牌 |
model | string | 手機型号 |
pixelRatio | number | 設備像素比 |
screenWidth | number | 屏幕寬度 |
screenHeight | number | 屏幕高度 |
windowWidth | number | 可使用窗口寬度 |
windowHeight | number | 可使用窗口高度 |
statusBarHeight | number | 狀态欄的(de)高度 |
language | string | 當前使用的(de)語言 |
system | string | 操作系統版本 |
platform | string | 客戶端平台 |
SDKVersion | string | Firefly版本 |
示例代碼
native.getSystemInfo({
success: (ret) => {
// 成功後的(de)回調
},
fail: (ret) => {
// 失敗後的(de)回調
},
complete: (ret) => {
// 接口調用完成後的(de)回調函數
}
})
同步獲取系統信息: getSystemInfoSync()
返回值:
屬性 | 類型 | 說(shuō)明 |
---|---|---|
brand | string | 手機品牌 |
model | string | 手機型号 |
pixelRatio | number | 設備像素比 |
screenWidth | number | 屏幕寬度 |
screenHeight | number | 屏幕高度 |
windowWidth | number | 可使用窗口寬度 |
windowHeight | number | 可使用窗口高度 |
statusBarHeight | number | 狀态欄的(de)高度 |
language | string | 當前使用的(de)語言 |
system | string | 操作系統版本 |
platform | string | 客戶端平台 |
SDKVersion | string | Firefly版本 |
示例代碼
const str = native.getSystemInfoSync()
同步獲取app版本: getAppVersion()
返回值:
屬性 | 類型 | 說(shuō)明 |
---|---|---|
appVersion | string | app版本 |
示例代碼
const str = native.getAppVersion()
基礎
判斷Jsbridge是(shì)否在(zài)當前版本可用: hasNativeMethod()
判斷小程序的(de)API是(shì)否在(zài)當前版本可用。
參數
string
使用 ${API} 方式來(lái)調用
返回值
boolean
當前版本是(shì)否可用
示例代碼
const boolean = cmbc.hasNativeMethod('chooseImage')
console.log(boolean)