init code

This commit is contained in:
Tham Luu
2024-09-23 15:07:25 +08:00
commit 2842b3fc19
63 changed files with 7901 additions and 0 deletions

11
src/utils/enum.js Normal file
View File

@ -0,0 +1,11 @@
export const SECRET_KEY = 'bGV0IGRvIGl0IGZvciBlbmNyeXRo'
export const STORE_KEY = 'dXNlciBsb2dpbiBpbmZv'
export const LOGIN_KEY = '7fo24CMyIc'
export const VIEWDATA = Object.freeze(
new Proxy(
{ list: 'list', grid: 'grid' },
{
get: (target, prop) => target[prop] ?? 'list',
},
),
)

76
src/utils/helper.js Normal file
View File

@ -0,0 +1,76 @@
import { AES, enc } from 'crypto-js'
import { LOGIN_KEY, SECRET_KEY, STORE_KEY } from './enum'
export class Helpers {
static setCookie = (cname, cvalue, exdays) => {
const d = new Date()
d.setTime(d.getTime() + exdays * 24 * 60 * 60 * 1000)
let expires = `expires=${d.toUTCString()}`
document.cookie = `${cname}=${cvalue};${expires};path=/`
}
static getCookie = (cname) => {
let name = cname + '='
let ca = document.cookie.split(';')
for (let i = 0; i < ca.length; i++) {
let c = ca[i]
while (c.charAt(0) == ' ') {
c = c.substring(1)
}
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length)
}
}
return ''
}
static deleteCookie = (cname) => {
document.cookie = `${cname}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;`
}
static clearStorage = () => {
localStorage.removeItem(LOGIN_KEY)
localStorage.removeItem(STORE_KEY)
}
static checkTokenExpired = (exp) => {
const currentTime = Math.floor(new Date().getTime() / 1000)
return exp < currentTime
}
static encrypt = (obj) => {
return AES.encrypt(JSON.stringify(obj), SECRET_KEY).toString()
}
static decrypt = (hash, defaultValue = {}) => {
return hash
? JSON.parse(AES.decrypt(hash, SECRET_KEY).toString(enc.Utf8))
: defaultValue
}
static clearObject = (object) => {
for (var propName in object) {
if (
object[propName] === null ||
object[propName] === undefined ||
object[propName] === ''
) {
delete object[propName]
}
}
return object
}
static clearArrayWithNullObject = (array) => {
if (array instanceof Array) {
array.forEach((element, i) => {
if (element instanceof Object) {
const obk = this.clearObject(element)
if (obk) array.splice(i, 1)
}
})
}
return array.length > 0 ? array : null
}
}