常用的web工具集合
auth
权限组件,对路径进行检查,并返回匹配的角色数组
使用示例
const config = // config也可以是Promise whiteList: '/login' roles: user: /^\/admin\/news[/]?/ mannage: /^\/admin[/]?/ super: /^\/admin\/setting[/]?/ // const config = ajax('role', {}).then(res => {// return {// whiteList: ['/login'],// roles: res.roles// }// }) const auth = config
跟vue-router结合的检查方法示例
/** * 检查是不是拥有某个权限 * @param * @return */ { if roles === undefined return true const noLogin = windowsessionStorage === null if roles > -1 // 判断是不是管理员 const isAdmin = windowsessionStorage === 'admin' return !noLogin && isAdmin ? true : name: 'denied' else // 判断是不是已经登陆 return noLogin ? path: '/login' : true }const checkAuth = { auth}router
bom
常用浏览器自带方法的集合
// openWindow(url, title, w, h)
cache
可以根据请求参数缓存函数执行结果
{ return i + Math} { thisconfig = config } { return { } }var a1 = delay: 1000var b1 = var a2 = a1// 8.442179866889822// 8.745571849291068console// 3.2365098725515358// 3.2365098725515358// 3.4376061338653397// 8.207727726819655// 8.207727726819655
cookie
对cookie管理的封装
const cookie = cookiecookieconsole// 1 vaule2 // 2 undefined console// 3 vaule1cookieconsole// 4 undefined
dom
encoder
字符编码相关的处理类
var a1 = Byte// [104, 101, 108, 108, 111, 32, 228, 184, 173, 229, 155, 189, 32, 195, 131]var b1 = Byte// 'hello 中国 Ã'var a2 = Utf8// 'hello ä¸å½ Ã'var b2 = Utf8// 'hello 中国 Ã'var a3 = Base64// aGVsbG8g5Lit5Zu9IMODvar b3 = Base64// 'hello 中国 Ã'
encrypt
const data = '12345678' const encryptKey = 'zITcBljtpOdDmPvf'// des、3des、aes的key都可以是string或object,string时,将使用默认的iv(0000000000000000)const rsaKey = public: 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDpqqyq1JPEdb/KeF3BlvOBPkfL/eMg7LUn9EM2e99m2riuvyRsVFxeROyYq0M6713fr/sTQrPApkYvqPcXHn6evUywg9SM4Am5sBeC/GGA9pRY3QxZidzkDEGgSjrUgLL/DeZqYNswg2a0yGxY3E/eMnbFrMwPakx8gcnQ5kzLnbKkz++0P8dNPBbD0SON27tC+UucqhEZq2Q+AtahhgYYHVNCSk66OQSbuGRkG0zRyUX5069bJnckehvp/s4MwUA85oE6HB6pMfgxcl/siwFrvr/jcsqdq8txdvA0GbEBUhRejG/pQK1Bz+gNqb1WRdhrPopEhm6oE/PduK3GaVR3 testkey' // private可以不指定,只是无法进行解密和签名 private: `-----BEGIN RSA PRIVATE KEY-----MIIEpQIBAAKCAQEA6aqsqtSTxHW/ynhdwZbzgT5Hy/3jIOy1J/RDNnvfZtq4rr8kbFRcXkTsmKtDOu9d36/7E0KzwKZGL6j3Fx5+nr1MsIPUjOAJubAXgvxhgPaUWN0MWYnc5AxBoEo61ICy/w3mamDbMINmtMhsWNxP3jJ2xazMD2pMfIHJ0OZMy52ypM/vtD/HTTwWw9Ejjdu7QvlLnKoRGatkPgLWoYYGGB1TQkpOujkEm7hkZBtM0clF+dOvWyZ3JHob6f7ODMFAPOaBOhweqTH4MXJf7IsBa76/43LKnavLcXbwNBmxAVIUXoxv6UCtQc/oDam9VkXYaz6KRIZuqBPz3bitxmlUdwIDAQABAoIBAGPU57CU4g0twaNfia8MLz0ovsQI1OFcQImxcoX0pp3rFLyULZua71vXVr5jbXXgjtri9QJlnSbR42q5Zdgazz5C4mEH8ee+UGllMqZj7cSLlRXiW0RmAlnsYp15GWlxEwilh6wrdXpkqZzThHbyqazlIpmSGhz77XHEgdUej/DtviMr5Si9mgYAlWnoBLJ/DW0RnPzuzRXiMeb331/CmjIj236pLg5osfh0hC77gxjnalxrOszUUz66w7v4C25X/i/rHxtASgBsKoX5m5Bp04n0SJuoeREpwGLkxJUaYm71jq2kylaM3qwbPUh7EOCr3ABwbYoxEiSTooGhOri2kAECgYEA/c5BOuhwzSslis19RwS83cN+HzG4RL9hcgx4lsMHeDPX3v2fph4WFZucbfaxhveKjmVv5Xg5gMbNSw2Hv2Pb1qBwjVV1eBiNqtsYRM3kRvv+x3EcBd4s5TBqBGOfRNUbHQuNvS3v2XYXHMocYTEbAcz/pACzqoqCLRiqr4jOfEECgYEA66/YppBkKcoSyQOES3ho4vItjNVVLlI/7W24avQgZspAEC+PCmfZyYpvqzRdUc69E/9GBtBa9/J3QLVMkRaUQXTg5X+4KCrqtjRgPGGZ0alQn6bYexQF6C+928dq/l986YtIf93rZ1Dlw599VEjkEQUeAPApG7BjMV0oW6BWArcCgYEA9q8Ls4fMa32uRZSoWOh/8UNbSFJ4+UjSG5mHc3Enx2sMPA5ip4DCkknm5vJJZhcfMnvhIDWUHlgbnQEPmbQjLh5OhvAy9oFW4GOG2QkNAPlYjtyfEgz5seE2igGSAcLnUXmzT9ZgMwqWOEMxBj5GM5/eMLcF6ZIqKE67R1U+7IECgYEAgoWhz6yLK/Fyscu2yizmuTgxLZs/TyXRrWVkCickgohjLhOIfdTBcbGu4ftf6tw5Lgfi+gcNOd8XV8iPnJIKjK1zluVCUUxjK4CaAxZyHwBLW/8ESDTwiINX+4zWngS3ooa2Icn+gfr1I38B41lypFJXKWHXAjSO2lmi7gs/VsUCgYEAp7MQjbe+81q8oymvhc+ITd66ayP/ojaEbK94ZawMtKp0q/sfJzK1S1NievCLfyqnu0zpB0kEM9VfQ++g63VOPWzcKhMT0gvu0Znx6AxgAhJuKiZbbGE83M7LDWITs5EABZRcYia8lO8uDYlD2eOGd3UIy7q29L+QSCF9PNYXIgA=-----END RSA PRIVATE KEY----- ` // 计算md5const le1 = 'md5'console// 25d55ad283aa400af464c76d713c07ad// 计算sha1const le2 = 'sha1'console// 7c222fb2927d828af22f592134e8932480637c0d // 所有的加解密方法,key都可以在创建的时候指定,也可以创建完后用setKey来指定/重置key。// 进行aes加解密const le3 = 'aes' encryptKey iv: '0102030405060708'const res3 = le3console// 进行des加解密const le4 = 'des' encryptKeyconst res4 = le4console// 进行3des加解密const le5 = '3des' encryptKeyconst res5 = le5console// 进行rsa加解密const le6 = 'rsa'le6 // 设置签名的哈希方式,支持sha1和md5le6const res6 = le6consoleconst signData = le6console
eventdom
var myEvent = documentbody 'mydata' const listen1 = { console}myEvent myEventconst listen3 = myEventmyEvent // 多个接受方法myEvent// mydata1 mydata2 mydata3 // 移除后再次执行,按方法移除myEventmyEvent// mydata2 mydata3 // 移除后再次执行,按ID移除myEventmyEvent// mydata2 // 只执行一次的方法myEvent// mydata4myEvent// no result
mock
通过前端实现的模拟数据,模拟数据文件位于@/mock
目录
const ajax = // axios.instance
mock文件示例
// time_cost: 200, status: 200 header: {} data: code: 0 data: status: '已取消' id: 17593 creatdate: '2011-10-11 04:36:39' no: 258456
pinyin
汉字转拼音,拼音转汉字(不支持多音字)
const py = 'normal'py// ["ni", "hao", "zhong", "guo"]py// "nhzg"py// ["号", "好", "耗", "浩", "毫", "豪", "壕", "嚎"]
store
const session = windowsessionStorageconst local = windowlocalStorage// get,set,del,clean