From 2794927ea5a697a1e514a7c9cc204273db7f32c1 Mon Sep 17 00:00:00 2001 From: Tevin <tingquanren@163.com> Date: Mon, 21 Jun 2021 09:47:03 +0800 Subject: [PATCH] 优化图片压缩细节,优惠图片上传组件预览 --- common/Tools.js | 48 ++++++++++++++++++++++++++++++------------------ 1 files changed, 30 insertions(+), 18 deletions(-) diff --git a/common/Tools.js b/common/Tools.js index b1c436c..476235e 100644 --- a/common/Tools.js +++ b/common/Tools.js @@ -5,35 +5,36 @@ import moment from 'moment'; import Taro from '@tarojs/taro'; -import { $ } from '@tarojs/extend'; export class Tools { /** * 显示消息 * @param msg + * @param [duration=2000] */ - static toast(msg) { + static toast(msg, duration = 2000) { Taro.showToast({ title: msg, icon: 'none', mask: true, - duration: 2000, + duration, }); } /** - * 锁定页面 - * @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; } } @@ -360,16 +361,13 @@ * @return {string} */ static moneyFormat(number) { - if (!number && typeof number !== 'number') { + if (!number && typeof number !== 'number' && typeof number !== 'string') { return ''; } if (typeof number === 'string') { number = Number(number) || 0; } - const numFixed = number.toFixed(2); - const integer = parseInt(numFixed); - const decimal = numFixed.split('.')[1]; - return integer.toLocaleString() + '.' + decimal; + return number.toFixed(2); } /** @@ -443,5 +441,19 @@ return /^1[3456789]\d{9}$/.test('' + phone); } +} +// h5 中,实现 rem 转换 px +if (process.env.NODE_ENV === 'development' && process.env.TARO_ENV === 'h5') { + window.rem = val => { + const p1 = { + x: parseFloat(Taro.pxTransform(10, 750)), y: 10, + }; + const p2 = { + x: parseFloat(Taro.pxTransform(1000, 750)), y: 1000, + }; + 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