微信小程序授权登录写在app.js获取数据

最后一个是完整的

        大家获取数据时,都会怎么存储数据呢?

目录

一、存储用户信息

二、使用方法

三、解决获取用户信息为初始值方法

1 、最简单的方法,加定时器。(不推荐使用此方法)

2.可以在上一个页面就去获取数据(虽然道理没问题,但是给人感觉上不大好)

3.关闭当前页面,跳转至当前页面(tabbar页面无法实现)

4.用高阶函数,将一个函数作为参数传递到另一个函数(可以很好解决,推荐)


    

一、存储用户信息

      相比于官方文档上给的方法 我个人比较喜欢存放在globalData中。

App({

  onLaunch() {
    // 展示本地存储能力
    const logs = wx.getStorageSync('logs') || []
    logs.unshift(Date.now())
    wx.setStorageSync('logs', logs)
  },
  globalData: {

        userinfo='',

  },
  login(){

      		setTimeout(function() {
				let arr = [{
					name: '张三',
					phone: '123456789'
				}];
			},5000)

    //请把这个数组理解为获取授权登录后返回的数据,因为主要是分享获取数据,就先简单一点。
    //因为获取用户时候,总是需要一点时间的,所以加了一个定时器

        getApp().globalData.userInfo=arr;
   }
})

二、使用方法

        然后就可以在其他页面上使用getApp().globalData.userinfo进行使用

        不过最好还是声明一个常量进行使用,

        const app=getApp()

        console.log(app.globalData.userinfo)

//一个页面
const app = getApp()
Page({
  data: {

  },
  onLoad() {

  },
   onShow(){

       let that=this

       if(app.globalData.userinfo==''){  

        //因为onShow在每一次进入页面都会加载,所以要进行一个判断

           app.login()
        }

       console.log(app.globalData.userinfo);

  }

})

        当在页面调用时候,它获取时会有一段时间。如果在同一个页面调用并获取信息会导致获取的数据会为初始值,也就是在app.js中定义的空值

三、解决获取用户信息为初始值方法

1 、最简单的方法,加定时器。(

评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值