uni-app学习——API篇

uni.downloadFile(OBJECT)

下载文件资源保存到一个临时路径

怎么保存到手机自定义目录?
wx.env.USER_DATA_PATH在手机路径:“/Android/data/com.tencent.mm/MicroMsg/wxanewfiles/目录”
uni.saveFile保存到手机路径:“/Android/data/io.cloud.HBuilder/apps/HBuilder/doc/uniapp_save”

wx.downloadFile({
    url: 'https://www.example.com/file/test', //仅为示例,并非真实的资源
    success: (res) => {
        var savePath = wx.env.USER_DATA_PATH + '/savePath' 
        var tempFilePath = res.tempFilePath;
        wx.saveFile({
            tempFilePath:tempFilePath,
            filePath:savePath,
            success(res){
               console.log('下载成功--'+ res.savedFilePath);
            }
        })
    }
});


如果是图片的话saveImageToPhotosAlbum保存到系统相册,视频用saveVideoToPhotosAlbum

H5没有API可触发保存到相册行为,下载图片时浏览器会询问图片存放地址。

uni.saveImageToPhotosAlbum({
    filePath: res.tempFilePaths[0],
    success: function () {
        console.log('保存成功!');
    }
});

setStorage 与setStorageSync

setStorage是异步的,setStorageSync是同步的。如果后面的操作必须依赖于修改成功后的storage数据,使用setStorageSync;后面的操作并不需要用到修改的storage数据则不需要同步,使用setStorage。因为操作内存是需要时间的,往往没有代码走的快。

uni.chooseImage(OBJECT)

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

  • count 值在 H5 平台的表现,基于浏览器本身的规范。目前测试的结果来看,只能限制单选/多选,并不能限制数量。并且,在实际的手机浏览器很少有能够支持多选的。
  • sourceType 值在 H5 平台根据浏览器的不同而表现不同,一般不可限制仅使用相册,部分浏览器也无法限制是否使用相机。

uni.chooseFile(OBJECT) 

从本地选择文件。H5(HBuilder X2.9.9+)其他不支持

wx.chooseMessageFile(OBJECT)

从微信聊天会话中选择文件。

uniapp可以使用webview打开一个网页,在html页面实现选择文件和上传

handleMessage(evt) {
	var data = evt.detail.data;
	console.log('接收到的消息:' + JSON.stringify(data));
}
//html页面上传成功后
wx.miniProgram.navigateBack({delta: 1})
wx.miniProgram.postMessage({
	data: url
});
wx.miniProgram.getEnv(function(res) {
	console.log(res.miniprogram) 
})

uni.chooseMedia(OBJECT) 

拍摄或从手机相册中选择图片或视频。微信小程序(2.10.0+)其他不支持

uni.openDocument(OBJECT)

打开视频编辑器。微信小程序(2.12.0+)其他不支持

filePath--视频源的路径,只支持本地路径

 uni.scanCode(OBJECT)

调起客户端扫码界面,扫码成功后返回对应的结果。H5不可用,如果微信内嵌浏览器运行H5时,可通过js sdk实现扫码。

JS-SDK扫码说明文档 icon-default.png?t=M1FBhttps://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html

 

uni.setClipboardData(OBJECT)

设置系统剪贴板的内容。H5不可用,可在DCloud插件市场搜索剪贴板。

uni.setNavigationBarTitle(OBJECT)/setNavigationBarColor

动态设置当前页面的标题/设置页面导航条颜色

如果需要在页面进入时设置标题,可以onReady内执行,以避免被框架内的修改所覆盖。如果必须onShow内执行需要延迟一小段时间

 页面通讯

  • uni.$emit、 uni.$on 、 uni.$once 、uni.$off 触发的事件都是 App 全局级别的,跨任意组件,页面,nvue,vue 等。
  • 使用时,注意及时销毁事件监听,比如,页面 onLoad 里边 uni.$on 注册监听,onUnload 里边 uni.$off 移除,或者一次性的事件,直接使用 uni.$once 监听

uni.login(OBJECT)

登录。H5不可用,如果微信内嵌浏览器运行H5时,可通过js sdk实现微信登录。

网页授权登录icon-default.png?t=M1FBhttps://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html

​uni.share(OBJECT)​

分享。uni-app的App引擎已经封装了微信、QQ、微博的分享SDK,开发者可以直接调用相关功能

你可能感兴趣的:(【HBuilder学习篇】,javascript,uni-app,小程序)