创建一个新的 SearchBuilder 实例。
在下述示例中,我们首先创建了一个新的 SearchBuilder 实例,并指定了搜索参数的名称为 'mySearch'。由于 SearchBuilder 构造函数会自动创建一个 SearchParameters 实例并将其赋值给 this.parameter 属性,因此我们可以通过 searchBuilder.parameter 属性来访问和管理搜索参数的设置。
const searchBuilder = new SearchBuilder('mySearch');
搜索参数的名称。
Optional
auto是否自动控制区域。
Optional
close是否关闭目标字段。
Optional
codetypes代码类型。
Optional
des目标字段。
Optional
distinct是否去重。
Optional
extend扩展查询。
Optional
fillCNMeta是否填充中文元数据。
Optional
fill是否填充代码值。
Optional
get是否获取代码值。
Optional
gisGIS 过滤条件。
Optional
isgis是否是 GIS 查询。
搜索参数的名称。
Optional
name2备用名称。
Optional
page总页数。
Optional
page页面模块。
Optional
page分页参数:第几页。
Optional
page分页参数:每页大小。
Optional
prefix查询参数前缀。
Optional
return是否返回代码值。
Optional
to是否返回查询总数。
Optional
to是否返回查询结果。
该方法是 SearchBuilder 类的方法之一,用于向搜索条件中添加新的搜索参数。在函数内部,会调用 this.parameter.addParameter() 方法来添加新的搜索参数,并返回该搜索参数对象。
在下述示例中,我们首先创建了一个新的 SearchBuilder 实例,并指定了搜索参数的名称为 'mySearch'。然后,我们使用 add() 方法,向搜索条件中添加了一个名为 'age'、值为 '30'、标志位为 2(即 like %v%)的搜索参数,并将其保存在了 agePar 变量中。最后,我们输出 agePar 对象到控制台中。
const searchBuilder = new SearchBuilder('mySearch');
const agePar = searchBuilder.add('age', '30', 2);
console.log(agePar); // 输出:{ name: 'age', value: '30', type: 2, group: null }
参数名。
参数值。
Optional
flag: number标志位。
Optional
type: string参数类型。
返回新添加的搜索参数对象。
该方法是 SearchBuilder 类的方法之一,用于向返回结果中添加指定的字段名称。在函数内部,会调用 this.parameter.addField() 方法来添加指定的字段名称。
在下述示例中,我们首先创建了一个新的 SearchBuilder 实例,并指定了搜索参数的名称为 'mySearch'。然后,我们依次添加了两个搜索参数,分别为 'name' 和 'age',并没有指定它们的分组名和类型;其中,第二个搜索参数指定了标志位为 2(即 like %v%)。接着,我们使用 addField() 方法,向返回结果中添加了 'id'、'name'、'age' 和 'email' 四个字段。
const searchBuilder = new SearchBuilder('mySearch');
searchBuilder.par('name', 'John').par('age', '30', 2).addField('id').addField('name').addField('age').addField('email');
字段名。
该方法是 SearchParameters 类的方法之一,用于向搜索条件中添加新的搜索参数。在函数内部,会创建一个新的搜索参数对象,并将其添加到搜索参数列表中,并返回该搜索参数对象。
在下述示例中,我们首先创建了一个新的 SearchParameters 实例,并将其保存在了 searchParameters 变量中。然后,我们使用 addParameter() 方法,向搜索条件中添加了一个名为 'age'、值为 '30'、标志位为 2(即 like %v%)的搜索参数,并将其保存在了 agePar 变量中。最后,我们输出 agePar 对象到控制台中。
const searchParameters = new SearchParameters();
const agePar = searchParameters.addParameter('age', '30', 2);
console.log(agePar); // 输出:{ name: 'age', value: '30', type: '', group: 2 }
参数名。
参数值。
Optional
flag: number标志位。
Optional
type: string参数类型。
返回新添加的搜索参数对象。
该方法是 SearchBuilder 类的方法之一,用于设置需要返回的字段名。在函数内部,会判断传入的参数是否为数组类型,如果是,则遍历数组并添加所有非空元素;否则,直接添加该参数指定的字段名。最后返回 this 对象,以便支持链式调用。
在下述示例中,我们首先创建了一个新的 SearchBuilder 实例,并指定了搜索参数的名称为 'mySearch'。然后,我们依次添加了两个搜索参数,分别为 'name' 和 'age',并没有指定它们的分组名和类型;其中,第二个搜索参数指定了标志位为 2(即 like %v%)。最后,我们调用 fields() 方法,设置需要返回的字段名,包括 'id'、['name', 'age']、null 和 'email';其中,['name', 'age'] 表示同时返回 'name' 和 'age' 两个字段。最后,使用链式调用的方式返回 this 对象。
const searchBuilder = new SearchBuilder('mySearch');
searchBuilder.par('name', 'John').par('age', '30', 2).fields('id', ['name', 'age'], null, 'email');
Rest
...fields: string[]字段名列表。
该方法是 SearchBuilder 类的方法之一,用于获取搜索参数的关闭目标字段属性。在函数内部,会调用 this.parameter.getCloseDes() 方法来获取搜索参数的关闭目标字段属性值。
在下述示例中,我们首先创建了一个新的 SearchBuilder 实例,并指定了搜索参数的名称为 'mySearch'。然后,我们调用 getCloseDes() 方法来获取搜索参数的关闭目标字段属性值,并将其赋值给 closeDes 变量。由于在构造函数中没有设置关闭目标字段属性值,因此 closeDes 的值为 false。
const searchBuilder = new SearchBuilder('mySearch');
const closeDes = searchBuilder.getCloseDes();
console.log(closeDes); // 输出:false
boolean
获取搜索参数的目标字段属性。
在下述示例中,我们首先创建了一个新的 SearchBuilder 实例,并指定了搜索参数的名称为 'mySearch'。然后,我们调用 getDesFields() 方法来获取搜索参数的目标字段属性值,并将其赋值给 desFields 变量。由于在构造函数中没有设置目标字段属性值,因此 desFields 的值为 {}。
const searchBuilder = new SearchBuilder('mySearch');
const desFields = searchBuilder.getDesFields();
console.log(desFields); // 输出:{}
该方法是 SearchBuilder 类的方法之一,用于设置搜索参数的目标字段属性。在函数内部,会调用 this.parameter.setDesFields() 方法来设置搜索参数的目标字段属性值。
在下述示例中,我们首先创建了一个新的 SearchBuilder 实例,并指定了搜索参数的名称为 'mySearch'。然后,我们调用 getDsConfig() 方法来获取搜索参数的数据源配置属性值,并将其赋值给 dsConfig 变量。由于在构造函数中没有设置数据源配置属性值,因此 dsConfig 的值为 null。
const searchBuilder = new SearchBuilder('mySearch');
const dsConfig = searchBuilder.getDsConfig();
console.log(dsConfig); // 输出:null
该方法是 SearchBuilder 类的方法之一,用于获取搜索参数的排序方式属性。在函数内部,会调用 this.parameter.getOrder() 方法来获取搜索参数的排序方式属性值。
在下述示例中,我们首先创建了一个新的 SearchBuilder 实例,并指定了搜索参数的名称为 'mySearch'。然后,我们调用 getOrder() 方法来获取搜索参数的排序方式属性值,并将其赋值给 order 变量。由于在构造函数中没有设置排序方式属性值,因此 order 的值为 ''。
const searchBuilder = new SearchBuilder('mySearch');
const order = searchBuilder.getOrder();
console.log(order); // 输出:''
string
该方法是 SearchBuilder 类的方法之一,用于获取搜索参数的数据源配置属性。在函数内部,会调用 this.parameter.getDsConfig() 方法来获取搜索参数的数据源配置属性值。
在下述示例中,我们首先创建了一个新的 SearchBuilder 实例,并指定了搜索参数的名称为 'mySearch'。然后,我们调用 getPageModule() 方法来获取搜索参数的页面模块属性值,并将其赋值给 pageModule 变量。由于在构造函数中没有设置页面模块属性值,因此 pageModule 的值为 ''。
const searchBuilder = new SearchBuilder('mySearch');
const pageModule = searchBuilder.getPageModule();
console.log(pageModule); // 输出:''
该方法是 SearchBuilder 类的方法之一,用于获取指定名称的搜索参数值。在函数内部,会调用 this.parameter.getParameter() 方法来获取指定名称的搜索参数值,并将其返回。
在下述示例中,我们首先创建了一个新的 SearchBuilder 实例,并指定了搜索参数的名称为 'mySearch'。然后,我们依次添加了两个搜索参数,分别为 'name' 和 'age',并没有指定它们的分组名和类型;其中,第二个搜索参数指定了标志位为 2(即 like %v%)。接着,我们调用 fields() 方法,设置需要返回的字段名。最后,我们调用 getParameter() 方法,获取 'name' 参数的值,并将其输出到控制台中。
const searchBuilder = new SearchBuilder('mySearch');
searchBuilder.par('name', 'John').par('age', '30', 2).fields('id', ['name', 'age'], null, 'email');
console.log(searchBuilder.getParameter('name')); // 输出:John
参数名。
该方法是 SearchBuilder 类的方法之一,用于设置搜索结果的排序方式。在函数内部,会调用 this.parameter.setOrder() 方法来设置搜索结果的排序方式,并返回 this 对象,以便支持链式调用。
在下述示例中,我们首先创建了一个新的 SearchBuilder 实例,并指定了搜索参数的名称为 'mySearch'。然后,我们依次添加了两个搜索参数,分别为 'name' 和 'age',并没有指定它们的分组名和类型;其中,第二个搜索参数指定了标志位为 2(即 like %v%)。最后,我们调用 order() 方法,设置了搜索结果的排序方式为 'name DESC'。最后,使用链式调用的方式返回 this 对象。
const searchBuilder = new SearchBuilder('mySearch');
searchBuilder.par('name', 'John').par('age', '30', 2).order('name DESC');
排序方式。
该方法是 SearchBuilder 类的核心方法之一,用于添加搜索参数。在函数内部,会调用 this.parameter.add() 方法来添加搜索参数,并可设置搜索参数的分组、类型等属性值。最后返回 this 对象,以便支持链式调用。
在下述示例中,我们首先创建了一个新的 SearchBuilder 实例,并指定了搜索参数的名称为 'mySearch'。然后,我们调用 par() 方法,依次添加了两个搜索参数。第一个搜索参数的名称为 'name',值为 'John';第二个搜索参数的名称为 'age',值为 '30',标志位为 2,分组名为 'group1'。最后,使用链式调用的方式返回 this 对象。
const searchBuilder = new SearchBuilder('mySearch');
searchBuilder.par('name', 'John').par('age', '30', 2, 'group1');
参数名。
参数值。
Optional
flag: number标志位。
Optional
group: string分组名。
Optional
type: string参数类型。
该方法是 SearchBuilder 类的核心方法之一,与 par() 方法功能类似,用于添加搜索参数,并支持更多的标志位设置。在函数内部,会解析 flagStr 参数的字符串表示,来构建出相应的标志位值。最后调用 par() 方法来添加搜索参数,并可设置分组、类型等属性值。最后返回 this 对象,以便支持链式调用。
在下述示例中,我们首先创建了一个新的 SearchBuilder 实例,并指定了搜索参数的名称为 'mySearch'。然后,我们调用 par2() 方法,依次添加了两个搜索参数。第一个搜索参数的名称为 'name',值为 'John';第二个搜索参数的名称为 'age',值为 '30',标志位为大于号 >,分组名为 'group1'。最后,使用链式调用的方式返回 this 对象。
const searchBuilder = new SearchBuilder('mySearch');
searchBuilder.par2('name', 'John').par2('age', '30', '>', 'group1');
参数名。
参数值。
Optional
flagStr: string标志位字符串。
Optional
group: string分组名。
Optional
type: string参数类型。
该方法是 SearchBuilder 类的方法之一,用于获取指定名称的搜索参数值。在函数内部,会调用 this.parameter.getParameter() 方法来获取指定名称的搜索参数对象,并从中提取出其 value 属性的值并返回;如果没有找到该参数,则返回 null。
在下述示例中,我们首先创建了一个新的 SearchBuilder 实例,并指定了搜索参数的名称为 'mySearch'。然后,我们依次添加了两个搜索参数,分别为 'name' 和 'age',并没有指定它们的分组名和类型;其中,第二个搜索参数指定了标志位为 2(即 like %v%)。接着,我们调用 fields() 方法,设置需要返回的字段名。最后,我们调用 parval() 方法,获取 'age' 参数的值,并将其输出到控制台中。
const searchBuilder = new SearchBuilder('mySearch');
searchBuilder.par('name', 'John').par('age', '30', 2).fields('id', ['name', 'age'], null, 'email');
console.log(searchBuilder.parval('age')); // 输出:30
参数名。
该方法是 SearchBuilder 类的方法之一,用于移除指定名称的搜索参数。在函数内部,会调用 this.parameter.removeParameter() 方法来移除指定名称的搜索参数。
在下述示例中,我们首先创建了一个新的 SearchBuilder 实例,并指定了搜索参数的名称为 'mySearch'。然后,我们依次添加了两个搜索参数,分别为 'name' 和 'age',并没有指定它们的分组名和类型;其中,第二个搜索参数指定了标志位为 2(即 like %v%)。接着,我们调用 fields() 方法,设置需要返回的字段名。然后,我们分别使用 getParameter() 方法获取 'age' 参数的值,并输出到控制台中;然后调用 removeParameter() 方法,移除 'age' 参数。最后,我们再次尝试获取 'age' 参数的值,发现已经为 null,说明该参数已经被成功移除了。
const searchBuilder = new SearchBuilder('mySearch');
searchBuilder.par('name', 'John').par('age', '30', 2).fields('id', ['name', 'age'], null, 'email');
console.log(searchBuilder.getParameter('age')); // 输出:{ value: '30', type: 2, group: null }
searchBuilder.removeParameter('age');
console.log(searchBuilder.getParameter('age')); // 输出:null
参数名。
该方法是 SearchBuilder 类的方法之一,用于设置搜索参数的关闭目标字段属性。在函数内部,会调用 this.parameter.setCloseDes() 方法来设置搜索参数的关闭目标字段属性值。
在下述示例中,我们首先创建了一个新的 SearchBuilder 实例,并指定了搜索参数的名称为 'mySearch'。然后,我们调用 setCloseDes() 方法,将搜索参数的关闭目标字段属性设置为 true。
const searchBuilder = new SearchBuilder('mySearch');
searchBuilder.setCloseDes(true);
关闭目标字段属性值。
该方法是 SearchBuilder 类的方法之一,用于获取搜索参数的目标字段属性。在函数内部,会调用 this.parameter.getDesFields() 方法来获取搜索参数的目标字段属性值。
在下述示例中,我们首先创建了一个新的 SearchBuilder 实例,并指定了搜索参数的名称为 'mySearch'。然后,我们调用 setDesFields() 方法,将搜索参数的目标字段属性设置为 { field1: true, field2: false }。
const searchBuilder = new SearchBuilder('mySearch');
searchBuilder.setDesFields({ field1: true, field2: false });
目标字段属性值。
该方法是 SearchBuilder 类的方法之一,用于获取搜索参数的数据源配置属性。在函数内部,会调用 this.parameter.getDsConfig() 方法来获取搜索参数的数据源配置属性值。
在下述示例中,我们首先创建了一个新的 SearchBuilder 实例,并指定了搜索参数的名称为 'mySearch'。然后,我们调用 setDsConfig() 方法,将搜索参数的数据源配置属性设置为 { dataSource: 'myDataSource', tableName: 'myTableName' }。
const searchBuilder = new SearchBuilder('mySearch');
searchBuilder.setDsConfig({ dataSource: 'myDataSource', tableName: 'myTableName' });
数据源配置属性值。
该方法是 SearchBuilder 类的方法之一,用于设置指定分组的逻辑运算符。在函数内部,会调用 this.parameter.setGroupLogic() 方法来设置指定分组的逻辑运算符,并返回 this 对象,以便支持链式调用。
在下述示例中,我们首先创建了一个新的 SearchBuilder 实例,并指定了搜索参数的名称为 'mySearch'。然后,我们调用 setGroupLogic() 方法,设置了 'group1' 分组的逻辑运算符为 2(即 or 运算符)。接着,我们依次添加了两个搜索参数,分别为 'name' 和 'age',它们都属于 'group1' 分组。最后,使用链式调用的方式返回 this 对象。
const searchBuilder = new SearchBuilder('mySearch');
searchBuilder.setGroupLogic('group1', 2).par('name', 'John', null, 'group1').par('age', '30', 2, 'group1');
分组名。
运算符。
该方法是 SearchBuilder 类的方法之一,用于设置指定分组的逻辑运算符。与 setGroupLogic() 方法不同的是,它接受一个字符串参数来表示逻辑运算符,而非数字参数。在函数内部,会解析 logicStr 参数的字符串表示,来构建出相应的逻辑运算符值。最后调用 this.parameter.setGroupLogic() 方法来设置指定分组的逻辑运算符,并返回 this 对象,以便支持链式调用。
在下述示例中,我们首先创建了一个新的 SearchBuilder 实例,并指定了搜索参数的名称为 'mySearch'。然后,我们调用 setGroupLogic2() 方法,设置了 'group1' 分组的逻辑运算符为 2(即 or 运算符)。接着,我们依次添加了两个搜索参数,分别为 'name' 和 'age',它们都属于 'group1' 分组。最后,使用链式调用的方式返回 this 对象。
const searchBuilder = new SearchBuilder('mySearch');
searchBuilder.setGroupLogic2('group1', 'Or').par('name', 'John', null, 'group1').par('age', '30', 2, 'group1');
分组名。
运算符字符串。
该方法是 SearchBuilder 类的方法之一,用于设置搜索结果的排序方式。在函数内部,会调用 this.parameter.setOrder() 方法来设置搜索结果的排序方式。
在下述示例中,我们首先创建了一个新的 SearchBuilder 实例,并指定了搜索参数的名称为 'mySearch'。然后,我们依次添加了两个搜索参数,分别为 'name' 和 'age',并没有指定它们的分组名和类型;其中,第二个搜索参数指定了标志位为 2(即 like %v%)。接着,我们使用 fields() 方法,设置需要返回的字段名。最后,我们使用 setOrder() 方法,设置搜索结果的排序方式为 'id DESC, name ASC'。
const searchBuilder = new SearchBuilder('mySearch');
searchBuilder.par('name', 'John').par('age', '30', 2).fields('id', ['name', 'age'], null, 'email').setOrder('id DESC, name ASC');
排序方式。
该方法是 SearchBuilder 类的方法之一,用于获取搜索参数的数据源配置属性。在函数内部,会调用 this.parameter.getDsConfig() 方法来获取搜索参数的数据源配置属性值。
在下述示例中,我们首先创建了一个新的 SearchBuilder 实例,并指定了搜索参数的名称为 'mySearch'。然后,我们调用 setPageModule() 方法,将搜索参数的页面模块属性设置为 'myPageModule'。
const searchBuilder = new SearchBuilder('mySearch');
searchBuilder.setPageModule('myPageModule');
页面模块属性值。
该方法是 SearchBuilder 类的方法之一,用于设置搜索参数的前缀参数。在函数内部,会调用 this.parameter.setPrefixParameter() 方法来设置搜索参数的前缀参数。
在下述示例中,我们首先创建了一个新的 SearchBuilder 实例,并指定了搜索参数的名称为 'mySearch'。然后,我们使用 setPrefixParameter() 方法,设置搜索参数的前缀参数为 { limit: 10, offset: 0 }。接着,我们依次添加了两个搜索参数,分别为 'name' 和 'age',并没有指定它们的分组名和类型;其中,第二个搜索参数指定了标志位为 2(即 like %v%)。最后,我们使用 fields() 方法,设置需要返回的字段名。
const searchBuilder = new SearchBuilder('mySearch');
searchBuilder.setPrefixParameter({ limit: 10, offset: 0 });
searchBuilder.par('name', 'John').par('age', '30', 2).fields('id', ['name', 'age'], null, 'email');
前缀参数。
该方法是 SearchBuilder 类的方法之一,用于将当前搜索条件转换为 JSON 格式,并返回 JSON 格式的搜索条件对象。在函数内部,会根据当前 SearchBuilder 实例中保存的各个参数值,设置 SearchParameters 对象中相应的参数值,并返回该对象。
在下述示例中,我们首先创建了一个新的 SearchBuilder 实例,并指定了搜索参数的名称为 'mySearch'。然后,我们向返回结果中添加了 'id'、'name' 两个字段。接着,我们使用 toJSON() 方法,将当前搜索条件转换为 JSON 格式,并保存在了 json 变量中,并输出到控制台中。
const searchBuilder = new SearchBuilder('mySearch');
searchBuilder.addField('id').addField('name');
const json = searchBuilder.toJSON();
console.log(json); // 输出:{ "mySearch": { "fields": [ "id", "name" ], "javaClass": "com.longrise.LEAP.BLL.Cache.SearchBuilder" } }
Optional
key: stringJSON 格式的键名。
返回 JSON 格式的搜索条件对象。
Generated using TypeDoc
SearchBuilder
类是一个用于构建搜索参数的辅助类。它提供了一组方法来设置搜索参数,如添加查询字段、设置排序方式、设置分页参数等。通过使用 SearchParameters 对象来保存和管理搜索参数。Description
在下述示例中,我们首先创建了一个 SearchBuilder 对象,并为其指定搜索参数名称。然后,我们使用一系列方法来设置搜索参数的分页信息、查询字段和排序规则。最后,我们将搜索参数转换为 JSON 字符串,并将其作为请求体发送给后端 API 进行查询。最终,我们通过处理 HTTP 响应的数据和错误信息来完成搜索操作。
Example