媒体

uni.chooseImage(OBJECT) —— 图片

从本地相册选择图片或使用相机拍照。

uni.chooseVideo(OBJECT) —— video

拍摄视频或从手机相册中选视频,返回视频的临时文件路径。

uni.chooseFile(OBJECT) —— 文件

从本地选择文件。

uni.getRecorderManager()

获取全局唯一的录音管理器 recorderManager

uni.getBackgroundAudioManager()

获取全局唯一的背景音频管理器 backgroundAudioManager

uni.createInnerAudioContext()

创建并返回内部 audio 上下文 innerAudioContext 对象。

uni.createVideoContext(videoId, this)

创建并返回 video 上下文 videoContext 对象。在自定义组件下,第二个参数传入组件实例this,以操作组件内 <video> 组件。

// 全屏播放
	fullScreen(){
		 this.videoContext = uni.createVideoContext('myvideo');
		 this.videoContext.requestFullScreen();
	}

#uni.createCameraContext()

创建并返回 camera 组件的上下文 cameraContext 对象。

uni.createLivePlayerContext(livePlayerId, this)    ——  直播组件

创建 live-player 上下文 livePlayerContext 对象。注意是直播的播放而不是推流。

editorContext  富文本

editor 组件对应的 editorContext 实例,可通过 uni.createSelectorQuery 获取

onEditorReady() {
		uni.createSelectorQuery().select('#editor').context((res) => {
			this.editorCtx = res.context
		}).exec()
	}

uni.createMediaContainer()

创建音视频处理容器,最终可将容器中的轨道合成一个视频 ,返回 MediaContainer 对象

设备

系统

uni-app提供了异步(uni.getSystemInfo)和同步(uni.getSystemInfoSync)的2个API获取系统信息。

uni.getDeviceInfo()

获取设备基础信息

uni.getWindowInfo()

获取窗口信息

uni.getAppBaseInfo()

获取微信 APP 基础信息

uni.getAppAuthorizeSetting()

获取 APP 授权设置

uni.getSystemSetting()

获取设备设置

uni.openAppAuthorizeSetting()

跳转系统授权管理页

内存:

内存、网络状态、系统主题、加速度计、罗盘、拨打电话、扫码、剪切板、屏幕亮度、用户截屏事件、震动、手机联系人、蓝牙、低功耗蓝牙、iBeacon、WI-Fi、电量、NFC、设备方向、生物认证

uni.onMemoryWarning(CALLBACK)

监听内存不足告警事件

uni.getNetworkType(OBJECT)

获取网络类型。

uni.onThemeChange(CALLBACK)

监听系统主题状态变化。

uni.onAccelerometerChange(CALLBACK)

监听加速度数据,频率:5次/秒,接口调用后会自动开始监听,可使用 uni.offAccelerometer 取消监听。

uni.onCompassChange(CALLBACK)

监听罗盘数据,频率:5次/秒,接口调用后会自动开始监听,可使用 uni.offCompassChange 取消监听。

uni.onGyroscopeChange(CALLBACK)

监听陀螺仪数据变化事件。

uni.makePhoneCall(OBJECT)

拨打电话。

uni.scanCode(OBJECT)

调起客户端扫码界面,扫码成功后返回对应的结果。

uni.setClipboardData(OBJECT)

设置系统剪贴板的内容。

uni.setScreenBrightness(OBJECT)

设置屏幕亮度。

uni.onUserCaptureScreen(CALLBACK)

监听用户主动截屏事件,用户使用系统截屏按键截屏时触发此事件。

uni.vibrate(OBJECT)

使手机发生振动。

uni.addPhoneContact(OBJECT)

调用后,用户可以选择将该表单以“新增联系人”或“添加到已有联系人”的方式(APP端目前没有选择步骤,将直接写入),写入手机系统通讯录,完成手机通讯录联系人和联系方式的增加

uni.openBluetoothAdapter(OBJECT)

初始化蓝牙模块

uni.onBeaconServiceChange(CALLBACK)

监听 iBeacon 服务状态变化事件

uni.startWifi(OBJECT)

初始化Wi-Fi模块

uni.getBatteryInfo(OBJECT)

获取设备电量

键盘

