`uni-app`的js API由标准ECMAScript的js API 和 uni 扩展 API 这两部分组成。
标准ecmascript的API非常多,本文档没有必要列全,仅以console、settimeout为例做简要说明。扩展 API 命名与小程序相同。
## 标准js和浏览器js的区别
`uni-app`的js代码,h5端运行于浏览器中。非h5端,Android平台运行在v8引擎中,iOS平台运行在iOS自带的jscore引擎中。
非H5端,虽然不支持window、document、navigator等浏览器的js API,但也支持标准ECMAScript。
开发者不要把浏览器里的js等价于标准js。
ECMAScript由Ecma国际管理,是基础js语法。浏览器基于标准js扩充了window、document等js API;Node.js基于标准js扩充了fs等模块;小程序也基于标准js扩展了各种wx.xx、my.xx、swan.xx的API。
所以uni-app的非H5端,一样支持标准js,支持if、for等语法,支持字符串、数组、时间等变量及各种处理方法。仅仅是不支持浏览器专用对象。
## 各端特色API调用
除了uni-app框架内置的跨端API,各端自己的特色API也可通过[条件编译](https://uniapp.dcloud.io/platform)自由使用。
各端特色API规范参考各端的开发文档。其中App端的JS API参考[html5plus.org](https://www.html5plus.org/doc/h5p.html);uni-app也支持通过扩展原生插件来丰富App端的开发能力,具体参考[插件开发文档](http://ask.dcloud.net.cn/article/35408)
各平台的API新增,不需要uni-app升级,开发者就可以直接使用。
## 说明
- uni.on 开头的 API 是监听某个事件发生的 API 接口,接受一个 CALLBACK 函数作为参数。当该事件触发时,会调用 CALLBACK 函数。
- 如未特殊约定,其他 API 接口都接受一个 OBJECT 作为参数。
- OBJECT 中可以指定 success,fail,complete 来接收接口调用结果。
- **平台差异说明**若无特殊说明,则表示所有平台均支持。
## Promise 封装
uni-app 对部分 API 进行了 Promise 封装,返回数据的第一个参数是错误对象,第二个参数是返回数据。
详细策略如下:
- 异步的方法,如果不传入 success、fail、complete 等 callback 参数,将以 Promise 返回数据。例如:uni.getImageInfo()
- 异步的方法且有返回对象,如果希望获取返回对象,必须至少传入一项 success、fail、complete 等 callback 参数。例如:uni.connectSocket()
- 同步的方法(即以 sync 结束),不封装 Promise。例如:uni.getSystemInfoSync()
- 以 create 开头的方法,不封装 Promise。例如:uni.createMapContext()
- 以 manager 结束的方法,不封装 Promise。例如:uni.getBackgroundAudioManager()
使用示例:
```js
// 默认方式
uni.request({
url: 'https://www.example.com/request',
success: (res) => {
console.log(res.data);
}
});
// Promise
uni.request({
url: 'https://www.example.com/request'
})
.then(data => {//data为一个数组,数组第一项为错误信息,第二项为返回数据
var [error, res] = data;
console.log(res.data);
})
// Await
async function request () {
var [error, res] = await uni.request({
url: 'https://www.example.com/request'
});
console.log(res.data);
}
```
### API 列表
#### 网络
##### 发起请求
|API|说明|
|:-|:-|
|[uni.request](api/request/request?id=request)|发起网络请求|
##### 上传、下载
|API|说明|
|:-|:-|
|[uni.uploadFile](api/request/network-file?id=uploadfile)|上传文件|
|[uni.downloadFile](api/request/network-file?id=downloadfile)|下载文件|
##### WebSocket
|API|说明|
|:-|:-|
|[uni.connectSocket](api/request/websocket?id=connectsocket)|创建 WebSocket 连接|
|[uni.onSocketOpen](api/request/websocket?id=onsocketopen)|监听 WebSocket 打开|
|[uni.onSocketError](api/request/websocket?id=onsocketerror)|监听 WebSocket 错误|
|[uni.sendSocketMessage](api/request/websocket?id=sendsocketmessage)|发送 WebSocket 消息|
|[uni.onSocketMessage](api/request/websocket?id=onsocketmessage)|接受 WebSocket 消息|
|[uni.closeSocket](api/request/websocket?id=closesocket)|关闭 WebSocket 连接|
|[uni.onSocketClose](api/request/websocket?id=onsocketclose)|监听 WebSocket 关闭|
##### SocketTask
|API|说明|
|---|---|
|[SocketTask.send](/api/request/socket-task?id=sockettasksend) |通过 WebSocket 连接发送数据 |
|[SocketTask.close](/api/request/socket-task?id=sockettaskclose) |关闭 WebSocket 连接 |
|[SocketTask.onOpen](/api/request/socket-task?id=sockettaskonopen) |监听 WebSocket 连接打开事件 |
|[SocketTask.onClose](/api/request/socket-task?id=sockettaskonclose) |监听 WebSocket 连接关闭事件 |
|[SocketTask.onError](/api/request/socket-task?id=sockettaskonerror) |监听 WebSocket 错误事件 |
|[SocketTask.onMessage](/api/request/socket-task?id=sockettaskonmessage) |监听 WebSocket 接受到服务器的消息事件 |
#### 媒体
##### 图片
|API|说明|
|:-|:-|
|[uni.chooseImage](api/media/image?id=chooseimage)|从相册选择图片,或者拍照|
|[uni.previewImage](api/media/image?id=previewimage)|预览图片|
|[uni.getImageInfo](api/media/image?id=getimageinfo)|获取图片信息|
|[uni.saveImageToPhotosAlbum](api/media/image?id=saveimagetophotosalbum)|保存图片到系统相册|
##### 文件
|API|说明|
|:-|:-|
|[uni.chooseFile](api/media/file?id=chooseFile)|从本地选择文件|
##### 录音管理
|API|说明|
|:-|:-|
|[uni.getRecorderManager](api/media/record-manager)|录音管理|
##### 背景音频播放管理
|API|说明|
|:-|:-|
|[uni.getBackgroundAudioManager](api/media/background-audio-manager)|背景音频播放管理|
##### 音频组件管理
|API|说明|
|:-|:-|
|[uni.createInnerAudioContext](api/media/audio-context)|音频组件管理|
##### 视频
|API|说明|
|:-|:-|
|[uni.chooseVideo](api/media/video?id=choosevideo)|从相册选择视频,或者拍摄|
|[uni.chooseMedia](api/media/video?id=choosemedia)|拍摄或从手机相册中选择图片或视频。|
|[uni.saveVideoToPhotosAlbum](api/media/video?id=savevideotophotosalbum)|保存视频到系统相册|
|[uni.createVideoContext](/api/media/video-context?id=createvideocontext)|视频组件管理|
##### 相机组件管理
|API|说明|
|:-|:-|
|[uni.createCameraContext](api/media/camera-context.md)|相机组件管理|
##### 直播组件管理
|API|说明|
|:-|:-|
|[uni.createLivePlayerContext](api/media/live-player-context.md)|直播组件管理|
#### 文件
|API|说明|
|:-|:-|
|[uni.saveFile](api/file/file?id=savefile)|保存文件|
|[uni.getSavedFileList](api/file/file?id=getsavedfilelist)|获取已保存的文件列表|
|[uni.getSavedFileInfo](api/file/file?id=getsavedfileinfo)|获取已保存的文件信息|
|[uni.removeSavedFile](api/file/file?id=removesavedfile)|删除已保存的文件信息|
|[uni.getFileInfo](/api/file/file?id=getfileinfo)|获取文件信息|
|[uni.openDocument](api/file/file?id=opendocument)|打开文件|
#### 数据缓存
|API|说明|
|:-|:-|
|[uni.getStorage](api/storage/storage?id=setstorage)|获取本地数据缓存|
|[uni.getStorageSync](api/storage/storage?id=setstoragesync)|获取本地数据缓存|
|[uni.setStorage](api/storage/storage?id=getstorage)|设置本地数据缓存|
|[uni.setStorageSync](api/storage/storage?id=getstoragesync)|设置本地数据缓存|
|[uni.getStorageInfo](api/storage/storage?id=getstorageinfo)|获取本地缓存的相关信息|
|[uni.getStorageInfoSync](api/storage/storage?id=getstorageinfosync)|获取本地缓存的相关信息|
|[uni.removeStorage](api/storage/storage?id=removestorage)|删除本地缓存内容|
|[uni.removeStorageSync](api/storage/storage?id=removestoragesync)|删除本地缓存内容|
|[uni.clearStorage](api/storage/storage?id=clearstorage)|清理本地数据缓存|
|[uni.clearSt
没有合适的资源?快使用搜索试试~ 我知道了~
uni-app-master:uni-app是使用Vue语法开发小程序,H5,App的统一框架
共1754个文件
js:1100个
md:309个
vue:99个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 61 浏览量
2022-11-25
21:21:11
上传
评论 1
收藏 5.81MB ZIP 举报
温馨提示
uni-app是一个使用Vue.js开发小程序,H5,App的统一前端框架。官网地址: : Vue.js 开发者使用Vue语法编写代码, uni-app框架将其编译到小程序(微信/支付宝/百度/字节跳动/ QQ /钉钉),App(iOS / Android),H5等多个平台,保证其正确运行并达到优秀体验。 uni-app的特点 开发者和案例更多:HBuilder装机量500万台,开发者社区月活百万,70多个QQ微信群承载10万人。案例众多,uni统计月活100亿() 性能更高(见) 更丰富的周边生态,千款插件 提供比小程序原生开发更好的开发体验,更高的工程化效率 跨端抹平度更完善,且各端特色发挥更灵活,可真正实现一套代码多端覆盖,无需各端多头维护升级 官方认可:阿里小程序官方工具内置uni-app(),腾讯课堂官方自制uni-app培训视频() 扫码体验 开发一次,编译到10个平台。依次扫描10个二维码,亲自体验最全面的跨平台效果!
资源推荐
资源详情
资源评论
收起资源包目录
uni-app-master:uni-app是使用Vue语法开发小程序,H5,App的统一框架 (1754个子文件)
.babelrc 26B
generate-components-wxml.bak 5KB
index.bak 3KB
compile-to-template.bak 1KB
generate-pages-wxml.bak 940B
index.css 92KB
view.css 55KB
index.css 51KB
index.css 14KB
index.css 14KB
index.css 14KB
editor.css 9KB
wxParse.css 4KB
polyfill.css 36B
.editorconfig 266B
.eslintignore 996B
.gitignore 105B
.gitignore 11B
.gitkeep 0B
__uniapppicker.html 134KB
__uniapppicker.html 134KB
__uniappchooselocation.html 29KB
__uniappchooselocation.html 29KB
__uniappopenlocation.html 13KB
__uniappopenlocation.html 13KB
__uniappscan.html 7KB
__uniappscan.html 7KB
__uniappview.html 811B
__uniappview.html 811B
demo.html 166B
view.umd.js 813KB
index.v3.js 612KB
index.umd.min.js 447KB
view.umd.min.js 344KB
vue.js 343KB
vue.esm.js 327KB
vue.common.dev.js 321KB
vue.esm.browser.js 316KB
vue.common.js 285KB
vue.esm.js 285KB
vue.js 282KB
vue.esm.browser.js 272KB
browser.js 251KB
vue.runtime.js 240KB
index.js 231KB
vue.runtime.esm.js 229KB
vue.runtime.common.dev.js 225KB
view.runtime.esm.js 223KB
__uniappquill.js 211KB
__uniappquill.js 211KB
index.umd.min.js 208KB
vue.runtime.common.js 207KB
vue.runtime.esm.js 207KB
vue.runtime.js 205KB
service.runtime.esm.dev.js 191KB
index.js 187KB
megalo.mp.esm.js 179KB
service.runtime.esm.prod.js 167KB
build.js 157KB
mp.runtime.esm.js 156KB
build.js 145KB
build.js 144KB
vue.runtime.esm.js 135KB
build.js 129KB
vue.dev.js 116KB
vue.prod.js 104KB
vue.min.js 95KB
vue.common.prod.js 95KB
vue.esm.browser.min.js 94KB
vue.min.js 84KB
vue.dev.js 77KB
index.js 77KB
vue-router.common.js 71KB
vue-router.esm.js 71KB
vue-router.js 71KB
vue.runtime.min.js 66KB
vue.runtime.common.prod.js 66KB
index.js 66KB
vue.prod.js 65KB
vue.runtime.esm.min.js 63KB
vue.runtime.min.js 60KB
index.js 55KB
index.js 54KB
__uniappes6.js 51KB
__uniappes6.js 51KB
index.js 49KB
index.js 48KB
compiler-extra.spec.js 45KB
index.js 45KB
index.js 44KB
index.js 44KB
parser.js 43KB
__uniappchooselocation.js 36KB
__uniappchooselocation.js 36KB
uni.mp.esm.js 35KB
uni.mp.esm.js 34KB
uni.mp.esm.js 34KB
uni.mp.esm.js 33KB
uni.api.esm.js 31KB
uni.mp.esm.js 29KB
共 1754 条
- 1
- 2
- 3
- 4
- 5
- 6
- 18
资源评论
GJZGRB
- 粉丝: 1017
- 资源: 5730
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功