一
Video API
电脑端不能测试拍摄功能只能测试选择视频功能,好像只支持 mp4 格式,值得注意的是成功之后返回的临时文件路径是个列表 tempFilePaths 而不是 tempFilePath 文档写的有点问题。
主要属性:
wx.chooseVideo(object)
成功之后返回参数
wxml
打开视频
js
Page({
data:{
// text:"这是一个页面"
videoSource: '',
videoHidden: true
},
listenerBtnOpenVideo: function() {
var that = this;
wx.chooseVideo({
//相机和相册
sourceType: ['album', 'camera'],
//录制视频最大时长
maxDuration: 60,
//摄像头
camera: ['front', 'back'],
//这里返回的是 tempFilePaths 并不是 tempFilePath
success: function(res){
console.log(res.tempFilePaths[0])
that.setData({
videoSource: res.tempFilePaths[0],
videoHidden: false
})
},
fail: function(e) {
console.log(e)
}
})
},
onLoad:function(options){
页面初始化 options 为页面跳转所带来的参数
},
onReady:function(){
页面渲染完成
},
onShow:function(){
页面显示
},
onHide:function(){
页面隐藏
},
onUnload:function(){
页面关闭
}
})
二
Storage API
其实这个存储在新建 Demo 的时候就已经用到了就是存储就是那个 logs 日志,数据存储主要分为同步和异步
异步存储方法:
存数据
wx.setStorage(object) 相同 key 会覆盖,可写回调方法
获取方法:
wx.getStorage(object)
清除方法:
wx.clearStorage()里面可以写回调函数 成功,失败,完成
同步存储方法:
存数据 相同 key 会覆盖
wx.setStorageSync(key,data)
读数据
wx.getStorageSync(key) 存储是指定的 key
清除数据
wx.clearStorageSync() 不可写回调方法
wxml
{}
storage 存储信息会在 text 上显示
获取 storage 存储的信息
清楚异步存储数据
{}
storageSync 存储信息会在 text 上显示
获取 storageSync 存储信息
清除同步存储数据
js
Page({
data:{
// text:"这是一个页面"
storageContent: '',
storageSyncContent: ''
},
onLoad:function(options){
页面初始化 options 为页面跳转所带来的参数
},
/**
异步存储
*/
listenerStorageSave: function() {
//以键值对的形式存储 传进去的是个对象
wx.setStorage({
key: 'key',
data: '我是 storeage 异步存储的信息',
success: function(res) {
console.log(res)
}
})
},
/**
异步取信息
*/
listenerStorageGet: function() {
var that = this;
wx.getStorage({
//获取数据的 key
key: 'key',
success: function(res) {
console.log(res)
that.setData({
//
storageContent: res.data
})
},
/**
失败会调用
*/
fail: function(res) {
console.log(res)
}
})
},
/**
清除数据
*/
listenerStorageClear: function() {
var that = this;
wx.clearStorage({
success: function(res) {
that.setData({
storageContent: ''
})
}
})
},
/**
数据同步存储
*/
listenerStorageSyncSave: function() {
wx.setStorageSync('key', '我是同步存储的数据')
},
/**
数据同步获取
*/
listenerStorageSyncGet: function() {
// var that = this;
var value = wx.getStorageSync('key')
this.setData({
storageSyncContent: value
})
},
/**
清除同步存储数据
*/
listenerStorageSyncClear: function() {
wx.clearStorageSync()
},
onReady:function(){
页面渲染完成
},
onShow:function(){
页面显示
},
onHide:function(){
页面隐藏
},
onUnload:function(){
页面关闭
}
})
三
location API
location API 也就分这里分两种 wx.getLocation(object)获取当前位置和 wx.openLocation(object)通过经纬度打开内置地图。其中定位获取位置信息返回参数是有问题的 speed,accuracy 这两个是没有的。还有一个就是打开内置地图之后再返回会报一个错误(Page route 错误 —WAService.js:2 navigateBack 一个不存在的 webviewId0)如果有知道的可告知,我找到解决方式也会补充下!
主要属性:
wx.getLocation(object)获取当前位置
成功之后返回参数
这个错估计也带等小程序修复吧!!
wxml
定位当前位置并打开内置地图
utton>
js
Page({
data:{
text:"Page location"
},
onLoad:function(options){
页面初始化 options 为页面跳转所带来的参数
},
/**
监听定位到当前位置
*/
listenerBtnGetLocation: function() {
wx.getLocation({
//定位类型 wgs84, gcj02
type: 'gcj02',
success: function(res) {
console.log(res)
wx.openLocation({
//当前经纬度
latitude: res.latutude,
longitude: res.longitude,
//缩放级别默认 28
scale: 28,
//位置名
name: '测试地址',
//详细地址
address: '火星路 24 号',
//成功打印信息
success: function(res) {
console.log(res)
},
//失败打印信息
fail: function(err) {
console.log(err)
},
//完成打印信息
complete: function(info){
console.log(info)
},
})
},
fail: function(err) {
console.log(err)
},
complete: function(info) {
console.log(info)
},
})
},
onReady:function(){
页面渲染完成
},
onShow:function(){
页面显示
},
onHide:function(){
页面隐藏
},
onUnload:function(){
页面关闭
}
})
领取专属 10元无门槛券
私享最新 技术干货