import cloud from '@lafjs/cloud' const db = cloud.database(); import Utils from "@/Utils"; const CDKreward = { wucaixiaoxiaole666: { 1001: 1000, 2001: 1, 2002: 1, 2003: 1, } } export default async function (ctx: FunctionContext) { let uid = ctx.body.uid; if (!uid) { return { code: 0, data: null, msg: "参数错误" }; } let cdk = ctx.body.cdk; if (!cdk) { return { code: 0, data: null, msg: "未获取到cdk" } } cdk = cdk.toLowerCase(); let dbname = "users"; const gameName = ctx.body.gameName; if (gameName == "iaa") { dbname = "usersAd"; } let res = await db.collection(dbname).where({ _id: uid }).getOne(); if (res.data == null) { return { code: 0, data: null, msg: "未获取到玩家数据" }; } const token1 = ctx.body.token; if (res.data && res.data.token) { let istoken = Utils.checkToken(token1, res.data.token); if (!istoken) { return { code: 0, data: null, msg: "token校验失败" }; } } let redeem = res.data.redeem || []; if (redeem.includes(cdk)) { return { code: 0, data: null, msg: "已获取奖励" }; } if (cdk.length == 5) { let infos = await db.collection("cdk").where({ code: cdk }).getOne(); if (infos.data == null) { return { code: 0, data: null, msg: "cdk无效" } } let start = new Date(infos.data.start).getTime() - 8 * 3600000; if (Date.now() < start) { return { code: 0, data: null, msg: "活动未开始" } } let end = new Date(infos.data.end_time).getTime() - 8 * 3600000; if (Date.now() > end) { return { code: 0, data: null, msg: "活动已结束" } } redeem.push(cdk); db.collection(dbname).where({ _id: uid }).update({ redeem: redeem }); return { code: 1, data: { reward: { 2001: 1, 2002: 1, 2003: 1, } }, msg: "可以购买" }; } let info = await db.collection("idcount").where({ _id: "69fac04fb4d89b170da4bf64" }).getOne(); let count = info.data.count; if (count.includes(cdk)) { let index = count.indexOf(cdk); count.splice(index, 1); redeem.push(cdk); db.collection(dbname).where({ _id: uid }).update({ redeem: redeem }); await db.collection("idcount").where({ _id: "69fac04fb4d89b170da4bf64" }).update({ count: count }); let money = 600; let num = 1; if (cdk.length == 6) { money = 1500; num = 3; } else if (cdk.length == 8) { money = 600; num = 1; } return { code: 1, data: { reward: { 1001: money, 2001: num, 2002: num, 2003: num, } }, msg: "可以购买" }; } else { let reward = CDKreward[cdk]; if (!reward) { return { code: 0, data: null, msg: "未获取到奖励信息" }; } redeem.push(cdk); db.collection(dbname).where({ _id: uid }).update({ redeem: redeem }); return { code: 1, data: { reward: reward }, msg: "可以购买" }; } }