UNPKG

tsp-component

Version:

提供多端和react版本的UI组件

83 lines (78 loc) 1.85 kB
import Exception from '../../exception'; declare const unescape: any; /** * 数组去重 */ export function unique(arr: any[]): any[] { const temp = []; const length = arr.length; let i; for (i = 0; i < length; i++) { if (temp.indexOf(arr[i]) === -1) { temp.push(arr[i]); } } return temp; } /** * 读取cookie */ export function getCookie(name: string): string { //正则匹配 const reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); const arr = document.cookie.match(reg); if (arr.length) { return decodeURIComponent(arr[2]); } else { return undefined; } } /** * hex解码 */ export function hexToString(str: string): string { let tmp = ''; for (let i = 0; i < str.length; i += 2) { tmp += '\\' + str.substring(i, i + 2); } str = unescape(tmp.replace(/\\/g, '%')); let out; let i; let len; let c; let char2; let char3; out = ''; len = str.length; i = 0; while (i < len) { c = str.charCodeAt(i++); switch (c >> 4) { case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7: out += str.charAt(i - 1); break; case 12: case 13: char2 = str.charCodeAt(i++); out += String.fromCharCode(((c & 0x1F) << 6) | (char2 & 0x3F)); break; case 14: char2 = str.charCodeAt(i++); char3 = str.charCodeAt(i++); out += String.fromCharCode(((c & 0x0F) << 12) | ((char2 & 0x3F) << 6) | ((char3 & 0x3F) << 0)); break; default: break; } } return out; } /** * hex编码 */ export function stringToHex(str: string): string { const arr = []; for (let i = 0; i < str.length; i++) {  arr[i] = (str.charCodeAt(i).toString(16)).slice(-4); } return arr.join(''); }