# 基础
# env
ft.env
环境变量
属性
string USER_DATA_PATH
文件系统中的用户目录路径 (本地路径)
# canIUse
boolean ft.canIUse(string schema)
判断小程序的API,回调,参数,组件等是否在当前版本可用。
参数
string schema
使用 ${API}.${method}.${param}.${option}
或者 ${component}.${attribute}.${option}
方式来调用
返回值
boolean
当前版本是否可用
参数说明
${API}
代表 API 名字${method}
代表调用方式,有效值为return, success, object, callback${param}
代表参数或者返回值${option}
代表参数的可选值或者返回值的属性${component}
代表组件名字${attribute}
代表组件属性${option}
代表组件属性的可选值
示例代码
// 对象的属性或方法
ft.canIUse('console.log')
ft.canIUse('CameraContext.onCameraFrame')
ft.canIUse('CameraFrameListener.start')
ft.canIUse('Image.src')
// ft接口参数、回调或者返回值
ft.canIUse('openBluetoothAdapter')
ft.canIUse('getSystemInfoSync.return.safeArea.left')
ft.canIUse('getSystemInfo.success.screenWidth')
ft.canIUse('showToast.object.image')
ft.canIUse('onCompassChange.callback.direction')
ft.canIUse('request.object.method.GET')
// 组件的属性
ft.canIUse('live-player')
ft.canIUse('text.selectable')
ft.canIUse('button.open-type.contact')
# base64ToArrayBuffer
ArrayBuffer ft.base64ToArrayBuffer(string base64)
将 Base64 字符串转成 ArrayBuffer 对象
参数
string base64
要转化成 ArrayBuffer 对象的 Base64 字符串
返回值
ArrayBuffer
ArrayBuffer 对象
示例代码
const base64 = 'CxYh'
const arrayBuffer = ft.base64ToArrayBuffer(base64)
# arrayBufferToBase64
string ft.arrayBufferToBase64(ArrayBuffer arrayBuffer)
将 ArrayBuffer 对象转成 Base64 字符串
参数
ArrayBuffer arrayBuffer
要转换成 Base64 字符串的 ArrayBuffer 对象
返回值
string
Base64 字符串
示例代码
const arrayBuffer = new Uint8Array([11, 22, 33])
const base64 = ft.arrayBufferToBase64(arrayBuffer)
# base64ToTempFilePath
base64ToTempFilePath(Object object)
将图片的base64数据保存到本地沙盒,并返回本地缓存路径。
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
x | number | 0 | 否 | 待裁剪区域的左上角横坐标 |
y | number | 0 | 否 | 待裁剪区域的左上角纵坐标 |
width | number | canvas宽度-x | 否 | 待裁剪区域的宽度 |
height | number | canvas高度-y | 否 | 待裁剪区域的高度 |
destWidth | number | width x 屏幕像素密度 | 否 | 输出的图片的宽度 |
destHeight | number | height x 屏幕像素密度 | 否 | 输出的图片的高度 |
base64Data | string | 是 | 图片转成的base64类型字符串 | |
success | function | 否 | 接口调用成功的回调函数 | |
fail | function | 否 | 接口调用失败的回调函数 | |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
object.success 回调函数
参数
Object res
属性 | 类型 | 说明 |
---|---|---|
tempFilePath | string | 图片的本地地址 |
# fileToBase64
fileToBase64(Object object)
将文件转换为 Base64 字符串
参数
Object res
属性 | 类型 | 说明 |
---|---|---|
url | string | 文件地址 |
success | function | |
fail | function | |
complete | function |
object.success 回调函数
参数
属性 | 类型 | 说明 |
---|---|---|
data | string | 转换后的base64数据 |
示例代码
ft.fileToBase64({
url: '', // 图片路径
success(res) {
console.log(res)
}
})
# 系统
# getSystemInfoSync
getSystemInfoSync()
getSystemInfo 的同步版本。
# getSystemInfoAsync
ft.getSystemInfoAsync(Object object)
异步获取系统信息
参数
Object object
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
success | function | 否 | 接口调用成功的回调函数 | |
fail | function | 否 | 接口调用失败的回调函数 | |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
object.success 回调函数
参数
Object res
属性 | 类型 | 说明 | 最低版本 |
---|---|---|---|
brand | string | 设备品牌 | 1.5.0 |
model | string | 设备型号,新机型刚推出一段时间会显示 unknown,后续会进行适配 | |
pixelRatio | number | 设备像素比 | |
screenWidth | number | 屏幕宽度,单位 px | 1.1.0 |
screenHeight | number | 屏幕高度,单位 px | 1.1.0 |
windowWidth | number | 可使用窗口宽度,单位 px | |
windowHeight | number | 可使用窗口高度,单位 px | |
statusBarHeight | number | 状态栏的高度,单位 px | 1.9.0 |
fontSizeSetting | number | 字体设置,单位 px | 3.0.0 |
navBarHeight | number | 导航栏的高度,单位 px,开发工具上没有该字段 | 3.0.0 |
tabBarHeight | number | tabBar 的高度,单位 px,开发工具上没有该字段 | 3.0.0 |
language | string | 设备系统设置的语言 | |
version | string | 微信版本号 8.0.28 或者 app.json 中的声明 | |
system | string | 操作系统及版本 | |
platform | string | 客户端平台 | |
SDKVersion | string | 微信基础库版本号 2.26.0 或者 app.json 中的声明 | 1.1.0 |
safeArea | Object | 在竖屏正方向下的安全区域 | 2.7.0 |
theme | string | 系统当前主题,取值为 light 或 dark ,全局配置 "darkmode":true 时才能获取,否则为 undefined (不支持小游戏) | 2.11.0 |
enableDebug | boolean | 是否已打开调试。可通过右上角菜单或 ft.setEnableDebug 打开调试 | 2.15.0 |
deviceOrientation | string | 设备方向 | |
appVersion | string | 宿主 App 的版本号 | |
runtimeSDKVersion | string | 宿主 App 集成的 SDK 版本号 | |
bundleId | string | 宿主 App 的bundleId | |
deviceId | string | 设备的唯一标识 | |
inFinChat | string | 是否为凡泰小程序环境 | |
frameworkVersion | string | 真实的基础库 version |
safeArea 的结构
属性 | 类型 | 说明 |
---|---|---|
left | number | 安全区域左上角横坐标 |
right | number | 安全区域右下角横坐标 |
top | number | 安全区域左上角纵坐标 |
bottom | number | 安全区域右下角纵坐标 |
width | number | 安全区域的宽度,单位逻辑像素 |
height | number | 安全区域的高度,单位逻辑像素 |
theme 的合法值
值 | 说明 | 最低版本 |
---|---|---|
dark | 深色主题 | |
light | 浅色主题 |
deviceOrientation 的合法值
值 | 说明 | 最低版本 |
---|---|---|
portrait | 竖屏 | |
landscape | 横屏 |
示例代码
在开发者工具中预览效果
ft.getSystemInfoAsync({
success(res) {
console.log(res.model)
console.log(res.pixelRatio)
console.log(res.windowWidth)
console.log(res.windowHeight)
console.log(res.language)
console.log(res.version)
console.log(res.platform)
}
})
// app.json 添加一个新的字段配置
// compatibility: {
// systemInfo: {
// SDKVersion: xxxx, 该接口中返回的参数会对应该SDKVersion
// version: xxxx 该接口中返回的参数会对应该version
// }
// }
# getSystemInfo
getSystemInfo(Object object)
获取系统信息。
参数
Object object
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
success | function | 否 | 接口调用成功的回调函数 | |
fail | function | 否 | 接口调用失败的回调函数 | |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
object.success 回调函数 参数
Object res
属性 | 类型 | 说明 | 最低版本 |
---|---|---|---|
brand | string | 设备品牌 | 1.5.0 |
model | string | 设备型号,新机型刚推出一段时间会显示 unknown,后续会进行适配 | |
pixelRatio | number | 设备像素比 | |
screenWidth | number | 屏幕宽度,单位 px | 1.1.0 |
screenHeight | number | 屏幕高度,单位 px | 1.1.0 |
windowWidth | number | 可使用窗口宽度,单位 px | |
windowHeight | number | 可使用窗口高度,单位 px | |
statusBarHeight | number | 状态栏的高度,单位 px | 1.9.0 |
fontSizeSetting | number | 字体设置,单位 px | 3.0.0 |
navBarHeight | number | 导航栏的高度,单位 px,开发工具上没有该字段 | 3.0.0 |
tabBarHeight | number | tabBar 的高度,单位 px,开发工具上没有该字段 | 3.0.0 |
language | string | 设备系统设置的语言 | |
version | string | 微信版本号 8.0.28 或者 app.json 中的声明 | |
system | string | 操作系统及版本 | |
platform | string | 客户端平台 | |
SDKVersion | string | 微信基础库版本号 2.26.0 或者 app.json 中的声明 | 1.1.0 |
safeArea | Object | 在竖屏正方向下的安全区域 | 2.7.0 |
theme | string | 系统当前主题,取值为 light 或 dark ,全局配置 "darkmode":true 时才能获取,否则为 undefined (不支持小游戏) | 2.11.0 |
enableDebug | boolean | 是否已打开调试。可通过右上角菜单或 ft.setEnableDebug 打开调试 | 2.15.0 |
deviceOrientation | string | 设备方向 | |
appVersion | string | 宿主 App 的版本号 | |
runtimeSDKVersion | string | 宿主 App 集成的 SDK 版本号 | |
bundleId | string | 宿主 App 的bundleId | |
deviceId | string | 设备的唯一标识 | |
inFinChat | string | 是否为凡泰小程序环境 | |
frameworkVersion | string | 真实的基础库 version |
示例代码
ft.getSystemInfo({
success(res) {
console.log(res.model)
console.log(res.pixelRatio)
console.log(res.windowWidth)
console.log(res.windowHeight)
console.log(res.language)
console.log(res.version)
console.log(res.platform)
}
})
// app.json 添加一个新的字段配置
// compatibility: {
// systemInfo: {
// SDKVersion: xxxx, 该接口中返回的参数会对应该SDKVersion
// version: xxxx 该接口中返回的参数会对应该version
// }
// }
# openSystemBluetoothSetting
基础库 3.0.45 起, Android SDK 2.40.11 起支持
openSystemBluetoothSetting(Object object)
跳转系统蓝牙设置页。仅支持Android
参数
Object object
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
success | function | 否 | 接口调用成功的回调函数 | |
fail | function | 否 | 接口调用失败的回调函数 | |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
示例代码
ft.openSystemBluetoothSetting({
success (res) {
console.log(res)
}
})
# openAppAuthorizeSetting
基础库 3.0.45 起,iOS SDK 2.40.11 起,Android SDK 2.40.11 起支持
openAppAuthorizeSetting(Object object)
跳转系统授权管理页。
参数
Object object
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
success | function | 否 | 接口调用成功的回调函数 | |
fail | function | 否 | 接口调用失败的回调函数 | |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
示例代码
ft.openAppAuthorizeSetting({
success (res) {
console.log(res)
}
})
# getWindowInfo
基础库 3.0.45 起,iOS SDK 2.40.11 起,Android SDK 2.40.11 起支持
getWindowInfo(Object object)
获取窗口信息。
参数
Object res
属性 | 类型 | 说明 | 最低版本 |
---|---|---|---|
pixelRatio | number | 设备像素比 | |
screenWidth | number | 屏幕宽度,单位 px | |
screenHeight | number | 屏幕高度,单位 px | |
windowWidth | number | 可使用窗口宽度,单位 px | |
windowHeight | number | 可使用窗口高度,单位 px | |
statusBarHeight | number | 状态栏的高度,单位 px | |
safeArea | Object | 在竖屏正方向下的安全区域 | |
screenTop | number | 窗口上边缘的y值 |
示例代码
const windowInfo = ft.getWindowInfo()
console.log(windowInfo.pixelRatio)
console.log(windowInfo.screenWidth)
console.log(windowInfo.screenHeight)
console.log(windowInfo.windowWidth)
console.log(windowInfo.windowHeight)
console.log(windowInfo.statusBarHeight)
console.log(windowInfo.safeArea)
console.log(windowInfo.screenTop)
# getSystemSetting
基础库 3.0.45 起,iOS SDK 2.40.11 起, Android SDK 2.40.11 起支持
getSystemSetting(Object object)
获取设备设置。
参数
Object res
属性 | 类型 | 说明 | 最低版本 |
---|---|---|---|
locationEnabled | boolean | 地理位置的系统开关 | |
wifiEnabled | boolean | Wi-Fi 的系统开关 | |
deviceOrientation | string | 设备方向 | |
bluetoothEnabled | boolean | 蓝牙的系统开关(iOS 需要集成 FinAppletBLE SDK 后有效) | iOS系统 >= 13.1;SDK >= 2.41.13 |
示例代码
const systemSetting = ft.getSystemSetting()
console.log(systemSetting.bluetoothEnabled)
console.log(systemSetting.deviceOrientation)
console.log(systemSetting.locationEnabled)
console.log(systemSetting.wifiEnabled)
# getRendererUserAgent
基础库 3.0.45 起,iOS SDK 2.40.11 起,Android SDK 2.40.11 起支持
getRendererUserAgent()
获取 Webview 小程序的 UserAgent。
参数
string userAgent
示例代码
ft.getRendererUserAgent({
success(res) { console.log(res) }
})
# getDeviceInfo
基础库 3.0.45 起,iOS SDK 2.40.11 起, Android SDK 2.40.11 起支持
getDeviceInfo()
获取设备基础信息。
参数
Object res
属性 | 类型 | 说明 | 最低版本 |
---|---|---|---|
abi | string | 应用(APP)二进制接口类型(仅 Android 支持) | |
deviceAbi | string | 设备二进制接口类型(仅 Android 支持) | |
benchmarkLevel | number | 设备性能等级(仅 Android 支持)。取值为:-2 或 0(该设备无法运行小游戏),-1(性能未知),>=1(设备性能值,该值越高,设备性能越好,目前最高不到50) | 不支持 |
brand | string | 设备品牌px | |
model | string | 设备型号。新机型刚推出一段时间会显示unknown | |
system | string | 操作系统及版本 | |
platform | string | 客户端平台 | |
cpuType | string | 设备 CPU 型号(仅 Android 支持)(Tips: GPU 型号可通过 WebGLRenderingContext.getExtension('WEBGL_debug_renderer_info') 来获取) | |
memorySize | string | 设备内存大小,单位为 MB |
示例代码
const deviceInfo = ft.getDeviceInfo()
console.log(deviceInfo.abi)
console.log(deviceInfo.benchmarkLevel)
console.log(deviceInfo.brand)
console.log(deviceInfo.model)
console.log(deviceInfo.platform)
console.log(deviceInfo.system)
请注意
以下 参数 暂不支持
名称 | 功能说明 |
---|---|
benchmarkLevel | 设备性能等级(仅 Android 支持)。取值为:-2 或 0(该设备无法运行小游戏),-1(性能未知),>=1(设备性能值,该值越高,设备性能越好,目前最高不到50) |
# getAppBaseInfo
基础库 3.0.45 起,iOS SDK 2.40.11 起,Android SDK 2.40.11 起支持
getAppBaseInfo()
获取APP基础信息。
参数
Object res
属性 | 类型 | 说明 | 最低版本 |
---|---|---|---|
SDKVersion | string | 微信基础库版本号 2.26.0 或者 app.json 中的声明 | |
enableDebug | boolean | 是否已打开调试。可通过右上角菜单或 ft.setEnableDebug 打开调试。 | |
host | Object | 当前小程序运行的宿主环境 | 不支持 |
language | string | 设备系统设置的语言 | |
version | string | 微信版本号 8.0.28 或者 app.json 中的声明 | |
theme | string | 系统当前主题,取值为light 或dark ,全局配置"darkmode":true 时才能获取,否则为 undefined (不支持小游戏) |
示例代码
const appBaseInfo = ft.getAppBaseInfo()
console.log(appBaseInfo.SDKVersion)
console.log(appBaseInfo.enableDebug)
console.log(appBaseInfo.host)
console.log(appBaseInfo.language)
console.log(appBaseInfo.version)
console.log(appBaseInfo.theme)
// app.json 添加一个新的字段配置
// compatibility: {
// systemInfo: {
// SDKVersion: xxxx, 该接口中返回的参数会对应该SDKVersion
// version: xxxx 该接口中返回的参数会对应该version
// }
// }
请注意
以下 参数 暂不支持
名称 | 功能说明 |
---|---|
host | 当前小程序运行的宿主环境 |
# getAppAuthorizeSetting
基础库 3.0.45 起,iOS SDK 2.40.11 起, Android SDK 2.40.11 起支持
getAppAuthorizeSetting()
获取APP授权设置。
参数
Object res
属性 | 类型 | 说明 | 最低版本 |
---|---|---|---|
albumAuthorized | 'authorized'/'denied'/'not determined' | 允许使用相册的开关(仅 iOS 有效) | |
cameraAuthorized | 'authorized'/'denied'/'not determined' | 允许使用摄像头的开关 | |
locationAuthorized | 'authorized'/'denied'/'not determined' | 允许使用定位的开关 | |
locationReducedAccuracy | boolean | 定位准确度。true 表示模糊定位,false 表示精确定位(仅 iOS 有效) | |
microphoneAuthorized | 'authorized'/'denied'/'not determined' | 允许使用麦克风的开关 | |
notificationAuthorized | 'authorized'/'denied'/'not determined' | 允许通知的开关 | |
notificationAlertAuthorized | 'authorized'/'denied'/'not determined' | 允许通知带有提醒的开关(仅 iOS 有效) | |
notificationBadgeAuthorized | 'authorized'/'denied'/'not determined' | 允许通知带有标记的开关(仅 iOS 有效) | |
notificationSoundAuthorized | 'authorized'/'denied'/'not determined' | 允许通知带有声音的开关(仅 iOS 有效) | |
phoneCalendarAuthorized | 'authorized'/'denied'/'not determined' | 允许读写日历的开关 | |
bluetoothAuthorized | 'authorized'/'denied'/'not determined' | 允许使用蓝牙的开关(仅 iOS 有效,需要集成 FinAppletBLE SDK) | iOS系统 >= 13.1;SDK >= 2.41.13 |
示例代码
const appAuthorizeSetting = ft.getAppAuthorizeSetting()
console.log(appAuthorizeSetting.albumAuthorized)
console.log(appAuthorizeSetting.cameraAuthorized)
console.log(appAuthorizeSetting.locationAuthorized)
console.log(appAuthorizeSetting.locationReducedAccuracy)
console.log(appAuthorizeSetting.microphoneAuthorized)
console.log(appAuthorizeSetting.notificationAlertAuthorized)
console.log(appAuthorizeSetting.notificationAuthorized)
console.log(appAuthorizeSetting.notificationBadgeAuthorized)
console.log(appAuthorizeSetting.notificationSoundAuthorized)
console.log(appAuthorizeSetting.phoneCalendarAuthorized)
console.log(appAuthorizeSetting.bluetoothAuthorized)
# 更新
# getUpdateManager
获取全局唯一的版本更新管理器,用于管理小程序更新。 返回值 UpdateManager
UpdateManager 方法
UpdateManager.applyUpdate() 强制小程序重启并使用新版本。在小程序新版本下载完成后(即收到 onUpdateReady 回调)调用。
UpdateManager.onCheckForUpdate(function callback) 监听向后台请求检查更新结果事件。SDK 在小程序冷启动时自动检查更新,不需由开发者主动触发。
UpdateManager.onUpdateReady(function callback) 监听小程序有版本更新事件。客户端主动触发下载(无需开发者触发),下载成功后回调 UpdateManager.onUpdateFailed(function callback) 监听小程序更新失败事件。小程序有新版本,客户端主动触发下载(无需开发者触发),下载失败(可能是网络原因等)后回调。
示例代码
const updateManager = ft.getUpdateManager()
updateManager.onCheckForUpdate(function(res) {
// 请求完新版本信息的回调
console.log(res.hasUpdate)
})
updateManager.onUpdateReady(function() {
ft.showModal({
title: '更新提示',
content: '新版本已经准备好,是否重启应用?',
success: function(res) {
if (res.confirm) {
// 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
updateManager.applyUpdate()
}
}
})
})
updateManager.onUpdateFailed(function() {
// 新版本下载失败
})
# 小程序
# getLaunchOptionsSync
Object ft.getLaunchOptionsSync()
获取小程序启动时的参数。与 App.onLaunch
的回调参数一致。
返回值
Object
启动参数
属性 | 类型 | 说明 |
---|---|---|
path | string | 启动小程序的路径 (代码包路径) |
query | Object | 启动小程序的 query 参数 |
referrerInfo | Object | 来源信息 |
referrerInfo 的结构
属性 | 类型 | 说明 |
---|---|---|
appId | string | 小程序的 appId |
extraData | Object | 来源小程序传过来的数据 |
# getEnterOptionsSync
Object ft.getEnterOptionsSync()
获取本次小程序启动时的参数。如果当前是冷启动,则返回值与 App.onLaunch
的回调参数一致;如果当前是热启动,则返回值与 App.onShow
一致。
返回值
Object
启动参数
属性 | 类型 | 说明 |
---|---|---|
path | string | 启动小程序的路径 (代码包路径) |
query | Object | 启动小程序的 query 参数 |
referrerInfo | Object | 来源信息 |
referrerInfo 的结构
属性 | 类型 | 说明 |
---|---|---|
appId | string | 小程序的 appId |
extraData | Object | 来源小程序传过来的数据 |
# onPageNotFound
ft.onPageNotFound(function callback)
监听小程序要打开的页面不存在事件。该事件与 App.onPageNotFound
的回调时机一致。
参数
function callback
小程序要打开的页面不存在事件的回调函数
参数
Object res
属性 | 类型 | 说明 |
---|---|---|
path | string | 不存在页面的路径 (代码包路径) |
query | Object | 打开不存在页面的 query 参数 |
isEntryPage | boolean | 是否本次启动的首个页面(例如从分享等入口进来,首个页面是开发者配置的分享页面) |
注意
- 开发者可以在回调中进行页面重定向,但必须在回调中同步处理,异步处理(例如
setTimeout
异步执行)无效。 - 若开发者没有调用 ft.onPageNotFound 绑定监听,也没有声明
App.onPageNotFound
,当跳转页面不存在时,将推入原生的页面不存在提示页面。 - 如果回调中又重定向到另一个不存在的页面,将推入原生的页面不存在提示页面,并且不再第二次回调。
# onError
ft.onError(function callback)
监听小程序错误事件。如脚本错误或 API 调用报错等。该事件与 App.onError
的回调时机与参数一致。
参数
function callback
小程序错误事件的回调函数
参数
string error
错误信息,包含堆栈
# onAppShow
ft.onAppShow(function callback)
监听小程序切前台事件。该事件与 App.onShow
的回调参数一致。
参数
function callback
小程序切前台事件的回调函数
参数
Object res
属性 | 类型 | 说明 |
---|---|---|
path | string | 小程序切前台的路径 (代码包路径) |
query | Object | 小程序切前台的 query 参数 |
referrerInfo | Object | 来源信息。从另一个小程序、公众号或 App 进入小程序时返回。否则返回 {} 。(参见后文注意) |
referrerInfo 的结构
属性 | 类型 | 说明 |
---|---|---|
appId | string | 小程序的 appId |
extraData | Object | 来源小程序传过来的数据 |
# onAppHide
ft.onAppHide(function callback)
监听小程序切后台事件。该事件与 App.onHide
的回调时机一致。
参数
function callback
小程序切后台事件的回调函数
# offPageNotFound
ft.offPageNotFound(function callback)
取消监听小程序要打开的页面不存在事件
参数
function callback
小程序要打开的页面不存在事件的回调函数
# offError
ft.offError(function callback)
取消监听小程序错误事件。
参数
function callback
小程序错误事件的回调函数
# offAppShow
ft.offAppShow(function callback)
取消监听小程序切前台事件
参数
function callback
小程序切前台事件的回调函数
# offAppHide
ft.offAppHide(function callback)
取消监听小程序切后台事件
参数
function callback
小程序切后台事件的回调函数
# onThemeChange
ft.onThemeChange(function callback)
监听系统主题改变事件。
参数
function callback
系统主题改变事件的回调函数
# onUnhandledRejection
ft.onUnhandledRejection(function callback)
监听未处理的 Promise 拒绝事件
参数
function callback
未处理的 Promise 拒绝事件的回调函数
# offUnhandledRejection
ft.offUnhandledRejection(function callback)
取消监听未处理的 Promise 拒绝事件
参数
function callback
onUnhandledRejection 传入的回调函数,不传此参数则移除所有监听函数。
# offThemeChange
ft.offThemeChange(function callback)
取消监听系统主题改变事件
参数
function callback
onThemeChange 传入的回调函数。不传此参数则移除所有监听函数。
# 调试
# setEnableDebug
ft.setEnableDebug(Object object)
设置是否打开调试开关。此开关对正式版也能生效。
参数
Object object
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
enableDebug | boolean | 是 | 是否打开调试 | |
success | function | 否 | 接口调用成功的回调函数 | |
fail | function | 否 | 接口调用失败的回调函数 | |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
示例代码
// 打开调试
ft.setEnableDebug({
enableDebug: true
})
// 关闭调试
ft.setEnableDebug({
enableDebug: false
})
Tips
- 在正式版打开调试还有一种方法,就是先在开发版或体验版打开调试,再切到正式版就能看到 vConsole。
# console
向调试面板中打印日志,console 是一个全局对象,可直接访问。
console.debug()
向调试面板中打印 debug 日志
console.error()
向调试面板中打印 error 日志
console.group()
在调试面板中创建一个新的分组
console.groupEnd()
结束由 console.group 创建的分组
console.info()
向调试面板中打印 info 日志
console.log()
向调试面板中打印 log 日志
console.warn()
向调试面板中打印 warn 日志
# LogManager
日志管理器实例
LogManager.debug()
写 debug 日志
LogManager.info()
写 info 日志
LogManager.log()
写 log 日志
LogManager.warn()
写 warn 日志
# RealtimeLogManager
实时日志管理器实例
RealtimeLogManager.info()
写 info 日志,暂不支持在插件使用
RealtimeLogManager.warn()
写 warn 日志,暂不支持在插件使用
RealtimeLogManager.error()
写 error 日志,暂不支持在插件使用
RealtimeLogManager.setFilterMsg(string msg)
设置过滤关键字,暂不支持在插件使用
RealtimeLogManager.addFilterMsg(string msg)
添加过滤关键字,暂不支持在插件使用
# 版本信息
# getAccountInfoSync
ft.getAccountInfoSync()
功能描述 获取当前帐号信息。线上小程序版本号仅支持在正式版小程序中获取,开发版和体验版中无法获取。
返回值
Object
帐号信息
属性 | 类型 | 说明 |
---|---|---|
miniProgram | Object | 小程序帐号信息 |
示例代码
const accountInfo = ft.getAccountInfoSync()
console.log(accountInfo.miniProgram.appId) // 小程序 appId
// console.log(accountInfo.plugin.appId) // 插件 appId
// console.log(accountInfo.plugin.version) // 插件版本号, 'a.b.c' 这样的形式
# getUserProfile
获取用户信息。
参数
Object object
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
lang | string | en | 否 | 显示用户信息的语言 |
desc | string | 是 | 声明获取用户个人信息后的用途,不超过 30 个字符 | |
success | function | 否 | 接口调用成功的回调函数 | |
fail | function | 否 | 接口调用失败的回调函数 | |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
object.success 回调函数
参数
Object res
属性 | 类型 | 说明 | 最低版本 |
---|---|---|---|
userInfo | UserInfo | 用户信息对象 | 2.10.4 |
rawData | string | 不包括敏感信息的原始数据字符串,用于计算签名 | 2.10.4 |
signature | string | 使用 sha1( rawData + sessionkey ) 得到字符串,用于校验用户信息,详见 用户数据的签名验证和加解密 | 2.10.4 |
encryptedData | string | 包括敏感数据在内的完整用户信息的加密数据,详见 用户数据的签名验证和加解密 | 2.10.4 |
iv | string | 加密算法的初始向量,详见 用户数据的签名验证和加解密 | 2.10.4 |
cloudID | string | 敏感数据对应的云 ID,开通云开发的小程序才会返回,可通过云调用直接获取开放数据,详细见云调用直接获取开放数据 | 2.10.4 |
# getUserInfo
获取用户信息。
参数
Object res
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
withCredentials | boolean | 否 | 显示用户信息的语言 | |
lang | string | en | 是 | 声明获取用户个人信息后的用途,不超过 30 个字符 |
success | function | 否 | 接口调用成功的回调函数 | |
fail | function | 否 | 接口调用失败的回调函数 | |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
object.success 回调函数
参数
Object res
属性 | 类型 | 说明 | 最低版本 |
---|---|---|---|
userInfo | UserInfo | 用户信息对象 | |
rawData | string | 不包括敏感信息的原始数据字符串,用于计算签名 | |
signature | string | 使用 sha1( rawData + sessionkey ) 得到字符串,用于校验用户信息,详见 用户数据的签名验证和加解密 | |
encryptedData | string | 包括敏感数据在内的完整用户信息的加密数据,详见 用户数据的签名验证和加解密 | |
iv | string | 加密算法的初始向量,详见 用户数据的签名验证和加解密 | |
cloudID | string | 敏感数据对应的云 ID,开通云开发的小程序才会返回,可通过云调用直接获取开放数据,详细见云调用直接获取开放数据 | 2.7.0 |
# UserInfo
用户信息
属性 string nickName 用户昵称
string avatarUrl 用户头像图片的 URL。URL 最后一个数值代表正方形头像大小(有 0、46、64、96、132 数值可选,0 代表 640x640 的正方形头像,46 表示 46x46 的正方形头像,剩余数值以此类推。默认 132),用户没有头像时该项为空。若用户更换头像,原有头像 URL 将失效。
number gender 用户性别。不再返回,参考 相关公告
gender 的合法值
值 | 说明 | 最低版本 |
---|---|---|
0 | 未知 | |
1 | 男性 | |
2 | 女性 |
string country 用户所在国家。不再返回,参考 相关公告
string province 用户所在省份。不再返回,参考 相关公告
string city 用户所在城市。不再返回,参考 相关公告
string language 显示 country,province,city 所用的语言。强制返回 “zh_CN”,参考 相关公告
language 的合法值
值 | 说明 | 最低版本 |
---|---|---|
en | 英文 | |
zh_CN | 简体中文 | |
zh_TW | 繁体中文 |
# 加密
# getUserCryptoManager
获取用户加密模块
返回值
UserCryptoManager
用户加密模块
# UserCryptoManager.getLatestUserKey
获取最新的用户加密密钥
参数 Object object
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
success | function | 否 | 接口调用成功的回调函数 | |
fail | function | 否 | 接口调用失败的回调函数 | |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
object.success 回调函数
参数
Object object
属性 | 类型 | 说明 |
---|---|---|
encryptKey | string | 用户加密密钥 |
iv | string | 密钥初始向量 |
version | number 密钥版本 | |
expireTime | number 密钥过期时间 |
示例代码
const userCryptoManager = ft.getUserCryptoManager()
userCryptoManager.getLatestUserKey({
success: res => {
console.log(res)
}
})
# UserCryptoManager.getRandomValues
获取密码学安全随机数
参数 Object object
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
length | number | 是 | 整数,生成随机数的字节数,最大 1048576 | |
success | function | 否 | 接口调用成功的回调函数 | |
fail | function | 否 | 接口调用失败的回调函数 | |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
object.success 回调函数
参数
Object object
属性 | 类型 | 说明 |
---|---|---|
randomValues | ArrayBuffer | 随机数内容,长度为传入的字节数 |
示例代码
ft.getRandomValues({
length: 6 // 生成 6 个字节长度的随机数,
success: res => {
console.log(ft.arrayBufferToBase64(res.randomValues)) // 转换为 base64 字符串后打印
}
})