亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

localStorage也可以限時保存登錄信息

標簽:
Html5 JavaScript

localStorage用于持久化的存储;但是我想限时保存用户的登录信息,除了cookie和session,localStorage应该也可以做到;cookie字符长度有限制,不够6;session在后端保存;现在我要在前端保存用户信息,而不用每次后台判断或前端请求去判断;因为如果页面由前端输出,那么每次都得请求一次用户是否登录;

代码不多,大家都懂:

module.exports={
    age:0,
    maxAge:function (age) {
        this.age=age;
        return this;
    },
    set:function(name,json){
        localStorage.removeItem(name);
        json.__time=new Date().getTime();
        json.__age=this.age;
        localStorage.setItem(name,JSON.stringify(json));
        return this;
    },
    getInfo:function(name){
        var info=localStorage.getItem(name);
        return info?JSON.parse(info):null;
    },
    isExpired:function(name) {
        var logined=localStorage.getItem(name),
            _time=0,
            iTime=new Date().getTime(),
            timeLength=0;
        if (logined) {
            logined=JSON.parse(logined);
            _time=logined.__time;
            timeLength=iTime-_time;
            return timeLength>=logined.__age;
        }else {
            return true;
        }
    },
    isLogined:function(name,fn) {
        var user='',age=this.age;
        if (!this.isExpired(name)) {
            user=JSON.parse(localStorage.getItem(name));
        }else{
            localStorage.removeItem(name);
        }
        if (user) {
            fn&&fn(user);
        }else {
            fn&&fn();
        }
    }
};

使用:
var store=require('./modules/store');

前端在用户登录成功后保存基本信息:

store.maxAge(1000*60*60*24).set('userinfo',{
    name:'hf',
    age:'18'
 });

以JSON格式保存用户的信息name和age,字段名userinfo,保存时长为一天;

下次用户访问判断用户信息是否过期:

store.isExpired('userinfo');
//返回true|false

或者直接判断限定时间内是否登录了:

store.isLogined('userinfo',function(info){
        if (info) {
            console.log(info)
        }else {
            console.log(false)
        }
    });
//若在限定时间内登录了,回调用户信息;若没有登录,回调里做其他操作

获取登录信息,返回用户信息或null;也可以判断是否登录;

store.getInfo('userinfo');
//返回info或null

呵呵,就这么多了;简单的记录下,继续使用,继续填坑,继续完善;与君共勉!

原文来自:花满楼[localStorage也可以限时保存登录信息][1]

點擊查看更多內容
16人點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消