From 15f5cd79443f8ed4c1097a2443e9b625919da3fc Mon Sep 17 00:00:00 2001 From: Tevin <tingquanren@163.com> Date: Fri, 02 Apr 2021 16:01:48 +0800 Subject: [PATCH] 无限滚动与日期范围组件,显示行为优化 --- common/Tools.js | 91 ++++++++++++--------------------------------- 1 files changed, 25 insertions(+), 66 deletions(-) diff --git a/common/Tools.js b/common/Tools.js index 571d010..3c235cd 100644 --- a/common/Tools.js +++ b/common/Tools.js @@ -5,25 +5,8 @@ import moment from 'moment'; import Taro from '@tarojs/taro'; -import { $ } from '@tarojs/extend'; export class Tools { - - /** - * URL参数解析 - * @param {String} name - * @param {String} [search] - * @return {String|Null} - */ - static getUrlParam(name, search = window.location.search) { - const reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i'); - const r = search.substr(1).match(reg); - if (r !== null) { - return decodeURIComponent(r[2]); - } else { - return null; - } - } /** * 显示消息 @@ -39,17 +22,18 @@ } /** - * 锁定页面 - * @param type - lock / unlock + * URL参数解析 + * @param {String} name + * @param {String} [search] + * @return {String|Null} */ - static lockScreen(type) { - if (typeof Tools.$lock) { - Tools.$lock = $('#lock'); - } - if (type === 'lock') { - Tools.$lock.show(); - } else if (type === 'unlock') { - Tools.$lock.hide(); + static getUrlParam(name, search = window.location.search) { + const reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i'); + const r = search.substr(1).match(reg); + if (r !== null) { + return decodeURIComponent(r[2]); + } else { + return null; } } @@ -180,33 +164,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 +287,6 @@ } } return target; - } - - /** - * 数组元素交换位置 - * @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; } /** @@ -498,5 +443,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