mirror of
https://github.com/NapNeko/NapCatQQ.git
synced 2026-02-06 13:05:09 +00:00
fear: webui quick login
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import { RequestHandler } from "express";
|
||||
import { DataRuntime } from "../helper/Data";
|
||||
import { sleep } from "@/common/utils/helper";
|
||||
const isEmpty = (data: any) => data === undefined || data === null || data === '';
|
||||
export const QQGetQRcodeHandler: RequestHandler = async (req, res) => {
|
||||
if (await DataRuntime.getQQLoginStatus()) {
|
||||
@@ -36,26 +37,41 @@ export const QQCheckLoginStatusHandler: RequestHandler = (req, res) => {
|
||||
});
|
||||
};
|
||||
export const QQSetQuickLoginHandler: RequestHandler = async (req, res) => {
|
||||
// 未完成
|
||||
const { token } = req.body;
|
||||
if (token) {
|
||||
const isLogin = await DataRuntime.getQQLoginStatus();
|
||||
let { uin } = req.body;
|
||||
let isLogin = await DataRuntime.getQQLoginStatus();
|
||||
if (isLogin) {
|
||||
res.send({
|
||||
code: -1,
|
||||
message: 'QQ Is Logined'
|
||||
});
|
||||
return;
|
||||
}
|
||||
// 未实现
|
||||
if (isEmpty(uin)) {
|
||||
res.send({
|
||||
code: -1,
|
||||
message: 'uin is empty'
|
||||
});
|
||||
return;
|
||||
}
|
||||
let ret = await DataRuntime.getQQQuickLogin(uin);
|
||||
if (!ret.result) {
|
||||
res.send({
|
||||
code: -1,
|
||||
message: ret.message
|
||||
});
|
||||
return;
|
||||
}
|
||||
//本来应该验证 但是http不宜这么搞 建议前端验证
|
||||
//isLogin = await DataRuntime.getQQLoginStatus();
|
||||
res.send({
|
||||
code: 0,
|
||||
message: 'success'
|
||||
});
|
||||
}
|
||||
export const QQGetQuickLoginListHandler: RequestHandler = async (req, res) => {
|
||||
// 未完成
|
||||
const { token } = req.body;
|
||||
if (token) {
|
||||
const isLogin = await DataRuntime.getQQLoginStatus();
|
||||
}
|
||||
// 未实现
|
||||
const quickLoginList = await DataRuntime.getQQQuickLoginList();
|
||||
res.send({
|
||||
code: 0,
|
||||
message: 'success'
|
||||
data: quickLoginList
|
||||
});
|
||||
}
|
||||
@@ -1,9 +1,24 @@
|
||||
let LoginRuntime = {
|
||||
interface LoginRuntimeType {
|
||||
LoginCurrentTime: number;
|
||||
LoginCurrentRate: number;
|
||||
QQLoginStatus: boolean;
|
||||
QQQRCodeURL: string;
|
||||
QQLoginUin: number;
|
||||
NapCatHelper: {
|
||||
CoreQuickLogin: (uin: string) => Promise<{ result: boolean, message: string }>;
|
||||
QQLoginList: string[]
|
||||
}
|
||||
}
|
||||
let LoginRuntime: LoginRuntimeType = {
|
||||
LoginCurrentTime: Date.now(),
|
||||
LoginCurrentRate: 0,
|
||||
QQLoginStatus: false, //得去那边注册个回调刷新
|
||||
QQLoginStatus: false, //已实现 但太傻了 得去那边注册个回调刷新
|
||||
QQQRCodeURL: "",
|
||||
QQLoginUin: 0
|
||||
QQLoginUin: 0,
|
||||
NapCatHelper: {
|
||||
CoreQuickLogin: async (uin: string) => { return { result: false, message: '' }; },
|
||||
QQLoginList: []
|
||||
}
|
||||
}
|
||||
export const DataRuntime = {
|
||||
checkLoginRate: async function (RateLimit: number): Promise<boolean> {
|
||||
@@ -40,5 +55,17 @@ export const DataRuntime = {
|
||||
,
|
||||
getQQLoginUin: async function (): Promise<number> {
|
||||
return LoginRuntime.QQLoginUin;
|
||||
},
|
||||
getQQQuickLoginList: async function (): Promise<any[]> {
|
||||
return LoginRuntime.NapCatHelper.QQLoginList;
|
||||
},
|
||||
setQQQuickLoginList: async function (list: string[]): Promise<void> {
|
||||
LoginRuntime.NapCatHelper.QQLoginList = list;
|
||||
},
|
||||
setQQQuickLogin(func: (uin: string) => Promise<{ result: boolean, message: string }>): void {
|
||||
LoginRuntime.NapCatHelper.CoreQuickLogin = func;
|
||||
},
|
||||
getQQQuickLogin: async function (uin: string): Promise<{ result: boolean, message: string }> {
|
||||
return await LoginRuntime.NapCatHelper.CoreQuickLogin(uin);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user