Skip to content

Commit d701bf7

Browse files
pizza6inchdada878
authored andcommitted
stage type
1 parent a5fe564 commit d701bf7

File tree

2 files changed

+42
-4
lines changed

2 files changed

+42
-4
lines changed

src/app/api/stage/route.ts

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,26 @@
11
import { NextRequest } from "next/server";
2-
2+
import { StageData } from "@/types";
33
export const GET = async (request: NextRequest) => {
4-
const stageId: string | undefined = request.nextUrl.searchParams
5-
.get("stageId")
6-
?.toString();
4+
const token = request.nextUrl.searchParams.get("token")?.toString();
5+
6+
// 使用token 查詢對應stageID 的stage
7+
// prisma query here
8+
// return StageData
9+
};
10+
// 錯誤情況1: 並非本次與會者invalid token
11+
// 錯誤情況2: 抓取資料問題
12+
13+
export const POST = async (request: NextRequest) => {
14+
const data = await request.json();
15+
const { token, blockId, position } = data;
16+
const { row, column, layer } = position;
17+
// 使用 token 查詢對應stageID 的stage
18+
// 將blockId 放置在 row, column, layer 指定的位置
19+
// prisma query here
20+
// 將更新後的stageData 存入database
21+
// return 更新過後的stageData 給前端
722
};
23+
// 錯誤情況1: 並非本次與會者invalid token
24+
// 錯誤情況2: 非法的blockId
25+
// 錯誤情況3: 非法的position
26+
// 錯誤情況4: 抓取資料問題

src/types/index.ts

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ export type PlayerData = {
1111
name: string; // data.user_id
1212
avatar?: string; //
1313
linktree?: string; //
14+
point: number; //
15+
score: number; //
1416
};
1517

1618
// for self fragment & all fragment api
@@ -65,3 +67,20 @@ export type TeamMemberData = {
6567
isActivated: boolean; // 是否已啟動指南針計畫
6668
}>;
6769
};
70+
71+
export type StageData = {
72+
level: number; // 對該玩家來說是第幾關
73+
floor: number; // 總層數
74+
size: number; // 地圖大小 正方形
75+
map: Array<Array<Array<{ id: string }>>>; // map[layer][row][column]
76+
};
77+
78+
export type LotteryBoxData = {
79+
lotteryBox: Array<{
80+
id: number;
81+
name: string;
82+
description: string;
83+
isFinished: boolean; // 是否已經完成
84+
prizeBlockType?: string; // 如果已完成,得到的獎勵方塊
85+
}>;
86+
};

0 commit comments

Comments
 (0)