- 1应用层基础接口
- 1.1数据操作接口 dataService:
- 1.1.1 根据id修改单条数据接口 update
- 1.1.2 数据批量修改接口(根据id) batchUpdate
- 1.1.3 数据批量修改接口(根据条件) batchUpdateByGroupConditions
- 1.1.4 插入单条数据 insert
- 1.1.5 批量插入数据 batchInsert
- 1.1.6 删除数据 delete
- 1.1.7 根据id查询数据 selectById
- 1.1.8 根据ids查询多条数据 selectByIds
- 1.1.9 根据条件查询数据 select
- 1.1.10 根据模板生成文件 createFileByTemplate
- 1.1.11 调用函数 callFunction
- 特殊说明
- easyisapi.conf配置项
1应用层基础接口
供javascript或云函数调用的基础接口
1.1数据操作接口 dataService:
1.1.1 根据id修改单条数据接口 update
javascript调用:
const result = dataService.update(param)
const result = dataService.update(tableCode,formData) //缺省设置 triggerWorkFlow=true
const result = dataService.update(tableCode,formData,triggerWorkFlow)参数:
{
tableCode:'tableCode', //表编码或者id string 必填
formData:{}, // 要修改的数据 object 必填
triggerWorkFlow: true|flase //是否触发工作流 boolean 必填
}参数示例:
{
tableCode:'table1',
formData: {id:'1111',name:'xx'},
triggerWorkFlow: true
}返回值:
修改后的数据, 带上修改人,修改时间 等信息 返回值示例:
{
id:11,
update_by:'xx',
update_date:'xx'
}1.1.2 数据批量修改接口(根据id) batchUpdate
javascript调用:
const count = dataService.batchUpdate(param)
const count = dataService.batchUpdate(tableCode,formDataList,triggerWorkFlow)参数:
{
tableCode:'tableCode', //表编码或者id string 必填
formDataList:[], // 要修改的数据列表 array 必填
triggerWorkFlow: true|flase //是否触发工作流 boolean 必填
}参数示例:
{
tableCode:'table1',
formDataList: [{id:'1111',name:'xx'}],
triggerWorkFlow: true
}返回值:
修改数量 返回值示例:
11.1.3 数据批量修改接口(根据条件) batchUpdateByGroupConditions
javascript调用:
const count = dataService.batchUpdateByGroupConditions(param)
const count = dataService.batchUpdateByGroupConditions(tableCode,formData,groupWhereList, whereParttern ,triggerWorkFlow)参数:
{
tableCode:'tableCode', //表编码或者id string 必填
formData:{}, // 要修改的字段和value object 必填
triggerWorkFlow: true|flase, //是否触发工作流 boolean 必填
groupWhereList:[
{
logic:'and',whereList:[{field:'f1',operation:'like',value:'xx'}]
//也可以简写模式 l:'and',w:[{f:'xx',o:'like',v:'xx'}]
}
], // 条件 [] groupWhereList和whereParttern任意填一个,若都为空则报错
whereParttern: {
parttern: ' id=#{id} and age=#{age}',
partternParam: {id:'111',age:20}
} // 条件pattern string groupWhereList和whereParttern任意填一个,若都为空则报错
}参数示例:
{
tableCode:'table1',
formData: [{name:'xx'}],
triggerWorkFlow: false,
groupWhereList:[
{
logic:'and',whereList:[{field:'f1',operation:'like',value:'xx'}]
}
]
}返回值:
修改数量返回值示例:
11.1.4 插入单条数据 insert
javascript调用:
const result = dataService.insert(param)
const result = dataService.insert(tableCode,formData) //缺省设置 triggerWorkFlow=true
const result = dataService.insert(tableCode,formData,triggerWorkFlow)参数:
{
tableCode:'tableCode', //表编码或者id string 必填
formData:{}, // 要修改的字段和value object 必填
triggerWorkFlow: true|flase, //是否触发工作流 boolean 必填
}参数示例:
{
tableCode:'table1',
formData: {name:'xx'},
triggerWorkFlow: false
}返回值:
插入的数据,带上id和创建时间创建人等信息返回值示例:
{id:'11',name:'xx',create_date:'2020-01-01',create_by:'xx'}1.1.5 批量插入数据 batchInsert
javascript调用:
const result = dataService.batchInsert(param)
const result = dataService.batchInsert(tableCode,formDataList,triggerWorkFlow)参数:
{
tableCode:'tableCode', //表编码或者id string 必填
formDataList:[{}], // 要插入的数据列表 [] 必填
triggerWorkFlow: true|flase, //是否触发工作流 boolean 必填
}参数示例:
{
tableCode:'table1',
formDataList: [{name:'xx'}],
triggerWorkFlow: false
}返回值:
插入数量返回值示例:
11.1.6 删除数据 delete
javascript调用:
const count = dataService.delete(param)
const count = dataService.delete(tableCode,id) // triggerWorkFlow=true
const count = dataService.delete(tableCode,id,triggerWorkFlow)
const count = dataService.deleteByIds(tableCode,ids,triggerWorkFlow)参数:
{
tableCode:'tableCode', //表编码或者id string 必填
id:'1111', // 要插入的数据id id和ids提供其中一个就行; string 必填
ids:['1111','2222'], // 要插入的数据ids id和ids提供其中一个就行; array 必填
triggerWorkFlow: true|flase, //是否触发工作流 boolean 必填
}参数示例:
{
tableCode:'table1',
id: '111',
triggerWorkFlow: false
}返回值:
删除数量返回值示例:
11.1.7 根据id查询数据 selectById
javascript调用:
const result = dataService.selectById(tableCode,id)参数:
{
tableCode:'tableCode', //表编码或者id string 必填
id:'1111' // 要插入的数据id string 必填
}参数示例:
{
tableCode:'table1',
id: '111'
}返回值:
查询的数据返回值示例:
{id:'111',name:'xx'}1.1.8 根据ids查询多条数据 selectByIds
javascript调用:
const result = dataService.selectByIds(tableCode,ids)参数:
{
tableCode:'tableCode', //表编码或者id string 必填
ids:['1111','222'] //数据ids array 必填
}参数示例:
{
tableCode:'table1',
ids: ['111','222']
}返回值:
查询的数据返回值示例:
[{id:'111',name:'xx'},{id:'222',name:'yy'}]1.1.9 根据条件查询数据 select
javascript调用:
//根据参数对象查询
const list = dataService.select(param) //根据parttern查询
const list = dataService.select(tableCode,selectFields,parttern,ObjectpartternParam, orderList) //根据parttern查询, 带 分页,分组参数
const list = dataService.
select(tableCode, selectFields,parttern,partternParam, groupByFields, orderList,pageSize,pageNo)
//根据groupWhereList查询
const list = dataService.select(tableCode, groupWhereList)
//根据groupWhereList查询 带查询字段参数
const list = dataService.select(tableCode, selectFields,groupWhereList) //根据groupWhereList查询 带 查询字段,分组,排序参数
const list = dataService.select(tableCode, selectFields,groupWhereList,groupByFields,orderList) //完整参数查询 根据 groupWhereList
const list = dataService.select(tableCode, needColInfo, selectFields, groupWhereList, groupByFields,orderList,pageSize,pageNo) //完整参数查询 根据 whereParttern
const list = dataService.select(tableCode, needColInfo, selectFields, whereParttern, groupByFields ,orderList,pageSize,pageNo) //完整参数查询
const list = dataService.select(tableCode, needColInfo, selectFields, groupWhereList,groupByFields, orderList,pageSize,pageNo, whereParttern)
//多表查询
//根据parttern多表查询 例如: field1=#{field1} and field2=#{field2}
const list = dataService.selectMultipleTable(multipleTables, parttern,partternParam,orderList)
groupWhereList结构说明:
[
logic:'', and | or //默认and, logic可以简写为f ,and简写为& or简写为|
whereList:[ // wehereList可以简写为 w
{
logic:'', and | or, //默认 and, logic可以简写为f ,and简写为& or简写为| 别名andOr
field:'f1', //可以简写为 f ,别名 field fieldName field_name
operation:'=', // 参考操作符 可以简写为 o ,别名 compare
value:'xxx' // 可以见习为 v
}
]
] groupWhereList 简写模式
[
w:[
{
f:'f1',
c:'=',
v:'xxx'
}
]
]whereCondition:格式
单个条件:
{
field:'field1',
comapre:'=',
value:'1'
}
多个条件:
{
logic:'and',//conditons 之间用什么拼接
conditions:[
{
field:'field1',
comapre:'=',
value:'1'
}
]
}
多个嵌套条件:
{
logic:'and',//conditons 之间用什么拼接
conditions:[
{
field:'field1',
comapre:'=',
value:'1'
},
{
logic:'and',//conditons 之间用什么拼接
conditions:[
{
field:'field2',
comapre:'=',
value:'2'
}
]
}
]
}操作符(不区分大小写):
NOT_CONTAIN => not like '%xx%'
CONTAIN => like '%xx%'
NOT_START_WITH => not like 'xx%'
START_WITH => like 'xx%'
NOT_END_WITH => not like '%xx'
END_WITH => like '%xx'
NOT_LIKE => not like 'xx'
LIKE => like 'xx'
!=
=
>=
<=
>
< //等于 多个值的情况下
RANGE_QUERY => >='xx' and <= 'xx'
NOT_IN => not int ('x','xx')
IN => int ('x','xx') //空值判断
IS_EMPTY => field is null or field=''
NOT_EMPTY => not (field is null or field='')
//用于逗号分隔字符串查询
NOT_FIND_PART_IN_SET //不包含任何一个
FIND_PART_IN_SET //包含其中一个
FIND_ALL_IN_SET // 同时包含全部 // 针对 json字符串 简单数值类型数组 [1,2,3] ["aa","bb"] [true,false]
NOT_CONTAINS_ANY("NOT_CONTAINS_ANY"),//不包含任何一个
CONTAINS_ANY("CONTAINS_ANY"),//包含其中一个 JSON_OVERLAPS(jsonStr,'["v1","v2"]') 交集
CONTAINS_ALL("CONTAINS_ALL"), //同时包含 JSON_CONTAINS(jsonStr,'["v1","v2"]') JSON_CONTAINS(json_doc, val[, path])
multipleTables 结构说明 :
[
{
table:'table1',
fields:['*'], // ['*']查询全部字段,或者 ['f1','f2']
prefix:'table1_', //字段前缀
prefixPolicy:'repeat|all', //前缀策略: repeat字段名重复才加前缀,all始终加前缀; 默认all
join:'left',//left right inner 为空则是left
leftField:'table1__xxid',
rightField:'table2_xxid'
},
{
table:'table2',
prefix:'table2_', //字段前缀
}
]
//完整参数多表查询,带列信息,分页,排序,分组参数
const list = dataService.selectMultipleTable(multipleTables, needColInfo,groupWhereList, groupByFields, orderList,pageSize,pageNo,whereParttern)
参数:
tableCode:'tableCode|viewCode', //查询表
needColInfo:true|false, //是否需要列信息,true的话第一行数据会是列名称
pageSize:10, //每页数量
pageNo:1, //当前页
groupWhereList:[], //查询条件,和whereParttern提供一个就行
whereParttern:{parttern:'',partternParam:{}}, // 查询parttern,和groupWhereList提供一个就行
orderList:[{field:'f1',order:'desc'}], //排序
selectFields:['f1','f2'],//查询字段
groupByFields:['f1'], //分组字段
}参数示例:
{
tableCode:'table1',
needColInfo: false,
pageSize:10,
pageNo:1,
groupWhereList:[],
orderList:[{field:'id',order:'desc'}],
selectFields:['f1','f2']
}返回值:
查询的数据返回值示例:
[{id:'111',name:'xx'},{id:'222',name:'yy'}]1.1.10 根据模板生成文件 createFileByTemplate
javascript调用:
const fileInfo = dataService.createFileByTemplate(templateCode,param,outFileName)参数:
templateCode:'template111', //模板文件编码
param:{} //模板参数
outFileName:'文件名xx' 输出文件名,后缀可不填,会根据模板自动加上参数示例:
templateCode:'template111'
param: {
title:'xxxx',
list:[{id:'111',name:'xxx'}],
footer:{total:1000}
}
outFileName:'文件_${title}' //可使用表达式取param里的值返回值:
文件信息返回值示例:
{
id:'111',
storageKey:'xxx/xxx.docx',//存储路径
originalName:'xxxx.docx',
size:10000,
md5:'xxx',
url:'http://xx.com/xxx.docx'}
}1.1.11 调用函数 callFunction
javascript调用:
const result = dataService.callFunction(service,function,param)参数:
service:'xxx/xxx/XxService', //模板文件编码
function:'say', //funciton名称
param:{} //funciton参数参数示例:
service:'xxx/xxx/XxService', //模板文件编码
function:'sum', //funciton名称
param:{num1:1,num2:2}附: 用javascript 写一个函数 ,命名空间xxx/xxx,service名称 XxService
xxx/xxx/XxService :
export function sum(param){
return param.num1+param.num2
}返回值:
函数执行结果返回值示例:
3特殊说明
nodeJs 因为不支持方法重载所以仅支持单个对象参数
例如支持:
dataService.insert({table:'my_table',formData:{}})
没有这样的方法
dataService.insert('my_table',formData:{})
javascript中因为调用的是java方法所以可以有 重载方法
dataService.insert('my_table',formData:{})
select 和 selectMultipleTable如果需要返回带分页信息,增加needPageInfo即可
{
needPageInfo:true
}
此时返回:
{
list:[],
pageNo:1,
pageSize:10,
total:100
}easyisapi.conf配置项
{
camleNameModel: true, // 可以让返回的表单数据 字段名转驼峰模式
accessKey: "app1",
accessSecret: "xxxxxxx"
}文档更新时间: 2026-06-24 20:09 作者:admin