@fredwsw/frontend-rules 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/README.md +302 -0
  2. package/bin/cli.js +155 -0
  3. package/package.json +22 -0
  4. package/template/docs/uv-ui-docs/action-sheet-cn.md +180 -0
  5. package/template/docs/uv-ui-docs/album-cn.md +104 -0
  6. package/template/docs/uv-ui-docs/alert-cn.md +71 -0
  7. package/template/docs/uv-ui-docs/avatar-cn.md +149 -0
  8. package/template/docs/uv-ui-docs/back-top-cn.md +121 -0
  9. package/template/docs/uv-ui-docs/badge-cn.md +100 -0
  10. package/template/docs/uv-ui-docs/button-cn.md +181 -0
  11. package/template/docs/uv-ui-docs/calendar-cn.md +179 -0
  12. package/template/docs/uv-ui-docs/calendars-cn.md +264 -0
  13. package/template/docs/uv-ui-docs/cell-cn.md +163 -0
  14. package/template/docs/uv-ui-docs/checkbox-cn.md +164 -0
  15. package/template/docs/uv-ui-docs/code-cn.md +122 -0
  16. package/template/docs/uv-ui-docs/code-input-cn.md +127 -0
  17. package/template/docs/uv-ui-docs/collapse-cn.md +206 -0
  18. package/template/docs/uv-ui-docs/color-cn.md +122 -0
  19. package/template/docs/uv-ui-docs/count-down-cn.md +169 -0
  20. package/template/docs/uv-ui-docs/count-to-cn.md +125 -0
  21. package/template/docs/uv-ui-docs/datetime-picker-cn.md +167 -0
  22. package/template/docs/uv-ui-docs/divider-cn.md +90 -0
  23. package/template/docs/uv-ui-docs/drop-down-cn.md +287 -0
  24. package/template/docs/uv-ui-docs/empty-cn.md +76 -0
  25. package/template/docs/uv-ui-docs/form-cn.md +220 -0
  26. package/template/docs/uv-ui-docs/gap-cn.md +63 -0
  27. package/template/docs/uv-ui-docs/grid-cn.md +187 -0
  28. package/template/docs/uv-ui-docs/icon-cn.md +255 -0
  29. package/template/docs/uv-ui-docs/image-cn.md +170 -0
  30. package/template/docs/uv-ui-docs/index-list-cn.md +132 -0
  31. package/template/docs/uv-ui-docs/input-cn.md +157 -0
  32. package/template/docs/uv-ui-docs/keyboard-cn.md +156 -0
  33. package/template/docs/uv-ui-docs/layout-cn.md +215 -0
  34. package/template/docs/uv-ui-docs/line-cn.md +77 -0
  35. package/template/docs/uv-ui-docs/line-progress-cn.md +132 -0
  36. package/template/docs/uv-ui-docs/link-cn.md +97 -0
  37. package/template/docs/uv-ui-docs/list-cn.md +185 -0
  38. package/template/docs/uv-ui-docs/load-more-cn.md +144 -0
  39. package/template/docs/uv-ui-docs/loading-icon-cn.md +125 -0
  40. package/template/docs/uv-ui-docs/loading-page-cn.md +85 -0
  41. package/template/docs/uv-ui-docs/modal-cn.md +212 -0
  42. package/template/docs/uv-ui-docs/navbar-cn.md +171 -0
  43. package/template/docs/uv-ui-docs/no-network-cn.md +112 -0
  44. package/template/docs/uv-ui-docs/notice-bar-cn.md +119 -0
  45. package/template/docs/uv-ui-docs/notify-cn.md +185 -0
  46. package/template/docs/uv-ui-docs/number-box-cn.md +131 -0
  47. package/template/docs/uv-ui-docs/overlay-cn.md +122 -0
  48. package/template/docs/uv-ui-docs/parse-cn.md +177 -0
  49. package/template/docs/uv-ui-docs/pick-color-cn.md +147 -0
  50. package/template/docs/uv-ui-docs/picker-cn.md +159 -0
  51. package/template/docs/uv-ui-docs/popup-cn.md +184 -0
  52. package/template/docs/uv-ui-docs/qrcode-cn.md +150 -0
  53. package/template/docs/uv-ui-docs/radio-cn.md +166 -0
  54. package/template/docs/uv-ui-docs/rate-cn.md +91 -0
  55. package/template/docs/uv-ui-docs/read-more-cn.md +191 -0
  56. package/template/docs/uv-ui-docs/scroll-list-cn.md +188 -0
  57. package/template/docs/uv-ui-docs/search-cn.md +107 -0
  58. package/template/docs/uv-ui-docs/skeleton-cn.md +101 -0
  59. package/template/docs/uv-ui-docs/skeletons-cn.md +312 -0
  60. package/template/docs/uv-ui-docs/slider-cn.md +98 -0
  61. package/template/docs/uv-ui-docs/steps-cn.md +158 -0
  62. package/template/docs/uv-ui-docs/sticky-cn.md +82 -0
  63. package/template/docs/uv-ui-docs/subsection-cn.md +161 -0
  64. package/template/docs/uv-ui-docs/swipe-action-cn.md +207 -0
  65. package/template/docs/uv-ui-docs/swiper-cn.md +247 -0
  66. package/template/docs/uv-ui-docs/switch-cn.md +136 -0
  67. package/template/docs/uv-ui-docs/tabbar-cn.md +224 -0
  68. package/template/docs/uv-ui-docs/tabs-cn.md +260 -0
  69. package/template/docs/uv-ui-docs/tags-cn.md +191 -0
  70. package/template/docs/uv-ui-docs/text-cn.md +178 -0
  71. package/template/docs/uv-ui-docs/textarea-cn.md +132 -0
  72. package/template/docs/uv-ui-docs/toast-cn.md +110 -0
  73. package/template/docs/uv-ui-docs/tooltip-cn.md +91 -0
  74. package/template/docs/uv-ui-docs/transition-cn.md +202 -0
  75. package/template/docs/uv-ui-docs/upload-cn.md +156 -0
  76. package/template/docs/uv-ui-docs/vtabs-cn.md +190 -0
  77. package/template/docs/uv-ui-docs/waterfall-cn.md +276 -0
  78. package/template/rules/common.mdc +90 -0
  79. package/template/rules/uv-ui-docs.mdc +111 -0
  80. package/template/skills/code-simplifier/SKILL.md +109 -0
  81. package/template/skills/frontend-design/SKILL.md +44 -0
