diff --git a/main.js b/main.js
index 212a358..ac85317 100644
--- a/main.js
+++ b/main.js
@@ -1,6 +1,6 @@
import Vue from 'vue'
import App from './App'
-import uView from 'uview-ui'
+import uView from "uview-ui";
import VueI18n from 'vue-i18n'
import axios from './utils/axios.js'
@@ -16,6 +16,8 @@ import ZH from './utils/language/zh.js'
// Vue.component('tab-bar', tabBar)
Vue.use(uView)
+uni.$u.config.unit = 'rpx'
+
Vue.use(VueI18n);
const i18n = new VueI18n({
diff --git a/package-lock.json b/package-lock.json
index 2b8f0d7..d662963 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -111,11 +111,6 @@
"resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
},
- "uview-ui": {
- "version": "2.0.31",
- "resolved": "https://registry.npmmirror.com/uview-ui/-/uview-ui-2.0.31.tgz",
- "integrity": "sha512-I/0fGuvtiKHH/mBb864SGYk+SJ7WaF32tsBgYgeBOsxlUp+Th+Ac2tgz2cTvsQJl6eZYWsKZ3ixiSXCAcxZ8Sw=="
- },
"vue-i18n": {
"version": "9.2.2",
"resolved": "https://registry.npmmirror.com/vue-i18n/-/vue-i18n-9.2.2.tgz",
diff --git a/package.json b/package.json
index c07432f..49cc338 100644
--- a/package.json
+++ b/package.json
@@ -11,7 +11,6 @@
"license": "ISC",
"dependencies": {
"axios": "^0.27.2",
- "uview-ui": "^2.0.31",
"vue-i18n": "^9.2.2"
}
}
diff --git a/uni.scss b/uni.scss
index f71da06..4c48c17 100644
--- a/uni.scss
+++ b/uni.scss
@@ -13,7 +13,7 @@
*/
// 引入uview样式
-@import './uview-ui/theme.scss';
+@import 'uview-ui/theme.scss';
/* 颜色变量 */
diff --git a/uview-ui/LICENSE b/uview-ui/LICENSE
new file mode 100644
index 0000000..8e39ead
--- /dev/null
+++ b/uview-ui/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2020 www.uviewui.com
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
\ No newline at end of file
diff --git a/uview-ui/README.md b/uview-ui/README.md
new file mode 100644
index 0000000..31bd594
--- /dev/null
+++ b/uview-ui/README.md
@@ -0,0 +1,104 @@
+
+
+
+uView
+多平台快速开发的UI框架
+
+## 说明
+
+uView UI,是[uni-app](https://uniapp.dcloud.io/)生态优秀的UI框架,全面的组件和便捷的工具会让您信手拈来,如鱼得水
+
+## 特性
+
+- 兼容安卓,iOS,微信小程序,H5,QQ小程序,百度小程序,支付宝小程序,头条小程序
+- 60+精选组件,功能丰富,多端兼容,让您快速集成,开箱即用
+- 众多贴心的JS利器,让您飞镖在手,召之即来,百步穿杨
+- 众多的常用页面和布局,让您专注逻辑,事半功倍
+- 详尽的文档支持,现代化的演示效果
+- 按需引入,精简打包体积
+
+
+## 安装
+
+```bash
+# npm方式安装,插件市场导入无需执行此命令
+npm i uview-ui
+```
+
+## 快速上手
+
+1. `main.js`引入uView库
+```js
+// main.js
+import uView from 'uview-ui';
+Vue.use(uView);
+```
+
+2. `App.vue`引入基础样式(注意style标签需声明scss属性支持)
+```css
+/* App.vue */
+
+```
+
+3. `uni.scss`引入全局scss变量文件
+```css
+/* uni.scss */
+@import "uview-ui/theme.scss";
+```
+
+4. `pages.json`配置easycom规则(按需引入)
+
+```js
+// pages.json
+{
+ "easycom": {
+ // npm安装的方式不需要前面的"@/",下载安装的方式需要"@/"
+ // npm安装方式
+ "^u-(.*)": "uview-ui/components/u-$1/u-$1.vue"
+ // 下载安装方式
+ // "^u-(.*)": "@/uview-ui/components/u-$1/u-$1.vue"
+ },
+ // 此为本身已有的内容
+ "pages": [
+ // ......
+ ]
+}
+```
+
+请通过[快速上手](https://www.uviewui.com/components/quickstart.html)了解更详细的内容
+
+## 使用方法
+配置easycom规则后,自动按需引入,无需`import`组件,直接引用即可。
+
+```html
+
+
+
+```
+
+请通过[快速上手](https://www.uviewui.com/components/quickstart.html)了解更详细的内容
+
+## 链接
+
+- [官方文档](https://www.uviewui.com/)
+- [更新日志](https://www.www.uviewui.com/components/changelog.html)
+- [升级指南](https://www.uviewui.com/components/changelog.html)
+- [关于我们](https://www.uviewui.com/cooperation/about.html)
+
+## 预览
+
+您可以通过**微信**扫码,查看最佳的演示效果。
+
+
+
+
+## 捐赠uView的研发
+
+uView文档和源码全部开源免费,如果您认为uView帮到了您的开发工作,您可以捐赠uView的研发工作,捐赠无门槛,哪怕是一杯可乐也好(相信这比打赏主播更有意义)。
+
+
+
+## 版权信息
+uView遵循[MIT](https://en.wikipedia.org/wiki/MIT_License)开源协议,意味着您无需支付任何费用,也无需授权,即可将uView应用到您的产品中。
diff --git a/uview-ui/changelog.md b/uview-ui/changelog.md
new file mode 100644
index 0000000..c9b76c9
--- /dev/null
+++ b/uview-ui/changelog.md
@@ -0,0 +1,326 @@
+## 2.0.31(2022-04-19)
+# uView2.0重磅发布,利剑出鞘,一统江湖
+
+1. 修复`upload`在`vue`页面上传成功后没有成功标志的问题
+2. 解决演示项目中微信小程序模拟上传图片一直出于上传中问题
+3. 修复`u-code-input`组件在`nvue`页面编译到`app`平台上光标异常问题(`app`去除此功能)
+4. 修复`actionSheet`组件标题关闭按钮点击事件名称错误的问题
+5. 其他修复
+## 2.0.30(2022-04-04)
+# uView2.0重磅发布,利剑出鞘,一统江湖
+
+1. `u-rate`增加`readonly`属性
+2. `tabs`滑块支持设置背景图片
+3. 修复`u-subsection` `mode`为`subsection`时,滑块样式不正确的问题
+4. `u-code-input`添加光标效果动画
+5. 修复`popup`的`open`事件不触发
+6. 修复`u-flex-column`无效的问题
+7. 修复`u-datetime-picker`索引在特定场合异常问题
+8. 修复`u-datetime-picker`最小时间字符串模板错误问题
+9. `u-swiper`添加`m3u8`验证
+10. `u-swiper`修改判断image和video逻辑
+11. 修复`swiper`无法使用本地图片问题,增加`type`参数
+12. 修复`u-row-notice`格式错误问题
+13. 修复`u-switch`组件当`unit`为`rpx`时,`nodeStyle`消失的问题
+14. 修复`datetime-picker`组件`showToolbar`与`visibleItemCount`属性无效的问题
+15. 修复`upload`组件条件编译位置判断错误,导致`previewImage`属性设置为`false`时,整个组件都会被隐藏的问题
+16. 修复`u-checkbox-group`设置`shape`属性无效的问题
+17. 修复`u-upload`的`capture`传入字符串的时候不生效的问题
+18. 修复`u-action-sheet`组件,关闭事件逻辑错误的问题
+19. 修复`u-list`触顶事件的触发错误的问题
+20. 修复`u-text`只有手机号可拨打的问题
+21. 修复`u-textarea`不能换行的问题
+22. 其他修复
+## 2.0.29(2022-03-13)
+# uView2.0重磅发布,利剑出鞘,一统江湖
+
+1. 修复`u--text`组件设置`decoration`属性未生效的问题
+2. 修复`u-datetime-picker`使用`formatter`后返回值不正确
+3. 修复`u-datetime-picker` `intercept` 可能为undefined
+4. 修复已设置单位 uni..config.unit = 'rpx'时,线型指示器 `transform` 的位置翻倍,导致指示器超出宽度
+5. 修复mixin中bem方法生成的类名在支付宝和字节小程序中失效
+6. 修复默认值传值为空的时候,打开`u-datetime-picker`报错,不能选中第一列时间的bug
+7. 修复`u-datetime-picker`使用`formatter`后返回值不正确
+8. 修复`u-image`组件`loading`无效果的问题
+9. 修复`config.unit`属性设为`rpx`时,导航栏占用高度不足导致塌陷的问题
+10. 修复`u-datetime-picker`组件`itemHeight`无效问题
+11. 其他修复
+## 2.0.28(2022-02-22)
+# uView2.0重磅发布,利剑出鞘,一统江湖
+
+1. search组件新增searchIconSize属性
+2. 兼容Safari/Webkit中传入时间格式如2022-02-17 12:00:56
+3. 修复text value.js 判断日期出format错误问题
+4. priceFormat格式化金额出现精度错误
+5. priceFormat在部分情况下出现精度损失问题
+6. 优化表单rules提示
+7. 修复avatar组件src为空时,展示状态不对
+8. 其他修复
+## 2.0.27(2022-01-28)
+# uView2.0重磅发布,利剑出鞘,一统江湖
+
+1.样式修复
+## 2.0.26(2022-01-28)
+# uView2.0重磅发布,利剑出鞘,一统江湖
+
+1.样式修复
+## 2.0.25(2022-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.24(2022-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.23(2022-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.22(2022-01-19)
+# uView2.0重磅发布,利剑出鞘,一统江湖
+
+1. $u.page()方法优化,避免在特殊场景可能报错的问题
+2. picker组件添加immediateChange参数
+3. 新增$u.pages()方法
+## 2.0.21(2022-01-19)
+# uView2.0重磅发布,利剑出鞘,一统江湖
+
+1. 优化:form组件在用户设置rules的时候提示用户model必传
+2. 优化遗留的通过正则判断rpx单位的问题
+3. 修复微信小程序环境中tabbar组件开启safeAreaInsetBottom属性后,placeholder高度填充不正确
+4. 修复swiper在current指定非0时缩放有误
+5. 修复u-icon添加stop属性的时候报错
+6. 修复upload组件在accept=all的时候没有作用
+7. 修复在text组件mode为phone时call属性无效的问题
+8. 处理u-form clearValidate方法
+9. 其他修复
+## 2.0.20(2022-01-14)
+# uView2.0重磅发布,利剑出鞘,一统江湖
+
+1. 修复calendar默认会选择一个日期,如果直接点确定的话,无法取到值的问题
+2. 修复Slider缺少disabled props 还有注释
+3. 修复u-notice-bar点击事件无法拿到index索引值的问题
+4. 修复u-collapse-item在vue文件下,app端自定义插槽不生效的问题
+5. 优化头像为空时显示默认头像
+6. 修复图片地址赋值后判断加载状态为完成问题
+7. 修复日历滚动到默认日期月份区域
+8. search组件暴露点击左边icon事件
+9. 修复u-form clearValidate方法不生效
+10. upload h5端增加返回文件参数(文件的name参数)
+11. 处理upload选择文件后url为blob类型无法预览的问题
+12. u-code-input 修复输入框没有往左移出一半屏幕
+13. 修复Upload上传 disabled为true时,控制台报hoverClass类型错误
+14. 临时处理ios app下grid点击坍塌问题
+15. 其他修复
+## 2.0.19(2021-12-29)
+# uView2.0重磅发布,利剑出鞘,一统江湖
+
+1. 优化微信小程序包体积可在微信中预览,请升级HbuilderX3.3.4,同时在“运行->运行到小程序模拟器”中勾选“运行时是否压缩代码”
+2. 优化微信小程序setData性能,处理某些方法如$u.route()无法在模板中使用的问题
+3. navbar添加autoBack参数
+4. 允许avatar组件的事件冒泡
+5. 修复cell组件报错问题
+6. 其他修复
+## 2.0.18(2021-12-28)
+# uView2.0重磅发布,利剑出鞘,一统江湖
+
+1. 修复app端编译报错问题
+2. 重新处理微信小程序端setData过大的性能问题
+3. 修复边框问题
+4. 修复最大最小月份不大于0则没有数据出现的问题
+5. 修复SwipeAction微信小程序端无法上下滑动问题
+6. 修复input的placeholder在小程序端默认显示为true问题
+7. 修复divider组件click事件无效问题
+8. 修复u-code-input maxlength 属性值为 String 类型时显示异常
+9. 修复当 grid只有 1到2时 在小程序端algin设置无效的问题
+10. 处理form-item的label为top时,取消错误提示的左边距
+11. 其他修复
+## 2.0.17(2021-12-26)
+## uView正在参与开源中国的“年度最佳项目”评选,之前投过票的现在也可以投票,恳请同学们投一票,[点此帮助uView](https://www.oschina.net/project/top_cn_2021/?id=583)
+
+# uView2.0重磅发布,利剑出鞘,一统江湖
+
+1. 解决HBuilderX3.3.3.20211225版本导致的样式问题
+2. calendar日历添加monthNum参数
+3. navbar添加center slot
+## 2.0.16(2021-12-25)
+## uView正在参与开源中国的“年度最佳项目”评选,之前投过票的现在也可以投票,恳请同学们投一票,[点此帮助uView](https://www.oschina.net/project/top_cn_2021/?id=583)
+
+# uView2.0重磅发布,利剑出鞘,一统江湖
+
+1. 解决微信小程序setData性能问题
+2. 修复count-down组件change事件不触发问题
+## 2.0.15(2021-12-21)
+## uView正在参与开源中国的“年度最佳项目”评选,之前投过票的现在也可以投票,恳请同学们投一票,[点此帮助uView](https://www.oschina.net/project/top_cn_2021/?id=583)
+
+# uView2.0重磅发布,利剑出鞘,一统江湖
+
+1. 修复Cell单元格titleWidth无效
+2. 修复cheakbox组件ischecked不更新
+3. 修复keyboard是否显示"."按键默认值问题
+4. 修复number-keyboard是否显示键盘的"."符号问题
+5. 修复Input输入框 readonly无效
+6. 修复u-avatar 导致打包app、H5时候报错问题
+7. 修复Upload上传deletable无效
+8. 修复upload当设置maxSize时无效的问题
+9. 修复tabs lineWidth传入带单位的字符串的时候偏移量计算错误问题
+10. 修复rate组件在有padding的view内,显示的星星位置和可触摸区域不匹配,无法正常选中星星
+## 2.0.13(2021-12-14)
+## [点击加群交流反馈:364463526](https://jq.qq.com/?_chanwv=1027&k=mCxS3TGY)
+
+# uView2.0重磅发布,利剑出鞘,一统江湖
+
+1. 修复配置默认单位为rpx可能会导致自定义导航栏高度异常的问题
+## 2.0.12(2021-12-14)
+## [点击加群交流反馈:364463526](https://jq.qq.com/?_chanwv=1027&k=mCxS3TGY)
+
+# uView2.0重磅发布,利剑出鞘,一统江湖
+
+1. 修复tabs组件在vue环境下划线消失的问题
+2. 修复upload组件在安卓小程序无法选择视频的问题
+3. 添加uni.$u.config.unit配置,用于配置参数默认单位,详见:[默认单位配置](https://www.uviewui.com/components/setting.html#%E9%BB%98%E8%AE%A4%E5%8D%95%E4%BD%8D%E9%85%8D%E7%BD%AE)
+4. 修复textarea组件在没绑定v-model时,字符统计不生效问题
+5. 修复nvue下控制是否出现滚动条失效问题
+## 2.0.11(2021-12-13)
+## [点击加群交流反馈:364463526](https://jq.qq.com/?_chanwv=1027&k=mCxS3TGY)
+
+# uView2.0重磅发布,利剑出鞘,一统江湖
+
+1. text组件align参数无效的问题
+2. subsection组件添加keyName参数
+3. upload组件无法判断[Object file]类型的问题
+4. 处理notify层级过低问题
+5. codeInput组件添加disabledDot参数
+6. 处理actionSheet组件round参数无效的问题
+7. calendar组件添加round参数用于控制圆角值
+8. 处理swipeAction组件在vue环境下默认被打开的问题
+9. button组件的throttleTime节流参数无效的问题
+10. 解决u-notify手动关闭方法close()无效的问题
+11. input组件readonly不生效问题
+12. tag组件type参数为info不生效问题
+## 2.0.10(2021-12-08)
+## [点击加群交流反馈:364463526](https://jq.qq.com/?_chanwv=1027&k=mCxS3TGY)
+
+# uView2.0重磅发布,利剑出鞘,一统江湖
+
+1. 修复button sendMessagePath属性不生效
+2. 修复DatetimePicker选择器title无效
+3. 修复u-toast设置loading=true不生效
+4. 修复u-text金额模式传0报错
+5. 修复u-toast组件的icon属性配置不生效
+6. button的icon在特殊场景下的颜色优化
+7. IndexList优化,增加#
+## 2.0.9(2021-12-01)
+## [点击加群交流反馈:232041042](https://jq.qq.com/?_wv=1027&k=KnbeceDU)
+
+# uView2.0重磅发布,利剑出鞘,一统江湖
+
+1. 优化swiper的height支持100%值(仅vue有效),修复嵌入视频时click事件无法触发的问题
+2. 优化tabs组件对list值为空的判断,或者动态变化list时重新计算相关尺寸的问题
+3. 优化datetime-picker组件逻辑,让其后续打开的默认值为上一次的选中值,需要通过v-model绑定值才有效
+4. 修复upload内嵌在其他组件中,选择图片可能不会换行的问题
+## 2.0.8(2021-12-01)
+## [点击加群交流反馈:232041042](https://jq.qq.com/?_wv=1027&k=KnbeceDU)
+
+# uView2.0重磅发布,利剑出鞘,一统江湖
+
+1. 修复toast的position参数无效问题
+2. 处理input在ios nvue上无法获得焦点的问题
+3. avatar-group组件添加extraValue参数,让剩余展示数量可手动控制
+4. tabs组件添加keyName参数用于配置从对象中读取的键名
+5. 处理text组件名字脱敏默认配置无效的问题
+6. 处理picker组件item文本太长换行问题
+## 2.0.7(2021-11-30)
+## [点击加群交流反馈:232041042](https://jq.qq.com/?_wv=1027&k=KnbeceDU)
+
+# uView2.0重磅发布,利剑出鞘,一统江湖
+
+1. 修复radio和checkbox动态改变v-model无效的问题。
+2. 优化form规则validator在微信小程序用法
+3. 修复backtop组件mode参数在微信小程序无效的问题
+4. 处理Album的previewFullImage属性无效的问题
+5. 处理u-datetime-picker组件mode='time'在选择改变时间时,控制台报错的问题
+## 2.0.6(2021-11-27)
+## [点击加群交流反馈:232041042](https://jq.qq.com/?_wv=1027&k=KnbeceDU)
+
+# uView2.0重磅发布,利剑出鞘,一统江湖
+
+1. 处理tag组件在vue下边框无效的问题。
+2. 处理popup组件圆角参数可能无效的问题。
+3. 处理tabs组件lineColor参数可能无效的问题。
+4. propgress组件在值很小时,显示异常的问题。
+## 2.0.5(2021-11-25)
+## [点击加群交流反馈:232041042](https://jq.qq.com/?_wv=1027&k=KnbeceDU)
+
+# uView2.0重磅发布,利剑出鞘,一统江湖
+
+1. calendar在vue下显示异常问题。
+2. form组件labelPosition和errorType参数无效的问题
+3. input组件inputAlign无效的问题
+4. 其他一些修复
+## 2.0.4(2021-11-23)
+## [点击加群交流反馈:232041042](https://jq.qq.com/?_wv=1027&k=KnbeceDU)
+
+# uView2.0重磅发布,利剑出鞘,一统江湖
+
+0. input组件缺失@confirm事件,以及subfix和prefix无效问题
+1. component.scss文件样式在vue下干扰全局布局问题
+2. 修复subsection在vue环境下表现异常的问题
+3. tag组件的bgColor等参数无效的问题
+4. upload组件不换行的问题
+5. 其他的一些修复处理
+## 2.0.3(2021-11-16)
+## [点击加群交流反馈:1129077272](https://jq.qq.com/?_wv=1027&k=KnbeceDU)
+
+# uView2.0重磅发布,利剑出鞘,一统江湖
+
+1. uView2.0已实现全面兼容nvue
+2. uView2.0对1.x进行了架构重构,细节和性能都有极大提升
+3. 目前uView2.0为公测阶段,相关细节可能会有变动
+4. 我们写了一份与1.x的对比指南,详见[对比1.x](https://www.uviewui.com/components/diff1.x.html)
+5. 处理modal的confirm回调事件拼写错误问题
+6. 处理input组件@input事件参数错误问题
+7. 其他一些修复
+## 2.0.2(2021-11-16)
+## [点击加群交流反馈:1129077272](https://jq.qq.com/?_wv=1027&k=KnbeceDU)
+
+# uView2.0重磅发布,利剑出鞘,一统江湖
+
+1. uView2.0已实现全面兼容nvue
+2. uView2.0对1.x进行了架构重构,细节和性能都有极大提升
+3. 目前uView2.0为公测阶段,相关细节可能会有变动
+4. 我们写了一份与1.x的对比指南,详见[对比1.x](https://www.uviewui.com/components/diff1.x.html)
+5. 修复input组件formatter参数缺失问题
+6. 优化loading-icon组件的scss写法问题,防止不兼容新版本scss
+## 2.0.0(2020-11-15)
+## [点击加群交流反馈:1129077272](https://jq.qq.com/?_wv=1027&k=KnbeceDU)
+
+# uView2.0重磅发布,利剑出鞘,一统江湖
+
+1. uView2.0已实现全面兼容nvue
+2. uView2.0对1.x进行了架构重构,细节和性能都有极大提升
+3. 目前uView2.0为公测阶段,相关细节可能会有变动
+4. 我们写了一份与1.x的对比指南,详见[对比1.x](https://www.uviewui.com/components/diff1.x.html)
+5. 修复input组件formatter参数缺失问题
+
+
diff --git a/uview-ui/components/u--form/u--form.vue b/uview-ui/components/u--form/u--form.vue
new file mode 100644
index 0000000..fdfc212
--- /dev/null
+++ b/uview-ui/components/u--form/u--form.vue
@@ -0,0 +1,78 @@
+
+
+
+
+
+
+
diff --git a/uview-ui/components/u--image/u--image.vue b/uview-ui/components/u--image/u--image.vue
new file mode 100644
index 0000000..21b7ab1
--- /dev/null
+++ b/uview-ui/components/u--image/u--image.vue
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/uview-ui/components/u--input/u--input.vue b/uview-ui/components/u--input/u--input.vue
new file mode 100644
index 0000000..2887e4c
--- /dev/null
+++ b/uview-ui/components/u--input/u--input.vue
@@ -0,0 +1,72 @@
+
+ $emit('change', e)"
+ @input="e => $emit('input', e)"
+ @confirm="e => $emit('confirm', e)"
+ @clear="$emit('clear')"
+ @click="$emit('click')"
+ >
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/uview-ui/components/u--text/u--text.vue b/uview-ui/components/u--text/u--text.vue
new file mode 100644
index 0000000..44ee52a
--- /dev/null
+++ b/uview-ui/components/u--text/u--text.vue
@@ -0,0 +1,44 @@
+
+
+
+
+
diff --git a/uview-ui/components/u--textarea/u--textarea.vue b/uview-ui/components/u--textarea/u--textarea.vue
new file mode 100644
index 0000000..9dbcfbb
--- /dev/null
+++ b/uview-ui/components/u--textarea/u--textarea.vue
@@ -0,0 +1,47 @@
+
+ $emit('focus')"
+ @blur="e => $emit('blur')"
+ @linechange="e => $emit('linechange', e)"
+ @confirm="e => $emit('confirm')"
+ @input="e => $emit('input', e)"
+ @keyboardheightchange="e => $emit('keyboardheightchange')"
+ >
+
+
+
diff --git a/uview-ui/components/u-action-sheet/props.js b/uview-ui/components/u-action-sheet/props.js
new file mode 100644
index 0000000..e96e04f
--- /dev/null
+++ b/uview-ui/components/u-action-sheet/props.js
@@ -0,0 +1,54 @@
+export default {
+ props: {
+ // 操作菜单是否展示 (默认false)
+ show: {
+ type: Boolean,
+ default: uni.$u.props.actionSheet.show
+ },
+ // 标题
+ title: {
+ type: String,
+ default: uni.$u.props.actionSheet.title
+ },
+ // 选项上方的描述信息
+ description: {
+ type: String,
+ default: uni.$u.props.actionSheet.description
+ },
+ // 数据
+ actions: {
+ type: Array,
+ default: uni.$u.props.actionSheet.actions
+ },
+ // 取消按钮的文字,不为空时显示按钮
+ cancelText: {
+ type: String,
+ default: uni.$u.props.actionSheet.cancelText
+ },
+ // 点击某个菜单项时是否关闭弹窗
+ closeOnClickAction: {
+ type: Boolean,
+ default: uni.$u.props.actionSheet.closeOnClickAction
+ },
+ // 处理底部安全区(默认true)
+ safeAreaInsetBottom: {
+ type: Boolean,
+ default: uni.$u.props.actionSheet.safeAreaInsetBottom
+ },
+ // 小程序的打开方式
+ openType: {
+ type: String,
+ default: uni.$u.props.actionSheet.openType
+ },
+ // 点击遮罩是否允许关闭 (默认true)
+ closeOnClickOverlay: {
+ type: Boolean,
+ default: uni.$u.props.actionSheet.closeOnClickOverlay
+ },
+ // 圆角值
+ round: {
+ type: [Boolean, String, Number],
+ default: uni.$u.props.actionSheet.round
+ }
+ }
+}
diff --git a/uview-ui/components/u-action-sheet/u-action-sheet.vue b/uview-ui/components/u-action-sheet/u-action-sheet.vue
new file mode 100644
index 0000000..26d5d8d
--- /dev/null
+++ b/uview-ui/components/u-action-sheet/u-action-sheet.vue
@@ -0,0 +1,278 @@
+
+
+
+
+
+ {{description}}
+
+
+
+
+
+
+
+
+
+ {{ item.name }}
+ {{ item.subname }}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{cancelText}}
+
+
+
+
+
+
+
+
diff --git a/uview-ui/components/u-album/props.js b/uview-ui/components/u-album/props.js
new file mode 100644
index 0000000..75cdb37
--- /dev/null
+++ b/uview-ui/components/u-album/props.js
@@ -0,0 +1,59 @@
+export default {
+ props: {
+ // 图片地址,Array|Array形式
+ urls: {
+ type: Array,
+ default: uni.$u.props.album.urls
+ },
+ // 指定从数组的对象元素中读取哪个属性作为图片地址
+ keyName: {
+ type: String,
+ default: uni.$u.props.album.keyName
+ },
+ // 单图时,图片长边的长度
+ singleSize: {
+ type: [String, Number],
+ default: uni.$u.props.album.singleSize
+ },
+ // 多图时,图片边长
+ multipleSize: {
+ type: [String, Number],
+ default: uni.$u.props.album.multipleSize
+ },
+ // 多图时,图片水平和垂直之间的间隔
+ space: {
+ type: [String, Number],
+ default: uni.$u.props.album.space
+ },
+ // 单图时,图片缩放裁剪的模式
+ singleMode: {
+ type: String,
+ default: uni.$u.props.album.singleMode
+ },
+ // 多图时,图片缩放裁剪的模式
+ multipleMode: {
+ type: String,
+ default: uni.$u.props.album.multipleMode
+ },
+ // 最多展示的图片数量,超出时最后一个位置将会显示剩余图片数量
+ maxCount: {
+ type: [String, Number],
+ default: uni.$u.props.album.maxCount
+ },
+ // 是否可以预览图片
+ previewFullImage: {
+ type: Boolean,
+ default: uni.$u.props.album.previewFullImage
+ },
+ // 每行展示图片数量,如设置,singleSize和multipleSize将会无效
+ rowCount: {
+ type: [String, Number],
+ default: uni.$u.props.album.rowCount
+ },
+ // 超出maxCount时是否显示查看更多的提示
+ showMore: {
+ type: Boolean,
+ default: uni.$u.props.album.showMore
+ }
+ }
+}
diff --git a/uview-ui/components/u-album/u-album.vue b/uview-ui/components/u-album/u-album.vue
new file mode 100644
index 0000000..687e2d5
--- /dev/null
+++ b/uview-ui/components/u-album/u-album.vue
@@ -0,0 +1,259 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/uview-ui/components/u-alert/props.js b/uview-ui/components/u-alert/props.js
new file mode 100644
index 0000000..4297e2c
--- /dev/null
+++ b/uview-ui/components/u-alert/props.js
@@ -0,0 +1,44 @@
+export default {
+ props: {
+ // 显示文字
+ title: {
+ type: String,
+ default: uni.$u.props.alert.title
+ },
+ // 主题,success/warning/info/error
+ type: {
+ type: String,
+ default: uni.$u.props.alert.type
+ },
+ // 辅助性文字
+ description: {
+ type: String,
+ default: uni.$u.props.alert.description
+ },
+ // 是否可关闭
+ closable: {
+ type: Boolean,
+ default: uni.$u.props.alert.closable
+ },
+ // 是否显示图标
+ showIcon: {
+ type: Boolean,
+ default: uni.$u.props.alert.showIcon
+ },
+ // 浅或深色调,light-浅色,dark-深色
+ effect: {
+ type: String,
+ default: uni.$u.props.alert.effect
+ },
+ // 文字是否居中
+ center: {
+ type: Boolean,
+ default: uni.$u.props.alert.center
+ },
+ // 字体大小
+ fontSize: {
+ type: [String, Number],
+ default: uni.$u.props.alert.fontSize
+ }
+ }
+}
diff --git a/uview-ui/components/u-alert/u-alert.vue b/uview-ui/components/u-alert/u-alert.vue
new file mode 100644
index 0000000..81f7d43
--- /dev/null
+++ b/uview-ui/components/u-alert/u-alert.vue
@@ -0,0 +1,243 @@
+
+
+
+
+
+
+
+ {{ title }}
+ {{ description }}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/uview-ui/components/u-avatar-group/props.js b/uview-ui/components/u-avatar-group/props.js
new file mode 100644
index 0000000..58b42ac
--- /dev/null
+++ b/uview-ui/components/u-avatar-group/props.js
@@ -0,0 +1,52 @@
+export default {
+ props: {
+ // 头像图片组
+ urls: {
+ type: Array,
+ default: uni.$u.props.avatarGroup.urls
+ },
+ // 最多展示的头像数量
+ maxCount: {
+ type: [String, Number],
+ default: uni.$u.props.avatarGroup.maxCount
+ },
+ // 头像形状
+ shape: {
+ type: String,
+ default: uni.$u.props.avatarGroup.shape
+ },
+ // 图片裁剪模式
+ mode: {
+ type: String,
+ default: uni.$u.props.avatarGroup.mode
+ },
+ // 超出maxCount时是否显示查看更多的提示
+ showMore: {
+ type: Boolean,
+ default: uni.$u.props.avatarGroup.showMore
+ },
+ // 头像大小
+ size: {
+ type: [String, Number],
+ default: uni.$u.props.avatarGroup.size
+ },
+ // 指定从数组的对象元素中读取哪个属性作为图片地址
+ keyName: {
+ type: String,
+ default: uni.$u.props.avatarGroup.keyName
+ },
+ // 头像之间的遮挡比例
+ gap: {
+ type: [String, Number],
+ validator(value) {
+ return value >= 0 && value <= 1
+ },
+ default: uni.$u.props.avatarGroup.gap
+ },
+ // 需额外显示的值
+ extraValue: {
+ type: [Number, String],
+ default: uni.$u.props.avatarGroup.extraValue
+ }
+ }
+}
diff --git a/uview-ui/components/u-avatar-group/u-avatar-group.vue b/uview-ui/components/u-avatar-group/u-avatar-group.vue
new file mode 100644
index 0000000..7e996d7
--- /dev/null
+++ b/uview-ui/components/u-avatar-group/u-avatar-group.vue
@@ -0,0 +1,103 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/uview-ui/components/u-avatar/props.js b/uview-ui/components/u-avatar/props.js
new file mode 100644
index 0000000..34ca0f2
--- /dev/null
+++ b/uview-ui/components/u-avatar/props.js
@@ -0,0 +1,78 @@
+export default {
+ props: {
+ // 头像图片路径(不能为相对路径)
+ src: {
+ type: String,
+ default: uni.$u.props.avatar.src
+ },
+ // 头像形状,circle-圆形,square-方形
+ shape: {
+ type: String,
+ default: uni.$u.props.avatar.shape
+ },
+ // 头像尺寸
+ size: {
+ type: [String, Number],
+ default: uni.$u.props.avatar.size
+ },
+ // 裁剪模式
+ mode: {
+ type: String,
+ default: uni.$u.props.avatar.mode
+ },
+ // 显示的文字
+ text: {
+ type: String,
+ default: uni.$u.props.avatar.text
+ },
+ // 背景色
+ bgColor: {
+ type: String,
+ default: uni.$u.props.avatar.bgColor
+ },
+ // 文字颜色
+ color: {
+ type: String,
+ default: uni.$u.props.avatar.color
+ },
+ // 文字大小
+ fontSize: {
+ type: [String, Number],
+ default: uni.$u.props.avatar.fontSize
+ },
+ // 显示的图标
+ icon: {
+ type: String,
+ default: uni.$u.props.avatar.icon
+ },
+ // 显示小程序头像,只对百度,微信,QQ小程序有效
+ mpAvatar: {
+ type: Boolean,
+ default: uni.$u.props.avatar.mpAvatar
+ },
+ // 是否使用随机背景色
+ randomBgColor: {
+ type: Boolean,
+ default: uni.$u.props.avatar.randomBgColor
+ },
+ // 加载失败的默认头像(组件有内置默认图片)
+ defaultUrl: {
+ type: String,
+ default: uni.$u.props.avatar.defaultUrl
+ },
+ // 如果配置了randomBgColor为true,且配置了此值,则从默认的背景色数组中取出对应索引的颜色值,取值0-19之间
+ colorIndex: {
+ type: [String, Number],
+ // 校验参数规则,索引在0-19之间
+ validator(n) {
+ return uni.$u.test.range(n, [0, 19]) || n === ''
+ },
+ default: uni.$u.props.avatar.colorIndex
+ },
+ // 组件标识符
+ name: {
+ type: String,
+ default: uni.$u.props.avatar.name
+ }
+ }
+}
diff --git a/uview-ui/components/u-avatar/u-avatar.vue b/uview-ui/components/u-avatar/u-avatar.vue
new file mode 100644
index 0000000..3319be5
--- /dev/null
+++ b/uview-ui/components/u-avatar/u-avatar.vue
@@ -0,0 +1,172 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/uview-ui/components/u-back-top/props.js b/uview-ui/components/u-back-top/props.js
new file mode 100644
index 0000000..6c702c2
--- /dev/null
+++ b/uview-ui/components/u-back-top/props.js
@@ -0,0 +1,54 @@
+export default {
+ props: {
+ // 返回顶部的形状,circle-圆形,square-方形
+ mode: {
+ type: String,
+ default: uni.$u.props.backtop.mode
+ },
+ // 自定义图标
+ icon: {
+ type: String,
+ default: uni.$u.props.backtop.icon
+ },
+ // 提示文字
+ text: {
+ type: String,
+ default: uni.$u.props.backtop.text
+ },
+ // 返回顶部滚动时间
+ duration: {
+ type: [String, Number],
+ default: uni.$u.props.backtop.duration
+ },
+ // 滚动距离
+ scrollTop: {
+ type: [String, Number],
+ default: uni.$u.props.backtop.scrollTop
+ },
+ // 距离顶部多少距离显示,单位px
+ top: {
+ type: [String, Number],
+ default: uni.$u.props.backtop.top
+ },
+ // 返回顶部按钮到底部的距离,单位px
+ bottom: {
+ type: [String, Number],
+ default: uni.$u.props.backtop.bottom
+ },
+ // 返回顶部按钮到右边的距离,单位px
+ right: {
+ type: [String, Number],
+ default: uni.$u.props.backtop.right
+ },
+ // 层级
+ zIndex: {
+ type: [String, Number],
+ default: uni.$u.props.backtop.zIndex
+ },
+ // 图标的样式,对象形式
+ iconStyle: {
+ type: Object,
+ default: uni.$u.props.backtop.iconStyle
+ }
+ }
+}
diff --git a/uview-ui/components/u-back-top/u-back-top.vue b/uview-ui/components/u-back-top/u-back-top.vue
new file mode 100644
index 0000000..2d07566
--- /dev/null
+++ b/uview-ui/components/u-back-top/u-back-top.vue
@@ -0,0 +1,129 @@
+
+
+
+
+ {{text}}
+
+
+
+
+
+
+
+
diff --git a/uview-ui/components/u-badge/props.js b/uview-ui/components/u-badge/props.js
new file mode 100644
index 0000000..74c032c
--- /dev/null
+++ b/uview-ui/components/u-badge/props.js
@@ -0,0 +1,72 @@
+export default {
+ props: {
+ // 是否显示圆点
+ isDot: {
+ type: Boolean,
+ default: uni.$u.props.badge.isDot
+ },
+ // 显示的内容
+ value: {
+ type: [Number, String],
+ default: uni.$u.props.badge.value
+ },
+ // 是否显示
+ show: {
+ type: Boolean,
+ default: uni.$u.props.badge.show
+ },
+ // 最大值,超过最大值会显示 '{max}+'
+ max: {
+ type: [Number, String],
+ default: uni.$u.props.badge.max
+ },
+ // 主题类型,error|warning|success|primary
+ type: {
+ type: String,
+ default: uni.$u.props.badge.type
+ },
+ // 当数值为 0 时,是否展示 Badge
+ showZero: {
+ type: Boolean,
+ default: uni.$u.props.badge.showZero
+ },
+ // 背景颜色,优先级比type高,如设置,type参数会失效
+ bgColor: {
+ type: [String, null],
+ default: uni.$u.props.badge.bgColor
+ },
+ // 字体颜色
+ color: {
+ type: [String, null],
+ default: uni.$u.props.badge.color
+ },
+ // 徽标形状,circle-四角均为圆角,horn-左下角为直角
+ shape: {
+ type: String,
+ default: uni.$u.props.badge.shape
+ },
+ // 设置数字的显示方式,overflow|ellipsis|limit
+ // overflow会根据max字段判断,超出显示`${max}+`
+ // ellipsis会根据max判断,超出显示`${max}...`
+ // limit会依据1000作为判断条件,超出1000,显示`${value/1000}K`,比如2.2k、3.34w,最多保留2位小数
+ numberType: {
+ type: String,
+ default: uni.$u.props.badge.numberType
+ },
+ // 设置badge的位置偏移,格式为 [x, y],也即设置的为top和right的值,absolute为true时有效
+ offset: {
+ type: Array,
+ default: uni.$u.props.badge.offset
+ },
+ // 是否反转背景和字体颜色
+ inverted: {
+ type: Boolean,
+ default: uni.$u.props.badge.inverted
+ },
+ // 是否绝对定位
+ absolute: {
+ type: Boolean,
+ default: uni.$u.props.badge.absolute
+ }
+ }
+}
diff --git a/uview-ui/components/u-badge/u-badge.vue b/uview-ui/components/u-badge/u-badge.vue
new file mode 100644
index 0000000..53cfc81
--- /dev/null
+++ b/uview-ui/components/u-badge/u-badge.vue
@@ -0,0 +1,171 @@
+
+ {{ isDot ? '' :showValue }}
+
+
+
+
+
diff --git a/uview-ui/components/u-button/nvue.scss b/uview-ui/components/u-button/nvue.scss
new file mode 100644
index 0000000..490db7d
--- /dev/null
+++ b/uview-ui/components/u-button/nvue.scss
@@ -0,0 +1,46 @@
+$u-button-active-opacity:0.75 !default;
+$u-button-loading-text-margin-left:4px !default;
+$u-button-text-color: #FFFFFF !default;
+$u-button-text-plain-error-color:$u-error !default;
+$u-button-text-plain-warning-color:$u-warning !default;
+$u-button-text-plain-success-color:$u-success !default;
+$u-button-text-plain-info-color:$u-info !default;
+$u-button-text-plain-primary-color:$u-primary !default;
+.u-button {
+ &--active {
+ opacity: $u-button-active-opacity;
+ }
+
+ &--active--plain {
+ background-color: rgb(217, 217, 217);
+ }
+
+ &__loading-text {
+ margin-left:$u-button-loading-text-margin-left;
+ }
+
+ &__text,
+ &__loading-text {
+ color:$u-button-text-color;
+ }
+
+ &__text--plain--error {
+ color:$u-button-text-plain-error-color;
+ }
+
+ &__text--plain--warning {
+ color:$u-button-text-plain-warning-color;
+ }
+
+ &__text--plain--success{
+ color:$u-button-text-plain-success-color;
+ }
+
+ &__text--plain--info {
+ color:$u-button-text-plain-info-color;
+ }
+
+ &__text--plain--primary {
+ color:$u-button-text-plain-primary-color;
+ }
+}
\ No newline at end of file
diff --git a/uview-ui/components/u-button/props.js b/uview-ui/components/u-button/props.js
new file mode 100644
index 0000000..07fd844
--- /dev/null
+++ b/uview-ui/components/u-button/props.js
@@ -0,0 +1,161 @@
+/*
+ * @Author : LQ
+ * @Description :
+ * @version : 1.0
+ * @Date : 2021-08-16 10:04:04
+ * @LastAuthor : LQ
+ * @lastTime : 2021-08-16 10:04:24
+ * @FilePath : /u-view2.0/uview-ui/components/u-button/props.js
+ */
+export default {
+ props: {
+ // 是否细边框
+ hairline: {
+ type: Boolean,
+ default: uni.$u.props.button.hairline
+ },
+ // 按钮的预置样式,info,primary,error,warning,success
+ type: {
+ type: String,
+ default: uni.$u.props.button.type
+ },
+ // 按钮尺寸,large,normal,small,mini
+ size: {
+ type: String,
+ default: uni.$u.props.button.size
+ },
+ // 按钮形状,circle(两边为半圆),square(带圆角)
+ shape: {
+ type: String,
+ default: uni.$u.props.button.shape
+ },
+ // 按钮是否镂空
+ plain: {
+ type: Boolean,
+ default: uni.$u.props.button.plain
+ },
+ // 是否禁止状态
+ disabled: {
+ type: Boolean,
+ default: uni.$u.props.button.disabled
+ },
+ // 是否加载中
+ loading: {
+ type: Boolean,
+ default: uni.$u.props.button.loading
+ },
+ // 加载中提示文字
+ loadingText: {
+ type: [String, Number],
+ default: uni.$u.props.button.loadingText
+ },
+ // 加载状态图标类型
+ loadingMode: {
+ type: String,
+ default: uni.$u.props.button.loadingMode
+ },
+ // 加载图标大小
+ loadingSize: {
+ type: [String, Number],
+ default: uni.$u.props.button.loadingSize
+ },
+ // 开放能力,具体请看uniapp稳定关于button组件部分说明
+ // https://uniapp.dcloud.io/component/button
+ openType: {
+ type: String,
+ default: uni.$u.props.button.openType
+ },
+ // 用于