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

31 lines
751 B
TypeScript

// 日志装饰器
function log2(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 MathOperations2 {
@log2
add(a: number, b: number): number {
return a + b;
}
@log2
multiply(a: number, b: number): number {
return a * b;
}
}
// 创建实例并调用方法
const math2 = new MathOperations2();
math2.add(1, 2); // 调用加法
math2.multiply(3, 4); // 调用乘法