From ec90cbd7680a6f927cb1cea43f33ab7df6d0864c Mon Sep 17 00:00:00 2001
From: zhangwei <1504152376@qq.com>
Date: 星期二, 11 十一月 2025 09:23:22 +0800
Subject: [PATCH] -
---
src/uni_modules/uview-plus/index.js | 41 +++++++++++++++++++++++++++++++++++++++--
1 files changed, 39 insertions(+), 2 deletions(-)
diff --git a/src/uni_modules/uview-plus/index.js b/src/uni_modules/uview-plus/index.js
index 01179c4..62c49b8 100644
--- a/src/uni_modules/uview-plus/index.js
+++ b/src/uni_modules/uview-plus/index.js
@@ -77,11 +77,48 @@
platform
}
-// $u鎸傝浇鍒皍ni瀵硅薄涓�
-uni.$u = $u
+export const mount$u = function() {
+ uni.$u = $u
+}
+
+// #ifdef H5
+const importFn = import.meta.glob('./components/u-*/u-*.vue', { eager: true })
+let components = [];
+
+// 鎵归噺娉ㄥ唽鍏ㄥ眬缁勪欢
+for (const key in importFn) {
+ let component = importFn[key].default;
+ if (component.name && component.name.indexOf('u--') !== 0) {
+ component.install = function (Vue) {
+ Vue.component(name, component);
+ };
+
+ // 瀵煎叆缁勪欢
+ components.push(component);
+ }
+}
+// #endif
+
+function toCamelCase(str) {
+ return str.replace(/-([a-z])/g, function(match, group1) {
+ return group1.toUpperCase();
+ }).replace(/^[a-z]/, function(match) {
+ return match.toUpperCase();
+ });
+}
const install = (Vue) => {
+ // #ifdef H5
+ components.forEach(function(component) {
+ const name = component.name.replace(/u-([a-zA-Z0-9-_]+)/g, 'up-$1');
+ Vue.component(name, component);
+ });
+ // #endif
+
// 鍚屾椂鎸傝浇鍒皍ni鍜孷ue.prototype涓�
+ // $u鎸傝浇鍒皍ni瀵硅薄涓�
+ uni.$u = $u
+
// #ifndef APP-NVUE
// 鍙湁vue锛屾寕杞藉埌Vue.prototype鎵嶆湁鎰忎箟锛屽洜涓簄vue涓叏灞�Vue.prototype鍜孷ue.mixin鏄棤鏁堢殑
Vue.config.globalProperties.$u = $u
--
Gitblit v1.9.1