Skip to content

Commit 7e80e33

Browse files
damengbuxingjunbin-yang282764407@qq.comgroot.yang
authored
feature/2.1.2 (ibestservices#70)
* feature(2.1.2) * feature(2.1.2) * feature(2.1.2) * Feature/guide (ibestservices#66) * 新增引导组件 * update * 判断超出屏幕的组件区域坐标。 优化气泡弹窗的动画效果。 * 多组件区域合并 * update * 优化参数类型 --------- Co-authored-by: 282764407@qq.com <Yangjunbin@@0226> Co-authored-by: groot.yang <groot.yang@harmonyeasy.com> Co-authored-by: damengbuxing <42673795+damengbuxing@users.noreply.github.com> * Feature/guide (ibestservices#67) * 新增引导组件 * update * 判断超出屏幕的组件区域坐标。 优化气泡弹窗的动画效果。 * 多组件区域合并 * update * 优化参数类型 * 优化控制器和属性设置 --------- Co-authored-by: 282764407@qq.com <Yangjunbin@@0226> Co-authored-by: groot.yang <groot.yang@harmonyeasy.com> Co-authored-by: damengbuxing <42673795+damengbuxing@users.noreply.github.com> * 修复(Guide): 沉浸式兼容 (ibestservices#69) * 新增引导组件 * update * 判断超出屏幕的组件区域坐标。 优化气泡弹窗的动画效果。 * 多组件区域合并 * update * 优化参数类型 * 优化控制器和属性设置 * 兼容非沉浸式 * 非沉浸式时引导栏填充蒙板 * 补充非沉浸模式底部蒙板 --------- Co-authored-by: 282764407@qq.com <Yangjunbin@@0226> Co-authored-by: groot.yang <groot.yang@harmonyeasy.com> Co-authored-by: damengbuxing <42673795+damengbuxing@users.noreply.github.com> * feature(2.1.2) * feature(2.1.2) --------- Co-authored-by: damengbuxing <> Co-authored-by: junbin.yang <282764407@qq.com> Co-authored-by: 282764407@qq.com <Yangjunbin@@0226> Co-authored-by: groot.yang <groot.yang@harmonyeasy.com>
1 parent 13f1ea2 commit 7e80e33

48 files changed

Lines changed: 2203 additions & 359 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

README.md

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -87,15 +87,17 @@ OpenHarmony ohpm 环境配置等更多内容,请参考[如何安装 OpenHarmon
8787
| Uploader 文件上传 | 用于将本地的图片或文件上传至服务器,并在上传过程中展示预览图和上传状态。目前 Uploader 组件不包含将文件上传至服务器的接口逻辑,该步骤需要自行实现。 | <a href="https://ibestui.ibestservices.com/components/uploader/" target="_blank">文档</a> |
8888

8989
### 反馈组件
90-
| 组件 | 介绍 | |
91-
|:-----------------|:-----------------------------------------------------|--------------------------------------------------------------------------------------------|
92-
| ActionSheet 动作面板 | 底部弹起的模态面板,包含与当前情境相关的多个选项。 | <a href="https://ibestui.ibestservices.com/components/actionsheet/" target="_blank">文档</a> |
93-
| Dialog 弹出框 | 弹出模态框,常用于消息提示、消息确认,或在当前页面内完成特定的交互操作。支持组件调用和函数调用两种方式。 | <a href="https://ibestui.ibestservices.com/components/dialog/" target="_blank">文档</a> |
94-
| FloatBubble 浮动气泡 | 悬浮在页面边缘的可点击气泡。 | <a href="https://ibestui.ibestservices.com/components/floatbubble/" target="_blank">文档</a> |
95-
| Loading 加载 | 加载图标,用于表示加载中的过渡状态。 | <a href="https://ibestui.ibestservices.com/components/loading/" target="_blank">文档</a> |
96-
| Notify 消息提示 | 在页面顶部展示消息提示。 | <a href="https://ibestui.ibestservices.com/components/notify/" target="_blank">文档</a> |
97-
| PullRefresh 下拉刷新 | 轻量级, 用于提供下拉刷新的交互操作。 | <a href="https://ibestui.ibestservices.com/components/pullrefresh/" target="_blank">文档</a> |
98-
| SwipeCell 滑动单元格 | 可以左右滑动来展示操作按钮的单元格组件。 | <a href="https://ibestui.ibestservices.com/components/swipecell/" target="_blank">文档</a> |
90+
| 组件 | 介绍 | |
91+
|:------------------|:-----------------------------------------------------|---------------------------------------------------------------------------------------------|
92+
| ActionSheet 动作面板 | 底部弹起的模态面板,包含与当前情境相关的多个选项。 | <a href="https://ibestui.ibestservices.com/components/actionsheet/" target="_blank">文档</a> |
93+
| Dialog 弹出框 | 弹出模态框,常用于消息提示、消息确认,或在当前页面内完成特定的交互操作。支持组件调用和函数调用两种方式。 | <a href="https://ibestui.ibestservices.com/components/dialog/" target="_blank">文档</a> |
94+
| DropdownMenu 下拉菜单 | 向下弹出的菜单列表。 | <a href="https://ibestui.ibestservices.com/components/dropdownMenu/" target="_blank">文档</a> |
95+
| FloatBubble 浮动气泡 | 悬浮在页面边缘的可点击气泡。 | <a href="https://ibestui.ibestservices.com/components/floatbubble/" target="_blank">文档</a> |
96+
| Guide 引导 | 分步引导用户了解产品功能的气泡组件,用来引导用户并介绍产品。 | <a href="https://ibestui.ibestservices.com/components/guide/" target="_blank">文档</a> |
97+
| Loading 加载 | 加载图标,用于表示加载中的过渡状态。 | <a href="https://ibestui.ibestservices.com/components/loading/" target="_blank">文档</a> |
98+
| Notify 消息提示 | 在页面顶部展示消息提示。 | <a href="https://ibestui.ibestservices.com/components/notify/" target="_blank">文档</a> |
99+
| PullRefresh 下拉刷新 | 轻量级, 用于提供下拉刷新的交互操作。 | <a href="https://ibestui.ibestservices.com/components/pullrefresh/" target="_blank">文档</a> |
100+
| SwipeCell 滑动单元格 | 可以左右滑动来展示操作按钮的单元格组件。 | <a href="https://ibestui.ibestservices.com/components/swipecell/" target="_blank">文档</a> |
99101

100102
### 展示组件
101103
| 组件 | 介绍 | |

build-profile.json5

Lines changed: 24 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,57 +1,44 @@
11
{
22
"app": {
33
"signingConfigs": [
4-
// {
5-
// "name": "default",
6-
// "type": "HarmonyOS",
7-
// "material": {
8-
// "storePassword": "0000001DA1DDFADC7FCD4003DD09F84F49A1AC838DEECB3A787AB9D759D24CC841F0A92BA5ED6777CEBAE2EAE6",
9-
// "certpath": "/Users/damengbuxing/Desktop/IBest-UI应用文件/ibest_ui_release.cer",
10-
// "keyAlias": "ibest_ui_p12",
11-
// "keyPassword": "0000001D0AC1868A4F028144400BB55194A7B0887F04949FFF9B52AC83A798463AC8C0B8E4FDDC752A8F4A7BED",
12-
// "profile": "/Users/damengbuxing/Desktop/IBest-UI应用文件/ibest_ui_profileRelease.p7b",
13-
// "signAlg": "SHA256withECDSA",
14-
// "storeFile": "/Users/damengbuxing/Desktop/IBest-UI应用文件/ibest_ui_p12.p12"
15-
// }
16-
// },
4+
// {
5+
// "name": "default",
6+
// "type": "HarmonyOS",
7+
// "material": {
8+
// "storePassword": "0000001DA1DDFADC7FCD4003DD09F84F49A1AC838DEECB3A787AB9D759D24CC841F0A92BA5ED6777CEBAE2EAE6",
9+
// "certpath": "/Users/damengbuxing/Desktop/IBest-UI应用文件/ibest_ui_release.cer",
10+
// "keyAlias": "ibest_ui_p12",
11+
// "keyPassword": "0000001D0AC1868A4F028144400BB55194A7B0887F04949FFF9B52AC83A798463AC8C0B8E4FDDC752A8F4A7BED",
12+
// "profile": "/Users/damengbuxing/Desktop/IBest-UI应用文件/ibest_ui_profileRelease.p7b",
13+
// "signAlg": "SHA256withECDSA",
14+
// "storeFile": "/Users/damengbuxing/Desktop/IBest-UI应用文件/ibest_ui_p12.p12"
15+
// }
16+
// },
1717
{
1818
"name": "default",
1919
"type": "HarmonyOS",
2020
"material": {
21-
"certpath": "/Users/damengbuxing/.ohos/config/default_ibest-ui_qzHZnpS8B3WNkigHkqN8qbontGrJYWI-hS_1sfoGHYM=.cer",
22-
"storePassword": "0000001BBC0BC4FA393E00A811C5A2EB1307DB9811C0B8A35C7D16B4ECA08884E8AFB971687B3E256B37CC",
21+
"certpath": "C:\\Users\\Administrator\\.ohos\\config\\default_ibest-ui_xXJLqStmQDl9P_6bRKkoHbj-HILGKBG46C6yaRfgFhQ=.cer",
2322
"keyAlias": "debugKey",
24-
"keyPassword": "0000001B09EFB63CAE99ECC53194AE4DED8CF1666BED5177FB6F83142B124B4897A86AF0230301FF0D4A1B",
25-
"profile": "/Users/damengbuxing/.ohos/config/default_ibest-ui_qzHZnpS8B3WNkigHkqN8qbontGrJYWI-hS_1sfoGHYM=.p7b",
23+
"keyPassword": "0000001B5AEF4C7604B9034FF0265111E6919C3B1BB9CE9513381588E542A6F4F2512BA6387EAB99E805B4",
24+
"profile": "C:\\Users\\Administrator\\.ohos\\config\\default_ibest-ui_xXJLqStmQDl9P_6bRKkoHbj-HILGKBG46C6yaRfgFhQ=.p7b",
2625
"signAlg": "SHA256withECDSA",
27-
"storeFile": "/Users/damengbuxing/.ohos/config/default_ibest-ui_qzHZnpS8B3WNkigHkqN8qbontGrJYWI-hS_1sfoGHYM=.p12"
26+
"storeFile": "C:\\Users\\Administrator\\.ohos\\config\\default_ibest-ui_xXJLqStmQDl9P_6bRKkoHbj-HILGKBG46C6yaRfgFhQ=.p12",
27+
"storePassword": "0000001BB96A19F44A5AE323929A73BCA1445BBE7C409DFBAFD91F81544C70357DF24E1527006B88470E9B"
2828
}
29-
},
30-
// {
31-
// "name": "default",
32-
// "type": "HarmonyOS",
33-
// "material": {
34-
// "certpath": "C:\\Users\\Administrator\\.ohos\\config\\default_ibest-ui_xXJLqStmQDl9P_6bRKkoHbj-HILGKBG46C6yaRfgFhQ=.cer",
35-
// "keyAlias": "debugKey",
36-
// "keyPassword": "0000001B5AEF4C7604B9034FF0265111E6919C3B1BB9CE9513381588E542A6F4F2512BA6387EAB99E805B4",
37-
// "profile": "C:\\Users\\Administrator\\.ohos\\config\\default_ibest-ui_xXJLqStmQDl9P_6bRKkoHbj-HILGKBG46C6yaRfgFhQ=.p7b",
38-
// "signAlg": "SHA256withECDSA",
39-
// "storeFile": "C:\\Users\\Administrator\\.ohos\\config\\default_ibest-ui_xXJLqStmQDl9P_6bRKkoHbj-HILGKBG46C6yaRfgFhQ=.p12",
40-
// "storePassword": "0000001BB96A19F44A5AE323929A73BCA1445BBE7C409DFBAFD91F81544C70357DF24E1527006B88470E9B"
41-
// }
42-
// }
29+
}
4330
],
4431
"products": [
4532
{
4633
"name": "default",
4734
"signingConfig": "default",
4835
"compatibleSdkVersion": "5.0.0(12)",
4936
"runtimeOS": "HarmonyOS",
50-
// "buildOption": {
51-
// "strictMode": {
52-
// "useNormalizedOHMUrl": true
53-
// }
54-
// }
37+
// "buildOption": {
38+
// "strictMode": {
39+
// "useNormalizedOHMUrl": true
40+
// }
41+
// }
5542
}
5643
],
5744
"buildModeSet": [

entry/src/main/ets/pages/Index.ets

Lines changed: 59 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -171,10 +171,18 @@ struct Index {
171171
name: $r("app.string.component_dialog"),
172172
path: "Dialog"
173173
},
174+
{
175+
name: $r("app.string.component_dropdownMenu"),
176+
path: "DropdownMenu"
177+
},
174178
{
175179
name: $r("app.string.component_float_bubble"),
176180
path: "FloatBubble"
177181
},
182+
{
183+
name: $r("app.string.component_guide"),
184+
path: "Guide"
185+
},
178186
{
179187
name: $r("app.string.component_loading"),
180188
path: "Loading"
@@ -368,24 +376,26 @@ struct Index {
368376
.width(CONTAINER_SIZE.FULL)
369377
.alignItems(HorizontalAlign.Start)
370378
.padding({ left: 10, top: GlobalStore.topAvoidHeight })
379+
.transition(TransitionEffect.OPACITY.animation({ duration: 2000, curve: Curve.Ease }))
371380
}
372381
@Builder tabContentBuilder(index: number) {
373382
if (index == 0) {
374383
List({ scroller: this.scrollerForList1 }) {
375384
ListItem() {
376385
this.listTop(index)
377386
}
378-
ForEach(this.baseComponentList, (part: ComponentPart) => {
387+
ForEach(this.baseComponentList, (part: ComponentPart, index: number) => {
379388
ListItem() {
380389
ComponentShowContainer({
381390
title: `${getResourceStr(part.title)}(${part.list.length})`,
382391
titlePaddingLeft: SPACE.XS
383392
}) {
384-
ForEach(part.list, (item: ComponentItem) => {
385-
this.componentItem(item)
393+
ForEach(part.list, (item: ComponentItem, i: number) => {
394+
this.componentItem(item, i)
386395
})
387396
}
388397
}
398+
.transition(TransitionEffect.move(TransitionEdge.BOTTOM).animation({ duration: 1000, curve: Curve.Ease, delay: 500*index }))
389399
})
390400
}
391401
.listStyle()
@@ -397,9 +407,9 @@ struct Index {
397407
ListItem() {
398408
this.listTop(index)
399409
}
400-
ForEach(this.extendComponentList, (item: ComponentItem) => {
410+
ForEach(this.extendComponentList, (item: ComponentItem, i) => {
401411
ListItem() {
402-
this.componentItem(item)
412+
this.componentItem(item, i)
403413
}
404414
})
405415
}
@@ -412,48 +422,54 @@ struct Index {
412422
Scroll(){
413423
Column({ space: SPACE.MD }) {
414424
Image($r("app.media.app_icon")).width(100).borderRadius(BORDER_RADIUS.BASE)
425+
.transition(TransitionEffect.move(TransitionEdge.BOTTOM).animation({ duration: 1000, curve: Curve.Ease }))
415426
Text($r("app.string.app_name"))
416427
.fontSize(32)
417428
.fontColor(modeColor.textColor2)
429+
.transition(TransitionEffect.move(TransitionEdge.BOTTOM).animation({ duration: 1000, curve: Curve.Ease, delay: 100 }))
418430
Text($r("app.string.ibest_ui_desc"))
419431
.width("80%")
420432
.textAlign(TextAlign.Center)
421433
.fontSize(FONT_SIZE.MD)
422434
.fontColor(modeColor.textColor4)
423-
IBestCellGroup({inset: true}){
424-
IBestCell({
425-
title: $r("app.string.app_version"),
426-
value: `v${getAppVersion()}`
427-
})
428-
IBestCell({
429-
title: $r("app.string.ui_version"),
430-
value: this.uiVersion ? `v${this.uiVersion}` : ""
431-
})
432-
IBestCell({
433-
title: $r("app.string.ui_doc"),
434-
isLink: true,
435-
onCellClick: () => {
436-
this.viewUrl("doc")
437-
}
438-
})
439-
IBestCell({
440-
title: $r("app.string.company_official_website"),
441-
isLink: true,
442-
onCellClick: () => {
443-
this.viewUrl("company")
444-
}
445-
})
446-
IBestCell({
447-
title: $r("app.string.privacy_policy"),
448-
isLink: true,
449-
hasBorder: false,
450-
onCellClick: () => {
451-
router.pushUrl({
452-
url: "pages/PrivacyPolicy"
453-
})
454-
}
455-
})
435+
.transition(TransitionEffect.move(TransitionEdge.BOTTOM).animation({ duration: 1000, curve: Curve.Ease, delay: 200 }))
436+
Column(){
437+
IBestCellGroup({inset: true}){
438+
IBestCell({
439+
title: $r("app.string.app_version"),
440+
value: `v${getAppVersion()}`
441+
})
442+
IBestCell({
443+
title: $r("app.string.ui_version"),
444+
value: this.uiVersion ? `v${this.uiVersion}` : ""
445+
})
446+
IBestCell({
447+
title: $r("app.string.ui_doc"),
448+
isLink: true,
449+
onCellClick: () => {
450+
this.viewUrl("doc")
451+
}
452+
})
453+
IBestCell({
454+
title: $r("app.string.company_official_website"),
455+
isLink: true,
456+
onCellClick: () => {
457+
this.viewUrl("company")
458+
}
459+
})
460+
IBestCell({
461+
title: $r("app.string.privacy_policy"),
462+
isLink: true,
463+
hasBorder: false,
464+
onCellClick: () => {
465+
router.pushUrl({
466+
url: "pages/PrivacyPolicy"
467+
})
468+
}
469+
})
470+
}
456471
}
472+
.transition(TransitionEffect.move(TransitionEdge.BOTTOM).animation({ duration: 1000, curve: Curve.Ease, delay: 300 }))
457473
}.padding({top: 80})
458474
}
459475
.layoutWeight(1)
@@ -467,7 +483,7 @@ struct Index {
467483
.height(CONTAINER_SIZE.FULL)
468484
}
469485
}
470-
@Builder componentItem(item: ComponentItem) {
486+
@Builder componentItem(item: ComponentItem, index: number) {
471487
Row() {
472488
Text(item.name)
473489
.fontSize(FONT_SIZE.MD)
@@ -489,27 +505,10 @@ struct Index {
489505
.height(CONTAINER_SIZE.FORTY)
490506
.borderRadius(99)
491507
.padding({ left: SPACE.LG })
492-
.margin({
493-
top: SPACE.SM
494-
})
508+
.margin({ top: SPACE.SM })
495509
.backgroundColor(modeColor.bg3)
496-
.stateStyles({
497-
normal: {
498-
.scale({
499-
x: 1,
500-
y: 1
501-
})
502-
},
503-
pressed: {
504-
.scale({
505-
x: .98,
506-
y: .98
507-
})
508-
}
509-
})
510-
.animation({
511-
duration: 200
512-
})
510+
.clickEffect({level:ClickEffectLevel.LIGHT, scale: 0.9})
511+
.transition(TransitionEffect.move(TransitionEdge.BOTTOM).animation({ duration: 800, curve: Curve.Ease, delay: 100*index }))
513512
.onClick(() => {
514513
RouterUtil.push(item.path, item.name)
515514
})
@@ -520,7 +519,7 @@ struct Index {
520519
this.checkUpdate()
521520
this.getUiVersion()
522521
setTimeout(() => {
523-
// RouterUtil.push("CarInput", "车牌输入框")
522+
// RouterUtil.push("DropdownMenu")
524523
}, 100)
525524
}
526525
getTitleOpacity(){

0 commit comments

Comments
 (0)