Files
cli/assistant/src/routes/user/index.ts
2025-11-18 01:32:00 +08:00

34 lines
835 B
TypeScript

import { app, assistantConfig } from '../../app.ts';
app.route({
path: 'admin',
key: 'login',
description: '管理员用户登录',
}).define(async (ctx) => {
const { username, password } = ctx.query;
const query = assistantConfig.query;
const auth = assistantConfig.getConfig().auth;
const res = await query.post({
path: 'user',
key: 'login',
data: {
username,
password,
},
})
if (res.code !== 200) {
return ctx.throw(401, 'login failed');
}
const loginUser = res.data.username;
if (auth.username && loginUser !== auth.username) {
return ctx.throw(403, 'login user is not admin user');
}
if (!auth.username) {
// 初始管理员账号
auth.username = 'admin';
assistantConfig.setConfig({ auth });
}
// 保存配置
ctx.body = res.data;
}).addTo(app);