陈剑华

Merge remote-tracking branch 'origin/main'

... ... @@ -31,6 +31,11 @@ import DailyPaperTopicModel from '../../model/DailyPaperTopicModel';
const TAG = 'MorningEveningPaperComponent';
interface newsInfo {
currentStatus: number | string | undefined,
url: string
}
@Entry
@Component
export struct MorningEveningPaperComponent {
... ... @@ -138,6 +143,10 @@ export struct MorningEveningPaperComponent {
this.fetchData()
}
}
EmitterUtils.receiveEvent(EmitterEventId.AUDIO_CHANGE_STATUS, (val: number | string | undefined) => {
// console.log(TAG, 'this.currentStatus', val)
this.currentStatus = val
})
}
async fetchData() {
... ... @@ -191,6 +200,25 @@ export struct MorningEveningPaperComponent {
this.audioPlayUrl = compInfoBean?.compList[0].audioDataList[0]?.audioUrl
this.audioTitle = compInfoBean?.compList[0].audioDataList[0]?.title
// console.log(TAG, 'this.audioPlayUrl', this.audioPlayUrl)
const newsInfo = this.AudioSuspension.newsInfo();
// console.log(TAG, 'newsInfo', newsInfo)
if (newsInfo) {
try {
const parsedInfo: newsInfo = JSON.parse(newsInfo);
const url = parsedInfo.url;
// console.log(TAG, 'url', url)
// console.log(TAG, 'this.audioUrl', this.audioUrl)
if (url == this.audioPlayUrl) {
this.currentStatus = parsedInfo.currentStatus
}
} catch (error) {
console.error(`${TAG} Error parsing newsInfo:`, error);
}
} else {
console.log(`${TAG} No newsInfo available`);
}
}
}
... ...
... ... @@ -41,6 +41,11 @@ const TAG = 'OperRowListView';
})
*/
interface newsInfo {
currentStatus: number | string | undefined,
url: string
}
@Preview
@Component
export struct OperRowListView {
... ... @@ -103,6 +108,7 @@ export struct OperRowListView {
// console.info(TAG, 'this.needLike', this.needLike)
this.handleStyle()
this.onDetailUpdated()
EmitterUtils.receiveEvent(EmitterEventId.AUDIO_CHANGE_STATUS, (val: number | string | undefined) => {
// console.log(TAG, 'this.currentStatus', val)
this.currentStatus = val
... ... @@ -187,6 +193,25 @@ export struct OperRowListView {
this.audioTitle = this.contentDetailData.newsTitle || ''
// console.log(TAG, 'this.audioUrl+++', this.audioUrl)
// console.log(TAG, 'this.audioTitle+++', this.audioTitle)
const newsInfo = this.AudioSuspension.newsInfo();
// console.log(TAG, 'newsInfo', newsInfo)
if (newsInfo) {
try {
const parsedInfo: newsInfo = JSON.parse(newsInfo);
const url = parsedInfo.url;
// console.log(TAG, 'url', url)
// console.log(TAG, 'this.audioUrl', this.audioUrl)
if (url == this.audioUrl) {
this.currentStatus = parsedInfo.currentStatus
}
} catch (error) {
console.error(`${TAG} Error parsing newsInfo:`, error);
}
} else {
console.log(`${TAG} No newsInfo available`);
}
}
// 2:竖屏直播页 3:图集 4:横屏直播页
if(this.pageComponentType == 2 || this.pageComponentType == 4) {
... ... @@ -475,10 +500,10 @@ export struct OperRowListView {
}
]
}
console.info(TAG, '查询用户对作品收藏1', JSON.stringify(params))
// console.info(TAG, '查询用户对作品收藏1', JSON.stringify(params))
// console.info(TAG, '查询用户对作品收藏11', JSON.stringify(params))
let data = await MultiPictureDetailViewModel.getInteractDataStatus(params)
console.info(TAG, '查询用户对作品收藏22', JSON.stringify(data))
// console.info(TAG, '查询用户对作品收藏22', JSON.stringify(data))
this.newsStatusOfUser = data[0];
} catch (exception) {
// console.error(TAG, JSON.stringify(exception))
... ... @@ -491,9 +516,9 @@ export struct OperRowListView {
async toggleCollectStatus() {
// 未登录,跳转登录
const user_id = await SPHelper.default.get(SpConstants.USER_ID, '')
console.log(TAG, '收藏点击,登录', user_id)
// console.log(TAG, '收藏点击,登录', user_id)
if (!user_id) {
console.log(TAG, '收藏点击,用户未登录')
// console.log(TAG, '收藏点击,用户未登录')
if (this.dialogBeforeJumpOtherPageAction) { this.dialogBeforeJumpOtherPageAction() }
WDRouterRule.jumpWithPage(WDRouterPage.loginPage)
return
... ... @@ -524,7 +549,7 @@ export struct OperRowListView {
}
}
console.log(TAG, '收藏点击', JSON.stringify(params))
// console.log(TAG, '收藏点击', JSON.stringify(params))
PageRepository.postExecuteCollectRecord(params).then(res => {
if (this.newsStatusOfUser && res.code == 0) {
this.newsStatusOfUser.collectStatus = this.newsStatusOfUser?.collectStatus === 1 ? 0 : 1
... ... @@ -536,7 +561,7 @@ export struct OperRowListView {
}
this.queryContentInteractCount()
}
console.log(TAG, '收藏点击 this.newsStatusOfUser', JSON.stringify(this.newsStatusOfUser))
// console.log(TAG, '收藏点击 this.newsStatusOfUser', JSON.stringify(this.newsStatusOfUser))
}).catch((error:Error) =>{
ToastUtils.showToast(error.message, 1000);
})
... ... @@ -553,9 +578,9 @@ export struct OperRowListView {
contentType: this.contentDetailData?.newsType,
}]
}
console.log(TAG, '查询点赞、收藏数量', JSON.stringify(params))
// console.log(TAG, '查询点赞、收藏数量', JSON.stringify(params))
PageRepository.getContentInteract(params).then(res => {
console.log(TAG, '查询点赞、收藏数量 res', JSON.stringify(res))
// console.log(TAG, '查询点赞、收藏数量 res', JSON.stringify(res))
if (res.data) {
this.interactData.likeNum = NumberFormatterUtils.formatNumberWithWan(res.data[0]?.likeNum)
this.interactData.collectNum = NumberFormatterUtils.formatNumberWithWan(res.data[0]?.collectNum)
... ...
... ... @@ -13,7 +13,6 @@ export class AudioSuspensionModel {
public playerController: SubscribedAbstractProperty<WDPlayerController> = AppStorage.link<WDPlayerController>('playerController')
public floatWindowClass: SubscribedAbstractProperty<window.Window> = AppStorage.link<window.Window>('floatWindowClass')
public srcTitle: string = ''
private url: string = ''
// 窗口是否最小化
private isMinimize: SubscribedAbstractProperty<boolean> = AppStorage.link<boolean>('isMinimize')
constructor() {
... ... @@ -40,8 +39,7 @@ export class AudioSuspensionModel {
* 配置音频地址
*/
public async setPlayerUrl(url: string, srcTitle: string, srcContentId?: string, srcSource?: string) {
/*console.log(TAG,'this.url', this.url)
console.log(TAG,'url', url)*/
// console.log(TAG,'url', url)
this.playerController.get().keepOnBackground = true
BackgroundAudioController.sharedController().avplayerController = this.playerController.get()
await BackgroundAudioController.sharedController().createSession()
... ... @@ -50,7 +48,7 @@ export class AudioSuspensionModel {
await BackgroundAudioController.sharedController().setSessionMetaData(srcContentId ?? "", srcTitle, $r("app.media.system_audio_icon_bk_center"), srcSource ?? "")
BackgroundAudioController.sharedController().stopUseFeatures()
if (this.url === url) {
if (this.playerController.get().getUrl() === url) {
this.isMinimize = AppStorage.link<boolean>('isMinimize')
// console.log(TAG, 'this.isMinimize', this.isMinimize?.get())
if (this.isMinimize?.get()) {
... ... @@ -61,7 +59,6 @@ export class AudioSuspensionModel {
this.playerController.get().switchPlayOrPause()
}
} else {
this.url = url
this.playerController.get().firstPlay(url)
this.playerController.get().onCanplay = () => {
this.playerController.get().play()
... ... @@ -120,6 +117,16 @@ export class AudioSuspensionModel {
// console.info(TAG, 'Succeeded in minimizing the window.');
});
}
// 获取当前播放状态 newsId作为参数
public newsInfo() {
const currentStatus = this.playerController.get().getStatus()
const url = this.playerController.get().getUrl()
return JSON.stringify({ currentStatus, url })
}
public switchPlayOrPause() {
this.playerController.get().switchPlayOrPause()
}
... ...
... ... @@ -430,6 +430,10 @@ export class WDPlayerController {
return this.status;
}
getUrl() {
return this.url
}
getPlayer() {
return this.avPlayer;
}
... ...