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:"694e064b35004ffb5aba0dc6"}).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: "694e064b35004ffb5aba0dc6" }).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: "可以购买" }; } }