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

}

返回值:

修改数量 

返回值示例:

1

1.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'}]

        }

    ]

}

返回值:

修改数量

返回值示例:

1

1.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

}

返回值:

插入数量

返回值示例:

1

1.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

}

返回值:

删除数量

返回值示例:

1

1.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