Files
18xchat/assets/Scripts/chat18x/data/WalletData.ts
T

65 lines
1.6 KiB
TypeScript
Raw Normal View History

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