Created
October 1, 2018 13:26
-
-
Save jcyh0120/b60e0968b00cd6f6b2148a5a1c3627c0 to your computer and use it in GitHub Desktop.
koa api 該怎麼做檢查啊
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
export const 創新角色 = async (ctx, next) => { | |
const { 玩家Id, 角色名稱, 職業, 伺服器 } = ctx.request.body; | |
if (!玩家Id || !角色名稱 || !職業 || !伺服器) { | |
return ctx.throw(422); | |
} | |
const 伺服器資料 = await ctx | |
.db("伺服器列表") | |
.where({ id: 伺服器.id }) | |
.first(); | |
if ( | |
!伺服器資料 || | |
!伺服器資料.serverUrl || | |
typeof 伺服器資料.serverUrl === "string" | |
) { | |
ctx.throw(500); | |
} | |
const { serverUrl } = 伺服器資料; | |
const 新手禮包 = await http.get("https://xxx.xxx/new-role-gift"); | |
if ( | |
!新手禮包 || | |
!新手禮包.新手武器 || | |
!新手禮包.新手防具 || | |
!新手禮包.新手藥品 | |
) { | |
ctx.throw(500); | |
} | |
const { 新手武器, 新手防具, 新手藥品 } = 新手禮包; | |
const VIP禮包 = await http.get("https://xxx.xxx/vip-gift?id=" + 玩家Id); | |
if (!VIP禮包 || !VIP禮包.新手武器 || !VIP禮包.新手防具 || !VIP禮包.新手藥品) { | |
ctx.throw(500); | |
} | |
const { VIP武器, VIP防具, VIP藥品 } = VIP禮包; | |
let 武器, 防具, 藥品; | |
switch (職業) { | |
case "戰士": | |
//懶得檢查了 | |
武器 = [新手武器.劍, VIP武器.劍]; | |
防具 = [新手防具.盔甲, VIP防具.盔甲]; | |
藥品 = [新手藥品.力量瓶, VIP藥品.力量瓶]; | |
break; | |
case "弓箭手": | |
//懶得檢查了 | |
武器 = [新手武器.弓, VIP武器.弓]; | |
防具 = [新手防具.皮甲, VIP防具.皮甲]; | |
藥品 = [新手藥品.加速劑, VIP藥品.加速劑]; | |
break; | |
case "法師": | |
//懶得檢查了 | |
武器 = [新手武器.杖, VIP武器.杖]; | |
防具 = [新手防具.法袍, VIP防具.法袍]; | |
藥品 = [新手藥品.魔力瓶, VIP藥品.魔力瓶]; | |
break; | |
default: | |
break; | |
} | |
const 創建角色 = ctx | |
.db("角色庫") | |
.insert({ | |
玩家Id, | |
角色名稱, | |
職業, | |
武器, | |
防具, | |
藥品 | |
}) | |
.returning("*"); | |
if (!創建角色) { | |
ctx.throw(500); | |
} | |
const 連結伺服器 = await http.get( | |
serverUrl + "/connect-player?id" + 創建角色.id | |
); | |
if (連結伺服器.結果) { | |
ctx.body = { code: "OK" }; | |
} else { | |
ctx.throw(xxx, "忙線中"); | |
} | |
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
export const 創新角色 = async (ctx, next) => { | |
const { 玩家Id, 角色名稱, 職業, 伺服器 } = ctx.request.body; | |
const { serverUrl } = await ctx | |
.db("伺服器列表") | |
.where({ id: 伺服器.id }) | |
.first(); | |
const 新手禮包 = await http.get("https://xxx.xxx/new-role-gift"); | |
const { 新手武器, 新手防具, 新手藥品 } = 新手禮包; | |
const VIP禮包 = await http.get("https://xxx.xxx/vip-gift?id=" + 玩家Id); | |
const { VIP武器, VIP防具, VIP藥品 } = VIP禮包; | |
let 武器, 防具, 藥品; | |
switch (職業) { | |
case "戰士": | |
武器 = [新手武器.劍, VIP武器.劍]; | |
防具 = [新手防具.盔甲, VIP防具.盔甲]; | |
藥品 = [新手藥品.力量瓶, VIP藥品.力量瓶]; | |
break; | |
case "弓箭手": | |
武器 = [新手武器.弓, VIP武器.弓]; | |
防具 = [新手防具.皮甲, VIP防具.皮甲]; | |
藥品 = [新手藥品.加速劑, VIP藥品.加速劑]; | |
break; | |
case "法師": | |
武器 = [新手武器.杖, VIP武器.杖]; | |
防具 = [新手防具.法袍, VIP防具.法袍]; | |
藥品 = [新手藥品.魔力瓶, VIP藥品.魔力瓶]; | |
break; | |
default: | |
break; | |
} | |
const 創建角色 = ctx | |
.db("角色庫") | |
.insert({ | |
玩家Id, | |
角色名稱, | |
職業, | |
武器, | |
防具, | |
藥品 | |
}) | |
.returning("*"); | |
const 連結伺服器 = await http.get( | |
serverUrl + "/connect-player?id" + 創建角色.id | |
); | |
if (連結伺服器.結果) { | |
ctx.body = { code: "OK" }; | |
} else { | |
ctx.throw(xxx, "忙線中"); | |
} | |
}; |
horsekitlin
commented
Oct 1, 2018
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment