@i17hush/h5-utils 1.0.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.
@@ -0,0 +1,613 @@
1
+ /**
2
+ * 浏览器环境适配器
3
+ */
4
+ const browserAdapter = {
5
+ storage: {
6
+ get(key) {
7
+ return localStorage.getItem(key);
8
+ },
9
+ set(key, value) {
10
+ localStorage.setItem(key, value);
11
+ },
12
+ remove(key) {
13
+ localStorage.removeItem(key);
14
+ },
15
+ clear() {
16
+ localStorage.clear();
17
+ },
18
+ },
19
+ clipboard: {
20
+ async write(text) {
21
+ if (navigator.clipboard) {
22
+ await navigator.clipboard.writeText(text);
23
+ }
24
+ else {
25
+ const textarea = document.createElement('textarea');
26
+ textarea.value = text;
27
+ textarea.style.cssText = 'position:fixed;left:-9999px';
28
+ document.body.appendChild(textarea);
29
+ textarea.select();
30
+ document.execCommand('copy');
31
+ document.body.removeChild(textarea);
32
+ }
33
+ },
34
+ async read() {
35
+ if (navigator.clipboard) {
36
+ return await navigator.clipboard.readText();
37
+ }
38
+ throw new Error('Clipboard API not supported');
39
+ },
40
+ },
41
+ event: {
42
+ on(event, handler) {
43
+ window.addEventListener(event, handler);
44
+ },
45
+ off(event, handler) {
46
+ window.removeEventListener(event, handler);
47
+ },
48
+ emit(event, ...args) {
49
+ window.dispatchEvent(new CustomEvent(event, { detail: args }));
50
+ },
51
+ },
52
+ dom: {
53
+ select(selector) {
54
+ return document.querySelector(selector);
55
+ },
56
+ selectAll(selector) {
57
+ return Array.from(document.querySelectorAll(selector));
58
+ },
59
+ },
60
+ scroll: {
61
+ scrollTo(options) {
62
+ var _a, _b;
63
+ window.scrollTo({
64
+ top: (_a = options.top) !== null && _a !== void 0 ? _a : 0,
65
+ left: (_b = options.left) !== null && _b !== void 0 ? _b : 0,
66
+ behavior: options.animated !== false ? 'smooth' : 'auto',
67
+ });
68
+ },
69
+ getScrollPosition() {
70
+ return {
71
+ scrollTop: window.scrollY,
72
+ scrollLeft: window.scrollX,
73
+ };
74
+ },
75
+ lockScroll() {
76
+ document.body.style.overflow = 'hidden';
77
+ },
78
+ unlockScroll() {
79
+ document.body.style.overflow = '';
80
+ },
81
+ },
82
+ device: {
83
+ getInfo() {
84
+ const ua = navigator.userAgent;
85
+ return {
86
+ ios: /iPhone|iPad|iPod/i.test(ua),
87
+ android: /Android/i.test(ua),
88
+ mobile: /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(ua),
89
+ weChat: /MicroMessenger/i.test(ua),
90
+ os: getBrowserOS(ua),
91
+ brand: '',
92
+ model: '',
93
+ screenWidth: window.screen.width,
94
+ screenHeight: window.screen.height,
95
+ pixelRatio: window.devicePixelRatio,
96
+ };
97
+ },
98
+ async getNetworkType() {
99
+ const conn = navigator.connection || navigator.mozConnection || navigator.webkitConnection;
100
+ return (conn === null || conn === void 0 ? void 0 : conn.effectiveType) || 'unknown';
101
+ },
102
+ },
103
+ };
104
+ function getBrowserOS(ua) {
105
+ if (/Windows/i.test(ua))
106
+ return 'Windows';
107
+ if (/Mac OS X/i.test(ua)) {
108
+ if (/iPhone|iPad|iPod/i.test(ua))
109
+ return 'iOS';
110
+ return 'macOS';
111
+ }
112
+ if (/Android/i.test(ua))
113
+ return 'Android';
114
+ if (/Linux/i.test(ua))
115
+ return 'Linux';
116
+ return 'Unknown';
117
+ }
118
+
119
+ let currentAdapter = browserAdapter;
120
+ /**
121
+ * 设置平台适配器(如切换到 Taro)
122
+ */
123
+ function setAdapter(adapter) {
124
+ currentAdapter = adapter;
125
+ }
126
+ /**
127
+ * 获取当前平台适配器
128
+ */
129
+ function getAdapter() {
130
+ return currentAdapter;
131
+ }
132
+
133
+ /**
134
+ * URL 解析与操作工具
135
+ */
136
+ /**
137
+ * 解析 URL 为结构化对象
138
+ */
139
+ function parseUrl(url) {
140
+ const a = document.createElement('a');
141
+ a.href = url;
142
+ const query = {};
143
+ if (a.search) {
144
+ a.search.slice(1).split('&').forEach((pair) => {
145
+ const [key, val] = pair.split('=');
146
+ if (key)
147
+ query[decodeURIComponent(key)] = decodeURIComponent(val || '');
148
+ });
149
+ }
150
+ return {
151
+ protocol: a.protocol,
152
+ host: a.host,
153
+ port: a.port,
154
+ pathname: a.pathname,
155
+ search: a.search,
156
+ hash: a.hash,
157
+ query,
158
+ };
159
+ }
160
+ /**
161
+ * 拼接带查询参数的 URL
162
+ */
163
+ function buildUrl(base, params) {
164
+ const search = Object.entries(params)
165
+ .filter(([, v]) => v !== undefined && v !== null)
166
+ .map(([k, v]) => `${encodeURIComponent(k)}=${encodeURIComponent(v)}`)
167
+ .join('&');
168
+ if (!search)
169
+ return base;
170
+ const separator = base.includes('?') ? '&' : '?';
171
+ return `${base}${separator}${search}`;
172
+ }
173
+ /**
174
+ * 获取当前页面指定查询参数
175
+ */
176
+ function getQueryParam(name) {
177
+ return new URLSearchParams(window.location.search).get(name);
178
+ }
179
+ /**
180
+ * 获取当前页面所有查询参数
181
+ */
182
+ function getAllQueryParams() {
183
+ const params = {};
184
+ new URLSearchParams(window.location.search).forEach((value, key) => {
185
+ params[key] = value;
186
+ });
187
+ return params;
188
+ }
189
+
190
+ /**
191
+ * Storage 封装
192
+ * 支持过期时间、JSON 自动序列化
193
+ * 通过适配器支持跨端
194
+ */
195
+ /**
196
+ * 获取存储值,支持 JSON 自动反序列化
197
+ */
198
+ function get$1(key) {
199
+ const raw = getAdapter().storage.get(key);
200
+ if (raw === null)
201
+ return null;
202
+ try {
203
+ const item = JSON.parse(raw);
204
+ if (item.expireAt !== null && Date.now() > item.expireAt) {
205
+ getAdapter().storage.remove(key);
206
+ return null;
207
+ }
208
+ return item.value;
209
+ }
210
+ catch (_a) {
211
+ return raw;
212
+ }
213
+ }
214
+ /**
215
+ * 设置存储值,支持过期时间
216
+ */
217
+ function set$1(key, value, options) {
218
+ const item = {
219
+ value,
220
+ expireAt: (options === null || options === void 0 ? void 0 : options.expires) ? Date.now() + options.expires : null,
221
+ };
222
+ getAdapter().storage.set(key, JSON.stringify(item), options);
223
+ }
224
+ /**
225
+ * 删除存储值
226
+ */
227
+ function remove$1(key) {
228
+ getAdapter().storage.remove(key);
229
+ }
230
+ /**
231
+ * 清空所有存储
232
+ */
233
+ function clear() {
234
+ getAdapter().storage.clear();
235
+ }
236
+
237
+ /**
238
+ * Cookie 读写删工具
239
+ */
240
+ /**
241
+ * 获取 Cookie 值
242
+ */
243
+ function get(name) {
244
+ const match = document.cookie.match(new RegExp(`(?:^|;\\s*)${encodeURIComponent(name)}=([^;]*)`));
245
+ return match ? decodeURIComponent(match[1]) : null;
246
+ }
247
+ /**
248
+ * 设置 Cookie
249
+ */
250
+ function set(name, value, options = {}) {
251
+ const parts = [`${encodeURIComponent(name)}=${encodeURIComponent(value)}`];
252
+ if (options.days) {
253
+ const expires = new Date(Date.now() + options.days * 864e5).toUTCString();
254
+ parts.push(`expires=${expires}`);
255
+ }
256
+ if (options.path)
257
+ parts.push(`path=${options.path}`);
258
+ if (options.domain)
259
+ parts.push(`domain=${options.domain}`);
260
+ if (options.secure)
261
+ parts.push('secure');
262
+ if (options.sameSite)
263
+ parts.push(`samesite=${options.sameSite}`);
264
+ document.cookie = parts.join('; ');
265
+ }
266
+ /**
267
+ * 删除 Cookie
268
+ */
269
+ function remove(name, options = {}) {
270
+ set(name, '', { ...options, days: -1 });
271
+ }
272
+
273
+ /**
274
+ * 设备/浏览器检测工具
275
+ */
276
+ /**
277
+ * 是否为 iOS
278
+ */
279
+ function isIOS() {
280
+ return getAdapter().device.getInfo().ios;
281
+ }
282
+ /**
283
+ * 是否为 Android
284
+ */
285
+ function isAndroid() {
286
+ return getAdapter().device.getInfo().android;
287
+ }
288
+ /**
289
+ * 是否为微信浏览器
290
+ */
291
+ function isWeChat() {
292
+ return getAdapter().device.getInfo().weChat;
293
+ }
294
+ /**
295
+ * 是否为移动端
296
+ */
297
+ function isMobile() {
298
+ return getAdapter().device.getInfo().mobile;
299
+ }
300
+ /**
301
+ * 获取浏览器类型(H5 专用)
302
+ */
303
+ function getBrowserType() {
304
+ const ua = typeof navigator !== 'undefined' ? navigator.userAgent : '';
305
+ if (/MicroMessenger/i.test(ua))
306
+ return 'weixin';
307
+ if (/\bQQ\//i.test(ua))
308
+ return 'qq';
309
+ if (/UCBrowser/i.test(ua))
310
+ return 'uc';
311
+ if (/Edg/i.test(ua))
312
+ return 'edge';
313
+ if (/Firefox/i.test(ua))
314
+ return 'firefox';
315
+ if (/MSIE|Trident/i.test(ua))
316
+ return 'ie';
317
+ if (/Chrome/i.test(ua))
318
+ return 'chrome';
319
+ if (/Safari/i.test(ua))
320
+ return 'safari';
321
+ return 'unknown';
322
+ }
323
+ /**
324
+ * 获取操作系统信息
325
+ */
326
+ function getOS() {
327
+ return getAdapter().device.getInfo().os;
328
+ }
329
+ /**
330
+ * 获取完整设备信息
331
+ */
332
+ function getDeviceInfo() {
333
+ return getAdapter().device.getInfo();
334
+ }
335
+
336
+ /**
337
+ * DOM 操作工具
338
+ */
339
+ /**
340
+ * 查询单个元素
341
+ */
342
+ function $(selector) {
343
+ return getAdapter().dom.select(selector);
344
+ }
345
+ /**
346
+ * 查询多个元素
347
+ */
348
+ function $$(selector) {
349
+ return getAdapter().dom.selectAll(selector);
350
+ }
351
+ /**
352
+ * 添加 class
353
+ */
354
+ function addClass(el, cls) {
355
+ el.classList.add(cls);
356
+ }
357
+ /**
358
+ * 移除 class
359
+ */
360
+ function removeClass(el, cls) {
361
+ el.classList.remove(cls);
362
+ }
363
+ /**
364
+ * 切换 class
365
+ */
366
+ function toggleClass(el, cls) {
367
+ el.classList.toggle(cls);
368
+ }
369
+ /**
370
+ * 判断是否包含 class
371
+ */
372
+ function hasClass(el, cls) {
373
+ return el.classList.contains(cls);
374
+ }
375
+ /**
376
+ * 获取元素样式
377
+ */
378
+ function getStyle(el, prop) {
379
+ return el.style.getPropertyValue(prop) || getComputedStyle(el).getPropertyValue(prop);
380
+ }
381
+ /**
382
+ * 判断元素是否在可视区域内
383
+ */
384
+ function isInViewport(el) {
385
+ const rect = el.getBoundingClientRect();
386
+ return (rect.top >= 0 &&
387
+ rect.left >= 0 &&
388
+ rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&
389
+ rect.right <= (window.innerWidth || document.documentElement.clientWidth));
390
+ }
391
+
392
+ /**
393
+ * 事件工具
394
+ */
395
+ /**
396
+ * 绑定事件
397
+ */
398
+ function on(el, event, handler, options) {
399
+ el.addEventListener(event, handler, options);
400
+ }
401
+ /**
402
+ * 解绑事件
403
+ */
404
+ function off(el, event, handler, options) {
405
+ el.removeEventListener(event, handler, options);
406
+ }
407
+ /**
408
+ * 单次监听事件
409
+ */
410
+ function once(el, event, handler) {
411
+ el.addEventListener(event, handler, { once: true });
412
+ }
413
+ /**
414
+ * 事件委托
415
+ * @param parent 父容器
416
+ * @param selector 子元素选择器
417
+ * @param event 事件名
418
+ * @param handler 回调函数
419
+ */
420
+ function delegate(parent, selector, event, handler) {
421
+ const wrappedHandler = (e) => {
422
+ var _a;
423
+ const target = (_a = e.target) === null || _a === void 0 ? void 0 : _a.closest(selector);
424
+ if (target) {
425
+ handler(target, e);
426
+ }
427
+ };
428
+ parent.addEventListener(event, wrappedHandler);
429
+ }
430
+
431
+ /**
432
+ * 剪贴板操作
433
+ */
434
+ /**
435
+ * 复制文本到剪贴板
436
+ */
437
+ function copyText(text) {
438
+ return getAdapter().clipboard.write(text);
439
+ }
440
+ /**
441
+ * 读取剪贴板文本
442
+ */
443
+ function readText() {
444
+ return getAdapter().clipboard.read();
445
+ }
446
+
447
+ /**
448
+ * 滚动相关工具
449
+ */
450
+ let scrollLockCount = 0;
451
+ /**
452
+ * 滚动到页面顶部
453
+ */
454
+ function scrollToTop(smooth = true) {
455
+ getAdapter().scroll.scrollTo({ top: 0, animated: smooth });
456
+ }
457
+ /**
458
+ * 滚动到指定元素
459
+ */
460
+ function scrollToElement(el, options = {}) {
461
+ const { offset = 0, smooth = true } = options;
462
+ const rect = el.getBoundingClientRect();
463
+ const top = window.scrollY + rect.top + offset;
464
+ getAdapter().scroll.scrollTo({ top, animated: smooth });
465
+ }
466
+ /**
467
+ * 锁定页面滚动
468
+ */
469
+ function lockScroll() {
470
+ scrollLockCount++;
471
+ if (scrollLockCount === 1) {
472
+ getAdapter().scroll.lockScroll();
473
+ }
474
+ }
475
+ /**
476
+ * 解锁页面滚动
477
+ */
478
+ function unlockScroll() {
479
+ scrollLockCount = Math.max(0, scrollLockCount - 1);
480
+ if (scrollLockCount === 0) {
481
+ getAdapter().scroll.unlockScroll();
482
+ }
483
+ }
484
+
485
+ /**
486
+ * 格式化工具
487
+ */
488
+ /**
489
+ * 日期格式化
490
+ * @example formatDate(new Date(), 'YYYY-MM-DD HH:mm:ss')
491
+ */
492
+ function formatDate(date, fmt = 'YYYY-MM-DD HH:mm:ss') {
493
+ const d = new Date(date);
494
+ const map = {
495
+ YYYY: String(d.getFullYear()),
496
+ MM: String(d.getMonth() + 1).padStart(2, '0'),
497
+ DD: String(d.getDate()).padStart(2, '0'),
498
+ HH: String(d.getHours()).padStart(2, '0'),
499
+ mm: String(d.getMinutes()).padStart(2, '0'),
500
+ ss: String(d.getSeconds()).padStart(2, '0'),
501
+ };
502
+ let result = fmt;
503
+ for (const [key, val] of Object.entries(map)) {
504
+ result = result.replace(key, val);
505
+ }
506
+ return result;
507
+ }
508
+ /**
509
+ * 数字格式化(千分位等)
510
+ */
511
+ function formatNumber(num, options = {}) {
512
+ const { precision, separator = ',' } = options;
513
+ let str = precision !== undefined ? num.toFixed(precision) : String(num);
514
+ const [intPart, decPart] = str.split('.');
515
+ const formatted = intPart.replace(/\B(?=(\d{3})+(?!\d))/g, separator);
516
+ return decPart !== undefined ? `${formatted}.${decPart}` : formatted;
517
+ }
518
+ /**
519
+ * 手机号格式化 (xxx xxxx xxxx)
520
+ */
521
+ function formatPhone(phone) {
522
+ return phone.replace(/(\d{3})(\d{0,4})(\d{0,4})/, (_, a, b, c) => {
523
+ let result = a;
524
+ if (b)
525
+ result += ` ${b}`;
526
+ if (c)
527
+ result += ` ${c}`;
528
+ return result;
529
+ });
530
+ }
531
+ /**
532
+ * 金额格式化
533
+ */
534
+ function formatMoney(amount, precision = 2) {
535
+ return formatNumber(amount, { precision });
536
+ }
537
+ /**
538
+ * 节流
539
+ */
540
+ function throttle(fn, delay) {
541
+ let last = 0;
542
+ return function (...args) {
543
+ const now = Date.now();
544
+ if (now - last >= delay) {
545
+ last = now;
546
+ fn.apply(this, args);
547
+ }
548
+ };
549
+ }
550
+ /**
551
+ * 防抖
552
+ */
553
+ function debounce(fn, delay) {
554
+ let timer = null;
555
+ return function (...args) {
556
+ if (timer)
557
+ clearTimeout(timer);
558
+ timer = setTimeout(() => fn.apply(this, args), delay);
559
+ };
560
+ }
561
+
562
+ /**
563
+ * 校验器工具
564
+ */
565
+ const patterns = {
566
+ mobile: /^1[3-9]\d{9}$/,
567
+ email: /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/,
568
+ idCard: /^\d{17}[\dXx]$/,
569
+ url: /^https?:\/\/.+/,
570
+ chinese: /^[\u4e00-\u9fa5]+$/,
571
+ };
572
+ /**
573
+ * 手机号格式校验
574
+ */
575
+ function isMobilePhone(str) {
576
+ return patterns.mobile.test(str);
577
+ }
578
+ /**
579
+ * 邮箱校验
580
+ */
581
+ function isEmail(str) {
582
+ return patterns.email.test(str);
583
+ }
584
+ /**
585
+ * 身份证号校验(18位)
586
+ */
587
+ function isIdCard(str) {
588
+ if (!patterns.idCard.test(str))
589
+ return false;
590
+ // 校验位验证
591
+ const weights = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];
592
+ const checkCodes = ['1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'];
593
+ let sum = 0;
594
+ for (let i = 0; i < 17; i++) {
595
+ sum += parseInt(str[i], 10) * weights[i];
596
+ }
597
+ return checkCodes[sum % 11] === str[17].toUpperCase();
598
+ }
599
+ /**
600
+ * URL 校验
601
+ */
602
+ function isUrl(str) {
603
+ return patterns.url.test(str);
604
+ }
605
+ /**
606
+ * 中文校验
607
+ */
608
+ function isChinese(str) {
609
+ return patterns.chinese.test(str);
610
+ }
611
+
612
+ export { $, $$, addClass, buildUrl, clear as clearStorage, copyText, debounce, delegate, formatDate, formatMoney, formatNumber, formatPhone, getAdapter, getAllQueryParams, getBrowserType, get as getCookie, getDeviceInfo, getOS, getQueryParam, get$1 as getStorage, getStyle, hasClass, isAndroid, isChinese, isEmail, isIOS, isIdCard, isInViewport, isMobile, isMobilePhone, isUrl, isWeChat, lockScroll, off, on, once, parseUrl, readText, removeClass, remove as removeCookie, remove$1 as removeStorage, scrollToElement, scrollToTop, setAdapter, set as setCookie, set$1 as setStorage, throttle, toggleClass, unlockScroll };
613
+ //# sourceMappingURL=index.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.esm.js","sources":["../src/adapter/browser.ts","../src/adapter/index.ts","../src/modules/url.ts","../src/modules/storage.ts","../src/modules/cookie.ts","../src/modules/device.ts","../src/modules/dom.ts","../src/modules/event.ts","../src/modules/clipboard.ts","../src/modules/scroll.ts","../src/modules/format.ts","../src/modules/validator.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null],"names":["get","set","remove"],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,57 @@
1
+ {
2
+ "name": "@i17hush/h5-utils",
3
+ "publishConfig": {
4
+ "access": "public"
5
+ },
6
+ "version": "1.0.0",
7
+ "description": "H5常用工具库,封装前端高频方法,采用适配器模式支持浏览器与Taro多端切换",
8
+ "keywords": [
9
+ "utils",
10
+ "h5",
11
+ "taro",
12
+ "browser",
13
+ "storage",
14
+ "clipboard",
15
+ "format",
16
+ "validator",
17
+ "typescript"
18
+ ],
19
+ "author": "",
20
+ "license": "MIT",
21
+ "repository": {
22
+ "type": "git",
23
+ "url": ""
24
+ },
25
+ "main": "dist/index.cjs.js",
26
+ "module": "dist/index.esm.js",
27
+ "types": "dist/index.d.ts",
28
+ "exports": {
29
+ ".": {
30
+ "import": "./dist/index.esm.js",
31
+ "require": "./dist/index.cjs.js",
32
+ "types": "./dist/index.d.ts"
33
+ },
34
+ "./adapter/taro": {
35
+ "import": "./dist/adapter/taro.esm.js",
36
+ "require": "./dist/adapter/taro.cjs.js",
37
+ "types": "./dist/adapter/taro.d.ts"
38
+ }
39
+ },
40
+ "files": [
41
+ "dist"
42
+ ],
43
+ "sideEffects": false,
44
+ "scripts": {
45
+ "build": "rollup -c",
46
+ "typecheck": "tsc --noEmit",
47
+ "prepublishOnly": "npm run build"
48
+ },
49
+ "devDependencies": {
50
+ "@rollup/plugin-typescript": "^11.1.6",
51
+ "@rollup/rollup-darwin-arm64": "^4.60.1",
52
+ "rollup": "^4.18.0",
53
+ "rollup-plugin-dts": "^6.1.1",
54
+ "tslib": "^2.6.3",
55
+ "typescript": "^5.5.0"
56
+ }
57
+ }