Переглянути джерело

feat(notifications): 优化通知合并逻辑并增强RefreshView组件

- 修改通知合并方法,根据标题类型采用不同策略
- 新增每日待签提醒和待签过期提醒的特定合并逻辑
- 增强数字提取函数以支持前缀和后缀匹配
- 更新RefreshView组件,增加canLoadMore属性控制加载更多行为
- 调整下拉刷新触发条件,提高滑动距离阈值至200像素
- 在CHANGELOG中记录RefreshView组件新增功能
徐勤民 2 тижнів тому
батько
коміт
9e21c58b86
2 змінених файлів з 6 додано та 4 видалено
  1. 1 1
      CHANGELOG.md
  2. 5 3
      src/main/ets/view/refresh/RefreshView.ets

+ 1 - 1
CHANGELOG.md

@@ -1,7 +1,7 @@
 # [v1.0.12] 2025.xx.xx
 
 > - 添加一个图片组件`AutoImage`,高度固定,宽度只适应
->
+> - 'RefreshView'组件,添加一个`canLoadMore`字段,主动控制加载更多
 >
 
 # [v1.0.11] 2025.09.02

+ 5 - 3
src/main/ets/view/refresh/RefreshView.ets

@@ -11,8 +11,10 @@ export struct RefreshView {
   init: boolean = true
   // 第一次加载完成,是否定位到底部,默认`false`,定位到顶部
   positioningToBottom: boolean = false
-  // 自动计算是否加载更多,默认`default`。如果data的数据量可以被pageSize整除,则触发加载更多
-  // 'allow' 触发loadMore,  ’not' 不触发loadMore
+  /**
+   *是否加载更多,默认`default`。如果data的数据量可以被pageSize整除,则触发加载更多
+   * 'allow' 触发loadMore,  ’not' 不触发loadMore
+   */
   @Prop canLoadMore: 'default' | 'allow' | 'not' = 'default'
   pageSize: number = 10
   onLoadMore?: (pageNum: number) => void
@@ -149,7 +151,7 @@ export struct RefreshView {
               break
             case TouchType.Up:
               this.endY = e1.y
-              if (this.endY - this.startY < -100 && this._openMore) {
+              if (this.endY - this.startY < -200 && this._openMore) {
                 const v = this.data && (this.data.length % this.pageSize) === 0
                 if ((v && this.canLoadMore == 'default') || this.canLoadMore == 'allow') {
                   const cTime = new Date().getTime()