From 7e29e91f0a2a4b1b1f3ca49a9cd5ff123466301a Mon Sep 17 00:00:00 2001 From: zjx0905 <954270063@qq.com> Date: Wed, 5 Apr 2023 12:21:26 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=20dynamicURL=20?= =?UTF-8?q?=E9=94=99=E8=AF=AF=E5=8C=B9=E9=85=8D=E7=AB=AF=E5=8F=A3=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/helpers/dynamicURL.ts | 4 ++-- test/helpers/dynamicURL.test.ts | 13 +++++++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/helpers/dynamicURL.ts b/src/helpers/dynamicURL.ts index 19f7996..26f43e7 100644 --- a/src/helpers/dynamicURL.ts +++ b/src/helpers/dynamicURL.ts @@ -1,4 +1,4 @@ -const dynamicRE = /:([^/]+)/g; +const dynamicRE = /\/:([^/]+)/g; export function dynamicURL(url: string, data: AnyObject = {}): string { - return url.replace(dynamicRE, (_, $2) => data[$2]); + return url.replace(dynamicRE, (_, $2) => `/${data[$2]}`); } diff --git a/test/helpers/dynamicURL.test.ts b/test/helpers/dynamicURL.test.ts index 88b4373..6d741df 100644 --- a/test/helpers/dynamicURL.test.ts +++ b/test/helpers/dynamicURL.test.ts @@ -19,4 +19,17 @@ describe('src/helpers/dynamicURL.ts', () => { }), ).toBe('http://api.com/tests/name/axios/type/0/list'); }); + + test('应该忽略端口号', () => { + expect( + dynamicURL(':8080/:id', { + id: 0, + }), + ).toBe(':8080/0'); + expect( + dynamicURL('http://api.com:8080/:id', { + id: 0, + }), + ).toBe('http://api.com:8080/0'); + }); });