stellar-ui-v2 1.40.4 → 1.40.6

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 (37) hide show
  1. package/README.md +8 -8
  2. package/components/ste-animate/animate.scss +247 -247
  3. package/components/ste-app-update/README.md +65 -0
  4. package/components/ste-app-update/config.json +5 -0
  5. package/components/ste-app-update/method.js +48 -0
  6. package/components/ste-app-update/ste-app-update.vue +308 -0
  7. package/components/ste-comment/config.json +4 -4
  8. package/components/ste-coupon-list/ste-coupon-list.vue +3 -1
  9. package/components/ste-guide-qa/README.md +115 -115
  10. package/components/ste-index-list/README.md +6 -6
  11. package/components/ste-message-box/ste-message-box.js +72 -72
  12. package/components/ste-navbar/README.md +125 -125
  13. package/components/ste-progress/README.md +16 -16
  14. package/components/ste-progress/ste-progress.vue +206 -206
  15. package/components/ste-qrcode/README.md +17 -17
  16. package/components/ste-qrcode/uqrcode.js +33 -33
  17. package/components/ste-rate/README.md +13 -13
  18. package/components/ste-search/README.md +5 -5
  19. package/components/ste-select/datetime.vue +106 -106
  20. package/components/ste-signature/README.md +50 -30
  21. package/components/ste-signature/ste-signature.vue +313 -6
  22. package/components/ste-slider/README.md +4 -4
  23. package/components/ste-stepper/README.md +14 -14
  24. package/components/ste-stepper/ste-stepper.vue +494 -494
  25. package/components/ste-swiper/README.md +29 -29
  26. package/components/ste-table/ste-table.vue +634 -634
  27. package/components/ste-table-column/checkbox-icon.vue +65 -65
  28. package/components/ste-table-column/common.scss +65 -65
  29. package/components/ste-table-column/radio-icon.vue +110 -110
  30. package/components/ste-table-column/sub-table.vue +116 -116
  31. package/components/ste-table-column/var.scss +1 -1
  32. package/components/ste-tabs/README.md +63 -63
  33. package/components/ste-tabs/props.js +212 -212
  34. package/components/ste-toast/ste-toast.js +69 -69
  35. package/components/ste-video/ste-video.vue +632 -632
  36. package/package.json +1 -1
  37. package/static/app_update_img.png +0 -0
package/README.md CHANGED
@@ -10,9 +10,9 @@
10
10
 
11
11
  ## ✨ 特性
12
12
 
13
- - 🎯 多平台覆盖,支持 微信小程序、支付宝小程序、H5.
14
- - 🚀 40+ 个高质量组件,覆盖移动端主流场景.
15
- - 📖 提供丰富的文档和组件示例.
13
+ - 🎯 多平台覆盖,支持 微信小程序、支付宝小程序、H5.
14
+ - 🚀 40+ 个高质量组件,覆盖移动端主流场景.
15
+ - 📖 提供丰富的文档和组件示例.
16
16
  - 🎨 支持修改 CSS 变量实现主题定制.
17
17
 
18
18
  ## 📱 预览
@@ -75,11 +75,11 @@ npm i stellar-ui-v2 -S
75
75
 
76
76
  ## 周边生态
77
77
 
