项目须要前端获取后台返回的cookie,并以此做判断。我是在main.js入口文件下使用的前端
具体代码:后端
new Vue({
el: '#app',
router,
template: '<App/>',
components: { App },
methods:{cookie
//读取cookie,须要注意的是cookie是不能存中文的,若是须要存中文,解决方法是后端先进行编码encode(),前端取出来以后用decodeURI('string')解码。(安卓能够取中文cookie,IOS不行)
getCookie(name) {
var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
if (arr = document.cookie.match(reg)){
return true;
// return (arr[2]);
}else{
return false
}
},app
//设置cookie name为cookie的名字,value是值,expiredays为过时时间(天数)
setCookie (name, value, expiredays) {
var exdate = new Date();
exdate.setDate(exdate.getDate() + expiredays);
document.cookie = c_name + "=" + escape(value) + ((expiredays == null) ? "" : ";expires=" + exdate.toGMTString());
},this
//删除cookie编码
delCookie (name) {
var exp = new Date();
exp.setTime(exp.getTime() - 1);
var cval = getCookie(name);
if (cval != null)
document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString();
}code
},
created(){
this.setCookie('openId',123,2)
if (this.getCookie('openId')) {
console.log('has cookie')component
this.delCookie ('openId')
}else{
console.log('has not cookie')
}
}
})router
单纯贴码,抛砖引玉!get