Files
fastmovieai/fastmovie-admin/public/static/icode.js
T

57 lines
1.5 KiB
JavaScript

const useStorage = () => {
/**
* 设置储存数据
* @param key 键
* @param data 值
* @param expire 过期时间(秒)
* @returns Promise
*/
const set = (key, data, expire) => {
return new Promise((resolve, reject) => {
const obj = {
expire: 0,
data: data,
}
if (expire !== undefined) {
obj.expire = Date.now() + expire * 1000
}
globalThis.localStorage.setItem(key, JSON.stringify(obj));
if (get(key) === null) {
reject();
} else {
resolve(true);
}
})
}
/**
* 获取储存数据
* @param key 键
* @returns StorageInterface
*/
const get = (key) => {
const data = globalThis.localStorage.getItem(key);
if (data === null) {
return null;
}
const ret = JSON.parse(data);
if (ret?.expire > 0 && ret?.expire < Date.now()) {
return null;
}
return ret?.data;
}
return { set, get };
}
function icodeRun(){
// 获取地址栏参数
const url = new URL(globalThis.location.href);
const icode = url.searchParams.get('icode');
const storage = useStorage();
// 保存到本地存储
if (icode&&!storage.get('CONTROL.ICODE')) {
storage.set('CONTROL.ICODE', icode);
console.log('icode.js loaded')
}
}
icodeRun()