js流水号自增业务
昨天的方法需要想办法清除缓存,就涉及到设置清除缓存的时间,比较难实现
今天改用另一种思路,把键名存成可以变化的,键名以变量的形式存储,只要加个[ ] 就OK
data{
serialNum: '' ,//流水号
}
//进入获取当前年月日 当键名存在缓存中 今天的日期跟昨天不同 则找不到键名 必然返回null
let syear = this.getnowYear()
this.serialNum = localStorage.getItem([syear])
onload(){
//支付成功后跳转页面
if (payrst.result == 0) {
//流水号生成
//把键名改成变量进行存取的方式
console.log('that.serialNum', that.serialNum)
if (that.serialNum == null) {
let syear = that.getnowYear()
console.log("syear",syear)
localStorage.setItem([syear], 0)
let serNum = parseInt(localStorage.getItem([syear])) //转数字
console.log("缓存的serNum", serNum)
if (serNum == 0) {
serNum++
console.log("==0 自增后serNum", serNum)
that.serialNum = serNum
localStorage.setItem([syear], that.serialNum)
}
} else {
let syear = that.getnowYear()
let serNum = parseInt(localStorage.getItem([syear])) //转数字
serNum++
console.log("!==0 自增后serNum", serNum)
that.serialNum = serNum
localStorage.setItem([syear], that.serialNum)
}
}
}
methods:{
getnowYear(){
var myDate = new Date();
var y = myDate.getFullYear();
var m = myDate.getMonth() + 1;
m = m > 9 ? m : '0' + m;
var d = myDate.getDate() > 9 ? myDate.getDate() : '0' + myDate.getDate();
return y + '-' + m + '-' + d
},
}