# 李立民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