28 lines
617 B
TypeScript
28 lines
617 B
TypeScript
/**
|
|
* 配置基类,下划线开头的变量不会被序列化
|
|
*/
|
|
export class ConfigBase {
|
|
name: string = '';
|
|
version:string = '1.0.0';
|
|
[key: string]: any;
|
|
|
|
/**
|
|
* 加载反序列化数据
|
|
* @param data
|
|
*/
|
|
load(data:Record<string,unknown>){
|
|
for (const key of Object.getOwnPropertyNames(this).filter(i=>i[0]!=='_')) {
|
|
if(data[key]!=undefined){
|
|
this[key] = data[key];
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 序列化json方法
|
|
* @returns
|
|
*/
|
|
toJson(){
|
|
return JSON.stringify(this,(k,v)=>k[0]=='_'?undefined:v);
|
|
}
|
|
} |