提交阶段性预览
This commit is contained in:
@@ -35,15 +35,29 @@ const service = axios.create({
|
||||
}
|
||||
});
|
||||
|
||||
// 不需要小区id 或者 加上小区id报错的接口地址
|
||||
const whiteVillageId = [];
|
||||
// 不需要小区 ID 的接口白名单(支持 * 通配符)
|
||||
const whiteVillageId = [
|
||||
'/village',
|
||||
'/village/*'
|
||||
// 以后直接在这里加新地址,支持 /xxx/*、/xxx/xxx 写法
|
||||
];
|
||||
|
||||
function handleWhiteVillageid(url) {
|
||||
const spliturl = url.split('?')[0];
|
||||
if (whiteVillageId.includes(spliturl)) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
/**
|
||||
* 判断当前接口是否需要携带小区 ID
|
||||
* @param {string} url - 请求地址
|
||||
* @returns {boolean} true=需要小区ID / false=不需要
|
||||
*/
|
||||
export function needVillageId(url: string): boolean {
|
||||
// 去掉 ? 后面的参数
|
||||
const path = url.split('?')[0];
|
||||
|
||||
// 遍历白名单,正则匹配
|
||||
return !whiteVillageId.some((pattern) => {
|
||||
// 把 * 转成正则的 .* 通配
|
||||
const regPattern = pattern.replace(/\*/g, '[^\\/]*');
|
||||
const regex = new RegExp(`^${regPattern}$`);
|
||||
return regex.test(path);
|
||||
});
|
||||
}
|
||||
// 请求拦截器
|
||||
service.interceptors.request.use(
|
||||
@@ -60,11 +74,12 @@ service.interceptors.request.use(
|
||||
if (getToken() && !isToken) {
|
||||
config.headers['Authorization'] = 'Bearer ' + getToken(); // 让每个请求携带自定义token 请根据实际情况自行修改
|
||||
}
|
||||
console.log(needVillageId(config.url), config.url);
|
||||
// get请求映射params参数
|
||||
const villageid = localStorage.getItem('villageid');
|
||||
if (config.method === 'get' && config.params) {
|
||||
let url = '';
|
||||
if (villageid != 'null' && !Number.isNaN(Number(villageid)) && handleWhiteVillageid(config.url)) {
|
||||
if (villageid != 'null' && !Number.isNaN(Number(villageid)) && needVillageId(config.url)) {
|
||||
url =
|
||||
config.url +
|
||||
'?' +
|
||||
@@ -82,7 +97,7 @@ service.interceptors.request.use(
|
||||
|
||||
if (!isRepeatSubmit && (config.method === 'post' || config.method === 'put')) {
|
||||
let obj = null;
|
||||
if (villageid != 'null' && !Number.isNaN(Number(villageid)) && handleWhiteVillageid(config.url)) {
|
||||
if (villageid != 'null' && !Number.isNaN(Number(villageid)) && needVillageId(config.url)) {
|
||||
obj = {
|
||||
...config.data,
|
||||
villageId: Number(villageid)
|
||||
|
||||
Reference in New Issue
Block a user