Полный продакшен-рефактор fix25: split peer/admin, удаление legacy, шифрование secret, auth_id, новые API/роуты и зачистка subscription

This commit is contained in:
2026-05-09 00:27:45 +05:00
parent e60594e09e
commit d73bab99ec
34 changed files with 930 additions and 1673 deletions
+19
View File
@@ -1,6 +1,8 @@
import request from "@/utils/request";
import { AxiosPromise } from "axios";
import {
KickPeerDto,
PeerClientConfigVo,
PeerPageDto,
PeerSaveDto,
PeerUpdateDto,
@@ -59,6 +61,23 @@ export function releaseKickPeerApi(data: IdDto): AxiosPromise {
});
}
export function kickPeerApi(id: number, data: KickPeerDto): AxiosPromise {
return request({
url: `/peers/${id}/kick`,
method: "post",
data,
});
}
export function getPeerClientConfigApi(
id: number
): AxiosPromise<PeerClientConfigVo> {
return request({
url: `/peers/${id}/client-config`,
method: "get",
});
}
export function importPeerApi(data: FormData): AxiosPromise {
return request({
url: "/peers/import",
+32 -43
View File
@@ -1,62 +1,51 @@
export interface PeerPageDto extends BaseDto {
username?: string;
deleted?: number;
name?: string;
disabled?: number;
remark?: string;
}
export interface PeerUpdateDto extends IdDto {
username: string;
pass: string;
conPass: string;
quota: number;
expireTime: number;
deviceNo: number;
deleted: number;
remark: string;
name?: string;
secret?: string;
quotaBytes?: number;
expiresAt?: number;
maxDevices?: number;
disabled?: number;
remark?: string;
}
export interface PeerSaveDto {
username: string;
pass: string;
conPass: string;
quota: number;
expireTime: number;
deviceNo: number;
deleted: number;
name: string;
secret?: string;
quotaBytes: number;
expiresAt: number;
maxDevices: number;
disabled: number;
remark: string;
}
export interface PeerVo extends IdDto {
username: string;
quota: number;
download: number;
upload: number;
expireTime: number;
kickUtilTime: number;
deviceNo: number;
role: string;
deleted: number;
name: string;
remark: string;
authId: string;
quotaBytes: number;
downloadBytes: number;
uploadBytes: number;
expiresAt: number;
maxDevices: number;
disabled: number;
bannedUntil: number;
lastConnectionAt: number;
createTime: string;
online: boolean;
device: number;
loginAt: number;
conAt: number;
remark: string;
onlineDevices: number;
}
export interface PeerForm extends IdDto {
username: string;
pass: string;
conPass: string;
quota: number;
expireTime: number;
deviceNo: number;
deleted: number;
remark: string;
export interface PeerClientConfigVo {
url: string;
qrCode: string | Uint8Array;
}
export interface KickPeerForm {
ids: number[];
kickUtilTime: number;
export interface KickPeerDto {
bannedUntil: number;
}