王士厅
@@ -25,6 +25,8 @@ import { viewColumInsightIntentShare } from '../../utils/InsightIntentShare' @@ -25,6 +25,8 @@ import { viewColumInsightIntentShare } from '../../utils/InsightIntentShare'
25 import { common } from '@kit.AbilityKit'; 25 import { common } from '@kit.AbilityKit';
26 import { EmptyComponent,WDViewDefaultType } from '../view/EmptyComponent'; 26 import { EmptyComponent,WDViewDefaultType } from '../view/EmptyComponent';
27 import { EmitterEventId, EmitterUtils } from 'wdKit/Index' 27 import { EmitterEventId, EmitterUtils } from 'wdKit/Index'
  28 +import { ColorUtils } from '../../utils/ColorUtils';
  29 +
28 30
29 const TAG = 'MorningEveningPaperComponent'; 31 const TAG = 'MorningEveningPaperComponent';
30 32
@@ -217,7 +219,9 @@ export struct MorningEveningPaperComponent { @@ -217,7 +219,9 @@ export struct MorningEveningPaperComponent {
217 console.log(TAG, "compInfoBean compStyle = " + imageUrl) 219 console.log(TAG, "compInfoBean compStyle = " + imageUrl)
218 220
219 if (this.pageInfoBean.backgroundColor.length > 0){ 221 if (this.pageInfoBean.backgroundColor.length > 0){
220 - this.mixedBgColor = this.pageInfoBean.backgroundColor 222 + let colorDatas = ColorUtils.hexColorValueToRGB(this.pageInfoBean.backgroundColor)
  223 + let color = ColorUtils.getMorningEveningPaperRgb({red:colorDatas[0],green:colorDatas[1],blue:colorDatas[2],alpha:1})
  224 + this.mixedBgColor = "#ff" + color.red.toString(16).padStart(2,'0') + color.green.toString(16).padStart(2,'0') + color.blue.toString(16).padStart(2,'0');
221 return 225 return
222 } 226 }
223 227
@@ -251,9 +255,9 @@ export struct MorningEveningPaperComponent { @@ -251,9 +255,9 @@ export struct MorningEveningPaperComponent {
251 effectKit.createColorPicker(pixelMap, (err, colorPicker) => { 255 effectKit.createColorPicker(pixelMap, (err, colorPicker) => {
252 let color = colorPicker.getLargestProportionColor(); 256 let color = colorPicker.getLargestProportionColor();
253 console.log(TAG, "compInfoBean compStyle = " + color) 257 console.log(TAG, "compInfoBean compStyle = " + color)
254 - // color = ColorUtils.getMorningEveningPaperRgb({red:color.red,green:color.green,blue:color.blue,alpha:color.alpha}) 258 + color = ColorUtils.getMorningEveningPaperRgb({red:color.red,green:color.green,blue:color.blue,alpha:color.alpha})
255 // 将取色器选取的color示例转换为十六进制颜色代码 259 // 将取色器选取的color示例转换为十六进制颜色代码
256 - this.mixedBgColor = "#" + color.alpha.toString(16) + color.red.toString(16).padStart(2,'0') + color.green.toString(16).padStart(2,'0') + color.blue.toString(16).padStart(2,'0'); 260 + this.mixedBgColor = "#ff" + color.alpha.toString(16) + color.red.toString(16).padStart(2,'0') + color.green.toString(16).padStart(2,'0') + color.blue.toString(16).padStart(2,'0');
257 console.log(TAG, "compInfoBean compStyle = " + this.mixedBgColor) 261 console.log(TAG, "compInfoBean compStyle = " + this.mixedBgColor)
258 }); 262 });
259 } 263 }
@@ -52,13 +52,33 @@ export struct PeopleShipHomeListComponent { @@ -52,13 +52,33 @@ export struct PeopleShipHomeListComponent {
52 52
53 Tabs({ barPosition: BarPosition.Start, controller: this.controller }) { 53 Tabs({ barPosition: BarPosition.Start, controller: this.controller }) {
54 ForEach(this.tabArr, (item: ArticleTypeData, index: number) => { 54 ForEach(this.tabArr, (item: ArticleTypeData, index: number) => {
55 - TabContent() {  
56 - PeopleShipHomeArticleListComponent({  
57 - typeModel: item,  
58 - creatorId: this.creatorId,  
59 - currentTopSelectedIndex: this.currentIndex,  
60 - currentIndex: index  
61 - }) 55 + if (index == 0){
  56 + TabContent() {
  57 + PeopleShipHomeArticleListComponent({
  58 + typeModel: item,
  59 + creatorId: this.creatorId,
  60 + currentTopSelectedIndex: this.currentIndex,
  61 + currentIndex: index
  62 + })
  63 + }.gesture(PanGesture(new PanGestureOptions({ direction: PanDirection.Right})))
  64 + }else if(index == this.tabArr.length - 1){
  65 + TabContent() {
  66 + PeopleShipHomeArticleListComponent({
  67 + typeModel: item,
  68 + creatorId: this.creatorId,
  69 + currentTopSelectedIndex: this.currentIndex,
  70 + currentIndex: index
  71 + })
  72 + }.gesture(PanGesture(new PanGestureOptions({ direction: PanDirection.Left})))
  73 + }else{
  74 + TabContent() {
  75 + PeopleShipHomeArticleListComponent({
  76 + typeModel: item,
  77 + creatorId: this.creatorId,
  78 + currentTopSelectedIndex: this.currentIndex,
  79 + currentIndex: index
  80 + })
  81 + }
62 } 82 }
63 // .tabBar(this.Tab(index, item.name ?? '')) 83 // .tabBar(this.Tab(index, item.name ?? ''))
64 }) 84 })
@@ -179,14 +179,16 @@ export class ColorUtils { @@ -179,14 +179,16 @@ export class ColorUtils {
179 179
180 public static getMorningEveningPaperRgb(color: ColorRgb): ColorRgb { 180 public static getMorningEveningPaperRgb(color: ColorRgb): ColorRgb {
181 // RGB颜色取值范围是0~255,需要转换为0~1的浮点数 181 // RGB颜色取值范围是0~255,需要转换为0~1的浮点数
182 - const red: number = color.red;  
183 - const green: number = color.green;  
184 - const blue: number = color.blue; 182 +
  183 + const red: number = color.red / MAX_RGB_VALUE;
  184 + const green: number = color.green / MAX_RGB_VALUE;
  185 + const blue: number = color.blue / MAX_RGB_VALUE;
185 186
186 const max: number = Math.max(red, green, blue); 187 const max: number = Math.max(red, green, blue);
187 const min: number = Math.min(red, green, blue); 188 const min: number = Math.min(red, green, blue);
188 const delta: number = max - min; 189 const delta: number = max - min;
189 190
  191 +
190 // 色调 192 // 色调
191 let hue: number = 0; 193 let hue: number = 0;
192 // 饱和度 194 // 饱和度
@@ -427,86 +427,86 @@ @@ -427,86 +427,86 @@
427 </div> 427 </div>
428 428
429 <!-- 分享 --> 429 <!-- 分享 -->
430 - <div class="share" v-if="shareOpen" :style="{ marginTop: actieInfo.show ? '0.64rem' : undefined }">  
431 - <div  
432 - v-if="details.shareInfo.sharePosterOpen == 1"  
433 - class="sharePoster share-wrapper share-box"  
434 - @click="openShare('8')"  
435 - :style="{ width: details.shareInfo.sharePosterOpen == 1 ? `calc(${100/4}%)` : undefined }"  
436 - >  
437 - <img v-if="darkMode === 'light'" class="image-first" src="./image/share/firstStart@1x.png" alt="">  
438 - <img v-else-if="darkMode === 'dark'" class="image-first" src="./image/dark/firstStart.png" alt="">  
439 - <img v-if="darkMode === 'light'" class="image-center" src="./image/share/firstCenter@1x.png" alt="">  
440 - <img v-else-if="darkMode === 'dark'" class="image-center" src="./image/dark/firstCenter.png" alt="">  
441 - <img v-if="darkMode === 'light'" class="image-end" src="./image/share/firstEnd@1x.png" alt="">  
442 - <img v-else-if="darkMode === 'dark'" class="image-end" src="./image/dark/firstEnd.png" alt="">  
443 - <div class="share-content">  
444 - <img src="./image/share/poster.svg" alt="">  
445 - <span>海报</span>  
446 - </div>  
447 - <img v-if="shareNewPoster" class="news" src="./image/share/posterNew.svg" alt="">  
448 - </div>  
449 - <div  
450 - class="share-wechat share-wrapper"  
451 - :class="details.shareInfo.sharePosterOpen == 1 ? 'share-box-center center' : 'share-box'"  
452 - @click="openShare('3')"  
453 - :style="{ width: details.shareInfo.sharePosterOpen == 1 ? `calc(${100/4}% + ${5.8/37.5}rem)` : `calc(${100/3}% + ${(7.5/3)/37.5}rem)` }"  
454 - >  
455 -  
456 - <template v-if="details.shareInfo.sharePosterOpen == 1">  
457 - <img v-if="darkMode === 'light'" class="image-first" src="./image/share/secondStart@1x.png" alt="">  
458 - <img v-else-if="darkMode === 'dark'" class="image-first" src="./image/dark/secondStart.png" alt="">  
459 - <img v-if="darkMode === 'light'" class="image-center" src="./image/share/secondCenter@1x.png" alt="">  
460 - <img v-else-if="darkMode === 'dark'" class="image-center" src="./image/dark/secondCenter.png" alt="">  
461 - <img v-if="darkMode === 'light'" class="image-end" src="./image/share/secondEnd@1x.png" alt="">  
462 - <img v-else-if="darkMode === 'dark'" class="image-end" src="./image/dark/secondEnd.png" alt="">  
463 - </template>  
464 - <template v-else>  
465 - <img v-if="darkMode === 'light'" class="image-first" src="./image/share/firstStart@1x.png" alt="">  
466 - <img v-else-if="darkMode === 'dark'" class="image-first" src="./image/dark/firstStart.png" alt="">  
467 - <img v-if="darkMode === 'light'" class="image-center" src="./image/share/firstCenter@1x.png" alt="">  
468 - <img v-else-if="darkMode === 'dark'" class="image-center" src="./image/dark/firstCenter.png" alt="">  
469 - <img v-if="darkMode === 'light'" class="image-end" src="./image/share/firstEnd@1x.png" alt="">  
470 - <img v-else-if="darkMode === 'dark'" class="image-end" src="./image/dark/firstEnd.png" alt="">  
471 - </template>  
472 - <div class="share-content">  
473 - <img src="./image/share/wechat.svg" alt="">  
474 - <span>微信</span>  
475 - </div>  
476 - </div>  
477 - <div  
478 - class="share-wechat-circle share-box-center share-wrapper"  
479 - @click="openShare('4')"  
480 - :style="{ width: details.shareInfo.sharePosterOpen == 1 ? `calc(${100/4}% + ${5.8/37.5}rem)` : `calc(${100/3}% + ${(7.5/3)/37.5}rem)` }"  
481 - >  
482 - <img v-if="darkMode === 'light'" class="image-first" src="./image/share/secondStart@1x.png" alt="">  
483 - <img v-else-if="darkMode === 'dark'" class="image-first" src="./image/dark/secondStart.png" alt="">  
484 - <img v-if="darkMode === 'light'" class="image-center" src="./image/share/secondCenter@1x.png" alt="">  
485 - <img v-else-if="darkMode === 'dark'" class="image-center" src="./image/dark/secondCenter.png" alt="">  
486 - <img v-if="darkMode === 'light'" class="image-end" src="./image/share/secondEnd@1x.png" alt="">  
487 - <img v-else-if="darkMode === 'dark'" class="image-end" src="./image/dark/secondEnd.png" alt="">  
488 - <div class="share-content">  
489 - <img src="./image/share/wechatCircle.svg" alt="">  
490 - <span>朋友圈</span>  
491 - </div>  
492 - </div>  
493 - <div  
494 - class="share-weibo share-box-last share-wrapper"  
495 - @click="openShare('5')"  
496 - :style="{ width: details.shareInfo.sharePosterOpen == 1 ? `calc(${100/4}%)` : `calc(${100/3}% + ${(7.5/3)/37.5}rem)` }"  
497 - >  
498 - <img v-if="darkMode === 'light'" class="image-first" src="./image/share/thirdStart@1x.png" alt="">  
499 - <img v-else-if="darkMode === 'dark'" class="image-first" src="./image/dark/thirdStart.png" alt="">  
500 - <img v-if="darkMode === 'light'" class="image-center" src="./image/share/thirdCenter@1x.png" alt="">  
501 - <img v-else-if="darkMode === 'dark'" class="image-center" src="./image/dark/thirdCenter.png" alt="">  
502 - <img v-if="darkMode === 'light'" class="image-end" src="./image/share/thirdEnd@1x.png" alt="">  
503 - <img v-else-if="darkMode === 'dark'" class="image-end" src="./image/dark/thirdEnd.png" alt="">  
504 - <div class="share-content">  
505 - <img src="./image/share/weibo.svg" alt="">  
506 - <span>微博</span>  
507 - </div>  
508 - </div>  
509 - </div> 430 +<!-- <div class="share" v-if="shareOpen" :style="{ marginTop: actieInfo.show ? '0.64rem' : undefined }">-->
  431 +<!-- <div-->
  432 +<!-- v-if="details.shareInfo.sharePosterOpen == 1"-->
  433 +<!-- class="sharePoster share-wrapper share-box"-->
  434 +<!-- @click="openShare('8')"-->
  435 +<!-- :style="{ width: details.shareInfo.sharePosterOpen == 1 ? `calc(${100/4}%)` : undefined }"-->
  436 +<!-- >-->
  437 +<!-- <img v-if="darkMode === 'light'" class="image-first" src="./image/share/firstStart@1x.png" alt="">-->
  438 +<!-- <img v-else-if="darkMode === 'dark'" class="image-first" src="./image/dark/firstStart.png" alt="">-->
  439 +<!-- <img v-if="darkMode === 'light'" class="image-center" src="./image/share/firstCenter@1x.png" alt="">-->
  440 +<!-- <img v-else-if="darkMode === 'dark'" class="image-center" src="./image/dark/firstCenter.png" alt="">-->
  441 +<!-- <img v-if="darkMode === 'light'" class="image-end" src="./image/share/firstEnd@1x.png" alt="">-->
  442 +<!-- <img v-else-if="darkMode === 'dark'" class="image-end" src="./image/dark/firstEnd.png" alt="">-->
  443 +<!-- <div class="share-content">-->
  444 +<!-- <img src="./image/share/poster.svg" alt="">-->
  445 +<!-- <span>海报</span>-->
  446 +<!-- </div>-->
  447 +<!-- <img v-if="shareNewPoster" class="news" src="./image/share/posterNew.svg" alt="">-->
  448 +<!-- </div>-->
  449 +<!-- <div-->
  450 +<!-- class="share-wechat share-wrapper"-->
  451 +<!-- :class="details.shareInfo.sharePosterOpen == 1 ? 'share-box-center center' : 'share-box'"-->
  452 +<!-- @click="openShare('3')"-->
  453 +<!-- :style="{ width: details.shareInfo.sharePosterOpen == 1 ? `calc(${100/4}% + ${5.8/37.5}rem)` : `calc(${100/3}% + ${(7.5/3)/37.5}rem)` }"-->
  454 +<!-- >-->
  455 +<!-- -->
  456 +<!-- <template v-if="details.shareInfo.sharePosterOpen == 1">-->
  457 +<!-- <img v-if="darkMode === 'light'" class="image-first" src="./image/share/secondStart@1x.png" alt="">-->
  458 +<!-- <img v-else-if="darkMode === 'dark'" class="image-first" src="./image/dark/secondStart.png" alt="">-->
  459 +<!-- <img v-if="darkMode === 'light'" class="image-center" src="./image/share/secondCenter@1x.png" alt="">-->
  460 +<!-- <img v-else-if="darkMode === 'dark'" class="image-center" src="./image/dark/secondCenter.png" alt="">-->
  461 +<!-- <img v-if="darkMode === 'light'" class="image-end" src="./image/share/secondEnd@1x.png" alt="">-->
  462 +<!-- <img v-else-if="darkMode === 'dark'" class="image-end" src="./image/dark/secondEnd.png" alt="">-->
  463 +<!-- </template>-->
  464 +<!-- <template v-else>-->
  465 +<!-- <img v-if="darkMode === 'light'" class="image-first" src="./image/share/firstStart@1x.png" alt="">-->
  466 +<!-- <img v-else-if="darkMode === 'dark'" class="image-first" src="./image/dark/firstStart.png" alt="">-->
  467 +<!-- <img v-if="darkMode === 'light'" class="image-center" src="./image/share/firstCenter@1x.png" alt="">-->
  468 +<!-- <img v-else-if="darkMode === 'dark'" class="image-center" src="./image/dark/firstCenter.png" alt="">-->
  469 +<!-- <img v-if="darkMode === 'light'" class="image-end" src="./image/share/firstEnd@1x.png" alt="">-->
  470 +<!-- <img v-else-if="darkMode === 'dark'" class="image-end" src="./image/dark/firstEnd.png" alt="">-->
  471 +<!-- </template>-->
  472 +<!-- <div class="share-content">-->
  473 +<!-- <img src="./image/share/wechat.svg" alt="">-->
  474 +<!-- <span>微信</span>-->
  475 +<!-- </div>-->
  476 +<!-- </div>-->
  477 +<!-- <div-->
  478 +<!-- class="share-wechat-circle share-box-center share-wrapper"-->
  479 +<!-- @click="openShare('4')"-->
  480 +<!-- :style="{ width: details.shareInfo.sharePosterOpen == 1 ? `calc(${100/4}% + ${5.8/37.5}rem)` : `calc(${100/3}% + ${(7.5/3)/37.5}rem)` }"-->
  481 +<!-- >-->
  482 +<!-- <img v-if="darkMode === 'light'" class="image-first" src="./image/share/secondStart@1x.png" alt="">-->
  483 +<!-- <img v-else-if="darkMode === 'dark'" class="image-first" src="./image/dark/secondStart.png" alt="">-->
  484 +<!-- <img v-if="darkMode === 'light'" class="image-center" src="./image/share/secondCenter@1x.png" alt="">-->
  485 +<!-- <img v-else-if="darkMode === 'dark'" class="image-center" src="./image/dark/secondCenter.png" alt="">-->
  486 +<!-- <img v-if="darkMode === 'light'" class="image-end" src="./image/share/secondEnd@1x.png" alt="">-->
  487 +<!-- <img v-else-if="darkMode === 'dark'" class="image-end" src="./image/dark/secondEnd.png" alt="">-->
  488 +<!-- <div class="share-content">-->
  489 +<!-- <img src="./image/share/wechatCircle.svg" alt="">-->
  490 +<!-- <span>朋友圈</span>-->
  491 +<!-- </div>-->
  492 +<!-- </div>-->
  493 +<!-- <div-->
  494 +<!-- class="share-weibo share-box-last share-wrapper"-->
  495 +<!-- @click="openShare('5')"-->
  496 +<!-- :style="{ width: details.shareInfo.sharePosterOpen == 1 ? `calc(${100/4}%)` : `calc(${100/3}% + ${(7.5/3)/37.5}rem)` }"-->
  497 +<!-- >-->
  498 +<!-- <img v-if="darkMode === 'light'" class="image-first" src="./image/share/thirdStart@1x.png" alt="">-->
  499 +<!-- <img v-else-if="darkMode === 'dark'" class="image-first" src="./image/dark/thirdStart.png" alt="">-->
  500 +<!-- <img v-if="darkMode === 'light'" class="image-center" src="./image/share/thirdCenter@1x.png" alt="">-->
  501 +<!-- <img v-else-if="darkMode === 'dark'" class="image-center" src="./image/dark/thirdCenter.png" alt="">-->
  502 +<!-- <img v-if="darkMode === 'light'" class="image-end" src="./image/share/thirdEnd@1x.png" alt="">-->
  503 +<!-- <img v-else-if="darkMode === 'dark'" class="image-end" src="./image/dark/thirdEnd.png" alt="">-->
  504 +<!-- <div class="share-content">-->
  505 +<!-- <img src="./image/share/weibo.svg" alt="">-->
  506 +<!-- <span>微博</span>-->
  507 +<!-- </div>-->
  508 +<!-- </div>-->
  509 +<!-- </div>-->
510 <div class="reload-page" v-if="baseNode == 'dev'" @click="mockAppClearData">模拟app复用重新加载</div> 510 <div class="reload-page" v-if="baseNode == 'dev'" @click="mockAppClearData">模拟app复用重新加载</div>
511 </div> 511 </div>
512 512