@@ -0,0 +1,104 @@
1
+ ---
2
+ group: 媒体
3
+ category: Components
4
+ title: Album
5
+ subtitle: 相册
6
+ description: 图片相册组件,支持单图/多图展示、行数控制、预览大图与查看更多提示,可用对象数组扩展字段。
7
+ demo:
8
+ cols: 2
9
+ ---
10
+
11
+ ## 何时使用 {#when-to-use}
12
+
13
+ `uv-album` 提供类似相册的功能,用于展示一组图片,支持单图与多图布局、预览大图等,减少重复模板代码。
14
+
15
+ > 完整示例下载地址:[uv-ui 插件市场](https://ext.dcloud.net.cn/plugin?name=uv-ui)
16
+
17
+ ## 平台兼容性 {#platform}
18
+
19
+ | App(vue) | App(nvue) | H5 | 小程序 | VUE2 | VUE3 |
20
+ | --- | --- | --- | --- | --- | --- |
21
+ | √ | √ | √ | √ | √ | √ |
22
+
23
+ **组件名:** `uv-album`
24
+
25
+ ## 代码演示 {#examples}
26
+
27
+ ### 基本使用 {#basic}
28
+
29
+ 通过 `urls` 属性设置相册图片地址。
30
+
31
+ ```vue
32
+ <template>
33
+ <view>
34
+ <uv-album :urls="urls"></uv-album>
35
+ </view>
36
+ </template>
37
+
38
+ <script>
39
+ export default {
40
+ data() {
41
+ return {
42
+ urls: ['https://via.placeholder.com/400x200.png/3c9cff/fff']
43
+ }
44
+ }
45
+ }
46
+ </script>
47
+ ```
48
+
49
+ ### 多图模式 {#multiple}
50
+
51
+ `urls` 传入多个地址时形成图片列表,通过 `multipleSize` 设置图片边长,通过 `space` 设置间距。
52
+
53
+ ```vue
54
+ <template>
55
+ <view style="width: 400rpx;">
56
+ <uv-album :urls="urls" multipleSize="128rpx" space="8rpx"></uv-album>
57
+ </view>
58
+ </template>
59
+
60
+ <script>
61
+ export default {
62
+ data() {
63
+ return {
64
+ urls: [
65
+ 'https://via.placeholder.com/100x200.png/3c9cff/fff',
66
+ 'https://via.placeholder.com/200x200.png/3c9cff/fff',
67
+ 'https://via.placeholder.com/300x200.png/3c9cff/fff',
68
+ 'https://via.placeholder.com/280x200.png/3c9cff/fff',
69
+ 'https://via.placeholder.com/240x200.png/3c9cff/fff',
70
+ 'https://via.placeholder.com/180x200.png/3c9cff/fff',
71
+ 'https://via.placeholder.com/140x200.png/3c9cff/fff',
72
+ 'https://via.placeholder.com/150x200.png/3c9cff/fff',
73
+ 'https://via.placeholder.com/90x200.png/3c9cff/fff',
74
+ 'https://via.placeholder.com/220x200.png/3c9cff/fff'
75
+ ]
76
+ }
77
+ }
78
+ }
79
+ </script>
80
+ ```
81
+
82
+ ## API {#api}
83
+
84
+ ### Album Props {#props}
85
+
86
+ | 参数 | 说明 | 类型 | 默认值 | 可选值 |
87
+ | --- | --- | --- | --- | --- |
88
+ | urls | 图片地址列表,支持 `Array<String>` 或 `Array<Object>` | Array | - | - |
89
+ | keyName | 对象数组中图片地址字段名 | String | - | - |
90
+ | singleSize | 单图时长边长度 | String \| Number | 180 | - |
91
+ | multipleSize | 多图时图片边长(宽高) | String \| Number | 70 | - |
92
+ | space | 多图时图片水平/垂直间距 | String \| Number | 6 | - |
93
+ | singleMode | 单图时图片裁剪模式 | String | scaleToFill | - |
94
+ | multipleMode | 多图时图片裁剪模式 | String | aspectFill | - |
95
+ | maxCount | 最多展示图片数量,超出时最后一张显示剩余数量 | String \| Number | 9 | - |
96
+ | previewFullImage | 是否可预览大图 | Boolean | true | true \| false |
97
+ | rowCount | 每行展示图片数量(设置后 `singleSize`/`multipleSize` 失效) | String \| Number | 3 | - |
98
+ | showMore | 超出 `maxCount` 时是否显示“查看更多”提示 | Boolean | true | true \| false |
99
+
100
+ ### Album Events {#events}
101
+
102
+ | 事件名 | 说明 | 回调参数 |
103
+ | --- | --- | --- |
104
+ | @albumWidth | 某些场景下需要文字与相册宽度一致时使用,该事件对外发送相册宽度 | width |
@@ -0,0 +1,71 @@
1
+ ---
2
+ group: 基础
3
+ category: Components
4
+ title: Alert
5
+ subtitle: 警告提示
6
+ description: 用于展现需要关注的信息,支持多主题、描述文本、图标与可关闭能力。
7
+ demo:
8
+ cols: 2
9
+ ---
10
+
11
+ ## 何时使用 {#when-to-use}
12
+
13
+ 当页面需要向用户显示警告/提示信息时使用。组件为非浮层的静态展现形式,始终展示,不会自动消失;可配置关闭按钮让用户手动关闭。
14
+
15
+ > 完整示例下载地址:[uv-ui 插件市场](https://ext.dcloud.net.cn/plugin?name=uv-ui)
16
+
17
+ ## 平台兼容性 {#platform}
18
+
19
+ | App(vue) | App(nvue) | H5 | 小程序 | VUE2 | VUE3 |
20
+ | --- | --- | --- | --- | --- | --- |
21
+ | √ | √ | √ | √ | √ | √ |
22
+
23
+ **组件名:** `uv-alert`
24
+
25
+ ## 代码演示 {#examples}
26
+
27
+ ### 基本使用 {#basic}
28
+
29
+ 通过 `title` / `description` 设置标题与描述;`type` 设置主题(primary/success/error/warning/info);`effect` 设置浅色/深色(light/dark)。
30
+
31
+ ```vue
32
+ <uv-alert title="uv-ui" type="warning" description="uv-ui的目标是成为uni-app生态最优秀的UI框架"></uv-alert>
33
+ ```
34
+
35
+ ### 图标 {#icon}
36
+
37
+ 通过 `showIcon` 控制是否显示图标(当前版本为内置图标,随 type 变化,无法自定义)。
38
+
39
+ ```vue
40
+ <uv-alert type="warning" :show-icon="true"></uv-alert>
41
+ ```
42
+
43
+ ### 可关闭 {#closable}
44
+
45
+ 通过 `closable` 显示关闭按钮,点击可关闭。
46
+
47
+ ```vue
48
+ <uv-alert title="uv-ui" type="warning" description="uv-ui的目标是成为uni-app生态最优秀的UI框架" closable></uv-alert>
49
+ ```
50
+
51
+ ## API {#api}
52
+
53
+ ### Alert Props {#props}
54
+
55
+ | 参数 | 说明 | 类型 | 默认值 | 可选值 |
56
+ | --- | --- | --- | --- | --- |
57
+ | title | 标题文字 | String | - | - |
58
+ | type | 主题类型 | String | warning | warning \| success \| primary \| error \| info |
59
+ | description | 辅助文字描述 | String | - | - |
60
+ | closable | 是否可关闭(关闭按钮默认为叉号 icon) | Boolean | false | true \| false |
61
+ | showIcon | 是否显示左侧图标 | Boolean | false | true \| false |
62
+ | effect | 主题色调 | String | light | dark \| light |
63
+ | center | 文字是否居中 | Boolean | false | true \| false |
64
+ | fontSize | 字体大小(rpx 或 px) | String \| Number | 14 | - |
65
+ | customStyle | 自定义外部样式 | Object | - | - |
66
+
67
+ ### Alert Events {#events}
68
+
69
+ | 事件名 | 说明 | 回调参数 |
70
+ | --- | --- | --- |
71
+ | @click | 点击组件触发 | - |
@@ -0,0 +1,149 @@
1
+ ---
2
+ group: 数据
3
+ category: Components
4
+ title: Avatar
5
+ subtitle: 头像
6
+ description: 用于展示用户头像,支持图片/文字/图标、多种形状尺寸,以及头像组展示。
7
+ demo:
8
+ cols: 2
9
+ ---
10
+
11
+ ## 何时使用 {#when-to-use}
12
+
13
+ `uv-avatar` 常用于个人中心、评论列表等用户头像展示场景,支持图片头像、文字头像、图标头像,以及 `uv-avatar-group` 头像组。
14
+
15
+ > 完整示例下载地址:[uv-ui 插件市场](https://ext.dcloud.net.cn/plugin?name=uv-ui)
16
+
17
+ ## 平台兼容性 {#platform}
18
+
19
+ | App(vue) | App(nvue) | H5 | 小程序 | VUE2 | VUE3 |
20
+ | --- | --- | --- | --- | --- | --- |
21
+ | √ | √ | √ | √ | √ | √ |
22
+
23
+ **组件名:** `uv-avatar`、`uv-avatar-group`
24
+
25
+ ## 代码演示 {#examples}
26
+
27
+ ### 基本使用 {#basic}
28
+
29
+ 通过 `src` 指定头像图片地址;若传递 `text`,`text` 优先级更高。
30
+
31
+ 注意:请传入 **绝对地址**,不要传相对地址(组件内相对路径不是相对于页面,容易出错)。
32
+
33
+ ```vue
34
+ <template>
35
+ <view>
36
+ <uv-avatar src="https://via.placeholder.com/200x200.png/2878ff"></uv-avatar>
37
+ <uv-avatar text="李"></uv-avatar>
38
+ </view>
39
+ </template>
40
+ ```
41
+
42
+ ### 头像形状 {#shape}
43
+
44
+ `shape`:circle(圆形)/ square(圆角方形)。
45
+
46
+ ```vue
47
+ <template>
48
+ <uv-avatar src="https://via.placeholder.com/200x200.png/2878ff" shape="square"></uv-avatar>
49
+ </template>
50
+ ```
51
+
52
+ ### 图标头像 {#icon}
53
+
54
+ 设置 `icon` 指定头像图标(图标可参考 `uv-icon`)。
55
+
56
+ ```vue
57
+ <template>
58
+ <view>
59
+ <uv-avatar icon="red-packet-fill" fontSize="22"></uv-avatar>
60
+ <uv-avatar icon="star-fill" fontSize="22"></uv-avatar>
61
+ </view>
62
+ </template>
63
+ ```
64
+
65
+ ### 文字头像(自动背景色) {#random-bg}
66
+
67
+ 开启 `randomBgColor` 后头像可使用随机背景色。
68
+
69
+ ```vue
70
+ <template>
71
+ <uv-avatar text="北" fontSize="18" randomBgColor></uv-avatar>
72
+ </template>
73
+ ```
74
+
75
+ ### 头像组 {#group}
76
+
77
+ 通过 `uv-avatar-group` 展示头像组。
78
+
79
+ ```vue
80
+ <template>
81
+ <uv-avatar-group :urls="urls" size="35" gap="0.4"></uv-avatar-group>
82
+ </template>
83
+
84
+ <script>
85
+ export default {
86
+ data() {
87
+ return {
88
+ urls: [
89
+ 'https://cdn.uviewui.com/uview/album/1.jpg',
90
+ 'https://cdn.uviewui.com/uview/album/2.jpg',
91
+ 'https://cdn.uviewui.com/uview/album/3.jpg',
92
+ 'https://cdn.uviewui.com/uview/album/4.jpg',
93
+ 'https://cdn.uviewui.com/uview/album/7.jpg',
94
+ 'https://cdn.uviewui.com/uview/album/6.jpg',
95
+ 'https://cdn.uviewui.com/uview/album/5.jpg'
96
+ ]
97
+ }
98
+ }
99
+ }
100
+ </script>
101
+ ```
102
+
103
+ ## API {#api}
104
+
105
+ ### Avatar Props {#props}
106
+
107
+ | 参数 | 说明 | 类型 | 默认值 | 可选值 |
108
+ | --- | --- | --- | --- | --- |
109
+ | src | 头像路径(加载失败显示默认头像;不能为相对路径) | String | - | - |
110
+ | shape | 头像形状 | String | circle | circle \| square |
111
+ | size | 头像尺寸(字符串或数值) | String \| Number | 40 | - |
112
+ | mode | 图片裁剪类型(同 uni-app image 的 mode) | String | scaleToFill | - |
113
+ | text | 文字头像(优先级高于 src) | String | - | - |
114
+ | bg-color | 背景颜色(一般显示文字时用) | String | #c0c4cc | - |
115
+ | color | 文字颜色 | String | #ffffff | - |
116
+ | font-size | 文字大小 | String \| Number | 18 | - |
117
+ | icon | 显示图标 | String | - | - |
118
+ | mp-avatar | 显示小程序头像(百度/微信/QQ 小程序有效) | Boolean | false | true \| false |
119
+ | random-bg-color | 是否使用随机背景色 | Boolean | false | true \| false |
120
+ | default-url | 加载失败的默认头像 | String | - | - |
121
+ | color-index | randomBgColor 为 true 时,取默认背景色数组索引(0-19) | String \| Number | - | - |
122
+ | name | 组件标识符 | String | level | - |
123
+ | customStyle | 自定义外部样式 | Object | - | - |
124
+
125
+ ### Avatar Events {#events}
126
+
127
+ | 事件名 | 说明 | 回调参数 |
128
+ | --- | --- | --- |
129
+ | @click | 头像被点击 | index:用户传递的标识符 |
130
+
131
+ ### AvatarGroup Props {#group-props}
132
+
133
+ | 参数 | 说明 | 类型 | 默认值 | 可选值 |
134
+ | --- | --- | --- | --- | --- |
135
+ | urls | 头像图片组 | Array | [] | - |
136
+ | maxCount | 最多展示头像数量 | String \| Number | 5 | - |
137
+ | shape | 头像形状 | String | circle | circle \| square |
138
+ | mode | 图片裁剪模式 | String | aspectFill | - |
139
+ | showMore | 超出 maxCount 时是否显示查看更多提示 | Boolean | true | - |
140
+ | size | 头像大小 | String \| Number | 40 | - |
141
+ | keyName | 数组为对象时读取图片地址的 key | String | - | - |
142
+ | gap | 头像遮挡比例(0.4 代表遮挡 40%) | String \| Number | 0.5 | - |
143
+ | extraValue | 需额外显示的值(优先于 urls.length - maxCount) | String \| Number | - | - |
144
+
145
+ ### AvatarGroup Events {#group-events}
146
+
147
+ | 事件名 | 说明 | 回调参数 |
148
+ | --- | --- | --- |
149
+ | @showMore | 头像组更多点击 | - |
@@ -0,0 +1,121 @@
1
+ ---
2
+ group: 导航
3
+ category: Components
4
+ title: BackTop
5
+ subtitle: 返回顶部
6
+ description: 用于长页面中在滚动一定距离后显示返回顶部按钮,点击后快速回到页面顶部。
7
+ demo:
8
+ cols: 2
9
+ ---
10
+
11
+ ## 何时使用 {#when-to-use}
12
+
13
+ `uv-back-top` 适用于长页面,当用户向下滚动一定距离后显示返回顶部按钮,点击即可快速回到顶部。
14
+
15
+ 注意:组件本身无法感知页面滚动,需要在页面 `onPageScroll` 生命周期中获取 `scrollTop`,再通过 props 传给组件。
16
+
17
+ > 完整示例下载地址:[uv-ui 插件市场](https://ext.dcloud.net.cn/plugin?name=uv-ui)
18
+
19
+ ## 平台兼容性 {#platform}
20
+
21
+ | App(vue) | App(nvue) | H5 | 小程序 | VUE2 | VUE3 |
22
+ | --- | --- | --- | --- | --- | --- |
23
+ | √ | √ | √ | √ | √ | √ |
24
+
25
+ **组件名:** `uv-back-top`
26
+
27
+ ## 代码演示 {#examples}
28
+
29
+ ### 基本使用 {#basic}
30
+
31
+ 在页面最外层元素设置 `ref="backTop"`,在 `onPageScroll` 中更新 `scrollTop`。
32
+
33
+ ```vue
34
+ <template>
35
+ <view class="wrap" ref="backTop">
36
+ <text>滑动页面,返回顶部按钮将出现在右下角</text>
37
+ <uv-back-top :scroll-top="scrollTop"></uv-back-top>
38
+ </view>
39
+ </template>
40
+
41
+ <script>
42
+ export default {
43
+ data() {
44
+ return {
45
+ scrollTop: 0
46
+ }
47
+ },
48
+ onPageScroll(e) {
49
+ this.scrollTop = e.scrollTop
50
+ // #ifdef APP-NVUE
51
+ this.scrollTop = e.detail.scrollTop
52
+ // #endif
53
+ }
54
+ }
55
+ </script>
56
+
57
+ <style lang="scss" scoped>
58
+ .wrap {
59
+ height: 2000px;
60
+ }
61
+ </style>
62
+ ```
63
+
64
+ ### 改变出现时机 {#top}
65
+
66
+ 通过 `top` 设置滚动多远后显示返回顶部按钮。
67
+
68
+ ```vue
69
+ <uv-back-top :scroll-top="scrollTop" top="600"></uv-back-top>
70
+ ```
71
+
72
+ ### 自定义图标与提示文字 {#icon-text}
73
+
74
+ ```vue
75
+ <uv-back-top :scroll-top="scrollTop" icon="arrow-up" text="返回"></uv-back-top>
76
+ ```
77
+
78
+ ### 自定义样式 {#custom-style}
79
+
80
+ 通过 `iconStyle` 自定义图标样式,通过 `customStyle` 设置按钮背景/大小,通过 `mode` 控制形状(`circle/square`)。
81
+
82
+ ```vue
83
+ <uv-back-top
84
+ :scroll-top="scrollTop"
85
+ icon="arrow-up"
86
+ text="返回"
87
+ :mode="mode"
88
+ :iconStyle="iconStyle"
89
+ :customStyle="customStyle"
90
+ ></uv-back-top>
91
+ ```
92
+
93
+ ## API {#api}
94
+
95
+ ### BackTop Props {#props}
96
+
97
+ | 参数 | 说明 | 类型 | 默认值 | 可选值 |
98
+ | --- | --- | --- | --- | --- |
99
+ | mode | 按钮形状 | String | circle | circle \| square |
100
+ | icon | 内置图标或图片路径 | String | arrow-upward | - |
101
+ | text | 按钮文字提示 | String | - | - |
102
+ | duration | 返回顶部过渡时间(ms) | String \| Number | 100 | - |
103
+ | scrollTop | 页面滚动距离(`onPageScroll` 中获取) | String \| Number | 0 | - |
104
+ | top | 滚动多远显示按钮(px/rpx) | String \| Number | 400 | - |
105
+ | bottom | 按钮距屏幕底部距离(px/rpx) | String \| Number | 100 | - |
106
+ | right | 按钮距屏幕右侧距离(px/rpx) | String \| Number | 20 | - |
107
+ | z-index | 按钮层级 | String \| Number | 9 | - |
108
+ | iconStyle | 图标样式(对象) | Object | - | - |
109
+ | customStyle | 外层自定义样式 | Object | - | - |
110
+
111
+ ### BackTop Methods {#methods}
112
+
113
+ | 方法名 | 说明 |
114
+ | --- | --- |
115
+ | backToTop | 在自定义内容时,可手动调用该方法返回顶部 |
116
+
117
+ ### BackTop Slots {#slots}
118
+
119
+ | 名称 | 说明 |
120
+ | --- | --- |
121
+ | default | 自定义返回按钮的全部内容 |
@@ -0,0 +1,100 @@
1
+ ---
2
+ group: 数据
3
+ category: Components
4
+ title: Badge
5
+ subtitle: 徽标数(数字角标)
6
+ description: 用于显示未读消息或数量提示,支持圆点/数字、最大值、不同数值展示策略与自定义样式。
7
+ demo:
8
+ cols: 2
9
+ ---
10
+
11
+ ## 何时使用 {#when-to-use}
12
+
13
+ `uv-badge` 一般用于显示未读消息或数量提示,可配合 `uv-tabs`、`uv-vtabs` 等组件使用,支持圆点与带数字两种形态。
14
+
15
+ > 完整示例下载地址:[uv-ui 插件市场](https://ext.dcloud.net.cn/plugin?name=uv-ui)
16
+
17
+ ## 平台兼容性 {#platform}
18
+
19
+ | App(vue) | App(nvue) | H5 | 小程序 | VUE2 | VUE3 |
20
+ | --- | --- | --- | --- | --- | --- |
21
+ | √ | √ | √ | √ | √ | √ |
22
+
23
+ **组件名:** `uv-badge`
24
+
25
+ ## 代码演示 {#examples}
26
+
27
+ ### 基本使用 {#basic}
28
+
29
+ - `value`:徽标内容
30
+ - `type`:主题(primary / warning / error / success / info)
31
+ - `max`:最大值,超出显示 `${max}+`
32
+
33
+ ```vue
34
+ <template>
35
+ <view style="padding: 20px;">
36
+ <view class="box">
37
+ <uv-badge type="error" max="99" :value="100"></uv-badge>
38
+ </view>
39
+ </view>
40
+ </template>
41
+
42
+ <style lang="scss" scoped>
43
+ .box {
44
+ width: 50px;
45
+ height: 50px;
46
+ background-color: #909193;
47
+ }
48
+ </style>
49
+ ```
50
+
51
+ ### 圆点徽标 {#dot}
52
+
53
+ 通过 `isDot` 显示小圆点(不展示数字)。
54
+
55
+ ```vue
56
+ <uv-badge :isDot="true" type="success"></uv-badge>
57
+ ```
58
+
59
+ ### 数字展示方式 {#number-type}
60
+
61
+ - `overflow`:超出 `max` 显示 `${max}+`
62
+ - `ellipsis`:超出 `max` 直接显示 `...`
63
+ - `limit`:以 1000 为阈值,超出显示 K/W,最多保留 2 位小数
64
+
65
+ ```vue
66
+ <template>
67
+ <view style="padding: 20px;">
68
+ <view class="box">
69
+ <uv-badge numberType="overflow" type="error" max="99" :value="100"></uv-badge>
70
+ </view>
71
+ <view class="box">
72
+ <uv-badge numberType="ellipsis" type="error" max="99" :value="10000"></uv-badge>
73
+ </view>
74
+ <view class="box">
75
+ <uv-badge numberType="limit" type="error" max="99" :value="100"></uv-badge>
76
+ </view>
77
+ </view>
78
+ </template>
79
+ ```
80
+
81
+ ## API {#api}
82
+
83
+ ### Badge Props {#props}
84
+
85
+ | 参数 | 说明 | 类型 | 默认值 | 可选值 |
86
+ | --- | --- | --- | --- | --- |
87
+ | value | 展示数字;大于 max 显示 `${max}+`;为 0 且 show-zero 为 false 时隐藏 | String \| Number | - | - |
88
+ | isDot | 不展示数字,仅显示小点 | Boolean | false | true \| false |
89
+ | show | 组件是否显示 | Boolean | true | true \| false |
90
+ | max | 最大值,超出显示 `${max}+` | String \| Number | 99 | - |
91
+ | type | 主题类型 | String | error | error \| warning \| success \| primary \| info |
92
+ | showZero | 数值为 0 时是否展示 | Boolean | false | true \| false |
93
+ | bgColor | 背景色(优先级高于 type) | String | - | - |
94
+ | color | 字体颜色 | String | #ffffff | - |
95
+ | shape | 形状:circle(四角圆角)/ horn(左下直角) | String | circle | circle \| horn |
96
+ | numberType | 数字展示方式 | String | overflow | overflow \| ellipsis \| limit |
97
+ | inverted | 是否反转背景与字体颜色 | Boolean | false | true \| false |
98
+ | absolute | 是否绝对定位(为 true 时 offset 生效) | Boolean | false | true \| false |
99
+ | offset | 位置偏移 `[x, y]`(absolute 为 true 时有效) | Array | - | - |
100
+ | customStyle | 自定义外部样式 | Object | - | - |