From 252fb8949554e99687a8bf41e05e2f25a768ca6a Mon Sep 17 00:00:00 2001
From: Tevin <tingquanren@163.com>
Date: Fri, 18 Jun 2021 14:57:31 +0800
Subject: [PATCH] 补齐日期选择插件功能

---
 common/Tools.js |   42 +++++++++++++++++++++++++++++++++++-------
 1 files changed, 35 insertions(+), 7 deletions(-)

diff --git a/common/Tools.js b/common/Tools.js
index 0c4fb41..90c1848 100644
--- a/common/Tools.js
+++ b/common/Tools.js
@@ -11,14 +11,31 @@
     /**
      * 显示消息
      * @param msg
+     * @param [duration=2000]
      */
-    static toast(msg) {
+    static toast(msg, duration = 2000) {
         Taro.showToast({
             title: msg,
             icon: 'none',
             mask: true,
-            duration: 2000,
+            duration,
         });
+    }
+
+    /**
+     * 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;
+        }
     }
 
     /**
@@ -344,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);
     }
 
     /**
@@ -427,5 +441,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