监听本地储存变化
var orignalSetItem = localStorage.setItem;
localStorage.setItem = function(key, newValue) {
var setItemEvent = new Event("setItemEvent");
setItemEvent.key = key;
setItemEvent.newValue = newValue;
window.dispatchEvent(setItemEvent);
orignalSetItem.apply(this, arguments);
};
var that = this;
window.addEventListener("setItemEvent", function(e) {
if (e.key == "gid") {
var _this = localStorage.getItem("gid");
if (_this != e.newValue) {//判断上条数据的gid与当前数据gid是否发生变化
that.$http({
url: "/api/message/list",
data: {
list_type: "new",
page_size: 1
},
success: result => {
result.data.list[0].avatar = result.data.list[0].user_avatar||that.getAvatar((Math.abs(crc32.str(result.data.list[0].gid)) % 5) + 1);
that.newdata = result.data.list[0];
console.log(that.newdata);
that.List.push({
id: ++that.currentId,
avatar: that.newdata.avatar,
msg: that.newdata.content,
time: Math.random() * 2 + 3,
type: MESSAGE_TYPE.NORMAL,
create_time: that.newdata.create_time,
liked: that.newdata.liked,
gid: that.newdata.gid,
extraWidth: 650
});
}
});
}
}
});