# 2022-01-31

### 1.3.5 开源社区版(会员专业版同步修改):
【优化】取消Sqlsugar二级缓存功能。#I4SBZZ
【优化】剔除未使用的goodsinfos文件夹的试图文件。
【优化】取消商品描述的重量,统一使用sku的重量来计算运费。#I4SAVQ
【优化】移除历史时间过长的数据库文件,减少git包大小。

### 0.1.4 会员专业版:
【升级】升级uview到2.0.27版本。
This commit is contained in:
jianweie code
2022-01-31 00:54:43 +08:00
parent 5ac324812c
commit 88fdbce2e8
68 changed files with 567 additions and 194871 deletions

View File

@@ -1,3 +1,43 @@
## 2.0.272022-01-28
# uView2.0重磅发布,利剑出鞘,一统江湖
1.样式修复
## 2.0.262022-01-28
# uView2.0重磅发布,利剑出鞘,一统江湖
1.样式修复
## 2.0.252022-01-27
# uView2.0重磅发布,利剑出鞘,一统江湖
1. 修复text组件mode=price时可能会导致精度错误的问题
2. 添加$u.setConfig()方法可设置uView内置的config, props, zIndex, color属性详见[修改uView内置配置方案](https://uviewui.com/components/setting.html#%E9%BB%98%E8%AE%A4%E5%8D%95%E4%BD%8D%E9%85%8D%E7%BD%AE)
3. 优化form组件在errorType=toast时如果输入错误页面会有抖动的问题
4. 修复$u.addUnit()对配置默认单位可能无效的问题
## 2.0.242022-01-25
# uView2.0重磅发布,利剑出鞘,一统江湖
1. 修复swiper在current指定非0时缩放有误
2. 修复u-icon添加stop属性的时候报错
3. 优化遗留的通过正则判断rpx单位的问题
4. 优化Layout布局 vue使用gutter时会超出固定区域
5. 优化search组件高度单位问题rpx -> px
6. 修复u-image slot 加载和错误的图片失去了高度
7. 修复u-index-list中footer插槽与header插槽存在性判断错误
8. 修复部分机型下u-popup关闭时会闪烁
9. 修复u-image在nvue-app下失去宽高
10. 修复u-popup运行报错
11. 修复u-tooltip报错
12. 修复box-sizing在app下的警告
13. 修复u-navbar在小程序中报运行时错误
14. 其他修复
## 2.0.232022-01-24
# uView2.0重磅发布,利剑出鞘,一统江湖
1. 修复image组件在hx3.3.9的nvue下可能会显示异常的问题
2. 修复col组件gutter参数带rpx单位处理不正确的问题
3. 修复text组件单行时无法显示省略号的问题
4. navbar添加titleStyle参数
5. 升级到hx3.3.9可消除nvue下控制台样式警告的问题
## 2.0.222022-01-19
# uView2.0重磅发布,利剑出鞘,一统江湖

View File

@@ -20,11 +20,6 @@ export default {
type: String,
default: uni.$u.props.cell.icon
},
// 标题的宽度单位任意数值默认为px单位
titleWidth: {
type: [String, Number],
default: uni.$u.props.cell.titleWidth
},
// 是否禁用cell
disabled: {
type: Boolean,

View File

@@ -47,7 +47,6 @@
* @property {String | Number} label 标题下方的描述信息
* @property {String | Number} value 右侧的内容
* @property {String} icon 左侧图标名称,或者图片链接(本地文件建议使用绝对地址)
* @property {String | Number} titleWidth 标题的宽度单位任意数值默认为px单位
* @property {Boolean} disabled 是否禁用cell
* @property {Boolean} border 是否显示下边框 (默认 true )
* @property {Boolean} center 内容是否垂直居中(主要是针对右侧的value部分) (默认 false )

View File

@@ -53,8 +53,8 @@
colStyle() {
const style = {
// 这里写成"padding: 0 10px"的形式是因为nvue的需要
paddingLeft: uni.$u.addUnit(Number(this.parentData.gutter)/2),
paddingRight: uni.$u.addUnit(Number(this.parentData.gutter)/2),
paddingLeft: uni.$u.addUnit(uni.$u.getPx(this.parentData.gutter)/2),
paddingRight: uni.$u.addUnit(uni.$u.getPx(this.parentData.gutter)/2),
alignItems: this.uAlignItem,
justifyContent: this.uJustify,
textAlign: this.textAlign,
@@ -96,6 +96,9 @@
.u-col {
padding: 0;
/* #ifndef APP-NVUE */
box-sizing:border-box;
/* #endif */
/* #ifdef MP */
display: block;
/* #endif */

View File

@@ -69,7 +69,7 @@
<u-line
v-if="borderBottom"
:color="message && parentData.errorType === 'border-bottom' ? $u.color.error : propsLine.color"
:customStyle="`margin-top: ${message ? '5px' : 0}`"
:customStyle="`margin-top: ${message && parentData.errorType === 'message' ? '5px' : 0}`"
></u-line>
</view>
</template>

View File

@@ -90,8 +90,8 @@
setRules(rules) {
// 判断是否有规则
if (Object.keys(rules).length === 0) return;
if (Object.keys(this.model).length === 0) {
uni.$u.error('设置rulesmodel必须设置');
if (process.env.NODE_ENV === 'development' && Object.keys(this.model).length === 0) {
uni.$u.error('设置rulesmodel必须设置如果已经设置,请刷新页面。');
return;
};
this.formRules = rules;
@@ -116,15 +116,16 @@
props = [].concat(props);
this.children.map((child) => {
// 如果u-form-item的prop在props数组中则清除对应的校验结果信息
if (props.includes(child.props)) {
if (props[0] === undefined || props.includes(child.prop)) {
child.message = null;
}
});
},
// 对部分表单字段进行校验
async validateField(value, callback, event = null) {
if (Object.keys(this.formRules).length === 0) {
uni.$u.error('未设置rules请看文档说明');
// 开发环境才提示,生产环境不会提示
if (process.env.NODE_ENV === 'development' && Object.keys(this.formRules).length === 0) {
uni.$u.error('未设置rules请看文档说明如果已经设置请刷新页面。');
return;
}
// $nextTick是必须的否则model的变更可能会延后于此方法的执行

View File

@@ -19,7 +19,9 @@
:lazy-load="lazyLoad"
class="u-image__image"
:style="{
borderRadius: shape == 'circle' ? '10000px' : $u.addUnit(radius)
borderRadius: shape == 'circle' ? '10000px' : $u.addUnit(radius),
width: $u.addUnit(width),
height: $u.addUnit(height)
}"
></image>
<view

View File

@@ -74,6 +74,11 @@ export default {
autoBack: {
type: Boolean,
default: uni.$u.props.navbar.autoBack
},
// 标题的样式,对象或字符串
titleStyle: {
type: [String, Object],
default: uni.$u.props.navbar.titleStyle
}
}
}

View File

@@ -45,9 +45,9 @@
<slot name="center">
<text
class="u-line-1 u-navbar__content__title"
:style="{
width: $u.addUnit(titleWidth)
}"
:style="[{
width: $u.addUnit(titleWidth),
}, $u.addStyle(titleStyle)]"
>{{ title }}</text>
</slot>
<view
@@ -93,6 +93,7 @@
* @property {String | Number} leftIconSize 左侧返回图标的大小(默认 20px
* @property {String | Number} leftIconColor 左侧返回图标的颜色(默认 #303133
* @property {Boolean} autoBack 点击左侧区域(返回图标),是否自动返回上一页(默认 false
* @property {Object | String} titleStyle 标题的样式,对象或字符串
* @event {Function} leftClick 点击左侧区域
* @event {Function} rightClick 点击右侧区域
* @example <u-navbar title="剑未配妥,出门已是江湖" left-text="返回" right-text="帮助" @click-left="onClickBack" @click-right="onClickRight"></u-navbar>
@@ -175,7 +176,7 @@
&__right {
right: 0;
&__txet {
&__text {
font-size: 15px;
margin-left: 3px;
}

View File

@@ -4,7 +4,7 @@
:show="show"
@click="overlayClick"
v-if="overlay"
:duration="duration"
:duration="overlayDuration"
:customStyle="overlayStyle"
:opacity="overlayOpacity"
></u-overlay>
@@ -55,6 +55,7 @@
* @property {Boolean} overlay 是否显示遮罩 (默认 true
* @property {String} mode 弹出方向(默认 'bottom'
* @property {String | Number} duration 动画时长单位ms (默认 300
* @property {String | Number} overlayDuration 遮罩层动画时长单位ms (默认 350
* @property {Boolean} closeable 是否显示关闭图标(默认 false
* @property {Object | String} overlayStyle 自定义遮罩的样式
* @property {String | Number} overlayOpacity 遮罩透明度0-1之间默认 0.5
@@ -74,7 +75,9 @@
name: 'u-popup',
mixins: [uni.$u.mpMixin, uni.$u.mixin, props],
data() {
return {}
return {
overlayDuration: this.duration + 50
}
},
watch: {
show(newValue, oldValue) {

View File

@@ -12,7 +12,6 @@
backgroundColor: bgColor,
borderRadius: shape == 'round' ? '100px' : '4px',
borderColor: borderColor,
height: height + 'rpx'
}"
>
<template v-if="$slots.label || label !== null">
@@ -47,6 +46,7 @@
textAlign: inputAlign,
color: color,
backgroundColor: bgColor,
height: $u.addUnit(height)
}, inputStyle]"
/>
<view
@@ -241,6 +241,7 @@ $u-search-action-margin-left: 5px !default;
border-width: 1px;
border-color: transparent;
border-style: solid;
overflow: hidden;
&__icon {
@include flex;

View File

@@ -28,7 +28,7 @@
:class="[`u-tabs__wrapper__nav__item-${index}`, item.disabled && 'u-tabs__wrapper__nav__item--disabled']"
>
<text
:class="['ellipsis' && 'u-line-1', item.disabled && 'u-tabs__wrapper__nav__item__text--disabled']"
:class="[item.disabled && 'u-tabs__wrapper__nav__item__text--disabled']"
class="u-tabs__wrapper__nav__item__text"
:style="[textStyle(index)]"
>{{ item[keyName] }}</text>
@@ -165,16 +165,8 @@
let lineOffsetLeft = this.list
.slice(0, this.innerCurrent)
.reduce((total, curr) => total + curr.rect.width, 0);
let lineWidth = this.lineWidth; // 拷贝副本防止间接修改props中的值
// 如果lineWidth不是数字类型的话
if (typeof lineWidth !== 'number') {
// 判断后缀是否为rpx
if (lineWidth.indexOf('rpx') > -1) {
lineWidth = uni.upx2px(parseFloat(lineWidth)); // rpx -> px
} else {
lineWidth = parseFloat(lineWidth);
}
}
// 获取下划线的数值px表示法
const lineWidth = uni.$u.getPx(this.lineWidth);
this.lineOffsetLeft = lineOffsetLeft + (tabItem.rect.width - lineWidth) / 2
// #ifdef APP-NVUE
// 第一次移动滑块,无需过渡时间
@@ -244,7 +236,7 @@
resize() {
// 如果不存在list则不处理
if(this.list.length === 0) {
return
return
}
Promise.all([this.getTabsRect(), this.getAllItemRect()]).then(([tabsRect, itemRect = []]) => {
this.tabsRect = tabsRect
@@ -286,7 +278,7 @@
})
// #endif
// #ifdef APP-NVUE
// #ifdef APP-NVUE
// nvue下使用dom模块查询元素高度
// 返回一个promise让调用此方法的主体能使用then回调
return new Promise(resolve => {
@@ -330,7 +322,6 @@
@include flex;
align-items: center;
justify-content: center;
flex: 1;
&--disabled {
/* #ifndef APP-NVUE */

View File

@@ -165,6 +165,9 @@ export default {
align-items: center;
flex-wrap: nowrap;
flex: 1;
/* #ifndef APP-NVUE */
width: 100%;
/* #endif */
&__price {
font-size: 14px;

View File

@@ -64,11 +64,10 @@
v-if="showCopy && buttons.length > 0"
length="18"
></u-line>
<template v-for="(item , index) in buttons">
<block v-for="(item , index) in buttons" :key="index">
<view
class="u-tooltip__wrapper__popup__list__btn"
hover-class="u-tooltip__wrapper__popup__list__btn--hover"
:key="index"
>
<text
class="u-tooltip__wrapper__popup__list__btn__text"
@@ -80,9 +79,8 @@
color="#8d8e90"
v-if="index < buttons.length - 1"
length="18"
:key="index"
></u-line>
</template>
</block>
</view>
</view>
</u-transition>

View File

@@ -1,5 +1,5 @@
// 此版本发布于2022-01-20
const version = '2.0.22'
// 此版本发布于2022-01-28
const version = '2.0.27'
// 开发环境才提示,生产环境不会提示
if (process.env.NODE_ENV === 'development') {

View File

@@ -15,7 +15,6 @@ export default {
label: '',
value: '',
icon: '',
titleWidth: '',
disabled: false,
border: true,
center: false,

View File

@@ -25,7 +25,8 @@ export default {
height: '44px',
leftIconSize: 20,
leftIconColor: color.mainColor,
autoBack: false
autoBack: false,
titleStyle: ''
}
}

View File

@@ -30,7 +30,7 @@ export default {
animation: false,
value: '',
maxlength: '-1',
height: 64,
height: 32,
label: null
}
}

View File

@@ -7,11 +7,12 @@
lines: $i;
text-overflow: ellipsis;
overflow: hidden;
flex: 1;
/* #endif */
/* #ifndef APP-NVUE */
// vue下单行和多行显示省略号需要单独处理
@if $i == 1 {
@if $i == '1' {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
@@ -26,46 +27,46 @@
/* #endif */
}
}
// 此处加上!important并非随意乱用而是因为目前*.nvue页面编译到H5时
// App.vue的样式会被uni-app的view元素的自带border属性覆盖导致无效
// 综上这是uni-app的缺陷导致我们为了多端兼容而必须要加上!important
// 移动端兼容性较好直接使用0.5px去实现细边框,不使用伪元素形式实现
.u-border {
border-width: 0.5px!important;
border-color: $u-border-color!important;
border-color: $u-border-color!important;
border-style: solid;
}
.u-border-top {
border-top-width: 0.5px!important;
border-color: $u-border-color!important;
border-top-width: 0.5px!important;
border-color: $u-border-color!important;
border-top-style: solid;
}
.u-border-left {
border-left-width: 0.5px!important;
border-color: $u-border-color!important;
border-left-width: 0.5px!important;
border-color: $u-border-color!important;
border-left-style: solid;
}
.u-border-right {
border-right-width: 0.5px!important;
border-color: $u-border-color!important;
border-right-width: 0.5px!important;
border-color: $u-border-color!important;
border-right-style: solid;
}
.u-border-bottom {
border-bottom-width: 0.5px!important;
border-color: $u-border-color!important;
border-bottom-width: 0.5px!important;
border-color: $u-border-color!important;
border-bottom-style: solid;
}
.u-border-top-bottom {
border-top-width: 0.5px!important;
border-bottom-width: 0.5px!important;
border-color: $u-border-color!important;
border-top-width: 0.5px!important;
border-bottom-width: 0.5px!important;
border-color: $u-border-color!important;
border-top-style: solid;
border-bottom-style: solid;
}

View File

@@ -2,7 +2,7 @@
"id": "uview-ui",
"name": "uview-ui",
"displayName": "uView2.0重磅发布,利剑出鞘,一统江湖",
"version": "2.0.22",
"version": "2.0.27",
"description": "uView UI已完美兼容nvue全面的组件和便捷的工具会让您信手拈来如鱼得水",
"keywords": [
"uview",