diff --git a/src/uni_modules/uview-plus/components/up-overlay/overlay.uts b/src/uni_modules/uview-plus/components/up-overlay/overlay.uts
new file mode 100644
index 000000000..5862cfb40
--- /dev/null
+++ b/src/uni_modules/uview-plus/components/up-overlay/overlay.uts
@@ -0,0 +1,18 @@
+/*
+ * @Author : jry
+ * @Description :
+ * @version : 4.0
+ * @Date : 2024-09-12 01:06:21
+ * @LastAuthor : jry
+ * @lastTime : 2024-09-12 01:06:21
+ * @FilePath : /uview-plus/libs/config/props/overlay
+ */
+export default {
+ // overlay组件
+ overlay: {
+ show: false,
+ zIndex: 10070,
+ duration: 300,
+ opacity: 0.5
+ }
+} as UTSJSONObject
diff --git a/src/uni_modules/uview-plus/components/up-overlay/props.uts b/src/uni_modules/uview-plus/components/up-overlay/props.uts
new file mode 100644
index 000000000..cac5a2d74
--- /dev/null
+++ b/src/uni_modules/uview-plus/components/up-overlay/props.uts
@@ -0,0 +1,28 @@
+import { defineMixin } from '../../libs/vue'
+import defProps from './overlay'
+let crtProp = defProps['overlay'] as UTSJSONObject
+
+export const propsOverlay = defineMixin({
+ props: {
+ // 是否显示遮罩
+ show: {
+ type: Boolean,
+ default: crtProp['show']
+ },
+ // 层级z-index
+ zIndex: {
+ type: [String, Number],
+ default: crtProp['zIndex']
+ },
+ // 遮罩的过渡时间,单位为ms
+ duration: {
+ type: [String, Number],
+ default: crtProp['duration']
+ },
+ // 不透明度值,当做rgba的第四个参数
+ opacity: {
+ type: [String, Number],
+ default: crtProp['opacity']
+ }
+ }
+})
diff --git a/src/uni_modules/uview-plus/components/up-overlay/up-overlay.uvue b/src/uni_modules/uview-plus/components/up-overlay/up-overlay.uvue
new file mode 100644
index 000000000..da6710934
--- /dev/null
+++ b/src/uni_modules/uview-plus/components/up-overlay/up-overlay.uvue
@@ -0,0 +1,71 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/uni_modules/uview-plus/components/up-overlay/up-overlay.vue b/src/uni_modules/uview-plus/components/up-overlay/up-overlay.vue
index 7ad1dfe91..13c61c765 100644
--- a/src/uni_modules/uview-plus/components/up-overlay/up-overlay.vue
+++ b/src/uni_modules/uview-plus/components/up-overlay/up-overlay.vue
@@ -29,7 +29,7 @@
*/
export default {
name: "up-overlay",
- mixins: [mpMixin, mixin,props],
+ mixins: [mpMixin, mixin, props],
computed: {
overlayStyle() {
const style = {
diff --git a/src/uni_modules/uview-plus/components/up-popup/popup.uts b/src/uni_modules/uview-plus/components/up-popup/popup.uts
new file mode 100644
index 000000000..35d335e43
--- /dev/null
+++ b/src/uni_modules/uview-plus/components/up-popup/popup.uts
@@ -0,0 +1,28 @@
+/*
+ * @Author : jry
+ * @Description : uview-plus component's props mixin file
+ * @version : 4.0
+ * @Date : 2024-00-12 00:47:21
+ * @LastAuthor : jry
+ * @lastTime : 2024-09-12 00:47:21
+ */
+export default {
+ // popup组件
+ popup: {
+ show: false,
+ overlay: true,
+ mode: 'bottom',
+ duration: 300,
+ closeable: false,
+ overlayStyle: {},
+ closeOnClickOverlay: true,
+ zIndex: 10075,
+ safeAreaInsetBottom: true,
+ safeAreaInsetTop: false,
+ closeIconPos: 'top-right',
+ round: 0,
+ zoom: true,
+ bgColor: '',
+ overlayOpacity: 0.5
+ }
+} as UTSJSONObject
diff --git a/src/uni_modules/uview-plus/components/up-popup/props.uts b/src/uni_modules/uview-plus/components/up-popup/props.uts
new file mode 100644
index 000000000..8935aa565
--- /dev/null
+++ b/src/uni_modules/uview-plus/components/up-popup/props.uts
@@ -0,0 +1,91 @@
+/*
+ * @Author : jry
+ * @Description : uview-plus component's props mixin file
+ * @version : 4.0
+ * @Date : 2024-00-12 00:47:21
+ * @LastAuthor : jry
+ * @lastTime : 2024-09-12 00:47:21
+ */
+import { defineMixin } from '../../libs/vue'
+import defProps from './popup'
+let crtProp = defProps['popup'] as UTSJSONObject
+
+export const propsPopup = defineMixin({
+ props: {
+ // 是否展示弹窗
+ show: {
+ type: Boolean,
+ default: crtProp['show']
+ },
+ // 是否显示遮罩
+ overlay: {
+ type: Boolean,
+ default: crtProp['overlay']
+ },
+ // 弹出的方向,可选值为 top bottom right left center
+ mode: {
+ type: String,
+ default: crtProp['mode']
+ },
+ // 动画时长,单位ms
+ duration: {
+ type: [String, Number],
+ default: crtProp['duration']
+ },
+ // 是否显示关闭图标
+ closeable: {
+ type: Boolean,
+ default: crtProp['closeable']
+ },
+ // 自定义遮罩的样式
+ overlayStyle: {
+ type: [Object, String],
+ default: crtProp['overlayStyle']
+ },
+ // 点击遮罩是否关闭弹窗
+ closeOnClickOverlay: {
+ type: Boolean,
+ default: crtProp['closeOnClickOverlay']
+ },
+ // 层级
+ zIndex: {
+ type: [String, Number],
+ default: crtProp['zIndex']
+ },
+ // 是否为iPhoneX留出底部安全距离
+ safeAreaInsetBottom: {
+ type: Boolean,
+ default: crtProp['safeAreaInsetBottom']
+ },
+ // 是否留出顶部安全距离(状态栏高度)
+ safeAreaInsetTop: {
+ type: Boolean,
+ default: crtProp['safeAreaInsetTop']
+ },
+ // 自定义关闭图标位置,top-left为左上角,top-right为右上角,bottom-left为左下角,bottom-right为右下角
+ closeIconPos: {
+ type: String,
+ default: crtProp['closeIconPos']
+ },
+ // 是否显示圆角
+ round: {
+ type: [Boolean, String, Number],
+ default: crtProp['round']
+ },
+ // mode=center,也即中部弹出时,是否使用缩放模式
+ zoom: {
+ type: Boolean,
+ default: crtProp['zoom']
+ },
+ // 弹窗背景色,设置为transparent可去除白色背景
+ bgColor: {
+ type: String,
+ default: crtProp['bgColor']
+ },
+ // 遮罩的透明度,0-1之间
+ overlayOpacity: {
+ type: [Number, String],
+ default: crtProp['overlayOpacity']
+ }
+ }
+})
diff --git a/src/uni_modules/uview-plus/components/up-popup/up-popup.uvue b/src/uni_modules/uview-plus/components/up-popup/up-popup.uvue
new file mode 100644
index 000000000..1a8f6faac
--- /dev/null
+++ b/src/uni_modules/uview-plus/components/up-popup/up-popup.uvue
@@ -0,0 +1,313 @@
+
+
+
+
+
+
+
diff --git a/src/uni_modules/uview-plus/components/up-radio/props.uts b/src/uni_modules/uview-plus/components/up-radio/props.uts
index 600fee606..6a54f7eee 100644
--- a/src/uni_modules/uview-plus/components/up-radio/props.uts
+++ b/src/uni_modules/uview-plus/components/up-radio/props.uts
@@ -6,7 +6,7 @@
* @LastAuthor : jry
* @lastTime : 2024-08-30 23:17:20
*/
- import { defineMixin } from '../../libs/vue'
+import { defineMixin } from '../../libs/vue'
import defProps from './radio'
let crtProp = defProps['radio'] as UTSJSONObject
diff --git a/src/uni_modules/uview-plus/components/up-safe-bottom/props.uts b/src/uni_modules/uview-plus/components/up-safe-bottom/props.uts
new file mode 100644
index 000000000..ee2c5f77a
--- /dev/null
+++ b/src/uni_modules/uview-plus/components/up-safe-bottom/props.uts
@@ -0,0 +1,6 @@
+import { defineMixin } from '../../libs/vue'
+
+export const propsSafeBottom = defineMixin({
+ props: {
+ }
+})
diff --git a/src/uni_modules/uview-plus/components/up-safe-bottom/up-safe-bottom.uvue b/src/uni_modules/uview-plus/components/up-safe-bottom/up-safe-bottom.uvue
new file mode 100644
index 000000000..d2269507c
--- /dev/null
+++ b/src/uni_modules/uview-plus/components/up-safe-bottom/up-safe-bottom.uvue
@@ -0,0 +1,59 @@
+
+
+
+
+
+
+
+
diff --git a/uni-app-x/pages.json b/uni-app-x/pages.json
index 9e13221db..729fa3ebf 100644
--- a/uni-app-x/pages.json
+++ b/uni-app-x/pages.json
@@ -72,13 +72,13 @@
"navigationBarTitleText": "加载中图标"
}
}
- // ,{
- // "path": "overlay/overlay",
- // "style": {
- // "navigationBarTitleText": "遮罩层",
- // "navigationStyle": "custom"
- // }
- // },
+ ,{
+ "path": "overlay/overlay",
+ "style": {
+ "navigationBarTitleText": "遮罩层",
+ "navigationStyle": "custom"
+ }
+ }
,{
"path": "loading-page/loading-page",
"style": {
@@ -86,14 +86,14 @@
"navigationStyle": "custom"
}
}
+ ,{
+ "path": "popup/popup",
+ "style": {
+ "navigationBarTitleText": "弹窗",
+ "navigationStyle": "custom"
+ }
+ }
// ,{
- // "path": "popup/popup",
- // "style": {
- // "navigationBarTitleText": "弹窗",
- // "navigationStyle": "custom"
- // }
- // },
- // {
// "path": "swipeAction/swipeAction",
// "style": {
// "navigationBarTitleText": "滑动单元格"
diff --git a/uni-app-x/pages/componentsA/overlay/overlay.nvue b/uni-app-x/pages/componentsA/overlay/overlay.uvue
similarity index 88%
rename from uni-app-x/pages/componentsA/overlay/overlay.nvue
rename to uni-app-x/pages/componentsA/overlay/overlay.uvue
index d735c6b9a..3b1eec4c7 100644
--- a/uni-app-x/pages/componentsA/overlay/overlay.nvue
+++ b/uni-app-x/pages/componentsA/overlay/overlay.uvue
@@ -1,4 +1,7 @@
+
+
+
@@ -43,6 +46,9 @@
>
+
+
+