微信小程序学习笔记
微信小程序学习笔记
一·功能实现:将小程序中的变量保存到本地缓存中,以便下次打开小程序时获取改变后的变量值:
data:{
i:true
}
将data中的 i 变量存储到本地
注意:key的值是唯一的,重复会覆盖原来的值
wx.setStorage({
key: 'kettle',
data: that.data.i,
})
存储的变量可以在不同的js中获取
取出存储在本地的 i 变量
wx.getStorage({ key: 'kettle', success: function(res) { ----->取出变量成功后的回调函数<br> that.setData({ i:res.data }) }, })
二·功能实现:微信小程序打开后自动获取用户的当前位置,并把位置信息显示在页面上
前端变量
{{ location }}
全局变量
1 data:{ 2 location:"山东省济南市历下区" -->这里最好填写一个地理位置,以便获取失败后仍然有位置信息可以显示 3 } 4 5 onShow:function(){ -->onshow函数页面显示时自动加载 6 // 获取定位城市 7 var that = this 8 wx.getLocation({ -->wx.getLocation函数是微信自带的获取用户当前位置经纬度的函数 9 type: 'wgs84', 10 success: function (res) { 11 var latitude = res.latitude 12 var longitude = res.longitude 13 var speed = res.speed 14 var accuracy = res.accuracy 15 //将经纬度加到请求中,向百度地图发送请求,注意ak值是在百度地图开放平台注册账号创建应用后给提供的,是唯一的,看下图 16 17 18 wx.request({ 19 url: 'http://api.map.baidu.com/geocoder/v2/?ak=ak值&location=' + 20 res.latitude + ',' + res.longitude + '&output=json', 21 data: {}, 22 header: { 'Content-Type': 'application/json' }, 23 //成功后的回调函数,返回的ops.data.result.addressComponent包含当前位置的详细信息,依次取出后赋值给address 24 success: function (ops) { 25 var address = ops.data.result.addressComponent.province + ops.data.result.addressComponent.city + 26 ops.data.result.addressComponent.district + ops.data.result.addressComponent.street 27 //修改全局变量location的值,注意这里要用that,用this会提示success回调函数中没有this方法 28 that.setData({ 29 location:address 30 }) 31 }, 32 fail: function (resq) { 33 wx.showModal({ 34 title: '信息提示', 35 content: '请求失败', 36 showCancel: false, 37 confirmColor: '#f37938' 38 }); 39 }, 40 complete: function () { 41 } 42 }) 43 } 44 }) 45 }