52 lines
1.9 KiB
TypeScript
52 lines
1.9 KiB
TypeScript
import cloud from '@lafjs/cloud'
|
||
const db = cloud.database();
|
||
import Utils from "@/Utils";
|
||
export default async function (ctx: FunctionContext) {
|
||
const action = ctx.body.action;
|
||
const uid = ctx.body.uid;
|
||
if (!action) {
|
||
return { code: 0, data: null, msg: "未获取到action" };
|
||
}
|
||
if (!uid) {
|
||
return { code: 0, data: null, msg: "未获取到uid" };
|
||
}
|
||
let dbname = "users";
|
||
const gameName = ctx.body.gameName;
|
||
if (gameName == "iaa") {
|
||
dbname = "usersAd";
|
||
}
|
||
let res = await db.collection(dbname).where({ _id: uid }).getOne();
|
||
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校验失败" };
|
||
}
|
||
}
|
||
switch (action) {
|
||
case 'save':
|
||
let passCheck = ctx.body.passCheck;
|
||
if (!passCheck) {
|
||
return { code: 0, data: null, msg: "未获取到coinAmount" };
|
||
}
|
||
let ret = await db.collection(dbname).where({ _id: uid }).update({ passCheck: passCheck });
|
||
return { code: 1, data: { passCheck: passCheck }, msg: "用户数据更新成功" }
|
||
case 'read':
|
||
let passCheck1 = res.data?.passCheck || null;
|
||
let time = await db.collection("idcount").where({ _id: "69fac1528463a95668c5e5db" }).getOne();
|
||
let t = time.data.passcheckTime;
|
||
if (Date.now() > t + 30 * 24 * 3600000) {
|
||
const endOfDay: any = new Date();
|
||
endOfDay.setHours(16, 0, 0, 0); // 设置为明天的0点,等同于今天的24点
|
||
t = endOfDay.getTime();
|
||
await db.collection("idcount").where({ _id: "69fac1528463a95668c5e5db" }).update({ passcheckTime: t });
|
||
}
|
||
return { code: 1, data: { passCheck: passCheck1, time: t }, msg: "成功" }
|
||
default:
|
||
return {
|
||
code: 400,
|
||
message: '无效的操作类型,请使用 save 或 read'
|
||
}
|
||
}
|
||
}
|