mirror of
https://github.com/NapNeko/NapCatQQ.git
synced 2026-02-05 23:19:37 +00:00
77 lines
2.4 KiB
TypeScript
77 lines
2.4 KiB
TypeScript
import { RequestHandler } from 'express';
|
|
|
|
import { WebUiDataRuntime } from '@webapi/helper/Data';
|
|
import { isEmpty } from '@webapi/utils/check';
|
|
import { sendError, sendSuccess } from '@webapi/utils/response';
|
|
|
|
// 获取QQ登录二维码
|
|
export const QQGetQRcodeHandler: RequestHandler = async (req, res) => {
|
|
// 判断是否已经登录
|
|
if (WebUiDataRuntime.getQQLoginStatus()) {
|
|
// 已经登录
|
|
return sendError(res, 'QQ Is Logined');
|
|
}
|
|
// 获取二维码
|
|
const qrcodeUrl = WebUiDataRuntime.getQQLoginQrcodeURL();
|
|
// 判断二维码是否为空
|
|
if (isEmpty(qrcodeUrl)) {
|
|
return sendError(res, 'QRCode Get Error');
|
|
}
|
|
// 返回二维码URL
|
|
const data = {
|
|
qrcode: qrcodeUrl,
|
|
};
|
|
return sendSuccess(res, data);
|
|
};
|
|
|
|
// 获取QQ登录状态
|
|
export const QQCheckLoginStatusHandler: RequestHandler = async (req, res) => {
|
|
const data = {
|
|
isLogin: WebUiDataRuntime.getQQLoginStatus(),
|
|
qrcodeurl: WebUiDataRuntime.getQQLoginQrcodeURL(),
|
|
};
|
|
return sendSuccess(res, data);
|
|
};
|
|
|
|
// 快速登录
|
|
export const QQSetQuickLoginHandler: RequestHandler = async (req, res) => {
|
|
// 获取QQ号
|
|
const { uin } = req.body;
|
|
// 判断是否已经登录
|
|
const isLogin = WebUiDataRuntime.getQQLoginStatus();
|
|
if (isLogin) {
|
|
return sendError(res, 'QQ Is Logined');
|
|
}
|
|
// 判断QQ号是否为空
|
|
if (isEmpty(uin)) {
|
|
return sendError(res, 'uin is empty');
|
|
}
|
|
|
|
// 获取快速登录状态
|
|
const { result, message } = await WebUiDataRuntime.requestQuickLogin(uin);
|
|
if (!result) {
|
|
return sendError(res, message);
|
|
}
|
|
//本来应该验证 但是http不宜这么搞 建议前端验证
|
|
//isLogin = WebUiDataRuntime.getQQLoginStatus();
|
|
return sendSuccess(res, null);
|
|
};
|
|
|
|
// 获取快速登录列表
|
|
export const QQGetQuickLoginListHandler: RequestHandler = async (_, res) => {
|
|
const quickLoginList = WebUiDataRuntime.getQQQuickLoginList();
|
|
return sendSuccess(res, quickLoginList);
|
|
};
|
|
|
|
// 获取快速登录列表(新)
|
|
export const QQGetLoginListNewHandler: RequestHandler = async (_, res) => {
|
|
const newLoginList = WebUiDataRuntime.getQQNewLoginList();
|
|
return sendSuccess(res, newLoginList);
|
|
};
|
|
|
|
// 获取登录的QQ的信息
|
|
export const getQQLoginInfoHandler: RequestHandler = async (_, res) => {
|
|
const data = WebUiDataRuntime.getQQLoginInfo();
|
|
return sendSuccess(res, data);
|
|
};
|