# 李立民JS工具库 **Repository Path**: li-limins-miscellaneous-items/llmjstoolstore ## Basic Information - **Project Name**: 李立民JS工具库 - **Description**: No description available - **Primary Language**: JavaScript - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-06-28 - **Last Updated**: 2025-08-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # LLM Web Tool 一个简单、实用的web小工具集合 没有任何运行时依赖,所有功能取自浏览器API ## 特性 - 支持CDN引入、也支持npm安装 - 支持TypeScript - 没有运行时依赖,打包后文件只有 6k - 全部使用浏览器API,自然不支持小程序等非浏览器环境 ## 使用方法 #### CDN引入 直接引入 根目录/dist/web-tool.js ``` ``` #### webpack中使用 安装 ``` # bash npm install llm-web-tool --save ``` 使用 ``` import * as WT from 'web-tool'; // 判断是否是微信环境 let isWechat = WT.browser.isWechat(); // true或false // 获取url中的id参数 let query_id = WT.url.getVar('id'); // null或参数值 ``` ## 主要模块 - [url](#module:url) —— 从url中获取参数 - [storage](#module:storage) —— 管理浏览器的session storage和local storage - [browser](#module:browser) —— 获取浏览器环境信息 ## url 本模块用于从url中获取参数或路径,简单的兼容了vue router的hash模式 getVar(key = undefined) 说明:获取url中的参数,若key不传入,则获取所有参数,返回对象。若key传入字符串,则返回该参数,若无该参数则返回null 接收:string key 参数名,默认undefined 返回:object | string | null 参数的值,若不存在返回null getHashVar() 说明:获取url中的参数(兼容hash模式),传统方法对参数在哈希前的url不兼容,例如 www.baidu.com?token=abc#/pages/index 这样的路径使用getUrlVar方法会获取到{token:'abc#/pages/index'} 但使用本方法会正确获取到{token:'abc'},并且对于 www.baidu.com?token=abc#/pages/index&name=abc 这样的url,也能正确获取到{token:'abc', name:'abc} 接收:string key 参数名,默认undefined 返回:object | string | null 参数的值,若不存在返回null getHashPath() 说明:获取当前Url的完整路径,包含哈希路径,不包含任何参数。如:http://www.baidu.com/#/pages/name?key=123 ,调用本方法将返回http://www.baidu.com/#/pages/name 返回:string 路径 ## storage 本模块主要使用json对storage进行统一封装,由于原生storage管理方法只支持字符串,如果使用本模块,必须在存取都使用,否则会出现类型异常。 支持 【全局前缀】、【单次指定前缀】、【自动过期】 本模块包含两个对象:local、session。其中包含的方法相同。 调用方法:WT.storage.local.get('token'); ### local和session的方法 - config(options = {}) 说明:全局配置storage options参数: * prefix: '', //全局前缀 * default_expire_time: 0, //默认有效时间,0永久有效,>0是秒数 * auto_clear_expired: true, //是否在每次get()时自动清除过期的 - get(key = null, force_prefix = null) * 设置一个值 * @param {string|null} key 键名,若传入null则获取所有的,等效于all()方法 * @param {string|null} force_prefix 强制获取某个前缀的 * @return any 获取的值 - set(key, val, expire_time = 0, force_prefix = null) * 获取一个值 * @param {string} key 键名 * @param {any} val 键值 * @param {number} expire_time 过期时间(>=0),0表示无限,单位秒 * @param {string} force_prefix 强制设置前缀 * @return this 返回对象本身,支持链式调用 - all(force_prefix = null) * 获取所有值 * @param {string} force_prefix 强制设置前缀 * @return {object} 返回包含所有键值对的对象,若空则返回空对象 - remove(key = null, force_prefix = null) * 移除一个/所有值 * 不传参则移除全局前缀下的所有键值,如果全局前缀是'',则移除所有 * @param {string} key 要移除的键名,传入null则移除全部 * @param {string} force_prefix 强制设置前缀,传入null则使用全局前缀 * @return this 返回对象本身,支持链式调用 ## browser info() 说明:获取浏览器全部信息 返回:object 返回浏览器各种信息,结构如下: { isPC: isPC(), isMobile: isMobile(), isPad: isPad(), isSafari: isSafari(), isWechat: isWechat(), isIE: isIE(), isOpera: isOpera(), isWebkit: isWebkit(), } isPC() 说明:是否是PC环境 返回:bool isMobile() 说明:是否是手机环境(不包含平板) 返回:bool isPad() 说明:是否是平板环境 返回:bool isSafari() 说明:是否是Safari浏览器,包含iphone、ipad、mac 返回:bool isWechat() 说明:是否是微信浏览器环境 返回:bool isIE() 说明:是否是IE浏览器(本类库在IE中可能不兼容) 返回:bool isOpera() 说明:是否是欧朋浏览器 返回:bool isWebkit() 说明:是否是Webkit内核浏览器,注意,Safari浏览器也是Webkit内核 返回:bool isIos() 说明:是否是IOS操作系统,包含苹果手机、苹果平板、苹果电脑 返回:bool isAndroid() 说明:是否是安卓操作系统 返回:bool