78
- | 项目 | 描述 |
79
- | --- | --- |
80
- |[StellarUI-Plus](https://github.com/wuhanshuzhiyun/stellar-ui-plus) | 一个基于vue3构建,打造的uni-app组件库 |
81
- |[ste-vue-inset-loader](https://github.com/wuhanshuzhiyun/ste-vue-inset-loader) |常用于小程序需要全局引入组件的场景的包 |
82
- |[ste-helper](https://github.com/wuhanshuzhiyun/stellar-ui-plus/tree/main/plugins/ste-helper) |旨在帮助开发者更加有效率的使用 StellarUI-Plus来开发项目的vscode插件 |
78
+ | 项目 | 描述 |
79
+ | --- | --- |
80
+ |[StellarUI-Plus](https://github.com/wuhanshuzhiyun/stellar-ui-plus) | 一个基于vue3构建,打造的uni-app组件库 |
81
+ |[ste-vue-inset-loader](https://github.com/wuhanshuzhiyun/ste-vue-inset-loader) |常用于小程序需要全局引入组件的场景的包 |
82
+ |[ste-helper](https://github.com/wuhanshuzhiyun/stellar-ui-plus/tree/main/plugins/ste-helper) |旨在帮助开发者更加有效率的使用 StellarUI-Plus来开发项目的vscode插件 |
83
83
  |[ste-cli](https://github.com/wuhanshuzhiyun/ste-cli) |stellar配套的脚手架 |
84
84
 
85
85
  ## 核心团队
@@ -1,247 +1,247 @@
1
- // 横向抖动动画
2
- @keyframes shakeX {
3
- 0%,
4
- 100% {
5
- transform: translateX(0);
6
- }
7
-
8
- 10% {
9
- transform: translateX(-9px);
10
- }
11
-
12
- 20% {
13
- transform: translateX(8px);
14
- }
15
-
16
- 30% {
17
- transform: translateX(-7px);
18
- }
19
-
20
- 40% {
21
- transform: translateX(6px);
22
- }
23
-
24
- 50% {
25
- transform: translateX(-5px);
26
- }
27
-
28
- 60% {
29
- transform: translateX(4px);
30
- }
31
-
32
- 70% {
33
- transform: translateX(-3px);
34
- }
35
-
36
- 80% {
37
- transform: translateX(2px);
38
- }
39
-
40
- 90% {
41
- transform: translateX(-1px);
42
- }
43
- }
44
-
45
- // 竖向抖动动画
46
- @keyframes shakeY {
47
- 0%,
48
- 100% {
49
- transform: translateY(0);
50
- }
51
-
52
- 10% {
53
- transform: translateY(-9px);
54
- }
55
-
56
- 20% {
57
- transform: translateY(8px);
58
- }
59
-
60
- 30% {
61
- transform: translateY(-7px);
62
- }
63
-
64
- 40% {
65
- transform: translateY(6px);
66
- }
67
-
68
- 50% {
69
- transform: translateY(-5px);
70
- }
71
-
72
- 60% {
73
- transform: translateY(4px);
74
- }
75
-
76
- 70% {
77
- transform: translateY(-3px);
78
- }
79
-
80
- 80% {
81
- transform: translateY(2px);
82
- }
83
-
84
- 90% {
85
- transform: translateY(-1px);
86
- }
87
- }
88
-
89
- // 心跳
90
- @keyframes ripple {
91
- 0% {
92
- // box-shadow: 0 0.5em 0.5em rgba(0, 0, 0, 0.4);
93
-
94
- transform: scale(1);
95
- }
96
-
97
- 50% {
98
- // box-shadow: 0 1em 1em rgba(0, 0, 0, 0.4);
99
- transform: scale(1.1);
100
- }
101
- }
102
-
103
- // 呼吸
104
- @keyframes breath {
105
- 0% {
106
- transform: scale(1);
107
- }
108
-
109
- 50% {
110
- transform: scale(1.1);
111
- }
112
-
113
- 100% {
114
- transform: scale(1);
115
- }
116
- }
117
-
118
- // 右侧向左侧划入
119
- @keyframes slide-right {
120
- 0% {
121
- opacity: 0;
122
- transform: translateX(100%);
123
- }
124
-
125
- 100% {
126
- opacity: 1;
127
- transform: translateX(0);
128
- }
129
- }
130
-
131
- // 左侧向右侧划入
132
- @keyframes slide-left {
133
- 0% {
134
- opacity: 0;
135
- transform: translateX(-100%);
136
- }
137
-
138
- 100% {
139
- opacity: 1;
140
- transform: translateX(0);
141
- }
142
- }
143
-
144
- // 上面向下面划入
145
- @keyframes slide-top {
146
- 0% {
147
- opacity: 0;
148
- transform: translateY(-100%);
149
- }
150
-
151
- 100% {
152
- opacity: 1;
153
- transform: translateY(0);
154
- }
155
- }
156
-
157
- // 下面向上面划入
158
- @keyframes slide-bottom {
159
- 0% {
160
- opacity: 0;
161
- transform: translateY(100%);
162
- }
163
-
164
- 100% {
165
- opacity: 1;
166
- transform: translateY(0);
167
- }
168
- }
169
-
170
- // 漂浮 float
171
- @keyframes floatPop {
172
- 0% {
173
- top: 0;
174
- }
175
-
176
- 25% {
177
- top: 1px;
178
- }
179
-
180
- 50% {
181
- top: 4px;
182
- }
183
-
184
- 75% {
185
- top: 1px;
186
- }
187
-
188
- 100% {
189
- top: 0;
190
- }
191
- }
192
-
193
- // 跳跃
194
- @keyframes jump {
195
- 0% {
196
- transform: rotate(0deg) translateY(0);
197
- animation-timing-function: ease-in;
198
- }
199
-
200
- 25% {
201
- transform: rotate(10deg) translateY(20 * 1px);
202
- animation-timing-function: ease-out;
203
- }
204
-
205
- 50% {
206
- transform: rotate(0deg) translateY(-10 * 1px);
207
- animation-timing-function: ease-in;
208
- }
209
-
210
- 75% {
211
- transform: rotate(-10deg) translateY(20 * 1px);
212
- animation-timing-function: ease-out;
213
- }
214
-
215
- 100% {
216
- transform: rotate(0deg) translateY(0);
217
- animation-timing-function: ease-in;
218
- }
219
- }
220
-
221
- // 水波
222
- @keyframes twinkle {
223
- 0% {
224
- transform: scale(0);
225
- }
226
-
227
- 20% {
228
- opacity: 1;
229
- }
230
-
231
- 50%,
232
- 100% {
233
- opacity: 0;
234
- transform: scale(1.4);
235
- }
236
- }
237
-
238
- @keyframes flicker {
239
- 0% {
240
- transform: translateX(-100 * 1px) skewX(-20deg);
241
- }
242
-
243
- 40%,
244
- 100% {
245
- transform: translateX(150 * 1px) skewX(-20deg);
246
- }
247
- }
1
+ // 横向抖动动画
2
+ @keyframes shakeX {
3
+ 0%,
4
+ 100% {
5
+ transform: translateX(0);
6
+ }
7
+
8
+ 10% {
9
+ transform: translateX(-9px);
10
+ }
11
+
12
+ 20% {
13
+ transform: translateX(8px);
14
+ }
15
+
16
+ 30% {
17
+ transform: translateX(-7px);
18
+ }
19
+
20
+ 40% {
21
+ transform: translateX(6px);
22
+ }
23
+
24
+ 50% {
25
+ transform: translateX(-5px);
26
+ }
27
+
28
+ 60% {
29
+ transform: translateX(4px);
30
+ }
31
+
32
+ 70% {
33
+ transform: translateX(-3px);
34
+ }
35
+
36
+ 80% {
37
+ transform: translateX(2px);
38
+ }
39
+
40
+ 90% {
41
+ transform: translateX(-1px);
42
+ }
43
+ }
44
+
45
+ // 竖向抖动动画
46
+ @keyframes shakeY {
47
+ 0%,
48
+ 100% {
49
+ transform: translateY(0);
50
+ }
51
+
52
+ 10% {
53
+ transform: translateY(-9px);
54
+ }
55
+
56
+ 20% {
57
+ transform: translateY(8px);
58
+ }
59
+
60
+ 30% {
61
+ transform: translateY(-7px);
62
+ }
63
+
64
+ 40% {
65
+ transform: translateY(6px);
66
+ }
67
+
68
+ 50% {
69
+ transform: translateY(-5px);
70
+ }
71
+
72
+ 60% {
73
+ transform: translateY(4px);
74
+ }
75
+
76
+ 70% {
77
+ transform: translateY(-3px);
78
+ }
79
+
80
+ 80% {
81
+ transform: translateY(2px);
82
+ }
83
+
84
+ 90% {
85
+ transform: translateY(-1px);
86
+ }
87
+ }
88
+
89
+ // 心跳
90
+ @keyframes ripple {
91
+ 0% {
92
+ // box-shadow: 0 0.5em 0.5em rgba(0, 0, 0, 0.4);
93
+
94
+ transform: scale(1);
95
+ }
96
+
97
+ 50% {
98
+ // box-shadow: 0 1em 1em rgba(0, 0, 0, 0.4);
99
+ transform: scale(1.1);
100
+ }
101
+ }
102
+
103
+ // 呼吸
104
+ @keyframes breath {
105
+ 0% {
106
+ transform: scale(1);
107
+ }
108
+
109
+ 50% {
110
+ transform: scale(1.1);
111
+ }
112
+
113
+ 100% {
114
+ transform: scale(1);
115
+ }
116
+ }
117
+
118
+ // 右侧向左侧划入
119
+ @keyframes slide-right {
120
+ 0% {
121
+ opacity: 0;
122
+ transform: translateX(100%);
123
+ }
124
+
125
+ 100% {
126
+ opacity: 1;
127
+ transform: translateX(0);
128
+ }
129
+ }
130
+
131
+ // 左侧向右侧划入
132
+ @keyframes slide-left {
133
+ 0% {
134
+ opacity: 0;
135
+ transform: translateX(-100%);
136
+ }
137
+
138
+ 100% {
139
+ opacity: 1;
140
+ transform: translateX(0);
141
+ }
142
+ }
143
+
144
+ // 上面向下面划入
145
+ @keyframes slide-top {
146
+ 0% {
147
+ opacity: 0;
148
+ transform: translateY(-100%);
149
+ }
150
+
151
+ 100% {
152
+ opacity: 1;
153
+ transform: translateY(0);
154
+ }
155
+ }
156
+
157
+ // 下面向上面划入
158
+ @keyframes slide-bottom {
159
+ 0% {
160
+ opacity: 0;
161
+ transform: translateY(100%);
162
+ }
163
+
164
+ 100% {
165
+ opacity: 1;
166
+ transform: translateY(0);
167
+ }
168
+ }
169
+
170
+ // 漂浮 float
171
+ @keyframes floatPop {
172
+ 0% {
173
+ top: 0;
174
+ }
175
+
176
+ 25% {
177
+ top: 1px;
178
+ }
179
+
180
+ 50% {
181
+ top: 4px;
182
+ }
183
+
184
+ 75% {
185
+ top: 1px;
186
+ }
187
+
188
+ 100% {
189
+ top: 0;
190
+ }
191
+ }
192
+
193
+ // 跳跃
194
+ @keyframes jump {
195
+ 0% {
196
+ transform: rotate(0deg) translateY(0);
197
+ animation-timing-function: ease-in;
198
+ }
199
+
200
+ 25% {
201
+ transform: rotate(10deg) translateY(20 * 1px);
202
+ animation-timing-function: ease-out;
203
+ }
204
+
205
+ 50% {
206
+ transform: rotate(0deg) translateY(-10 * 1px);
207
+ animation-timing-function: ease-in;
208
+ }
209
+
210
+ 75% {
211
+ transform: rotate(-10deg) translateY(20 * 1px);
212
+ animation-timing-function: ease-out;
213
+ }
214
+
215
+ 100% {
216
+ transform: rotate(0deg) translateY(0);
217
+ animation-timing-function: ease-in;
218
+ }
219
+ }
220
+
221
+ // 水波
222
+ @keyframes twinkle {
223
+ 0% {
224
+ transform: scale(0);
225
+ }
226
+
227
+ 20% {
228
+ opacity: 1;
229
+ }
230
+
231
+ 50%,
232
+ 100% {
233
+ opacity: 0;
234
+ transform: scale(1.4);
235
+ }
236
+ }
237
+
238
+ @keyframes flicker {
239
+ 0% {
240
+ transform: translateX(-100 * 1px) skewX(-20deg);
241
+ }
242
+
243
+ 40%,
244
+ 100% {
245
+ transform: translateX(150 * 1px) skewX(-20deg);
246
+ }
247
+ }
@@ -0,0 +1,65 @@
1
+ # AppUpdate App更新
2
+
3
+ 此组件用于APP更新功能
4
+
5
+ ---$
6
+
7
+ ### 基础用法
8
+
9
+ - 属性`clientId`用于设置APP的应用编码
10
+ - 属性`clientSecret`用于设置APP的应用密钥
11
+ - 函数`start`用于开始检查更新
12
+ - 回调事`cancel`取消更新
13
+ - 回调事`complete`取消,成功更新都会执行
14
+
15
+ ```html
16
+ <script>
17
+ export default {
18
+ name: 'AppUpdateDemo',
19
+ data() {
20
+ return {};
21
+ },
22
+ methods: {
23
+ // 监听检查更新结果
24
+ checkForUpdates() {
25
+ if (this.$refs.appUpdate) {
26
+ this.$refs.appUpdate.start((resVersion, version) => {
27
+ const { code, name } = resVersion;
28
+ console.log(`当前版本号:${version}`);
29
+ console.log(`服务器版本号:${code};服务器版本名称${name}`);
30
+ });
31
+ }
32
+ },
33
+ },
34
+ };
35
+ </script>
36
+ <template>
37
+ <ste-app-update ref="appUpdate" clientId="workbench_android" clientSecret="gkS6lEEncqAocYK2qsrvPQZykm3ISeMx"></ste-app-update>
38
+ <button @click="checkForUpdates">检查更新</button>
39
+ </template>
40
+ ```
41
+
42
+ ---$
43
+
44
+ ### API
45
+
46
+ #### Props
47
+ | 属性名 | 说明 | 类型 | 默认值 | 可选值 | 支持版本 |
48
+ | ----- | ----- | --- | ------- | ------ | -------- |
49
+ | `clientId` | 应用编码 | `string` | `` | - | - |
50
+ | `clientSecret` | 应用密钥 | `string` | `` | - | - |
51
+ | `apiUrl` | 更新API地址 | `string` | `https://zboa.whzb.com/inte-cloud-dev/blade-system/api/inte/client/ver/currentDetail` | - | - |
52
+ | `appType` | APP环境,版本号的最后一位为环境标识 | `string` | `` | - | - |
53
+ | `btnText` | 立即体验按钮文本 | `string` | `立即体验` | - | - |
54
+
55
+
56
+ #### Events
57
+ | 事件名 | 说明 | 事件参数 | 支持版本 |
58
+ | ----- | ----- | ------- | -------- |
59
+ | `cancel` | 取消更新 | - | - |
60
+ | `update` | 发现新版时本触发 | - | - |
61
+ | `no-update` | 没有新版时本触发 | - | - |
62
+
63
+
64
+ ---$
65
+ {{xuyajun}}
@@ -0,0 +1,5 @@
1
+ {
2
+ "group": "业务组件",
3
+ "title": "AppUpdate APP更新",
4
+ "icon": "https://image.whzb.com/chain/StellarUI/%E7%BB%84%E4%BB%B6%E5%9B%BE%E6%A0%87/button.png"
5
+ }
@@ -0,0 +1,48 @@
1
+ export function download(data, { success, error, onProgressUpdate, downloadSuccess }) {
2
+ const package_type = data.package_type;
3
+ const downloadTask = uni.downloadFile({
4
+ url: data.updateFile,
5
+ success: (res) => {
6
+ if (res.statusCode === 200) {
7
+ downloadSuccess && downloadSuccess(res.tempFilePath);
8
+ plus.runtime.install(
9
+ res.tempFilePath,
10
+ { force: true },
11
+ () => {
12
+ // wgt升级
13
+ if (package_type == 1) {
14
+ uni.showModal({
15
+ title: '提示',
16
+ content: '升级成功,请重新启动!',
17
+ confirmText: '确定',
18
+ showCancel: false,
19
+ success: () => {
20
+ success && success();
21
+ plus.runtime.restart();
22
+ },
23
+ });
24
+ } else {
25
+ // 整包升级
26
+ success && success();
27
+ }
28
+ },
29
+ (e) => {
30
+ //提示部分wgt包无法安装的问题
31
+ uni.showModal({
32
+ title: '提示',
33
+ content: e.message,
34
+ showCancel: false,
35
+ success: () => {
36
+ error && error(e);
37
+ },
38
+ });
39
+ }
40
+ );
41
+ }
42
+ },
43
+ });
44
+ // 下载进度
45
+ downloadTask.onProgressUpdate((res) => {
46
+ onProgressUpdate && onProgressUpdate(res);
47
+ });
48
+ }