• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

alovajs / alova / #210

08 Oct 2024 07:26AM CUT coverage: 93.734% (-0.09%) from 93.826%
#210

push

github

web-flow
Merge pull request #554 from alovajs/changeset-release/main

ci: release

1608 of 1761 branches covered (91.31%)

Branch coverage included in aggregate %.

9537 of 10129 relevant lines covered (94.16%)

60.43 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

86.49
/packages/client/src/functions/sendRequest.ts
1
import { filterItem, mapItem, objectKeys, undefinedValue } from '@alova/shared/vars';
1✔
2
import { Arg } from 'alova';
1✔
3

1✔
4
/**
1✔
5
 * 构建完整的url
1✔
6
 * @param base baseURL
1✔
7
 * @param url 路径
1✔
8
 * @param params url参数
1✔
9
 * @returns 完整的url
1✔
10
 */
1✔
11
export const buildCompletedURL = (baseURL: string, url: string, params: Arg) => {
1✔
12
  // baseURL如果以/结尾,则去掉/
30✔
13
  baseURL = baseURL.endsWith('/') ? baseURL.slice(0, -1) : baseURL;
30!
14
  // 如果不是/或http协议开头的,则需要添加/
30✔
15
  url = url.match(/^(\/|https?:\/\/)/) ? url : `/${url}`;
30!
16

30✔
17
  const completeURL = baseURL + url;
30✔
18

30✔
19
  // 将params对象转换为get字符串
30✔
20
  // 过滤掉值为undefined的
30✔
21
  const paramsStr = mapItem(
30✔
22
    filterItem(objectKeys(params), key => params[key] !== undefinedValue),
30✔
23
    key => `${key}=${params[key]}`
30✔
24
  ).join('&');
30✔
25
  // 将get参数拼接到url后面,注意url可能已存在参数
30✔
26
  return paramsStr
30✔
27
    ? +completeURL.includes('?')
30!
28
      ? `${completeURL}&${paramsStr}`
×
29
      : `${completeURL}?${paramsStr}`
×
30
    : completeURL;
30✔
31
};
30✔
32

1✔
33
export default buildCompletedURL;
1✔
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc