xy-server/game/gate/FrozenIPMgr.ts
2025-04-23 09:34:08 +08:00

57 lines
1.1 KiB
TypeScript

import { MsgCode } from "../role/EEnum";
import DB from "../utils/DB";
export default class FrozenIPMgr {
static shared=new FrozenIPMgr();
frozenlist:any[];
constructor(){
this.frozenlist = [];
}
launch(){
DB.getFrozenList((ret:any, rows:any)=>{
if (ret == MsgCode.SUCCESS) {
for (const row of rows) {
let fip = row.frozen_ip;
this.addFrozenIP(fip);
}
}
});
}
addFrozenIP(fip:any, id: any = 0){
if (this.frozenlist.indexOf(fip) == -1) {
this.frozenlist.push(fip);
}
if (id != 0){
let sql = `update qy_account set state = 1 WHERE accountid = ${id}`;
DB.query(sql, (error: any, rows: any) => {
if (error) {
return;
}
});
}
}
removeFrozenIP(value:string, id: any = 0){
let index=this.frozenlist.indexOf(value);
if(index != -1){
this.frozenlist.splice(index,1);
}
if (id != 0){
let sql = `update qy_account set state = 0 WHERE accountid = ${id}`;
DB.query(sql, (error: any, rows: any) => {
if (error) {
return;
}
});
}
}
checkIP(ip:any):boolean{
if (this.frozenlist.indexOf(ip) == -1) {
return true;
}
return false;
}
}