Appearance
informat.system 系统全局操作
概述
使用informat.system对象进行系统全局操作。全局操作需要license中的包含系统函数调用模块。
serverId
查询服务器节点ID
javascript
informat.system.serverId()返回值 类型为String, 返回服务器节点ID.
服务器节点ID值来自于informat-next/instance/informat-xxxx/application.yml文件中的spring > application > serverId配置项
示例
javascript
informat.system.serverId(); // informat2-biz-prdhost
返回系统的首页地址
javascript
informat.system.host()返回值 类型为String, 返回系统的首页地址.
示例
javascript
informat.system.host();
返回
https://next.informat.cn/getAccount
查询账号信息
javascript
informat.system.getAccount(id)| 参数 | 类型 | 描述 |
|---|---|---|
| id | String | 账号ID |
返回值 类型为Account
返回用户信息,如果用户不存在返回null
示例
假设系统中存在账号ID为lwfwqr67xsvup的用户张三
javascript
informat.system.getAccount('lwfwqr67xsvup');返回值
json
{
"avatar": "pic16.png",
"companyId": "g09aj7cus3d8s",
"createTime": 1664200514136,
"email": "zhangsan@example.com",
"id": "lwfwqr67xsvup",
"isValid": true,
"mobileNo": "13012345678",
"name": "张三",
"oid": "zhangsan",
"updateTime": 1683598262000,
"userName": "zhangsan",
"valid": true
}getAccountByUserName
通过用户名查询账号信息
javascript
informat.system.getAccountByUserName(userName)| 参数 | 类型 | 描述 |
|---|---|---|
| userName | String | 用户名 |
返回值 类型为Account
返回用户信息,如果用户不存在返回null
示例
假设系统中存在用户名为zhangsan的用户张三
javascript
informat.system.getAccountByUserName('zhangsan');返回值
json
{
"avatar": "pic16.png",
"companyId": "g09aj7cus3d8s",
"createTime": 1664200514136,
"email": "zhangsan@example.com",
"id": "lwfwqr67xsvup",
"isValid": true,
"mobileNo": "13012345678",
"name": "张三",
"oid": "zhangsan",
"updateTime": 1683598262000,
"userName": "zhangsan",
"valid": true
}getAccountByMobileNo
通过手机号查询账号信息
javascript
informat.system.getAccountByMobileNo(mobileNo)| 参数 | 类型 | 描述 |
|---|---|---|
| mobileNo | String | 手机号 |
返回值 类型为Account
返回用户信息,如果用户不存在返回null
示例
假设系统中存在手机号为13012345678的用户张三
javascript
informat.system.getAccountByMobileNo('13012345678');返回值
json
{
"avatar": "pic16.png",
"companyId": "g09aj7cus3d8s",
"createTime": 1664200514136,
"email": "zhangsan@example.com",
"id": "lwfwqr67xsvup",
"isValid": true,
"mobileNo": "13012345678",
"name": "张三",
"oid": "zhangsan",
"updateTime": 1683598262000,
"userName": "zhangsan",
"valid": true
}getAccountByEmail
通过邮箱查询账号信息
javascript
informat.system.getAccountByEmail(mobileNo)| 参数 | 类型 | 描述 |
|---|---|---|
| String | 邮箱 |
返回值 类型为Account
返回用户信息,如果用户不存在返回null
示例
假设系统中存在邮箱为zhangsan@example.com的用户张三
javascript
informat.system.getAccountByEmail('zhangsan@example.com');返回值
json
{
"avatar": "pic16.png",
"companyId": "g09aj7cus3d8s",
"createTime": 1664200514136,
"email": "zhangsan@example.com",
"id": "lwfwqr67xsvup",
"isValid": true,
"mobileNo": "13012345678",
"name": "张三",
"oid": "zhangsan",
"updateTime": 1683598262000,
"userName": "zhangsan",
"valid": true
}queryAccountList
查询账号列表
javascript
informat.system.queryAccountList(query)| 参数 | 类型 | 描述 |
|---|---|---|
| query | Query | 账号查询条件 |
过滤器中可以使用的字段列表
| 字段 | 类型 | 描述 |
|---|---|---|
| id | String | 账号ID |
| name | String | 名称 |
| userName | String | 用户名 |
| mobileNo | String | 手机号 |
| String | 邮箱 | |
| oid | String | 第三方ID |
返回值 返回账号列表,值类型为Array<Account>
示例
javascript
informat.system.queryAccountList({
pageIndex: 1,
pageSize: 10,
filter: {
conditionList: [
{
fieldId: 'userName',
opt: 'contains',
value: 'zhang'
}
]
}
});返回值
json
[
{
"avatar": "pic16.png",
"companyId": "g09aj7cus3d8s",
"createTime": 1664200514136,
"email": "zhangsan@example.com",
"id": "lwfwqr67xsvup",
"isValid": true,
"mobileNo": "13012345678",
"name": "张三",
"oid": "zhangsan",
"updateTime": 1683598262000,
"userName": "zhangsan",
"valid": true
},
{
"avatar": "pic23.png",
"createTime": 1675836165076,
"id": "x3q3npo3xsait",
"isValid": true,
"mobileNo": "18291909205",
"name": "张荣立",
"updateTime": 1683594979000,
"userName": "zhangrongli",
"valid": true
},
{
"avatar": "pic13.png",
"createTime": 1682307631474,
"email": "zhangrongfu@itit.io",
"id": "wlt9cgr70o0yi",
"isValid": true,
"mobileNo": "15989268009",
"name": "张荣富",
"updateTime": 1683335991000,
"userName": "zhangrongfu",
"valid": true
}
]queryAccountListCount
查询账号列表总数
javascript
informat.system.queryAccountListCount(filter)| 参数 | 类型 | 描述 |
|---|---|---|
| filter | Filter | 查询条件 |
返回值
返回账号列表总数,类型为Integer
示例
javascript
informat.system.queryAccountListCount({
conditionList: [
{
fieldId: 'userName',
opt: 'contains',
value: 'zhang'
}
]
}); // 返回值 3addAccount
新增账号
javascript
informat.system.addAccount(account)| 参数 | 类型 | 描述 |
|---|---|---|
| account | Account | 账号信息,ID、创建时间不用填写 |
返回值 返回新增的账号ID,类型为String
示例1 新增账号
js
informat.system.addAccount({
name: 'test',
avatar: 'pic15.png',
userName: 'test',
mobileNo: '13800000000',
email: 'test@informat.cn',
password: 'youpassword'
});json
"ap1cew2up9ehq"示例2 新增指定ID的账号
js
informat.system.addAccount({
id: 'zhangsan',
name: 'test',
avatar: 'pic15.png',
userName: 'zhangsan',
mobileNo: '13800000000',
email: 'zhangsan@informat.cn',
password: 'youpassword'
});json
"zhangsan"updateAccount
更新账号信息
javascript
informat.system.updateAccount(account)| 参数 | 类型 | 描述 |
|---|---|---|
| account | Account | 账号信息 |
可以更新的字段列表
| 字段 | 类型 | 描述 |
|---|---|---|
| oid | String | 标识符 |
| name | String | 名称 |
| userName | String | 用户名 |
| mobileNo | String | 手机号 |
| String | 邮箱 | |
| avatar | String | 头像 |
| language | String | 语言 |
| needUpdatePassword | Boolean | 是否需要强转修修改密码 |
返回值 返回更新的账号数量,类型为Integer
示例
js
informat.system.updateAccount({
id: 'ap1cew2up9ehq',
name: 'test2',
avatar: 'pic16.png',
userName: 'test2',
mobileNo: '13700000000',
email: 'test2@informat.cn'
});json
1updateAccountList
更新账号列表
javascript
informat.system.updateAccountList(account, filter)| 参数 | 类型 | 描述 |
|---|---|---|
| account | Account | 账号信息 |
| filter | Filter | 查询条件 |
可以更新的字段列表
| 字段 | 类型 | 描述 |
|---|---|---|
| oid | String | 标识符 |
| name | String | 名称 |
| userName | String | 用户名 |
| mobileNo | String | 手机号 |
| String | 邮箱 | |
| avatar | String | 头像 |
| language | String | 语言 |
| needUpdatePassword | Boolean | 是否需要强转修修改密码 |
返回值 返回更新的账号数量,类型为Integer
示例
javascript
informat.system.updateAccountList(
{
name: 'test2',
avatar: 'pic15.png',
userName: 'test2',
mobileNo: '13900000000',
email: 'test2@informat.cn'
},
{
conditionList: [
{ 'fieldId': 'id', 'opt': 'eq', 'value': 'ap1cew2up9ehq' }
]
}
);changePassword
修改账号密码
javascript
informat.system.changePassword(accountId, pwd)| 参数 | 类型 | 描述 |
|---|---|---|
| accountId | String | 账号ID |
| pwd | String | 密码 |
createToken
为账号创建登录凭证
javascript
informat.system.createToken(accountId, type)| 参数 | 类型 | 描述 |
|---|---|---|
| accountId | String | 账号ID |
| type | String | Token类型PC端 index移动端 mobile问卷移动端 survey 问卷PC端 surveyweb 排除系统内置类型,也支持自定义类型(如:app、wechat、wemp等) |
返回值 返回授权的TOKEN,类型为String
示例
javascript
informat.system.createToken('wlt9cgr70o0yi', 'index');json
"581aa91125e74a74a07747ef6862ba41"getAccountByToken
通过TOKEN查找账号信息
javascript
informat.system.getAccountByToken(token)| 参数 | 类型 | 描述 |
|---|---|---|
| token | String | TOKEN |
返回值
返回账号信息,如果TOKEN不存在,则返回空;类型为Account
js
informat.system.getAccountByToken("581aa91125e74a74a07747ef6862ba41");json
{
"avatar": "pic16.png",
"companyId": "g09aj7cus3d8s",
"createTime": 1664200514136,
"email": "zhangsan@example.com",
"id": "lwfwqr67xsvup",
"isValid": true,
"mobileNo": "13012345678",
"name": "张三",
"oid": "zhangsan",
"updateTime": 1683598262000,
"userName": "zhangsan",
"valid": true
}login
登录系统
javascript
informat.system.login(loginForm)| 参数 | 类型 | 描述 |
|---|---|---|
| loginForm | LoginForm | 用户名或者手机号、邮箱 |
返回值
返回值为登录结果,类型为LoginResult
js
informat.system.login({
userName:'zhangsan',
password:'12345678',
type:'mobile',
ip:'183.46.24.11'
})json
{
"accountId":"zhangsan",
"companyId":"g09aj7cus3d8s",
"errorCode":0,
"token":"2f7536034b3748c9ba7db15759d01f26"
}validateAccount
校验用户名密码
javascript
informat.system.validateAccount(user, pwd)| 参数 | 类型 | 描述 |
|---|---|---|
| user | String | 用户名或者手机号 |
| pwd | String | 密码 |
返回值
如果用户名密码符合则返回true否则返回false,类型为Boolean
javascript
informat.system.validateAccount('zhangsan', '12345678')// falsesetAccountValid
启用/禁用账号
javascript
informat.system.setAccountValid(accountId, isValid)| 参数 | 类型 | 描述 |
|---|---|---|
| accountId | String | 账号ID |
| isValid | Boolean | 启用或禁用 |
示例
javascript
// 禁用张三的账号
informat.system.setAccountValid('lwfwqr67xsvup', false);
// 启用张三的账号
informat.system.setAccountValid('lwfwqr67xsvup', true);invokeLibrary
调用扩展库中的函数
关于扩展库的详细介绍,请参考 扩展库
javascript
informat.system.invokeLibrary(libraryId, className, method, args)| 参数 | 类型 | 描述 |
|---|---|---|
| libraryId | String | 扩展库标识符 |
| className | String | 需要调用的扩展库中的类的全路径,如com.mycompany.MyLibaray |
| method | String | 需要调用的扩展库中的方法,此方法必须为静态类型 |
| args | 参数数组 | 传递给方法的参数,如果没有参数传null即可 |
返回值
扩展库中方法的返回值,类型为Object
以下为一个示例
javascript
informat.system.invokeLibrary('mylibrary', 'com.mycompany.MyLibaray', 'add', [1, 2])如果扩展库函数没有参数
javascript
informat.system.invokeLibrary('mylibrary', 'com.mycompany.MyLibaray', 'test', null);
informat.system.invokeLibrary('mylibrary', 'com.mycompany.MyLibaray', 'test');更详细的说明可以参考扩展库
runProcess
启动一个新的进程
javascript
informat.system.runProcess(args)| 参数 | 类型 | 描述 |
|---|---|---|
| args | ProcessRunArgs | 执行参数 |
ProcessRunArgs 结构如下
| 属性 | 类型 | 说明 |
|---|---|---|
| args | Array<String> | 执行的命令 |
| timeout | Integer | 超时时间,毫秒数,0表示忽略超时 |
返回值
类型为ProcessRunResult,结构如下
| 属性 | 类型 | 说明 |
|---|---|---|
| exitValue | Integer | 退出码 |
| out | String | 标准输出 |
| err | String | 错误输出 |
以下为一个示例
javascript
const result = informat.system.runProcess({
cmds: ['java', '-version'],
timeout: 0
});
console.log(result.out); // java version "11.0.5" 2019-10-15 LTSrunNodeJS
启动一个新的进程运行NodeJS,传递参数使用命令行参数cmdline和标准输入stdin,NodeJS进程使用标准输出和错误输出作为返回值
javascript
informat.system.runNodeJS(args)| 参数 | 类型 | 描述 |
|---|---|---|
| args | RunNodeJSArgs | 执行参数 |
RunNodeJSArgs 结构如下
| 属性 | 类型 | 说明 |
|---|---|---|
| script | String | 执行的脚本文件 例如:test/helloworld.js |
| cmdline | Array<String> | 操作系统对命令行参数的长度有限制,linux下最长131071,如果需要传递大量数据需要使用stdin传递 |
| stdin | String | 标准输入 |
| env | Object | 环境变量 |
返回值
类型为ProcessRunResult,结构如下
| 属性 | 类型 | 说明 |
|---|---|---|
| exitValue | Integer | 退出码 |
| out | String | 标准输出 |
| err | String | 错误输出 |
以下为一个示例
有测试脚本文件nodejs/md5test.js内容如下:
javascript
/**
*使用md5库,计算输入字符串的md5值,输入参数使用命令行传递
*/
var arguments = process.argv;
//获取输入参数
let input = arguments[2];
var md5 = require('md5');
//使用标准输出传递结果
console.log(md5(input));以下是调用NodeJs的代码:
javascript
var result = informat.system.runNodeJS({
'script': 'nodejs/md5test.js',
'cmdline': ['123456']
});
console.log('md5 value:', result.out);queryCompanyList
查询团队列表
javascript
informat.system.queryCompanyList(query)| 参数 | 类型 | 描述 |
|---|---|---|
| query | Query | 查询条件 |
过滤器中可以使用的字段列表
| 字段 | 类型 | 描述 |
|---|---|---|
| id | String | 账号ID |
| name | String | 名称 |
返回值 返回账号列表,值类型为Array<Company>
示例
js
informat.system.queryCompanyList({
pageIndex: 1,
pageSize: 10,
filter: {
conditionList: [
{
fieldId: 'name',
opt: 'contains',
value: '测试'
}
]
}
});json
[
{
"createAccountId":"zhangsan",
"createTime":1665404532125,
"dbIndex":0,
"id":"ukswiyvmqlq5n",
"maxApplicationNum":0,
"maxUserNum":0,
"name":"测试创建团队",
"updateTime":1704353335727,
"version":"free"
},
{
"createAccountId":"zhangsan",
"createTime":1669306766288,
"dbIndex":0,
"id":"kkoixbg8ew3ks",
"maxApplicationNum":0,
"maxUserNum":0,
"name":"测试团队",
"updateTime":1713920870106,
"version":"enterprise"
}
]queryCompanyListCount
查询团队列表总数
javascript
informat.system.queryCompanyListCount(filter)| 参数 | 类型 | 描述 |
|---|---|---|
| query | Filter | 查询过滤器 |
过滤器中可以使用的字段列表
| 字段 | 类型 | 描述 |
|---|---|---|
| id | String | 账号ID |
| name | String | 名称 |
返回值 返回团队列表总数,值类型为int
示例
js
informat.system.queryCompanyListCount({
conditionList: [
{
fieldId: 'name',
opt: 'contains',
value: '测试'
}
]
});json
2addCompanyMember
添加团队成员
javascript
informat.system.addCompanyMember(companyId, accountId, departmentList, roleList)| 参数 | 类型 | 描述 |
|---|---|---|
| companyId | String | 查询过滤器 |
| accountId | String | 查询过滤器 |
| departmentList | Array<String> | 部门列表 |
| roleList | Array<String> | 角色列表 |
示例
javascript
informat.system.addCompanyMember('g09aj7cus3d8s', 'skydu2', ['dev'], ['member']);queryCompanyDeptList
查询部门列表
javascript
informat.system.queryCompanyDeptList(companyId, query)| 参数 | 类型 | 描述 |
|---|---|---|
| companyId | String | 团队ID |
| query | Query | 查询条件 |
过滤器中可以使用的字段列表
| 字段 | 类型 | 描述 |
|---|---|---|
| id | String | 部门标识符 |
| parentId | String | 父部门标识符 |
| name | String | 部门名称 |
| createTime | Date | 创建时间 |
返回值 类型为Array<Dept> 返回部门列表
示例1 查询名称包含研发的部门列表
js
informat.system.queryCompanyDeptList(
'g09aj7cus3d8s',{
pageSize:-1,
filter:{
conditionList:[
{"fieldId":"name","opt":"contains","value":"研发"}
]
}
});json
[
{
"id": "yanfabu",
"name": "研发部",
"parentId": "root",
"remark": "负责研究和开发新产品、技术或服务的部门",
"rowNumber": 2,
"shortName": "研发部"
}
]getCompanyAllRoles
查询团队所有角色列表
javascript
informat.system.getCompanyAllRoles(companyId)| 参数 | 类型 | 描述 |
|---|---|---|
| companyId | String | 团队ID |
返回值
类型为Array<CompanyRole>,返回所有角色
示例:
js
informat.system.getCompanyAllRoles('g09aj7cus3d8s')json
[
{
"admin": true,
"createTime": 1664196760903,
"id": "admin",
"isAdmin": true,
"name": "管理员",
"permissionIds": [
]
},
{
"admin": false,
"createTime": 1664196760907,
"id": "member",
"isAdmin": false,
"name": "成员",
"permissionIds": [
"InviteMember"
]
}
]addOptLog
添加系统日志
js
informat.system.addOptLog(optLog)入参
| 参数 | 类型 | 描述 |
|---|---|---|
| optLog | OptLog | 新增的操作日志 |
OptLog结构如下: ``
| 字段 | 类型 | 描述 |
|---|---|---|
| id | String | 操作记录ID |
| type | String | 操作类型 |
| accountId | String | 操作人ID |
| companyId | String | 团队ID |
| associatedId | String | 关联ID |
| remark | String | 备注,拼接在操作详情之后 |
操作类型可选值:
| 操作类型 | 描述 |
|---|---|
| CreateAccount | 创建账号 |
| UpdateAccount | 更新账号 |
| Register | 注册 |
| PasswordLogin | 账号密码登录 |
| WechatLogin | 微信扫码登录 |
| MobileNoLogin | 手机验证码登录 |
| DingTalkLogin | 钉钉免登录 |
| WeWorkLogin | 企业微信免登录 |
| ssoLogin | SSO登录 |
| Logout | 登出 |
| UpdateUserName | 更换登录名 |
| UpdateNickName | 更换昵称 |
| UpdateMobileNo | 更换手机号 |
| UpdateEmail | 更换邮箱 |
| SwitchCompany | 切换团队 |
| InviteMember | 邀请成员 |
| DeleteMember | 移除成员 |
| CreateDepartment | 创建部门 |
| UpdateDepartment | 编辑部门 |
| DeleteDepartment | 删除部门 |
| CreateRole | 创建角色 |
| UpdateRole | 编辑角色 |
| DeleteRole | 删除角色 |
| CreateCompany | 创建团队 |
| CompanySetPro | 设置试用 |
| CompanySetModule | 设置模块 |
| CreateApp | 创建应用 |
| UpdateApp | 编辑应用 |
| DeleteApp | 删除应用 |
| ArchiveApp | 归档应用 |
| CreateAppMember | 添加应用成员 |
| UpdateAppMember | 编辑应用成员 |
| DeleteAppMember | 删除应用成员 |
| UpdateAppMemberAccessPassword | 编辑应用成员访问密码 |
| CreateAppModule | 添加应用模块 |
| DeleteAppModule | 删除应用模块 |
| DeleteRecycleBin | 删除回收站数据 |
示例
js
let optlog = {
accountId: informat.app.userId(),
type: 'CreateAccount',
companyId: informat.company.getCompany().id,
remark: '(手动)'
}
informat.system.addOptLog(optlog)queryOptLogList
查询操作记录列表
js
informat.system.queryOptLogList(query)入参
| 参数 | 类型 | 描述 |
|---|---|---|
| query | Query | 查询条件 |
过滤器中可以使用的字段列表
| 字段 | 类型 | 描述 |
|---|---|---|
| type | String | 操作类型 |
| accountId | String | 操作用户 |
| remark | String | 备注 |
| createTime | String | 创建时间 |
| updateTime | String | 更新时间 |
操作类型可选值:
| 操作类型 | 描述 |
|---|---|
| CreateAccount | 创建账号 |
| UpdateAccount | 更新账号 |
| Register | 注册 |
| PasswordLogin | 账号密码登录 |
| WechatLogin | 微信扫码登录 |
| MobileNoLogin | 手机验证码登录 |
| DingTalkLogin | 钉钉免登录 |
| WeWorkLogin | 企业微信免登录 |
| ssoLogin | SSO登录 |
| Logout | 登出 |
| UpdateUserName | 更换登录名 |
| UpdateNickName | 更换昵称 |
| UpdateMobileNo | 更换手机号 |
| UpdateEmail | 更换邮箱 |
| SwitchCompany | 切换团队 |
| InviteMember | 邀请成员 |
| DeleteMember | 移除成员 |
| CreateDepartment | 创建部门 |
| UpdateDepartment | 编辑部门 |
| DeleteDepartment | 删除部门 |
| CreateRole | 创建角色 |
| UpdateRole | 编辑角色 |
| DeleteRole | 删除角色 |
| CreateCompany | 创建团队 |
| CompanySetPro | 设置试用 |
| CompanySetModule | 设置模块 |
| CreateApp | 创建应用 |
| UpdateApp | 编辑应用 |
| DeleteApp | 删除应用 |
| ArchiveApp | 归档应用 |
| CreateAppMember | 添加应用成员 |
| UpdateAppMember | 编辑应用成员 |
| DeleteAppMember | 删除应用成员 |
| UpdateAppMemberAccessPassword | 编辑应用成员访问密码 |
| CreateAppModule | 添加应用模块 |
| DeleteAppModule | 删除应用模块 |
| DeleteRecycleBin | 删除回收站数据 |
返回值
类型为Array<OptLog>,操作记录列表
示例
js
let query = {
pageSize:-1,
filter: {
conditionList:[
{fieldId:'type', opt: 'eq', value: 'CreateAccount'}
]
}
}
informat.system.queryOptLogList(query)json
[
{
"accountAvatar": "2e6e1b0512aa4d4c8c36221cde76027b.jpg",
"accountId": "lisi",
"accountName": "李四",
"associatedId": "zhangsan",
"companyId": "g09asd3qs3d8s",
"companyName": "测试团队",
"createTime": 1709863371382,
"id": "cv7q7u8rnuksb",
"remark": "创建账号:张三",
"type": "CreateAccount",
"updateTime": 1709863371382
}
]queryOptLogListCount
查询操作记录数量
js
informat.system.queryOptLogListCount(filter)入参
| 参数 | 类型 | 描述 |
|---|---|---|
| filter | Filter | 过滤条件 |
过滤器中可以使用的字段列表
| 字段 | 类型 | 描述 |
|---|---|---|
| type | String | 操作类型 |
| accountId | String | 操作用户 |
| remark | String | 备注 |
操作类型可选值:
| 操作类型 | 描述 |
|---|---|
| CreateAccount | 创建账号 |
| UpdateAccount | 更新账号 |
| Register | 注册 |
| PasswordLogin | 账号密码登录 |
| WechatLogin | 微信扫码登录 |
| MobileNoLogin | 手机验证码登录 |
| DingTalkLogin | 钉钉免登录 |
| WeWorkLogin | 企业微信免登录 |
| ssoLogin | SSO登录 |
| Logout | 登出 |
| UpdateUserName | 更换登录名 |
| UpdateNickName | 更换昵称 |
| UpdateMobileNo | 更换手机号 |
| UpdateEmail | 更换邮箱 |
| SwitchCompany | 切换团队 |
| InviteMember | 邀请成员 |
| DeleteMember | 移除成员 |
| CreateDepartment | 创建部门 |
| UpdateDepartment | 编辑部门 |
| DeleteDepartment | 删除部门 |
| CreateRole | 创建角色 |
| UpdateRole | 编辑角色 |
| DeleteRole | 删除角色 |
| CreateCompany | 创建团队 |
| CompanySetPro | 设置试用 |
| CompanySetModule | 设置模块 |
| CreateApp | 创建应用 |
| UpdateApp | 编辑应用 |
| DeleteApp | 删除应用 |
| ArchiveApp | 归档应用 |
| CreateAppMember | 添加应用成员 |
| UpdateAppMember | 编辑应用成员 |
| DeleteAppMember | 删除应用成员 |
| UpdateAppMemberAccessPassword | 编辑应用成员访问密码 |
| CreateAppModule | 添加应用模块 |
| DeleteAppModule | 删除应用模块 |
| DeleteRecycleBin | 删除回收站数据 |
返回值
类型为Integer,操作记录数量
示例
js
let filter = {
conditionList: [
{ fieldId: 'type', opt: 'eq', value: 'CreateAccount' }
]
};
informat.system.queryOptLogListCount(filter);js
6deleteOptLogList
批量删除系统日志
js
informat.system.deleteOptLogList(filter)入参
| 参数 | 类型 | 描述 |
|---|---|---|
| filter | Filter | 过滤条件 |
过滤器中可以使用的字段列表
| 字段 | 类型 | 描述 |
|---|---|---|
| type | String | 操作类型 |
| accountId | String | 操作用户 |
| remark | String | 备注 |
| createTime | String | 创建时间 |
| updateTime | String | 更新时间 |
返回值
类型为Integer,操作记录数量
示例
js
let filter = {
conditionList:[
{fieldId:'type', opt: 'eq', value: 'CreateAccount'}
]
}
informat.system.deleteOptLogList(filter)js
6runWithContext
跨团队及应用执行脚本函数
js
informat.system.runWithContext(context, func)入参
| 参数 | 类型 | 描述 |
|---|---|---|
| context | RunWithContext | 上下文配置 |
| func | Function | 执行的函数 |
RunWithContext结构如下:
| 参数 | 类型 | 描述 |
|---|---|---|
| companyId | String | 团队ID,不传默认为当前团队 |
| appDefineId | String | 应用标识符,不传默认为当前应用 |
返回值
执行的函数返回值
示例
js
const addMember = () => {
informat.user.addUser(informat.app.userId(), ['admin'])
return true
}
let context = {
companyId: 'xxxxxxxxxx',
appDefineId: 'com.myApp'
}
informat.system.runWithContext(context, addMember)js
trueuploadFile
将本地文件上传到共享存储中。注意:如果本地存在同名文件,将覆盖同名文件
javascript
informat.system.uploadFile(localPath, remotePath)入参
| 参数 | 类型 | 描述 |
|---|---|---|
| localPath | String | 本地文件路径 |
| remotePath | String | 共享存储路径 |
返回值
无
示例
javascript
// 上传头像文件,头像文件需要上传到public目录下
const localPath = 'local.png';
const remotePath = 'public/newAvatar.png';
informat.system.uploadFile(localPath, remotePath);
// 更新用户头像
informat.system.updateAccount({
id: 'ap1cew2up9ehq',
avatar: 'newAvatar.png'
});setPasswordRule
设置密码规则
javascript
informat.system.setPasswordRule(reg)入参
| 参数 | 类型 | 描述 |
|---|---|---|
| reg | String | 密码规则(正则表达式) |
返回值
无
示例
javascript
// 密码为7-20位的数字字母和特殊字符的组合
informat.system.setPasswordRule('^w{7,20}$')executeAsync
开启新线程执行任务(异步执行任务)
javascript
informat.system.executeAsync(func, arg)入参
| 参数 | 类型 | 描述 |
|---|---|---|
| func | Function | Lambda函数,不能为空 |
| arg | Object | 入参 |
| successCallback | Function | 执行成功回调函数,可以为空 |
| failedCallback | Function | 执行失败回调函数,可以为空 |
返回值 无
示例
javascript
function asyncTask(input) {
console.log("asyncTask start: " + input);
return informat.table.insert('dataModelBasics', {
'singleText': input
})
}
function successCallback(result) {
console.log("asyncTask result: " + result);
return informat.table.insert('dataModelBasics', {
'singleText': 'success'
})
}
function failedCallback(exception) {
console.log("asyncTask exception: " + exception);
return informat.table.insert('dataModelBasics', {
'singleText': 'failed'
})
}
informat.system.executeAsync(asyncTask, '123', successCallback, failedCallback)getTokenByAccount
通过账号ID和类型查询登录凭证
javascript
informat.system.getTokenByAccount(accountId, type)入参
| 参数 | 类型 | 描述 |
|---|---|---|
| accountId | String | 账号ID |
| type | String | 类型 有如下可选值 index,mobile |
返回值 AccountToken
示例
javascript
let token = informat.system.getTokenByAccount('zhangsan', 'index');
console.log(token)json
{
"accountId": "zhangsan",
"companyId": "g09aj7cus3d8s",
"createTime": 1744809507322,
"dbIndex": 0,
"expireTime": 1744827749095,
"token": "b4b5013a483844c7b290808194f58418",
"type": "index"
}updateTokenExpireTime
更新账号登录凭证过期时间
javascript
informat.system.updateTokenExpireTime(token, expireTime)入参
| 参数 | 类型 | 描述 |
|---|---|---|
| token | String | 登录凭证 |
| expireTime | Date | 过期时间 |
返回值 无

