小程序 API
网络
request
发起网络请求
uploadFile
上传文件
downloadFile
下载文件
WebSocket
connectSocket
创建 WebSocket 连接
onSocketOpen
监听 WebSocket 打开
onSocketError
下载文件
onSocketError
监听 WebSocket 错误
sendSocketMessage
发送 WebSocket 消息
onSocketMessage
接受 WebSocket 消息
closeSocket
关闭 WebSocket 连接
onSocketClose
监听 WebSocket 关闭
图片
getImageInfo
获取图片信息,倘若为网络图片,需先配置download域名才能生效
saveImageToPhotosAlbum
保存图片到系统相册
录音/录音管理
getRecorderManager
获取全局唯一的录音管理器
背景音频播放管理
getBackgroundAudioManager
获取全局唯一的录音管理器
视频
chooseVideo
拍摄视频或从手机相册中选视频,返回视频的临时文件路径
saveVideoToPhotosAlbum
获取全局唯一的录音管理器
相机组件控制
createCameraContext
创建并返回 camera 上下文 cameraContext 对象,cameraContext 与页面的 camera 组件绑定,一个页面只能有一个camera,通过它可以操作对应的 组件
文件
saveFile
保存文件到本地
getFileInfo
获取本地已保存的文件列表
getSavedFileList
获取本地已保存的文件列表
getSavedFileInfo
获取本地文件的文件信息
removeSavedFile (ios fail)
删除本地存储的文件
openDocument
新开页面打开文档
数据缓存
setStorage (ios fail)
将数据存储在本地缓存中指定的 key 中,会覆盖掉原来该 key 对应的内容,这是一个异步接口
setStorageSync
将 data 存储在本地缓存中指定的 key 中,会覆盖掉原来该 key 对应的内容,这是一个同步接口
getStorage (ios fail)
从本地缓存中异步获取指定 key 对应的内容
getStorageSync
从本地缓存中同步获取指定 key 对应的内容
getStorageInfo (ios fail)
异步获取当前storage的相关信息
getStorageInfo
异步获取当前storage的相关信息
getStorageInfoSync
同步获取当前storage的相关信息
removeStorage (ios fail)
从本地缓存中异步移除指定 key
removeStorageSync
从本地缓存中同步移除指定 key
clearStorage (ios fail)
清理本地数据缓存
clearStorageSync
同步清理本地数据缓存
系统信息
getSystemInfo
获取系统信息
getSystemInfoSync
获取系统信息同步接口
内存管理
onMemoryWarning
监听内存不足的告警事件,Android下有告警等级划分,只有LOW和CRITICAL会回调开发者;iOS无等级划分
网络状态
getNetworkType
获取网络类型
onNetworkStatusChange
监听网络状态变化
加速度计
onAccelerometerChange
监听加速度数据,频率:5次/秒,接口调用后会自动开始监听
startAccelerometer
开始监听加速度数据
stopAccelerometer
停止监听加速度数据
罗盘
onCompassChange
监听罗盘数据,频率:5次/秒,接口调用后会自动开始监听
startCompass
开始监听罗盘数据
stopCompass
停止监听罗盘数据
电话
makePhoneCall
拨打电话
剪贴板
setClipboardData
设置系统剪贴板的内容
getClipboardData
获取系统剪贴板内容
屏幕亮度
setScreenBrightness
设置屏幕亮度
getScreenBrightness
获取屏幕亮度
setKeepScreenOn
设置是否保持常亮状态
用户截屏事件
onUserCaptureScreen
监听用户主动截屏事件,用户使用系统截屏按键截屏时触发此事件
振动
vibrateLong
使手机发生较长时间的振动
vibrateShort
使手机发生较短时间的振动
交互反馈
showToast
显示消息提示框
showLoading
显示 loading 提示框
hideToast
隐藏消息提示框
hideLoading
隐藏 loading 提示框
showModal
显示模态弹窗
showActionSheet
显示操作菜单
导航栏
setNavigationBarTitle
动态设置当前页面的标题
showNavigationBarLoading
在当前页面显示导航条加载动画
hideNavigationBarLoading
隐藏导航条加载动画
setNavigationBarColor
导航条颜色
界面
setTabBarBadge
为 tabBar 某一项的右上角添加文本
removeTabBarBadge
移除 tabBar 某一项右上角的文本
showTabBarRedDot
显示 tabBar 某一项的右上角的红点
hideTabBarRedDot
隐藏 tabBar 某一项的右上角的红点
setTabBarStyle
动态设置 tabBar 的整体样式
setTabBarItem
动态设置 tabBar 某一项的内容
showTabBar
显示 tabBar
hideTabBar
隐藏 tabBar
界面(窗口背景)
setBackgroundColor
动态设置窗口的背景色
setBackgroundTextStyle
动态设置下拉背景字体、loading 图的样式
界面(导航)
navigateTo
保留当前页面,跳转到应用内的某个页面,使用wx.navigateBack可以返回到原页面
redirectTo
关闭当前页面,跳转到应用内的某个页面
switchTab
跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面
navigateBack
关闭当前页面,返回上一页面或多级页面
reLaunch
关闭所有页面,打开到应用内的某个页面
界面(动画)
createAnimation
创建一个动画实例animation
界面(绘图)
createCanvasContext
创建 canvas 绘图上下文(指定 canvasId)
canvasToTempFilePath
把当前画布指定区域的内容导出生成指定大小的图片,并返回文件路径。
canvasGetImageData
返回一个数组,用来描述 canvas 区域隐含的像素数据。
canvasPutImageData
将像素数据绘制到画布的方法。
setFillStyle
设置填充色
setStrokeStyle
设置边框颜色
setShadow
设置阴影样式
createLinearGradient
创建一个线性的渐变颜色
createCircularGradient
创建一个圆形的渐变颜色
addColorStop
创建一个颜色的渐变点
setLineWidth
设置线条的宽度
setLineCap
设置线条的端点样式
setLineJoin
设置线条的交点样式
setLineDash
设置虚线样式的方法
setMiterLimit
设置最大斜接长度,斜接长度指的是在两条线交汇处内角和外角之间的距离。
rect
创建一个矩形
fillRect
填充一个矩形。
strokeRect
画一个矩形(非填充)
clearRect
清除画布上在该矩形区域内的内容
fill
对当前路径中的内容进行填充。默认的填充色为黑色
stroke
画出当前路径的边框。默认颜色色为黑色
beginPath
开始创建一个路径,需要调用fill或者stroke才会使用路径进行填充或描边
closePath
关闭一个路径
moveTo
把路径移动到画布中的指定点,不创建线条
lineTo
lineTo 方法增加一个新点,然后创建一条从上次指定点到目标点的线。
arc
画一条弧线
bezierCurveTo
创建三次方贝塞尔曲线路径
quadraticCurveTo
创建二次贝塞尔曲线路径
scale
在调用scale方法后,之后创建的路径其横纵坐标会被缩放
rotate
以原点为中心,原点可以用 translate方法修改
translate
对当前坐标系的原点 (0, 0)进行变换,默认的坐标系原点为页面左上角。
clip
clip() 方法从原始画布中剪切任意形状和尺寸
setFontSize
设置字体的字号。
fillText
在画布上绘制被填充的文本
setTextAlign
用于设置文字的对齐
setTextBaseline
用于设置文字的水平对齐。
drawImage
绘制图像到画布
setGlobalAlpha
设置全局画笔透明度
save
保存当前的绘图上下文
restore
恢复之前保存的绘图上下文
draw
将之前在绘图上下文中的描述(路径、变形、样式)画到 canvas 中
measureText
测量文本尺寸信息,目前仅返回文本宽度。同步接口
arcTo
根据控制点和半径绘制圆弧路径
strokeText
给定的 (x, y) 位置绘制文本描边的方法
setLineDashOffset
设置虚线偏移量的属性
createPattern
对指定的图像创建模式的方法,可在指定的方向上重复元图像
font
设置当前字体样式的属性
setTransform
使用矩阵重新设置(覆盖)当前变换的方法
界面(下拉刷新)
onPullDownRefresh
监听该页面用户下拉刷新事件
startPullDownRefresh
开始下拉刷新,调用后触发下拉刷新动画,效果与用户手动下拉刷新一致
stopPullDownRefresh
停止当前页面下拉刷新
设置
openSetting
调起客户端小程序设置界面,返回用户设置的操作结果
getSetting
获取用户的当前设置
扩展
文件分享
调用方法:swan.netdisk.shareFile( { },( )=>{ }) 说明:文件分享
Param:
key | type | value | 说明 |
---|---|---|---|
data | object | ||
cb | string |
参数说明:data
key | type | value | 说明 |
---|---|---|---|
fileId | string | ||
path | string |
Response:
{
status:'0',
message:'成功'
data:{
fileId:'121322'
path:'/a/d/adds.c'
}
}
选择图片
调用方法:swan.netdisk.selectImage( { },( )=>{ }) 说明:选择图片,客户端版本必须>=9.6.60,否则maxSelectedNum参数会失效 获取客户端版本,通过swan.getSystemInfo()接口获取
Param:
key | type | value | 说明 |
---|---|---|---|
data | object | ||
cb | string |
参数说明:data
key | type | value | 说明 |
---|---|---|---|
maxSelectedNum | number | 可选,默认为1 |
Response:
//未指定maxSelectedNum,默认为1的情况
{
status:'0',
data:{
path:'./a.png',
fileId:'12344',
size:'1232323'
}
}
//指定maxSelectedNum的值的情况
{
status:'0',
data:{
files:[
{
path:'./a.png',
fileId:'12344',
size:'1232323'
}
]
}
}
选择文件
调用方法:swan.netdisk.selectFile( { },( )=>{ }) 说明:选择文件
Param:
key | type | value | 说明 |
---|---|---|---|
data | object | ||
cb | string |
参数说明:data
key | type | value | 说明 |
---|---|---|---|
maxSelectedNum | number | 默认为1 | |
Response: |
{
status:'0',
message:'成功'
data:{
files:[
{
fsid: '121322'
filesize: '1232444'
fileicon: 'https://pan.baidu.com/box-static/file-widget-1/sysIcon/img/Share_24_f21bad6.png',
filename: '未命名.png'
}
]
}
}
调取转存页面
调用方法:swan.netdisk.openFileAndSave( { },( )=>{ }) 说明:调取转存页面
Param:
key | type | value | 说明 |
---|---|---|---|
data | object | ||
cb | string |
参数说明:data
key | type | value | 说明 |
---|---|---|---|
surl | string | ||
Response: |
{
status:'0'
}
{
status:'10000',
message:'用户取消操作'
}
{
status:'20001',
message:'分享的文件已被删除'
}
调取收银台
调用方法:swan.netdisk.polymerPay({ },( )=>{ }) 说明:调取收银台
Param:
key | type | value | 说明 |
---|---|---|---|
data | object | ||
cb | string |
参数说明:data
key | type | value | 说明 |
---|---|---|---|
business_id | string | 商家id | |
business_name | string | 商家名称,显示在支付界面 | |
third_order_id | string | 商家订单号 | |
total_pay | int | 总价格,分为单位 | |
send_fee | int | 运费,分为单位 | |
callback | string | 支付成功回调的url,由第三方server提供 | |
sign | string | 签名,算法后续同步,密钥向平台申请,第三方需要保证密钥不泄露 | |
order_info | array | 订单信息([]) | |
address_info | object | 地址信息({}) | |
accept_user | string | 收货人姓名 | |
accept_phone | string | 收货人电话 |
order_info:信息如下:
[
{
"product_id": "123",
"product_name":"xxx",
"price":1022,
"num":1
},
{
"product_id": "345",
"product_name":"xxx",
"price": 1840,
"num":2
}
]
address_info信息如下:
{
"province":"辽宁省",
"city":"抚顺市",
"country":"顺城区",
"address":"xx街道006号902"
}
Response:
{
"errno":0,
"errmsg":"xxx",
"purchase": {
"customerId": "19",
"service": "cashier",
"orderId": "190311863986306825",
"orderCreateTime": 1552303675,
"deviceType": 1,
"payAmount": 1075,
"originalAmount": 1075,
"notifyUrl": "http%3A%2F%2Foutervip.pan.baidu-int.com%2Frest%2F2.0%2Fvass%2Fprint%3Fmethod%3Dcallback",
"title": "\u4e91\u51b2\u5370",
"mobile": "13800000000",
"itemInfo": "[{\"id\":1,\"price\":1075,\"number\":\"1\",\"name\":\"\\u4e91\\u51b2\\u5370\"}]",
"sdk": 1,
"extData": "{\"uk\":3011225693,\"pass\":\"{\\\"GMV\\\":{\\\"vmgdb\\\":\\\"007003e8\\\",\\\"uno\\\":\\\"G1T13i4NUc+mZukCFYMAkDfWiB995sZ\\\\\\\/o5rFVT9Zi8XFNtlCWjsiCE3nRYv01K2z\\\"}}\"}",
"signType": "MD5",
"sign": "067eca3960d0847035d393cbb93a5f14",
"print_no": "0210201903112906"
},
"request_id": 1619115465223080239
}
调取对话框
调用方法:swan.netdisk.pageTransition( { },( )=>{ }) 说明:调取转存页面
Param:
key | type | value | 说明 |
---|---|---|---|
data | object | ||
cb | string |
参数说明:data
key | type | value | 说明 |
---|---|---|---|
action | string | ||
uk | int | ||
avatar | string | ||
nickName | string |
Response:
{
status:'0'
}
小程序使用扩展能力demo(以选择文件为例):
function secondCallback(args) {
swan.showModal({
title: '二级回调',
content: JSON.stringify(args),
cancelColor: '#999999',
confirmColor: '#0099cc',
success: function (res) {
if (res.confirm) {
console.log('用户点击了确定');
} else if (res.cancel) {
console.log('用户点击了取消');
}
}
});
}
swan.netdisk.selectFile({maxSelectedNum: 2}, secondCallback)
.then(res => {
swan.showToast({
title: '一级回调',
duration: 2000
});
})