Files
18xchat/assets/Scripts/chat18x/data/WalletData.ts
T
2025-09-20 12:20:59 +08:00

65 lines
1.6 KiB
TypeScript

/**
* 钱包数据
*/
import { BaseData } from "./BaseData";
import Utils from "../../Main/Common/Utils";
import { InnerMsgCode } from "../../Main/Config/InnerMsgCode";
export class WalletData extends BaseData {
// 余额
private _balance: number = 0;
// vip失效时间戳,秒
private _vipExpire: number = 0;
public reset(): void {
this._balance = 0;
this._vipExpire = 0;
}
public clear(): void {
this._balance = 0;
this._vipExpire = 0;
}
public destroy(): void {
super.destroy();
this._balance = null;
this._vipExpire = null;
}
/** 设置余额 */
public set balance(value: number) {
this._balance = value;
// 发出事件
Utils.sendInnerMsg(InnerMsgCode.BalanceChange, this._balance);
}
/** 获取原来的余额,除100 */
public getOriginalBalance(): number {
return this._balance / 100;
}
/** 获取余额 */
public get balance(): number {
return this._balance;
}
/** 设置vip失效时间戳 */
public set vipExpire(value: number) {
this._vipExpire = value;
// 发出事件
Utils.sendInnerMsg(InnerMsgCode.VipExpireChange, this._vipExpire);
}
/** 获取vip失效时间戳 */
public get vipExpire(): number {
return this._vipExpire;
}
/** 判断用户是否是VIP */
public get isVip(): boolean {
const now = Math.floor(Date.now() / 1000); // 当前时间戳(秒)
return this._vipExpire > now;
}
}