Merge branch 'main' of http://192.168.1.42/developOne/harmonyPool
Showing
108 changed files
with
4866 additions
and
889 deletions
| 1 | 1 | ||
| 2 | import { FollowFirstTabsComponent } from 'wdComponent' | 2 | import { FollowFirstTabsComponent } from 'wdComponent' |
| 3 | +import router from '@ohos.router'; | ||
| 4 | +import { Params } from 'wdComponent/src/main/ets/repository/bean/Params'; | ||
| 3 | 5 | ||
| 4 | @Entry | 6 | @Entry |
| 5 | @Component | 7 | @Component |
| 6 | struct FollowListPage { | 8 | struct FollowListPage { |
| 7 | 9 | ||
| 10 | + @State params:Params = router.getParams() as Params; | ||
| 11 | + @State curIndex: string = '0'; | ||
| 12 | + | ||
| 13 | + onPageShow() { | ||
| 14 | + this.curIndex = "1"; | ||
| 15 | + } | ||
| 16 | + | ||
| 8 | build() { | 17 | build() { |
| 9 | Column() { | 18 | Column() { |
| 10 | //Tab 详情 | 19 | //Tab 详情 |
| 11 | - FollowFirstTabsComponent() | 20 | + FollowFirstTabsComponent({changeIndex:Number(this.curIndex)}) |
| 12 | } | 21 | } |
| 13 | .backgroundColor($r('app.color.color_F9F9F9')) | 22 | .backgroundColor($r('app.color.color_F9F9F9')) |
| 14 | .height('100%') | 23 | .height('100%') |
| @@ -4,11 +4,12 @@ | @@ -4,11 +4,12 @@ | ||
| 4 | "pages/MainPage", | 4 | "pages/MainPage", |
| 5 | "pages/ColumnPage", | 5 | "pages/ColumnPage", |
| 6 | "pages/TestPage", | 6 | "pages/TestPage", |
| 7 | - "components/page/SettingPage", | ||
| 8 | - "components/page/PrivacySettingPage", | ||
| 9 | - "components/page/SettingAboutPage", | 7 | + "pages/SettingPage", |
| 8 | + "pages/PrivacySettingPage", | ||
| 9 | + "pages/SettingAboutPage", | ||
| 10 | "pages/AppointmentListPage", | 10 | "pages/AppointmentListPage", |
| 11 | - "components/page/SettingPasswordPage", | ||
| 12 | - "pages/FollowListPage" | 11 | + "pages/SettingPasswordPage", |
| 12 | + "pages/FollowListPage", | ||
| 13 | + "pages/MyHomePage" | ||
| 13 | ] | 14 | ] |
| 14 | -} | 15 | +} |
| 1 | { | 1 | { |
| 2 | "code": "0", | 2 | "code": "0", |
| 3 | "data": { | 3 | "data": { |
| 4 | - "list": [{ | ||
| 5 | - "attentionNum": 0, | ||
| 6 | - "authIcon": "", | ||
| 7 | - "authId": 0, | ||
| 8 | - "authPersonal": "", | ||
| 9 | - "authTitle": "", | ||
| 10 | - "categoryAuth": "", | ||
| 11 | - "city": "110100", | ||
| 12 | - "cnAttentionNum": 0, | ||
| 13 | - "cnCollectNum": 0, | ||
| 14 | - "cnCommentNum": 0, | ||
| 15 | - "cnFansNum": 4, | ||
| 16 | - "cnIsAttention": 1, | ||
| 17 | - "cnIsComment": 1, | ||
| 18 | - "cnIsLike": 1, | ||
| 19 | - "cnLikeNum": 0, | ||
| 20 | - "cnLiveCommentControl": 1, | ||
| 21 | - "cnLiveGiftControl": 1, | ||
| 22 | - "cnLiveLikeControl": 1, | ||
| 23 | - "cnLiveShareControl": 1, | ||
| 24 | - "cnMainControl": 1, | ||
| 25 | - "cnRegistTime": 1695280071000, | ||
| 26 | - "cnShareControl": 1, | ||
| 27 | - "cnShareNum": 0, | ||
| 28 | - "cnUserId": "444937588589253", | ||
| 29 | - "cnUserName": "QACrawler2115", | ||
| 30 | - "cnUserType": "2", | ||
| 31 | - "collectNum": 0, | ||
| 32 | - "creatorId": "3004862", | ||
| 33 | - "district": "110101", | ||
| 34 | - "fansNum": 0, | ||
| 35 | - "headPhotoUrl": "https://sitcontentjdcdn.aikan.pdnews.cn/vod/content/202309/202309Th211436299/GLN.png?x-oss-process=image/resize,l_400/auto-orient,1/quality,q_90/format,jpg", | ||
| 36 | - "honoraryIcon": "", | ||
| 37 | - "honoraryTitle": "", | ||
| 38 | - "introduction": "知识博主", | ||
| 39 | - "isAttention": 1, | ||
| 40 | - "isComment": 1, | ||
| 41 | - "isLike": 1, | ||
| 42 | - "isVisiable": 1, | ||
| 43 | - "likeNum": 0, | ||
| 44 | - "liveCommentControl": 1, | ||
| 45 | - "liveGiftControl": 1, | ||
| 46 | - "liveLikeControl": 1, | ||
| 47 | - "liveShareControl": 1, | ||
| 48 | - "posterShareControl": 1, | ||
| 49 | - "province": "110000", | ||
| 50 | - "publishNum": 0, | ||
| 51 | - "region": "", | ||
| 52 | - "shareControl": 1, | ||
| 53 | - "shareNum": 0, | ||
| 54 | - "shopOpen": 0, | ||
| 55 | - "storeUrl": "", | ||
| 56 | - "subjectType": 0, | ||
| 57 | - "userId": "", | ||
| 58 | - "userName": "QACrawler2115", | ||
| 59 | - "userType": "2", | ||
| 60 | - "waresSwitch": 1 | ||
| 61 | - }, { | ||
| 62 | - "attentionNum": 0, | ||
| 63 | - "authIcon": "", | ||
| 64 | - "authId": 0, | ||
| 65 | - "authPersonal": "", | ||
| 66 | - "authTitle": "", | ||
| 67 | - "categoryAuth": "", | ||
| 68 | - "city": "230100", | ||
| 69 | - "cnAttentionNum": 0, | ||
| 70 | - "cnCollectNum": 0, | ||
| 71 | - "cnCommentNum": 0, | ||
| 72 | - "cnFansNum": 4, | ||
| 73 | - "cnIsAttention": 1, | ||
| 74 | - "cnIsComment": 1, | ||
| 75 | - "cnIsLike": 1, | ||
| 76 | - "cnLikeNum": 0, | ||
| 77 | - "cnLiveCommentControl": 1, | ||
| 78 | - "cnLiveGiftControl": 1, | ||
| 79 | - "cnLiveLikeControl": 1, | ||
| 80 | - "cnLiveShareControl": 1, | ||
| 81 | - "cnMainControl": 1, | ||
| 82 | - "cnRegistTime": 1695276994000, | ||
| 83 | - "cnShareControl": 1, | ||
| 84 | - "cnShareNum": 0, | ||
| 85 | - "cnUserId": "444911718724933", | ||
| 86 | - "cnUserName": "一休哥", | ||
| 87 | - "cnUserType": "2", | ||
| 88 | - "collectNum": 0, | ||
| 89 | - "creatorId": "3004861", | ||
| 90 | - "district": "230102", | ||
| 91 | - "fansNum": 0, | ||
| 92 | - "headPhotoUrl": "https://sitcontentjdcdn.aikan.pdnews.cn/vod/content/202309/202309Th141630857/Ptx.png?x-oss-process=image/resize,l_400/auto-orient,1/quality,q_90/format,jpg", | ||
| 93 | - "honoraryIcon": "", | ||
| 94 | - "honoraryTitle": "", | ||
| 95 | - "introduction": "中文端号主", | ||
| 96 | - "isAttention": 1, | ||
| 97 | - "isComment": 1, | ||
| 98 | - "isLike": 1, | ||
| 99 | - "isVisiable": 1, | ||
| 100 | - "likeNum": 0, | ||
| 101 | - "liveCommentControl": 1, | ||
| 102 | - "liveGiftControl": 1, | ||
| 103 | - "liveLikeControl": 1, | ||
| 104 | - "liveShareControl": 1, | ||
| 105 | - "posterShareControl": 1, | ||
| 106 | - "province": "230000", | ||
| 107 | - "publishNum": 0, | ||
| 108 | - "region": "安徽", | ||
| 109 | - "shareControl": 1, | ||
| 110 | - "shareNum": 0, | ||
| 111 | - "shopOpen": 0, | ||
| 112 | - "storeUrl": "", | ||
| 113 | - "subjectType": 2, | ||
| 114 | - "userId": "", | ||
| 115 | - "userName": "一休哥", | ||
| 116 | - "userType": "2", | ||
| 117 | - "waresSwitch": 1 | ||
| 118 | - }, { | ||
| 119 | - "attentionNum": 0, | ||
| 120 | - "authIcon": "", | ||
| 121 | - "authId": 0, | ||
| 122 | - "authPersonal": "", | ||
| 123 | - "authTitle": "", | ||
| 124 | - "categoryAuth": "", | ||
| 125 | - "city": "110100", | ||
| 126 | - "cnAttentionNum": 0, | ||
| 127 | - "cnCollectNum": 0, | ||
| 128 | - "cnCommentNum": 12, | ||
| 129 | - "cnFansNum": 8, | ||
| 130 | - "cnIsAttention": 1, | ||
| 131 | - "cnIsComment": 1, | ||
| 132 | - "cnIsLike": 1, | ||
| 133 | - "cnLikeNum": 2, | ||
| 134 | - "cnLiveCommentControl": 1, | ||
| 135 | - "cnLiveGiftControl": 1, | ||
| 136 | - "cnLiveLikeControl": 1, | ||
| 137 | - "cnLiveShareControl": 1, | ||
| 138 | - "cnMainControl": 1, | ||
| 139 | - "cnRegistTime": 1695275999000, | ||
| 140 | - "cnShareControl": 1, | ||
| 141 | - "cnShareNum": 1, | ||
| 142 | - "cnUserId": "444903323309381", | ||
| 143 | - "cnUserName": "0921媒体", | ||
| 144 | - "cnUserType": "3", | ||
| 145 | - "collectNum": 0, | ||
| 146 | - "creatorId": "3004860", | ||
| 147 | - "district": "110101", | ||
| 148 | - "fansNum": 0, | ||
| 149 | - "headPhotoUrl": "https://sitcontentjdcdn.aikan.pdnews.cn/vod/content/202309/202309Th135954709/qdL.png?x-oss-process=image/resize,l_400/auto-orient,1/quality,q_90/format,jpg", | ||
| 150 | - "honoraryIcon": "", | ||
| 151 | - "honoraryTitle": "", | ||
| 152 | - "introduction": "0921媒体", | ||
| 153 | - "isAttention": 1, | ||
| 154 | - "isComment": 1, | ||
| 155 | - "isLike": 1, | ||
| 156 | - "isVisiable": 1, | ||
| 157 | - "likeNum": 0, | ||
| 158 | - "liveCommentControl": 1, | ||
| 159 | - "liveGiftControl": 1, | ||
| 160 | - "liveLikeControl": 1, | ||
| 161 | - "liveShareControl": 1, | ||
| 162 | - "posterShareControl": 0, | ||
| 163 | - "province": "110000", | ||
| 164 | - "publishNum": 0, | ||
| 165 | - "region": "上海", | ||
| 166 | - "shareControl": 1, | ||
| 167 | - "shareNum": 0, | ||
| 168 | - "shopOpen": 0, | ||
| 169 | - "storeUrl": "", | ||
| 170 | - "subjectType": 1, | ||
| 171 | - "userId": "", | ||
| 172 | - "userName": "0921媒体", | ||
| 173 | - "userType": "3", | ||
| 174 | - "waresSwitch": 1 | ||
| 175 | - }, { | ||
| 176 | - "attentionNum": 0, | ||
| 177 | - "authIcon": "https://sitcontentjdcdn.aikan.pdnews.cn/creator-category/icon/auth/blue.png", | ||
| 178 | - "authId": 1, | ||
| 179 | - "authPersonal": "", | ||
| 180 | - "authTitle": "黄袍加身V", | ||
| 181 | - "categoryAuth": "黄袍加身V", | ||
| 182 | - "city": "340100", | ||
| 183 | - "cnAttentionNum": 9, | ||
| 184 | - "cnCollectNum": 0, | ||
| 185 | - "cnCommentNum": 3, | ||
| 186 | - "cnFansNum": 9, | ||
| 187 | - "cnIsAttention": 1, | ||
| 188 | - "cnIsComment": 1, | ||
| 189 | - "cnIsLike": 1, | ||
| 190 | - "cnLikeNum": 7, | ||
| 191 | - "cnLiveCommentControl": 1, | ||
| 192 | - "cnLiveGiftControl": 1, | ||
| 193 | - "cnLiveLikeControl": 1, | ||
| 194 | - "cnLiveShareControl": 1, | ||
| 195 | - "cnMainControl": 1, | ||
| 196 | - "cnRegistTime": 1695260417000, | ||
| 197 | - "cnShareControl": 1, | ||
| 198 | - "cnShareNum": 0, | ||
| 199 | - "cnUserId": "444776025830725", | ||
| 200 | - "cnUserName": "李智恩3", | ||
| 201 | - "cnUserType": "2", | ||
| 202 | - "collectNum": 0, | ||
| 203 | - "creatorId": "3004855", | ||
| 204 | - "district": "340102", | ||
| 205 | - "fansNum": 0, | ||
| 206 | - "headPhotoUrl": "https://sitcontentjdcdn.aikan.pdnews.cn/vod/content/202309/202309Th094010643/N5o.png?x-oss-process=image/resize,l_400/auto-orient,1/quality,q_90/format,jpg", | ||
| 207 | - "honoraryIcon": "", | ||
| 208 | - "honoraryTitle": "", | ||
| 209 | - "introduction": "IU", | ||
| 210 | - "isAttention": 1, | ||
| 211 | - "isComment": 1, | ||
| 212 | - "isLike": 1, | ||
| 213 | - "isVisiable": 1, | ||
| 214 | - "likeNum": 0, | ||
| 215 | - "liveCommentControl": 1, | ||
| 216 | - "liveGiftControl": 1, | ||
| 217 | - "liveLikeControl": 1, | ||
| 218 | - "liveShareControl": 1, | ||
| 219 | - "posterShareControl": 0, | ||
| 220 | - "province": "340000", | ||
| 221 | - "publishNum": 0, | ||
| 222 | - "region": "安徽", | ||
| 223 | - "shareControl": 1, | ||
| 224 | - "shareNum": 0, | ||
| 225 | - "shopOpen": 1, | ||
| 226 | - "storeUrl": "", | ||
| 227 | - "subjectType": 1, | ||
| 228 | - "userId": "", | ||
| 229 | - "userName": "李智恩3", | ||
| 230 | - "userType": "2", | ||
| 231 | - "waresSwitch": 0 | ||
| 232 | - }, { | ||
| 233 | - "attentionNum": 0, | ||
| 234 | - "authIcon": "https://sitcontentjdcdn.aikan.pdnews.cn/creator-category/icon/auth/yellow.png", | ||
| 235 | - "authId": 2, | ||
| 236 | - "authPersonal": "", | ||
| 237 | - "authTitle": "黄VV", | ||
| 238 | - "categoryAuth": "黄VV", | ||
| 239 | - "city": "120100", | ||
| 240 | - "cnAttentionNum": 1, | ||
| 241 | - "cnCollectNum": 1, | ||
| 242 | - "cnCommentNum": 7, | ||
| 243 | - "cnFansNum": 13, | ||
| 244 | - "cnIsAttention": 1, | ||
| 245 | - "cnIsComment": 1, | ||
| 246 | - "cnIsLike": 1, | ||
| 247 | - "cnLikeNum": 0, | ||
| 248 | - "cnLiveCommentControl": 1, | ||
| 249 | - "cnLiveGiftControl": 1, | ||
| 250 | - "cnLiveLikeControl": 1, | ||
| 251 | - "cnLiveShareControl": 1, | ||
| 252 | - "cnMainControl": 1, | ||
| 253 | - "cnRegistTime": 1695202406000, | ||
| 254 | - "cnShareControl": 1, | ||
| 255 | - "cnShareNum": 0, | ||
| 256 | - "cnUserId": "444300764043333", | ||
| 257 | - "cnUserName": "创作者账号7777", | ||
| 258 | - "cnUserType": "2", | ||
| 259 | - "collectNum": 0, | ||
| 260 | - "creatorId": "3004853", | ||
| 261 | - "district": "120101", | ||
| 262 | - "fansNum": 0, | ||
| 263 | - "headPhotoUrl": "https://sitcontentjdcdn.aikan.pdnews.cn/image/creator/2023092715/4727ab5db7604dbbac9ffb94ed03614e.png?x-oss-process=image/resize,l_400/auto-orient,1/quality,q_90/format,jpg", | ||
| 264 | - "honoraryIcon": "", | ||
| 265 | - "honoraryTitle": "", | ||
| 266 | - "introduction": "协作平台是进行团队开发、协作的系统,一般是基于互联网,也有用专业网的情况。协作平台的主要功能是:分工合作、进度控制、版本控制等功能。协作平台是进行团队开发、协作的系统,一般是基于互联网,也有用专业网的情况。协作平台的主要功能是:分工合作、进度控制、版本控制等功能。协作平台是进行团队开发、协作的系统,一般是基于互联网,也有用专业网的情况。协作平台的主要功能是:分工合作、进度控制、版本控制等功能。协作", | ||
| 267 | - "isAttention": 1, | ||
| 268 | - "isComment": 1, | ||
| 269 | - "isLike": 1, | ||
| 270 | - "isVisiable": 1, | ||
| 271 | - "likeNum": 0, | ||
| 272 | - "liveCommentControl": 1, | ||
| 273 | - "liveGiftControl": 1, | ||
| 274 | - "liveLikeControl": 1, | ||
| 275 | - "liveShareControl": 1, | ||
| 276 | - "posterShareControl": 0, | ||
| 277 | - "province": "120000", | ||
| 278 | - "publishNum": 0, | ||
| 279 | - "region": "安徽", | ||
| 280 | - "shareControl": 1, | ||
| 281 | - "shareNum": 0, | ||
| 282 | - "shopOpen": 1, | ||
| 283 | - "storeUrl": "", | ||
| 284 | - "subjectType": 0, | ||
| 285 | - "userId": "", | ||
| 286 | - "userName": "创作者账号7777", | ||
| 287 | - "userType": "2", | ||
| 288 | - "waresSwitch": 0 | ||
| 289 | - }, { | ||
| 290 | - "attentionNum": 0, | ||
| 291 | - "authIcon": "", | ||
| 292 | - "authId": 0, | ||
| 293 | - "authPersonal": "", | ||
| 294 | - "authTitle": "", | ||
| 295 | - "categoryAuth": "", | ||
| 296 | - "city": "110100", | ||
| 297 | - "cnAttentionNum": 0, | ||
| 298 | - "cnCollectNum": 0, | ||
| 299 | - "cnCommentNum": 0, | ||
| 300 | - "cnFansNum": 9, | ||
| 301 | - "cnIsAttention": 1, | ||
| 302 | - "cnIsComment": 1, | ||
| 303 | - "cnIsLike": 1, | ||
| 304 | - "cnLikeNum": 6, | ||
| 305 | - "cnLiveCommentControl": 1, | ||
| 306 | - "cnLiveGiftControl": 1, | ||
| 307 | - "cnLiveLikeControl": 1, | ||
| 308 | - "cnLiveShareControl": 1, | ||
| 309 | - "cnMainControl": 1, | ||
| 310 | - "cnRegistTime": 1695201858000, | ||
| 311 | - "cnShareControl": 1, | ||
| 312 | - "cnShareNum": 0, | ||
| 313 | - "cnUserId": "444296355502149", | ||
| 314 | - "cnUserName": "0920个人", | ||
| 315 | - "cnUserType": "2", | ||
| 316 | - "collectNum": 0, | ||
| 317 | - "creatorId": "3004851", | ||
| 318 | - "district": "110101", | ||
| 319 | - "fansNum": 0, | ||
| 320 | - "headPhotoUrl": "https://sitcontentjdcdn.aikan.pdnews.cn/vod/content/202309/202309We172415100/h2j.png?x-oss-process=image/resize,l_400/auto-orient,1/quality,q_90/format,jpg", | ||
| 321 | - "honoraryIcon": "https://cdn.aikan.pdnews.cn/image/picture/202312/20231223173451966FdV.png", | ||
| 322 | - "honoraryTitle": "快乐星球", | ||
| 323 | - "introduction": "账号简介", | ||
| 324 | - "isAttention": 1, | ||
| 325 | - "isComment": 1, | ||
| 326 | - "isLike": 1, | ||
| 327 | - "isVisiable": 1, | ||
| 328 | - "likeNum": 0, | ||
| 329 | - "liveCommentControl": 1, | ||
| 330 | - "liveGiftControl": 1, | ||
| 331 | - "liveLikeControl": 1, | ||
| 332 | - "liveShareControl": 1, | ||
| 333 | - "posterShareControl": 1, | ||
| 334 | - "province": "110000", | ||
| 335 | - "publishNum": 0, | ||
| 336 | - "region": "上海", | ||
| 337 | - "shareControl": 1, | ||
| 338 | - "shareNum": 0, | ||
| 339 | - "shopOpen": 0, | ||
| 340 | - "storeUrl": "", | ||
| 341 | - "subjectType": 0, | ||
| 342 | - "userId": "", | ||
| 343 | - "userName": "0920个人", | ||
| 344 | - "userType": "2", | ||
| 345 | - "waresSwitch": 1 | ||
| 346 | - }, { | ||
| 347 | - "attentionNum": 0, | ||
| 348 | - "authIcon": "", | ||
| 349 | - "authId": 0, | ||
| 350 | - "authPersonal": "", | ||
| 351 | - "authTitle": "", | ||
| 352 | - "categoryAuth": "", | ||
| 353 | - "city": "120100", | ||
| 354 | - "cnAttentionNum": 0, | ||
| 355 | - "cnCollectNum": 0, | ||
| 356 | - "cnCommentNum": 0, | ||
| 357 | - "cnFansNum": 10, | ||
| 358 | - "cnIsAttention": 1, | ||
| 359 | - "cnIsComment": 1, | ||
| 360 | - "cnIsLike": 1, | ||
| 361 | - "cnLikeNum": 0, | ||
| 362 | - "cnLiveCommentControl": 1, | ||
| 363 | - "cnLiveGiftControl": 1, | ||
| 364 | - "cnLiveLikeControl": 1, | ||
| 365 | - "cnLiveShareControl": 1, | ||
| 366 | - "cnMainControl": 1, | ||
| 367 | - "cnRegistTime": 1695190066000, | ||
| 368 | - "cnShareControl": 1, | ||
| 369 | - "cnShareNum": 0, | ||
| 370 | - "cnUserId": "444200272593477", | ||
| 371 | - "cnUserName": "zhuaqu005", | ||
| 372 | - "cnUserType": "2", | ||
| 373 | - "collectNum": 0, | ||
| 374 | - "creatorId": "3004849", | ||
| 375 | - "district": "120101", | ||
| 376 | - "fansNum": 0, | ||
| 377 | - "headPhotoUrl": "https://sitcontentjdcdn.aikan.pdnews.cn/vod/content/202309/202309We140931534/CIX.png?x-oss-process=image/resize,l_400/auto-orient,1/quality,q_90/format,jpg", | ||
| 378 | - "honoraryIcon": "", | ||
| 379 | - "honoraryTitle": "", | ||
| 380 | - "introduction": "aaa", | ||
| 381 | - "isAttention": 1, | ||
| 382 | - "isComment": 1, | ||
| 383 | - "isLike": 1, | ||
| 384 | - "isVisiable": 1, | ||
| 385 | - "likeNum": 0, | ||
| 386 | - "liveCommentControl": 1, | ||
| 387 | - "liveGiftControl": 1, | ||
| 388 | - "liveLikeControl": 1, | ||
| 389 | - "liveShareControl": 1, | ||
| 390 | - "posterShareControl": 1, | ||
| 391 | - "province": "120000", | ||
| 392 | - "publishNum": 0, | ||
| 393 | - "region": "上海", | ||
| 394 | - "shareControl": 1, | ||
| 395 | - "shareNum": 0, | ||
| 396 | - "shopOpen": 0, | ||
| 397 | - "storeUrl": "", | ||
| 398 | - "subjectType": 0, | ||
| 399 | - "userId": "", | ||
| 400 | - "userName": "zhuaqu005", | ||
| 401 | - "userType": "2", | ||
| 402 | - "waresSwitch": 1 | ||
| 403 | - }], | 4 | + "list": [ |
| 5 | + { | ||
| 6 | + "attentionNum": 0, | ||
| 7 | + "authIcon": "", | ||
| 8 | + "authId": 0, | ||
| 9 | + "authPersonal": "", | ||
| 10 | + "authTitle": "", | ||
| 11 | + "categoryAuth": "", | ||
| 12 | + "city": "110100", | ||
| 13 | + "cnAttentionNum": 0, | ||
| 14 | + "cnCollectNum": 0, | ||
| 15 | + "cnCommentNum": 0, | ||
| 16 | + "cnFansNum": 4, | ||
| 17 | + "cnIsAttention": 1, | ||
| 18 | + "cnIsComment": 1, | ||
| 19 | + "cnIsLike": 1, | ||
| 20 | + "cnLikeNum": 0, | ||
| 21 | + "cnLiveCommentControl": 1, | ||
| 22 | + "cnLiveGiftControl": 1, | ||
| 23 | + "cnLiveLikeControl": 1, | ||
| 24 | + "cnLiveShareControl": 1, | ||
| 25 | + "cnMainControl": 1, | ||
| 26 | + "cnRegistTime": 1695280071000, | ||
| 27 | + "cnShareControl": 1, | ||
| 28 | + "cnShareNum": 0, | ||
| 29 | + "cnUserId": "444937588589253", | ||
| 30 | + "cnUserName": "QACrawler2115", | ||
| 31 | + "cnUserType": "2", | ||
| 32 | + "collectNum": 0, | ||
| 33 | + "creatorId": "3004862", | ||
| 34 | + "district": "110101", | ||
| 35 | + "fansNum": 0, | ||
| 36 | + "headPhotoUrl": "https://sitcontentjdcdn.aikan.pdnews.cn/vod/content/202309/202309Th211436299/GLN.png?x-oss-process=image/resize,l_400/auto-orient,1/quality,q_90/format,jpg", | ||
| 37 | + "honoraryIcon": "", | ||
| 38 | + "honoraryTitle": "", | ||
| 39 | + "introduction": "知识博主", | ||
| 40 | + "isAttention": 1, | ||
| 41 | + "isComment": 1, | ||
| 42 | + "isLike": 1, | ||
| 43 | + "isVisiable": 1, | ||
| 44 | + "likeNum": 0, | ||
| 45 | + "liveCommentControl": 1, | ||
| 46 | + "liveGiftControl": 1, | ||
| 47 | + "liveLikeControl": 1, | ||
| 48 | + "liveShareControl": 1, | ||
| 49 | + "posterShareControl": 1, | ||
| 50 | + "province": "110000", | ||
| 51 | + "publishNum": 0, | ||
| 52 | + "region": "", | ||
| 53 | + "shareControl": 1, | ||
| 54 | + "shareNum": 0, | ||
| 55 | + "shopOpen": 0, | ||
| 56 | + "storeUrl": "", | ||
| 57 | + "subjectType": 0, | ||
| 58 | + "userId": "", | ||
| 59 | + "userName": "QACrawler2115", | ||
| 60 | + "userType": "2", | ||
| 61 | + "waresSwitch": 1 | ||
| 62 | + }, | ||
| 63 | + { | ||
| 64 | + "attentionNum": 0, | ||
| 65 | + "authIcon": "", | ||
| 66 | + "authId": 0, | ||
| 67 | + "authPersonal": "", | ||
| 68 | + "authTitle": "", | ||
| 69 | + "categoryAuth": "", | ||
| 70 | + "city": "230100", | ||
| 71 | + "cnAttentionNum": 0, | ||
| 72 | + "cnCollectNum": 0, | ||
| 73 | + "cnCommentNum": 0, | ||
| 74 | + "cnFansNum": 4, | ||
| 75 | + "cnIsAttention": 1, | ||
| 76 | + "cnIsComment": 1, | ||
| 77 | + "cnIsLike": 1, | ||
| 78 | + "cnLikeNum": 0, | ||
| 79 | + "cnLiveCommentControl": 1, | ||
| 80 | + "cnLiveGiftControl": 1, | ||
| 81 | + "cnLiveLikeControl": 1, | ||
| 82 | + "cnLiveShareControl": 1, | ||
| 83 | + "cnMainControl": 1, | ||
| 84 | + "cnRegistTime": 1695276994000, | ||
| 85 | + "cnShareControl": 1, | ||
| 86 | + "cnShareNum": 0, | ||
| 87 | + "cnUserId": "444911718724933", | ||
| 88 | + "cnUserName": "一休哥", | ||
| 89 | + "cnUserType": "2", | ||
| 90 | + "collectNum": 0, | ||
| 91 | + "creatorId": "3004861", | ||
| 92 | + "district": "230102", | ||
| 93 | + "fansNum": 0, | ||
| 94 | + "headPhotoUrl": "https://sitcontentjdcdn.aikan.pdnews.cn/vod/content/202309/202309Th141630857/Ptx.png?x-oss-process=image/resize,l_400/auto-orient,1/quality,q_90/format,jpg", | ||
| 95 | + "honoraryIcon": "", | ||
| 96 | + "honoraryTitle": "", | ||
| 97 | + "introduction": "中文端号主", | ||
| 98 | + "isAttention": 1, | ||
| 99 | + "isComment": 1, | ||
| 100 | + "isLike": 1, | ||
| 101 | + "isVisiable": 1, | ||
| 102 | + "likeNum": 0, | ||
| 103 | + "liveCommentControl": 1, | ||
| 104 | + "liveGiftControl": 1, | ||
| 105 | + "liveLikeControl": 1, | ||
| 106 | + "liveShareControl": 1, | ||
| 107 | + "posterShareControl": 1, | ||
| 108 | + "province": "230000", | ||
| 109 | + "publishNum": 0, | ||
| 110 | + "region": "安徽", | ||
| 111 | + "shareControl": 1, | ||
| 112 | + "shareNum": 0, | ||
| 113 | + "shopOpen": 0, | ||
| 114 | + "storeUrl": "", | ||
| 115 | + "subjectType": 2, | ||
| 116 | + "userId": "", | ||
| 117 | + "userName": "一休哥", | ||
| 118 | + "userType": "2", | ||
| 119 | + "waresSwitch": 1 | ||
| 120 | + }, | ||
| 121 | + { | ||
| 122 | + "attentionNum": 0, | ||
| 123 | + "authIcon": "", | ||
| 124 | + "authId": 0, | ||
| 125 | + "authPersonal": "", | ||
| 126 | + "authTitle": "", | ||
| 127 | + "categoryAuth": "", | ||
| 128 | + "city": "110100", | ||
| 129 | + "cnAttentionNum": 0, | ||
| 130 | + "cnCollectNum": 0, | ||
| 131 | + "cnCommentNum": 12, | ||
| 132 | + "cnFansNum": 8, | ||
| 133 | + "cnIsAttention": 1, | ||
| 134 | + "cnIsComment": 1, | ||
| 135 | + "cnIsLike": 1, | ||
| 136 | + "cnLikeNum": 2, | ||
| 137 | + "cnLiveCommentControl": 1, | ||
| 138 | + "cnLiveGiftControl": 1, | ||
| 139 | + "cnLiveLikeControl": 1, | ||
| 140 | + "cnLiveShareControl": 1, | ||
| 141 | + "cnMainControl": 1, | ||
| 142 | + "cnRegistTime": 1695275999000, | ||
| 143 | + "cnShareControl": 1, | ||
| 144 | + "cnShareNum": 1, | ||
| 145 | + "cnUserId": "444903323309381", | ||
| 146 | + "cnUserName": "0921媒体", | ||
| 147 | + "cnUserType": "3", | ||
| 148 | + "collectNum": 0, | ||
| 149 | + "creatorId": "3004860", | ||
| 150 | + "district": "110101", | ||
| 151 | + "fansNum": 0, | ||
| 152 | + "headPhotoUrl": "https://sitcontentjdcdn.aikan.pdnews.cn/vod/content/202309/202309Th135954709/qdL.png?x-oss-process=image/resize,l_400/auto-orient,1/quality,q_90/format,jpg", | ||
| 153 | + "honoraryIcon": "", | ||
| 154 | + "honoraryTitle": "", | ||
| 155 | + "introduction": "0921媒体", | ||
| 156 | + "isAttention": 1, | ||
| 157 | + "isComment": 1, | ||
| 158 | + "isLike": 1, | ||
| 159 | + "isVisiable": 1, | ||
| 160 | + "likeNum": 0, | ||
| 161 | + "liveCommentControl": 1, | ||
| 162 | + "liveGiftControl": 1, | ||
| 163 | + "liveLikeControl": 1, | ||
| 164 | + "liveShareControl": 1, | ||
| 165 | + "posterShareControl": 0, | ||
| 166 | + "province": "110000", | ||
| 167 | + "publishNum": 0, | ||
| 168 | + "region": "上海", | ||
| 169 | + "shareControl": 1, | ||
| 170 | + "shareNum": 0, | ||
| 171 | + "shopOpen": 0, | ||
| 172 | + "storeUrl": "", | ||
| 173 | + "subjectType": 1, | ||
| 174 | + "userId": "", | ||
| 175 | + "userName": "0921媒体", | ||
| 176 | + "userType": "3", | ||
| 177 | + "waresSwitch": 1 | ||
| 178 | + }, | ||
| 179 | + { | ||
| 180 | + "attentionNum": 0, | ||
| 181 | + "authIcon": "", | ||
| 182 | + "authId": 0, | ||
| 183 | + "authPersonal": "", | ||
| 184 | + "authTitle": "", | ||
| 185 | + "categoryAuth": "", | ||
| 186 | + "city": "110100", | ||
| 187 | + "cnAttentionNum": 0, | ||
| 188 | + "cnCollectNum": 0, | ||
| 189 | + "cnCommentNum": 0, | ||
| 190 | + "cnFansNum": 9, | ||
| 191 | + "cnIsAttention": 1, | ||
| 192 | + "cnIsComment": 1, | ||
| 193 | + "cnIsLike": 1, | ||
| 194 | + "cnLikeNum": 6, | ||
| 195 | + "cnLiveCommentControl": 1, | ||
| 196 | + "cnLiveGiftControl": 1, | ||
| 197 | + "cnLiveLikeControl": 1, | ||
| 198 | + "cnLiveShareControl": 1, | ||
| 199 | + "cnMainControl": 1, | ||
| 200 | + "cnRegistTime": 1695201858000, | ||
| 201 | + "cnShareControl": 1, | ||
| 202 | + "cnShareNum": 0, | ||
| 203 | + "cnUserId": "444296355502149", | ||
| 204 | + "cnUserName": "0920个人", | ||
| 205 | + "cnUserType": "2", | ||
| 206 | + "collectNum": 0, | ||
| 207 | + "creatorId": "3004851", | ||
| 208 | + "district": "110101", | ||
| 209 | + "fansNum": 0, | ||
| 210 | + "headPhotoUrl": "https://sitcontentjdcdn.aikan.pdnews.cn/vod/content/202309/202309We172415100/h2j.png?x-oss-process=image/resize,l_400/auto-orient,1/quality,q_90/format,jpg", | ||
| 211 | + "honoraryIcon": "https://cdn.aikan.pdnews.cn/image/picture/202312/20231223173451966FdV.png", | ||
| 212 | + "honoraryTitle": "快乐星球", | ||
| 213 | + "introduction": "账号简介", | ||
| 214 | + "isAttention": 1, | ||
| 215 | + "isComment": 1, | ||
| 216 | + "isLike": 1, | ||
| 217 | + "isVisiable": 1, | ||
| 218 | + "likeNum": 0, | ||
| 219 | + "liveCommentControl": 1, | ||
| 220 | + "liveGiftControl": 1, | ||
| 221 | + "liveLikeControl": 1, | ||
| 222 | + "liveShareControl": 1, | ||
| 223 | + "posterShareControl": 1, | ||
| 224 | + "province": "110000", | ||
| 225 | + "publishNum": 0, | ||
| 226 | + "region": "上海", | ||
| 227 | + "shareControl": 1, | ||
| 228 | + "shareNum": 0, | ||
| 229 | + "shopOpen": 0, | ||
| 230 | + "storeUrl": "", | ||
| 231 | + "subjectType": 0, | ||
| 232 | + "userId": "", | ||
| 233 | + "userName": "0920个人", | ||
| 234 | + "userType": "2", | ||
| 235 | + "waresSwitch": 1 | ||
| 236 | + }, | ||
| 237 | + { | ||
| 238 | + "attentionNum": 0, | ||
| 239 | + "authIcon": "", | ||
| 240 | + "authId": 0, | ||
| 241 | + "authPersonal": "", | ||
| 242 | + "authTitle": "", | ||
| 243 | + "categoryAuth": "", | ||
| 244 | + "city": "120100", | ||
| 245 | + "cnAttentionNum": 0, | ||
| 246 | + "cnCollectNum": 0, | ||
| 247 | + "cnCommentNum": 0, | ||
| 248 | + "cnFansNum": 10, | ||
| 249 | + "cnIsAttention": 1, | ||
| 250 | + "cnIsComment": 1, | ||
| 251 | + "cnIsLike": 1, | ||
| 252 | + "cnLikeNum": 0, | ||
| 253 | + "cnLiveCommentControl": 1, | ||
| 254 | + "cnLiveGiftControl": 1, | ||
| 255 | + "cnLiveLikeControl": 1, | ||
| 256 | + "cnLiveShareControl": 1, | ||
| 257 | + "cnMainControl": 1, | ||
| 258 | + "cnRegistTime": 1695190066000, | ||
| 259 | + "cnShareControl": 1, | ||
| 260 | + "cnShareNum": 0, | ||
| 261 | + "cnUserId": "444200272593477", | ||
| 262 | + "cnUserName": "zhuaqu005", | ||
| 263 | + "cnUserType": "2", | ||
| 264 | + "collectNum": 0, | ||
| 265 | + "creatorId": "3004849", | ||
| 266 | + "district": "120101", | ||
| 267 | + "fansNum": 0, | ||
| 268 | + "headPhotoUrl": "https://sitcontentjdcdn.aikan.pdnews.cn/vod/content/202309/202309We140931534/CIX.png?x-oss-process=image/resize,l_400/auto-orient,1/quality,q_90/format,jpg", | ||
| 269 | + "honoraryIcon": "", | ||
| 270 | + "honoraryTitle": "", | ||
| 271 | + "introduction": "aaa", | ||
| 272 | + "isAttention": 1, | ||
| 273 | + "isComment": 1, | ||
| 274 | + "isLike": 1, | ||
| 275 | + "isVisiable": 1, | ||
| 276 | + "likeNum": 0, | ||
| 277 | + "liveCommentControl": 1, | ||
| 278 | + "liveGiftControl": 1, | ||
| 279 | + "liveLikeControl": 1, | ||
| 280 | + "liveShareControl": 1, | ||
| 281 | + "posterShareControl": 1, | ||
| 282 | + "province": "120000", | ||
| 283 | + "publishNum": 0, | ||
| 284 | + "region": "上海", | ||
| 285 | + "shareControl": 1, | ||
| 286 | + "shareNum": 0, | ||
| 287 | + "shopOpen": 0, | ||
| 288 | + "storeUrl": "", | ||
| 289 | + "subjectType": 0, | ||
| 290 | + "userId": "", | ||
| 291 | + "userName": "zhuaqu005", | ||
| 292 | + "userType": "2", | ||
| 293 | + "waresSwitch": 1 | ||
| 294 | + }, | ||
| 295 | + { | ||
| 296 | + "attentionNum": 0, | ||
| 297 | + "authIcon": "https://sitcontentjdcdn.aikan.pdnews.cn/creator-category/icon/auth/yellow.png", | ||
| 298 | + "authId": 2, | ||
| 299 | + "authPersonal": "", | ||
| 300 | + "authTitle": "黄VV", | ||
| 301 | + "categoryAuth": "黄VV", | ||
| 302 | + "city": "120100", | ||
| 303 | + "cnAttentionNum": 1, | ||
| 304 | + "cnCollectNum": 1, | ||
| 305 | + "cnCommentNum": 7, | ||
| 306 | + "cnFansNum": 13, | ||
| 307 | + "cnIsAttention": 1, | ||
| 308 | + "cnIsComment": 1, | ||
| 309 | + "cnIsLike": 1, | ||
| 310 | + "cnLikeNum": 0, | ||
| 311 | + "cnLiveCommentControl": 1, | ||
| 312 | + "cnLiveGiftControl": 1, | ||
| 313 | + "cnLiveLikeControl": 1, | ||
| 314 | + "cnLiveShareControl": 1, | ||
| 315 | + "cnMainControl": 1, | ||
| 316 | + "cnRegistTime": 1695202406000, | ||
| 317 | + "cnShareControl": 1, | ||
| 318 | + "cnShareNum": 0, | ||
| 319 | + "cnUserId": "444300764043333", | ||
| 320 | + "cnUserName": "创作者账号7777", | ||
| 321 | + "cnUserType": "2", | ||
| 322 | + "collectNum": 0, | ||
| 323 | + "creatorId": "3004853", | ||
| 324 | + "district": "120101", | ||
| 325 | + "fansNum": 0, | ||
| 326 | + "headPhotoUrl": "https://sitcontentjdcdn.aikan.pdnews.cn/image/creator/2023092715/4727ab5db7604dbbac9ffb94ed03614e.png?x-oss-process=image/resize,l_400/auto-orient,1/quality,q_90/format,jpg", | ||
| 327 | + "honoraryIcon": "", | ||
| 328 | + "honoraryTitle": "", | ||
| 329 | + "introduction": "协作平台是进行团队开发、协作的系统,一般是基于互联网,也有用专业网的情况。协作平台的主要功能是:分工合作、进度控制、版本控制等功能。协作平台是进行团队开发、协作的系统,一般是基于互联网,也有用专业网的情况。协作平台的主要功能是:分工合作、进度控制、版本控制等功能。协作平台是进行团队开发、协作的系统,一般是基于互联网,也有用专业网的情况。协作平台的主要功能是:分工合作、进度控制、版本控制等功能。协作", | ||
| 330 | + "isAttention": 1, | ||
| 331 | + "isComment": 1, | ||
| 332 | + "isLike": 1, | ||
| 333 | + "isVisiable": 1, | ||
| 334 | + "likeNum": 0, | ||
| 335 | + "liveCommentControl": 1, | ||
| 336 | + "liveGiftControl": 1, | ||
| 337 | + "liveLikeControl": 1, | ||
| 338 | + "liveShareControl": 1, | ||
| 339 | + "posterShareControl": 0, | ||
| 340 | + "province": "120000", | ||
| 341 | + "publishNum": 0, | ||
| 342 | + "region": "安徽", | ||
| 343 | + "shareControl": 1, | ||
| 344 | + "shareNum": 0, | ||
| 345 | + "shopOpen": 1, | ||
| 346 | + "storeUrl": "", | ||
| 347 | + "subjectType": 0, | ||
| 348 | + "userId": "", | ||
| 349 | + "userName": "创作者账号7777", | ||
| 350 | + "userType": "2", | ||
| 351 | + "waresSwitch": 0 | ||
| 352 | + }, | ||
| 353 | + { | ||
| 354 | + "attentionNum": 0, | ||
| 355 | + "authIcon": "https://sitcontentjdcdn.aikan.pdnews.cn/creator-category/icon/auth/blue.png", | ||
| 356 | + "authId": 1, | ||
| 357 | + "authPersonal": "", | ||
| 358 | + "authTitle": "黄袍加身V", | ||
| 359 | + "categoryAuth": "黄袍加身V", | ||
| 360 | + "city": "340100", | ||
| 361 | + "cnAttentionNum": 9, | ||
| 362 | + "cnCollectNum": 0, | ||
| 363 | + "cnCommentNum": 3, | ||
| 364 | + "cnFansNum": 9, | ||
| 365 | + "cnIsAttention": 1, | ||
| 366 | + "cnIsComment": 1, | ||
| 367 | + "cnIsLike": 1, | ||
| 368 | + "cnLikeNum": 7, | ||
| 369 | + "cnLiveCommentControl": 1, | ||
| 370 | + "cnLiveGiftControl": 1, | ||
| 371 | + "cnLiveLikeControl": 1, | ||
| 372 | + "cnLiveShareControl": 1, | ||
| 373 | + "cnMainControl": 1, | ||
| 374 | + "cnRegistTime": 1695260417000, | ||
| 375 | + "cnShareControl": 1, | ||
| 376 | + "cnShareNum": 0, | ||
| 377 | + "cnUserId": "444776025830725", | ||
| 378 | + "cnUserName": "李智恩3", | ||
| 379 | + "cnUserType": "2", | ||
| 380 | + "collectNum": 0, | ||
| 381 | + "creatorId": "3004855", | ||
| 382 | + "district": "340102", | ||
| 383 | + "fansNum": 0, | ||
| 384 | + "headPhotoUrl": "https://sitcontentjdcdn.aikan.pdnews.cn/vod/content/202309/202309Th094010643/N5o.png?x-oss-process=image/resize,l_400/auto-orient,1/quality,q_90/format,jpg", | ||
| 385 | + "honoraryIcon": "", | ||
| 386 | + "honoraryTitle": "", | ||
| 387 | + "introduction": "IU", | ||
| 388 | + "isAttention": 1, | ||
| 389 | + "isComment": 1, | ||
| 390 | + "isLike": 1, | ||
| 391 | + "isVisiable": 1, | ||
| 392 | + "likeNum": 0, | ||
| 393 | + "liveCommentControl": 1, | ||
| 394 | + "liveGiftControl": 1, | ||
| 395 | + "liveLikeControl": 1, | ||
| 396 | + "liveShareControl": 1, | ||
| 397 | + "posterShareControl": 0, | ||
| 398 | + "province": "340000", | ||
| 399 | + "publishNum": 0, | ||
| 400 | + "region": "安徽", | ||
| 401 | + "shareControl": 1, | ||
| 402 | + "shareNum": 0, | ||
| 403 | + "shopOpen": 1, | ||
| 404 | + "storeUrl": "", | ||
| 405 | + "subjectType": 1, | ||
| 406 | + "userId": "", | ||
| 407 | + "userName": "李智恩3", | ||
| 408 | + "userType": "2", | ||
| 409 | + "waresSwitch": 0 | ||
| 410 | + } | ||
| 411 | + ], | ||
| 404 | "pageNum": 1, | 412 | "pageNum": 1, |
| 405 | "pageSize": 20, | 413 | "pageSize": 20, |
| 406 | "totalCount": 7 | 414 | "totalCount": 7 |
| 407 | }, | 415 | }, |
| 408 | "message": "Success", | 416 | "message": "Success", |
| 409 | "success": true, | 417 | "success": true, |
| 410 | - "timestamp": 1710742034894 | 418 | + "timestamp": 1710989443354 |
| 411 | } | 419 | } |
| 1 | +{ | ||
| 2 | + "code": "0", | ||
| 3 | + "data": [ | ||
| 4 | + { | ||
| 5 | + "creatorId": "3004862", | ||
| 6 | + "status": "0", | ||
| 7 | + "userId": "567387477063621" | ||
| 8 | + }, | ||
| 9 | + { | ||
| 10 | + "creatorId": "3004861", | ||
| 11 | + "status": "0", | ||
| 12 | + "userId": "567387477063621" | ||
| 13 | + }, | ||
| 14 | + { | ||
| 15 | + "creatorId": "3004860", | ||
| 16 | + "status": "0", | ||
| 17 | + "userId": "567387477063621" | ||
| 18 | + }, | ||
| 19 | + { | ||
| 20 | + "creatorId": "3004851", | ||
| 21 | + "status": "1", | ||
| 22 | + "userId": "567387477063621" | ||
| 23 | + }, | ||
| 24 | + { | ||
| 25 | + "creatorId": "3004849", | ||
| 26 | + "status": "1", | ||
| 27 | + "userId": "567387477063621" | ||
| 28 | + }, | ||
| 29 | + { | ||
| 30 | + "creatorId": "3004853", | ||
| 31 | + "status": "1", | ||
| 32 | + "userId": "567387477063621" | ||
| 33 | + }, | ||
| 34 | + { | ||
| 35 | + "creatorId": "3004855", | ||
| 36 | + "status": "0", | ||
| 37 | + "userId": "567387477063621" | ||
| 38 | + } | ||
| 39 | + ], | ||
| 40 | + "message": "Success", | ||
| 41 | + "meta": null, | ||
| 42 | + "requestId": "", | ||
| 43 | + "success": true, | ||
| 44 | + "timestamp": 1710989443648 | ||
| 45 | +} |
| 1 | +{ | ||
| 2 | + "code": "0", | ||
| 3 | + "data": { | ||
| 4 | + "hasNext": 0, | ||
| 5 | + "list": [ | ||
| 6 | + { | ||
| 7 | + "avatarFrame": "", | ||
| 8 | + "checkStatus": 0, | ||
| 9 | + "commentContent": "车得修,歌也得唱不唱心里那口气儿就没了你哥我以前心里也有这股劲儿那时候我想的是什么想的是每天什么时候开始现在心里这股劲儿泄了我想的是每天什么时候结束心里有这股劲儿的时候你哥也摇滚过现在这股劲儿没了我天天想的都是这个是这个但你不能这样只要咱们继续唱大吉他就还在不唱就真的没了——《缝纫机乐队》", | ||
| 10 | + "commentContentSensitive": "", | ||
| 11 | + "commentLevel": 1, | ||
| 12 | + "commentPics": "", | ||
| 13 | + "commentSensitive": "", | ||
| 14 | + "commentType": "2", | ||
| 15 | + "createTime": "2024-03-21 13:37:13", | ||
| 16 | + "fromCreatorId": "", | ||
| 17 | + "fromDeviceId": "", | ||
| 18 | + "fromUserHeader": "https://sitcontentjdcdn.aikan.pdnews.cn//img/user/2024031215/48d5bd53227d436b9faa937b3ac14600.png?x-oss-process=image/resize,l_100/auto-orient,1/quality,q_90/format,jpg", | ||
| 19 | + "fromUserId": "567387477063621", | ||
| 20 | + "fromUserName": "人民日报网友aPrtq5", | ||
| 21 | + "fromUserType": 1, | ||
| 22 | + "h5Url": "", | ||
| 23 | + "id": 303323, | ||
| 24 | + "keyArticle": 0, | ||
| 25 | + "likeNum": 0, | ||
| 26 | + "parentCommentVo": null, | ||
| 27 | + "parentId": -1, | ||
| 28 | + "rootCommentId": 303323, | ||
| 29 | + "sensitiveExist": 0, | ||
| 30 | + "sensitiveShow": 1, | ||
| 31 | + "shareInfo": { | ||
| 32 | + "shareCoverUrl": "http://sitcontentjdcdn.aikan.pdnews.cn/zhbj-20231012/image/content/7f1a342a809d4276aa975ba9e7fe2313.png", | ||
| 33 | + "shareSummary": "这是一个开始、请持续关注这是一个开始、请持续关注这是一个开始、请持续关注这是一个开始、请持续关注这是", | ||
| 34 | + "shareTitle": "这是一个开始、请持续关注这是一个开始、请", | ||
| 35 | + "shareUrl": "https://pd-people-sit.pdnews.cn/column/30000633703-500000008559" | ||
| 36 | + }, | ||
| 37 | + "targetId": "30000633703", | ||
| 38 | + "targetRelId": "500000008559", | ||
| 39 | + "targetRelObjectId": "2002", | ||
| 40 | + "targetRelType": 1, | ||
| 41 | + "targetStatus": 0, | ||
| 42 | + "targetTitle": "这是一个开始、请持续关注这是一个开始、请持续关注这是一个开始、请持续关注这是一个开始、请持续关注这是一个开始、请持续关注这是一个开始、请持续关注这是一个开始、请持续关注", | ||
| 43 | + "targetType": 8, | ||
| 44 | + "topicType": null, | ||
| 45 | + "uuid": "a1944aa3-e598-44ea-b2c5-45a4fe0ba91f" | ||
| 46 | + }, | ||
| 47 | + { | ||
| 48 | + "avatarFrame": "", | ||
| 49 | + "checkStatus": 0, | ||
| 50 | + "commentContent": "我们都很好", | ||
| 51 | + "commentContentSensitive": "", | ||
| 52 | + "commentLevel": 1, | ||
| 53 | + "commentPics": "", | ||
| 54 | + "commentSensitive": "", | ||
| 55 | + "commentType": "2", | ||
| 56 | + "createTime": "2024-03-14 17:56:14", | ||
| 57 | + "fromCreatorId": "", | ||
| 58 | + "fromDeviceId": "", | ||
| 59 | + "fromUserHeader": "https://sitcontentjdcdn.aikan.pdnews.cn//img/user/2024031215/48d5bd53227d436b9faa937b3ac14600.png?x-oss-process=image/resize,l_100/auto-orient,1/quality,q_90/format,jpg", | ||
| 60 | + "fromUserId": "567387477063621", | ||
| 61 | + "fromUserName": "人民日报网友aPrtq5", | ||
| 62 | + "fromUserType": 1, | ||
| 63 | + "h5Url": "", | ||
| 64 | + "id": 403449, | ||
| 65 | + "keyArticle": 0, | ||
| 66 | + "likeNum": 0, | ||
| 67 | + "parentCommentVo": null, | ||
| 68 | + "parentId": -1, | ||
| 69 | + "rootCommentId": 403449, | ||
| 70 | + "sensitiveExist": 0, | ||
| 71 | + "sensitiveShow": 1, | ||
| 72 | + "shareInfo": { | ||
| 73 | + "shareCoverUrl": "", | ||
| 74 | + "shareSummary": "人民日报,有品质的新闻", | ||
| 75 | + "shareTitle": "丝路之美", | ||
| 76 | + "shareUrl": "https://pd-people-sit.pdnews.cn/column/30000654108-500000017213" | ||
| 77 | + }, | ||
| 78 | + "targetId": "30000654108", | ||
| 79 | + "targetRelId": "500000017213", | ||
| 80 | + "targetRelObjectId": "2002", | ||
| 81 | + "targetRelType": 1, | ||
| 82 | + "targetStatus": 0, | ||
| 83 | + "targetTitle": "丝路之美", | ||
| 84 | + "targetType": 8, | ||
| 85 | + "topicType": null, | ||
| 86 | + "uuid": "1706ec91-8fb3-4704-bde3-fb454386e419" | ||
| 87 | + }, | ||
| 88 | + { | ||
| 89 | + "avatarFrame": "", | ||
| 90 | + "checkStatus": 0, | ||
| 91 | + "commentContent": "大家好", | ||
| 92 | + "commentContentSensitive": "", | ||
| 93 | + "commentLevel": 1, | ||
| 94 | + "commentPics": "", | ||
| 95 | + "commentSensitive": "", | ||
| 96 | + "commentType": "2", | ||
| 97 | + "createTime": "2024-03-14 17:56:04", | ||
| 98 | + "fromCreatorId": "", | ||
| 99 | + "fromDeviceId": "", | ||
| 100 | + "fromUserHeader": "https://sitcontentjdcdn.aikan.pdnews.cn//img/user/2024031215/48d5bd53227d436b9faa937b3ac14600.png?x-oss-process=image/resize,l_100/auto-orient,1/quality,q_90/format,jpg", | ||
| 101 | + "fromUserId": "567387477063621", | ||
| 102 | + "fromUserName": "人民日报网友aPrtq5", | ||
| 103 | + "fromUserType": 1, | ||
| 104 | + "h5Url": "", | ||
| 105 | + "id": 403448, | ||
| 106 | + "keyArticle": 0, | ||
| 107 | + "likeNum": 0, | ||
| 108 | + "parentCommentVo": null, | ||
| 109 | + "parentId": -1, | ||
| 110 | + "rootCommentId": 403448, | ||
| 111 | + "sensitiveExist": 0, | ||
| 112 | + "sensitiveShow": 1, | ||
| 113 | + "shareInfo": { | ||
| 114 | + "shareCoverUrl": "http://sitcontentjdcdn.aikan.pdnews.cn/zhbj-20231012/image/content/b7170ff0d0954b389e7e9f8c3c1d777a.png", | ||
| 115 | + "shareSummary": "人民日报,有品质的新闻", | ||
| 116 | + "shareTitle": "展示发", | ||
| 117 | + "shareUrl": "https://pd-people-sit.pdnews.cn/column/30000633589-500000008382" | ||
| 118 | + }, | ||
| 119 | + "targetId": "30000633589", | ||
| 120 | + "targetRelId": "500000008382", | ||
| 121 | + "targetRelObjectId": "2002", | ||
| 122 | + "targetRelType": 1, | ||
| 123 | + "targetStatus": 0, | ||
| 124 | + "targetTitle": "展示发", | ||
| 125 | + "targetType": 13, | ||
| 126 | + "topicType": null, | ||
| 127 | + "uuid": "17c5a8d9-622c-4b7a-bcd2-afc792fb8fb7" | ||
| 128 | + }, | ||
| 129 | + { | ||
| 130 | + "avatarFrame": "", | ||
| 131 | + "checkStatus": 0, | ||
| 132 | + "commentContent": "你好", | ||
| 133 | + "commentContentSensitive": "", | ||
| 134 | + "commentLevel": 1, | ||
| 135 | + "commentPics": "", | ||
| 136 | + "commentSensitive": "", | ||
| 137 | + "commentType": "2", | ||
| 138 | + "createTime": "2024-03-14 17:55:55", | ||
| 139 | + "fromCreatorId": "", | ||
| 140 | + "fromDeviceId": "", | ||
| 141 | + "fromUserHeader": "https://sitcontentjdcdn.aikan.pdnews.cn//img/user/2024031215/48d5bd53227d436b9faa937b3ac14600.png?x-oss-process=image/resize,l_100/auto-orient,1/quality,q_90/format,jpg", | ||
| 142 | + "fromUserId": "567387477063621", | ||
| 143 | + "fromUserName": "人民日报网友aPrtq5", | ||
| 144 | + "fromUserType": 1, | ||
| 145 | + "h5Url": "", | ||
| 146 | + "id": 403447, | ||
| 147 | + "keyArticle": 0, | ||
| 148 | + "likeNum": 0, | ||
| 149 | + "parentCommentVo": null, | ||
| 150 | + "parentId": -1, | ||
| 151 | + "rootCommentId": 403447, | ||
| 152 | + "sensitiveExist": 0, | ||
| 153 | + "sensitiveShow": 1, | ||
| 154 | + "shareInfo": { | ||
| 155 | + "shareCoverUrl": "http://sitcontentjdcdn.aikan.pdnews.cn/zhbj-20231103/image/content/046db0ef912f43dda639009e2b78a774.png", | ||
| 156 | + "shareSummary": "复测-坐船观鸟,骑行散步,通州125处湿地邀您亲近自然-导读", | ||
| 157 | + "shareTitle": "复测-坐船观鸟,骑行散步,通州125处湿", | ||
| 158 | + "shareUrl": "https://pd-people-sit.pdnews.cn/column/30000637972-500000010900" | ||
| 159 | + }, | ||
| 160 | + "targetId": "30000637972", | ||
| 161 | + "targetRelId": "500000010900", | ||
| 162 | + "targetRelObjectId": "2002", | ||
| 163 | + "targetRelType": 1, | ||
| 164 | + "targetStatus": 0, | ||
| 165 | + "targetTitle": "复测-坐船观鸟,骑行散步,通州125处湿地邀您亲近自然", | ||
| 166 | + "targetType": 8, | ||
| 167 | + "topicType": null, | ||
| 168 | + "uuid": "f809d73f-a66c-4dd6-a4cf-99e3a9c9621e" | ||
| 169 | + }, | ||
| 170 | + { | ||
| 171 | + "avatarFrame": "", | ||
| 172 | + "checkStatus": 0, | ||
| 173 | + "commentContent": "你好", | ||
| 174 | + "commentContentSensitive": "", | ||
| 175 | + "commentLevel": 1, | ||
| 176 | + "commentPics": "", | ||
| 177 | + "commentSensitive": "", | ||
| 178 | + "commentType": "2", | ||
| 179 | + "createTime": "2024-03-14 17:55:55", | ||
| 180 | + "fromCreatorId": "", | ||
| 181 | + "fromDeviceId": "", | ||
| 182 | + "fromUserHeader": "https://sitcontentjdcdn.aikan.pdnews.cn//img/user/2024031215/48d5bd53227d436b9faa937b3ac14600.png?x-oss-process=image/resize,l_100/auto-orient,1/quality,q_90/format,jpg", | ||
| 183 | + "fromUserId": "567387477063621", | ||
| 184 | + "fromUserName": "人民日报网友aPrtq5", | ||
| 185 | + "fromUserType": 1, | ||
| 186 | + "h5Url": "", | ||
| 187 | + "id": 403447, | ||
| 188 | + "keyArticle": 0, | ||
| 189 | + "likeNum": 0, | ||
| 190 | + "parentCommentVo": null, | ||
| 191 | + "parentId": -1, | ||
| 192 | + "rootCommentId": 403447, | ||
| 193 | + "sensitiveExist": 0, | ||
| 194 | + "sensitiveShow": 1, | ||
| 195 | + "shareInfo": { | ||
| 196 | + "shareCoverUrl": "http://sitcontentjdcdn.aikan.pdnews.cn/zhbj-20231103/image/content/046db0ef912f43dda639009e2b78a774.png", | ||
| 197 | + "shareSummary": "复测-坐船观鸟,骑行散步,通州125处湿地邀您亲近自然-导读", | ||
| 198 | + "shareTitle": "复测-坐船观鸟,骑行散步,通州125处湿", | ||
| 199 | + "shareUrl": "https://pd-people-sit.pdnews.cn/column/30000637972-500000010900" | ||
| 200 | + }, | ||
| 201 | + "targetId": "30000637972", | ||
| 202 | + "targetRelId": "500000010900", | ||
| 203 | + "targetRelObjectId": "2002", | ||
| 204 | + "targetRelType": 1, | ||
| 205 | + "targetStatus": 0, | ||
| 206 | + "targetTitle": "复测-坐船观鸟,骑行散步,通州125处湿地邀您亲近自然", | ||
| 207 | + "targetType": 8, | ||
| 208 | + "topicType": null, | ||
| 209 | + "uuid": "f809d73f-a66c-4dd6-a4cf-99e3a9c9621e" | ||
| 210 | + }, | ||
| 211 | + { | ||
| 212 | + "avatarFrame": "", | ||
| 213 | + "checkStatus": 0, | ||
| 214 | + "commentContent": "你好", | ||
| 215 | + "commentContentSensitive": "", | ||
| 216 | + "commentLevel": 1, | ||
| 217 | + "commentPics": "", | ||
| 218 | + "commentSensitive": "", | ||
| 219 | + "commentType": "2", | ||
| 220 | + "createTime": "2024-03-14 17:55:55", | ||
| 221 | + "fromCreatorId": "", | ||
| 222 | + "fromDeviceId": "", | ||
| 223 | + "fromUserHeader": "https://sitcontentjdcdn.aikan.pdnews.cn//img/user/2024031215/48d5bd53227d436b9faa937b3ac14600.png?x-oss-process=image/resize,l_100/auto-orient,1/quality,q_90/format,jpg", | ||
| 224 | + "fromUserId": "567387477063621", | ||
| 225 | + "fromUserName": "人民日报网友aPrtq5", | ||
| 226 | + "fromUserType": 1, | ||
| 227 | + "h5Url": "", | ||
| 228 | + "id": 403447, | ||
| 229 | + "keyArticle": 0, | ||
| 230 | + "likeNum": 0, | ||
| 231 | + "parentCommentVo": null, | ||
| 232 | + "parentId": -1, | ||
| 233 | + "rootCommentId": 403447, | ||
| 234 | + "sensitiveExist": 0, | ||
| 235 | + "sensitiveShow": 1, | ||
| 236 | + "shareInfo": { | ||
| 237 | + "shareCoverUrl": "http://sitcontentjdcdn.aikan.pdnews.cn/zhbj-20231103/image/content/046db0ef912f43dda639009e2b78a774.png", | ||
| 238 | + "shareSummary": "复测-坐船观鸟,骑行散步,通州125处湿地邀您亲近自然-导读", | ||
| 239 | + "shareTitle": "复测-坐船观鸟,骑行散步,通州125处湿", | ||
| 240 | + "shareUrl": "https://pd-people-sit.pdnews.cn/column/30000637972-500000010900" | ||
| 241 | + }, | ||
| 242 | + "targetId": "30000637972", | ||
| 243 | + "targetRelId": "500000010900", | ||
| 244 | + "targetRelObjectId": "2002", | ||
| 245 | + "targetRelType": 1, | ||
| 246 | + "targetStatus": 0, | ||
| 247 | + "targetTitle": "复测-坐船观鸟,骑行散步,通州125处湿地邀您亲近自然", | ||
| 248 | + "targetType": 8, | ||
| 249 | + "topicType": null, | ||
| 250 | + "uuid": "f809d73f-a66c-4dd6-a4cf-99e3a9c9621e" | ||
| 251 | + }, | ||
| 252 | + { | ||
| 253 | + "avatarFrame": "", | ||
| 254 | + "checkStatus": 0, | ||
| 255 | + "commentContent": "你好", | ||
| 256 | + "commentContentSensitive": "", | ||
| 257 | + "commentLevel": 1, | ||
| 258 | + "commentPics": "", | ||
| 259 | + "commentSensitive": "", | ||
| 260 | + "commentType": "2", | ||
| 261 | + "createTime": "2024-03-14 17:55:55", | ||
| 262 | + "fromCreatorId": "", | ||
| 263 | + "fromDeviceId": "", | ||
| 264 | + "fromUserHeader": "https://sitcontentjdcdn.aikan.pdnews.cn//img/user/2024031215/48d5bd53227d436b9faa937b3ac14600.png?x-oss-process=image/resize,l_100/auto-orient,1/quality,q_90/format,jpg", | ||
| 265 | + "fromUserId": "567387477063621", | ||
| 266 | + "fromUserName": "人民日报网友aPrtq5", | ||
| 267 | + "fromUserType": 1, | ||
| 268 | + "h5Url": "", | ||
| 269 | + "id": 403447, | ||
| 270 | + "keyArticle": 0, | ||
| 271 | + "likeNum": 0, | ||
| 272 | + "parentCommentVo": null, | ||
| 273 | + "parentId": -1, | ||
| 274 | + "rootCommentId": 403447, | ||
| 275 | + "sensitiveExist": 0, | ||
| 276 | + "sensitiveShow": 1, | ||
| 277 | + "shareInfo": { | ||
| 278 | + "shareCoverUrl": "http://sitcontentjdcdn.aikan.pdnews.cn/zhbj-20231103/image/content/046db0ef912f43dda639009e2b78a774.png", | ||
| 279 | + "shareSummary": "复测-坐船观鸟,骑行散步,通州125处湿地邀您亲近自然-导读", | ||
| 280 | + "shareTitle": "复测-坐船观鸟,骑行散步,通州125处湿", | ||
| 281 | + "shareUrl": "https://pd-people-sit.pdnews.cn/column/30000637972-500000010900" | ||
| 282 | + }, | ||
| 283 | + "targetId": "30000637972", | ||
| 284 | + "targetRelId": "500000010900", | ||
| 285 | + "targetRelObjectId": "2002", | ||
| 286 | + "targetRelType": 1, | ||
| 287 | + "targetStatus": 0, | ||
| 288 | + "targetTitle": "复测-坐船观鸟,骑行散步,通州125处湿地邀您亲近自然", | ||
| 289 | + "targetType": 8, | ||
| 290 | + "topicType": null, | ||
| 291 | + "uuid": "f809d73f-a66c-4dd6-a4cf-99e3a9c9621e" | ||
| 292 | + } | ||
| 293 | + ], | ||
| 294 | + "pageNum": 1, | ||
| 295 | + "pageSize": 20, | ||
| 296 | + "totalCommentNum": 4, | ||
| 297 | + "totalCount": 4 | ||
| 298 | + }, | ||
| 299 | + "message": "Success", | ||
| 300 | + "meta": null, | ||
| 301 | + "requestId": "", | ||
| 302 | + "success": true, | ||
| 303 | + "timestamp": 1711092987342 | ||
| 304 | +} |
| 1 | +{ | ||
| 2 | + "code": "0", | ||
| 3 | + "data": { | ||
| 4 | + "hasNext": 0, | ||
| 5 | + "list": [ | ||
| 6 | + { | ||
| 7 | + "attentionCreatorId": "3214877", | ||
| 8 | + "attentionHeadPhotoUrl": "https://sitcontentjdcdn.aikan.pdnews.cn//upload/ueditor/image/20231227/a_924511395855200256.png?x-oss-process=image/resize,l_400/auto-orient,1/quality,q_90/format,jpg", | ||
| 9 | + "attentionNum": 0, | ||
| 10 | + "attentionUserId": "508051203257158", | ||
| 11 | + "attentionUserName": "北京交通运输职业学院", | ||
| 12 | + "attentionUserType": 2, | ||
| 13 | + "authIcon": "", | ||
| 14 | + "authId": 0, | ||
| 15 | + "authPersional": "", | ||
| 16 | + "authTitle": "", | ||
| 17 | + "banControl": 0, | ||
| 18 | + "categoryAuth": "", | ||
| 19 | + "cnLiveCommentControl": 1, | ||
| 20 | + "cnLiveGiftControl": 1, | ||
| 21 | + "cnLiveLikeControl": 1, | ||
| 22 | + "cnLiveShareControl": 1, | ||
| 23 | + "cnShareControl": 1, | ||
| 24 | + "collectNum": 0, | ||
| 25 | + "commentNum": 0, | ||
| 26 | + "createTime": 1710742365000, | ||
| 27 | + "fansNum": 1, | ||
| 28 | + "honoraryIcon": "", | ||
| 29 | + "honoraryTitle": "", | ||
| 30 | + "id": 100704, | ||
| 31 | + "introduction": "北京交通运输职业学院", | ||
| 32 | + "isAttention": null, | ||
| 33 | + "isComment": 1, | ||
| 34 | + "isLike": 1, | ||
| 35 | + "isVisiable": 1, | ||
| 36 | + "likeNum": 0, | ||
| 37 | + "liveCommentControl": 1, | ||
| 38 | + "liveGiftControl": 1, | ||
| 39 | + "liveLikeControl": 1, | ||
| 40 | + "liveShareControl": 1, | ||
| 41 | + "mainControl": 1, | ||
| 42 | + "posterShareControl": 1, | ||
| 43 | + "registTime": 1599214346000, | ||
| 44 | + "shareControl": 1, | ||
| 45 | + "shareNum": 0, | ||
| 46 | + "status": 1, | ||
| 47 | + "subjectType": null, | ||
| 48 | + "updateTime": 1710742365000, | ||
| 49 | + "userId": "567387477063621", | ||
| 50 | + "userType": 1 | ||
| 51 | + }, | ||
| 52 | + { | ||
| 53 | + "attentionCreatorId": "3092827", | ||
| 54 | + "attentionHeadPhotoUrl": "https://sitcontentjdcdn.aikan.pdnews.cn//upload/user_app/201907/rmrb_Mw5PyAQe1563349003.jpg?x-oss-process=image/resize,l_400/auto-orient,1/quality,q_90/format,jpg", | ||
| 55 | + "attentionNum": 0, | ||
| 56 | + "attentionUserId": "507982569927494", | ||
| 57 | + "attentionUserName": "3G楼市周刊合肥站", | ||
| 58 | + "attentionUserType": 5, | ||
| 59 | + "authIcon": "", | ||
| 60 | + "authId": 0, | ||
| 61 | + "authPersional": "", | ||
| 62 | + "authTitle": "", | ||
| 63 | + "banControl": 0, | ||
| 64 | + "categoryAuth": "", | ||
| 65 | + "cnLiveCommentControl": 1, | ||
| 66 | + "cnLiveGiftControl": 1, | ||
| 67 | + "cnLiveLikeControl": 1, | ||
| 68 | + "cnLiveShareControl": 1, | ||
| 69 | + "cnShareControl": 1, | ||
| 70 | + "collectNum": 0, | ||
| 71 | + "commentNum": 0, | ||
| 72 | + "createTime": 1710410008000, | ||
| 73 | + "fansNum": 1, | ||
| 74 | + "honoraryIcon": "", | ||
| 75 | + "honoraryTitle": "", | ||
| 76 | + "id": 200711, | ||
| 77 | + "introduction": "3G楼市周刊合肥站官方", | ||
| 78 | + "isAttention": null, | ||
| 79 | + "isComment": 1, | ||
| 80 | + "isLike": 1, | ||
| 81 | + "isVisiable": 1, | ||
| 82 | + "likeNum": 0, | ||
| 83 | + "liveCommentControl": 1, | ||
| 84 | + "liveGiftControl": 1, | ||
| 85 | + "liveLikeControl": 1, | ||
| 86 | + "liveShareControl": 1, | ||
| 87 | + "mainControl": 0, | ||
| 88 | + "posterShareControl": 1, | ||
| 89 | + "registTime": 1559098504000, | ||
| 90 | + "shareControl": 1, | ||
| 91 | + "shareNum": 0, | ||
| 92 | + "status": 1, | ||
| 93 | + "subjectType": null, | ||
| 94 | + "updateTime": 1710410008000, | ||
| 95 | + "userId": "567387477063621", | ||
| 96 | + "userType": 1 | ||
| 97 | + }, | ||
| 98 | + { | ||
| 99 | + "attentionCreatorId": "3022148", | ||
| 100 | + "attentionHeadPhotoUrl": "https://sitcontentjdcdn.aikan.pdnews.cn//upload/zw/bjh_image/1550310502_bb68cf1fc0ba566b3bdd77bb8648d7a8.jpeg?x-oss-process=image/resize,l_400/auto-orient,1/quality,q_90/format,jpg", | ||
| 101 | + "attentionNum": 0, | ||
| 102 | + "attentionUserId": "504980189045893", | ||
| 103 | + "attentionUserName": "庐州房产网", | ||
| 104 | + "attentionUserType": 2, | ||
| 105 | + "authIcon": "", | ||
| 106 | + "authId": 0, | ||
| 107 | + "authPersional": "", | ||
| 108 | + "authTitle": "", | ||
| 109 | + "banControl": 0, | ||
| 110 | + "categoryAuth": "", | ||
| 111 | + "cnLiveCommentControl": 1, | ||
| 112 | + "cnLiveGiftControl": 1, | ||
| 113 | + "cnLiveLikeControl": 1, | ||
| 114 | + "cnLiveShareControl": 1, | ||
| 115 | + "cnShareControl": 1, | ||
| 116 | + "collectNum": 0, | ||
| 117 | + "commentNum": 0, | ||
| 118 | + "createTime": 1710410008000, | ||
| 119 | + "fansNum": 1, | ||
| 120 | + "honoraryIcon": "", | ||
| 121 | + "honoraryTitle": "", | ||
| 122 | + "id": 200709, | ||
| 123 | + "introduction": "专注古城庐州楼市资讯", | ||
| 124 | + "isAttention": null, | ||
| 125 | + "isComment": 1, | ||
| 126 | + "isLike": 1, | ||
| 127 | + "isVisiable": 1, | ||
| 128 | + "likeNum": 0, | ||
| 129 | + "liveCommentControl": 1, | ||
| 130 | + "liveGiftControl": 1, | ||
| 131 | + "liveLikeControl": 1, | ||
| 132 | + "liveShareControl": 1, | ||
| 133 | + "mainControl": 1, | ||
| 134 | + "posterShareControl": 1, | ||
| 135 | + "registTime": 1550310442000, | ||
| 136 | + "shareControl": 1, | ||
| 137 | + "shareNum": 0, | ||
| 138 | + "status": 1, | ||
| 139 | + "subjectType": null, | ||
| 140 | + "updateTime": 1710410008000, | ||
| 141 | + "userId": "567387477063621", | ||
| 142 | + "userType": 1 | ||
| 143 | + }, | ||
| 144 | + { | ||
| 145 | + "attentionCreatorId": "3214944", | ||
| 146 | + "attentionHeadPhotoUrl": "https://sitcontentjdcdn.aikan.pdnews.cn//upload/article_resource/image/1562575034_a1790012453b8d5e937e.jpeg?x-oss-process=image/resize,l_400/auto-orient,1/quality,q_90/format,jpg", | ||
| 147 | + "attentionNum": 0, | ||
| 148 | + "attentionUserId": "508051247641414", | ||
| 149 | + "attentionUserName": "民警李建国", | ||
| 150 | + "attentionUserType": 5, | ||
| 151 | + "authIcon": "", | ||
| 152 | + "authId": 0, | ||
| 153 | + "authPersional": "", | ||
| 154 | + "authTitle": "", | ||
| 155 | + "banControl": 0, | ||
| 156 | + "categoryAuth": "", | ||
| 157 | + "cnLiveCommentControl": 1, | ||
| 158 | + "cnLiveGiftControl": 1, | ||
| 159 | + "cnLiveLikeControl": 1, | ||
| 160 | + "cnLiveShareControl": 1, | ||
| 161 | + "cnShareControl": 1, | ||
| 162 | + "collectNum": 0, | ||
| 163 | + "commentNum": 0, | ||
| 164 | + "createTime": 1710410006000, | ||
| 165 | + "fansNum": 1, | ||
| 166 | + "honoraryIcon": "", | ||
| 167 | + "honoraryTitle": "", | ||
| 168 | + "id": 200708, | ||
| 169 | + "introduction": "常州市公安局新北分局民警", | ||
| 170 | + "isAttention": null, | ||
| 171 | + "isComment": 1, | ||
| 172 | + "isLike": 1, | ||
| 173 | + "isVisiable": 1, | ||
| 174 | + "likeNum": 0, | ||
| 175 | + "liveCommentControl": 1, | ||
| 176 | + "liveGiftControl": 1, | ||
| 177 | + "liveLikeControl": 1, | ||
| 178 | + "liveShareControl": 1, | ||
| 179 | + "mainControl": 0, | ||
| 180 | + "posterShareControl": 1, | ||
| 181 | + "registTime": 1560152360000, | ||
| 182 | + "shareControl": 1, | ||
| 183 | + "shareNum": 0, | ||
| 184 | + "status": 1, | ||
| 185 | + "subjectType": null, | ||
| 186 | + "updateTime": 1710410006000, | ||
| 187 | + "userId": "567387477063621", | ||
| 188 | + "userType": 1 | ||
| 189 | + }, | ||
| 190 | + { | ||
| 191 | + "attentionCreatorId": "3215205", | ||
| 192 | + "attentionHeadPhotoUrl": "https://sitcontentjdcdn.aikan.pdnews.cn//upload/zw/bjh_image/1561779596_b5cdde910817d66e7561cf35cdb3b896.jpeg?x-oss-process=image/resize,l_400/auto-orient,1/quality,q_90/format,jpg", | ||
| 193 | + "attentionNum": 0, | ||
| 194 | + "attentionUserId": "504980472120453", | ||
| 195 | + "attentionUserName": "日语酱", | ||
| 196 | + "attentionUserType": 2, | ||
| 197 | + "authIcon": "", | ||
| 198 | + "authId": 0, | ||
| 199 | + "authPersional": "", | ||
| 200 | + "authTitle": "", | ||
| 201 | + "banControl": 0, | ||
| 202 | + "categoryAuth": "", | ||
| 203 | + "cnLiveCommentControl": 1, | ||
| 204 | + "cnLiveGiftControl": 1, | ||
| 205 | + "cnLiveLikeControl": 1, | ||
| 206 | + "cnLiveShareControl": 1, | ||
| 207 | + "cnShareControl": 1, | ||
| 208 | + "collectNum": 0, | ||
| 209 | + "commentNum": 0, | ||
| 210 | + "createTime": 1710410006000, | ||
| 211 | + "fansNum": 1, | ||
| 212 | + "honoraryIcon": "", | ||
| 213 | + "honoraryTitle": "", | ||
| 214 | + "id": 200707, | ||
| 215 | + "introduction": "付出不亚于任何人的努力", | ||
| 216 | + "isAttention": null, | ||
| 217 | + "isComment": 1, | ||
| 218 | + "isLike": 1, | ||
| 219 | + "isVisiable": 1, | ||
| 220 | + "likeNum": 0, | ||
| 221 | + "liveCommentControl": 1, | ||
| 222 | + "liveGiftControl": 1, | ||
| 223 | + "liveLikeControl": 1, | ||
| 224 | + "liveShareControl": 1, | ||
| 225 | + "mainControl": 1, | ||
| 226 | + "posterShareControl": 1, | ||
| 227 | + "registTime": 1560474105000, | ||
| 228 | + "shareControl": 1, | ||
| 229 | + "shareNum": 0, | ||
| 230 | + "status": 1, | ||
| 231 | + "subjectType": null, | ||
| 232 | + "updateTime": 1710410006000, | ||
| 233 | + "userId": "567387477063621", | ||
| 234 | + "userType": 1 | ||
| 235 | + }, | ||
| 236 | + { | ||
| 237 | + "attentionCreatorId": "3258463", | ||
| 238 | + "attentionHeadPhotoUrl": "", | ||
| 239 | + "attentionNum": 0, | ||
| 240 | + "attentionUserId": "508670671396102", | ||
| 241 | + "attentionUserName": "西北大学4e82", | ||
| 242 | + "attentionUserType": 5, | ||
| 243 | + "authIcon": "", | ||
| 244 | + "authId": 0, | ||
| 245 | + "authPersional": "", | ||
| 246 | + "authTitle": "", | ||
| 247 | + "banControl": 0, | ||
| 248 | + "categoryAuth": "", | ||
| 249 | + "cnLiveCommentControl": 1, | ||
| 250 | + "cnLiveGiftControl": 1, | ||
| 251 | + "cnLiveLikeControl": 1, | ||
| 252 | + "cnLiveShareControl": 1, | ||
| 253 | + "cnShareControl": 1, | ||
| 254 | + "collectNum": 0, | ||
| 255 | + "commentNum": 0, | ||
| 256 | + "createTime": 1710409996000, | ||
| 257 | + "fansNum": 1, | ||
| 258 | + "honoraryIcon": "", | ||
| 259 | + "honoraryTitle": "", | ||
| 260 | + "id": 200706, | ||
| 261 | + "introduction": "西北大学", | ||
| 262 | + "isAttention": null, | ||
| 263 | + "isComment": 1, | ||
| 264 | + "isLike": 1, | ||
| 265 | + "isVisiable": 1, | ||
| 266 | + "likeNum": 0, | ||
| 267 | + "liveCommentControl": 1, | ||
| 268 | + "liveGiftControl": 1, | ||
| 269 | + "liveLikeControl": 1, | ||
| 270 | + "liveShareControl": 1, | ||
| 271 | + "mainControl": 0, | ||
| 272 | + "posterShareControl": 1, | ||
| 273 | + "registTime": 1555554106000, | ||
| 274 | + "shareControl": 1, | ||
| 275 | + "shareNum": 0, | ||
| 276 | + "status": 1, | ||
| 277 | + "subjectType": null, | ||
| 278 | + "updateTime": 1710409996000, | ||
| 279 | + "userId": "567387477063621", | ||
| 280 | + "userType": 1 | ||
| 281 | + }, | ||
| 282 | + { | ||
| 283 | + "attentionCreatorId": "3258486", | ||
| 284 | + "attentionHeadPhotoUrl": "", | ||
| 285 | + "attentionNum": 0, | ||
| 286 | + "attentionUserId": "508670696660230", | ||
| 287 | + "attentionUserName": "扬州大学93ba", | ||
| 288 | + "attentionUserType": 5, | ||
| 289 | + "authIcon": "", | ||
| 290 | + "authId": 0, | ||
| 291 | + "authPersional": "", | ||
| 292 | + "authTitle": "", | ||
| 293 | + "banControl": 0, | ||
| 294 | + "categoryAuth": "", | ||
| 295 | + "cnLiveCommentControl": 1, | ||
| 296 | + "cnLiveGiftControl": 1, | ||
| 297 | + "cnLiveLikeControl": 1, | ||
| 298 | + "cnLiveShareControl": 1, | ||
| 299 | + "cnShareControl": 1, | ||
| 300 | + "collectNum": 0, | ||
| 301 | + "commentNum": 0, | ||
| 302 | + "createTime": 1710409996000, | ||
| 303 | + "fansNum": 1, | ||
| 304 | + "honoraryIcon": "", | ||
| 305 | + "honoraryTitle": "", | ||
| 306 | + "id": 200705, | ||
| 307 | + "introduction": "扬州大学", | ||
| 308 | + "isAttention": null, | ||
| 309 | + "isComment": 1, | ||
| 310 | + "isLike": 1, | ||
| 311 | + "isVisiable": 1, | ||
| 312 | + "likeNum": 0, | ||
| 313 | + "liveCommentControl": 1, | ||
| 314 | + "liveGiftControl": 1, | ||
| 315 | + "liveLikeControl": 1, | ||
| 316 | + "liveShareControl": 1, | ||
| 317 | + "mainControl": 0, | ||
| 318 | + "posterShareControl": 1, | ||
| 319 | + "registTime": 1555659355000, | ||
| 320 | + "shareControl": 1, | ||
| 321 | + "shareNum": 0, | ||
| 322 | + "status": 1, | ||
| 323 | + "subjectType": null, | ||
| 324 | + "updateTime": 1710409996000, | ||
| 325 | + "userId": "567387477063621", | ||
| 326 | + "userType": 1 | ||
| 327 | + }, | ||
| 328 | + { | ||
| 329 | + "attentionCreatorId": "3258575", | ||
| 330 | + "attentionHeadPhotoUrl": "https://sitcontentjdcdn.aikan.pdnews.cn//upload/zw/bjh_image/1539067744_5149cb078d4ed272af470630be272023.jpeg?x-oss-process=image/resize,l_400/auto-orient,1/quality,q_90/format,jpg", | ||
| 331 | + "attentionNum": 0, | ||
| 332 | + "attentionUserId": "509369589284102", | ||
| 333 | + "attentionUserName": "旅途", | ||
| 334 | + "attentionUserType": 2, | ||
| 335 | + "authIcon": "", | ||
| 336 | + "authId": 0, | ||
| 337 | + "authPersional": "", | ||
| 338 | + "authTitle": "", | ||
| 339 | + "banControl": 0, | ||
| 340 | + "categoryAuth": "", | ||
| 341 | + "cnLiveCommentControl": 1, | ||
| 342 | + "cnLiveGiftControl": 1, | ||
| 343 | + "cnLiveLikeControl": 1, | ||
| 344 | + "cnLiveShareControl": 1, | ||
| 345 | + "cnShareControl": 1, | ||
| 346 | + "collectNum": 0, | ||
| 347 | + "commentNum": 0, | ||
| 348 | + "createTime": 1710409989000, | ||
| 349 | + "fansNum": 1, | ||
| 350 | + "honoraryIcon": "", | ||
| 351 | + "honoraryTitle": "", | ||
| 352 | + "id": 200704, | ||
| 353 | + "introduction": "背包、骑车、旅行、一个人目睹沿途的风景~", | ||
| 354 | + "isAttention": null, | ||
| 355 | + "isComment": 1, | ||
| 356 | + "isLike": 1, | ||
| 357 | + "isVisiable": 1, | ||
| 358 | + "likeNum": 0, | ||
| 359 | + "liveCommentControl": 1, | ||
| 360 | + "liveGiftControl": 1, | ||
| 361 | + "liveLikeControl": 1, | ||
| 362 | + "liveShareControl": 1, | ||
| 363 | + "mainControl": 1, | ||
| 364 | + "posterShareControl": 1, | ||
| 365 | + "registTime": 1528884167000, | ||
| 366 | + "shareControl": 1, | ||
| 367 | + "shareNum": 0, | ||
| 368 | + "status": 1, | ||
| 369 | + "subjectType": null, | ||
| 370 | + "updateTime": 1710409989000, | ||
| 371 | + "userId": "567387477063621", | ||
| 372 | + "userType": 1 | ||
| 373 | + }, | ||
| 374 | + { | ||
| 375 | + "attentionCreatorId": "3258577", | ||
| 376 | + "attentionHeadPhotoUrl": "https://sitcontentjdcdn.aikan.pdnews.cn//upload/rmh/image/201905/201905160519269845.png?x-oss-process=image/resize,l_400/auto-orient,1/quality,q_90/format,jpg", | ||
| 377 | + "attentionNum": 0, | ||
| 378 | + "attentionUserId": "509369595993350", | ||
| 379 | + "attentionUserName": "陇海在线", | ||
| 380 | + "attentionUserType": 2, | ||
| 381 | + "authIcon": "", | ||
| 382 | + "authId": 0, | ||
| 383 | + "authPersional": "", | ||
| 384 | + "authTitle": "", | ||
| 385 | + "banControl": 0, | ||
| 386 | + "categoryAuth": "", | ||
| 387 | + "cnLiveCommentControl": 1, | ||
| 388 | + "cnLiveGiftControl": 1, | ||
| 389 | + "cnLiveLikeControl": 1, | ||
| 390 | + "cnLiveShareControl": 1, | ||
| 391 | + "cnShareControl": 1, | ||
| 392 | + "collectNum": 0, | ||
| 393 | + "commentNum": 0, | ||
| 394 | + "createTime": 1710409989000, | ||
| 395 | + "fansNum": 1, | ||
| 396 | + "honoraryIcon": "", | ||
| 397 | + "honoraryTitle": "", | ||
| 398 | + "id": 200703, | ||
| 399 | + "introduction": "在这里阅读陇海沿线城市暨淮海地区最新生活资讯!", | ||
| 400 | + "isAttention": null, | ||
| 401 | + "isComment": 1, | ||
| 402 | + "isLike": 1, | ||
| 403 | + "isVisiable": 1, | ||
| 404 | + "likeNum": 0, | ||
| 405 | + "liveCommentControl": 1, | ||
| 406 | + "liveGiftControl": 1, | ||
| 407 | + "liveLikeControl": 1, | ||
| 408 | + "liveShareControl": 1, | ||
| 409 | + "mainControl": 1, | ||
| 410 | + "posterShareControl": 1, | ||
| 411 | + "registTime": 1529015167000, | ||
| 412 | + "shareControl": 1, | ||
| 413 | + "shareNum": 0, | ||
| 414 | + "status": 1, | ||
| 415 | + "subjectType": null, | ||
| 416 | + "updateTime": 1710409989000, | ||
| 417 | + "userId": "567387477063621", | ||
| 418 | + "userType": 1 | ||
| 419 | + }, | ||
| 420 | + { | ||
| 421 | + "attentionCreatorId": "3258596", | ||
| 422 | + "attentionHeadPhotoUrl": "https://sitcontentjdcdn.aikan.pdnews.cn//upload/rmh/image/201911/201911271018567208.png?x-oss-process=image/resize,l_400/auto-orient,1/quality,q_90/format,jpg", | ||
| 423 | + "attentionNum": 0, | ||
| 424 | + "attentionUserId": "509403474238726", | ||
| 425 | + "attentionUserName": "建筑界", | ||
| 426 | + "attentionUserType": 2, | ||
| 427 | + "authIcon": "", | ||
| 428 | + "authId": 0, | ||
| 429 | + "authPersional": "", | ||
| 430 | + "authTitle": "", | ||
| 431 | + "banControl": 0, | ||
| 432 | + "categoryAuth": "", | ||
| 433 | + "cnLiveCommentControl": 1, | ||
| 434 | + "cnLiveGiftControl": 1, | ||
| 435 | + "cnLiveLikeControl": 1, | ||
| 436 | + "cnLiveShareControl": 1, | ||
| 437 | + "cnShareControl": 1, | ||
| 438 | + "collectNum": 0, | ||
| 439 | + "commentNum": 0, | ||
| 440 | + "createTime": 1710409988000, | ||
| 441 | + "fansNum": 1, | ||
| 442 | + "honoraryIcon": "", | ||
| 443 | + "honoraryTitle": "", | ||
| 444 | + "id": 200702, | ||
| 445 | + "introduction": "匠者仁心", | ||
| 446 | + "isAttention": null, | ||
| 447 | + "isComment": 1, | ||
| 448 | + "isLike": 1, | ||
| 449 | + "isVisiable": 1, | ||
| 450 | + "likeNum": 0, | ||
| 451 | + "liveCommentControl": 1, | ||
| 452 | + "liveGiftControl": 1, | ||
| 453 | + "liveLikeControl": 1, | ||
| 454 | + "liveShareControl": 1, | ||
| 455 | + "mainControl": 1, | ||
| 456 | + "posterShareControl": 1, | ||
| 457 | + "registTime": 1550712472000, | ||
| 458 | + "shareControl": 1, | ||
| 459 | + "shareNum": 0, | ||
| 460 | + "status": 1, | ||
| 461 | + "subjectType": null, | ||
| 462 | + "updateTime": 1710409988000, | ||
| 463 | + "userId": "567387477063621", | ||
| 464 | + "userType": 1 | ||
| 465 | + }, | ||
| 466 | + { | ||
| 467 | + "attentionCreatorId": "3258601", | ||
| 468 | + "attentionHeadPhotoUrl": "https://sitcontentjdcdn.aikan.pdnews.cn//upload/zw/bjh_image/1552718233_f0290f15dcbbb41d3af7ad9ed3099621.jpeg?x-oss-process=image/resize,l_400/auto-orient,1/quality,q_90/format,jpg", | ||
| 469 | + "attentionNum": 0, | ||
| 470 | + "attentionUserId": "509403475746054", | ||
| 471 | + "attentionUserName": "芳芳喜欢的科技课堂", | ||
| 472 | + "attentionUserType": 2, | ||
| 473 | + "authIcon": "", | ||
| 474 | + "authId": 0, | ||
| 475 | + "authPersional": "", | ||
| 476 | + "authTitle": "", | ||
| 477 | + "banControl": 0, | ||
| 478 | + "categoryAuth": "", | ||
| 479 | + "cnLiveCommentControl": 1, | ||
| 480 | + "cnLiveGiftControl": 1, | ||
| 481 | + "cnLiveLikeControl": 1, | ||
| 482 | + "cnLiveShareControl": 1, | ||
| 483 | + "cnShareControl": 1, | ||
| 484 | + "collectNum": 0, | ||
| 485 | + "commentNum": 0, | ||
| 486 | + "createTime": 1710409987000, | ||
| 487 | + "fansNum": 1, | ||
| 488 | + "honoraryIcon": "", | ||
| 489 | + "honoraryTitle": "", | ||
| 490 | + "id": 200701, | ||
| 491 | + "introduction": "每天分享与科技有关的新鲜事儿", | ||
| 492 | + "isAttention": null, | ||
| 493 | + "isComment": 1, | ||
| 494 | + "isLike": 1, | ||
| 495 | + "isVisiable": 1, | ||
| 496 | + "likeNum": 0, | ||
| 497 | + "liveCommentControl": 1, | ||
| 498 | + "liveGiftControl": 1, | ||
| 499 | + "liveLikeControl": 1, | ||
| 500 | + "liveShareControl": 1, | ||
| 501 | + "mainControl": 1, | ||
| 502 | + "posterShareControl": 1, | ||
| 503 | + "registTime": 1552718173000, | ||
| 504 | + "shareControl": 1, | ||
| 505 | + "shareNum": 0, | ||
| 506 | + "status": 1, | ||
| 507 | + "subjectType": null, | ||
| 508 | + "updateTime": 1710409987000, | ||
| 509 | + "userId": "567387477063621", | ||
| 510 | + "userType": 1 | ||
| 511 | + }, | ||
| 512 | + { | ||
| 513 | + "attentionCreatorId": "3258611", | ||
| 514 | + "attentionHeadPhotoUrl": "https://sitcontentjdcdn.aikan.pdnews.cn//upload/zw/bjh_image/1551495924_33f73482b19cd64f0f3906b19043113a.jpeg?x-oss-process=image/resize,l_400/auto-orient,1/quality,q_90/format,jpg", | ||
| 515 | + "attentionNum": 0, | ||
| 516 | + "attentionUserId": "509403509734662", | ||
| 517 | + "attentionUserName": "西平微传媒", | ||
| 518 | + "attentionUserType": 2, | ||
| 519 | + "authIcon": "", | ||
| 520 | + "authId": 0, | ||
| 521 | + "authPersional": "", | ||
| 522 | + "authTitle": "", | ||
| 523 | + "banControl": 0, | ||
| 524 | + "categoryAuth": "", | ||
| 525 | + "cnLiveCommentControl": 1, | ||
| 526 | + "cnLiveGiftControl": 1, | ||
| 527 | + "cnLiveLikeControl": 1, | ||
| 528 | + "cnLiveShareControl": 1, | ||
| 529 | + "cnShareControl": 1, | ||
| 530 | + "collectNum": 0, | ||
| 531 | + "commentNum": 0, | ||
| 532 | + "createTime": 1710409986000, | ||
| 533 | + "fansNum": 1, | ||
| 534 | + "honoraryIcon": "", | ||
| 535 | + "honoraryTitle": "", | ||
| 536 | + "id": 200700, | ||
| 537 | + "introduction": "西平县本地信息服务、热点追踪、关注民生。", | ||
| 538 | + "isAttention": null, | ||
| 539 | + "isComment": 1, | ||
| 540 | + "isLike": 1, | ||
| 541 | + "isVisiable": 1, | ||
| 542 | + "likeNum": 0, | ||
| 543 | + "liveCommentControl": 1, | ||
| 544 | + "liveGiftControl": 1, | ||
| 545 | + "liveLikeControl": 1, | ||
| 546 | + "liveShareControl": 1, | ||
| 547 | + "mainControl": 1, | ||
| 548 | + "posterShareControl": 1, | ||
| 549 | + "registTime": 1551495864000, | ||
| 550 | + "shareControl": 1, | ||
| 551 | + "shareNum": 0, | ||
| 552 | + "status": 1, | ||
| 553 | + "subjectType": null, | ||
| 554 | + "updateTime": 1710409986000, | ||
| 555 | + "userId": "567387477063621", | ||
| 556 | + "userType": 1 | ||
| 557 | + }, | ||
| 558 | + { | ||
| 559 | + "attentionCreatorId": "3258613", | ||
| 560 | + "attentionHeadPhotoUrl": "https://sitcontentjdcdn.aikan.pdnews.cn//upload/ueditor/image/20191011/a_367272241198526464.jpg?x-oss-process=image/resize,l_400/auto-orient,1/quality,q_90/format,jpg", | ||
| 561 | + "attentionNum": 0, | ||
| 562 | + "attentionUserId": "504980253394053", | ||
| 563 | + "attentionUserName": "安庆生活", | ||
| 564 | + "attentionUserType": 2, | ||
| 565 | + "authIcon": "", | ||
| 566 | + "authId": 0, | ||
| 567 | + "authPersional": "", | ||
| 568 | + "authTitle": "", | ||
| 569 | + "banControl": 0, | ||
| 570 | + "categoryAuth": "", | ||
| 571 | + "cnLiveCommentControl": 1, | ||
| 572 | + "cnLiveGiftControl": 1, | ||
| 573 | + "cnLiveLikeControl": 1, | ||
| 574 | + "cnLiveShareControl": 1, | ||
| 575 | + "cnShareControl": 1, | ||
| 576 | + "collectNum": 0, | ||
| 577 | + "commentNum": 0, | ||
| 578 | + "createTime": 1710409985000, | ||
| 579 | + "fansNum": 1, | ||
| 580 | + "honoraryIcon": "", | ||
| 581 | + "honoraryTitle": "", | ||
| 582 | + "id": 200699, | ||
| 583 | + "introduction": "传播有价值的声音,记录生活,共享精彩!\n", | ||
| 584 | + "isAttention": null, | ||
| 585 | + "isComment": 1, | ||
| 586 | + "isLike": 1, | ||
| 587 | + "isVisiable": 1, | ||
| 588 | + "likeNum": 0, | ||
| 589 | + "liveCommentControl": 1, | ||
| 590 | + "liveGiftControl": 1, | ||
| 591 | + "liveLikeControl": 1, | ||
| 592 | + "liveShareControl": 1, | ||
| 593 | + "mainControl": 1, | ||
| 594 | + "posterShareControl": 1, | ||
| 595 | + "registTime": 1551433741000, | ||
| 596 | + "shareControl": 1, | ||
| 597 | + "shareNum": 0, | ||
| 598 | + "status": 1, | ||
| 599 | + "subjectType": null, | ||
| 600 | + "updateTime": 1710409985000, | ||
| 601 | + "userId": "567387477063621", | ||
| 602 | + "userType": 1 | ||
| 603 | + }, | ||
| 604 | + { | ||
| 605 | + "attentionCreatorId": "3004851", | ||
| 606 | + "attentionHeadPhotoUrl": "https://sitcontentjdcdn.aikan.pdnews.cn/vod/content/202309/202309We172415100/h2j.png?x-oss-process=image/resize,l_400/auto-orient,1/quality,q_90/format,jpg", | ||
| 607 | + "attentionNum": 0, | ||
| 608 | + "attentionUserId": "444296355502149", | ||
| 609 | + "attentionUserName": "0920个人", | ||
| 610 | + "attentionUserType": 2, | ||
| 611 | + "authIcon": "", | ||
| 612 | + "authId": 0, | ||
| 613 | + "authPersional": "", | ||
| 614 | + "authTitle": "", | ||
| 615 | + "banControl": 0, | ||
| 616 | + "categoryAuth": "", | ||
| 617 | + "cnLiveCommentControl": 1, | ||
| 618 | + "cnLiveGiftControl": 1, | ||
| 619 | + "cnLiveLikeControl": 1, | ||
| 620 | + "cnLiveShareControl": 1, | ||
| 621 | + "cnShareControl": 1, | ||
| 622 | + "collectNum": 0, | ||
| 623 | + "commentNum": 0, | ||
| 624 | + "createTime": 1710409979000, | ||
| 625 | + "fansNum": 9, | ||
| 626 | + "honoraryIcon": "https://cdn.aikan.pdnews.cn/image/picture/202312/20231223173451966FdV.png", | ||
| 627 | + "honoraryTitle": "快乐星球", | ||
| 628 | + "id": 200698, | ||
| 629 | + "introduction": "账号简介", | ||
| 630 | + "isAttention": null, | ||
| 631 | + "isComment": 1, | ||
| 632 | + "isLike": 1, | ||
| 633 | + "isVisiable": 1, | ||
| 634 | + "likeNum": 6, | ||
| 635 | + "liveCommentControl": 1, | ||
| 636 | + "liveGiftControl": 1, | ||
| 637 | + "liveLikeControl": 1, | ||
| 638 | + "liveShareControl": 1, | ||
| 639 | + "mainControl": 1, | ||
| 640 | + "posterShareControl": 1, | ||
| 641 | + "registTime": 1695201858000, | ||
| 642 | + "shareControl": 1, | ||
| 643 | + "shareNum": 0, | ||
| 644 | + "status": 1, | ||
| 645 | + "subjectType": null, | ||
| 646 | + "updateTime": 1710409979000, | ||
| 647 | + "userId": "567387477063621", | ||
| 648 | + "userType": 1 | ||
| 649 | + }, | ||
| 650 | + { | ||
| 651 | + "attentionCreatorId": "3004853", | ||
| 652 | + "attentionHeadPhotoUrl": "https://sitcontentjdcdn.aikan.pdnews.cn/image/creator/2023092715/4727ab5db7604dbbac9ffb94ed03614e.png?x-oss-process=image/resize,l_400/auto-orient,1/quality,q_90/format,jpg", | ||
| 653 | + "attentionNum": 1, | ||
| 654 | + "attentionUserId": "444300764043333", | ||
| 655 | + "attentionUserName": "创作者账号7777", | ||
| 656 | + "attentionUserType": 2, | ||
| 657 | + "authIcon": "https://sitcontentjdcdn.aikan.pdnews.cn/creator-category/icon/auth/yellow.png", | ||
| 658 | + "authId": 2, | ||
| 659 | + "authPersional": "", | ||
| 660 | + "authTitle": "黄VV", | ||
| 661 | + "banControl": 0, | ||
| 662 | + "categoryAuth": "黄VV", | ||
| 663 | + "cnLiveCommentControl": 1, | ||
| 664 | + "cnLiveGiftControl": 1, | ||
| 665 | + "cnLiveLikeControl": 1, | ||
| 666 | + "cnLiveShareControl": 1, | ||
| 667 | + "cnShareControl": 1, | ||
| 668 | + "collectNum": 1, | ||
| 669 | + "commentNum": 7, | ||
| 670 | + "createTime": 1710409979000, | ||
| 671 | + "fansNum": 13, | ||
| 672 | + "honoraryIcon": "", | ||
| 673 | + "honoraryTitle": "", | ||
| 674 | + "id": 200697, | ||
| 675 | + "introduction": "协作平台是进行团队开发、协作的系统,一般是基于互联网,也有用专业网的情况。协作平台的主要功能是:分工合作、进度控制、版本控制等功能。协作平台是进行团队开发、协作的系统,一般是基于互联网,也有用专业网的情况。协作平台的主要功能是:分工合作、进度控制、版本控制等功能。协作平台是进行团队开发、协作的系统,一般是基于互联网,也有用专业网的情况。协作平台的主要功能是:分工合作、进度控制、版本控制等功能。协作", | ||
| 676 | + "isAttention": null, | ||
| 677 | + "isComment": 1, | ||
| 678 | + "isLike": 1, | ||
| 679 | + "isVisiable": 1, | ||
| 680 | + "likeNum": 0, | ||
| 681 | + "liveCommentControl": 1, | ||
| 682 | + "liveGiftControl": 1, | ||
| 683 | + "liveLikeControl": 1, | ||
| 684 | + "liveShareControl": 1, | ||
| 685 | + "mainControl": 1, | ||
| 686 | + "posterShareControl": 0, | ||
| 687 | + "registTime": 1695202406000, | ||
| 688 | + "shareControl": 1, | ||
| 689 | + "shareNum": 0, | ||
| 690 | + "status": 1, | ||
| 691 | + "subjectType": null, | ||
| 692 | + "updateTime": 1710409979000, | ||
| 693 | + "userId": "567387477063621", | ||
| 694 | + "userType": 1 | ||
| 695 | + }, | ||
| 696 | + { | ||
| 697 | + "attentionCreatorId": "3004849", | ||
| 698 | + "attentionHeadPhotoUrl": "https://sitcontentjdcdn.aikan.pdnews.cn/vod/content/202309/202309We140931534/CIX.png?x-oss-process=image/resize,l_400/auto-orient,1/quality,q_90/format,jpg", | ||
| 699 | + "attentionNum": 0, | ||
| 700 | + "attentionUserId": "444200272593477", | ||
| 701 | + "attentionUserName": "zhuaqu005", | ||
| 702 | + "attentionUserType": 2, | ||
| 703 | + "authIcon": "", | ||
| 704 | + "authId": 0, | ||
| 705 | + "authPersional": "", | ||
| 706 | + "authTitle": "", | ||
| 707 | + "banControl": 0, | ||
| 708 | + "categoryAuth": "", | ||
| 709 | + "cnLiveCommentControl": 1, | ||
| 710 | + "cnLiveGiftControl": 1, | ||
| 711 | + "cnLiveLikeControl": 1, | ||
| 712 | + "cnLiveShareControl": 1, | ||
| 713 | + "cnShareControl": 1, | ||
| 714 | + "collectNum": 0, | ||
| 715 | + "commentNum": 0, | ||
| 716 | + "createTime": 1710409978000, | ||
| 717 | + "fansNum": 10, | ||
| 718 | + "honoraryIcon": "", | ||
| 719 | + "honoraryTitle": "", | ||
| 720 | + "id": 200696, | ||
| 721 | + "introduction": "aaa", | ||
| 722 | + "isAttention": null, | ||
| 723 | + "isComment": 1, | ||
| 724 | + "isLike": 1, | ||
| 725 | + "isVisiable": 1, | ||
| 726 | + "likeNum": 0, | ||
| 727 | + "liveCommentControl": 1, | ||
| 728 | + "liveGiftControl": 1, | ||
| 729 | + "liveLikeControl": 1, | ||
| 730 | + "liveShareControl": 1, | ||
| 731 | + "mainControl": 1, | ||
| 732 | + "posterShareControl": 1, | ||
| 733 | + "registTime": 1695190066000, | ||
| 734 | + "shareControl": 1, | ||
| 735 | + "shareNum": 0, | ||
| 736 | + "status": 1, | ||
| 737 | + "subjectType": null, | ||
| 738 | + "updateTime": 1710409978000, | ||
| 739 | + "userId": "567387477063621", | ||
| 740 | + "userType": 1 | ||
| 741 | + }, | ||
| 742 | + { | ||
| 743 | + "attentionCreatorId": "3004841", | ||
| 744 | + "attentionHeadPhotoUrl": "https://sitcontentjdcdn.aikan.pdnews.cn/vod/content/202309/202309Tu155358686/Clu.png?x-oss-process=image/resize,l_400/auto-orient,1/quality,q_90/format,jpg", | ||
| 745 | + "attentionNum": 0, | ||
| 746 | + "attentionUserId": "443539162419717", | ||
| 747 | + "attentionUserName": "好主播007", | ||
| 748 | + "attentionUserType": 2, | ||
| 749 | + "authIcon": "", | ||
| 750 | + "authId": 0, | ||
| 751 | + "authPersional": "", | ||
| 752 | + "authTitle": "", | ||
| 753 | + "banControl": 0, | ||
| 754 | + "categoryAuth": "", | ||
| 755 | + "cnLiveCommentControl": 1, | ||
| 756 | + "cnLiveGiftControl": 1, | ||
| 757 | + "cnLiveLikeControl": 1, | ||
| 758 | + "cnLiveShareControl": 1, | ||
| 759 | + "cnShareControl": 1, | ||
| 760 | + "collectNum": 0, | ||
| 761 | + "commentNum": 0, | ||
| 762 | + "createTime": 1710409975000, | ||
| 763 | + "fansNum": 12, | ||
| 764 | + "honoraryIcon": "", | ||
| 765 | + "honoraryTitle": "", | ||
| 766 | + "id": 200695, | ||
| 767 | + "introduction": "qqq", | ||
| 768 | + "isAttention": null, | ||
| 769 | + "isComment": 1, | ||
| 770 | + "isLike": 1, | ||
| 771 | + "isVisiable": 1, | ||
| 772 | + "likeNum": 0, | ||
| 773 | + "liveCommentControl": 1, | ||
| 774 | + "liveGiftControl": 1, | ||
| 775 | + "liveLikeControl": 1, | ||
| 776 | + "liveShareControl": 1, | ||
| 777 | + "mainControl": 0, | ||
| 778 | + "posterShareControl": 1, | ||
| 779 | + "registTime": 1695110042000, | ||
| 780 | + "shareControl": 1, | ||
| 781 | + "shareNum": 0, | ||
| 782 | + "status": 1, | ||
| 783 | + "subjectType": null, | ||
| 784 | + "updateTime": 1710409975000, | ||
| 785 | + "userId": "567387477063621", | ||
| 786 | + "userType": 1 | ||
| 787 | + }, | ||
| 788 | + { | ||
| 789 | + "attentionCreatorId": "3004835", | ||
| 790 | + "attentionHeadPhotoUrl": "https://sitcontentjdcdn.aikan.pdnews.cn/vod/content/202309/20230919113007795/7uI.png?x-oss-process=image/resize,l_400/auto-orient,1/quality,q_90/format,jpg", | ||
| 791 | + "attentionNum": 0, | ||
| 792 | + "attentionUserId": "443416920261445", | ||
| 793 | + "attentionUserName": "随风而起", | ||
| 794 | + "attentionUserType": 2, | ||
| 795 | + "authIcon": "", | ||
| 796 | + "authId": 0, | ||
| 797 | + "authPersional": "", | ||
| 798 | + "authTitle": "", | ||
| 799 | + "banControl": 0, | ||
| 800 | + "categoryAuth": "", | ||
| 801 | + "cnLiveCommentControl": 1, | ||
| 802 | + "cnLiveGiftControl": 1, | ||
| 803 | + "cnLiveLikeControl": 1, | ||
| 804 | + "cnLiveShareControl": 1, | ||
| 805 | + "cnShareControl": 1, | ||
| 806 | + "collectNum": 0, | ||
| 807 | + "commentNum": 0, | ||
| 808 | + "createTime": 1710409975000, | ||
| 809 | + "fansNum": 2291, | ||
| 810 | + "honoraryIcon": "", | ||
| 811 | + "honoraryTitle": "", | ||
| 812 | + "id": 200694, | ||
| 813 | + "introduction": "灰度号主", | ||
| 814 | + "isAttention": null, | ||
| 815 | + "isComment": 1, | ||
| 816 | + "isLike": 1, | ||
| 817 | + "isVisiable": 1, | ||
| 818 | + "likeNum": 0, | ||
| 819 | + "liveCommentControl": 1, | ||
| 820 | + "liveGiftControl": 1, | ||
| 821 | + "liveLikeControl": 1, | ||
| 822 | + "liveShareControl": 1, | ||
| 823 | + "mainControl": 0, | ||
| 824 | + "posterShareControl": 1, | ||
| 825 | + "registTime": 1695094442000, | ||
| 826 | + "shareControl": 1, | ||
| 827 | + "shareNum": 0, | ||
| 828 | + "status": 1, | ||
| 829 | + "subjectType": null, | ||
| 830 | + "updateTime": 1710409975000, | ||
| 831 | + "userId": "567387477063621", | ||
| 832 | + "userType": 1 | ||
| 833 | + } | ||
| 834 | + ], | ||
| 835 | + "pageNum": 1, | ||
| 836 | + "pageSize": 20, | ||
| 837 | + "totalCount": 18 | ||
| 838 | + }, | ||
| 839 | + "message": "Success", | ||
| 840 | + "meta": null, | ||
| 841 | + "requestId": "", | ||
| 842 | + "success": true, | ||
| 843 | + "timestamp": 1710989304704 | ||
| 844 | +} |
| 1 | +{ | ||
| 2 | + "code": "0", | ||
| 3 | + "data": { | ||
| 4 | + "articleCreation": 0, | ||
| 5 | + "attentionNum": 22, | ||
| 6 | + "authIcon": "", | ||
| 7 | + "authId": 0, | ||
| 8 | + "authPersonal": "", | ||
| 9 | + "authTitle": "", | ||
| 10 | + "avatarFrame": "", | ||
| 11 | + "browseNum": 22, | ||
| 12 | + "categoryAuth": "", | ||
| 13 | + "city": "", | ||
| 14 | + "cnContentPublish": 0, | ||
| 15 | + "cnLivePublish": 0, | ||
| 16 | + "cnShareControl": 0, | ||
| 17 | + "collectNum": 4, | ||
| 18 | + "commentNum": 0, | ||
| 19 | + "contentPublish": 0, | ||
| 20 | + "creatorId": "", | ||
| 21 | + "district": "", | ||
| 22 | + "dynamicControl": 0, | ||
| 23 | + "dynamicCreation": 0, | ||
| 24 | + "fansNum": 0, | ||
| 25 | + "headPhotoUrl": "https://sitcontentjdcdn.aikan.pdnews.cn//img/user/2024031215/48d5bd53227d436b9faa937b3ac14600.png", | ||
| 26 | + "honoraryIcon": "", | ||
| 27 | + "honoraryTitle": "", | ||
| 28 | + "introduction": "", | ||
| 29 | + "isComment": 0, | ||
| 30 | + "isLike": 0, | ||
| 31 | + "livePublish": 0, | ||
| 32 | + "liveSwitch": 1, | ||
| 33 | + "mainControl": 1, | ||
| 34 | + "originUserId": "", | ||
| 35 | + "pictureCollectionCreation": 0, | ||
| 36 | + "posterShareControl": 1, | ||
| 37 | + "province": "", | ||
| 38 | + "region": "安徽省", | ||
| 39 | + "registTime": 1710227567000, | ||
| 40 | + "reserveNum": 6, | ||
| 41 | + "shareControl": 0, | ||
| 42 | + "shareUrl": "", | ||
| 43 | + "speakControl": 0, | ||
| 44 | + "subjectType": 0, | ||
| 45 | + "userId": "567387477063621", | ||
| 46 | + "userName": "人民日报网友aPrtq5", | ||
| 47 | + "userType": "1", | ||
| 48 | + "videoCollectionCreation": 0, | ||
| 49 | + "videoCreation": 0 | ||
| 50 | + }, | ||
| 51 | + "message": "Success", | ||
| 52 | + "meta": null, | ||
| 53 | + "requestId": "", | ||
| 54 | + "success": true, | ||
| 55 | + "timestamp": 1711357314033 | ||
| 56 | +} |
| 1 | +{ | ||
| 2 | + "code": "0", | ||
| 3 | + "data": { | ||
| 4 | + "createTime": "2024-03-12 15:12:47", | ||
| 5 | + "id": 132386, | ||
| 6 | + "levelHead": "http://rmrb-video-content-sit.oss-cn-beijing.aliyuncs.com/sjbj-20240125/image/display/88c45bf56ac941b883c69bd8ed373164.png", | ||
| 7 | + "levelId": 2, | ||
| 8 | + "levelName": "初入武林", | ||
| 9 | + "levelNum": 155, | ||
| 10 | + "modifyTime": "2024-03-25 16:35:57", | ||
| 11 | + "status": 1, | ||
| 12 | + "userId": 567387477063621 | ||
| 13 | + }, | ||
| 14 | + "message": "Success", | ||
| 15 | + "success": true, | ||
| 16 | + "timestamp": 1711357314136 | ||
| 17 | +} |
| @@ -34,10 +34,12 @@ export { AboutPageUI } from "./components/page/about/AboutPageUI" | @@ -34,10 +34,12 @@ export { AboutPageUI } from "./components/page/about/AboutPageUI" | ||
| 34 | 34 | ||
| 35 | export { PrivacySettingComponents } from "./components/page/PrivacySettingComponents" | 35 | export { PrivacySettingComponents } from "./components/page/PrivacySettingComponents" |
| 36 | 36 | ||
| 37 | -export { AppointmentListUI } from "./components/page/mine/AppointmentListUI" | 37 | +export { AppointmentListUI } from "./components/page/mine/appointment/AppointmentListUI" |
| 38 | 38 | ||
| 39 | export { AccountAndSecurityLayout } from "./components/page/AccountAndSecurityLayout" | 39 | export { AccountAndSecurityLayout } from "./components/page/AccountAndSecurityLayout" |
| 40 | 40 | ||
| 41 | export { SettingPasswordLayout } from "./components/page/SettingPasswordLayout" | 41 | export { SettingPasswordLayout } from "./components/page/SettingPasswordLayout" |
| 42 | 42 | ||
| 43 | export { FollowFirstTabsComponent } from "./components/page/mine/follow/FollowFirstTabsComponent" | 43 | export { FollowFirstTabsComponent } from "./components/page/mine/follow/FollowFirstTabsComponent" |
| 44 | + | ||
| 45 | +export { MyHomeComponent } from "./components/page/mine/MyHomeComponent" |
| @@ -17,15 +17,14 @@ const TAG = 'MinePageComponent'; | @@ -17,15 +17,14 @@ const TAG = 'MinePageComponent'; | ||
| 17 | export struct MinePageComponent { | 17 | export struct MinePageComponent { |
| 18 | //是否是创作者 | 18 | //是否是创作者 |
| 19 | @State isCreator:boolean = false | 19 | @State isCreator:boolean = false |
| 20 | - @State isLogin:boolean = true | 20 | + @State isLogin:boolean = true //默认 false 测试放开 |
| 21 | @State personalData:MinePagePersonalFunctionsItem[] = [] | 21 | @State personalData:MinePagePersonalFunctionsItem[] = [] |
| 22 | @State creatorData:MinePageCreatorFunctionsItem[] = [] | 22 | @State creatorData:MinePageCreatorFunctionsItem[] = [] |
| 23 | @State moreData:MinePageMoreFunctionModel[] = [] | 23 | @State moreData:MinePageMoreFunctionModel[] = [] |
| 24 | scroller: Scroller = new Scroller() | 24 | scroller: Scroller = new Scroller() |
| 25 | 25 | ||
| 26 | aboutToAppear(){ | 26 | aboutToAppear(){ |
| 27 | - //登录信息 TODO | ||
| 28 | - | 27 | + this.getUserLogin() |
| 29 | this.getFunctionData() | 28 | this.getFunctionData() |
| 30 | } | 29 | } |
| 31 | 30 | ||
| @@ -77,4 +76,15 @@ export struct MinePageComponent { | @@ -77,4 +76,15 @@ export struct MinePageComponent { | ||
| 77 | .height('100%') | 76 | .height('100%') |
| 78 | } | 77 | } |
| 79 | 78 | ||
| 79 | + getUserLogin() { | ||
| 80 | + // let userid = await SPHelper.default.get(SpConstants.USER_ID,"") | ||
| 81 | + // if(StringUtils.isNotEmpty(userid)){ | ||
| 82 | + // this.isLogin = true | ||
| 83 | + // let userName = await SPHelper.default.get(SpConstants.USER_NAME,"") as string | ||
| 84 | + // this.userName = userName | ||
| 85 | + // }else{ | ||
| 86 | + // this.isLogin = false | ||
| 87 | + // } | ||
| 88 | + } | ||
| 89 | + | ||
| 80 | } | 90 | } |
| @@ -64,7 +64,7 @@ export default struct MinePageCreatorFunctionUI { | @@ -64,7 +64,7 @@ export default struct MinePageCreatorFunctionUI { | ||
| 64 | console.log(index+"") | 64 | console.log(index+"") |
| 65 | }).width('169lpx') | 65 | }).width('169lpx') |
| 66 | .height('117lpx') | 66 | .height('117lpx') |
| 67 | - }, item => item) | 67 | + }) |
| 68 | } | 68 | } |
| 69 | .rowsTemplate('1fr') | 69 | .rowsTemplate('1fr') |
| 70 | .columnsTemplate('1fr 1fr 1fr 1fr') | 70 | .columnsTemplate('1fr 1fr 1fr 1fr') |
| 1 | +import MinePageDatasModel from '../../../model/MinePageDatasModel' | ||
| 1 | import RouteManager from '../../../utils/RouteManager' | 2 | import RouteManager from '../../../utils/RouteManager' |
| 3 | +const TAG = "MinePageUserSimpleInfoUI" | ||
| 2 | 4 | ||
| 3 | @Component | 5 | @Component |
| 4 | export default struct MinePageUserSimpleInfoUI { | 6 | export default struct MinePageUserSimpleInfoUI { |
| 5 | @Prop isLogin:boolean | 7 | @Prop isLogin:boolean |
| 8 | + @State userName:string = "登陆注册" | ||
| 9 | + @State headPhotoUrl:string = "" | ||
| 10 | + @State levelHead:string = "" | ||
| 11 | + @State levelId:number = 0 | ||
| 12 | + | ||
| 13 | + | ||
| 14 | + aboutToAppear(){ | ||
| 15 | + if(this.isLogin){ | ||
| 16 | + this.getUserInfo() | ||
| 17 | + this.getUserLevel() | ||
| 18 | + } | ||
| 19 | + } | ||
| 6 | 20 | ||
| 7 | build(){ | 21 | build(){ |
| 8 | Row(){ | 22 | Row(){ |
| 9 | //头像 | 23 | //头像 |
| 10 | Stack(){ | 24 | Stack(){ |
| 11 | - Button({type:ButtonType.Circle}) | ||
| 12 | - .backgroundColor($r('app.color.main_red')) | ||
| 13 | - .width('110lpx') | ||
| 14 | - .height('110lpx') | ||
| 15 | - Image($r('app.media.mine_head_icon')) | 25 | + Image(this.headPhotoUrl) |
| 26 | + .alt($r('app.media.default_head')) | ||
| 16 | .width('108lpx') | 27 | .width('108lpx') |
| 17 | .height('108lpx') | 28 | .height('108lpx') |
| 18 | .objectFit(ImageFit.Cover) | 29 | .objectFit(ImageFit.Cover) |
| 19 | .borderRadius(50) | 30 | .borderRadius(50) |
| 20 | - }.width('110lpx') | ||
| 21 | - .height('110lpx') | 31 | + |
| 32 | + Image(this.levelHead) | ||
| 33 | + .width('120lpx') | ||
| 34 | + .height('120lpx') | ||
| 35 | + .objectFit(ImageFit.Cover) | ||
| 36 | + .borderRadius(50) | ||
| 37 | + }.width('120lpx') | ||
| 38 | + .height('120lpx') | ||
| 22 | .alignContent(Alignment.Center) | 39 | .alignContent(Alignment.Center) |
| 23 | .onClick(()=>{ | 40 | .onClick(()=>{ |
| 24 | - RouteManager.jumpNewPage("pages/TestPage") | 41 | + if(!this.isLogin){ |
| 42 | + // RouteManager.jumpNewPage("pages/SettingAboutPage") | ||
| 43 | + }else { | ||
| 44 | + RouteManager.jumpNewPage("pages/MyHomePage") | ||
| 45 | + } | ||
| 25 | }) | 46 | }) |
| 26 | 47 | ||
| 27 | if(this.isLogin){ | 48 | if(this.isLogin){ |
| 28 | //昵称信息 | 49 | //昵称信息 |
| 29 | Column(){ | 50 | Column(){ |
| 30 | Row(){ | 51 | Row(){ |
| 31 | - Text("人民日报6G5E3T") | 52 | + Text(this.userName) |
| 32 | .fontColor($r('app.color.color_222222')) | 53 | .fontColor($r('app.color.color_222222')) |
| 33 | .maxLines(1) | 54 | .maxLines(1) |
| 34 | .textOverflow({ overflow: TextOverflow.Ellipsis }) | 55 | .textOverflow({ overflow: TextOverflow.Ellipsis }) |
| @@ -47,7 +68,7 @@ export default struct MinePageUserSimpleInfoUI { | @@ -47,7 +68,7 @@ export default struct MinePageUserSimpleInfoUI { | ||
| 47 | .width('84lpx') | 68 | .width('84lpx') |
| 48 | .height('29lpx') | 69 | .height('29lpx') |
| 49 | .objectFit(ImageFit.Auto) | 70 | .objectFit(ImageFit.Auto) |
| 50 | - Text("等级8") | 71 | + Text(`等级${this.levelId}`) |
| 51 | .textAlign(TextAlign.Center) | 72 | .textAlign(TextAlign.Center) |
| 52 | .fontColor($r('app.color.white')) | 73 | .fontColor($r('app.color.white')) |
| 53 | .fontSize('19lpx') | 74 | .fontSize('19lpx') |
| @@ -108,4 +129,25 @@ export default struct MinePageUserSimpleInfoUI { | @@ -108,4 +129,25 @@ export default struct MinePageUserSimpleInfoUI { | ||
| 108 | @Styles setFullHeight(){ | 129 | @Styles setFullHeight(){ |
| 109 | .height('100%') | 130 | .height('100%') |
| 110 | } | 131 | } |
| 132 | + | ||
| 133 | + getUserInfo(){ | ||
| 134 | + MinePageDatasModel.getUserDetailData(getContext(this)).then((value)=>{ | ||
| 135 | + if(value!=null){ | ||
| 136 | + this.userName = value.userName | ||
| 137 | + this.headPhotoUrl = value.headPhotoUrl | ||
| 138 | + } | ||
| 139 | + }).catch((err:Error)=>{ | ||
| 140 | + console.log(TAG,JSON.stringify(err)) | ||
| 141 | + }) | ||
| 142 | + } | ||
| 143 | + getUserLevel(){ | ||
| 144 | + MinePageDatasModel.getUserLevelData(getContext(this)).then((value)=>{ | ||
| 145 | + if(value!=null){ | ||
| 146 | + this.levelHead = value.levelHead | ||
| 147 | + this.levelId = value.levelId | ||
| 148 | + } | ||
| 149 | + }).catch((err:Error)=>{ | ||
| 150 | + console.log(TAG,JSON.stringify(err)) | ||
| 151 | + }) | ||
| 152 | + } | ||
| 111 | } | 153 | } |
| 1 | +import router from '@ohos.router'; | ||
| 2 | +import { StringUtils } from 'wdKit/src/main/ets/utils/StringUtils'; | ||
| 3 | +import MinePageDatasModel from '../../../model/MinePageDatasModel'; | ||
| 4 | +import { HomePageBottomComponent } from './home/HomePageBottomComponent'; | ||
| 5 | + | ||
| 6 | +const TAG = "MyHomeComponent" | ||
| 7 | + | ||
| 8 | +@Component | ||
| 9 | +export struct MyHomeComponent { | ||
| 10 | + @State tileOpacity: number = 0; | ||
| 11 | + firstPositionY:number = 0; | ||
| 12 | + fontColor: string = '#999999' | ||
| 13 | + selectedFontColor: string = '#000000' | ||
| 14 | + @State currentIndex: number = 0 | ||
| 15 | + private controller: TabsController = new TabsController() | ||
| 16 | + isChangeToUserEdit = false; | ||
| 17 | + | ||
| 18 | + @State userName:string = "" | ||
| 19 | + @State headPhotoUrl:string = "" | ||
| 20 | + @State levelHead:string = "" | ||
| 21 | + @State levelId:number = 0 | ||
| 22 | + @State desc:string = "点击添加简介,让大家认识你" //text 搞两个样式,如果三行,就显示 另外一个text 没有显示高度的 | ||
| 23 | + @State isHasIntroduction: boolean = false | ||
| 24 | + @State browseNum:number = 0//阅读数 | ||
| 25 | + @State commentNum:number = 0//评论数 | ||
| 26 | + @State attentionNum:number = 0//关注数 | ||
| 27 | + registTime:number = 0//账号注册时间 | ||
| 28 | + @State registerTimeForDay:number = 0 | ||
| 29 | + | ||
| 30 | + aboutToAppear(){ | ||
| 31 | + this.getUserInfo() | ||
| 32 | + this.getUserLevel() | ||
| 33 | + } | ||
| 34 | + | ||
| 35 | + build() { | ||
| 36 | + Stack({ alignContent: Alignment.Top }){ | ||
| 37 | + Image($r('app.media.title_bg')) | ||
| 38 | + .width('100%') | ||
| 39 | + .height('355lpx') | ||
| 40 | + .objectFit(ImageFit.Cover) | ||
| 41 | + | ||
| 42 | + Column(){ | ||
| 43 | + Stack({ alignContent: Alignment.Top }){ | ||
| 44 | + this.MineHomeTitleTransparent() | ||
| 45 | + this.MineHomeTitleWhite() | ||
| 46 | + } | ||
| 47 | + | ||
| 48 | + Scroll() { | ||
| 49 | + Column() { | ||
| 50 | + //用户信息区域 | ||
| 51 | + Row() { | ||
| 52 | + Stack(){ | ||
| 53 | + Image(this.headPhotoUrl) | ||
| 54 | + .alt($r('app.media.default_head')) | ||
| 55 | + .width('115lpx') | ||
| 56 | + .height('115lpx') | ||
| 57 | + .objectFit(ImageFit.Cover) | ||
| 58 | + .borderRadius(50) | ||
| 59 | + Image(this.levelHead) | ||
| 60 | + .width('130lpx') | ||
| 61 | + .height('130lpx') | ||
| 62 | + .objectFit(ImageFit.Cover) | ||
| 63 | + .borderRadius(50) | ||
| 64 | + } | ||
| 65 | + Column() { | ||
| 66 | + Row() { | ||
| 67 | + Text(`${this.userName}`) | ||
| 68 | + .fontColor($r('app.color.white')) | ||
| 69 | + .maxLines(1) | ||
| 70 | + .textOverflow({ overflow: TextOverflow.Ellipsis }) | ||
| 71 | + .fontSize('38lpx') | ||
| 72 | + .lineHeight('50lpx') | ||
| 73 | + .fontWeight('500lpx') | ||
| 74 | + | ||
| 75 | + Text(`等级${this.levelId}`) | ||
| 76 | + .textAlign(TextAlign.Center) | ||
| 77 | + .fontColor($r('app.color.color_ED2800')) | ||
| 78 | + .backgroundColor($r('app.color.white')) | ||
| 79 | + .fontSize('19lpx') | ||
| 80 | + .width('96lpx') | ||
| 81 | + .height('35lpx') | ||
| 82 | + .margin({ left: '10lpx' }) | ||
| 83 | + Blank() | ||
| 84 | + }.width('507lpx') | ||
| 85 | + | ||
| 86 | + Row() { | ||
| 87 | + Row() { | ||
| 88 | + Text(`${this.browseNum}`) | ||
| 89 | + .textStyle() | ||
| 90 | + Text("阅读") | ||
| 91 | + .textStyle2() | ||
| 92 | + } | ||
| 93 | + .margin({ right: '15lpx' }) | ||
| 94 | + | ||
| 95 | + Divider() | ||
| 96 | + .height('19lpx') | ||
| 97 | + .width('2lpx') | ||
| 98 | + .color($r('app.color.white')) | ||
| 99 | + .vertical(true) | ||
| 100 | + .opacity(0.4) | ||
| 101 | + Row() { | ||
| 102 | + Text(`${this.commentNum}`) | ||
| 103 | + .textStyle() | ||
| 104 | + Text("评论") | ||
| 105 | + .textStyle2() | ||
| 106 | + }.margin({ right: '15lpx', left: '15lpx' }) | ||
| 107 | + | ||
| 108 | + Divider() | ||
| 109 | + .height('19lpx') | ||
| 110 | + .width('2lpx') | ||
| 111 | + .color($r('app.color.white')) | ||
| 112 | + .vertical(true) | ||
| 113 | + .opacity(0.4) | ||
| 114 | + Row() { | ||
| 115 | + Text(`${this.attentionNum}`) | ||
| 116 | + .textStyle() | ||
| 117 | + Text("关注") | ||
| 118 | + .textStyle2() | ||
| 119 | + }.margin({ left: '15lpx' }) | ||
| 120 | + }.margin({ top: '23lpx' }) | ||
| 121 | + }.alignItems(HorizontalAlign.Start) | ||
| 122 | + .margin({ left: '32lpx' }) | ||
| 123 | + } | ||
| 124 | + .onAreaChange((oldValue: Area, newValue: Area) => { | ||
| 125 | + if (this.firstPositionY === 0) { | ||
| 126 | + this.firstPositionY = newValue.globalPosition.y as number | ||
| 127 | + }else{ | ||
| 128 | + let persent = (this.firstPositionY - Number(newValue.globalPosition.y)) / (this.firstPositionY * 0.3) | ||
| 129 | + if(persent > 1){ | ||
| 130 | + persent = 1 | ||
| 131 | + } | ||
| 132 | + this.tileOpacity = persent | ||
| 133 | + } | ||
| 134 | + }) | ||
| 135 | + .backgroundColor($r('app.color.color_transparent')) | ||
| 136 | + .height('184lpx') | ||
| 137 | + .width('100%') | ||
| 138 | + .padding({ left: '35lpx' }) | ||
| 139 | + //用户简介区域 | ||
| 140 | + Column() { | ||
| 141 | + Row() { | ||
| 142 | + Text(this.desc) | ||
| 143 | + .fontSize('27lpx') | ||
| 144 | + .maxLines(3) | ||
| 145 | + .textOverflow({ overflow: TextOverflow.Ellipsis }) | ||
| 146 | + .lineHeight('40lpx') | ||
| 147 | + .fontWeight('400lpx') | ||
| 148 | + .fontColor(this.isHasIntroduction?$r('app.color.color_222222'):$r('app.color.color_999999')) | ||
| 149 | + .textAlign(TextAlign.Start) | ||
| 150 | + | ||
| 151 | + if(!this.isHasIntroduction){ | ||
| 152 | + Image($r('app.media.user_info_edit_icon')) | ||
| 153 | + .width('27lpx') | ||
| 154 | + .height('27lpx') | ||
| 155 | + .objectFit(ImageFit.Auto) | ||
| 156 | + } | ||
| 157 | + } | ||
| 158 | + Text(`来到人民日报${this.registerTimeForDay}天`) | ||
| 159 | + .fontSize('23lpx') | ||
| 160 | + .lineHeight('25lpx') | ||
| 161 | + .fontWeight('400lpx') | ||
| 162 | + .fontColor($r('app.color.color_999999')) | ||
| 163 | + .textAlign(TextAlign.Start) | ||
| 164 | + .margin({ top: '15lpx' }) | ||
| 165 | + | ||
| 166 | + }.padding({ left: '31lpx',right:'31lpx',top:'19lpx',bottom:'31lpx'}) | ||
| 167 | + .alignItems(HorizontalAlign.Start) | ||
| 168 | + .justifyContent(FlexAlign.Center) | ||
| 169 | + .width('100%') | ||
| 170 | + .backgroundColor($r('app.color.white')) | ||
| 171 | + //间隔符 | ||
| 172 | + | ||
| 173 | + Divider().width('100%').height('12lpx').color($r('app.color.color_F5F5F5')).strokeWidth('12lpx') | ||
| 174 | + | ||
| 175 | + //tab 页面 | ||
| 176 | + Tabs({controller: this.controller}) { | ||
| 177 | + TabContent() { | ||
| 178 | + HomePageBottomComponent({style:0}) | ||
| 179 | + }.tabBar(this.TabBuilder(0,"评论")) | ||
| 180 | + TabContent() { | ||
| 181 | + HomePageBottomComponent({style:1}) | ||
| 182 | + }.tabBar(this.TabBuilder(1,"关注")) | ||
| 183 | + } | ||
| 184 | + .backgroundColor($r('app.color.white')) | ||
| 185 | + .animationDuration(0) | ||
| 186 | + .onChange((index: number) => { | ||
| 187 | + this.currentIndex = index | ||
| 188 | + }) | ||
| 189 | + .vertical(false) | ||
| 190 | + .height("100%") | ||
| 191 | + }.width("100%") | ||
| 192 | + } | ||
| 193 | + .edgeEffect(EdgeEffect.None) | ||
| 194 | + .scrollBar(BarState.Off) | ||
| 195 | + .width('100%') | ||
| 196 | + .height('100%') | ||
| 197 | + } | ||
| 198 | + }.width('100%') | ||
| 199 | + .height('100%') | ||
| 200 | + | ||
| 201 | + } | ||
| 202 | + @Builder MineHomeTitleTransparent() { | ||
| 203 | + RelativeContainer() { | ||
| 204 | + //标题栏目 | ||
| 205 | + Image($r('app.media.icon_arrow_left_white') ) | ||
| 206 | + .width('46lpx') | ||
| 207 | + .height('46lpx') | ||
| 208 | + .objectFit(ImageFit.Auto) | ||
| 209 | + .id("back_icon") | ||
| 210 | + .alignRules({ | ||
| 211 | + center: { anchor: "__container__", align: VerticalAlign.Center }, | ||
| 212 | + left: { anchor: "__container__", align: HorizontalAlign.Start } | ||
| 213 | + }) | ||
| 214 | + .margin({ left: '31lpx' }) | ||
| 215 | + .onClick(() => { | ||
| 216 | + router.back() | ||
| 217 | + }) | ||
| 218 | + | ||
| 219 | + Text("编辑资料") | ||
| 220 | + .height('42lpx') | ||
| 221 | + .maxLines(1) | ||
| 222 | + .id("rightText") | ||
| 223 | + .fontSize('35lpx') | ||
| 224 | + .fontWeight('400lpx') | ||
| 225 | + .fontColor($r('app.color.white') ) | ||
| 226 | + .lineHeight('42lpx') | ||
| 227 | + .alignRules({ | ||
| 228 | + center: { anchor: "__container__", align: VerticalAlign.Center }, | ||
| 229 | + right: { anchor: "__container__", align: HorizontalAlign.End } | ||
| 230 | + }) | ||
| 231 | + .margin({ right: '31lpx' }) | ||
| 232 | + .onClick(()=>{ | ||
| 233 | + this.editUserInfo() | ||
| 234 | + }) | ||
| 235 | + } | ||
| 236 | + .visibility(this.tileOpacity > 0 ? 1 : 0) | ||
| 237 | + .height('84lpx') | ||
| 238 | + .width('100%') | ||
| 239 | + .backgroundColor($r('app.color.color_transparent')) | ||
| 240 | + } | ||
| 241 | + | ||
| 242 | + | ||
| 243 | + @Builder MineHomeTitleWhite() { | ||
| 244 | + RelativeContainer() { | ||
| 245 | + //标题栏目 | ||
| 246 | + Image($r('app.media.back_icon')) | ||
| 247 | + .width('46lpx') | ||
| 248 | + .height('46lpx') | ||
| 249 | + .objectFit(ImageFit.Auto) | ||
| 250 | + .id("back_icon") | ||
| 251 | + .alignRules({ | ||
| 252 | + center: { anchor: "__container__", align: VerticalAlign.Center }, | ||
| 253 | + left: { anchor: "__container__", align: HorizontalAlign.Start } | ||
| 254 | + }) | ||
| 255 | + .margin({ left: '31lpx' }) | ||
| 256 | + .onClick(() => { | ||
| 257 | + router.back() | ||
| 258 | + }) | ||
| 259 | + Image($r('app.media.default_head')) | ||
| 260 | + .width('60lpx') | ||
| 261 | + .height('60lpx') | ||
| 262 | + .objectFit(ImageFit.Auto) | ||
| 263 | + .id("head_icon") | ||
| 264 | + .alignRules({ | ||
| 265 | + center: { anchor: "__container__", align: VerticalAlign.Center }, | ||
| 266 | + left: { anchor: "back_icon", align: HorizontalAlign.End } | ||
| 267 | + }) | ||
| 268 | + .margin({ left: '31lpx' }) | ||
| 269 | + .onClick(() => { | ||
| 270 | + router.back() | ||
| 271 | + }) | ||
| 272 | + | ||
| 273 | + Text("我的昵称") | ||
| 274 | + .height('42lpx') | ||
| 275 | + .maxLines(1) | ||
| 276 | + .id("title") | ||
| 277 | + .fontSize('35lpx') | ||
| 278 | + .fontWeight('400lpx') | ||
| 279 | + .fontColor($r('app.color.color_222222')) | ||
| 280 | + .lineHeight('42lpx') | ||
| 281 | + .alignRules({ | ||
| 282 | + center: { anchor: "__container__", align: VerticalAlign.Center }, | ||
| 283 | + left: { anchor: "head_icon", align: HorizontalAlign.End } | ||
| 284 | + }) | ||
| 285 | + .margin({ left: '12lpx' }) | ||
| 286 | + | ||
| 287 | + Text("编辑资料") | ||
| 288 | + .height('42lpx') | ||
| 289 | + .maxLines(1) | ||
| 290 | + .id("rightText") | ||
| 291 | + .fontSize('35lpx') | ||
| 292 | + .fontWeight('400lpx') | ||
| 293 | + .fontColor($r('app.color.color_222222')) | ||
| 294 | + .lineHeight('42lpx') | ||
| 295 | + .alignRules({ | ||
| 296 | + center: { anchor: "__container__", align: VerticalAlign.Center }, | ||
| 297 | + right: { anchor: "__container__", align: HorizontalAlign.End } | ||
| 298 | + }) | ||
| 299 | + .margin({ right: '31lpx' }) | ||
| 300 | + .onClick(()=>{ | ||
| 301 | + this.editUserInfo() | ||
| 302 | + }) | ||
| 303 | + } | ||
| 304 | + .visibility(this.tileOpacity > 0 ? 0 : 1) | ||
| 305 | + .height('84lpx') | ||
| 306 | + .width('100%') | ||
| 307 | + .backgroundColor($r('app.color.white')) | ||
| 308 | + .opacity(this.tileOpacity ) | ||
| 309 | + | ||
| 310 | + } | ||
| 311 | + | ||
| 312 | + @Builder TabBuilder(index: number, title: string) { | ||
| 313 | + Stack(){ | ||
| 314 | + Text(title) | ||
| 315 | + .height('38lpx') | ||
| 316 | + .fontSize('33lpx') | ||
| 317 | + .fontWeight(this.currentIndex === index ? 600 : 400) | ||
| 318 | + .fontColor(this.currentIndex === index ? this.selectedFontColor : this.fontColor) | ||
| 319 | + .lineHeight('38lpx') | ||
| 320 | + | ||
| 321 | + if(this.currentIndex === index){ | ||
| 322 | + Divider() | ||
| 323 | + .width('31lpx') | ||
| 324 | + .height('4lpx') | ||
| 325 | + .color('#ED2800') | ||
| 326 | + .strokeWidth('4lpx') | ||
| 327 | + .margin({top:'50lpx'}) | ||
| 328 | + .id("divTag") | ||
| 329 | + } | ||
| 330 | + }.onClick(()=>{ | ||
| 331 | + this.currentIndex = index | ||
| 332 | + this.controller.changeIndex(this.currentIndex) | ||
| 333 | + }) | ||
| 334 | + .height('100%') | ||
| 335 | + .width('100%') | ||
| 336 | + .margin({right:'9lpx'}) | ||
| 337 | + } | ||
| 338 | + | ||
| 339 | + /** | ||
| 340 | + * 跳转编辑资料(防止二次点击) | ||
| 341 | + */ | ||
| 342 | + editUserInfo(){ | ||
| 343 | + if(!this.isChangeToUserEdit){ | ||
| 344 | + this.isChangeToUserEdit = true; | ||
| 345 | + let c = setInterval(() => { | ||
| 346 | + this.isChangeToUserEdit = false | ||
| 347 | + }, 1000); | ||
| 348 | + //route 跳转写这里 TODO | ||
| 349 | + } | ||
| 350 | + } | ||
| 351 | + | ||
| 352 | + getUserInfo(){ | ||
| 353 | + MinePageDatasModel.getUserDetailData(getContext(this)).then((value)=>{ | ||
| 354 | + if(value!=null){ | ||
| 355 | + this.userName = value.userName | ||
| 356 | + this.headPhotoUrl = value.headPhotoUrl | ||
| 357 | + if(StringUtils.isNotEmpty(value.introduction)){ | ||
| 358 | + this.desc = value.introduction | ||
| 359 | + this.isHasIntroduction = true | ||
| 360 | + } | ||
| 361 | + this.browseNum = value.browseNum | ||
| 362 | + this.commentNum = value.commentNum | ||
| 363 | + this.attentionNum = value.attentionNum | ||
| 364 | + this.registTime = value.registTime | ||
| 365 | + this.getRegisterDays() | ||
| 366 | + } | ||
| 367 | + }).catch((err:Error)=>{ | ||
| 368 | + console.log(TAG,JSON.stringify(err)) | ||
| 369 | + }) | ||
| 370 | + } | ||
| 371 | + getUserLevel(){ | ||
| 372 | + MinePageDatasModel.getUserLevelData(getContext(this)).then((value)=>{ | ||
| 373 | + if(value!=null){ | ||
| 374 | + this.levelHead = value.levelHead | ||
| 375 | + this.levelId = value.levelId | ||
| 376 | + } | ||
| 377 | + }).catch((err:Error)=>{ | ||
| 378 | + console.log(TAG,JSON.stringify(err)) | ||
| 379 | + }) | ||
| 380 | + } | ||
| 381 | + getRegisterDays(){ | ||
| 382 | + if(this.registTime!=null){ | ||
| 383 | + let curDate = new Date() | ||
| 384 | + this.registerTimeForDay = Math.ceil((curDate.getTime()-this.registTime)/(1000*60*60*24)) | ||
| 385 | + } | ||
| 386 | + } | ||
| 387 | +} | ||
| 388 | + | ||
| 389 | +@Extend(Text) function textStyle() { | ||
| 390 | + .fontColor($r('app.color.white')) | ||
| 391 | + .textStyleDefault() | ||
| 392 | + .margin({ right: '10lpx' }) | ||
| 393 | +} | ||
| 394 | + | ||
| 395 | +@Extend(Text) function textStyle2() { | ||
| 396 | + .textStyleDefault() | ||
| 397 | + .fontColor($r('app.color.color_B2FFFFFF')) | ||
| 398 | +} | ||
| 399 | + | ||
| 400 | +@Extend(Text) function textStyleDefault() { | ||
| 401 | + .textAlign(TextAlign.Start) | ||
| 402 | + .fontSize('23lpx') | ||
| 403 | + .fontWeight('400lpx') | ||
| 404 | + .lineHeight('31lpx') | ||
| 405 | +} |
| 1 | -import { MineAppointmentItem } from '../../../viewmodel/MineAppointmentItem' | 1 | +import { MineAppointmentItem } from '../../../../viewmodel/MineAppointmentItem' |
| 2 | 2 | ||
| 3 | @Component | 3 | @Component |
| 4 | export struct AppointmentListChildComponent{ | 4 | export struct AppointmentListChildComponent{ |
| @@ -82,22 +82,22 @@ export struct AppointmentListChildComponent{ | @@ -82,22 +82,22 @@ export struct AppointmentListChildComponent{ | ||
| 82 | .backgroundColor($r('app.color.color_F5F5F5')) | 82 | .backgroundColor($r('app.color.color_F5F5F5')) |
| 83 | .borderRadius('4lpx') | 83 | .borderRadius('4lpx') |
| 84 | Blank() | 84 | Blank() |
| 85 | - .layoutWeight(1) | 85 | + .layoutWeight(1) |
| 86 | if(this.item.relType === 1){ | 86 | if(this.item.relType === 1){ |
| 87 | - Text(this.item.isAppointment?"已预约":"预约") | ||
| 88 | - .fontWeight(400) | ||
| 89 | - .fontSize('23lpx') | ||
| 90 | - .backgroundColor(this.item.isAppointment?$r('app.color.color_F5F5F5'):$r('app.color.color_ED2800')) | ||
| 91 | - .fontColor(this.item.isAppointment?$r('app.color.color_CCCCCC'):$r('app.color.white')) | ||
| 92 | - .lineHeight('31lpx') | ||
| 93 | - .textAlign(TextAlign.Center) | ||
| 94 | - .width('100lpx') | ||
| 95 | - .height('46lpx') | ||
| 96 | - .borderRadius('6lpx') | ||
| 97 | - .onClick(()=>{ | ||
| 98 | - this.item.isAppointment = !this.item.isAppointment | ||
| 99 | - //TODO 预约动作 | ||
| 100 | - }) | 87 | + Text(this.item.isAppointment?"已预约":"预约") |
| 88 | + .fontWeight(400) | ||
| 89 | + .fontSize('23lpx') | ||
| 90 | + .backgroundColor(this.item.isAppointment?$r('app.color.color_F5F5F5'):$r('app.color.color_ED2800')) | ||
| 91 | + .fontColor(this.item.isAppointment?$r('app.color.color_CCCCCC'):$r('app.color.white')) | ||
| 92 | + .lineHeight('31lpx') | ||
| 93 | + .textAlign(TextAlign.Center) | ||
| 94 | + .width('100lpx') | ||
| 95 | + .height('46lpx') | ||
| 96 | + .borderRadius('6lpx') | ||
| 97 | + .onClick(()=>{ | ||
| 98 | + this.item.isAppointment = !this.item.isAppointment | ||
| 99 | + //TODO 预约动作 | ||
| 100 | + }) | ||
| 101 | }else { | 101 | }else { |
| 102 | Text(this.item.relType === 2?"去观看":"看回放") | 102 | Text(this.item.relType === 2?"去观看":"看回放") |
| 103 | .fontWeight(400) | 103 | .fontWeight(400) |
| 1 | -import { AppointmentListChildComponent } from '../mine/AppointmentListChildComponent'; | ||
| 2 | -import { CustomTitleUI } from '../../reusable/CustomTitleUI' | ||
| 3 | -import { ListHasNoMoreDataUI } from '../../reusable/ListHasNoMoreDataUI'; | ||
| 4 | -import { MineAppointmentItem } from '../../../viewmodel/MineAppointmentItem'; | 1 | +import { AppointmentListChildComponent } from './AppointmentListChildComponent'; |
| 2 | +import { CustomTitleUI } from '../../../reusable/CustomTitleUI' | ||
| 3 | +import { ListHasNoMoreDataUI } from '../../../reusable/ListHasNoMoreDataUI'; | ||
| 4 | +import { MineAppointmentItem } from '../../../../viewmodel/MineAppointmentItem'; | ||
| 5 | import { LazyDataSource, StringUtils } from 'wdKit'; | 5 | import { LazyDataSource, StringUtils } from 'wdKit'; |
| 6 | -import MinePageDatasModel from '../../../model/MinePageDatasModel'; | 6 | +import MinePageDatasModel from '../../../../model/MinePageDatasModel'; |
| 7 | const TAG = "AppointmentListUI" | 7 | const TAG = "AppointmentListUI" |
| 8 | 8 | ||
| 9 | @Component | 9 | @Component |
| 10 | export struct AppointmentListUI{ | 10 | export struct AppointmentListUI{ |
| 11 | @State data: LazyDataSource<MineAppointmentItem> = new LazyDataSource(); | 11 | @State data: LazyDataSource<MineAppointmentItem> = new LazyDataSource(); |
| 12 | + @State count:number = 0; | ||
| 12 | @State isLoading:boolean = false | 13 | @State isLoading:boolean = false |
| 13 | @State hasMore:boolean = true | 14 | @State hasMore:boolean = true |
| 14 | curPageNum:number = 1; | 15 | curPageNum:number = 1; |
| @@ -21,63 +22,69 @@ export struct AppointmentListUI{ | @@ -21,63 +22,69 @@ export struct AppointmentListUI{ | ||
| 21 | Column() { | 22 | Column() { |
| 22 | //标题栏目 | 23 | //标题栏目 |
| 23 | CustomTitleUI({titleName:"预约列表"}) | 24 | CustomTitleUI({titleName:"预约列表"}) |
| 24 | - //刷新控件 TODO | ||
| 25 | - //List | ||
| 26 | - List({ space: '6lpx' }) { | ||
| 27 | - LazyForEach(this.data, (item: MineAppointmentItem, index: number) => { | ||
| 28 | - ListItem() { | ||
| 29 | - AppointmentListChildComponent({item:item}) | ||
| 30 | - } | ||
| 31 | - .onClick(()=>{ | ||
| 32 | - //TODO 跳转 | ||
| 33 | - }) | ||
| 34 | - }, (item: MineAppointmentItem, index: number) => index.toString()) | 25 | + if(this.count == 0){ |
| 26 | + ListHasNoMoreDataUI({style:2}) | ||
| 27 | + }else{ | ||
| 28 | + //刷新控件 TODO | ||
| 29 | + //List | ||
| 30 | + List({ space: '6lpx' }) { | ||
| 31 | + LazyForEach(this.data, (item: MineAppointmentItem, index: number) => { | ||
| 32 | + ListItem() { | ||
| 33 | + AppointmentListChildComponent({item:item}) | ||
| 34 | + } | ||
| 35 | + .onClick(()=>{ | ||
| 36 | + //TODO 跳转 | ||
| 37 | + }) | ||
| 38 | + }, (item: MineAppointmentItem, index: number) => index.toString()) | ||
| 35 | 39 | ||
| 36 | - //没有更多数据 显示提示 | ||
| 37 | - if(!this.hasMore){ | ||
| 38 | - ListItem(){ | ||
| 39 | - ListHasNoMoreDataUI() | 40 | + //没有更多数据 显示提示 |
| 41 | + if(!this.hasMore){ | ||
| 42 | + ListItem(){ | ||
| 43 | + ListHasNoMoreDataUI() | ||
| 44 | + } | ||
| 40 | } | 45 | } |
| 41 | - } | ||
| 42 | - }.cachedCount(4) | ||
| 43 | - .margin({top:'23lpx',left:'23lpx',right:'23lpx'}) | ||
| 44 | - .layoutWeight(1) | ||
| 45 | - .onReachEnd(()=>{ | ||
| 46 | - console.log(TAG,"触底了"); | ||
| 47 | - if(!this.isLoading){ | ||
| 48 | - //加载分页数据 | ||
| 49 | - this.getNewPageData() | ||
| 50 | - } | ||
| 51 | - }) | 46 | + }.cachedCount(4) |
| 47 | + .scrollBar(BarState.Off) | ||
| 48 | + .margin({top:'23lpx',left:'23lpx',right:'23lpx'}) | ||
| 49 | + .layoutWeight(1) | ||
| 50 | + .onReachEnd(()=>{ | ||
| 51 | + console.log(TAG,"触底了"); | ||
| 52 | + if(!this.isLoading){ | ||
| 53 | + //加载分页数据 | ||
| 54 | + this.getNewPageData() | ||
| 55 | + } | ||
| 56 | + }) | ||
| 57 | + } | ||
| 52 | } | 58 | } |
| 53 | .backgroundColor($r('app.color.color_F9F9F9')) | 59 | .backgroundColor($r('app.color.color_F9F9F9')) |
| 54 | .height('100%') | 60 | .height('100%') |
| 55 | .width('100%') | 61 | .width('100%') |
| 56 | } | 62 | } |
| 57 | 63 | ||
| 58 | - getNewPageData(){ | 64 | + getNewPageData(){ |
| 59 | this.isLoading = true | 65 | this.isLoading = true |
| 60 | if(this.hasMore){ | 66 | if(this.hasMore){ |
| 61 | - MinePageDatasModel.getAppointmentListData("20",`${this.curPageNum}`,getContext(this)).then((value)=>{ | ||
| 62 | - if (!this.data || value.list.length == 0){ | ||
| 63 | - this.hasMore = false | ||
| 64 | - }else{ | ||
| 65 | - value.list.forEach((value)=>{ | ||
| 66 | - let dealTime = this.DealStartTime(value.planStartTime) | ||
| 67 | - if(dealTime!=null && dealTime.length === 2){ | ||
| 68 | - this.data.push(new MineAppointmentItem(value.imageUrl,value.status,value.title,true,dealTime[0],dealTime[1],value.relType)) | ||
| 69 | - }else { | ||
| 70 | - this.data.push(new MineAppointmentItem(value.imageUrl,value.status,value.title,true,"","",value.relType)) | ||
| 71 | - } | ||
| 72 | - }) | ||
| 73 | - this.data.notifyDataReload() | ||
| 74 | - if (this.data.totalCount() < value.totalCount) { | ||
| 75 | - this.curPageNum++ | 67 | + MinePageDatasModel.getAppointmentListData("20",`${this.curPageNum}`,getContext(this)).then((value)=>{ |
| 68 | + if (!this.data || value.list.length == 0){ | ||
| 69 | + this.hasMore = false | ||
| 70 | + }else{ | ||
| 71 | + value.list.forEach((value)=>{ | ||
| 72 | + let dealTime = this.DealStartTime(value.planStartTime) | ||
| 73 | + if(dealTime!=null && dealTime.length === 2){ | ||
| 74 | + this.data.push(new MineAppointmentItem(value.imageUrl,value.status,value.title,true,dealTime[0],dealTime[1],value.relType)) | ||
| 76 | }else { | 75 | }else { |
| 77 | - this.hasMore = false | 76 | + this.data.push(new MineAppointmentItem(value.imageUrl,value.status,value.title,true,"","",value.relType)) |
| 78 | } | 77 | } |
| 78 | + }) | ||
| 79 | + this.data.notifyDataReload() | ||
| 80 | + this.count = this.data.totalCount() | ||
| 81 | + if (this.data.totalCount() < value.totalCount) { | ||
| 82 | + this.curPageNum++ | ||
| 83 | + }else { | ||
| 84 | + this.hasMore = false | ||
| 79 | } | 85 | } |
| 80 | - }) | 86 | + } |
| 87 | + }) | ||
| 81 | } | 88 | } |
| 82 | this.isLoading = false | 89 | this.isLoading = false |
| 83 | } | 90 | } |
| 1 | -import { ResourcesUtils } from 'wdKit' | ||
| 2 | -import { ResponseDTO } from 'wdNetwork' | 1 | +import MinePageDatasModel from '../../../../model/MinePageDatasModel' |
| 3 | import { FollowListItem } from '../../../../viewmodel/FollowListItem' | 2 | import { FollowListItem } from '../../../../viewmodel/FollowListItem' |
| 4 | import { CustomTitleUI } from '../../../reusable/CustomTitleUI' | 3 | import { CustomTitleUI } from '../../../reusable/CustomTitleUI' |
| 5 | import { FollowSecondTabsComponent } from './FollowSecondTabsComponent' | 4 | import { FollowSecondTabsComponent } from './FollowSecondTabsComponent' |
| 5 | +const TAG = "FollowFirstTabsComponent" | ||
| 6 | 6 | ||
| 7 | @Component | 7 | @Component |
| 8 | export struct FollowFirstTabsComponent{ | 8 | export struct FollowFirstTabsComponent{ |
| 9 | @State currentIndex: number = 0 | 9 | @State currentIndex: number = 0 |
| 10 | private controller: TabsController = new TabsController() | 10 | private controller: TabsController = new TabsController() |
| 11 | @State data:FollowListItem[] = [] | 11 | @State data:FollowListItem[] = [] |
| 12 | + @Prop changeIndex: number | ||
| 12 | fontColor: string = '#999999' | 13 | fontColor: string = '#999999' |
| 13 | selectedFontColor: string = '#000000' | 14 | selectedFontColor: string = '#000000' |
| 14 | 15 | ||
| 15 | aboutToAppear(){ | 16 | aboutToAppear(){ |
| 16 | - this.data.push(new FollowListItem("我的")) | ||
| 17 | // let res = JSON.parse(`{"code":"0","data":[{"children":[],"directoryName":"阅读","directoryWeight":99,"id":165,"isShow":1,"level":1,"parentId":0,"rootId":0},{"children":[{"children":[{"directoryName":"三二","directoryWeight":2,"id":120,"isShow":1,"level":3,"parentId":118,"rootId":117},{"directoryName":"三级","directoryWeight":1,"id":119,"isShow":1,"level":3,"parentId":118,"rootId":117}],"directoryName":"二级","directoryWeight":1,"id":118,"isShow":1,"level":2,"parentId":117,"rootId":117}],"directoryName":"幽游白书","directoryWeight":33,"id":117,"isShow":1,"level":1,"parentId":0,"rootId":0},{"children":[],"directoryName":"推荐","directoryWeight":9,"id":386,"isShow":1,"level":1,"parentId":0,"rootId":0},{"children":[],"directoryName":"政务","directoryWeight":9,"id":379,"isShow":1,"level":1,"parentId":0,"rootId":0},{"children":[{"children":[],"directoryName":"推荐","directoryWeight":0,"id":335,"isShow":1,"level":2,"parentId":320,"rootId":320}],"directoryName":"推荐","directoryWeight":9,"id":320,"isShow":1,"level":1,"parentId":0,"rootId":0},{"children":[],"directoryName":"媒体","directoryWeight":8,"id":390,"isShow":1,"level":1,"parentId":0,"rootId":0},{"children":[],"directoryName":"媒体","directoryWeight":8,"id":323,"isShow":1,"level":1,"parentId":0,"rootId":0},{"children":[],"directoryName":"自媒体","directoryWeight":7,"id":329,"isShow":1,"level":1,"parentId":0,"rootId":0},{"children":[],"directoryName":"名人","directoryWeight":6,"id":389,"isShow":1,"level":1,"parentId":0,"rootId":0},{"children":[{"children":[],"directoryName":"测试","directoryWeight":0,"id":338,"isShow":1,"level":2,"parentId":324,"rootId":324}],"directoryName":"名人","directoryWeight":6,"id":324,"isShow":1,"level":1,"parentId":0,"rootId":0},{"children":[{"children":[],"directoryName":"2级目录","directoryWeight":0,"id":340,"isShow":1,"level":2,"parentId":312,"rootId":312},{"children":[{"directoryName":"3级测试","directoryWeight":0,"id":368,"isShow":1,"level":3,"parentId":339,"rootId":312}],"directoryName":"二级目录","directoryWeight":0,"id":339,"isShow":1,"level":2,"parentId":312,"rootId":312},{"children":[{"directoryName":"企业","directoryWeight":1,"id":348,"isShow":1,"level":3,"parentId":336,"rootId":312},{"directoryName":"部委","directoryWeight":0,"id":344,"isShow":1,"level":3,"parentId":336,"rootId":312},{"directoryName":"地方","directoryWeight":0,"id":341,"isShow":1,"level":3,"parentId":336,"rootId":312}],"directoryName":"类型","directoryWeight":0,"id":336,"isShow":1,"level":2,"parentId":312,"rootId":312},{"children":[{"directoryName":"贵州省","directoryWeight":0,"id":378,"isShow":1,"level":3,"parentId":332,"rootId":312},{"directoryName":"西藏自治区","directoryWeight":0,"id":377,"isShow":1,"level":3,"parentId":332,"rootId":312},{"directoryName":"四川省","directoryWeight":0,"id":376,"isShow":1,"level":3,"parentId":332,"rootId":312},{"directoryName":"重庆市","directoryWeight":0,"id":375,"isShow":1,"level":3,"parentId":332,"rootId":312},{"directoryName":"湖南省","directoryWeight":0,"id":374,"isShow":1,"level":3,"parentId":332,"rootId":312},{"directoryName":"云南省","directoryWeight":0,"id":373,"isShow":1,"level":3,"parentId":332,"rootId":312},{"directoryName":"广西壮族自治区","directoryWeight":0,"id":372,"isShow":1,"level":3,"parentId":332,"rootId":312},{"directoryName":"宁夏回族自治区","directoryWeight":0,"id":371,"isShow":1,"level":3,"parentId":332,"rootId":312},{"directoryName":"湖北省","directoryWeight":0,"id":370,"isShow":1,"level":3,"parentId":332,"rootId":312},{"directoryName":"青海省","directoryWeight":0,"id":369,"isShow":1,"level":3,"parentId":332,"rootId":312},{"directoryName":"陕西省","directoryWeight":0,"id":367,"isShow":1,"level":3,"parentId":332,"rootId":312},{"directoryName":"甘肃省","directoryWeight":0,"id":366,"isShow":1,"level":3,"parentId":332,"rootId":312},{"directoryName":"吉林省","directoryWeight":0,"id":365,"isShow":1,"level":3,"parentId":332,"rootId":312},{"directoryName":"广东省","directoryWeight":0,"id":364,"isShow":1,"level":3,"parentId":332,"rootId":312},{"directoryName":"海南省","directoryWeight":0,"id":363,"isShow":1,"level":3,"parentId":332,"rootId":312},{"directoryName":"辽宁省","directoryWeight":0,"id":362,"isShow":1,"level":3,"parentId":332,"rootId":312},{"directoryName":"江苏省","directoryWeight":0,"id":361,"isShow":1,"level":3,"parentId":332,"rootId":312},{"directoryName":"新疆维吾尔族自治区","directoryWeight":0,"id":360,"isShow":1,"level":3,"parentId":332,"rootId":312},{"directoryName":"福建省","directoryWeight":0,"id":359,"isShow":1,"level":3,"parentId":332,"rootId":312},{"directoryName":"山东省","directoryWeight":0,"id":358,"isShow":1,"level":3,"parentId":332,"rootId":312},{"directoryName":"河南省","directoryWeight":0,"id":357,"isShow":1,"level":3,"parentId":332,"rootId":312},{"directoryName":"浙江省","directoryWeight":0,"id":356,"isShow":1,"level":3,"parentId":332,"rootId":312},{"directoryName":"安徽省","directoryWeight":0,"id":355,"isShow":1,"level":3,"parentId":332,"rootId":312},{"directoryName":"上海市","directoryWeight":0,"id":354,"isShow":1,"level":3,"parentId":332,"rootId":312},{"directoryName":"河北省","directoryWeight":0,"id":353,"isShow":1,"level":3,"parentId":332,"rootId":312},{"directoryName":"黑龙江省","directoryWeight":0,"id":352,"isShow":1,"level":3,"parentId":332,"rootId":312},{"directoryName":"江西省","directoryWeight":0,"id":351,"isShow":1,"level":3,"parentId":332,"rootId":312},{"directoryName":"内蒙古自治区","directoryWeight":0,"id":350,"isShow":1,"level":3,"parentId":332,"rootId":312},{"directoryName":"北京市","directoryWeight":0,"id":349,"isShow":1,"level":3,"parentId":332,"rootId":312},{"directoryName":"山西省","directoryWeight":0,"id":346,"isShow":1,"level":3,"parentId":332,"rootId":312}],"directoryName":"地域","directoryWeight":0,"id":332,"isShow":1,"level":2,"parentId":312,"rootId":312}],"directoryName":"政务","directoryWeight":5,"id":312,"isShow":1,"level":1,"parentId":0,"rootId":0},{"children":[],"directoryName":"学校","directoryWeight":4,"id":331,"isShow":1,"level":1,"parentId":0,"rootId":0},{"children":[],"directoryName":"机构","directoryWeight":3,"id":330,"isShow":1,"level":1,"parentId":0,"rootId":0},{"children":[{"children":[{"directoryName":"新闻联播","directoryWeight":3,"id":79,"isShow":1,"level":3,"parentId":75,"rootId":74},{"directoryName":"第三季","directoryWeight":2,"id":78,"isShow":1,"level":3,"parentId":75,"rootId":74},{"directoryName":"三级","directoryWeight":1,"id":76,"isShow":1,"level":3,"parentId":75,"rootId":74}],"directoryName":"短视频","directoryWeight":1,"id":75,"isShow":1,"level":2,"parentId":74,"rootId":74}],"directoryName":"创作","directoryWeight":3,"id":74,"isShow":1,"level":1,"parentId":0,"rootId":0},{"children":[{"children":[],"directoryName":"教学","directoryWeight":2,"id":72,"isShow":1,"level":2,"parentId":64,"rootId":64},{"children":[],"directoryName":"热门","directoryWeight":1,"id":73,"isShow":1,"level":2,"parentId":64,"rootId":64},{"children":[],"directoryName":"赛事","directoryWeight":1,"id":71,"isShow":1,"level":2,"parentId":64,"rootId":64}],"directoryName":"游戏","directoryWeight":2,"id":64,"isShow":1,"level":1,"parentId":0,"rootId":0},{"children":[],"directoryName":"新闻","directoryWeight":1,"id":315,"isShow":1,"level":1,"parentId":0,"rootId":0},{"children":[{"children":[],"directoryName":"趣闻","directoryWeight":6,"id":70,"isShow":1,"level":2,"parentId":63,"rootId":63},{"children":[],"directoryName":"时政","directoryWeight":5,"id":69,"isShow":1,"level":2,"parentId":63,"rootId":63},{"children":[],"directoryName":"农业","directoryWeight":3,"id":68,"isShow":1,"level":2,"parentId":63,"rootId":63},{"children":[],"directoryName":"娱乐","directoryWeight":3,"id":67,"isShow":1,"level":2,"parentId":63,"rootId":63},{"children":[],"directoryName":"科技","directoryWeight":2,"id":66,"isShow":1,"level":2,"parentId":63,"rootId":63},{"children":[],"directoryName":"国际","directoryWeight":1,"id":65,"isShow":1,"level":2,"parentId":63,"rootId":63}],"directoryName":"新闻","directoryWeight":1,"id":63,"isShow":1,"level":1,"parentId":0,"rootId":0},{"children":[],"directoryName":"公安","directoryWeight":0,"id":388,"isShow":1,"level":1,"parentId":0,"rootId":0},{"children":[],"directoryName":"dddd","directoryWeight":0,"id":387,"isShow":1,"level":1,"parentId":0,"rootId":0},{"children":[],"directoryName":"健康","directoryWeight":0,"id":384,"isShow":1,"level":1,"parentId":0,"rootId":0},{"children":[],"directoryName":"综合","directoryWeight":0,"id":328,"isShow":1,"level":1,"parentId":0,"rootId":0},{"children":[],"directoryName":"房产","directoryWeight":0,"id":327,"isShow":1,"level":1,"parentId":0,"rootId":0},{"children":[],"directoryName":"健康","directoryWeight":0,"id":318,"isShow":1,"level":1,"parentId":0,"rootId":0},{"children":[],"directoryName":"历史","directoryWeight":0,"id":310,"isShow":1,"level":1,"parentId":0,"rootId":0},{"children":[],"directoryName":"dddd","directoryWeight":0,"id":309,"isShow":1,"level":1,"parentId":0,"rootId":0},{"children":[{"children":[],"directoryName":"aaaa","directoryWeight":1,"id":333,"isShow":1,"level":2,"parentId":308,"rootId":308},{"children":[],"directoryName":"qqq","directoryWeight":0,"id":334,"isShow":1,"level":2,"parentId":308,"rootId":308}],"directoryName":"dddd","directoryWeight":0,"id":308,"isShow":1,"level":1,"parentId":0,"rootId":0}],"message":"Success","success":true,"timestamp":1710741803593}`) as ResponseDTO<FollowListItem[]> | 17 | // let res = JSON.parse(`{"code":"0","data":[{"children":[],"directoryName":"阅读","directoryWeight":99,"id":165,"isShow":1,"level":1,"parentId":0,"rootId":0},{"children":[{"children":[{"directoryName":"三二","directoryWeight":2,"id":120,"isShow":1,"level":3,"parentId":118,"rootId":117},{"directoryName":"三级","directoryWeight":1,"id":119,"isShow":1,"level":3,"parentId":118,"rootId":117}],"directoryName":"二级","directoryWeight":1,"id":118,"isShow":1,"level":2,"parentId":117,"rootId":117}],"directoryName":"幽游白书","directoryWeight":33,"id":117,"isShow":1,"level":1,"parentId":0,"rootId":0},{"children":[],"directoryName":"推荐","directoryWeight":9,"id":386,"isShow":1,"level":1,"parentId":0,"rootId":0},{"children":[],"directoryName":"政务","directoryWeight":9,"id":379,"isShow":1,"level":1,"parentId":0,"rootId":0},{"children":[{"children":[],"directoryName":"推荐","directoryWeight":0,"id":335,"isShow":1,"level":2,"parentId":320,"rootId":320}],"directoryName":"推荐","directoryWeight":9,"id":320,"isShow":1,"level":1,"parentId":0,"rootId":0},{"children":[],"directoryName":"媒体","directoryWeight":8,"id":390,"isShow":1,"level":1,"parentId":0,"rootId":0},{"children":[],"directoryName":"媒体","directoryWeight":8,"id":323,"isShow":1,"level":1,"parentId":0,"rootId":0},{"children":[],"directoryName":"自媒体","directoryWeight":7,"id":329,"isShow":1,"level":1,"parentId":0,"rootId":0},{"children":[],"directoryName":"名人","directoryWeight":6,"id":389,"isShow":1,"level":1,"parentId":0,"rootId":0},{"children":[{"children":[],"directoryName":"测试","directoryWeight":0,"id":338,"isShow":1,"level":2,"parentId":324,"rootId":324}],"directoryName":"名人","directoryWeight":6,"id":324,"isShow":1,"level":1,"parentId":0,"rootId":0},{"children":[{"children":[],"directoryName":"2级目录","directoryWeight":0,"id":340,"isShow":1,"level":2,"parentId":312,"rootId":312},{"children":[{"directoryName":"3级测试","directoryWeight":0,"id":368,"isShow":1,"level":3,"parentId":339,"rootId":312}],"directoryName":"二级目录","directoryWeight":0,"id":339,"isShow":1,"level":2,"parentId":312,"rootId":312},{"children":[{"directoryName":"企业","directoryWeight":1,"id":348,"isShow":1,"level":3,"parentId":336,"rootId":312},{"directoryName":"部委","directoryWeight":0,"id":344,"isShow":1,"level":3,"parentId":336,"rootId":312},{"directoryName":"地方","directoryWeight":0,"id":341,"isShow":1,"level":3,"parentId":336,"rootId":312}],"directoryName":"类型","directoryWeight":0,"id":336,"isShow":1,"level":2,"parentId":312,"rootId":312},{"children":[{"directoryName":"贵州省","directoryWeight":0,"id":378,"isShow":1,"level":3,"parentId":332,"rootId":312},{"directoryName":"西藏自治区","directoryWeight":0,"id":377,"isShow":1,"level":3,"parentId":332,"rootId":312},{"directoryName":"四川省","directoryWeight":0,"id":376,"isShow":1,"level":3,"parentId":332,"rootId":312},{"directoryName":"重庆市","directoryWeight":0,"id":375,"isShow":1,"level":3,"parentId":332,"rootId":312},{"directoryName":"湖南省","directoryWeight":0,"id":374,"isShow":1,"level":3,"parentId":332,"rootId":312},{"directoryName":"云南省","directoryWeight":0,"id":373,"isShow":1,"level":3,"parentId":332,"rootId":312},{"directoryName":"广西壮族自治区","directoryWeight":0,"id":372,"isShow":1,"level":3,"parentId":332,"rootId":312},{"directoryName":"宁夏回族自治区","directoryWeight":0,"id":371,"isShow":1,"level":3,"parentId":332,"rootId":312},{"directoryName":"湖北省","directoryWeight":0,"id":370,"isShow":1,"level":3,"parentId":332,"rootId":312},{"directoryName":"青海省","directoryWeight":0,"id":369,"isShow":1,"level":3,"parentId":332,"rootId":312},{"directoryName":"陕西省","directoryWeight":0,"id":367,"isShow":1,"level":3,"parentId":332,"rootId":312},{"directoryName":"甘肃省","directoryWeight":0,"id":366,"isShow":1,"level":3,"parentId":332,"rootId":312},{"directoryName":"吉林省","directoryWeight":0,"id":365,"isShow":1,"level":3,"parentId":332,"rootId":312},{"directoryName":"广东省","directoryWeight":0,"id":364,"isShow":1,"level":3,"parentId":332,"rootId":312},{"directoryName":"海南省","directoryWeight":0,"id":363,"isShow":1,"level":3,"parentId":332,"rootId":312},{"directoryName":"辽宁省","directoryWeight":0,"id":362,"isShow":1,"level":3,"parentId":332,"rootId":312},{"directoryName":"江苏省","directoryWeight":0,"id":361,"isShow":1,"level":3,"parentId":332,"rootId":312},{"directoryName":"新疆维吾尔族自治区","directoryWeight":0,"id":360,"isShow":1,"level":3,"parentId":332,"rootId":312},{"directoryName":"福建省","directoryWeight":0,"id":359,"isShow":1,"level":3,"parentId":332,"rootId":312},{"directoryName":"山东省","directoryWeight":0,"id":358,"isShow":1,"level":3,"parentId":332,"rootId":312},{"directoryName":"河南省","directoryWeight":0,"id":357,"isShow":1,"level":3,"parentId":332,"rootId":312},{"directoryName":"浙江省","directoryWeight":0,"id":356,"isShow":1,"level":3,"parentId":332,"rootId":312},{"directoryName":"安徽省","directoryWeight":0,"id":355,"isShow":1,"level":3,"parentId":332,"rootId":312},{"directoryName":"上海市","directoryWeight":0,"id":354,"isShow":1,"level":3,"parentId":332,"rootId":312},{"directoryName":"河北省","directoryWeight":0,"id":353,"isShow":1,"level":3,"parentId":332,"rootId":312},{"directoryName":"黑龙江省","directoryWeight":0,"id":352,"isShow":1,"level":3,"parentId":332,"rootId":312},{"directoryName":"江西省","directoryWeight":0,"id":351,"isShow":1,"level":3,"parentId":332,"rootId":312},{"directoryName":"内蒙古自治区","directoryWeight":0,"id":350,"isShow":1,"level":3,"parentId":332,"rootId":312},{"directoryName":"北京市","directoryWeight":0,"id":349,"isShow":1,"level":3,"parentId":332,"rootId":312},{"directoryName":"山西省","directoryWeight":0,"id":346,"isShow":1,"level":3,"parentId":332,"rootId":312}],"directoryName":"地域","directoryWeight":0,"id":332,"isShow":1,"level":2,"parentId":312,"rootId":312}],"directoryName":"政务","directoryWeight":5,"id":312,"isShow":1,"level":1,"parentId":0,"rootId":0},{"children":[],"directoryName":"学校","directoryWeight":4,"id":331,"isShow":1,"level":1,"parentId":0,"rootId":0},{"children":[],"directoryName":"机构","directoryWeight":3,"id":330,"isShow":1,"level":1,"parentId":0,"rootId":0},{"children":[{"children":[{"directoryName":"新闻联播","directoryWeight":3,"id":79,"isShow":1,"level":3,"parentId":75,"rootId":74},{"directoryName":"第三季","directoryWeight":2,"id":78,"isShow":1,"level":3,"parentId":75,"rootId":74},{"directoryName":"三级","directoryWeight":1,"id":76,"isShow":1,"level":3,"parentId":75,"rootId":74}],"directoryName":"短视频","directoryWeight":1,"id":75,"isShow":1,"level":2,"parentId":74,"rootId":74}],"directoryName":"创作","directoryWeight":3,"id":74,"isShow":1,"level":1,"parentId":0,"rootId":0},{"children":[{"children":[],"directoryName":"教学","directoryWeight":2,"id":72,"isShow":1,"level":2,"parentId":64,"rootId":64},{"children":[],"directoryName":"热门","directoryWeight":1,"id":73,"isShow":1,"level":2,"parentId":64,"rootId":64},{"children":[],"directoryName":"赛事","directoryWeight":1,"id":71,"isShow":1,"level":2,"parentId":64,"rootId":64}],"directoryName":"游戏","directoryWeight":2,"id":64,"isShow":1,"level":1,"parentId":0,"rootId":0},{"children":[],"directoryName":"新闻","directoryWeight":1,"id":315,"isShow":1,"level":1,"parentId":0,"rootId":0},{"children":[{"children":[],"directoryName":"趣闻","directoryWeight":6,"id":70,"isShow":1,"level":2,"parentId":63,"rootId":63},{"children":[],"directoryName":"时政","directoryWeight":5,"id":69,"isShow":1,"level":2,"parentId":63,"rootId":63},{"children":[],"directoryName":"农业","directoryWeight":3,"id":68,"isShow":1,"level":2,"parentId":63,"rootId":63},{"children":[],"directoryName":"娱乐","directoryWeight":3,"id":67,"isShow":1,"level":2,"parentId":63,"rootId":63},{"children":[],"directoryName":"科技","directoryWeight":2,"id":66,"isShow":1,"level":2,"parentId":63,"rootId":63},{"children":[],"directoryName":"国际","directoryWeight":1,"id":65,"isShow":1,"level":2,"parentId":63,"rootId":63}],"directoryName":"新闻","directoryWeight":1,"id":63,"isShow":1,"level":1,"parentId":0,"rootId":0},{"children":[],"directoryName":"公安","directoryWeight":0,"id":388,"isShow":1,"level":1,"parentId":0,"rootId":0},{"children":[],"directoryName":"dddd","directoryWeight":0,"id":387,"isShow":1,"level":1,"parentId":0,"rootId":0},{"children":[],"directoryName":"健康","directoryWeight":0,"id":384,"isShow":1,"level":1,"parentId":0,"rootId":0},{"children":[],"directoryName":"综合","directoryWeight":0,"id":328,"isShow":1,"level":1,"parentId":0,"rootId":0},{"children":[],"directoryName":"房产","directoryWeight":0,"id":327,"isShow":1,"level":1,"parentId":0,"rootId":0},{"children":[],"directoryName":"健康","directoryWeight":0,"id":318,"isShow":1,"level":1,"parentId":0,"rootId":0},{"children":[],"directoryName":"历史","directoryWeight":0,"id":310,"isShow":1,"level":1,"parentId":0,"rootId":0},{"children":[],"directoryName":"dddd","directoryWeight":0,"id":309,"isShow":1,"level":1,"parentId":0,"rootId":0},{"children":[{"children":[],"directoryName":"aaaa","directoryWeight":1,"id":333,"isShow":1,"level":2,"parentId":308,"rootId":308},{"children":[],"directoryName":"qqq","directoryWeight":0,"id":334,"isShow":1,"level":2,"parentId":308,"rootId":308}],"directoryName":"dddd","directoryWeight":0,"id":308,"isShow":1,"level":1,"parentId":0,"rootId":0}],"message":"Success","success":true,"timestamp":1710741803593}`) as ResponseDTO<FollowListItem[]> |
| 18 | // res.data.forEach(element => { | 18 | // res.data.forEach(element => { |
| 19 | // this.data.push(element) | 19 | // this.data.push(element) |
| 20 | // }); | 20 | // }); |
| 21 | - | ||
| 22 | - ResourcesUtils.getResourcesJson<ResponseDTO<FollowListItem[]>>('follow_list_data.json', getContext(this)).then((success)=>{ | ||
| 23 | - success.data?.forEach(element => { | 21 | + MinePageDatasModel.getFollowListData(getContext(this)).then((value)=>{ |
| 22 | + this.data.push(new FollowListItem("我的")) | ||
| 23 | + value.forEach((element)=>{ | ||
| 24 | this.data.push(element) | 24 | this.data.push(element) |
| 25 | - }); | 25 | + }) |
| 26 | console.log("ycg",this.data.length.toString()); | 26 | console.log("ycg",this.data.length.toString()); |
| 27 | + if(this.controller != null && this.data.length>1 && this.changeIndex === 1){ | ||
| 28 | + //个人主页 跳转 关注页 tab 2 | ||
| 29 | + let intervalID = setInterval(() => { | ||
| 30 | + this.currentIndex = this.changeIndex | ||
| 31 | + this.controller.changeIndex(this.currentIndex) | ||
| 32 | + clearInterval(intervalID); | ||
| 33 | + }, 500); | ||
| 34 | + } | ||
| 35 | + }).catch((err:Error)=>{ | ||
| 36 | + console.log(TAG,JSON.stringify(err)) | ||
| 27 | }) | 37 | }) |
| 28 | } | 38 | } |
| 29 | 39 |
| 1 | -import { LazyDataSource } from 'wdKit'; | 1 | +import { LazyDataSource, StringUtils } from 'wdKit'; |
| 2 | +import MinePageDatasModel from '../../../../model/MinePageDatasModel'; | ||
| 2 | import { FollowListDetailItem } from '../../../../viewmodel/FollowListDetailItem' | 3 | import { FollowListDetailItem } from '../../../../viewmodel/FollowListDetailItem' |
| 4 | +import { FollowListDetailRequestItem } from '../../../../viewmodel/FollowListDetailRequestItem'; | ||
| 5 | +import { FollowListStatusRequestItem } from '../../../../viewmodel/FollowListStatusRequestItem'; | ||
| 6 | +import { MineFollowListDetailItem } from '../../../../viewmodel/MineFollowListDetailItem'; | ||
| 7 | +import { QueryListIsFollowedItem } from '../../../../viewmodel/QueryListIsFollowedItem'; | ||
| 3 | import { ListHasNoMoreDataUI } from '../../../reusable/ListHasNoMoreDataUI'; | 8 | import { ListHasNoMoreDataUI } from '../../../reusable/ListHasNoMoreDataUI'; |
| 4 | 9 | ||
| 5 | const TAG = "FollowListDetailUI" | 10 | const TAG = "FollowListDetailUI" |
| @@ -7,11 +12,10 @@ const TAG = "FollowListDetailUI" | @@ -7,11 +12,10 @@ const TAG = "FollowListDetailUI" | ||
| 7 | export struct FollowListDetailUI{ | 12 | export struct FollowListDetailUI{ |
| 8 | @State creatorDirectoryId:number = -1; | 13 | @State creatorDirectoryId:number = -1; |
| 9 | @State data: LazyDataSource<FollowListDetailItem> = new LazyDataSource(); | 14 | @State data: LazyDataSource<FollowListDetailItem> = new LazyDataSource(); |
| 15 | + @State count:number = 0; | ||
| 10 | @State isLoading:boolean = false | 16 | @State isLoading:boolean = false |
| 11 | @State hasMore:boolean = true | 17 | @State hasMore:boolean = true |
| 12 | curPageNum:number = 1; | 18 | curPageNum:number = 1; |
| 13 | - headUrl = "https://sitcontentjdcdn.aikan.pdnews.cn/vod/content/202309/202309Th211436299/GLN.png?x-oss-process=image/resize,l_400/auto-orient,1/quality,q_90/format,jpg" | ||
| 14 | - | ||
| 15 | 19 | ||
| 16 | aboutToAppear(){ | 20 | aboutToAppear(){ |
| 17 | console.log("YCG","aboutToAppear==="+this.creatorDirectoryId); | 21 | console.log("YCG","aboutToAppear==="+this.creatorDirectoryId); |
| @@ -20,59 +24,129 @@ export struct FollowListDetailUI{ | @@ -20,59 +24,129 @@ export struct FollowListDetailUI{ | ||
| 20 | 24 | ||
| 21 | build(){ | 25 | build(){ |
| 22 | Column(){ | 26 | Column(){ |
| 23 | - List({ space: 3 }) { | ||
| 24 | - LazyForEach(this.data, (item: FollowListDetailItem, index: number = 0) => { | ||
| 25 | - ListItem() { | ||
| 26 | - ChildComponent({data: item}) | 27 | + if(this.count === 0){ |
| 28 | + ListHasNoMoreDataUI({style:2}) | ||
| 29 | + .height('100%') | ||
| 30 | + }else{ | ||
| 31 | + List({ space: 3 }) { | ||
| 32 | + LazyForEach(this.data, (item: FollowListDetailItem, index: number = 0) => { | ||
| 33 | + ListItem() { | ||
| 34 | + ChildComponent({data: item}) | ||
| 35 | + } | ||
| 36 | + .onClick(() => { | ||
| 37 | + }) | ||
| 38 | + }, (item: FollowListDetailItem, index: number) => index.toString()) | ||
| 39 | + | ||
| 40 | + //没有更多数据 显示提示 | ||
| 41 | + if(!this.hasMore){ | ||
| 42 | + ListItem(){ | ||
| 43 | + ListHasNoMoreDataUI() | ||
| 44 | + } | ||
| 27 | } | 45 | } |
| 28 | - .onClick(() => { | ||
| 29 | - }) | ||
| 30 | - }, (item: FollowListDetailItem, index: number) => index.toString()) | 46 | + }.cachedCount(10) |
| 47 | + .padding({left:'31lpx',right:'31lpx'}) | ||
| 48 | + .layoutWeight(1) | ||
| 49 | + .scrollBar(BarState.Off) | ||
| 50 | + .onReachEnd(()=>{ | ||
| 51 | + console.log(TAG,"触底了"); | ||
| 52 | + if(!this.isLoading){ | ||
| 53 | + this.isLoading = true | ||
| 54 | + //加载分页数据 | ||
| 55 | + this.getNewPageData() | ||
| 56 | + } | ||
| 57 | + }) | ||
| 58 | + } | ||
| 59 | + } | ||
| 60 | + .width('100%') | ||
| 61 | + } | ||
| 31 | 62 | ||
| 63 | + getNewPageData(){ | ||
| 64 | + this.isLoading = true | ||
| 65 | + //我的关注列表 | ||
| 66 | + if (this.creatorDirectoryId === -1){ | ||
| 67 | + if(this.hasMore){ | ||
| 68 | + let object = new FollowListDetailRequestItem(20,this.curPageNum) | ||
| 32 | 69 | ||
| 33 | - //没有更多数据 显示提示 | ||
| 34 | - if(!this.hasMore){ | ||
| 35 | - ListItem(){ | ||
| 36 | - ListHasNoMoreDataUI() | 70 | + MinePageDatasModel.getMineFollowListData(object,getContext(this)).then((value)=>{ |
| 71 | + if (!this.data || value.list.length == 0){ | ||
| 72 | + this.hasMore = false | ||
| 73 | + }else{ | ||
| 74 | + value.list.forEach((value)=>{ | ||
| 75 | + this.data.push(new FollowListDetailItem(value.attentionHeadPhotoUrl,value.attentionUserName,value.fansNum,value.introduction,value.attentionCreatorId,"1")) | ||
| 76 | + }) | ||
| 77 | + this.data.notifyDataReload() | ||
| 78 | + this.count = this.data.totalCount() | ||
| 79 | + if (this.data.totalCount() < value.totalCount) { | ||
| 80 | + this.curPageNum++ | ||
| 81 | + }else { | ||
| 82 | + this.hasMore = false | ||
| 83 | + } | ||
| 37 | } | 84 | } |
| 85 | + this.isLoading = false | ||
| 86 | + }).catch((err:Error)=>{ | ||
| 87 | + console.log(TAG,"请求失败") | ||
| 88 | + this.isLoading = false | ||
| 89 | + }) | ||
| 90 | + } | ||
| 91 | + }else{ | ||
| 92 | + if(this.hasMore){ | ||
| 93 | + if(this.creatorDirectoryId === 120){ | ||
| 94 | + console.log("console"); | ||
| 38 | } | 95 | } |
| 39 | - }.cachedCount(7) | ||
| 40 | - .padding({left:'31lpx',right:'31lpx'}) | ||
| 41 | - .layoutWeight(1) | ||
| 42 | - .onReachEnd(()=>{ | ||
| 43 | - console.log(TAG,"触底了"); | ||
| 44 | - if(!this.isLoading){ | ||
| 45 | - this.isLoading = true | ||
| 46 | - //加载分页数据 | ||
| 47 | - this.getNewPageData() | ||
| 48 | - } | ||
| 49 | - }) | ||
| 50 | - }.layoutWeight(1) | 96 | + let object = new FollowListDetailRequestItem(this.creatorDirectoryId,20,this.curPageNum) |
| 97 | + | ||
| 98 | + MinePageDatasModel.getFollowListDetailData(object,getContext(this)).then((value)=>{ | ||
| 99 | + if (!this.data || value.list.length == 0){ | ||
| 100 | + this.hasMore = false | ||
| 101 | + this.isLoading = false | ||
| 102 | + }else{ | ||
| 103 | + this.getFollowListStatus(value) | ||
| 104 | + } | ||
| 105 | + }).catch((err:Error)=>{ | ||
| 106 | + console.log(TAG,"请求失败") | ||
| 107 | + this.isLoading = false | ||
| 108 | + }) | ||
| 109 | + } | ||
| 110 | + } | ||
| 51 | } | 111 | } |
| 52 | 112 | ||
| 53 | - getNewPageData(){ | ||
| 54 | - if(this.hasMore){ | ||
| 55 | - if(this.curPageNum>=4){ | 113 | + getFollowListStatus(value:MineFollowListDetailItem){ |
| 114 | + let status = new FollowListStatusRequestItem() | ||
| 115 | + let data : FollowListDetailItem[] = [] | ||
| 116 | + value.list.forEach((item)=>{ | ||
| 117 | + status.creatorIds.push(new QueryListIsFollowedItem(item.creatorId)) | ||
| 118 | + data.push(new FollowListDetailItem(item.headPhotoUrl,item.cnUserName,item.cnFansNum,item.introduction,item.creatorId,"0")) | ||
| 119 | + }) | ||
| 120 | + | ||
| 121 | + MinePageDatasModel.getFollowListStatusData(status,getContext(this)).then((newValue)=>{ | ||
| 122 | + newValue.forEach((item)=>{ | ||
| 123 | + data.forEach((list)=>{ | ||
| 124 | + if (item.creatorId == list.creatorId) { | ||
| 125 | + list.status = item.status | ||
| 126 | + } | ||
| 127 | + }) | ||
| 128 | + }) | ||
| 129 | + | ||
| 130 | + data.forEach((item)=>{ | ||
| 131 | + this.data.push(new FollowListDetailItem(item.headPhotoUrl,item.cnUserName,item.cnFansNum,item.introduction,item.creatorId,item.status)) | ||
| 132 | + }) | ||
| 133 | + | ||
| 134 | + this.data.notifyDataReload() | ||
| 135 | + | ||
| 136 | + this.count = this.data.totalCount() | ||
| 137 | + if (this.data.totalCount() < value.totalCount) { | ||
| 138 | + this.curPageNum++ | ||
| 139 | + }else { | ||
| 56 | this.hasMore = false | 140 | this.hasMore = false |
| 57 | - return | ||
| 58 | - } | ||
| 59 | - if(this.curPageNum == 1){ | ||
| 60 | - this.data.push(new FollowListDetailItem(this.headUrl,"人之初,性本善",10,"人之初,性本善")); | ||
| 61 | - this.data.push(new FollowListDetailItem(this.headUrl,"性相近,习相远",20,"性相近,习相远")); | ||
| 62 | - this.data.push(new FollowListDetailItem(this.headUrl,"苟不教,性乃迁",30,"苟不教,性乃迁")); | ||
| 63 | - this.data.push(new FollowListDetailItem(this.headUrl,"教之道,贵以专",40,"教之道,贵以专")); | ||
| 64 | - this.data.push(new FollowListDetailItem(this.headUrl,"AAAAAAA",50,"教之道,贵以专")); | ||
| 65 | - this.data.push(new FollowListDetailItem(this.headUrl,"BBBBBBB",60,"教之道,贵以专")); | ||
| 66 | - this.data.push(new FollowListDetailItem(this.headUrl,"CCCCCCC",70,"教之道,贵以专")); | ||
| 67 | - }else if(this.curPageNum == 2){ | ||
| 68 | - this.data.push(new FollowListDetailItem(this.headUrl,"昔孟母,择邻处",40,"昔孟母,择邻处")); | ||
| 69 | - }else if(this.curPageNum == 3){ | ||
| 70 | - this.data.push(new FollowListDetailItem(this.headUrl,"子不学,断机杼",40,"子不学,断机杼")); | ||
| 71 | } | 141 | } |
| 142 | + | ||
| 72 | this.isLoading = false | 143 | this.isLoading = false |
| 73 | - this.curPageNum++ | ||
| 74 | - } | 144 | + }).catch((err:Error)=>{ |
| 145 | + console.log(TAG,"请求失败") | ||
| 146 | + this.isLoading = false | ||
| 147 | + }) | ||
| 75 | } | 148 | } |
| 149 | + | ||
| 76 | } | 150 | } |
| 77 | 151 | ||
| 78 | @Component | 152 | @Component |
| @@ -84,7 +158,7 @@ struct ChildComponent { | @@ -84,7 +158,7 @@ struct ChildComponent { | ||
| 84 | Blank().height('27lpx') | 158 | Blank().height('27lpx') |
| 85 | 159 | ||
| 86 | Row() { | 160 | Row() { |
| 87 | - Image(this.data.headPhotoUrl) | 161 | + Image(StringUtils.isEmpty(this.data.headPhotoUrl)?$r('app.media.default_head'):this.data.headPhotoUrl) |
| 88 | .objectFit(ImageFit.Auto) | 162 | .objectFit(ImageFit.Auto) |
| 89 | .width('92lpx') | 163 | .width('92lpx') |
| 90 | .height('92lpx') | 164 | .height('92lpx') |
| @@ -108,7 +182,7 @@ struct ChildComponent { | @@ -108,7 +182,7 @@ struct ChildComponent { | ||
| 108 | }.layoutWeight(1) | 182 | }.layoutWeight(1) |
| 109 | .alignItems(HorizontalAlign.Start) | 183 | .alignItems(HorizontalAlign.Start) |
| 110 | 184 | ||
| 111 | - if(this.data.isFollow){ | 185 | + if(this.data.status == "1"){ |
| 112 | Row(){ | 186 | Row(){ |
| 113 | Text(`已关注`) | 187 | Text(`已关注`) |
| 114 | .fontColor($r('app.color.color_CCCCCC')) | 188 | .fontColor($r('app.color.color_CCCCCC')) |
| @@ -117,13 +191,14 @@ struct ChildComponent { | @@ -117,13 +191,14 @@ struct ChildComponent { | ||
| 117 | .lineHeight('35lpx') | 191 | .lineHeight('35lpx') |
| 118 | }.backgroundColor($r('app.color.color_F5F5F5')) | 192 | }.backgroundColor($r('app.color.color_F5F5F5')) |
| 119 | .borderRadius('6lpx') | 193 | .borderRadius('6lpx') |
| 194 | + .borderColor($r('app.color.color_F5F5F5')) | ||
| 120 | .borderWidth('2lpx') | 195 | .borderWidth('2lpx') |
| 121 | .justifyContent(FlexAlign.Center) | 196 | .justifyContent(FlexAlign.Center) |
| 122 | .width('100lpx') | 197 | .width('100lpx') |
| 123 | .height('46lpx') | 198 | .height('46lpx') |
| 124 | .margin({left:'4lpx',top:'23lpx'}) | 199 | .margin({left:'4lpx',top:'23lpx'}) |
| 125 | .onClick(()=>{ | 200 | .onClick(()=>{ |
| 126 | - this.data.isFollow = false | 201 | + this.data.status = "0" |
| 127 | }) | 202 | }) |
| 128 | }else{ | 203 | }else{ |
| 129 | Row(){ | 204 | Row(){ |
| @@ -136,7 +211,7 @@ struct ChildComponent { | @@ -136,7 +211,7 @@ struct ChildComponent { | ||
| 136 | .fontSize('23lpx') | 211 | .fontSize('23lpx') |
| 137 | .fontWeight('500lpx') | 212 | .fontWeight('500lpx') |
| 138 | .lineHeight('35lpx') | 213 | .lineHeight('35lpx') |
| 139 | - }.borderColor($r('app.color.color_ED2800')) | 214 | + }.borderColor($r('app.color.color_1AED2800')) |
| 140 | .borderRadius('6lpx') | 215 | .borderRadius('6lpx') |
| 141 | .borderWidth('2lpx') | 216 | .borderWidth('2lpx') |
| 142 | .justifyContent(FlexAlign.Center) | 217 | .justifyContent(FlexAlign.Center) |
| @@ -144,7 +219,7 @@ struct ChildComponent { | @@ -144,7 +219,7 @@ struct ChildComponent { | ||
| 144 | .height('46lpx') | 219 | .height('46lpx') |
| 145 | .margin({left:'4lpx',top:'23lpx'}) | 220 | .margin({left:'4lpx',top:'23lpx'}) |
| 146 | .onClick(()=>{ | 221 | .onClick(()=>{ |
| 147 | - this.data.isFollow = true | 222 | + this.data.status = "1" |
| 148 | }) | 223 | }) |
| 149 | } | 224 | } |
| 150 | }.alignItems(VerticalAlign.Top) | 225 | }.alignItems(VerticalAlign.Top) |
| @@ -16,11 +16,11 @@ export struct FollowThirdTabsComponent{ | @@ -16,11 +16,11 @@ export struct FollowThirdTabsComponent{ | ||
| 16 | 16 | ||
| 17 | build(){ | 17 | build(){ |
| 18 | if(this.data != null){ | 18 | if(this.data != null){ |
| 19 | - if(this.data[this.firstIndex].children[this.secondIndex].children == null || this.data[this.firstIndex].children[this.secondIndex].children.length == 0){ | ||
| 20 | - FollowListDetailUI({creatorDirectoryId:this.data[this.firstIndex].children[this.secondIndex].id}) | ||
| 21 | - }else{ | ||
| 22 | - this.FollowThirdUI() | ||
| 23 | - } | 19 | + if(this.data[this.firstIndex].children[this.secondIndex].children == null || this.data[this.firstIndex].children[this.secondIndex].children.length == 0){ |
| 20 | + FollowListDetailUI({creatorDirectoryId:this.data[this.firstIndex].children[this.secondIndex].id}) | ||
| 21 | + }else{ | ||
| 22 | + this.FollowThirdUI() | ||
| 23 | + } | ||
| 24 | } | 24 | } |
| 25 | } | 25 | } |
| 26 | 26 |
PeopleDaily_Harmony/wdComponent/src/main/ets/components/page/mine/home/HomePageBottomComponent.ets
0 → 100644
| 1 | +import { LazyDataSource, StringUtils } from 'wdKit'; | ||
| 2 | +import MinePageDatasModel from '../../../../model/MinePageDatasModel'; | ||
| 3 | +import { Params } from '../../../../repository/bean/Params'; | ||
| 4 | +import RouteManager from '../../../../utils/RouteManager'; | ||
| 5 | +import { CommentListItem } from '../../../../viewmodel/CommentListItem'; | ||
| 6 | +import { FollowListDetailItem } from '../../../../viewmodel/FollowListDetailItem'; | ||
| 7 | +import { FollowListDetailRequestItem } from '../../../../viewmodel/FollowListDetailRequestItem'; | ||
| 8 | +import { ListHasNoMoreDataUI } from '../../../reusable/ListHasNoMoreDataUI'; | ||
| 9 | + | ||
| 10 | +const TAG = "HomePageBottomComponent" | ||
| 11 | +@Component | ||
| 12 | +export struct HomePageBottomComponent{ | ||
| 13 | + @State style:number = 0; //0 评论 ,1 关注 | ||
| 14 | + @State data_follow: LazyDataSource<FollowListDetailItem> = new LazyDataSource(); | ||
| 15 | + @State data_comment: LazyDataSource<CommentListItem> = new LazyDataSource(); | ||
| 16 | + @State isLoading:boolean = false | ||
| 17 | + @State hasMore:boolean = true | ||
| 18 | + curPageNum:number = 1; | ||
| 19 | + @State count:number = 0; | ||
| 20 | + | ||
| 21 | + aboutToAppear(){ | ||
| 22 | + this.getNewPageData() | ||
| 23 | + } | ||
| 24 | + | ||
| 25 | + build(){ | ||
| 26 | + Column(){ | ||
| 27 | + Divider().width('100%') | ||
| 28 | + .height('2lpx') | ||
| 29 | + .strokeWidth('1lpx') | ||
| 30 | + .backgroundColor($r('app.color.color_EDEDED')) | ||
| 31 | + | ||
| 32 | + if(this.count === 0){ | ||
| 33 | + ListHasNoMoreDataUI({style:2}) | ||
| 34 | + .height('100%') | ||
| 35 | + }else{ | ||
| 36 | + if(this.style === 1){ | ||
| 37 | + List({ space: 3 }) { | ||
| 38 | + | ||
| 39 | + ListItem() { | ||
| 40 | + Row(){ | ||
| 41 | + Text("关注更多人民号") | ||
| 42 | + .fontWeight('400lpx') | ||
| 43 | + .fontColor($r('app.color.color_222222')) | ||
| 44 | + .lineHeight('38lpx') | ||
| 45 | + .fontSize('27lpx') | ||
| 46 | + .textAlign(TextAlign.Center) | ||
| 47 | + .margin({right:'4lpx'}) | ||
| 48 | + Image($r('app.media.arrow_icon_right')) | ||
| 49 | + .objectFit(ImageFit.Auto) | ||
| 50 | + .width('27lpx') | ||
| 51 | + .height('27lpx') | ||
| 52 | + }.height('69lpx') | ||
| 53 | + .width('659lpx') | ||
| 54 | + .alignItems(VerticalAlign.Center) | ||
| 55 | + .justifyContent(FlexAlign.Center) | ||
| 56 | + .backgroundColor($r('app.color.color_F5F5F5')) | ||
| 57 | + .margin({top:'31lpx',bottom:'4lpx'}) | ||
| 58 | + }.onClick(()=>{ | ||
| 59 | + let params: Params = { | ||
| 60 | + pageID: "1" | ||
| 61 | + } | ||
| 62 | + RouteManager.jumpNewPage("pages/FollowListPage",params) | ||
| 63 | + }) | ||
| 64 | + | ||
| 65 | + LazyForEach(this.data_follow, (item: FollowListDetailItem, index: number = 0) => { | ||
| 66 | + ListItem() { | ||
| 67 | + ChildFollowComponent({data: item}) | ||
| 68 | + } | ||
| 69 | + .onClick(() => { | ||
| 70 | + }) | ||
| 71 | + }, (item: FollowListDetailItem, index: number) => index.toString()) | ||
| 72 | + | ||
| 73 | + //没有更多数据 显示提示 | ||
| 74 | + if(!this.hasMore){ | ||
| 75 | + ListItem(){ | ||
| 76 | + ListHasNoMoreDataUI() | ||
| 77 | + } | ||
| 78 | + } | ||
| 79 | + }.cachedCount(15) | ||
| 80 | + .padding({left:'31lpx',right:'31lpx'}) | ||
| 81 | + .layoutWeight(1) | ||
| 82 | + .scrollBar(BarState.Off) | ||
| 83 | + .edgeEffect(EdgeEffect.None) | ||
| 84 | + // .nestedScroll({ | ||
| 85 | + // scrollForward: NestedScrollMode.PARENT_FIRST, | ||
| 86 | + // scrollBackward: NestedScrollMode.SELF_FIRST | ||
| 87 | + // }) | ||
| 88 | + .onReachEnd(()=>{ | ||
| 89 | + console.log(TAG,"触底了"); | ||
| 90 | + if(!this.isLoading){ | ||
| 91 | + this.isLoading = true | ||
| 92 | + //加载分页数据 | ||
| 93 | + this.getNewPageData() | ||
| 94 | + } | ||
| 95 | + }) | ||
| 96 | + }else if(this.style === 0){ | ||
| 97 | + List({ space: 3 }) { | ||
| 98 | + LazyForEach(this.data_comment, (item: CommentListItem, index: number = 0) => { | ||
| 99 | + ListItem() { | ||
| 100 | + ChildCommentComponent({data: item}) | ||
| 101 | + } | ||
| 102 | + .onClick(() => { | ||
| 103 | + }) | ||
| 104 | + }, (item: CommentListItem, index: number) => index.toString()) | ||
| 105 | + | ||
| 106 | + //没有更多数据 显示提示 | ||
| 107 | + if(!this.hasMore){ | ||
| 108 | + ListItem(){ | ||
| 109 | + ListHasNoMoreDataUI() | ||
| 110 | + } | ||
| 111 | + } | ||
| 112 | + }.cachedCount(15) | ||
| 113 | + .layoutWeight(1) | ||
| 114 | + .scrollBar(BarState.Off) | ||
| 115 | + .edgeEffect(EdgeEffect.None) | ||
| 116 | + // .nestedScroll({ | ||
| 117 | + // scrollForward: NestedScrollMode.PARENT_FIRST, | ||
| 118 | + // scrollBackward: NestedScrollMode.SELF_FIRST | ||
| 119 | + // }) | ||
| 120 | + .onReachEnd(()=>{ | ||
| 121 | + console.log(TAG,"触底了"); | ||
| 122 | + if(!this.isLoading){ | ||
| 123 | + this.isLoading = true | ||
| 124 | + //加载分页数据 | ||
| 125 | + this.getNewPageData() | ||
| 126 | + } | ||
| 127 | + }) | ||
| 128 | + } | ||
| 129 | + } | ||
| 130 | + } | ||
| 131 | + .width('100%') | ||
| 132 | + } | ||
| 133 | + | ||
| 134 | + | ||
| 135 | + @Styles | ||
| 136 | + listStyle() { | ||
| 137 | + .backgroundColor(Color.White) | ||
| 138 | + .height(72) | ||
| 139 | + .width("100%") | ||
| 140 | + .borderRadius(12) | ||
| 141 | + } | ||
| 142 | + | ||
| 143 | + getNewPageData(){ | ||
| 144 | + this.isLoading = true | ||
| 145 | + //我的关注列表 | ||
| 146 | + if (this.style === 1){ | ||
| 147 | + if(this.hasMore){ | ||
| 148 | + let object = new FollowListDetailRequestItem(20,this.curPageNum) | ||
| 149 | + | ||
| 150 | + MinePageDatasModel.getMineFollowListData(object,getContext(this)).then((value)=>{ | ||
| 151 | + if (!this.data_follow || value.list.length == 0){ | ||
| 152 | + this.hasMore = false | ||
| 153 | + }else{ | ||
| 154 | + value.list.forEach((value)=>{ | ||
| 155 | + this.data_follow.push(new FollowListDetailItem(value.attentionHeadPhotoUrl,value.attentionUserName,value.fansNum,value.introduction,value.attentionCreatorId,"1")) | ||
| 156 | + }) | ||
| 157 | + this.data_follow.notifyDataReload() | ||
| 158 | + this.count = this.data_follow.totalCount() | ||
| 159 | + if (this.data_follow.totalCount() < value.totalCount) { | ||
| 160 | + this.curPageNum++ | ||
| 161 | + }else { | ||
| 162 | + this.hasMore = false | ||
| 163 | + } | ||
| 164 | + } | ||
| 165 | + this.isLoading = false | ||
| 166 | + }).catch((err:Error)=>{ | ||
| 167 | + console.log(TAG,"请求失败") | ||
| 168 | + this.isLoading = false | ||
| 169 | + }) | ||
| 170 | + } | ||
| 171 | + }else if(this.style === 0){ | ||
| 172 | + if(this.hasMore){ | ||
| 173 | + let object = new FollowListDetailRequestItem(20,this.curPageNum) | ||
| 174 | + | ||
| 175 | + MinePageDatasModel.getMineCommentListData(object,getContext(this)).then((value)=>{ | ||
| 176 | + if (!this.data_comment || value.list.length == 0){ | ||
| 177 | + this.hasMore = false | ||
| 178 | + }else{ | ||
| 179 | + value.list.forEach((value)=>{ | ||
| 180 | + this.data_comment.push(new CommentListItem(value.fromUserHeader,value.fromUserName,value.targetTitle,value.createTime,value.commentContent)) | ||
| 181 | + }) | ||
| 182 | + this.data_comment.notifyDataReload() | ||
| 183 | + this.count = this.data_comment.totalCount() | ||
| 184 | + if (this.data_comment.totalCount() < value.totalCount) { | ||
| 185 | + this.curPageNum++ | ||
| 186 | + }else { | ||
| 187 | + this.hasMore = false | ||
| 188 | + } | ||
| 189 | + } | ||
| 190 | + this.isLoading = false | ||
| 191 | + }).catch((err:Error)=>{ | ||
| 192 | + console.log(TAG,"请求失败") | ||
| 193 | + this.isLoading = false | ||
| 194 | + }) | ||
| 195 | + } | ||
| 196 | + } | ||
| 197 | + } | ||
| 198 | +} | ||
| 199 | + | ||
| 200 | +@Component | ||
| 201 | +struct ChildFollowComponent { | ||
| 202 | + @ObjectLink data: FollowListDetailItem | ||
| 203 | + | ||
| 204 | + build() { | ||
| 205 | + Column(){ | ||
| 206 | + Blank().height('27lpx') | ||
| 207 | + | ||
| 208 | + Row() { | ||
| 209 | + Image(StringUtils.isEmpty(this.data.headPhotoUrl)?$r('app.media.default_head'):this.data.headPhotoUrl) | ||
| 210 | + .objectFit(ImageFit.Auto) | ||
| 211 | + .width('92lpx') | ||
| 212 | + .height('92lpx') | ||
| 213 | + .margin({right:'15lpx'}) | ||
| 214 | + | ||
| 215 | + Column(){ | ||
| 216 | + Text(this.data.cnUserName) | ||
| 217 | + .fontWeight('400lpx') | ||
| 218 | + .fontSize('31lpx') | ||
| 219 | + .lineHeight('38lpx') | ||
| 220 | + .fontColor($r('app.color.color_222222')) | ||
| 221 | + Text(`粉丝${this.data.cnFansNum}`) | ||
| 222 | + .fontColor($r('app.color.color_B0B0B0')) | ||
| 223 | + .fontSize('23lpx') | ||
| 224 | + .maxLines(1) | ||
| 225 | + Text(`${this.data.introduction}`) | ||
| 226 | + .fontColor($r('app.color.color_B0B0B0')) | ||
| 227 | + .fontSize('23lpx') | ||
| 228 | + .maxLines(2) | ||
| 229 | + .textOverflow({ overflow: TextOverflow.Ellipsis }) | ||
| 230 | + }.layoutWeight(1) | ||
| 231 | + .alignItems(HorizontalAlign.Start) | ||
| 232 | + | ||
| 233 | + if(this.data.status == "1"){ | ||
| 234 | + Row(){ | ||
| 235 | + Text(`已关注`) | ||
| 236 | + .fontColor($r('app.color.color_CCCCCC')) | ||
| 237 | + .fontSize('23lpx') | ||
| 238 | + .fontWeight('500lpx') | ||
| 239 | + .lineHeight('35lpx') | ||
| 240 | + }.backgroundColor($r('app.color.color_F5F5F5')) | ||
| 241 | + .borderRadius('6lpx') | ||
| 242 | + .borderColor($r('app.color.color_F5F5F5')) | ||
| 243 | + .borderWidth('2lpx') | ||
| 244 | + .justifyContent(FlexAlign.Center) | ||
| 245 | + .width('100lpx') | ||
| 246 | + .height('46lpx') | ||
| 247 | + .margin({left:'4lpx',top:'23lpx'}) | ||
| 248 | + .onClick(()=>{ | ||
| 249 | + this.data.status = "0" | ||
| 250 | + }) | ||
| 251 | + }else{ | ||
| 252 | + Row(){ | ||
| 253 | + Image($r('app.media.follow_icon')) | ||
| 254 | + .margin({right:'4lpx'}) | ||
| 255 | + .width('23lpx') | ||
| 256 | + .height('23lpx') | ||
| 257 | + Text(`关注`) | ||
| 258 | + .fontColor($r('app.color.color_ED2800')) | ||
| 259 | + .fontSize('23lpx') | ||
| 260 | + .fontWeight('500lpx') | ||
| 261 | + .lineHeight('35lpx') | ||
| 262 | + }.borderColor($r('app.color.color_1AED2800')) | ||
| 263 | + .borderRadius('6lpx') | ||
| 264 | + .borderWidth('2lpx') | ||
| 265 | + .justifyContent(FlexAlign.Center) | ||
| 266 | + .width('100lpx') | ||
| 267 | + .height('46lpx') | ||
| 268 | + .margin({left:'4lpx',top:'23lpx'}) | ||
| 269 | + .onClick(()=>{ | ||
| 270 | + this.data.status = "1" | ||
| 271 | + }) | ||
| 272 | + } | ||
| 273 | + }.alignItems(VerticalAlign.Top) | ||
| 274 | + .width('100%') | ||
| 275 | + .layoutWeight(1) | ||
| 276 | + | ||
| 277 | + Divider().width('100%') | ||
| 278 | + .height('2lpx') | ||
| 279 | + .strokeWidth('1lpx') | ||
| 280 | + .backgroundColor($r('app.color.color_EDEDED')) | ||
| 281 | + | ||
| 282 | + }.height('146lpx') | ||
| 283 | + .justifyContent(FlexAlign.Center) | ||
| 284 | + } | ||
| 285 | +} | ||
| 286 | + | ||
| 287 | +@Component | ||
| 288 | +struct ChildCommentComponent { | ||
| 289 | + @ObjectLink data: CommentListItem | ||
| 290 | + | ||
| 291 | + build() { | ||
| 292 | + Column(){ | ||
| 293 | + Row() { | ||
| 294 | + Image(StringUtils.isEmpty(this.data.fromUserHeader)?$r('app.media.default_head'):this.data.fromUserHeader) | ||
| 295 | + .objectFit(ImageFit.Auto) | ||
| 296 | + .width('69lpx') | ||
| 297 | + .height('69lpx') | ||
| 298 | + .margin({right:'15lpx'}) | ||
| 299 | + | ||
| 300 | + Column(){ | ||
| 301 | + Text(this.data.fromUserName) | ||
| 302 | + .fontSize('25lpx') | ||
| 303 | + .lineHeight('35lpx') | ||
| 304 | + .fontWeight('600lpx') | ||
| 305 | + .fontColor($r('app.color.color_222222')) | ||
| 306 | + .margin({bottom:'6lpx'}) | ||
| 307 | + .maxLines(1) | ||
| 308 | + Text(`${this.data.createTime}`) | ||
| 309 | + .fontColor($r('app.color.color_B0B0B0')) | ||
| 310 | + .fontSize('23lpx') | ||
| 311 | + .lineHeight('31lpx') | ||
| 312 | + .fontWeight('400lpx') | ||
| 313 | + .maxLines(1) | ||
| 314 | + }.layoutWeight(1) | ||
| 315 | + .alignItems(HorizontalAlign.Start) | ||
| 316 | + } | ||
| 317 | + .margin({bottom:'10lpx'}) | ||
| 318 | + .width('100%') | ||
| 319 | + .height('108lpx') | ||
| 320 | + .padding({left:'31lpx',right:'31lpx'}) | ||
| 321 | + | ||
| 322 | + Row(){ | ||
| 323 | + Text(this.data.commentContent) | ||
| 324 | + .maxLines(3) | ||
| 325 | + .textOverflow({ overflow: TextOverflow.Ellipsis }) | ||
| 326 | + .fontWeight('400lpx') | ||
| 327 | + .fontSize('31lpx') | ||
| 328 | + .lineHeight('46lpx') | ||
| 329 | + .fontColor($r('app.color.color_222222')) | ||
| 330 | + .margin({bottom:'10lpx'}) | ||
| 331 | + }.padding({left:'31lpx',right:'31lpx'}) | ||
| 332 | + .width('100%') | ||
| 333 | + | ||
| 334 | + Row(){ | ||
| 335 | + Text(this.data.targetTitle) | ||
| 336 | + .fontWeight('400lpx') | ||
| 337 | + .fontColor($r('app.color.color_222222')) | ||
| 338 | + .lineHeight('38lpx') | ||
| 339 | + .fontSize('27lpx') | ||
| 340 | + .textAlign(TextAlign.Center) | ||
| 341 | + .margin({right:'4lpx'}) | ||
| 342 | + .maxLines(3) | ||
| 343 | + .width('616lpx') | ||
| 344 | + Image($r('app.media.arrow_icon_right')) | ||
| 345 | + .objectFit(ImageFit.Auto) | ||
| 346 | + .width('27lpx') | ||
| 347 | + .height('27lpx') | ||
| 348 | + } | ||
| 349 | + .padding({top:'17lpx',bottom:'17lpx',left:'23lpx',right:'23lpx'}) | ||
| 350 | + .width('662lpx') | ||
| 351 | + .backgroundColor($r('app.color.color_F5F5F5')) | ||
| 352 | + .margin({top:'19lpx',bottom:'31lpx'}) | ||
| 353 | + | ||
| 354 | + Divider().width('100%') | ||
| 355 | + .height('12lpx') | ||
| 356 | + .strokeWidth('12lpx') | ||
| 357 | + .backgroundColor($r('app.color.color_F5F5F5')) | ||
| 358 | + | ||
| 359 | + } | ||
| 360 | + .justifyContent(FlexAlign.Center) | ||
| 361 | + } | ||
| 362 | +} |
| 1 | @Component | 1 | @Component |
| 2 | export struct ListHasNoMoreDataUI{ | 2 | export struct ListHasNoMoreDataUI{ |
| 3 | + @State style:number = 1; | ||
| 4 | + | ||
| 3 | build(){ | 5 | build(){ |
| 4 | - Row(){ | ||
| 5 | - Text("已显示全部内容") | ||
| 6 | - .fontColor($r('app.color.color_999999')) | ||
| 7 | - .fontWeight('500lpx') | ||
| 8 | - .fontSize('23lpx') | ||
| 9 | - }.justifyContent(FlexAlign.Center) | ||
| 10 | - .width('100%') | ||
| 11 | - .margin({top:'20lpx',bottom:'20lpx'}) | 6 | + if (this.style === 1){ |
| 7 | + Row(){ | ||
| 8 | + Text("已显示全部内容") | ||
| 9 | + .fontColor($r('app.color.color_999999')) | ||
| 10 | + .fontWeight('500lpx') | ||
| 11 | + .fontSize('23lpx') | ||
| 12 | + }.justifyContent(FlexAlign.Center) | ||
| 13 | + .width('100%') | ||
| 14 | + .margin({top:'20lpx',bottom:'20lpx'}) | ||
| 15 | + }else if (this.style === 2){ | ||
| 16 | + Column(){ | ||
| 17 | + Image($r('app.media.empty_icon')) | ||
| 18 | + .width('200lpx') | ||
| 19 | + .height('200lpx') | ||
| 20 | + .objectFit(ImageFit.Auto) | ||
| 21 | + Text("暂无内容") | ||
| 22 | + .fontColor($r('app.color.color_999999')) | ||
| 23 | + .fontWeight('500lpx') | ||
| 24 | + .fontSize('23lpx') | ||
| 25 | + } | ||
| 26 | + .justifyContent(FlexAlign.Center) | ||
| 27 | + .width('100%') | ||
| 28 | + .height('100%') | ||
| 29 | + } | ||
| 30 | + | ||
| 31 | + | ||
| 12 | } | 32 | } |
| 13 | } | 33 | } |
| @@ -7,6 +7,15 @@ import HashMap from '@ohos.util.HashMap'; | @@ -7,6 +7,15 @@ import HashMap from '@ohos.util.HashMap'; | ||
| 7 | import { ResponseDTO, WDHttp } from 'wdNetwork'; | 7 | import { ResponseDTO, WDHttp } from 'wdNetwork'; |
| 8 | import { MineAppointmentListItem } from '../viewmodel/MineAppointmentListItem'; | 8 | import { MineAppointmentListItem } from '../viewmodel/MineAppointmentListItem'; |
| 9 | import { Logger, ResourcesUtils } from 'wdKit'; | 9 | import { Logger, ResourcesUtils } from 'wdKit'; |
| 10 | +import { MineFollowListDetailItem } from '../viewmodel/MineFollowListDetailItem'; | ||
| 11 | +import { FollowListDetailRequestItem } from '../viewmodel/FollowListDetailRequestItem'; | ||
| 12 | +import { FollowListItem } from '../viewmodel/FollowListItem'; | ||
| 13 | +import { MineFollowListItem } from '../viewmodel/MineFollowListItem'; | ||
| 14 | +import { QueryListIsFollowedItem } from '../viewmodel/QueryListIsFollowedItem'; | ||
| 15 | +import { MineCommentListDetailItem } from '../viewmodel/MineCommentListDetailItem'; | ||
| 16 | +import { FollowListStatusRequestItem } from '../viewmodel/FollowListStatusRequestItem'; | ||
| 17 | +import { MineUserLevelItem } from '../viewmodel/MineUserLevelItem'; | ||
| 18 | +import { MineUserDetailItem } from '../viewmodel/MineUserDetailItem'; | ||
| 10 | const TAG = "MinePageDatasModel" | 19 | const TAG = "MinePageDatasModel" |
| 11 | 20 | ||
| 12 | /** | 21 | /** |
| @@ -137,6 +146,286 @@ class MinePageDatasModel{ | @@ -137,6 +146,286 @@ class MinePageDatasModel{ | ||
| 137 | return compRes.data | 146 | return compRes.data |
| 138 | } | 147 | } |
| 139 | 148 | ||
| 149 | + /** | ||
| 150 | + * 关注频道详情 | ||
| 151 | + * @param pageSize | ||
| 152 | + * @param pageNum | ||
| 153 | + * @param context | ||
| 154 | + * @returns | ||
| 155 | + */ | ||
| 156 | + getFollowListDetailData(params:FollowListDetailRequestItem,context: Context): Promise<MineFollowListDetailItem> { | ||
| 157 | + return new Promise<MineFollowListDetailItem>((success, error) => { | ||
| 158 | + Logger.info(TAG, `getAppointmentList start`); | ||
| 159 | + this.fetchFollowListDetailData(params).then((navResDTO: ResponseDTO<MineFollowListDetailItem>) => { | ||
| 160 | + if (!navResDTO || navResDTO.code != 0) { | ||
| 161 | + success(this.getFollowListDetailDataLocal(context)) | ||
| 162 | + return | ||
| 163 | + } | ||
| 164 | + Logger.info(TAG, "getAppointmentList then,AppointmentResDTO.timeStamp:" + navResDTO.timestamp); | ||
| 165 | + let navigationBean = navResDTO.data as MineFollowListDetailItem | ||
| 166 | + success(navigationBean); | ||
| 167 | + }).catch((err: Error) => { | ||
| 168 | + Logger.error(TAG, `fetchAppointmentListDataApi catch, error.name : ${err.name}, error.message:${err.message}`); | ||
| 169 | + success(this.getFollowListDetailDataLocal(context)) | ||
| 170 | + }) | ||
| 171 | + }) | ||
| 172 | + } | ||
| 173 | + | ||
| 174 | + async getFollowListDetailDataLocal(context: Context): Promise<MineFollowListDetailItem> { | ||
| 175 | + Logger.info(TAG, `getBottomNavDataMock start`); | ||
| 176 | + let compRes: ResponseDTO<MineFollowListDetailItem> | null = await ResourcesUtils.getResourcesJson<ResponseDTO<MineFollowListDetailItem>>('follow_list_detail_data_id120.json',context ); | ||
| 177 | + if (!compRes || !compRes.data) { | ||
| 178 | + Logger.info(TAG, `getAppointmentListDataLocal compRes is empty`); | ||
| 179 | + return new MineFollowListDetailItem() | ||
| 180 | + } | ||
| 181 | + Logger.info(TAG, `getAppointmentListDataLocal getResourcesJsonSync compRes : ${JSON.stringify(compRes)}`); | ||
| 182 | + return compRes.data | ||
| 183 | + } | ||
| 184 | + | ||
| 185 | + fetchFollowListDetailData(object:FollowListDetailRequestItem) { | ||
| 186 | + let url = HttpUrlUtils.getFollowListDetailDataUrl() | ||
| 187 | + let headers: HashMap<string, string> = HttpUrlUtils.getYcgCommonHeaders(); | ||
| 188 | + return WDHttp.post<ResponseDTO<MineFollowListDetailItem>>(url, object,headers) | ||
| 189 | + }; | ||
| 190 | + | ||
| 191 | + /** | ||
| 192 | + * 关注频道列表 | ||
| 193 | + * @returns | ||
| 194 | + */ | ||
| 195 | + fetchFollowListData() { | ||
| 196 | + let url = HttpUrlUtils.getFollowListDataUrl() | ||
| 197 | + let headers: HashMap<string, string> = HttpUrlUtils.getYcgCommonHeaders(); | ||
| 198 | + return WDHttp.get<ResponseDTO<FollowListItem[]>>(url, headers) | ||
| 199 | + }; | ||
| 200 | + | ||
| 201 | + getFollowListData(context: Context): Promise<FollowListItem[]> { | ||
| 202 | + return new Promise<FollowListItem[]>((success, error) => { | ||
| 203 | + Logger.info(TAG, `getAppointmentList start`); | ||
| 204 | + this.fetchFollowListData().then((navResDTO: ResponseDTO<FollowListItem[]>) => { | ||
| 205 | + if (!navResDTO || navResDTO.code != 0) { | ||
| 206 | + success(this.getFollowListDataLocal(context)) | ||
| 207 | + return | ||
| 208 | + } | ||
| 209 | + Logger.info(TAG, "getAppointmentList then,AppointmentResDTO.timeStamp:" + navResDTO.timestamp); | ||
| 210 | + let navigationBean = navResDTO.data as FollowListItem[] | ||
| 211 | + success(navigationBean); | ||
| 212 | + }).catch((err: Error) => { | ||
| 213 | + Logger.error(TAG, `fetchAppointmentListDataApi catch, error.name : ${err.name}, error.message:${err.message}`); | ||
| 214 | + success(this.getFollowListDataLocal(context)) | ||
| 215 | + }) | ||
| 216 | + }) | ||
| 217 | + } | ||
| 218 | + | ||
| 219 | + async getFollowListDataLocal(context: Context): Promise<FollowListItem[]> { | ||
| 220 | + Logger.info(TAG, `getFollowListDataLocal start`); | ||
| 221 | + let compRes: ResponseDTO<FollowListItem[]> | null = await ResourcesUtils.getResourcesJson<ResponseDTO<FollowListItem[]>>('follow_list_data.json' ,context); | ||
| 222 | + if (!compRes || !compRes.data) { | ||
| 223 | + Logger.info(TAG, `getFollowListDataLocal compRes is empty`); | ||
| 224 | + return [] | ||
| 225 | + } | ||
| 226 | + Logger.info(TAG, `getFollowListDataLocal getResourcesJsonSync compRes : ${JSON.stringify(compRes)}`); | ||
| 227 | + return compRes.data | ||
| 228 | + } | ||
| 229 | + | ||
| 230 | + /** | ||
| 231 | + * 我的关注列表 | ||
| 232 | + * @param params | ||
| 233 | + * @param context | ||
| 234 | + * @returns | ||
| 235 | + */ | ||
| 236 | + getMineFollowListData(params:FollowListDetailRequestItem,context: Context): Promise<MineFollowListItem> { | ||
| 237 | + return new Promise<MineFollowListItem>((success, error) => { | ||
| 238 | + Logger.info(TAG, `getAppointmentList start`); | ||
| 239 | + this.fetchMineDetailFollowListData(params).then((navResDTO: ResponseDTO<MineFollowListItem>) => { | ||
| 240 | + if (!navResDTO || navResDTO.code != 0) { | ||
| 241 | + success(this.getMineFollowListDataLocal(context)) | ||
| 242 | + return | ||
| 243 | + } | ||
| 244 | + Logger.info(TAG, "getAppointmentList then,AppointmentResDTO.timeStamp:" + navResDTO.timestamp); | ||
| 245 | + let navigationBean = navResDTO.data as MineFollowListItem | ||
| 246 | + success(navigationBean); | ||
| 247 | + }).catch((err: Error) => { | ||
| 248 | + Logger.error(TAG, `fetchAppointmentListDataApi catch, error.name : ${err.name}, error.message:${err.message}`); | ||
| 249 | + success(this.getMineFollowListDataLocal(context)) | ||
| 250 | + }) | ||
| 251 | + }) | ||
| 252 | + } | ||
| 253 | + | ||
| 254 | + fetchMineDetailFollowListData(object:FollowListDetailRequestItem) { | ||
| 255 | + let url = HttpUrlUtils.getMineFollowListDataUrl()+`?pageSize=${object.pageSize}&pageNum=${object.pageNum}` | ||
| 256 | + let headers: HashMap<string, string> = HttpUrlUtils.getYcgCommonHeaders(); | ||
| 257 | + return WDHttp.get<ResponseDTO<MineFollowListItem>>(url, headers) | ||
| 258 | + }; | ||
| 259 | + | ||
| 260 | + async getMineFollowListDataLocal(context: Context): Promise<MineFollowListItem> { | ||
| 261 | + Logger.info(TAG, `getMineFollowListDataLocal start`); | ||
| 262 | + let compRes: ResponseDTO<MineFollowListItem> | null = await ResourcesUtils.getResourcesJson<ResponseDTO<MineFollowListItem>>('mine_follow_list_data.json' ,context); | ||
| 263 | + if (!compRes || !compRes.data) { | ||
| 264 | + Logger.info(TAG, `getMineFollowListDataLocal compRes is empty`); | ||
| 265 | + return new MineFollowListItem() | ||
| 266 | + } | ||
| 267 | + Logger.info(TAG, `getMineFollowListDataLocal getResourcesJsonSync compRes : ${JSON.stringify(compRes)}`); | ||
| 268 | + return compRes.data | ||
| 269 | + } | ||
| 270 | + | ||
| 271 | + /** | ||
| 272 | + * 查询是否被关注 列表 | ||
| 273 | + * @param params | ||
| 274 | + * @param context | ||
| 275 | + * @returns | ||
| 276 | + */ | ||
| 277 | + getFollowListStatusData(params:FollowListStatusRequestItem,context: Context): Promise<QueryListIsFollowedItem[]> { | ||
| 278 | + return new Promise<QueryListIsFollowedItem[]>((success, error) => { | ||
| 279 | + Logger.info(TAG, `getAppointmentList start`); | ||
| 280 | + this.fetchFollowListStatusData(params).then((navResDTO: ResponseDTO<QueryListIsFollowedItem[]>) => { | ||
| 281 | + if (!navResDTO || navResDTO.code != 0) { | ||
| 282 | + success(this.getFollowListStatusDataLocal(context)) | ||
| 283 | + return | ||
| 284 | + } | ||
| 285 | + Logger.info(TAG, "getAppointmentList then,AppointmentResDTO.timeStamp:" + navResDTO.timestamp); | ||
| 286 | + let navigationBean = navResDTO.data as QueryListIsFollowedItem[] | ||
| 287 | + success(navigationBean); | ||
| 288 | + }).catch((err: Error) => { | ||
| 289 | + Logger.error(TAG, `fetchAppointmentListDataApi catch, error.name : ${err.name}, error.message:${err.message}`); | ||
| 290 | + success(this.getFollowListStatusDataLocal(context)) | ||
| 291 | + }) | ||
| 292 | + }) | ||
| 293 | + } | ||
| 294 | + | ||
| 295 | + fetchFollowListStatusData(object:FollowListStatusRequestItem) { | ||
| 296 | + let url = HttpUrlUtils.getFollowListStatusDataUrl() | ||
| 297 | + let headers: HashMap<string, string> = HttpUrlUtils.getYcgCommonHeaders(); | ||
| 298 | + return WDHttp.post<ResponseDTO<QueryListIsFollowedItem[]>>(url,object, headers) | ||
| 299 | + }; | ||
| 300 | + | ||
| 301 | + async getFollowListStatusDataLocal(context: Context): Promise<QueryListIsFollowedItem[]> { | ||
| 302 | + Logger.info(TAG, `getMineFollowListDataLocal start`); | ||
| 303 | + let compRes: ResponseDTO<QueryListIsFollowedItem[]> | null = await ResourcesUtils.getResourcesJson<ResponseDTO<QueryListIsFollowedItem[]>>('follow_list_id120_isfocus_data.json',context ); | ||
| 304 | + if (!compRes || !compRes.data) { | ||
| 305 | + Logger.info(TAG, `getMineFollowListDataLocal compRes is empty`); | ||
| 306 | + return [] | ||
| 307 | + } | ||
| 308 | + Logger.info(TAG, `getMineFollowListDataLocal getResourcesJsonSync compRes : ${JSON.stringify(compRes)}`); | ||
| 309 | + return compRes.data | ||
| 310 | + } | ||
| 311 | + | ||
| 312 | + | ||
| 313 | + /** | ||
| 314 | + * 我的评论列表 | ||
| 315 | + * @param params | ||
| 316 | + * @param context | ||
| 317 | + * @returns | ||
| 318 | + */ | ||
| 319 | + getMineCommentListData(params:FollowListDetailRequestItem,context: Context): Promise<MineCommentListDetailItem> { | ||
| 320 | + return new Promise<MineCommentListDetailItem>((success, error) => { | ||
| 321 | + Logger.info(TAG, `getAppointmentList start`); | ||
| 322 | + this.fetchMineCommentListData(params).then((navResDTO: ResponseDTO<MineCommentListDetailItem>) => { | ||
| 323 | + if (!navResDTO || navResDTO.code != 0) { | ||
| 324 | + success(this.getMineCommentListDataLocal(context)) | ||
| 325 | + return | ||
| 326 | + } | ||
| 327 | + Logger.info(TAG, "getAppointmentList then,AppointmentResDTO.timeStamp:" + navResDTO.timestamp); | ||
| 328 | + let navigationBean = navResDTO.data as MineCommentListDetailItem | ||
| 329 | + success(navigationBean); | ||
| 330 | + }).catch((err: Error) => { | ||
| 331 | + Logger.error(TAG, `fetchAppointmentListDataApi catch, error.name : ${err.name}, error.message:${err.message}`); | ||
| 332 | + success(this.getMineCommentListDataLocal(context)) | ||
| 333 | + }) | ||
| 334 | + }) | ||
| 335 | + } | ||
| 336 | + | ||
| 337 | + fetchMineCommentListData(object:FollowListDetailRequestItem) { | ||
| 338 | + let url = HttpUrlUtils.getMineCommentListDataUrl()+`?pageSize=${object.pageSize}&pageNum=${object.pageNum}` | ||
| 339 | + let headers: HashMap<string, string> = HttpUrlUtils.getYcgCommonHeaders(); | ||
| 340 | + return WDHttp.get<ResponseDTO<MineCommentListDetailItem>>(url, headers) | ||
| 341 | + }; | ||
| 342 | + | ||
| 343 | + async getMineCommentListDataLocal(context: Context): Promise<MineCommentListDetailItem> { | ||
| 344 | + Logger.info(TAG, `getMineFollowListDataLocal start`); | ||
| 345 | + let compRes: ResponseDTO<MineCommentListDetailItem> | null = await ResourcesUtils.getResourcesJson<ResponseDTO<MineCommentListDetailItem>>('mine_comment_list_data.json',context); | ||
| 346 | + if (!compRes || !compRes.data) { | ||
| 347 | + Logger.info(TAG, `getMineFollowListDataLocal compRes is empty`); | ||
| 348 | + return new MineCommentListDetailItem() | ||
| 349 | + } | ||
| 350 | + Logger.info(TAG, `getMineFollowListDataLocal getResourcesJsonSync compRes : ${JSON.stringify(compRes)}`); | ||
| 351 | + return compRes.data | ||
| 352 | + } | ||
| 353 | + | ||
| 354 | + /** | ||
| 355 | + * 个人中心 获取用户等级 | ||
| 356 | + */ | ||
| 357 | + getUserLevelData(context: Context): Promise<MineUserLevelItem> { | ||
| 358 | + return new Promise<MineUserLevelItem>((success, error) => { | ||
| 359 | + Logger.info(TAG, `getAppointmentList start`); | ||
| 360 | + this.fetchMineUserLevelData().then((navResDTO: ResponseDTO<MineUserLevelItem>) => { | ||
| 361 | + if (!navResDTO || navResDTO.code != 0) { | ||
| 362 | + success(this.getMineUserLevelDataLocal(context)) | ||
| 363 | + return | ||
| 364 | + } | ||
| 365 | + Logger.info(TAG, "getAppointmentList then,AppointmentResDTO.timeStamp:" + navResDTO.timestamp); | ||
| 366 | + let navigationBean = navResDTO.data as MineUserLevelItem | ||
| 367 | + success(navigationBean); | ||
| 368 | + }).catch((err: Error) => { | ||
| 369 | + Logger.error(TAG, `fetchMineUserLevelData catch, error.name : ${err.name}, error.message:${err.message}`); | ||
| 370 | + success(this.getMineUserLevelDataLocal(context)) | ||
| 371 | + }) | ||
| 372 | + }) | ||
| 373 | + } | ||
| 374 | + | ||
| 375 | + fetchMineUserLevelData() { | ||
| 376 | + let url = HttpUrlUtils.getMineUserLevelDataUrl() | ||
| 377 | + let headers: HashMap<string, string> = HttpUrlUtils.getYcgCommonHeaders(); | ||
| 378 | + return WDHttp.get<ResponseDTO<MineUserLevelItem>>(url, headers) | ||
| 379 | + }; | ||
| 380 | + | ||
| 381 | + async getMineUserLevelDataLocal(context: Context): Promise<MineUserLevelItem> { | ||
| 382 | + Logger.info(TAG, `getMineUserLevelDataLocal start`); | ||
| 383 | + let compRes: ResponseDTO<MineUserLevelItem> | null = await ResourcesUtils.getResourcesJson<ResponseDTO<MineUserLevelItem>>('mine_user_level.json' ,context); | ||
| 384 | + if (!compRes || !compRes.data) { | ||
| 385 | + Logger.info(TAG, `getMineUserLevelDataLocal compRes is empty`); | ||
| 386 | + return new MineUserLevelItem() | ||
| 387 | + } | ||
| 388 | + Logger.info(TAG, `getMineUserLevelDataLocal getResourcesJsonSync compRes : ${JSON.stringify(compRes)}`); | ||
| 389 | + return compRes.data | ||
| 390 | + } | ||
| 391 | + | ||
| 392 | + /** | ||
| 393 | + * 个人中心 获取用户详细信息 | ||
| 394 | + */ | ||
| 395 | + getUserDetailData(context: Context): Promise<MineUserDetailItem> { | ||
| 396 | + return new Promise<MineUserDetailItem>((success, error) => { | ||
| 397 | + Logger.info(TAG, `getAppointmentList start`); | ||
| 398 | + this.fetchMineUserDetailData().then((navResDTO: ResponseDTO<MineUserDetailItem>) => { | ||
| 399 | + if (!navResDTO || navResDTO.code != 0) { | ||
| 400 | + success(this.getMineUserDetailDataLocal(context)) | ||
| 401 | + return | ||
| 402 | + } | ||
| 403 | + Logger.info(TAG, "getUserDetailData then,timeStamp:" + navResDTO.timestamp); | ||
| 404 | + let navigationBean = navResDTO.data as MineUserDetailItem | ||
| 405 | + success(navigationBean); | ||
| 406 | + }).catch((err: Error) => { | ||
| 407 | + Logger.error(TAG, `fetchMineUserDetailData catch, error.name : ${err.name}, error.message:${err.message}`); | ||
| 408 | + success(this.getMineUserDetailDataLocal(context)) | ||
| 409 | + }) | ||
| 410 | + }) | ||
| 411 | + } | ||
| 412 | + | ||
| 413 | + fetchMineUserDetailData() { | ||
| 414 | + let url = HttpUrlUtils.getMineUserDetailDataUrl() | ||
| 415 | + let headers: HashMap<string, string> = HttpUrlUtils.getYcgCommonHeaders(); | ||
| 416 | + return WDHttp.get<ResponseDTO<MineUserDetailItem>>(url, headers) | ||
| 417 | + }; | ||
| 418 | + | ||
| 419 | + async getMineUserDetailDataLocal(context: Context): Promise<MineUserDetailItem> { | ||
| 420 | + Logger.info(TAG, `getMineUserLevelDataLocal start`); | ||
| 421 | + let compRes: ResponseDTO<MineUserDetailItem> | null = await ResourcesUtils.getResourcesJson<ResponseDTO<MineUserDetailItem>>('mine_user_detail.json',context ); | ||
| 422 | + if (!compRes || !compRes.data) { | ||
| 423 | + Logger.info(TAG, `getMineUserDetailDataLocal compRes is empty`); | ||
| 424 | + return new MineUserDetailItem() | ||
| 425 | + } | ||
| 426 | + Logger.info(TAG, `getMineUserDetailDataLocal getResourcesJsonSync compRes : ${JSON.stringify(compRes)}`); | ||
| 427 | + return compRes.data | ||
| 428 | + } | ||
| 140 | 429 | ||
| 141 | } | 430 | } |
| 142 | 431 |
| 1 | 1 | ||
| 2 | -import MinePagePersonalFunctionsItem from '../../../../../../../../PeopleDaily_Harmony/wdComponent/src/main/ets/viewmodel/MinePagePersonalFunctionsItem' | ||
| 3 | -import MinePageCreatorFunctionsItem from '../../../../../../../../PeopleDaily_Harmony/wdComponent/src/main/ets/viewmodel/MinePageCreatorFunctionsItem' | ||
| 4 | -import MinePageMoreFunctionModel from '../../../../../../../../PeopleDaily_Harmony/wdComponent/src/main/ets/viewmodel/MinePageMoreFunctionModel'; | ||
| 5 | -import { HttpUrlUtils } from '../../../../../../../../PeopleDaily_Harmony/wdComponent/src/main/ets/network/HttpUrlUtils'; | ||
| 6 | -import HashMap from '@ohos.util.HashMap'; | ||
| 7 | -import { ResponseDTO, WDHttp } from 'wdNetwork'; | ||
| 8 | -import { Logger } from 'wdKit'; | ||
| 9 | -import { MineMainSettingFunctionItem } from '../../../../../../../../PeopleDaily_Harmony/wdComponent/src/main/ets/viewmodel/MineMainSettingFunctionItem' | 2 | +import { MineMainSettingFunctionItem } from '../viewmodel/MineMainSettingFunctionItem'; |
| 10 | 3 | ||
| 11 | const TAG = "MineSettingDatasModel" | 4 | const TAG = "MineSettingDatasModel" |
| 12 | 5 |
| @@ -44,6 +44,42 @@ export class HttpUrlUtils { | @@ -44,6 +44,42 @@ export class HttpUrlUtils { | ||
| 44 | */ | 44 | */ |
| 45 | static readonly APPOINTMENT_LIST_DATA_PATH: string = "/api/live-center-message/zh/c/live/subscribe"; | 45 | static readonly APPOINTMENT_LIST_DATA_PATH: string = "/api/live-center-message/zh/c/live/subscribe"; |
| 46 | 46 | ||
| 47 | + /** | ||
| 48 | + * 资料编辑 获取用户信息 | ||
| 49 | + */ | ||
| 50 | + static readonly APPOINTMENT_AccountOwner_PATH: string = "/api/rmrb-contact/contact/zh/c/my/detail"; | ||
| 51 | + /** | ||
| 52 | + * 个人中心 关注列表详情 | ||
| 53 | + */ | ||
| 54 | + static readonly FOLLOW_LIST_DETAIL_DATA_PATH: string = "/api/rmrb-creator-user/c/creatorDirectory/getContactMasterDetaiPage"; | ||
| 55 | + /** | ||
| 56 | + * 个人中心 关注列表 | ||
| 57 | + */ | ||
| 58 | + static readonly FOLLOW_LIST_DATA_PATH: string = "/api/rmrb-creator-user/c/creatorDirectory/getCreatorDirectoryTree"; | ||
| 59 | + /** | ||
| 60 | + * 个人中心 我的关注列表 | ||
| 61 | + */ | ||
| 62 | + static readonly MINE_FOLLOW_LIST_DATA_PATH: string = "/api/rmrb-interact/interact/zh/c/attention/list"; | ||
| 63 | + /** | ||
| 64 | + * 个人中心 关注列表状态 | ||
| 65 | + */ | ||
| 66 | + static readonly FOLLOW_LIST_STATUS_DATA_PATH: string = "/api/rmrb-interact/interact/zh/c/batchAttention/status"; | ||
| 67 | + | ||
| 68 | + /** | ||
| 69 | + * 个人中心 我的评论列表 | ||
| 70 | + */ | ||
| 71 | + static readonly MINE_COMMENT_LIST_DATA_PATH: string = "/api/rmrb-comment/comment/zh/c/myCommentList"; | ||
| 72 | + | ||
| 73 | + /** | ||
| 74 | + * 个人中心 APP获取用户等级 | ||
| 75 | + */ | ||
| 76 | + static readonly MINE_USER_LEVEL_DATA_PATH: string = "/api/rmrb-user-point/auth/level/zh/c/queryUserLevel"; | ||
| 77 | + | ||
| 78 | + /** | ||
| 79 | + * 个人中心 (号主/普通用户)我的基本信息 | ||
| 80 | + */ | ||
| 81 | + static readonly MINE_USER_DETAIL_DATA_PATH: string = "/api/rmrb-contact/contact/zh/c/my/detail"; | ||
| 82 | + | ||
| 47 | private static hostUrl: string = HttpUrlUtils.HOST_UAT; | 83 | private static hostUrl: string = HttpUrlUtils.HOST_UAT; |
| 48 | 84 | ||
| 49 | static getCommonHeaders(): HashMap<string, string> { | 85 | static getCommonHeaders(): HashMap<string, string> { |
| @@ -83,44 +119,6 @@ export class HttpUrlUtils { | @@ -83,44 +119,6 @@ export class HttpUrlUtils { | ||
| 83 | return headers; | 119 | return headers; |
| 84 | } | 120 | } |
| 85 | 121 | ||
| 86 | - static getYcgCommonHeaders(): HashMap<string, string> { | ||
| 87 | - let headers: HashMap<string, string> = new HashMap<string, string>() | ||
| 88 | - | ||
| 89 | - headers.set('mpassid', 'XGt6jfGUx8ADAKruTyAMdhHj') | ||
| 90 | - headers.set('city', "%E5%90%88%E8%82%A5%E5%B8%82") | ||
| 91 | - headers.set('User-Agent', 'Dalvik/2.1.0 (Linux; U; Android 10; PCT-AL10 Build/HUAWEIPCT-AL10)') | ||
| 92 | - headers.set('channel', "rmrb_china_0000") | ||
| 93 | - headers.set('appCode', "0af1f9085e484c97b2a44704bae72c07") | ||
| 94 | - headers.set('Authorization', "APPCODE 0af1f9085e484c97b2a44704bae72c07") | ||
| 95 | - headers.set('X-Ca-Stage', "TEST") | ||
| 96 | - headers.set('plat', "Phone") | ||
| 97 | - headers.set('Content-Type', 'application/json; charset=utf-8') | ||
| 98 | - headers.set('timestamp', "649773304") | ||
| 99 | - headers.set('RMRB-X-TOKEN', "eyJhbGciOiJIUzI1NiIsImtpZCI6IklFazBGclhfV2RYMEx1ZktDU01iYTVYd0VmUHZ6a043T0F5UTRFLWIwWU0ifQ.eyJpc3MiOiJwZW9wbGVzLWRhaWx5LWZvdXJhIiwic3ViIjoicGVvcGxlcy1kYWlseS1mb3VyYSIsImV4cCI6MTcxMDU4Mzk0MywidXNlcklkIjo1NjczODc0NzcwNjM2MjEsInVzZXJWZXJzaW9uIjoiNTY3Mzg3NDc3MDYzNjIxXzAiLCJ1c2VyTmFtZSI6IiVFNCVCQSVCQSVFNiVCMCU5MSVFNiU5NyVBNSVFNiU4QSVBNSVFNyVCRCU5MSVFNSU4RiU4QmFQcnRxNSIsInVzZXJUeXBlIjoxLCJjcmVhdG9ySWQiOm51bGwsInVzZXJJZFpoIjpudWxsfQ._LTKrUxQozpCj1XMhx1TWOIxn5gjDveoPuMFGpI0g_8") | ||
| 100 | - headers.set('device_id', "5156098c-6c44-3514-af70-04a0139a9327") | ||
| 101 | - headers.set('cookie', 'RMRB-X-TOKEN=eyJhbGciOiJIUzI1NiIsImtpZCI6IklFazBGclhfV2RYMEx1ZktDU01iYTVYd0VmUHZ6a043T0F5UTRFLWIwWU0ifQ.eyJpc3MiOiJwZW9wbGVzLWRhaWx5LWZvdXJhIiwic3ViIjoicGVvcGxlcy1kYWlseS1mb3VyYSIsImV4cCI6MTcxMDU4Mzk0MywidXNlcklkIjo1NjczODc0NzcwNjM2MjEsInVzZXJWZXJzaW9uIjoiNTY3Mzg3NDc3MDYzNjIxXzAiLCJ1c2VyTmFtZSI6IiVFNCVCQSVCQSVFNiVCMCU5MSVFNiU5NyVBNSVFNiU4QSVBNSVFNyVCRCU5MSVFNSU4RiU4QmFQcnRxNSIsInVzZXJUeXBlIjoxLCJjcmVhdG9ySWQiOm51bGwsInVzZXJJZFpoIjpudWxsfQ._LTKrUxQozpCj1XMhx1TWOIxn5gjDveoPuMFGpI0g_8') | ||
| 102 | - headers.set('build_version', "202403112023") | ||
| 103 | - headers.set('adcode', "340000") | ||
| 104 | - headers.set('os_version', "10") | ||
| 105 | - headers.set('city_dode', "340100") | ||
| 106 | - headers.set('userId', "567387477063621") | ||
| 107 | - headers.set('versionCode', "7302") | ||
| 108 | - headers.set('system', "Android") | ||
| 109 | - headers.set('version_name', "7.3.0.2") | ||
| 110 | - headers.set('EagleEye-TraceID', '5C3D0800CF2C4440A43E5B131187629B') | ||
| 111 | - headers.set('imei', "5156098c-6c44-3514-af70-04a0139a9327") | ||
| 112 | - headers.set('userType', "1") | ||
| 113 | - headers.set('Accept-Language', 'zh') | ||
| 114 | - | ||
| 115 | - // HttpUrlUtils.addSpecialHeaders(headers); | ||
| 116 | - // Logger.debug("TAG", '******************* commonHeaders headers start ******************************** '); | ||
| 117 | - // headers.forEach((v,k)=>{ | ||
| 118 | - // Logger.debug("TAG", 'getCommonHeaders header: ' + k + ': ' + v); | ||
| 119 | - // }) | ||
| 120 | - // Logger.debug("TAG", '******************* commonHeaders headers end ******************************** '); | ||
| 121 | - return headers; | ||
| 122 | - } | ||
| 123 | - | ||
| 124 | static getHost() { | 122 | static getHost() { |
| 125 | return this.hostUrl; | 123 | return this.hostUrl; |
| 126 | } | 124 | } |
| @@ -167,6 +165,80 @@ export class HttpUrlUtils { | @@ -167,6 +165,80 @@ export class HttpUrlUtils { | ||
| 167 | return url; | 165 | return url; |
| 168 | } | 166 | } |
| 169 | 167 | ||
| 168 | + static getFollowListDetailDataUrl() { | ||
| 169 | + let url = HttpUrlUtils.HOST_SIT + HttpUrlUtils.FOLLOW_LIST_DETAIL_DATA_PATH | ||
| 170 | + return url | ||
| 171 | + } | ||
| 172 | + | ||
| 173 | + static getFollowListDataUrl() { | ||
| 174 | + let url = HttpUrlUtils.HOST_SIT + HttpUrlUtils.FOLLOW_LIST_DATA_PATH | ||
| 175 | + return url | ||
| 176 | + } | ||
| 177 | + | ||
| 178 | + static getMineFollowListDataUrl() { | ||
| 179 | + let url = HttpUrlUtils.HOST_SIT + HttpUrlUtils.MINE_FOLLOW_LIST_DATA_PATH | ||
| 180 | + return url | ||
| 181 | + } | ||
| 182 | + | ||
| 183 | + static getFollowListStatusDataUrl() { | ||
| 184 | + let url = HttpUrlUtils.HOST_SIT + HttpUrlUtils.FOLLOW_LIST_STATUS_DATA_PATH | ||
| 185 | + return url | ||
| 186 | + } | ||
| 187 | + | ||
| 188 | + static getMineCommentListDataUrl() { | ||
| 189 | + let url = HttpUrlUtils.HOST_SIT + HttpUrlUtils.MINE_COMMENT_LIST_DATA_PATH | ||
| 190 | + return url | ||
| 191 | + } | ||
| 192 | + | ||
| 193 | + static getMineUserLevelDataUrl() { | ||
| 194 | + let url = HttpUrlUtils.HOST_SIT + HttpUrlUtils.MINE_USER_LEVEL_DATA_PATH | ||
| 195 | + return url | ||
| 196 | + } | ||
| 197 | + | ||
| 198 | + static getMineUserDetailDataUrl() { | ||
| 199 | + let url = HttpUrlUtils.HOST_SIT + HttpUrlUtils.MINE_USER_DETAIL_DATA_PATH | ||
| 200 | + return url | ||
| 201 | + } | ||
| 202 | + | ||
| 203 | + | ||
| 204 | + static getYcgCommonHeaders(): HashMap<string, string> { | ||
| 205 | + let headers: HashMap<string, string> = new HashMap<string, string>() | ||
| 206 | + | ||
| 207 | + headers.set('mpassid', 'XGt6jfGUx8ADAKruTyAMdhHj') | ||
| 208 | + headers.set('city', "%E5%90%88%E8%82%A5%E5%B8%82") | ||
| 209 | + headers.set('User-Agent', 'Dalvik/2.1.0 (Linux; U; Android 10; PCT-AL10 Build/HUAWEIPCT-AL10)') | ||
| 210 | + headers.set('channel', "rmrb_china_0000") | ||
| 211 | + headers.set('appCode', "0af1f9085e484c97b2a44704bae72c07") | ||
| 212 | + headers.set('Authorization', "APPCODE 0af1f9085e484c97b2a44704bae72c07") | ||
| 213 | + headers.set('X-Ca-Stage', "TEST") | ||
| 214 | + headers.set('plat', "Phone") | ||
| 215 | + headers.set('Content-Type', 'application/json; charset=utf-8') | ||
| 216 | + headers.set('timestamp', "740977741") | ||
| 217 | + headers.set('RMRB-X-TOKEN', "eyJhbGciOiJIUzI1NiIsImtpZCI6IklFazBGclhfV2RYMEx1ZktDU01iYTVYd0VmUHZ6a043T0F5UTRFLWIwWU0ifQ.eyJpc3MiOiJwZW9wbGVzLWRhaWx5LWZvdXJhIiwic3ViIjoicGVvcGxlcy1kYWlseS1mb3VyYSIsImV4cCI6MTcxMDc1NjM3NywidXNlcklkIjo1NjczODc0NzcwNjM2MjEsInVzZXJWZXJzaW9uIjoiNTY3Mzg3NDc3MDYzNjIxXzAiLCJ1c2VyTmFtZSI6IiVFNCVCQSVCQSVFNiVCMCU5MSVFNiU5NyVBNSVFNiU4QSVBNSVFNyVCRCU5MSVFNSU4RiU4QmFQcnRxNSIsInVzZXJUeXBlIjoxLCJjcmVhdG9ySWQiOm51bGwsInVzZXJJZFpoIjpudWxsfQ.KBkF0Yki-JWlq0ZIOCzgKwQc1ycBnFHa6CF-rMPRgHU") | ||
| 218 | + headers.set('device_id', "5156098c-6c44-3514-af70-04a0139a9327") | ||
| 219 | + // headers.set('cookie', 'RMRB-X-TOKEN=eyJhbGciOiJIUzI1NiIsImtpZCI6IklFazBGclhfV2RYMEx1ZktDU01iYTVYd0VmUHZ6a043T0F5UTRFLWIwWU0ifQ.eyJpc3MiOiJwZW9wbGVzLWRhaWx5LWZvdXJhIiwic3ViIjoicGVvcGxlcy1kYWlseS1mb3VyYSIsImV4cCI6MTcxMDU4Mzk0MywidXNlcklkIjo1NjczODc0NzcwNjM2MjEsInVzZXJWZXJzaW9uIjoiNTY3Mzg3NDc3MDYzNjIxXzAiLCJ1c2VyTmFtZSI6IiVFNCVCQSVCQSVFNiVCMCU5MSVFNiU5NyVBNSVFNiU4QSVBNSVFNyVCRCU5MSVFNSU4RiU4QmFQcnRxNSIsInVzZXJUeXBlIjoxLCJjcmVhdG9ySWQiOm51bGwsInVzZXJJZFpoIjpudWxsfQ._LTKrUxQozpCj1XMhx1TWOIxn5gjDveoPuMFGpI0g_8') | ||
| 220 | + headers.set('build_version', "202403112023") | ||
| 221 | + headers.set('adcode', "340000") | ||
| 222 | + headers.set('os_version', "10") | ||
| 223 | + headers.set('city_dode', "340100") | ||
| 224 | + headers.set('userId', "567387477063621") | ||
| 225 | + headers.set('versionCode', "7302") | ||
| 226 | + headers.set('system', "Android") | ||
| 227 | + headers.set('version_name', "7.3.0.2") | ||
| 228 | + headers.set('EagleEye-TraceID', '101118E4D006453DA549A82AA8CAFBFE') | ||
| 229 | + headers.set('imei', "5156098c-6c44-3514-af70-04a0139a9327") | ||
| 230 | + headers.set('userType', "1") | ||
| 231 | + headers.set('Accept-Language', 'zh') | ||
| 232 | + | ||
| 233 | + // HttpUrlUtils.addSpecialHeaders(headers); | ||
| 234 | + // Logger.debug("TAG", '******************* commonHeaders headers start ******************************** '); | ||
| 235 | + // headers.forEach((v,k)=>{ | ||
| 236 | + // Logger.debug("TAG", 'getCommonHeaders header: ' + k + ': ' + v); | ||
| 237 | + // }) | ||
| 238 | + // Logger.debug("TAG", '******************* commonHeaders headers end ******************************** '); | ||
| 239 | + return headers; | ||
| 240 | + } | ||
| 241 | + | ||
| 170 | static addSpecialHeaders(headers: HashMap<string, string>) { | 242 | static addSpecialHeaders(headers: HashMap<string, string>) { |
| 171 | switch (this.hostUrl) { | 243 | switch (this.hostUrl) { |
| 172 | case this.HOST_UAT: | 244 | case this.HOST_UAT: |
| 1 | + | ||
| 2 | + | ||
| 3 | +@Observed | ||
| 4 | +export class CommentListItem{ | ||
| 5 | + fromUserHeader:string = "" | ||
| 6 | + fromUserName:string = "" | ||
| 7 | + commentContent:string = "" | ||
| 8 | + targetTitle:string = "" | ||
| 9 | + createTime:string = "" | ||
| 10 | + | ||
| 11 | + constructor(fromUserHeader:string,fromUserName:string,targetTitle:string,createTime:string,commentContent:string ) { | ||
| 12 | + this.fromUserHeader = fromUserHeader | ||
| 13 | + this.fromUserName = fromUserName | ||
| 14 | + this.commentContent = commentContent | ||
| 15 | + this.targetTitle = targetTitle | ||
| 16 | + this.createTime = createTime | ||
| 17 | + } | ||
| 18 | +} |
| @@ -65,12 +65,21 @@ export class FollowListDetailItem{ | @@ -65,12 +65,21 @@ export class FollowListDetailItem{ | ||
| 65 | cnUserName:string //昵称 | 65 | cnUserName:string //昵称 |
| 66 | cnFansNum:number //粉丝数 | 66 | cnFansNum:number //粉丝数 |
| 67 | introduction:string //介绍 | 67 | introduction:string //介绍 |
| 68 | - isFollow:boolean = false //是否已经关注 | 68 | + status:string = "0" //是否已经关注 |
| 69 | + creatorId:string = "" | ||
| 69 | 70 | ||
| 70 | - constructor(headPhotoUrl:string,cnUserName:string,cnFansNum:number,introduction:string) { | 71 | + attentionCreatorId:string = "" |
| 72 | + attentionHeadPhotoUrl:string = "" | ||
| 73 | + attentionUserName:string = "" | ||
| 74 | + fansNum :number = 0 | ||
| 75 | + | ||
| 76 | + | ||
| 77 | + constructor(headPhotoUrl:string,cnUserName:string,cnFansNum:number,introduction:string,creatorId:string,status:string ) { | ||
| 71 | this.headPhotoUrl = headPhotoUrl | 78 | this.headPhotoUrl = headPhotoUrl |
| 72 | this.cnUserName = cnUserName | 79 | this.cnUserName = cnUserName |
| 73 | this.cnFansNum = cnFansNum | 80 | this.cnFansNum = cnFansNum |
| 74 | this.introduction = introduction | 81 | this.introduction = introduction |
| 82 | + this.creatorId = creatorId | ||
| 83 | + this.status = status | ||
| 75 | } | 84 | } |
| 76 | } | 85 | } |
| 1 | +export class FollowListDetailRequestItem{ | ||
| 2 | + creatorDirectoryId:number = -1 | ||
| 3 | + pageSize:number = 20 | ||
| 4 | + pageNum:number = 1 | ||
| 5 | + | ||
| 6 | + constructor(creatorDirectoryId: number = -1, | ||
| 7 | + pageSize: number = 20, | ||
| 8 | + pageNum: number = 1) { | ||
| 9 | + this.creatorDirectoryId = creatorDirectoryId | ||
| 10 | + this.pageSize = pageSize | ||
| 11 | + this.pageNum = pageNum | ||
| 12 | + } | ||
| 13 | +} |
| @@ -38,33 +38,33 @@ export class FollowListItem{ | @@ -38,33 +38,33 @@ export class FollowListItem{ | ||
| 38 | constructor(directoryName:string) { | 38 | constructor(directoryName:string) { |
| 39 | this.directoryName = directoryName | 39 | this.directoryName = directoryName |
| 40 | } | 40 | } |
| 41 | - directoryName:string | ||
| 42 | - directoryWeight:number | ||
| 43 | - id:number | ||
| 44 | - isShow:number | ||
| 45 | - level:number | ||
| 46 | - parentId:number | ||
| 47 | - rootId:number | ||
| 48 | - children:FollowSecondListItem[] | 41 | + directoryName:string = "" |
| 42 | + directoryWeight:number = 0 | ||
| 43 | + id:number = -1 | ||
| 44 | + isShow:number = 1 | ||
| 45 | + level:number = 1 | ||
| 46 | + parentId:number = 0 | ||
| 47 | + rootId:number = 0 | ||
| 48 | + children:FollowSecondListItem[] = [] | ||
| 49 | } | 49 | } |
| 50 | @Observed | 50 | @Observed |
| 51 | export class FollowSecondListItem{ | 51 | export class FollowSecondListItem{ |
| 52 | - directoryName:string | ||
| 53 | - directoryWeight:number | ||
| 54 | - id:number | ||
| 55 | - isShow:number | ||
| 56 | - level:number | ||
| 57 | - parentId:number | ||
| 58 | - rootId:number | ||
| 59 | - children:FollowThirdListItem[] | 52 | + directoryName:string = "" |
| 53 | + directoryWeight:number = 0 | ||
| 54 | + id:number = 0 | ||
| 55 | + isShow:number = 1 | ||
| 56 | + level:number = 1 | ||
| 57 | + parentId:number = 0 | ||
| 58 | + rootId:number = 0 | ||
| 59 | + children:FollowThirdListItem[] = [] | ||
| 60 | } | 60 | } |
| 61 | @Observed | 61 | @Observed |
| 62 | export class FollowThirdListItem{ | 62 | export class FollowThirdListItem{ |
| 63 | - directoryName:string | ||
| 64 | - directoryWeight:number | ||
| 65 | - id:number | ||
| 66 | - isShow:number | ||
| 67 | - level:number | ||
| 68 | - parentId:number | ||
| 69 | - rootId:number | 63 | + directoryName:string = "" |
| 64 | + directoryWeight:number = 0 | ||
| 65 | + id:number = 0 | ||
| 66 | + isShow:number = 1 | ||
| 67 | + level:number = 1 | ||
| 68 | + parentId:number = 0 | ||
| 69 | + rootId:number = 0 | ||
| 70 | } | 70 | } |
| 1 | + | ||
| 2 | +import { CommentListItem } from './CommentListItem' | ||
| 3 | +export class MineCommentListDetailItem{ | ||
| 4 | + list:CommentListItem[] = [] | ||
| 5 | + | ||
| 6 | + pageNum: number = 0 | ||
| 7 | + pageSize: number = 20 | ||
| 8 | + totalCount: number = 0 | ||
| 9 | + | ||
| 10 | + constructor(list?:CommentListItem[],pageNum?: number,pageSize?: number,totalCount?: number) { | ||
| 11 | + } | ||
| 12 | + | ||
| 13 | +} |
| 1 | +import { FollowListDetailItem } from './FollowListDetailItem' | ||
| 2 | + | ||
| 3 | +export class MineFollowListDetailItem{ | ||
| 4 | + list:FollowListDetailItem[] = [] | ||
| 5 | + | ||
| 6 | + pageNum: number = 0 | ||
| 7 | + pageSize: number = 20 | ||
| 8 | + totalCount: number = 0 | ||
| 9 | + | ||
| 10 | + constructor(list?:FollowListDetailItem[],pageNum?: number,pageSize?: number,totalCount?: number) { | ||
| 11 | + } | ||
| 12 | + | ||
| 13 | +} |
| 1 | + | ||
| 2 | +export class MineUserDetailItem{ | ||
| 3 | + userName:string = "" | ||
| 4 | + headPhotoUrl:"" = "" | ||
| 5 | + introduction:string = "" | ||
| 6 | + userType:string = "1" | ||
| 7 | + creatorId:string = "" | ||
| 8 | + browseNum:number = 0//阅读数 | ||
| 9 | + commentNum:number = 0//评论数 | ||
| 10 | + attentionNum:number = 0//关注数 | ||
| 11 | + registTime:number = 0//账号注册时间 | ||
| 12 | + | ||
| 13 | + levelHead:string = "" | ||
| 14 | + levelId:number = 0 | ||
| 15 | +} |
| @@ -90,6 +90,18 @@ | @@ -90,6 +90,18 @@ | ||
| 90 | { | 90 | { |
| 91 | "name":"color_EDEDED", | 91 | "name":"color_EDEDED", |
| 92 | "value": "#EDEDED" | 92 | "value": "#EDEDED" |
| 93 | + }, | ||
| 94 | + { | ||
| 95 | + "name":"color_1AED2800", | ||
| 96 | + "value": "#1AED2800" | ||
| 97 | + }, | ||
| 98 | + { | ||
| 99 | + "name":"color_B2FFFFFF", | ||
| 100 | + "value": "#B2FFFFFF" | ||
| 101 | + }, | ||
| 102 | + { | ||
| 103 | + "name":"color_transparent", | ||
| 104 | + "value": "#00000000" | ||
| 93 | } | 105 | } |
| 94 | ] | 106 | ] |
| 95 | } | 107 | } |
370 Bytes
1.46 KB
570 Bytes
322 Bytes
| @@ -3,6 +3,8 @@ import abilityAccessCtrl, { Permissions } from '@ohos.abilityAccessCtrl'; | @@ -3,6 +3,8 @@ import abilityAccessCtrl, { Permissions } from '@ohos.abilityAccessCtrl'; | ||
| 3 | import common from '@ohos.app.ability.common'; | 3 | import common from '@ohos.app.ability.common'; |
| 4 | import featureAbility from '@ohos.ability.featureAbility'; | 4 | import featureAbility from '@ohos.ability.featureAbility'; |
| 5 | import wantConstant from '@ohos.ability.wantConstant'; | 5 | import wantConstant from '@ohos.ability.wantConstant'; |
| 6 | +import Want from '@ohos.app.ability.Want'; | ||
| 7 | +import { AppUtils } from './AppUtils'; | ||
| 6 | 8 | ||
| 7 | export class PermissionUtil { | 9 | export class PermissionUtil { |
| 8 | async checkAccessToken(permission: Permissions): Promise<abilityAccessCtrl.GrantStatus> { | 10 | async checkAccessToken(permission: Permissions): Promise<abilityAccessCtrl.GrantStatus> { |
| @@ -43,42 +45,53 @@ export class PermissionUtil { | @@ -43,42 +45,53 @@ export class PermissionUtil { | ||
| 43 | return hasPermissions; | 45 | return hasPermissions; |
| 44 | } | 46 | } |
| 45 | 47 | ||
| 46 | - static reqPermissionsFromUser(permissions: Array<Permissions>): void { | ||
| 47 | - // let context = getContext(this) as common.UIAbilityContext; | ||
| 48 | - // let atManager = abilityAccessCtrl.createAtManager(); | ||
| 49 | - // // requestPermissionsFromUser会判断权限的授权状态来决定是否唤起弹窗 | ||
| 50 | - // atManager.requestPermissionsFromUser(context, permissions).then((data) => { | ||
| 51 | - // let grantStatus: Array<number> = data.authResults; | ||
| 52 | - // let length: number = grantStatus.length; | ||
| 53 | - // for (let i = 0; i < length; i++) { | ||
| 54 | - // if (grantStatus[i] === 0) { | ||
| 55 | - // // 用户授权,可以继续访问目标操作 | ||
| 56 | - // | ||
| 57 | - // } else { | ||
| 58 | - // | ||
| 59 | - // this.jumpSetting(); | ||
| 60 | - // // 用户拒绝授权,提示用户必须授权才能访问当前页面的功能,并引导用户到系统设置中打开相应的权限 | ||
| 61 | - // AlertDialog.show({ | ||
| 62 | - // title: '权限设置', | ||
| 63 | - // message: '到系统设置中打开相应的权限', | ||
| 64 | - // confirm: { | ||
| 65 | - // value: "OK", | ||
| 66 | - // action: () => { | ||
| 67 | - // | ||
| 68 | - // }, | ||
| 69 | - // } | ||
| 70 | - // }) | ||
| 71 | - // return; | ||
| 72 | - // } | ||
| 73 | - // } | ||
| 74 | - // // 授权成功 | ||
| 75 | - // }).catch((err) => { | ||
| 76 | - // console.error(`requestPermissionsFromUser failed, code is ${err.code}, message is ${err.message}`); | ||
| 77 | - // }) | ||
| 78 | - } | 48 | + static reqPermissionsFromUser(permissions: Array<Permissions>, component: Object): void { |
| 49 | + let context = getContext(component) as common.UIAbilityContext; | ||
| 50 | + let atManager = abilityAccessCtrl.createAtManager(); | ||
| 51 | + // requestPermissionsFromUser会判断权限的授权状态来决定是否唤起弹窗 | ||
| 52 | + atManager.requestPermissionsFromUser(context, permissions).then((data) => { | ||
| 53 | + let grantStatus: Array<number> = data.authResults; | ||
| 54 | + let length: number = grantStatus.length; | ||
| 55 | + for (let i = 0; i < length; i++) { | ||
| 56 | + if (grantStatus[i] === 0) { | ||
| 57 | + // 用户授权,可以继续访问目标操作 | ||
| 79 | 58 | ||
| 59 | + } else { | ||
| 80 | 60 | ||
| 81 | - static jumpSetting() { | 61 | + PermissionUtil.openPermissionsInSystemSettings(component); |
| 62 | + // 用户拒绝授权,提示用户必须授权才能访问当前页面的功能,并引导用户到系统设置中打开相应的权限 | ||
| 63 | + // AlertDialog.show({ | ||
| 64 | + // title: '权限设置', | ||
| 65 | + // message: '到系统设置中打开相应的权限', | ||
| 66 | + // confirm: { | ||
| 67 | + // value: "OK", | ||
| 68 | + // action: () => { | ||
| 69 | + // | ||
| 70 | + // }, | ||
| 71 | + // } | ||
| 72 | + // }) | ||
| 73 | + return; | ||
| 74 | + } | ||
| 75 | + } | ||
| 76 | + // 授权成功 | ||
| 77 | + }).catch((err:Error) => { | ||
| 78 | + // console.error(`requestPermissionsFromUser failed, code is ${err.code}, message is ${err.message}`); | ||
| 79 | + }) | ||
| 80 | + } | ||
| 82 | 81 | ||
| 82 | + | ||
| 83 | + static openPermissionsInSystemSettings(component: Object): void { | ||
| 84 | + let context = getContext(component) as common.UIAbilityContext; | ||
| 85 | + let wantInfo:Want = { | ||
| 86 | + action: 'action.settings.app.info', | ||
| 87 | + parameters: { | ||
| 88 | + settingsParamBundleName: AppUtils.getPackageName(context) // 打开指定应用的详情页面 | ||
| 89 | + } | ||
| 90 | + } | ||
| 91 | + context.startAbility(wantInfo).then(() => { | ||
| 92 | + // ... | ||
| 93 | + }).catch((err:Error) => { | ||
| 94 | + // ... | ||
| 95 | + }) | ||
| 83 | } | 96 | } |
| 84 | } | 97 | } |
| 1 | import HashMap from '@ohos.util.HashMap' | 1 | import HashMap from '@ohos.util.HashMap' |
| 2 | -import { ConfigConstants } from 'wdConstant' | ||
| 3 | -import { DateTimeUtils, Logger, SPHelper } from 'wdKit' | 2 | +import { ConfigConstants, SpConstants } from 'wdConstant' |
| 3 | +import { DateTimeUtils, Logger, SPHelper, StringUtils } from 'wdKit' | ||
| 4 | 4 | ||
| 5 | /** | 5 | /** |
| 6 | * 网络请求业务侧工具类 | 6 | * 网络请求业务侧工具类 |
| @@ -69,10 +69,15 @@ export class HttpUrlUtils { | @@ -69,10 +69,15 @@ export class HttpUrlUtils { | ||
| 69 | */ | 69 | */ |
| 70 | static readonly APPOINTMENT_LIST_DATA_PATH: string = "/api/live-center-message/zh/c/live/subscribe"; | 70 | static readonly APPOINTMENT_LIST_DATA_PATH: string = "/api/live-center-message/zh/c/live/subscribe"; |
| 71 | /** | 71 | /** |
| 72 | - * 资料编辑 获取用户信息 | 72 | + * 资料编辑 特殊用户信息 |
| 73 | */ | 73 | */ |
| 74 | static readonly APPOINTMENT_AccountOwner_PATH: string = "/api/rmrb-contact/contact/zh/c/my/detail"; | 74 | static readonly APPOINTMENT_AccountOwner_PATH: string = "/api/rmrb-contact/contact/zh/c/my/detail"; |
| 75 | /** | 75 | /** |
| 76 | + * 资料编辑 普通用户信息 | ||
| 77 | + */ | ||
| 78 | + static readonly APPOINTMENT_QueryUserDetail_PATH: string = "/api/rmrb-user-center/user/zh/c/queryUserDetail"; | ||
| 79 | + /** | ||
| 80 | + /** | ||
| 76 | * 个人中心 关注列表详情 | 81 | * 个人中心 关注列表详情 |
| 77 | */ | 82 | */ |
| 78 | static readonly FOLLOW_LIST_DETAIL_DATA_PATH: string = "/api/rmrb-creator-user/c/creatorDirectory/getContactMasterDetaiPage"; | 83 | static readonly FOLLOW_LIST_DETAIL_DATA_PATH: string = "/api/rmrb-creator-user/c/creatorDirectory/getContactMasterDetaiPage"; |
| @@ -97,6 +102,25 @@ export class HttpUrlUtils { | @@ -97,6 +102,25 @@ export class HttpUrlUtils { | ||
| 97 | * 个人中心 我的评论列表 | 102 | * 个人中心 我的评论列表 |
| 98 | */ | 103 | */ |
| 99 | static readonly MINE_COMMENT_LIST_DATA_PATH: string = "/api/rmrb-comment/comment/zh/c/myCommentList"; | 104 | static readonly MINE_COMMENT_LIST_DATA_PATH: string = "/api/rmrb-comment/comment/zh/c/myCommentList"; |
| 105 | + | ||
| 106 | + /** | ||
| 107 | + * 个人中心 APP获取用户等级 | ||
| 108 | + */ | ||
| 109 | + static readonly MINE_USER_LEVEL_DATA_PATH: string = "/api/rmrb-user-point/auth/level/zh/c/queryUserLevel"; | ||
| 110 | + | ||
| 111 | + /** | ||
| 112 | + * 个人中心 APP获取其他用户等级 | ||
| 113 | + */ | ||
| 114 | + static readonly OTHER_USER_LEVEL_DATA_PATH: string = "/api/rmrb-user-point/auth/level/zh/c/batchUser"; | ||
| 115 | + | ||
| 116 | + /** | ||
| 117 | + * 个人中心 (号主/普通用户)我的基本信息 | ||
| 118 | + */ | ||
| 119 | + static readonly MINE_USER_DETAIL_DATA_PATH: string = "/api/rmrb-contact/contact/zh/c/my/detail"; | ||
| 120 | + /** | ||
| 121 | + * 个人中心 (普通用户)其他用户 的基本信息 | ||
| 122 | + */ | ||
| 123 | + static readonly OTHER_USER_DETAIL_DATA_PATH: string = "/api/rmrb-contact/contact/zh/c/master/detail"; | ||
| 100 | /** | 124 | /** |
| 101 | * 早晚报列表 | 125 | * 早晚报列表 |
| 102 | * 根据页面id获取页面楼层列表 | 126 | * 根据页面id获取页面楼层列表 |
| @@ -269,10 +293,14 @@ export class HttpUrlUtils { | @@ -269,10 +293,14 @@ export class HttpUrlUtils { | ||
| 269 | 293 | ||
| 270 | private static getUserId() { | 294 | private static getUserId() { |
| 271 | // TODO 对接登录 | 295 | // TODO 对接登录 |
| 272 | - return HttpUrlUtils.userId; | 296 | + // let userid = await SPHelper.default.get(SpConstants.USER_ID,"") |
| 297 | + // if(StringUtils.isNotEmpty(userid)) { | ||
| 298 | + // return userid as string; | ||
| 299 | + // } | ||
| 300 | + return HttpUrlUtils.userId; | ||
| 273 | } | 301 | } |
| 274 | 302 | ||
| 275 | - private static getUserType() { | 303 | + private static getUserType() { |
| 276 | return HttpUrlUtils.userType; | 304 | return HttpUrlUtils.userType; |
| 277 | } | 305 | } |
| 278 | 306 | ||
| @@ -281,6 +309,21 @@ export class HttpUrlUtils { | @@ -281,6 +309,21 @@ export class HttpUrlUtils { | ||
| 281 | return url; | 309 | return url; |
| 282 | } | 310 | } |
| 283 | 311 | ||
| 312 | + static getForgetPasswordUrl() { | ||
| 313 | + let url = HttpUrlUtils.hostUrl + "/api/rmrb-user-center/auth/zh/c/forgotPassword"; | ||
| 314 | + return url; | ||
| 315 | + } | ||
| 316 | + | ||
| 317 | + static queryUserDetail() { | ||
| 318 | + let url = HttpUrlUtils.hostUrl + "/api/rmrb-user-center/user/zh/c/queryUserDetail"; | ||
| 319 | + return url; | ||
| 320 | + } | ||
| 321 | + | ||
| 322 | + static editUserDetail() { | ||
| 323 | + let url = HttpUrlUtils.hostUrl + "/user/zh/c/editUserDetail"; | ||
| 324 | + return url; | ||
| 325 | + } | ||
| 326 | + | ||
| 284 | static getAppLoginUrl() :string{ | 327 | static getAppLoginUrl() :string{ |
| 285 | let url = HttpUrlUtils.getHost() + "/api/rmrb-user-center/auth/zh/c/appLogin"; | 328 | let url = HttpUrlUtils.getHost() + "/api/rmrb-user-center/auth/zh/c/appLogin"; |
| 286 | return url; | 329 | return url; |
| @@ -326,6 +369,27 @@ export class HttpUrlUtils { | @@ -326,6 +369,27 @@ export class HttpUrlUtils { | ||
| 326 | return url | 369 | return url |
| 327 | } | 370 | } |
| 328 | 371 | ||
| 372 | + static getMineUserLevelDataUrl() { | ||
| 373 | + let url = HttpUrlUtils.HOST_SIT + HttpUrlUtils.MINE_USER_LEVEL_DATA_PATH | ||
| 374 | + return url | ||
| 375 | + } | ||
| 376 | + | ||
| 377 | + static getOtherUserLevelDataUrl() { | ||
| 378 | + let url = HttpUrlUtils.HOST_SIT + HttpUrlUtils.OTHER_USER_LEVEL_DATA_PATH | ||
| 379 | + return url | ||
| 380 | + } | ||
| 381 | + | ||
| 382 | + static getMineUserDetailDataUrl() { | ||
| 383 | + let url = HttpUrlUtils.HOST_SIT + HttpUrlUtils.MINE_USER_DETAIL_DATA_PATH | ||
| 384 | + return url | ||
| 385 | + } | ||
| 386 | + | ||
| 387 | + static getOtherUserDetailDataUrl() { | ||
| 388 | + let url = HttpUrlUtils.HOST_SIT + HttpUrlUtils.OTHER_USER_DETAIL_DATA_PATH | ||
| 389 | + return url | ||
| 390 | + } | ||
| 391 | + | ||
| 392 | + | ||
| 329 | static getYcgCommonHeaders(): HashMap<string, string> { | 393 | static getYcgCommonHeaders(): HashMap<string, string> { |
| 330 | let headers: HashMap<string, string> = new HashMap<string, string>() | 394 | let headers: HashMap<string, string> = new HashMap<string, string>() |
| 331 | 395 |
| @@ -61,8 +61,11 @@ export class WDRouterPage { | @@ -61,8 +61,11 @@ export class WDRouterPage { | ||
| 61 | static aboutPage = new WDRouterPage("wdComponent", "ets/components/page/SettingAboutPage"); | 61 | static aboutPage = new WDRouterPage("wdComponent", "ets/components/page/SettingAboutPage"); |
| 62 | // 设置页 | 62 | // 设置页 |
| 63 | static settingPage = new WDRouterPage("wdComponent", "ets/components/page/SettingPage"); | 63 | static settingPage = new WDRouterPage("wdComponent", "ets/components/page/SettingPage"); |
| 64 | - // 账户与安全页 | ||
| 65 | - // static loginProtocolPage = new WDRouterPage("wdLogin", "ets/pages/login/LoginProtocolWebview"); | ||
| 66 | // 设置密码页、设置手机号页等等 (需要传参) | 64 | // 设置密码页、设置手机号页等等 (需要传参) |
| 65 | + static settingPasswordPage = new WDRouterPage("wdLogin", "ets/pages/login/SettingPasswordPage"); | ||
| 66 | + | ||
| 67 | + //其他普通用户 主页 | ||
| 68 | + static otherNormalUserHomePagePage = new WDRouterPage("wdComponent", "ets/pages/OtherNormalUserHomePage"); | ||
| 69 | + | ||
| 67 | // static loginProtocolPage = new WDRouterPage("wdLogin", "ets/pages/login/LoginProtocolWebview"); | 70 | // static loginProtocolPage = new WDRouterPage("wdLogin", "ets/pages/login/LoginProtocolWebview"); |
| 68 | } | 71 | } |
| @@ -51,6 +51,10 @@ export { NewspaperTimeItemBean } from './src/main/ets/bean/newspaper/NewspaperTi | @@ -51,6 +51,10 @@ export { NewspaperTimeItemBean } from './src/main/ets/bean/newspaper/NewspaperTi | ||
| 51 | 51 | ||
| 52 | export { ContentDetailDTO } from './src/main/ets/bean/detail/ContentDetailDTO'; | 52 | export { ContentDetailDTO } from './src/main/ets/bean/detail/ContentDetailDTO'; |
| 53 | 53 | ||
| 54 | +export { RmhInfoDTO } from './src/main/ets/bean/detail/RmhInfoDTO'; | ||
| 55 | + | ||
| 56 | +export { UserInfoDTO } from './src/main/ets/bean/detail/UserInfoDTO'; | ||
| 57 | + | ||
| 54 | export { AuthorListDTO } from './src/main/ets/bean/detail/AuthorListDTO'; | 58 | export { AuthorListDTO } from './src/main/ets/bean/detail/AuthorListDTO'; |
| 55 | 59 | ||
| 56 | export { FullColumnImgUrlDTO } from './src/main/ets/bean/detail/FullColumnImgUrlDTO'; | 60 | export { FullColumnImgUrlDTO } from './src/main/ets/bean/detail/FullColumnImgUrlDTO'; |
| @@ -3,6 +3,8 @@ import { FullColumnImgUrlDTO } from './FullColumnImgUrlDTO'; | @@ -3,6 +3,8 @@ import { FullColumnImgUrlDTO } from './FullColumnImgUrlDTO'; | ||
| 3 | import { ReLInfoDTO } from './ReLInfoDTO'; | 3 | import { ReLInfoDTO } from './ReLInfoDTO'; |
| 4 | import { ShareInfoDTO } from './ShareInfoDTO'; | 4 | import { ShareInfoDTO } from './ShareInfoDTO'; |
| 5 | import { VideoInfoDTO } from './VideoInfoDTO'; | 5 | import { VideoInfoDTO } from './VideoInfoDTO'; |
| 6 | +import { RmhInfoDTO } from './RmhInfoDTO' | ||
| 7 | +import { UserInfoDTO } from './UserInfoDTO' | ||
| 6 | 8 | ||
| 7 | /** | 9 | /** |
| 8 | * 接口定义: | 10 | * 接口定义: |
| @@ -40,8 +42,8 @@ export interface ContentDetailDTO { | @@ -40,8 +42,8 @@ export interface ContentDetailDTO { | ||
| 40 | videoInfo: VideoInfoDTO[]; | 42 | videoInfo: VideoInfoDTO[]; |
| 41 | liveInfo?: any; | 43 | liveInfo?: any; |
| 42 | voteInfo?: any; | 44 | voteInfo?: any; |
| 43 | - rmhInfo?: any; | ||
| 44 | - userInfo?: any; | 45 | + rmhInfo?: RmhInfoDTO; |
| 46 | + userInfo?: UserInfoDTO; | ||
| 45 | openLikes: number; | 47 | openLikes: number; |
| 46 | openComment: number; | 48 | openComment: number; |
| 47 | likesStyle: number; | 49 | likesStyle: number; |
| 1 | +export interface RmhInfoDTO { | ||
| 2 | + authIcon: string; | ||
| 3 | + authTitle: string; | ||
| 4 | + authTitle2: string; | ||
| 5 | + banControl: number; | ||
| 6 | + cnAttention: number; | ||
| 7 | + cnMainControl: number; | ||
| 8 | + cnShareControl: number; | ||
| 9 | + cnlsComment: number; | ||
| 10 | + cnlsLike: number; | ||
| 11 | + posterShareControl: number; | ||
| 12 | + rmhDesc: string; | ||
| 13 | + rmhHeadUrl: string; | ||
| 14 | + rmhId: string; | ||
| 15 | + rmhName: string; | ||
| 16 | + userId: string; | ||
| 17 | + userType: string; | ||
| 18 | +} |
| @@ -12,6 +12,7 @@ | @@ -12,6 +12,7 @@ | ||
| 12 | "wdWebComponent": "file:../../commons/wdWebComponent", | 12 | "wdWebComponent": "file:../../commons/wdWebComponent", |
| 13 | "wdBean": "file:../../features/wdBean", | 13 | "wdBean": "file:../../features/wdBean", |
| 14 | "wdRouter": "file:../../commons/wdRouter", | 14 | "wdRouter": "file:../../commons/wdRouter", |
| 15 | - "wdNetwork": "file:../../commons/wdNetwork" | 15 | + "wdNetwork": "file:../../commons/wdNetwork", |
| 16 | + "wdLogin": "file:../../features/wdLogin" | ||
| 16 | } | 17 | } |
| 17 | } | 18 | } |
| @@ -22,6 +22,8 @@ export struct ENewspaperPageComponent { | @@ -22,6 +22,8 @@ export struct ENewspaperPageComponent { | ||
| 22 | @State calendarDate: string = '' | 22 | @State calendarDate: string = '' |
| 23 | private swiperController: SwiperController = new SwiperController() | 23 | private swiperController: SwiperController = new SwiperController() |
| 24 | @State swiperIndex: number = 0; | 24 | @State swiperIndex: number = 0; |
| 25 | + //当前选择的日期标记 | ||
| 26 | + @State selectDate: Date = new Date() | ||
| 25 | 27 | ||
| 26 | //watch监听报纸页码回调 | 28 | //watch监听报纸页码回调 |
| 27 | onCurrentPageNumUpdated(): void { | 29 | onCurrentPageNumUpdated(): void { |
| @@ -34,6 +36,7 @@ export struct ENewspaperPageComponent { | @@ -34,6 +36,7 @@ export struct ENewspaperPageComponent { | ||
| 34 | //日历选择弹框 | 36 | //日历选择弹框 |
| 35 | calendarDialogController: CustomDialogController = new CustomDialogController({ | 37 | calendarDialogController: CustomDialogController = new CustomDialogController({ |
| 36 | builder: ENewspaperCalendarDialog({ | 38 | builder: ENewspaperCalendarDialog({ |
| 39 | + selectDate: this.selectDate, | ||
| 37 | onDateChange: (date: RMCalendarBean) => { | 40 | onDateChange: (date: RMCalendarBean) => { |
| 38 | console.log("onDateChange-日历选择弹框", "date:", JSON.stringify(date)) | 41 | console.log("onDateChange-日历选择弹框", "date:", JSON.stringify(date)) |
| 39 | if (date.fullYear && date.month && date.date) { | 42 | if (date.fullYear && date.month && date.date) { |
| @@ -41,6 +44,7 @@ export struct ENewspaperPageComponent { | @@ -41,6 +44,7 @@ export struct ENewspaperPageComponent { | ||
| 41 | this.calendarDate = `${date.fullYear}-${month > 9 ? month : '0' + month}-${date.date > 9 ? date.date : '0' + date.date}` | 44 | this.calendarDate = `${date.fullYear}-${month > 9 ? month : '0' + month}-${date.date > 9 ? date.date : '0' + date.date}` |
| 42 | this.getNewspaperTime() | 45 | this.getNewspaperTime() |
| 43 | this.getNewspaperList() | 46 | this.getNewspaperList() |
| 47 | + this.selectDate = new Date(date.fullYear ? date.fullYear : 0, date.month ? date.month : 0, date.date ? date.date : 0) | ||
| 44 | } | 48 | } |
| 45 | } | 49 | } |
| 46 | }), | 50 | }), |
| @@ -36,12 +36,14 @@ export struct topicInfoView { | @@ -36,12 +36,14 @@ export struct topicInfoView { | ||
| 36 | .fontSize(16) | 36 | .fontSize(16) |
| 37 | .fontColor($r('app.color.white')) | 37 | .fontColor($r('app.color.white')) |
| 38 | .maxLines(1) | 38 | .maxLines(1) |
| 39 | + .backgroundColor($r('app.color.color_99636363')) | ||
| 40 | + .borderRadius(2) | ||
| 39 | 41 | ||
| 40 | Image($r('app.media.more')) | 42 | Image($r('app.media.more')) |
| 41 | .height($r('app.float.top_arrow_size')) | 43 | .height($r('app.float.top_arrow_size')) |
| 42 | .width(20) | 44 | .width(20) |
| 43 | } | 45 | } |
| 44 | - .margin({ top: 10 }) | 46 | + .margin({ top: 10, left: 16, right: 16 }) |
| 45 | // .backgroundColor(Color.Red) | 47 | // .backgroundColor(Color.Red) |
| 46 | .alignRules({ | 48 | .alignRules({ |
| 47 | left: { anchor: "__container__", align: HorizontalAlign.Start }, | 49 | left: { anchor: "__container__", align: HorizontalAlign.Start }, |
| @@ -6,17 +6,18 @@ const TAG = "RMCalendar" | @@ -6,17 +6,18 @@ const TAG = "RMCalendar" | ||
| 6 | @Component | 6 | @Component |
| 7 | export struct RMCalendar { | 7 | export struct RMCalendar { |
| 8 | @State selectItem: RMCalendarBean = new RMCalendarBean() | 8 | @State selectItem: RMCalendarBean = new RMCalendarBean() |
| 9 | - private today: Date = new Date() // 当天 | 9 | + //选中的日期 |
| 10 | + private selectDay: Date = new Date() | ||
| 10 | // 开始日期 | 11 | // 开始日期 |
| 11 | startDate: Date = new Date() | 12 | startDate: Date = new Date() |
| 12 | // 截止日期 | 13 | // 截止日期 |
| 13 | endDate: Date = new Date() | 14 | endDate: Date = new Date() |
| 14 | //当前日期-当前显示的月份的第一天 | 15 | //当前日期-当前显示的月份的第一天 |
| 15 | - private startDay: Date = new Date( | ||
| 16 | - this.today.getFullYear(), | ||
| 17 | - this.today.getMonth(), | ||
| 18 | - 1 | ||
| 19 | - ) | 16 | + // private startDay: Date = new Date( |
| 17 | + // this.selectDay.getFullYear(), | ||
| 18 | + // this.selectDay.getMonth(), | ||
| 19 | + // 1 | ||
| 20 | + // ) | ||
| 20 | // 是否有上一个月 | 21 | // 是否有上一个月 |
| 21 | @State private hasPre: boolean = true | 22 | @State private hasPre: boolean = true |
| 22 | // 是否有下一个月 | 23 | // 是否有下一个月 |
| @@ -42,12 +43,12 @@ export struct RMCalendar { | @@ -42,12 +43,12 @@ export struct RMCalendar { | ||
| 42 | itemFontColor: ResourceColor = "#333333" | 43 | itemFontColor: ResourceColor = "#333333" |
| 43 | itemFontWeight: FontWeight = FontWeight.Bold | 44 | itemFontWeight: FontWeight = FontWeight.Bold |
| 44 | // 今日字体颜色 | 45 | // 今日字体颜色 |
| 45 | - todayFontColor: ResourceColor = "#ED2800" | 46 | + selectDayFontColor: ResourceColor = "#ED2800" |
| 46 | // 不能使用的日期字体颜色 | 47 | // 不能使用的日期字体颜色 |
| 47 | disabledFontColor: ResourceColor = "#CCCCCC" | 48 | disabledFontColor: ResourceColor = "#CCCCCC" |
| 48 | // 选中日期字体颜色 | 49 | // 选中日期字体颜色 |
| 49 | selectFontColor: ResourceColor = "#FFFFFF" | 50 | selectFontColor: ResourceColor = "#FFFFFF" |
| 50 | - // 选中日期背景颜色, 默认与todayFontColor一致 | 51 | + // 选中日期背景颜色, 默认与selectDayFontColor一致 |
| 51 | selectItemBgColor: ResourceColor = "#ED2800" | 52 | selectItemBgColor: ResourceColor = "#ED2800" |
| 52 | @State private title: string = '' | 53 | @State private title: string = '' |
| 53 | // 计算的总加载 | 54 | // 计算的总加载 |
| @@ -57,7 +58,7 @@ export struct RMCalendar { | @@ -57,7 +58,7 @@ export struct RMCalendar { | ||
| 57 | // 自定义每一项布局 | 58 | // 自定义每一项布局 |
| 58 | public cellLayout?: (item: RMCalendarBean) => void | 59 | public cellLayout?: (item: RMCalendarBean) => void |
| 59 | // 仅自定义 今日 样式,当使用cellLayout时,tadayLayout无效 | 60 | // 仅自定义 今日 样式,当使用cellLayout时,tadayLayout无效 |
| 60 | - todayLayout?: (item: RMCalendarBean) => void | 61 | + selectDayLayout?: (item: RMCalendarBean) => void |
| 61 | // 计算item时,如需添加更多自定义属性时使用 | 62 | // 计算item时,如需添加更多自定义属性时使用 |
| 62 | reBuildDateItem?: (item: RMCalendarBean) => RMCalendarBean | 63 | reBuildDateItem?: (item: RMCalendarBean) => RMCalendarBean |
| 63 | // 选择变化监听, | 64 | // 选择变化监听, |
| @@ -84,10 +85,10 @@ export struct RMCalendar { | @@ -84,10 +85,10 @@ export struct RMCalendar { | ||
| 84 | cellLayout: this.cellLayout, | 85 | cellLayout: this.cellLayout, |
| 85 | itemFontSize: this.itemFontSize, | 86 | itemFontSize: this.itemFontSize, |
| 86 | itemFontColor: this.itemFontColor, | 87 | itemFontColor: this.itemFontColor, |
| 87 | - today: this.today.getTime(), | 88 | + selectDay: this.selectDay.getTime(), |
| 88 | itemFontWeight: this.itemFontWeight, | 89 | itemFontWeight: this.itemFontWeight, |
| 89 | - todayFontColor: this.todayFontColor, | ||
| 90 | - todayLayout: this.todayLayout, | 90 | + selectDayFontColor: this.selectDayFontColor, |
| 91 | + selectDayLayout: this.selectDayLayout, | ||
| 91 | selectItem: $selectItem, | 92 | selectItem: $selectItem, |
| 92 | selectFontColor: this.selectFontColor, | 93 | selectFontColor: this.selectFontColor, |
| 93 | selectItemBgColor: this.selectItemBgColor, | 94 | selectItemBgColor: this.selectItemBgColor, |
| @@ -123,12 +124,12 @@ export struct RMCalendar { | @@ -123,12 +124,12 @@ export struct RMCalendar { | ||
| 123 | */ | 124 | */ |
| 124 | initAttr() { | 125 | initAttr() { |
| 125 | if (!this.selectItemBgColor) { | 126 | if (!this.selectItemBgColor) { |
| 126 | - this.selectItemBgColor = this.todayFontColor | 127 | + this.selectItemBgColor = this.selectDayFontColor |
| 127 | } | 128 | } |
| 128 | - this.today = new Date( | ||
| 129 | - this.today.getFullYear(), | ||
| 130 | - this.today.getMonth(), | ||
| 131 | - this.today.getDate(), | 129 | + this.selectDay = new Date( |
| 130 | + this.selectDay.getFullYear(), | ||
| 131 | + this.selectDay.getMonth(), | ||
| 132 | + this.selectDay.getDate(), | ||
| 132 | ) | 133 | ) |
| 133 | 134 | ||
| 134 | // 开始日期 | 135 | // 开始日期 |
| @@ -137,24 +138,24 @@ export struct RMCalendar { | @@ -137,24 +138,24 @@ export struct RMCalendar { | ||
| 137 | } | 138 | } |
| 138 | // 截止日期 | 139 | // 截止日期 |
| 139 | if (!this.endDate) { | 140 | if (!this.endDate) { |
| 140 | - this.endDate = new Date(this.today.getFullYear() + 10, 11, 31) | 141 | + this.endDate = new Date(this.selectDay.getFullYear() + 10, 11, 31) |
| 141 | } | 142 | } |
| 142 | 143 | ||
| 143 | - if (this.today.getTime() < this.startDate.getTime()) { | ||
| 144 | - this.startDay.setTime(this.startDate.getTime()) | ||
| 145 | - } else if (this.today.getTime() > this.endDate.getTime()) { | ||
| 146 | - this.startDay.setTime(this.endDate.getTime()) | 144 | + if (this.selectDay.getTime() < this.startDate.getTime()) { |
| 145 | + this.selectDay.setTime(this.startDate.getTime()) | ||
| 146 | + } else if (this.selectDay.getTime() > this.endDate.getTime()) { | ||
| 147 | + this.selectDay.setTime(this.endDate.getTime()) | ||
| 147 | } else { | 148 | } else { |
| 148 | - this.startDay.setTime(this.today.getTime()) | 149 | + this.selectDay.setTime(this.selectDay.getTime()) |
| 149 | } | 150 | } |
| 150 | } | 151 | } |
| 151 | 152 | ||
| 152 | aboutToAppear() { | 153 | aboutToAppear() { |
| 153 | this.initAttr() | 154 | this.initAttr() |
| 154 | let temp = new RMCalendarBean() | 155 | let temp = new RMCalendarBean() |
| 155 | - temp.time = this.today.getTime() | 156 | + temp.time = this.selectDay.getTime() |
| 156 | this.selectItem = temp | 157 | this.selectItem = temp |
| 157 | - this.calcDatas() | 158 | + this.calcData() |
| 158 | } | 159 | } |
| 159 | 160 | ||
| 160 | /** | 161 | /** |
| @@ -163,12 +164,12 @@ export struct RMCalendar { | @@ -163,12 +164,12 @@ export struct RMCalendar { | ||
| 163 | private nextMonth() { | 164 | private nextMonth() { |
| 164 | // this.dates.slice(0, this.dates.length) | 165 | // this.dates.slice(0, this.dates.length) |
| 165 | this.dates = [] | 166 | this.dates = [] |
| 166 | - const beforDate = new Date(this.startDay.getFullYear(), this.startDay.getMonth()) | ||
| 167 | - this.startDay.setMonth(this.startDay.getMonth() + 1) | 167 | + const beforDate = new Date(this.selectDay.getFullYear(), this.selectDay.getMonth()) |
| 168 | + this.selectDay.setMonth(this.selectDay.getMonth() + 1) | ||
| 168 | if (this.onMonthChange) { | 169 | if (this.onMonthChange) { |
| 169 | - this.onMonthChange(new Date(this.startDay.getFullYear(), this.startDay.getMonth()), beforDate) | 170 | + this.onMonthChange(new Date(this.selectDay.getFullYear(), this.selectDay.getMonth()), beforDate) |
| 170 | } | 171 | } |
| 171 | - this.calcDatas() | 172 | + this.calcData() |
| 172 | } | 173 | } |
| 173 | 174 | ||
| 174 | /** | 175 | /** |
| @@ -177,60 +178,57 @@ export struct RMCalendar { | @@ -177,60 +178,57 @@ export struct RMCalendar { | ||
| 177 | private preMonth() { | 178 | private preMonth() { |
| 178 | // this.dates.slice(0, this.dates.length) | 179 | // this.dates.slice(0, this.dates.length) |
| 179 | this.dates = [] | 180 | this.dates = [] |
| 180 | - const beforDate = new Date(this.startDay.getFullYear(), this.startDay.getMonth()) | ||
| 181 | - this.startDay.setMonth(this.startDay.getMonth() - 1) | 181 | + const beforDate = new Date(this.selectDay.getFullYear(), this.selectDay.getMonth()) |
| 182 | + this.selectDay.setMonth(this.selectDay.getMonth() - 1) | ||
| 182 | if (this.onMonthChange) { | 183 | if (this.onMonthChange) { |
| 183 | - this.onMonthChange(new Date(this.startDay.getFullYear(), this.startDay.getMonth()), beforDate) | 184 | + this.onMonthChange(new Date(this.selectDay.getFullYear(), this.selectDay.getMonth()), beforDate) |
| 184 | } | 185 | } |
| 185 | - this.calcDatas() | 186 | + this.calcData() |
| 186 | } | 187 | } |
| 187 | 188 | ||
| 188 | /** | 189 | /** |
| 189 | * 具体计算 | 190 | * 具体计算 |
| 190 | */ | 191 | */ |
| 191 | - private calcDatas() { | ||
| 192 | - const startDay = this.startDay | ||
| 193 | - this.title = `${startDay.getFullYear()}年${startDay.getMonth() + 1}月` | ||
| 194 | - startDay.setDate(1) | 192 | + private calcData() { |
| 195 | 193 | ||
| 196 | - if (startDay.getFullYear() < this.startDate.getFullYear() | ||
| 197 | - || (startDay.getFullYear() == this.startDate.getFullYear() && startDay.getMonth() <= this.startDate.getMonth())) { | 194 | + this.title = `${this.selectDay.getFullYear()}年${this.selectDay.getMonth() + 1}月` |
| 195 | + this.selectDay.setDate(1) | ||
| 196 | + | ||
| 197 | + if (this.selectDay.getFullYear() < this.startDate.getFullYear() | ||
| 198 | + || (this.selectDay.getFullYear() == this.startDate.getFullYear() && this.selectDay.getMonth() <= this.startDate.getMonth())) { | ||
| 198 | this.hasPre = false | 199 | this.hasPre = false |
| 199 | } else { | 200 | } else { |
| 200 | this.hasPre = true | 201 | this.hasPre = true |
| 201 | } | 202 | } |
| 202 | 203 | ||
| 203 | - if (startDay.getFullYear() > this.endDate.getFullYear() | ||
| 204 | - || (startDay.getFullYear() == this.endDate.getFullYear() && startDay.getMonth() >= this.endDate.getMonth())) { | 204 | + if (this.selectDay.getFullYear() > this.endDate.getFullYear() |
| 205 | + || (this.selectDay.getFullYear() == this.endDate.getFullYear() && this.selectDay.getMonth() >= this.endDate.getMonth())) { | ||
| 205 | this.hasNext = false | 206 | this.hasNext = false |
| 206 | } else { | 207 | } else { |
| 207 | this.hasNext = true | 208 | this.hasNext = true |
| 208 | } | 209 | } |
| 209 | - | ||
| 210 | - // 计算第一个月 | ||
| 211 | - // 获取第一个月总天数 | ||
| 212 | - let endDay: Date = new Date( | ||
| 213 | - startDay.getFullYear(), | ||
| 214 | - startDay.getMonth() + 1, | 210 | + // 创建一个整月的日期,获取一个月总天数 |
| 211 | + let selectDate: Date = new Date( | ||
| 212 | + this.selectDay.getFullYear(), | ||
| 213 | + this.selectDay.getMonth() + 1, | ||
| 215 | 0, 23, 59, 59) | 214 | 0, 23, 59, 59) |
| 216 | 215 | ||
| 217 | let tempDate: Date = new Date( | 216 | let tempDate: Date = new Date( |
| 218 | - startDay.getFullYear(), | ||
| 219 | - startDay.getMonth(), | ||
| 220 | - startDay.getDate() | 217 | + this.selectDay.getFullYear(), |
| 218 | + this.selectDay.getMonth(), | ||
| 219 | + this.selectDay.getDate() | ||
| 221 | ) | 220 | ) |
| 221 | + //获取当月的总天数 | ||
| 222 | + const count = selectDate.getDate() | ||
| 223 | + //当前日期是周几 | ||
| 224 | + const preCount = this.selectDay.getDay() | ||
| 225 | + const totalCount = count + preCount | ||
| 222 | 226 | ||
| 223 | - const count = endDay.getDate() | ||
| 224 | - const preCount = startDay.getDay() | ||
| 225 | - // const nextCount = 6 - endDay.getDay() | ||
| 226 | - const nextCount = 0 | ||
| 227 | - const finilCount = count + preCount + nextCount | ||
| 228 | - | ||
| 229 | - // 补齐上一个月 | ||
| 230 | - tempDate.setDate(tempDate.getDate() - preCount) | 227 | + // 补齐上一个月差的天数,需要在当月展示的部分,下面计算日期循环加1天 |
| 228 | + tempDate.setDate(this.selectDay.getDate() - preCount) | ||
| 231 | 229 | ||
| 232 | - // 添加日期 | ||
| 233 | - for (let index = 0; index < finilCount; index++) { | 230 | + // 添加当月需要展示的日期 |
| 231 | + for (let index = 0; index < totalCount; index++) { | ||
| 234 | let item = new RMCalendarBean( | 232 | let item = new RMCalendarBean( |
| 235 | tempDate.getFullYear(), | 233 | tempDate.getFullYear(), |
| 236 | tempDate.getMonth(), | 234 | tempDate.getMonth(), |
| @@ -7,12 +7,12 @@ export struct RMCalenderCell { | @@ -7,12 +7,12 @@ export struct RMCalenderCell { | ||
| 7 | itemFontSize: Length = 0 | 7 | itemFontSize: Length = 0 |
| 8 | itemFontColor: ResourceColor = {} as ResourceColor | 8 | itemFontColor: ResourceColor = {} as ResourceColor |
| 9 | itemFontWeight: FontWeight = FontWeight.Normal | 9 | itemFontWeight: FontWeight = FontWeight.Normal |
| 10 | - todayFontColor: ResourceColor = {} as ResourceColor | 10 | + selectDayFontColor: ResourceColor = {} as ResourceColor |
| 11 | selectFontColor: ResourceColor = {} as ResourceColor | 11 | selectFontColor: ResourceColor = {} as ResourceColor |
| 12 | selectItemBgColor: ResourceColor = {} as ResourceColor | 12 | selectItemBgColor: ResourceColor = {} as ResourceColor |
| 13 | disabledFontColor: ResourceColor = {} as ResourceColor | 13 | disabledFontColor: ResourceColor = {} as ResourceColor |
| 14 | // 今日时间戳 | 14 | // 今日时间戳 |
| 15 | - today: number = 0 | 15 | + selectDay: number = 0 |
| 16 | @Link selectItem: RMCalendarBean | 16 | @Link selectItem: RMCalendarBean |
| 17 | @Link selectedDates: Array<RMCalendarBean> | 17 | @Link selectedDates: Array<RMCalendarBean> |
| 18 | @Prop hasPre: boolean | 18 | @Prop hasPre: boolean |
| @@ -20,7 +20,7 @@ export struct RMCalenderCell { | @@ -20,7 +20,7 @@ export struct RMCalenderCell { | ||
| 20 | @ObjectLink item: RMCalendarBean | 20 | @ObjectLink item: RMCalendarBean |
| 21 | // 自定义每一项布局 | 21 | // 自定义每一项布局 |
| 22 | cellLayout?: (item: RMCalendarBean) => void | 22 | cellLayout?: (item: RMCalendarBean) => void |
| 23 | - todayLayout?: (item: RMCalendarBean) => void | 23 | + selectDayLayout?: (item: RMCalendarBean) => void |
| 24 | cellClick?: (item: RMCalendarBean) => void | 24 | cellClick?: (item: RMCalendarBean) => void |
| 25 | disableClick?: (item: RMCalendarBean) => void | 25 | disableClick?: (item: RMCalendarBean) => void |
| 26 | 26 | ||
| @@ -43,8 +43,6 @@ export struct RMCalenderCell { | @@ -43,8 +43,6 @@ export struct RMCalenderCell { | ||
| 43 | return this.disabledFontColor | 43 | return this.disabledFontColor |
| 44 | } else if (this.selectItem && this.selectItem.time == this.item.time) { | 44 | } else if (this.selectItem && this.selectItem.time == this.item.time) { |
| 45 | return this.selectFontColor | 45 | return this.selectFontColor |
| 46 | - } else if (this.item.time == this.today) { | ||
| 47 | - return this.todayFontColor | ||
| 48 | } | 46 | } |
| 49 | return this.itemFontColor | 47 | return this.itemFontColor |
| 50 | } | 48 | } |
| @@ -140,4 +138,5 @@ export struct RMCalenderCell { | @@ -140,4 +138,5 @@ export struct RMCalenderCell { | ||
| 140 | } | 138 | } |
| 141 | }) | 139 | }) |
| 142 | } | 140 | } |
| 141 | + | ||
| 143 | } | 142 | } |
| @@ -27,6 +27,7 @@ export default struct MinePageCreatorFunctionUI { | @@ -27,6 +27,7 @@ export default struct MinePageCreatorFunctionUI { | ||
| 27 | .width('27lpx') | 27 | .width('27lpx') |
| 28 | .height('27lpx') | 28 | .height('27lpx') |
| 29 | .objectFit(ImageFit.Auto) | 29 | .objectFit(ImageFit.Auto) |
| 30 | + .interpolation(ImageInterpolation.High) | ||
| 30 | } | 31 | } |
| 31 | 32 | ||
| 32 | }.setFullWidth() | 33 | }.setFullWidth() |
| @@ -42,6 +43,8 @@ export default struct MinePageCreatorFunctionUI { | @@ -42,6 +43,8 @@ export default struct MinePageCreatorFunctionUI { | ||
| 42 | Image(item.imgSrc) | 43 | Image(item.imgSrc) |
| 43 | .width('50lpx') | 44 | .width('50lpx') |
| 44 | .height('50lpx') | 45 | .height('50lpx') |
| 46 | + .objectFit(ImageFit.Auto) | ||
| 47 | + .interpolation(ImageInterpolation.High) | ||
| 45 | Text(`${item.msg}`) | 48 | Text(`${item.msg}`) |
| 46 | .margin({top:'15lpx'}) | 49 | .margin({top:'15lpx'}) |
| 47 | .width('96lpx') | 50 | .width('96lpx') |
| @@ -37,6 +37,8 @@ export default struct MinePageMoreFunctionUI { | @@ -37,6 +37,8 @@ export default struct MinePageMoreFunctionUI { | ||
| 37 | .width('38lpx') | 37 | .width('38lpx') |
| 38 | .height('38lpx') | 38 | .height('38lpx') |
| 39 | .margin({ right: '15lpx' }) | 39 | .margin({ right: '15lpx' }) |
| 40 | + .objectFit(ImageFit.Auto) | ||
| 41 | + .interpolation(ImageInterpolation.High) | ||
| 40 | } | 42 | } |
| 41 | Text(`${item.msg}`) | 43 | Text(`${item.msg}`) |
| 42 | .width('456lpx') | 44 | .width('456lpx') |
| @@ -50,6 +52,7 @@ export default struct MinePageMoreFunctionUI { | @@ -50,6 +52,7 @@ export default struct MinePageMoreFunctionUI { | ||
| 50 | .width('27lpx') | 52 | .width('27lpx') |
| 51 | .height('27lpx') | 53 | .height('27lpx') |
| 52 | .objectFit(ImageFit.Auto) | 54 | .objectFit(ImageFit.Auto) |
| 55 | + .interpolation(ImageInterpolation.High) | ||
| 53 | .margin({ left: '81lpx', right: '29lpx' }) | 56 | .margin({ left: '81lpx', right: '29lpx' }) |
| 54 | }.alignItems(VerticalAlign.Center) | 57 | }.alignItems(VerticalAlign.Center) |
| 55 | .justifyContent(FlexAlign.Center) | 58 | .justifyContent(FlexAlign.Center) |
| @@ -5,6 +5,13 @@ import router from '@ohos.router' | @@ -5,6 +5,13 @@ import router from '@ohos.router' | ||
| 5 | @Component | 5 | @Component |
| 6 | export default struct MinePagePersonFunctionUI { | 6 | export default struct MinePagePersonFunctionUI { |
| 7 | @Link personalData:MinePagePersonalFunctionsItem[] | 7 | @Link personalData:MinePagePersonalFunctionsItem[] |
| 8 | + @Prop isLogin:boolean | ||
| 9 | + @Consume('isLogin')@Watch('loginChange') loginState:Record<string,string> | ||
| 10 | + loginChange(){ | ||
| 11 | + if(this.loginState){ | ||
| 12 | + this.isLogin=true | ||
| 13 | + } | ||
| 14 | + } | ||
| 8 | 15 | ||
| 9 | build() { | 16 | build() { |
| 10 | Grid(){ | 17 | Grid(){ |
| @@ -15,6 +22,8 @@ export default struct MinePagePersonFunctionUI { | @@ -15,6 +22,8 @@ export default struct MinePagePersonFunctionUI { | ||
| 15 | Image(item.imgSrc) | 22 | Image(item.imgSrc) |
| 16 | .width('46lpx') | 23 | .width('46lpx') |
| 17 | .height('46lpx') | 24 | .height('46lpx') |
| 25 | + .objectFit(ImageFit.Auto) | ||
| 26 | + .interpolation(ImageInterpolation.High) | ||
| 18 | Text(`${item.msg}`) | 27 | Text(`${item.msg}`) |
| 19 | .margin({top:'8lpx'}) | 28 | .margin({top:'8lpx'}) |
| 20 | .width('50lpx') | 29 | .width('50lpx') |
| @@ -37,18 +46,34 @@ export default struct MinePagePersonFunctionUI { | @@ -37,18 +46,34 @@ export default struct MinePagePersonFunctionUI { | ||
| 37 | console.log(index+"") | 46 | console.log(index+"") |
| 38 | switch (item.msg){ | 47 | switch (item.msg){ |
| 39 | case "预约":{ | 48 | case "预约":{ |
| 49 | + if(!this.isLogin){ | ||
| 50 | + WDRouterRule.jumpWithPage(WDRouterPage.loginPage) | ||
| 51 | + return | ||
| 52 | + } | ||
| 40 | WDRouterRule.jumpWithPage(WDRouterPage.appointmentListPage) | 53 | WDRouterRule.jumpWithPage(WDRouterPage.appointmentListPage) |
| 41 | break; | 54 | break; |
| 42 | } | 55 | } |
| 43 | case "关注":{ | 56 | case "关注":{ |
| 57 | + if(!this.isLogin){ | ||
| 58 | + WDRouterRule.jumpWithPage(WDRouterPage.loginPage) | ||
| 59 | + return | ||
| 60 | + } | ||
| 44 | WDRouterRule.jumpWithPage(WDRouterPage.followListPage) | 61 | WDRouterRule.jumpWithPage(WDRouterPage.followListPage) |
| 45 | break; | 62 | break; |
| 46 | } | 63 | } |
| 47 | case "收藏":{ | 64 | case "收藏":{ |
| 65 | + if(!this.isLogin){ | ||
| 66 | + WDRouterRule.jumpWithPage(WDRouterPage.loginPage) | ||
| 67 | + return | ||
| 68 | + } | ||
| 48 | WDRouterRule.jumpWithPage(WDRouterPage.myCollectionListPagePage) | 69 | WDRouterRule.jumpWithPage(WDRouterPage.myCollectionListPagePage) |
| 49 | break; | 70 | break; |
| 50 | } | 71 | } |
| 51 | case "历史":{ | 72 | case "历史":{ |
| 73 | + if(!this.isLogin){ | ||
| 74 | + WDRouterRule.jumpWithPage(WDRouterPage.loginPage) | ||
| 75 | + return | ||
| 76 | + } | ||
| 52 | WDRouterRule.jumpWithPage(WDRouterPage.browsingHistoryPage) | 77 | WDRouterRule.jumpWithPage(WDRouterPage.browsingHistoryPage) |
| 53 | break; | 78 | break; |
| 54 | } | 79 | } |
| 1 | import { Logger } from 'wdKit' | 1 | import { Logger } from 'wdKit' |
| 2 | import { WDRouterPage, WDRouterRule } from 'wdRouter' | 2 | import { WDRouterPage, WDRouterRule } from 'wdRouter' |
| 3 | +import MinePageDatasModel from '../../model/MinePageDatasModel' | ||
| 4 | +const TAG = "MinePageUserSimpleInfoUI" | ||
| 5 | + | ||
| 3 | 6 | ||
| 4 | @Component | 7 | @Component |
| 5 | export default struct MinePageUserSimpleInfoUI { | 8 | export default struct MinePageUserSimpleInfoUI { |
| 6 | - @Prop isLogin:boolean | ||
| 7 | - @Prop userName:string | ||
| 8 | - @Consume('isLogin')@Watch('loginChange') isLogin2:Record<string,string> | 9 | + @Watch('loginStateChange') @Prop isLogin :boolean |
| 10 | + @State userName:string = "登陆注册" | ||
| 11 | + @State headPhotoUrl:string = "" | ||
| 12 | + @State levelHead:string = "" | ||
| 13 | + @State levelId:number = 0 | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + aboutToAppear(){ | ||
| 17 | + if(this.isLogin){ | ||
| 18 | + this.getUserInfo() | ||
| 19 | + this.getUserLevel() | ||
| 20 | + } | ||
| 21 | + } | ||
| 22 | + | ||
| 23 | + | ||
| 24 | + @Consume('isLogin')@Watch('loginChange') loginState:Record<string,string> | ||
| 9 | loginChange(){ | 25 | loginChange(){ |
| 10 | Logger.debug("isLogin",'MinePageUserSimpleInfoUI') | 26 | Logger.debug("isLogin",'MinePageUserSimpleInfoUI') |
| 11 | - if(this.isLogin2){ | 27 | + if(this.loginState){ |
| 12 | this.isLogin=true | 28 | this.isLogin=true |
| 13 | - this.userName=this.isLogin2['userName'] | 29 | + } |
| 30 | + if(this.isLogin){ | ||
| 31 | + this.getUserInfo() | ||
| 32 | + this.getUserLevel() | ||
| 33 | + } | ||
| 34 | + } | ||
| 35 | + loginStateChange(){ | ||
| 36 | + if(this.isLogin){ | ||
| 37 | + this.getUserInfo() | ||
| 38 | + this.getUserLevel() | ||
| 14 | } | 39 | } |
| 15 | } | 40 | } |
| 16 | 41 | ||
| @@ -18,24 +43,22 @@ export default struct MinePageUserSimpleInfoUI { | @@ -18,24 +43,22 @@ export default struct MinePageUserSimpleInfoUI { | ||
| 18 | Row(){ | 43 | Row(){ |
| 19 | //头像 | 44 | //头像 |
| 20 | Stack(){ | 45 | Stack(){ |
| 21 | - Button({type:ButtonType.Circle}) | ||
| 22 | - .backgroundColor($r('app.color.main_red')) | ||
| 23 | - .width('110lpx') | ||
| 24 | - .height('110lpx') | ||
| 25 | - Image($r('app.media.default_head')) | 46 | + Image(this.headPhotoUrl) |
| 47 | + .alt($r('app.media.default_head')) | ||
| 26 | .width('108lpx') | 48 | .width('108lpx') |
| 27 | .height('108lpx') | 49 | .height('108lpx') |
| 28 | .objectFit(ImageFit.Cover) | 50 | .objectFit(ImageFit.Cover) |
| 29 | .borderRadius(50) | 51 | .borderRadius(50) |
| 30 | - }.width('110lpx') | ||
| 31 | - .height('110lpx') | 52 | + Image(this.levelHead) |
| 53 | + .width('120lpx') | ||
| 54 | + .height('120lpx') | ||
| 55 | + .objectFit(ImageFit.Cover) | ||
| 56 | + .borderRadius(50) | ||
| 57 | + }.width('120lpx') | ||
| 58 | + .height('120lpx') | ||
| 32 | .alignContent(Alignment.Center) | 59 | .alignContent(Alignment.Center) |
| 33 | .onClick(()=>{ | 60 | .onClick(()=>{ |
| 34 | - if(!this.isLogin){ | ||
| 35 | - WDRouterRule.jumpWithPage(WDRouterPage.loginPage) | ||
| 36 | - }else { | ||
| 37 | - WDRouterRule.jumpWithPage(WDRouterPage.mineHomePage) | ||
| 38 | - } | 61 | + this.jumpLogin() |
| 39 | }) | 62 | }) |
| 40 | 63 | ||
| 41 | if(this.isLogin){ | 64 | if(this.isLogin){ |
| @@ -55,13 +78,16 @@ export default struct MinePageUserSimpleInfoUI { | @@ -55,13 +78,16 @@ export default struct MinePageUserSimpleInfoUI { | ||
| 55 | .objectFit(ImageFit.Cover) | 78 | .objectFit(ImageFit.Cover) |
| 56 | Blank() | 79 | Blank() |
| 57 | }.width('100%') | 80 | }.width('100%') |
| 81 | + .onClick(()=>{ | ||
| 82 | + this.jumpLogin() | ||
| 83 | + }) | ||
| 58 | 84 | ||
| 59 | Stack(){ | 85 | Stack(){ |
| 60 | Image($r('app.media.mine_grade_bg')) | 86 | Image($r('app.media.mine_grade_bg')) |
| 61 | .width('84lpx') | 87 | .width('84lpx') |
| 62 | .height('29lpx') | 88 | .height('29lpx') |
| 63 | .objectFit(ImageFit.Auto) | 89 | .objectFit(ImageFit.Auto) |
| 64 | - Text("等级8") | 90 | + Text(`等级${this.levelId}`) |
| 65 | .textAlign(TextAlign.Center) | 91 | .textAlign(TextAlign.Center) |
| 66 | .fontColor($r('app.color.white')) | 92 | .fontColor($r('app.color.white')) |
| 67 | .fontSize('19lpx') | 93 | .fontSize('19lpx') |
| @@ -84,7 +110,9 @@ export default struct MinePageUserSimpleInfoUI { | @@ -84,7 +110,9 @@ export default struct MinePageUserSimpleInfoUI { | ||
| 84 | .margin({left:'15lpx'}) | 110 | .margin({left:'15lpx'}) |
| 85 | .objectFit(ImageFit.Cover) | 111 | .objectFit(ImageFit.Cover) |
| 86 | Blank() | 112 | Blank() |
| 87 | - } | 113 | + }.onClick(()=>{ |
| 114 | + this.jumpLogin() | ||
| 115 | + }) | ||
| 88 | .margin({top:'11lpx',left:'17lpx'}) | 116 | .margin({top:'11lpx',left:'17lpx'}) |
| 89 | .width('352lpx') | 117 | .width('352lpx') |
| 90 | } | 118 | } |
| @@ -122,4 +150,33 @@ export default struct MinePageUserSimpleInfoUI { | @@ -122,4 +150,33 @@ export default struct MinePageUserSimpleInfoUI { | ||
| 122 | @Styles setFullHeight(){ | 150 | @Styles setFullHeight(){ |
| 123 | .height('100%') | 151 | .height('100%') |
| 124 | } | 152 | } |
| 153 | + | ||
| 154 | + getUserInfo(){ | ||
| 155 | + MinePageDatasModel.getUserDetailData(getContext(this)).then((value)=>{ | ||
| 156 | + if(value!=null){ | ||
| 157 | + this.userName = value.userName | ||
| 158 | + this.headPhotoUrl = value.headPhotoUrl | ||
| 159 | + } | ||
| 160 | + }).catch((err:Error)=>{ | ||
| 161 | + console.log(TAG,JSON.stringify(err)) | ||
| 162 | + }) | ||
| 163 | + } | ||
| 164 | + getUserLevel(){ | ||
| 165 | + MinePageDatasModel.getUserLevelData(getContext(this)).then((value)=>{ | ||
| 166 | + if(value!=null){ | ||
| 167 | + this.levelHead = value.levelHead | ||
| 168 | + this.levelId = value.levelId | ||
| 169 | + } | ||
| 170 | + }).catch((err:Error)=>{ | ||
| 171 | + console.log(TAG,JSON.stringify(err)) | ||
| 172 | + }) | ||
| 173 | + } | ||
| 174 | + | ||
| 175 | + jumpLogin(){ | ||
| 176 | + if(!this.isLogin){ | ||
| 177 | + WDRouterRule.jumpWithPage(WDRouterPage.loginPage) | ||
| 178 | + }else { | ||
| 179 | + WDRouterRule.jumpWithPage(WDRouterPage.mineHomePage) | ||
| 180 | + } | ||
| 181 | + } | ||
| 125 | } | 182 | } |
| @@ -9,6 +9,8 @@ export struct AppointmentListChildComponent{ | @@ -9,6 +9,8 @@ export struct AppointmentListChildComponent{ | ||
| 9 | Stack(){ | 9 | Stack(){ |
| 10 | Image(this.item?.imageUrl[0]) | 10 | Image(this.item?.imageUrl[0]) |
| 11 | .objectFit(ImageFit.Auto) | 11 | .objectFit(ImageFit.Auto) |
| 12 | + .interpolation(ImageInterpolation.High) | ||
| 13 | + | ||
| 12 | 14 | ||
| 13 | if(this.item.relType === 1){ | 15 | if(this.item.relType === 1){ |
| 14 | Row(){ | 16 | Row(){ |
| @@ -17,6 +19,8 @@ export struct AppointmentListChildComponent{ | @@ -17,6 +19,8 @@ export struct AppointmentListChildComponent{ | ||
| 17 | .width('42lpx') | 19 | .width('42lpx') |
| 18 | .height('35lpx') | 20 | .height('35lpx') |
| 19 | .objectFit(ImageFit.Auto) | 21 | .objectFit(ImageFit.Auto) |
| 22 | + .interpolation(ImageInterpolation.High) | ||
| 23 | + | ||
| 20 | Text("预约") | 24 | Text("预约") |
| 21 | .fontWeight(400) | 25 | .fontWeight(400) |
| 22 | .fontSize('21lpx') | 26 | .fontSize('21lpx') |
| @@ -51,6 +55,7 @@ export struct AppointmentListChildComponent{ | @@ -51,6 +55,7 @@ export struct AppointmentListChildComponent{ | ||
| 51 | if(this.item.relType === 2){ | 55 | if(this.item.relType === 2){ |
| 52 | Image($r('app.media.play_status_history_icon')) | 56 | Image($r('app.media.play_status_history_icon')) |
| 53 | .objectFit(ImageFit.Auto) | 57 | .objectFit(ImageFit.Auto) |
| 58 | + .interpolation(ImageInterpolation.High) | ||
| 54 | .width('38lpx') | 59 | .width('38lpx') |
| 55 | .height('38lpx') | 60 | .height('38lpx') |
| 56 | .margin({right:'12lpx'}) | 61 | .margin({right:'12lpx'}) |
| @@ -60,6 +65,7 @@ export struct AppointmentListChildComponent{ | @@ -60,6 +65,7 @@ export struct AppointmentListChildComponent{ | ||
| 60 | }else { | 65 | }else { |
| 61 | Image($r('app.media.play_status_icon')) | 66 | Image($r('app.media.play_status_icon')) |
| 62 | .objectFit(ImageFit.Auto) | 67 | .objectFit(ImageFit.Auto) |
| 68 | + .interpolation(ImageInterpolation.High) | ||
| 63 | .width('38lpx') | 69 | .width('38lpx') |
| 64 | .height('38lpx') | 70 | .height('38lpx') |
| 65 | .margin({right:'12lpx'}) | 71 | .margin({right:'12lpx'}) |
| @@ -68,6 +74,7 @@ export struct AppointmentListChildComponent{ | @@ -68,6 +74,7 @@ export struct AppointmentListChildComponent{ | ||
| 68 | .fontSize('23lpx') | 74 | .fontSize('23lpx') |
| 69 | Image($r('app.media.point_icon')) | 75 | Image($r('app.media.point_icon')) |
| 70 | .objectFit(ImageFit.Auto) | 76 | .objectFit(ImageFit.Auto) |
| 77 | + .interpolation(ImageInterpolation.High) | ||
| 71 | .width('12lpx') | 78 | .width('12lpx') |
| 72 | .height('31lpx') | 79 | .height('31lpx') |
| 73 | .margin({right:'4lpx'}) | 80 | .margin({right:'4lpx'}) |
| @@ -6,6 +6,7 @@ const TAG = "FollowFirstTabsComponent" | @@ -6,6 +6,7 @@ const TAG = "FollowFirstTabsComponent" | ||
| 6 | @Component | 6 | @Component |
| 7 | export struct FollowFirstTabsComponent{ | 7 | export struct FollowFirstTabsComponent{ |
| 8 | @State currentIndex: number = 0 | 8 | @State currentIndex: number = 0 |
| 9 | + @Prop changeIndex: number | ||
| 9 | private controller: TabsController = new TabsController() | 10 | private controller: TabsController = new TabsController() |
| 10 | @State data:FollowListItem[] = [] | 11 | @State data:FollowListItem[] = [] |
| 11 | fontColor: string = '#999999' | 12 | fontColor: string = '#999999' |
| @@ -22,6 +23,14 @@ export struct FollowFirstTabsComponent{ | @@ -22,6 +23,14 @@ export struct FollowFirstTabsComponent{ | ||
| 22 | this.data.push(element) | 23 | this.data.push(element) |
| 23 | }) | 24 | }) |
| 24 | console.log("ycg",this.data.length.toString()); | 25 | console.log("ycg",this.data.length.toString()); |
| 26 | + if(this.controller != null && this.data.length>1 && this.changeIndex === 1){ | ||
| 27 | + //个人主页 跳转 关注页 tab 2 | ||
| 28 | + let intervalID = setInterval(() => { | ||
| 29 | + this.currentIndex = this.changeIndex | ||
| 30 | + this.controller.changeIndex(this.currentIndex) | ||
| 31 | + clearInterval(intervalID); | ||
| 32 | + }, 500); | ||
| 33 | + } | ||
| 25 | }).catch((err:Error)=>{ | 34 | }).catch((err:Error)=>{ |
| 26 | console.log(TAG,JSON.stringify(err)) | 35 | console.log(TAG,JSON.stringify(err)) |
| 27 | }) | 36 | }) |
| 1 | +import { Params } from 'wdBean'; | ||
| 1 | import { LazyDataSource, StringUtils } from 'wdKit'; | 2 | import { LazyDataSource, StringUtils } from 'wdKit'; |
| 3 | +import { WDRouterPage, WDRouterRule } from 'wdRouter'; | ||
| 2 | import MinePageDatasModel from '../../../model/MinePageDatasModel'; | 4 | import MinePageDatasModel from '../../../model/MinePageDatasModel'; |
| 3 | import { CommentListItem } from '../../../viewmodel/CommentListItem'; | 5 | import { CommentListItem } from '../../../viewmodel/CommentListItem'; |
| 4 | import { FollowListDetailItem } from '../../../viewmodel/FollowListDetailItem'; | 6 | import { FollowListDetailItem } from '../../../viewmodel/FollowListDetailItem'; |
| @@ -15,6 +17,8 @@ export struct HomePageBottomComponent{ | @@ -15,6 +17,8 @@ export struct HomePageBottomComponent{ | ||
| 15 | @State hasMore:boolean = true | 17 | @State hasMore:boolean = true |
| 16 | curPageNum:number = 1; | 18 | curPageNum:number = 1; |
| 17 | @State count:number = 0; | 19 | @State count:number = 0; |
| 20 | + @State isMineAccount:boolean = true; | ||
| 21 | + @State userId:string = ""; | ||
| 18 | 22 | ||
| 19 | aboutToAppear(){ | 23 | aboutToAppear(){ |
| 20 | this.getNewPageData() | 24 | this.getNewPageData() |
| @@ -53,7 +57,12 @@ export struct HomePageBottomComponent{ | @@ -53,7 +57,12 @@ export struct HomePageBottomComponent{ | ||
| 53 | .justifyContent(FlexAlign.Center) | 57 | .justifyContent(FlexAlign.Center) |
| 54 | .backgroundColor($r('app.color.color_F5F5F5')) | 58 | .backgroundColor($r('app.color.color_F5F5F5')) |
| 55 | .margin({top:'31lpx',bottom:'4lpx'}) | 59 | .margin({top:'31lpx',bottom:'4lpx'}) |
| 56 | - } | 60 | + }.onClick(()=>{ |
| 61 | + let params: Params = { | ||
| 62 | + pageID: "1" | ||
| 63 | + } | ||
| 64 | + WDRouterRule.jumpWithPage(WDRouterPage.followListPage,params) | ||
| 65 | + }) | ||
| 57 | 66 | ||
| 58 | LazyForEach(this.data_follow, (item: FollowListDetailItem, index: number = 0) => { | 67 | LazyForEach(this.data_follow, (item: FollowListDetailItem, index: number = 0) => { |
| 59 | ListItem() { | 68 | ListItem() { |
| @@ -19,7 +19,7 @@ struct BrowsingHistoryPage { | @@ -19,7 +19,7 @@ struct BrowsingHistoryPage { | ||
| 19 | @State private browSingModel: PageModel = new PageModel() | 19 | @State private browSingModel: PageModel = new PageModel() |
| 20 | 20 | ||
| 21 | aboutToAppear(){ | 21 | aboutToAppear(){ |
| 22 | - // this.getData() | 22 | + this.getData() |
| 23 | } | 23 | } |
| 24 | 24 | ||
| 25 | build() { | 25 | build() { |
| 1 | import router from '@ohos.router'; | 1 | import router from '@ohos.router'; |
| 2 | import { CustomTitleUI } from '../reusable/CustomTitleUI'; | 2 | import { CustomTitleUI } from '../reusable/CustomTitleUI'; |
| 3 | -import { EditInfoModel, EditListInfo } from '../../model/EditInfoModel'; | 3 | +import { EditInfoModel, EditListInfo, editModel } from '../../model/EditInfoModel'; |
| 4 | import EditInfoViewModel from '../../viewmodel/EditInfoViewModel'; | 4 | import EditInfoViewModel from '../../viewmodel/EditInfoViewModel'; |
| 5 | import { WDRouterPage, WDRouterRule } from 'wdRouter'; | 5 | import { WDRouterPage, WDRouterRule } from 'wdRouter'; |
| 6 | 6 | ||
| @@ -9,10 +9,10 @@ import { WDRouterPage, WDRouterRule } from 'wdRouter'; | @@ -9,10 +9,10 @@ import { WDRouterPage, WDRouterRule } from 'wdRouter'; | ||
| 9 | @Component | 9 | @Component |
| 10 | struct EditUserInfoPage { | 10 | struct EditUserInfoPage { |
| 11 | private listData: EditListInfo[] = [] | 11 | private listData: EditListInfo[] = [] |
| 12 | - editInfo: EditInfoModel = new EditInfoModel('','待完善','待完善','待完善','待完善','待完善','待完善') | 12 | + editM: editModel = new editModel |
| 13 | 13 | ||
| 14 | aboutToAppear() { | 14 | aboutToAppear() { |
| 15 | - this.listData = EditInfoViewModel.getEditListInfo(this.editInfo) | 15 | + this.listData = EditInfoViewModel.getEditListInfo(this.editM) |
| 16 | this.getAccountOwnerInfo() | 16 | this.getAccountOwnerInfo() |
| 17 | } | 17 | } |
| 18 | 18 | ||
| @@ -20,7 +20,7 @@ struct EditUserInfoPage { | @@ -20,7 +20,7 @@ struct EditUserInfoPage { | ||
| 20 | Row() { | 20 | Row() { |
| 21 | Column() { | 21 | Column() { |
| 22 | CustomTitleUI({titleName:'资料编辑'}) | 22 | CustomTitleUI({titleName:'资料编辑'}) |
| 23 | - Image(this.editInfo.headPhotoUrl?this.editInfo.headPhotoUrl:'') | 23 | + Image(this.editM.userExtend.headPhotoUrl?this.editM.userExtend.headPhotoUrl:'') |
| 24 | .backgroundColor(Color.Gray) | 24 | .backgroundColor(Color.Gray) |
| 25 | .width(100) | 25 | .width(100) |
| 26 | .height(100) | 26 | .height(100) |
| @@ -110,8 +110,8 @@ struct EditUserInfoPage { | @@ -110,8 +110,8 @@ struct EditUserInfoPage { | ||
| 110 | } | 110 | } |
| 111 | 111 | ||
| 112 | getAccountOwnerInfo(){ | 112 | getAccountOwnerInfo(){ |
| 113 | - EditInfoViewModel.queryAccountOwnerInfo(1).then((result) => { | ||
| 114 | - this.editInfo = result | 113 | + EditInfoViewModel.queryAccountOwnerInfo(1,getContext(this)).then((result) => { |
| 114 | + this.editM = result | ||
| 115 | }); | 115 | }); |
| 116 | } | 116 | } |
| 117 | 117 |
| 1 | +import { Params } from 'wdBean'; | ||
| 1 | import { FollowFirstTabsComponent } from '../mine/follow/FollowFirstTabsComponent' | 2 | import { FollowFirstTabsComponent } from '../mine/follow/FollowFirstTabsComponent' |
| 3 | +import router from '@ohos.router'; | ||
| 2 | 4 | ||
| 3 | @Entry | 5 | @Entry |
| 4 | @Component | 6 | @Component |
| 5 | struct FollowListPage { | 7 | struct FollowListPage { |
| 8 | + @State params:Params = router.getParams() as Params; | ||
| 9 | + @State curIndex: string = '0'; | ||
| 10 | + | ||
| 11 | + onPageShow() { | ||
| 12 | + this.curIndex = this.params?.pageID; | ||
| 13 | + } | ||
| 6 | 14 | ||
| 7 | build() { | 15 | build() { |
| 8 | Column() { | 16 | Column() { |
| 9 | //Tab 详情 | 17 | //Tab 详情 |
| 10 | - FollowFirstTabsComponent() | 18 | + FollowFirstTabsComponent({changeIndex:Number(this.curIndex)}) |
| 11 | } | 19 | } |
| 12 | .backgroundColor($r('app.color.color_F9F9F9')) | 20 | .backgroundColor($r('app.color.color_F9F9F9')) |
| 13 | .height('100%') | 21 | .height('100%') |
| @@ -20,7 +20,6 @@ export struct MinePageComponent { | @@ -20,7 +20,6 @@ export struct MinePageComponent { | ||
| 20 | //是否是创作者 | 20 | //是否是创作者 |
| 21 | @State isCreator:boolean = false | 21 | @State isCreator:boolean = false |
| 22 | @State isLogin:boolean = false //默认 false 测试放开 | 22 | @State isLogin:boolean = false //默认 false 测试放开 |
| 23 | - @State userName:string = "登陆注册" | ||
| 24 | @State personalData:MinePagePersonalFunctionsItem[] = [] | 23 | @State personalData:MinePagePersonalFunctionsItem[] = [] |
| 25 | @State creatorData:MinePageCreatorFunctionsItem[] = [] | 24 | @State creatorData:MinePageCreatorFunctionsItem[] = [] |
| 26 | @State moreData:MinePageMoreFunctionModel[] = [] | 25 | @State moreData:MinePageMoreFunctionModel[] = [] |
| @@ -61,9 +60,9 @@ export struct MinePageComponent { | @@ -61,9 +60,9 @@ export struct MinePageComponent { | ||
| 61 | @Builder MinePageUI(){ | 60 | @Builder MinePageUI(){ |
| 62 | Column(){ | 61 | Column(){ |
| 63 | //头像层 | 62 | //头像层 |
| 64 | - MinePageUserSimpleInfoUI({isLogin:this.isLogin,userName:this.userName}) | 63 | + MinePageUserSimpleInfoUI({isLogin:this.isLogin}) |
| 65 | //Grid 区域 | 64 | //Grid 区域 |
| 66 | - MinePagePersonFunctionUI({personalData:$personalData}) | 65 | + MinePagePersonFunctionUI({personalData:$personalData,isLogin:this.isLogin}) |
| 67 | //Card | 66 | //Card |
| 68 | MinePageCardUI() | 67 | MinePageCardUI() |
| 69 | //创作者区域 | 68 | //创作者区域 |
| @@ -83,8 +82,6 @@ export struct MinePageComponent { | @@ -83,8 +82,6 @@ export struct MinePageComponent { | ||
| 83 | let userid = await SPHelper.default.get(SpConstants.USER_ID,"") | 82 | let userid = await SPHelper.default.get(SpConstants.USER_ID,"") |
| 84 | if(StringUtils.isNotEmpty(userid)){ | 83 | if(StringUtils.isNotEmpty(userid)){ |
| 85 | this.isLogin = true | 84 | this.isLogin = true |
| 86 | - let userName = await SPHelper.default.get(SpConstants.USER_NAME,"") as string | ||
| 87 | - this.userName = userName | ||
| 88 | }else{ | 85 | }else{ |
| 89 | this.isLogin = false | 86 | this.isLogin = false |
| 90 | } | 87 | } |
| @@ -13,6 +13,7 @@ export struct CustomTitleUI { | @@ -13,6 +13,7 @@ export struct CustomTitleUI { | ||
| 13 | .width('46lpx') | 13 | .width('46lpx') |
| 14 | .height('46lpx') | 14 | .height('46lpx') |
| 15 | .objectFit(ImageFit.Auto) | 15 | .objectFit(ImageFit.Auto) |
| 16 | + .interpolation(ImageInterpolation.High) | ||
| 16 | .id("back_icon") | 17 | .id("back_icon") |
| 17 | .alignRules({ | 18 | .alignRules({ |
| 18 | center: {anchor: "__container__", align: VerticalAlign.Center}, | 19 | center: {anchor: "__container__", align: VerticalAlign.Center}, |
| @@ -18,6 +18,7 @@ export struct ListHasNoMoreDataUI{ | @@ -18,6 +18,7 @@ export struct ListHasNoMoreDataUI{ | ||
| 18 | .width('200lpx') | 18 | .width('200lpx') |
| 19 | .height('200lpx') | 19 | .height('200lpx') |
| 20 | .objectFit(ImageFit.Auto) | 20 | .objectFit(ImageFit.Auto) |
| 21 | + .interpolation(ImageInterpolation.High) | ||
| 21 | Text("暂无内容") | 22 | Text("暂无内容") |
| 22 | .fontColor($r('app.color.color_999999')) | 23 | .fontColor($r('app.color.color_999999')) |
| 23 | .fontWeight('500lpx') | 24 | .fontWeight('500lpx') |
| 1 | +import { Params } from 'wdBean'; | ||
| 2 | +import { WDRouterPage, WDRouterRule } from 'wdRouter'; | ||
| 3 | + | ||
| 1 | const TAG = 'AboutPageUI'; | 4 | const TAG = 'AboutPageUI'; |
| 2 | 5 | ||
| 3 | @Component | 6 | @Component |
| @@ -41,7 +44,15 @@ export struct AboutPageUI { | @@ -41,7 +44,15 @@ export struct AboutPageUI { | ||
| 41 | ForEach(this.listData, (item:string, index : number) =>{ | 44 | ForEach(this.listData, (item:string, index : number) =>{ |
| 42 | ListItem() { | 45 | ListItem() { |
| 43 | this.getArrowCell(item, index) | 46 | this.getArrowCell(item, index) |
| 44 | - } | 47 | + }.onClick(() =>{ |
| 48 | + if (index == 0) { | ||
| 49 | + let bean={contentId:"1",pageID:""} as Params | ||
| 50 | + WDRouterRule.jumpWithPage(WDRouterPage.loginProtocolPage,bean) | ||
| 51 | + }else{ | ||
| 52 | + let bean={contentId:"2",pageID:""} as Params | ||
| 53 | + WDRouterRule.jumpWithPage(WDRouterPage.loginProtocolPage,bean) | ||
| 54 | + } | ||
| 55 | + }) | ||
| 45 | }) | 56 | }) |
| 46 | }.divider({ | 57 | }.divider({ |
| 47 | strokeWidth: 1, | 58 | strokeWidth: 1, |
| @@ -2,20 +2,17 @@ | @@ -2,20 +2,17 @@ | ||
| 2 | import { BottomNavi, CommonConstants } from 'wdConstant'; | 2 | import { BottomNavi, CommonConstants } from 'wdConstant'; |
| 3 | import { Logger } from 'wdKit'; | 3 | import { Logger } from 'wdKit'; |
| 4 | import { TopNavigationComponent } from '../page/TopNavigationComponent'; | 4 | import { TopNavigationComponent } from '../page/TopNavigationComponent'; |
| 5 | -// import { BottomNavDTO } from '../../repository/bean/BottomNavDTO'; | ||
| 6 | -// import { UIUtils } from '../../repository/UIUtils'; | ||
| 7 | -// import { MinePageComponent } from './MinePageComponent'; | ||
| 8 | import PageViewModel from '../../viewmodel/PageViewModel'; | 5 | import PageViewModel from '../../viewmodel/PageViewModel'; |
| 9 | import {MineMainSettingFunctionItem} from '../../viewmodel/MineMainSettingFunctionItem'; | 6 | import {MineMainSettingFunctionItem} from '../../viewmodel/MineMainSettingFunctionItem'; |
| 10 | import MineSettingDatasModel from '../../model/MineSettingDatasModel'; | 7 | import MineSettingDatasModel from '../../model/MineSettingDatasModel'; |
| 11 | -// import MineMainSettingFunctionItem from '../../model/MineSettingDatasModel'; | ||
| 12 | -// import { MineMainSettingFunctionItem } from '../setting/MineSettingDatasModel' | ||
| 13 | - | ||
| 14 | import storageStatistics from "@ohos.file.storageStatistics"; | 8 | import storageStatistics from "@ohos.file.storageStatistics"; |
| 15 | import { BusinessError } from '@ohos.base'; | 9 | import { BusinessError } from '@ohos.base'; |
| 16 | import ArrayList from '@ohos.util.ArrayList'; | 10 | import ArrayList from '@ohos.util.ArrayList'; |
| 17 | import router from '@ohos.router'; | 11 | import router from '@ohos.router'; |
| 18 | - | 12 | +import { WDRouterPage, WDRouterRule } from 'wdRouter'; |
| 13 | +import { Params } from 'wdBean'; | ||
| 14 | +import { SettingPasswordParams } from 'wdLogin'; | ||
| 15 | +export { SettingPasswordParams } from "wdLogin" | ||
| 19 | 16 | ||
| 20 | @Component | 17 | @Component |
| 21 | export struct AccountAndSecurityLayout { | 18 | export struct AccountAndSecurityLayout { |
| @@ -61,11 +58,14 @@ export struct AccountAndSecurityLayout { | @@ -61,11 +58,14 @@ export struct AccountAndSecurityLayout { | ||
| 61 | } | 58 | } |
| 62 | .onClick(() => { | 59 | .onClick(() => { |
| 63 | console.log(index + "") | 60 | console.log(index + "") |
| 64 | - if (index == 1) { | ||
| 65 | - router.pushUrl({ | ||
| 66 | - url:"pages/SettingPasswordPage", | ||
| 67 | - params : {'currentType' : 4} | ||
| 68 | - }) | 61 | + if (index == 0){ |
| 62 | + | ||
| 63 | + }else if (index == 1) { | ||
| 64 | + | ||
| 65 | + let params: SettingPasswordParams = { | ||
| 66 | + pageID:'1', | ||
| 67 | + } | ||
| 68 | + WDRouterRule.jumpWithPage(WDRouterPage.settingPasswordPage, params) | ||
| 69 | } | 69 | } |
| 70 | }) | 70 | }) |
| 71 | 71 |
| @@ -23,7 +23,7 @@ export struct MineSettingComponent { | @@ -23,7 +23,7 @@ export struct MineSettingComponent { | ||
| 23 | if (err) { | 23 | if (err) { |
| 24 | console.error(`Invoke getCurrentBundleStats failed, code is ${err.code}, message is ${err.message}`); | 24 | console.error(`Invoke getCurrentBundleStats failed, code is ${err.code}, message is ${err.message}`); |
| 25 | } else { | 25 | } else { |
| 26 | - this.cacheSice = bundleStats.appSize / 1024.00 / 1024.00; | 26 | + this.cacheSice = bundleStats.cacheSize / 1024.00 / 1024.00; |
| 27 | } | 27 | } |
| 28 | }); | 28 | }); |
| 29 | } | 29 | } |
| @@ -68,13 +68,13 @@ export struct MineSettingComponent { | @@ -68,13 +68,13 @@ export struct MineSettingComponent { | ||
| 68 | // pageType:'AccountAndSecurityLayout' | 68 | // pageType:'AccountAndSecurityLayout' |
| 69 | // }; | 69 | // }; |
| 70 | console.log(subIndex + "") | 70 | console.log(subIndex + "") |
| 71 | - if (subIndex == 0) { | 71 | + if (subIndex == 0 && index == 0) { |
| 72 | 72 | ||
| 73 | let params: Params = { | 73 | let params: Params = { |
| 74 | pageID: 'AccountAndSecurityLayout' | 74 | pageID: 'AccountAndSecurityLayout' |
| 75 | } | 75 | } |
| 76 | WDRouterRule.jumpWithPage(WDRouterPage.settingPage, params) | 76 | WDRouterRule.jumpWithPage(WDRouterPage.settingPage, params) |
| 77 | - }else if (subIndex == 2) { | 77 | + }else if (subIndex == 2 && index == 0) { |
| 78 | WDRouterRule.jumpWithPage(WDRouterPage.privacySettingPage) | 78 | WDRouterRule.jumpWithPage(WDRouterPage.privacySettingPage) |
| 79 | } | 79 | } |
| 80 | 80 | ||
| @@ -157,11 +157,11 @@ export struct MineSettingComponent { | @@ -157,11 +157,11 @@ export struct MineSettingComponent { | ||
| 157 | // 左侧logo和标题 | 157 | // 左侧logo和标题 |
| 158 | Row() { | 158 | Row() { |
| 159 | // 判断有没有图片 | 159 | // 判断有没有图片 |
| 160 | - if (this.privacySwitch) { | ||
| 161 | - Image('https://pic.rmb.bdstatic.com/e182cf67c341d1128d2a6cc05886bf62.jpeg@s_0,h_2000') | ||
| 162 | - .height('38lpx') | ||
| 163 | - .margin({ right: '5lpx' }) | ||
| 164 | - } | 160 | + // if (this.privacySwitch) { |
| 161 | + // Image('https://pic.rmb.bdstatic.com/e182cf67c341d1128d2a6cc05886bf62.jpeg@s_0,h_2000') | ||
| 162 | + // .height('38lpx') | ||
| 163 | + // .margin({ right: '5lpx' }) | ||
| 164 | + // } | ||
| 165 | Text(`${item}`) | 165 | Text(`${item}`) |
| 166 | .margin({ top: '8lpx' }) | 166 | .margin({ top: '8lpx' }) |
| 167 | .height('38lpx') | 167 | .height('38lpx') |
| @@ -24,7 +24,8 @@ export struct PrivacySettingComponents { | @@ -24,7 +24,8 @@ export struct PrivacySettingComponents { | ||
| 24 | async getPermissionStatus() { | 24 | async getPermissionStatus() { |
| 25 | const permissionUtil = new PermissionUtil(); | 25 | const permissionUtil = new PermissionUtil(); |
| 26 | for (const element of this.listData) { | 26 | for (const element of this.listData) { |
| 27 | - if (element.privacyName = '开启个性推荐') { | 27 | + if (element.privacyName == '开启个性推荐') { |
| 28 | + element.queryUserDetail(); | ||
| 28 | continue; | 29 | continue; |
| 29 | } | 30 | } |
| 30 | const result = await permissionUtil.checkPermissions(element.permissionKey); | 31 | const result = await permissionUtil.checkPermissions(element.permissionKey); |
| @@ -58,7 +59,7 @@ export struct PrivacySettingComponents { | @@ -58,7 +59,7 @@ export struct PrivacySettingComponents { | ||
| 58 | if (!item.permission) { | 59 | if (!item.permission) { |
| 59 | //跳转权限设置 | 60 | //跳转权限设置 |
| 60 | const permissionUtil = new PermissionUtil(); | 61 | const permissionUtil = new PermissionUtil(); |
| 61 | - PermissionUtil.reqPermissionsFromUser([item.permissionKey]); | 62 | + PermissionUtil.reqPermissionsFromUser([item.permissionKey], this); |
| 62 | } | 63 | } |
| 63 | } | 64 | } |
| 64 | }) | 65 | }) |
| @@ -6,11 +6,14 @@ export struct ENewspaperCalendarDialog { | @@ -6,11 +6,14 @@ export struct ENewspaperCalendarDialog { | ||
| 6 | calendarDialogController?: CustomDialogController | 6 | calendarDialogController?: CustomDialogController |
| 7 | // 选择变化监听, | 7 | // 选择变化监听, |
| 8 | onDateChange?: (date: RMCalendarBean) => void | 8 | onDateChange?: (date: RMCalendarBean) => void |
| 9 | + //当前选择的日期标记 | ||
| 10 | + @Prop selectDate: Date = new Date() | ||
| 9 | 11 | ||
| 10 | build() { | 12 | build() { |
| 11 | RMCalendar({ | 13 | RMCalendar({ |
| 12 | // 开始日期 | 14 | // 开始日期 |
| 13 | startDate: new Date(2000, 1, 1), | 15 | startDate: new Date(2000, 1, 1), |
| 16 | + selectDay: this.selectDate, | ||
| 14 | // 截止日期 | 17 | // 截止日期 |
| 15 | endDate: new Date(), | 18 | endDate: new Date(), |
| 16 | // 日期选择变化监听 | 19 | // 日期选择变化监听 |
| @@ -32,8 +32,8 @@ export struct ENewspaperListDialog { | @@ -32,8 +32,8 @@ export struct ENewspaperListDialog { | ||
| 32 | console.log("ENewspaperListDialog-onCurrentPageNumUpdated", "currentPageNum:", this.currentPageNum) | 32 | console.log("ENewspaperListDialog-onCurrentPageNumUpdated", "currentPageNum:", this.currentPageNum) |
| 33 | let _scrollIndex = Number.parseInt(this.currentPageNum) | 33 | let _scrollIndex = Number.parseInt(this.currentPageNum) |
| 34 | console.log("ENewspaperListDialog-onCurrentPageNumUpdated", "_scrollIndex:", _scrollIndex) | 34 | console.log("ENewspaperListDialog-onCurrentPageNumUpdated", "_scrollIndex:", _scrollIndex) |
| 35 | - this.scrollIndex = _scrollIndex > 0 ? _scrollIndex - 1 : _scrollIndex | ||
| 36 | - this.listScroller.scrollToIndex(this.scrollIndex) | 35 | + let scrollIndexEnd = _scrollIndex > 0 ? _scrollIndex - 1 : _scrollIndex |
| 36 | + this.listScroller.scrollToIndex(scrollIndexEnd) | ||
| 37 | } | 37 | } |
| 38 | 38 | ||
| 39 | aboutToAppear(): void { | 39 | aboutToAppear(): void { |
| @@ -11,11 +11,9 @@ export class EditListInfo{ | @@ -11,11 +11,9 @@ export class EditListInfo{ | ||
| 11 | } | 11 | } |
| 12 | } | 12 | } |
| 13 | 13 | ||
| 14 | -export class EditInfoModel{ | 14 | +export class EditInfoModel{ |
| 15 | //头像 | 15 | //头像 |
| 16 | headPhotoUrl:string = '' | 16 | headPhotoUrl:string = '' |
| 17 | - //昵称 | ||
| 18 | - userName:string = '' | ||
| 19 | //简介 | 17 | //简介 |
| 20 | introduction:string = '' | 18 | introduction:string = '' |
| 21 | //城市 | 19 | //城市 |
| @@ -26,15 +24,16 @@ export class EditInfoModel{ | @@ -26,15 +24,16 @@ export class EditInfoModel{ | ||
| 26 | birthday:string = '' | 24 | birthday:string = '' |
| 27 | //性别 | 25 | //性别 |
| 28 | sex:string = '' | 26 | sex:string = '' |
| 27 | +} | ||
| 29 | 28 | ||
| 30 | - constructor(headPhotoUrl:string , userName:string , introduction:string , city:string , county:string, birthday:string , sex:string) { | ||
| 31 | - this.headPhotoUrl = headPhotoUrl; | ||
| 32 | - this.userName = userName; | ||
| 33 | - this.introduction = introduction; | ||
| 34 | - this.city = city; | ||
| 35 | - this.county = county; | ||
| 36 | - this.birthday = birthday; | ||
| 37 | - this.sex = sex; | ||
| 38 | - } | 29 | +export class editModel{ |
| 30 | + userName:string = '' | ||
| 31 | + | ||
| 32 | + userNameStatus:string = '' | ||
| 33 | + | ||
| 34 | + phone:string = '' | ||
| 35 | + | ||
| 36 | + headPhotoStatus:string = '' | ||
| 39 | 37 | ||
| 38 | + userExtend:EditInfoModel | ||
| 40 | } | 39 | } |
| @@ -5,7 +5,7 @@ import MinePageMoreFunctionModel from '../viewmodel/MinePageMoreFunctionModel'; | @@ -5,7 +5,7 @@ import MinePageMoreFunctionModel from '../viewmodel/MinePageMoreFunctionModel'; | ||
| 5 | import HashMap from '@ohos.util.HashMap'; | 5 | import HashMap from '@ohos.util.HashMap'; |
| 6 | import { HttpUrlUtils, ResponseDTO, WDHttp } from 'wdNetwork'; | 6 | import { HttpUrlUtils, ResponseDTO, WDHttp } from 'wdNetwork'; |
| 7 | import { MineAppointmentListItem } from '../viewmodel/MineAppointmentListItem'; | 7 | import { MineAppointmentListItem } from '../viewmodel/MineAppointmentListItem'; |
| 8 | -import { Logger, ResourcesUtils } from 'wdKit'; | 8 | +import { Logger, ResourcesUtils, StringUtils } from 'wdKit'; |
| 9 | import { MineFollowListDetailItem } from '../viewmodel/MineFollowListDetailItem'; | 9 | import { MineFollowListDetailItem } from '../viewmodel/MineFollowListDetailItem'; |
| 10 | import { FollowListDetailRequestItem } from '../viewmodel/FollowListDetailRequestItem'; | 10 | import { FollowListDetailRequestItem } from '../viewmodel/FollowListDetailRequestItem'; |
| 11 | import { FollowListItem } from '../viewmodel/FollowListItem'; | 11 | import { FollowListItem } from '../viewmodel/FollowListItem'; |
| @@ -13,6 +13,9 @@ import { MineFollowListItem } from '../viewmodel/MineFollowListItem'; | @@ -13,6 +13,9 @@ import { MineFollowListItem } from '../viewmodel/MineFollowListItem'; | ||
| 13 | import { QueryListIsFollowedItem } from '../viewmodel/QueryListIsFollowedItem'; | 13 | import { QueryListIsFollowedItem } from '../viewmodel/QueryListIsFollowedItem'; |
| 14 | import { FollowListStatusRequestItem } from '../viewmodel/FollowListStatusRequestItem'; | 14 | import { FollowListStatusRequestItem } from '../viewmodel/FollowListStatusRequestItem'; |
| 15 | import { MineCommentListDetailItem } from '../viewmodel/MineCommentListDetailItem'; | 15 | import { MineCommentListDetailItem } from '../viewmodel/MineCommentListDetailItem'; |
| 16 | +import { MineUserLevelItem } from '../viewmodel/MineUserLevelItem'; | ||
| 17 | +import { MineUserDetailItem } from '../viewmodel/MineUserDetailItem'; | ||
| 18 | +import { OtherUserDetailRequestItem } from '../viewmodel/OtherUserDetailRequestItem'; | ||
| 16 | 19 | ||
| 17 | const TAG = "MinePageDatasModel" | 20 | const TAG = "MinePageDatasModel" |
| 18 | 21 | ||
| @@ -337,6 +340,163 @@ class MinePageDatasModel{ | @@ -337,6 +340,163 @@ class MinePageDatasModel{ | ||
| 337 | return compRes.data | 340 | return compRes.data |
| 338 | } | 341 | } |
| 339 | 342 | ||
| 343 | + /** | ||
| 344 | + * 个人中心 获取用户等级 | ||
| 345 | + */ | ||
| 346 | + getUserLevelData(context: Context): Promise<MineUserLevelItem> { | ||
| 347 | + return new Promise<MineUserLevelItem>((success, error) => { | ||
| 348 | + Logger.info(TAG, `getAppointmentList start`); | ||
| 349 | + this.fetchMineUserLevelData().then((navResDTO: ResponseDTO<MineUserLevelItem>) => { | ||
| 350 | + if (!navResDTO || navResDTO.code != 0) { | ||
| 351 | + success(this.getMineUserLevelDataLocal(context)) | ||
| 352 | + return | ||
| 353 | + } | ||
| 354 | + Logger.info(TAG, "getAppointmentList then,AppointmentResDTO.timeStamp:" + navResDTO.timestamp); | ||
| 355 | + let navigationBean = navResDTO.data as MineUserLevelItem | ||
| 356 | + success(navigationBean); | ||
| 357 | + }).catch((err: Error) => { | ||
| 358 | + Logger.error(TAG, `fetchMineUserLevelData catch, error.name : ${err.name}, error.message:${err.message}`); | ||
| 359 | + success(this.getMineUserLevelDataLocal(context)) | ||
| 360 | + }) | ||
| 361 | + }) | ||
| 362 | + } | ||
| 363 | + | ||
| 364 | + fetchMineUserLevelData() { | ||
| 365 | + let url = HttpUrlUtils.getMineUserLevelDataUrl() | ||
| 366 | + let headers: HashMap<string, string> = HttpUrlUtils.getYcgCommonHeaders(); | ||
| 367 | + return WDHttp.get<ResponseDTO<MineUserLevelItem>>(url, headers) | ||
| 368 | + }; | ||
| 369 | + | ||
| 370 | + async getMineUserLevelDataLocal(context: Context): Promise<MineUserLevelItem> { | ||
| 371 | + Logger.info(TAG, `getMineUserLevelDataLocal start`); | ||
| 372 | + let compRes: ResponseDTO<MineUserLevelItem> | null = await ResourcesUtils.getResourcesJson<ResponseDTO<MineUserLevelItem>>(context,'mine_user_level.json' ); | ||
| 373 | + if (!compRes || !compRes.data) { | ||
| 374 | + Logger.info(TAG, `getMineUserLevelDataLocal compRes is empty`); | ||
| 375 | + return new MineUserLevelItem() | ||
| 376 | + } | ||
| 377 | + Logger.info(TAG, `getMineUserLevelDataLocal getResourcesJsonSync compRes : ${JSON.stringify(compRes)}`); | ||
| 378 | + return compRes.data | ||
| 379 | + } | ||
| 380 | + | ||
| 381 | + /** | ||
| 382 | + * 个人中心 获取用户详细信息 | ||
| 383 | + */ | ||
| 384 | + getUserDetailData(context: Context): Promise<MineUserDetailItem> { | ||
| 385 | + return new Promise<MineUserDetailItem>((success, error) => { | ||
| 386 | + Logger.info(TAG, `getAppointmentList start`); | ||
| 387 | + this.fetchMineUserDetailData().then((navResDTO: ResponseDTO<MineUserDetailItem>) => { | ||
| 388 | + if (!navResDTO || navResDTO.code != 0) { | ||
| 389 | + success(this.getMineUserDetailDataLocal(context)) | ||
| 390 | + return | ||
| 391 | + } | ||
| 392 | + Logger.info(TAG, "getUserDetailData then,timeStamp:" + navResDTO.timestamp); | ||
| 393 | + let navigationBean = navResDTO.data as MineUserDetailItem | ||
| 394 | + success(navigationBean); | ||
| 395 | + }).catch((err: Error) => { | ||
| 396 | + Logger.error(TAG, `fetchMineUserDetailData catch, error.name : ${err.name}, error.message:${err.message}`); | ||
| 397 | + success(this.getMineUserDetailDataLocal(context)) | ||
| 398 | + }) | ||
| 399 | + }) | ||
| 400 | + } | ||
| 401 | + | ||
| 402 | + fetchMineUserDetailData() { | ||
| 403 | + let url = HttpUrlUtils.getMineUserDetailDataUrl() | ||
| 404 | + let headers: HashMap<string, string> = HttpUrlUtils.getYcgCommonHeaders(); | ||
| 405 | + return WDHttp.get<ResponseDTO<MineUserDetailItem>>(url, headers) | ||
| 406 | + }; | ||
| 407 | + | ||
| 408 | + async getMineUserDetailDataLocal(context: Context): Promise<MineUserDetailItem> { | ||
| 409 | + Logger.info(TAG, `getMineUserLevelDataLocal start`); | ||
| 410 | + let compRes: ResponseDTO<MineUserDetailItem> | null = await ResourcesUtils.getResourcesJson<ResponseDTO<MineUserDetailItem>>(context,'mine_user_detail.json' ); | ||
| 411 | + if (!compRes || !compRes.data) { | ||
| 412 | + Logger.info(TAG, `getMineUserDetailDataLocal compRes is empty`); | ||
| 413 | + return new MineUserDetailItem() | ||
| 414 | + } | ||
| 415 | + Logger.info(TAG, `getMineUserDetailDataLocal getResourcesJsonSync compRes : ${JSON.stringify(compRes)}`); | ||
| 416 | + return compRes.data | ||
| 417 | + } | ||
| 418 | + /** | ||
| 419 | + * 个人中心 获取其他用户详细信息 | ||
| 420 | + */ | ||
| 421 | + getOtherUserDetailData(item:OtherUserDetailRequestItem,context: Context): Promise<MineUserDetailItem> { | ||
| 422 | + return new Promise<MineUserDetailItem>((success, error) => { | ||
| 423 | + Logger.info(TAG, `getAppointmentList start`); | ||
| 424 | + this.fetchOtherUserDetailData(item).then((navResDTO: ResponseDTO<MineUserDetailItem>) => { | ||
| 425 | + if (!navResDTO || navResDTO.code != 0) { | ||
| 426 | + success(this.getOtherUserDetailDataLocal(context)) | ||
| 427 | + return | ||
| 428 | + } | ||
| 429 | + Logger.info(TAG, "getUserDetailData then,timeStamp:" + navResDTO.timestamp); | ||
| 430 | + let navigationBean = navResDTO.data as MineUserDetailItem | ||
| 431 | + success(navigationBean); | ||
| 432 | + }).catch((err: Error) => { | ||
| 433 | + Logger.error(TAG, `fetchMineUserDetailData catch, error.name : ${err.name}, error.message:${err.message}`); | ||
| 434 | + success(this.getOtherUserDetailDataLocal(context)) | ||
| 435 | + }) | ||
| 436 | + }) | ||
| 437 | + } | ||
| 438 | + | ||
| 439 | + fetchOtherUserDetailData(item:OtherUserDetailRequestItem) { | ||
| 440 | + let url = HttpUrlUtils.getOtherUserDetailDataUrl() | ||
| 441 | + let headers: HashMap<string, string> = HttpUrlUtils.getYcgCommonHeaders(); | ||
| 442 | + return WDHttp.post<ResponseDTO<MineUserDetailItem>>(url, item,headers) | ||
| 443 | + }; | ||
| 444 | + | ||
| 445 | + async getOtherUserDetailDataLocal(context: Context): Promise<MineUserDetailItem> { | ||
| 446 | + Logger.info(TAG, `getMineUserLevelDataLocal start`); | ||
| 447 | + let compRes: ResponseDTO<MineUserDetailItem> | null = await ResourcesUtils.getResourcesJson<ResponseDTO<MineUserDetailItem>>(context,'other_user512157124138245_detail.json' ); | ||
| 448 | + if (!compRes || !compRes.data) { | ||
| 449 | + Logger.info(TAG, `getMineUserDetailDataLocal compRes is empty`); | ||
| 450 | + return new MineUserDetailItem() | ||
| 451 | + } | ||
| 452 | + Logger.info(TAG, `getMineUserDetailDataLocal getResourcesJsonSync compRes : ${JSON.stringify(compRes)}`); | ||
| 453 | + return compRes.data | ||
| 454 | + } | ||
| 455 | + | ||
| 456 | + /** | ||
| 457 | + * 个人中心 获取其他用户等级 | ||
| 458 | + */ | ||
| 459 | + getOtherUserLevelData(item:string[],context: Context): Promise<MineUserLevelItem[]> { | ||
| 460 | + return new Promise<MineUserLevelItem[]>((success, error) => { | ||
| 461 | + Logger.info(TAG, `getAppointmentList start`); | ||
| 462 | + this.fetchOtherUserLevelData(item).then((navResDTO: ResponseDTO<MineUserLevelItem[]>) => { | ||
| 463 | + if (!navResDTO || navResDTO.code != 0) { | ||
| 464 | + success(this.getOtherUserLevelDataLocal(context)) | ||
| 465 | + return | ||
| 466 | + } | ||
| 467 | + Logger.info(TAG, "getAppointmentList then,AppointmentResDTO.timeStamp:" + navResDTO.timestamp); | ||
| 468 | + let navigationBean = navResDTO.data as MineUserLevelItem[] | ||
| 469 | + if(navigationBean.length>0 && StringUtils.isNotEmpty(navigationBean[0].levelHead)){ | ||
| 470 | + success(navigationBean); | ||
| 471 | + }else{ | ||
| 472 | + success(this.getOtherUserLevelDataLocal(context)) | ||
| 473 | + } | ||
| 474 | + }).catch((err: Error) => { | ||
| 475 | + Logger.error(TAG, `fetchMineUserLevelData catch, error.name : ${err.name}, error.message:${err.message}`); | ||
| 476 | + success(this.getOtherUserLevelDataLocal(context)) | ||
| 477 | + }) | ||
| 478 | + }) | ||
| 479 | + } | ||
| 480 | + | ||
| 481 | + fetchOtherUserLevelData(item:string[]) { | ||
| 482 | + let url = HttpUrlUtils.getOtherUserLevelDataUrl() | ||
| 483 | + let headers: HashMap<string, string> = HttpUrlUtils.getYcgCommonHeaders(); | ||
| 484 | + return WDHttp.post<ResponseDTO<MineUserLevelItem[]>>(url,item, headers) | ||
| 485 | + }; | ||
| 486 | + | ||
| 487 | + async getOtherUserLevelDataLocal(context: Context): Promise<MineUserLevelItem[]> { | ||
| 488 | + Logger.info(TAG, `getMineUserLevelDataLocal start`); | ||
| 489 | + let compRes: ResponseDTO<MineUserLevelItem[]> | null = await ResourcesUtils.getResourcesJson<ResponseDTO<MineUserLevelItem[]>>(context,'other_user512157124138245_level.json' ); | ||
| 490 | + if (!compRes || !compRes.data) { | ||
| 491 | + Logger.info(TAG, `getMineUserLevelDataLocal compRes is empty`); | ||
| 492 | + return [] | ||
| 493 | + } | ||
| 494 | + Logger.info(TAG, `getMineUserLevelDataLocal getResourcesJsonSync compRes : ${JSON.stringify(compRes)}`); | ||
| 495 | + return compRes.data | ||
| 496 | + } | ||
| 497 | + | ||
| 498 | + | ||
| 499 | + | ||
| 340 | 500 | ||
| 341 | } | 501 | } |
| 342 | 502 |
| 1 | import abilityAccessCtrl, { Permissions } from '@ohos.abilityAccessCtrl'; | 1 | import abilityAccessCtrl, { Permissions } from '@ohos.abilityAccessCtrl'; |
| 2 | +import HashMap from '@ohos.util.HashMap'; | ||
| 3 | +import { HttpUrlUtils, ResponseDTO } from 'wdNetwork'; | ||
| 4 | +import { Logger } from 'wdKit'; | ||
| 5 | +import { HttpRequest } from 'wdNetwork/src/main/ets/http/HttpRequest'; | ||
| 6 | + | ||
| 7 | + | ||
| 2 | @Observed | 8 | @Observed |
| 3 | export class PrivacySettingModel{ | 9 | export class PrivacySettingModel{ |
| 4 | privacyName: string | 10 | privacyName: string |
| @@ -10,4 +16,59 @@ export class PrivacySettingModel{ | @@ -10,4 +16,59 @@ export class PrivacySettingModel{ | ||
| 10 | this.permission = permission; | 16 | this.permission = permission; |
| 11 | this.permissionKey = permissionKey; | 17 | this.permissionKey = permissionKey; |
| 12 | } | 18 | } |
| 19 | + | ||
| 20 | + | ||
| 21 | + | ||
| 22 | + queryUserDetail() { | ||
| 23 | + let bean: Record<string, string> = {}; | ||
| 24 | + let headers: HashMap<string, string> = HttpUrlUtils.getCommonHeaders(); | ||
| 25 | + return new Promise<string>((success, fail) => { | ||
| 26 | + HttpRequest.get<ResponseDTO<string>>(HttpUrlUtils.queryUserDetail(), headers).then((data: ResponseDTO<string>) => { | ||
| 27 | + if (!data || !data.data) { | ||
| 28 | + fail("数据为空") | ||
| 29 | + return | ||
| 30 | + } | ||
| 31 | + if (data.code != 0) { | ||
| 32 | + fail(data.message) | ||
| 33 | + return | ||
| 34 | + } | ||
| 35 | + // this.permission = data.data.userExtend.airec as boolean; | ||
| 36 | + success(data.data) | ||
| 37 | + }, (error: Error) => { | ||
| 38 | + fail(error.message) | ||
| 39 | + Logger.debug("LoginViewModel:error ", error.toString()) | ||
| 40 | + }) | ||
| 41 | + }) | ||
| 42 | + } | ||
| 43 | + | ||
| 44 | + | ||
| 45 | + editUserDetail(airec:string) { | ||
| 46 | + let bean: Record<string, string> = {}; | ||
| 47 | + bean['airec'] = airec; | ||
| 48 | + let headers: HashMap<string, string> = HttpUrlUtils.getCommonHeaders(); | ||
| 49 | + return new Promise<string>((success, fail) => { | ||
| 50 | + HttpRequest.post<ResponseDTO<string>>(HttpUrlUtils.editUserDetail(), bean, headers).then((data: ResponseDTO<string>) => { | ||
| 51 | + if (!data || !data.data) { | ||
| 52 | + fail("数据为空") | ||
| 53 | + return | ||
| 54 | + } | ||
| 55 | + if (data.code != 0) { | ||
| 56 | + fail(data.message) | ||
| 57 | + return | ||
| 58 | + } | ||
| 59 | + success(data.data) | ||
| 60 | + }, (error: Error) => { | ||
| 61 | + fail(error.message) | ||
| 62 | + Logger.debug("LoginViewModel:error ", error.toString()) | ||
| 63 | + }) | ||
| 64 | + }) | ||
| 65 | + } | ||
| 66 | + | ||
| 67 | + | ||
| 68 | + | ||
| 69 | + | ||
| 70 | + | ||
| 71 | + | ||
| 72 | + | ||
| 73 | + | ||
| 13 | } | 74 | } |
| 1 | import router from '@ohos.router' | 1 | import router from '@ohos.router' |
| 2 | +import { Params } from 'wdBean'; | ||
| 3 | +import { StringUtils } from 'wdKit'; | ||
| 2 | import { WDRouterPage, WDRouterRule } from 'wdRouter'; | 4 | import { WDRouterPage, WDRouterRule } from 'wdRouter'; |
| 3 | import { HomePageBottomComponent } from '../components/mine/home/HomePageBottomComponent'; | 5 | import { HomePageBottomComponent } from '../components/mine/home/HomePageBottomComponent'; |
| 6 | +import MinePageDatasModel from '../model/MinePageDatasModel'; | ||
| 7 | + | ||
| 8 | +const TAG = "MineHomePage" | ||
| 4 | 9 | ||
| 5 | @Entry | 10 | @Entry |
| 6 | @Component | 11 | @Component |
| 7 | struct MineHomePage { | 12 | struct MineHomePage { |
| 8 | @State tileOpacity: number = 0; | 13 | @State tileOpacity: number = 0; |
| 9 | firstPositionY:number = 0; | 14 | firstPositionY:number = 0; |
| 10 | - @State isHasIntroduction: boolean = true | ||
| 11 | - @State desc:string = "点击添加简介,让大家认识你" //text 搞两个样式,如果三行,就显示 另外一个text 没有显示高度的 | ||
| 12 | fontColor: string = '#999999' | 15 | fontColor: string = '#999999' |
| 13 | selectedFontColor: string = '#000000' | 16 | selectedFontColor: string = '#000000' |
| 14 | @State currentIndex: number = 0 | 17 | @State currentIndex: number = 0 |
| 15 | private controller: TabsController = new TabsController() | 18 | private controller: TabsController = new TabsController() |
| 16 | isChangeToUserEdit = false; | 19 | isChangeToUserEdit = false; |
| 20 | + @State userName:string = "" | ||
| 21 | + @State headPhotoUrl:string = "" | ||
| 22 | + @State levelHead:string = "" | ||
| 23 | + @State levelId:number = 0 | ||
| 24 | + @State desc:string = "点击添加简介,让大家认识你" //text 搞两个样式,如果三行,就显示 另外一个text 没有显示高度的 | ||
| 25 | + @State isHasIntroduction: boolean = false | ||
| 26 | + @State browseNum:number = 0//阅读数 | ||
| 27 | + @State commentNum:number = 0//评论数 | ||
| 28 | + @State attentionNum:number = 0//关注数 | ||
| 29 | + registTime:number = 0//账号注册时间 | ||
| 30 | + @State registerTimeForDay:number = 0 | ||
| 31 | + | ||
| 32 | + aboutToAppear(){ | ||
| 33 | + this.getUserInfo() | ||
| 34 | + this.getUserLevel() | ||
| 35 | + } | ||
| 36 | + | ||
| 17 | 37 | ||
| 18 | 38 | ||
| 19 | build() { | 39 | build() { |
| @@ -33,15 +53,28 @@ struct MineHomePage { | @@ -33,15 +53,28 @@ struct MineHomePage { | ||
| 33 | Column() { | 53 | Column() { |
| 34 | //用户信息区域 | 54 | //用户信息区域 |
| 35 | Row() { | 55 | Row() { |
| 36 | - Image($r('app.media.default_head')) | ||
| 37 | - .width('115lpx') | ||
| 38 | - .height('115lpx') | ||
| 39 | - .objectFit(ImageFit.Cover) | ||
| 40 | - .borderRadius(50) | 56 | + Stack(){ |
| 57 | + Image(this.headPhotoUrl) | ||
| 58 | + .alt($r('app.media.default_head')) | ||
| 59 | + .width('115lpx') | ||
| 60 | + .height('115lpx') | ||
| 61 | + .objectFit(ImageFit.Cover) | ||
| 62 | + .borderRadius(50) | ||
| 63 | + Image(this.levelHead) | ||
| 64 | + .width('130lpx') | ||
| 65 | + .height('130lpx') | ||
| 66 | + .objectFit(ImageFit.Cover) | ||
| 67 | + .borderRadius(50) | ||
| 68 | + }.onClick(()=>{ | ||
| 69 | + let params: Params = { | ||
| 70 | + pageID: "-1" | ||
| 71 | + } | ||
| 72 | + WDRouterRule.jumpWithPage(WDRouterPage.otherNormalUserHomePagePage,params) | ||
| 73 | + }) | ||
| 41 | 74 | ||
| 42 | Column() { | 75 | Column() { |
| 43 | Row() { | 76 | Row() { |
| 44 | - Text("人民日报6G") | 77 | + Text(`${this.userName}`) |
| 45 | .fontColor($r('app.color.white')) | 78 | .fontColor($r('app.color.white')) |
| 46 | .maxLines(1) | 79 | .maxLines(1) |
| 47 | .textOverflow({ overflow: TextOverflow.Ellipsis }) | 80 | .textOverflow({ overflow: TextOverflow.Ellipsis }) |
| @@ -49,7 +82,7 @@ struct MineHomePage { | @@ -49,7 +82,7 @@ struct MineHomePage { | ||
| 49 | .lineHeight('50lpx') | 82 | .lineHeight('50lpx') |
| 50 | .fontWeight('500lpx') | 83 | .fontWeight('500lpx') |
| 51 | 84 | ||
| 52 | - Text("等级8") | 85 | + Text(`等级${this.levelId}`) |
| 53 | .textAlign(TextAlign.Center) | 86 | .textAlign(TextAlign.Center) |
| 54 | .fontColor($r('app.color.color_ED2800')) | 87 | .fontColor($r('app.color.color_ED2800')) |
| 55 | .backgroundColor($r('app.color.white')) | 88 | .backgroundColor($r('app.color.white')) |
| @@ -62,7 +95,7 @@ struct MineHomePage { | @@ -62,7 +95,7 @@ struct MineHomePage { | ||
| 62 | 95 | ||
| 63 | Row() { | 96 | Row() { |
| 64 | Row() { | 97 | Row() { |
| 65 | - Text("3.6万") | 98 | + Text(`${this.browseNum}`) |
| 66 | .textStyle() | 99 | .textStyle() |
| 67 | Text("阅读") | 100 | Text("阅读") |
| 68 | .textStyle2() | 101 | .textStyle2() |
| @@ -76,7 +109,7 @@ struct MineHomePage { | @@ -76,7 +109,7 @@ struct MineHomePage { | ||
| 76 | .vertical(true) | 109 | .vertical(true) |
| 77 | .opacity(0.4) | 110 | .opacity(0.4) |
| 78 | Row() { | 111 | Row() { |
| 79 | - Text("6242") | 112 | + Text(`${this.commentNum}`) |
| 80 | .textStyle() | 113 | .textStyle() |
| 81 | Text("评论") | 114 | Text("评论") |
| 82 | .textStyle2() | 115 | .textStyle2() |
| @@ -89,7 +122,7 @@ struct MineHomePage { | @@ -89,7 +122,7 @@ struct MineHomePage { | ||
| 89 | .vertical(true) | 122 | .vertical(true) |
| 90 | .opacity(0.4) | 123 | .opacity(0.4) |
| 91 | Row() { | 124 | Row() { |
| 92 | - Text("86") | 125 | + Text(`${this.attentionNum}`) |
| 93 | .textStyle() | 126 | .textStyle() |
| 94 | Text("关注") | 127 | Text("关注") |
| 95 | .textStyle2() | 128 | .textStyle2() |
| @@ -132,7 +165,7 @@ struct MineHomePage { | @@ -132,7 +165,7 @@ struct MineHomePage { | ||
| 132 | .objectFit(ImageFit.Auto) | 165 | .objectFit(ImageFit.Auto) |
| 133 | } | 166 | } |
| 134 | } | 167 | } |
| 135 | - Text("来到人民日报365天") | 168 | + Text(`来到人民日报${this.registerTimeForDay}天`) |
| 136 | .fontSize('23lpx') | 169 | .fontSize('23lpx') |
| 137 | .lineHeight('25lpx') | 170 | .lineHeight('25lpx') |
| 138 | .fontWeight('400lpx') | 171 | .fontWeight('400lpx') |
| @@ -233,11 +266,13 @@ struct MineHomePage { | @@ -233,11 +266,13 @@ struct MineHomePage { | ||
| 233 | .onClick(() => { | 266 | .onClick(() => { |
| 234 | router.back() | 267 | router.back() |
| 235 | }) | 268 | }) |
| 236 | - Image($r('app.media.default_head')) | 269 | + Image(`${this.headPhotoUrl}`) |
| 270 | + .alt($r('app.media.default_head')) | ||
| 237 | .width('60lpx') | 271 | .width('60lpx') |
| 238 | .height('60lpx') | 272 | .height('60lpx') |
| 239 | .objectFit(ImageFit.Auto) | 273 | .objectFit(ImageFit.Auto) |
| 240 | .id("head_icon") | 274 | .id("head_icon") |
| 275 | + .borderRadius(50) | ||
| 241 | .alignRules({ | 276 | .alignRules({ |
| 242 | center: { anchor: "__container__", align: VerticalAlign.Center }, | 277 | center: { anchor: "__container__", align: VerticalAlign.Center }, |
| 243 | left: { anchor: "back_icon", align: HorizontalAlign.End } | 278 | left: { anchor: "back_icon", align: HorizontalAlign.End } |
| @@ -247,7 +282,7 @@ struct MineHomePage { | @@ -247,7 +282,7 @@ struct MineHomePage { | ||
| 247 | router.back() | 282 | router.back() |
| 248 | }) | 283 | }) |
| 249 | 284 | ||
| 250 | - Text("我的昵称") | 285 | + Text(`${this.userName}`) |
| 251 | .height('42lpx') | 286 | .height('42lpx') |
| 252 | .maxLines(1) | 287 | .maxLines(1) |
| 253 | .id("title") | 288 | .id("title") |
| @@ -326,6 +361,41 @@ struct MineHomePage { | @@ -326,6 +361,41 @@ struct MineHomePage { | ||
| 326 | WDRouterRule.jumpWithPage(WDRouterPage.editUserInfoPage) | 361 | WDRouterRule.jumpWithPage(WDRouterPage.editUserInfoPage) |
| 327 | } | 362 | } |
| 328 | } | 363 | } |
| 364 | + getUserInfo(){ | ||
| 365 | + MinePageDatasModel.getUserDetailData(getContext(this)).then((value)=>{ | ||
| 366 | + if(value!=null){ | ||
| 367 | + this.userName = value.userName | ||
| 368 | + this.headPhotoUrl = value.headPhotoUrl | ||
| 369 | + if(StringUtils.isNotEmpty(value.introduction)){ | ||
| 370 | + this.desc = value.introduction | ||
| 371 | + this.isHasIntroduction = true | ||
| 372 | + } | ||
| 373 | + this.browseNum = value.browseNum | ||
| 374 | + this.commentNum = value.commentNum | ||
| 375 | + this.attentionNum = value.attentionNum | ||
| 376 | + this.registTime = value.registTime | ||
| 377 | + this.getRegisterDays() | ||
| 378 | + } | ||
| 379 | + }).catch((err:Error)=>{ | ||
| 380 | + console.log(TAG,JSON.stringify(err)) | ||
| 381 | + }) | ||
| 382 | + } | ||
| 383 | + getUserLevel(){ | ||
| 384 | + MinePageDatasModel.getUserLevelData(getContext(this)).then((value)=>{ | ||
| 385 | + if(value!=null){ | ||
| 386 | + this.levelHead = value.levelHead | ||
| 387 | + this.levelId = value.levelId | ||
| 388 | + } | ||
| 389 | + }).catch((err:Error)=>{ | ||
| 390 | + console.log(TAG,JSON.stringify(err)) | ||
| 391 | + }) | ||
| 392 | + } | ||
| 393 | + getRegisterDays(){ | ||
| 394 | + if(this.registTime!=null){ | ||
| 395 | + let curDate = new Date() | ||
| 396 | + this.registerTimeForDay = Math.ceil((curDate.getTime()-this.registTime)/(1000*60*60*24)) | ||
| 397 | + } | ||
| 398 | + } | ||
| 329 | 399 | ||
| 330 | } | 400 | } |
| 331 | 401 |
| 1 | +import router from '@ohos.router' | ||
| 2 | +import { Params } from 'wdBean'; | ||
| 3 | +import { StringUtils } from 'wdKit'; | ||
| 4 | +import { HomePageBottomComponent } from '../components/mine/home/HomePageBottomComponent'; | ||
| 5 | +import MinePageDatasModel from '../model/MinePageDatasModel'; | ||
| 6 | +import { OtherUserDetailRequestItem } from '../viewmodel/OtherUserDetailRequestItem'; | ||
| 7 | + | ||
| 8 | +const TAG = "OtherNormalUserHomePage" | ||
| 9 | + | ||
| 10 | +@Entry | ||
| 11 | +@Component | ||
| 12 | +struct OtherNormalUserHomePage { | ||
| 13 | + @State params:Params = router.getParams() as Params; | ||
| 14 | + @State curUserId: string = '-1'; | ||
| 15 | + | ||
| 16 | + onPageShow() { | ||
| 17 | + this.curUserId = this.params?.pageID; | ||
| 18 | + } | ||
| 19 | + | ||
| 20 | + @State tileOpacity: number = 0; | ||
| 21 | + firstPositionY:number = 0; | ||
| 22 | + fontColor: string = '#999999' | ||
| 23 | + selectedFontColor: string = '#000000' | ||
| 24 | + @State currentIndex: number = 0 | ||
| 25 | + private controller: TabsController = new TabsController() | ||
| 26 | + isChangeToUserEdit = false; | ||
| 27 | + @State userName:string = "" | ||
| 28 | + @State headPhotoUrl:string = "" | ||
| 29 | + @State levelHead:string = "" | ||
| 30 | + @State levelId:number = 0 | ||
| 31 | + @State browseNum:number = 0//阅读数 | ||
| 32 | + @State commentNum:number = 0//评论数 | ||
| 33 | + @State attentionNum:number = 0//关注数 | ||
| 34 | + | ||
| 35 | + aboutToAppear(){ | ||
| 36 | + this.getUserInfo() | ||
| 37 | + this.getUserLevel() | ||
| 38 | + } | ||
| 39 | + | ||
| 40 | + | ||
| 41 | + | ||
| 42 | + build() { | ||
| 43 | + Stack({ alignContent: Alignment.Top }){ | ||
| 44 | + Image($r('app.media.title_bg')) | ||
| 45 | + .width('100%') | ||
| 46 | + .height('355lpx') | ||
| 47 | + .objectFit(ImageFit.Cover) | ||
| 48 | + | ||
| 49 | + Column(){ | ||
| 50 | + Stack({ alignContent: Alignment.Top }){ | ||
| 51 | + this.MineHomeTitleTransparent() | ||
| 52 | + this.MineHomeTitleWhite() | ||
| 53 | + } | ||
| 54 | + | ||
| 55 | + Scroll() { | ||
| 56 | + Column() { | ||
| 57 | + //用户信息区域 | ||
| 58 | + Row() { | ||
| 59 | + Stack(){ | ||
| 60 | + Image(this.headPhotoUrl) | ||
| 61 | + .alt($r('app.media.default_head')) | ||
| 62 | + .width('115lpx') | ||
| 63 | + .height('115lpx') | ||
| 64 | + .objectFit(ImageFit.Cover) | ||
| 65 | + .borderRadius(50) | ||
| 66 | + Image(this.levelHead) | ||
| 67 | + .width('130lpx') | ||
| 68 | + .height('130lpx') | ||
| 69 | + .objectFit(ImageFit.Cover) | ||
| 70 | + .borderRadius(50) | ||
| 71 | + } | ||
| 72 | + | ||
| 73 | + Column() { | ||
| 74 | + Row() { | ||
| 75 | + Text(`${this.userName}`) | ||
| 76 | + .fontColor($r('app.color.white')) | ||
| 77 | + .maxLines(1) | ||
| 78 | + .textOverflow({ overflow: TextOverflow.Ellipsis }) | ||
| 79 | + .fontSize('38lpx') | ||
| 80 | + .lineHeight('50lpx') | ||
| 81 | + .fontWeight('500lpx') | ||
| 82 | + | ||
| 83 | + Text(`等级${this.levelId}`) | ||
| 84 | + .textAlign(TextAlign.Center) | ||
| 85 | + .fontColor($r('app.color.color_ED2800')) | ||
| 86 | + .backgroundColor($r('app.color.white')) | ||
| 87 | + .fontSize('19lpx') | ||
| 88 | + .width('96lpx') | ||
| 89 | + .height('35lpx') | ||
| 90 | + .margin({ left: '10lpx' }) | ||
| 91 | + Blank() | ||
| 92 | + }.width('507lpx') | ||
| 93 | + | ||
| 94 | + Row() { | ||
| 95 | + Row() { | ||
| 96 | + Text(`${this.browseNum}`) | ||
| 97 | + .textStyle() | ||
| 98 | + Text("阅读") | ||
| 99 | + .textStyle2() | ||
| 100 | + } | ||
| 101 | + .margin({ right: '15lpx' }) | ||
| 102 | + | ||
| 103 | + Divider() | ||
| 104 | + .height('19lpx') | ||
| 105 | + .width('2lpx') | ||
| 106 | + .color($r('app.color.white')) | ||
| 107 | + .vertical(true) | ||
| 108 | + .opacity(0.4) | ||
| 109 | + Row() { | ||
| 110 | + Text(`${this.commentNum}`) | ||
| 111 | + .textStyle() | ||
| 112 | + Text("评论") | ||
| 113 | + .textStyle2() | ||
| 114 | + }.margin({ right: '15lpx', left: '15lpx' }) | ||
| 115 | + | ||
| 116 | + Divider() | ||
| 117 | + .height('19lpx') | ||
| 118 | + .width('2lpx') | ||
| 119 | + .color($r('app.color.white')) | ||
| 120 | + .vertical(true) | ||
| 121 | + .opacity(0.4) | ||
| 122 | + Row() { | ||
| 123 | + Text(`${this.attentionNum}`) | ||
| 124 | + .textStyle() | ||
| 125 | + Text("关注") | ||
| 126 | + .textStyle2() | ||
| 127 | + }.margin({ left: '15lpx' }) | ||
| 128 | + }.margin({ top: '23lpx' }) | ||
| 129 | + }.alignItems(HorizontalAlign.Start) | ||
| 130 | + .margin({ left: '32lpx' }) | ||
| 131 | + } | ||
| 132 | + .onAreaChange((oldValue: Area, newValue: Area) => { | ||
| 133 | + if (this.firstPositionY === 0) { | ||
| 134 | + this.firstPositionY = newValue.globalPosition.y as number | ||
| 135 | + }else{ | ||
| 136 | + let persent = (this.firstPositionY - Number(newValue.globalPosition.y)) / (this.firstPositionY * 0.3) | ||
| 137 | + if(persent > 1){ | ||
| 138 | + persent = 1 | ||
| 139 | + } | ||
| 140 | + this.tileOpacity = persent | ||
| 141 | + } | ||
| 142 | + }) | ||
| 143 | + .backgroundColor($r('app.color.color_transparent')) | ||
| 144 | + .height('184lpx') | ||
| 145 | + .width('100%') | ||
| 146 | + .padding({ left: '35lpx' }) | ||
| 147 | + | ||
| 148 | + //间隔符 | ||
| 149 | + | ||
| 150 | + Divider().width('100%').height('12lpx').color($r('app.color.color_F5F5F5')).strokeWidth('12lpx') | ||
| 151 | + | ||
| 152 | + //tab 页面 | ||
| 153 | + Tabs({controller: this.controller}) { | ||
| 154 | + TabContent() { | ||
| 155 | + HomePageBottomComponent({style:0}) | ||
| 156 | + }.tabBar(this.TabBuilder(0,"评论")) | ||
| 157 | + TabContent() { | ||
| 158 | + HomePageBottomComponent({style:1}) | ||
| 159 | + }.tabBar(this.TabBuilder(1,"关注")) | ||
| 160 | + } | ||
| 161 | + .backgroundColor($r('app.color.white')) | ||
| 162 | + .animationDuration(0) | ||
| 163 | + .onChange((index: number) => { | ||
| 164 | + this.currentIndex = index | ||
| 165 | + }) | ||
| 166 | + .vertical(false) | ||
| 167 | + .height("100%") | ||
| 168 | + }.width("100%") | ||
| 169 | + } | ||
| 170 | + .edgeEffect(EdgeEffect.None) | ||
| 171 | + .scrollBar(BarState.Off) | ||
| 172 | + .width('100%') | ||
| 173 | + .height('100%') | ||
| 174 | + } | ||
| 175 | + }.width('100%') | ||
| 176 | + .height('100%') | ||
| 177 | + | ||
| 178 | + } | ||
| 179 | + @Builder MineHomeTitleTransparent() { | ||
| 180 | + RelativeContainer() { | ||
| 181 | + //标题栏目 | ||
| 182 | + Image($r('app.media.icon_arrow_left_white') ) | ||
| 183 | + .width('46lpx') | ||
| 184 | + .height('46lpx') | ||
| 185 | + .objectFit(ImageFit.Auto) | ||
| 186 | + .id("back_icon") | ||
| 187 | + .alignRules({ | ||
| 188 | + center: { anchor: "__container__", align: VerticalAlign.Center }, | ||
| 189 | + left: { anchor: "__container__", align: HorizontalAlign.Start } | ||
| 190 | + }) | ||
| 191 | + .margin({ left: '31lpx' }) | ||
| 192 | + .onClick(() => { | ||
| 193 | + router.back() | ||
| 194 | + }) | ||
| 195 | + } | ||
| 196 | + .visibility(this.tileOpacity > 0 ? 1 : 0) | ||
| 197 | + .height('84lpx') | ||
| 198 | + .width('100%') | ||
| 199 | + .backgroundColor($r('app.color.color_transparent')) | ||
| 200 | + } | ||
| 201 | + | ||
| 202 | + @Builder MineHomeTitleWhite() { | ||
| 203 | + RelativeContainer() { | ||
| 204 | + //标题栏目 | ||
| 205 | + Image($r('app.media.back_icon')) | ||
| 206 | + .width('46lpx') | ||
| 207 | + .height('46lpx') | ||
| 208 | + .objectFit(ImageFit.Auto) | ||
| 209 | + .id("back_icon") | ||
| 210 | + .alignRules({ | ||
| 211 | + center: { anchor: "__container__", align: VerticalAlign.Center }, | ||
| 212 | + left: { anchor: "__container__", align: HorizontalAlign.Start } | ||
| 213 | + }) | ||
| 214 | + .margin({ left: '31lpx' }) | ||
| 215 | + .onClick(() => { | ||
| 216 | + router.back() | ||
| 217 | + }) | ||
| 218 | + Image(this.headPhotoUrl) | ||
| 219 | + .alt($r('app.media.default_head')) | ||
| 220 | + .width('60lpx') | ||
| 221 | + .height('60lpx') | ||
| 222 | + .borderRadius(50) | ||
| 223 | + .objectFit(ImageFit.Auto) | ||
| 224 | + .id("head_icon") | ||
| 225 | + .alignRules({ | ||
| 226 | + center: { anchor: "__container__", align: VerticalAlign.Center }, | ||
| 227 | + left: { anchor: "back_icon", align: HorizontalAlign.End } | ||
| 228 | + }) | ||
| 229 | + .margin({ left: '31lpx' }) | ||
| 230 | + .onClick(() => { | ||
| 231 | + router.back() | ||
| 232 | + }) | ||
| 233 | + | ||
| 234 | + Text(`${this.userName}`) | ||
| 235 | + .height('42lpx') | ||
| 236 | + .maxLines(1) | ||
| 237 | + .id("title") | ||
| 238 | + .fontSize('35lpx') | ||
| 239 | + .fontWeight('400lpx') | ||
| 240 | + .fontColor($r('app.color.color_222222')) | ||
| 241 | + .lineHeight('42lpx') | ||
| 242 | + .alignRules({ | ||
| 243 | + center: { anchor: "__container__", align: VerticalAlign.Center }, | ||
| 244 | + left: { anchor: "head_icon", align: HorizontalAlign.End } | ||
| 245 | + }) | ||
| 246 | + .margin({ left: '12lpx' }) | ||
| 247 | + } | ||
| 248 | + .visibility(this.tileOpacity > 0 ? 0 : 1) | ||
| 249 | + .height('84lpx') | ||
| 250 | + .width('100%') | ||
| 251 | + .backgroundColor($r('app.color.white')) | ||
| 252 | + .opacity(this.tileOpacity ) | ||
| 253 | + | ||
| 254 | + } | ||
| 255 | + | ||
| 256 | + @Builder TabBuilder(index: number, title: string) { | ||
| 257 | + Stack(){ | ||
| 258 | + Text(title) | ||
| 259 | + .height('38lpx') | ||
| 260 | + .fontSize('33lpx') | ||
| 261 | + .fontWeight(this.currentIndex === index ? 600 : 400) | ||
| 262 | + .fontColor(this.currentIndex === index ? this.selectedFontColor : this.fontColor) | ||
| 263 | + .lineHeight('38lpx') | ||
| 264 | + | ||
| 265 | + if(this.currentIndex === index){ | ||
| 266 | + Divider() | ||
| 267 | + .width('31lpx') | ||
| 268 | + .height('4lpx') | ||
| 269 | + .color('#ED2800') | ||
| 270 | + .strokeWidth('4lpx') | ||
| 271 | + .margin({top:'50lpx'}) | ||
| 272 | + .id("divTag") | ||
| 273 | + } | ||
| 274 | + }.onClick(()=>{ | ||
| 275 | + this.currentIndex = index | ||
| 276 | + this.controller.changeIndex(this.currentIndex) | ||
| 277 | + }) | ||
| 278 | + .height('100%') | ||
| 279 | + .width('100%') | ||
| 280 | + .margin({right:'9lpx'}) | ||
| 281 | + } | ||
| 282 | + | ||
| 283 | + | ||
| 284 | + getUserInfo(){ | ||
| 285 | + let item = new OtherUserDetailRequestItem("","1",this.curUserId) | ||
| 286 | + MinePageDatasModel.getOtherUserDetailData(item,getContext(this)).then((value)=>{ | ||
| 287 | + if(value!=null){ | ||
| 288 | + this.userName = value.userName | ||
| 289 | + this.headPhotoUrl = value.headPhotoUrl | ||
| 290 | + | ||
| 291 | + this.browseNum = StringUtils.isEmpty(value.browseNum)?0:value.browseNum | ||
| 292 | + this.commentNum = StringUtils.isEmpty(value.commentNum)?0:value.commentNum | ||
| 293 | + this.attentionNum = StringUtils.isEmpty(value.attentionNum)?0:value.attentionNum | ||
| 294 | + } | ||
| 295 | + }).catch((err:Error)=>{ | ||
| 296 | + console.log(TAG,JSON.stringify(err)) | ||
| 297 | + }) | ||
| 298 | + } | ||
| 299 | + getUserLevel(){ | ||
| 300 | + MinePageDatasModel.getOtherUserLevelData([this.curUserId],getContext(this)).then((value)=>{ | ||
| 301 | + if(value!=null){ | ||
| 302 | + this.levelHead = value[0].levelHead | ||
| 303 | + this.levelId = value[0].level | ||
| 304 | + } | ||
| 305 | + }).catch((err:Error)=>{ | ||
| 306 | + console.log(TAG,JSON.stringify(err)) | ||
| 307 | + }) | ||
| 308 | + } | ||
| 309 | + | ||
| 310 | +} | ||
| 311 | + | ||
| 312 | +@Extend(Text) function textStyle() { | ||
| 313 | + .fontColor($r('app.color.white')) | ||
| 314 | + .textStyleDefault() | ||
| 315 | + .margin({ right: '10lpx' }) | ||
| 316 | +} | ||
| 317 | + | ||
| 318 | +@Extend(Text) function textStyle2() { | ||
| 319 | + .textStyleDefault() | ||
| 320 | + .fontColor($r('app.color.color_B2FFFFFF')) | ||
| 321 | +} | ||
| 322 | + | ||
| 323 | +@Extend(Text) function textStyleDefault() { | ||
| 324 | + .textAlign(TextAlign.Start) | ||
| 325 | + .fontSize('23lpx') | ||
| 326 | + .fontWeight('400lpx') | ||
| 327 | + .lineHeight('31lpx') | ||
| 328 | +} | ||
| 329 | + |
| 1 | 1 | ||
| 2 | -import { EditInfoModel, EditListInfo } from '../model/EditInfoModel'; | 2 | +import { EditInfoModel, EditListInfo, editModel } from '../model/EditInfoModel'; |
| 3 | import HashMap from '@ohos.util.HashMap'; | 3 | import HashMap from '@ohos.util.HashMap'; |
| 4 | import { HttpUrlUtils, ResponseDTO, WDHttp } from 'wdNetwork'; | 4 | import { HttpUrlUtils, ResponseDTO, WDHttp } from 'wdNetwork'; |
| 5 | +import { Logger, ResourcesUtils } from 'wdKit'; | ||
| 5 | 6 | ||
| 7 | +const TAG = "EditInfoViewModel" | ||
| 6 | 8 | ||
| 7 | class EditInfoViewModel { | 9 | class EditInfoViewModel { |
| 8 | private static instance: EditInfoViewModel; | 10 | private static instance: EditInfoViewModel; |
| @@ -20,30 +22,48 @@ class EditInfoViewModel { | @@ -20,30 +22,48 @@ class EditInfoViewModel { | ||
| 20 | 22 | ||
| 21 | BaseGetRequest(requestUrl:string){ | 23 | BaseGetRequest(requestUrl:string){ |
| 22 | let headers: HashMap<string, string> = HttpUrlUtils.getCommonHeaders() | 24 | let headers: HashMap<string, string> = HttpUrlUtils.getCommonHeaders() |
| 25 | + requestUrl = HttpUrlUtils.HOST_SIT + requestUrl | ||
| 23 | return WDHttp.get<ResponseDTO>(requestUrl,headers) | 26 | return WDHttp.get<ResponseDTO>(requestUrl,headers) |
| 24 | } | 27 | } |
| 25 | 28 | ||
| 26 | 29 | ||
| 27 | - getEditListInfo(item:EditInfoModel):EditListInfo[]{ | 30 | + getEditListInfo(item:editModel):EditListInfo[]{ |
| 28 | this.editListData = [ | 31 | this.editListData = [ |
| 29 | new EditListInfo('昵称',item&&item.userName?item.userName:'待完善'), | 32 | new EditListInfo('昵称',item&&item.userName?item.userName:'待完善'), |
| 30 | - new EditListInfo('简介',item&&item.introduction?item.introduction:'待完善'), | ||
| 31 | - new EditListInfo('地区',item&&item.city?item.city:'待完善'), | ||
| 32 | - new EditListInfo('生日',item&&item.birthday?item.birthday:'待完善'), | ||
| 33 | - new EditListInfo('性别',item&&item.sex?item.sex:'待完善'),] | 33 | + new EditListInfo('简介',item&&item.userExtend.introduction?item.userExtend.introduction:'待完善'), |
| 34 | + new EditListInfo('地区',item&&item.userExtend.city?item.userExtend.city:'待完善'), | ||
| 35 | + new EditListInfo('生日',item&&item.userExtend.birthday?item.userExtend.birthday:'待完善'), | ||
| 36 | + new EditListInfo('性别',item&&item.userExtend.sex?item.userExtend.sex:'待完善'),] | ||
| 34 | return this.editListData | 37 | return this.editListData |
| 35 | } | 38 | } |
| 36 | 39 | ||
| 37 | - queryAccountOwnerInfo(userType:number):PromiseLike<EditInfoModel>{ | 40 | + ///1普通用户 |
| 41 | + queryAccountOwnerInfo(userType:number, context: Context):PromiseLike<editModel>{ | ||
| 38 | return new Promise(((success, error) => { | 42 | return new Promise(((success, error) => { |
| 39 | - this.BaseGetRequest(HttpUrlUtils.APPOINTMENT_AccountOwner_PATH).then(navResDTO =>{ | 43 | + this.BaseGetRequest(userType == 1?HttpUrlUtils.APPOINTMENT_QueryUserDetail_PATH:HttpUrlUtils.APPOINTMENT_AccountOwner_PATH).then((navResDTO:ResponseDTO) =>{ |
| 40 | if (navResDTO.code == 200) { | 44 | if (navResDTO.code == 200) { |
| 41 | - // success(JSON.parse(navResDTO.data)) | 45 | + // let editM = navResDTO.data as EditInfoModel |
| 46 | + // success(JSON.parse(navResDTO.data) | ||
| 42 | } | 47 | } |
| 43 | - }).catch() | 48 | + }).catch((error: Error) => { |
| 49 | + Logger.info('EditInfoViewModel','EditInfoViewModel','EditInfoViewModel') | ||
| 50 | + return this.GetqueryAccountOwnerLocal(context) | ||
| 51 | + | ||
| 52 | + }) | ||
| 44 | })) | 53 | })) |
| 45 | } | 54 | } |
| 46 | 55 | ||
| 56 | + async GetqueryAccountOwnerLocal(context: Context): Promise<editModel> { | ||
| 57 | + Logger.info(TAG, `getBottomNavDataMock start`); | ||
| 58 | + let compRes: ResponseDTO<editModel> | null = await ResourcesUtils.getResourcesJson<ResponseDTO<editModel>>(context,'userInfo.json'); | ||
| 59 | + if (!compRes || !compRes.data) { | ||
| 60 | + Logger.info(TAG, `getAppointmentListDataLocal compRes is empty`); | ||
| 61 | + return {} as editModel | ||
| 62 | + } | ||
| 63 | + Logger.info(TAG, `getAppointmentListDataLocal getResourcesJsonSync compRes : ${JSON.stringify(compRes)}`); | ||
| 64 | + return compRes.data | ||
| 65 | + } | ||
| 66 | + | ||
| 47 | updateUserInfo(){ | 67 | updateUserInfo(){ |
| 48 | 68 | ||
| 49 | } | 69 | } |
| 1 | + | ||
| 2 | +export class MineUserDetailItem{ | ||
| 3 | + userName:string = "" | ||
| 4 | + headPhotoUrl:"" = "" | ||
| 5 | + introduction:string = "" | ||
| 6 | + userType:string = "1" | ||
| 7 | + creatorId:string = "" | ||
| 8 | + browseNum:number = 0//阅读数 | ||
| 9 | + commentNum:number = 0//评论数 | ||
| 10 | + attentionNum:number = 0//关注数 | ||
| 11 | + registTime:number = 0//账号注册时间 | ||
| 12 | +} |
| 1 | +export class OtherUserDetailRequestItem { | ||
| 2 | + creatorId: string = "" | ||
| 3 | + userType: string = "1" | ||
| 4 | + userId: string = "-1" | ||
| 5 | + | ||
| 6 | + constructor(creatorId: string , | ||
| 7 | + userType: string, | ||
| 8 | + userId: string ) { | ||
| 9 | + this.creatorId = creatorId | ||
| 10 | + this.userType = userType | ||
| 11 | + this.userId = userId | ||
| 12 | + } | ||
| 13 | + | ||
| 14 | +} |
| @@ -11,6 +11,7 @@ | @@ -11,6 +11,7 @@ | ||
| 11 | "components/page/EditUserNikeNamePage", | 11 | "components/page/EditUserNikeNamePage", |
| 12 | "components/page/EditUserIntroductionPage", | 12 | "components/page/EditUserIntroductionPage", |
| 13 | "components/page/BrowsingHistoryPage", | 13 | "components/page/BrowsingHistoryPage", |
| 14 | - "components/page/MyCollectionListPage" | 14 | + "components/page/MyCollectionListPage", |
| 15 | + "pages/OtherNormalUserHomePage" | ||
| 15 | ] | 16 | ] |
| 16 | } | 17 | } |
| 1 | import router from '@ohos.router'; | 1 | import router from '@ohos.router'; |
| 2 | import mediaquery from '@ohos.mediaquery'; | 2 | import mediaquery from '@ohos.mediaquery'; |
| 3 | import window from '@ohos.window'; | 3 | import window from '@ohos.window'; |
| 4 | -import { Action } from 'wdBean'; | 4 | +import { Action, RmhInfoDTO, UserInfoDTO } from 'wdBean'; |
| 5 | import { Logger, SPHelper, WindowModel } from 'wdKit'; | 5 | import { Logger, SPHelper, WindowModel } from 'wdKit'; |
| 6 | import { PlayerConstants, WDPlayerController, WDPlayerRenderView } from 'wdPlayer'; | 6 | import { PlayerConstants, WDPlayerController, WDPlayerRenderView } from 'wdPlayer'; |
| 7 | import { devicePLSensorManager } from 'wdDetailPlayApi'; | 7 | import { devicePLSensorManager } from 'wdDetailPlayApi'; |
| @@ -30,27 +30,34 @@ export struct DetailPlayShortVideoPage { | @@ -30,27 +30,34 @@ export struct DetailPlayShortVideoPage { | ||
| 30 | @Provide canStart?: boolean = false; | 30 | @Provide canStart?: boolean = false; |
| 31 | @Provide status: number = PlayerConstants.STATUS_START; | 31 | @Provide status: number = PlayerConstants.STATUS_START; |
| 32 | @Provide userId: string = ''; | 32 | @Provide userId: string = ''; |
| 33 | - @Provide newsSourceName?: string = undefined | ||
| 34 | - @Provide title?: string = undefined | ||
| 35 | - @Provide message?: string = undefined | ||
| 36 | - @Provide newsSummary?: string = undefined | 33 | + @Provide newsSourceName?: string = '' |
| 34 | + @Provide newsTitle?: string = '' | ||
| 35 | + @Provide editorName?: string = '' | ||
| 36 | + @Provide rmhInfo?: RmhInfoDTO = undefined | ||
| 37 | + @Provide userInfo?: UserInfoDTO = undefined | ||
| 38 | + @Provide message?: string = '' | ||
| 39 | + @Provide newsSummary?: string = '' | ||
| 37 | @Provide progressVal: number = 0; | 40 | @Provide progressVal: number = 0; |
| 38 | @Provide videoLandScape?: number = 1; // 视频朝向, 横屏视频:1;竖屏视频:2 | 41 | @Provide videoLandScape?: number = 1; // 视频朝向, 横屏视频:1;竖屏视频:2 |
| 39 | 42 | ||
| 40 | playVMChanged(name: string) { | 43 | playVMChanged(name: string) { |
| 41 | this.url = this.playVM.url | 44 | this.url = this.playVM.url |
| 42 | this.newsSourceName = this.playVM.newsSourceName | 45 | this.newsSourceName = this.playVM.newsSourceName |
| 43 | - this.title = this.playVM.title | 46 | + this.newsTitle = this.playVM.newsTitle |
| 47 | + this.editorName = this.playVM.editorName | ||
| 44 | this.newsSummary = this.playVM.newsSummary | 48 | this.newsSummary = this.playVM.newsSummary |
| 45 | this.videoLandScape = this.playVM.videoLandScape ?? 1 | 49 | this.videoLandScape = this.playVM.videoLandScape ?? 1 |
| 46 | this.curContId = this.playVM.contentId | 50 | this.curContId = this.playVM.contentId |
| 47 | this.nextContId = this.playVM.nextContId | 51 | this.nextContId = this.playVM.nextContId |
| 48 | this.canStart = this.playVM.canStart; | 52 | this.canStart = this.playVM.canStart; |
| 49 | this.message = this.playVM.message | 53 | this.message = this.playVM.message |
| 54 | + this.rmhInfo = this.playVM.rmhInfo | ||
| 55 | + this.userInfo = this.playVM.userInfo | ||
| 50 | } | 56 | } |
| 51 | 57 | ||
| 52 | aboutToAppear() { | 58 | aboutToAppear() { |
| 53 | let action: Action = router.getParams() as Action | 59 | let action: Action = router.getParams() as Action |
| 60 | + Logger.info(TAG, "action", JSON.stringify(action)) | ||
| 54 | if (action) { | 61 | if (action) { |
| 55 | this.contentId = action.params?.contentID | 62 | this.contentId = action.params?.contentID |
| 56 | if (action.params && action.params.extra) { | 63 | if (action.params && action.params.extra) { |
| @@ -86,11 +93,12 @@ export struct DetailPlayShortVideoPage { | @@ -86,11 +93,12 @@ export struct DetailPlayShortVideoPage { | ||
| 86 | } | 93 | } |
| 87 | 94 | ||
| 88 | @Builder | 95 | @Builder |
| 89 | - playerViewContainer() { | 96 | + playerViewContainerBuilder() { |
| 90 | // 播放窗口 | 97 | // 播放窗口 |
| 91 | WDPlayerRenderView({ | 98 | WDPlayerRenderView({ |
| 92 | playerController: this.playerController, | 99 | playerController: this.playerController, |
| 93 | onLoad: async () => { | 100 | onLoad: async () => { |
| 101 | + console.log('onload==') | ||
| 94 | // this.playVM.playWithContentId(this.contentId ?? "846899373") | 102 | // this.playVM.playWithContentId(this.contentId ?? "846899373") |
| 95 | this.playVM.playWithIds(this.contentId ?? "846899373", | 103 | this.playVM.playWithIds(this.contentId ?? "846899373", |
| 96 | this.relId ?? "500000301942", this.relType ?? "1") | 104 | this.relId ?? "500000301942", this.relType ?? "1") |
| @@ -101,7 +109,7 @@ export struct DetailPlayShortVideoPage { | @@ -101,7 +109,7 @@ export struct DetailPlayShortVideoPage { | ||
| 101 | } | 109 | } |
| 102 | 110 | ||
| 103 | @Builder | 111 | @Builder |
| 104 | - playControlViewContainer() { | 112 | + playControlViewContainerBuilder() { |
| 105 | // 播放窗口控制bar | 113 | // 播放窗口控制bar |
| 106 | PlayControlViewContainer({ | 114 | PlayControlViewContainer({ |
| 107 | playerController: this.playerController | 115 | playerController: this.playerController |
| @@ -109,7 +117,7 @@ export struct DetailPlayShortVideoPage { | @@ -109,7 +117,7 @@ export struct DetailPlayShortVideoPage { | ||
| 109 | } | 117 | } |
| 110 | 118 | ||
| 111 | @Builder | 119 | @Builder |
| 112 | - detailContainer() { | 120 | + detailContainerBuilder() { |
| 113 | // DetailTabBarPageComponent({ pageId: this.pageId }).backgroundColor(Color.Black) | 121 | // DetailTabBarPageComponent({ pageId: this.pageId }).backgroundColor(Color.Black) |
| 114 | DetailContainer({ | 122 | DetailContainer({ |
| 115 | playerController: this.playerController | 123 | playerController: this.playerController |
| @@ -118,13 +126,15 @@ export struct DetailPlayShortVideoPage { | @@ -118,13 +126,15 @@ export struct DetailPlayShortVideoPage { | ||
| 118 | 126 | ||
| 119 | build() { | 127 | build() { |
| 120 | Row() { | 128 | Row() { |
| 121 | - PlayerDetailContainer({ playerView: () => { | ||
| 122 | - this.playerViewContainer() | ||
| 123 | - }, playControlView: () => { | ||
| 124 | - this.playControlViewContainer() | ||
| 125 | - }, detailView: () => { | ||
| 126 | - this.detailContainer() | ||
| 127 | - } }) | 129 | + PlayerDetailContainer({ |
| 130 | + playerView: () => { | ||
| 131 | + this.playerViewContainerBuilder() | ||
| 132 | + }, playControlView: () => { | ||
| 133 | + this.playControlViewContainerBuilder() | ||
| 134 | + }, detailView: () => { | ||
| 135 | + this.detailContainerBuilder() | ||
| 136 | + } | ||
| 137 | + }) | ||
| 128 | .height('100%') | 138 | .height('100%') |
| 129 | .width('100%') | 139 | .width('100%') |
| 130 | } | 140 | } |
| 1 | +import { RmhInfoDTO, UserInfoDTO } from 'wdBean/Index'; | ||
| 1 | import { ToastUtils } from 'wdKit'; | 2 | import { ToastUtils } from 'wdKit'; |
| 2 | 3 | ||
| 3 | export interface OperationItem { | 4 | export interface OperationItem { |
| @@ -12,13 +13,14 @@ const FULL_PARENT: string = '100%'; | @@ -12,13 +13,14 @@ const FULL_PARENT: string = '100%'; | ||
| 12 | 13 | ||
| 13 | const TAG = 'OperationListView'; | 14 | const TAG = 'OperationListView'; |
| 14 | 15 | ||
| 15 | -@Entry | ||
| 16 | @Component | 16 | @Component |
| 17 | export struct OperationListView { | 17 | export struct OperationListView { |
| 18 | + @Consume rmhInfo?: RmhInfoDTO | ||
| 19 | + @Consume userInfo?: UserInfoDTO | ||
| 18 | @State operationList: OperationItem[] = [ | 20 | @State operationList: OperationItem[] = [ |
| 19 | { | 21 | { |
| 20 | icon: $r('app.media.ic_like_uncheck'), | 22 | icon: $r('app.media.ic_like_uncheck'), |
| 21 | - text: "点赞", | 23 | + text: "赞", |
| 22 | num: 6622 | 24 | num: 6622 |
| 23 | }, | 25 | }, |
| 24 | { | 26 | { |
| @@ -62,6 +64,7 @@ export struct OperationListView { | @@ -62,6 +64,7 @@ export struct OperationListView { | ||
| 62 | // }) | 64 | // }) |
| 63 | 65 | ||
| 64 | Column() { | 66 | Column() { |
| 67 | + this.buildUserComp() | ||
| 65 | ForEach(this.operationList, (item: OperationItem, index: number) => { | 68 | ForEach(this.operationList, (item: OperationItem, index: number) => { |
| 66 | this.buildOperationItem(item, index) | 69 | this.buildOperationItem(item, index) |
| 67 | }, (item: OperationItem, index: number) => JSON.stringify(item)) | 70 | }, (item: OperationItem, index: number) => JSON.stringify(item)) |
| @@ -69,6 +72,17 @@ export struct OperationListView { | @@ -69,6 +72,17 @@ export struct OperationListView { | ||
| 69 | .width(48) | 72 | .width(48) |
| 70 | } | 73 | } |
| 71 | 74 | ||
| 75 | + @Builder | ||
| 76 | + buildUserComp() { | ||
| 77 | + Column() { | ||
| 78 | + Image(this.rmhInfo?.rmhHeadUrl || this.userInfo?.userHeadUrl) | ||
| 79 | + .width(48) | ||
| 80 | + .borderRadius(24) | ||
| 81 | + .aspectRatio(1) | ||
| 82 | + // .margin(18) | ||
| 83 | + } | ||
| 84 | + } | ||
| 85 | + | ||
| 72 | /** | 86 | /** |
| 73 | * 组件项 | 87 | * 组件项 |
| 74 | * | 88 | * |
| @@ -97,7 +111,7 @@ export struct OperationListView { | @@ -97,7 +111,7 @@ export struct OperationListView { | ||
| 97 | .hoverEffect(HoverEffect.Scale) | 111 | .hoverEffect(HoverEffect.Scale) |
| 98 | .onClick((event: ClickEvent) => { | 112 | .onClick((event: ClickEvent) => { |
| 99 | console.info(TAG, `buildOperationItem onClick event index: ${index}`); | 113 | console.info(TAG, `buildOperationItem onClick event index: ${index}`); |
| 100 | - ToastUtils.showToast('体验版,本功能暂未开发', 1000); | 114 | + // ToastUtils.showToast('体验版,本功能暂未开发', 1000); |
| 101 | }) | 115 | }) |
| 102 | } | 116 | } |
| 103 | } | 117 | } |
| @@ -103,12 +103,17 @@ export struct PlayControlViewContainer { | @@ -103,12 +103,17 @@ export struct PlayControlViewContainer { | ||
| 103 | .height('100%') | 103 | .height('100%') |
| 104 | .width('100%') | 104 | .width('100%') |
| 105 | .zIndex(1) | 105 | .zIndex(1) |
| 106 | - .gesture(TapGesture({ count: 2 }) | 106 | + .gesture(TapGesture({ count: 1 }) |
| 107 | .onAction((event: GestureEvent) => { | 107 | .onAction((event: GestureEvent) => { |
| 108 | let curStatus = (this.status === PlayerConstants.STATUS_START); | 108 | let curStatus = (this.status === PlayerConstants.STATUS_START); |
| 109 | this.status = curStatus ? PlayerConstants.STATUS_PAUSE : PlayerConstants.STATUS_START; | 109 | this.status = curStatus ? PlayerConstants.STATUS_PAUSE : PlayerConstants.STATUS_START; |
| 110 | this.playerController?.switchPlayOrPause(); | 110 | this.playerController?.switchPlayOrPause(); |
| 111 | })) | 111 | })) |
| 112 | + .gesture(TapGesture({ count: 2 }) | ||
| 113 | + .onAction((event: GestureEvent) => { | ||
| 114 | + // TODO 双击点赞|收藏 | ||
| 115 | + })) | ||
| 116 | + | ||
| 112 | 117 | ||
| 113 | Row() { | 118 | Row() { |
| 114 | Image($r('app.media.ic_volume')) | 119 | Image($r('app.media.ic_volume')) |
| @@ -8,7 +8,7 @@ import { devicePLSensorManager } from 'wdDetailPlayApi'; | @@ -8,7 +8,7 @@ import { devicePLSensorManager } from 'wdDetailPlayApi'; | ||
| 8 | @Component | 8 | @Component |
| 9 | export struct PlayerTitle { | 9 | export struct PlayerTitle { |
| 10 | private playerController?: WDPlayerController; | 10 | private playerController?: WDPlayerController; |
| 11 | - @Consume title?: string | 11 | + @Consume newsTitle?: string |
| 12 | @Consume isFullScreen: boolean; | 12 | @Consume isFullScreen: boolean; |
| 13 | @State @Watch('watchSpeed') playSpeed: number = 1; | 13 | @State @Watch('watchSpeed') playSpeed: number = 1; |
| 14 | 14 | ||
| @@ -46,7 +46,7 @@ export struct PlayerTitle { | @@ -46,7 +46,7 @@ export struct PlayerTitle { | ||
| 46 | router.back(); | 46 | router.back(); |
| 47 | } | 47 | } |
| 48 | }) | 48 | }) |
| 49 | - Text(this.title) | 49 | + Text(this.newsTitle) |
| 50 | .fontColor(Color.White) | 50 | .fontColor(Color.White) |
| 51 | .fontSize('14fp') | 51 | .fontSize('14fp') |
| 52 | .maxLines(2) | 52 | .maxLines(2) |
| @@ -5,12 +5,14 @@ import { WindowModel } from 'wdKit'; | @@ -5,12 +5,14 @@ import { WindowModel } from 'wdKit'; | ||
| 5 | import { WDPlayerController } from 'wdPlayer'; | 5 | import { WDPlayerController } from 'wdPlayer'; |
| 6 | import { devicePLSensorManager } from 'wdDetailPlayApi'; | 6 | import { devicePLSensorManager } from 'wdDetailPlayApi'; |
| 7 | import { OperationListView } from './OperationListView'; | 7 | import { OperationListView } from './OperationListView'; |
| 8 | +import { RmhInfoDTO, UserInfoDTO } from 'wdBean/Index'; | ||
| 8 | 9 | ||
| 9 | @Component | 10 | @Component |
| 10 | export struct PlayerTitleComment { | 11 | export struct PlayerTitleComment { |
| 11 | private playerController?: WDPlayerController; | 12 | private playerController?: WDPlayerController; |
| 12 | @Consume newsSourceName?: string | 13 | @Consume newsSourceName?: string |
| 13 | - @Consume title?: string | 14 | + @Consume newsTitle?: string |
| 15 | + @Consume editorName?: string | ||
| 14 | @Consume newsSummary?: string; | 16 | @Consume newsSummary?: string; |
| 15 | @State @Watch('watchSpeed') playSpeed: number = 1; | 17 | @State @Watch('watchSpeed') playSpeed: number = 1; |
| 16 | @Consume isFullScreen: boolean; | 18 | @Consume isFullScreen: boolean; |
| @@ -57,15 +59,15 @@ export struct PlayerTitleComment { | @@ -57,15 +59,15 @@ export struct PlayerTitleComment { | ||
| 57 | 59 | ||
| 58 | Row() { | 60 | Row() { |
| 59 | Column() { | 61 | Column() { |
| 60 | - if (this.newsSourceName) { | ||
| 61 | - Text("@" + this.newsSourceName) | 62 | + if (this.newsSourceName || this.editorName) { |
| 63 | + Text("@" + (this.newsSourceName || this.editorName)) | ||
| 62 | .fontColor(Color.White) | 64 | .fontColor(Color.White) |
| 63 | .fontSize(15) | 65 | .fontSize(15) |
| 64 | .maxLines(1) | 66 | .maxLines(1) |
| 65 | .textOverflow({ overflow: TextOverflow.Ellipsis }) | 67 | .textOverflow({ overflow: TextOverflow.Ellipsis }) |
| 66 | } | 68 | } |
| 67 | - if (this.newsSummary) { | ||
| 68 | - Text(this.newsSummary) | 69 | + if (this.newsTitle || this.newsSummary) { |
| 70 | + Text(this.newsTitle || this.newsSummary) | ||
| 69 | .fontColor(Color.White) | 71 | .fontColor(Color.White) |
| 70 | .fontSize(15) | 72 | .fontSize(15) |
| 71 | .maxLines(3) | 73 | .maxLines(3) |
| @@ -80,6 +82,7 @@ export struct PlayerTitleComment { | @@ -80,6 +82,7 @@ export struct PlayerTitleComment { | ||
| 80 | } | 82 | } |
| 81 | .layoutWeight(1) | 83 | .layoutWeight(1) |
| 82 | .alignItems(HorizontalAlign.Start) | 84 | .alignItems(HorizontalAlign.Start) |
| 85 | + .margin({ left: 16 }) | ||
| 83 | 86 | ||
| 84 | OperationListView() | 87 | OperationListView() |
| 85 | .width(48) | 88 | .width(48) |
| @@ -135,6 +138,8 @@ export struct PlayerTitleComment { | @@ -135,6 +138,8 @@ export struct PlayerTitleComment { | ||
| 135 | .fontSize(14) | 138 | .fontSize(14) |
| 136 | .maxLines(1) | 139 | .maxLines(1) |
| 137 | .layoutWeight(1) | 140 | .layoutWeight(1) |
| 141 | + .backgroundColor('#ccc') | ||
| 142 | + .borderRadius(2) | ||
| 138 | }.alignItems(VerticalAlign.Center) | 143 | }.alignItems(VerticalAlign.Center) |
| 139 | } | 144 | } |
| 140 | .width('100%') | 145 | .width('100%') |
| @@ -2,7 +2,7 @@ import { BusinessError } from '@ohos.base' | @@ -2,7 +2,7 @@ import { BusinessError } from '@ohos.base' | ||
| 2 | import { Logger, ToastUtils } from 'wdKit' | 2 | import { Logger, ToastUtils } from 'wdKit' |
| 3 | import { ResponseDTO } from 'wdNetwork' | 3 | import { ResponseDTO } from 'wdNetwork' |
| 4 | import { ContentDetailRequest } from 'wdDetailPlayApi' | 4 | import { ContentDetailRequest } from 'wdDetailPlayApi' |
| 5 | -import { ContentDetailDTO } from 'wdBean' | 5 | +import { ContentDetailDTO, RmhInfoDTO, UserInfoDTO } from 'wdBean' |
| 6 | 6 | ||
| 7 | const TAG = 'PlayViewModel'; | 7 | const TAG = 'PlayViewModel'; |
| 8 | 8 | ||
| @@ -12,8 +12,11 @@ export class PlayViewModel { | @@ -12,8 +12,11 @@ export class PlayViewModel { | ||
| 12 | relId: string | 12 | relId: string |
| 13 | relType: string | 13 | relType: string |
| 14 | newsSourceName?: string | 14 | newsSourceName?: string |
| 15 | - title?: string | 15 | + newsTitle?: string |
| 16 | + editorName?: string | ||
| 16 | newsSummary?: string | 17 | newsSummary?: string |
| 18 | + rmhInfo?: RmhInfoDTO | ||
| 19 | + userInfo?: UserInfoDTO | ||
| 17 | url?: string | 20 | url?: string |
| 18 | // 视频朝向, | 21 | // 视频朝向, |
| 19 | // 横屏视频:1(进入竖屏,立即展示半屏播放窗口,当切换横屏时,再展示全部播放窗口;后续可再转换到竖屏): | 22 | // 横屏视频:1(进入竖屏,立即展示半屏播放窗口,当切换横屏时,再展示全部播放窗口;后续可再转换到竖屏): |
| @@ -59,14 +62,21 @@ export class PlayViewModel { | @@ -59,14 +62,21 @@ export class PlayViewModel { | ||
| 59 | Logger.error(TAG, `getContentDetailData then body is empty`); | 62 | Logger.error(TAG, `getContentDetailData then body is empty`); |
| 60 | return | 63 | return |
| 61 | } | 64 | } |
| 65 | + | ||
| 62 | let contentDetailDTO: ContentDetailDTO = resDTO.data[0] | 66 | let contentDetailDTO: ContentDetailDTO = resDTO.data[0] |
| 63 | - this.newsSourceName = contentDetailDTO.newsSourceName | ||
| 64 | - this.title = contentDetailDTO.newsTitle | 67 | + Logger.info(TAG, JSON.stringify(contentDetailDTO)) |
| 68 | + this.newsTitle = contentDetailDTO.newsTitle | ||
| 69 | + this.editorName = contentDetailDTO.editorName | ||
| 65 | this.newsSummary = contentDetailDTO.newsSummary | 70 | this.newsSummary = contentDetailDTO.newsSummary |
| 71 | + this.userInfo = contentDetailDTO.userInfo | ||
| 72 | + this.rmhInfo = contentDetailDTO.rmhInfo | ||
| 66 | if (contentDetailDTO.videoInfo?.length > 0) { | 73 | if (contentDetailDTO.videoInfo?.length > 0) { |
| 67 | this.url = contentDetailDTO.videoInfo[0].videoUrl | 74 | this.url = contentDetailDTO.videoInfo[0].videoUrl |
| 68 | this.videoLandScape = contentDetailDTO.videoInfo[0].videoLandScape | 75 | this.videoLandScape = contentDetailDTO.videoInfo[0].videoLandScape |
| 69 | } | 76 | } |
| 77 | + if (contentDetailDTO.authorList?.length > 0) { | ||
| 78 | + this.newsSourceName = contentDetailDTO.authorList[0].authorName | ||
| 79 | + } | ||
| 70 | this.canStart = true; | 80 | this.canStart = true; |
| 71 | this.message = ''; | 81 | this.message = ''; |
| 72 | }).catch((err: BusinessError) => { | 82 | }).catch((err: BusinessError) => { |
| @@ -3,6 +3,10 @@ import { LoginInputComponent } from './LoginInputComponent' | @@ -3,6 +3,10 @@ import { LoginInputComponent } from './LoginInputComponent' | ||
| 3 | import { LoginViewModel } from './LoginViewModel' | 3 | import { LoginViewModel } from './LoginViewModel' |
| 4 | import router from '@ohos.router' | 4 | import router from '@ohos.router' |
| 5 | import promptAction from '@ohos.promptAction' | 5 | import promptAction from '@ohos.promptAction' |
| 6 | +import { Params } from '../../../../../../../commons/wdRouter/oh_modules/wdBean/Index' | ||
| 7 | +import { WDRouterRule, WDRouterPage } from 'wdRouter'; | ||
| 8 | +import { SettingPasswordParams } from './SettingPasswordLayout' | ||
| 9 | + | ||
| 6 | 10 | ||
| 7 | const TAG = 'ForgetPasswordPage' | 11 | const TAG = 'ForgetPasswordPage' |
| 8 | /** | 12 | /** |
| @@ -87,7 +91,13 @@ struct ForgetPasswordPage { | @@ -87,7 +91,13 @@ struct ForgetPasswordPage { | ||
| 87 | } | 91 | } |
| 88 | 92 | ||
| 89 | this.loginViewModel.checkVerifyCode(this.phoneContent, this.codeContent).then(() => { | 93 | this.loginViewModel.checkVerifyCode(this.phoneContent, this.codeContent).then(() => { |
| 90 | - //todo 跳转密码设置页面 | 94 | + let params: SettingPasswordParams = { |
| 95 | + pageID:'1', | ||
| 96 | + phoneContent:this.phoneContent, | ||
| 97 | + codeContent:this.codeContent, | ||
| 98 | + } | ||
| 99 | + WDRouterRule.jumpWithPage(WDRouterPage.settingPasswordPage, params) | ||
| 100 | + | ||
| 91 | promptAction.showToast({message:"校验成功,准备跳转设置页面"}) | 101 | promptAction.showToast({message:"校验成功,准备跳转设置页面"}) |
| 92 | Logger.debug(TAG,"校验成功") | 102 | Logger.debug(TAG,"校验成功") |
| 93 | }).catch((error:string)=>{ | 103 | }).catch((error:string)=>{ |
| @@ -112,5 +112,30 @@ export class LoginModel { | @@ -112,5 +112,30 @@ export class LoginModel { | ||
| 112 | }) | 112 | }) |
| 113 | }) | 113 | }) |
| 114 | } | 114 | } |
| 115 | + | ||
| 116 | + //忘记密码 设置新密码 | ||
| 117 | + resetPassword(password: string, tempToken: string) { | ||
| 118 | + let bean: Record<string, string> = {}; | ||
| 119 | + bean['password'] = password; | ||
| 120 | + bean['tempToken'] = tempToken; | ||
| 121 | + | ||
| 122 | + let headers: HashMap<string, string> = HttpUrlUtils.getCommonHeaders(); | ||
| 123 | + return new Promise<string>((success, fail) => { | ||
| 124 | + HttpRequest.post<ResponseDTO<string>>(HttpUrlUtils.getForgetPasswordUrl(), bean, headers).then((data: ResponseDTO<string>) => { | ||
| 125 | + if (!data || !data.data) { | ||
| 126 | + fail("数据为空") | ||
| 127 | + return | ||
| 128 | + } | ||
| 129 | + if (data.code != 0) { | ||
| 130 | + fail(data.message) | ||
| 131 | + return | ||
| 132 | + } | ||
| 133 | + success(data.data) | ||
| 134 | + }, (error: Error) => { | ||
| 135 | + fail(error.message) | ||
| 136 | + Logger.debug("LoginViewModel:error ", error.toString()) | ||
| 137 | + }) | ||
| 138 | + }) | ||
| 139 | + } | ||
| 115 | } | 140 | } |
| 116 | 141 |
| @@ -92,6 +92,20 @@ export class LoginViewModel { | @@ -92,6 +92,20 @@ export class LoginViewModel { | ||
| 92 | }) | 92 | }) |
| 93 | } | 93 | } |
| 94 | 94 | ||
| 95 | + //重置密码 | ||
| 96 | + resetPassword(password: string, tempToken: string) { | ||
| 97 | + return new Promise<string>(async (success, fail) => { | ||
| 98 | + let passwordNew = await this.doMd(password) | ||
| 99 | + this.loginModel.resetPassword(passwordNew, tempToken).then((data) => { | ||
| 100 | + success(data) | ||
| 101 | + }).catch((message: string) => { | ||
| 102 | + fail(message) | ||
| 103 | + }) | ||
| 104 | + }) | ||
| 105 | + | ||
| 106 | + } | ||
| 107 | + | ||
| 108 | + | ||
| 95 | 109 | ||
| 96 | async doMd(content: string): Promise<string> { | 110 | async doMd(content: string): Promise<string> { |
| 97 | let mdAlgName = 'SHA256'; // 摘要算法名 | 111 | let mdAlgName = 'SHA256'; // 摘要算法名 |
| 1 | import ArrayList from '@ohos.util.ArrayList'; | 1 | import ArrayList from '@ohos.util.ArrayList'; |
| 2 | import promptAction from '@ohos.promptAction'; | 2 | import promptAction from '@ohos.promptAction'; |
| 3 | +import { Params } from '../../../../../../../commons/wdRouter/oh_modules/wdBean/Index'; | ||
| 4 | +import router from '@ohos.router'; | ||
| 5 | +import { LoginViewModel } from './LoginViewModel'; | ||
| 6 | +import { Logger, SPHelper } from 'wdKit'; | ||
| 7 | +import { | ||
| 8 | + SpConstants | ||
| 9 | +} from '../../../../../../../commons/wdNetwork/oh_modules/wdConstant/src/main/ets/constants/SpConstants' | ||
| 10 | +import data_preferences from '@ohos.data.preferences'; | ||
| 11 | +const TAG = "SettingPasswordLayout" | ||
| 12 | + | ||
| 13 | +export interface SettingPasswordParams { | ||
| 14 | + pageID: string; | ||
| 15 | + phoneContent?: string; | ||
| 16 | + codeContent?: string; | ||
| 17 | + tempToken?:string; | ||
| 18 | +} | ||
| 3 | 19 | ||
| 4 | export default class AccoutPageDataModel { | 20 | export default class AccoutPageDataModel { |
| 5 | // 页面数据 | 21 | // 页面数据 |
| 6 | compType: number // 0:标题 / 1:密码输入框 / 2:验证码输入框 / 3:desc描述 / 4:按钮 / 5:logo / 6:子标题 7:手机号输入框 7:空白 | 22 | compType: number // 0:标题 / 1:密码输入框 / 2:验证码输入框 / 3:desc描述 / 4:按钮 / 5:logo / 6:子标题 7:手机号输入框 7:空白 |
| 7 | compLogo: string | 23 | compLogo: string |
| 8 | compTitle: string | 24 | compTitle: string |
| 9 | - // compSubTitle: string | 25 | + compSubTitle: string = ''; |
| 10 | compDesc: string | 26 | compDesc: string |
| 11 | compButtonTitle: string | 27 | compButtonTitle: string |
| 12 | inputPlacholder: string | 28 | inputPlacholder: string |
| @@ -23,16 +39,28 @@ export default class AccoutPageDataModel { | @@ -23,16 +39,28 @@ export default class AccoutPageDataModel { | ||
| 23 | } | 39 | } |
| 24 | } | 40 | } |
| 25 | 41 | ||
| 42 | +@Entry | ||
| 26 | @Component | 43 | @Component |
| 27 | export struct SettingPasswordLayout { | 44 | export struct SettingPasswordLayout { |
| 28 | @State listData: Array<AccoutPageDataModel> = new Array(); // 页面配置数据 | 45 | @State listData: Array<AccoutPageDataModel> = new Array(); // 页面配置数据 |
| 29 | - @State btnStatus: boolean = false | 46 | + @State btnStatus: boolean = false; |
| 47 | + pageId:number = 0; | ||
| 48 | + phoneContent:string = ''; | ||
| 49 | + codeContent:string = ''; | ||
| 50 | + tempToken:string = ''; | ||
| 51 | + | ||
| 30 | password01: string = ''; | 52 | password01: string = ''; |
| 31 | password02: string = ''; | 53 | password02: string = ''; |
| 32 | passwordOri: string = ''; | 54 | passwordOri: string = ''; |
| 55 | + loginViewModel = new LoginViewModel() | ||
| 33 | 56 | ||
| 34 | aboutToAppear() { | 57 | aboutToAppear() { |
| 35 | - this.getPageListData(4) | 58 | + let params:SettingPasswordParams = router.getParams() as SettingPasswordParams; |
| 59 | + this.pageId = parseInt(params.pageID); | ||
| 60 | + this.getPageListData(this.pageId) | ||
| 61 | + | ||
| 62 | + this.phoneContent = params.phoneContent!; | ||
| 63 | + this.codeContent = params.codeContent!; | ||
| 36 | } | 64 | } |
| 37 | 65 | ||
| 38 | getPageListData(pageId:number) { | 66 | getPageListData(pageId:number) { |
| @@ -50,8 +78,8 @@ export struct SettingPasswordLayout { | @@ -50,8 +78,8 @@ export struct SettingPasswordLayout { | ||
| 50 | this.listData.push(new AccoutPageDataModel(0, '设置密码', '', '', '', '', 0)) | 78 | this.listData.push(new AccoutPageDataModel(0, '设置密码', '', '', '', '', 0)) |
| 51 | this.listData.push(new AccoutPageDataModel(1, '', '', '', '', '请输入密码', 10086)) | 79 | this.listData.push(new AccoutPageDataModel(1, '', '', '', '', '请输入密码', 10086)) |
| 52 | this.listData.push(new AccoutPageDataModel(1, '', '', '', '', '再次输入密码', 10087)) | 80 | this.listData.push(new AccoutPageDataModel(1, '', '', '', '', '再次输入密码', 10087)) |
| 53 | - this.listData.push(new AccoutPageDataModel(4, '', '', '提示:密码长度6-20位,需答谢字母、小写字母、数字、特殊字符中组合三种及三种以上组成', '', '', 0)) | ||
| 54 | - this.listData.push(new AccoutPageDataModel(5, '', '', '', '确认', '', 0)) | 81 | + this.listData.push(new AccoutPageDataModel(3, '', '', '提示:密码长度6-20位,需答谢字母、小写字母、数字、特殊字符中组合三种及三种以上组成', '', '', 0)) |
| 82 | + this.listData.push(new AccoutPageDataModel(4, '', '', '', '确认', '', 0)) | ||
| 55 | break; | 83 | break; |
| 56 | 84 | ||
| 57 | case 2: | 85 | case 2: |
| @@ -75,7 +103,7 @@ export struct SettingPasswordLayout { | @@ -75,7 +103,7 @@ export struct SettingPasswordLayout { | ||
| 75 | 103 | ||
| 76 | case 4: | 104 | case 4: |
| 77 | // 有logo的 | 105 | // 有logo的 |
| 78 | - this.listData.push(new AccoutPageDataModel(5, '', 'https://img-blog.csdnimg.cn/24f43f4d626d428891ebb2adb5c2c2e9.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5YyX5aSn5Z-55paH5byg6ICB5biI,size_20,color_FFFFFF,t_70,g_se,x_16', '', '', '' , 0)) | 106 | + this.listData.push(new AccoutPageDataModel(5, '', '', '', '', '' , 0)) |
| 79 | this.listData.push(new AccoutPageDataModel(0, '修改密码', '', '', '', '', 0)) | 107 | this.listData.push(new AccoutPageDataModel(0, '修改密码', '', '', '', '', 0)) |
| 80 | this.listData.push(new AccoutPageDataModel(1, '', '', '', '', '请输入原密码', 10010)) | 108 | this.listData.push(new AccoutPageDataModel(1, '', '', '', '', '请输入原密码', 10010)) |
| 81 | this.listData.push(new AccoutPageDataModel(1, '', '', '', '', '请输入新密码', 10086)) | 109 | this.listData.push(new AccoutPageDataModel(1, '', '', '', '', '请输入新密码', 10086)) |
| @@ -277,8 +305,21 @@ export struct SettingPasswordLayout { | @@ -277,8 +305,21 @@ export struct SettingPasswordLayout { | ||
| 277 | return | 305 | return |
| 278 | } | 306 | } |
| 279 | 307 | ||
| 308 | + | ||
| 280 | promptAction.showToast({ message: '请求接口' }) | 309 | promptAction.showToast({ message: '请求接口' }) |
| 281 | } | 310 | } |
| 311 | + | ||
| 312 | + if(this.pageId == 1){ //设置密码 | ||
| 313 | + if (this.password01.length < 6 || this.password01.length > 20) { | ||
| 314 | + promptAction.showToast({ message: '密码不符合密码规范' }) | ||
| 315 | + return | ||
| 316 | + } | ||
| 317 | + if (this.password01 != this.password02) { | ||
| 318 | + promptAction.showToast({ message: '密码不一致' }) | ||
| 319 | + return | ||
| 320 | + } | ||
| 321 | + | ||
| 322 | + } | ||
| 282 | } | 323 | } |
| 283 | 324 | ||
| 284 | // 输入框数据变动:输入数据处理 | 325 | // 输入框数据变动:输入数据处理 |
| @@ -292,11 +333,21 @@ export struct SettingPasswordLayout { | @@ -292,11 +333,21 @@ export struct SettingPasswordLayout { | ||
| 292 | } | 333 | } |
| 293 | 334 | ||
| 294 | if (this.password01) { | 335 | if (this.password01) { |
| 295 | - if (this.password01 == this.password02 && this.password01.length >= 6 && this.password01.length <= 20) { | 336 | + if ((this.password01.length >= 6 && this.password01.length <= 20) && (this.password02.length >= 6 && this.password02.length <= 20)) { |
| 296 | this.btnStatus = true; | 337 | this.btnStatus = true; |
| 297 | } else { | 338 | } else { |
| 298 | this.btnStatus = false; | 339 | this.btnStatus = false; |
| 299 | } | 340 | } |
| 341 | + | ||
| 342 | + SPHelper.default.get(SpConstants.USER_JWT_TOKEN, '').then((str) => { | ||
| 343 | + this.loginViewModel.resetPassword(this.password01, str.toString()).then((data =>{ | ||
| 344 | + | ||
| 345 | + })) | ||
| 346 | + }).catch((err: Error) => { | ||
| 347 | + Logger.error(TAG, 'catch err:' + JSON.stringify(err)); | ||
| 348 | + }); | ||
| 349 | + | ||
| 300 | } | 350 | } |
| 301 | } | 351 | } |
| 302 | -} | ||
| 352 | +} | ||
| 353 | + |
| @@ -4,6 +4,7 @@ | @@ -4,6 +4,7 @@ | ||
| 4 | "pages/login/LoginPage", | 4 | "pages/login/LoginPage", |
| 5 | "pages/login/ForgetPasswordPage", | 5 | "pages/login/ForgetPasswordPage", |
| 6 | "pages/login/LoginProtocolWebview", | 6 | "pages/login/LoginProtocolWebview", |
| 7 | - "pages/login/SettingPasswordPage" | 7 | + "pages/login/SettingPasswordPage", |
| 8 | + "pages/login/SettingPasswordLayout" | ||
| 8 | ] | 9 | ] |
| 9 | } | 10 | } |
| 1 | import componentUtils from '@ohos.arkui.componentUtils'; | 1 | import componentUtils from '@ohos.arkui.componentUtils'; |
| 2 | import { WDPlayerController } from '../controller/WDPlayerController' | 2 | import { WDPlayerController } from '../controller/WDPlayerController' |
| 3 | import { WindowModel } from 'wdKit'; | 3 | import { WindowModel } from 'wdKit'; |
| 4 | +import { Logger } from '../utils/Logger'; | ||
| 4 | 5 | ||
| 5 | class Size { | 6 | class Size { |
| 6 | width: Length = "100%"; | 7 | width: Length = "100%"; |
| @@ -13,6 +14,7 @@ class Size { | @@ -13,6 +14,7 @@ class Size { | ||
| 13 | } | 14 | } |
| 14 | 15 | ||
| 15 | let insIndex: number = 0; | 16 | let insIndex: number = 0; |
| 17 | +const TAG = 'WDPlayerRenderView' | ||
| 16 | 18 | ||
| 17 | class MGPlayRenderViewIns { | 19 | class MGPlayRenderViewIns { |
| 18 | static intCount: number = 0; | 20 | static intCount: number = 0; |
| @@ -24,7 +26,7 @@ class MGPlayRenderViewIns { | @@ -24,7 +26,7 @@ class MGPlayRenderViewIns { | ||
| 24 | } | 26 | } |
| 25 | 27 | ||
| 26 | static del() { | 28 | static del() { |
| 27 | - console.log("add-- -1") | 29 | + console.log("del-- -1") |
| 28 | MGPlayRenderViewIns.intCount--; | 30 | MGPlayRenderViewIns.intCount--; |
| 29 | if (MGPlayRenderViewIns.intCount <= 0) { | 31 | if (MGPlayRenderViewIns.intCount <= 0) { |
| 30 | WindowModel.shared.setWindowKeepScreenOn(false); | 32 | WindowModel.shared.setWindowKeepScreenOn(false); |
| @@ -35,7 +37,6 @@ class MGPlayRenderViewIns { | @@ -35,7 +37,6 @@ class MGPlayRenderViewIns { | ||
| 35 | /** | 37 | /** |
| 36 | * 播放窗口组件 | 38 | * 播放窗口组件 |
| 37 | */ | 39 | */ |
| 38 | -@Entry | ||
| 39 | @Component | 40 | @Component |
| 40 | export struct WDPlayerRenderView { | 41 | export struct WDPlayerRenderView { |
| 41 | private playerController?: WDPlayerController; | 42 | private playerController?: WDPlayerController; |
| @@ -49,14 +50,15 @@ export struct WDPlayerRenderView { | @@ -49,14 +50,15 @@ export struct WDPlayerRenderView { | ||
| 49 | aboutToAppear() { | 50 | aboutToAppear() { |
| 50 | MGPlayRenderViewIns.add(); | 51 | MGPlayRenderViewIns.add(); |
| 51 | 52 | ||
| 53 | + console.log('playerController', this.playerController) | ||
| 52 | insIndex++; | 54 | insIndex++; |
| 53 | - | ||
| 54 | if (!this.playerController) { | 55 | if (!this.playerController) { |
| 55 | return | 56 | return |
| 56 | } | 57 | } |
| 57 | 58 | ||
| 58 | this.playerController.onVideoSizeChange = (width: number, height: number) => { | 59 | this.playerController.onVideoSizeChange = (width: number, height: number) => { |
| 59 | // console.log(`WDPlayerRenderView onVideoSizeChange width:${width} videoTop:${height}`) | 60 | // console.log(`WDPlayerRenderView onVideoSizeChange width:${width} videoTop:${height}`) |
| 61 | + Logger.info(TAG, ` onVideoSizeChange width:${width} videoTop:${height}`) | ||
| 60 | this.videoWidth = width; | 62 | this.videoWidth = width; |
| 61 | this.videoHeight = height; | 63 | this.videoHeight = height; |
| 62 | this.updateLayout() | 64 | this.updateLayout() |
| @@ -64,6 +66,7 @@ export struct WDPlayerRenderView { | @@ -64,6 +66,7 @@ export struct WDPlayerRenderView { | ||
| 64 | } | 66 | } |
| 65 | 67 | ||
| 66 | aboutToDisappear() { | 68 | aboutToDisappear() { |
| 69 | + Logger.info(TAG, `aboutToDisappear`) | ||
| 67 | MGPlayRenderViewIns.del(); | 70 | MGPlayRenderViewIns.del(); |
| 68 | } | 71 | } |
| 69 | 72 | ||
| @@ -76,6 +79,7 @@ export struct WDPlayerRenderView { | @@ -76,6 +79,7 @@ export struct WDPlayerRenderView { | ||
| 76 | controller: this.xComponentController | 79 | controller: this.xComponentController |
| 77 | }) | 80 | }) |
| 78 | .onLoad(async (event) => { | 81 | .onLoad(async (event) => { |
| 82 | + Logger.info(TAG, 'onLoad') | ||
| 79 | this.xComponentController.setXComponentSurfaceSize({ | 83 | this.xComponentController.setXComponentSurfaceSize({ |
| 80 | surfaceWidth: 1920, | 84 | surfaceWidth: 1920, |
| 81 | surfaceHeight: 1080 | 85 | surfaceHeight: 1080 |
| 1 | +{ | ||
| 2 | + "code": "0", | ||
| 3 | + "data": { | ||
| 4 | + "articleCreation": 0, | ||
| 5 | + "attentionNum": 22, | ||
| 6 | + "authIcon": "", | ||
| 7 | + "authId": 0, | ||
| 8 | + "authPersonal": "", | ||
| 9 | + "authTitle": "", | ||
| 10 | + "avatarFrame": "", | ||
| 11 | + "browseNum": 22, | ||
| 12 | + "categoryAuth": "", | ||
| 13 | + "city": "", | ||
| 14 | + "cnContentPublish": 0, | ||
| 15 | + "cnLivePublish": 0, | ||
| 16 | + "cnShareControl": 0, | ||
| 17 | + "collectNum": 4, | ||
| 18 | + "commentNum": 0, | ||
| 19 | + "contentPublish": 0, | ||
| 20 | + "creatorId": "", | ||
| 21 | + "district": "", | ||
| 22 | + "dynamicControl": 0, | ||
| 23 | + "dynamicCreation": 0, | ||
| 24 | + "fansNum": 0, | ||
| 25 | + "headPhotoUrl": "https://sitcontentjdcdn.aikan.pdnews.cn//img/user/2024031215/48d5bd53227d436b9faa937b3ac14600.png", | ||
| 26 | + "honoraryIcon": "", | ||
| 27 | + "honoraryTitle": "", | ||
| 28 | + "introduction": "", | ||
| 29 | + "isComment": 0, | ||
| 30 | + "isLike": 0, | ||
| 31 | + "livePublish": 0, | ||
| 32 | + "liveSwitch": 1, | ||
| 33 | + "mainControl": 1, | ||
| 34 | + "originUserId": "", | ||
| 35 | + "pictureCollectionCreation": 0, | ||
| 36 | + "posterShareControl": 1, | ||
| 37 | + "province": "", | ||
| 38 | + "region": "安徽省", | ||
| 39 | + "registTime": 1710227567000, | ||
| 40 | + "reserveNum": 6, | ||
| 41 | + "shareControl": 0, | ||
| 42 | + "shareUrl": "", | ||
| 43 | + "speakControl": 0, | ||
| 44 | + "subjectType": 0, | ||
| 45 | + "userId": "567387477063621", | ||
| 46 | + "userName": "人民日报网友aPrtq5", | ||
| 47 | + "userType": "1", | ||
| 48 | + "videoCollectionCreation": 0, | ||
| 49 | + "videoCreation": 0 | ||
| 50 | + }, | ||
| 51 | + "message": "Success", | ||
| 52 | + "meta": null, | ||
| 53 | + "requestId": "", | ||
| 54 | + "success": true, | ||
| 55 | + "timestamp": 1711357314033 | ||
| 56 | +} |
| 1 | +{ | ||
| 2 | + "code": "0", | ||
| 3 | + "data": { | ||
| 4 | + "createTime": "2024-03-12 15:12:47", | ||
| 5 | + "id": 132386, | ||
| 6 | + "levelHead": "http://rmrb-video-content-sit.oss-cn-beijing.aliyuncs.com/sjbj-20240125/image/display/88c45bf56ac941b883c69bd8ed373164.png", | ||
| 7 | + "levelId": 2, | ||
| 8 | + "levelName": "初入武林", | ||
| 9 | + "levelNum": 155, | ||
| 10 | + "modifyTime": "2024-03-25 16:35:57", | ||
| 11 | + "status": 1, | ||
| 12 | + "userId": 567387477063621 | ||
| 13 | + }, | ||
| 14 | + "message": "Success", | ||
| 15 | + "success": true, | ||
| 16 | + "timestamp": 1711357314136 | ||
| 17 | +} |
sight_harmony/products/phone/src/main/resources/rawfile/other_user512157124138245_detail.json
0 → 100644
| 1 | +{ | ||
| 2 | + "code": "0", | ||
| 3 | + "data": { | ||
| 4 | + "articleCreation": 0, | ||
| 5 | + "attentionNum": 1, | ||
| 6 | + "authIcon": "", | ||
| 7 | + "authId": 0, | ||
| 8 | + "authPersonal": "", | ||
| 9 | + "authTitle": "", | ||
| 10 | + "avatarFrame": "", | ||
| 11 | + "banControl": 0, | ||
| 12 | + "browseNum": 76, | ||
| 13 | + "categoryAuth": "", | ||
| 14 | + "city": "", | ||
| 15 | + "cnContentPublish": 0, | ||
| 16 | + "cnIsComment": 0, | ||
| 17 | + "cnIsLike": 0, | ||
| 18 | + "cnLiveCommentControl": 0, | ||
| 19 | + "cnLiveGiftControl": 0, | ||
| 20 | + "cnLiveLikeControl": 0, | ||
| 21 | + "cnLivePublish": 0, | ||
| 22 | + "cnLiveShareControl": 0, | ||
| 23 | + "cnShareControl": 0, | ||
| 24 | + "contentPublish": 0, | ||
| 25 | + "creatorId": "", | ||
| 26 | + "district": "", | ||
| 27 | + "dynamicControl": 0, | ||
| 28 | + "dynamicCreation": 0, | ||
| 29 | + "fansNum": 0, | ||
| 30 | + "headPhotoUrl": "https://sitcontentjdcdn.aikan.pdnews.cn/null20240127/1630371072/1706336907262.jpg", | ||
| 31 | + "honoraryIcon": "", | ||
| 32 | + "honoraryTitle": "", | ||
| 33 | + "introduction": "", | ||
| 34 | + "isAttention": 0, | ||
| 35 | + "isComment": 0, | ||
| 36 | + "isLike": 0, | ||
| 37 | + "liveCommentControl": 0, | ||
| 38 | + "liveGiftControl": 0, | ||
| 39 | + "liveLikeControl": 0, | ||
| 40 | + "livePublish": 0, | ||
| 41 | + "liveShareControl": 0, | ||
| 42 | + "liveSwitch": 0, | ||
| 43 | + "mainControl": 1, | ||
| 44 | + "originUserId": "", | ||
| 45 | + "pictureCollectionCreation": 0, | ||
| 46 | + "posterShareControl": 1, | ||
| 47 | + "province": "", | ||
| 48 | + "region": "安徽省", | ||
| 49 | + "registTime": 1703485580000, | ||
| 50 | + "shareControl": 0, | ||
| 51 | + "shareUrl": "", | ||
| 52 | + "subjectType": 0, | ||
| 53 | + "userId": "512157124138245", | ||
| 54 | + "userName": "树下🍑 1122334", | ||
| 55 | + "userType": "1", | ||
| 56 | + "videoCollectionCreation": 0, | ||
| 57 | + "videoCreation": 0 | ||
| 58 | + }, | ||
| 59 | + "message": "Success", | ||
| 60 | + "meta": null, | ||
| 61 | + "requestId": "", | ||
| 62 | + "success": true, | ||
| 63 | + "timestamp": 1711440875633 | ||
| 64 | +} |
sight_harmony/products/phone/src/main/resources/rawfile/other_user512157124138245_level.json
0 → 100644
| 1 | +{ | ||
| 2 | + "code": "0", | ||
| 3 | + "data": [ | ||
| 4 | + { | ||
| 5 | + "level": 2, | ||
| 6 | + "levelHead": "http://rmrb-video-content-sit.oss-cn-beijing.aliyuncs.com/sjbj-20240125/image/display/88c45bf56ac941b883c69bd8ed373164.png", | ||
| 7 | + "userId": 512157124138245 | ||
| 8 | + } | ||
| 9 | + ], | ||
| 10 | + "message": "Success", | ||
| 11 | + "success": true, | ||
| 12 | + "timestamp": 1711440876088 | ||
| 13 | +} |
| 1 | +{ | ||
| 2 | + "code": "0", | ||
| 3 | + "data": { | ||
| 4 | + "createTime": "2023-12-15 17:19:47", | ||
| 5 | + "headPhotoStatus": 1, | ||
| 6 | + "id": 490264487281413, | ||
| 7 | + "modifyNumber": 0, | ||
| 8 | + "phone": "153****3615", | ||
| 9 | + "status": 1, | ||
| 10 | + "tenancy": 3, | ||
| 11 | + "userExtend": { | ||
| 12 | + "airec": 1, | ||
| 13 | + "birthday": "1991-08-13", | ||
| 14 | + "deviceId": "20065BDF-0E7C-4891-9F4A-85DA50A61F00", | ||
| 15 | + "headBucketName": "", | ||
| 16 | + "headPhotoUrl": "https://uatjdcdnphoto.aikan.pdnews.cn//zhbj/img/user/2024032614/900B80F379D94269AFF29AE815D25422.jpg", | ||
| 17 | + "introduction": "唱、跳、rap", | ||
| 18 | + "lastLoginTime": "2024-03-26 11:05:03", | ||
| 19 | + "city": "安徽省 合肥市", | ||
| 20 | + "sex": 1 | ||
| 21 | + }, | ||
| 22 | + "userName": "芒果", | ||
| 23 | + "userNameStatus": 1, | ||
| 24 | + "userType": 1 | ||
| 25 | + }, | ||
| 26 | + "message": "Success", | ||
| 27 | + "success": true, | ||
| 28 | + "timestamp": 1711434743663 | ||
| 29 | +} |
-
Please register or login to post a comment