控制开始时间

This commit is contained in:
2022-03-31 15:24:42 +08:00
parent 7983b7f824
commit 25ad82b066
3 changed files with 79 additions and 3 deletions

27
pages/api/time/started.js Normal file
View File

@@ -0,0 +1,27 @@
import { authenticate, getStarted, setStarted } from "../../../libs/db";
export default function handler(req, res) {
// get method
if (req.method === "GET") {
res.setHeader("Cache-Control", "no-cache no-store must-revalidate");
res.status(200).json(getStarted());
return;
} else if (req.method === "PUT") {
// authenticate
const { token } = req.body;
if (!authenticate(token)) {
res.status(401).json({
error: `token ${token} 验证失败`,
});
return;
}
// set method
const { started } = req.body;
setStarted(started);
res.status(200).json({
success: true,
});
} else {
res.status(405).send({ error: "方法" + req.method + "不被允许" });
}
}

View File

@@ -29,6 +29,25 @@ export default function Time(props) {
const router = useRouter();
const setStarted = (started) => {
fetch("/api/time/started", {
method: "PUT",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({ token, started }),
})
.then((res) => res.json())
.then((res) => {
if (res.error) {
setSnackbarError(true);
setSnackbarErrorMessage(res.error);
} else {
setSnackbarSuccess(true);
}
});
};
const isAdmin = () => {
if (props.username === "admin") {
return true;
@@ -226,6 +245,20 @@ export default function Time(props) {
>
修改上限
</Button>
<Button
variant="contained"
color="primary"
onClick={() => setStarted(true)}
>
开始
</Button>
<Button
variant="contained"
color="primary"
onClick={() => setStarted(false)}
>
停止
</Button>
</Box>
</Box>
</Box>