// | ------------------------------------------------------------ // | @版本: version 0.1 // | @创建人: 【Nie-x7129】 // | @E-mail: x71291@outlook.com // | @所在项目: graphResource2 // | @文件描述: makeClass.js - // | @创建时间: 2023-12-03 16:41 // | @更新时间: 2023-12-03 16:41 // | @修改记录: // | -*-*-*- (时间--修改人--修改说明) -*-*-*- // | = // | ------------------------------------------------------------ const obj = { id: 1, name: '何希', age: 25 } const f1 = { id: 2, name: '何希的妈妈', age: 45 } const f2 = { id: 3, name: '何希的爸爸', age: 45 } class resourceClass{ baseInfo; expandInfo; fatherObject = {} constructor(baseInfo, expandInfo = {}) { this.baseInfo = baseInfo; this.expandInfo = expandInfo } addFather(obj){ this.fatherObject[obj.id] = obj } delFather(obj){ delete this.fatherObject[obj.id] } get baseInfo(){ return this.baseInfo } get expandInfo(){ return this.expandInfo } get fatherId(){ return Object.keys(this.fatherObject) } get fatherObj(){ return this.fatherObj } get fatherList(){ return Object.keys(this.fatherObj).map(i => this.fatherObject[i]) } } function makeClass(obj1, obj2 = {}){ return new resourceClass(obj1, obj2) } const R1 = makeClass(obj); const R2 = makeClass(obj); obj.age++ console.log(R1.baseInfo) console.log(R1) console.log(R2.baseInfo) const resourceCache = { // 基础数据库信息 baseData:{ // 基础资源类信息 resourceClassList: [], resourceClassObject:{}, // 拓展资源类信息 resourceClassExpandFieldList: [], resourceClassExpandFieldObject: {}, // 实体字段信息 resourceEntityStructList: [], resourceEntityStructObject: {}, // 资源实体信息 resourceEntityList: [], resourceEntityObject: {}, // 资源类关系信息 resourceClassRelationList: [], resourceClassRelationObject: {} }, // 合成资源信息,计算数据 computedData:{ // 资源类完整数据 - 继承于baseData-resourceClassObject resourceClassObject: { resourceClassId: { // 基础资源类信息,查找字典值 baseClassData: { }, // 拓展资源类信息,查找字典值 expandClassData:{ }, // 资源实体结构转化为对象格式 entityStructData:{ }, // 资源类的父节点,及其关联下的子节点 relationClass:{ fatherId:['childId'] } } } }, // 资源关联信息 relationData:{} } // 第一步加载数据库数据