123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210 |
- export const clearToken = () => {
- localStorage.setItem('JWT-TOKEN', '');
- };
- export const storeToken = (token) => {
- localStorage.setItem('JWT-TOKEN', token);
- };
- export const getToken = () => {
- return localStorage.getItem('JWT-TOKEN');
- };
- /**
- *
- * @param {String} url
- *
- * create a DOM Element
- * <a href="url" download/>
- */
- export const downloadFile = (url, fileName, encode = true) => {
- const downloadLink = document.createElement('a');
- const body = document.documentElement || document.body;
- body.appendChild(downloadLink);
- let tempUrl = url;
- if (encode) {
- let urlArr = tempUrl.split('/');
- urlArr[urlArr.length - 1] = encodeURIComponent(urlArr[urlArr.length - 1]);
- tempUrl = urlArr.join('/');
- }
- downloadLink.href = tempUrl;
- downloadLink.download = fileName;
- downloadLink.click();
- body.removeChild(downloadLink);
- // }
- };
- window.downloadFile = downloadFile;
- export function IsImageFile(fileName) {
- return (
- fileName.lastIndexOf('.jpg') !== -1 ||
- fileName.lastIndexOf('.png') !== -1 ||
- fileName.lastIndexOf('.JPG') !== -1 ||
- fileName.lastIndexOf('.PNG') !== -1
- );
- }
- export function IsVedio(fileName) {
- return (
- fileName.lastIndexOf('.mp4') !== -1 || fileName.lastIndexOf('.avi') !== -1
- );
- }
- export function GetTokenFromUrl() {
- const params = GetRequest(window.location.href);
- if (!params['JWT-TOKEN'] || params['JWT-TOKEN'] == 'undefined') return '';
- return params['JWT-TOKEN'];
- }
- /**
- * [获取URL中的参数名及参数值的集合]
- * 示例URL:http://htmlJsTest/getrequest.html?uid=admin&rid=1&fid=2&name=小明
- * @param {[string]} urlStr [当该参数不为空的时候,则解析该url中的参数集合]
- * @return {[string]} [参数集合]
- */
- function GetRequest(urlStr) {
- if (typeof urlStr === 'undefined') {
- var url = decodeURI(location.search); //获取url中"?"符后的字符串
- } else {
- var url = '?' + urlStr.split('?')[1];
- }
- let theRequest = new Object();
- if (url.indexOf('?') != -1) {
- let str = url.substr(1);
- let strs = str.split('&');
- for (let i = 0; i < strs.length; i++) {
- theRequest[strs[i].split('=')[0]] = decodeURI(strs[i].split('=')[1]);
- }
- }
- return theRequest;
- }
- export function GetFileType(url) {
- if (!url) return;
- if (url.match('pid-list')) {
- return 18;
- } else if (url.match('layout-plan')) {
- return 19;
- }
- }
- export function getUser(params) {
- let arr = [];
- if (!params) {
- return;
- } else {
- return (arr = params
- .map((item) => {
- return item.Operator?.CName;
- })
- .join(','));
- }
- }
- export const UnityAction = {
- event: {},
- on(type, callback) {
- if (!UnityAction.event[type]) {
- UnityAction.event[type] = [];
- }
- UnityAction.event[type].push(callback);
- console.log(UnityAction.event);
- },
- off(type, callback) {
- if (callback) {
- let index = UnityAction.event[type].indexOf(callback);
- if (index == -1) return;
- UnityAction.event[type].splice(index, 1);
- } else {
- UnityAction.event[type] = [];
- }
- window[type] = null;
- },
- emit(type, e) {
- if (!UnityAction.event[type]) return;
- console.log('emit====== type:', type, '====== event:', e);
- UnityAction.event[type].forEach((item) => {
- item && item(e);
- });
- },
- addEventListener(type, callback) {
- if (window.vuplex) {
- UnityAction.on(type, callback);
- } else {
- window[type] = callback;
- }
- },
- sendMsg(type, message) {
- console.log(`type====${type}`);
- console.log('message====', message);
- alert(window.vuplex);
- if (window.vuplex) {
- window.vuplex.postMessage({ type, message });
- } else if (window[type]) {
- window[type](message);
- }
- },
- };
- alert(window.vuplex);
- if (window.vuplex) {
- window.vuplex.addEventListener('message', (e) => {
- console.log(
- '============================getMessageForUnity============================',
- );
- const data = JSON.parse(e.data);
- console.log(data);
- UnityAction.emit(data.type, data.message);
- });
- }
- export function getGlobalData(key) {
- let data;
- try {
- data = JSON.parse(localStorage.GLOBAL_DATA);
- } catch (error) {
- data = {};
- }
- return key ? data[key] : data;
- }
- export function setGlobalData(key, value) {
- let data;
- if (!key) return;
- try {
- data = JSON.parse(localStorage.GLOBAL_DATA);
- } catch (error) {
- data = {};
- }
- data[key] = value;
- localStorage.GLOBAL_DATA = JSON.stringify(data);
- }
- // 根据token缓存数据
- export function saveData(key, data) {
- let token = GetTokenFromUrl() || getToken();
- let cache = JSON.stringify({
- data,
- token,
- });
- localStorage.setItem(key, cache);
- }
- // 根据token获取缓存数据
- export function getData(key) {
- let token = GetTokenFromUrl() || getToken();
- let oldData = {};
- try {
- oldData = JSON.parse(localStorage.getItem(key)) || {};
- } catch (error) {}
- // token不一致时认为数据失效,返回null
- if (oldData.token != token) return null;
- return oldData.data;
- }
- // 清空缓存
- export function clearData(key) {
- localStorage.setItem(key, '');
- }
|