email: dybself@163.com
存储: useUtils.useLocalStorage(key,value)
取值: useUtils.getLocalStorage(key)
存储: useUtils.useSessionStorage(key,value)
取值: useUtils.getSessionStorage(key)
useUtils.handleCopyValue(val)
key:string 需要删除的缓存键
isAll:boolean 为true时删除调用方法的所有缓存,否则只删除当前传入的 key 值
如果 isAll 为 true 时,方法会优先执行缓存的clear函数, key 传任意值,
删除临时缓存: useUtils.removeSessionStorage(key,isAll)
删除永久缓存: useUtils.removeLocalStorage(key,isAll)
work: 需要加密的对象,如传入的是对象,该方法默认进行JSON序列化处理。
key:16位或者32位字符串作为密钥
iv:16位或者32位字符串作为密钥偏移量
data: encrypt方法加密后返回的数据
加密:useUtils.encrypt( work:any , key:string , iv:string )
解密:useUtils.decrypt( data:string , key:string , iv:string )
useUtils.type.isFunction(val) // 是否是函数
useUtils.type.isObject(val) // 是否是对象 null 类型为对象,该方法已对null进行过滤
useUtils.type.isDate(val) // 是否是时间对象
useUtils.type.isNumber(val) // 是否是number类型
useUtils.type.isString(val) // 是否是字符串类型
useUtils.type.isBoolean(val) // 是否是boolean类型
useUtils.type.isWindow(val) // 是否在浏览器环境下运行
设备环境:
当前使用设备类型: useUtils.deviceEnvironment() // android ios
是否在微信浏览器环境中: useUtils.weixinBrowser() // true false
是否是手持设备: useUtils.isMobile() // true 移动设备 false PC设备
word: 需要加密的数据,数据可是字符串,对象等
key: 加密 密钥
iv: 密钥偏移量
data:encrypt方法加密后返回的数据
对同一个数据进行加密、解密时,encrypt和decrypt的iv和key保持一致
对word进行CryptoJS.enc.Utf8.parse转义
CryptoJS.AES.encrypt加密,加密模式:CBC ; padding: CryptoJS.pad.Pkcs7
对数据进行加密
useUtils.encrypt(word:any,key:string,iv:string)
// 对数据进行解密
useUtils.decrypt(data:string,key:string,iv:string)
interface configOption {
appId?:string, // 当前微信服务号 appId
scope?:string,// 网页授权类型 默认 snsapi_userinfo
http?:any, // 执行微信登录时,请求后端的接口方法,默认请求数据格式 {"app_id":"","js_code":"" },app_id为当前传入的配置参数,js_code为自动截取。
codeKey?:string, // 回调地址栏中对 code 进行存储的键, codeKey:code
stateKey?:string, // 回调地址栏中对 state 进行存储的键 stateKey:state
cryptoiv?:string, // 将地址栏携带参数加密iv, 必须与 weixinShareInit 方法中的 iv 参数一致
cryptokey?:string, // 将地址栏携带参数加密key, 必须与 weixinShareInit 方法中的 key 参数一致
}
进入系统时,默认调用该方法,自动执行微信跳转授权,回调地址中code处理、state处理,
useUtils.weixinUrlCode(config)
interface ShareConfig{
http:any, // 微信接口权限注入接口,后端接口,执行成功后返回数据格式:{appId:"",timestamp:"",noncestr:"",signature:""},成功后自动调取微信 wx.config 接口
cb?:any, // wx.ready 成功后的回调方法
appId:string, // 当前微信服务号 appId
jsApiList?:string[],
}
useUtils.weixinShareConfig(config:ShareConfig)
interface Share{
title?:string, // 分享标题 默认值 微信分享
desc?:string, // 分享描述 默认值 微信分享描述
link: '', // 分享链接,该链接域名或路径必须与当前页面对应的公众号 JS 安全域名一致,默认取当前访问地址
imgUrl: '', // 分享图标
data?:any,//微信分享时需要携带的数据,默认传键值格式 {id:1,name:"test",path:"微信分享跳转地址,如: /user/login,好友点击后自动跳转到/user/login页面"},系统自动将该数据保存到缓存中,同时将数据拼接到地址栏,跳转 path 页面后可通过地址栏获取拼接数据
iv?:string, // 分享链接中对 state 数据加密的iv 必须与 weixinUrlCode 方法中的 cryptoiv 参数一致
key?:string, // 分享链接中对 state 数据加密的 key 必须与 weixinUrlCode 方法中的 cryptokey 参数一致
}
useUtils.weixinShareInit(config:Share)
useUtils.getTime() // 返回秒
/**
*
* @param num 传入的时间戳(秒):如 1675667655
* @param format 解析后展示时间字符串格式,默认 "YYYY-MM-DD HH:mm:ss" 格式, 可传格式如: YYYY年MM月DD日 HH时 YYYY/MM/DD HH
* @returns
*/
useUtils.formatTimeStamp(num,format) // 返回 format 格式时间戳
/**
*
* @param str 字符串格式必须为: 2017/03/03 12:23:55 格式,避免兼容性,不能传 “-” 分割的时间字符串 2017-03-03
* @returns
*/
useUtils.formatStrTime(str) // 返回时间戳 秒