MatchMaster/server/laf-cloud/functions/canRebornGift.ts

41 lines
1.4 KiB
TypeScript

import cloud from '@lafjs/cloud'
const db = cloud.database();
import Utils from "@/Utils";
export default async function (ctx: FunctionContext) {
let uid = ctx.body.uid;
if (!uid) {
return { code: 0, data: null, msg: "参数错误" };
}
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 rebornGiftTime = res.data.rebornGiftTime || 0;
let rebornGiftCount = res.data.rebornGiftCount || 0;
let times = getTodayStartTimestamp();
if (rebornGiftTime < times) {
rebornGiftCount = 0;
}
if (rebornGiftCount >= 1) {
return { code: 0, data: null, msg: "今天购买次数已用完" };
}
db.collection(dbname).where({ _id: uid }).update({ rebornGiftTime: rebornGiftTime, rebornGiftCount: rebornGiftCount });
return { code: 1, data: { rebornGiftTime: rebornGiftTime, rebornGiftCount: rebornGiftCount }, msg: "可以购买" };
}
function getTodayStartTimestamp() {
const date = new Date();
date.setHours(0, 0, 0, 0);
return date.getTime();
}