小程序常见问题:周期性时效刷新缓存code值举例

<2>小程序code值和Token值是具有时效性的,到时间会失效

忘了借鉴谁的博客,读完之后给我的灵感:直接上代码

// storageTerm  --> 时效缓存
const storageTerm = (s,k, v, m) => {
  let t = m ? m : 3600;
  let e = parseInt(t);
  let i = Date.parse(new Date()) / 1000 + e;
  switch(s){
    case s == "setStorageSync" :
      wx.setStorageSync(k, v);
      break;
    case s == "setStorage" :
      wx.setStorage({ key: k, data: v});
      break;
    default :  wx.setStorageSync(k, v);
      break;
  };
  if(e > 0) { s == "setStorageSync" ? wx.setStorageSync(k + "dt", i + "") : wx.setStorage({key: k + "dt",data: i + ""})}
  else{ 
    switch(s){
      case s == "setStorageSync" :
        wx.removeStorageSync(k + "dt", i + "");
        break;
      case s == "setStorage" :
        wx.removeStorage({ key: k + "dt",data: i + ""});
        break;
      default :
        break;
    };
  };
};

// getStorageTerm --> 读取时效缓存
const getStorageTerm = (k) => {
  if(!!wx.getStorageSync(k + 'dt')){
    var dt = wx.getStorageSync(k + 'dt') ;
  }else{var dt = false}
  if (dt) {
    if(parseInt(dt) < Date.parse(new Date()) / 1000){wx.removeStorageSync( k+ 'dt');wx.removeStorage({key:k + 'dt'});}
    else{
      let r = wx.getStorageSync(k);
      if(r) {return r;}else{return false;};
    }
  }else{
    return false;
  };
};
module.exports = {
    storageTerm , getStorageTerm 
}

<3>小程序code值和Token值是检测失效则重新授权登录

// loginCheck
const loginCheck = () => {
  if(getStorageTerm(`token`)){
    return getStorageTerm(`token`);
  }else{wx.navigateTo({
    url: `登录 页面 或者 可以 利用 new Promise()写成组件(肯定不是在路径URL里写,是在这个函数里写在resolve()出去,当前页面then(r=>{})实现)`,
  })}
};

module.exports = {
    loginCheck 
}

<4>小程序role判定,登录前是一个角色,登录后是另一个角色,tabBar如何实现?

这个说来话长,官方举例底部tabBar组件custom-tab--bar,然后自己写一个顶部nav组件相结合....这会不想写了,有点热!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值