小程序跳转页面跟生命周期的关系,小程序的登录

568 阅读1分钟

小程序生命周期函数

  1. onLoad() 页面加载时触发,一个页面只会调用一次。
  2. onShow() 页面显示/切入前台时显示.
  3. onReady() 页面初次渲染完成时触发,一个页面只会调用一次。
  4. onHide() 页面隐藏/切入后台时触发。
  5. onUnload() 页面卸载时触发。

小程序跳转方法

  1. wx.redirectTo(Object object) 关闭当前页面,跳转到应用内的某个页面。
  2. wx.navigateTo(Object object) 保留当前页面,跳转到应用内的某个页面。
  3. wx.navigateBack(Object object) 关闭当前页面,返回上一页面或多级页面。
  • 从A页面navigateTo()进入B页面时,A页面会隐藏但不会关闭,此时会调用A页面的onHide()生命周期。从B页可以navigateBack()回到A页面,此时会调用A页面的onShow()生命周期,隐藏的A页面重新切到前台。
  //使用wx.navigateBack()方法时
   let pages = getCurrentPages();
   if (pages.length <= 1) {//页面栈里只有当前页面
        wx.redirectTo({ url: '/pages/home' });
    }else{
        wx.navigateBack();
    }
    //getCurrentPages()的用法
    const pages = getCurrentPages();
    const curpage = pages[pages.length - 1];
    curpage.onLoad();//刷新页面

##小程序的登录

小程序可以通过微信官方提供的登录能力方便地获取微信提供的用户身份标识,快速建立小程序内的用户体系。

  • 一般流程是:wx.login()获取登录凭证code,再和wx.getUserInfo()获取的用户加密数据一起传送给后台,换取用户登录态信息,包括用户在当前小程序的唯一标识(openid)、微信开放平台帐号下的唯一标识(unionid,若当前小程序已绑定到微信开放平台帐号)及本次登录的会话密钥(session_key)等。