小程序实现登录持久化

小程序实现登录持久化需要使用到小程序的缓存API,例如wx.getStorageSync()和wx.setStorageSync()等方法。以下是一个简单的代码实现:

// App.js

App({ // 在全局的App.js中定义全局变量userInfo,用于存放用户信息 globalData: { userInfo: null },

// 小程序启动时,从缓存中获取用户信息,若存在则将信息存到globalData中 onLaunch: function () { const userInfo = wx.getStorageSync('userInfo') if (userInfo) { this.globalData.userInfo = userInfo } } })

// 登录页面

Page({ // 登录按钮点击事件 handleLogin: function () { // 调用微信登录API获取code wx.login({ success: res => { // 发送请求向服务器换取用户信息 wx.request({ url: 'https://example.com/login', data: { code: res.code }, success: res => { // 将用户信息存入缓存 wx.setStorageSync('userInfo', res.data.userInfo) // 将用户信息存到globalData中 getApp().globalData.userInfo = res.data.userInfo // 跳转到首页 wx.navigateTo({ url: '/pages/index/index' }) }, fail: res => { wx.showToast({ title: '登录失败', icon: 'none' }) } }) } }) } })

这样,在小程序启动时会自动从缓存中获取用户信息,并存到全局变量globalData中。当用户登录时,将用户信息存入缓存并存到globalData中,用户退出登录时则清空缓存和globalData中的用户信息即可。这样即可实现小程序的登录持久化。

你可能感兴趣的:(小程序,java,开发语言)