wangliang_wd

feat:优化下拉刷新,优化广告背景透明度

@@ -137,6 +137,8 @@ export struct MorningEveningPaperComponent { @@ -137,6 +137,8 @@ export struct MorningEveningPaperComponent {
137 let pageInfoBean = await MorningEveningViewModel.getMorningEveningPageInfo("" + this.dailyPaperTopicPageId) //"25091" 137 let pageInfoBean = await MorningEveningViewModel.getMorningEveningPageInfo("" + this.dailyPaperTopicPageId) //"25091"
138 this.pageInfoBean = pageInfoBean; 138 this.pageInfoBean = pageInfoBean;
139 139
  140 + let compInfoBean = await MorningEveningViewModel.getMorningEveningCompInfo(pageInfoBean?.id, pageInfoBean?.groups[0]?.id, currentTime + "", pageInfoBean?.topicInfo?.topicId)
  141 +
140 // this.title = this.pageInfoBean?.topicInfo?.title 142 // this.title = this.pageInfoBean?.topicInfo?.title
141 this.setComponentTitle() 143 this.setComponentTitle()
142 this.topicInfo = this.pageInfoBean?.topicInfo 144 this.topicInfo = this.pageInfoBean?.topicInfo
@@ -155,7 +157,6 @@ export struct MorningEveningPaperComponent { @@ -155,7 +157,6 @@ export struct MorningEveningPaperComponent {
155 let coverUrl = this.isHasTopView?this.pageInfoBean?.topicInfo?.frontLinkObject?.coverUrl as string :'' 157 let coverUrl = this.isHasTopView?this.pageInfoBean?.topicInfo?.frontLinkObject?.coverUrl as string :''
156 this.setComponentBgColor(coverUrl) 158 this.setComponentBgColor(coverUrl)
157 159
158 - let compInfoBean = await MorningEveningViewModel.getMorningEveningCompInfo(pageInfoBean?.id, pageInfoBean?.groups[0]?.id, currentTime + "", pageInfoBean?.topicInfo?.topicId)  
159 // this.compInfoBean = compInfoBean 160 // this.compInfoBean = compInfoBean
160 console.log(TAG, "compInfoBean = " + JSON.stringify(compInfoBean)) 161 console.log(TAG, "compInfoBean = " + JSON.stringify(compInfoBean))
161 if (compInfoBean?.compList[0]) { 162 if (compInfoBean?.compList[0]) {
@@ -210,7 +210,7 @@ export struct CardMediaInfo { @@ -210,7 +210,7 @@ export struct CardMediaInfo {
210 .fontColor($r('app.color.white')) 210 .fontColor($r('app.color.white'))
211 .width(28) 211 .width(28)
212 .height(16) 212 .height(16)
213 - .backgroundColor('#4D000000') 213 + .backgroundColor('#80000000')
214 .borderRadius(3) 214 .borderRadius(3)
215 .textAlign(TextAlign.Center) 215 .textAlign(TextAlign.Center)
216 } 216 }
@@ -34,5 +34,9 @@ export const enum LoadStatus { @@ -34,5 +34,9 @@ export const enum LoadStatus {
34 /** 34 /**
35 * 触发刷新结束,展示‘已更新最新’ 35 * 触发刷新结束,展示‘已更新最新’
36 */ 36 */
  37 + GOLOADED,
  38 + /**
  39 + * 触发刷新结束
  40 + */
37 LOADED, 41 LOADED,
38 } 42 }
@@ -122,20 +122,15 @@ export default struct CustomLayout { @@ -122,20 +122,15 @@ export default struct CustomLayout {
122 if (!this.refreshBean.isVisible) { 122 if (!this.refreshBean.isVisible) {
123 return 123 return
124 } 124 }
  125 + let maxH = CustomLayout.REFRESH_HEIGHT
  126 + let tmpHeight = this.refreshBean.offset > maxH ? maxH : this.refreshBean.offset
125 if (this.refreshBean.loadStatus === LoadStatus.PRELOAD) { 127 if (this.refreshBean.loadStatus === LoadStatus.PRELOAD) {
126 // 下拉刷新 128 // 下拉刷新
127 this.animate1(this.refreshBean.offset) 129 this.animate1(this.refreshBean.offset)
128 } else if (this.refreshBean.loadStatus == LoadStatus.LOADING) { 130 } else if (this.refreshBean.loadStatus == LoadStatus.LOADING) {
129 // 正在刷新 131 // 正在刷新
130 this.animate2() 132 this.animate2()
131 - } else {  
132 - // 刷新完成  
133 - !!this.animateItem && lottie.destroy(this.animateName)  
134 - !!this.animateItem2 && lottie.destroy(this.animateName2)  
135 - }  
136 - let maxH = CustomLayout.REFRESH_HEIGHT  
137 - let tmpHeight = this.refreshBean.offset > maxH ? maxH : this.refreshBean.offset  
138 - if (this.refreshBean.loadStatus === LoadStatus.LOADED) { 133 + }else if (this.refreshBean.loadStatus == LoadStatus.GOLOADED) {
139 this.textVisible = true 134 this.textVisible = true
140 if (tmpHeight <= 0) { 135 if (tmpHeight <= 0) {
141 setTimeout(() => { 136 setTimeout(() => {
@@ -144,6 +139,14 @@ export default struct CustomLayout { @@ -144,6 +139,14 @@ export default struct CustomLayout {
144 this.setHeight0WithAnimation() 139 this.setHeight0WithAnimation()
145 }, 800) 140 }, 800)
146 } 141 }
  142 +
  143 + } else {
  144 + // 刷新完成
  145 + !!this.animateItem && lottie.destroy(this.animateName)
  146 + !!this.animateItem2 && lottie.destroy(this.animateName2)
  147 + }
  148 + if (this.refreshBean.loadStatus === LoadStatus.LOADED) {
  149 +
147 } else { 150 } else {
148 // 直接设置高度 151 // 直接设置高度
149 this.layoutHeight = tmpHeight 152 this.layoutHeight = tmpHeight
@@ -213,6 +213,13 @@ export function pullRefreshState(pageModel: PageModel, state: number) { @@ -213,6 +213,13 @@ export function pullRefreshState(pageModel: PageModel, state: number) {
213 pageModel.isRefreshing = true; 213 pageModel.isRefreshing = true;
214 pageModel.load = LoadStatus.LOADING 214 pageModel.load = LoadStatus.LOADING
215 break; 215 break;
  216 + case RefreshState.GOLOADED:
  217 + //已刷新至最新
  218 + pageModel.offsetY = vp2px(pageModel.pullDownRefreshHeight);
  219 + pageModel.isCanRefresh = true;
  220 + pageModel.isRefreshing = true;
  221 + pageModel.load = LoadStatus.GOLOADED
  222 + break;
216 case RefreshState.Success: 223 case RefreshState.Success:
217 pageModel.pullDownRefreshText = $r('app.string.refresh_success_text'); 224 pageModel.pullDownRefreshText = $r('app.string.refresh_success_text');
218 pageModel.pullDownRefreshImage = $r('app.media.ic_succeed_refresh'); 225 pageModel.pullDownRefreshImage = $r('app.media.ic_succeed_refresh');
@@ -235,7 +242,8 @@ export function pullRefreshState(pageModel: PageModel, state: number) { @@ -235,7 +242,8 @@ export function pullRefreshState(pageModel: PageModel, state: number) {
235 export function closeRefresh(pageModel: PageModel, isRefreshSuccess: boolean) { 242 export function closeRefresh(pageModel: PageModel, isRefreshSuccess: boolean) {
236 let self = pageModel; 243 let self = pageModel;
237 // 取消超时关闭定时器 244 // 取消超时关闭定时器
238 - clearTimeout(self.refreshTimeoutTimerId) 245 + pullRefreshState(pageModel,RefreshState.GOLOADED);
  246 +
239 setTimeout(() => { 247 setTimeout(() => {
240 let delay = Const.RefreshConstant_DELAY_PULL_DOWN_REFRESH; 248 let delay = Const.RefreshConstant_DELAY_PULL_DOWN_REFRESH;
241 if (self.isCanRefresh === true) { 249 if (self.isCanRefresh === true) {
@@ -217,6 +217,13 @@ export function pullRefreshState(pageModel: PageModel, state: number) { @@ -217,6 +217,13 @@ export function pullRefreshState(pageModel: PageModel, state: number) {
217 pageModel.isRefreshing = true; 217 pageModel.isRefreshing = true;
218 pageModel.load = LoadStatus.LOADING 218 pageModel.load = LoadStatus.LOADING
219 break; 219 break;
  220 + case RefreshState.GOLOADED:
  221 + //已刷新至最新
  222 + pageModel.offsetY = vp2px(pageModel.pullDownRefreshHeight);
  223 + pageModel.isCanRefresh = true;
  224 + pageModel.isRefreshing = true;
  225 + pageModel.load = LoadStatus.GOLOADED
  226 + break;
220 case RefreshState.Success: 227 case RefreshState.Success:
221 pageModel.pullDownRefreshText = $r('app.string.refresh_success_text'); 228 pageModel.pullDownRefreshText = $r('app.string.refresh_success_text');
222 pageModel.pullDownRefreshImage = $r('app.media.ic_succeed_refresh'); 229 pageModel.pullDownRefreshImage = $r('app.media.ic_succeed_refresh');
@@ -240,6 +247,9 @@ export function closeRefresh(pageModel: PageModel, isRefreshSuccess: boolean) { @@ -240,6 +247,9 @@ export function closeRefresh(pageModel: PageModel, isRefreshSuccess: boolean) {
240 let self = pageModel; 247 let self = pageModel;
241 // 取消超时关闭定时器 248 // 取消超时关闭定时器
242 clearTimeout(self.refreshTimeoutTimerId) 249 clearTimeout(self.refreshTimeoutTimerId)
  250 +
  251 + pullRefreshState(pageModel,RefreshState.GOLOADED);
  252 +
243 setTimeout(() => { 253 setTimeout(() => {
244 let delay = Const.RefreshConstant_DELAY_PULL_DOWN_REFRESH; 254 let delay = Const.RefreshConstant_DELAY_PULL_DOWN_REFRESH;
245 if (self.isCanRefresh === true) { 255 if (self.isCanRefresh === true) {
@@ -258,4 +268,5 @@ export function closeRefresh(pageModel: PageModel, isRefreshSuccess: boolean) { @@ -258,4 +268,5 @@ export function closeRefresh(pageModel: PageModel, isRefreshSuccess: boolean) {
258 self.offsetY = 0; 268 self.offsetY = 0;
259 }) 269 })
260 }, self.isCanRefresh ? Const.DELAY_ANIMATION_DURATION : 0); 270 }, self.isCanRefresh ? Const.DELAY_ANIMATION_DURATION : 0);
  271 +
261 } 272 }
@@ -66,5 +66,6 @@ export const enum RefreshState { @@ -66,5 +66,6 @@ export const enum RefreshState {
66 Release = 1, 66 Release = 1,
67 Refreshing = 2, 67 Refreshing = 2,
68 Success = 3, 68 Success = 3,
69 - Fail = 4 69 + Fail = 4,
  70 + GOLOADED = 5,
70 } 71 }