微信小程序 缓存 demo 优化小程序体验

2020-03-16写下这个 demo

我也刚刚开始学习小程序缓存

先放微信小程序官方文档


今天要实现什么效果呢? openid 作为小程序内用户唯一标识,重要性不言而喻

好了,直接上代码


// app.js

App({
    
    
  onLaunch: function() {
    
    
    if (!wx.cloud) {
    
    
      console.error('请使用 2.2.3 或以上的基础库以使用云能力')
    } else {
    
    
      wx.cloud.init({
    
    
        traceUser: true,
        env: 'xxxxx,
        // env: 'xxxxx',
      })
    }
    
	this.checkOpenid(); // 检查本地缓存是否有 openid, 没有就调用云函数获取 
	
  },

  globalData: {
    
    
    openid: ''
  },

	checkOpenid: function () {
    
    
	
		console.log('小李子,去检查缓存里是否有 openid');
		
		var openid = wx.getStorageSync('openid');
		
		if (openid === '') {
    
    
			console.log('启禀陛下,没有openid, 那还不速速取来');
			this.getOpenid(); // 调用云函数获 openid
		}else {
    
    
			console.log('启禀陛下, 有openid, 退下吧, 遮 ~');
			this.globalData.openid = openid;
		}
	},

	getOpenid() {
    
    
		var that = this;
		wx.cloud.callFunction({
    
    
			name: 'getOpenid',
			success: res => {
    
    
				console.log('陛下, openid 来了 ->', res.result.openid)
				
				var openid = res.result.openid;
				
				wx.setStorageSync('openid', openid)      // 将 openid 打入缓存大牢

				this.globalData.openid = openid;
				
			fail: res => {
    
    
				wx.showToast({
    
    
					title: '没有网络',
					icon: 'none',
					duration: 50000
				})
			}
		})
	},
})

用户第一次使用小程序 / 或者本地缓存被清理:
在这里插入图片描述
用户非第一次进入小程序(重新编译一下小程序)
在这里插入图片描述


哈哈哈,还可以把用户昵称,头像数据等放入缓存中。

请开动脑筋吧 。。。


有帮助别忘了点个赞,鼓励一下

有问题请评论



猜你喜欢

转载自blog.csdn.net/u013633921/article/details/104900901