跳到主要内容

Entity 实体

Resource

资源类(Resouce), YHP系统中的各种资源

成员函数:

fetch()

获取Resource的状态,需要被子类复写

properties() → {object}

获取所有的属性

getProperty(propName: string) → {any}

根据属性名称返回属性值

参数:
参数名称参数类型描述
propNamestring

属性名称

headers(headers: object) → {object}

根据Resource自身的命名空间(namespace),拼出对应的HTTP header

参数:
参数名称参数类型描述
headersobject

Entity

实体(Entity)。YHP系统中几乎所有的知识对象(Knowledge Object)都继承自实体(Entity)。 这是一个抽象类,只提供一些公用的逻辑,具体的逻辑将有子类具体实现。

继承自:

成员函数:

initialize(service: Service, path: string, namespace?: object)

这是基类的initialize方法,由于typescript中不支持函数同名但是参数列表不一样的方法覆盖(override), 所以这里基类的初始化方法为initialize,而所有具体派生出来的子类中的初始化方法是init

参数:
参数名称参数类型描述
serviceService

对应服务的实例对象。注意,不同的knowledge需要传入不同的服务对象,因为这些服务可能是分开部署的

pathstring

对应的api path,这个将由子类进行覆盖

namespaceobject

可选参数,限定Entity的命名空间。

fetch(options?: object) → {Promise.<Entity>}

从服务器获取最新的Entity状态,对应REST API中的GET方法

参数:
参数名称参数类型描述
optionsobject

可选参数格,默认值是空对象{}

update(props: object) → {Promise.<Entity>}

修改Entity,对应REST API中的PUT方法。传入需要修改的属性,为需要修改的http body。

参数:
参数名称参数类型描述
propsobject

需要更新的Key Value,以object的形式传入

remove() → {Promise.<Entity>}

删除Entity,对应REST API中的DELETE方法。

getId() → {string}

获取Entity对应的id属性,各种Entity的ID可能不一样,大多数都是一个uuid,但也有例外。

path() → {string}

返回此Entity对应的REST API path