diff --git a/CoreCms.Net.Uni-App/CoreShop/uni_modules/uview-ui/changelog.md b/CoreCms.Net.Uni-App/CoreShop/uni_modules/uview-ui/changelog.md index ca502516..d80fd9fe 100644 --- a/CoreCms.Net.Uni-App/CoreShop/uni_modules/uview-ui/changelog.md +++ b/CoreCms.Net.Uni-App/CoreShop/uni_modules/uview-ui/changelog.md @@ -1,4 +1,4 @@ -## 2.0.34(2022-09-25) +## 2.0.34(2022-09-24) # uView2.0重磅发布,利剑出鞘,一统江湖 1. `u-input`、`u-textarea`增加`ignoreCompositionEvent`属性 diff --git a/CoreCms.Net.Uni-App/CoreShop/uni_modules/uview-ui/components/u-modal/u-modal.vue b/CoreCms.Net.Uni-App/CoreShop/uni_modules/uview-ui/components/u-modal/u-modal.vue index 4c37ae2e..cc8fe05d 100644 --- a/CoreCms.Net.Uni-App/CoreShop/uni_modules/uview-ui/components/u-modal/u-modal.vue +++ b/CoreCms.Net.Uni-App/CoreShop/uni_modules/uview-ui/components/u-modal/u-modal.vue @@ -146,7 +146,7 @@ }, // 点击遮罩 // 从原理上来说,modal的遮罩点击,并不是真的点击到了遮罩 - // 因为modal依赖于popup的中部弹窗类型,中部弹窗比较特殊,虽有然遮罩,但是为了让弹窗内容能flex居中 + // 因为modal依赖于popup的中部弹窗类型,中部弹窗比较特殊,虽然有遮罩,但是为了让弹窗内容能flex居中 // 多了一个透明的遮罩,此透明的遮罩会覆盖在灰色的遮罩上,所以实际上是点击不到灰色遮罩的,popup内部在 // 透明遮罩的子元素做了.stop处理,所以点击内容区,也不会导致误触发 clickHandler() { diff --git a/CoreCms.Net.Uni-App/CoreShop/uni_modules/uview-ui/libs/util/route.js b/CoreCms.Net.Uni-App/CoreShop/uni_modules/uview-ui/libs/util/route.js index 70b8ca47..2afeea5c 100644 --- a/CoreCms.Net.Uni-App/CoreShop/uni_modules/uview-ui/libs/util/route.js +++ b/CoreCms.Net.Uni-App/CoreShop/uni_modules/uview-ui/libs/util/route.js @@ -4,121 +4,121 @@ */ class Router { - constructor() { - // 原始属性定义 - this.config = { - type: 'navigateTo', - url: '', - delta: 1, // navigateBack页面后退时,回退的层数 - params: {}, // 传递的参数 - animationType: 'pop-in', // 窗口动画,只在APP有效 - animationDuration: 300, // 窗口动画持续时间,单位毫秒,只在APP有效 - intercept: false // 是否需要拦截 - } - // 因为route方法是需要对外赋值给另外的对象使用,同时route内部有使用this,会导致route失去上下文 - // 这里在构造函数中进行this绑定 - this.route = this.route.bind(this) - } + constructor() { + // 原始属性定义 + this.config = { + type: 'navigateTo', + url: '', + delta: 1, // navigateBack页面后退时,回退的层数 + params: {}, // 传递的参数 + animationType: 'pop-in', // 窗口动画,只在APP有效 + animationDuration: 300, // 窗口动画持续时间,单位毫秒,只在APP有效 + intercept: false // 是否需要拦截 + } + // 因为route方法是需要对外赋值给另外的对象使用,同时route内部有使用this,会导致route失去上下文 + // 这里在构造函数中进行this绑定 + this.route = this.route.bind(this) + } - // 判断url前面是否有"/",如果没有则加上,否则无法跳转 - addRootPath(url) { - return url[0] === '/' ? url : `/${url}` - } + // 判断url前面是否有"/",如果没有则加上,否则无法跳转 + addRootPath(url) { + return url[0] === '/' ? url : `/${url}` + } - // 整合路由参数 - mixinParam(url, params) { - url = url && this.addRootPath(url) + // 整合路由参数 + mixinParam(url, params) { + url = url && this.addRootPath(url) - // 使用正则匹配,主要依据是判断是否有"/","?","="等,如“/page/index/index?name=mary" - // 如果有url中有get参数,转换后无需带上"?" - let query = '' - if (/.*\/.*\?.*=.*/.test(url)) { - // object对象转为get类型的参数 - query = uni.$u.queryParams(params, false) - // 因为已有get参数,所以后面拼接的参数需要带上"&"隔开 - return url += `&${query}` - } - // 直接拼接参数,因为此处url中没有后面的query参数,也就没有"?/&"之类的符号 - query = uni.$u.queryParams(params) - return url += query - } + // 使用正则匹配,主要依据是判断是否有"/","?","="等,如“/page/index/index?name=mary" + // 如果有url中有get参数,转换后无需带上"?" + let query = '' + if (/.*\/.*\?.*=.*/.test(url)) { + // object对象转为get类型的参数 + query = uni.$u.queryParams(params, false) + // 因为已有get参数,所以后面拼接的参数需要带上"&"隔开 + return url += `&${query}` + } + // 直接拼接参数,因为此处url中没有后面的query参数,也就没有"?/&"之类的符号 + query = uni.$u.queryParams(params) + return url += query + } - // 对外的方法名称 - async route(options = {}, params = {}) { - // 合并用户的配置和内部的默认配置 - let mergeConfig = {} + // 对外的方法名称 + async route(options = {}, params = {}) { + // 合并用户的配置和内部的默认配置 + let mergeConfig = {} - if (typeof options === 'string') { - // 如果options为字符串,则为route(url, params)的形式 - mergeConfig.url = this.mixinParam(options, params) - mergeConfig.type = 'navigateTo' - } else { - mergeConfig = uni.$u.deepMerge(options, this.config) - // 否则正常使用mergeConfig中的url和params进行拼接 - mergeConfig.url = this.mixinParam(options.url, options.params) - } + if (typeof options === 'string') { + // 如果options为字符串,则为route(url, params)的形式 + mergeConfig.url = this.mixinParam(options, params) + mergeConfig.type = 'navigateTo' + } else { + mergeConfig = uni.$u.deepMerge(this.config, options) + // 否则正常使用mergeConfig中的url和params进行拼接 + mergeConfig.url = this.mixinParam(options.url, options.params) + } - // 如果本次跳转的路径和本页面路径一致,不执行跳转,防止用户快速点击跳转按钮,造成多次跳转同一个页面的问题 - if (mergeConfig.url === uni.$u.page()) return + // 如果本次跳转的路径和本页面路径一致,不执行跳转,防止用户快速点击跳转按钮,造成多次跳转同一个页面的问题 + if (mergeConfig.url === uni.$u.page()) return - if (params.intercept) { - this.config.intercept = params.intercept - } - // params参数也带给拦截器 - mergeConfig.params = params - // 合并内外部参数 - mergeConfig = uni.$u.deepMerge(this.config, mergeConfig) - // 判断用户是否定义了拦截器 - if (typeof uni.$u.routeIntercept === 'function') { - // 定一个promise,根据用户执行resolve(true)或者resolve(false)来决定是否进行路由跳转 - const isNext = await new Promise((resolve, reject) => { - uni.$u.routeIntercept(mergeConfig, resolve) - }) - // 如果isNext为true,则执行路由跳转 - isNext && this.openPage(mergeConfig) - } else { - this.openPage(mergeConfig) - } - } + if (params.intercept) { + this.config.intercept = params.intercept + } + // params参数也带给拦截器 + mergeConfig.params = params + // 合并内外部参数 + mergeConfig = uni.$u.deepMerge(this.config, mergeConfig) + // 判断用户是否定义了拦截器 + if (typeof uni.$u.routeIntercept === 'function') { + // 定一个promise,根据用户执行resolve(true)或者resolve(false)来决定是否进行路由跳转 + const isNext = await new Promise((resolve, reject) => { + uni.$u.routeIntercept(mergeConfig, resolve) + }) + // 如果isNext为true,则执行路由跳转 + isNext && this.openPage(mergeConfig) + } else { + this.openPage(mergeConfig) + } + } - // 执行路由跳转 - openPage(config) { - // 解构参数 - const { - url, - type, - delta, - animationType, - animationDuration - } = config - if (config.type == 'navigateTo' || config.type == 'to') { - uni.navigateTo({ - url, - animationType, - animationDuration - }) - } - if (config.type == 'redirectTo' || config.type == 'redirect') { - uni.redirectTo({ - url - }) - } - if (config.type == 'switchTab' || config.type == 'tab') { - uni.switchTab({ - url - }) - } - if (config.type == 'reLaunch' || config.type == 'launch') { - uni.reLaunch({ - url - }) - } - if (config.type == 'navigateBack' || config.type == 'back') { - uni.navigateBack({ - delta - }) - } - } + // 执行路由跳转 + openPage(config) { + // 解构参数 + const { + url, + type, + delta, + animationType, + animationDuration + } = config + if (config.type == 'navigateTo' || config.type == 'to') { + uni.navigateTo({ + url, + animationType, + animationDuration + }) + } + if (config.type == 'redirectTo' || config.type == 'redirect') { + uni.redirectTo({ + url + }) + } + if (config.type == 'switchTab' || config.type == 'tab') { + uni.switchTab({ + url + }) + } + if (config.type == 'reLaunch' || config.type == 'launch') { + uni.reLaunch({ + url + }) + } + if (config.type == 'navigateBack' || config.type == 'back') { + uni.navigateBack({ + delta + }) + } + } } export default (new Router()).route diff --git a/CoreCms.Net.Uni-App/CoreShop/uni_modules/uview-ui/package.json b/CoreCms.Net.Uni-App/CoreShop/uni_modules/uview-ui/package.json index 0472b31b..b5395638 100644 --- a/CoreCms.Net.Uni-App/CoreShop/uni_modules/uview-ui/package.json +++ b/CoreCms.Net.Uni-App/CoreShop/uni_modules/uview-ui/package.json @@ -2,7 +2,7 @@ "id": "uview-ui", "name": "uview-ui", "displayName": "uView2.0重磅发布,利剑出鞘,一统江湖", - "version": "2.0.34", + "version": "2.0.35", "description": "uView UI已完美兼容nvue,全面的组件和便捷的工具会让您信手拈来,如鱼得水", "keywords": [ "uview", @@ -17,8 +17,12 @@ "engines": { "HBuilderX": "^3.1.0" }, - "dcloudext": { - "sale": { + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "sale": { "regular": { "price": "0.00" }, @@ -34,8 +38,7 @@ "data": "无", "permissions": "无" }, - "npmurl": "https://www.npmjs.com/package/uview-ui", - "type": "component-vue" + "npmurl": "https://www.npmjs.com/package/uview-ui" }, "uni_modules": { "dependencies": [],