chore: 同步工作区(streamer audience、verify-o1-data-smoke)以便推送完整树
Some checks failed
CI / notice (push) Has been cancelled

Made-with: Cursor
This commit is contained in:
卡若
2026-04-14 18:52:51 +08:00
parent ea3a589f0b
commit a043367e1d
2 changed files with 52 additions and 1 deletions

View File

@@ -46,7 +46,7 @@ export default function StreamerAudiencePage() {
return (
<div className="min-h-screen bg-background text-foreground p-4 pb-24 max-w-3xl mx-auto">
<div className="flex items-center gap-3 mb-6">
<div className="flex items-center gap-3 mb-6 flex-wrap">
<Button variant="ghost" size="icon" asChild>
<Link href="/streamer/studio">
<ArrowLeft className="h-5 w-5" />
@@ -61,6 +61,9 @@ export default function StreamerAudiencePage() {
{meta?.windowDays ?? "—"} · /
</p>
</div>
<Button variant="outline" size="sm" className="ml-auto" onClick={() => void load()} disabled={loading}>
</Button>
</div>
{loading && <p className="text-sm text-muted-foreground"></p>}

View File

@@ -0,0 +1,48 @@
/**
* O1 数据层冒烟:集合、索引、写入与 admin 查询路径WM-O1
* 执行cd 玩值电竞App && pnpm exec tsx scripts/verify-o1-data-smoke.ts
*/
import { ObjectId } from "mongodb"
import { getDb, closeMongo } from "../lib/mongodb/client"
import { COLLECTIONS } from "../lib/db/mongo/collections"
async function main() {
const db = await getDb()
const collName = COLLECTIONS.userJourneyEvents
const idx = await db.collection(collName).indexes()
const hasStreamerIdx = idx.some((i) => i.name === "props_streamerId_occurredAt_-1")
console.log("[indexes] userJourneyEvents props_streamerId:", hasStreamerIdx ? "OK" : "MISSING")
const testUserId = new ObjectId()
const sid = "69a03c9d0c31b38c1d842ae6"
const now = new Date()
await db.collection(collName).insertOne({
userId: testUserId,
sessionId: "smoke_sess",
clientEventId: `smoke_${Date.now()}`,
eventName: "live.audience.like",
properties: { streamerId: sid, surface: "smoke" },
source: "app",
occurredAt: now,
receivedAt: now,
})
const found = await db
.collection(collName)
.find({ userId: testUserId })
.sort({ occurredAt: -1 })
.limit(3)
.toArray()
console.log("[mongo] inserted + read back:", found.length, "events")
const rfm = await db.collection(COLLECTIONS.rfmRuleSets).countDocuments()
const scores = await db.collection(COLLECTIONS.rfmUserScores).countDocuments()
console.log("[mongo] rfmRuleSets count:", rfm, "rfmUserScores:", scores)
await closeMongo()
console.log("[done] test userId for manual admin check:", testUserId.toString())
}
main().catch((e) => {
console.error(e)
process.exit(1)
})