diff --git a/.env.development b/.env.development index 3111b865..a79a6ae0 100644 --- a/.env.development +++ b/.env.development @@ -6,12 +6,12 @@ ENV = 'development' # 苗扬 -VITE_APP_BASE_API_Url = 'http://25.64.16.133:9786' +#VITE_APP_BASE_API_Url = 'http://25.64.16.133:9786' #VITE_APP_BASE_API_Url = 'http://aitstest.jlbank.com.cn:7002' # app入口 -#VITE_APP_BASE_API_Url = 'http://25.18.122.65:7001' +VITE_APP_BASE_API_Url = 'http://25.18.122.65:7001' diff --git a/src/App.vue b/src/App.vue index 28fdcff6..694860bc 100644 --- a/src/App.vue +++ b/src/App.vue @@ -66,6 +66,9 @@ view { .fz-30 { font-size: 30rpx; } +.fz-28 { + font-size: 28rpx; +} .fz-24 { font-size: 24rpx; } @@ -80,9 +83,19 @@ view { .flex { display: flex; } +.flex-jcsb { + display: flex; + justify-content: space-between; +} +.tar{ + text-align: right; +} .fw-600 { font-weight: 600; } +.fw-400 { + font-weight: 400; +} .img_100 { width: 100%; height: 100%; diff --git a/src/pages.json b/src/pages.json index 2576942a..9cd6dcfe 100644 --- a/src/pages.json +++ b/src/pages.json @@ -18,6 +18,15 @@ } } }, + { + "path": "pages/courseDetail/submit", + "style": { + "navigationBarTitleText": "提交评价", + "app-plus": { + "titleNView": false + } + } + }, { "path": "pages/study/index", "style": { diff --git a/src/pages/courseDetail/comment.vue b/src/pages/courseDetail/comment.vue new file mode 100644 index 00000000..73383cba --- /dev/null +++ b/src/pages/courseDetail/comment.vue @@ -0,0 +1,143 @@ + + + + + \ No newline at end of file diff --git a/src/pages/courseDetail/index.vue b/src/pages/courseDetail/index.vue index 46a84b1d..1dfa119b 100644 --- a/src/pages/courseDetail/index.vue +++ b/src/pages/courseDetail/index.vue @@ -22,73 +22,34 @@ - - - - 课程类别 - {{ form.catalogName }} - - - 评分 - {{ form.evalGrade }} - - - - 发布日期 - {{ common.formatDate2(form.issuTm, 'yyyy-MM-dd HH:mm') }} - - - - - 标签 - - {{ item.tagName }} - - - - 创建人 - {{ form.ctUserName }} - - - 归属部门 - {{ form.belgOrgName }} - - - - - - + + - - - - - - - - 知识点0{{ index + 1 }} - {{ item.pgrphContent }} - - - - {{ item.pgrphStdyStateName }} - - + + + + + - - 去学习 - 去练习 - 去考试 + + + @@ -99,13 +60,17 @@ import { onLoad } from '@dcloudio/uni-app'; import { getCourseDetailApi } from '@/api/courseDetail.js'; // import {formatDate2} from '@/common/common.js' import common from '@/common/common'; +import introduceVue from './introduce.vue'; +import knowledge from './knowledge.vue'; +import comment from './comment.vue'; + // tab栏 const tabList = ref([{ name: '课程介绍' }, { name: '知识点' }, { name: '评价' }]); const form = ref({}); const crsNum = ref(''); -const tabAct = ref('课程介绍'); +const tabAct = ref(0); const tabSwitch = (item) => { - tabAct.value = item.name; + tabAct.value = item.index; }; const getData = async () => { const { body } = await getCourseDetailApi({ crsNum: crsNum.value }); @@ -183,71 +148,8 @@ onLoad((params) => { // bottom: 10rpx; // } } -.course-info { - box-sizing: border-box; - width: 100%; - background-color: #ffffff; - border-radius: 22rpx; - padding-top: 38rpx; - padding-left: 38rpx; -} -.info-top { - display: flex; - align-items: center; - justify-content: space-between; - margin-bottom: 62rpx; - padding-right: 36rpx; - .top-right { - .rate-text { - text-align: right; - color: #999999; - font-size: 30rpx; - margin-bottom: 4rpx; - } - .rate-num { - color: #0066ff; - font-size: 62rpx; - font-family: Arial, Helvetica, sans-serif; - font-weight: 600; - } - } -} -.info-middle { - margin-bottom: 35rpx; - padding-right: 36rpx; -} -.info-bottom { - display: flex; - justify-content: space-between; - width: 100%; -} -.bottom-left { - display: flex; - flex-direction: column; - padding-top: 12rpx; - flex: 1; - .label { - width: 100%; - display: flex; - flex-wrap: wrap; - } - .label-item { - text-align: center; - border-radius: 22rpx; - padding: 2rpx 14rpx; - font-size: 22rpx; - margin-right: 14rpx; - background-color: #f1f3f8; - } -} -.bottom-right { - width: 50%; - .right-img { - width: 100%; - height: auto; - object-fit: cover; - } -} + + .btn-box { position: fixed; bottom: 0; @@ -255,13 +157,25 @@ onLoad((params) => { width: 100%; display: flex; padding-top: 37rpx; - justify-content: space-evenly; + justify-content: space-around; background-color: #ffffff; - :deep(.uv-button) { - border-radius: 14rpx; - width: 200rpx; - height: 92rpx; + // background-color: red; + + :deep(.uv-button-wrapper) { + flex: 1; + &.send_evaluate{ + margin: 0 60rpx; + } + &:not(.send_evaluate){ + margin: 0 30rpx; + } + .uv-button { + border-radius: 14rpx; + width: 100%; + height: 92rpx; + } } + } .num-item { display: flex; @@ -273,25 +187,7 @@ onLoad((params) => { .point { width: 100%; } -.point-item { - background-color: #fff; - display: flex; - padding-top: 24rpx; - padding-left: 36rpx; - padding-right: 52rpx; - border-radius: 22rpx; - justify-content: space-between; - .blue-ball { - padding-top: 16rpx; - margin-right: 12rpx; - .ball { - width: 12rpx; - height: 12rpx; - background-color: #0066ff; - border-radius: 50%; - } - } -} + .learn { color: #1dd17a; } diff --git a/src/pages/courseDetail/introduce.vue b/src/pages/courseDetail/introduce.vue new file mode 100644 index 00000000..2295b89e --- /dev/null +++ b/src/pages/courseDetail/introduce.vue @@ -0,0 +1,115 @@ + + + + + \ No newline at end of file diff --git a/src/pages/courseDetail/knowledge.vue b/src/pages/courseDetail/knowledge.vue new file mode 100644 index 00000000..5906419c --- /dev/null +++ b/src/pages/courseDetail/knowledge.vue @@ -0,0 +1,47 @@ + + + + + \ No newline at end of file diff --git a/src/pages/courseDetail/submit.vue b/src/pages/courseDetail/submit.vue new file mode 100644 index 00000000..be117054 --- /dev/null +++ b/src/pages/courseDetail/submit.vue @@ -0,0 +1,216 @@ + + + + + diff --git a/src/pages/index/index.vue b/src/pages/index/index.vue index b6d84005..c9b76a33 100644 --- a/src/pages/index/index.vue +++ b/src/pages/index/index.vue @@ -45,7 +45,7 @@ color="rgba(255,255,255,0.7)" :speed="40" direction="column"> - + diff --git a/src/pagesOther.json b/src/pagesOther.json index b720cdef..04435044 100644 --- a/src/pagesOther.json +++ b/src/pagesOther.json @@ -17,6 +17,15 @@ "titleNView": false } } + }, + { + "path": "pages/courseDetail/submit", + "style": { + "navigationBarTitleText": "提交评价", + "app-plus": { + "titleNView": false + } + } } ], "tabBar": { diff --git a/src/uni_modules/uv-read-more/changelog.md b/src/uni_modules/uv-read-more/changelog.md new file mode 100644 index 00000000..890f9740 --- /dev/null +++ b/src/uni_modules/uv-read-more/changelog.md @@ -0,0 +1,7 @@ +## 1.0.2(2023-09-13) +1. 修复全局设置rpx,导致展开高度不对的BUG +## 1.0.1(2023-05-16) +1. 优化组件依赖,修改后无需全局引入,组件导入即可使用 +2. 优化部分功能 +## 1.0.0(2023-05-10) +uv-read-more 展开阅读更多 diff --git a/src/uni_modules/uv-read-more/components/uv-read-more/props.js b/src/uni_modules/uv-read-more/components/uv-read-more/props.js new file mode 100644 index 00000000..c691a01b --- /dev/null +++ b/src/uni_modules/uv-read-more/components/uv-read-more/props.js @@ -0,0 +1,62 @@ +export default { + props: { + // 默认的显示占位高度 + showHeight: { + type: [String, Number], + default: 400 + }, + // 展开后是否显示"收起"按钮 + toggle: { + type: Boolean, + default: false + }, + // 关闭时的提示文字 + closeText: { + type: String, + default: '展开阅读全文' + }, + // 展开时的提示文字 + openText: { + type: String, + default: '收起' + }, + // 提示的文字颜色 + color: { + type: String, + default: '#2979ff' + }, + // 提示文字的大小 + fontSize: { + type: [String, Number], + default: 14 + }, + // 是否显示阴影 + // 此参数不能写在props/readMore.js中进行默认配置,因为使用了条件编译,在外部js中 + // uni无法准确识别当前是否处于nvue还是非nvue下 + shadowStyle: { + type: Object, + default: () => ({ + // #ifndef APP-NVUE + backgroundImage: 'linear-gradient(-180deg, rgba(255, 255, 255, 0) 0%, #fff 80%)', + // #endif + // #ifdef APP-NVUE + // nvue上不支持设置复杂的backgroundImage属性 + backgroundImage: 'linear-gradient(to top, #fff, rgba(255, 255, 255, 0.5))', + // #endif + paddingTop: '100px', + marginTop: '-100px' + }) + }, + // 段落首行缩进的字符个数 + textIndent: { + type: String, + default: '2em' + }, + // open和close事件时,将此参数返回在回调参数中 + name: { + type: [String, Number], + default: '' + }, + ...uni.$uv?.props?.readMore + } +} \ No newline at end of file diff --git a/src/uni_modules/uv-read-more/components/uv-read-more/uv-read-more.vue b/src/uni_modules/uv-read-more/components/uv-read-more/uv-read-more.vue new file mode 100644 index 00000000..9ee47db1 --- /dev/null +++ b/src/uni_modules/uv-read-more/components/uv-read-more/uv-read-more.vue @@ -0,0 +1,162 @@ + + + + + diff --git a/src/uni_modules/uv-read-more/package.json b/src/uni_modules/uv-read-more/package.json new file mode 100644 index 00000000..77df674f --- /dev/null +++ b/src/uni_modules/uv-read-more/package.json @@ -0,0 +1,89 @@ +{ + "id": "uv-read-more", + "displayName": "uv-read-more 展开阅读更多 全面兼容小程序、nvue、vue2、vue3等多端", + "version": "1.0.2", + "description": "uv-read-more 该组件一般用于内容较长,预先收起一部分,点击展开全部内容的场景。", + "keywords": [ + "uv-read-more", + "uvui", + "uv-ui", + "read", + "展开阅读更多" +], + "repository": "", + "engines": { + "HBuilderX": "^3.1.0" + }, + "dcloudext": { + "type": "component-vue", + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "插件不采集任何数据", + "permissions": "无" + }, + "npmurl": "" + }, + "uni_modules": { + "dependencies": [ + "uv-ui-tools", + "uv-icon", + "uv-text" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "Vue": { + "vue2": "y", + "vue3": "y" + }, + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y", + "钉钉": "u", + "快手": "u", + "飞书": "u", + "京东": "u" + }, + "快应用": { + "华为": "u", + "联盟": "u" + } + } + } + } +} \ No newline at end of file diff --git a/src/uni_modules/uv-read-more/readme.md b/src/uni_modules/uv-read-more/readme.md new file mode 100644 index 00000000..79e2eae3 --- /dev/null +++ b/src/uni_modules/uv-read-more/readme.md @@ -0,0 +1,11 @@ +## ReadMore 展开阅读更多 + +> **组件名:uv-read-more** + +该组件一般用于内容较长,预先收起一部分,点击展开全部内容的场景。 + +### 查看文档 + +### [完整示例项目下载 | 关注更多组件](https://ext.dcloud.net.cn/plugin?name=uv-ui) + +#### 如使用过程中有任何问题,或者您对uv-ui有一些好的建议,欢迎加入 uv-ui 交流群:uv-ui官方QQ群 diff --git a/src/uni_modules/uv-slider/changelog.md b/src/uni_modules/uv-slider/changelog.md new file mode 100644 index 00000000..d065ed08 --- /dev/null +++ b/src/uni_modules/uv-slider/changelog.md @@ -0,0 +1,9 @@ +## 1.0.3(2023-07-25) +1. 将inactiveColor修正为backgroundColor 参数,避免不生效 +## 1.0.2(2023-07-13) +1. 修复 uv-slider设置value属性不生效的BUG +## 1.0.1(2023-05-16) +1. 优化组件依赖,修改后无需全局引入,组件导入即可使用 +2. 优化部分功能 +## 1.0.0(2023-05-10) +uv-slider 滑动选择器 diff --git a/src/uni_modules/uv-slider/components/uv-slider/props.js b/src/uni_modules/uv-slider/components/uv-slider/props.js new file mode 100644 index 00000000..1c622de3 --- /dev/null +++ b/src/uni_modules/uv-slider/components/uv-slider/props.js @@ -0,0 +1,58 @@ +export default { + props: { + value: { + type: [Number, String], + default: 0 + }, + modelValue: { + type: [Number, String], + default: 0 + }, + // 最小可选值 + min: { + type: [Number, String], + default: 0 + }, + // 最大可选值 + max: { + type: [Number, String], + default: 100 + }, + // 步长,取值必须大于 0,并且可被(max - min)整除 + step: { + type: [Number, String], + default: 1 + }, + // 滑块右侧已选择部分的背景色 + activeColor: { + type: String, + default: '#2979ff' + }, + // 滑块左侧未选择部分的背景色 + backgroundColor: { + type: String, + default: '#c0c4cc' + }, + // 滑块的大小,取值范围为 12 - 28 + blockSize: { + type: [Number, String], + default: 18 + }, + // 滑块的颜色 + blockColor: { + type: String, + default: '#ffffff' + }, + // 禁用状态 + disabled: { + type: Boolean, + default: false + }, + // 是否显示当前的选择值 + showValue: { + type: Boolean, + default: false + }, + ...uni.$uv?.props?.slider + } +} \ No newline at end of file diff --git a/src/uni_modules/uv-slider/components/uv-slider/uv-slider.vue b/src/uni_modules/uv-slider/components/uv-slider/uv-slider.vue new file mode 100644 index 00000000..9c2a86ab --- /dev/null +++ b/src/uni_modules/uv-slider/components/uv-slider/uv-slider.vue @@ -0,0 +1,58 @@ + + + diff --git a/src/uni_modules/uv-slider/package.json b/src/uni_modules/uv-slider/package.json new file mode 100644 index 00000000..13939517 --- /dev/null +++ b/src/uni_modules/uv-slider/package.json @@ -0,0 +1,87 @@ +{ + "id": "uv-slider", + "displayName": "uv-slider 滑动选择器 全面兼容vue3+2、app、h5、小程序等多端", + "version": "1.0.3", + "description": "滑动选择器组件一般用于表单中,手动选择一个区间范围的场景。", + "keywords": [ + "uv-slider", + "uvui", + "uv-ui", + "slider", + "滑动选择器" +], + "repository": "", + "engines": { + "HBuilderX": "^3.1.0" + }, + "dcloudext": { + "type": "component-vue", + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "插件不采集任何数据", + "permissions": "无" + }, + "npmurl": "" + }, + "uni_modules": { + "dependencies": [ + "uv-ui-tools" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "Vue": { + "vue2": "y", + "vue3": "y" + }, + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y", + "钉钉": "u", + "快手": "u", + "飞书": "u", + "京东": "u" + }, + "快应用": { + "华为": "u", + "联盟": "u" + } + } + } + } +} \ No newline at end of file diff --git a/src/uni_modules/uv-slider/readme.md b/src/uni_modules/uv-slider/readme.md new file mode 100644 index 00000000..c9c00cca --- /dev/null +++ b/src/uni_modules/uv-slider/readme.md @@ -0,0 +1,15 @@ +## Slider 滑动选择器 + +> **组件名:uv-slider** + +该组件一般用于表单中,手动选择一个区间范围的场景。 + +# 查看文档 + +## [下载完整示例项目](https://ext.dcloud.net.cn/plugin?name=uv-ui) + +### [更多插件,请关注uv-ui组件库](https://ext.dcloud.net.cn/plugin?name=uv-ui) + +![image](https://mp-a667b617-c5f1-4a2d-9a54-683a67cff588.cdn.bspapp.com/uv-ui/banner.png) + +#### 如使用过程中有任何问题反馈,或者您对uv-ui有一些好的建议,欢迎加入uv-ui官方交流群:官方QQ群 diff --git a/src/uni_modules/uv-textarea/changelog.md b/src/uni_modules/uv-textarea/changelog.md new file mode 100644 index 00000000..63a90948 --- /dev/null +++ b/src/uni_modules/uv-textarea/changelog.md @@ -0,0 +1,28 @@ +## 1.0.11(2023-12-26) +1. 优化confirmType默认值改成return +## 1.0.10(2023-09-13) +1. 修复设置autoHeight后出现高度异常的BUG +## 1.0.9(2023-08-08) +1. 优化 +## 1.0.8(2023-08-07) +1. 修复值为null或undefined时显示错误的bug +## 1.0.7(2023-08-05) +1. v-model设置为数据时的BUG +2. 复制过多内容,计数显示错误的BUG +3. maxlength为-1改成不显示计数 +## 1.0.6(2023-07-30) +1. 增加confirm-hold参数,参考官方文档 +## 1.0.5(2023-07-25) +1. 增加textStyle属性,自定义文本样式 +2. 增加countStyle属性,自定义统计数字的样式 +## 1.0.4(2023-07-14) +1. 修复 设置maxlength为-1时不生效的BUG +## 1.0.3(2023-07-13) +1. 修复 uv-textarea设置value属性不生效的BUG +## 1.0.2(2023-05-16) +1. 优化组件依赖,修改后无需全局引入,组件导入即可使用 +2. 优化部分功能 +## 1.0.1(2023-05-12) +1. 修复vue3中双向绑定问题 +## 1.0.0(2023-05-10) +uv-textarea 文本域 diff --git a/src/uni_modules/uv-textarea/components/uv-textarea/props.js b/src/uni_modules/uv-textarea/components/uv-textarea/props.js new file mode 100644 index 00000000..b0c78899 --- /dev/null +++ b/src/uni_modules/uv-textarea/components/uv-textarea/props.js @@ -0,0 +1,138 @@ +export default { + props: { + value: { + type: [String, Number], + default: '' + }, + modelValue: { + type: [String, Number], + default: '' + }, + // 输入框为空时占位符 + placeholder: { + type: [String, Number], + default: '' + }, + // 指定placeholder的样式类,注意页面或组件的style中写了scoped时,需要在类名前写/deep/ + placeholderClass: { + type: String, + default: 'textarea-placeholder' + }, + // 指定placeholder的样式 + placeholderStyle: { + type: [String, Object], + default: 'color: #c0c4cc' + }, + // 输入框高度 + height: { + type: [String, Number], + default: 70 + }, + // 设置键盘右下角按钮的文字,仅微信小程序,App-vue和H5有效 + confirmType: { + type: String, + default: 'return' + }, + // 是否禁用 + disabled: { + type: Boolean, + default: false + }, + // 是否显示统计字数 + count: { + type: Boolean, + default: false + }, + // 是否自动获取焦点,nvue不支持,H5取决于浏览器的实现 + focus: { + type: Boolean, + default: false + }, + // 是否自动增加高度 + autoHeight: { + type: Boolean, + default: false + }, + // 如果textarea是在一个position:fixed的区域,需要显示指定属性fixed为true + fixed: { + type: Boolean, + default: false + }, + // 指定光标与键盘的距离 + cursorSpacing: { + type: Number, + default: 0 + }, + // 指定focus时的光标位置 + cursor: { + type: [String, Number], + default: '' + }, + // 是否显示键盘上方带有”完成“按钮那一栏, + showConfirmBar: { + type: Boolean, + default: true + }, + // 光标起始位置,自动聚焦时有效,需与selection-end搭配使用 + selectionStart: { + type: Number, + default: -1 + }, + // 光标结束位置,自动聚焦时有效,需与selection-start搭配使用 + selectionEnd: { + type: Number, + default: -1 + }, + // 键盘弹起时,是否自动上推页面 + adjustPosition: { + type: Boolean, + default: true + }, + // 是否去掉 iOS 下的默认内边距,只微信小程序有效 + disableDefaultPadding: { + type: Boolean, + default: false + }, + // focus时,点击页面的时候不收起键盘,只微信小程序有效 + holdKeyboard: { + type: Boolean, + default: false + }, + // 最大输入长度,设置为 -1 的时候不限制最大长度 + maxlength: { + type: [String, Number], + default: 140 + }, + // 边框类型,surround-四周边框,bottom-底部边框 + border: { + type: String, + default: 'surround' + }, + // 用于处理或者过滤输入框内容的方法 + formatter: { + type: [Function, null], + default: null + }, + // 是否忽略组件内对文本合成系统事件的处理 + ignoreCompositionEvent: { + type: Boolean, + default: true + }, + // 是否忽略组件内对文本合成系统事件的处理 + confirmHold: { + type: Boolean, + default: false + }, + // 文本样式 + textStyle: { + type: [Object, String], + default: () => {} + }, + // 统计数字的样式 + countStyle: { + type: [Object, String], + default: () => {} + }, + ...uni.$uv?.props?.textarea + } +} \ No newline at end of file diff --git a/src/uni_modules/uv-textarea/components/uv-textarea/uv-textarea.vue b/src/uni_modules/uv-textarea/components/uv-textarea/uv-textarea.vue new file mode 100644 index 00000000..cd047ac3 --- /dev/null +++ b/src/uni_modules/uv-textarea/components/uv-textarea/uv-textarea.vue @@ -0,0 +1,238 @@ + + + \ No newline at end of file diff --git a/src/uni_modules/uv-textarea/package.json b/src/uni_modules/uv-textarea/package.json new file mode 100644 index 00000000..7df2034a --- /dev/null +++ b/src/uni_modules/uv-textarea/package.json @@ -0,0 +1,87 @@ +{ + "id": "uv-textarea", + "displayName": "uv-textarea 文本域 全面兼容vue3+2、app、h5、小程序等多端", + "version": "1.0.11", + "description": "文本域此组件满足了可能出现的表单信息补充,编辑等实际逻辑的功能,内置了字数校验等。", + "keywords": [ + "uv-textarea", + "uvui", + "uv-ui", + "textarea", + "文本域" +], + "repository": "", + "engines": { + "HBuilderX": "^3.1.0" + }, + "dcloudext": { + "type": "component-vue", + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "插件不采集任何数据", + "permissions": "无" + }, + "npmurl": "" + }, + "uni_modules": { + "dependencies": [ + "uv-ui-tools" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "Vue": { + "vue2": "y", + "vue3": "y" + }, + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y", + "钉钉": "u", + "快手": "u", + "飞书": "u", + "京东": "u" + }, + "快应用": { + "华为": "u", + "联盟": "u" + } + } + } + } +} \ No newline at end of file diff --git a/src/uni_modules/uv-textarea/readme.md b/src/uni_modules/uv-textarea/readme.md new file mode 100644 index 00000000..6a64819d --- /dev/null +++ b/src/uni_modules/uv-textarea/readme.md @@ -0,0 +1,19 @@ +## Textarea 文本域 + +> **组件名:uv-textarea** + +文本域此组件满足了可能出现的表单信息补充,编辑等实际逻辑的功能,内置了字数校验等。 + +# 查看文档 + +## [下载完整示例项目](https://ext.dcloud.net.cn/plugin?name=uv-ui) (请不要 下载插件ZIP) + +### [更多插件,请关注uv-ui组件库](https://ext.dcloud.net.cn/plugin?name=uv-ui) + + + +![image](https://mp-a667b617-c5f1-4a2d-9a54-683a67cff588.cdn.bspapp.com/uv-ui/banner.png) + + + +#### 如使用过程中有任何问题反馈,或者您对uv-ui有一些好的建议,欢迎加入uv-ui官方交流群:官方QQ群 \ No newline at end of file