UNPKG

@wangofnextdoor/zlblog

Version:

浙里办日志和老年模式工具包

150 lines (149 loc) 4.75 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isElderMode = exports.getCurrentUiStyle = exports.getQueryVariable2 = exports.toggleElderStyle = exports.elderStyle = exports.setCssVar = void 0; /** * 动态修改自定义CSS变量 * @param prop CSS属性名 * @param val CSS属性值 * @param dom DOM元素,默认为document.documentElement */ const setCssVar = (prop, val, dom = document.documentElement) => { if (typeof document === 'undefined') { console.warn('setCssVar只能在浏览器环境中使用'); return; } dom.style.setProperty(prop, val); }; exports.setCssVar = setCssVar; /** * 初始化老年模式 */ const elderStyle = () => { var _a; if (typeof window === 'undefined' || typeof window.ZWJSBridge === 'undefined') { console.warn('ZWJSBridge is not available'); return; } console.log("elderStyle", window.ZWJSBridge); // 先应用默认样式 elderlyOriented(); // 获取UI样式 (_a = window.ZWJSBridge) === null || _a === void 0 ? void 0 : _a.getUiStyle().then((res) => { console.log("getUiStyle", res); elderlyOriented(res.uiStyle); }).catch((err) => { console.log("getUiStyle", err); }); }; exports.elderStyle = elderStyle; /** * 切换老年模式 * @param uiStyle UI样式类型 */ const toggleElderStyle = (uiStyle) => { elderlyOriented(uiStyle); }; exports.toggleElderStyle = toggleElderStyle; /** * 应用老年模式样式 * @param uiStyle UI样式类型 */ const elderlyOriented = (uiStyle) => { console.log(uiStyle, "222222uiStyle"); switch (uiStyle) { case "elder": (0, exports.setCssVar)("--mainElderFont12", "20px"); (0, exports.setCssVar)("--mainElderFont14", "20px"); (0, exports.setCssVar)("--mainElderFont15", "20px"); (0, exports.setCssVar)("--mainElderFont16", "20px"); (0, exports.setCssVar)("--mainElderFont18", "20px"); (0, exports.setCssVar)("--mainElderFont20", "22px"); (0, exports.setCssVar)("--mainElderFont22", "24px"); break; default: (0, exports.setCssVar)("--mainElderFont12", "12px"); (0, exports.setCssVar)("--mainElderFont14", "14px"); (0, exports.setCssVar)("--mainElderFont15", "15px"); (0, exports.setCssVar)("--mainElderFont16", "16px"); (0, exports.setCssVar)("--mainElderFont18", "18px"); (0, exports.setCssVar)("--mainElderFont20", "20px"); (0, exports.setCssVar)("--mainElderFont22", "22px"); } // 保存到本地存储 if (typeof window !== 'undefined') { try { localStorage.setItem("uiStyle", uiStyle || 'normal'); } catch (error) { console.warn('Failed to save uiStyle to localStorage:', error); } } }; /** * 获取URL查询参数(方法1) * @param variable 参数名 * @returns 参数值 */ function getQueryVariable2(variable) { if (typeof window === 'undefined') { return null; } const urlParam = window.location.href; const requestParams = {}; if (urlParam.indexOf("?") !== -1) { const str = urlParam.substring(urlParam.indexOf("?") + 1); const strs = str.split("&"); for (let i = 0; i < strs.length; i++) { const [key, value] = strs[i].split("="); if (key && value) { requestParams[key] = decodeURI(value); } } return requestParams[variable] || null; } return null; } exports.getQueryVariable2 = getQueryVariable2; /** * 获取URL查询参数(方法2) * @param name 参数名 * @returns 参数值 */ function getQueryVariable(name) { if (typeof window === 'undefined') { return null; } // 正式环境 const reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); const r = window.location.search.slice(1).match(reg); if (r != null) { return decodeURIComponent(r[2]); } return getQueryVariable2(name); } exports.default = getQueryVariable; /** * 获取当前UI样式 * @returns 当前UI样式 */ const getCurrentUiStyle = () => { if (typeof window === 'undefined') { return 'normal'; } try { return localStorage.getItem("uiStyle") || 'normal'; } catch (error) { console.warn('Failed to get uiStyle from localStorage:', error); return 'normal'; } }; exports.getCurrentUiStyle = getCurrentUiStyle; /** * 检查是否为老年模式 * @returns 是否为老年模式 */ const isElderMode = () => { return (0, exports.getCurrentUiStyle)() === 'elder'; }; exports.isElderMode = isElderMode;