@alibarbar/common 1.0.6 → 1.0.8
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/dist/algorithm.js +1 -0
- package/dist/algorithm.mjs +1 -0
- package/dist/array.js +1 -0
- package/dist/array.mjs +1 -0
- package/dist/{chunk-R5ZEPV3P.js → chunk-FEBKPX5A.js} +67 -112
- package/dist/chunk-FEBKPX5A.js.map +1 -0
- package/dist/chunk-FJ6ZGZIA.mjs +39 -0
- package/dist/chunk-FJ6ZGZIA.mjs.map +1 -0
- package/dist/{chunk-ICCDFVFG.mjs → chunk-NJARVI6X.mjs} +67 -113
- package/dist/chunk-NJARVI6X.mjs.map +1 -0
- package/dist/{chunk-HME2N3VY.mjs → chunk-OIXQ3E6W.mjs} +2 -2
- package/dist/{chunk-HME2N3VY.mjs.map → chunk-OIXQ3E6W.mjs.map} +1 -1
- package/dist/chunk-PR4QN5HX.js +44 -0
- package/dist/chunk-PR4QN5HX.js.map +1 -0
- package/dist/{chunk-XVUE53T3.js → chunk-WZDOPUJW.js} +2 -2
- package/dist/{chunk-XVUE53T3.js.map → chunk-WZDOPUJW.js.map} +1 -1
- package/dist/color.js +1 -0
- package/dist/color.mjs +1 -0
- package/dist/crypto.js +1 -0
- package/dist/crypto.mjs +1 -0
- package/dist/data-structure.js +1 -0
- package/dist/data-structure.mjs +1 -0
- package/dist/date.js +1 -0
- package/dist/date.mjs +1 -0
- package/dist/dom.js +1 -0
- package/dist/dom.mjs +1 -0
- package/dist/file.js +1 -0
- package/dist/file.mjs +1 -0
- package/dist/i18n.js +1 -0
- package/dist/i18n.mjs +1 -0
- package/dist/index.d.mts +160 -2
- package/dist/index.d.ts +160 -2
- package/dist/index.js +17156 -11
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +17135 -2
- package/dist/index.mjs.map +1 -1
- package/dist/network.js +1 -0
- package/dist/network.mjs +1 -0
- package/dist/number.js +1 -0
- package/dist/number.mjs +1 -0
- package/dist/object.js +1 -0
- package/dist/object.mjs +1 -0
- package/dist/performance.js +1 -0
- package/dist/performance.mjs +1 -0
- package/dist/storage.js +8 -7
- package/dist/storage.mjs +2 -1
- package/dist/string.js +1 -0
- package/dist/string.mjs +1 -0
- package/dist/tracking.js +1 -0
- package/dist/tracking.mjs +1 -0
- package/dist/transform.js +1 -0
- package/dist/transform.mjs +1 -0
- package/dist/{upload-StSeeRRa.d.mts → upload-DchqyDBQ.d.mts} +38 -13
- package/dist/{upload-StSeeRRa.d.ts → upload-DchqyDBQ.d.ts} +38 -13
- package/dist/upload.d.mts +1 -1
- package/dist/upload.d.ts +1 -1
- package/dist/upload.js +8 -3
- package/dist/upload.mjs +2 -1
- package/dist/url.js +1 -0
- package/dist/url.mjs +1 -0
- package/dist/validation.js +1 -0
- package/dist/validation.mjs +1 -0
- package/package.json +4 -1
- package/dist/chunk-ICCDFVFG.mjs.map +0 -1
- package/dist/chunk-R5ZEPV3P.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/browser/storage.ts"],"names":["rsaEncrypt","rsaDecrypt","cookie"],"mappings":"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","file":"chunk-XVUE53T3.js","sourcesContent":["/**\n * 存储工具函数\n */\n\nimport { rsaEncrypt, rsaDecrypt, type RSAKeyPair } from '../helper/crypto';\n\n/**\n * 存储项配置\n */\ninterface StorageItem<T> {\n value: T;\n expiry?: number; // 过期时间戳\n}\n\n/**\n * 存储配置选项\n */\nexport interface StorageOptions {\n /** RSA公钥(用于加密) */\n publicKey?: CryptoKey;\n /** RSA私钥(用于解密) */\n privateKey?: CryptoKey;\n /** 是否启用加密,默认为 true */\n encrypt?: boolean;\n}\n\n// 全局密钥对(可选,用户也可以传入)\nlet globalKeyPair: RSAKeyPair | null = null;\n\n/**\n * 设置全局RSA密钥对\n * @param keyPair - RSA密钥对\n */\nexport function setStorageKeyPair(keyPair: RSAKeyPair): void {\n globalKeyPair = keyPair;\n}\n\n/**\n * 获取全局密钥对\n * @returns 全局密钥对或null\n */\nexport function getStorageKeyPair(): RSAKeyPair | null {\n return globalKeyPair;\n}\n\n/**\n * 加密存储值\n * @param value - 要加密的值\n * @param publicKey - RSA公钥\n * @returns Promise<string> 加密后的Base64字符串\n */\nasync function encryptValue(value: string, publicKey: CryptoKey): Promise<string> {\n return rsaEncrypt(value, publicKey);\n}\n\n/**\n * 解密存储值\n * @param encryptedValue - 加密后的Base64字符串\n * @param privateKey - RSA私钥\n * @returns Promise<string> 解密后的字符串\n */\nasync function decryptValue(encryptedValue: string, privateKey: CryptoKey): Promise<string> {\n try {\n return await rsaDecrypt(encryptedValue, privateKey);\n } catch {\n // 如果解密失败,可能是旧数据(未加密)或格式错误\n // 尝试直接解析 JSON(向后兼容)\n try {\n JSON.parse(encryptedValue);\n return encryptedValue; // 如果是有效的 JSON,返回原值\n } catch {\n throw new Error('Failed to decrypt storage value');\n }\n }\n}\n\n/**\n * localStorage封装(支持过期时间和RSA加密)\n */\nexport const localStorage = {\n /**\n * 设置值\n * @param key - 键\n * @param value - 值\n * @param options - 选项(过期时间、密钥等)\n * @returns Promise<void>\n */\n async set<T>(\n key: string,\n value: T,\n options: {\n expiry?: number;\n publicKey?: CryptoKey;\n } = {}\n ): Promise<void> {\n if (typeof window === 'undefined' || !window.localStorage) {\n throw new Error('localStorage is not available');\n }\n\n const { expiry, publicKey } = options;\n const item: StorageItem<T> = {\n value,\n expiry: expiry ? Date.now() + expiry : undefined,\n };\n\n try {\n const jsonStr = JSON.stringify(item);\n\n // 如果提供了公钥或全局密钥对存在,使用RSA加密\n const keyToUse = publicKey || globalKeyPair?.publicKey;\n if (keyToUse) {\n const encrypted = await encryptValue(jsonStr, keyToUse);\n window.localStorage.setItem(key, encrypted);\n } else {\n // 如果没有密钥,使用Base64编码(向后兼容)\n const { base64Encode } = await import('../helper/crypto');\n const encoded = base64Encode(jsonStr);\n window.localStorage.setItem(key, encoded);\n }\n } catch (error) {\n console.error('localStorage.set error:', error);\n throw error;\n }\n },\n\n /**\n * 获取值\n * @param key - 键\n * @param options - 选项(默认值、私钥等)\n * @returns Promise<T | undefined> 值或默认值\n */\n async get<T>(\n key: string,\n options: {\n defaultValue?: T;\n privateKey?: CryptoKey;\n } = {}\n ): Promise<T | undefined> {\n if (typeof window === 'undefined' || !window.localStorage) {\n return options.defaultValue;\n }\n\n const { defaultValue, privateKey } = options;\n\n try {\n const encryptedStr = window.localStorage.getItem(key);\n if (!encryptedStr) return defaultValue;\n\n let decryptedStr: string;\n\n // 如果提供了私钥或全局密钥对存在,使用RSA解密\n const keyToUse = privateKey || globalKeyPair?.privateKey;\n if (keyToUse) {\n try {\n decryptedStr = await decryptValue(encryptedStr, keyToUse);\n } catch {\n // RSA解密失败,尝试Base64解码(向后兼容)\n const { base64Decode } = await import('../helper/crypto');\n try {\n decryptedStr = base64Decode(encryptedStr);\n } catch {\n return defaultValue;\n }\n }\n } else {\n // 如果没有密钥,尝试Base64解码\n const { base64Decode } = await import('../helper/crypto');\n try {\n decryptedStr = base64Decode(encryptedStr);\n } catch {\n return defaultValue;\n }\n }\n\n const item: StorageItem<T> = JSON.parse(decryptedStr);\n\n // 检查是否过期\n if (item.expiry && Date.now() > item.expiry) {\n window.localStorage.removeItem(key);\n return defaultValue;\n }\n\n return item.value;\n } catch {\n return defaultValue;\n }\n },\n\n /**\n * 移除值\n * @param key - 键\n */\n remove(key: string): void {\n if (typeof window === 'undefined' || !window.localStorage) return;\n try {\n window.localStorage.removeItem(key);\n } catch (error) {\n console.error('localStorage.remove error:', error);\n }\n },\n\n /**\n * 清空所有值\n */\n clear(): void {\n if (typeof window === 'undefined' || !window.localStorage) return;\n try {\n window.localStorage.clear();\n } catch (error) {\n console.error('localStorage.clear error:', error);\n }\n },\n\n /**\n * 获取所有键\n * @returns 键数组\n */\n keys(): string[] {\n if (typeof window === 'undefined' || !window.localStorage) return [];\n const keys: string[] = [];\n try {\n for (let i = 0; i < window.localStorage.length; i++) {\n const key = window.localStorage.key(i);\n if (key) keys.push(key);\n }\n } catch (error) {\n console.error('localStorage.keys error:', error);\n }\n return keys;\n },\n};\n\n/**\n * sessionStorage封装(支持RSA加密)\n */\nexport const sessionStorage = {\n /**\n * 设置值\n * @param key - 键\n * @param value - 值\n * @param options - 选项(公钥等)\n * @returns Promise<void>\n */\n async set<T>(\n key: string,\n value: T,\n options: {\n publicKey?: CryptoKey;\n } = {}\n ): Promise<void> {\n if (typeof window === 'undefined' || !window.sessionStorage) {\n throw new Error('sessionStorage is not available');\n }\n\n const { publicKey } = options;\n\n try {\n const jsonStr = JSON.stringify(value);\n\n // 如果提供了公钥或全局密钥对存在,使用RSA加密\n const keyToUse = publicKey || globalKeyPair?.publicKey;\n if (keyToUse) {\n const encrypted = await encryptValue(jsonStr, keyToUse);\n window.sessionStorage.setItem(key, encrypted);\n } else {\n // 如果没有密钥,使用Base64编码(向后兼容)\n const { base64Encode } = await import('../helper/crypto');\n const encoded = base64Encode(jsonStr);\n window.sessionStorage.setItem(key, encoded);\n }\n } catch (error) {\n console.error('sessionStorage.set error:', error);\n throw error;\n }\n },\n\n /**\n * 获取值\n * @param key - 键\n * @param options - 选项(默认值、私钥等)\n * @returns Promise<T | undefined> 值或默认值\n */\n async get<T>(\n key: string,\n options: {\n defaultValue?: T;\n privateKey?: CryptoKey;\n } = {}\n ): Promise<T | undefined> {\n if (typeof window === 'undefined' || !window.sessionStorage) {\n return options.defaultValue;\n }\n\n const { defaultValue, privateKey } = options;\n\n try {\n const encryptedStr = window.sessionStorage.getItem(key);\n if (!encryptedStr) return defaultValue;\n\n let decryptedStr: string;\n\n // 如果提供了私钥或全局密钥对存在,使用RSA解密\n const keyToUse = privateKey || globalKeyPair?.privateKey;\n if (keyToUse) {\n try {\n decryptedStr = await decryptValue(encryptedStr, keyToUse);\n } catch {\n // RSA解密失败,尝试Base64解码(向后兼容)\n const { base64Decode } = await import('../helper/crypto');\n try {\n decryptedStr = base64Decode(encryptedStr);\n } catch {\n return defaultValue;\n }\n }\n } else {\n // 如果没有密钥,尝试Base64解码\n const { base64Decode } = await import('../helper/crypto');\n try {\n decryptedStr = base64Decode(encryptedStr);\n } catch {\n return defaultValue;\n }\n }\n\n return JSON.parse(decryptedStr) as T;\n } catch {\n return defaultValue;\n }\n },\n\n /**\n * 移除值\n * @param key - 键\n */\n remove(key: string): void {\n if (typeof window === 'undefined' || !window.sessionStorage) return;\n try {\n window.sessionStorage.removeItem(key);\n } catch (error) {\n console.error('sessionStorage.remove error:', error);\n }\n },\n\n /**\n * 清空所有值\n */\n clear(): void {\n if (typeof window === 'undefined' || !window.sessionStorage) return;\n try {\n window.sessionStorage.clear();\n } catch (error) {\n console.error('sessionStorage.clear error:', error);\n }\n },\n};\n\n/**\n * Cookie操作封装\n */\nexport const cookie = {\n /**\n * 设置Cookie\n * @param key - 键\n * @param value - 值\n * @param options - Cookie选项\n */\n set(\n key: string,\n value: string,\n options: {\n expires?: number | Date; // 过期时间(天数或Date对象)\n path?: string;\n domain?: string;\n secure?: boolean;\n sameSite?: 'strict' | 'lax' | 'none';\n } = {}\n ): void {\n if (typeof document === 'undefined') {\n throw new Error('document is not available');\n }\n\n let cookieStr = `${encodeURIComponent(key)}=${encodeURIComponent(value)}`;\n\n if (options.expires) {\n const expiresDate =\n options.expires instanceof Date\n ? options.expires\n : new Date(Date.now() + options.expires * 24 * 60 * 60 * 1000);\n cookieStr += `; expires=${expiresDate.toUTCString()}`;\n }\n\n if (options.path) cookieStr += `; path=${options.path}`;\n if (options.domain) cookieStr += `; domain=${options.domain}`;\n if (options.secure) cookieStr += '; secure';\n if (options.sameSite) cookieStr += `; sameSite=${options.sameSite}`;\n\n document.cookie = cookieStr;\n },\n\n /**\n * 获取Cookie\n * @param key - 键\n * @returns Cookie值\n */\n get(key: string): string | undefined {\n if (typeof document === 'undefined') return undefined;\n\n const name = encodeURIComponent(key);\n const cookies = document.cookie.split(';');\n\n for (const cookie of cookies) {\n const [cookieKey, cookieValue] = cookie.trim().split('=');\n if (cookieKey === name) {\n return decodeURIComponent(cookieValue);\n }\n }\n\n return undefined;\n },\n\n /**\n * 移除Cookie\n * @param key - 键\n * @param options - Cookie选项\n */\n remove(key: string, options: { path?: string; domain?: string } = {}): void {\n cookie.set(key, '', {\n ...options,\n expires: new Date(0),\n });\n },\n\n /**\n * 获取所有Cookie\n * @returns Cookie对象\n */\n getAll(): Record<string, string> {\n if (typeof document === 'undefined') return {};\n\n const cookies: Record<string, string> = {};\n document.cookie.split(';').forEach(cookieStr => {\n const [key, value] = cookieStr.trim().split('=');\n if (key && value) {\n cookies[decodeURIComponent(key)] = decodeURIComponent(value);\n }\n });\n\n return cookies;\n },\n};\n\n/**\n * 统一存储接口(自动选择存储方式,支持RSA加密)\n */\nexport const storage = {\n /**\n * 设置值(优先使用localStorage,失败则使用sessionStorage)\n * @param key - 键\n * @param value - 值\n * @param options - 选项(过期时间、公钥等)\n * @returns Promise<void>\n */\n async set<T>(\n key: string,\n value: T,\n options: {\n expiry?: number;\n publicKey?: CryptoKey;\n } = {}\n ): Promise<void> {\n try {\n await localStorage.set(key, value, options);\n } catch {\n try {\n await sessionStorage.set(key, value, { publicKey: options.publicKey });\n } catch {\n console.warn('Both localStorage and sessionStorage are not available');\n }\n }\n },\n\n /**\n * 获取值\n * @param key - 键\n * @param options - 选项(默认值、私钥等)\n * @returns Promise<T | undefined> 值或默认值\n */\n async get<T>(\n key: string,\n options: {\n defaultValue?: T;\n privateKey?: CryptoKey;\n } = {}\n ): Promise<T | undefined> {\n const localValue = await localStorage.get<T>(key, options);\n if (localValue !== undefined) return localValue;\n\n const sessionValue = await sessionStorage.get<T>(key, options);\n return sessionValue !== undefined ? sessionValue : options.defaultValue;\n },\n\n /**\n * 移除值\n * @param key - 键\n */\n remove(key: string): void {\n localStorage.remove(key);\n sessionStorage.remove(key);\n },\n\n /**\n * 清空所有值\n */\n clear(): void {\n localStorage.clear();\n sessionStorage.clear();\n },\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/browser/storage.ts"],"names":["rsaEncrypt","rsaDecrypt","cookie"],"mappings":"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","file":"chunk-WZDOPUJW.js","sourcesContent":["/**\n * 存储工具函数\n */\n\nimport { rsaEncrypt, rsaDecrypt, type RSAKeyPair } from '../helper/crypto';\n\n/**\n * 存储项配置\n */\ninterface StorageItem<T> {\n value: T;\n expiry?: number; // 过期时间戳\n}\n\n/**\n * 存储配置选项\n */\nexport interface StorageOptions {\n /** RSA公钥(用于加密) */\n publicKey?: CryptoKey;\n /** RSA私钥(用于解密) */\n privateKey?: CryptoKey;\n /** 是否启用加密,默认为 true */\n encrypt?: boolean;\n}\n\n// 全局密钥对(可选,用户也可以传入)\nlet globalKeyPair: RSAKeyPair | null = null;\n\n/**\n * 设置全局RSA密钥对\n * @param keyPair - RSA密钥对\n */\nexport function setStorageKeyPair(keyPair: RSAKeyPair): void {\n globalKeyPair = keyPair;\n}\n\n/**\n * 获取全局密钥对\n * @returns 全局密钥对或null\n */\nexport function getStorageKeyPair(): RSAKeyPair | null {\n return globalKeyPair;\n}\n\n/**\n * 加密存储值\n * @param value - 要加密的值\n * @param publicKey - RSA公钥\n * @returns Promise<string> 加密后的Base64字符串\n */\nasync function encryptValue(value: string, publicKey: CryptoKey): Promise<string> {\n return rsaEncrypt(value, publicKey);\n}\n\n/**\n * 解密存储值\n * @param encryptedValue - 加密后的Base64字符串\n * @param privateKey - RSA私钥\n * @returns Promise<string> 解密后的字符串\n */\nasync function decryptValue(encryptedValue: string, privateKey: CryptoKey): Promise<string> {\n try {\n return await rsaDecrypt(encryptedValue, privateKey);\n } catch {\n // 如果解密失败,可能是旧数据(未加密)或格式错误\n // 尝试直接解析 JSON(向后兼容)\n try {\n JSON.parse(encryptedValue);\n return encryptedValue; // 如果是有效的 JSON,返回原值\n } catch {\n throw new Error('Failed to decrypt storage value');\n }\n }\n}\n\n/**\n * localStorage封装(支持过期时间和RSA加密)\n */\nexport const localStorage = {\n /**\n * 设置值\n * @param key - 键\n * @param value - 值\n * @param options - 选项(过期时间、密钥等)\n * @returns Promise<void>\n */\n async set<T>(\n key: string,\n value: T,\n options: {\n expiry?: number;\n publicKey?: CryptoKey;\n } = {}\n ): Promise<void> {\n if (typeof window === 'undefined' || !window.localStorage) {\n throw new Error('localStorage is not available');\n }\n\n const { expiry, publicKey } = options;\n const item: StorageItem<T> = {\n value,\n expiry: expiry ? Date.now() + expiry : undefined,\n };\n\n try {\n const jsonStr = JSON.stringify(item);\n\n // 如果提供了公钥或全局密钥对存在,使用RSA加密\n const keyToUse = publicKey || globalKeyPair?.publicKey;\n if (keyToUse) {\n const encrypted = await encryptValue(jsonStr, keyToUse);\n window.localStorage.setItem(key, encrypted);\n } else {\n // 如果没有密钥,使用Base64编码(向后兼容)\n const { base64Encode } = await import('../helper/crypto');\n const encoded = base64Encode(jsonStr);\n window.localStorage.setItem(key, encoded);\n }\n } catch (error) {\n console.error('localStorage.set error:', error);\n throw error;\n }\n },\n\n /**\n * 获取值\n * @param key - 键\n * @param options - 选项(默认值、私钥等)\n * @returns Promise<T | undefined> 值或默认值\n */\n async get<T>(\n key: string,\n options: {\n defaultValue?: T;\n privateKey?: CryptoKey;\n } = {}\n ): Promise<T | undefined> {\n if (typeof window === 'undefined' || !window.localStorage) {\n return options.defaultValue;\n }\n\n const { defaultValue, privateKey } = options;\n\n try {\n const encryptedStr = window.localStorage.getItem(key);\n if (!encryptedStr) return defaultValue;\n\n let decryptedStr: string;\n\n // 如果提供了私钥或全局密钥对存在,使用RSA解密\n const keyToUse = privateKey || globalKeyPair?.privateKey;\n if (keyToUse) {\n try {\n decryptedStr = await decryptValue(encryptedStr, keyToUse);\n } catch {\n // RSA解密失败,尝试Base64解码(向后兼容)\n const { base64Decode } = await import('../helper/crypto');\n try {\n decryptedStr = base64Decode(encryptedStr);\n } catch {\n return defaultValue;\n }\n }\n } else {\n // 如果没有密钥,尝试Base64解码\n const { base64Decode } = await import('../helper/crypto');\n try {\n decryptedStr = base64Decode(encryptedStr);\n } catch {\n return defaultValue;\n }\n }\n\n const item: StorageItem<T> = JSON.parse(decryptedStr);\n\n // 检查是否过期\n if (item.expiry && Date.now() > item.expiry) {\n window.localStorage.removeItem(key);\n return defaultValue;\n }\n\n return item.value;\n } catch {\n return defaultValue;\n }\n },\n\n /**\n * 移除值\n * @param key - 键\n */\n remove(key: string): void {\n if (typeof window === 'undefined' || !window.localStorage) return;\n try {\n window.localStorage.removeItem(key);\n } catch (error) {\n console.error('localStorage.remove error:', error);\n }\n },\n\n /**\n * 清空所有值\n */\n clear(): void {\n if (typeof window === 'undefined' || !window.localStorage) return;\n try {\n window.localStorage.clear();\n } catch (error) {\n console.error('localStorage.clear error:', error);\n }\n },\n\n /**\n * 获取所有键\n * @returns 键数组\n */\n keys(): string[] {\n if (typeof window === 'undefined' || !window.localStorage) return [];\n const keys: string[] = [];\n try {\n for (let i = 0; i < window.localStorage.length; i++) {\n const key = window.localStorage.key(i);\n if (key) keys.push(key);\n }\n } catch (error) {\n console.error('localStorage.keys error:', error);\n }\n return keys;\n },\n};\n\n/**\n * sessionStorage封装(支持RSA加密)\n */\nexport const sessionStorage = {\n /**\n * 设置值\n * @param key - 键\n * @param value - 值\n * @param options - 选项(公钥等)\n * @returns Promise<void>\n */\n async set<T>(\n key: string,\n value: T,\n options: {\n publicKey?: CryptoKey;\n } = {}\n ): Promise<void> {\n if (typeof window === 'undefined' || !window.sessionStorage) {\n throw new Error('sessionStorage is not available');\n }\n\n const { publicKey } = options;\n\n try {\n const jsonStr = JSON.stringify(value);\n\n // 如果提供了公钥或全局密钥对存在,使用RSA加密\n const keyToUse = publicKey || globalKeyPair?.publicKey;\n if (keyToUse) {\n const encrypted = await encryptValue(jsonStr, keyToUse);\n window.sessionStorage.setItem(key, encrypted);\n } else {\n // 如果没有密钥,使用Base64编码(向后兼容)\n const { base64Encode } = await import('../helper/crypto');\n const encoded = base64Encode(jsonStr);\n window.sessionStorage.setItem(key, encoded);\n }\n } catch (error) {\n console.error('sessionStorage.set error:', error);\n throw error;\n }\n },\n\n /**\n * 获取值\n * @param key - 键\n * @param options - 选项(默认值、私钥等)\n * @returns Promise<T | undefined> 值或默认值\n */\n async get<T>(\n key: string,\n options: {\n defaultValue?: T;\n privateKey?: CryptoKey;\n } = {}\n ): Promise<T | undefined> {\n if (typeof window === 'undefined' || !window.sessionStorage) {\n return options.defaultValue;\n }\n\n const { defaultValue, privateKey } = options;\n\n try {\n const encryptedStr = window.sessionStorage.getItem(key);\n if (!encryptedStr) return defaultValue;\n\n let decryptedStr: string;\n\n // 如果提供了私钥或全局密钥对存在,使用RSA解密\n const keyToUse = privateKey || globalKeyPair?.privateKey;\n if (keyToUse) {\n try {\n decryptedStr = await decryptValue(encryptedStr, keyToUse);\n } catch {\n // RSA解密失败,尝试Base64解码(向后兼容)\n const { base64Decode } = await import('../helper/crypto');\n try {\n decryptedStr = base64Decode(encryptedStr);\n } catch {\n return defaultValue;\n }\n }\n } else {\n // 如果没有密钥,尝试Base64解码\n const { base64Decode } = await import('../helper/crypto');\n try {\n decryptedStr = base64Decode(encryptedStr);\n } catch {\n return defaultValue;\n }\n }\n\n return JSON.parse(decryptedStr) as T;\n } catch {\n return defaultValue;\n }\n },\n\n /**\n * 移除值\n * @param key - 键\n */\n remove(key: string): void {\n if (typeof window === 'undefined' || !window.sessionStorage) return;\n try {\n window.sessionStorage.removeItem(key);\n } catch (error) {\n console.error('sessionStorage.remove error:', error);\n }\n },\n\n /**\n * 清空所有值\n */\n clear(): void {\n if (typeof window === 'undefined' || !window.sessionStorage) return;\n try {\n window.sessionStorage.clear();\n } catch (error) {\n console.error('sessionStorage.clear error:', error);\n }\n },\n};\n\n/**\n * Cookie操作封装\n */\nexport const cookie = {\n /**\n * 设置Cookie\n * @param key - 键\n * @param value - 值\n * @param options - Cookie选项\n */\n set(\n key: string,\n value: string,\n options: {\n expires?: number | Date; // 过期时间(天数或Date对象)\n path?: string;\n domain?: string;\n secure?: boolean;\n sameSite?: 'strict' | 'lax' | 'none';\n } = {}\n ): void {\n if (typeof document === 'undefined') {\n throw new Error('document is not available');\n }\n\n let cookieStr = `${encodeURIComponent(key)}=${encodeURIComponent(value)}`;\n\n if (options.expires) {\n const expiresDate =\n options.expires instanceof Date\n ? options.expires\n : new Date(Date.now() + options.expires * 24 * 60 * 60 * 1000);\n cookieStr += `; expires=${expiresDate.toUTCString()}`;\n }\n\n if (options.path) cookieStr += `; path=${options.path}`;\n if (options.domain) cookieStr += `; domain=${options.domain}`;\n if (options.secure) cookieStr += '; secure';\n if (options.sameSite) cookieStr += `; sameSite=${options.sameSite}`;\n\n document.cookie = cookieStr;\n },\n\n /**\n * 获取Cookie\n * @param key - 键\n * @returns Cookie值\n */\n get(key: string): string | undefined {\n if (typeof document === 'undefined') return undefined;\n\n const name = encodeURIComponent(key);\n const cookies = document.cookie.split(';');\n\n for (const cookie of cookies) {\n const [cookieKey, cookieValue] = cookie.trim().split('=');\n if (cookieKey === name) {\n return decodeURIComponent(cookieValue);\n }\n }\n\n return undefined;\n },\n\n /**\n * 移除Cookie\n * @param key - 键\n * @param options - Cookie选项\n */\n remove(key: string, options: { path?: string; domain?: string } = {}): void {\n cookie.set(key, '', {\n ...options,\n expires: new Date(0),\n });\n },\n\n /**\n * 获取所有Cookie\n * @returns Cookie对象\n */\n getAll(): Record<string, string> {\n if (typeof document === 'undefined') return {};\n\n const cookies: Record<string, string> = {};\n document.cookie.split(';').forEach(cookieStr => {\n const [key, value] = cookieStr.trim().split('=');\n if (key && value) {\n cookies[decodeURIComponent(key)] = decodeURIComponent(value);\n }\n });\n\n return cookies;\n },\n};\n\n/**\n * 统一存储接口(自动选择存储方式,支持RSA加密)\n */\nexport const storage = {\n /**\n * 设置值(优先使用localStorage,失败则使用sessionStorage)\n * @param key - 键\n * @param value - 值\n * @param options - 选项(过期时间、公钥等)\n * @returns Promise<void>\n */\n async set<T>(\n key: string,\n value: T,\n options: {\n expiry?: number;\n publicKey?: CryptoKey;\n } = {}\n ): Promise<void> {\n try {\n await localStorage.set(key, value, options);\n } catch {\n try {\n await sessionStorage.set(key, value, { publicKey: options.publicKey });\n } catch {\n console.warn('Both localStorage and sessionStorage are not available');\n }\n }\n },\n\n /**\n * 获取值\n * @param key - 键\n * @param options - 选项(默认值、私钥等)\n * @returns Promise<T | undefined> 值或默认值\n */\n async get<T>(\n key: string,\n options: {\n defaultValue?: T;\n privateKey?: CryptoKey;\n } = {}\n ): Promise<T | undefined> {\n const localValue = await localStorage.get<T>(key, options);\n if (localValue !== undefined) return localValue;\n\n const sessionValue = await sessionStorage.get<T>(key, options);\n return sessionValue !== undefined ? sessionValue : options.defaultValue;\n },\n\n /**\n * 移除值\n * @param key - 键\n */\n remove(key: string): void {\n localStorage.remove(key);\n sessionStorage.remove(key);\n },\n\n /**\n * 清空所有值\n */\n clear(): void {\n localStorage.clear();\n sessionStorage.clear();\n },\n};\n"]}
|
package/dist/color.js
CHANGED
package/dist/color.mjs
CHANGED
package/dist/crypto.js
CHANGED
package/dist/crypto.mjs
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export { base64Decode, base64Encode, exportPrivateKey, exportPublicKey, generateRSAKeyPair, generateRandomString, generateUUID, hash, importPrivateKey, importPublicKey, rsaDecrypt, rsaEncrypt, sha256 } from './chunk-HLDFI7R2.mjs';
|
|
2
|
+
import './chunk-FJ6ZGZIA.mjs';
|
|
2
3
|
//# sourceMappingURL=crypto.mjs.map
|
|
3
4
|
//# sourceMappingURL=crypto.mjs.map
|
package/dist/data-structure.js
CHANGED
package/dist/data-structure.mjs
CHANGED
package/dist/date.js
CHANGED
package/dist/date.mjs
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export { addDays, addMonths, addYears, diffDays, endOfDay, formatDate, getDateFormatByGMT, getQuarter, getRelativeTime, getTimeFromGMT, getWeekNumber, isToday, isWeekday, isWeekend, isYesterday, startOfDay } from './chunk-5BGSUGTI.mjs';
|
|
2
|
+
import './chunk-FJ6ZGZIA.mjs';
|
|
2
3
|
//# sourceMappingURL=date.mjs.map
|
|
3
4
|
//# sourceMappingURL=date.mjs.map
|
package/dist/dom.js
CHANGED
package/dist/dom.mjs
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export { $, $$, addClass, copyToClipboard, getElementOffset, getScrollPosition, getStyle, isInViewport, removeClass, scrollTo, setStyle, toggleClass } from './chunk-LF4CILQS.mjs';
|
|
2
|
+
import './chunk-FJ6ZGZIA.mjs';
|
|
2
3
|
//# sourceMappingURL=dom.mjs.map
|
|
3
4
|
//# sourceMappingURL=dom.mjs.map
|
package/dist/file.js
CHANGED
package/dist/file.mjs
CHANGED
package/dist/i18n.js
CHANGED
package/dist/i18n.mjs
CHANGED
package/dist/index.d.mts
CHANGED
|
@@ -8,7 +8,7 @@ export { ParsedUrl, buildUrl, getQueryParams, isAbsoluteUrl, joinUrl, normalizeU
|
|
|
8
8
|
export { HSL, RGB, contrast, darken, hexToRgb, hslToRgb, lighten, mix, rgbToHex, rgbToHsl } from './color.mjs';
|
|
9
9
|
export { CurrencyCode, Locale, TranslationDictionary, createTranslator, formatCurrencyI18n, formatDateI18n, formatNumberI18n, formatRelativeTime, getLocale, pluralize, translate } from './i18n.mjs';
|
|
10
10
|
export { calculateBlobMD5, calculateFileMD5, formatFileSize, getFileExtension, getFileNameWithoutExtension, splitFileIntoChunks } from './file.mjs';
|
|
11
|
-
export { A as ApiResponse, h as ChunkInfo, b as ChunkUploadResponse, C as ChunkUploader, d as CompleteUploadResponse, U as UploadInitRequest, a as UploadInitResponse, f as UploadOptions, e as UploadProgress, g as UploadStatus, c as createUploader } from './upload-
|
|
11
|
+
export { A as ApiResponse, h as ChunkInfo, b as ChunkUploadResponse, C as ChunkUploader, d as CompleteUploadResponse, U as UploadInitRequest, a as UploadInitResponse, f as UploadOptions, e as UploadProgress, g as UploadStatus, c as createUploader, u as uploadFile } from './upload-DchqyDBQ.mjs';
|
|
12
12
|
export { StorageOptions, cookie, getStorageKeyPair, localStorage, sessionStorage, setStorageKeyPair, storage } from './storage.mjs';
|
|
13
13
|
export { checkOnline, downloadFile, fetchWithRetry, fetchWithTimeout, request } from './network.mjs';
|
|
14
14
|
export { $, $$, addClass, copyToClipboard, getElementOffset, getScrollPosition, getStyle, isInViewport, removeClass, scrollTo, setStyle, toggleClass } from './dom.mjs';
|
|
@@ -18,6 +18,164 @@ export { binarySearch, bubbleSort, factorial, fibonacci, fibonacciSequence, gcd,
|
|
|
18
18
|
export { Queue, batch, debounce, memoize, once, retry, throttle, timeout } from './performance.mjs';
|
|
19
19
|
export { RSAKeyPair, base64Decode, base64Encode, exportPrivateKey, exportPublicKey, generateRSAKeyPair, generateRandomString, generateUUID, hash, importPrivateKey, importPublicKey, rsaDecrypt, rsaEncrypt, sha256 } from './crypto.mjs';
|
|
20
20
|
export { ExposureOptions, Tracker, TrackerOptions, TrackingEvent, TrackingEventType, createTracker, flush, getTracker, initTracker, setCommonParams, setUserInfo, trackClick, trackEvent, trackExposure, trackPageView } from './tracking.mjs';
|
|
21
|
+
import { AxiosRequestConfig, AxiosInstance } from 'axios';
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* 扩展 Navigator 接口以支持 msSaveBlob
|
|
25
|
+
*/
|
|
26
|
+
declare global {
|
|
27
|
+
interface Navigator {
|
|
28
|
+
msSaveBlob?: (blob: Blob, fileName: string) => boolean;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* 消息事件类型
|
|
33
|
+
*/
|
|
34
|
+
type MessageEventType = 'info' | 'success' | 'warn' | 'warning' | 'error';
|
|
35
|
+
/**
|
|
36
|
+
* 消息事件载荷
|
|
37
|
+
*/
|
|
38
|
+
interface MessageEventPayload {
|
|
39
|
+
/** 消息类型 */
|
|
40
|
+
type: MessageEventType;
|
|
41
|
+
/** 消息内容 */
|
|
42
|
+
message: string;
|
|
43
|
+
/** 错误代码(可选) */
|
|
44
|
+
code?: number;
|
|
45
|
+
/** HTTP 状态码(可选) */
|
|
46
|
+
status?: number;
|
|
47
|
+
/** 请求配置(可选) */
|
|
48
|
+
config?: AxiosRequestConfig;
|
|
49
|
+
/** 错误对象(可选) */
|
|
50
|
+
error?: unknown;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* 消息事件处理器
|
|
54
|
+
*/
|
|
55
|
+
type MessageEventHandler = (payload: MessageEventPayload) => void;
|
|
56
|
+
/**
|
|
57
|
+
* 服务事件处理器配置
|
|
58
|
+
*/
|
|
59
|
+
interface ServiceEventHandlers {
|
|
60
|
+
/** 统一消息/错误事件处理器 */
|
|
61
|
+
message?: MessageEventHandler | null;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* 扩展的 Axios 请求配置
|
|
65
|
+
* 只声明扩展的属性,继承的属性不需要重复声明
|
|
66
|
+
*/
|
|
67
|
+
interface ExtendedAxiosRequestConfig extends AxiosRequestConfig {
|
|
68
|
+
/** 是否隐藏错误提示 */
|
|
69
|
+
hidden?: boolean;
|
|
70
|
+
/** 操作名称(用于错误提示) */
|
|
71
|
+
action?: string;
|
|
72
|
+
/** 是否清空空参数 */
|
|
73
|
+
emptyParams?: boolean;
|
|
74
|
+
/** 是否为文件下载 */
|
|
75
|
+
file?: boolean;
|
|
76
|
+
/** 重试计数(内部使用) */
|
|
77
|
+
_retryCount?: number;
|
|
78
|
+
/** 是否禁用自动重试 */
|
|
79
|
+
_noAutoRetry?: boolean;
|
|
80
|
+
/** 是否禁用自动添加时间戳(仅对 GET 请求有效) */
|
|
81
|
+
disableTimestamp?: boolean;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* 服务响应数据类型
|
|
85
|
+
*/
|
|
86
|
+
interface ServiceResponseData<T = unknown> {
|
|
87
|
+
success?: boolean | string;
|
|
88
|
+
code?: number;
|
|
89
|
+
errorCode?: number;
|
|
90
|
+
errorMessage?: string;
|
|
91
|
+
message?: string;
|
|
92
|
+
msg?: string;
|
|
93
|
+
data?: T;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* 错误响应类型
|
|
97
|
+
*/
|
|
98
|
+
interface ServiceError {
|
|
99
|
+
code: number;
|
|
100
|
+
message: string;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* 设置 service 的事件处理函数
|
|
104
|
+
* @param handlers - 事件处理器配置
|
|
105
|
+
*/
|
|
106
|
+
declare function setServiceEventHandlers(handlers?: Partial<ServiceEventHandlers>): void;
|
|
107
|
+
/**
|
|
108
|
+
* Service 实例扩展接口
|
|
109
|
+
*/
|
|
110
|
+
interface ServiceInstance extends AxiosInstance {
|
|
111
|
+
/**
|
|
112
|
+
* GET 请求
|
|
113
|
+
* @param url - 请求 URL
|
|
114
|
+
* @param config - 请求配置
|
|
115
|
+
*/
|
|
116
|
+
get<TResponse = unknown>(url: string, config?: ExtendedAxiosRequestConfig): Promise<TResponse>;
|
|
117
|
+
/**
|
|
118
|
+
* POST 请求
|
|
119
|
+
* @param url - 请求 URL
|
|
120
|
+
* @param data - 请求数据
|
|
121
|
+
* @param config - 请求配置
|
|
122
|
+
*/
|
|
123
|
+
post<TResponse = unknown, TData = unknown>(url: string, data?: TData, config?: ExtendedAxiosRequestConfig): Promise<TResponse>;
|
|
124
|
+
/**
|
|
125
|
+
* DELETE 请求
|
|
126
|
+
* @param url - 请求 URL
|
|
127
|
+
* @param config - 请求配置
|
|
128
|
+
*/
|
|
129
|
+
delete<TResponse = unknown>(url: string, config?: ExtendedAxiosRequestConfig): Promise<TResponse>;
|
|
130
|
+
/**
|
|
131
|
+
* PATCH 请求
|
|
132
|
+
* @param url - 请求 URL
|
|
133
|
+
* @param data - 请求数据
|
|
134
|
+
* @param config - 请求配置
|
|
135
|
+
*/
|
|
136
|
+
patch<TResponse = unknown, TData = unknown>(url: string, data?: TData, config?: ExtendedAxiosRequestConfig): Promise<TResponse>;
|
|
137
|
+
/**
|
|
138
|
+
* HEAD 请求
|
|
139
|
+
* @param url - 请求 URL
|
|
140
|
+
* @param config - 请求配置
|
|
141
|
+
*/
|
|
142
|
+
head<TResponse = unknown>(url: string, config?: ExtendedAxiosRequestConfig): Promise<TResponse>;
|
|
143
|
+
/**
|
|
144
|
+
* OPTIONS 请求
|
|
145
|
+
* @param url - 请求 URL
|
|
146
|
+
* @param config - 请求配置
|
|
147
|
+
*/
|
|
148
|
+
options<TResponse = unknown>(url: string, config?: ExtendedAxiosRequestConfig): Promise<TResponse>;
|
|
149
|
+
/**
|
|
150
|
+
* JSON 格式 POST 请求
|
|
151
|
+
* @param url - 请求 URL
|
|
152
|
+
* @param params - 请求参数
|
|
153
|
+
* @param config - 请求配置
|
|
154
|
+
*/
|
|
155
|
+
json<TResponse = unknown, TParams = unknown>(url: string, params?: TParams | TParams[], config?: ExtendedAxiosRequestConfig): Promise<TResponse>;
|
|
156
|
+
/**
|
|
157
|
+
* PUT 请求(JSON 格式)
|
|
158
|
+
* @param url - 请求 URL
|
|
159
|
+
* @param params - 请求参数
|
|
160
|
+
* @param config - 请求配置
|
|
161
|
+
*/
|
|
162
|
+
put<TResponse = unknown, TParams = unknown>(url: string, params?: TParams | TParams[], config?: ExtendedAxiosRequestConfig): Promise<TResponse>;
|
|
163
|
+
/**
|
|
164
|
+
* 数组格式 GET 请求
|
|
165
|
+
* @param url - 请求 URL
|
|
166
|
+
* @param config - 请求配置
|
|
167
|
+
*/
|
|
168
|
+
arrayGet<TResponse = unknown>(url: string, config?: ExtendedAxiosRequestConfig): Promise<TResponse>;
|
|
169
|
+
/**
|
|
170
|
+
* 文件下载
|
|
171
|
+
* @param url - 下载 URL
|
|
172
|
+
* @param config - 下载配置
|
|
173
|
+
*/
|
|
174
|
+
download<TParams = unknown>(url: string, config?: {
|
|
175
|
+
type?: 'get' | 'json';
|
|
176
|
+
params?: TParams;
|
|
177
|
+
} & ExtendedAxiosRequestConfig): Promise<void>;
|
|
178
|
+
}
|
|
21
179
|
|
|
22
180
|
/**
|
|
23
181
|
* 类型工具函数
|
|
@@ -152,4 +310,4 @@ type KeyValuePair<K = string, V = any> = {
|
|
|
152
310
|
value: V;
|
|
153
311
|
};
|
|
154
312
|
|
|
155
|
-
export type
|
|
313
|
+
export { type ArrayElement, type AsyncFunc, type Awaited, type DeepPartial, type DeepReadonly, type DeepRequired, type Equals, type ExtendedAxiosRequestConfig, type Func, type FunctionKeys, type FunctionType, type IsAny, type IsFunction, type IsNever, type IsUnknown, type KeyValuePair, type Merge, type MessageEventHandler, type MessageEventPayload, type MessageEventType, type NonFunctionKeys, type NonNullable, type Nullable, type NumberLiteral, type Optional, type Overwrite, type Parameters, type Required, type ReturnType, type ServiceError, type ServiceEventHandlers, type ServiceInstance, type ServiceResponseData, type StringLiteral, type ValueOf, setServiceEventHandlers };
|
package/dist/index.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ export { ParsedUrl, buildUrl, getQueryParams, isAbsoluteUrl, joinUrl, normalizeU
|
|
|
8
8
|
export { HSL, RGB, contrast, darken, hexToRgb, hslToRgb, lighten, mix, rgbToHex, rgbToHsl } from './color.js';
|
|
9
9
|
export { CurrencyCode, Locale, TranslationDictionary, createTranslator, formatCurrencyI18n, formatDateI18n, formatNumberI18n, formatRelativeTime, getLocale, pluralize, translate } from './i18n.js';
|
|
10
10
|
export { calculateBlobMD5, calculateFileMD5, formatFileSize, getFileExtension, getFileNameWithoutExtension, splitFileIntoChunks } from './file.js';
|
|
11
|
-
export { A as ApiResponse, h as ChunkInfo, b as ChunkUploadResponse, C as ChunkUploader, d as CompleteUploadResponse, U as UploadInitRequest, a as UploadInitResponse, f as UploadOptions, e as UploadProgress, g as UploadStatus, c as createUploader } from './upload-
|
|
11
|
+
export { A as ApiResponse, h as ChunkInfo, b as ChunkUploadResponse, C as ChunkUploader, d as CompleteUploadResponse, U as UploadInitRequest, a as UploadInitResponse, f as UploadOptions, e as UploadProgress, g as UploadStatus, c as createUploader, u as uploadFile } from './upload-DchqyDBQ.js';
|
|
12
12
|
export { StorageOptions, cookie, getStorageKeyPair, localStorage, sessionStorage, setStorageKeyPair, storage } from './storage.js';
|
|
13
13
|
export { checkOnline, downloadFile, fetchWithRetry, fetchWithTimeout, request } from './network.js';
|
|
14
14
|
export { $, $$, addClass, copyToClipboard, getElementOffset, getScrollPosition, getStyle, isInViewport, removeClass, scrollTo, setStyle, toggleClass } from './dom.js';
|
|
@@ -18,6 +18,164 @@ export { binarySearch, bubbleSort, factorial, fibonacci, fibonacciSequence, gcd,
|
|
|
18
18
|
export { Queue, batch, debounce, memoize, once, retry, throttle, timeout } from './performance.js';
|
|
19
19
|
export { RSAKeyPair, base64Decode, base64Encode, exportPrivateKey, exportPublicKey, generateRSAKeyPair, generateRandomString, generateUUID, hash, importPrivateKey, importPublicKey, rsaDecrypt, rsaEncrypt, sha256 } from './crypto.js';
|
|
20
20
|
export { ExposureOptions, Tracker, TrackerOptions, TrackingEvent, TrackingEventType, createTracker, flush, getTracker, initTracker, setCommonParams, setUserInfo, trackClick, trackEvent, trackExposure, trackPageView } from './tracking.js';
|
|
21
|
+
import { AxiosRequestConfig, AxiosInstance } from 'axios';
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* 扩展 Navigator 接口以支持 msSaveBlob
|
|
25
|
+
*/
|
|
26
|
+
declare global {
|
|
27
|
+
interface Navigator {
|
|
28
|
+
msSaveBlob?: (blob: Blob, fileName: string) => boolean;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* 消息事件类型
|
|
33
|
+
*/
|
|
34
|
+
type MessageEventType = 'info' | 'success' | 'warn' | 'warning' | 'error';
|
|
35
|
+
/**
|
|
36
|
+
* 消息事件载荷
|
|
37
|
+
*/
|
|
38
|
+
interface MessageEventPayload {
|
|
39
|
+
/** 消息类型 */
|
|
40
|
+
type: MessageEventType;
|
|
41
|
+
/** 消息内容 */
|
|
42
|
+
message: string;
|
|
43
|
+
/** 错误代码(可选) */
|
|
44
|
+
code?: number;
|
|
45
|
+
/** HTTP 状态码(可选) */
|
|
46
|
+
status?: number;
|
|
47
|
+
/** 请求配置(可选) */
|
|
48
|
+
config?: AxiosRequestConfig;
|
|
49
|
+
/** 错误对象(可选) */
|
|
50
|
+
error?: unknown;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* 消息事件处理器
|
|
54
|
+
*/
|
|
55
|
+
type MessageEventHandler = (payload: MessageEventPayload) => void;
|
|
56
|
+
/**
|
|
57
|
+
* 服务事件处理器配置
|
|
58
|
+
*/
|
|
59
|
+
interface ServiceEventHandlers {
|
|
60
|
+
/** 统一消息/错误事件处理器 */
|
|
61
|
+
message?: MessageEventHandler | null;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* 扩展的 Axios 请求配置
|
|
65
|
+
* 只声明扩展的属性,继承的属性不需要重复声明
|
|
66
|
+
*/
|
|
67
|
+
interface ExtendedAxiosRequestConfig extends AxiosRequestConfig {
|
|
68
|
+
/** 是否隐藏错误提示 */
|
|
69
|
+
hidden?: boolean;
|
|
70
|
+
/** 操作名称(用于错误提示) */
|
|
71
|
+
action?: string;
|
|
72
|
+
/** 是否清空空参数 */
|
|
73
|
+
emptyParams?: boolean;
|
|
74
|
+
/** 是否为文件下载 */
|
|
75
|
+
file?: boolean;
|
|
76
|
+
/** 重试计数(内部使用) */
|
|
77
|
+
_retryCount?: number;
|
|
78
|
+
/** 是否禁用自动重试 */
|
|
79
|
+
_noAutoRetry?: boolean;
|
|
80
|
+
/** 是否禁用自动添加时间戳(仅对 GET 请求有效) */
|
|
81
|
+
disableTimestamp?: boolean;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* 服务响应数据类型
|
|
85
|
+
*/
|
|
86
|
+
interface ServiceResponseData<T = unknown> {
|
|
87
|
+
success?: boolean | string;
|
|
88
|
+
code?: number;
|
|
89
|
+
errorCode?: number;
|
|
90
|
+
errorMessage?: string;
|
|
91
|
+
message?: string;
|
|
92
|
+
msg?: string;
|
|
93
|
+
data?: T;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* 错误响应类型
|
|
97
|
+
*/
|
|
98
|
+
interface ServiceError {
|
|
99
|
+
code: number;
|
|
100
|
+
message: string;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* 设置 service 的事件处理函数
|
|
104
|
+
* @param handlers - 事件处理器配置
|
|
105
|
+
*/
|
|
106
|
+
declare function setServiceEventHandlers(handlers?: Partial<ServiceEventHandlers>): void;
|
|
107
|
+
/**
|
|
108
|
+
* Service 实例扩展接口
|
|
109
|
+
*/
|
|
110
|
+
interface ServiceInstance extends AxiosInstance {
|
|
111
|
+
/**
|
|
112
|
+
* GET 请求
|
|
113
|
+
* @param url - 请求 URL
|
|
114
|
+
* @param config - 请求配置
|
|
115
|
+
*/
|
|
116
|
+
get<TResponse = unknown>(url: string, config?: ExtendedAxiosRequestConfig): Promise<TResponse>;
|
|
117
|
+
/**
|
|
118
|
+
* POST 请求
|
|
119
|
+
* @param url - 请求 URL
|
|
120
|
+
* @param data - 请求数据
|
|
121
|
+
* @param config - 请求配置
|
|
122
|
+
*/
|
|
123
|
+
post<TResponse = unknown, TData = unknown>(url: string, data?: TData, config?: ExtendedAxiosRequestConfig): Promise<TResponse>;
|
|
124
|
+
/**
|
|
125
|
+
* DELETE 请求
|
|
126
|
+
* @param url - 请求 URL
|
|
127
|
+
* @param config - 请求配置
|
|
128
|
+
*/
|
|
129
|
+
delete<TResponse = unknown>(url: string, config?: ExtendedAxiosRequestConfig): Promise<TResponse>;
|
|
130
|
+
/**
|
|
131
|
+
* PATCH 请求
|
|
132
|
+
* @param url - 请求 URL
|
|
133
|
+
* @param data - 请求数据
|
|
134
|
+
* @param config - 请求配置
|
|
135
|
+
*/
|
|
136
|
+
patch<TResponse = unknown, TData = unknown>(url: string, data?: TData, config?: ExtendedAxiosRequestConfig): Promise<TResponse>;
|
|
137
|
+
/**
|
|
138
|
+
* HEAD 请求
|
|
139
|
+
* @param url - 请求 URL
|
|
140
|
+
* @param config - 请求配置
|
|
141
|
+
*/
|
|
142
|
+
head<TResponse = unknown>(url: string, config?: ExtendedAxiosRequestConfig): Promise<TResponse>;
|
|
143
|
+
/**
|
|
144
|
+
* OPTIONS 请求
|
|
145
|
+
* @param url - 请求 URL
|
|
146
|
+
* @param config - 请求配置
|
|
147
|
+
*/
|
|
148
|
+
options<TResponse = unknown>(url: string, config?: ExtendedAxiosRequestConfig): Promise<TResponse>;
|
|
149
|
+
/**
|
|
150
|
+
* JSON 格式 POST 请求
|
|
151
|
+
* @param url - 请求 URL
|
|
152
|
+
* @param params - 请求参数
|
|
153
|
+
* @param config - 请求配置
|
|
154
|
+
*/
|
|
155
|
+
json<TResponse = unknown, TParams = unknown>(url: string, params?: TParams | TParams[], config?: ExtendedAxiosRequestConfig): Promise<TResponse>;
|
|
156
|
+
/**
|
|
157
|
+
* PUT 请求(JSON 格式)
|
|
158
|
+
* @param url - 请求 URL
|
|
159
|
+
* @param params - 请求参数
|
|
160
|
+
* @param config - 请求配置
|
|
161
|
+
*/
|
|
162
|
+
put<TResponse = unknown, TParams = unknown>(url: string, params?: TParams | TParams[], config?: ExtendedAxiosRequestConfig): Promise<TResponse>;
|
|
163
|
+
/**
|
|
164
|
+
* 数组格式 GET 请求
|
|
165
|
+
* @param url - 请求 URL
|
|
166
|
+
* @param config - 请求配置
|
|
167
|
+
*/
|
|
168
|
+
arrayGet<TResponse = unknown>(url: string, config?: ExtendedAxiosRequestConfig): Promise<TResponse>;
|
|
169
|
+
/**
|
|
170
|
+
* 文件下载
|
|
171
|
+
* @param url - 下载 URL
|
|
172
|
+
* @param config - 下载配置
|
|
173
|
+
*/
|
|
174
|
+
download<TParams = unknown>(url: string, config?: {
|
|
175
|
+
type?: 'get' | 'json';
|
|
176
|
+
params?: TParams;
|
|
177
|
+
} & ExtendedAxiosRequestConfig): Promise<void>;
|
|
178
|
+
}
|
|
21
179
|
|
|
22
180
|
/**
|
|
23
181
|
* 类型工具函数
|
|
@@ -152,4 +310,4 @@ type KeyValuePair<K = string, V = any> = {
|
|
|
152
310
|
value: V;
|
|
153
311
|
};
|
|
154
312
|
|
|
155
|
-
export type
|
|
313
|
+
export { type ArrayElement, type AsyncFunc, type Awaited, type DeepPartial, type DeepReadonly, type DeepRequired, type Equals, type ExtendedAxiosRequestConfig, type Func, type FunctionKeys, type FunctionType, type IsAny, type IsFunction, type IsNever, type IsUnknown, type KeyValuePair, type Merge, type MessageEventHandler, type MessageEventPayload, type MessageEventType, type NonFunctionKeys, type NonNullable, type Nullable, type NumberLiteral, type Optional, type Overwrite, type Parameters, type Required, type ReturnType, type ServiceError, type ServiceEventHandlers, type ServiceInstance, type ServiceResponseData, type StringLiteral, type ValueOf, setServiceEventHandlers };
|