101 lines
2.8 KiB
TypeScript
101 lines
2.8 KiB
TypeScript
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: "可以购买" };
|
|
}
|
|
|
|
}
|