uni.hideKeyboard()

隐藏软键盘

uni.onKeyboardHeightChange(CALLBACK)

监听键盘高度变化

uni.offKeyboardHeightChange(CALLBACK)

取消监听键盘高度变化事件

uni.getSelectedTextRange(OBJECT)

在input、textarea等focus之后,获取输入框的光标位置。注意:只有在focus的时候调用此接口才有效。目前仅支持 vue 页面,nvue 可以直接使用 weex 的 getSelectionRange

界面

交互反馈

uni.showToast(OBJECT)

显示消息提示框。

uni.hideToast()

隐藏消息提示框。

uni.showModal(OBJECT)

显示模态弹窗,可以只有一个确定按钮,也可以同时有确定和取消按钮。类似于一个API整合了 html 中:alert、confirm。

uni.showActionSheet(OBJECT)

从底部向上弹出操作菜单

设置导航条

uni.setNavigationBarTitle(OBJECT)

动态设置当前页面的标题。

uni.showNavigationBarLoading(OBJECT)

在当前页面显示导航条加载动画。

uni.hideHomeButton(OBJECT)

隐藏返回首页按钮。

设置TabBar

uni.setTabBarItem(OBJECT)

动态设置 tabBar 某一项的内容

uni.setTabBarStyle(OBJECT)

动态设置 tabBar 的整体样式

uni.hideTabBar(OBJECT)

隐藏 tabBar

uni.showTabBar(OBJECT)

显示 tabBar

uni.setTabBarBadge(OBJECT)

为 tabBar 某一项的右上角添加文本。

uni.removeTabBarBadge(OBJECT)

移除 tabBar 某一项右上角的文本。

uni.showTabBarRedDot(OBJECT)

显示 tabBar 某一项的右上角的红点。

uni.hideTabBarRedDot(OBJECT)

隐藏 tabBar 某一项的右上角的红点。

uni.onTabBarMidButtonTap(CALLBACK)

监听中间按钮的点击事件

背景

uni.setBackgroundColor(OBJECT)

动态设置窗口的背景色。

uni.setBackgroundTextStyle(OBJECT)

动态设置下拉背景字体、loading 图的样式。

动画

#uni.createAnimation(OBJECT)

创建一个动画实例 animation。调用实例的方法来描述动画。最后通过动画实例的export方法导出动画数据传递给组件的animation属性。

<view :animation="animationData" style="background:red;height:100rpx;width:100rpx"></view>


<script>

export default{
  data() {
    return {
      animationData: {}
    }
  },
  onShow: function(){
    var animation = uni.createAnimation({
  transformOrigin: "50% 50%",
  duration: 1000,
  timingFunction: "ease",
  delay: 0
})
  this.animation = animation

    animation.scale(2,2).rotate(45).step()

    this.animationData = animation.export()

    setTimeout(function() {
      animation.translate(30).step()
      this.animationData = animation.export()
    }.bind(this), 1000)
  },
  methods:{
    rotateAndScale: function () {
      // 旋转同时放大
      this.animation.rotate(45).scale(2, 2).step()
      this.animationData = this.animation.export()
    },
    rotateThenScale: function () {
      // 先旋转后放大
      this.animation.rotate(45).step()
      this.animation.scale(2, 2).step()
      this.animationData = this.animation.export()
    },
    rotateAndScaleThenTranslate: function () {
      // 先旋转同时放大,然后平移
      this.animation.rotate(45).scale(2, 2).step()
      this.animation.translate(100, 100).step({ duration: 1000 })
      this.animationData = this.animation.export()
    }
  }
}
</script>

滚动

uni.pageScrollTo(OBJECT)

将页面滚动到目标位置。

<script>
uni.pageScrollTo({
	scrollTop: 0,
	duration: 300
});
</script>

窗口

uni.onWindowResize(CALLBACK)

监听窗口尺寸变化事件

const windowResizeCallback = (res) => {
  console.log('变化后的窗口宽度=' + res.size.windowWidth)
  console.log('变化后的窗口高度=' + res.size.windowHeight)
}
uni.onWindowResize(windowResizeCallback)

uni.offWindowResize(CALLBACK)

取消监听窗口尺寸变化事件