@ezuikit/utils-tools 1.0.0-alpha.0
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.
- package/README.md +42 -0
- package/dist/index.umd.js +146 -0
- package/dist/index.umd.js.map +1 -0
- package/package.json +41 -0
package/README.md
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
## Logger
|
|
2
|
+
|
|
3
|
+
日志工具类
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
## scripts
|
|
7
|
+
|
|
8
|
+
```bash
|
|
9
|
+
pnpm run dev
|
|
10
|
+
|
|
11
|
+
pnpm run build
|
|
12
|
+
|
|
13
|
+
pnpm run test
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## 使用
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
pnpm install @ezuikit/utils-logger
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
```ts
|
|
24
|
+
import Logger from '@ezuikit/utils-logger'
|
|
25
|
+
|
|
26
|
+
const logger = new Logger({level: "INFO"})
|
|
27
|
+
|
|
28
|
+
logger.info("info")
|
|
29
|
+
logger.log("log")
|
|
30
|
+
logger.warn("warn")
|
|
31
|
+
logger.error("error")
|
|
32
|
+
|
|
33
|
+
// 更改日志等级 WARN 只打印 warn error
|
|
34
|
+
logger.setOptions({level: "WARN"})
|
|
35
|
+
|
|
36
|
+
logger.info("setOptions info")
|
|
37
|
+
logger.log("setOptions log")
|
|
38
|
+
logger.warn("setOptions warn")
|
|
39
|
+
logger.error("setOptions error")
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
/*
|
|
2
|
+
*
|
|
3
|
+
* index.umd.js.js v1.0.0-alpha.0
|
|
4
|
+
* Copyright (c) 2023-10-28 Ezviz-OpenBiz
|
|
5
|
+
* Released under MIT the License.
|
|
6
|
+
*
|
|
7
|
+
*/
|
|
8
|
+
(function (global, factory) {
|
|
9
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
|
|
10
|
+
typeof define === 'function' && define.amd ? define(['exports'], factory) :
|
|
11
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.Tools = {}));
|
|
12
|
+
})(this, (function (exports) { 'use strict';
|
|
13
|
+
|
|
14
|
+
const getQuery = (url)=>{
|
|
15
|
+
const query = url.split('?')[1]; // https://open.ys7.com/help?a=1&b=2&c=3
|
|
16
|
+
const obj = {};
|
|
17
|
+
if (query) {
|
|
18
|
+
// 把查询字符串按照&符号分割成数组
|
|
19
|
+
const vars = query.split('&'); // ['a=2', 'b=4']
|
|
20
|
+
for(let i = 0; i < vars.length; i++){
|
|
21
|
+
const pair = vars[i].split('=');
|
|
22
|
+
// 暂时不支持数组
|
|
23
|
+
obj[pair[0]] = decodeURIComponent(pair[1]);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return obj; // {a: '1', b: '2', c:'3'}
|
|
27
|
+
}; // export const appendQuery () {}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* @description 解析ezopen 协议 url
|
|
31
|
+
* @param {string} url ezopen url
|
|
32
|
+
* @returns {EzopenParams}
|
|
33
|
+
*
|
|
34
|
+
* ```ts
|
|
35
|
+
* parseEzopenUrl("ezopen://open.ys7.com/C116331000/1.cloud.rec?a=00000&b=23&c=%E4%BD%A0%E5%A5%BD%E5%95%8A")
|
|
36
|
+
* ```
|
|
37
|
+
*/ function parseEzopenUrl(url) {
|
|
38
|
+
const obj = {};
|
|
39
|
+
if (/^ezopen:\/\//.test(url)) {
|
|
40
|
+
obj.protocol = url.split('//')[0];
|
|
41
|
+
obj.search = url.split('?')[1] ? '?' + url.split('?')[1] : '';
|
|
42
|
+
obj.hostname = url.split('/')[2];
|
|
43
|
+
obj.origin = obj.protocol + '//' + obj.hostname;
|
|
44
|
+
obj.pathname = url.split('?')[0].replace(obj.origin, '');
|
|
45
|
+
obj.href = url;
|
|
46
|
+
const pathnames = obj.pathname.split('/');
|
|
47
|
+
const lastPath = pathnames[2].split('.');
|
|
48
|
+
obj.deviceSerial = pathnames[1];
|
|
49
|
+
obj.channelNo = lastPath[0];
|
|
50
|
+
obj.type = lastPath[lastPath.length - 1];
|
|
51
|
+
if (obj.type === 'live') {
|
|
52
|
+
obj.definition = lastPath.length > 2 ? lastPath[1] : 'sd';
|
|
53
|
+
}
|
|
54
|
+
if (obj.type === 'rec') {
|
|
55
|
+
obj.recType = lastPath.length > 2 ? lastPath[1] : '';
|
|
56
|
+
}
|
|
57
|
+
obj.searchParams = getQuery(url);
|
|
58
|
+
return obj;
|
|
59
|
+
}
|
|
60
|
+
return {};
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* @description exopen 协议播放地址切换
|
|
64
|
+
* @param {string} url exopen 协议播放地址
|
|
65
|
+
* @param {SwitchEzpoenOptions} options
|
|
66
|
+
* @returns
|
|
67
|
+
*
|
|
68
|
+
* @example
|
|
69
|
+
* ```ts
|
|
70
|
+
* switchEzopenUrl('ezopen://open.ys7.com/C11633138/1.hd.live?a=1', {type: 'rec',recType: 'cloud',search: 'b=23&c=123423&a=00000&c=你好啊',definition: 'hd'}) // -> ezopen://open.ys7.com/C11633138/1.cloud.rec?a=00000&b=23&c=%E4%BD%A0%E5%A5%BD%E5%95%8A
|
|
71
|
+
*
|
|
72
|
+
* switchEzopenUrl('ezopen://open.ys7.com/C11633138/1.hd.live', {type: 'live',recType: 'cloud',search: 'b=23&c=123423', definition: 'sd'}) // -> ezopen://open.ys7.com/C11633138/1.live?b=23&c=123423
|
|
73
|
+
* ```
|
|
74
|
+
*/ function switchEzopenUrl(url, options) {
|
|
75
|
+
const { type, channelNo, recType, definition, deviceSerial } = options != null ? options : {};
|
|
76
|
+
let { search } = options != null ? options : {};
|
|
77
|
+
if (!!type || !!channelNo || !!recType || !!definition || !!search) {
|
|
78
|
+
const obj = parseEzopenUrl(url);
|
|
79
|
+
if (search) {
|
|
80
|
+
const ns = Object.assign({}, obj.searchParams, getQuery('?' + search.replace('?', '')));
|
|
81
|
+
search = Object.entries(ns).reduce((acc, [key, value])=>{
|
|
82
|
+
acc += `${key}=${encodeURIComponent(value)}&`;
|
|
83
|
+
return acc;
|
|
84
|
+
}, '?').replace(/&$/, '');
|
|
85
|
+
} else {
|
|
86
|
+
search = obj.search;
|
|
87
|
+
}
|
|
88
|
+
return `${obj.origin}/${deviceSerial != null ? deviceSerial : obj.deviceSerial}/${channelNo != null ? channelNo : obj.channelNo}${type === 'rec' && recType ? '.' + recType : ''}${type === 'live' && definition === 'hd' ? '.' + definition : ''}.${type != null ? type : obj.type}${search}`;
|
|
89
|
+
}
|
|
90
|
+
return url;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
function isHttp(url) {
|
|
94
|
+
return /^http[s]?:\/\//.test(url);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* @description 判断是不是移动端(包括pad)
|
|
99
|
+
* @returns {boolean}
|
|
100
|
+
*/ function isMobile(agent) {
|
|
101
|
+
var _window_navigator, _window;
|
|
102
|
+
return !!((agent != null ? agent : (_window = window) == null ? void 0 : (_window_navigator = _window.navigator) == null ? void 0 : _window_navigator.userAgent) || '').match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* @description 从对象中挑选值
|
|
107
|
+
* @param obj
|
|
108
|
+
* @param keys
|
|
109
|
+
* @returns
|
|
110
|
+
*
|
|
111
|
+
* @example
|
|
112
|
+
*
|
|
113
|
+
* ```ts
|
|
114
|
+
* pick({a: "1", b: "b"}, ['a']) // => {a: 'a'}
|
|
115
|
+
* ```
|
|
116
|
+
*/ function pick(obj, keys) {
|
|
117
|
+
return Object.entries(obj).reduce((acc, [key, value])=>{
|
|
118
|
+
if (keys.includes(key)) {
|
|
119
|
+
acc[key] = value;
|
|
120
|
+
}
|
|
121
|
+
return acc;
|
|
122
|
+
}, {});
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
console.log(switchEzopenUrl('ezopen://open.ys7.com/C11633138/1.hd.live?a=1', {
|
|
126
|
+
type: 'rec',
|
|
127
|
+
recType: 'cloud',
|
|
128
|
+
search: 'b=23&c=123423&a=00000&c=你好啊',
|
|
129
|
+
definition: 'hd'
|
|
130
|
+
}));
|
|
131
|
+
console.log(switchEzopenUrl('ezopen://open.ys7.com/C11633138/1.hd.live', {
|
|
132
|
+
type: 'live',
|
|
133
|
+
recType: 'cloud',
|
|
134
|
+
search: 'b=23&c=123423',
|
|
135
|
+
definition: 'sd'
|
|
136
|
+
}));
|
|
137
|
+
|
|
138
|
+
exports.getQuery = getQuery;
|
|
139
|
+
exports.isHttp = isHttp;
|
|
140
|
+
exports.isMobile = isMobile;
|
|
141
|
+
exports.parseEzopenUrl = parseEzopenUrl;
|
|
142
|
+
exports.pick = pick;
|
|
143
|
+
exports.switchEzopenUrl = switchEzopenUrl;
|
|
144
|
+
|
|
145
|
+
}));
|
|
146
|
+
//# sourceMappingURL=index.umd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.umd.js","sources":["../src/query.ts","../src/ezopenUrl.ts","../src/isHttp.ts","../src/isMobile.ts","../src/pick.ts","../src/index.ts"],"sourcesContent":["export const getQuery = (url: string) => {\r\n const query = url.split('?')[1]; // https://open.ys7.com/help?a=1&b=2&c=3\r\n const obj: Record<string, any> = {};\r\n\r\n if (query) {\r\n // 把查询字符串按照&符号分割成数组\r\n const vars = query.split('&'); // ['a=2', 'b=4']\r\n\r\n for (let i = 0; i < vars.length; i++) {\r\n const pair = vars[i].split('=');\r\n // 暂时不支持数组\r\n obj[pair[0]] = decodeURIComponent(pair[1]);\r\n }\r\n }\r\n\r\n return obj; // {a: '1', b: '2', c:'3'}\r\n};\r\n\r\n// export const appendQuery () {}\r\n","import { getQuery } from './query';\r\n\r\nexport interface EzopenURL {\r\n protocol: string; // 默认ezopen:\r\n search?: string;\r\n searchParams?: Record<string, any>;\r\n pathname: string;\r\n origin: string;\r\n href: string;\r\n hostname: string;\r\n deviceSerial: string;\r\n channelNo: string;\r\n /** 播放类型 直播 | 回放 */\r\n type: 'live' | 'rec' | string; //\r\n /** 回放存储类型 */\r\n recType?: 'cloud' | string; //\r\n /** 清晰度 */\r\n definition?: 'sd' | 'hd';\r\n}\r\n\r\n/**\r\n * @description 解析ezopen 协议 url\r\n * @param {string} url ezopen url\r\n * @returns {EzopenParams}\r\n *\r\n * ```ts\r\n * parseEzopenUrl(\"ezopen://open.ys7.com/C116331000/1.cloud.rec?a=00000&b=23&c=%E4%BD%A0%E5%A5%BD%E5%95%8A\")\r\n * ```\r\n */\r\nexport function parseEzopenUrl(url: string) {\r\n const obj: Partial<EzopenURL> = {};\r\n if (/^ezopen:\\/\\//.test(url)) {\r\n obj.protocol = url.split('//')[0];\r\n obj.search = url.split('?')[1] ? '?' + url.split('?')[1] : '';\r\n obj.hostname = url.split('/')[2];\r\n obj.origin = obj.protocol + '//' + obj.hostname;\r\n obj.pathname = url.split('?')[0].replace(obj.origin, '');\r\n obj.href = url;\r\n const pathnames = obj.pathname.split('/');\r\n const lastPath = pathnames[2].split('.');\r\n\r\n obj.deviceSerial = pathnames[1];\r\n obj.channelNo = lastPath[0];\r\n obj.type = lastPath[lastPath.length - 1];\r\n if (obj.type === 'live') {\r\n obj.definition = lastPath.length > 2 ? (lastPath[1] as 'hd') : 'sd';\r\n }\r\n\r\n if (obj.type === 'rec') {\r\n obj.recType = lastPath.length > 2 ? lastPath[1] : '';\r\n }\r\n\r\n obj.searchParams = getQuery(url);\r\n\r\n return obj;\r\n }\r\n\r\n return {};\r\n}\r\n\r\nexport interface SwitchEzpoenOptions {\r\n deviceSerial?: string;\r\n channelNo?: string;\r\n type?: 'live' | 'rec';\r\n recType?: 'cloud'; // 仅 rec\r\n definition?: 'hd' | 'sd'; // 仅 live\r\n search?: string;\r\n}\r\n\r\n/**\r\n * @description exopen 协议播放地址切换\r\n * @param {string} url exopen 协议播放地址\r\n * @param {SwitchEzpoenOptions} options\r\n * @returns\r\n *\r\n * @example\r\n * ```ts\r\n * switchEzopenUrl('ezopen://open.ys7.com/C11633138/1.hd.live?a=1', {type: 'rec',recType: 'cloud',search: 'b=23&c=123423&a=00000&c=你好啊',definition: 'hd'}) // -> ezopen://open.ys7.com/C11633138/1.cloud.rec?a=00000&b=23&c=%E4%BD%A0%E5%A5%BD%E5%95%8A\r\n *\r\n * switchEzopenUrl('ezopen://open.ys7.com/C11633138/1.hd.live', {type: 'live',recType: 'cloud',search: 'b=23&c=123423', definition: 'sd'}) // -> ezopen://open.ys7.com/C11633138/1.live?b=23&c=123423\r\n * ```\r\n */\r\nexport function switchEzopenUrl(url: string, options?: SwitchEzpoenOptions) {\r\n const { type, channelNo, recType, definition, deviceSerial } = options ?? {};\r\n let { search } = options ?? {};\r\n\r\n if (!!type || !!channelNo || !!recType || !!definition || !!search) {\r\n const obj: Partial<EzopenURL> = parseEzopenUrl(url);\r\n\r\n if (search) {\r\n const ns = Object.assign(\r\n {},\r\n obj.searchParams,\r\n getQuery('?' + search.replace('?', ''))\r\n ) as Record<string, string>;\r\n\r\n search = Object.entries(ns)\r\n .reduce<string>((acc, [key, value]) => {\r\n acc += `${key}=${encodeURIComponent(value)}&`;\r\n return acc;\r\n }, '?')\r\n .replace(/&$/, '');\r\n } else {\r\n search = obj.search;\r\n }\r\n\r\n return `${obj.origin}/${deviceSerial ?? obj.deviceSerial}/${channelNo ?? obj.channelNo}${\r\n type === 'rec' && recType ? '.' + recType : ''\r\n }${type === 'live' && definition === 'hd' ? '.' + definition : ''}.${\r\n type ?? obj.type\r\n }${search}`;\r\n }\r\n\r\n return url;\r\n}\r\n","export function isHttp(url: string) {\r\n return /^http[s]?:\\/\\//.test(url);\r\n}\r\n","/**\r\n * @description 判断是不是移动端(包括pad)\r\n * @returns {boolean}\r\n */\r\nexport function isMobile(agent?: string) {\r\n return !!((agent ?? window?.navigator?.userAgent) || '').match(\r\n /(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i\r\n );\r\n}\r\n","/**\r\n * @description 从对象中挑选值\r\n * @param obj\r\n * @param keys\r\n * @returns\r\n *\r\n * @example\r\n *\r\n * ```ts\r\n * pick({a: \"1\", b: \"b\"}, ['a']) // => {a: 'a'}\r\n * ```\r\n */\r\nexport function pick(obj: object, keys: string[]) {\r\n return Object.entries(obj).reduce((acc, [key, value]) => {\r\n if (keys.includes(key)) {\r\n (acc as any)[key] = value;\r\n }\r\n return acc;\r\n }, {});\r\n}\r\n","import { parseEzopenUrl, switchEzopenUrl } from './ezopenUrl';\n\nimport { isHttp } from './isHttp';\nimport { isMobile } from './isMobile';\nimport { getQuery } from './query';\nimport { pick } from './pick';\n\nconsole.log(\n switchEzopenUrl('ezopen://open.ys7.com/C11633138/1.hd.live?a=1', {\n type: 'rec',\n recType: 'cloud',\n search: 'b=23&c=123423&a=00000&c=你好啊',\n definition: 'hd'\n })\n);\nconsole.log(\n switchEzopenUrl('ezopen://open.ys7.com/C11633138/1.hd.live', {\n type: 'live',\n recType: 'cloud',\n search: 'b=23&c=123423',\n definition: 'sd'\n })\n);\n\nexport { parseEzopenUrl, switchEzopenUrl, isHttp, isMobile, getQuery, pick };\n"],"names":["getQuery","url","query","split","obj","vars","i","length","pair","decodeURIComponent","parseEzopenUrl","test","protocol","search","hostname","origin","pathname","replace","href","pathnames","lastPath","deviceSerial","channelNo","type","definition","recType","searchParams","switchEzopenUrl","options","ns","Object","assign","entries","reduce","acc","key","value","encodeURIComponent","isHttp","isMobile","agent","window","navigator","userAgent","match","pick","keys","includes","console","log"],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@ezuikit/utils-tools",
|
|
3
|
+
"version": "1.0.0-alpha.0",
|
|
4
|
+
"description": "tools utils",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"umd": "dist/index.umd.js",
|
|
7
|
+
"types": "dist/types/index.d.ts",
|
|
8
|
+
"module": "dist/index.esm.js",
|
|
9
|
+
"exports": {
|
|
10
|
+
"types": "./dist/types/index.d.ts",
|
|
11
|
+
"import": "./dist/index.esm.js",
|
|
12
|
+
"default": "./dist/index.js"
|
|
13
|
+
},
|
|
14
|
+
"scripts": {
|
|
15
|
+
"dev": "cross-env NODE_ENV=development rollup --config rollup.config.js --bundleConfigAsCjs --watch",
|
|
16
|
+
"build": "cross-env NODE_ENV=production npm run clean && rollup --config rollup.config.js --bundleConfigAsCjs && npm run types && npm run docs",
|
|
17
|
+
"types": "tsc src/index.ts --emitDeclarationOnly --declaration --declarationDir dist/types",
|
|
18
|
+
"docs": "rimraf docs && typedoc --out docs src",
|
|
19
|
+
"prebuild": "npm run clean",
|
|
20
|
+
"test": "jest --coverage",
|
|
21
|
+
"test:watch": "jest --coverage --watch",
|
|
22
|
+
"clean": "rimraf docs dist coverage",
|
|
23
|
+
"lint": "eslint .",
|
|
24
|
+
"fmt": "prettier --write \"packages/**/src/**/*.{js,ts,json,md}\""
|
|
25
|
+
},
|
|
26
|
+
"files": [
|
|
27
|
+
"dist"
|
|
28
|
+
],
|
|
29
|
+
"keywords": [
|
|
30
|
+
"logger",
|
|
31
|
+
"ezuikit",
|
|
32
|
+
"ezuikit-utils",
|
|
33
|
+
"utils"
|
|
34
|
+
],
|
|
35
|
+
"author": "Ezviz-OpenBiz",
|
|
36
|
+
"license": "MIT",
|
|
37
|
+
"publishConfig": {
|
|
38
|
+
"access": "public",
|
|
39
|
+
"registry": "https://registry.npmjs.org/"
|
|
40
|
+
}
|
|
41
|
+
}
|