@base-web-kits/base-tools-web 0.9.12 → 0.9.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,52 @@
1
+ import { getUrlNumber, getUrlParam, getUrlParamAll } from '../../ts';
2
+
3
+ /**
4
+ * 获取url的查询参数值
5
+ * - 与 {@link getUrlParam} 相同,只是参数url可选,默认取当前地址
6
+ * @param key 参数名
7
+ * @param url 完整 URL 或仅查询串(如 "a=1&b=2")
8
+ * @returns 解码后的参数值 (若不存在|"null"|"undefined",则返回 null)
9
+ * @example
10
+ * const q = getUrlQuery('q'); // 默认当前地址
11
+ * const q = getUrlQuery('q', 'https://a.com/?q=%E6%B5%8B%E8%AF%95'); // "测试"
12
+ * const a = getUrlQuery('a', 'a=1'); // "1"
13
+ * const list = getUrlQuery('list', 'list=[1,2]'); // "[1,2]"
14
+ * const list = getUrlQuery('list', 'list=null'); // null
15
+ * const list = getUrlQuery('list', 'list=undefined'); // null
16
+ */
17
+ export function getUrlQuery(key: string, url = window.location.href) {
18
+ return getUrlParam(key, url);
19
+ }
20
+
21
+ /**
22
+ * 获取url的查询参数值,并转为number类型
23
+ * - 与 {@link getUrlNumber} 相同,只是参数url可选,默认取当前地址
24
+ * @param key 参数名
25
+ * @param url 完整 URL 或仅查询串(如 "a=1&b=2")
26
+ * @returns 解码后的参数值 (若不存在|"非数字字符串",则返回 null)
27
+ * @example
28
+ * const a = getUrlQueryNumber('a'); // 默认当前地址
29
+ * const a = getUrlQueryNumber('a', 'https://a.com/?a=1'); // 1
30
+ * const a = getUrlQueryNumber('a', 'a=1'); // 1
31
+ * const a = getUrlQueryNumber('a', 'a=1.2'); // 1.2
32
+ * const a = getUrlQueryNumber('a', 'a=abc'); // null
33
+ */
34
+ export function getUrlQueryNumber(key: string, url = window.location.href) {
35
+ return getUrlNumber(key, url);
36
+ }
37
+
38
+ /**
39
+ * 获取url的所有查询参数值
40
+ * - 与 {@link getUrlParamAll} 相同,只是参数url可选,默认取当前地址
41
+ * @param url 完整 URL 或仅查询串(如 "a=1&b=2")
42
+ * @returns 解码后的键值对象(无参数返回空对象; "null"|"undefined"的参数会被忽略)
43
+ * @example
44
+ * const params = getUrlQueryAll(); // 默认当前地址
45
+ * const params = getUrlQueryAll('a=1&b=2'); // { a: "1", b: "2" }
46
+ * const params = getUrlQueryAll('https://a.com/?a=1&b=2'); // { a: "1", b: "2" }
47
+ * const params = getUrlQueryAll('a=1&b=null'); // { a: "1" }
48
+ * const params = getUrlQueryAll('a=1&b=undefined'); // { a: "1" }
49
+ */
50
+ export function getUrlQueryAll(url = window.location.href) {
51
+ return getUrlParamAll(url);
52
+ }