From d1448cb0ef10f358bb7bddb4e1ec268515e0b787 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期二, 15 七月 2025 11:46:57 +0800
Subject: [PATCH] 项目初始化

---
 uni_modules/uview-ui/components/u-text/value.js |   85 ++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 85 insertions(+), 0 deletions(-)

diff --git a/uni_modules/uview-ui/components/u-text/value.js b/uni_modules/uview-ui/components/u-text/value.js
new file mode 100644
index 0000000..9859bbb
--- /dev/null
+++ b/uni_modules/uview-ui/components/u-text/value.js
@@ -0,0 +1,85 @@
+export default {
+    computed: {
+        // 缁忓鐞嗗悗闇�瑕佹樉绀虹殑鍊�
+        value() {
+            const {
+                text,
+                mode,
+                format,
+                href
+            } = this
+            // 浠锋牸绫诲瀷
+            if (mode === 'price') {
+                // 濡傛灉text涓嶄负閲戦杩涜鎻愮ず
+                if (!/^\d+(\.\d+)?$/.test(text)) {
+                    uni.$u.error('閲戦妯″紡涓嬶紝text鍙傛暟闇�瑕佷负閲戦鏍煎紡');
+                }
+                // 杩涜鏍煎紡鍖栵紝鍒ゆ柇鐢ㄦ埛浼犲叆鐨刦ormat鍙傛暟涓烘鍒欙紝鎴栬�呭嚱鏁帮紝濡傛灉娌℃湁浼犲叆format锛屽垯浣跨敤榛樿鐨勯噾棰濇牸寮忓寲澶勭悊
+                if (uni.$u.test.func(format)) {
+                    // 濡傛灉鐢ㄦ埛浼犲叆鐨勬槸鍑芥暟锛屼娇鐢ㄥ嚱鏁版牸寮忓寲
+                    return format(text)
+                }
+                // 濡傛灉format闈炴鍒欙紝闈炲嚱鏁帮紝鍒欎娇鐢ㄩ粯璁ょ殑閲戦鏍煎紡鍖栨柟娉曡繘琛屾搷浣�
+                return uni.$u.priceFormat(text, 2)
+            } if (mode === 'date') {
+                // 鍒ゆ柇鏄惁鍚堟硶鐨勬棩鏈熸垨鑰呮椂闂存埑
+                !uni.$u.test.date(text) && uni.$u.error('鏃ユ湡妯″紡涓嬶紝text鍙傛暟闇�瑕佷负鏃ユ湡鎴栨椂闂存埑鏍煎紡')
+                // 杩涜鏍煎紡鍖栵紝鍒ゆ柇鐢ㄦ埛浼犲叆鐨刦ormat鍙傛暟涓烘鍒欙紝鎴栬�呭嚱鏁帮紝濡傛灉娌℃湁浼犲叆format锛屽垯浣跨敤榛樿鐨勬牸寮忓寲澶勭悊
+                if (uni.$u.test.func(format)) {
+                    // 濡傛灉鐢ㄦ埛浼犲叆鐨勬槸鍑芥暟锛屼娇鐢ㄥ嚱鏁版牸寮忓寲
+                    return format(text)
+                } if (format) {
+                    // 濡傛灉format闈炴鍒欙紝闈炲嚱鏁帮紝鍒欎娇鐢ㄩ粯璁ょ殑鏃堕棿鏍煎紡鍖栨柟娉曡繘琛屾搷浣�
+                    return uni.$u.timeFormat(text, format)
+                }
+                // 濡傛灉娌℃湁璁剧疆format锛屽垯璁剧疆涓洪粯璁ょ殑鏃堕棿鏍煎紡鍖栧舰寮�
+                return uni.$u.timeFormat(text, 'yyyy-mm-dd')
+            } if (mode === 'phone') {
+                // 鍒ゆ柇鏄惁鍚堟硶鐨勬墜鏈哄彿
+                // !uni.$u.test.mobile(text) && uni.$u.error('鎵嬫満鍙锋ā寮忎笅锛宼ext鍙傛暟闇�瑕佷负鎵嬫満鍙风爜鏍煎紡')
+                if (uni.$u.test.func(format)) {
+                    // 濡傛灉鐢ㄦ埛浼犲叆鐨勬槸鍑芥暟锛屼娇鐢ㄥ嚱鏁版牸寮忓寲
+                    return format(text)
+                } if (format === 'encrypt') {
+                    // 濡傛灉format涓篹ncrypt锛屽垯灏嗘墜鏈哄彿杩涜鏄熷彿鍔犲瘑澶勭悊
+                    return `${text.substr(0, 3)}****${text.substr(7)}`
+                }
+                return text
+            } if (mode === 'name') {
+                // 鍒ゆ柇鏄惁鍚堟硶鐨勫瓧绗︾矖
+                !(typeof (text) === 'string') && uni.$u.error('濮撳悕妯″紡涓嬶紝text鍙傛暟闇�瑕佷负瀛楃涓叉牸寮�')
+                if (uni.$u.test.func(format)) {
+                    // 濡傛灉鐢ㄦ埛浼犲叆鐨勬槸鍑芥暟锛屼娇鐢ㄥ嚱鏁版牸寮忓寲
+                    return format(text)
+                } if (format === 'encrypt') {
+                    // 濡傛灉format涓篹ncrypt锛屽垯灏嗗鍚嶈繘琛屾槦鍙峰姞瀵嗗鐞�
+                    return this.formatName(text)
+                }
+                return text
+            } if (mode === 'link') {
+                // 鍒ゆ柇鏄惁鍚堟硶鐨勫瓧绗︾矖
+                !uni.$u.test.url(href) && uni.$u.error('瓒呴摼鎺ユā寮忎笅锛宧ref鍙傛暟闇�瑕佷负URL鏍煎紡')
+                return text
+            }
+            return text
+        }
+    },
+    methods: {
+        // 榛樿鐨勫鍚嶈劚鏁忚鍒�
+        formatName(name) {
+            let value = ''
+            if (name.length === 2) {
+                value = name.substr(0, 1) + '*'
+            } else if (name.length > 2) {
+                let char = ''
+                for (let i = 0, len = name.length - 2; i < len; i++) {
+                    char += '*'
+                }
+                value = name.substr(0, 1) + char + name.substr(-1, 1)
+            } else {
+                value = name
+            }
+            return value
+        }
+    }
+}

--
Gitblit v1.9.3