diff --git a/src/core/options.interface.ts b/src/core/options.interface.ts index 7c63c842..27a38013 100644 --- a/src/core/options.interface.ts +++ b/src/core/options.interface.ts @@ -5,6 +5,7 @@ export interface VConsoleLogOptions { export interface VConsoleNetworkOptions { maxNetworkNumber?: number; + hideUrlRegexp?: RegExp; } export type VConsoleAvailableStorage = 'cookies' | 'localStorage' | 'sessionStorage' | 'wxStorage'; diff --git a/src/network/network.model.ts b/src/network/network.model.ts index 5a039354..4a4f7fe8 100644 --- a/src/network/network.model.ts +++ b/src/network/network.model.ts @@ -18,8 +18,9 @@ export const requestList = writable<{ [id: string]: VConsoleNetworkRequestItem } */ export class VConsoleNetworkModel extends VConsoleModel { public maxNetworkNumber: number = 1000; + public hideUrlRegexp?: RegExp protected itemCounter: number = 0; - + constructor() { super(); this.mockXHR(); @@ -49,6 +50,10 @@ export class VConsoleNetworkModel extends VConsoleModel { * Add or update a request item by request ID. */ public updateRequest(id: string, data: VConsoleNetworkRequestItem) { + const { url } = data; + if (url && this.hideUrlRegexp?.test(url)) { + return; + } const reqList = get(requestList); const hasItem = !!reqList[id]; if (hasItem) { diff --git a/src/network/network.ts b/src/network/network.ts index 67451d85..db1bee85 100644 --- a/src/network/network.ts +++ b/src/network/network.ts @@ -41,5 +41,8 @@ export class VConsoleNetworkPlugin extends VConsoleSveltePlugin { if (this.vConsole.option.network?.maxNetworkNumber !== this.model.maxNetworkNumber) { this.model.maxNetworkNumber = Number(this.vConsole.option.network?.maxNetworkNumber) || MAX_NETWORK_NUMBER; } + if (this.vConsole.option.network?.hideUrlRegexp) { + this.model.hideUrlRegexp = this.vConsole.option.network.hideUrlRegexp + } } }