因为在路由守卫执行前没有this,所以需要从 to 中 自行提取
// console.log('跳转前',from);
// console.log('跳转后',to.fullPath);
/* 获取query中code */
if (to.fullPath) {
// 有query
let url = to.fullPath;
// console.log("url拦截", url);
let newUrl = decodeURIComponent(url);
// console.log('url解码',newUrl);
let idxAll = newUrl.split("?");
// console.log('?拆分',idxAll);
let idx = idxAll.map((item) => item.split("&"));
// console.log('$拆分',idx);
let queryStr = idx.toString().split(",");
// console.log(queryStr);
// 键和值
let queryArr = queryStr.map((item) => item.split("="));
let key = queryArr.map((item) => item[0]);
let array = queryArr.map((item) => item[1]);
let obj = Object.assign({}, ...key.map((e, i) => ({ [e]: array[i] })));
// 判断code
if (obj.ncAuthCode) {
localStorage.setItem("shopCode", obj.ncAuthCode);
console.log("code码", obj.ncAuthCode);
// 有code码,发给后端,换数据,然后跳转页面,并把url地址里的code清掉
addDayin();
next('/StoreManagement/dayin');
// localStorage.removeItem("shopCode");
}
} else {
// 没有query
}