From ffc440f78182ba4949291b081e4949e9a0ca65a9 Mon Sep 17 00:00:00 2001 From: Tevin <tingquanren@163.com> Date: Tue, 11 May 2021 15:42:52 +0800 Subject: [PATCH] 优化跨端通讯容错 --- common/Tools.js | 97 +++++++++++++++--------------------------------- 1 files changed, 30 insertions(+), 67 deletions(-) diff --git a/common/Tools.js b/common/Tools.js index 57a1073..e1e650f 100644 --- a/common/Tools.js +++ b/common/Tools.js @@ -9,6 +9,20 @@ export class Tools { /** + * 显示消息 + * @param msg + * @param [duration=2000] + */ + static toast(msg, duration = 2000) { + Taro.showToast({ + title: msg, + icon: 'none', + mask: true, + duration, + }); + } + + /** * URL参数解析 * @param {String} name * @param {String} [search] @@ -22,32 +36,6 @@ } else { return null; } - } - - /** - * 深度获取 url 参数 - * @param {String} name - * @return {String} - */ - static getTopUrlParam(name) { - if (window.top !== window) { - return Tools.getUrlParam(name, window.top.location.search); - } else { - return Tools.getUrlParam(name); - } - } - - /** - * 显示消息 - * @param msg - */ - static toast(msg) { - Taro.showToast({ - title: msg, - icon: 'none', - mask: true, - duration: 2000, - }); } /** @@ -177,33 +165,6 @@ return true; } - static getObjDataByPath(obj, path) { - const arr = path.split('.'); - const reg2 = /\[(.*)]/g; - const reg4 = /\w+(?=\[)|(?<=\[)(.*?)(?=])/g; - let stack = []; - let temp; - arr.forEach(item => { - if (reg2.test(item)) { - while ((temp = reg4.exec(item))) { - stack.push(temp[0]); - } - } else { - stack.push(item); - } - }); - stack = stack.map(item => { - return item.replace(/^['"`]|['"`]$/g, ''); - }); - try { - return stack.reduce((pre, next) => { - return pre[next]; - }, obj); - } catch (err) { - return undefined; - } - } - /** * 统计字符串占位宽度 * @param {String} string @@ -330,18 +291,6 @@ } /** - * 数组元素交换位置 - * @param {array} arr 数组 - * @param {number} index1 要交换项目的位置 - * @param {number} index2 被交换项目的位置 - * @tutorial 例如:1,5就是数组中下标为1和5的两个元素交换位置 - */ - static swapArray(arr, index1, index2) { - arr[index1] = arr.splice(index2, 1, arr[index1])[0]; - return arr; - } - - /** * 使用 moment.js 格式化时间戳 * @param {Number|String} timestamp * @param {String} [type='date'] @@ -412,11 +361,11 @@ * @return {string} */ static moneyFormat(number) { - if (typeof number !== 'number' && !number) { + if (!number && typeof number !== 'number') { return ''; } if (typeof number === 'string') { - number = parseInt(number) || 0; + number = Number(number) || 0; } const numFixed = number.toFixed(2); const integer = parseInt(numFixed); @@ -495,5 +444,19 @@ return /^1[3456789]\d{9}$/.test('' + phone); } +} +// h5 中,实现 rem 转换 px +if (process.env.NODE_ENV === 'development' && process.env.TARO_ENV === 'h5') { + const p1 = { + x: parseFloat(Taro.pxTransform(10, 750)), y: 10, + }; + const p2 = { + x: parseFloat(Taro.pxTransform(1000, 750)), y: 1000, + }; + window.rem = val => { + const value = typeof val === 'number' ? val : parseFloat(val); + const px = (value - p1.x) * (p2.y - p1.y) / (p2.x - p1.x) + p1.y; + console.info(Math.round(px) + 'px'); + }; } \ No newline at end of file -- Gitblit v1.9.1