提交阶段性预览

This commit is contained in:
Zy
2026-04-20 16:38:04 +08:00
parent d0888c6afb
commit 9f9a88f303
39 changed files with 2987 additions and 194 deletions

View File

@@ -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)