NapCatQQ/packages/napcat-shell/utils/test2.ts
2025-11-14 19:49:13 +08:00

32 lines
744 B
TypeScript

// 日志装饰器
function log(target: any, propertyKey: string, descriptor: PropertyDescriptor) {
const originalMethod = descriptor.value;
descriptor.value = function (...args: any[]) {
console.log(`Calling ${propertyKey} with args: ${JSON.stringify(args)}`);
const result = originalMethod.apply(this, args);
console.log(`${propertyKey} returned: ${result}`);
return result;
};
return descriptor;
}
// 示例类
class MathOperations {
@log
add(a: number, b: number): number {
return a + b;
}
@log
multiply(a: number, b: number): number {
return a * b;
}
}
// 创建实例并调用方法
const math = new MathOperations();
math.add(1, 2); // 调用加法
math.multiply(3, 4); // 调用乘法