Showing
4 changed files
with
36 additions
and
2 deletions
| 1 | import { PeopleShipRecommendComponent } from './PeopleShipRecommendComponent'; | 1 | import { PeopleShipRecommendComponent } from './PeopleShipRecommendComponent'; |
| 2 | import { PeopleShipMainViewModel } from '../../viewmodel/PeopleShipMainViewModel'; | 2 | import { PeopleShipMainViewModel } from '../../viewmodel/PeopleShipMainViewModel'; |
| 3 | import { HttpUtils } from 'wdNetwork/Index'; | 3 | import { HttpUtils } from 'wdNetwork/Index'; |
| 4 | -import { Logger, DateTimeUtils, EmitterEventId, EmitterUtils, ToastUtils } from 'wdKit'; | 4 | +import { Logger, DateTimeUtils, EmitterEventId, EmitterUtils, ToastUtils, UserDataLocal, StringUtils } from 'wdKit'; |
| 5 | import { autoRefresh, onActionEnd, onActionStart, onActionUpdate,closeRefresh } from '../../utils/NewPullDownRefresh'; | 5 | import { autoRefresh, onActionEnd, onActionStart, onActionUpdate,closeRefresh } from '../../utils/NewPullDownRefresh'; |
| 6 | 6 | ||
| 7 | import { | 7 | import { |
| @@ -235,6 +235,12 @@ export struct PeopleShipMainComponent { | @@ -235,6 +235,12 @@ export struct PeopleShipMainComponent { | ||
| 235 | .scrollBar(BarState.Off) | 235 | .scrollBar(BarState.Off) |
| 236 | .width('100%') | 236 | .width('100%') |
| 237 | .height('100%') | 237 | .height('100%') |
| 238 | + .onScrollIndex((start: number, end: number) => { | ||
| 239 | + // Listen to the first index of the current list. | ||
| 240 | + this.pageModel.startIndex = start; | ||
| 241 | + // 包含了 头尾item,判断时需要考虑+3 | ||
| 242 | + this.pageModel.endIndex = end ; | ||
| 243 | + }) | ||
| 238 | } | 244 | } |
| 239 | 245 | ||
| 240 | @Builder | 246 | @Builder |
| @@ -558,6 +564,12 @@ export struct PeopleShipMainComponent { | @@ -558,6 +564,12 @@ export struct PeopleShipMainComponent { | ||
| 558 | if (this.navIndex === this.currentTopNavSelectedIndex && this.pageAttentionChange) { | 564 | if (this.navIndex === this.currentTopNavSelectedIndex && this.pageAttentionChange) { |
| 559 | this.getData() | 565 | this.getData() |
| 560 | } | 566 | } |
| 567 | + | ||
| 568 | + //退出登录的时候 刷新界面 | ||
| 569 | + let userID = UserDataLocal.getUserId() | ||
| 570 | + if (!StringUtils.isNotEmpty(userID)) { | ||
| 571 | + this.getData() | ||
| 572 | + } | ||
| 561 | } | 573 | } |
| 562 | 574 | ||
| 563 | onAutoRefresh(changedPropertyName: string) { | 575 | onAutoRefresh(changedPropertyName: string) { |
| @@ -181,6 +181,7 @@ export function autoRefresh(pageModel: PageModel,onRefresh: () => void = () => { | @@ -181,6 +181,7 @@ export function autoRefresh(pageModel: PageModel,onRefresh: () => void = () => { | ||
| 181 | return | 181 | return |
| 182 | } | 182 | } |
| 183 | pageModel.isVisiblePullDown = true; | 183 | pageModel.isVisiblePullDown = true; |
| 184 | + pageModel.isHandRefreshing = true; | ||
| 184 | pageModel.offsetY = vp2px(pageModel.pullDownRefreshHeight); | 185 | pageModel.offsetY = vp2px(pageModel.pullDownRefreshHeight); |
| 185 | pullRefreshState(pageModel, RefreshState.Refreshing); | 186 | pullRefreshState(pageModel, RefreshState.Refreshing); |
| 186 | pageModel.currentPage = 1; | 187 | pageModel.currentPage = 1; |
| @@ -242,8 +243,18 @@ export function pullRefreshState(pageModel: PageModel, state: number) { | @@ -242,8 +243,18 @@ export function pullRefreshState(pageModel: PageModel, state: number) { | ||
| 242 | export function closeRefresh(pageModel: PageModel, isRefreshSuccess: boolean) { | 243 | export function closeRefresh(pageModel: PageModel, isRefreshSuccess: boolean) { |
| 243 | let self = pageModel; | 244 | let self = pageModel; |
| 244 | // 取消超时关闭定时器 | 245 | // 取消超时关闭定时器 |
| 246 | + clearTimeout(self.refreshTimeoutTimerId) | ||
| 247 | + | ||
| 248 | + setTimeout(()=>{ | ||
| 249 | + closeRefreshLastStep(pageModel,isRefreshSuccess) | ||
| 250 | + }, self.isHandRefreshing ? 800 : 0) | ||
| 251 | +} | ||
| 252 | + | ||
| 253 | +function closeRefreshLastStep (pageModel: PageModel, isRefreshSuccess: boolean) { | ||
| 254 | + let self = pageModel; | ||
| 245 | pullRefreshState(pageModel,RefreshState.GOLOADED); | 255 | pullRefreshState(pageModel,RefreshState.GOLOADED); |
| 246 | 256 | ||
| 257 | + //定时器时间就是'已刷新至最新'停留时间 | ||
| 247 | setTimeout(() => { | 258 | setTimeout(() => { |
| 248 | let delay = Const.RefreshConstant_DELAY_PULL_DOWN_REFRESH; | 259 | let delay = Const.RefreshConstant_DELAY_PULL_DOWN_REFRESH; |
| 249 | if (self.isCanRefresh === true) { | 260 | if (self.isCanRefresh === true) { |
| @@ -257,6 +268,7 @@ export function closeRefresh(pageModel: PageModel, isRefreshSuccess: boolean) { | @@ -257,6 +268,7 @@ export function closeRefresh(pageModel: PageModel, isRefreshSuccess: boolean) { | ||
| 257 | pullRefreshState(pageModel, RefreshState.DropDown); | 268 | pullRefreshState(pageModel, RefreshState.DropDown); |
| 258 | self.isVisiblePullDown = false; | 269 | self.isVisiblePullDown = false; |
| 259 | self.isPullRefreshOperation = false; | 270 | self.isPullRefreshOperation = false; |
| 271 | + self.isHandRefreshing = false | ||
| 260 | } | 272 | } |
| 261 | }, () => { | 273 | }, () => { |
| 262 | self.offsetY = 0; | 274 | self.offsetY = 0; |
| @@ -185,6 +185,7 @@ export function autoRefresh(pageModel: PageModel, pageAdvModel: PageAdModel) { | @@ -185,6 +185,7 @@ export function autoRefresh(pageModel: PageModel, pageAdvModel: PageAdModel) { | ||
| 185 | return | 185 | return |
| 186 | } | 186 | } |
| 187 | pageModel.isVisiblePullDown = true; | 187 | pageModel.isVisiblePullDown = true; |
| 188 | + pageModel.isHandRefreshing = true | ||
| 188 | pageModel.offsetY = vp2px(pageModel.pullDownRefreshHeight); | 189 | pageModel.offsetY = vp2px(pageModel.pullDownRefreshHeight); |
| 189 | pullRefreshState(pageModel, RefreshState.Refreshing); | 190 | pullRefreshState(pageModel, RefreshState.Refreshing); |
| 190 | pageModel.currentPage = 1; | 191 | pageModel.currentPage = 1; |
| @@ -248,6 +249,14 @@ export function closeRefresh(pageModel: PageModel, isRefreshSuccess: boolean) { | @@ -248,6 +249,14 @@ export function closeRefresh(pageModel: PageModel, isRefreshSuccess: boolean) { | ||
| 248 | // 取消超时关闭定时器 | 249 | // 取消超时关闭定时器 |
| 249 | clearTimeout(self.refreshTimeoutTimerId) | 250 | clearTimeout(self.refreshTimeoutTimerId) |
| 250 | 251 | ||
| 252 | + setTimeout(()=>{ | ||
| 253 | + closeRefreshLastStep(pageModel,isRefreshSuccess) | ||
| 254 | + }, self.isHandRefreshing ? 800 : 0) | ||
| 255 | + | ||
| 256 | +} | ||
| 257 | + | ||
| 258 | +function closeRefreshLastStep (pageModel: PageModel, isRefreshSuccess: boolean) { | ||
| 259 | + let self = pageModel; | ||
| 251 | pullRefreshState(pageModel,RefreshState.GOLOADED); | 260 | pullRefreshState(pageModel,RefreshState.GOLOADED); |
| 252 | 261 | ||
| 253 | //定时器时间就是'已刷新至最新'停留时间 | 262 | //定时器时间就是'已刷新至最新'停留时间 |
| @@ -264,10 +273,10 @@ export function closeRefresh(pageModel: PageModel, isRefreshSuccess: boolean) { | @@ -264,10 +273,10 @@ export function closeRefresh(pageModel: PageModel, isRefreshSuccess: boolean) { | ||
| 264 | pullRefreshState(pageModel, RefreshState.DropDown); | 273 | pullRefreshState(pageModel, RefreshState.DropDown); |
| 265 | self.isVisiblePullDown = false; | 274 | self.isVisiblePullDown = false; |
| 266 | self.isPullRefreshOperation = false; | 275 | self.isPullRefreshOperation = false; |
| 276 | + self.isHandRefreshing = false | ||
| 267 | } | 277 | } |
| 268 | }, () => { | 278 | }, () => { |
| 269 | self.offsetY = 0; | 279 | self.offsetY = 0; |
| 270 | }) | 280 | }) |
| 271 | }, self.isCanRefresh ? Const.DELAY_ANIMATION_DURATION : 0); | 281 | }, self.isCanRefresh ? Const.DELAY_ANIMATION_DURATION : 0); |
| 272 | - | ||
| 273 | } | 282 | } |
| @@ -61,6 +61,7 @@ export default class PageModel { | @@ -61,6 +61,7 @@ export default class PageModel { | ||
| 61 | endIndex = 0; | 61 | endIndex = 0; |
| 62 | downY = 0; | 62 | downY = 0; |
| 63 | lastMoveY = 0; | 63 | lastMoveY = 0; |
| 64 | + isHandRefreshing:boolean = false //是否手动刷新 | ||
| 64 | isRefreshing: boolean = false; | 65 | isRefreshing: boolean = false; |
| 65 | isCanRefresh = false; | 66 | isCanRefresh = false; |
| 66 | isPullRefreshOperation = false; | 67 | isPullRefreshOperation = false; |
-
Please register or login to post a comment