当前位置: 首页 > news >正文

直播的js代码debug解析找到protobuf消息的定义

我们都知道直播的弹幕消息是通过websocket发送的,而且是通过protobuf传输的,那么这里面传输了哪些内容,这个proto文件又要怎么定义?每个消息叫什么,消息里面又包含有哪些字段,每个字段又是什么类型?都可以通过js查看得到。

找到解析入口

上一节我们找到了_decodeFrameOrResponse,这里面的_decode函数就是解析proto协议的:

然后看一下_decode里面是啥?

而这个_decode里面又依赖了一个r.decode的函数,这里才是比较核心的:

如果我没猜错,左侧js文件里面包含schema的都是对应一个proto里面的一个消息:

看到没,这里面就是这个消息的字段和类型,这个消息就是PushFrame消息,然后我们完成复刻到proto中:

然后我们自己定义解析的js代码时否能解析出来:

完美解析出来了,牛不牛🐮

然后我们继续看一下Response里面的内容是啥:

然后继续调试

MemberMessage就找出来了: 

ChatMessage消息也有了:

那一共都有哪些消息呢?大概统计了一下:

fo = ((sa = fo || {}).AuthorConnectMessage = "AuthorConnectMessage",sa.LiveCommonMessage = "LiveCommonMessage",sa.LiveInteractionMessage = "LiveInteractionMessage",sa.CouponActivityInfoMessage = "CouponActivityInfoMessage",sa.CouponMetaInfoMessage = "CouponMetaInfoMessage",sa.LiveMarketingMessage = "LiveMarketingMessage",sa.LivePopMessage = "LivePopMessage",sa.CategoryRefreshMessage = "CategoryRefreshMessage",sa.ProductListRefreshMessage = "ProductListRefreshMessage",sa.ProductListUpdateMessage = "ProductListUpdateMessage",sa.ProductRefreshMessage = "ProductRefreshMessage",sa.ProductUpdateMessage = "ProductUpdateMessage",sa.LiveSellerMessage = "LiveSellerMessage",sa.RoomBorderMessage = "RoomBorderMessage",sa.ActivityEmojiGroupsMessage = "ActivityEmojiGroupsMessage",sa.ActivityInteractiveMessage = "ActivityInteractiveMessage",sa.InteractEffectMessage = "InteractEffectMessage",sa.ActivityMagicAsianGamesMessage = "ActivityMagicAsianGamesMessage",sa.MagicGestureActivityMessage = "MagicGestureActivityMessage",sa.ActivityMagicMessage = "ActivityMagicMessage",sa.PixActivityMessage = "PixActivityMessage",sa.PrizeNoticeMessage = "PrizeNoticeMessage",sa.ActivityEffectRefreshMessage = "ActivityEffectRefreshMessage",sa.AdminPrivilegeMessage = "AdminPrivilegeMessage",sa.AdminRecordHandleMessage = "AdminRecordHandleMessage",sa.AdminRecordMessage = "AdminRecordMessage",sa.AnchorBoostMessage = "AnchorBoostMessage",sa.AnchorCommonPopupMessage = "AnchorCommonPopupMessage",sa.AnchorRoomDataChangeMessage = "AnchorRoomDataChangeMessage",sa.PCAnchorRoomDataChangeMessage = "PCAnchorRoomDataChangeMessage",sa.AnswerReviewMessage = "AnswerReviewMessage",sa.AssetEffectUtilMessage = "AssetEffectUtilMessage",sa.AssetMessage = "AssetMessage",sa.AudioBGImgMessage = "AudioBGImgMessage",sa.AudioChatMessage = "AudioChatMessage",sa.AuthorizationNotifyMessage = "AuthorizationNotifyMessage",sa.AutoCoverMessage = "AutoCoverMessage",sa.AvatarRoomLeaveMessage = "AvatarRoomLeaveMessage",sa.AwemeShopExplainMessage = "AwemeShopExplainMessage",sa.BackRecordVideoMessage = "BackRecordVideoMessage",sa.BattleAutoMatchMessage = "BattleAutoMatchMessage",sa.BattleCancelMessage = "BattleCancelMessage",sa.BattleDrawPropMessage = "BattleDrawPropMessage",sa.BattleEffectContainerMessage = "BattleEffectContainerMessage",sa.BattleFeedBackCardMessage = "BattleFeedBackCardMessage",sa.BattleFrontRankMessage = "BattleFrontRankMessage",sa.BattleGuidanceMessage = "BattleGuidanceMessage",sa.BattleInviteMessage = "BattleInviteMessage",sa.BattleModeMessage = "BattleModeMessage",sa.BattleMultiMatchMessage = "BattleMultiMatchMessage",sa.BattleNotifyMessage = "BattleNotifyMessage",sa.BattlePowerContainerMessage = "BattlePowerContainerMessage",sa.BattlePrecisionMatchMessage = "BattlePrecisionMatchMessage",sa.BattleRejectMessage = "BattleRejectMessage",sa.BattleRewardMessage = "BattleRewardMessage",sa.BattleSeasonPKResultMessage = "BattleSeasonPKResultMessage",sa.BattleStateSyncMessage = "BattleStateSyncMessage",sa.BattleTeamTaskAskMessage = "BattleTeamTaskAskMessage",sa.BattleTeamTaskMessage = "BattleTeamTaskMessage",sa.BattleToastMessage = "BattleToastMessage",sa.BattleUseCardMessage = "BattleUseCardMessage",sa.BeginnerGuideMessage = "BeginnerGuideMessage",sa.LinkmicBigEventMessage = "LinkmicBigEventMessage",sa.BridgeMessage = "BridgeMessage",sa.BrotherhoodMessage = "BrotherhoodMessage",sa.CarBallShowMessage = "CarBallShowMessage",sa.CarSeriesInfoMessage = "CarSeriesInfoMessage",sa.CarnivalMessage = "CarnivalMessage",sa.CategoryChangeMessage = "CategoryChangeMessage",sa.ChatCarnivalMessage = "ChatCarnivalMessage",sa.ChatMessage = "ChatMessage",sa.EmojiChatMessage = "EmojiChatMessage",sa.FriendChatMessage = "FriendChatMessage",sa.ChorusMessage = "ChorusMessage",sa.ClientFallbackDynamicMessage = "ClientFallbackDynamicMessage",sa.CNYATaskMessage = "CNYATaskMessage",sa.CommentaryChangeMessage = "CommentaryChangeMessage",sa.CommentsMessage = "CommentsMessage",sa.CommerceSaleMessage = "CommerceSaleMessage",sa.CommerceMessage = "CommerceMessage",sa.CommonCardAreaMessage = "CommonCardAreaMessage",sa.CommonGuideMessage = "CommonGuideMessage",sa.CommonLuckyMoneyMessage = "CommonLuckyMoneyMessage",sa.TaskPanelMessage = "TaskPanelMessage",sa.TaskRewardToastMessage = "TaskRewardToastMessage",sa.CommonPopupMessage = "CommonPopupMessage",sa.CommonPushMessage = "CommonPushMessage",sa.CommonTextMessage = "CommonTextMessage",sa.CommonToastMessage = "CommonToastMessage",sa.ControlMessage = "ControlMessage",sa.WebcastLifeLotteryDrawResultEventMessage = "WebcastLifeLotteryDrawResultEventMessage",sa.DataLifeLiveMessage = "DataLifeLiveMessage",sa.DecorationModifyMessage = "DecorationModifyMessage",sa.DecorationUpdateMessage = "DecorationUpdateMessage",sa.DiggMessage = "DiggMessage",sa.DLiveMessage = "DLiveMessage",sa.OfficialRoomMessage = "OfficialRoomMessage",sa.CeremonyMessage = "CeremonyMessage",sa.RecommendUsersMessage = "RecommendUsersMessage",sa.DolphinSettingUpdateMessage = "DolphinSettingUpdateMessage",sa.DonationMessage = "DonationMessage",sa.DoodleGiftMessage = "DoodleGiftMessage",sa.DoubleLikeHeartMessage = "DoubleLikeHeartMessage",sa.DoubleLikeTopUserMessage = "DoubleLikeTopUserMessage",sa.DouplusIndicatorMessage = "DouplusIndicatorMessage",sa.DouplusMessage = "DouplusMessage",sa.DragonFruitQuizMessage = "DragonFruitQuizMessage",sa.DressAssetMessage = "DressAssetMessage",sa.DriveGiftMessage = "DriveGiftMessage",sa.DrumMessage = "DrumMessage",sa.DutyGiftMessage = "DutyGiftMessage",sa.EasterEggMessage = "EasterEggMessage",sa.EcomFansClubMessage = "EcomFansClubMessage",sa.CornerReachMessage = "CornerReachMessage",sa.TempStateAreaReachMessage = "TempStateAreaReachMessage",sa.EpisodeChatMessage = "EpisodeChatMessage",sa.FansGroupGuideMessage = "FansGroupGuideMessage",sa.FansclubStatisticsMessage = "FansclubStatisticsMessage",sa.FansclubMessage = "FansclubMessage",sa.FansclubReviewMessage = "FansclubReviewMessage",sa.FansclubGuideMessage = "FansclubGuideMessage",sa.FeaturedPublicScreenSettingMessage = "FeaturedPublicScreenSettingMessage",sa.FeedbackActionMessage = "FeedbackActionMessage",sa.FeedbackCardMessage = "FeedbackCardMessage",sa.FireworkMessage = "FireworkMessage",sa.FireworkMultiMessage = "FireworkMultiMessage",sa.FollowGuideMessage = "FollowGuideMessage",sa.BrokerNotifyMessage = "BrokerNotifyMessage",sa.FreeCellGiftMessage = "FreeCellGiftMessage",sa.FreeGiftMessage = "FreeGiftMessage",sa.GamblingStatusChangedMessage = "GamblingStatusChangedMessage",sa.GameChannelMessage = "GameChannelMessage",sa.GameAncAudEntranceMessage = "GameAncAudEntranceMessage",sa.GameAncAudStatusMessage = "GameAncAudStatusMessage",sa.GameAncAudPanelCtrlMessage = "GameAncAudPanelCtrlMessage",sa.GameAncAudDataFromAncMessage = "GameAncAudDataFromAncMessage",sa.GameAncAudDataFromAudMessage = "GameAncAudDataFromAudMessage",sa.GameDevelopMessage = "GameDevelopMessage",sa.GameGiftMessage = "GameGiftMessage",sa.GameGiftStatusMessage = "GameGiftStatusMessage",sa.GameStatusMessage = "GameStatusMessage",sa.GameIntroduceMessage = "GameIntroduceMessage",sa.GameIntroduceShowMessage = "GameIntroduceShowMessage",sa.GameInviteMessage = "GameInviteMessage",sa.GameInviteReplyMessage = "GameInviteReplyMessage",sa.GameOnLivePromoteMessage = "GameOnLivePromoteMessage",sa.OnLivePromoteMessage = "OnLivePromoteMessage",sa.GamePVPMessage = "GamePVPMessage",sa.GameStatusUpdateMessage = "GameStatusUpdateMessage",sa.GameCPAnchorPromoteInfoMessage = "GameCPAnchorPromoteInfoMessage",sa.GameCPBaseMessage = "GameCPBaseMessage",sa.GameCPShowMessage = "GameCPShowMessage",sa.GameCPUserDownloadMessage = "GameCPUserDownloadMessage",sa.GameCPAnchorReminderMessage = "GameCPAnchorReminderMessage",sa.GameCPUserRoomMetaMessage = "GameCPUserRoomMetaMessage",sa.CloudGamingPodMessage = "CloudGamingPodMessage",sa.GamePlayTeamStatusMessage = "GamePlayTeamStatusMessage",sa.GamePlayInviteMessage = "GamePlayInviteMessage",sa.GamePlayStatusMessage = "GamePlayStatusMessage",sa.GiftConsumeRemindMessage = "GiftConsumeRemindMessage",sa.GiftCycleReleaseMessage = "GiftCycleReleaseMessage",sa.ExhibitionTopLeftMessage = "ExhibitionTopLeftMessage",sa.ExhibitionChatMessage = "ExhibitionChatMessage",sa.GiftIconFlashMessage = "GiftIconFlashMessage",sa.GiftTouchMessage = "GiftTouchMessage",sa.GiftUpdateMessage = "GiftUpdateMessage",sa.GiftVoteMessage = "GiftVoteMessage",sa.GiftMessage = "GiftMessage",sa.BindingGiftMessage = "BindingGiftMessage",sa.GradeBuffAnchorShareMessage = "GradeBuffAnchorShareMessage",sa.GroupLiveMemberChangeMessage = "GroupLiveMemberChangeMessage",sa.GroupShowUserUpdateMessage = "GroupShowUserUpdateMessage",sa.GrowthTaskMessage = "GrowthTaskMessage",sa.GuestBattleScoreMessage = "GuestBattleScoreMessage",sa.GuestBattleMessage = "GuestBattleMessage",sa.GuideMessage = "GuideMessage",sa.HighValueUserDataMessage = "HighValueUserDataMessage",sa.HotChatMessage = "HotChatMessage",sa.HotRoomMessage = "HotRoomMessage",sa.ImDeleteMessage = "ImDeleteMessage",sa.InRoomBannerRefreshMessage = "InRoomBannerRefreshMessage",sa.InRoomBannerMessage = "InRoomBannerMessage",sa.InRoomBannerEvent = "InRoomBannerEvent",sa.InfoBoxMessage = "InfoBoxMessage",sa.InstantCommandMessage = "InstantCommandMessage",sa.InteractControlMessage = "InteractControlMessage",sa.InteractOpenDevelopMessage = "InteractOpenDevelopMessage",sa.InteractionInfoMessage = "InteractionInfoMessage",sa.InteractionPlayOpenCloudGameMessage = "InteractionPlayOpenCloudGameMessage",sa.InteractionPlayRealNameAuthMessage = "InteractionPlayRealNameAuthMessage",sa.IntercomInviteMessage = "IntercomInviteMessage",sa.IntercomReplyMessage = "IntercomReplyMessage",sa.ItemShareMessage = "ItemShareMessage",sa.JackfruitMessage = "JackfruitMessage",sa.EcomBuyIntentionMessage = "EcomBuyIntentionMessage",sa.KtvAtmosphereVideoMessage = "KtvAtmosphereVideoMessage",sa.KTVContestSupportMessage = "KTVContestSupportMessage",sa.KtvDressMessage = "KtvDressMessage",sa.KtvGrabSongResultMessage = "KtvGrabSongResultMessage",sa.KTVPlayModeStartMessage = "KTVPlayModeStartMessage",sa.KTVShortVideoCreatedMessage = "KTVShortVideoCreatedMessage",sa.KTVSingerHotRankPosMessage = "KTVSingerHotRankPosMessage",sa.KtvChallengeConfigMessage = "KtvChallengeConfigMessage",sa.KTVChallengeRankMessage = "KTVChallengeRankMessage",sa.KTVChallengeStatusMessage = "KTVChallengeStatusMessage",sa.KTVStartGrabSongMessage = "KTVStartGrabSongMessage",sa.KTVUserSingingHotMessage = "KTVUserSingingHotMessage",sa.KtvMessage = "KtvMessage",sa.LevelUpMessage = "LevelUpMessage",sa.LightGiftMessage = "LightGiftMessage",sa.LikeMessage = "LikeMessage",sa.RoomChannelLinkMessage = "RoomChannelLinkMessage",sa.LinkerContributeMessage = "LinkerContributeMessage",sa.LinkMessage = "LinkMessage",sa.LinkMicBattleTaskMessage = "LinkMicBattleTaskMessage",sa.ChijiNoticeMessage = "ChijiNoticeMessage",sa.LinkMicEnterNoticeMessage = "LinkMicEnterNoticeMessage",sa.LinkMicFriendOnlineMessage = "LinkMicFriendOnlineMessage",sa.LinkMicGuideMessage = "LinkMicGuideMessage",sa.LinkMicKtvBeatRankMessage = "LinkMicKtvBeatRankMessage",sa.LinkMicKtvEffectMessage = "LinkMicKtvEffectMessage",sa.LinkMicMethod = "LinkMicMethod",sa.LinkmicOrderSingListMessage = "LinkmicOrderSingListMessage",sa.LinkmicOrderSingMessage = "LinkmicOrderSingMessage",sa.LinkmicOrderSingScoreMessage = "LinkmicOrderSingScoreMessage",sa.LinkMicPositionMessage = "LinkMicPositionMessage",sa.LinkMicSendEmojiMessage = "LinkMicSendEmojiMessage",sa.LinkSettingNotifyMessage = "LinkSettingNotifyMessage",sa.LinkMicSignalingMethod = "LinkMicSignalingMethod",sa.LinkMicAdventureScoreMessage = "LinkMicAdventureScoreMessage",sa.LinkMicAdventureMessage = "LinkMicAdventureMessage",sa.LinkMicAudienceKtvMessage = "LinkMicAudienceKtvMessage",sa.LinkmicChatMatchMessage = "LinkmicChatMatchMessage",sa.LinkmicEcologyMessage = "LinkmicEcologyMessage",sa.LinkmicEnlargeGuestMessage = "LinkmicEnlargeGuestMessage",sa.LinkmicPlaymodeMessage = "LinkmicPlaymodeMessage",sa.LinkmicProfitEggMessage = "LinkmicProfitEggMessage",sa.LinkmicProfitMessage = "LinkmicProfitMessage",sa.LinkmicReviewMessage = "LinkmicReviewMessage",sa.SelfDisciplinePunchMessage = "SelfDisciplinePunchMessage",sa.LinkmicSelfDisciplineMessage = "LinkmicSelfDisciplineMessage",sa.LinkmicStarWishMessage = "LinkmicStarWishMessage",sa.LinkmicTeamfightScoreMessage = "LinkmicTeamfightScoreMessage",sa.LinkmicTeamfightMessage = "LinkmicTeamfightMessage",sa.LinkmicThemedCompetitionMessage = "LinkmicThemedCompetitionMessage",sa.LiveBindMicroAppMessage = "LiveBindMicroAppMessage",sa.LiveEcomGeneralMessage = "LiveEcomGeneralMessage",sa.LiveEcomMessage = "LiveEcomMessage",sa.LiveMateDemoteMessage = "LiveMateDemoteMessage",sa.ProductChangeMessage = "ProductChangeMessage",sa.LiveShoppingMessage = "LiveShoppingMessage",sa.LiveStreamControlMessage = "LiveStreamControlMessage",sa.LotteryBurstMessage = "LotteryBurstMessage",sa.LotteryMessage = "LotteryMessage",sa.XGLotteryMessage = "XGLotteryMessage",sa.LotteryEventMessage = "LotteryEventMessage",sa.LotteryExpandEventMessage = "LotteryExpandEventMessage",sa.LotteryEventNewMessage = "LotteryEventNewMessage",sa.LotteryCandidateEventMessage = "LotteryCandidateEventMessage",sa.LotteryDrawResultEventMessage = "LotteryDrawResultEventMessage",sa.LuckyBoxTempStatusMessage = "LuckyBoxTempStatusMessage",sa.LuckyBoxMessage = "LuckyBoxMessage",sa.LuckyBoxEndMessage = "LuckyBoxEndMessage",sa.LuckyBoxRewardMessage = "LuckyBoxRewardMessage",sa.LuckyMoneyMessage = "LuckyMoneyMessage",sa.MagicBoxMessage = "MagicBoxMessage",sa.MatchAgainstScoreMessage = "MatchAgainstScoreMessage",sa.MatchCollectionMessage = "MatchCollectionMessage",sa.MatchHighLightPointMessage = "MatchHighLightPointMessage",sa.MatchHostChangeMessage = "MatchHostChangeMessage",sa.MatchHotMessage = "MatchHotMessage",sa.MatchVenueMessage = "MatchVenueMessage",sa.MediaRoomNoticeMessage = "MediaRoomNoticeMessage",sa.MediaLiveReplayVidMessage = "MediaLiveReplayVidMessage",sa.MemberEntranceUpdateMessage = "MemberEntranceUpdateMessage",sa.MemberMessage = "MemberMessage",sa.MotorCustomMessage = "MotorCustomMessage",sa.AuctionMessage = "AuctionMessage",sa.NabobImNoticeMessage = "NabobImNoticeMessage",sa.NobleEnterLeaveMessage = "NobleEnterLeaveMessage",sa.NobleToastMessage = "NobleToastMessage",sa.NobleUpgradeMessage = "NobleUpgradeMessage",sa.NoticeMessage = "NoticeMessage",sa.NotifyEffectMessage = "NotifyEffectMessage",sa.OChannelAnchorMessage = "OChannelAnchorMessage",sa.OChannelUserMessage = "OChannelUserMessage",sa.OChannelModifyMessage = "OChannelModifyMessage",sa.OChannelLastestShowMessage = "OChannelLastestShowMessage",sa.OChannelGrabMicShowMessage = "OChannelGrabMicShowMessage",sa.GameToolCounterMessage = "GameToolCounterMessage",sa.GameToolRoundMessage = "GameToolRoundMessage",sa.PaidLiveDataMessage = "PaidLiveDataMessage",sa.PaidLiveTypeModifyMessage = "PaidLiveTypeModifyMessage",sa.PkActivePushMessage = "PkActivePushMessage",sa.PKIconBubbleMessage = "PKIconBubbleMessage",sa.PlatformAdviseMessage = "PlatformAdviseMessage",sa.PlayDebugEntranceMessage = "PlayDebugEntranceMessage",sa.PopularCardMessage = "PopularCardMessage",sa.PortalMessage = "PortalMessage",sa.PrivilegeScreenChatMessage = "PrivilegeScreenChatMessage",sa.PrivilegeVoiceWaveMessage = "PrivilegeVoiceWaveMessage",sa.ProfileViewMessage = "ProfileViewMessage",sa.ProfitGameMessage = "ProfitGameMessage",sa.ProfitInteractionScoreMessage = "ProfitInteractionScoreMessage",sa.ProfitReportMessage = "ProfitReportMessage",sa.VsProgrammeStateControlMessage = "VsProgrammeStateControlMessage",sa.PromptMessage = "PromptMessage",sa.PropertyNoticeMessage = "PropertyNoticeMessage",sa.PropsBGImgMessage = "PropsBGImgMessage",sa.PublicAreaHoverMessage = "PublicAreaHoverMessage",sa.PullStreamUpdateMessage = "PullStreamUpdateMessage",sa.PushMessage = "PushMessage",sa.FansclubV1PushMessage = "FansclubV1PushMessage",sa.QuizBeginMessage = "QuizBeginMessage",sa.QuizBetMessage = "QuizBetMessage",sa.QuizAnchorStatusMessage = "QuizAnchorStatusMessage",sa.QuizAudienceStatusMessage = "QuizAudienceStatusMessage",sa.QuizStartMessage = "QuizStartMessage",sa.QuizResultMessage = "QuizResultMessage",sa.QuizChangeMessage = "QuizChangeMessage",sa.RankListAwardMessage = "RankListAwardMessage",sa.RankListHourEnterMessage = "RankListHourEnterMessage",sa.RanklistHourEntranceMessage = "RanklistHourEntranceMessage",sa.RealPersonAuditMessage = "RealPersonAuditMessage",sa.RealTimePlayBackMessage = "RealTimePlayBackMessage",sa.BizMessage = "BizMessage",sa.RealtimeStatusNotifyMessage = "RealtimeStatusNotifyMessage",sa.CreateRedPacketMessage = "CreateRedPacketMessage",sa.RushRedPacketMessage = "RushRedPacketMessage",sa.RoomAppConfigMessage = "RoomAppConfigMessage",sa.RoomAuthInterventionVerifyMessage = "RoomAuthInterventionVerifyMessage",sa.RoomAuthMessage = "RoomAuthMessage",sa.RoomBackgroundMessage = "RoomBackgroundMessage",sa.RoomBottomMessage = "RoomBottomMessage",sa.RoomChallengeMessage = "RoomChallengeMessage",sa.RoomChannelAccessMessage = "RoomChannelAccessMessage",sa.RoomChannelAssetMessage = "RoomChannelAssetMessage",sa.RoomChannelChatMessage = "RoomChannelChatMessage",sa.RoomChannelEmojiChatMessage = "RoomChannelEmojiChatMessage",sa.RoomChannelInteractiveEmojiChatMessage = "RoomChannelInteractiveEmojiChatMessage",sa.RoomChannelDisbandMessage = "RoomChannelDisbandMessage",sa.RoomChannelGiftMessage = "RoomChannelGiftMessage",sa.RoomChannelKickOutMessage = "RoomChannelKickOutMessage",sa.ReplyRoomChannelMessage = "ReplyRoomChannelMessage",sa.RoomChannelSaveGroupMessage = "RoomChannelSaveGroupMessage",sa.RoomChannelStateMessage = "RoomChannelStateMessage",sa.RoomChannelSystemMessage = "RoomChannelSystemMessage",sa.RoomChannelRoleMessage = "RoomChannelRoleMessage",sa.RoomConfigMessage = "RoomConfigMessage",sa.RoomDataSyncMessage = "RoomDataSyncMessage",sa.RoomHotSentenceMessage = "RoomHotSentenceMessage",sa.RoomImgMessage = "RoomImgMessage",sa.RoomIntroMessage = "RoomIntroMessage",sa.RoomManageMessage = "RoomManageMessage",sa.RoomRankMessage = "RoomRankMessage",sa.RoomStartMessage = "RoomStartMessage",sa.RoomStatsMessage = "RoomStatsMessage",sa.RoomStreamAdaptationMessage = "RoomStreamAdaptationMessage",sa.RoomTicketMessage = "RoomTicketMessage",sa.RoomTopMessage = "RoomTopMessage",sa.RoomUnionLiveMessage = "RoomUnionLiveMessage",sa.RoomUserSeqMessage = "RoomUserSeqMessage",sa.RoomVerifyMessage = "RoomVerifyMessage",sa.RoomMessage = "RoomMessage",sa.ScheduleMessage = "ScheduleMessage",sa.ScreenChatMessage = "ScreenChatMessage",sa.ShareGuideMessage = "ShareGuideMessage",sa.SharePosterMessage = "SharePosterMessage",sa.ShelfCardAtmosphereMessage = "ShelfCardAtmosphereMessage",sa.ShelfTradeDataMessage = "ShelfTradeDataMessage",sa.ShortTouchAreaMessage = "ShortTouchAreaMessage",sa.ShowChatMessage = "ShowChatMessage",sa.ShowDouPlusNotifyMessage = "ShowDouPlusNotifyMessage",sa.ShowEffectMessage = "ShowEffectMessage",sa.ShowLinkedLiveRoomsMessage = "ShowLinkedLiveRoomsMessage",sa.ShowMultiCameraChangeMessage = "ShowMultiCameraChangeMessage",sa.ShowWatchInfoMessage = "ShowWatchInfoMessage",sa.SkyEyeAnchorSetMessage = "SkyEyeAnchorSetMessage",sa.SocialMessage = "SocialMessage",sa.SpecialPushMessage = "SpecialPushMessage",sa.UpdateKoiRoomStatusMessage = "UpdateKoiRoomStatusMessage",sa.SportsRealTimeMatchDataMessage = "SportsRealTimeMatchDataMessage",sa.SportsQuizMessage = "SportsQuizMessage",sa.StampMessage = "StampMessage",sa.AudienceEntranceMessage = "AudienceEntranceMessage",sa.CustomizedCardMessage = "CustomizedCardMessage",sa.GameCardMessage = "GameCardMessage",sa.MicroAppShelfMessage = "MicroAppShelfMessage",sa.StreamControlMessage = "StreamControlMessage",sa.SubscribeInfoMessage = "SubscribeInfoMessage",sa.SubscribeAssetMessage = "SubscribeAssetMessage",sa.SubscribeVipLiveMessage = "SubscribeVipLiveMessage",sa.SunDailyRankMessage = "SunDailyRankMessage",sa.SyncStreamInfoMessage = "SyncStreamInfoMessage",sa.SyncStreamMessage = "SyncStreamMessage",sa.SystemMessage = "SystemMessage",sa.TaskCenterCommonMessage = "TaskCenterCommonMessage",sa.TaskCenterCommonPersonalMessage = "TaskCenterCommonPersonalMessage",sa.TaskCenterEntranceMessage = "TaskCenterEntranceMessage",sa.TaskMessage = "TaskMessage",sa.TeamPlayApplyListChangeMessage = "TeamPlayApplyListChangeMessage",sa.TeamPlayDebugEntranceMessage = "TeamPlayDebugEntranceMessage",sa.TeamPlayTeamInfoMessage = "TeamPlayTeamInfoMessage",sa.TeamPlayXGameCloseMessage = "TeamPlayXGameCloseMessage",sa.ToastMessage = "ToastMessage",sa.ToolBarControlMessage = "ToolBarControlMessage",sa.ToolbarItemMessage = "ToolbarItemMessage",sa.TopLeftBubbleMessage = "TopLeftBubbleMessage",sa.TrayEffectMessage = "TrayEffectMessage",sa.TurntableBurstMessage = "TurntableBurstMessage",sa.UgLotteryStatusSyncMessage = "UgLotteryStatusSyncMessage",sa.UnionAnchorMessage = "UnionAnchorMessage",sa.UnionGeneralMessage = "UnionGeneralMessage",sa.AnchorAppointmentNumUpdateMessage = "AnchorAppointmentNumUpdateMessage",sa.AppointmentNumberUpdateMessage = "AppointmentNumberUpdateMessage",sa.UpdateFanTicketMessage = "UpdateFanTicketMessage",sa.CoverSuccessMessage = "CoverSuccessMessage",sa.UploadCoverMessage = "UploadCoverMessage",sa.UpperRightWidgetDataMessage = "UpperRightWidgetDataMessage",sa.UserPrivilegeChangeMessage = "UserPrivilegeChangeMessage",sa.UserStatsMessage = "UserStatsMessage",sa.VerificationCodeMessage = "VerificationCodeMessage",sa.VerifyDecisionMessage = "VerifyDecisionMessage",sa.VideoShareMessage = "VideoShareMessage",sa.VIPInfoMessage = "VIPInfoMessage",sa.VIPSeatMessage = "VIPSeatMessage",sa.VirtualGameActorChatMessage = "VirtualGameActorChatMessage",sa.VirtualActorBatchCommandMessage = "VirtualActorBatchCommandMessage",sa.VirtualGameActorCommandMessage = "VirtualGameActorCommandMessage",sa.VsBusinessConfigureMessage = "VsBusinessConfigureMessage",sa.VsInteractiveMessage = "VsInteractiveMessage",sa.VSLinkRoomMessage = "VSLinkRoomMessage",sa.VsPanelMessage = "VsPanelMessage",sa.VsScheduleMessage = "VsScheduleMessage",sa.VsSwitchControlMessage = "VsSwitchControlMessage",sa.WebcastBattleBonusMessage = "WebcastBattleBonusMessage",sa.WebcastBattlePropertyMessage = "WebcastBattlePropertyMessage",sa.FreshmanSupportMessage = "FreshmanSupportMessage",sa.MiniAppLineUpMessage = "MiniAppLineUpMessage",sa.MiniAppCommonMessage = "MiniAppCommonMessage",sa.InteractOpenAppStatusMessage = "InteractOpenAppStatusMessage",sa.InteractOpenChatMessage = "InteractOpenChatMessage",sa.ActivityCouponInvalidMessage = "ActivityCouponInvalidMessage",sa.InteractOpenDiamondMessage = "InteractOpenDiamondMessage",sa.InteractOpenFollowingMessage = "InteractOpenFollowingMessage",sa.PerformanceFinishMessage = "PerformanceFinishMessage",sa.InteractOpenRewardMessage = "InteractOpenRewardMessage",sa.InteractScreenshotMessage = "InteractScreenshotMessage",sa.InteractOpenViolationMessage = "InteractOpenViolationMessage",sa.WebcastPopularCardMessage = "WebcastPopularCardMessage",sa.PreloadMessage = "PreloadMessage",sa.RoomIndicatorMessage = "RoomIndicatorMessage",sa.TrafficSceneMessage = "TrafficSceneMessage",sa.WelfareProjectOperateMessage = "WelfareProjectOperateMessage",sa.WishFinishMessage = "WishFinishMessage",sa.VideoLiveGoodsRcmdMessage = "VideoLiveGoodsRcmdMessage",sa.VideoLiveCouponRcmdMessage = "VideoLiveCouponRcmdMessage",sa.VideoLiveGoodsOrderMessage = "VideoLiveGoodsOrderMessage",sa.GeneralCarnivalMessage = "GeneralCarnivalMessage",sa.LinkMicArmiesMethod = '"LinkMicArmiesMethod"',sa.LinkMicBattleFinishMethod = '"LinkMicBattleFinishMethod"',sa.LinkMicBattlePunishMethod = '"LinkMicBattlePunishMethod"',sa.LinkMicBattleMethod = '"LinkMicBattleMethod"',sa.RoomNotifyMessage = '"RoomNotifyMessage"',

相关文章:

直播的js代码debug解析找到protobuf消息的定义

我们都知道直播的弹幕消息是通过websocket发送的,而且是通过protobuf传输的,那么这里面传输了哪些内容,这个proto文件又要怎么定义?每个消息叫什么,消息里面又包含有哪些字段,每个字段又是什么类型&#xf…...

详细学习es6扩展运算符

ES6中的扩展运算符(Spread Operator)是一种非常方便的语法,主要用于将可迭代对象(比如数组、字符串等)展开成多个参数。以下是关于ES6扩展运算符的详细内容: 用法: 在数组字面量中展开数组&am…...

HEC-HMS水文模型教程

原文链接:HEC-HMS水文模型教程https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247607904&idx5&sn1a210328a3fc8f941b433674d8fe2c85&chksmfa826787cdf5ee91d01b6981ebd89deac3e350d747d0fec45ce2ef75d7cb8009341c6f55114d&token90645021…...

Spring Cloud LoadBalancer基础入门与应用实践

官网地址:https://docs.spring.io/spring-cloud-commons/reference/spring-cloud-commons/loadbalancer.html 【1】概述 Spring Cloud LoadBalancer是由SpringCloud官方提供的一个开源的、简单易用的客户端负载均衡器,它包含在SpringCloud-commons中用…...

layui在表格中嵌入上传按钮,并修改上传进度条

当需要在表格中添加上传文件按钮,并不需要弹出填写表单的框的时候,需要在layui中,用按钮触发文件选择 有一点需要说明的是,layui定义table并不是在定义的标签中渲染,而是在紧接着的标签中渲染,所以要获取实…...

14-10 AIGC 项目生命周期——第一阶段

生成式 AI 项目生命周期的整个过程类似于从范围、选择、调整和对齐/协调模型以及应用程序集成开始的顺序依赖过程。流程表明每个步骤都建立在前一步的基础上。有必要了解每个阶段对于项目的成功都至关重要。 下面的流程图重点介绍了生成式 AI 项目生命周期的第一阶段 1 — “范…...

经典小游戏(一)C实现——三子棋

switch(input){case 1:printf("三子棋\n");//这里先测试是否会执行成功break;case 0:printf("退出游戏\n");break;default :printf("选择错误,请重新选择!\n");break;}}while(input);//直到输入的结果为假,循环才会结束} …...

如何利用AI生成可视化图表(统计图、流程图、思维导图……)免代码一键绘制图表

由于目前的AI生成图表工具存在以下几个方面的问题: 大多AI图表平台是纯英文,对国内用户来说不够友好;部分平台在生成图表前仍需选择图表类型、配置项,操作繁琐;他们仍需一份规整的数据表格,需要人为对数据…...

Firefox 编译指南2024 Windows10-使用Git 管理您的Firefox(五)

1. 引言 在现代软件开发中,版本控制系统(VCS)是不可或缺的工具,它不仅帮助开发者有效管理代码的变化,还支持团队协作与项目管理。Mercurial 是一个高效且易用的分布式版本控制系统,其设计目标是简洁、快速…...

ubuntu 18 虚拟机安装(1)

ubuntu 18 虚拟机安装 ubuntu 18.04.6 Ubuntu 18.04.6 LTS (Bionic Beaver) https://releases.ubuntu.com/bionic/ 参考: 设置固定IP地址 https://blog.csdn.net/wowocpp/article/details/126160428 https://www.jianshu.com/p/1d133c0dec9d ubuntu-18.04.6-l…...

Github 上 Star 数最多的大模型应用基础服务 Dify 深度解读(一)

背景介绍 接触过大模型应用开发的研发同学应该都或多或少地听过 Dify 这个大模型应用基础服务,这个项目自从 2023 年上线以来,截止目前(2024-6)已经获得了 35k 多的 star,是目前大模型应用基础服务中最热门的项目之一…...

XStream导出xml文件

最终效果 pom依赖 <dependency><groupId>com.thoughtworks.xstream</groupId><artifactId>xstream</artifactId><version>1.4.11.1</version></dependency>代码 XStreamUtil 这个直接复制即可 import com.thoughtworks.xst…...

陪诊小程序搭建:构建便捷医疗陪诊服务的创新实践

在当今快节奏的社会&#xff0c;医疗服务与人们的生活息息相关。然而&#xff0c;在医疗体系中&#xff0c;患者往往面临着信息不对称、流程繁琐、陪伴需求得不到满足等问题。为了解决这些问题&#xff0c;我们提出了一种创新的解决方案——陪诊小程序&#xff0c;旨在为患者提…...

0139__TCP协议

全网最详细TCP参数讲解&#xff0c;再也不用担心没有面试机会了_tcp的参数-CSDN博客 TCP协议详解-腾讯云开发者社区-腾讯云 TCP-各种参数 - 简书...

家政小程序的开发,带动市场快速发展,提高家政服务质量

当下生活水平逐渐提高&#xff0c;也增加了年轻人的工作压力&#xff0c;同时老龄化也在日益增加&#xff0c;使得大众对家政的需求日益提高&#xff0c;能力、服务质量高的家政人员能够有效提高大众的生活幸福指数。 但是&#xff0c;传统的家政服务模式存在着效率低、用户与…...

JavaScript高级程序设计(第四版)--学习记录之对象、类与面向对象编程(下)

类 ES6新引入class关键字具有正式定义类的能力。 类定义&#xff1a;类声明和类表达式。 // 类声明 class Person {} // 类表达式 const Animal class {}; 类定义与函数定义的不同&#xff1a; 1&#xff1a;函数声明可以提升&#xff0c;类定义不能 2&#xff1a;函数受函数…...

PDF 生成(5)— 内容页支持由多页面组成

当学习成为了习惯&#xff0c;知识也就变成了常识。 感谢各位的 关注、点赞、收藏和评论。 新视频和文章会第一时间在微信公众号发送&#xff0c;欢迎关注&#xff1a;李永宁lyn 文章已收录到 github 仓库 liyongning/blog&#xff0c;欢迎 Watch 和 Star。 回顾 在本篇开始…...

day 51 115.不同的子序列 583. 两个字符串的删除操作 72. 编辑距离

115. 不同的子序列 给你两个字符串 s 和 t &#xff0c;统计并返回在 s 的 子序列 中 t 出现的个数&#xff0c;结果需要对 109 7 取模。 示例 1&#xff1a; 输入&#xff1a;s "rabbbit", t "rabbit" 输出&#xff1a;3 解释&#xff1a; 如下所示,…...

http包详解

http包的作用及使用 go的http包是go的web编程的核心内容&#xff0c;go的web框架本质上都是基于http提供的组件进行再度封装。我们来看一下http基本的使用&#xff1a; func main() {http.Handle("/get", GetVal())http.Handle("/hello", Hello())http.H…...

Reqable实战系列:Flutter移动应用抓包调试教程

Flutter应用网络请求调试一直是业内难题&#xff0c;原因在于Dart语言标准库的网络请求不会走Wi-Fi代理&#xff0c;常规通过配置Wi-Fi代理来抓包的方式行不通。这给我们日常开发测试造成了很大的阻碍&#xff0c;严重降低工作效率。因此写一篇教程&#xff0c;讲解如何使用Req…...

Arm Cortex-A35 Cycle Model技术解析与SoC集成实战

1. Arm Cortex-A35 Cycle Model技术解析在SoC设计领域&#xff0c;虚拟平台验证已成为不可或缺的关键环节。作为Armv8-A架构中的能效比优化核心&#xff0c;Cortex-A35处理器通过Cycle Model提供了RTL级精度的硬件行为模拟能力。我在多个车载SoC项目中验证发现&#xff0c;其Cy…...

深度解析VS Code Live Server:高效前端开发实时预览配置秘籍

深度解析VS Code Live Server&#xff1a;高效前端开发实时预览配置秘籍 【免费下载链接】vscode-live-server Launch a development local Server with live reload feature for static & dynamic pages. 项目地址: https://gitcode.com/gh_mirrors/vs/vscode-live-serv…...

别再只用高斯噪声了!手把手教你为DDPG算法注入‘惯性’:Ornstein-Uhlenbeck噪声的Python实现与调参实战

突破DDPG探索瓶颈&#xff1a;Ornstein-Uhlenbeck噪声的工程实践指南 在机器人控制或自动驾驶仿真这类连续动作空间的任务中&#xff0c;DDPG算法常因探索效率低下导致训练停滞。当智能体在MuJoCo环境中反复"原地踏步"时&#xff0c;问题往往不在于算法本身&#xf…...

基于ChatGPT与飞书开放平台构建企业级智能聊天机器人实践指南

1. 项目概述&#xff1a;当ChatGPT遇上飞书&#xff0c;打造你的专属智能工作伙伴 最近在折腾一个挺有意思的项目&#xff0c;叫“chatgpt-for-chatbot-feishu”。简单来说&#xff0c;这就是一个桥梁&#xff0c;一个能让OpenAI的ChatGPT模型&#xff0c;直接接入到飞书&…...

【Midjourney Tea印相全链路解析】:从提示词工程到胶片质感渲染的7大隐性参数控制法则

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Midjourney Tea印相的技术起源与美学范式 Midjourney Tea印相并非传统摄影工艺的简单复刻&#xff0c;而是融合生成式AI语义理解、茶渍拓印物理建模与东亚留白美学的一次跨媒介实验。其技术雏形可追溯至…...

RK3588 NPU部署YOLOv8全流程:从ONNX转换到板端C++/Python推理优化

1. 项目概述&#xff1a;为什么要在RK3588上部署YOLOv8&#xff1f;最近在边缘计算项目里&#xff0c;我遇到了一个典型的需求&#xff1a;客户需要在本地设备上实时分析摄像头画面&#xff0c;识别特定物体并分割出它们的轮廓&#xff0c;同时要求设备功耗低、体积小、成本可控…...

Midjourney概念艺术风格≠调参!20年CG总监拆解:风格生成本质是跨模态语义压缩,3个关键损失函数阈值决定成败

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Midjourney概念艺术风格≠调参&#xff01;20年CG总监的范式颠覆 风格不是参数堆砌&#xff0c;而是语义锚点重构 传统AI绘画工作流常将“风格”等同于反复调整 --s、--style raw 或后缀词如 trending…...

H3C HCL模拟器实战:IS-IS单区域基础配置与排错指南

1. 实验目标与网络环境准备如果你正在学习网络路由协议&#xff0c;特别是运营商级网络常用的IS-IS&#xff0c;那么通过模拟器进行实操是绕不开的一步。这次我用H3C的HCL模拟器&#xff0c;带大家走一遍IS-IS单区域的基本配置。这个实验的目标很明确&#xff1a;不是让你死记硬…...

087、机器人运动学:雅可比矩阵

087、机器人运动学:雅可比矩阵 一、一个让我熬夜三天的调试故事 去年做六轴协作机器人末端力控的时候,遇到一个诡异的问题:机器人末端在某个位姿下,明明关节速度指令给得很平滑,末端速度却突然跳变,导致力控震荡。当时我盯着示波器上的速度曲线,百思不得其解——运动学…...

基于树莓派的智能直播状态指示器:物联网与API轮询实践

1. 项目概述与核心价值 如果你和我一样&#xff0c;经常在Ustream或Google Hangouts上观看固定的直播节目&#xff0c;或者自己就是一名内容创作者&#xff0c;那你肯定理解那种“直播是否开始了”的焦虑。是继续刷新页面&#xff0c;还是去做点别的&#xff1f;对于家庭或小型…...