107 lines
4.6 KiB
Go
107 lines
4.6 KiB
Go
package routers
|
|
|
|
import (
|
|
"context"
|
|
"sync"
|
|
)
|
|
|
|
var _ = sync.Mutex{}
|
|
var _ = context.Background
|
|
|
|
//
|
|
// 趴趴 (Bubble / SocialMedia) — the phone's WeChat-like app, AppId 12 / SystemId 231.
|
|
// Why this file exists: the panel opens but every tab is empty. The reason is a one-way street on
|
|
// the client — BubbleBasePanelStore.lua:32 calls NewBubbleMgr.AskPostList() when the
|
|
// panel model initialises, and NewBubbleMgr.lua:1061-1065 is the only place that ever fills
|
|
// postDict:
|
|
// <code>
|
|
// for i = 1, #data do
|
|
// local post = data[i]
|
|
// self.lastPostId = math.max(self.lastPostId, post.Id)
|
|
// self.postDict[post.Id] = post
|
|
// end
|
|
// </code>
|
|
// Before this handler the server answered that INVOKE with an empty list (it sat in
|
|
// UnhandledBatch.KnownNeutralInvokeBatch2), so BuildPostList() had nothing to sort
|
|
// into publishers and the friend / mine / home tabs all rendered zero rows.
|
|
// The server only names the post instance. PostConfigId is the client's own
|
|
// SocialMediaConfig id and is what unlocks text, image and comment bodies locally
|
|
// (NewBubbleMgr.lua:429,460,872 all go through SocialMediaConfig.GetConfig(info.PostConfigId)).
|
|
// ⛑ Which tab a post lands in is decided by the client, not by us:
|
|
// BuildPostList puts a post under SHARE when cfg.IfPinStory, under STORY when
|
|
// cfg.IfStory, otherwise under POST — and GetPostPublisher resolves
|
|
// SocialMediaConfig.Publisher → NpcCultivationConfig.AgentTag. Agent type 0 means "my own
|
|
// post" and would file it under the wrong tab, so _gen_bubble_posts.py verifies all 55 publishers
|
|
// map to a non-zero agent type before writing BubblePosts.json.
|
|
//
|
|
func GameRouter_Bubble_AskMomentsPostSimpleInfos(ctx context.Context, conn any, msg any) any {
|
|
// Router implementation for GameRouter_Bubble_AskMomentsPostSimpleInfos
|
|
var zero any; return zero
|
|
}
|
|
|
|
//
|
|
// Pushes SyncOssBucketInfo(64833344) once per session, if Gameplay.OssPicture.Enabled.
|
|
// Why it belongs here: the only client-side consumer of this configuration is the 趴卜 picture
|
|
// widget, and every post only carries an object key, never a URL. The packet is pure
|
|
// configuration — AliOssManager.SetOssBucketInfo just stores the strings — so sending it
|
|
// late (when the panel opens) costs nothing and keeps it out of the critical login frame.
|
|
// Off by default: we do not yet know a bucket/endpoint pair that actually serves
|
|
// Bubble/*.png, and an endpoint pointing nowhere is indistinguishable from none.
|
|
//
|
|
func GameRouter_Bubble_PublishOssBucketInfoOnceAsync(ctx context.Context, conn any, session *GameSession) any {
|
|
// Router implementation for GameRouter_Bubble_PublishOssBucketInfoOnceAsync
|
|
var zero any; return zero
|
|
}
|
|
|
|
func GameRouter_Bubble_BubbleIdSet(ctx context.Context, session *GameSession, key string) []any {
|
|
// Router implementation for GameRouter_Bubble_BubbleIdSet
|
|
return nil
|
|
}
|
|
|
|
func GameRouter_Bubble_AskMomentsPostInfos(ctx context.Context, conn any, msg any) any {
|
|
// Router implementation for GameRouter_Bubble_AskMomentsPostInfos
|
|
var zero any; return zero
|
|
}
|
|
|
|
func GameRouter_Bubble_AskMomentsUnreadMessage(ctx context.Context, conn any, msg any) any {
|
|
// Router implementation for GameRouter_Bubble_AskMomentsUnreadMessage
|
|
var zero any; return zero
|
|
}
|
|
|
|
func GameRouter_Bubble_AskMomentsHaveUnreadMessage(ctx context.Context, conn any, msg any) any {
|
|
// Router implementation for GameRouter_Bubble_AskMomentsHaveUnreadMessage
|
|
var zero any; return zero
|
|
}
|
|
|
|
func GameRouter_Bubble_AskMomentsMarkRead(ctx context.Context, conn any, msg any) any {
|
|
// Router implementation for GameRouter_Bubble_AskMomentsMarkRead
|
|
var zero any; return zero
|
|
}
|
|
|
|
func GameRouter_Bubble_AskMomentsLikePost(ctx context.Context, conn any, msg any) any {
|
|
// Router implementation for GameRouter_Bubble_AskMomentsLikePost
|
|
var zero any; return zero
|
|
}
|
|
|
|
func GameRouter_Bubble_AskMomentsTapPostWithCount(ctx context.Context, conn any, msg any) any {
|
|
// Router implementation for GameRouter_Bubble_AskMomentsTapPostWithCount
|
|
var zero any; return zero
|
|
}
|
|
|
|
func GameRouter_Bubble_AskMomentsSendCommentWithId(ctx context.Context, conn any, msg any) any {
|
|
// Router implementation for GameRouter_Bubble_AskMomentsSendCommentWithId
|
|
var zero any; return zero
|
|
}
|
|
|
|
//
|
|
// Best-effort extraction of the post ids a Moments request wants. Both the Int7 and Int32
|
|
// count generations exist across these handlers and reading the wrong one silently yields
|
|
// garbage ids, so this only ever returns ids it can also prove plausible (non-zero, and not
|
|
// more than the body can hold).
|
|
//
|
|
func GameRouter_Bubble_MomentsRequestedIds(ctx context.Context, msg any) []any {
|
|
// Router implementation for GameRouter_Bubble_MomentsRequestedIds
|
|
return nil
|
|
}
|
|
|